catchup-library-web 1.12.3 → 1.12.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -90,6 +90,7 @@ __export(index_exports, {
90
90
  DividerLine: () => DividerLine_default,
91
91
  DropdownActivityContent: () => DropdownActivityContent_default,
92
92
  FillInTheBlanksActivityContent: () => FillInTheBlanksActivityContent_default,
93
+ FullCard: () => FullCard_default,
93
94
  GradeLabel: () => GradeLabel_default,
94
95
  GroupingActivityContent: () => GroupingActivityContent_default,
95
96
  InfoWithText: () => InfoWithText_default,
@@ -883,6 +884,31 @@ var ApproveButton = ({
883
884
  };
884
885
  var ApproveButton_default = ApproveButton;
885
886
 
887
+ // src/components/cards/FullCard.tsx
888
+ var import_jsx_runtime9 = require("react/jsx-runtime");
889
+ var FullCard = ({
890
+ bgColor,
891
+ opacity,
892
+ isShadowed,
893
+ usePadding,
894
+ children
895
+ }) => {
896
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "flex flex-col justify-center items-center h-full", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
897
+ "div",
898
+ {
899
+ className: `flex-1 ${bgColor ? bgColor : ""} ${opacity ? opacity : "opacity-100"} rounded-catchup-xlarge w-full border border-catchup-gray-50 bg-catchup-white`,
900
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
901
+ "div",
902
+ {
903
+ className: `flex flex-col mx-auto ${usePadding === false ? "p-0" : "p-6"} h-full`,
904
+ children
905
+ }
906
+ )
907
+ }
908
+ ) });
909
+ };
910
+ var FullCard_default = FullCard;
911
+
886
912
  // src/components/loading/BaseLoadingWithText.tsx
887
913
  var import_react8 = require("react");
888
914
 
@@ -893,7 +919,7 @@ import_i18next.default.use(import_react_i18next.initReactI18next);
893
919
  var i18n_default = import_i18next.default;
894
920
 
895
921
  // src/components/loading/BaseLoadingWithText.tsx
896
- var import_jsx_runtime9 = require("react/jsx-runtime");
922
+ var import_jsx_runtime10 = require("react/jsx-runtime");
897
923
  var BaseLoadingWithText = (props) => {
898
924
  const { height, width, size, primaryColor, secondaryColor, hideText } = props;
899
925
  const [initialTimestamp, setInitialTimestamp] = (0, import_react8.useState)(
@@ -941,8 +967,8 @@ var BaseLoadingWithText = (props) => {
941
967
  textWidth = 250;
942
968
  }
943
969
  const loadingText = retrieveLoadingText();
944
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "flex flex-col justify-center items-center", children: [
945
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
970
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-col justify-center items-center", children: [
971
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
946
972
  BaseLoading_default,
947
973
  {
948
974
  height,
@@ -952,12 +978,12 @@ var BaseLoadingWithText = (props) => {
952
978
  secondaryColor
953
979
  }
954
980
  ),
955
- !hideText && size !== "small" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
981
+ !hideText && size !== "small" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
956
982
  "div",
957
983
  {
958
984
  className: `${textClassName} text-center`,
959
985
  style: { width: textWidth },
960
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: "font-bold", children: loadingText })
986
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("p", { className: "font-bold", children: loadingText })
961
987
  }
962
988
  ) : null
963
989
  ] });
@@ -966,7 +992,7 @@ var BaseLoadingWithText_default = BaseLoadingWithText;
966
992
 
967
993
  // src/components/modals/BaseModal.tsx
968
994
  var import_react_modal = __toESM(require("react-modal"));
969
- var import_jsx_runtime10 = require("react/jsx-runtime");
995
+ var import_jsx_runtime11 = require("react/jsx-runtime");
970
996
  var BaseModal = ({
971
997
  isOpen,
972
998
  size,
@@ -975,7 +1001,7 @@ var BaseModal = ({
975
1001
  customSize,
976
1002
  children
977
1003
  }) => {
978
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1004
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
979
1005
  import_react_modal.default,
980
1006
  {
981
1007
  isOpen,
@@ -1004,7 +1030,7 @@ var BaseModal = ({
1004
1030
  }
1005
1031
  },
1006
1032
  contentLabel: "",
1007
- children: customSize ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: `${customSize}`, children }) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1033
+ children: customSize ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: `${customSize}`, children }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1008
1034
  "div",
1009
1035
  {
1010
1036
  className: `${size === "small" ? "w-[600px]" : size === "medium" ? "w-[900px]" : "w-[600px] lg:w-[900px] xl:w-[1200px] 2xl:w-[1500px]"}`,
@@ -1017,9 +1043,9 @@ var BaseModal = ({
1017
1043
  var BaseModal_default = BaseModal;
1018
1044
 
1019
1045
  // src/components/activities/empty-content/ActivityEmptyContent.tsx
1020
- var import_jsx_runtime11 = require("react/jsx-runtime");
1046
+ var import_jsx_runtime12 = require("react/jsx-runtime");
1021
1047
  var ActivityEmptyContent = () => {
1022
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex flex-col items-center justify-center border-2 border-catchup-orange rounded-catchup-xlarge px-5 py-2 my-5 bg-catchup-orange", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "text-catchup-white text-xl", children: i18n_default.t("you_have_set_this_activity_as_empty") }) }) });
1048
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex flex-col items-center justify-center border-2 border-catchup-orange rounded-catchup-xlarge px-5 py-2 my-5 bg-catchup-orange", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "text-catchup-white text-xl", children: i18n_default.t("you_have_set_this_activity_as_empty") }) }) });
1023
1049
  };
1024
1050
  var ActivityEmptyContent_default = ActivityEmptyContent;
1025
1051
 
@@ -3093,7 +3119,7 @@ var constructActivityItemListSolutionOnly = (solutionMap) => {
3093
3119
 
3094
3120
  // src/components/activities/body-content/ShowBodyMediaByContentType.tsx
3095
3121
  var import_react_katex = require("react-katex");
3096
- var import_jsx_runtime12 = require("react/jsx-runtime");
3122
+ var import_jsx_runtime13 = require("react/jsx-runtime");
3097
3123
  var ShowBodyMediaByContentType = ({
3098
3124
  index,
3099
3125
  type,
@@ -3115,11 +3141,11 @@ var ShowBodyMediaByContentType = ({
3115
3141
  }
3116
3142
  };
3117
3143
  const renderSpecialExpressions = (inputPart, partIndex, parentKey) => {
3118
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3144
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3119
3145
  "span",
3120
3146
  {
3121
3147
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
3122
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_katex.InlineMath, { math: inputPart.value }) }) : inputPart.value
3148
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_katex.InlineMath, { math: inputPart.value }) }) : inputPart.value
3123
3149
  },
3124
3150
  `${parentKey}-expr-${partIndex}`
3125
3151
  );
@@ -3139,7 +3165,7 @@ var ShowBodyMediaByContentType = ({
3139
3165
  };
3140
3166
  const renderTextContent = (text, itemKey) => {
3141
3167
  const balancedText = balanceSpecialChars(text);
3142
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(balancedText).map(
3168
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(balancedText).map(
3143
3169
  (inputPart, exprIndex) => renderSpecialExpressions(inputPart, exprIndex, itemKey)
3144
3170
  ) }, itemKey);
3145
3171
  };
@@ -3172,7 +3198,7 @@ var ShowBodyMediaByContentType = ({
3172
3198
  currentIndex++;
3173
3199
  const itemKey = `text-inside-${index}-${currentIndex}`;
3174
3200
  valuePartList.push(
3175
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-xl font-bold whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3201
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "text-xl font-bold whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3176
3202
  (inputPart, exprIndex) => renderSpecialExpressions(inputPart, exprIndex, itemKey)
3177
3203
  ) }, itemKey)
3178
3204
  );
@@ -3192,7 +3218,7 @@ var ShowBodyMediaByContentType = ({
3192
3218
  if (textBeforeTag.trim() !== "") {
3193
3219
  currentIndex++;
3194
3220
  valuePartList.push(
3195
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3221
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3196
3222
  "p",
3197
3223
  {
3198
3224
  className: "text-xl",
@@ -3211,12 +3237,12 @@ var ShowBodyMediaByContentType = ({
3211
3237
  );
3212
3238
  currentIndex++;
3213
3239
  valuePartList.push(
3214
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
3240
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
3215
3241
  "div",
3216
3242
  {
3217
3243
  className: "relative w-[200px]",
3218
3244
  children: [
3219
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3245
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3220
3246
  BaseImage_default,
3221
3247
  {
3222
3248
  src: imageSource,
@@ -3225,12 +3251,12 @@ var ShowBodyMediaByContentType = ({
3225
3251
  className: "rounded-catchup-xlarge"
3226
3252
  }
3227
3253
  ),
3228
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3254
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3229
3255
  "div",
3230
3256
  {
3231
3257
  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",
3232
3258
  onClick: () => handleOpenFullScreen(imageSource),
3233
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3259
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3234
3260
  BaseImage_default,
3235
3261
  {
3236
3262
  src: "/icons/arrow-up.webp",
@@ -3259,7 +3285,7 @@ var ShowBodyMediaByContentType = ({
3259
3285
  if (textBeforeTag.trim() !== "") {
3260
3286
  currentIndex++;
3261
3287
  valuePartList.push(
3262
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3288
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3263
3289
  "p",
3264
3290
  {
3265
3291
  className: "text-xl",
@@ -3278,7 +3304,7 @@ var ShowBodyMediaByContentType = ({
3278
3304
  );
3279
3305
  currentIndex++;
3280
3306
  valuePartList.push(
3281
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3307
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3282
3308
  "video",
3283
3309
  {
3284
3310
  src: videoSource,
@@ -3301,7 +3327,7 @@ var ShowBodyMediaByContentType = ({
3301
3327
  if (textBeforeTag.trim() !== "") {
3302
3328
  currentIndex++;
3303
3329
  valuePartList.push(
3304
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3330
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3305
3331
  "p",
3306
3332
  {
3307
3333
  className: "text-xl",
@@ -3320,7 +3346,7 @@ var ShowBodyMediaByContentType = ({
3320
3346
  );
3321
3347
  currentIndex++;
3322
3348
  valuePartList.push(
3323
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3349
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3324
3350
  "audio",
3325
3351
  {
3326
3352
  src: audioSource,
@@ -3346,13 +3372,13 @@ var ShowBodyMediaByContentType = ({
3346
3372
  if (regexMatchImageText) {
3347
3373
  const imageText = regexMatchImageText[1];
3348
3374
  valuePartList.push(
3349
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
3375
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
3350
3376
  "div",
3351
3377
  {
3352
3378
  className: "bg-catchup-gray-50 relative px-4 py-4 rounded-catchup-small mt-2",
3353
3379
  children: [
3354
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3355
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: imageText })
3380
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3381
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: imageText })
3356
3382
  ]
3357
3383
  },
3358
3384
  `img-desc-${index}-${currentIndex}`
@@ -3366,7 +3392,7 @@ var ShowBodyMediaByContentType = ({
3366
3392
  return valuePartList;
3367
3393
  };
3368
3394
  const RenderShowFullScreenItem = () => {
3369
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3395
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3370
3396
  import_react_modal2.default,
3371
3397
  {
3372
3398
  isOpen: showFullScreen,
@@ -3395,8 +3421,8 @@ var ShowBodyMediaByContentType = ({
3395
3421
  }
3396
3422
  },
3397
3423
  contentLabel: "Image Fullscreen View",
3398
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex-1 flex flex-col", children: [
3399
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3424
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex-1 flex flex-col", children: [
3425
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3400
3426
  BaseImage_default,
3401
3427
  {
3402
3428
  src: "/icons/cross-red.webp",
@@ -3408,7 +3434,7 @@ var ShowBodyMediaByContentType = ({
3408
3434
  }
3409
3435
  }
3410
3436
  ) }),
3411
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3437
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3412
3438
  BaseImage_default,
3413
3439
  {
3414
3440
  src: selectedFullScreenItem,
@@ -3424,16 +3450,16 @@ var ShowBodyMediaByContentType = ({
3424
3450
  const RenderMainContent = () => {
3425
3451
  switch (type) {
3426
3452
  case "TEXT":
3427
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "mb-3 flex flex-row flex-wrap items-center mx-auto w-full", children: retrieveValueParts(value) });
3453
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mb-3 flex flex-row flex-wrap items-center mx-auto w-full", children: retrieveValueParts(value) });
3428
3454
  case "IMAGE":
3429
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "mb-3 flex flex-col items-center relative", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
3455
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mb-3 flex flex-col items-center relative", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
3430
3456
  "div",
3431
3457
  {
3432
3458
  className: `${convertToPercentage(
3433
3459
  size || ""
3434
3460
  )} rounded-catchup-xlarge relative`,
3435
3461
  children: [
3436
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3462
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3437
3463
  BaseImage_default,
3438
3464
  {
3439
3465
  src: value,
@@ -3442,12 +3468,12 @@ var ShowBodyMediaByContentType = ({
3442
3468
  className: "w-full rounded-catchup-xlarge"
3443
3469
  }
3444
3470
  ),
3445
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3471
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3446
3472
  "div",
3447
3473
  {
3448
3474
  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",
3449
3475
  onClick: () => handleOpenFullScreen(value),
3450
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3476
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3451
3477
  BaseImage_default,
3452
3478
  {
3453
3479
  src: "/icons/arrow-up.webp",
@@ -3462,7 +3488,7 @@ var ShowBodyMediaByContentType = ({
3462
3488
  }
3463
3489
  ) });
3464
3490
  case "VIDEO":
3465
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
3491
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3466
3492
  "video",
3467
3493
  {
3468
3494
  src: value,
@@ -3473,12 +3499,12 @@ var ShowBodyMediaByContentType = ({
3473
3499
  }
3474
3500
  ) });
3475
3501
  case "AUDIO":
3476
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3502
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3477
3503
  default:
3478
3504
  return null;
3479
3505
  }
3480
3506
  };
3481
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "w-full", children: [
3507
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "w-full", children: [
3482
3508
  RenderShowFullScreenItem(),
3483
3509
  RenderMainContent()
3484
3510
  ] }, `body-content-${index}`);
@@ -3486,7 +3512,7 @@ var ShowBodyMediaByContentType = ({
3486
3512
  var ShowBodyMediaByContentType_default = ShowBodyMediaByContentType;
3487
3513
 
3488
3514
  // src/components/activities/body-content/ActivityBodyContent.tsx
3489
- var import_jsx_runtime13 = require("react/jsx-runtime");
3515
+ var import_jsx_runtime14 = require("react/jsx-runtime");
3490
3516
  var ActivityBodyContent = ({
3491
3517
  templateType,
3492
3518
  bodyMap,
@@ -3567,7 +3593,7 @@ var ActivityBodyContent = ({
3567
3593
  key
3568
3594
  });
3569
3595
  }).filter(Boolean);
3570
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "flex flex-col justify-center items-center", children: processedBodies.map((body, index) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3596
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex flex-col justify-center items-center", children: processedBodies.map((body, index) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
3571
3597
  ShowBodyMediaByContentType_default,
3572
3598
  {
3573
3599
  index,
@@ -3581,16 +3607,16 @@ var ActivityBodyContent = ({
3581
3607
  var ActivityBodyContent_default = ActivityBodyContent;
3582
3608
 
3583
3609
  // src/components/dividers/DividerLine.tsx
3584
- var import_jsx_runtime14 = require("react/jsx-runtime");
3610
+ var import_jsx_runtime15 = require("react/jsx-runtime");
3585
3611
  var DividerLine = () => {
3586
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
3612
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
3587
3613
  };
3588
3614
  var DividerLine_default = DividerLine;
3589
3615
 
3590
3616
  // src/components/dividers/VerticalDividerLine.tsx
3591
- var import_jsx_runtime15 = require("react/jsx-runtime");
3617
+ var import_jsx_runtime16 = require("react/jsx-runtime");
3592
3618
  var VerticalDividerLine = () => {
3593
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3619
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3594
3620
  };
3595
3621
  var VerticalDividerLine_default = VerticalDividerLine;
3596
3622
 
@@ -3600,7 +3626,7 @@ var import_react_katex2 = require("react-katex");
3600
3626
  // src/components/groups/InputGroup.tsx
3601
3627
  var import_react_select = __toESM(require("react-select"));
3602
3628
  var import_react10 = require("react");
3603
- var import_jsx_runtime16 = require("react/jsx-runtime");
3629
+ var import_jsx_runtime17 = require("react/jsx-runtime");
3604
3630
  var InputGroup = ({
3605
3631
  type,
3606
3632
  title,
@@ -3622,9 +3648,9 @@ var InputGroup = ({
3622
3648
  useMath
3623
3649
  }) => {
3624
3650
  const textAreaRef = (0, import_react10.useRef)(null);
3651
+ const [showMathConstructor, setShowMathConstructor] = (0, import_react10.useState)(false);
3652
+ const [mathValue, setMathValue] = (0, import_react10.useState)("");
3625
3653
  const mathFieldRef = (0, import_react10.useRef)(null);
3626
- const [isMathMode, setIsMathMode] = (0, import_react10.useState)(false);
3627
- const [showMathOverlay, setShowMathOverlay] = (0, import_react10.useState)(false);
3628
3654
  (0, import_react10.useEffect)(() => {
3629
3655
  if (!textAreaRef) return;
3630
3656
  if (!textAreaRef.current) return;
@@ -3641,18 +3667,7 @@ var InputGroup = ({
3641
3667
  customElements.define("math-field", MathfieldElement);
3642
3668
  }
3643
3669
  });
3644
- }, [useMath, type, placeholder, title]);
3645
- (0, import_react10.useEffect)(() => {
3646
- const handleClickOutside = (event) => {
3647
- if (showMathOverlay && event.target instanceof Element && !event.target.closest(".math-overlay")) {
3648
- setShowMathOverlay(false);
3649
- }
3650
- };
3651
- document.addEventListener("mousedown", handleClickOutside);
3652
- return () => {
3653
- document.removeEventListener("mousedown", handleClickOutside);
3654
- };
3655
- }, [showMathOverlay]);
3670
+ }, [useMath]);
3656
3671
  const retrieveNullableOptionList = () => {
3657
3672
  if (!optionList) return [];
3658
3673
  const currentOptionList = {
@@ -3680,97 +3695,104 @@ var InputGroup = ({
3680
3695
  onChange && onChange(e);
3681
3696
  }
3682
3697
  };
3683
- const handleMathFieldChange = (event) => {
3684
- const mathField = event.currentTarget;
3685
- const syntheticEvent = {
3686
- target: {
3687
- value: mathField.value,
3688
- type: "text"
3689
- }
3690
- };
3691
- onChange && onChange(syntheticEvent);
3692
- };
3693
- const handleMathFieldFocus = (event) => {
3694
- const syntheticEvent = {
3695
- target: event.currentTarget
3696
- };
3697
- onFocus && onFocus(syntheticEvent);
3698
+ const handleMathFieldChange = (0, import_react10.useCallback)(() => {
3699
+ if (!mathFieldRef.current) return;
3700
+ const latexValue = mathFieldRef.current.value;
3701
+ const wasFocused = mathFieldRef.current === document.activeElement;
3702
+ const cursorPosition = mathFieldRef.current.position;
3703
+ setMathValue(latexValue);
3704
+ if (wasFocused) {
3705
+ setTimeout(() => {
3706
+ if (mathFieldRef.current) {
3707
+ mathFieldRef.current.focus();
3708
+ mathFieldRef.current.position = cursorPosition;
3709
+ }
3710
+ }, 0);
3711
+ }
3712
+ }, []);
3713
+ const handleCopyLatex = () => {
3714
+ navigator.clipboard.writeText(`$$${mathValue}$$`);
3698
3715
  };
3699
- const handleMathModeToggle = (mode) => {
3700
- setIsMathMode(mode);
3701
- setShowMathOverlay(false);
3716
+ const handleOpenMathConstructor = () => {
3717
+ setMathValue("");
3718
+ setShowMathConstructor(true);
3702
3719
  };
3703
- const MathModeOverlay = () => {
3704
- if (!showMathOverlay) return null;
3705
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "math-overlay bg-white rounded-lg p-6 shadow-xl max-w-sm w-full mx-4", children: [
3706
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex justify-between items-center mb-4", children: [
3707
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h3", { className: "text-lg font-semibold text-catchup-gray-400", children: i18n_default.t("select_input_mode") }),
3708
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3709
- "button",
3710
- {
3711
- className: "text-catchup-gray-300 hover:text-catchup-gray-400 transition-colors",
3712
- onClick: () => setShowMathOverlay(false),
3713
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3714
- "svg",
3720
+ const MathConstructorModal = () => {
3721
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3722
+ BaseModal_default,
3723
+ {
3724
+ isOpen: showMathConstructor,
3725
+ onAfterOpen: () => {
3726
+ },
3727
+ onRequestClose: () => {
3728
+ setShowMathConstructor(false);
3729
+ },
3730
+ size: "large",
3731
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FullCard_default, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "bg-white rounded-lg overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "p-6 space-y-6", children: [
3732
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { children: [
3733
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("math_editor") }),
3734
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3735
+ "math-field",
3715
3736
  {
3716
- className: "w-6 h-6",
3717
- fill: "none",
3718
- stroke: "currentColor",
3719
- viewBox: "0 0 24 24",
3720
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3721
- "path",
3722
- {
3723
- strokeLinecap: "round",
3724
- strokeLinejoin: "round",
3725
- strokeWidth: 2,
3726
- d: "M6 18L18 6M6 6l12 12"
3727
- }
3728
- )
3737
+ ref: mathFieldRef,
3738
+ value: mathValue,
3739
+ onInput: handleMathFieldChange,
3740
+ placeholder: i18n_default.t("expression"),
3741
+ "virtual-keyboard-mode": "off",
3742
+ "smart-fence": true,
3743
+ "smart-mode": true,
3744
+ "smart-superscript": true,
3745
+ style: {
3746
+ fontSize: "18px",
3747
+ paddingRight: "16px",
3748
+ paddingLeft: "16px",
3749
+ paddingTop: "8px",
3750
+ paddingBottom: "8px",
3751
+ border: "none",
3752
+ outline: "none",
3753
+ width: "100%",
3754
+ backgroundColor: "transparent",
3755
+ borderRadius: "16px",
3756
+ fontFamily: "inherit"
3757
+ }
3729
3758
  }
3730
- )
3731
- }
3732
- )
3733
- ] }),
3734
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "space-y-3", children: [
3735
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3736
- "button",
3737
- {
3738
- className: `w-full p-3 rounded-lg border-2 transition-all duration-200 ${!isMathMode ? "border-catchup-blue-400 bg-catchup-blue-50" : "border-catchup-gray-100 hover:border-catchup-gray-200"}`,
3739
- onClick: () => handleMathModeToggle(false),
3740
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center space-x-3", children: [
3741
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "w-4 h-4 rounded-full border-2 border-catchup-blue-400 flex items-center justify-center", children: !isMathMode && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "w-2 h-2 rounded-full bg-catchup-blue-400" }) }),
3742
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "text-left", children: [
3743
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "font-medium text-catchup-gray-400", children: i18n_default.t("text_mode") }),
3744
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "text-sm text-catchup-gray-300", children: "Regular text input" })
3745
- ] })
3746
- ] })
3747
- }
3748
- ),
3749
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3750
- "button",
3751
- {
3752
- className: `w-full p-3 rounded-lg border-2 transition-all duration-200 ${isMathMode ? "border-catchup-blue-400 bg-catchup-blue-50" : "border-catchup-gray-100 hover:border-catchup-gray-200"}`,
3753
- onClick: () => handleMathModeToggle(true),
3754
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center space-x-3", children: [
3755
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "w-4 h-4 rounded-full border-2 border-catchup-blue-400 flex items-center justify-center", children: isMathMode && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "w-2 h-2 rounded-full bg-catchup-blue-400" }) }),
3756
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "text-left", children: [
3757
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "font-medium text-catchup-gray-400", children: i18n_default.t("math_mode") }),
3758
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "text-sm text-catchup-gray-300", children: "Mathematical expressions" })
3759
- ] })
3759
+ ) })
3760
+ ] }),
3761
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { children: [
3762
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("latex_output") }),
3763
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative", children: [
3764
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3765
+ "textarea",
3766
+ {
3767
+ readOnly: true,
3768
+ value: mathValue,
3769
+ className: "w-full py-2 px-4 bg-catchup-gray-50 border border-catchup-gray-100 rounded-catchup-large font-mono text-sm resize-none focus:outline-none",
3770
+ placeholder: i18n_default.t("latex_will_appear_here")
3771
+ }
3772
+ ),
3773
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3774
+ "button",
3775
+ {
3776
+ onClick: handleCopyLatex,
3777
+ className: "absolute top-2 right-2 bg-catchup-blue-400 text-white px-3 py-1 rounded-md text-sm hover:bg-catchup-blue-500 transition-colors",
3778
+ disabled: !mathValue,
3779
+ children: i18n_default.t("copy")
3780
+ }
3781
+ )
3760
3782
  ] })
3761
- }
3762
- )
3763
- ] })
3764
- ] }) });
3783
+ ] })
3784
+ ] }) }) })
3785
+ }
3786
+ );
3765
3787
  };
3766
3788
  const CheckboxInputGroup = () => {
3767
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
3789
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
3768
3790
  "div",
3769
3791
  {
3770
3792
  className: "flex flex-row items-center gap-x-1 cursor-pointer",
3771
3793
  onClick,
3772
3794
  children: [
3773
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3795
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3774
3796
  BaseImage_default,
3775
3797
  {
3776
3798
  src: value ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -3780,15 +3802,15 @@ var InputGroup = ({
3780
3802
  }
3781
3803
  }
3782
3804
  ),
3783
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "", children: title })
3805
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "", children: title })
3784
3806
  ]
3785
3807
  }
3786
3808
  );
3787
3809
  };
3788
3810
  const FileInputGroup = () => {
3789
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "my-1", children: [
3790
- title ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3791
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3811
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1", children: [
3812
+ title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3813
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3792
3814
  "input",
3793
3815
  {
3794
3816
  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",
@@ -3805,9 +3827,9 @@ var InputGroup = ({
3805
3827
  ] });
3806
3828
  };
3807
3829
  const DateInputGroup = () => {
3808
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "my-1", children: [
3809
- title ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3810
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3830
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1", children: [
3831
+ title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3832
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3811
3833
  "input",
3812
3834
  {
3813
3835
  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`,
@@ -3822,9 +3844,9 @@ var InputGroup = ({
3822
3844
  ] });
3823
3845
  };
3824
3846
  const SearchableSelectInputGroup = () => {
3825
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "my-1", children: [
3826
- title ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
3827
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3847
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1", children: [
3848
+ title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
3849
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3828
3850
  import_react_select.default,
3829
3851
  {
3830
3852
  options: convertOptionListToSelectComponent(
@@ -3887,80 +3909,50 @@ var InputGroup = ({
3887
3909
  ] });
3888
3910
  };
3889
3911
  const TextAreaInputGroup = () => {
3890
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "my-1 flex-1 flex flex-col relative", children: [
3891
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex flex-row justify-between items-center", children: [
3892
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { children: title ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3893
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { children: value && limit ? /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3912
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1 flex-1 flex flex-col relative", children: [
3913
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex flex-row justify-between items-center", children: [
3914
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { children: title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3915
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { children: value && limit ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3894
3916
  value.length,
3895
3917
  " / ",
3896
3918
  limit
3897
3919
  ] }) : null })
3898
3920
  ] }),
3899
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3921
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3900
3922
  "textarea",
3901
3923
  {
3902
3924
  ref: textAreaRef,
3903
3925
  disabled,
3904
- className: `w-full h-[44px] ${useMinHeight ? "min-h-[250px]" : ""} resize-none overflow-hidden py-2 px-4 border ${errorText ? "border-catchup-red shadow-error placeholder:text-catchup-red placeholder:opacity-80" : "border-catchup-gray-100"} placeholder-catchup-gray-200 rounded-catchup-large focus:outline-none focus:border-catchup-blue-400 ${disabled ? "bg-catchup-lighter-gray" : ""} focus:shadow-input`,
3926
+ className: `w-full h-[44px] ${useMinHeight ? "min-h-[250px]" : ""} resize-none overflow-hidden py-2 px-4 border ${errorText ? "border-catchup-red shadow-error placeholder:text-catchup-red placeholder:opacity-80" : "border-catchup-gray-100"} placeholder-catchup-gray-200 rounded-catchup-large focus:outline-none focus:border-catchup-blue-400 ${disabled ? "bg-catchup-lighter-gray" : ""} focus:shadow-input ${useMath ? "pr-20" : ""}`,
3905
3927
  placeholder: errorText ? errorText : placeholder,
3906
3928
  value,
3907
- onLoad: (e) => {
3908
- console.log(e);
3909
- },
3910
3929
  onChange: handleTextAreaOnChange,
3911
3930
  onFocus,
3912
3931
  onKeyDown
3913
3932
  }
3914
3933
  ),
3915
- useMath && isMathMode && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "absolute inset-0 bg-white border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3916
- "math-field",
3917
- {
3918
- ref: mathFieldRef,
3919
- value: value || "",
3920
- onInput: handleMathFieldChange,
3921
- onFocus: handleMathFieldFocus,
3922
- placeholder: errorText ? errorText : placeholder,
3923
- disabled,
3924
- "virtual-keyboard-mode": "off",
3925
- "smart-fence": true,
3926
- "smart-mode": true,
3927
- "smart-superscript": true,
3928
- style: {
3929
- fontSize: "16px",
3930
- padding: "8px 16px",
3931
- border: "none",
3932
- outline: "none",
3933
- width: "100%",
3934
- height: "100%",
3935
- backgroundColor: "transparent",
3936
- borderRadius: "16px",
3937
- fontFamily: "inherit",
3938
- color: disabled ? "#9ca3af" : "#000000"
3939
- }
3940
- }
3941
- ) }),
3942
- useMath && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3934
+ useMath && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3943
3935
  "button",
3944
3936
  {
3945
- className: "absolute right-2 top-1/2 transform -translate-y-1/2 bg-catchup-white border border-catchup-gray-100 rounded-md px-3 py-1 shadow-sm hover:shadow-md transition-shadow duration-200 z-10",
3946
- onClick: () => setShowMathOverlay(true),
3937
+ 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",
3938
+ onClick: handleOpenMathConstructor,
3947
3939
  type: "button",
3948
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-x-1", children: [
3949
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-sm font-medium text-catchup-gray-400", children: isMathMode ? "\u{1D453}(x)" : "Aa" }),
3950
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3940
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-x-1", children: [
3941
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3942
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3951
3943
  "svg",
3952
3944
  {
3953
- className: "w-3 h-3 text-catchup-gray-300",
3945
+ className: "w-3 h-3",
3954
3946
  fill: "none",
3955
3947
  stroke: "currentColor",
3956
3948
  viewBox: "0 0 24 24",
3957
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3949
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3958
3950
  "path",
3959
3951
  {
3960
3952
  strokeLinecap: "round",
3961
3953
  strokeLinejoin: "round",
3962
3954
  strokeWidth: 2,
3963
- d: "M19 9l-7 7-7-7"
3955
+ d: "M12 6v6m0 0v6m0-6h6m-6 0H6"
3964
3956
  }
3965
3957
  )
3966
3958
  }
@@ -3971,43 +3963,17 @@ var InputGroup = ({
3971
3963
  ] });
3972
3964
  };
3973
3965
  const TextInputGroup = () => {
3974
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "my-1 relative", children: [
3975
- title ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3976
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3966
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1 relative", children: [
3967
+ title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3968
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3977
3969
  "div",
3978
3970
  {
3979
3971
  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"}`,
3980
- children: useMath && isMathMode ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3981
- "math-field",
3982
- {
3983
- ref: mathFieldRef,
3984
- value: value || "",
3985
- onInput: handleMathFieldChange,
3986
- onFocus: handleMathFieldFocus,
3987
- placeholder: errorText ? errorText : placeholder,
3988
- disabled,
3989
- "virtual-keyboard-mode": "off",
3990
- "smart-fence": true,
3991
- "smart-mode": true,
3992
- "smart-superscript": true,
3993
- style: {
3994
- fontSize: "16px",
3995
- padding: "8px 16px",
3996
- border: "none",
3997
- outline: "none",
3998
- width: "100%",
3999
- minHeight: "44px",
4000
- backgroundColor: "transparent",
4001
- borderRadius: "16px",
4002
- fontFamily: "inherit",
4003
- color: disabled ? "#9ca3af" : "#000000"
4004
- }
4005
- }
4006
- ) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3972
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4007
3973
  "input",
4008
3974
  {
4009
3975
  disabled,
4010
- className: `w-full py-2 px-4 border-none rounded-catchup-large focus:outline-none placeholder-catchup-gray-200 ${disabled ? "bg-catchup-lighter-gray" : ""} ${errorText ? "placeholder:text-catchup-red placeholder:opacity-80" : ""}`,
3976
+ className: `w-full py-2 px-4 border-none rounded-catchup-large focus:outline-none placeholder-catchup-gray-200 ${disabled ? "bg-catchup-lighter-gray" : ""} ${errorText ? "placeholder:text-catchup-red placeholder:opacity-80" : ""} ${useMath ? "pr-20" : ""}`,
4011
3977
  type,
4012
3978
  defaultValue,
4013
3979
  placeholder: errorText ? errorText : placeholder,
@@ -4019,28 +3985,28 @@ var InputGroup = ({
4019
3985
  )
4020
3986
  }
4021
3987
  ),
4022
- useMath && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3988
+ useMath && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4023
3989
  "button",
4024
3990
  {
4025
- className: "absolute right-2 top-1/2 transform -translate-y-1/2 bg-catchup-white border border-catchup-gray-100 rounded-md px-3 py-1 shadow-sm hover:shadow-md transition-shadow duration-200",
4026
- onClick: () => setShowMathOverlay(true),
3991
+ 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",
3992
+ onClick: handleOpenMathConstructor,
4027
3993
  type: "button",
4028
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex items-center gap-x-1", children: [
4029
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-sm font-medium text-catchup-gray-400", children: isMathMode ? "\u{1D453}(x)" : "Aa" }),
4030
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3994
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-x-1", children: [
3995
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3996
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4031
3997
  "svg",
4032
3998
  {
4033
- className: "w-3 h-3 text-catchup-gray-300",
3999
+ className: "w-3 h-3",
4034
4000
  fill: "none",
4035
4001
  stroke: "currentColor",
4036
4002
  viewBox: "0 0 24 24",
4037
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
4003
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4038
4004
  "path",
4039
4005
  {
4040
4006
  strokeLinecap: "round",
4041
4007
  strokeLinejoin: "round",
4042
4008
  strokeWidth: 2,
4043
- d: "M19 9l-7 7-7-7"
4009
+ d: "M12 6v6m0 0v6m0-6h6m-6 0H6"
4044
4010
  }
4045
4011
  )
4046
4012
  }
@@ -4067,9 +4033,9 @@ var InputGroup = ({
4067
4033
  return CheckboxInputGroup();
4068
4034
  }
4069
4035
  };
4070
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
4036
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
4071
4037
  RenderMainContent(),
4072
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(MathModeOverlay, {})
4038
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MathConstructorModal, {})
4073
4039
  ] });
4074
4040
  };
4075
4041
  var InputGroup_default = InputGroup;
@@ -4177,10 +4143,10 @@ var getColorByIndex = (index) => {
4177
4143
 
4178
4144
  // src/components/dropdowns/MediaDropdown.tsx
4179
4145
  var import_react11 = require("react");
4180
- var import_jsx_runtime17 = require("react/jsx-runtime");
4146
+ var import_jsx_runtime18 = require("react/jsx-runtime");
4181
4147
  var MediaDropdown = ({ id, answer, optionList }) => {
4182
4148
  const [showDropdown, setShowDropdown] = (0, import_react11.useState)(false);
4183
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
4149
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
4184
4150
  "div",
4185
4151
  {
4186
4152
  className: "w-full relative",
@@ -4191,17 +4157,17 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4191
4157
  setShowDropdown(false);
4192
4158
  },
4193
4159
  children: [
4194
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "w-full flex flex-col items-center justify-center", children: answer }),
4195
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4160
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-full flex flex-col items-center justify-center", children: answer }),
4161
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4196
4162
  "ul",
4197
4163
  {
4198
4164
  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`,
4199
- children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
4165
+ children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
4200
4166
  "li",
4201
4167
  {
4202
4168
  className: `${option.listItemClassNames ? option.listItemClassNames : ""}`,
4203
4169
  children: [
4204
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4170
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4205
4171
  "div",
4206
4172
  {
4207
4173
  className: `w-full flex flex-col my-2 ${option.divClassNames ? option.divClassNames : ""}`,
@@ -4209,7 +4175,7 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4209
4175
  children: option.media
4210
4176
  }
4211
4177
  ),
4212
- index !== optionList.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
4178
+ index !== optionList.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
4213
4179
  ]
4214
4180
  },
4215
4181
  option.id
@@ -4226,7 +4192,7 @@ var MediaDropdown_default = MediaDropdown;
4226
4192
  // src/components/activities/material-content/ShowMaterialMediaByContentType.tsx
4227
4193
  var import_react12 = require("react");
4228
4194
  var import_react_modal3 = __toESM(require("react-modal"));
4229
- var import_jsx_runtime18 = require("react/jsx-runtime");
4195
+ var import_jsx_runtime19 = require("react/jsx-runtime");
4230
4196
  var ShowMaterialMediaByContentType = ({
4231
4197
  key,
4232
4198
  contentType,
@@ -4254,7 +4220,7 @@ var ShowMaterialMediaByContentType = ({
4254
4220
  }
4255
4221
  }, [isLoaded, key]);
4256
4222
  const RenderShowFullScreenItem = () => {
4257
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4223
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4258
4224
  import_react_modal3.default,
4259
4225
  {
4260
4226
  isOpen: showFullScreen,
@@ -4285,8 +4251,8 @@ var ShowMaterialMediaByContentType = ({
4285
4251
  }
4286
4252
  },
4287
4253
  contentLabel: "",
4288
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex-1 flex flex-col", children: [
4289
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4254
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex-1 flex flex-col", children: [
4255
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4290
4256
  BaseImage_default,
4291
4257
  {
4292
4258
  src: "/icons/cross-red.webp",
@@ -4298,7 +4264,7 @@ var ShowMaterialMediaByContentType = ({
4298
4264
  }
4299
4265
  }
4300
4266
  ) }),
4301
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4267
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4302
4268
  BaseImage_default,
4303
4269
  {
4304
4270
  src: selectedFullScreenItem,
@@ -4311,14 +4277,14 @@ var ShowMaterialMediaByContentType = ({
4311
4277
  }
4312
4278
  );
4313
4279
  };
4314
- return contentType === "IMAGE" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { children: [
4280
+ return contentType === "IMAGE" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { children: [
4315
4281
  RenderShowFullScreenItem(),
4316
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
4282
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4317
4283
  "div",
4318
4284
  {
4319
4285
  className: `${isFullHeight ? "h-catchup-activity-box-item" : "max-w-catchup-activity-box-item"} flex flex-col justify-center items-center relative`,
4320
4286
  children: [
4321
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4287
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4322
4288
  BaseImage_default,
4323
4289
  {
4324
4290
  src,
@@ -4331,7 +4297,7 @@ var ShowMaterialMediaByContentType = ({
4331
4297
  }
4332
4298
  }
4333
4299
  ),
4334
- src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4300
+ src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4335
4301
  "div",
4336
4302
  {
4337
4303
  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",
@@ -4343,7 +4309,7 @@ var ShowMaterialMediaByContentType = ({
4343
4309
  setShowFullScreen(true);
4344
4310
  setSelectedFullScreenItem(src);
4345
4311
  },
4346
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4312
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4347
4313
  BaseImage_default,
4348
4314
  {
4349
4315
  src: "/icons/arrow-up.webp",
@@ -4357,7 +4323,7 @@ var ShowMaterialMediaByContentType = ({
4357
4323
  ]
4358
4324
  }
4359
4325
  ) }) })
4360
- ] }, key) : contentType === "VIDEO" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4326
+ ] }, key) : contentType === "VIDEO" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4361
4327
  "video",
4362
4328
  {
4363
4329
  className: "h-catchup-activity-box-item rounded-catchup-xlarge",
@@ -4366,7 +4332,7 @@ var ShowMaterialMediaByContentType = ({
4366
4332
  onClick: () => {
4367
4333
  }
4368
4334
  }
4369
- ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4335
+ ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4370
4336
  "audio",
4371
4337
  {
4372
4338
  className: "h-catchup-activity-box-item rounded-catchup-xlarge",
@@ -4380,7 +4346,7 @@ var ShowMaterialMediaByContentType = ({
4380
4346
  var ShowMaterialMediaByContentType_default = ShowMaterialMediaByContentType;
4381
4347
 
4382
4348
  // src/components/activities/material-content/DropdownActivityMaterialContent.tsx
4383
- var import_jsx_runtime19 = require("react/jsx-runtime");
4349
+ var import_jsx_runtime20 = require("react/jsx-runtime");
4384
4350
  var DropdownActivityMaterialContent = ({
4385
4351
  uniqueValue,
4386
4352
  answer,
@@ -4423,22 +4389,22 @@ var DropdownActivityMaterialContent = ({
4423
4389
  return "INCORRECT";
4424
4390
  };
4425
4391
  const answerMap = retrieveAnswerMap();
4426
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex flex-row flex-wrap items-center", children: [
4427
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4428
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DividerLine_default, {}) }),
4429
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4392
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-row flex-wrap items-center", children: [
4393
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4394
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DividerLine_default, {}) }),
4395
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4430
4396
  const answerKey = Object.keys(materialMap[materialKey])[0];
4431
4397
  const learnerAnswerState = checkAnswerState(
4432
4398
  answerKey,
4433
4399
  answerMap[materialKey]
4434
4400
  );
4435
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4436
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("p", { className: "text-xl", children: [
4401
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4402
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "text-xl", children: [
4437
4403
  parseFloat(materialKey) + 1,
4438
4404
  "."
4439
4405
  ] }) }),
4440
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "w-full relative", children: [
4441
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4406
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "w-full relative", children: [
4407
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4442
4408
  InputGroup_default,
4443
4409
  {
4444
4410
  type: "select",
@@ -4446,13 +4412,13 @@ var DropdownActivityMaterialContent = ({
4446
4412
  optionList: shuffleArray(
4447
4413
  materialMap[materialKey][answerKey]
4448
4414
  ).map((materialOption) => ({
4449
- text: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4415
+ text: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4450
4416
  materialOption
4451
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4417
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4452
4418
  "span",
4453
4419
  {
4454
4420
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4455
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4421
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4456
4422
  import_react_katex2.InlineMath,
4457
4423
  {
4458
4424
  math: inputPart.value
@@ -4467,11 +4433,11 @@ var DropdownActivityMaterialContent = ({
4467
4433
  onChange(answer, materialKey, e.target.value);
4468
4434
  }
4469
4435
  }
4470
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4436
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4471
4437
  MediaDropdown_default,
4472
4438
  {
4473
4439
  id: materialKey,
4474
- answer: answerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "w-catchup-activity-box-item border h-catchup-activity-box-item rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4440
+ answer: answerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-catchup-activity-box-item border h-catchup-activity-box-item rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4475
4441
  ShowMaterialMediaByContentType_default,
4476
4442
  {
4477
4443
  contentType: contentMap.type,
@@ -4483,7 +4449,7 @@ var DropdownActivityMaterialContent = ({
4483
4449
  optionList: materialMap[materialKey][answerKey].map(
4484
4450
  (materialOption, index2) => ({
4485
4451
  id: index2,
4486
- media: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4452
+ media: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4487
4453
  ShowMaterialMediaByContentType_default,
4488
4454
  {
4489
4455
  contentType: contentMap.type,
@@ -4502,24 +4468,24 @@ var DropdownActivityMaterialContent = ({
4502
4468
  })
4503
4469
  )
4504
4470
  }
4505
- ) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4471
+ ) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4506
4472
  answerMap[materialKey]
4507
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4473
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4508
4474
  "span",
4509
4475
  {
4510
4476
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4511
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_katex2.InlineMath, { math: inputPart.value }) }) : inputPart.value
4477
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_katex2.InlineMath, { math: inputPart.value }) }) : inputPart.value
4512
4478
  },
4513
4479
  index2
4514
4480
  )) }) }),
4515
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4481
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4516
4482
  BaseImage_default,
4517
4483
  {
4518
4484
  src: "/icons/checkbox.webp",
4519
4485
  alt: "chekbbox",
4520
4486
  size: "small"
4521
4487
  }
4522
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4488
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4523
4489
  BaseImage_default,
4524
4490
  {
4525
4491
  src: "/icons/cross-red.webp",
@@ -4536,7 +4502,7 @@ var DropdownActivityMaterialContent_default = DropdownActivityMaterialContent;
4536
4502
 
4537
4503
  // src/components/activities/DropdownActivityContent.tsx
4538
4504
  var import_react15 = require("react");
4539
- var import_jsx_runtime20 = require("react/jsx-runtime");
4505
+ var import_jsx_runtime21 = require("react/jsx-runtime");
4540
4506
  var DropdownActivityContent = ({
4541
4507
  answer,
4542
4508
  data,
@@ -4578,8 +4544,8 @@ var DropdownActivityContent = ({
4578
4544
  setCurrentAnswerMap(newAnswerMap);
4579
4545
  changeAnswer(newAnswer);
4580
4546
  };
4581
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
4582
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4547
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
4548
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4583
4549
  ActivityBodyContent_default,
4584
4550
  {
4585
4551
  bodyMap: dropdownBodyMap,
@@ -4588,9 +4554,9 @@ var DropdownActivityContent = ({
4588
4554
  templateType: "DROPDOWN"
4589
4555
  }
4590
4556
  ) }),
4591
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DividerLine_default, {}) }),
4592
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(VerticalDividerLine_default, {}) }),
4593
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4557
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DividerLine_default, {}) }),
4558
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VerticalDividerLine_default, {}) }),
4559
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4594
4560
  DropdownActivityMaterialContent_default,
4595
4561
  {
4596
4562
  uniqueValue: JSON.stringify(data.contentMap),
@@ -4615,7 +4581,7 @@ var import_react_dnd3 = require("react-dnd");
4615
4581
 
4616
4582
  // src/components/dnds/DraggableItem.tsx
4617
4583
  var import_react_dnd = require("react-dnd");
4618
- var import_jsx_runtime21 = require("react/jsx-runtime");
4584
+ var import_jsx_runtime22 = require("react/jsx-runtime");
4619
4585
  var DraggableItem = ({
4620
4586
  key,
4621
4587
  item,
@@ -4637,11 +4603,11 @@ var DraggableItem = ({
4637
4603
  })
4638
4604
  });
4639
4605
  const opacity = isDragging ? 0.4 : 1;
4640
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4606
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4641
4607
  "div",
4642
4608
  {
4643
4609
  className: `${isDragging ? "w-[0px] opacity-0" : "opacity-100"} transition-all duration-500`,
4644
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { ref: drag, className: "", style: { opacity }, children: component })
4610
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { ref: drag, className: "", style: { opacity }, children: component })
4645
4611
  },
4646
4612
  key
4647
4613
  );
@@ -4651,7 +4617,7 @@ var DraggableItem_default = DraggableItem;
4651
4617
  // src/components/dnds/DroppableItem.tsx
4652
4618
  var import_react16 = require("react");
4653
4619
  var import_react_dnd2 = require("react-dnd");
4654
- var import_jsx_runtime22 = require("react/jsx-runtime");
4620
+ var import_jsx_runtime23 = require("react/jsx-runtime");
4655
4621
  var DroppableItem = ({
4656
4622
  key,
4657
4623
  item,
@@ -4671,7 +4637,7 @@ var DroppableItem = ({
4671
4637
  }
4672
4638
  });
4673
4639
  dropRef(drop(ref));
4674
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4640
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4675
4641
  "div",
4676
4642
  {
4677
4643
  className: `w-full transition-all duration-500 h-full`,
@@ -4684,7 +4650,7 @@ var DroppableItem = ({
4684
4650
  var DroppableItem_default = DroppableItem;
4685
4651
 
4686
4652
  // src/components/activities/material-content/FillInTheBlanksActivityMaterialContent.tsx
4687
- var import_jsx_runtime23 = require("react/jsx-runtime");
4653
+ var import_jsx_runtime24 = require("react/jsx-runtime");
4688
4654
  var FillInTheBlanksActivityMaterialContent = ({
4689
4655
  uniqueValue,
4690
4656
  answer,
@@ -4743,12 +4709,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4743
4709
  return Object.keys(answerMap2).findIndex((key) => answerMap2[key] === option) !== -1;
4744
4710
  };
4745
4711
  const answerMap = retrieveAnswerMap();
4746
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4712
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4747
4713
  }, children: [
4748
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4749
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DividerLine_default, {}) }),
4750
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4751
- (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "opacity-30", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4714
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4715
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DividerLine_default, {}) }),
4716
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4717
+ (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "opacity-30", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4752
4718
  ShowMaterialMediaByContentType_default,
4753
4719
  {
4754
4720
  contentType: contentMap.type,
@@ -4756,12 +4722,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4756
4722
  canFullScreen: true
4757
4723
  },
4758
4724
  `${uniqueValue}-${index}`
4759
- ) }, index) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4725
+ ) }, index) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4760
4726
  DraggableItem_default,
4761
4727
  {
4762
4728
  item: { index: option },
4763
4729
  type: "FILL_IN_THE_BLANKS",
4764
- component: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4730
+ component: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4765
4731
  "div",
4766
4732
  {
4767
4733
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4769,9 +4735,9 @@ var FillInTheBlanksActivityMaterialContent = ({
4769
4735
  setSelectedOption(option);
4770
4736
  setPasteOptionIndex(null);
4771
4737
  },
4772
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "italic whitespace-pre-wrap", children: option })
4738
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "italic whitespace-pre-wrap", children: option })
4773
4739
  }
4774
- ) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4740
+ ) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4775
4741
  "div",
4776
4742
  {
4777
4743
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4779,7 +4745,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4779
4745
  setSelectedOption(option);
4780
4746
  setPasteOptionIndex(null);
4781
4747
  },
4782
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4748
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4783
4749
  ShowMaterialMediaByContentType_default,
4784
4750
  {
4785
4751
  contentType: contentMap.type,
@@ -4797,12 +4763,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4797
4763
  index
4798
4764
  )
4799
4765
  ) }),
4800
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4766
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4801
4767
  const learnerAnswerState = checkAnswerState(
4802
4768
  JSON.parse(materialMap[materialKey]),
4803
4769
  answerMap[materialKey]
4804
4770
  );
4805
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4771
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4806
4772
  DroppableItem_default,
4807
4773
  {
4808
4774
  item: { index },
@@ -4810,13 +4776,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4810
4776
  target: pasteOptionIndex,
4811
4777
  setTarget: setPasteOptionIndex,
4812
4778
  dropRef: drop,
4813
- component: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4814
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("p", { className: "text-xl", children: [
4779
+ component: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4780
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("p", { className: "text-xl", children: [
4815
4781
  parseFloat(materialKey) + 1,
4816
4782
  "."
4817
4783
  ] }) }),
4818
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative", children: [
4819
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4784
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "relative", children: [
4785
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4820
4786
  InputGroup_default,
4821
4787
  {
4822
4788
  type: "textarea",
@@ -4831,14 +4797,14 @@ var FillInTheBlanksActivityMaterialContent = ({
4831
4797
  }
4832
4798
  }
4833
4799
  ) }),
4834
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4800
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4835
4801
  BaseImage_default,
4836
4802
  {
4837
4803
  src: "/icons/checkbox.webp",
4838
4804
  alt: "checkbox",
4839
4805
  size: "small"
4840
4806
  }
4841
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4807
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4842
4808
  BaseImage_default,
4843
4809
  {
4844
4810
  src: "/icons/cross-red.webp",
@@ -4846,20 +4812,20 @@ var FillInTheBlanksActivityMaterialContent = ({
4846
4812
  size: "small"
4847
4813
  }
4848
4814
  ) }) : null
4849
- ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4815
+ ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4850
4816
  "div",
4851
4817
  {
4852
4818
  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"}`,
4853
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
4819
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
4854
4820
  }
4855
- ) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4821
+ ) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4856
4822
  "div",
4857
4823
  {
4858
4824
  className: "flex-1 cursor-pointer",
4859
4825
  onClick: () => {
4860
4826
  onChange(answer, materialKey, "");
4861
4827
  },
4862
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4828
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4863
4829
  ShowMaterialMediaByContentType_default,
4864
4830
  {
4865
4831
  contentType: contentMap.type,
@@ -4869,13 +4835,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4869
4835
  `${uniqueValue}-${index}`
4870
4836
  )
4871
4837
  }
4872
- ) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
4838
+ ) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
4873
4839
  answerMap[materialKey]
4874
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4840
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4875
4841
  "span",
4876
4842
  {
4877
4843
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4878
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_katex3.InlineMath, { math: inputPart.value }) }) : inputPart.value
4844
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_katex3.InlineMath, { math: inputPart.value }) }) : inputPart.value
4879
4845
  },
4880
4846
  index2
4881
4847
  )) }, materialKey) })
@@ -4890,7 +4856,7 @@ var FillInTheBlanksActivityMaterialContent_default = FillInTheBlanksActivityMate
4890
4856
 
4891
4857
  // src/components/activities/FillInTheBlanksActivityContent.tsx
4892
4858
  var import_react19 = require("react");
4893
- var import_jsx_runtime24 = require("react/jsx-runtime");
4859
+ var import_jsx_runtime25 = require("react/jsx-runtime");
4894
4860
  var FillInTheBlanksActivityContent = ({
4895
4861
  answer,
4896
4862
  data,
@@ -4957,8 +4923,8 @@ var FillInTheBlanksActivityContent = ({
4957
4923
  setCurrentAnswerMap(newAnswerMap);
4958
4924
  changeAnswer(newAnswer);
4959
4925
  };
4960
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
4961
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4926
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
4927
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4962
4928
  ActivityBodyContent_default,
4963
4929
  {
4964
4930
  bodyMap: fillInTheBlanksBodyMap,
@@ -4967,9 +4933,9 @@ var FillInTheBlanksActivityContent = ({
4967
4933
  templateType: "FILL_IN_THE_BLANKS"
4968
4934
  }
4969
4935
  ) }),
4970
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DividerLine_default, {}) }),
4971
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(VerticalDividerLine_default, {}) }),
4972
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4936
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DividerLine_default, {}) }),
4937
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(VerticalDividerLine_default, {}) }),
4938
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4973
4939
  FillInTheBlanksActivityMaterialContent_default,
4974
4940
  {
4975
4941
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5028,7 +4994,7 @@ var useScreenSize = () => {
5028
4994
  var useScreenSize_default = useScreenSize;
5029
4995
 
5030
4996
  // src/components/activities/material-content/GroupingActivityMaterialContent.tsx
5031
- var import_jsx_runtime25 = require("react/jsx-runtime");
4997
+ var import_jsx_runtime26 = require("react/jsx-runtime");
5032
4998
  var GroupingActivityMaterialContent = ({
5033
4999
  uniqueValue,
5034
5000
  answer,
@@ -5127,19 +5093,19 @@ var GroupingActivityMaterialContent = ({
5127
5093
  };
5128
5094
  const answerMap = retrieveAnswerMap();
5129
5095
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
5130
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
5131
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5096
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
5097
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5132
5098
  "div",
5133
5099
  {
5134
5100
  ref: itemsRef,
5135
5101
  className: "flex-1 flex flex-row gap-x-4 gap-y-4 overflow-auto py-2",
5136
5102
  children: filteredMaterialList.map((materialValue, index) => {
5137
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5103
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5138
5104
  DraggableItem_default,
5139
5105
  {
5140
5106
  item: { index: materialValue },
5141
5107
  type: "GROUPING",
5142
- component: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5108
+ component: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5143
5109
  "div",
5144
5110
  {
5145
5111
  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`,
@@ -5153,22 +5119,22 @@ var GroupingActivityMaterialContent = ({
5153
5119
  setSelectedValue(null);
5154
5120
  }
5155
5121
  },
5156
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5122
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5157
5123
  "div",
5158
5124
  {
5159
5125
  className: `flex flex-col items-center justify-center m-4 min-h-[64px] min-w-[200px]`,
5160
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5126
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5161
5127
  materialValue
5162
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5128
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5163
5129
  "span",
5164
5130
  {
5165
5131
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5166
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5132
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5167
5133
  },
5168
5134
  index2
5169
5135
  )) })
5170
5136
  }
5171
- ) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5137
+ ) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5172
5138
  ShowMaterialMediaByContentType_default,
5173
5139
  {
5174
5140
  contentType: contentMap.type,
@@ -5193,22 +5159,22 @@ var GroupingActivityMaterialContent = ({
5193
5159
  })
5194
5160
  }
5195
5161
  ),
5196
- filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DividerLine_default, {}) : null,
5197
- Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex flex-row w-full", children: [
5198
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5162
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(DividerLine_default, {}) : null,
5163
+ Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-row w-full", children: [
5164
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5199
5165
  "div",
5200
5166
  {
5201
5167
  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`,
5202
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5168
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5203
5169
  "div",
5204
5170
  {
5205
5171
  className: `flex flex-col items-center justify-center transition-all duration-300 m-4`,
5206
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5207
- (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5172
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5173
+ (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5208
5174
  "span",
5209
5175
  {
5210
5176
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5211
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5177
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5212
5178
  },
5213
5179
  index2
5214
5180
  )
@@ -5217,12 +5183,12 @@ var GroupingActivityMaterialContent = ({
5217
5183
  )
5218
5184
  }
5219
5185
  ) }),
5220
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5221
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "flex-1", ref, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "h-full py-3", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5186
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5187
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex-1", ref, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "h-full py-3", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5222
5188
  "div",
5223
5189
  {
5224
5190
  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`,
5225
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5191
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5226
5192
  DroppableItem_default,
5227
5193
  {
5228
5194
  item: { index: answerMapKey },
@@ -5230,7 +5196,7 @@ var GroupingActivityMaterialContent = ({
5230
5196
  target: selectedTargetKey,
5231
5197
  setTarget: setSelectedTargetKey,
5232
5198
  dropRef: drop,
5233
- component: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5199
+ component: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5234
5200
  "div",
5235
5201
  {
5236
5202
  className: "h-full flex-1 flex flex-row items-center overflow-x-auto",
@@ -5243,7 +5209,7 @@ var GroupingActivityMaterialContent = ({
5243
5209
  materialMap[answerMapKey],
5244
5210
  answerMapValue
5245
5211
  );
5246
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "p-1", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "h-catchup-activity-box-item", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5212
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "p-1", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "h-catchup-activity-box-item", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5247
5213
  "div",
5248
5214
  {
5249
5215
  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`,
@@ -5259,17 +5225,17 @@ var GroupingActivityMaterialContent = ({
5259
5225
  setSelectedValue(null);
5260
5226
  }
5261
5227
  },
5262
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5228
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5263
5229
  "div",
5264
5230
  {
5265
5231
  className: `flex flex-col items-center justify-center transition-all duration-300 min-h-[64px] min-w-[200px]`,
5266
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5232
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5267
5233
  answerMapValue
5268
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5234
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5269
5235
  "span",
5270
5236
  {
5271
5237
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5272
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5238
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5273
5239
  import_react_katex4.InlineMath,
5274
5240
  {
5275
5241
  math: inputPart.value
@@ -5279,7 +5245,7 @@ var GroupingActivityMaterialContent = ({
5279
5245
  index2
5280
5246
  )) }) })
5281
5247
  }
5282
- ) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5248
+ ) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5283
5249
  ShowMaterialMediaByContentType_default,
5284
5250
  {
5285
5251
  contentType: contentMap.type,
@@ -5305,7 +5271,7 @@ var GroupingActivityMaterialContent = ({
5305
5271
  var GroupingActivityMaterialContent_default = GroupingActivityMaterialContent;
5306
5272
 
5307
5273
  // src/components/activities/GroupingActivityContent.tsx
5308
- var import_jsx_runtime26 = require("react/jsx-runtime");
5274
+ var import_jsx_runtime27 = require("react/jsx-runtime");
5309
5275
  var GroupingActivityContent = ({
5310
5276
  answer,
5311
5277
  data,
@@ -5330,16 +5296,16 @@ var GroupingActivityContent = ({
5330
5296
  }
5331
5297
  changeAnswer(answer2);
5332
5298
  };
5333
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
5334
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5299
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
5300
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5335
5301
  ActivityBodyContent_default,
5336
5302
  {
5337
5303
  bodyMap: groupingBodyMap,
5338
5304
  templateType: "GROUPING"
5339
5305
  }
5340
5306
  ),
5341
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(DividerLine_default, {}),
5342
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5307
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(DividerLine_default, {}),
5308
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5343
5309
  GroupingActivityMaterialContent_default,
5344
5310
  {
5345
5311
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5360,7 +5326,7 @@ var GroupingActivityContent_default = GroupingActivityContent;
5360
5326
  var import_react22 = require("react");
5361
5327
  var import_react_dnd5 = require("react-dnd");
5362
5328
  var import_react_katex5 = require("react-katex");
5363
- var import_jsx_runtime27 = require("react/jsx-runtime");
5329
+ var import_jsx_runtime28 = require("react/jsx-runtime");
5364
5330
  var MatchingActivityMaterialContent = ({
5365
5331
  uniqueValue,
5366
5332
  answer,
@@ -5456,18 +5422,18 @@ var MatchingActivityMaterialContent = ({
5456
5422
  };
5457
5423
  const answerMap = retrieveAnswerMap();
5458
5424
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
5459
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
5460
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5425
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
5426
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5461
5427
  "div",
5462
5428
  {
5463
5429
  ref: itemsRef,
5464
5430
  className: "flex-1 flex flex-row gap-x-4 gap-y-4 overflow-auto py-2",
5465
- children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5431
+ children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5466
5432
  DraggableItem_default,
5467
5433
  {
5468
5434
  item: { index: materialValue },
5469
5435
  type: "MATCHING",
5470
- component: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5436
+ component: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5471
5437
  "div",
5472
5438
  {
5473
5439
  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`,
@@ -5481,22 +5447,22 @@ var MatchingActivityMaterialContent = ({
5481
5447
  setSelectedValue(null);
5482
5448
  }
5483
5449
  },
5484
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5450
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5485
5451
  "div",
5486
5452
  {
5487
5453
  className: `flex flex-col items-center justify-center m-4 min-h-[64px] min-w-[200px]`,
5488
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5454
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5489
5455
  materialValue
5490
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5456
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5491
5457
  "span",
5492
5458
  {
5493
5459
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5494
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5460
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5495
5461
  },
5496
5462
  index2
5497
5463
  )) })
5498
5464
  }
5499
- ) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5465
+ ) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5500
5466
  ShowMaterialMediaByContentType_default,
5501
5467
  {
5502
5468
  contentType: contentMap.type,
@@ -5520,27 +5486,27 @@ var MatchingActivityMaterialContent = ({
5520
5486
  ))
5521
5487
  }
5522
5488
  ),
5523
- filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(DividerLine_default, {}) : null,
5489
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DividerLine_default, {}) : null,
5524
5490
  Object.keys(answerMap).map((answerMapKey, index) => {
5525
5491
  const learnerAnswerState = checkAnswerState(
5526
5492
  materialMap[answerMapKey],
5527
5493
  answerMap[answerMapKey]
5528
5494
  );
5529
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex flex-row w-full", children: [
5530
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5495
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex flex-row w-full", children: [
5496
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5531
5497
  "div",
5532
5498
  {
5533
5499
  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"}`,
5534
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5500
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5535
5501
  "div",
5536
5502
  {
5537
5503
  className: `flex flex-col items-center justify-center transition-all duration-300 m-4`,
5538
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5539
- (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5504
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5505
+ (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5540
5506
  "span",
5541
5507
  {
5542
5508
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5543
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5509
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5544
5510
  },
5545
5511
  index2
5546
5512
  )
@@ -5549,8 +5515,8 @@ var MatchingActivityMaterialContent = ({
5549
5515
  )
5550
5516
  }
5551
5517
  ) }),
5552
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5553
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5518
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5519
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5554
5520
  "div",
5555
5521
  {
5556
5522
  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"}`,
@@ -5559,7 +5525,7 @@ var MatchingActivityMaterialContent = ({
5559
5525
  setSelectedValue(null);
5560
5526
  }
5561
5527
  },
5562
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5528
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5563
5529
  DroppableItem_default,
5564
5530
  {
5565
5531
  item: { index: answerMapKey },
@@ -5567,7 +5533,7 @@ var MatchingActivityMaterialContent = ({
5567
5533
  target: selectedTargetKey,
5568
5534
  setTarget: setSelectedTargetKey,
5569
5535
  dropRef: drop,
5570
- component: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5536
+ component: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5571
5537
  "div",
5572
5538
  {
5573
5539
  className: `h-full flex-1 flex flex-row items-center justify-center `,
@@ -5580,16 +5546,16 @@ var MatchingActivityMaterialContent = ({
5580
5546
  );
5581
5547
  }
5582
5548
  },
5583
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5549
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5584
5550
  answerMap[answerMapKey]
5585
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5551
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5586
5552
  "span",
5587
5553
  {
5588
5554
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5589
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5555
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5590
5556
  },
5591
5557
  index2
5592
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5558
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5593
5559
  ShowMaterialMediaByContentType_default,
5594
5560
  {
5595
5561
  contentType: contentMap.type,
@@ -5612,7 +5578,7 @@ var MatchingActivityMaterialContent = ({
5612
5578
  var MatchingActivityMaterialContent_default = MatchingActivityMaterialContent;
5613
5579
 
5614
5580
  // src/components/activities/MatchingActivityContent.tsx
5615
- var import_jsx_runtime28 = require("react/jsx-runtime");
5581
+ var import_jsx_runtime29 = require("react/jsx-runtime");
5616
5582
  var MatchingActivityContent = ({
5617
5583
  answer,
5618
5584
  data,
@@ -5633,16 +5599,16 @@ var MatchingActivityContent = ({
5633
5599
  answerMap[key] = value;
5634
5600
  changeAnswer(answer2);
5635
5601
  };
5636
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
5637
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5602
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
5603
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5638
5604
  ActivityBodyContent_default,
5639
5605
  {
5640
5606
  bodyMap: matchingBodyMap,
5641
5607
  templateType: "MATCHING"
5642
5608
  }
5643
5609
  ),
5644
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DividerLine_default, {}),
5645
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5610
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DividerLine_default, {}),
5611
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5646
5612
  MatchingActivityMaterialContent_default,
5647
5613
  {
5648
5614
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5661,7 +5627,7 @@ var MatchingActivityContent_default = MatchingActivityContent;
5661
5627
 
5662
5628
  // src/components/activities/material-content/MCMAActivityMaterialContent.tsx
5663
5629
  var import_react_katex6 = require("react-katex");
5664
- var import_jsx_runtime29 = require("react/jsx-runtime");
5630
+ var import_jsx_runtime30 = require("react/jsx-runtime");
5665
5631
  var MCMAActivityMaterialContent = ({
5666
5632
  uniqueValue,
5667
5633
  answer,
@@ -5694,10 +5660,10 @@ var MCMAActivityMaterialContent = ({
5694
5660
  const answerMap = retrieveAnswerMap();
5695
5661
  const correctAnswerList = retrieveCorrectAnswerList();
5696
5662
  return Object.keys(materialMap).map((materialKey, index) => {
5697
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5698
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5699
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DividerLine_default, {}) }),
5700
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5663
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5664
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5665
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DividerLine_default, {}) }),
5666
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5701
5667
  (materialSubKey, index2) => {
5702
5668
  const foundAnswer = answerMap[materialKey].find(
5703
5669
  (learnerAnswer) => learnerAnswer === materialSubKey
@@ -5710,7 +5676,7 @@ var MCMAActivityMaterialContent = ({
5710
5676
  const foundIndex = correctAnswerList.findIndex(
5711
5677
  (correctAnswer) => correctAnswer === materialSubKey
5712
5678
  );
5713
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
5679
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
5714
5680
  "div",
5715
5681
  {
5716
5682
  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" : ""}`,
@@ -5718,7 +5684,7 @@ var MCMAActivityMaterialContent = ({
5718
5684
  onChange(answer, materialKey, materialSubKey);
5719
5685
  },
5720
5686
  children: [
5721
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5687
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5722
5688
  BaseImage_default,
5723
5689
  {
5724
5690
  src: answerMap[materialKey].includes(materialSubKey) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -5728,16 +5694,16 @@ var MCMAActivityMaterialContent = ({
5728
5694
  }
5729
5695
  }
5730
5696
  ),
5731
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5697
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5732
5698
  materialSubKey
5733
- ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5699
+ ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5734
5700
  "span",
5735
5701
  {
5736
5702
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5737
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5703
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5738
5704
  },
5739
5705
  index3
5740
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5706
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5741
5707
  ShowMaterialMediaByContentType_default,
5742
5708
  {
5743
5709
  contentType: contentMap.type,
@@ -5751,13 +5717,13 @@ var MCMAActivityMaterialContent = ({
5751
5717
  index2
5752
5718
  );
5753
5719
  }
5754
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5720
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5755
5721
  answerMap[materialKey]
5756
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5722
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5757
5723
  "span",
5758
5724
  {
5759
5725
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5760
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5726
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5761
5727
  },
5762
5728
  index2
5763
5729
  )) }, materialKey)
@@ -5767,7 +5733,7 @@ var MCMAActivityMaterialContent = ({
5767
5733
  var MCMAActivityMaterialContent_default = MCMAActivityMaterialContent;
5768
5734
 
5769
5735
  // src/components/activities/MCMAActivityContent.tsx
5770
- var import_jsx_runtime30 = require("react/jsx-runtime");
5736
+ var import_jsx_runtime31 = require("react/jsx-runtime");
5771
5737
  var MCMAActivityContent = ({
5772
5738
  answer,
5773
5739
  data,
@@ -5794,11 +5760,11 @@ var MCMAActivityContent = ({
5794
5760
  }
5795
5761
  changeAnswer(answer2);
5796
5762
  };
5797
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5798
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5799
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DividerLine_default, {}) }),
5800
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(VerticalDividerLine_default, {}) }),
5801
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5763
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5764
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5765
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DividerLine_default, {}) }),
5766
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(VerticalDividerLine_default, {}) }),
5767
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5802
5768
  MCMAActivityMaterialContent_default,
5803
5769
  {
5804
5770
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5816,7 +5782,7 @@ var MCMAActivityContent_default = MCMAActivityContent;
5816
5782
 
5817
5783
  // src/components/activities/material-content/MCSAActivityMaterialContent.tsx
5818
5784
  var import_react_katex7 = require("react-katex");
5819
- var import_jsx_runtime31 = require("react/jsx-runtime");
5785
+ var import_jsx_runtime32 = require("react/jsx-runtime");
5820
5786
  var MCSAActivityMaterialContent = ({
5821
5787
  uniqueValue,
5822
5788
  answer,
@@ -5846,10 +5812,10 @@ var MCSAActivityMaterialContent = ({
5846
5812
  const answerMap = retrieveAnswerMap();
5847
5813
  const correctAnswer = retrieveCorrectAnswer();
5848
5814
  return Object.keys(materialMap).map((materialKey, index) => {
5849
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5850
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5851
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DividerLine_default, {}) }),
5852
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5815
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5816
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5817
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {}) }),
5818
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5853
5819
  "div",
5854
5820
  {
5855
5821
  className: `flex flex-row w-full ${Object.keys(materialMap[materialKey]).length <= 4 ? "justify-center" : ""} flex-wrap`,
@@ -5860,7 +5826,7 @@ var MCSAActivityMaterialContent = ({
5860
5826
  materialSubKey,
5861
5827
  answerMap[materialKey]
5862
5828
  );
5863
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
5829
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
5864
5830
  "div",
5865
5831
  {
5866
5832
  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" : ""}`,
@@ -5868,7 +5834,7 @@ var MCSAActivityMaterialContent = ({
5868
5834
  onChange(answer, materialKey, materialSubKey);
5869
5835
  },
5870
5836
  children: [
5871
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5837
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5872
5838
  BaseImage_default,
5873
5839
  {
5874
5840
  src: answerMap[materialKey] === materialSubKey ? "/icons/item-element.webp" : "/icons/not-selected-item-element.webp",
@@ -5878,16 +5844,16 @@ var MCSAActivityMaterialContent = ({
5878
5844
  }
5879
5845
  }
5880
5846
  ),
5881
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5847
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5882
5848
  materialSubKey
5883
- ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5849
+ ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5884
5850
  "span",
5885
5851
  {
5886
5852
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5887
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
5853
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
5888
5854
  },
5889
5855
  index3
5890
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5856
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5891
5857
  ShowMaterialMediaByContentType_default,
5892
5858
  {
5893
5859
  contentType: contentMap.type,
@@ -5903,13 +5869,13 @@ var MCSAActivityMaterialContent = ({
5903
5869
  }
5904
5870
  )
5905
5871
  }
5906
- ) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5872
+ ) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5907
5873
  answerMap[materialKey]
5908
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5874
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5909
5875
  "span",
5910
5876
  {
5911
5877
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5912
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
5878
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
5913
5879
  },
5914
5880
  index2
5915
5881
  )) })
@@ -5919,7 +5885,7 @@ var MCSAActivityMaterialContent = ({
5919
5885
  var MCSAActivityMaterialContent_default = MCSAActivityMaterialContent;
5920
5886
 
5921
5887
  // src/components/activities/MCSAActivityContent.tsx
5922
- var import_jsx_runtime32 = require("react/jsx-runtime");
5888
+ var import_jsx_runtime33 = require("react/jsx-runtime");
5923
5889
  var MCSAActivityContent = ({
5924
5890
  answer,
5925
5891
  data,
@@ -5939,11 +5905,11 @@ var MCSAActivityContent = ({
5939
5905
  answerMap[key] = value;
5940
5906
  changeAnswer(answer2);
5941
5907
  };
5942
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5943
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
5944
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {}) }),
5945
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(VerticalDividerLine_default, {}) }),
5946
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5908
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5909
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
5910
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DividerLine_default, {}) }),
5911
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(VerticalDividerLine_default, {}) }),
5912
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5947
5913
  MCSAActivityMaterialContent_default,
5948
5914
  {
5949
5915
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5960,7 +5926,7 @@ var MCSAActivityContent = ({
5960
5926
  var MCSAActivityContent_default = MCSAActivityContent;
5961
5927
 
5962
5928
  // src/components/activities/material-content/OpenEndedActivityMaterialContent.tsx
5963
- var import_jsx_runtime33 = require("react/jsx-runtime");
5929
+ var import_jsx_runtime34 = require("react/jsx-runtime");
5964
5930
  var OpenEndedActivityMaterialContent = ({
5965
5931
  answer,
5966
5932
  contentMap,
@@ -5983,7 +5949,7 @@ var OpenEndedActivityMaterialContent = ({
5983
5949
  };
5984
5950
  const RenderTextContent = (answerMap2) => {
5985
5951
  const answerMapAnswer = answerMap2["ANSWER"];
5986
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5952
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5987
5953
  InputGroup_default,
5988
5954
  {
5989
5955
  type: "textarea",
@@ -5996,16 +5962,16 @@ var OpenEndedActivityMaterialContent = ({
5996
5962
  );
5997
5963
  };
5998
5964
  const answerMap = retrieveAnswerMap();
5999
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "", children: [
6000
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
6001
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DividerLine_default, {}) }),
5965
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "", children: [
5966
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
5967
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DividerLine_default, {}) }),
6002
5968
  contentMap.type === "TEXT" ? RenderTextContent(answerMap) : null
6003
5969
  ] }) });
6004
5970
  };
6005
5971
  var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
6006
5972
 
6007
5973
  // src/components/activities/OpenEndedActivityContent.tsx
6008
- var import_jsx_runtime34 = require("react/jsx-runtime");
5974
+ var import_jsx_runtime35 = require("react/jsx-runtime");
6009
5975
  var OpenEndedActivityContent = ({
6010
5976
  answer,
6011
5977
  data,
@@ -6023,12 +5989,12 @@ var OpenEndedActivityContent = ({
6023
5989
  answerMap["ANSWER"] = value;
6024
5990
  changeAnswer(answer2);
6025
5991
  };
6026
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6027
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5992
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5993
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6028
5994
  "div",
6029
5995
  {
6030
5996
  className: `${showMaterialContent ? isFullScreen ? "w-full" : "w-full md:w-[40%]" : "w-full"}`,
6031
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5997
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6032
5998
  ActivityBodyContent_default,
6033
5999
  {
6034
6000
  bodyMap: openEndedBodyMap,
@@ -6037,16 +6003,16 @@ var OpenEndedActivityContent = ({
6037
6003
  )
6038
6004
  }
6039
6005
  ),
6040
- showMaterialContent ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
6041
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
6006
+ showMaterialContent ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
6007
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6042
6008
  "div",
6043
6009
  {
6044
6010
  className: `${isFullScreen ? "contents" : "contents md:hidden"}`,
6045
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DividerLine_default, {})
6011
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DividerLine_default, {})
6046
6012
  }
6047
6013
  ),
6048
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(VerticalDividerLine_default, {}) }),
6049
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
6014
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(VerticalDividerLine_default, {}) }),
6015
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6050
6016
  OpenEndedActivityMaterialContent_default,
6051
6017
  {
6052
6018
  answer,
@@ -6067,7 +6033,7 @@ var import_react_katex8 = require("react-katex");
6067
6033
  // src/components/dnds/DraggableDroppableItem.tsx
6068
6034
  var import_react23 = require("react");
6069
6035
  var import_react_dnd6 = require("react-dnd");
6070
- var import_jsx_runtime35 = require("react/jsx-runtime");
6036
+ var import_jsx_runtime36 = require("react/jsx-runtime");
6071
6037
  var DraggableDroppableItem = ({
6072
6038
  key,
6073
6039
  item,
@@ -6105,12 +6071,12 @@ var DraggableDroppableItem = ({
6105
6071
  });
6106
6072
  const opacity = isDragging ? 0.4 : 1;
6107
6073
  drag(drop(ref));
6108
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6074
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6109
6075
  "div",
6110
6076
  {
6111
6077
  className: `${isDragging ? "w-[0px] opacity-0" : "w-full opacity-100"} transition-all duration-500`,
6112
6078
  ref: dropRef,
6113
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref, className: "w-full", style: { opacity }, children: component })
6079
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { ref, className: "w-full", style: { opacity }, children: component })
6114
6080
  },
6115
6081
  key
6116
6082
  );
@@ -6118,7 +6084,7 @@ var DraggableDroppableItem = ({
6118
6084
  var DraggableDroppableItem_default = DraggableDroppableItem;
6119
6085
 
6120
6086
  // src/components/activities/material-content/OrderingActivityMaterialContent.tsx
6121
- var import_jsx_runtime36 = require("react/jsx-runtime");
6087
+ var import_jsx_runtime37 = require("react/jsx-runtime");
6122
6088
  var OrderingActivityMaterialContent = ({
6123
6089
  uniqueValue,
6124
6090
  answer,
@@ -6195,12 +6161,12 @@ var OrderingActivityMaterialContent = ({
6195
6161
  return 0;
6196
6162
  };
6197
6163
  const answerMap = retrieveAnswerMap();
6198
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6164
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6199
6165
  const learnerAnswerState = checkAnswerState(
6200
6166
  answerMap[materialKey] + "",
6201
6167
  index + ""
6202
6168
  );
6203
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
6169
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
6204
6170
  "div",
6205
6171
  {
6206
6172
  className: `flex flex-row items-center my-4 mx-2`,
@@ -6208,26 +6174,26 @@ var OrderingActivityMaterialContent = ({
6208
6174
  marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
6209
6175
  },
6210
6176
  children: [
6211
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "mr-3", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6177
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "mr-3", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6212
6178
  "div",
6213
6179
  {
6214
6180
  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`,
6215
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6181
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6216
6182
  "div",
6217
6183
  {
6218
6184
  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]`,
6219
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "", children: parseFloat(materialKey) + 1 })
6185
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "", children: parseFloat(materialKey) + 1 })
6220
6186
  }
6221
6187
  )
6222
6188
  }
6223
6189
  ) }),
6224
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6190
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6225
6191
  DraggableDroppableItem_default,
6226
6192
  {
6227
6193
  item: { index: materialKey },
6228
6194
  type: "ORDERING",
6229
6195
  dropRef: drop,
6230
- component: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6196
+ component: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6231
6197
  "div",
6232
6198
  {
6233
6199
  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"}`,
@@ -6236,16 +6202,16 @@ var OrderingActivityMaterialContent = ({
6236
6202
  setSelectedKey(materialKey);
6237
6203
  }
6238
6204
  },
6239
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6205
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6240
6206
  materialMap[answerMap[materialKey]]
6241
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6207
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6242
6208
  "span",
6243
6209
  {
6244
6210
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6245
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_katex8.InlineMath, { math: inputPart.value }) }) : inputPart.value
6211
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_katex8.InlineMath, { math: inputPart.value }) }) : inputPart.value
6246
6212
  },
6247
6213
  index2
6248
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6214
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6249
6215
  ShowMaterialMediaByContentType_default,
6250
6216
  {
6251
6217
  contentType: contentMap.type,
@@ -6277,7 +6243,7 @@ var OrderingActivityMaterialContent = ({
6277
6243
  var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
6278
6244
 
6279
6245
  // src/components/activities/OrderingActivityContent.tsx
6280
- var import_jsx_runtime37 = require("react/jsx-runtime");
6246
+ var import_jsx_runtime38 = require("react/jsx-runtime");
6281
6247
  var OrderingActivityContent = ({
6282
6248
  answer,
6283
6249
  data,
@@ -6300,16 +6266,16 @@ var OrderingActivityContent = ({
6300
6266
  answerMap[secondaryKey] = prevValue;
6301
6267
  changeAnswer(answer2);
6302
6268
  };
6303
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
6304
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6269
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
6270
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6305
6271
  ActivityBodyContent_default,
6306
6272
  {
6307
6273
  bodyMap: orderingBodyMap,
6308
6274
  templateType: "ORDERING"
6309
6275
  }
6310
6276
  ),
6311
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DividerLine_default, {}),
6312
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6277
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(DividerLine_default, {}),
6278
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6313
6279
  OrderingActivityMaterialContent_default,
6314
6280
  {
6315
6281
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6329,7 +6295,7 @@ var OrderingActivityContent_default = OrderingActivityContent;
6329
6295
  // src/components/activities/material-content/TrueFalseActivityMaterialContent.tsx
6330
6296
  var import_react25 = require("react");
6331
6297
  var import_react_katex9 = require("react-katex");
6332
- var import_jsx_runtime38 = require("react/jsx-runtime");
6298
+ var import_jsx_runtime39 = require("react/jsx-runtime");
6333
6299
  var TrueFalseActivityMaterialContent = ({
6334
6300
  uniqueValue,
6335
6301
  answer,
@@ -6382,14 +6348,14 @@ var TrueFalseActivityMaterialContent = ({
6382
6348
  return "INCORRECT";
6383
6349
  };
6384
6350
  const answerMap = retrieveAnswerMap();
6385
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "", children: [
6386
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6387
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(DividerLine_default, {}) }),
6388
- /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6389
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6390
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6351
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "", children: [
6352
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6353
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DividerLine_default, {}) }),
6354
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6355
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6356
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6391
6357
  ] }),
6392
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6358
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6393
6359
  const correctAnswer = materialMap.trueList.find(
6394
6360
  (trueItem) => trueItem === shuffleOption
6395
6361
  ) !== void 0 ? "TRUE" : "FALSE";
@@ -6400,21 +6366,21 @@ var TrueFalseActivityMaterialContent = ({
6400
6366
  correctAnswer,
6401
6367
  learnerAnswer
6402
6368
  );
6403
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
6369
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
6404
6370
  "div",
6405
6371
  {
6406
6372
  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" : ""}`,
6407
6373
  children: [
6408
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6374
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6409
6375
  shuffleOption
6410
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6376
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6411
6377
  "span",
6412
6378
  {
6413
6379
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6414
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_katex9.InlineMath, { math: inputPart.value }) }) : inputPart.value
6380
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_katex9.InlineMath, { math: inputPart.value }) }) : inputPart.value
6415
6381
  },
6416
6382
  index2
6417
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6383
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6418
6384
  ShowMaterialMediaByContentType_default,
6419
6385
  {
6420
6386
  contentType: contentMap.type,
@@ -6423,8 +6389,8 @@ var TrueFalseActivityMaterialContent = ({
6423
6389
  },
6424
6390
  `${uniqueValue}-${index}`
6425
6391
  ) }),
6426
- /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6427
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6392
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6393
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6428
6394
  BaseImage_default,
6429
6395
  {
6430
6396
  src: answerMap.trueList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6435,7 +6401,7 @@ var TrueFalseActivityMaterialContent = ({
6435
6401
  }
6436
6402
  }
6437
6403
  ) }) }),
6438
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6404
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6439
6405
  BaseImage_default,
6440
6406
  {
6441
6407
  src: answerMap.falseList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6451,14 +6417,14 @@ var TrueFalseActivityMaterialContent = ({
6451
6417
  },
6452
6418
  index
6453
6419
  );
6454
- }) }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
6455
- answerMap.trueList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6456
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { children: item }) }),
6457
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "underline", children: i18n_default.t("true") }) })
6420
+ }) }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
6421
+ answerMap.trueList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6422
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { children: item }) }),
6423
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "underline", children: i18n_default.t("true") }) })
6458
6424
  ] })),
6459
- answerMap.falseList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6460
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { children: item }) }),
6461
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "underline", children: i18n_default.t("false") }) })
6425
+ answerMap.falseList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6426
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { children: item }) }),
6427
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "underline", children: i18n_default.t("false") }) })
6462
6428
  ] }))
6463
6429
  ] })
6464
6430
  ] });
@@ -6466,7 +6432,7 @@ var TrueFalseActivityMaterialContent = ({
6466
6432
  var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
6467
6433
 
6468
6434
  // src/components/activities/TrueFalseActivityContent.tsx
6469
- var import_jsx_runtime39 = require("react/jsx-runtime");
6435
+ var import_jsx_runtime40 = require("react/jsx-runtime");
6470
6436
  var TrueFalseActivityContent = ({
6471
6437
  answer,
6472
6438
  data,
@@ -6516,17 +6482,17 @@ var TrueFalseActivityContent = ({
6516
6482
  }
6517
6483
  changeAnswer(answer2);
6518
6484
  };
6519
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6520
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6485
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6486
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6521
6487
  ActivityBodyContent_default,
6522
6488
  {
6523
6489
  bodyMap: trueFalseBodyMap,
6524
6490
  templateType: "GROUPING"
6525
6491
  }
6526
6492
  ) }),
6527
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DividerLine_default, {}) }),
6528
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(VerticalDividerLine_default, {}) }),
6529
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6493
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DividerLine_default, {}) }),
6494
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(VerticalDividerLine_default, {}) }),
6495
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6530
6496
  TrueFalseActivityMaterialContent_default,
6531
6497
  {
6532
6498
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6545,7 +6511,7 @@ var TrueFalseActivityContent_default = TrueFalseActivityContent;
6545
6511
 
6546
6512
  // src/components/activities/solution-content/ActivitySolutionContent.tsx
6547
6513
  var import_react_katex10 = require("react-katex");
6548
- var import_jsx_runtime40 = require("react/jsx-runtime");
6514
+ var import_jsx_runtime41 = require("react/jsx-runtime");
6549
6515
  var ActivitySolutionContent = ({
6550
6516
  activityTemplateType,
6551
6517
  data
@@ -6575,8 +6541,8 @@ var ActivitySolutionContent = ({
6575
6541
  return null;
6576
6542
  }
6577
6543
  if (!solutionMap || Object.keys(solutionMap).length === 0) return null;
6578
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6579
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6544
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6545
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6580
6546
  Object.keys(solutionMap).map((key) => {
6581
6547
  let currentItem;
6582
6548
  try {
@@ -6586,12 +6552,12 @@ var ActivitySolutionContent = ({
6586
6552
  return null;
6587
6553
  }
6588
6554
  const { value } = currentItem;
6589
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6590
- (inputPart, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6555
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6556
+ (inputPart, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6591
6557
  "span",
6592
6558
  {
6593
6559
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6594
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_katex10.InlineMath, { math: inputPart.value }) }) : inputPart.value
6560
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_katex10.InlineMath, { math: inputPart.value }) }) : inputPart.value
6595
6561
  },
6596
6562
  `${key}_part_${partIndex}`
6597
6563
  )
@@ -6603,7 +6569,7 @@ var ActivitySolutionContent_default = ActivitySolutionContent;
6603
6569
 
6604
6570
  // src/components/activities/evaluation-rubric-content/ActivityEvaluationRubricContent.tsx
6605
6571
  var import_react_katex11 = require("react-katex");
6606
- var import_jsx_runtime41 = require("react/jsx-runtime");
6572
+ var import_jsx_runtime42 = require("react/jsx-runtime");
6607
6573
  var ActivityEvaluationRubricContent = ({
6608
6574
  activityTemplateType,
6609
6575
  data
@@ -6632,21 +6598,21 @@ var ActivityEvaluationRubricContent = ({
6632
6598
  }
6633
6599
  if (!evaluationRubricMap || Object.keys(evaluationRubricMap).length === 0)
6634
6600
  return null;
6635
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6636
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6601
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6602
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6637
6603
  Object.keys(evaluationRubricMap).map((key, index) => {
6638
6604
  const currentItem = JSON.parse(evaluationRubricMap[key]);
6639
6605
  const { value } = currentItem;
6640
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "my-3", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6606
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "my-3", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6641
6607
  "span",
6642
6608
  {
6643
6609
  className: "text-xl whitespace-pre-wrap",
6644
6610
  children: constructInputWithSpecialExpressionList(value).map(
6645
- (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6611
+ (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6646
6612
  "span",
6647
6613
  {
6648
6614
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6649
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_katex11.InlineMath, { math: inputPart.value }) }) : inputPart.value
6615
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_katex11.InlineMath, { math: inputPart.value }) }) : inputPart.value
6650
6616
  },
6651
6617
  index2
6652
6618
  )
@@ -6663,28 +6629,28 @@ var ActivityEvaluationRubricContent_default = ActivityEvaluationRubricContent;
6663
6629
  var import_react26 = require("react");
6664
6630
 
6665
6631
  // src/components/boxes/SelectionBox.tsx
6666
- var import_jsx_runtime42 = require("react/jsx-runtime");
6632
+ var import_jsx_runtime43 = require("react/jsx-runtime");
6667
6633
  var SelectionBox = ({
6668
6634
  optionList,
6669
6635
  selectedId,
6670
6636
  handleSelectOnClick
6671
6637
  }) => {
6672
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6638
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6673
6639
  "div",
6674
6640
  {
6675
6641
  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`,
6676
6642
  onClick: () => {
6677
6643
  handleSelectOnClick(option.id);
6678
6644
  },
6679
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6645
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
6680
6646
  "div",
6681
6647
  {
6682
6648
  className: `flex flex-row items-center gap-x-1 ${option.id === selectedId ? "opacity-100" : "opacity-50"}`,
6683
6649
  children: [
6684
6650
  option.icon,
6685
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex-1 flex flex-col items-center", children: [
6686
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { children: option.text }),
6687
- option.subText ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("p", { className: "text-md", children: [
6651
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex-1 flex flex-col items-center", children: [
6652
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { children: option.text }),
6653
+ option.subText ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("p", { className: "text-md", children: [
6688
6654
  "(",
6689
6655
  option.subText,
6690
6656
  ")"
@@ -6700,7 +6666,7 @@ var SelectionBox = ({
6700
6666
  var SelectionBox_default = SelectionBox;
6701
6667
 
6702
6668
  // src/components/activities/ActivityPreviewByData.tsx
6703
- var import_jsx_runtime43 = require("react/jsx-runtime");
6669
+ var import_jsx_runtime44 = require("react/jsx-runtime");
6704
6670
  var ActivityPreviewByData = ({
6705
6671
  data,
6706
6672
  showType,
@@ -6783,10 +6749,10 @@ var ActivityPreviewByData = ({
6783
6749
  }, [data, lockedType, typeOptionList, showTaxonomy]);
6784
6750
  if (!data) return;
6785
6751
  const answer = constructAnswerBasedOnData(data);
6786
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { children: [
6787
- showType ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "mb-4", children: [
6788
- showDescription ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6789
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6752
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { children: [
6753
+ showType ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "mb-4", children: [
6754
+ showDescription ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6755
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6790
6756
  SelectionBox_default,
6791
6757
  {
6792
6758
  optionList,
@@ -6797,7 +6763,7 @@ var ActivityPreviewByData = ({
6797
6763
  }
6798
6764
  )
6799
6765
  ] }) : null,
6800
- selectedType ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6766
+ selectedType ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6801
6767
  OrderingActivityContent_default,
6802
6768
  {
6803
6769
  answer,
@@ -6811,7 +6777,7 @@ var ActivityPreviewByData = ({
6811
6777
  showCorrectAnswer: true,
6812
6778
  isFullScreen
6813
6779
  }
6814
- ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6780
+ ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6815
6781
  DropdownActivityContent_default,
6816
6782
  {
6817
6783
  answer,
@@ -6825,7 +6791,7 @@ var ActivityPreviewByData = ({
6825
6791
  showCorrectAnswer: true,
6826
6792
  isFullScreen
6827
6793
  }
6828
- ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6794
+ ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6829
6795
  MCSAActivityContent_default,
6830
6796
  {
6831
6797
  answer,
@@ -6839,7 +6805,7 @@ var ActivityPreviewByData = ({
6839
6805
  showCorrectAnswer: true,
6840
6806
  isFullScreen
6841
6807
  }
6842
- ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6808
+ ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6843
6809
  MCMAActivityContent_default,
6844
6810
  {
6845
6811
  answer,
@@ -6853,7 +6819,7 @@ var ActivityPreviewByData = ({
6853
6819
  showCorrectAnswer: true,
6854
6820
  isFullScreen
6855
6821
  }
6856
- ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6822
+ ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6857
6823
  MatchingActivityContent_default,
6858
6824
  {
6859
6825
  answer,
@@ -6867,7 +6833,7 @@ var ActivityPreviewByData = ({
6867
6833
  showCorrectAnswer: true,
6868
6834
  isFullScreen
6869
6835
  }
6870
- ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6836
+ ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6871
6837
  GroupingActivityContent_default,
6872
6838
  {
6873
6839
  answer,
@@ -6881,7 +6847,7 @@ var ActivityPreviewByData = ({
6881
6847
  showCorrectAnswer: true,
6882
6848
  isFullScreen
6883
6849
  }
6884
- ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6850
+ ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6885
6851
  FillInTheBlanksActivityContent_default,
6886
6852
  {
6887
6853
  answer,
@@ -6895,7 +6861,7 @@ var ActivityPreviewByData = ({
6895
6861
  showCorrectAnswer: true,
6896
6862
  isFullScreen
6897
6863
  }
6898
- ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6864
+ ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6899
6865
  OpenEndedActivityContent_default,
6900
6866
  {
6901
6867
  answer,
@@ -6905,7 +6871,7 @@ var ActivityPreviewByData = ({
6905
6871
  data,
6906
6872
  isFullScreen
6907
6873
  }
6908
- ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6874
+ ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6909
6875
  TrueFalseActivityContent_default,
6910
6876
  {
6911
6877
  answer,
@@ -6920,14 +6886,14 @@ var ActivityPreviewByData = ({
6920
6886
  isFullScreen
6921
6887
  }
6922
6888
  ) : null }, selectedType) : null,
6923
- selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6889
+ selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6924
6890
  ActivitySolutionContent_default,
6925
6891
  {
6926
6892
  activityTemplateType: selectedType,
6927
6893
  data
6928
6894
  }
6929
6895
  ) }) : null,
6930
- selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6896
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6931
6897
  ActivityEvaluationRubricContent_default,
6932
6898
  {
6933
6899
  activityTemplateType: selectedType,
@@ -6940,7 +6906,7 @@ var ActivityPreviewByData_default = ActivityPreviewByData;
6940
6906
 
6941
6907
  // src/components/activities/ActivityPreviewByAnswerData.tsx
6942
6908
  var import_react27 = require("react");
6943
- var import_jsx_runtime44 = require("react/jsx-runtime");
6909
+ var import_jsx_runtime45 = require("react/jsx-runtime");
6944
6910
  var ActivityPreviewByAnswerData = ({
6945
6911
  data,
6946
6912
  showType = true,
@@ -7067,37 +7033,37 @@ var ActivityPreviewByAnswerData = ({
7067
7033
  };
7068
7034
  switch (selectedType) {
7069
7035
  case "ORDERING":
7070
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7036
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7071
7037
  case "DROPDOWN":
7072
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7038
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7073
7039
  case "MCSA":
7074
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7040
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7075
7041
  case "MCMA":
7076
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7042
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7077
7043
  case "MATCHING":
7078
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7044
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7079
7045
  case "GROUPING":
7080
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7046
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7081
7047
  case "FILL_IN_THE_BLANKS":
7082
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7048
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7083
7049
  case "OPEN_ENDED":
7084
- return data.openEndedBodyMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7050
+ return data.openEndedBodyMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7085
7051
  OpenEndedActivityContent_default,
7086
7052
  __spreadProps(__spreadValues({}, commonProps), {
7087
7053
  showMaterialContent: true
7088
7054
  })
7089
7055
  ) : null;
7090
7056
  case "TRUE_FALSE":
7091
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7057
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7092
7058
  default:
7093
7059
  return null;
7094
7060
  }
7095
7061
  };
7096
7062
  if (!data) return null;
7097
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { children: [
7098
- showType && optionList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "mb-4", children: [
7099
- showDescription ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7100
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7063
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { children: [
7064
+ showType && optionList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "mb-4", children: [
7065
+ showDescription ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7066
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7101
7067
  SelectionBox_default,
7102
7068
  {
7103
7069
  optionList,
@@ -7108,19 +7074,19 @@ var ActivityPreviewByAnswerData = ({
7108
7074
  }
7109
7075
  )
7110
7076
  ] }) : null,
7111
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DividerLine_default, {}),
7112
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-col my-2 w-full p-5", children: [
7113
- ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ActivityEmptyContent_default, {}) : null,
7114
- selectedType ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7077
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DividerLine_default, {}),
7078
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-col my-2 w-full p-5", children: [
7079
+ ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ActivityEmptyContent_default, {}) : null,
7080
+ selectedType ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7115
7081
  ] }),
7116
- selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7082
+ selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7117
7083
  ActivitySolutionContent_default,
7118
7084
  {
7119
7085
  activityTemplateType: selectedType,
7120
7086
  data
7121
7087
  }
7122
7088
  ) }) : null,
7123
- selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7089
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7124
7090
  ActivityEvaluationRubricContent_default,
7125
7091
  {
7126
7092
  activityTemplateType: selectedType,
@@ -7132,9 +7098,9 @@ var ActivityPreviewByAnswerData = ({
7132
7098
  var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
7133
7099
 
7134
7100
  // src/components/dividers/BlueVerticalDividerLine.tsx
7135
- var import_jsx_runtime45 = require("react/jsx-runtime");
7101
+ var import_jsx_runtime46 = require("react/jsx-runtime");
7136
7102
  var BlueVerticalDividerLine = ({ opacity }) => {
7137
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7103
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
7138
7104
  "div",
7139
7105
  {
7140
7106
  className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
@@ -7144,7 +7110,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
7144
7110
  var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
7145
7111
 
7146
7112
  // src/components/groups/LeftTextRightInputGroup.tsx
7147
- var import_jsx_runtime46 = require("react/jsx-runtime");
7113
+ var import_jsx_runtime47 = require("react/jsx-runtime");
7148
7114
  var LeftTextRightInputGroup = ({
7149
7115
  type,
7150
7116
  title,
@@ -7154,9 +7120,9 @@ var LeftTextRightInputGroup = ({
7154
7120
  disabled,
7155
7121
  errorText
7156
7122
  }) => {
7157
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "w-full flex flex-row mx-2", children: [
7158
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { children: title }) }),
7159
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
7123
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "w-full flex flex-row mx-2", children: [
7124
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: title }) }),
7125
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7160
7126
  InputGroup_default,
7161
7127
  {
7162
7128
  type,
@@ -7172,14 +7138,14 @@ var LeftTextRightInputGroup = ({
7172
7138
  var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
7173
7139
 
7174
7140
  // src/components/boxes/SelectionCheckbox.tsx
7175
- var import_jsx_runtime47 = require("react/jsx-runtime");
7141
+ var import_jsx_runtime48 = require("react/jsx-runtime");
7176
7142
  var SelectionCheckbox = ({
7177
7143
  optionList,
7178
7144
  selectedIdList,
7179
7145
  handleSelectOnClick,
7180
7146
  handleRemoveOnClick
7181
7147
  }) => {
7182
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7148
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7183
7149
  "div",
7184
7150
  {
7185
7151
  className: `${selectedIdList.findIndex(
@@ -7194,14 +7160,14 @@ var SelectionCheckbox = ({
7194
7160
  handleRemoveOnClick(option.id);
7195
7161
  }
7196
7162
  },
7197
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
7163
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
7198
7164
  "div",
7199
7165
  {
7200
7166
  className: `flex flex-row items-center gap-x-1 ${selectedIdList.findIndex(
7201
7167
  (selectedId) => selectedId === option.id
7202
7168
  ) > -1 ? "opacity-100" : "opacity-50"}`,
7203
7169
  children: [
7204
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7170
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7205
7171
  BaseImage_default,
7206
7172
  {
7207
7173
  src: selectedIdList.findIndex(
@@ -7211,7 +7177,7 @@ var SelectionCheckbox = ({
7211
7177
  size: "small"
7212
7178
  }
7213
7179
  ),
7214
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: option.text }) })
7180
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { children: option.text }) })
7215
7181
  ]
7216
7182
  }
7217
7183
  )
@@ -7222,7 +7188,7 @@ var SelectionCheckbox = ({
7222
7188
  var SelectionCheckbox_default = SelectionCheckbox;
7223
7189
 
7224
7190
  // src/components/tabs/SelectionTab.tsx
7225
- var import_jsx_runtime48 = require("react/jsx-runtime");
7191
+ var import_jsx_runtime49 = require("react/jsx-runtime");
7226
7192
  var SelectionTab = ({
7227
7193
  optionList,
7228
7194
  selectedId,
@@ -7232,7 +7198,7 @@ var SelectionTab = ({
7232
7198
  textColor,
7233
7199
  borderColor
7234
7200
  }) => {
7235
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap mb-2 text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
7201
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap mb-2 text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
7236
7202
  "div",
7237
7203
  {
7238
7204
  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`,
@@ -7240,8 +7206,8 @@ var SelectionTab = ({
7240
7206
  handleSelectOnClick(option.id);
7241
7207
  },
7242
7208
  children: [
7243
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-lg", children: option.title }),
7244
- option.subTitle ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-md", children: option.subTitle }) : null
7209
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "text-lg", children: option.title }),
7210
+ option.subTitle ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "text-md", children: option.subTitle }) : null
7245
7211
  ]
7246
7212
  },
7247
7213
  index
@@ -7250,20 +7216,20 @@ var SelectionTab = ({
7250
7216
  var SelectionTab_default = SelectionTab;
7251
7217
 
7252
7218
  // src/components/tabs/SelectionTabFill.tsx
7253
- var import_jsx_runtime49 = require("react/jsx-runtime");
7219
+ var import_jsx_runtime50 = require("react/jsx-runtime");
7254
7220
  var SelectionTabFill = ({
7255
7221
  optionList,
7256
7222
  selectedId,
7257
7223
  handleSelectOnClick
7258
7224
  }) => {
7259
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "w-full flex flex-row bg-catchup-gray-50 gap-x-2 rounded-catchup-medium px-4 py-2 justify-center text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7225
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "w-full flex flex-row bg-catchup-gray-50 gap-x-2 rounded-catchup-medium px-4 py-2 justify-center text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7260
7226
  "div",
7261
7227
  {
7262
7228
  className: "cursor-pointer",
7263
7229
  onClick: () => {
7264
7230
  handleSelectOnClick(option.id);
7265
7231
  },
7266
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7232
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7267
7233
  "p",
7268
7234
  {
7269
7235
  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`,
@@ -7277,57 +7243,57 @@ var SelectionTabFill = ({
7277
7243
  var SelectionTabFill_default = SelectionTabFill;
7278
7244
 
7279
7245
  // src/components/labels/ActivityTemplateLabel.tsx
7280
- var import_jsx_runtime50 = require("react/jsx-runtime");
7246
+ var import_jsx_runtime51 = require("react/jsx-runtime");
7281
7247
  var ActivityTemplateLabel = ({
7282
7248
  title,
7283
7249
  font
7284
7250
  }) => {
7285
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7286
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7287
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { className: font ? font : "text-sm", children: title })
7251
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7252
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7253
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: font ? font : "text-sm", children: title })
7288
7254
  ] }) });
7289
7255
  };
7290
7256
  var ActivityTemplateLabel_default = ActivityTemplateLabel;
7291
7257
 
7292
7258
  // src/components/labels/BrandLabel.tsx
7293
- var import_jsx_runtime51 = require("react/jsx-runtime");
7259
+ var import_jsx_runtime52 = require("react/jsx-runtime");
7294
7260
  var BrandLabel = ({ title, icon, font }) => {
7295
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7296
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7297
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: font ? font : "text-sm", children: title })
7261
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7262
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7263
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: font ? font : "text-sm", children: title })
7298
7264
  ] }) });
7299
7265
  };
7300
7266
  var BrandLabel_default = BrandLabel;
7301
7267
 
7302
7268
  // src/components/labels/CoterieLabel.tsx
7303
- var import_jsx_runtime52 = require("react/jsx-runtime");
7269
+ var import_jsx_runtime53 = require("react/jsx-runtime");
7304
7270
  var CoterieLabel = ({ title, font }) => {
7305
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7271
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7306
7272
  };
7307
7273
  var CoterieLabel_default = CoterieLabel;
7308
7274
 
7309
7275
  // src/components/labels/GradeLabel.tsx
7310
- var import_jsx_runtime53 = require("react/jsx-runtime");
7276
+ var import_jsx_runtime54 = require("react/jsx-runtime");
7311
7277
  var GradeLabel = ({ title, font }) => {
7312
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7278
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7313
7279
  };
7314
7280
  var GradeLabel_default = GradeLabel;
7315
7281
 
7316
7282
  // src/components/labels/OutcomeLabel.tsx
7317
- var import_jsx_runtime54 = require("react/jsx-runtime");
7283
+ var import_jsx_runtime55 = require("react/jsx-runtime");
7318
7284
  var OutcomeLabel = ({ title, font }) => {
7319
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7320
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7321
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: font ? font : "text-sm", children: title })
7285
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7286
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7287
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: font ? font : "text-sm", children: title })
7322
7288
  ] }) });
7323
7289
  };
7324
7290
  var OutcomeLabel_default = OutcomeLabel;
7325
7291
 
7326
7292
  // src/components/labels/PersonalLabel.tsx
7327
- var import_jsx_runtime55 = require("react/jsx-runtime");
7293
+ var import_jsx_runtime56 = require("react/jsx-runtime");
7328
7294
  var PersonalLabel = ({ title, icon, font }) => {
7329
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-personal-label-border bg-personal-label text-personal-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7330
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7295
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-personal-label-border bg-personal-label text-personal-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7296
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7331
7297
  BaseImage_default,
7332
7298
  {
7333
7299
  src: "/icons/personal-label.webp",
@@ -7335,16 +7301,16 @@ var PersonalLabel = ({ title, icon, font }) => {
7335
7301
  size: "xsmall"
7336
7302
  }
7337
7303
  ),
7338
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: font ? font : "text-sm", children: title })
7304
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: font ? font : "text-sm", children: title })
7339
7305
  ] }) });
7340
7306
  };
7341
7307
  var PersonalLabel_default = PersonalLabel;
7342
7308
 
7343
7309
  // src/components/labels/PublishingHouseLabel.tsx
7344
- var import_jsx_runtime56 = require("react/jsx-runtime");
7310
+ var import_jsx_runtime57 = require("react/jsx-runtime");
7345
7311
  var PublishingHouseLabel = ({ title, icon, font }) => {
7346
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7347
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7312
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7313
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7348
7314
  BaseImage_default,
7349
7315
  {
7350
7316
  src: "/icons/publishing-house-label.webp",
@@ -7352,79 +7318,79 @@ var PublishingHouseLabel = ({ title, icon, font }) => {
7352
7318
  size: "xsmall"
7353
7319
  }
7354
7320
  ),
7355
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: font ? font : "text-sm", children: title })
7321
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: font ? font : "text-sm", children: title })
7356
7322
  ] }) });
7357
7323
  };
7358
7324
  var PublishingHouseLabel_default = PublishingHouseLabel;
7359
7325
 
7360
7326
  // src/components/labels/ActivityLabel.tsx
7361
- var import_jsx_runtime57 = require("react/jsx-runtime");
7327
+ var import_jsx_runtime58 = require("react/jsx-runtime");
7362
7328
  var ActivityLabel = ({ title, font }) => {
7363
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7329
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7364
7330
  };
7365
7331
  var ActivityLabel_default = ActivityLabel;
7366
7332
 
7367
7333
  // src/components/infos/InfoWithText.tsx
7368
- var import_jsx_runtime58 = require("react/jsx-runtime");
7334
+ var import_jsx_runtime59 = require("react/jsx-runtime");
7369
7335
  var InfoWithText = (props) => {
7370
7336
  const { value } = props;
7371
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7372
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7373
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "", children: value }) })
7337
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7338
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7339
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "", children: value }) })
7374
7340
  ] });
7375
7341
  };
7376
7342
  var InfoWithText_default = InfoWithText;
7377
7343
 
7378
7344
  // src/components/texts/InputWithSpecialExpression.tsx
7379
7345
  var import_react_katex12 = require("react-katex");
7380
- var import_jsx_runtime59 = require("react/jsx-runtime");
7346
+ var import_jsx_runtime60 = require("react/jsx-runtime");
7381
7347
  var InputWithSpecialExpression = ({
7382
7348
  value,
7383
7349
  showSpecialOnly
7384
7350
  }) => {
7385
7351
  const inputWithSpecialExpressionList = constructInputWithSpecialExpressionList(value);
7386
- return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
7352
+ return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7387
7353
  "span",
7388
7354
  {
7389
7355
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7390
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7356
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7391
7357
  }
7392
- )) }) }) : null : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
7358
+ )) }) }) : null : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7393
7359
  "span",
7394
7360
  {
7395
7361
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7396
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7362
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7397
7363
  }
7398
7364
  )) }) });
7399
7365
  };
7400
7366
  var InputWithSpecialExpression_default = InputWithSpecialExpression;
7401
7367
 
7402
7368
  // src/components/titles/BaseTitle.tsx
7403
- var import_jsx_runtime60 = require("react/jsx-runtime");
7369
+ var import_jsx_runtime61 = require("react/jsx-runtime");
7404
7370
  var BaseTitle = ({
7405
7371
  title,
7406
7372
  totalItemCount,
7407
7373
  itemName,
7408
7374
  description
7409
7375
  }) => {
7410
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-col gap-y-2", children: [
7411
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("p", { className: "text-2xl font-medium", children: [
7376
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex flex-col gap-y-2", children: [
7377
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("p", { className: "text-2xl font-medium", children: [
7412
7378
  title,
7413
- totalItemCount && itemName ? /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("span", { className: "p-2 text-base text-catchup-blue-600 border border-catchup-blue-300 rounded-catchup-3xlarge mx-2 bg-catchup-blue-100", children: [
7379
+ totalItemCount && itemName ? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("span", { className: "p-2 text-base text-catchup-blue-600 border border-catchup-blue-300 rounded-catchup-3xlarge mx-2 bg-catchup-blue-100", children: [
7414
7380
  totalItemCount,
7415
7381
  " ",
7416
7382
  itemName
7417
7383
  ] }) : null
7418
7384
  ] }),
7419
- description ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "", children: description }) : null
7385
+ description ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "", children: description }) : null
7420
7386
  ] });
7421
7387
  };
7422
7388
  var BaseTitle_default = BaseTitle;
7423
7389
 
7424
7390
  // src/components/titles/SubTitle.tsx
7425
- var import_jsx_runtime61 = require("react/jsx-runtime");
7391
+ var import_jsx_runtime62 = require("react/jsx-runtime");
7426
7392
  var SubTitle = ({ title }) => {
7427
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7393
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7428
7394
  };
7429
7395
  var SubTitle_default = SubTitle;
7430
7396
 
@@ -9894,6 +9860,7 @@ var retrieveActivityMethodologyOptionList = () => {
9894
9860
  DividerLine,
9895
9861
  DropdownActivityContent,
9896
9862
  FillInTheBlanksActivityContent,
9863
+ FullCard,
9897
9864
  GradeLabel,
9898
9865
  GroupingActivityContent,
9899
9866
  InfoWithText,