catchup-library-web 2.6.11 → 2.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -848,8 +848,64 @@ var ApproveButton = ({
848
848
  };
849
849
  var ApproveButton_default = ApproveButton;
850
850
 
851
+ // src/components/buttons/StartButton.tsx
852
+ import { useState as useState9 } from "react";
853
+ import { jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
854
+ var StartButton = ({
855
+ title,
856
+ size,
857
+ onClick,
858
+ disabled,
859
+ icon
860
+ }) => {
861
+ const [loading, setLoading] = useState9(false);
862
+ const internalOnClick = (e) => __async(void 0, null, function* () {
863
+ e.stopPropagation();
864
+ if (loading) return;
865
+ if (disabled) return;
866
+ setLoading(true);
867
+ yield onClick();
868
+ setLoading(false);
869
+ });
870
+ let currentHeightClassName;
871
+ let currentLoadingSize;
872
+ if (size === "small") {
873
+ currentHeightClassName = "h-10";
874
+ currentLoadingSize = 16;
875
+ } else if (size === "medium") {
876
+ currentHeightClassName = "h-12";
877
+ currentLoadingSize = 18;
878
+ } else if (size === "large") {
879
+ currentHeightClassName = "h-14";
880
+ currentLoadingSize = 20;
881
+ } else if (size === "unlimited") {
882
+ currentHeightClassName = "h-10";
883
+ currentLoadingSize = 16;
884
+ }
885
+ return /* @__PURE__ */ jsx12(
886
+ "button",
887
+ {
888
+ className: `px-8 py-2 bg-gradient-to-r from-catchup-green to-catchup-hover-green text-catchup-white font-bold text-lg rounded-catchup-full shadow-card ${loading ? "" : disabled ? "opacity-50" : "hover:from-catchup-hover-green hover:to-catchup-green hover:shadow-full-card hover:scale-105"} transition-all duration-300 transform ${currentHeightClassName || ""}`,
889
+ onClick: internalOnClick,
890
+ children: loading ? /* @__PURE__ */ jsx12(
891
+ BaseLoading_default,
892
+ {
893
+ height: currentLoadingSize,
894
+ width: currentLoadingSize,
895
+ primaryColor: "#ffffff",
896
+ secondaryColor: "#ffffff"
897
+ }
898
+ ) : /* @__PURE__ */ jsxs9("div", { className: "flex flex-row justify-center items-center gap-x-2", children: [
899
+ icon ? /* @__PURE__ */ jsx12("span", { children: icon }) : null,
900
+ /* @__PURE__ */ jsx12("p", { children: title })
901
+ ] })
902
+ }
903
+ );
904
+ };
905
+ var StartButton_default = StartButton;
906
+
851
907
  // src/components/cards/FullCard.tsx
852
- import { jsx as jsx12 } from "react/jsx-runtime";
908
+ import { jsx as jsx13 } from "react/jsx-runtime";
853
909
  var FullCard = ({
854
910
  backgroundColor,
855
911
  borderColor,
@@ -857,7 +913,7 @@ var FullCard = ({
857
913
  usePadding,
858
914
  children
859
915
  }) => {
860
- return /* @__PURE__ */ jsx12(
916
+ return /* @__PURE__ */ jsx13(
861
917
  "div",
862
918
  {
863
919
  className: `min-h-full
@@ -865,7 +921,7 @@ var FullCard = ({
865
921
  ${borderColor ? borderColor : "border-catchup-gray-50"}
866
922
  ${opacity ? opacity : "opacity-100"}
867
923
  rounded-catchup-xlarge w-full `,
868
- children: /* @__PURE__ */ jsx12(
924
+ children: /* @__PURE__ */ jsx13(
869
925
  "div",
870
926
  {
871
927
  className: `flex flex-col mx-auto ${usePadding === false ? "p-0" : "p-6"} h-full`,
@@ -878,14 +934,14 @@ var FullCard = ({
878
934
  var FullCard_default = FullCard;
879
935
 
880
936
  // src/components/cards/BaseCard.tsx
881
- import { jsx as jsx13 } from "react/jsx-runtime";
937
+ import { jsx as jsx14 } from "react/jsx-runtime";
882
938
  var BaseCard = ({ children }) => {
883
- return /* @__PURE__ */ jsx13("div", { className: "flex flex-col justify-center items-center h-full", children: /* @__PURE__ */ jsx13("div", { className: "bg-catchup-white rounded-catchup-xlarge h-catchup-card w-catchup-card shadow-dropdown", children: /* @__PURE__ */ jsx13("div", { className: "flex flex-col mx-auto p-8 h-full", children }) }) });
939
+ return /* @__PURE__ */ jsx14("div", { className: "flex flex-col justify-center items-center h-full", children: /* @__PURE__ */ jsx14("div", { className: "bg-catchup-white rounded-catchup-xlarge h-catchup-card w-catchup-card shadow-dropdown", children: /* @__PURE__ */ jsx14("div", { className: "flex flex-col mx-auto p-8 h-full", children }) }) });
884
940
  };
885
941
  var BaseCard_default = BaseCard;
886
942
 
887
943
  // src/components/loading/BaseLoadingWithText.tsx
888
- import { useEffect as useEffect2, useState as useState9 } from "react";
944
+ import { useEffect as useEffect2, useState as useState10 } from "react";
889
945
 
890
946
  // src/language/i18n.ts
891
947
  import i18n from "i18next";
@@ -894,13 +950,13 @@ i18n.use(initReactI18next);
894
950
  var i18n_default = i18n;
895
951
 
896
952
  // src/components/loading/BaseLoadingWithText.tsx
897
- import { jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
953
+ import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
898
954
  var BaseLoadingWithText = (props) => {
899
955
  const { height, width, size, primaryColor, secondaryColor, hideText } = props;
900
- const [initialTimestamp, setInitialTimestamp] = useState9(
956
+ const [initialTimestamp, setInitialTimestamp] = useState10(
901
957
  (/* @__PURE__ */ new Date()).getTime()
902
958
  );
903
- const [currentTimestamp, setCurrentTimeStamp] = useState9(
959
+ const [currentTimestamp, setCurrentTimeStamp] = useState10(
904
960
  (/* @__PURE__ */ new Date()).getTime()
905
961
  );
906
962
  let timerId;
@@ -942,8 +998,8 @@ var BaseLoadingWithText = (props) => {
942
998
  textWidth = 250;
943
999
  }
944
1000
  const loadingText = retrieveLoadingText();
945
- return /* @__PURE__ */ jsxs9("div", { className: "flex flex-col justify-center items-center", children: [
946
- /* @__PURE__ */ jsx14(
1001
+ return /* @__PURE__ */ jsxs10("div", { className: "flex flex-col justify-center items-center", children: [
1002
+ /* @__PURE__ */ jsx15(
947
1003
  BaseLoading_default,
948
1004
  {
949
1005
  height,
@@ -953,12 +1009,12 @@ var BaseLoadingWithText = (props) => {
953
1009
  secondaryColor
954
1010
  }
955
1011
  ),
956
- !hideText && size !== "small" ? /* @__PURE__ */ jsx14(
1012
+ !hideText && size !== "small" ? /* @__PURE__ */ jsx15(
957
1013
  "div",
958
1014
  {
959
1015
  className: `${textClassName} text-center`,
960
1016
  style: { width: textWidth },
961
- children: /* @__PURE__ */ jsx14("p", { className: "font-bold", children: loadingText })
1017
+ children: /* @__PURE__ */ jsx15("p", { className: "font-bold", children: loadingText })
962
1018
  }
963
1019
  ) : null
964
1020
  ] });
@@ -969,36 +1025,36 @@ var BaseLoadingWithText_default = BaseLoadingWithText;
969
1025
  import Modal from "react-modal";
970
1026
 
971
1027
  // src/components/titles/BaseTitle.tsx
972
- import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
1028
+ import { jsx as jsx16, jsxs as jsxs11 } from "react/jsx-runtime";
973
1029
  var BaseTitle = ({
974
1030
  title,
975
1031
  totalItemCount,
976
1032
  itemName,
977
1033
  description
978
1034
  }) => {
979
- return /* @__PURE__ */ jsxs10("div", { className: "flex flex-col gap-y-2", children: [
980
- /* @__PURE__ */ jsxs10("p", { className: "text-2xl font-medium", children: [
1035
+ return /* @__PURE__ */ jsxs11("div", { className: "flex flex-col gap-y-2", children: [
1036
+ /* @__PURE__ */ jsxs11("p", { className: "text-2xl font-medium", children: [
981
1037
  title,
982
- totalItemCount && itemName ? /* @__PURE__ */ jsxs10("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: [
1038
+ totalItemCount && itemName ? /* @__PURE__ */ jsxs11("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: [
983
1039
  totalItemCount,
984
1040
  " ",
985
1041
  itemName
986
1042
  ] }) : null
987
1043
  ] }),
988
- description ? /* @__PURE__ */ jsx15("p", { className: "", children: description }) : null
1044
+ description ? /* @__PURE__ */ jsx16("p", { className: "", children: description }) : null
989
1045
  ] });
990
1046
  };
991
1047
  var BaseTitle_default = BaseTitle;
992
1048
 
993
1049
  // src/components/dividers/DividerLine.tsx
994
- import { jsx as jsx16 } from "react/jsx-runtime";
1050
+ import { jsx as jsx17 } from "react/jsx-runtime";
995
1051
  var DividerLine = () => {
996
- return /* @__PURE__ */ jsx16("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
1052
+ return /* @__PURE__ */ jsx17("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
997
1053
  };
998
1054
  var DividerLine_default = DividerLine;
999
1055
 
1000
1056
  // src/components/modals/BaseModal.tsx
1001
- import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1057
+ import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1002
1058
  var BaseModal = ({
1003
1059
  title,
1004
1060
  isOpen,
@@ -1007,7 +1063,7 @@ var BaseModal = ({
1007
1063
  onRequestClose,
1008
1064
  children
1009
1065
  }) => {
1010
- return /* @__PURE__ */ jsx17(
1066
+ return /* @__PURE__ */ jsx18(
1011
1067
  Modal,
1012
1068
  {
1013
1069
  isOpen,
@@ -1035,14 +1091,14 @@ var BaseModal = ({
1035
1091
  }
1036
1092
  },
1037
1093
  contentLabel: "",
1038
- children: /* @__PURE__ */ jsx17(
1094
+ children: /* @__PURE__ */ jsx18(
1039
1095
  "div",
1040
1096
  {
1041
1097
  className: `font-quicksand ${size === "small" ? "w-[600px]" : size === "medium" ? "w-[900px]" : "w-[600px] lg:w-[900px] xl:w-[1200px] 2xl:w-[1500px]"}`,
1042
- children: /* @__PURE__ */ jsxs11(FullCard_default, { children: [
1043
- /* @__PURE__ */ jsxs11("div", { className: "flex flex-row justify-between", children: [
1044
- /* @__PURE__ */ jsx17(BaseTitle_default, { title }),
1045
- /* @__PURE__ */ jsx17(
1098
+ children: /* @__PURE__ */ jsxs12(FullCard_default, { children: [
1099
+ /* @__PURE__ */ jsxs12("div", { className: "flex flex-row justify-between", children: [
1100
+ /* @__PURE__ */ jsx18(BaseTitle_default, { title }),
1101
+ /* @__PURE__ */ jsx18(
1046
1102
  BaseImage_default,
1047
1103
  {
1048
1104
  src: "/icons/cross-red.webp",
@@ -1052,8 +1108,8 @@ var BaseModal = ({
1052
1108
  }
1053
1109
  )
1054
1110
  ] }),
1055
- /* @__PURE__ */ jsx17(DividerLine_default, {}),
1056
- /* @__PURE__ */ jsx17("div", { className: "max-h-[calc(98vh-120px)] overflow-auto", children })
1111
+ /* @__PURE__ */ jsx18(DividerLine_default, {}),
1112
+ /* @__PURE__ */ jsx18("div", { className: "max-h-[calc(98vh-120px)] overflow-auto", children })
1057
1113
  ] })
1058
1114
  }
1059
1115
  )
@@ -1063,20 +1119,20 @@ var BaseModal = ({
1063
1119
  var BaseModal_default = BaseModal;
1064
1120
 
1065
1121
  // src/components/pdfs/BasePDF.tsx
1066
- import { useState as useState10 } from "react";
1122
+ import { useState as useState11 } from "react";
1067
1123
  import { Document, Page } from "react-pdf";
1068
- import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1124
+ import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
1069
1125
  var BasePDF = ({ file }) => {
1070
- const [pageNumber, setPageNumber] = useState10(1);
1071
- const [numberOfPages, setNumberOfPages] = useState10(0);
1126
+ const [pageNumber, setPageNumber] = useState11(1);
1127
+ const [numberOfPages, setNumberOfPages] = useState11(0);
1072
1128
  const handleOnDocumentLoadSuccess = ({ numPages }) => {
1073
1129
  setPageNumber(1);
1074
1130
  setNumberOfPages(numPages);
1075
1131
  };
1076
- return /* @__PURE__ */ jsxs12(Document, { file, onLoadSuccess: handleOnDocumentLoadSuccess, children: [
1077
- /* @__PURE__ */ jsx18(Page, { pageNumber }),
1078
- /* @__PURE__ */ jsxs12("div", { className: "flex flex-row items-center justify-center", children: [
1079
- pageNumber === 1 ? null : /* @__PURE__ */ jsx18("div", { className: "px-2", children: /* @__PURE__ */ jsx18("div", { className: "cursor-pointer", children: /* @__PURE__ */ jsx18(
1132
+ return /* @__PURE__ */ jsxs13(Document, { file, onLoadSuccess: handleOnDocumentLoadSuccess, children: [
1133
+ /* @__PURE__ */ jsx19(Page, { pageNumber }),
1134
+ /* @__PURE__ */ jsxs13("div", { className: "flex flex-row items-center justify-center", children: [
1135
+ pageNumber === 1 ? null : /* @__PURE__ */ jsx19("div", { className: "px-2", children: /* @__PURE__ */ jsx19("div", { className: "cursor-pointer", children: /* @__PURE__ */ jsx19(
1080
1136
  BaseImage_default,
1081
1137
  {
1082
1138
  alt: "arrow-left",
@@ -1087,7 +1143,7 @@ var BasePDF = ({ file }) => {
1087
1143
  }
1088
1144
  }
1089
1145
  ) }) }),
1090
- Array.from(Array(numberOfPages).keys()).filter((index) => index < pageNumber + 5).filter((index) => index > pageNumber - 5).map((index) => /* @__PURE__ */ jsx18("div", { className: "px-2", children: /* @__PURE__ */ jsx18(
1146
+ Array.from(Array(numberOfPages).keys()).filter((index) => index < pageNumber + 5).filter((index) => index > pageNumber - 5).map((index) => /* @__PURE__ */ jsx19("div", { className: "px-2", children: /* @__PURE__ */ jsx19(
1091
1147
  "p",
1092
1148
  {
1093
1149
  className: `${pageNumber === index + 1 ? "text-2xl" : "text-md"} cursor-pointer`,
@@ -1097,7 +1153,7 @@ var BasePDF = ({ file }) => {
1097
1153
  children: index + 1
1098
1154
  }
1099
1155
  ) }, index)),
1100
- numberOfPages === 0 || pageNumber === numberOfPages ? null : /* @__PURE__ */ jsx18("div", { className: "px-2", children: /* @__PURE__ */ jsx18("div", { className: "cursor-pointer", children: /* @__PURE__ */ jsx18(
1156
+ numberOfPages === 0 || pageNumber === numberOfPages ? null : /* @__PURE__ */ jsx19("div", { className: "px-2", children: /* @__PURE__ */ jsx19("div", { className: "cursor-pointer", children: /* @__PURE__ */ jsx19(
1101
1157
  BaseImage_default,
1102
1158
  {
1103
1159
  src: "/icons/arrow-right.webp",
@@ -1114,14 +1170,14 @@ var BasePDF = ({ file }) => {
1114
1170
  var BasePDF_default = BasePDF;
1115
1171
 
1116
1172
  // src/components/activities/empty-contents/ActivityEmptyContent.tsx
1117
- import { jsx as jsx19 } from "react/jsx-runtime";
1173
+ import { jsx as jsx20 } from "react/jsx-runtime";
1118
1174
  var ActivityEmptyContent = () => {
1119
- return /* @__PURE__ */ jsx19("div", { className: "flex flex-col items-center justify-center border-2 border-catchup-orange rounded-catchup-xlarge px-5 py-2 mb-2 bg-catchup-orange text-catchup-white", children: /* @__PURE__ */ jsx19("p", { className: "text-lg", children: i18n_default.t("you_have_set_this_activity_as_empty") }) });
1175
+ return /* @__PURE__ */ jsx20("div", { className: "flex flex-col items-center justify-center border-2 border-catchup-orange rounded-catchup-xlarge px-5 py-2 mb-2 bg-catchup-orange text-catchup-white", children: /* @__PURE__ */ jsx20("p", { className: "text-lg", children: i18n_default.t("you_have_set_this_activity_as_empty") }) });
1120
1176
  };
1121
1177
  var ActivityEmptyContent_default = ActivityEmptyContent;
1122
1178
 
1123
1179
  // src/components/activities/body-contents/ShowBodyMediaByContentType.tsx
1124
- import { useState as useState11 } from "react";
1180
+ import { useState as useState12 } from "react";
1125
1181
  import Modal2 from "react-modal";
1126
1182
 
1127
1183
  // src/utilization/CatchtivityUtilization.ts
@@ -3140,15 +3196,15 @@ var retrieveActivityCountOptionList = () => {
3140
3196
 
3141
3197
  // src/components/activities/body-contents/ShowBodyMediaByContentType.tsx
3142
3198
  import { InlineMath } from "react-katex";
3143
- import { jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
3199
+ import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
3144
3200
  var ShowBodyMediaByContentType = ({
3145
3201
  index,
3146
3202
  type,
3147
3203
  value,
3148
3204
  size
3149
3205
  }) => {
3150
- const [showFullScreen, setShowFullScreen] = useState11(false);
3151
- const [selectedFullScreenItem, setSelectedFullScreenItem] = useState11("");
3206
+ const [showFullScreen, setShowFullScreen] = useState12(false);
3207
+ const [selectedFullScreenItem, setSelectedFullScreenItem] = useState12("");
3152
3208
  const convertToPercentage = (size2) => {
3153
3209
  switch (size2) {
3154
3210
  case "1/3":
@@ -3162,17 +3218,17 @@ var ShowBodyMediaByContentType = ({
3162
3218
  }
3163
3219
  };
3164
3220
  const renderSpecialExpressions = (inputPart, inputPartIndex) => {
3165
- return /* @__PURE__ */ jsx20(
3221
+ return /* @__PURE__ */ jsx21(
3166
3222
  "span",
3167
3223
  {
3168
3224
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
3169
- children: inputPart.isEquation ? /* @__PURE__ */ jsx20("span", { className: "text-xl", children: /* @__PURE__ */ jsx20(InlineMath, { math: inputPart.value }) }) : inputPart.value
3225
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx21("span", { className: "text-xl", children: /* @__PURE__ */ jsx21(InlineMath, { math: inputPart.value }) }) : inputPart.value
3170
3226
  },
3171
3227
  inputPartIndex
3172
3228
  );
3173
3229
  };
3174
3230
  const renderTextContent = (text, itemKey) => {
3175
- return /* @__PURE__ */ jsx20("span", { className: "text-xl", children: constructInputWithSpecialExpressionList(text).map(
3231
+ return /* @__PURE__ */ jsx21("span", { className: "text-xl", children: constructInputWithSpecialExpressionList(text).map(
3176
3232
  (inputPart, inputPartIndex) => renderSpecialExpressions(inputPart, inputPartIndex)
3177
3233
  ) }, itemKey);
3178
3234
  };
@@ -3204,7 +3260,7 @@ var ShowBodyMediaByContentType = ({
3204
3260
  currentIndex++;
3205
3261
  const itemKey = `text-inside-${index}-${currentIndex}`;
3206
3262
  valuePartList.push(
3207
- /* @__PURE__ */ jsx20("span", { className: "text-xl font-bold", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3263
+ /* @__PURE__ */ jsx21("span", { className: "text-xl font-bold", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3208
3264
  (inputPart, inputPartIndex) => renderSpecialExpressions(inputPart, inputPartIndex)
3209
3265
  ) }, itemKey)
3210
3266
  );
@@ -3221,7 +3277,7 @@ var ShowBodyMediaByContentType = ({
3221
3277
  if (textBeforeTag.trim() !== "") {
3222
3278
  currentIndex++;
3223
3279
  valuePartList.push(
3224
- /* @__PURE__ */ jsx20(
3280
+ /* @__PURE__ */ jsx21(
3225
3281
  "p",
3226
3282
  {
3227
3283
  className: "text-xl",
@@ -3240,12 +3296,12 @@ var ShowBodyMediaByContentType = ({
3240
3296
  );
3241
3297
  currentIndex++;
3242
3298
  valuePartList.push(
3243
- /* @__PURE__ */ jsxs13(
3299
+ /* @__PURE__ */ jsxs14(
3244
3300
  "div",
3245
3301
  {
3246
3302
  className: "relative w-[200px]",
3247
3303
  children: [
3248
- /* @__PURE__ */ jsx20(
3304
+ /* @__PURE__ */ jsx21(
3249
3305
  BaseImage_default,
3250
3306
  {
3251
3307
  src: imageSource,
@@ -3254,12 +3310,12 @@ var ShowBodyMediaByContentType = ({
3254
3310
  className: "rounded-catchup-xlarge"
3255
3311
  }
3256
3312
  ),
3257
- /* @__PURE__ */ jsx20(
3313
+ /* @__PURE__ */ jsx21(
3258
3314
  "div",
3259
3315
  {
3260
3316
  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",
3261
3317
  onClick: () => handleOpenFullScreen(imageSource),
3262
- children: /* @__PURE__ */ jsx20(
3318
+ children: /* @__PURE__ */ jsx21(
3263
3319
  BaseImage_default,
3264
3320
  {
3265
3321
  src: "/icons/arrow-up.webp",
@@ -3288,7 +3344,7 @@ var ShowBodyMediaByContentType = ({
3288
3344
  if (textBeforeTag.trim() !== "") {
3289
3345
  currentIndex++;
3290
3346
  valuePartList.push(
3291
- /* @__PURE__ */ jsx20(
3347
+ /* @__PURE__ */ jsx21(
3292
3348
  "p",
3293
3349
  {
3294
3350
  className: "text-xl",
@@ -3307,7 +3363,7 @@ var ShowBodyMediaByContentType = ({
3307
3363
  );
3308
3364
  currentIndex++;
3309
3365
  valuePartList.push(
3310
- /* @__PURE__ */ jsx20(
3366
+ /* @__PURE__ */ jsx21(
3311
3367
  "video",
3312
3368
  {
3313
3369
  src: videoSource,
@@ -3330,7 +3386,7 @@ var ShowBodyMediaByContentType = ({
3330
3386
  if (textBeforeTag.trim() !== "") {
3331
3387
  currentIndex++;
3332
3388
  valuePartList.push(
3333
- /* @__PURE__ */ jsx20(
3389
+ /* @__PURE__ */ jsx21(
3334
3390
  "p",
3335
3391
  {
3336
3392
  className: "text-xl",
@@ -3349,7 +3405,7 @@ var ShowBodyMediaByContentType = ({
3349
3405
  );
3350
3406
  currentIndex++;
3351
3407
  valuePartList.push(
3352
- /* @__PURE__ */ jsx20(
3408
+ /* @__PURE__ */ jsx21(
3353
3409
  "audio",
3354
3410
  {
3355
3411
  src: audioSource,
@@ -3374,13 +3430,13 @@ var ShowBodyMediaByContentType = ({
3374
3430
  if (regexMatchImageText) {
3375
3431
  const imageText = regexMatchImageText[1];
3376
3432
  valuePartList.push(
3377
- /* @__PURE__ */ jsxs13(
3433
+ /* @__PURE__ */ jsxs14(
3378
3434
  "div",
3379
3435
  {
3380
3436
  className: "bg-catchup-gray-50 relative px-4 py-4 rounded-catchup-small mt-2",
3381
3437
  children: [
3382
- /* @__PURE__ */ jsx20("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ jsx20("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3383
- /* @__PURE__ */ jsx20("span", { className: "text-xl", children: imageText })
3438
+ /* @__PURE__ */ jsx21("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ jsx21("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3439
+ /* @__PURE__ */ jsx21("span", { className: "text-xl", children: imageText })
3384
3440
  ]
3385
3441
  },
3386
3442
  `img-desc-${index}-${currentIndex}`
@@ -3394,7 +3450,7 @@ var ShowBodyMediaByContentType = ({
3394
3450
  return valuePartList;
3395
3451
  };
3396
3452
  const RenderShowFullScreenItem = () => {
3397
- return /* @__PURE__ */ jsx20(
3453
+ return /* @__PURE__ */ jsx21(
3398
3454
  Modal2,
3399
3455
  {
3400
3456
  isOpen: showFullScreen,
@@ -3423,8 +3479,8 @@ var ShowBodyMediaByContentType = ({
3423
3479
  }
3424
3480
  },
3425
3481
  contentLabel: "Image Fullscreen View",
3426
- children: /* @__PURE__ */ jsxs13("div", { className: "flex-1 flex flex-col", children: [
3427
- /* @__PURE__ */ jsx20("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx20(
3482
+ children: /* @__PURE__ */ jsxs14("div", { className: "flex-1 flex flex-col", children: [
3483
+ /* @__PURE__ */ jsx21("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx21(
3428
3484
  BaseImage_default,
3429
3485
  {
3430
3486
  src: "/icons/cross-red.webp",
@@ -3436,7 +3492,7 @@ var ShowBodyMediaByContentType = ({
3436
3492
  }
3437
3493
  }
3438
3494
  ) }),
3439
- /* @__PURE__ */ jsx20("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ jsx20(
3495
+ /* @__PURE__ */ jsx21("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ jsx21(
3440
3496
  BaseImage_default,
3441
3497
  {
3442
3498
  src: selectedFullScreenItem,
@@ -3452,10 +3508,10 @@ var ShowBodyMediaByContentType = ({
3452
3508
  const RenderMainContent = () => {
3453
3509
  switch (type) {
3454
3510
  case "TEXT":
3455
- return /* @__PURE__ */ jsx20("div", { className: "mb-1 flex flex-row flex-wrap items-center mx-auto w-full", children: /* @__PURE__ */ jsx20("p", { className: "whitespace-pre-wrap", children: retrieveValueParts(value) }) });
3511
+ return /* @__PURE__ */ jsx21("div", { className: "mb-1 flex flex-row flex-wrap items-center mx-auto w-full", children: /* @__PURE__ */ jsx21("p", { className: "whitespace-pre-wrap", children: retrieveValueParts(value) }) });
3456
3512
  case "IMAGE":
3457
- return /* @__PURE__ */ jsx20("div", { className: "mb-1 flex flex-col items-center relative", children: /* @__PURE__ */ jsxs13("div", { className: "relative", children: [
3458
- /* @__PURE__ */ jsx20(
3513
+ return /* @__PURE__ */ jsx21("div", { className: "mb-1 flex flex-col items-center relative", children: /* @__PURE__ */ jsxs14("div", { className: "relative", children: [
3514
+ /* @__PURE__ */ jsx21(
3459
3515
  BaseImage_default,
3460
3516
  {
3461
3517
  src: value,
@@ -3465,12 +3521,12 @@ var ShowBodyMediaByContentType = ({
3465
3521
  imageClassName: "max-h-[50vh] max-w-full object-contain rounded-catchup-xlarge"
3466
3522
  }
3467
3523
  ),
3468
- /* @__PURE__ */ jsx20(
3524
+ /* @__PURE__ */ jsx21(
3469
3525
  "div",
3470
3526
  {
3471
3527
  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",
3472
3528
  onClick: () => handleOpenFullScreen(value),
3473
- children: /* @__PURE__ */ jsx20(
3529
+ children: /* @__PURE__ */ jsx21(
3474
3530
  BaseImage_default,
3475
3531
  {
3476
3532
  src: "/icons/arrow-up.webp",
@@ -3483,7 +3539,7 @@ var ShowBodyMediaByContentType = ({
3483
3539
  )
3484
3540
  ] }) });
3485
3541
  case "VIDEO":
3486
- return /* @__PURE__ */ jsx20("div", { className: "mb-1 flex flex-col items-center", children: /* @__PURE__ */ jsx20(
3542
+ return /* @__PURE__ */ jsx21("div", { className: "mb-1 flex flex-col items-center", children: /* @__PURE__ */ jsx21(
3487
3543
  "video",
3488
3544
  {
3489
3545
  src: value,
@@ -3492,12 +3548,12 @@ var ShowBodyMediaByContentType = ({
3492
3548
  }
3493
3549
  ) });
3494
3550
  case "AUDIO":
3495
- return /* @__PURE__ */ jsx20("div", { className: "mb-1 flex flex-col items-center", children: /* @__PURE__ */ jsx20("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3551
+ return /* @__PURE__ */ jsx21("div", { className: "mb-1 flex flex-col items-center", children: /* @__PURE__ */ jsx21("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3496
3552
  default:
3497
3553
  return null;
3498
3554
  }
3499
3555
  };
3500
- return /* @__PURE__ */ jsxs13("div", { className: "w-full", children: [
3556
+ return /* @__PURE__ */ jsxs14("div", { className: "w-full", children: [
3501
3557
  RenderShowFullScreenItem(),
3502
3558
  RenderMainContent()
3503
3559
  ] }, `body-content-${index}`);
@@ -3505,7 +3561,7 @@ var ShowBodyMediaByContentType = ({
3505
3561
  var ShowBodyMediaByContentType_default = ShowBodyMediaByContentType;
3506
3562
 
3507
3563
  // src/components/activities/body-contents/ActivityBodyContent.tsx
3508
- import { jsx as jsx21 } from "react/jsx-runtime";
3564
+ import { jsx as jsx22 } from "react/jsx-runtime";
3509
3565
  var ActivityBodyContent = ({
3510
3566
  templateType,
3511
3567
  bodyMap,
@@ -3586,7 +3642,7 @@ var ActivityBodyContent = ({
3586
3642
  key
3587
3643
  });
3588
3644
  }).filter(Boolean);
3589
- return /* @__PURE__ */ jsx21("div", { className: "flex flex-col", children: processedBodies.map((body, index) => /* @__PURE__ */ jsx21(
3645
+ return /* @__PURE__ */ jsx22("div", { className: "flex flex-col", children: processedBodies.map((body, index) => /* @__PURE__ */ jsx22(
3590
3646
  ShowBodyMediaByContentType_default,
3591
3647
  {
3592
3648
  index,
@@ -3600,9 +3656,9 @@ var ActivityBodyContent = ({
3600
3656
  var ActivityBodyContent_default = ActivityBodyContent;
3601
3657
 
3602
3658
  // src/components/dividers/VerticalDividerLine.tsx
3603
- import { jsx as jsx22 } from "react/jsx-runtime";
3659
+ import { jsx as jsx23 } from "react/jsx-runtime";
3604
3660
  var VerticalDividerLine = () => {
3605
- return /* @__PURE__ */ jsx22("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3661
+ return /* @__PURE__ */ jsx23("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3606
3662
  };
3607
3663
  var VerticalDividerLine_default = VerticalDividerLine;
3608
3664
 
@@ -3612,8 +3668,8 @@ import { InlineMath as InlineMath2 } from "react-katex";
3612
3668
  // src/components/groups/InputGroup.tsx
3613
3669
  import Select from "react-select";
3614
3670
  import Switch from "react-switch";
3615
- import { useEffect as useEffect3, useRef, useState as useState12, useCallback } from "react";
3616
- import { Fragment, jsx as jsx23, jsxs as jsxs14 } from "react/jsx-runtime";
3671
+ import { useEffect as useEffect3, useRef, useState as useState13, useCallback } from "react";
3672
+ import { Fragment, jsx as jsx24, jsxs as jsxs15 } from "react/jsx-runtime";
3617
3673
  var InputGroup = ({
3618
3674
  type,
3619
3675
  title,
@@ -3640,8 +3696,8 @@ var InputGroup = ({
3640
3696
  }) => {
3641
3697
  const textAreaRef = useRef(null);
3642
3698
  const latexTextAreaRef = useRef(null);
3643
- const [showMathConstructor, setShowMathConstructor] = useState12(false);
3644
- const [mathValue, setMathValue] = useState12("");
3699
+ const [showMathConstructor, setShowMathConstructor] = useState13(false);
3700
+ const [mathValue, setMathValue] = useState13("");
3645
3701
  const mathFieldRef = useRef(null);
3646
3702
  useEffect3(() => {
3647
3703
  if (!textAreaRef) return;
@@ -3728,7 +3784,7 @@ var InputGroup = ({
3728
3784
  setShowMathConstructor(true);
3729
3785
  };
3730
3786
  const MathConstructorModal = () => {
3731
- return /* @__PURE__ */ jsx23(
3787
+ return /* @__PURE__ */ jsx24(
3732
3788
  BaseModal_default,
3733
3789
  {
3734
3790
  title: i18n_default.t("math_editor"),
@@ -3739,8 +3795,8 @@ var InputGroup = ({
3739
3795
  onRequestClose: () => {
3740
3796
  setShowMathConstructor(false);
3741
3797
  },
3742
- children: /* @__PURE__ */ jsx23("div", { className: "bg-catchup-white rounded-lg overflow-hidden", children: /* @__PURE__ */ jsxs14("div", { className: "p-6 space-y-6", children: [
3743
- /* @__PURE__ */ jsx23("div", { children: /* @__PURE__ */ jsx23("div", { className: "border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ jsx23(
3798
+ children: /* @__PURE__ */ jsx24("div", { className: "bg-catchup-white rounded-lg overflow-hidden", children: /* @__PURE__ */ jsxs15("div", { className: "p-6 space-y-6", children: [
3799
+ /* @__PURE__ */ jsx24("div", { children: /* @__PURE__ */ jsx24("div", { className: "border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ jsx24(
3744
3800
  "math-field",
3745
3801
  {
3746
3802
  ref: mathFieldRef,
@@ -3766,10 +3822,10 @@ var InputGroup = ({
3766
3822
  }
3767
3823
  }
3768
3824
  ) }) }),
3769
- /* @__PURE__ */ jsxs14("div", { children: [
3770
- /* @__PURE__ */ jsx23("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("latex_output") }),
3771
- /* @__PURE__ */ jsxs14("div", { className: "relative", children: [
3772
- /* @__PURE__ */ jsx23(
3825
+ /* @__PURE__ */ jsxs15("div", { children: [
3826
+ /* @__PURE__ */ jsx24("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("latex_output") }),
3827
+ /* @__PURE__ */ jsxs15("div", { className: "relative", children: [
3828
+ /* @__PURE__ */ jsx24(
3773
3829
  "textarea",
3774
3830
  {
3775
3831
  ref: latexTextAreaRef,
@@ -3779,7 +3835,7 @@ var InputGroup = ({
3779
3835
  placeholder: i18n_default.t("latex_will_appear_here")
3780
3836
  }
3781
3837
  ),
3782
- /* @__PURE__ */ jsx23(
3838
+ /* @__PURE__ */ jsx24(
3783
3839
  "button",
3784
3840
  {
3785
3841
  onClick: handleCopyLatex,
@@ -3795,13 +3851,13 @@ var InputGroup = ({
3795
3851
  );
3796
3852
  };
3797
3853
  const CheckboxInputGroup = () => {
3798
- return /* @__PURE__ */ jsxs14(
3854
+ return /* @__PURE__ */ jsxs15(
3799
3855
  "div",
3800
3856
  {
3801
3857
  className: "flex flex-row items-center gap-x-1 cursor-pointer",
3802
3858
  onClick,
3803
3859
  children: [
3804
- /* @__PURE__ */ jsx23(
3860
+ /* @__PURE__ */ jsx24(
3805
3861
  BaseImage_default,
3806
3862
  {
3807
3863
  src: value ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -3811,15 +3867,15 @@ var InputGroup = ({
3811
3867
  }
3812
3868
  }
3813
3869
  ),
3814
- /* @__PURE__ */ jsx23("p", { className: "", children: title })
3870
+ /* @__PURE__ */ jsx24("p", { className: "", children: title })
3815
3871
  ]
3816
3872
  }
3817
3873
  );
3818
3874
  };
3819
3875
  const FileInputGroup = () => {
3820
- return /* @__PURE__ */ jsxs14("div", { className: "my-1", children: [
3821
- title ? /* @__PURE__ */ jsx23("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3822
- /* @__PURE__ */ jsx23(
3876
+ return /* @__PURE__ */ jsxs15("div", { className: "my-1", children: [
3877
+ title ? /* @__PURE__ */ jsx24("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3878
+ /* @__PURE__ */ jsx24(
3823
3879
  "input",
3824
3880
  {
3825
3881
  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",
@@ -3836,9 +3892,9 @@ var InputGroup = ({
3836
3892
  ] });
3837
3893
  };
3838
3894
  const DateInputGroup = () => {
3839
- return /* @__PURE__ */ jsxs14("div", { className: "my-1", children: [
3840
- title ? /* @__PURE__ */ jsx23("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3841
- /* @__PURE__ */ jsx23(
3895
+ return /* @__PURE__ */ jsxs15("div", { className: "my-1", children: [
3896
+ title ? /* @__PURE__ */ jsx24("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3897
+ /* @__PURE__ */ jsx24(
3842
3898
  "input",
3843
3899
  {
3844
3900
  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`,
@@ -3855,9 +3911,9 @@ var InputGroup = ({
3855
3911
  ] });
3856
3912
  };
3857
3913
  const SearchableSelectInputGroup = () => {
3858
- return /* @__PURE__ */ jsxs14("div", { className: "my-1", children: [
3859
- title ? /* @__PURE__ */ jsx23("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
3860
- /* @__PURE__ */ jsx23(
3914
+ return /* @__PURE__ */ jsxs15("div", { className: "my-1", children: [
3915
+ title ? /* @__PURE__ */ jsx24("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
3916
+ /* @__PURE__ */ jsx24(
3861
3917
  Select,
3862
3918
  {
3863
3919
  options: convertOptionListToSelectComponent(
@@ -3920,16 +3976,16 @@ var InputGroup = ({
3920
3976
  ] });
3921
3977
  };
3922
3978
  const TextAreaInputGroup = () => {
3923
- return /* @__PURE__ */ jsxs14("div", { className: "my-1 flex-1 flex flex-col relative", children: [
3924
- /* @__PURE__ */ jsxs14("div", { className: "flex flex-row justify-between items-center", children: [
3925
- /* @__PURE__ */ jsx23("div", { children: title ? /* @__PURE__ */ jsx23("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3926
- /* @__PURE__ */ jsx23("div", { children: value && limit ? /* @__PURE__ */ jsxs14("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3979
+ return /* @__PURE__ */ jsxs15("div", { className: "my-1 flex-1 flex flex-col relative", children: [
3980
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-row justify-between items-center", children: [
3981
+ /* @__PURE__ */ jsx24("div", { children: title ? /* @__PURE__ */ jsx24("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3982
+ /* @__PURE__ */ jsx24("div", { children: value && limit ? /* @__PURE__ */ jsxs15("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3927
3983
  value.length,
3928
3984
  " / ",
3929
3985
  limit
3930
3986
  ] }) : null })
3931
3987
  ] }),
3932
- /* @__PURE__ */ jsx23(
3988
+ /* @__PURE__ */ jsx24(
3933
3989
  "textarea",
3934
3990
  {
3935
3991
  ref: textAreaRef,
@@ -3942,22 +3998,22 @@ var InputGroup = ({
3942
3998
  onKeyDown
3943
3999
  }
3944
4000
  ),
3945
- useMath && /* @__PURE__ */ jsx23(
4001
+ useMath && /* @__PURE__ */ jsx24(
3946
4002
  "button",
3947
4003
  {
3948
4004
  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",
3949
4005
  onClick: handleOpenMathConstructor,
3950
4006
  type: "button",
3951
- children: /* @__PURE__ */ jsxs14("div", { className: "flex items-center gap-x-1", children: [
3952
- /* @__PURE__ */ jsx23("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3953
- /* @__PURE__ */ jsx23(
4007
+ children: /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-x-1", children: [
4008
+ /* @__PURE__ */ jsx24("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
4009
+ /* @__PURE__ */ jsx24(
3954
4010
  "svg",
3955
4011
  {
3956
4012
  className: "w-3 h-3",
3957
4013
  fill: "none",
3958
4014
  stroke: "currentColor",
3959
4015
  viewBox: "0 0 24 24",
3960
- children: /* @__PURE__ */ jsx23(
4016
+ children: /* @__PURE__ */ jsx24(
3961
4017
  "path",
3962
4018
  {
3963
4019
  strokeLinecap: "round",
@@ -3974,20 +4030,20 @@ var InputGroup = ({
3974
4030
  ] });
3975
4031
  };
3976
4032
  const TextInputGroup = () => {
3977
- return /* @__PURE__ */ jsxs14("div", { className: "my-1 relative", children: [
3978
- /* @__PURE__ */ jsxs14("div", { className: "flex flex-row justify-between items-center", children: [
3979
- /* @__PURE__ */ jsx23("div", { children: title ? /* @__PURE__ */ jsx23("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3980
- /* @__PURE__ */ jsx23("div", { children: value && limit ? /* @__PURE__ */ jsxs14("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
4033
+ return /* @__PURE__ */ jsxs15("div", { className: "my-1 relative", children: [
4034
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-row justify-between items-center", children: [
4035
+ /* @__PURE__ */ jsx24("div", { children: title ? /* @__PURE__ */ jsx24("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
4036
+ /* @__PURE__ */ jsx24("div", { children: value && limit ? /* @__PURE__ */ jsxs15("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3981
4037
  value.length,
3982
4038
  " / ",
3983
4039
  limit
3984
4040
  ] }) : null })
3985
4041
  ] }),
3986
- /* @__PURE__ */ jsx23(
4042
+ /* @__PURE__ */ jsx24(
3987
4043
  "div",
3988
4044
  {
3989
4045
  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-catchup-white"}`,
3990
- children: /* @__PURE__ */ jsx23(
4046
+ children: /* @__PURE__ */ jsx24(
3991
4047
  "input",
3992
4048
  {
3993
4049
  disabled,
@@ -4005,22 +4061,22 @@ var InputGroup = ({
4005
4061
  )
4006
4062
  }
4007
4063
  ),
4008
- useMath && /* @__PURE__ */ jsx23(
4064
+ useMath && /* @__PURE__ */ jsx24(
4009
4065
  "button",
4010
4066
  {
4011
4067
  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",
4012
4068
  onClick: handleOpenMathConstructor,
4013
4069
  type: "button",
4014
- children: /* @__PURE__ */ jsxs14("div", { className: "flex items-center gap-x-1", children: [
4015
- /* @__PURE__ */ jsx23("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
4016
- /* @__PURE__ */ jsx23(
4070
+ children: /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-x-1", children: [
4071
+ /* @__PURE__ */ jsx24("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
4072
+ /* @__PURE__ */ jsx24(
4017
4073
  "svg",
4018
4074
  {
4019
4075
  className: "w-3 h-3",
4020
4076
  fill: "none",
4021
4077
  stroke: "currentColor",
4022
4078
  viewBox: "0 0 24 24",
4023
- children: /* @__PURE__ */ jsx23(
4079
+ children: /* @__PURE__ */ jsx24(
4024
4080
  "path",
4025
4081
  {
4026
4082
  strokeLinecap: "round",
@@ -4037,9 +4093,9 @@ var InputGroup = ({
4037
4093
  ] });
4038
4094
  };
4039
4095
  const SwitchInputGroup = () => {
4040
- return /* @__PURE__ */ jsxs14("div", { className: "flex flex-col my-1", children: [
4041
- /* @__PURE__ */ jsxs14("div", { className: "flex flex-row items-center", children: [
4042
- /* @__PURE__ */ jsx23(
4096
+ return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col my-1", children: [
4097
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-row items-center", children: [
4098
+ /* @__PURE__ */ jsx24(
4043
4099
  Switch,
4044
4100
  {
4045
4101
  onChange: () => {
@@ -4058,7 +4114,7 @@ var InputGroup = ({
4058
4114
  disabled
4059
4115
  }
4060
4116
  ),
4061
- /* @__PURE__ */ jsx23(
4117
+ /* @__PURE__ */ jsx24(
4062
4118
  "p",
4063
4119
  {
4064
4120
  className: `${checked ? "font-bold" : "text-catchup-gray"} px-2 transition-all duration-300`,
@@ -4066,7 +4122,7 @@ var InputGroup = ({
4066
4122
  }
4067
4123
  )
4068
4124
  ] }),
4069
- description ? /* @__PURE__ */ jsx23("p", { className: "text-md text-catchup-gray-300 mt-1 ml-12", children: description }) : null
4125
+ description ? /* @__PURE__ */ jsx24("p", { className: "text-md text-catchup-gray-300 mt-1 ml-12", children: description }) : null
4070
4126
  ] });
4071
4127
  };
4072
4128
  const RenderMainContent = () => {
@@ -4088,16 +4144,16 @@ var InputGroup = ({
4088
4144
  return SwitchInputGroup();
4089
4145
  }
4090
4146
  };
4091
- return /* @__PURE__ */ jsxs14(Fragment, { children: [
4147
+ return /* @__PURE__ */ jsxs15(Fragment, { children: [
4092
4148
  RenderMainContent(),
4093
- /* @__PURE__ */ jsx23(MathConstructorModal, {})
4149
+ /* @__PURE__ */ jsx24(MathConstructorModal, {})
4094
4150
  ] });
4095
4151
  };
4096
4152
  var InputGroup_default = InputGroup;
4097
4153
 
4098
4154
  // src/components/activities/material-contents/DropdownActivityMaterialContent.tsx
4099
4155
  import { useEffect as useEffect6 } from "react";
4100
- import { useState as useState15 } from "react";
4156
+ import { useState as useState16 } from "react";
4101
4157
 
4102
4158
  // src/utilization/AppUtilization.ts
4103
4159
  var colors = [
@@ -4221,10 +4277,10 @@ var getSystemLanguageFromCurriculumType = (curriculumType) => {
4221
4277
  };
4222
4278
 
4223
4279
  // src/components/dropdowns/MediaDropdown.tsx
4224
- import { useState as useState13, useEffect as useEffect4, useRef as useRef2 } from "react";
4225
- import { jsx as jsx24, jsxs as jsxs15 } from "react/jsx-runtime";
4280
+ import { useState as useState14, useEffect as useEffect4, useRef as useRef2 } from "react";
4281
+ import { jsx as jsx25, jsxs as jsxs16 } from "react/jsx-runtime";
4226
4282
  var MediaDropdown = ({ id, answer, optionList }) => {
4227
- const [showDropdown, setShowDropdown] = useState13(false);
4283
+ const [showDropdown, setShowDropdown] = useState14(false);
4228
4284
  const dropdownRef = useRef2(null);
4229
4285
  useEffect4(() => {
4230
4286
  const handleClickOutside = (event) => {
@@ -4252,8 +4308,8 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4252
4308
  }
4253
4309
  setShowDropdown(false);
4254
4310
  };
4255
- return /* @__PURE__ */ jsxs15("div", { ref: dropdownRef, className: "w-full relative", children: [
4256
- /* @__PURE__ */ jsx24(
4311
+ return /* @__PURE__ */ jsxs16("div", { ref: dropdownRef, className: "w-full relative", children: [
4312
+ /* @__PURE__ */ jsx25(
4257
4313
  "div",
4258
4314
  {
4259
4315
  className: "w-full flex flex-col items-center justify-center cursor-pointer",
@@ -4261,16 +4317,16 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4261
4317
  children: answer
4262
4318
  }
4263
4319
  ),
4264
- /* @__PURE__ */ jsx24(
4320
+ /* @__PURE__ */ jsx25(
4265
4321
  "ul",
4266
4322
  {
4267
4323
  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`,
4268
- children: optionList.map((option, index) => /* @__PURE__ */ jsxs15(
4324
+ children: optionList.map((option, index) => /* @__PURE__ */ jsxs16(
4269
4325
  "li",
4270
4326
  {
4271
4327
  className: `${option.listItemClassNames ? option.listItemClassNames : ""}`,
4272
4328
  children: [
4273
- /* @__PURE__ */ jsx24(
4329
+ /* @__PURE__ */ jsx25(
4274
4330
  "div",
4275
4331
  {
4276
4332
  className: `w-full flex flex-col my-2 cursor-pointer ${option.divClassNames ? option.divClassNames : ""}`,
@@ -4278,7 +4334,7 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4278
4334
  children: option.media
4279
4335
  }
4280
4336
  ),
4281
- index !== optionList.length - 1 ? /* @__PURE__ */ jsx24("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
4337
+ index !== optionList.length - 1 ? /* @__PURE__ */ jsx25("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
4282
4338
  ]
4283
4339
  },
4284
4340
  option.id
@@ -4290,25 +4346,25 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4290
4346
  var MediaDropdown_default = MediaDropdown;
4291
4347
 
4292
4348
  // src/components/activities/material-contents/ShowMaterialMediaByContentType.tsx
4293
- import { useEffect as useEffect5, useRef as useRef3, useState as useState14 } from "react";
4349
+ import { useEffect as useEffect5, useRef as useRef3, useState as useState15 } from "react";
4294
4350
  import Modal3 from "react-modal";
4295
- import { Fragment as Fragment2, jsx as jsx25, jsxs as jsxs16 } from "react/jsx-runtime";
4351
+ import { Fragment as Fragment2, jsx as jsx26, jsxs as jsxs17 } from "react/jsx-runtime";
4296
4352
  var ShowMaterialMediaByContentType = ({
4297
4353
  key,
4298
4354
  contentType,
4299
4355
  src,
4300
4356
  canFullScreen
4301
4357
  }) => {
4302
- const [showFullScreen, setShowFullScreen] = useState14(false);
4303
- const [selectedFullScreenItem, setSelectedFullScreenItem] = useState14(null);
4304
- const [isLoaded, setIsLoaded] = useState14(false);
4358
+ const [showFullScreen, setShowFullScreen] = useState15(false);
4359
+ const [selectedFullScreenItem, setSelectedFullScreenItem] = useState15(null);
4360
+ const [isLoaded, setIsLoaded] = useState15(false);
4305
4361
  const imageRef = useRef3(null);
4306
4362
  const videoRef = useRef3(null);
4307
4363
  useEffect5(() => {
4308
4364
  setIsLoaded(false);
4309
4365
  }, []);
4310
4366
  const RenderShowFullScreenItem = () => {
4311
- return /* @__PURE__ */ jsx25(
4367
+ return /* @__PURE__ */ jsx26(
4312
4368
  Modal3,
4313
4369
  {
4314
4370
  isOpen: showFullScreen,
@@ -4339,8 +4395,8 @@ var ShowMaterialMediaByContentType = ({
4339
4395
  }
4340
4396
  },
4341
4397
  contentLabel: "",
4342
- children: /* @__PURE__ */ jsxs16("div", { className: "flex-1 flex flex-col", children: [
4343
- /* @__PURE__ */ jsx25("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx25(
4398
+ children: /* @__PURE__ */ jsxs17("div", { className: "flex-1 flex flex-col", children: [
4399
+ /* @__PURE__ */ jsx26("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx26(
4344
4400
  BaseImage_default,
4345
4401
  {
4346
4402
  src: "/icons/cross-red.webp",
@@ -4352,7 +4408,7 @@ var ShowMaterialMediaByContentType = ({
4352
4408
  }
4353
4409
  }
4354
4410
  ) }),
4355
- /* @__PURE__ */ jsx25("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ jsx25(
4411
+ /* @__PURE__ */ jsx26("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ jsx26(
4356
4412
  BaseImage_default,
4357
4413
  {
4358
4414
  src: selectedFullScreenItem,
@@ -4365,10 +4421,10 @@ var ShowMaterialMediaByContentType = ({
4365
4421
  }
4366
4422
  );
4367
4423
  };
4368
- return contentType === "IMAGE" ? /* @__PURE__ */ jsxs16(Fragment2, { children: [
4424
+ return contentType === "IMAGE" ? /* @__PURE__ */ jsxs17(Fragment2, { children: [
4369
4425
  RenderShowFullScreenItem(),
4370
- /* @__PURE__ */ jsx25("div", { className: "my-2 w-full h-full", children: /* @__PURE__ */ jsx25("div", { className: "h-full flex items-center justify-center", children: /* @__PURE__ */ jsxs16("div", { className: "h-catchup-activity-media-box-item w-catchup-activity-media-box-item flex items-center justify-center relative", children: [
4371
- /* @__PURE__ */ jsx25(
4426
+ /* @__PURE__ */ jsx26("div", { className: "my-2 w-full h-full", children: /* @__PURE__ */ jsx26("div", { className: "h-full flex items-center justify-center", children: /* @__PURE__ */ jsxs17("div", { className: "h-catchup-activity-media-box-item w-catchup-activity-media-box-item flex items-center justify-center relative", children: [
4427
+ /* @__PURE__ */ jsx26(
4372
4428
  BaseImage_default,
4373
4429
  {
4374
4430
  src,
@@ -4383,7 +4439,7 @@ var ShowMaterialMediaByContentType = ({
4383
4439
  }
4384
4440
  }
4385
4441
  ),
4386
- src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ jsx25(
4442
+ src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ jsx26(
4387
4443
  "div",
4388
4444
  {
4389
4445
  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 bg-catchup-white bg-opacity-80",
@@ -4395,7 +4451,7 @@ var ShowMaterialMediaByContentType = ({
4395
4451
  setShowFullScreen(true);
4396
4452
  setSelectedFullScreenItem(src);
4397
4453
  },
4398
- children: /* @__PURE__ */ jsx25(
4454
+ children: /* @__PURE__ */ jsx26(
4399
4455
  BaseImage_default,
4400
4456
  {
4401
4457
  src: "/icons/arrow-up.webp",
@@ -4407,7 +4463,7 @@ var ShowMaterialMediaByContentType = ({
4407
4463
  }
4408
4464
  ) : null
4409
4465
  ] }) }) })
4410
- ] }) : contentType === "VIDEO" ? /* @__PURE__ */ jsx25("div", { className: "my-2 w-full h-full", children: /* @__PURE__ */ jsx25("div", { className: "h-full flex items-center justify-center", children: /* @__PURE__ */ jsx25("div", { className: "h-catchup-activity-media-box-item w-catchup-activity-media-box-item flex items-center justify-center", children: /* @__PURE__ */ jsx25(
4466
+ ] }) : contentType === "VIDEO" ? /* @__PURE__ */ jsx26("div", { className: "my-2 w-full h-full", children: /* @__PURE__ */ jsx26("div", { className: "h-full flex items-center justify-center", children: /* @__PURE__ */ jsx26("div", { className: "h-catchup-activity-media-box-item w-catchup-activity-media-box-item flex items-center justify-center", children: /* @__PURE__ */ jsx26(
4411
4467
  "video",
4412
4468
  {
4413
4469
  ref: videoRef,
@@ -4417,7 +4473,7 @@ var ShowMaterialMediaByContentType = ({
4417
4473
  onClick: () => {
4418
4474
  }
4419
4475
  }
4420
- ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ jsx25("div", { className: "my-2 w-full h-full", children: /* @__PURE__ */ jsx25("div", { className: "h-full flex items-center justify-center", children: /* @__PURE__ */ jsx25("div", { className: "h-catchup-activity-media-box-item w-catchup-activity-media-box-item flex items-center justify-center", children: /* @__PURE__ */ jsx25(
4476
+ ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ jsx26("div", { className: "my-2 w-full h-full", children: /* @__PURE__ */ jsx26("div", { className: "h-full flex items-center justify-center", children: /* @__PURE__ */ jsx26("div", { className: "h-catchup-activity-media-box-item w-catchup-activity-media-box-item flex items-center justify-center", children: /* @__PURE__ */ jsx26(
4421
4477
  "audio",
4422
4478
  {
4423
4479
  className: "w-full rounded-catchup-xlarge",
@@ -4431,7 +4487,7 @@ var ShowMaterialMediaByContentType = ({
4431
4487
  var ShowMaterialMediaByContentType_default = ShowMaterialMediaByContentType;
4432
4488
 
4433
4489
  // src/components/activities/material-contents/DropdownActivityMaterialContent.tsx
4434
- import { jsx as jsx26, jsxs as jsxs17 } from "react/jsx-runtime";
4490
+ import { jsx as jsx27, jsxs as jsxs18 } from "react/jsx-runtime";
4435
4491
  var DropdownActivityMaterialContent = ({
4436
4492
  uniqueValue,
4437
4493
  answerMap,
@@ -4442,7 +4498,7 @@ var DropdownActivityMaterialContent = ({
4442
4498
  isPreview,
4443
4499
  showCorrectAnswer
4444
4500
  }) => {
4445
- const [displayAnswerMap, setDisplayAnswerMap] = useState15(answerMap);
4501
+ const [displayAnswerMap, setDisplayAnswerMap] = useState16(answerMap);
4446
4502
  useEffect6(() => {
4447
4503
  if (showCorrectAnswer) {
4448
4504
  const correctAnswerMap = {};
@@ -4463,23 +4519,23 @@ var DropdownActivityMaterialContent = ({
4463
4519
  }
4464
4520
  return "INCORRECT";
4465
4521
  };
4466
- return /* @__PURE__ */ jsxs17("div", { className: "flex flex-col h-full", children: [
4467
- /* @__PURE__ */ jsx26("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx26("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4468
- /* @__PURE__ */ jsx26("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx26(DividerLine_default, {}) }),
4469
- /* @__PURE__ */ jsx26("div", { className: "flex-1 min-h-0 overflow-y-auto", children: /* @__PURE__ */ jsx26("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(displayAnswerMap).map(
4522
+ return /* @__PURE__ */ jsxs18("div", { className: "flex flex-col h-full", children: [
4523
+ /* @__PURE__ */ jsx27("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4524
+ /* @__PURE__ */ jsx27("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx27(DividerLine_default, {}) }),
4525
+ /* @__PURE__ */ jsx27("div", { className: "flex-1 min-h-0 overflow-y-auto", children: /* @__PURE__ */ jsx27("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(displayAnswerMap).map(
4470
4526
  (materialKey, index) => {
4471
4527
  const answerKey = Object.keys(materialMap[materialKey])[0];
4472
4528
  const learnerAnswerState = checkAnswerState(
4473
4529
  answerKey,
4474
4530
  displayAnswerMap[materialKey]
4475
4531
  );
4476
- return /* @__PURE__ */ jsx26("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx26("div", { className: "mx-2", children: /* @__PURE__ */ jsxs17("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4477
- /* @__PURE__ */ jsx26("div", { className: "my-auto", children: /* @__PURE__ */ jsxs17("p", { className: "text-xl", children: [
4532
+ return /* @__PURE__ */ jsx27("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx27("div", { className: "mx-2", children: /* @__PURE__ */ jsxs18("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4533
+ /* @__PURE__ */ jsx27("div", { className: "my-auto", children: /* @__PURE__ */ jsxs18("p", { className: "text-xl", children: [
4478
4534
  parseFloat(materialKey) + 1,
4479
4535
  "."
4480
4536
  ] }) }),
4481
- /* @__PURE__ */ jsxs17("div", { className: "w-full relative", children: [
4482
- /* @__PURE__ */ jsx26("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsx26("div", { className: "flex-1", children: /* @__PURE__ */ jsx26(
4537
+ /* @__PURE__ */ jsxs18("div", { className: "w-full relative", children: [
4538
+ /* @__PURE__ */ jsx27("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsx27("div", { className: "flex-1", children: /* @__PURE__ */ jsx27(
4483
4539
  InputGroup_default,
4484
4540
  {
4485
4541
  type: "select",
@@ -4487,13 +4543,13 @@ var DropdownActivityMaterialContent = ({
4487
4543
  optionList: shuffleArray(
4488
4544
  materialMap[materialKey][answerKey]
4489
4545
  ).map((materialOption) => ({
4490
- text: /* @__PURE__ */ jsx26("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4546
+ text: /* @__PURE__ */ jsx27("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4491
4547
  materialOption
4492
- ).map((inputPart, index2) => /* @__PURE__ */ jsx26(
4548
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx27(
4493
4549
  "span",
4494
4550
  {
4495
4551
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4496
- children: inputPart.isEquation ? /* @__PURE__ */ jsx26("span", { className: "text-xl", children: /* @__PURE__ */ jsx26(
4552
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx27("span", { className: "text-xl", children: /* @__PURE__ */ jsx27(
4497
4553
  InlineMath2,
4498
4554
  {
4499
4555
  math: inputPart.value
@@ -4512,11 +4568,11 @@ var DropdownActivityMaterialContent = ({
4512
4568
  );
4513
4569
  }
4514
4570
  }
4515
- ) }) : /* @__PURE__ */ jsx26(
4571
+ ) }) : /* @__PURE__ */ jsx27(
4516
4572
  MediaDropdown_default,
4517
4573
  {
4518
4574
  id: materialKey,
4519
- answer: displayAnswerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ jsx26("div", { className: "w-catchup-activity-media-box-item h-catchup-activity-media-box-item border rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ jsx26("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx26("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ jsx26(
4575
+ answer: displayAnswerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ jsx27("div", { className: "w-catchup-activity-media-box-item h-catchup-activity-media-box-item border rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ jsx27("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx27("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ jsx27(
4520
4576
  ShowMaterialMediaByContentType_default,
4521
4577
  {
4522
4578
  contentType: contentMap.type,
@@ -4527,7 +4583,7 @@ var DropdownActivityMaterialContent = ({
4527
4583
  ),
4528
4584
  optionList: materialMap[materialKey][answerKey].map((materialOption, index2) => ({
4529
4585
  id: index2,
4530
- media: /* @__PURE__ */ jsx26("div", { children: /* @__PURE__ */ jsx26(
4586
+ media: /* @__PURE__ */ jsx27("div", { children: /* @__PURE__ */ jsx27(
4531
4587
  ShowMaterialMediaByContentType_default,
4532
4588
  {
4533
4589
  contentType: contentMap.type,
@@ -4545,24 +4601,24 @@ var DropdownActivityMaterialContent = ({
4545
4601
  }
4546
4602
  }))
4547
4603
  }
4548
- ) : /* @__PURE__ */ jsx26("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4604
+ ) : /* @__PURE__ */ jsx27("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4549
4605
  displayAnswerMap[materialKey]
4550
- ).map((inputPart, index2) => /* @__PURE__ */ jsx26(
4606
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx27(
4551
4607
  "span",
4552
4608
  {
4553
4609
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4554
- children: inputPart.isEquation ? /* @__PURE__ */ jsx26("span", { className: "text-xl", children: /* @__PURE__ */ jsx26(InlineMath2, { math: inputPart.value }) }) : inputPart.value
4610
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx27("span", { className: "text-xl", children: /* @__PURE__ */ jsx27(InlineMath2, { math: inputPart.value }) }) : inputPart.value
4555
4611
  },
4556
4612
  index2
4557
4613
  )) }) }),
4558
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx26("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx26(
4614
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx27("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx27(
4559
4615
  BaseImage_default,
4560
4616
  {
4561
4617
  src: "/icons/checkbox.webp",
4562
4618
  alt: "chekbbox",
4563
4619
  size: "small"
4564
4620
  }
4565
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx26("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx26(
4621
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx27("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx27(
4566
4622
  BaseImage_default,
4567
4623
  {
4568
4624
  src: "/icons/cross-red.webp",
@@ -4579,8 +4635,8 @@ var DropdownActivityMaterialContent = ({
4579
4635
  var DropdownActivityMaterialContent_default = DropdownActivityMaterialContent;
4580
4636
 
4581
4637
  // src/components/activities/DropdownActivityContent.tsx
4582
- import { useState as useState16, useEffect as useEffect7 } from "react";
4583
- import { jsx as jsx27, jsxs as jsxs18 } from "react/jsx-runtime";
4638
+ import { useState as useState17, useEffect as useEffect7 } from "react";
4639
+ import { jsx as jsx28, jsxs as jsxs19 } from "react/jsx-runtime";
4584
4640
  var DropdownActivityContent = ({
4585
4641
  answerMap,
4586
4642
  data,
@@ -4593,7 +4649,7 @@ var DropdownActivityContent = ({
4593
4649
  const contentMap = parseContentMapFromData(data);
4594
4650
  const dropdownBodyMap = parseBodyMapFromData(data, "DROPDOWN");
4595
4651
  const dropdownMaterialMap = parseMaterialMapFromData(data, "DROPDOWN");
4596
- const [currentAnswerMap, setCurrentAnswerMap] = useState16(answerMap);
4652
+ const [currentAnswerMap, setCurrentAnswerMap] = useState17(answerMap);
4597
4653
  useEffect7(() => {
4598
4654
  setCurrentAnswerMap(answerMap);
4599
4655
  }, [answerMap]);
@@ -4603,8 +4659,8 @@ var DropdownActivityContent = ({
4603
4659
  setCurrentAnswerMap(answerMap2);
4604
4660
  changeAnswer(answerMap2);
4605
4661
  };
4606
- return /* @__PURE__ */ jsxs18("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
4607
- /* @__PURE__ */ jsx27("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx27(
4662
+ return /* @__PURE__ */ jsxs19("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
4663
+ /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx28(
4608
4664
  ActivityBodyContent_default,
4609
4665
  {
4610
4666
  bodyMap: dropdownBodyMap,
@@ -4613,9 +4669,9 @@ var DropdownActivityContent = ({
4613
4669
  templateType: "DROPDOWN"
4614
4670
  }
4615
4671
  ) }),
4616
- /* @__PURE__ */ jsx27("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx27(DividerLine_default, {}) }),
4617
- /* @__PURE__ */ jsx27("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx27(VerticalDividerLine_default, {}) }),
4618
- /* @__PURE__ */ jsx27("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx27(
4672
+ /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx28(DividerLine_default, {}) }),
4673
+ /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx28(VerticalDividerLine_default, {}) }),
4674
+ /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx28(
4619
4675
  DropdownActivityMaterialContent_default,
4620
4676
  {
4621
4677
  uniqueValue: JSON.stringify(data.contentMap),
@@ -4634,34 +4690,34 @@ var DropdownActivityContent_default = DropdownActivityContent;
4634
4690
 
4635
4691
  // src/components/activities/material-contents/FillInTheBlanksActivityMaterialContent.tsx
4636
4692
  import { InlineMath as InlineMath4 } from "react-katex";
4637
- import { useState as useState17, useEffect as useEffect8, useRef as useRef4 } from "react";
4693
+ import { useState as useState18, useEffect as useEffect8, useRef as useRef4 } from "react";
4638
4694
 
4639
4695
  // src/components/texts/InputWithSpecialExpression.tsx
4640
4696
  import { InlineMath as InlineMath3 } from "react-katex";
4641
- import { jsx as jsx28 } from "react/jsx-runtime";
4697
+ import { jsx as jsx29 } from "react/jsx-runtime";
4642
4698
  var InputWithSpecialExpression = ({
4643
4699
  value,
4644
4700
  showSpecialOnly
4645
4701
  }) => {
4646
4702
  const inputWithSpecialExpressionList = constructInputWithSpecialExpressionList(value);
4647
- return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ jsx28("div", { className: "m-2", children: /* @__PURE__ */ jsx28("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx28(
4703
+ return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ jsx29("div", { className: "m-2", children: /* @__PURE__ */ jsx29("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx29(
4648
4704
  "span",
4649
4705
  {
4650
4706
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4651
- children: inputPart.isEquation ? /* @__PURE__ */ jsx28("span", { className: "text-lg", children: /* @__PURE__ */ jsx28(InlineMath3, { math: inputPart.value }, index) }) : inputPart.value
4707
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx29("span", { className: "text-lg", children: /* @__PURE__ */ jsx29(InlineMath3, { math: inputPart.value }, index) }) : inputPart.value
4652
4708
  }
4653
- )) }) }) : null : /* @__PURE__ */ jsx28("div", { className: "m-2", children: /* @__PURE__ */ jsx28("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx28(
4709
+ )) }) }) : null : /* @__PURE__ */ jsx29("div", { className: "m-2", children: /* @__PURE__ */ jsx29("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx29(
4654
4710
  "span",
4655
4711
  {
4656
4712
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4657
- children: inputPart.isEquation ? /* @__PURE__ */ jsx28("span", { className: "text-lg", children: /* @__PURE__ */ jsx28(InlineMath3, { math: inputPart.value }, index) }) : inputPart.value
4713
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx29("span", { className: "text-lg", children: /* @__PURE__ */ jsx29(InlineMath3, { math: inputPart.value }, index) }) : inputPart.value
4658
4714
  }
4659
4715
  )) }) });
4660
4716
  };
4661
4717
  var InputWithSpecialExpression_default = InputWithSpecialExpression;
4662
4718
 
4663
4719
  // src/components/activities/material-contents/FillInTheBlanksActivityMaterialContent.tsx
4664
- import { jsx as jsx29, jsxs as jsxs19 } from "react/jsx-runtime";
4720
+ import { jsx as jsx30, jsxs as jsxs20 } from "react/jsx-runtime";
4665
4721
  var FillInTheBlanksActivityMaterialContent = ({
4666
4722
  uniqueValue,
4667
4723
  answerMap,
@@ -4673,20 +4729,20 @@ var FillInTheBlanksActivityMaterialContent = ({
4673
4729
  isPreview,
4674
4730
  showCorrectAnswer
4675
4731
  }) => {
4676
- const [shuffleOptionList, setShuffleOptionList] = useState17([]);
4677
- const [selectedOption, setSelectedOption] = useState17(null);
4678
- const [draggedOption, setDraggedOption] = useState17(null);
4679
- const [dropTargetIndex, setDropTargetIndex] = useState17(null);
4680
- const [draggedElement, setDraggedElement] = useState17(
4732
+ const [shuffleOptionList, setShuffleOptionList] = useState18([]);
4733
+ const [selectedOption, setSelectedOption] = useState18(null);
4734
+ const [draggedOption, setDraggedOption] = useState18(null);
4735
+ const [dropTargetIndex, setDropTargetIndex] = useState18(null);
4736
+ const [draggedElement, setDraggedElement] = useState18(
4681
4737
  null
4682
4738
  );
4683
- const [displayAnswerMap, setDisplayAnswerMap] = useState17(answerMap);
4739
+ const [displayAnswerMap, setDisplayAnswerMap] = useState18(answerMap);
4684
4740
  const dragElementRef = useRef4(null);
4685
- const [mousePosition, setMousePosition] = useState17({
4741
+ const [mousePosition, setMousePosition] = useState18({
4686
4742
  x: 0,
4687
4743
  y: 0
4688
4744
  });
4689
- const [touchPosition, setTouchPosition] = useState17({
4745
+ const [touchPosition, setTouchPosition] = useState18({
4690
4746
  x: 0,
4691
4747
  y: 0
4692
4748
  });
@@ -4790,16 +4846,16 @@ var FillInTheBlanksActivityMaterialContent = ({
4790
4846
  setSelectedOption(null);
4791
4847
  }
4792
4848
  };
4793
- return /* @__PURE__ */ jsxs19(
4849
+ return /* @__PURE__ */ jsxs20(
4794
4850
  "div",
4795
4851
  {
4796
4852
  className: "flex flex-col h-full",
4797
4853
  onMouseMove: handleMouseMove,
4798
4854
  onMouseUp: handleMouseUp,
4799
4855
  children: [
4800
- /* @__PURE__ */ jsx29("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx29("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4801
- /* @__PURE__ */ jsx29("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx29(DividerLine_default, {}) }),
4802
- draggedOption && mousePosition.x > 0 && /* @__PURE__ */ jsx29(
4856
+ /* @__PURE__ */ jsx30("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx30("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4857
+ /* @__PURE__ */ jsx30("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx30(DividerLine_default, {}) }),
4858
+ draggedOption && mousePosition.x > 0 && /* @__PURE__ */ jsx30(
4803
4859
  "div",
4804
4860
  {
4805
4861
  className: "fixed pointer-events-none z-50 opacity-80",
@@ -4808,13 +4864,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4808
4864
  top: `${mousePosition.y}px`,
4809
4865
  transform: "translate(-50%, -50%)"
4810
4866
  },
4811
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx29("div", { className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx29("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ jsx29(
4867
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx30("div", { className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx30("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ jsx30(
4812
4868
  InputWithSpecialExpression_default,
4813
4869
  {
4814
4870
  value: draggedOption,
4815
4871
  showSpecialOnly: false
4816
4872
  }
4817
- ) }) }) : /* @__PURE__ */ jsx29("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx29(
4873
+ ) }) }) : /* @__PURE__ */ jsx30("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx30(
4818
4874
  ShowMaterialMediaByContentType_default,
4819
4875
  {
4820
4876
  contentType: contentMap.type,
@@ -4825,7 +4881,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4825
4881
  ) })
4826
4882
  }
4827
4883
  ),
4828
- draggedOption && touchPosition.x > 0 && /* @__PURE__ */ jsx29(
4884
+ draggedOption && touchPosition.x > 0 && /* @__PURE__ */ jsx30(
4829
4885
  "div",
4830
4886
  {
4831
4887
  className: "fixed pointer-events-none z-50 opacity-80",
@@ -4834,13 +4890,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4834
4890
  top: `${touchPosition.y}px`,
4835
4891
  transform: "translate(-50%, -50%)"
4836
4892
  },
4837
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx29("div", { className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx29("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ jsx29(
4893
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx30("div", { className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx30("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ jsx30(
4838
4894
  InputWithSpecialExpression_default,
4839
4895
  {
4840
4896
  value: draggedOption,
4841
4897
  showSpecialOnly: false
4842
4898
  }
4843
- ) }) }) : /* @__PURE__ */ jsx29("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx29(
4899
+ ) }) }) : /* @__PURE__ */ jsx30("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx30(
4844
4900
  ShowMaterialMediaByContentType_default,
4845
4901
  {
4846
4902
  contentType: contentMap.type,
@@ -4851,9 +4907,9 @@ var FillInTheBlanksActivityMaterialContent = ({
4851
4907
  ) })
4852
4908
  }
4853
4909
  ),
4854
- /* @__PURE__ */ jsxs19("div", { className: "flex-1 min-h-0 overflow-y-auto", children: [
4855
- /* @__PURE__ */ jsx29("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4856
- (option, index) => checkAnswerProvided(displayAnswerMap, option) ? /* @__PURE__ */ jsx29(
4910
+ /* @__PURE__ */ jsxs20("div", { className: "flex-1 min-h-0 overflow-y-auto", children: [
4911
+ /* @__PURE__ */ jsx30("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4912
+ (option, index) => checkAnswerProvided(displayAnswerMap, option) ? /* @__PURE__ */ jsx30(
4857
4913
  ShowMaterialMediaByContentType_default,
4858
4914
  {
4859
4915
  contentType: contentMap.type,
@@ -4861,7 +4917,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4861
4917
  canFullScreen: true
4862
4918
  },
4863
4919
  `${uniqueValue}-${index}`
4864
- ) : /* @__PURE__ */ jsx29(
4920
+ ) : /* @__PURE__ */ jsx30(
4865
4921
  "div",
4866
4922
  {
4867
4923
  ref: draggedOption === option ? dragElementRef : null,
@@ -4871,12 +4927,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4871
4927
  onTouchStart: (e) => handleTouchStart(e, option, e.currentTarget),
4872
4928
  onTouchMove: handleTouchMove,
4873
4929
  onTouchEnd: handleTouchEnd,
4874
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx29(
4930
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx30(
4875
4931
  "div",
4876
4932
  {
4877
4933
  className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge cursor-pointer select-none",
4878
4934
  onClick: () => handleSelectOption(option),
4879
- children: /* @__PURE__ */ jsx29("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ jsx29(
4935
+ children: /* @__PURE__ */ jsx30("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ jsx30(
4880
4936
  InputWithSpecialExpression_default,
4881
4937
  {
4882
4938
  value: option,
@@ -4884,12 +4940,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4884
4940
  }
4885
4941
  ) })
4886
4942
  }
4887
- ) : /* @__PURE__ */ jsx29(
4943
+ ) : /* @__PURE__ */ jsx30(
4888
4944
  "div",
4889
4945
  {
4890
4946
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer select-none",
4891
4947
  onClick: () => handleSelectOption(option),
4892
- children: /* @__PURE__ */ jsx29(
4948
+ children: /* @__PURE__ */ jsx30(
4893
4949
  ShowMaterialMediaByContentType_default,
4894
4950
  {
4895
4951
  contentType: contentMap.type,
@@ -4904,12 +4960,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4904
4960
  index
4905
4961
  )
4906
4962
  ) }),
4907
- /* @__PURE__ */ jsx29("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(displayAnswerMap).map((materialKey, index) => {
4963
+ /* @__PURE__ */ jsx30("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(displayAnswerMap).map((materialKey, index) => {
4908
4964
  const learnerAnswerState = checkAnswerState(
4909
4965
  JSON.parse(materialMap[materialKey]),
4910
4966
  displayAnswerMap[materialKey]
4911
4967
  );
4912
- return /* @__PURE__ */ jsx29("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx29("div", { className: "mx-2", children: /* @__PURE__ */ jsx29(
4968
+ return /* @__PURE__ */ jsx30("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx30("div", { className: "mx-2", children: /* @__PURE__ */ jsx30(
4913
4969
  "div",
4914
4970
  {
4915
4971
  "data-drop-zone": materialKey,
@@ -4917,13 +4973,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4917
4973
  onMouseLeave: () => setDropTargetIndex(null),
4918
4974
  onClick: () => handleDropZoneClick(materialKey),
4919
4975
  className: `${dropTargetIndex === materialKey ? "ring-2 ring-blue-400 bg-blue-50" : ""} transition-all duration-200 rounded-lg`,
4920
- children: /* @__PURE__ */ jsxs19("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4921
- /* @__PURE__ */ jsx29("div", { className: "my-auto", children: /* @__PURE__ */ jsxs19("p", { className: "text-xl", children: [
4976
+ children: /* @__PURE__ */ jsxs20("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4977
+ /* @__PURE__ */ jsx30("div", { className: "my-auto", children: /* @__PURE__ */ jsxs20("p", { className: "text-xl", children: [
4922
4978
  parseFloat(materialKey) + 1,
4923
4979
  "."
4924
4980
  ] }) }),
4925
- /* @__PURE__ */ jsx29("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsxs19("div", { className: "relative", children: [
4926
- /* @__PURE__ */ jsx29("div", { className: "flex-1", children: /* @__PURE__ */ jsx29(
4981
+ /* @__PURE__ */ jsx30("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsxs20("div", { className: "relative", children: [
4982
+ /* @__PURE__ */ jsx30("div", { className: "flex-1", children: /* @__PURE__ */ jsx30(
4927
4983
  "div",
4928
4984
  {
4929
4985
  className: `w-full min-h-[44px] border rounded-lg ${displayAnswerMap[materialKey] ? "border-catchup-blue-400 px-2 cursor-pointer" : "bg-catchup-gray-50 border-catchup-gray-200 border-dashed py-2 px-4"}`,
@@ -4933,7 +4989,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4933
4989
  onChange(answerMap, materialKey, "");
4934
4990
  }
4935
4991
  },
4936
- children: displayAnswerMap[materialKey] ? /* @__PURE__ */ jsx29(
4992
+ children: displayAnswerMap[materialKey] ? /* @__PURE__ */ jsx30(
4937
4993
  InputWithSpecialExpression_default,
4938
4994
  {
4939
4995
  value: displayAnswerMap[materialKey],
@@ -4942,14 +4998,14 @@ var FillInTheBlanksActivityMaterialContent = ({
4942
4998
  ) : null
4943
4999
  }
4944
5000
  ) }),
4945
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx29("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx29(
5001
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx30("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx30(
4946
5002
  BaseImage_default,
4947
5003
  {
4948
5004
  src: "/icons/checkbox.webp",
4949
5005
  alt: "checkbox",
4950
5006
  size: "small"
4951
5007
  }
4952
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx29("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx29(
5008
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx30("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx30(
4953
5009
  BaseImage_default,
4954
5010
  {
4955
5011
  src: "/icons/cross-red.webp",
@@ -4957,13 +5013,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4957
5013
  size: "small"
4958
5014
  }
4959
5015
  ) }) : null
4960
- ] }) : displayAnswerMap[materialKey] === "" ? /* @__PURE__ */ jsx29(
5016
+ ] }) : displayAnswerMap[materialKey] === "" ? /* @__PURE__ */ jsx30(
4961
5017
  "div",
4962
5018
  {
4963
5019
  className: `w-catchup-activity-media-box-item h-catchup-activity-media-box-item border rounded-catchup-xlarge border-dashed ${learnerAnswerState === "CORRECT" ? "border-catchup-green" : learnerAnswerState === "INCORRECT" ? "border-catchup-red" : "border-catchup-blue"}`,
4964
- children: /* @__PURE__ */ jsx29("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx29("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
5020
+ children: /* @__PURE__ */ jsx30("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx30("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
4965
5021
  }
4966
- ) : /* @__PURE__ */ jsx29(
5022
+ ) : /* @__PURE__ */ jsx30(
4967
5023
  "div",
4968
5024
  {
4969
5025
  className: "flex-1 cursor-pointer",
@@ -4971,7 +5027,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4971
5027
  e.stopPropagation();
4972
5028
  onChange(answerMap, materialKey, "");
4973
5029
  },
4974
- children: /* @__PURE__ */ jsx29(
5030
+ children: /* @__PURE__ */ jsx30(
4975
5031
  ShowMaterialMediaByContentType_default,
4976
5032
  {
4977
5033
  contentType: contentMap.type,
@@ -4981,13 +5037,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4981
5037
  `${uniqueValue}-${index}`
4982
5038
  )
4983
5039
  }
4984
- ) : /* @__PURE__ */ jsx29("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5040
+ ) : /* @__PURE__ */ jsx30("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
4985
5041
  displayAnswerMap[materialKey]
4986
- ).map((inputPart, index2) => /* @__PURE__ */ jsx29(
5042
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx30(
4987
5043
  "span",
4988
5044
  {
4989
5045
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4990
- children: inputPart.isEquation ? /* @__PURE__ */ jsx29("span", { className: "text-xl", children: /* @__PURE__ */ jsx29(InlineMath4, { math: inputPart.value }) }) : inputPart.value
5046
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx30("span", { className: "text-xl", children: /* @__PURE__ */ jsx30(InlineMath4, { math: inputPart.value }) }) : inputPart.value
4991
5047
  },
4992
5048
  index2
4993
5049
  )) }, materialKey) })
@@ -5003,8 +5059,8 @@ var FillInTheBlanksActivityMaterialContent = ({
5003
5059
  var FillInTheBlanksActivityMaterialContent_default = FillInTheBlanksActivityMaterialContent;
5004
5060
 
5005
5061
  // src/components/activities/FillInTheBlanksActivityContent.tsx
5006
- import { useState as useState18, useEffect as useEffect9 } from "react";
5007
- import { jsx as jsx30, jsxs as jsxs20 } from "react/jsx-runtime";
5062
+ import { useState as useState19, useEffect as useEffect9 } from "react";
5063
+ import { jsx as jsx31, jsxs as jsxs21 } from "react/jsx-runtime";
5008
5064
  var FillInTheBlanksActivityContent = ({
5009
5065
  answerMap,
5010
5066
  data,
@@ -5024,7 +5080,7 @@ var FillInTheBlanksActivityContent = ({
5024
5080
  "FILL_IN_THE_BLANKS"
5025
5081
  );
5026
5082
  const fillInTheBlanksIncorrectList = data.fillInTheBlanksIncorrectList ? JSON.parse(data.fillInTheBlanksIncorrectList) : [];
5027
- const [currentAnswerMap, setCurrentAnswerMap] = useState18(answerMap);
5083
+ const [currentAnswerMap, setCurrentAnswerMap] = useState19(answerMap);
5028
5084
  useEffect9(() => {
5029
5085
  setCurrentAnswerMap(answerMap);
5030
5086
  }, [answerMap]);
@@ -5052,8 +5108,8 @@ var FillInTheBlanksActivityContent = ({
5052
5108
  setCurrentAnswerMap(answerMap2);
5053
5109
  changeAnswer(answerMap2);
5054
5110
  };
5055
- return /* @__PURE__ */ jsxs20("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
5056
- /* @__PURE__ */ jsx30("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx30(
5111
+ return /* @__PURE__ */ jsxs21("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
5112
+ /* @__PURE__ */ jsx31("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx31(
5057
5113
  ActivityBodyContent_default,
5058
5114
  {
5059
5115
  bodyMap: fillInTheBlanksBodyMap,
@@ -5062,9 +5118,9 @@ var FillInTheBlanksActivityContent = ({
5062
5118
  templateType: "FILL_IN_THE_BLANKS"
5063
5119
  }
5064
5120
  ) }),
5065
- /* @__PURE__ */ jsx30("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx30(DividerLine_default, {}) }),
5066
- /* @__PURE__ */ jsx30("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx30(VerticalDividerLine_default, {}) }),
5067
- /* @__PURE__ */ jsx30("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx30(
5121
+ /* @__PURE__ */ jsx31("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx31(DividerLine_default, {}) }),
5122
+ /* @__PURE__ */ jsx31("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx31(VerticalDividerLine_default, {}) }),
5123
+ /* @__PURE__ */ jsx31("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx31(
5068
5124
  FillInTheBlanksActivityMaterialContent_default,
5069
5125
  {
5070
5126
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5083,9 +5139,9 @@ var FillInTheBlanksActivityContent = ({
5083
5139
  var FillInTheBlanksActivityContent_default = FillInTheBlanksActivityContent;
5084
5140
 
5085
5141
  // src/components/activities/material-contents/GroupingActivityMaterialContent.tsx
5086
- import { useEffect as useEffect10, useRef as useRef5, useState as useState19 } from "react";
5142
+ import { useEffect as useEffect10, useRef as useRef5, useState as useState20 } from "react";
5087
5143
  import { InlineMath as InlineMath5 } from "react-katex";
5088
- import { Fragment as Fragment3, jsx as jsx31, jsxs as jsxs21 } from "react/jsx-runtime";
5144
+ import { Fragment as Fragment3, jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
5089
5145
  var GroupingActivityMaterialContent = ({
5090
5146
  uniqueValue,
5091
5147
  answerMap,
@@ -5096,20 +5152,20 @@ var GroupingActivityMaterialContent = ({
5096
5152
  isPreview,
5097
5153
  showCorrectAnswer
5098
5154
  }) => {
5099
- const [selectedValue, setSelectedValue] = useState19(null);
5100
- const [draggedValue, setDraggedValue] = useState19(null);
5101
- const [dropTargetKey, setDropTargetKey] = useState19(null);
5102
- const [draggedElement, setDraggedElement] = useState19(
5155
+ const [selectedValue, setSelectedValue] = useState20(null);
5156
+ const [draggedValue, setDraggedValue] = useState20(null);
5157
+ const [dropTargetKey, setDropTargetKey] = useState20(null);
5158
+ const [draggedElement, setDraggedElement] = useState20(
5103
5159
  null
5104
5160
  );
5105
- const [shuffledMaterialList, setShuffledMaterialList] = useState19([]);
5106
- const [displayAnswerMap, setDisplayAnswerMap] = useState19(answerMap);
5161
+ const [shuffledMaterialList, setShuffledMaterialList] = useState20([]);
5162
+ const [displayAnswerMap, setDisplayAnswerMap] = useState20(answerMap);
5107
5163
  const dragElementRef = useRef5(null);
5108
- const [mousePosition, setMousePosition] = useState19({
5164
+ const [mousePosition, setMousePosition] = useState20({
5109
5165
  x: 0,
5110
5166
  y: 0
5111
5167
  });
5112
- const [touchPosition, setTouchPosition] = useState19({
5168
+ const [touchPosition, setTouchPosition] = useState20({
5113
5169
  x: 0,
5114
5170
  y: 0
5115
5171
  });
@@ -5282,8 +5338,8 @@ var GroupingActivityMaterialContent = ({
5282
5338
  }
5283
5339
  };
5284
5340
  const filteredMaterialList = retrieveFilteredMaterialList(displayAnswerMap);
5285
- return /* @__PURE__ */ jsxs21("div", { className: "flex flex-col h-full", onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, children: [
5286
- draggedValue && mousePosition.x > 0 && /* @__PURE__ */ jsx31(
5341
+ return /* @__PURE__ */ jsxs22("div", { className: "flex flex-col h-full", onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, children: [
5342
+ draggedValue && mousePosition.x > 0 && /* @__PURE__ */ jsx32(
5287
5343
  "div",
5288
5344
  {
5289
5345
  className: "fixed pointer-events-none z-50 opacity-80",
@@ -5292,16 +5348,16 @@ var GroupingActivityMaterialContent = ({
5292
5348
  top: `${mousePosition.y}px`,
5293
5349
  transform: "translate(-50%, -50%)"
5294
5350
  },
5295
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx31("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx31("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px]", children: /* @__PURE__ */ jsx31("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(draggedValue).map(
5296
- (inputPart, index) => /* @__PURE__ */ jsx31(
5351
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx32("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx32("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px]", children: /* @__PURE__ */ jsx32("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(draggedValue).map(
5352
+ (inputPart, index) => /* @__PURE__ */ jsx32(
5297
5353
  "span",
5298
5354
  {
5299
5355
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5300
- children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5356
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5301
5357
  },
5302
5358
  index
5303
5359
  )
5304
- ) }) }) }) : /* @__PURE__ */ jsx31("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx31(
5360
+ ) }) }) }) : /* @__PURE__ */ jsx32("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx32(
5305
5361
  ShowMaterialMediaByContentType_default,
5306
5362
  {
5307
5363
  contentType: contentMap.type,
@@ -5312,7 +5368,7 @@ var GroupingActivityMaterialContent = ({
5312
5368
  ) })
5313
5369
  }
5314
5370
  ),
5315
- draggedValue && touchPosition.x > 0 && /* @__PURE__ */ jsx31(
5371
+ draggedValue && touchPosition.x > 0 && /* @__PURE__ */ jsx32(
5316
5372
  "div",
5317
5373
  {
5318
5374
  className: "fixed pointer-events-none z-50 opacity-80",
@@ -5321,16 +5377,16 @@ var GroupingActivityMaterialContent = ({
5321
5377
  top: `${touchPosition.y}px`,
5322
5378
  transform: "translate(-50%, -50%)"
5323
5379
  },
5324
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx31("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx31("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px]", children: /* @__PURE__ */ jsx31("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(draggedValue).map(
5325
- (inputPart, index) => /* @__PURE__ */ jsx31(
5380
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx32("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx32("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px]", children: /* @__PURE__ */ jsx32("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(draggedValue).map(
5381
+ (inputPart, index) => /* @__PURE__ */ jsx32(
5326
5382
  "span",
5327
5383
  {
5328
5384
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5329
- children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5385
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5330
5386
  },
5331
5387
  index
5332
5388
  )
5333
- ) }) }) }) : /* @__PURE__ */ jsx31("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx31(
5389
+ ) }) }) }) : /* @__PURE__ */ jsx32("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx32(
5334
5390
  ShowMaterialMediaByContentType_default,
5335
5391
  {
5336
5392
  contentType: contentMap.type,
@@ -5341,9 +5397,9 @@ var GroupingActivityMaterialContent = ({
5341
5397
  ) })
5342
5398
  }
5343
5399
  ),
5344
- filteredMaterialList.length > 0 ? /* @__PURE__ */ jsxs21(Fragment3, { children: [
5345
- /* @__PURE__ */ jsx31("div", { className: "flex-shrink-0 flex flex-row gap-x-4 overflow-x-auto py-2", children: filteredMaterialList.map((materialValue, index) => {
5346
- return /* @__PURE__ */ jsx31(
5400
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ jsxs22(Fragment3, { children: [
5401
+ /* @__PURE__ */ jsx32("div", { className: "flex-shrink-0 flex flex-row gap-x-4 overflow-x-auto py-2", children: filteredMaterialList.map((materialValue, index) => {
5402
+ return /* @__PURE__ */ jsx32(
5347
5403
  "div",
5348
5404
  {
5349
5405
  ref: draggedValue === materialValue ? dragElementRef : null,
@@ -5353,21 +5409,21 @@ var GroupingActivityMaterialContent = ({
5353
5409
  onTouchStart: (e) => handleTouchStart(e, materialValue, e.currentTarget),
5354
5410
  onTouchMove: handleTouchMove,
5355
5411
  onTouchEnd: handleTouchEnd,
5356
- children: /* @__PURE__ */ jsx31(
5412
+ children: /* @__PURE__ */ jsx32(
5357
5413
  "div",
5358
5414
  {
5359
5415
  className: `${selectedValue === materialValue ? "border-catchup-blue" : "border-catchup-lighter-gray"} ${contentMap.type === "TEXT" ? "h-catchup-activity-text-box-item" : "h-catchup-activity-media-box-item"} flex flex-col items-center justify-center border-2 rounded-catchup-xlarge cursor-pointer transition-all duration-300`,
5360
5416
  onClick: () => handleSelectItem(materialValue),
5361
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx31("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] overflow-y-auto", children: /* @__PURE__ */ jsx31("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5417
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx32("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] overflow-y-auto", children: /* @__PURE__ */ jsx32("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5362
5418
  materialValue
5363
- ).map((inputPart, index2) => /* @__PURE__ */ jsx31(
5419
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx32(
5364
5420
  "span",
5365
5421
  {
5366
5422
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5367
- children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5423
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5368
5424
  },
5369
5425
  index2
5370
- )) }) }) : /* @__PURE__ */ jsx31(
5426
+ )) }) }) : /* @__PURE__ */ jsx32(
5371
5427
  ShowMaterialMediaByContentType_default,
5372
5428
  {
5373
5429
  contentType: contentMap.type,
@@ -5382,27 +5438,27 @@ var GroupingActivityMaterialContent = ({
5382
5438
  index
5383
5439
  );
5384
5440
  }) }),
5385
- /* @__PURE__ */ jsx31("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx31(DividerLine_default, {}) })
5441
+ /* @__PURE__ */ jsx32("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx32(DividerLine_default, {}) })
5386
5442
  ] }) : null,
5387
- /* @__PURE__ */ jsx31("div", { className: "flex-1 min-h-0 overflow-y-auto", children: Object.keys(displayAnswerMap).map((answerMapKey, index) => /* @__PURE__ */ jsxs21("div", { className: "flex flex-row w-full", children: [
5388
- /* @__PURE__ */ jsx31("div", { className: "w-1/3", children: /* @__PURE__ */ jsx31(
5443
+ /* @__PURE__ */ jsx32("div", { className: "flex-1 min-h-0 overflow-y-auto", children: Object.keys(displayAnswerMap).map((answerMapKey, index) => /* @__PURE__ */ jsxs22("div", { className: "flex flex-row w-full", children: [
5444
+ /* @__PURE__ */ jsx32("div", { className: "w-1/3", children: /* @__PURE__ */ jsx32(
5389
5445
  "div",
5390
5446
  {
5391
5447
  className: `border-catchup-blue ${contentMap.type === "TEXT" ? "h-catchup-activity-text-outer-box-item" : "h-catchup-activity-media-outer-box-item"} flex flex-col items-center justify-center border-2 rounded-catchup-xlarge transition-all duration-300 my-3`,
5392
- children: /* @__PURE__ */ jsx31("div", { className: "flex flex-col items-center justify-center transition-all duration-300 px-4 text-center", children: /* @__PURE__ */ jsx31("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5393
- (inputPart, index2) => /* @__PURE__ */ jsx31(
5448
+ children: /* @__PURE__ */ jsx32("div", { className: "flex flex-col items-center justify-center transition-all duration-300 px-4 text-center", children: /* @__PURE__ */ jsx32("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5449
+ (inputPart, index2) => /* @__PURE__ */ jsx32(
5394
5450
  "span",
5395
5451
  {
5396
5452
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5397
- children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5453
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5398
5454
  },
5399
5455
  index2
5400
5456
  )
5401
5457
  ) }) })
5402
5458
  }
5403
5459
  ) }),
5404
- /* @__PURE__ */ jsx31("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5405
- /* @__PURE__ */ jsx31("div", { className: "flex-1 min-w-0", ref, children: /* @__PURE__ */ jsx31("div", { className: "h-full py-3", children: /* @__PURE__ */ jsx31(
5460
+ /* @__PURE__ */ jsx32("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5461
+ /* @__PURE__ */ jsx32("div", { className: "flex-1 min-w-0", ref, children: /* @__PURE__ */ jsx32("div", { className: "h-full py-3", children: /* @__PURE__ */ jsx32(
5406
5462
  "div",
5407
5463
  {
5408
5464
  ref: (el) => dropZoneRefs.current[answerMapKey] = el,
@@ -5411,17 +5467,17 @@ var GroupingActivityMaterialContent = ({
5411
5467
  onMouseLeave: () => setDropTargetKey(null),
5412
5468
  onClick: () => handleDropZoneClick(answerMapKey),
5413
5469
  className: `${dropTargetKey === answerMapKey ? "bg-catchup-light-blue ring-2 ring-blue-400" : ""} flex-1 border-catchup-blue rounded-catchup-xlarge border-2 h-full p-1 transition-all duration-200`,
5414
- children: /* @__PURE__ */ jsx31("div", { className: "h-full w-full overflow-x-auto", children: /* @__PURE__ */ jsx31("div", { className: "flex flex-row items-center gap-2 w-max h-full", children: displayAnswerMap[answerMapKey].map(
5470
+ children: /* @__PURE__ */ jsx32("div", { className: "h-full w-full overflow-x-auto", children: /* @__PURE__ */ jsx32("div", { className: "flex flex-row items-center gap-2 w-max h-full", children: displayAnswerMap[answerMapKey].map(
5415
5471
  (answerMapValue, answerMapIndex) => {
5416
5472
  const learnerAnswerState = checkAnswerState(
5417
5473
  materialMap[answerMapKey],
5418
5474
  answerMapValue
5419
5475
  );
5420
- return /* @__PURE__ */ jsx31("div", { className: "p-1", children: /* @__PURE__ */ jsx31(
5476
+ return /* @__PURE__ */ jsx32("div", { className: "p-1", children: /* @__PURE__ */ jsx32(
5421
5477
  "div",
5422
5478
  {
5423
5479
  className: `${contentMap.type === "TEXT" ? "h-catchup-activity-text-box-item" : "h-catchup-activity-media-box-item"}`,
5424
- children: /* @__PURE__ */ jsx31(
5480
+ children: /* @__PURE__ */ jsx32(
5425
5481
  "div",
5426
5482
  {
5427
5483
  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`,
@@ -5437,13 +5493,13 @@ var GroupingActivityMaterialContent = ({
5437
5493
  setSelectedValue(null);
5438
5494
  }
5439
5495
  },
5440
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx31("div", { className: "flex flex-col items-center justify-center transition-all duration-300 min-w-[200px] overflow-y-auto", children: /* @__PURE__ */ jsx31("div", { className: "m-2", children: /* @__PURE__ */ jsx31("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5496
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx32("div", { className: "flex flex-col items-center justify-center transition-all duration-300 min-w-[200px] overflow-y-auto", children: /* @__PURE__ */ jsx32("div", { className: "m-2", children: /* @__PURE__ */ jsx32("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5441
5497
  answerMapValue
5442
- ).map((inputPart, index2) => /* @__PURE__ */ jsx31(
5498
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx32(
5443
5499
  "span",
5444
5500
  {
5445
5501
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5446
- children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(
5502
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(
5447
5503
  InlineMath5,
5448
5504
  {
5449
5505
  math: inputPart.value
@@ -5451,7 +5507,7 @@ var GroupingActivityMaterialContent = ({
5451
5507
  ) }) : inputPart.value
5452
5508
  },
5453
5509
  index2
5454
- )) }) }) }) : /* @__PURE__ */ jsx31(
5510
+ )) }) }) }) : /* @__PURE__ */ jsx32(
5455
5511
  ShowMaterialMediaByContentType_default,
5456
5512
  {
5457
5513
  contentType: contentMap.type,
@@ -5474,7 +5530,7 @@ var GroupingActivityMaterialContent = ({
5474
5530
  var GroupingActivityMaterialContent_default = GroupingActivityMaterialContent;
5475
5531
 
5476
5532
  // src/components/activities/GroupingActivityContent.tsx
5477
- import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
5533
+ import { jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
5478
5534
  var GroupingActivityContent = ({
5479
5535
  answerMap,
5480
5536
  data,
@@ -5496,12 +5552,12 @@ var GroupingActivityContent = ({
5496
5552
  }
5497
5553
  changeAnswer(answerMap2);
5498
5554
  };
5499
- return /* @__PURE__ */ jsxs22("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
5500
- /* @__PURE__ */ jsx32(
5555
+ return /* @__PURE__ */ jsxs23("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
5556
+ /* @__PURE__ */ jsx33(
5501
5557
  "div",
5502
5558
  {
5503
5559
  className: `${isFullScreen ? "w-full" : "w-full md:w-[40%] md:overflow-y-auto"}`,
5504
- children: /* @__PURE__ */ jsx32(
5560
+ children: /* @__PURE__ */ jsx33(
5505
5561
  ActivityBodyContent_default,
5506
5562
  {
5507
5563
  bodyMap: groupingBodyMap,
@@ -5510,13 +5566,13 @@ var GroupingActivityContent = ({
5510
5566
  )
5511
5567
  }
5512
5568
  ),
5513
- /* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx32(DividerLine_default, {}) }),
5514
- /* @__PURE__ */ jsx32("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx32(VerticalDividerLine_default, {}) }),
5515
- /* @__PURE__ */ jsx32(
5569
+ /* @__PURE__ */ jsx33("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx33(DividerLine_default, {}) }),
5570
+ /* @__PURE__ */ jsx33("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx33(VerticalDividerLine_default, {}) }),
5571
+ /* @__PURE__ */ jsx33(
5516
5572
  "div",
5517
5573
  {
5518
5574
  className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`,
5519
- children: /* @__PURE__ */ jsx32(
5575
+ children: /* @__PURE__ */ jsx33(
5520
5576
  GroupingActivityMaterialContent_default,
5521
5577
  {
5522
5578
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5536,9 +5592,9 @@ var GroupingActivityContent = ({
5536
5592
  var GroupingActivityContent_default = GroupingActivityContent;
5537
5593
 
5538
5594
  // src/components/activities/material-contents/MatchingActivityMaterialContent.tsx
5539
- import { useEffect as useEffect11, useRef as useRef6, useState as useState20 } from "react";
5595
+ import { useEffect as useEffect11, useRef as useRef6, useState as useState21 } from "react";
5540
5596
  import { InlineMath as InlineMath6 } from "react-katex";
5541
- import { Fragment as Fragment4, jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
5597
+ import { Fragment as Fragment4, jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
5542
5598
  var MatchingActivityMaterialContent = ({
5543
5599
  uniqueValue,
5544
5600
  answerMap,
@@ -5549,20 +5605,20 @@ var MatchingActivityMaterialContent = ({
5549
5605
  isPreview,
5550
5606
  showCorrectAnswer
5551
5607
  }) => {
5552
- const [selectedValue, setSelectedValue] = useState20(null);
5553
- const [draggedValue, setDraggedValue] = useState20(null);
5554
- const [dropTargetKey, setDropTargetKey] = useState20(null);
5555
- const [draggedElement, setDraggedElement] = useState20(
5608
+ const [selectedValue, setSelectedValue] = useState21(null);
5609
+ const [draggedValue, setDraggedValue] = useState21(null);
5610
+ const [dropTargetKey, setDropTargetKey] = useState21(null);
5611
+ const [draggedElement, setDraggedElement] = useState21(
5556
5612
  null
5557
5613
  );
5558
- const [shuffledMaterialList, setShuffledMaterialList] = useState20([]);
5559
- const [displayAnswerMap, setDisplayAnswerMap] = useState20(answerMap);
5614
+ const [shuffledMaterialList, setShuffledMaterialList] = useState21([]);
5615
+ const [displayAnswerMap, setDisplayAnswerMap] = useState21(answerMap);
5560
5616
  const dragElementRef = useRef6(null);
5561
- const [mousePosition, setMousePosition] = useState20({
5617
+ const [mousePosition, setMousePosition] = useState21({
5562
5618
  x: 0,
5563
5619
  y: 0
5564
5620
  });
5565
- const [touchPosition, setTouchPosition] = useState20({
5621
+ const [touchPosition, setTouchPosition] = useState21({
5566
5622
  x: 0,
5567
5623
  y: 0
5568
5624
  });
@@ -5727,8 +5783,8 @@ var MatchingActivityMaterialContent = ({
5727
5783
  }
5728
5784
  };
5729
5785
  const filteredMaterialList = retrieveFilteredMaterialList(displayAnswerMap);
5730
- return /* @__PURE__ */ jsxs23("div", { className: "flex flex-col h-full", onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, children: [
5731
- draggedValue && mousePosition.x > 0 && /* @__PURE__ */ jsx33(
5786
+ return /* @__PURE__ */ jsxs24("div", { className: "flex flex-col h-full", onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, children: [
5787
+ draggedValue && mousePosition.x > 0 && /* @__PURE__ */ jsx34(
5732
5788
  "div",
5733
5789
  {
5734
5790
  className: "fixed pointer-events-none z-50 opacity-80",
@@ -5737,16 +5793,16 @@ var MatchingActivityMaterialContent = ({
5737
5793
  top: `${mousePosition.y}px`,
5738
5794
  transform: "translate(-50%, -50%)"
5739
5795
  },
5740
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx33("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx33("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] px-4", children: /* @__PURE__ */ jsx33("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(draggedValue).map(
5741
- (inputPart, index) => /* @__PURE__ */ jsx33(
5796
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx34("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx34("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] px-4", children: /* @__PURE__ */ jsx34("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(draggedValue).map(
5797
+ (inputPart, index) => /* @__PURE__ */ jsx34(
5742
5798
  "span",
5743
5799
  {
5744
5800
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5745
- children: inputPart.isEquation ? /* @__PURE__ */ jsx33("span", { className: "text-xl", children: /* @__PURE__ */ jsx33(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5801
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx34("span", { className: "text-xl", children: /* @__PURE__ */ jsx34(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5746
5802
  },
5747
5803
  index
5748
5804
  )
5749
- ) }) }) }) : /* @__PURE__ */ jsx33("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx33(
5805
+ ) }) }) }) : /* @__PURE__ */ jsx34("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx34(
5750
5806
  ShowMaterialMediaByContentType_default,
5751
5807
  {
5752
5808
  contentType: contentMap.type,
@@ -5757,7 +5813,7 @@ var MatchingActivityMaterialContent = ({
5757
5813
  ) })
5758
5814
  }
5759
5815
  ),
5760
- draggedValue && touchPosition.x > 0 && /* @__PURE__ */ jsx33(
5816
+ draggedValue && touchPosition.x > 0 && /* @__PURE__ */ jsx34(
5761
5817
  "div",
5762
5818
  {
5763
5819
  className: "fixed pointer-events-none z-50 opacity-80",
@@ -5766,16 +5822,16 @@ var MatchingActivityMaterialContent = ({
5766
5822
  top: `${touchPosition.y}px`,
5767
5823
  transform: "translate(-50%, -50%)"
5768
5824
  },
5769
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx33("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx33("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] px-4", children: /* @__PURE__ */ jsx33("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(draggedValue).map(
5770
- (inputPart, index) => /* @__PURE__ */ jsx33(
5825
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx34("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx34("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] px-4", children: /* @__PURE__ */ jsx34("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(draggedValue).map(
5826
+ (inputPart, index) => /* @__PURE__ */ jsx34(
5771
5827
  "span",
5772
5828
  {
5773
5829
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5774
- children: inputPart.isEquation ? /* @__PURE__ */ jsx33("span", { className: "text-xl", children: /* @__PURE__ */ jsx33(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5830
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx34("span", { className: "text-xl", children: /* @__PURE__ */ jsx34(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5775
5831
  },
5776
5832
  index
5777
5833
  )
5778
- ) }) }) }) : /* @__PURE__ */ jsx33("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx33(
5834
+ ) }) }) }) : /* @__PURE__ */ jsx34("div", { className: "border-catchup-blue border-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx34(
5779
5835
  ShowMaterialMediaByContentType_default,
5780
5836
  {
5781
5837
  contentType: contentMap.type,
@@ -5786,13 +5842,13 @@ var MatchingActivityMaterialContent = ({
5786
5842
  ) })
5787
5843
  }
5788
5844
  ),
5789
- filteredMaterialList.length > 0 ? /* @__PURE__ */ jsxs23(Fragment4, { children: [
5790
- /* @__PURE__ */ jsx33(
5845
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ jsxs24(Fragment4, { children: [
5846
+ /* @__PURE__ */ jsx34(
5791
5847
  "div",
5792
5848
  {
5793
5849
  ref: itemsRef,
5794
5850
  className: "flex-shrink-0 flex flex-row gap-x-4 gap-y-4 overflow-x-auto py-2",
5795
- children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ jsx33(
5851
+ children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ jsx34(
5796
5852
  "div",
5797
5853
  {
5798
5854
  ref: draggedValue === materialValue ? dragElementRef : null,
@@ -5802,21 +5858,21 @@ var MatchingActivityMaterialContent = ({
5802
5858
  onTouchStart: (e) => handleTouchStart(e, materialValue, e.currentTarget),
5803
5859
  onTouchMove: handleTouchMove,
5804
5860
  onTouchEnd: handleTouchEnd,
5805
- children: /* @__PURE__ */ jsx33(
5861
+ children: /* @__PURE__ */ jsx34(
5806
5862
  "div",
5807
5863
  {
5808
5864
  className: `${selectedValue === materialValue ? "border-catchup-blue" : "border-catchup-lighter-gray"} ${contentMap.type === "TEXT" ? "h-catchup-activity-text-box-item" : "h-catchup-activity-media-box-item"} flex flex-col items-center justify-center border-2 rounded-catchup-xlarge cursor-pointer transition-all duration-300`,
5809
5865
  onClick: () => handleSelectItem(materialValue),
5810
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx33("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] overflow-hidden px-4", children: /* @__PURE__ */ jsx33("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5866
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx34("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] overflow-hidden px-4", children: /* @__PURE__ */ jsx34("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5811
5867
  materialValue
5812
- ).map((inputPart, index2) => /* @__PURE__ */ jsx33(
5868
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx34(
5813
5869
  "span",
5814
5870
  {
5815
5871
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5816
- children: inputPart.isEquation ? /* @__PURE__ */ jsx33("span", { className: "text-xl", children: /* @__PURE__ */ jsx33(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5872
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx34("span", { className: "text-xl", children: /* @__PURE__ */ jsx34(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5817
5873
  },
5818
5874
  index2
5819
- )) }) }) : /* @__PURE__ */ jsx33(
5875
+ )) }) }) : /* @__PURE__ */ jsx34(
5820
5876
  ShowMaterialMediaByContentType_default,
5821
5877
  {
5822
5878
  contentType: contentMap.type,
@@ -5832,32 +5888,32 @@ var MatchingActivityMaterialContent = ({
5832
5888
  ))
5833
5889
  }
5834
5890
  ),
5835
- /* @__PURE__ */ jsx33("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx33(DividerLine_default, {}) })
5891
+ /* @__PURE__ */ jsx34("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsx34(DividerLine_default, {}) })
5836
5892
  ] }) : null,
5837
- /* @__PURE__ */ jsx33("div", { className: "flex-1 min-h-0 overflow-y-auto", children: Object.keys(displayAnswerMap).map((answerMapKey, index) => {
5893
+ /* @__PURE__ */ jsx34("div", { className: "flex-1 min-h-0 overflow-y-auto", children: Object.keys(displayAnswerMap).map((answerMapKey, index) => {
5838
5894
  const learnerAnswerState = checkAnswerState(
5839
5895
  materialMap[answerMapKey],
5840
5896
  displayAnswerMap[answerMapKey]
5841
5897
  );
5842
- return /* @__PURE__ */ jsxs23("div", { className: "flex flex-row w-full", children: [
5843
- /* @__PURE__ */ jsx33("div", { className: "w-1/3", children: /* @__PURE__ */ jsx33(
5898
+ return /* @__PURE__ */ jsxs24("div", { className: "flex flex-row w-full", children: [
5899
+ /* @__PURE__ */ jsx34("div", { className: "w-1/3", children: /* @__PURE__ */ jsx34(
5844
5900
  "div",
5845
5901
  {
5846
5902
  className: `${contentMap.type === "TEXT" ? "h-catchup-activity-text-box-item" : "h-catchup-activity-media-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"}`,
5847
- children: /* @__PURE__ */ jsx33("div", { className: "flex flex-col items-center justify-center transition-all duration-300 px-4 text-center", children: /* @__PURE__ */ jsx33("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5848
- (inputPart, index2) => /* @__PURE__ */ jsx33(
5903
+ children: /* @__PURE__ */ jsx34("div", { className: "flex flex-col items-center justify-center transition-all duration-300 px-4 text-center", children: /* @__PURE__ */ jsx34("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5904
+ (inputPart, index2) => /* @__PURE__ */ jsx34(
5849
5905
  "span",
5850
5906
  {
5851
5907
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5852
- children: inputPart.isEquation ? /* @__PURE__ */ jsx33("span", { className: "text-xl", children: /* @__PURE__ */ jsx33(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5908
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx34("span", { className: "text-xl", children: /* @__PURE__ */ jsx34(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5853
5909
  },
5854
5910
  index2
5855
5911
  )
5856
5912
  ) }) })
5857
5913
  }
5858
5914
  ) }),
5859
- /* @__PURE__ */ jsx33("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5860
- /* @__PURE__ */ jsx33("div", { className: "flex-1", children: /* @__PURE__ */ jsx33(
5915
+ /* @__PURE__ */ jsx34("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5916
+ /* @__PURE__ */ jsx34("div", { className: "flex-1", children: /* @__PURE__ */ jsx34(
5861
5917
  "div",
5862
5918
  {
5863
5919
  ref: (el) => dropZoneRefs.current[answerMapKey] = el,
@@ -5866,7 +5922,7 @@ var MatchingActivityMaterialContent = ({
5866
5922
  onMouseLeave: () => setDropTargetKey(null),
5867
5923
  onClick: () => handleDropZoneClick(answerMapKey),
5868
5924
  className: `${dropTargetKey === answerMapKey ? "bg-catchup-light-blue ring-2 ring-blue-400" : ""} ${contentMap.type === "TEXT" ? "h-catchup-activity-text-box-item" : "h-catchup-activity-media-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"}`,
5869
- children: /* @__PURE__ */ jsx33(
5925
+ children: /* @__PURE__ */ jsx34(
5870
5926
  "div",
5871
5927
  {
5872
5928
  className: "h-full flex-1 flex flex-row items-center justify-center px-4",
@@ -5877,16 +5933,16 @@ var MatchingActivityMaterialContent = ({
5877
5933
  setSelectedValue(null);
5878
5934
  }
5879
5935
  },
5880
- children: displayAnswerMap[answerMapKey] ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsx33("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5936
+ children: displayAnswerMap[answerMapKey] ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsx34("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5881
5937
  displayAnswerMap[answerMapKey]
5882
- ).map((inputPart, index2) => /* @__PURE__ */ jsx33(
5938
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx34(
5883
5939
  "span",
5884
5940
  {
5885
5941
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5886
- children: inputPart.isEquation ? /* @__PURE__ */ jsx33("span", { className: "text-xl", children: /* @__PURE__ */ jsx33(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5942
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx34("span", { className: "text-xl", children: /* @__PURE__ */ jsx34(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5887
5943
  },
5888
5944
  index2
5889
- )) }) : /* @__PURE__ */ jsx33(
5945
+ )) }) : /* @__PURE__ */ jsx34(
5890
5946
  ShowMaterialMediaByContentType_default,
5891
5947
  {
5892
5948
  contentType: contentMap.type,
@@ -5906,7 +5962,7 @@ var MatchingActivityMaterialContent = ({
5906
5962
  var MatchingActivityMaterialContent_default = MatchingActivityMaterialContent;
5907
5963
 
5908
5964
  // src/components/activities/MatchingActivityContent.tsx
5909
- import { jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
5965
+ import { jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
5910
5966
  var MatchingActivityContent = ({
5911
5967
  answerMap,
5912
5968
  data,
@@ -5924,12 +5980,12 @@ var MatchingActivityContent = ({
5924
5980
  answerMap2[key] = value;
5925
5981
  changeAnswer(answerMap2);
5926
5982
  };
5927
- return /* @__PURE__ */ jsxs24("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
5928
- /* @__PURE__ */ jsx34(
5983
+ return /* @__PURE__ */ jsxs25("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
5984
+ /* @__PURE__ */ jsx35(
5929
5985
  "div",
5930
5986
  {
5931
5987
  className: `${isFullScreen ? "w-full" : "w-full md:w-[40%] md:overflow-y-auto"}`,
5932
- children: /* @__PURE__ */ jsx34(
5988
+ children: /* @__PURE__ */ jsx35(
5933
5989
  ActivityBodyContent_default,
5934
5990
  {
5935
5991
  bodyMap: matchingBodyMap,
@@ -5938,13 +5994,13 @@ var MatchingActivityContent = ({
5938
5994
  )
5939
5995
  }
5940
5996
  ),
5941
- /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx34(DividerLine_default, {}) }),
5942
- /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx34(VerticalDividerLine_default, {}) }),
5943
- /* @__PURE__ */ jsx34(
5997
+ /* @__PURE__ */ jsx35("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx35(DividerLine_default, {}) }),
5998
+ /* @__PURE__ */ jsx35("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx35(VerticalDividerLine_default, {}) }),
5999
+ /* @__PURE__ */ jsx35(
5944
6000
  "div",
5945
6001
  {
5946
6002
  className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`,
5947
- children: /* @__PURE__ */ jsx34(
6003
+ children: /* @__PURE__ */ jsx35(
5948
6004
  MatchingActivityMaterialContent_default,
5949
6005
  {
5950
6006
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5964,9 +6020,9 @@ var MatchingActivityContent = ({
5964
6020
  var MatchingActivityContent_default = MatchingActivityContent;
5965
6021
 
5966
6022
  // src/components/activities/material-contents/MCMAActivityMaterialContent.tsx
5967
- import { useEffect as useEffect12, useState as useState21 } from "react";
6023
+ import { useEffect as useEffect12, useState as useState22 } from "react";
5968
6024
  import { InlineMath as InlineMath7 } from "react-katex";
5969
- import { jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
6025
+ import { jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
5970
6026
  var MCMAActivityMaterialContent = ({
5971
6027
  uniqueValue,
5972
6028
  answerMap,
@@ -5977,7 +6033,7 @@ var MCMAActivityMaterialContent = ({
5977
6033
  isPreview,
5978
6034
  showCorrectAnswer
5979
6035
  }) => {
5980
- const [displayAnswerMap, setDisplayAnswerMap] = useState21(answerMap);
6036
+ const [displayAnswerMap, setDisplayAnswerMap] = useState22(answerMap);
5981
6037
  useEffect12(() => {
5982
6038
  if (showCorrectAnswer) {
5983
6039
  const correctAnswerMap = {};
@@ -6004,11 +6060,11 @@ var MCMAActivityMaterialContent = ({
6004
6060
  return "INCORRECT";
6005
6061
  };
6006
6062
  const correctAnswerList = retrieveCorrectAnswerList();
6007
- return /* @__PURE__ */ jsx35("div", { className: "flex flex-col h-full", children: Object.keys(materialMap).map((materialKey, index) => {
6008
- return /* @__PURE__ */ jsx35("div", { className: "flex flex-col flex-1 min-h-0", children: /* @__PURE__ */ jsxs25("div", { className: "flex-1 flex flex-col border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0 min-h-0", children: [
6009
- /* @__PURE__ */ jsx35("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx35("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
6010
- /* @__PURE__ */ jsx35("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx35(DividerLine_default, {}) }),
6011
- /* @__PURE__ */ jsx35("div", { className: "flex-1 min-h-0 overflow-y-auto", children: checkCanAnswerQuestion() ? /* @__PURE__ */ jsx35("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
6063
+ return /* @__PURE__ */ jsx36("div", { className: "flex flex-col h-full", children: Object.keys(materialMap).map((materialKey, index) => {
6064
+ return /* @__PURE__ */ jsx36("div", { className: "flex flex-col flex-1 min-h-0", children: /* @__PURE__ */ jsxs26("div", { className: "flex-1 flex flex-col border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0 min-h-0", children: [
6065
+ /* @__PURE__ */ jsx36("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx36("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
6066
+ /* @__PURE__ */ jsx36("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx36(DividerLine_default, {}) }),
6067
+ /* @__PURE__ */ jsx36("div", { className: "flex-1 min-h-0 overflow-y-auto", children: checkCanAnswerQuestion() ? /* @__PURE__ */ jsx36("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
6012
6068
  (materialSubKey, index2) => {
6013
6069
  const foundAnswer = displayAnswerMap[materialKey].find(
6014
6070
  (learnerAnswer) => learnerAnswer === materialSubKey
@@ -6021,7 +6077,7 @@ var MCMAActivityMaterialContent = ({
6021
6077
  const foundIndex = correctAnswerList.findIndex(
6022
6078
  (correctAnswer) => correctAnswer === materialSubKey
6023
6079
  );
6024
- return /* @__PURE__ */ jsxs25(
6080
+ return /* @__PURE__ */ jsxs26(
6025
6081
  "div",
6026
6082
  {
6027
6083
  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" : ""}`,
@@ -6029,7 +6085,7 @@ var MCMAActivityMaterialContent = ({
6029
6085
  onChange(answerMap, materialKey, materialSubKey);
6030
6086
  },
6031
6087
  children: [
6032
- /* @__PURE__ */ jsx35(
6088
+ /* @__PURE__ */ jsx36(
6033
6089
  BaseImage_default,
6034
6090
  {
6035
6091
  src: displayAnswerMap[materialKey].includes(materialSubKey) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6039,16 +6095,16 @@ var MCMAActivityMaterialContent = ({
6039
6095
  }
6040
6096
  }
6041
6097
  ),
6042
- /* @__PURE__ */ jsx35("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx35("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6098
+ /* @__PURE__ */ jsx36("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx36("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6043
6099
  materialSubKey
6044
- ).map((inputPart, index3) => /* @__PURE__ */ jsx35(
6100
+ ).map((inputPart, index3) => /* @__PURE__ */ jsx36(
6045
6101
  "span",
6046
6102
  {
6047
6103
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6048
- children: inputPart.isEquation ? /* @__PURE__ */ jsx35("span", { className: "text-xl", children: /* @__PURE__ */ jsx35(InlineMath7, { math: inputPart.value }) }) : inputPart.value
6104
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx36("span", { className: "text-xl", children: /* @__PURE__ */ jsx36(InlineMath7, { math: inputPart.value }) }) : inputPart.value
6049
6105
  },
6050
6106
  index3
6051
- )) }) : /* @__PURE__ */ jsx35(
6107
+ )) }) : /* @__PURE__ */ jsx36(
6052
6108
  ShowMaterialMediaByContentType_default,
6053
6109
  {
6054
6110
  contentType: contentMap.type,
@@ -6062,13 +6118,13 @@ var MCMAActivityMaterialContent = ({
6062
6118
  index2
6063
6119
  );
6064
6120
  }
6065
- ) }) : /* @__PURE__ */ jsx35("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
6121
+ ) }) : /* @__PURE__ */ jsx36("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
6066
6122
  displayAnswerMap[materialKey]
6067
- ).map((inputPart, index2) => /* @__PURE__ */ jsx35(
6123
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx36(
6068
6124
  "span",
6069
6125
  {
6070
6126
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6071
- children: inputPart.isEquation ? /* @__PURE__ */ jsx35("span", { className: "text-xl", children: /* @__PURE__ */ jsx35(InlineMath7, { math: inputPart.value }) }) : inputPart.value
6127
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx36("span", { className: "text-xl", children: /* @__PURE__ */ jsx36(InlineMath7, { math: inputPart.value }) }) : inputPart.value
6072
6128
  },
6073
6129
  index2
6074
6130
  )) }, materialKey) })
@@ -6078,7 +6134,7 @@ var MCMAActivityMaterialContent = ({
6078
6134
  var MCMAActivityMaterialContent_default = MCMAActivityMaterialContent;
6079
6135
 
6080
6136
  // src/components/activities/MCMAActivityContent.tsx
6081
- import { jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
6137
+ import { jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
6082
6138
  var MCMAActivityContent = ({
6083
6139
  answerMap,
6084
6140
  data,
@@ -6103,11 +6159,11 @@ var MCMAActivityContent = ({
6103
6159
  }
6104
6160
  changeAnswer(answerMap2);
6105
6161
  };
6106
- return /* @__PURE__ */ jsxs26("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
6107
- /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx36(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
6108
- /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx36(DividerLine_default, {}) }),
6109
- /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx36(VerticalDividerLine_default, {}) }),
6110
- /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx36(
6162
+ return /* @__PURE__ */ jsxs27("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
6163
+ /* @__PURE__ */ jsx37("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx37(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
6164
+ /* @__PURE__ */ jsx37("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx37(DividerLine_default, {}) }),
6165
+ /* @__PURE__ */ jsx37("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx37(VerticalDividerLine_default, {}) }),
6166
+ /* @__PURE__ */ jsx37("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx37(
6111
6167
  MCMAActivityMaterialContent_default,
6112
6168
  {
6113
6169
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6125,9 +6181,9 @@ var MCMAActivityContent = ({
6125
6181
  var MCMAActivityContent_default = MCMAActivityContent;
6126
6182
 
6127
6183
  // src/components/activities/material-contents/MCSAActivityMaterialContent.tsx
6128
- import { useEffect as useEffect13, useState as useState22 } from "react";
6184
+ import { useEffect as useEffect13, useState as useState23 } from "react";
6129
6185
  import { InlineMath as InlineMath8 } from "react-katex";
6130
- import { jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
6186
+ import { jsx as jsx38, jsxs as jsxs28 } from "react/jsx-runtime";
6131
6187
  var MCSAActivityMaterialContent = ({
6132
6188
  uniqueValue,
6133
6189
  answerMap,
@@ -6138,7 +6194,7 @@ var MCSAActivityMaterialContent = ({
6138
6194
  isPreview,
6139
6195
  showCorrectAnswer
6140
6196
  }) => {
6141
- const [displayAnswerMap, setDisplayAnswerMap] = useState22(answerMap);
6197
+ const [displayAnswerMap, setDisplayAnswerMap] = useState23(answerMap);
6142
6198
  useEffect13(() => {
6143
6199
  if (showCorrectAnswer) {
6144
6200
  const correctAnswer2 = retrieveCorrectAnswer();
@@ -6159,11 +6215,11 @@ var MCSAActivityMaterialContent = ({
6159
6215
  return "INCORRECT";
6160
6216
  };
6161
6217
  const correctAnswer = retrieveCorrectAnswer();
6162
- return /* @__PURE__ */ jsx37("div", { className: "flex flex-col h-full", children: Object.keys(materialMap).map((materialKey, index) => {
6163
- return /* @__PURE__ */ jsx37("div", { className: "flex flex-col flex-1 min-h-0", children: /* @__PURE__ */ jsxs27("div", { className: "flex-1 flex flex-col border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0 min-h-0", children: [
6164
- /* @__PURE__ */ jsx37("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx37("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
6165
- /* @__PURE__ */ jsx37("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx37(DividerLine_default, {}) }),
6166
- /* @__PURE__ */ jsx37("div", { className: "flex-1 min-h-0 overflow-y-auto", children: checkCanAnswerQuestion() ? /* @__PURE__ */ jsx37(
6218
+ return /* @__PURE__ */ jsx38("div", { className: "flex flex-col h-full", children: Object.keys(materialMap).map((materialKey, index) => {
6219
+ return /* @__PURE__ */ jsx38("div", { className: "flex flex-col flex-1 min-h-0", children: /* @__PURE__ */ jsxs28("div", { className: "flex-1 flex flex-col border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0 min-h-0", children: [
6220
+ /* @__PURE__ */ jsx38("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx38("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
6221
+ /* @__PURE__ */ jsx38("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx38(DividerLine_default, {}) }),
6222
+ /* @__PURE__ */ jsx38("div", { className: "flex-1 min-h-0 overflow-y-auto", children: checkCanAnswerQuestion() ? /* @__PURE__ */ jsx38(
6167
6223
  "div",
6168
6224
  {
6169
6225
  className: `flex flex-row w-full ${Object.keys(materialMap[materialKey]).length <= 4 ? "justify-center" : ""} flex-wrap`,
@@ -6174,7 +6230,7 @@ var MCSAActivityMaterialContent = ({
6174
6230
  materialSubKey,
6175
6231
  displayAnswerMap[materialKey]
6176
6232
  );
6177
- return /* @__PURE__ */ jsxs27(
6233
+ return /* @__PURE__ */ jsxs28(
6178
6234
  "div",
6179
6235
  {
6180
6236
  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" : ""}`,
@@ -6182,7 +6238,7 @@ var MCSAActivityMaterialContent = ({
6182
6238
  onChange(answerMap, materialKey, materialSubKey);
6183
6239
  },
6184
6240
  children: [
6185
- /* @__PURE__ */ jsx37(
6241
+ /* @__PURE__ */ jsx38(
6186
6242
  BaseImage_default,
6187
6243
  {
6188
6244
  src: displayAnswerMap[materialKey] === materialSubKey ? "/icons/item-element.webp" : "/icons/not-selected-item-element.webp",
@@ -6192,16 +6248,16 @@ var MCSAActivityMaterialContent = ({
6192
6248
  }
6193
6249
  }
6194
6250
  ),
6195
- /* @__PURE__ */ jsx37("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx37("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6251
+ /* @__PURE__ */ jsx38("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx38("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6196
6252
  materialSubKey
6197
- ).map((inputPart, index3) => /* @__PURE__ */ jsx37(
6253
+ ).map((inputPart, index3) => /* @__PURE__ */ jsx38(
6198
6254
  "span",
6199
6255
  {
6200
6256
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6201
- children: inputPart.isEquation ? /* @__PURE__ */ jsx37("span", { className: "text-xl", children: /* @__PURE__ */ jsx37(InlineMath8, { math: inputPart.value }) }) : inputPart.value
6257
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx38("span", { className: "text-xl", children: /* @__PURE__ */ jsx38(InlineMath8, { math: inputPart.value }) }) : inputPart.value
6202
6258
  },
6203
6259
  index3
6204
- )) }) : /* @__PURE__ */ jsx37(
6260
+ )) }) : /* @__PURE__ */ jsx38(
6205
6261
  ShowMaterialMediaByContentType_default,
6206
6262
  {
6207
6263
  contentType: contentMap.type,
@@ -6217,13 +6273,13 @@ var MCSAActivityMaterialContent = ({
6217
6273
  }
6218
6274
  )
6219
6275
  }
6220
- ) : /* @__PURE__ */ jsx37("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6276
+ ) : /* @__PURE__ */ jsx38("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6221
6277
  displayAnswerMap[materialKey]
6222
- ).map((inputPart, index2) => /* @__PURE__ */ jsx37(
6278
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx38(
6223
6279
  "span",
6224
6280
  {
6225
6281
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6226
- children: inputPart.isEquation ? /* @__PURE__ */ jsx37("span", { className: "text-xl", children: /* @__PURE__ */ jsx37(InlineMath8, { math: inputPart.value }) }) : inputPart.value
6282
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx38("span", { className: "text-xl", children: /* @__PURE__ */ jsx38(InlineMath8, { math: inputPart.value }) }) : inputPart.value
6227
6283
  },
6228
6284
  index2
6229
6285
  )) }) })
@@ -6233,7 +6289,7 @@ var MCSAActivityMaterialContent = ({
6233
6289
  var MCSAActivityMaterialContent_default = MCSAActivityMaterialContent;
6234
6290
 
6235
6291
  // src/components/activities/MCSAActivityContent.tsx
6236
- import { jsx as jsx38, jsxs as jsxs28 } from "react/jsx-runtime";
6292
+ import { jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
6237
6293
  var MCSAActivityContent = ({
6238
6294
  answerMap,
6239
6295
  data,
@@ -6251,11 +6307,11 @@ var MCSAActivityContent = ({
6251
6307
  answerMap2[key] = value;
6252
6308
  changeAnswer(answerMap2);
6253
6309
  };
6254
- return /* @__PURE__ */ jsxs28("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
6255
- /* @__PURE__ */ jsx38("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx38(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
6256
- /* @__PURE__ */ jsx38("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx38(DividerLine_default, {}) }),
6257
- /* @__PURE__ */ jsx38("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx38(VerticalDividerLine_default, {}) }),
6258
- /* @__PURE__ */ jsx38("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx38(
6310
+ return /* @__PURE__ */ jsxs29("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
6311
+ /* @__PURE__ */ jsx39("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx39(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
6312
+ /* @__PURE__ */ jsx39("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx39(DividerLine_default, {}) }),
6313
+ /* @__PURE__ */ jsx39("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx39(VerticalDividerLine_default, {}) }),
6314
+ /* @__PURE__ */ jsx39("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx39(
6259
6315
  MCSAActivityMaterialContent_default,
6260
6316
  {
6261
6317
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6362,7 +6418,7 @@ var retrieveAcceptedFormats = (fileType) => {
6362
6418
  };
6363
6419
 
6364
6420
  // src/components/activities/material-contents/OpenEndedActivityMaterialContent.tsx
6365
- import { Fragment as Fragment5, jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
6421
+ import { Fragment as Fragment5, jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
6366
6422
  var OpenEndedActivityMaterialContent = ({
6367
6423
  answerMap,
6368
6424
  contentMap,
@@ -6377,7 +6433,7 @@ var OpenEndedActivityMaterialContent = ({
6377
6433
  fileType = retrieveFileTypeFromExtension(extension);
6378
6434
  }
6379
6435
  if (fileType === "IMAGE") {
6380
- return /* @__PURE__ */ jsx39("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx39(
6436
+ return /* @__PURE__ */ jsx40("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx40(
6381
6437
  BaseImage_default,
6382
6438
  {
6383
6439
  src: answerMapAnswer,
@@ -6387,9 +6443,9 @@ var OpenEndedActivityMaterialContent = ({
6387
6443
  }
6388
6444
  ) });
6389
6445
  } else if (fileType === "PDF") {
6390
- return /* @__PURE__ */ jsx39(BasePDF_default, { file: answerMapAnswer });
6446
+ return /* @__PURE__ */ jsx40(BasePDF_default, { file: answerMapAnswer });
6391
6447
  } else if (fileType === "AUDIO") {
6392
- return /* @__PURE__ */ jsx39("div", { className: "h-[56px]", children: /* @__PURE__ */ jsx39(
6448
+ return /* @__PURE__ */ jsx40("div", { className: "h-[56px]", children: /* @__PURE__ */ jsx40(
6393
6449
  "audio",
6394
6450
  {
6395
6451
  className: "h-full w-full rounded-catchup-xlarge",
@@ -6400,7 +6456,7 @@ var OpenEndedActivityMaterialContent = ({
6400
6456
  }
6401
6457
  ) });
6402
6458
  } else if (fileType === "TEXT") {
6403
- return /* @__PURE__ */ jsx39(
6459
+ return /* @__PURE__ */ jsx40(
6404
6460
  InputGroup_default,
6405
6461
  {
6406
6462
  type: "textarea",
@@ -6419,7 +6475,7 @@ var OpenEndedActivityMaterialContent = ({
6419
6475
  const answerMapAnswer = answerMap2["ANSWER"];
6420
6476
  const extension = answerMapAnswer.split(".").pop();
6421
6477
  const fileType = retrieveFileTypeFromExtension(extension);
6422
- return /* @__PURE__ */ jsx39(Fragment5, { children: fileType === "IMAGE" ? /* @__PURE__ */ jsx39("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx39(
6478
+ return /* @__PURE__ */ jsx40(Fragment5, { children: fileType === "IMAGE" ? /* @__PURE__ */ jsx40("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx40(
6423
6479
  BaseImage_default,
6424
6480
  {
6425
6481
  src: answerMapAnswer,
@@ -6427,11 +6483,11 @@ var OpenEndedActivityMaterialContent = ({
6427
6483
  size: "custom",
6428
6484
  className: "w-[80%] rounded-catchup-xlarge max-h-[50vh] object-contain"
6429
6485
  }
6430
- ) }) : fileType === "PDF" ? /* @__PURE__ */ jsx39("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx39(BasePDF_default, { file: answerMapAnswer }) }) : null });
6486
+ ) }) : fileType === "PDF" ? /* @__PURE__ */ jsx40("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx40(BasePDF_default, { file: answerMapAnswer }) }) : null });
6431
6487
  };
6432
6488
  const RenderAudioContent = (answerMap2) => {
6433
6489
  const answerMapAnswer = answerMap2["ANSWER"];
6434
- return /* @__PURE__ */ jsx39("div", { className: "h-[56px]", children: /* @__PURE__ */ jsx39(
6490
+ return /* @__PURE__ */ jsx40("div", { className: "h-[56px]", children: /* @__PURE__ */ jsx40(
6435
6491
  "audio",
6436
6492
  {
6437
6493
  className: "h-full w-full rounded-catchup-xlarge",
@@ -6442,16 +6498,16 @@ var OpenEndedActivityMaterialContent = ({
6442
6498
  }
6443
6499
  ) });
6444
6500
  };
6445
- return /* @__PURE__ */ jsxs29("div", { className: "flex flex-col h-full", children: [
6446
- /* @__PURE__ */ jsx39("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx39("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
6447
- /* @__PURE__ */ jsx39("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx39(DividerLine_default, {}) }),
6448
- /* @__PURE__ */ jsx39("div", { className: "flex-1 min-h-0 overflow-y-auto", children: contentMap.type === "TEXT" ? RenderTextContent(answerMap) : contentMap.type === "IMAGE" ? RenderImageContent(answerMap) : contentMap.type === "AUDIO" ? RenderAudioContent(answerMap) : null })
6501
+ return /* @__PURE__ */ jsxs30("div", { className: "flex flex-col h-full", children: [
6502
+ /* @__PURE__ */ jsx40("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx40("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
6503
+ /* @__PURE__ */ jsx40("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx40(DividerLine_default, {}) }),
6504
+ /* @__PURE__ */ jsx40("div", { className: "flex-1 min-h-0 overflow-y-auto", children: contentMap.type === "TEXT" ? RenderTextContent(answerMap) : contentMap.type === "IMAGE" ? RenderImageContent(answerMap) : contentMap.type === "AUDIO" ? RenderAudioContent(answerMap) : null })
6449
6505
  ] });
6450
6506
  };
6451
6507
  var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
6452
6508
 
6453
6509
  // src/components/activities/OpenEndedActivityContent.tsx
6454
- import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
6510
+ import { Fragment as Fragment6, jsx as jsx41, jsxs as jsxs31 } from "react/jsx-runtime";
6455
6511
  var OpenEndedActivityContent = ({
6456
6512
  answerMap,
6457
6513
  data,
@@ -6468,12 +6524,12 @@ var OpenEndedActivityContent = ({
6468
6524
  answerMap2["ANSWER"] = value;
6469
6525
  changeAnswer(answerMap2);
6470
6526
  };
6471
- return /* @__PURE__ */ jsxs30("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
6472
- /* @__PURE__ */ jsx40(
6527
+ return /* @__PURE__ */ jsxs31("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
6528
+ /* @__PURE__ */ jsx41(
6473
6529
  "div",
6474
6530
  {
6475
6531
  className: `${showMaterialContent ? isFullScreen ? "w-full" : "w-full md:w-[40%] md:overflow-y-auto" : "w-full"}`,
6476
- children: /* @__PURE__ */ jsx40(
6532
+ children: /* @__PURE__ */ jsx41(
6477
6533
  ActivityBodyContent_default,
6478
6534
  {
6479
6535
  bodyMap: openEndedBodyMap,
@@ -6482,16 +6538,16 @@ var OpenEndedActivityContent = ({
6482
6538
  )
6483
6539
  }
6484
6540
  ),
6485
- showMaterialContent ? /* @__PURE__ */ jsxs30(Fragment6, { children: [
6486
- /* @__PURE__ */ jsx40(
6541
+ showMaterialContent ? /* @__PURE__ */ jsxs31(Fragment6, { children: [
6542
+ /* @__PURE__ */ jsx41(
6487
6543
  "div",
6488
6544
  {
6489
6545
  className: `${isFullScreen ? "contents" : "contents md:hidden"}`,
6490
- children: /* @__PURE__ */ jsx40(DividerLine_default, {})
6546
+ children: /* @__PURE__ */ jsx41(DividerLine_default, {})
6491
6547
  }
6492
6548
  ),
6493
- /* @__PURE__ */ jsx40("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx40(VerticalDividerLine_default, {}) }),
6494
- /* @__PURE__ */ jsx40("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx40(
6549
+ /* @__PURE__ */ jsx41("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx41(VerticalDividerLine_default, {}) }),
6550
+ /* @__PURE__ */ jsx41("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx41(
6495
6551
  OpenEndedActivityMaterialContent_default,
6496
6552
  {
6497
6553
  answerMap,
@@ -6506,9 +6562,9 @@ var OpenEndedActivityContent = ({
6506
6562
  var OpenEndedActivityContent_default = OpenEndedActivityContent;
6507
6563
 
6508
6564
  // src/components/activities/material-contents/OrderingActivityMaterialContent.tsx
6509
- import { useEffect as useEffect14, useState as useState23, useRef as useRef7 } from "react";
6565
+ import { useEffect as useEffect14, useState as useState24, useRef as useRef7 } from "react";
6510
6566
  import { InlineMath as InlineMath9 } from "react-katex";
6511
- import { jsx as jsx41, jsxs as jsxs31 } from "react/jsx-runtime";
6567
+ import { jsx as jsx42, jsxs as jsxs32 } from "react/jsx-runtime";
6512
6568
  var OrderingActivityMaterialContent = ({
6513
6569
  uniqueValue,
6514
6570
  answerMap,
@@ -6519,22 +6575,22 @@ var OrderingActivityMaterialContent = ({
6519
6575
  isPreview,
6520
6576
  showCorrectAnswer
6521
6577
  }) => {
6522
- const [selectedKey, setSelectedKey] = useState23(null);
6523
- const [draggedKey, setDraggedKey] = useState23(null);
6524
- const [dropTargetKey, setDropTargetKey] = useState23(null);
6525
- const [draggedElement, setDraggedElement] = useState23(
6578
+ const [selectedKey, setSelectedKey] = useState24(null);
6579
+ const [draggedKey, setDraggedKey] = useState24(null);
6580
+ const [dropTargetKey, setDropTargetKey] = useState24(null);
6581
+ const [draggedElement, setDraggedElement] = useState24(
6526
6582
  null
6527
6583
  );
6528
6584
  const dragElementRef = useRef7(null);
6529
- const [mousePosition, setMousePosition] = useState23({
6585
+ const [mousePosition, setMousePosition] = useState24({
6530
6586
  x: 0,
6531
6587
  y: 0
6532
6588
  });
6533
- const [touchPosition, setTouchPosition] = useState23({
6589
+ const [touchPosition, setTouchPosition] = useState24({
6534
6590
  x: 0,
6535
6591
  y: 0
6536
6592
  });
6537
- const [displayAnswerMap, setDisplayAnswerMap] = useState23(answerMap);
6593
+ const [displayAnswerMap, setDisplayAnswerMap] = useState24(answerMap);
6538
6594
  useEffect14(() => {
6539
6595
  if (showCorrectAnswer) {
6540
6596
  const correctAnswerMap = {};
@@ -6626,14 +6682,14 @@ var OrderingActivityMaterialContent = ({
6626
6682
  }
6627
6683
  setDraggedKey(null);
6628
6684
  };
6629
- return /* @__PURE__ */ jsxs31(
6685
+ return /* @__PURE__ */ jsxs32(
6630
6686
  "div",
6631
6687
  {
6632
6688
  className: "flex flex-col h-full",
6633
6689
  onMouseMove: handleMouseMove,
6634
6690
  onMouseUp: handleMouseUp,
6635
6691
  children: [
6636
- draggedKey && mousePosition.x > 0 && /* @__PURE__ */ jsx41(
6692
+ draggedKey && mousePosition.x > 0 && /* @__PURE__ */ jsx42(
6637
6693
  "div",
6638
6694
  {
6639
6695
  className: "fixed pointer-events-none z-50 opacity-80",
@@ -6642,16 +6698,16 @@ var OrderingActivityMaterialContent = ({
6642
6698
  top: `${mousePosition.y}px`,
6643
6699
  transform: "translate(-50%, -50%)"
6644
6700
  },
6645
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx41("div", { className: "border-catchup-blue border-2 px-3 py-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx41("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6701
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx42("div", { className: "border-catchup-blue border-2 px-3 py-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx42("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6646
6702
  materialMap[displayAnswerMap[draggedKey]]
6647
- ).map((inputPart, index) => /* @__PURE__ */ jsx41(
6703
+ ).map((inputPart, index) => /* @__PURE__ */ jsx42(
6648
6704
  "span",
6649
6705
  {
6650
6706
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6651
- children: inputPart.isEquation ? /* @__PURE__ */ jsx41("span", { className: "text-xl", children: /* @__PURE__ */ jsx41(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6707
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx42("span", { className: "text-xl", children: /* @__PURE__ */ jsx42(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6652
6708
  },
6653
6709
  index
6654
- )) }) }) : /* @__PURE__ */ jsx41("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx41(
6710
+ )) }) }) : /* @__PURE__ */ jsx42("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx42(
6655
6711
  ShowMaterialMediaByContentType_default,
6656
6712
  {
6657
6713
  contentType: contentMap.type,
@@ -6662,7 +6718,7 @@ var OrderingActivityMaterialContent = ({
6662
6718
  ) })
6663
6719
  }
6664
6720
  ),
6665
- draggedKey && touchPosition.x > 0 && /* @__PURE__ */ jsx41(
6721
+ draggedKey && touchPosition.x > 0 && /* @__PURE__ */ jsx42(
6666
6722
  "div",
6667
6723
  {
6668
6724
  className: "fixed pointer-events-none z-50 opacity-80",
@@ -6671,16 +6727,16 @@ var OrderingActivityMaterialContent = ({
6671
6727
  top: `${touchPosition.y}px`,
6672
6728
  transform: "translate(-50%, -50%)"
6673
6729
  },
6674
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx41("div", { className: "border-catchup-blue border-2 px-3 py-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx41("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6730
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx42("div", { className: "border-catchup-blue border-2 px-3 py-2 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx42("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6675
6731
  materialMap[displayAnswerMap[draggedKey]]
6676
- ).map((inputPart, index) => /* @__PURE__ */ jsx41(
6732
+ ).map((inputPart, index) => /* @__PURE__ */ jsx42(
6677
6733
  "span",
6678
6734
  {
6679
6735
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6680
- children: inputPart.isEquation ? /* @__PURE__ */ jsx41("span", { className: "text-xl", children: /* @__PURE__ */ jsx41(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6736
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx42("span", { className: "text-xl", children: /* @__PURE__ */ jsx42(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6681
6737
  },
6682
6738
  index
6683
- )) }) }) : /* @__PURE__ */ jsx41("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx41(
6739
+ )) }) }) : /* @__PURE__ */ jsx42("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-catchup-white shadow-lg", children: /* @__PURE__ */ jsx42(
6684
6740
  ShowMaterialMediaByContentType_default,
6685
6741
  {
6686
6742
  contentType: contentMap.type,
@@ -6691,24 +6747,24 @@ var OrderingActivityMaterialContent = ({
6691
6747
  ) })
6692
6748
  }
6693
6749
  ),
6694
- /* @__PURE__ */ jsx41("div", { className: "flex-1 min-h-0 overflow-y-auto", children: Object.keys(displayAnswerMap).map((materialKey, index) => {
6750
+ /* @__PURE__ */ jsx42("div", { className: "flex-1 min-h-0 overflow-y-auto", children: Object.keys(displayAnswerMap).map((materialKey, index) => {
6695
6751
  const learnerAnswerState = checkAnswerState(
6696
6752
  displayAnswerMap[materialKey] + "",
6697
6753
  index + ""
6698
6754
  );
6699
- return /* @__PURE__ */ jsx41("div", { className: "w-full", children: /* @__PURE__ */ jsxs31(
6755
+ return /* @__PURE__ */ jsx42("div", { className: "w-full", children: /* @__PURE__ */ jsxs32(
6700
6756
  "div",
6701
6757
  {
6702
6758
  className: `flex flex-row items-center my-4 mx-2`,
6703
6759
  children: [
6704
- /* @__PURE__ */ jsx41("div", { className: "mr-3", children: /* @__PURE__ */ jsx41("div", { className: "h-catchup-activity-box-item w-catchup-activity-box-item flex flex-col items-center justify-center cursor-pointer transition-all duration-300 overflow-y-auto", children: /* @__PURE__ */ jsx41(
6760
+ /* @__PURE__ */ jsx42("div", { className: "mr-3", children: /* @__PURE__ */ jsx42("div", { className: "h-catchup-activity-box-item w-catchup-activity-box-item flex flex-col items-center justify-center cursor-pointer transition-all duration-300 overflow-y-auto", children: /* @__PURE__ */ jsx42(
6705
6761
  "div",
6706
6762
  {
6707
6763
  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]`,
6708
- children: /* @__PURE__ */ jsx41("p", { className: "", children: parseFloat(materialKey) + 1 })
6764
+ children: /* @__PURE__ */ jsx42("p", { className: "", children: parseFloat(materialKey) + 1 })
6709
6765
  }
6710
6766
  ) }) }),
6711
- /* @__PURE__ */ jsx41(
6767
+ /* @__PURE__ */ jsx42(
6712
6768
  "div",
6713
6769
  {
6714
6770
  ref: draggedKey === materialKey ? dragElementRef : null,
@@ -6721,21 +6777,21 @@ var OrderingActivityMaterialContent = ({
6721
6777
  onTouchStart: (e) => handleTouchStart(e, materialKey, e.currentTarget),
6722
6778
  onTouchMove: handleTouchMove,
6723
6779
  onTouchEnd: handleTouchEnd,
6724
- children: /* @__PURE__ */ jsx41(
6780
+ children: /* @__PURE__ */ jsx42(
6725
6781
  "div",
6726
6782
  {
6727
6783
  className: `${contentMap.type === "TEXT" ? "h-catchup-activity-text-box-item" : "h-catchup-activity-media-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"}`,
6728
6784
  onClick: () => handleSelectItem(materialKey),
6729
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx41("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6785
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx42("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6730
6786
  materialMap[displayAnswerMap[materialKey]]
6731
- ).map((inputPart, index2) => /* @__PURE__ */ jsx41(
6787
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx42(
6732
6788
  "span",
6733
6789
  {
6734
6790
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6735
- children: inputPart.isEquation ? /* @__PURE__ */ jsx41("span", { className: "text-xl", children: /* @__PURE__ */ jsx41(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6791
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx42("span", { className: "text-xl", children: /* @__PURE__ */ jsx42(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6736
6792
  },
6737
6793
  index2
6738
- )) }) : /* @__PURE__ */ jsx41(
6794
+ )) }) : /* @__PURE__ */ jsx42(
6739
6795
  ShowMaterialMediaByContentType_default,
6740
6796
  {
6741
6797
  contentType: contentMap.type,
@@ -6759,7 +6815,7 @@ var OrderingActivityMaterialContent = ({
6759
6815
  var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
6760
6816
 
6761
6817
  // src/components/activities/OrderingActivityContent.tsx
6762
- import { jsx as jsx42, jsxs as jsxs32 } from "react/jsx-runtime";
6818
+ import { jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
6763
6819
  var OrderingActivityContent = ({
6764
6820
  answerMap,
6765
6821
  data,
@@ -6779,12 +6835,12 @@ var OrderingActivityContent = ({
6779
6835
  answerMap2[secondaryKey] = prevValue;
6780
6836
  changeAnswer(answerMap2);
6781
6837
  };
6782
- return /* @__PURE__ */ jsxs32("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
6783
- /* @__PURE__ */ jsx42(
6838
+ return /* @__PURE__ */ jsxs33("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
6839
+ /* @__PURE__ */ jsx43(
6784
6840
  "div",
6785
6841
  {
6786
6842
  className: `${isFullScreen ? "w-full" : "w-full md:w-[40%] md:overflow-y-auto"}`,
6787
- children: /* @__PURE__ */ jsx42(
6843
+ children: /* @__PURE__ */ jsx43(
6788
6844
  ActivityBodyContent_default,
6789
6845
  {
6790
6846
  bodyMap: orderingBodyMap,
@@ -6793,13 +6849,13 @@ var OrderingActivityContent = ({
6793
6849
  )
6794
6850
  }
6795
6851
  ),
6796
- /* @__PURE__ */ jsx42("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx42(DividerLine_default, {}) }),
6797
- /* @__PURE__ */ jsx42("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx42(VerticalDividerLine_default, {}) }),
6798
- /* @__PURE__ */ jsx42(
6852
+ /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx43(DividerLine_default, {}) }),
6853
+ /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx43(VerticalDividerLine_default, {}) }),
6854
+ /* @__PURE__ */ jsx43(
6799
6855
  "div",
6800
6856
  {
6801
6857
  className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`,
6802
- children: /* @__PURE__ */ jsx42(
6858
+ children: /* @__PURE__ */ jsx43(
6803
6859
  OrderingActivityMaterialContent_default,
6804
6860
  {
6805
6861
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6819,9 +6875,9 @@ var OrderingActivityContent = ({
6819
6875
  var OrderingActivityContent_default = OrderingActivityContent;
6820
6876
 
6821
6877
  // src/components/activities/material-contents/TrueFalseActivityMaterialContent.tsx
6822
- import { useEffect as useEffect15, useState as useState24 } from "react";
6878
+ import { useEffect as useEffect15, useState as useState25 } from "react";
6823
6879
  import { InlineMath as InlineMath10 } from "react-katex";
6824
- import { Fragment as Fragment7, jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
6880
+ import { Fragment as Fragment7, jsx as jsx44, jsxs as jsxs34 } from "react/jsx-runtime";
6825
6881
  var TrueFalseActivityMaterialContent = ({
6826
6882
  uniqueValue,
6827
6883
  answerMap,
@@ -6832,8 +6888,8 @@ var TrueFalseActivityMaterialContent = ({
6832
6888
  isPreview,
6833
6889
  showCorrectAnswer
6834
6890
  }) => {
6835
- const [shuffleOptionList, setShuffleOptionList] = useState24([]);
6836
- const [displayAnswerMap, setDisplayAnswerMap] = useState24(answerMap);
6891
+ const [shuffleOptionList, setShuffleOptionList] = useState25([]);
6892
+ const [displayAnswerMap, setDisplayAnswerMap] = useState25(answerMap);
6837
6893
  useEffect15(() => {
6838
6894
  const optionList = [];
6839
6895
  optionList.push(...materialMap.trueList);
@@ -6858,14 +6914,14 @@ var TrueFalseActivityMaterialContent = ({
6858
6914
  }
6859
6915
  return "INCORRECT";
6860
6916
  };
6861
- return /* @__PURE__ */ jsxs33("div", { className: "flex flex-col h-full", children: [
6862
- /* @__PURE__ */ jsx43("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx43("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6863
- /* @__PURE__ */ jsx43("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx43(DividerLine_default, {}) }),
6864
- /* @__PURE__ */ jsxs33("div", { className: "flex flex-row justify-end items-center gap-x-2 flex-shrink-0", children: [
6865
- /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6866
- /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6917
+ return /* @__PURE__ */ jsxs34("div", { className: "flex flex-col h-full", children: [
6918
+ /* @__PURE__ */ jsx44("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx44("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6919
+ /* @__PURE__ */ jsx44("div", { className: "hidden md:block flex-shrink-0", children: /* @__PURE__ */ jsx44(DividerLine_default, {}) }),
6920
+ /* @__PURE__ */ jsxs34("div", { className: "flex flex-row justify-end items-center gap-x-2 flex-shrink-0", children: [
6921
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6922
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6867
6923
  ] }),
6868
- /* @__PURE__ */ jsx43("div", { className: "flex-1 min-h-0 overflow-y-auto", children: checkCanAnswerQuestion() ? /* @__PURE__ */ jsx43("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6924
+ /* @__PURE__ */ jsx44("div", { className: "flex-1 min-h-0 overflow-y-auto", children: checkCanAnswerQuestion() ? /* @__PURE__ */ jsx44("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6869
6925
  const correctAnswer = materialMap.trueList.find(
6870
6926
  (trueItem) => trueItem === shuffleOption
6871
6927
  ) !== void 0 ? "TRUE" : "FALSE";
@@ -6876,21 +6932,21 @@ var TrueFalseActivityMaterialContent = ({
6876
6932
  correctAnswer,
6877
6933
  learnerAnswer
6878
6934
  );
6879
- return /* @__PURE__ */ jsxs33(
6935
+ return /* @__PURE__ */ jsxs34(
6880
6936
  "div",
6881
6937
  {
6882
6938
  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" : ""}`,
6883
6939
  children: [
6884
- /* @__PURE__ */ jsx43("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx43("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6940
+ /* @__PURE__ */ jsx44("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx44("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6885
6941
  shuffleOption
6886
- ).map((inputPart, index2) => /* @__PURE__ */ jsx43(
6942
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx44(
6887
6943
  "span",
6888
6944
  {
6889
6945
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6890
- children: inputPart.isEquation ? /* @__PURE__ */ jsx43("span", { className: "text-xl", children: /* @__PURE__ */ jsx43(InlineMath10, { math: inputPart.value }) }) : inputPart.value
6946
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx44("span", { className: "text-xl", children: /* @__PURE__ */ jsx44(InlineMath10, { math: inputPart.value }) }) : inputPart.value
6891
6947
  },
6892
6948
  index2
6893
- )) }) : /* @__PURE__ */ jsx43(
6949
+ )) }) : /* @__PURE__ */ jsx44(
6894
6950
  ShowMaterialMediaByContentType_default,
6895
6951
  {
6896
6952
  contentType: contentMap.type,
@@ -6899,8 +6955,8 @@ var TrueFalseActivityMaterialContent = ({
6899
6955
  },
6900
6956
  `${uniqueValue}-${index}`
6901
6957
  ) }),
6902
- /* @__PURE__ */ jsxs33("div", { className: "flex flex-row items-center gap-x-2", children: [
6903
- /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx43(
6958
+ /* @__PURE__ */ jsxs34("div", { className: "flex flex-row items-center gap-x-2", children: [
6959
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx44(
6904
6960
  BaseImage_default,
6905
6961
  {
6906
6962
  src: displayAnswerMap.trueList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6911,7 +6967,7 @@ var TrueFalseActivityMaterialContent = ({
6911
6967
  }
6912
6968
  }
6913
6969
  ) }) }),
6914
- /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx43(
6970
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx44(
6915
6971
  BaseImage_default,
6916
6972
  {
6917
6973
  src: displayAnswerMap.falseList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6927,14 +6983,14 @@ var TrueFalseActivityMaterialContent = ({
6927
6983
  },
6928
6984
  index
6929
6985
  );
6930
- }) }) : /* @__PURE__ */ jsxs33(Fragment7, { children: [
6931
- displayAnswerMap.trueList.map((item) => /* @__PURE__ */ jsxs33("div", { className: "flex flex-row items-center gap-x-2", children: [
6932
- /* @__PURE__ */ jsx43("div", { className: "flex-1", children: /* @__PURE__ */ jsx43("p", { children: item }) }),
6933
- /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "underline", children: i18n_default.t("true") }) })
6986
+ }) }) : /* @__PURE__ */ jsxs34(Fragment7, { children: [
6987
+ displayAnswerMap.trueList.map((item) => /* @__PURE__ */ jsxs34("div", { className: "flex flex-row items-center gap-x-2", children: [
6988
+ /* @__PURE__ */ jsx44("div", { className: "flex-1", children: /* @__PURE__ */ jsx44("p", { children: item }) }),
6989
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("p", { className: "underline", children: i18n_default.t("true") }) })
6934
6990
  ] })),
6935
- displayAnswerMap.falseList.map((item) => /* @__PURE__ */ jsxs33("div", { className: "flex flex-row items-center gap-x-2", children: [
6936
- /* @__PURE__ */ jsx43("div", { className: "flex-1", children: /* @__PURE__ */ jsx43("p", { children: item }) }),
6937
- /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "underline", children: i18n_default.t("false") }) })
6991
+ displayAnswerMap.falseList.map((item) => /* @__PURE__ */ jsxs34("div", { className: "flex flex-row items-center gap-x-2", children: [
6992
+ /* @__PURE__ */ jsx44("div", { className: "flex-1", children: /* @__PURE__ */ jsx44("p", { children: item }) }),
6993
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("p", { className: "underline", children: i18n_default.t("false") }) })
6938
6994
  ] }))
6939
6995
  ] }) })
6940
6996
  ] });
@@ -6942,7 +6998,7 @@ var TrueFalseActivityMaterialContent = ({
6942
6998
  var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
6943
6999
 
6944
7000
  // src/components/activities/TrueFalseActivityContent.tsx
6945
- import { jsx as jsx44, jsxs as jsxs34 } from "react/jsx-runtime";
7001
+ import { jsx as jsx45, jsxs as jsxs35 } from "react/jsx-runtime";
6946
7002
  var TrueFalseActivityContent = ({
6947
7003
  answerMap,
6948
7004
  data,
@@ -6986,17 +7042,17 @@ var TrueFalseActivityContent = ({
6986
7042
  }
6987
7043
  changeAnswer(answerMap2);
6988
7044
  };
6989
- return /* @__PURE__ */ jsxs34("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
6990
- /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx44(
7045
+ return /* @__PURE__ */ jsxs35("div", { className: `flex flex-col ${isFullScreen ? "" : "md:flex-row"} h-full`, children: [
7046
+ /* @__PURE__ */ jsx45("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%] md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx45(
6991
7047
  ActivityBodyContent_default,
6992
7048
  {
6993
7049
  bodyMap: trueFalseBodyMap,
6994
7050
  templateType: "GROUPING"
6995
7051
  }
6996
7052
  ) }),
6997
- /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx44(DividerLine_default, {}) }),
6998
- /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx44(VerticalDividerLine_default, {}) }),
6999
- /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx44(
7053
+ /* @__PURE__ */ jsx45("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx45(DividerLine_default, {}) }),
7054
+ /* @__PURE__ */ jsx45("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx45(VerticalDividerLine_default, {}) }),
7055
+ /* @__PURE__ */ jsx45("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1 md:overflow-y-auto"}`, children: /* @__PURE__ */ jsx45(
7000
7056
  TrueFalseActivityMaterialContent_default,
7001
7057
  {
7002
7058
  uniqueValue: JSON.stringify(data.contentMap),
@@ -7015,7 +7071,7 @@ var TrueFalseActivityContent_default = TrueFalseActivityContent;
7015
7071
 
7016
7072
  // src/components/activities/solution-contents/ActivitySolutionContent.tsx
7017
7073
  import { InlineMath as InlineMath11 } from "react-katex";
7018
- import { jsx as jsx45, jsxs as jsxs35 } from "react/jsx-runtime";
7074
+ import { jsx as jsx46, jsxs as jsxs36 } from "react/jsx-runtime";
7019
7075
  var ActivitySolutionContent = ({
7020
7076
  activityTemplateType,
7021
7077
  data
@@ -7047,8 +7103,8 @@ var ActivitySolutionContent = ({
7047
7103
  return null;
7048
7104
  }
7049
7105
  if (!solutionMap || Object.keys(solutionMap).length === 0) return null;
7050
- return /* @__PURE__ */ jsx45("div", { className: "mx-2", children: /* @__PURE__ */ jsxs35("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
7051
- /* @__PURE__ */ jsx45("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
7106
+ return /* @__PURE__ */ jsx46("div", { className: "mx-2", children: /* @__PURE__ */ jsxs36("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
7107
+ /* @__PURE__ */ jsx46("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
7052
7108
  Object.keys(solutionMap).map((key) => {
7053
7109
  let currentItem;
7054
7110
  try {
@@ -7058,12 +7114,12 @@ var ActivitySolutionContent = ({
7058
7114
  return null;
7059
7115
  }
7060
7116
  const { value } = currentItem;
7061
- return /* @__PURE__ */ jsx45("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
7062
- (inputPart, partIndex) => /* @__PURE__ */ jsx45(
7117
+ return /* @__PURE__ */ jsx46("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
7118
+ (inputPart, partIndex) => /* @__PURE__ */ jsx46(
7063
7119
  "span",
7064
7120
  {
7065
7121
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7066
- children: inputPart.isEquation ? /* @__PURE__ */ jsx45("span", { className: "text-xl", children: /* @__PURE__ */ jsx45(InlineMath11, { math: inputPart.value }) }) : inputPart.value
7122
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx46("span", { className: "text-xl", children: /* @__PURE__ */ jsx46(InlineMath11, { math: inputPart.value }) }) : inputPart.value
7067
7123
  },
7068
7124
  `${key}_part_${partIndex}`
7069
7125
  )
@@ -7075,7 +7131,7 @@ var ActivitySolutionContent_default = ActivitySolutionContent;
7075
7131
 
7076
7132
  // src/components/activities/evaluation-rubric-contents/ActivityEvaluationRubricContent.tsx
7077
7133
  import { InlineMath as InlineMath12 } from "react-katex";
7078
- import { jsx as jsx46, jsxs as jsxs36 } from "react/jsx-runtime";
7134
+ import { jsx as jsx47, jsxs as jsxs37 } from "react/jsx-runtime";
7079
7135
  var ActivityEvaluationRubricContent = ({
7080
7136
  activityTemplateType,
7081
7137
  data
@@ -7105,8 +7161,8 @@ var ActivityEvaluationRubricContent = ({
7105
7161
  }
7106
7162
  if (!evaluationRubricMap || Object.keys(evaluationRubricMap).length === 0)
7107
7163
  return null;
7108
- return /* @__PURE__ */ jsxs36("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
7109
- /* @__PURE__ */ jsx46("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
7164
+ return /* @__PURE__ */ jsxs37("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
7165
+ /* @__PURE__ */ jsx47("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
7110
7166
  Object.keys(evaluationRubricMap).map((key, index) => {
7111
7167
  const currentItem = JSON.parse(evaluationRubricMap[key]);
7112
7168
  const { value } = currentItem;
@@ -7117,18 +7173,18 @@ var ActivityEvaluationRubricContent = ({
7117
7173
  points = parseFloat(matchedRegex[1]);
7118
7174
  evaluationRubric = matchedRegex[2];
7119
7175
  }
7120
- return /* @__PURE__ */ jsxs36("div", { className: "my-2 flex flex-row gap-x-3", children: [
7121
- /* @__PURE__ */ jsxs36("div", { className: "font-bold text-xl whitespace-nowrap", children: [
7176
+ return /* @__PURE__ */ jsxs37("div", { className: "my-2 flex flex-row gap-x-3", children: [
7177
+ /* @__PURE__ */ jsxs37("div", { className: "font-bold text-xl whitespace-nowrap", children: [
7122
7178
  points,
7123
7179
  " ",
7124
7180
  i18n_default.t("points")
7125
7181
  ] }),
7126
- /* @__PURE__ */ jsx46("p", { className: "flex-1 text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(evaluationRubric).map(
7127
- (inputPart, inputIndex) => /* @__PURE__ */ jsx46(
7182
+ /* @__PURE__ */ jsx47("p", { className: "flex-1 text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(evaluationRubric).map(
7183
+ (inputPart, inputIndex) => /* @__PURE__ */ jsx47(
7128
7184
  "span",
7129
7185
  {
7130
7186
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7131
- children: inputPart.isEquation ? /* @__PURE__ */ jsx46("span", { className: "text-xl", children: /* @__PURE__ */ jsx46(InlineMath12, { math: inputPart.value }) }) : inputPart.value
7187
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx47("span", { className: "text-xl", children: /* @__PURE__ */ jsx47(InlineMath12, { math: inputPart.value }) }) : inputPart.value
7132
7188
  },
7133
7189
  inputIndex
7134
7190
  )
@@ -7140,31 +7196,31 @@ var ActivityEvaluationRubricContent = ({
7140
7196
  var ActivityEvaluationRubricContent_default = ActivityEvaluationRubricContent;
7141
7197
 
7142
7198
  // src/components/activities/ActivityPreviewByData.tsx
7143
- import { useEffect as useEffect16, useState as useState25 } from "react";
7199
+ import { useEffect as useEffect16, useState as useState26 } from "react";
7144
7200
 
7145
7201
  // src/components/boxes/SelectionBox.tsx
7146
- import { jsx as jsx47, jsxs as jsxs37 } from "react/jsx-runtime";
7202
+ import { jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
7147
7203
  var SelectionBox = ({
7148
7204
  optionList,
7149
7205
  selectedId,
7150
7206
  handleSelectOnClick
7151
7207
  }) => {
7152
- return /* @__PURE__ */ jsx47("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx47(
7208
+ return /* @__PURE__ */ jsx48("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx48(
7153
7209
  "div",
7154
7210
  {
7155
7211
  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`,
7156
7212
  onClick: () => {
7157
7213
  handleSelectOnClick(option.id);
7158
7214
  },
7159
- children: /* @__PURE__ */ jsxs37(
7215
+ children: /* @__PURE__ */ jsxs38(
7160
7216
  "div",
7161
7217
  {
7162
7218
  className: `flex flex-row items-center gap-x-1 ${option.id === selectedId ? "opacity-100" : "opacity-50"}`,
7163
7219
  children: [
7164
7220
  option.icon,
7165
- /* @__PURE__ */ jsxs37("div", { className: "flex-1 flex flex-col items-center", children: [
7166
- /* @__PURE__ */ jsx47("p", { children: option.text }),
7167
- option.subText ? /* @__PURE__ */ jsxs37("p", { className: "text-md", children: [
7221
+ /* @__PURE__ */ jsxs38("div", { className: "flex-1 flex flex-col items-center", children: [
7222
+ /* @__PURE__ */ jsx48("p", { children: option.text }),
7223
+ option.subText ? /* @__PURE__ */ jsxs38("p", { className: "text-md", children: [
7168
7224
  "(",
7169
7225
  option.subText,
7170
7226
  ")"
@@ -7180,7 +7236,7 @@ var SelectionBox = ({
7180
7236
  var SelectionBox_default = SelectionBox;
7181
7237
 
7182
7238
  // src/components/activities/ActivityPreviewByData.tsx
7183
- import { Fragment as Fragment8, jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
7239
+ import { Fragment as Fragment8, jsx as jsx49, jsxs as jsxs39 } from "react/jsx-runtime";
7184
7240
  var ACTIVITY_TEMPLATE_LIST = [
7185
7241
  { type: "ORDERING", materialMap: "orderingMaterialMap" },
7186
7242
  { type: "DROPDOWN", materialMap: "dropdownMaterialMap" },
@@ -7211,10 +7267,10 @@ var ActivityPreviewByData = ({
7211
7267
  showMaterialContent = true,
7212
7268
  isPreview = true
7213
7269
  }) => {
7214
- const [selectedType, setSelectedType] = useState25(null);
7215
- const [optionList, setOptionList] = useState25([]);
7216
- const [answerMapMap, setAnswerMapMap] = useState25({});
7217
- const [activityTemplateTypeList, setActivityTemplateTypeList] = useState25([]);
7270
+ const [selectedType, setSelectedType] = useState26(null);
7271
+ const [optionList, setOptionList] = useState26([]);
7272
+ const [answerMapMap, setAnswerMapMap] = useState26({});
7273
+ const [activityTemplateTypeList, setActivityTemplateTypeList] = useState26([]);
7218
7274
  useEffect16(() => {
7219
7275
  if (!data) return;
7220
7276
  let currentActivityTemplateMapList = JSON.parse(
@@ -7289,44 +7345,44 @@ var ActivityPreviewByData = ({
7289
7345
  }
7290
7346
  switch (selectedType) {
7291
7347
  case "ORDERING":
7292
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7293
- isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7294
- /* @__PURE__ */ jsx48(OrderingActivityContent_default, __spreadValues({}, commonProps))
7348
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7349
+ isEmpty && /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}),
7350
+ /* @__PURE__ */ jsx49(OrderingActivityContent_default, __spreadValues({}, commonProps))
7295
7351
  ] }) : null;
7296
7352
  case "DROPDOWN":
7297
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7298
- isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7299
- /* @__PURE__ */ jsx48(DropdownActivityContent_default, __spreadValues({}, commonProps))
7353
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7354
+ isEmpty && /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}),
7355
+ /* @__PURE__ */ jsx49(DropdownActivityContent_default, __spreadValues({}, commonProps))
7300
7356
  ] }) : null;
7301
7357
  case "MCSA":
7302
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7303
- isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7304
- /* @__PURE__ */ jsx48(MCSAActivityContent_default, __spreadValues({}, commonProps))
7358
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7359
+ isEmpty && /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}),
7360
+ /* @__PURE__ */ jsx49(MCSAActivityContent_default, __spreadValues({}, commonProps))
7305
7361
  ] }) : null;
7306
7362
  case "MCMA":
7307
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7308
- isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7309
- /* @__PURE__ */ jsx48(MCMAActivityContent_default, __spreadValues({}, commonProps))
7363
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7364
+ isEmpty && /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}),
7365
+ /* @__PURE__ */ jsx49(MCMAActivityContent_default, __spreadValues({}, commonProps))
7310
7366
  ] }) : null;
7311
7367
  case "MATCHING":
7312
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7313
- isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7314
- /* @__PURE__ */ jsx48(MatchingActivityContent_default, __spreadValues({}, commonProps))
7368
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7369
+ isEmpty && /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}),
7370
+ /* @__PURE__ */ jsx49(MatchingActivityContent_default, __spreadValues({}, commonProps))
7315
7371
  ] }) : null;
7316
7372
  case "GROUPING":
7317
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7318
- isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7319
- /* @__PURE__ */ jsx48(GroupingActivityContent_default, __spreadValues({}, commonProps))
7373
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7374
+ isEmpty && /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}),
7375
+ /* @__PURE__ */ jsx49(GroupingActivityContent_default, __spreadValues({}, commonProps))
7320
7376
  ] }) : null;
7321
7377
  case "FILL_IN_THE_BLANKS":
7322
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7323
- isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7324
- /* @__PURE__ */ jsx48(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps))
7378
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7379
+ isEmpty && /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}),
7380
+ /* @__PURE__ */ jsx49(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps))
7325
7381
  ] }) : null;
7326
7382
  case "OPEN_ENDED":
7327
- return data.openEndedBodyMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7328
- isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7329
- /* @__PURE__ */ jsx48(
7383
+ return data.openEndedBodyMap ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7384
+ isEmpty && /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}),
7385
+ /* @__PURE__ */ jsx49(
7330
7386
  OpenEndedActivityContent_default,
7331
7387
  __spreadProps(__spreadValues({}, commonProps), {
7332
7388
  showMaterialContent
@@ -7334,20 +7390,20 @@ var ActivityPreviewByData = ({
7334
7390
  )
7335
7391
  ] }) : null;
7336
7392
  case "TRUE_FALSE":
7337
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7338
- isEmpty && /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}),
7339
- /* @__PURE__ */ jsx48(TrueFalseActivityContent_default, __spreadValues({}, commonProps))
7393
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7394
+ isEmpty && /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}),
7395
+ /* @__PURE__ */ jsx49(TrueFalseActivityContent_default, __spreadValues({}, commonProps))
7340
7396
  ] }) : null;
7341
7397
  default:
7342
7398
  return null;
7343
7399
  }
7344
7400
  };
7345
7401
  if (!data) return null;
7346
- return /* @__PURE__ */ jsxs38("div", { children: [
7347
- showType && optionList.length > 0 ? /* @__PURE__ */ jsxs38(Fragment8, { children: [
7348
- /* @__PURE__ */ jsxs38("div", { className: "mb-2", children: [
7349
- showDescription ? /* @__PURE__ */ jsx48("div", { className: "my-2", children: /* @__PURE__ */ jsx48("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7350
- /* @__PURE__ */ jsx48(
7402
+ return /* @__PURE__ */ jsxs39("div", { children: [
7403
+ showType && optionList.length > 0 ? /* @__PURE__ */ jsxs39(Fragment8, { children: [
7404
+ /* @__PURE__ */ jsxs39("div", { className: "mb-2", children: [
7405
+ showDescription ? /* @__PURE__ */ jsx49("div", { className: "my-2", children: /* @__PURE__ */ jsx49("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7406
+ /* @__PURE__ */ jsx49(
7351
7407
  SelectionBox_default,
7352
7408
  {
7353
7409
  optionList,
@@ -7358,17 +7414,17 @@ var ActivityPreviewByData = ({
7358
7414
  }
7359
7415
  )
7360
7416
  ] }),
7361
- /* @__PURE__ */ jsx48(DividerLine_default, {})
7417
+ /* @__PURE__ */ jsx49(DividerLine_default, {})
7362
7418
  ] }) : null,
7363
- /* @__PURE__ */ jsx48("div", { className: "flex flex-col mb-2 w-full", children: RenderSelectedActivityContent() }),
7364
- selectedType && showSolution ? /* @__PURE__ */ jsx48("div", { className: "mb-2", children: /* @__PURE__ */ jsx48(
7419
+ /* @__PURE__ */ jsx49("div", { className: "flex flex-col mb-2 w-full", children: RenderSelectedActivityContent() }),
7420
+ selectedType && showSolution ? /* @__PURE__ */ jsx49("div", { className: "mb-2", children: /* @__PURE__ */ jsx49(
7365
7421
  ActivitySolutionContent_default,
7366
7422
  {
7367
7423
  activityTemplateType: selectedType,
7368
7424
  data
7369
7425
  }
7370
7426
  ) }) : null,
7371
- selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx48("div", { className: "mb-2", children: /* @__PURE__ */ jsx48(
7427
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx49("div", { className: "mb-2", children: /* @__PURE__ */ jsx49(
7372
7428
  ActivityEvaluationRubricContent_default,
7373
7429
  {
7374
7430
  activityTemplateType: selectedType,
@@ -7380,17 +7436,17 @@ var ActivityPreviewByData = ({
7380
7436
  var ActivityPreviewByData_default = ActivityPreviewByData;
7381
7437
 
7382
7438
  // src/components/errors/StatusError.tsx
7383
- import { jsx as jsx49, jsxs as jsxs39 } from "react/jsx-runtime";
7439
+ import { jsx as jsx50, jsxs as jsxs40 } from "react/jsx-runtime";
7384
7440
  var StatusError = ({
7385
7441
  statusCode,
7386
7442
  statusText,
7387
7443
  textSize
7388
7444
  }) => {
7389
- return /* @__PURE__ */ jsxs39("div", { className: "flex flex-col justify-center items-center", children: [
7390
- /* @__PURE__ */ jsx49("p", { className: "text-6xl text-catchup-red my-5", children: i18n_default.t("ooops_text") }),
7391
- /* @__PURE__ */ jsxs39("div", { className: "text-center my-5", children: [
7392
- /* @__PURE__ */ jsx49("p", { className: "italic", children: i18n_default.t("unexcepted_error_text") }),
7393
- /* @__PURE__ */ jsxs39("p", { className: `${textSize ? textSize : "text-lg"}`, children: [
7445
+ return /* @__PURE__ */ jsxs40("div", { className: "flex flex-col justify-center items-center", children: [
7446
+ /* @__PURE__ */ jsx50("p", { className: "text-6xl text-catchup-red my-5", children: i18n_default.t("ooops_text") }),
7447
+ /* @__PURE__ */ jsxs40("div", { className: "text-center my-5", children: [
7448
+ /* @__PURE__ */ jsx50("p", { className: "italic", children: i18n_default.t("unexcepted_error_text") }),
7449
+ /* @__PURE__ */ jsxs40("p", { className: `${textSize ? textSize : "text-lg"}`, children: [
7394
7450
  "(",
7395
7451
  statusCode ? `${statusCode} - ` : null,
7396
7452
  statusText,
@@ -7402,9 +7458,9 @@ var StatusError = ({
7402
7458
  var StatusError_default = StatusError;
7403
7459
 
7404
7460
  // src/components/dividers/BlueVerticalDividerLine.tsx
7405
- import { jsx as jsx50 } from "react/jsx-runtime";
7461
+ import { jsx as jsx51 } from "react/jsx-runtime";
7406
7462
  var BlueVerticalDividerLine = ({ opacity }) => {
7407
- return /* @__PURE__ */ jsx50(
7463
+ return /* @__PURE__ */ jsx51(
7408
7464
  "div",
7409
7465
  {
7410
7466
  className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
@@ -7414,7 +7470,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
7414
7470
  var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
7415
7471
 
7416
7472
  // src/components/groups/LeftTextRightInputGroup.tsx
7417
- import { jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime";
7473
+ import { jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
7418
7474
  var LeftTextRightInputGroup = ({
7419
7475
  type,
7420
7476
  title,
@@ -7424,9 +7480,9 @@ var LeftTextRightInputGroup = ({
7424
7480
  disabled,
7425
7481
  errorText
7426
7482
  }) => {
7427
- return /* @__PURE__ */ jsxs40("div", { className: "w-full flex flex-row mx-2", children: [
7428
- /* @__PURE__ */ jsx51("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ jsx51("p", { children: title }) }),
7429
- /* @__PURE__ */ jsx51("div", { className: "flex-1", children: /* @__PURE__ */ jsx51(
7483
+ return /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-row mx-2", children: [
7484
+ /* @__PURE__ */ jsx52("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ jsx52("p", { children: title }) }),
7485
+ /* @__PURE__ */ jsx52("div", { className: "flex-1", children: /* @__PURE__ */ jsx52(
7430
7486
  InputGroup_default,
7431
7487
  {
7432
7488
  type,
@@ -7442,8 +7498,8 @@ var LeftTextRightInputGroup = ({
7442
7498
  var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
7443
7499
 
7444
7500
  // src/components/groups/PageTravelGroup.tsx
7445
- import { useEffect as useEffect17, useState as useState26 } from "react";
7446
- import { jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
7501
+ import { useEffect as useEffect17, useState as useState27 } from "react";
7502
+ import { jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
7447
7503
  var PageTravelGroup = ({
7448
7504
  isImageProcessing,
7449
7505
  handleImageProcessing,
@@ -7452,8 +7508,8 @@ var PageTravelGroup = ({
7452
7508
  setPageNumber,
7453
7509
  setImageReady
7454
7510
  }) => {
7455
- const [totalPageNumber, setTotalPageNumber] = useState26(0);
7456
- const [newPageNumber, setNewPageNumber] = useState26(0);
7511
+ const [totalPageNumber, setTotalPageNumber] = useState27(0);
7512
+ const [newPageNumber, setNewPageNumber] = useState27(0);
7457
7513
  useEffect17(() => {
7458
7514
  if (!initialTotalPageNumber) return;
7459
7515
  setTotalPageNumber(initialTotalPageNumber);
@@ -7469,8 +7525,8 @@ var PageTravelGroup = ({
7469
7525
  setImageReady(false);
7470
7526
  }
7471
7527
  };
7472
- return /* @__PURE__ */ jsxs41("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap gap-x-2", children: [
7473
- /* @__PURE__ */ jsx52(
7528
+ return /* @__PURE__ */ jsxs42("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap gap-x-2", children: [
7529
+ /* @__PURE__ */ jsx53(
7474
7530
  "button",
7475
7531
  {
7476
7532
  className: "px-2 py-1 bg-catchup-blue-100 rounded-catchup-small",
@@ -7479,12 +7535,12 @@ var PageTravelGroup = ({
7479
7535
  children: "\u2190"
7480
7536
  }
7481
7537
  ),
7482
- /* @__PURE__ */ jsxs41("p", { className: "text-md", children: [
7538
+ /* @__PURE__ */ jsxs42("p", { className: "text-md", children: [
7483
7539
  pageNumber + 1,
7484
7540
  " / ",
7485
7541
  totalPageNumber
7486
7542
  ] }),
7487
- /* @__PURE__ */ jsx52(
7543
+ /* @__PURE__ */ jsx53(
7488
7544
  "button",
7489
7545
  {
7490
7546
  className: "px-2 py-1 bg-catchup-blue-100 rounded-catchup-small",
@@ -7493,7 +7549,7 @@ var PageTravelGroup = ({
7493
7549
  children: "\u2192"
7494
7550
  }
7495
7551
  ),
7496
- /* @__PURE__ */ jsx52(
7552
+ /* @__PURE__ */ jsx53(
7497
7553
  "input",
7498
7554
  {
7499
7555
  className: "w-[90px] py-2 px-4 border border-catchup-gray-100 rounded-catchup-xlarge focus:outline-none placeholder-catchup-gray-200 focus:border-catchup-blue-400 focus:shadow-input",
@@ -7516,13 +7572,13 @@ var PageTravelGroup = ({
7516
7572
  var PageTravelGroup_default = PageTravelGroup;
7517
7573
 
7518
7574
  // src/hooks/useScreenSize.ts
7519
- import { useState as useState27, useEffect as useEffect18 } from "react";
7575
+ import { useState as useState28, useEffect as useEffect18 } from "react";
7520
7576
  var useScreenSize = () => {
7521
- const [containerSize, setContainerSize] = useState27({
7577
+ const [containerSize, setContainerSize] = useState28({
7522
7578
  width: 0,
7523
7579
  height: 0
7524
7580
  });
7525
- const [screenSize, setScreenSize] = useState27({
7581
+ const [screenSize, setScreenSize] = useState28({
7526
7582
  width: window.innerWidth,
7527
7583
  height: window.innerHeight
7528
7584
  });
@@ -7551,14 +7607,14 @@ var useScreenSize = () => {
7551
7607
  var useScreenSize_default = useScreenSize;
7552
7608
 
7553
7609
  // src/components/boxes/SelectionCheckbox.tsx
7554
- import { jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
7610
+ import { jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
7555
7611
  var SelectionCheckbox = ({
7556
7612
  optionList,
7557
7613
  selectedIdList,
7558
7614
  handleSelectOnClick,
7559
7615
  handleRemoveOnClick
7560
7616
  }) => {
7561
- return /* @__PURE__ */ jsx53("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx53(
7617
+ return /* @__PURE__ */ jsx54("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx54(
7562
7618
  "div",
7563
7619
  {
7564
7620
  className: `${selectedIdList.findIndex(
@@ -7573,14 +7629,14 @@ var SelectionCheckbox = ({
7573
7629
  handleRemoveOnClick(option.id);
7574
7630
  }
7575
7631
  },
7576
- children: /* @__PURE__ */ jsxs42(
7632
+ children: /* @__PURE__ */ jsxs43(
7577
7633
  "div",
7578
7634
  {
7579
7635
  className: `flex flex-row items-center gap-x-1 ${selectedIdList.findIndex(
7580
7636
  (selectedId) => selectedId === option.id
7581
7637
  ) > -1 ? "opacity-100" : "opacity-50"}`,
7582
7638
  children: [
7583
- /* @__PURE__ */ jsx53(
7639
+ /* @__PURE__ */ jsx54(
7584
7640
  BaseImage_default,
7585
7641
  {
7586
7642
  src: selectedIdList.findIndex(
@@ -7590,7 +7646,7 @@ var SelectionCheckbox = ({
7590
7646
  size: "small"
7591
7647
  }
7592
7648
  ),
7593
- /* @__PURE__ */ jsx53("div", { className: "flex-1", children: /* @__PURE__ */ jsx53("p", { children: option.text }) })
7649
+ /* @__PURE__ */ jsx54("div", { className: "flex-1", children: /* @__PURE__ */ jsx54("p", { children: option.text }) })
7594
7650
  ]
7595
7651
  }
7596
7652
  )
@@ -7601,7 +7657,7 @@ var SelectionCheckbox = ({
7601
7657
  var SelectionCheckbox_default = SelectionCheckbox;
7602
7658
 
7603
7659
  // src/components/tabs/SelectionTab.tsx
7604
- import { jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
7660
+ import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
7605
7661
  var SelectionTab = ({
7606
7662
  optionList,
7607
7663
  selectedId,
@@ -7611,7 +7667,7 @@ var SelectionTab = ({
7611
7667
  textColor,
7612
7668
  borderColor
7613
7669
  }) => {
7614
- return /* @__PURE__ */ jsx54("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__ */ jsxs43(
7670
+ return /* @__PURE__ */ jsx55("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__ */ jsxs44(
7615
7671
  "div",
7616
7672
  {
7617
7673
  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 px-4 py-2 cursor-pointer`,
@@ -7619,8 +7675,8 @@ var SelectionTab = ({
7619
7675
  handleSelectOnClick(option.id);
7620
7676
  },
7621
7677
  children: [
7622
- /* @__PURE__ */ jsx54("p", { className: "text-lg", children: option.title }),
7623
- option.subTitle ? /* @__PURE__ */ jsx54("p", { className: "text-md", children: option.subTitle }) : null
7678
+ /* @__PURE__ */ jsx55("p", { className: "text-lg", children: option.title }),
7679
+ option.subTitle ? /* @__PURE__ */ jsx55("p", { className: "text-md", children: option.subTitle }) : null
7624
7680
  ]
7625
7681
  },
7626
7682
  index
@@ -7629,20 +7685,20 @@ var SelectionTab = ({
7629
7685
  var SelectionTab_default = SelectionTab;
7630
7686
 
7631
7687
  // src/components/tabs/SelectionTabFill.tsx
7632
- import { jsx as jsx55 } from "react/jsx-runtime";
7688
+ import { jsx as jsx56 } from "react/jsx-runtime";
7633
7689
  var SelectionTabFill = ({
7634
7690
  optionList,
7635
7691
  selectedId,
7636
7692
  handleSelectOnClick
7637
7693
  }) => {
7638
- return /* @__PURE__ */ jsx55("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__ */ jsx55(
7694
+ return /* @__PURE__ */ jsx56("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__ */ jsx56(
7639
7695
  "div",
7640
7696
  {
7641
7697
  className: "cursor-pointer",
7642
7698
  onClick: () => {
7643
7699
  handleSelectOnClick(option.id);
7644
7700
  },
7645
- children: /* @__PURE__ */ jsx55(
7701
+ children: /* @__PURE__ */ jsx56(
7646
7702
  "p",
7647
7703
  {
7648
7704
  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`,
@@ -7656,7 +7712,7 @@ var SelectionTabFill = ({
7656
7712
  var SelectionTabFill_default = SelectionTabFill;
7657
7713
 
7658
7714
  // src/components/tabs/SelectionTabPill.tsx
7659
- import { jsx as jsx56 } from "react/jsx-runtime";
7715
+ import { jsx as jsx57 } from "react/jsx-runtime";
7660
7716
  var SelectionTabPill = ({
7661
7717
  optionList,
7662
7718
  selectedId,
@@ -7664,12 +7720,12 @@ var SelectionTabPill = ({
7664
7720
  selectedClassName,
7665
7721
  unselectedClassName
7666
7722
  }) => {
7667
- return /* @__PURE__ */ jsx56("div", { className: "flex flex-wrap items-center gap-3 my-2", children: optionList.map((option, index) => /* @__PURE__ */ jsx56(
7723
+ return /* @__PURE__ */ jsx57("div", { className: "flex flex-wrap items-center gap-3 my-2", children: optionList.map((option, index) => /* @__PURE__ */ jsx57(
7668
7724
  "button",
7669
7725
  {
7670
7726
  onClick: () => handleSelectOnClick(option.id),
7671
7727
  className: `px-4 py-2 rounded-catchup-full transition-all duration-200 cursor-pointer ${selectedId === option.id ? selectedClassName || "bg-catchup-blue text-catchup-white shadow-card" : unselectedClassName || "bg-catchup-blue-100 text-catchup-blue-800 hover:bg-catchup-blue-200"}`,
7672
- children: /* @__PURE__ */ jsx56("span", { className: "text-base font-semibold", children: option.title })
7728
+ children: /* @__PURE__ */ jsx57("span", { className: "text-base font-semibold", children: option.title })
7673
7729
  },
7674
7730
  index
7675
7731
  )) });
@@ -7677,7 +7733,7 @@ var SelectionTabPill = ({
7677
7733
  var SelectionTabPill_default = SelectionTabPill;
7678
7734
 
7679
7735
  // src/components/labels/Label.tsx
7680
- import { jsx as jsx57, jsxs as jsxs44 } from "react/jsx-runtime";
7736
+ import { jsx as jsx58, jsxs as jsxs45 } from "react/jsx-runtime";
7681
7737
  var Label = ({
7682
7738
  title,
7683
7739
  icon,
@@ -7687,7 +7743,7 @@ var Label = ({
7687
7743
  backgroundColor,
7688
7744
  textColor
7689
7745
  }) => {
7690
- return /* @__PURE__ */ jsx57(
7746
+ return /* @__PURE__ */ jsx58(
7691
7747
  "div",
7692
7748
  {
7693
7749
  className: "px-3 py-1 gap-x-3 border rounded-catchup-2xlarge text-center",
@@ -7697,9 +7753,9 @@ var Label = ({
7697
7753
  background: backgroundColor,
7698
7754
  color: textColor
7699
7755
  },
7700
- children: /* @__PURE__ */ jsxs44("div", { className: "flex flex-row items-center gap-x-2", children: [
7756
+ children: /* @__PURE__ */ jsxs45("div", { className: "flex flex-row items-center gap-x-2", children: [
7701
7757
  icon,
7702
- /* @__PURE__ */ jsx57("p", { className: font, children: title })
7758
+ /* @__PURE__ */ jsx58("p", { className: font, children: title })
7703
7759
  ] })
7704
7760
  }
7705
7761
  );
@@ -7707,9 +7763,9 @@ var Label = ({
7707
7763
  var Label_default = Label;
7708
7764
 
7709
7765
  // src/components/labels/AmberLabel.tsx
7710
- import { jsx as jsx58 } from "react/jsx-runtime";
7766
+ import { jsx as jsx59 } from "react/jsx-runtime";
7711
7767
  var AmberLabel = ({ title, icon, font }) => {
7712
- return /* @__PURE__ */ jsx58(
7768
+ return /* @__PURE__ */ jsx59(
7713
7769
  Label_default,
7714
7770
  {
7715
7771
  title,
@@ -7724,9 +7780,9 @@ var AmberLabel = ({ title, icon, font }) => {
7724
7780
  var AmberLabel_default = AmberLabel;
7725
7781
 
7726
7782
  // src/components/labels/TealLabel.tsx
7727
- import { jsx as jsx59 } from "react/jsx-runtime";
7783
+ import { jsx as jsx60 } from "react/jsx-runtime";
7728
7784
  var TealLabel = ({ title, icon, font }) => {
7729
- return /* @__PURE__ */ jsx59(
7785
+ return /* @__PURE__ */ jsx60(
7730
7786
  Label_default,
7731
7787
  {
7732
7788
  title,
@@ -7741,9 +7797,9 @@ var TealLabel = ({ title, icon, font }) => {
7741
7797
  var TealLabel_default = TealLabel;
7742
7798
 
7743
7799
  // src/components/labels/PurpleLabel.tsx
7744
- import { jsx as jsx60 } from "react/jsx-runtime";
7800
+ import { jsx as jsx61 } from "react/jsx-runtime";
7745
7801
  var PurpleLabel = ({ title, icon, font }) => {
7746
- return /* @__PURE__ */ jsx60(
7802
+ return /* @__PURE__ */ jsx61(
7747
7803
  Label_default,
7748
7804
  {
7749
7805
  title,
@@ -7758,9 +7814,9 @@ var PurpleLabel = ({ title, icon, font }) => {
7758
7814
  var PurpleLabel_default = PurpleLabel;
7759
7815
 
7760
7816
  // src/components/labels/GreenLabel.tsx
7761
- import { jsx as jsx61 } from "react/jsx-runtime";
7817
+ import { jsx as jsx62 } from "react/jsx-runtime";
7762
7818
  var GreenLabel = ({ title, icon, font }) => {
7763
- return /* @__PURE__ */ jsx61(
7819
+ return /* @__PURE__ */ jsx62(
7764
7820
  Label_default,
7765
7821
  {
7766
7822
  title,
@@ -7775,9 +7831,9 @@ var GreenLabel = ({ title, icon, font }) => {
7775
7831
  var GreenLabel_default = GreenLabel;
7776
7832
 
7777
7833
  // src/components/labels/BlueLabel.tsx
7778
- import { jsx as jsx62 } from "react/jsx-runtime";
7834
+ import { jsx as jsx63 } from "react/jsx-runtime";
7779
7835
  var BlueLabel = ({ title, icon, font }) => {
7780
- return /* @__PURE__ */ jsx62(
7836
+ return /* @__PURE__ */ jsx63(
7781
7837
  Label_default,
7782
7838
  {
7783
7839
  title,
@@ -7792,9 +7848,9 @@ var BlueLabel = ({ title, icon, font }) => {
7792
7848
  var BlueLabel_default = BlueLabel;
7793
7849
 
7794
7850
  // src/components/labels/OrangeLabel.tsx
7795
- import { jsx as jsx63 } from "react/jsx-runtime";
7851
+ import { jsx as jsx64 } from "react/jsx-runtime";
7796
7852
  var OrangeLabel = ({ title, icon, font }) => {
7797
- return /* @__PURE__ */ jsx63(
7853
+ return /* @__PURE__ */ jsx64(
7798
7854
  Label_default,
7799
7855
  {
7800
7856
  title,
@@ -7809,9 +7865,9 @@ var OrangeLabel = ({ title, icon, font }) => {
7809
7865
  var OrangeLabel_default = OrangeLabel;
7810
7866
 
7811
7867
  // src/components/labels/RedLabel.tsx
7812
- import { jsx as jsx64 } from "react/jsx-runtime";
7868
+ import { jsx as jsx65 } from "react/jsx-runtime";
7813
7869
  var RedLabel = ({ title, icon, font }) => {
7814
- return /* @__PURE__ */ jsx64(
7870
+ return /* @__PURE__ */ jsx65(
7815
7871
  Label_default,
7816
7872
  {
7817
7873
  title,
@@ -7826,9 +7882,9 @@ var RedLabel = ({ title, icon, font }) => {
7826
7882
  var RedLabel_default = RedLabel;
7827
7883
 
7828
7884
  // src/components/labels/LimeLabel.tsx
7829
- import { jsx as jsx65 } from "react/jsx-runtime";
7885
+ import { jsx as jsx66 } from "react/jsx-runtime";
7830
7886
  var LimeLabel = ({ title, icon, font }) => {
7831
- return /* @__PURE__ */ jsx65(
7887
+ return /* @__PURE__ */ jsx66(
7832
7888
  Label_default,
7833
7889
  {
7834
7890
  title,
@@ -7843,9 +7899,9 @@ var LimeLabel = ({ title, icon, font }) => {
7843
7899
  var LimeLabel_default = LimeLabel;
7844
7900
 
7845
7901
  // src/components/labels/CoralLabel.tsx
7846
- import { jsx as jsx66 } from "react/jsx-runtime";
7902
+ import { jsx as jsx67 } from "react/jsx-runtime";
7847
7903
  var CoralLabel = ({ title, icon, font }) => {
7848
- return /* @__PURE__ */ jsx66(
7904
+ return /* @__PURE__ */ jsx67(
7849
7905
  Label_default,
7850
7906
  {
7851
7907
  title,
@@ -7860,9 +7916,9 @@ var CoralLabel = ({ title, icon, font }) => {
7860
7916
  var CoralLabel_default = CoralLabel;
7861
7917
 
7862
7918
  // src/components/labels/CyanLabel.tsx
7863
- import { jsx as jsx67 } from "react/jsx-runtime";
7919
+ import { jsx as jsx68 } from "react/jsx-runtime";
7864
7920
  var CyanLabel = ({ title, icon, font }) => {
7865
- return /* @__PURE__ */ jsx67(
7921
+ return /* @__PURE__ */ jsx68(
7866
7922
  Label_default,
7867
7923
  {
7868
7924
  title,
@@ -7877,9 +7933,9 @@ var CyanLabel = ({ title, icon, font }) => {
7877
7933
  var CyanLabel_default = CyanLabel;
7878
7934
 
7879
7935
  // src/components/labels/GrayLabel.tsx
7880
- import { jsx as jsx68 } from "react/jsx-runtime";
7936
+ import { jsx as jsx69 } from "react/jsx-runtime";
7881
7937
  var GrayLabel = ({ title, icon, font }) => {
7882
- return /* @__PURE__ */ jsx68(
7938
+ return /* @__PURE__ */ jsx69(
7883
7939
  Label_default,
7884
7940
  {
7885
7941
  title,
@@ -7894,20 +7950,20 @@ var GrayLabel = ({ title, icon, font }) => {
7894
7950
  var GrayLabel_default = GrayLabel;
7895
7951
 
7896
7952
  // src/components/infos/InfoWithText.tsx
7897
- import { jsx as jsx69, jsxs as jsxs45 } from "react/jsx-runtime";
7953
+ import { jsx as jsx70, jsxs as jsxs46 } from "react/jsx-runtime";
7898
7954
  var InfoWithText = (props) => {
7899
7955
  const { value } = props;
7900
- return /* @__PURE__ */ jsxs45("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7901
- /* @__PURE__ */ jsx69(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7902
- /* @__PURE__ */ jsx69("div", { className: "flex-1", children: /* @__PURE__ */ jsx69("p", { className: "", children: value }) })
7956
+ return /* @__PURE__ */ jsxs46("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7957
+ /* @__PURE__ */ jsx70(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7958
+ /* @__PURE__ */ jsx70("div", { className: "flex-1", children: /* @__PURE__ */ jsx70("p", { className: "", children: value }) })
7903
7959
  ] });
7904
7960
  };
7905
7961
  var InfoWithText_default = InfoWithText;
7906
7962
 
7907
7963
  // src/components/titles/SubTitle.tsx
7908
- import { jsx as jsx70 } from "react/jsx-runtime";
7964
+ import { jsx as jsx71 } from "react/jsx-runtime";
7909
7965
  var SubTitle = ({ title }) => {
7910
- return /* @__PURE__ */ jsx70("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7966
+ return /* @__PURE__ */ jsx71("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7911
7967
  };
7912
7968
  var SubTitle_default = SubTitle;
7913
7969
 
@@ -10790,6 +10846,7 @@ export {
10790
10846
  SelectionTab_default as SelectionTab,
10791
10847
  SelectionTabFill_default as SelectionTabFill,
10792
10848
  SelectionTabPill_default as SelectionTabPill,
10849
+ StartButton_default as StartButton,
10793
10850
  StatusError_default as StatusError,
10794
10851
  SubTitle_default as SubTitle,
10795
10852
  THREE_MONTHS,