catchup-library-web 1.20.11 → 1.20.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -4816,7 +4816,7 @@ var DropdownActivityContent = ({
4816
4816
  var DropdownActivityContent_default = DropdownActivityContent;
4817
4817
 
4818
4818
  // src/components/activities/material-contents/FillInTheBlanksActivityMaterialContent.tsx
4819
- var import_react_katex3 = require("react-katex");
4819
+ var import_react_katex4 = require("react-katex");
4820
4820
  var import_react19 = require("react");
4821
4821
  var import_react20 = require("react");
4822
4822
  var import_react_dnd3 = require("react-dnd");
@@ -4880,8 +4880,32 @@ var DroppableItem = ({
4880
4880
  };
4881
4881
  var DroppableItem_default = DroppableItem;
4882
4882
 
4883
- // src/components/activities/material-contents/FillInTheBlanksActivityMaterialContent.tsx
4883
+ // src/components/texts/InputWithSpecialExpression.tsx
4884
+ var import_react_katex3 = require("react-katex");
4884
4885
  var import_jsx_runtime29 = require("react/jsx-runtime");
4886
+ var InputWithSpecialExpression = ({
4887
+ value,
4888
+ showSpecialOnly
4889
+ }) => {
4890
+ const inputWithSpecialExpressionList = constructInputWithSpecialExpressionList(value);
4891
+ return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4892
+ "span",
4893
+ {
4894
+ className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4895
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_katex3.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
4896
+ }
4897
+ )) }) }) : null : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4898
+ "span",
4899
+ {
4900
+ className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4901
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_katex3.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
4902
+ }
4903
+ )) }) });
4904
+ };
4905
+ var InputWithSpecialExpression_default = InputWithSpecialExpression;
4906
+
4907
+ // src/components/activities/material-contents/FillInTheBlanksActivityMaterialContent.tsx
4908
+ var import_jsx_runtime30 = require("react/jsx-runtime");
4885
4909
  var FillInTheBlanksActivityMaterialContent = ({
4886
4910
  uniqueValue,
4887
4911
  answer,
@@ -4940,12 +4964,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4940
4964
  return Object.keys(answerMap2).findIndex((key) => answerMap2[key] === option) !== -1;
4941
4965
  };
4942
4966
  const answerMap = retrieveAnswerMap();
4943
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4967
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4944
4968
  }, children: [
4945
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4946
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DividerLine_default, {}) }),
4947
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4948
- (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "opacity-30", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4969
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4970
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DividerLine_default, {}) }),
4971
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4972
+ (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "opacity-30", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4949
4973
  ShowMaterialMediaByContentType_default,
4950
4974
  {
4951
4975
  contentType: contentMap.type,
@@ -4953,12 +4977,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4953
4977
  canFullScreen: true
4954
4978
  },
4955
4979
  `${uniqueValue}-${index}`
4956
- ) }, index) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4980
+ ) }, index) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4957
4981
  DraggableItem_default,
4958
4982
  {
4959
4983
  item: { index: option },
4960
4984
  type: "FILL_IN_THE_BLANKS",
4961
- component: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
4985
+ component: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4962
4986
  "div",
4963
4987
  {
4964
4988
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4966,9 +4990,15 @@ var FillInTheBlanksActivityMaterialContent = ({
4966
4990
  setSelectedOption(option);
4967
4991
  setPasteOptionIndex(null);
4968
4992
  },
4969
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "italic whitespace-pre-wrap", children: option })
4993
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4994
+ InputWithSpecialExpression_default,
4995
+ {
4996
+ value: option,
4997
+ showSpecialOnly: true
4998
+ }
4999
+ ) })
4970
5000
  }
4971
- ) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5001
+ ) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4972
5002
  "div",
4973
5003
  {
4974
5004
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4976,7 +5006,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4976
5006
  setSelectedOption(option);
4977
5007
  setPasteOptionIndex(null);
4978
5008
  },
4979
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5009
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
4980
5010
  ShowMaterialMediaByContentType_default,
4981
5011
  {
4982
5012
  contentType: contentMap.type,
@@ -4994,12 +5024,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4994
5024
  index
4995
5025
  )
4996
5026
  ) }),
4997
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
5027
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4998
5028
  const learnerAnswerState = checkAnswerState(
4999
5029
  JSON.parse(materialMap[materialKey]),
5000
5030
  answerMap[materialKey]
5001
5031
  );
5002
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5032
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5003
5033
  DroppableItem_default,
5004
5034
  {
5005
5035
  item: { index },
@@ -5007,13 +5037,13 @@ var FillInTheBlanksActivityMaterialContent = ({
5007
5037
  target: pasteOptionIndex,
5008
5038
  setTarget: setPasteOptionIndex,
5009
5039
  dropRef: drop,
5010
- component: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
5011
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("p", { className: "text-xl", children: [
5040
+ component: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
5041
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("p", { className: "text-xl", children: [
5012
5042
  parseFloat(materialKey) + 1,
5013
5043
  "."
5014
5044
  ] }) }),
5015
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "relative", children: [
5016
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5045
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "relative", children: [
5046
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5017
5047
  InputGroup_default,
5018
5048
  {
5019
5049
  type: "textarea",
@@ -5028,14 +5058,14 @@ var FillInTheBlanksActivityMaterialContent = ({
5028
5058
  }
5029
5059
  }
5030
5060
  ) }),
5031
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5061
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5032
5062
  BaseImage_default,
5033
5063
  {
5034
5064
  src: "/icons/checkbox.webp",
5035
5065
  alt: "checkbox",
5036
5066
  size: "small"
5037
5067
  }
5038
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5068
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5039
5069
  BaseImage_default,
5040
5070
  {
5041
5071
  src: "/icons/cross-red.webp",
@@ -5043,20 +5073,20 @@ var FillInTheBlanksActivityMaterialContent = ({
5043
5073
  size: "small"
5044
5074
  }
5045
5075
  ) }) : null
5046
- ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5076
+ ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5047
5077
  "div",
5048
5078
  {
5049
5079
  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"}`,
5050
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
5080
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
5051
5081
  }
5052
- ) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5082
+ ) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5053
5083
  "div",
5054
5084
  {
5055
5085
  className: "flex-1 cursor-pointer",
5056
5086
  onClick: () => {
5057
5087
  onChange(answer, materialKey, "");
5058
5088
  },
5059
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5089
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5060
5090
  ShowMaterialMediaByContentType_default,
5061
5091
  {
5062
5092
  contentType: contentMap.type,
@@ -5066,13 +5096,13 @@ var FillInTheBlanksActivityMaterialContent = ({
5066
5096
  `${uniqueValue}-${index}`
5067
5097
  )
5068
5098
  }
5069
- ) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5099
+ ) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5070
5100
  answerMap[materialKey]
5071
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5101
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5072
5102
  "span",
5073
5103
  {
5074
5104
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5075
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_katex3.InlineMath, { math: inputPart.value }) }) : inputPart.value
5105
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5076
5106
  },
5077
5107
  index2
5078
5108
  )) }, materialKey) })
@@ -5087,7 +5117,7 @@ var FillInTheBlanksActivityMaterialContent_default = FillInTheBlanksActivityMate
5087
5117
 
5088
5118
  // src/components/activities/FillInTheBlanksActivityContent.tsx
5089
5119
  var import_react21 = require("react");
5090
- var import_jsx_runtime30 = require("react/jsx-runtime");
5120
+ var import_jsx_runtime31 = require("react/jsx-runtime");
5091
5121
  var FillInTheBlanksActivityContent = ({
5092
5122
  answer,
5093
5123
  data,
@@ -5155,8 +5185,8 @@ var FillInTheBlanksActivityContent = ({
5155
5185
  setCurrentAnswerMap(newAnswerMap);
5156
5186
  changeAnswer(newAnswer);
5157
5187
  };
5158
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5159
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5188
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5189
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5160
5190
  ActivityBodyContent_default,
5161
5191
  {
5162
5192
  bodyMap: fillInTheBlanksBodyMap,
@@ -5165,9 +5195,9 @@ var FillInTheBlanksActivityContent = ({
5165
5195
  templateType: "FILL_IN_THE_BLANKS"
5166
5196
  }
5167
5197
  ) }),
5168
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DividerLine_default, {}) }),
5169
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(VerticalDividerLine_default, {}) }),
5170
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5198
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DividerLine_default, {}) }),
5199
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(VerticalDividerLine_default, {}) }),
5200
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5171
5201
  FillInTheBlanksActivityMaterialContent_default,
5172
5202
  {
5173
5203
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5188,8 +5218,8 @@ var FillInTheBlanksActivityContent_default = FillInTheBlanksActivityContent;
5188
5218
  // src/components/activities/material-contents/GroupingActivityMaterialContent.tsx
5189
5219
  var import_react22 = require("react");
5190
5220
  var import_react_dnd4 = require("react-dnd");
5191
- var import_react_katex4 = require("react-katex");
5192
- var import_jsx_runtime31 = require("react/jsx-runtime");
5221
+ var import_react_katex5 = require("react-katex");
5222
+ var import_jsx_runtime32 = require("react/jsx-runtime");
5193
5223
  var GroupingActivityMaterialContent = ({
5194
5224
  uniqueValue,
5195
5225
  answer,
@@ -5279,15 +5309,15 @@ var GroupingActivityMaterialContent = ({
5279
5309
  };
5280
5310
  const answerMap = retrieveAnswerMap();
5281
5311
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
5282
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
5283
- filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
5284
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex-1 flex flex-row gap-x-4 overflow-x-auto py-2", children: filteredMaterialList.map((materialValue, index) => {
5285
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5312
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
5313
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
5314
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex-1 flex flex-row gap-x-4 overflow-x-auto py-2", children: filteredMaterialList.map((materialValue, index) => {
5315
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5286
5316
  DraggableItem_default,
5287
5317
  {
5288
5318
  item: { index: materialValue },
5289
5319
  type: "GROUPING",
5290
- component: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5320
+ component: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5291
5321
  "div",
5292
5322
  {
5293
5323
  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`,
@@ -5301,16 +5331,16 @@ var GroupingActivityMaterialContent = ({
5301
5331
  setSelectedValue(null);
5302
5332
  }
5303
5333
  },
5304
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5334
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5305
5335
  materialValue
5306
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5336
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5307
5337
  "span",
5308
5338
  {
5309
5339
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5310
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5340
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5311
5341
  },
5312
5342
  index2
5313
- )) }) }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5343
+ )) }) }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5314
5344
  ShowMaterialMediaByContentType_default,
5315
5345
  {
5316
5346
  contentType: contentMap.type,
@@ -5333,31 +5363,31 @@ var GroupingActivityMaterialContent = ({
5333
5363
  index
5334
5364
  );
5335
5365
  }) }),
5336
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DividerLine_default, {})
5366
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {})
5337
5367
  ] }) : null,
5338
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "overflow-y-auto max-h-[600px]", children: Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row w-full", children: [
5339
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5368
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "overflow-y-auto max-h-[600px]", children: Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex flex-row w-full", children: [
5369
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5340
5370
  "div",
5341
5371
  {
5342
5372
  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`,
5343
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex flex-col items-center justify-center transition-all duration-300 px-4", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5344
- (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5373
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex flex-col items-center justify-center transition-all duration-300 px-4", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5374
+ (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5345
5375
  "span",
5346
5376
  {
5347
5377
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5348
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5378
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5349
5379
  },
5350
5380
  index2
5351
5381
  )
5352
5382
  ) }) })
5353
5383
  }
5354
5384
  ) }),
5355
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5356
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex-1 min-w-0", ref, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "h-full py-3", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5385
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5386
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex-1 min-w-0", ref, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "h-full py-3", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5357
5387
  "div",
5358
5388
  {
5359
5389
  className: `${canDrop ? selectedTargetKey === answerMapKey ? "bg-catchup-light-blue" : "bg-catchup-light-blue opacity-40" : ""} flex-1 border-catchup-blue rounded-catchup-xlarge border-2 h-full p-1`,
5360
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5390
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5361
5391
  DroppableItem_default,
5362
5392
  {
5363
5393
  item: { index: answerMapKey },
@@ -5365,17 +5395,17 @@ var GroupingActivityMaterialContent = ({
5365
5395
  target: selectedTargetKey,
5366
5396
  setTarget: setSelectedTargetKey,
5367
5397
  dropRef: drop,
5368
- component: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "h-full w-full overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex flex-row items-center gap-2 w-max h-full", children: answerMap[answerMapKey].map(
5398
+ component: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "h-full w-full overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex flex-row items-center gap-2 w-max h-full", children: answerMap[answerMapKey].map(
5369
5399
  (answerMapValue, answerMapIndex) => {
5370
5400
  const learnerAnswerState = checkAnswerState(
5371
5401
  materialMap[answerMapKey],
5372
5402
  answerMapValue
5373
5403
  );
5374
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "p-1", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5404
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "p-1", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5375
5405
  "div",
5376
5406
  {
5377
5407
  className: `${contentMap.type === "TEXT" ? "h-catchup-activity-text-box-item" : "h-catchup-activity-media-box-item"}`,
5378
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5408
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5379
5409
  "div",
5380
5410
  {
5381
5411
  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`,
@@ -5391,21 +5421,21 @@ var GroupingActivityMaterialContent = ({
5391
5421
  setSelectedValue(null);
5392
5422
  }
5393
5423
  },
5394
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex flex-col items-center justify-center transition-all duration-300 min-w-[200px] overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5424
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex flex-col items-center justify-center transition-all duration-300 min-w-[200px] overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5395
5425
  answerMapValue
5396
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5426
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5397
5427
  "span",
5398
5428
  {
5399
5429
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5400
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5401
- import_react_katex4.InlineMath,
5430
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5431
+ import_react_katex5.InlineMath,
5402
5432
  {
5403
5433
  math: inputPart.value
5404
5434
  }
5405
5435
  ) }) : inputPart.value
5406
5436
  },
5407
5437
  index2
5408
- )) }) }) }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5438
+ )) }) }) }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5409
5439
  ShowMaterialMediaByContentType_default,
5410
5440
  {
5411
5441
  contentType: contentMap.type,
@@ -5431,7 +5461,7 @@ var GroupingActivityMaterialContent = ({
5431
5461
  var GroupingActivityMaterialContent_default = GroupingActivityMaterialContent;
5432
5462
 
5433
5463
  // src/components/activities/GroupingActivityContent.tsx
5434
- var import_jsx_runtime32 = require("react/jsx-runtime");
5464
+ var import_jsx_runtime33 = require("react/jsx-runtime");
5435
5465
  var GroupingActivityContent = ({
5436
5466
  answer,
5437
5467
  data,
@@ -5456,16 +5486,16 @@ var GroupingActivityContent = ({
5456
5486
  }
5457
5487
  changeAnswer(answer2);
5458
5488
  };
5459
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
5460
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5489
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
5490
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5461
5491
  ActivityBodyContent_default,
5462
5492
  {
5463
5493
  bodyMap: groupingBodyMap,
5464
5494
  templateType: "GROUPING"
5465
5495
  }
5466
5496
  ),
5467
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {}),
5468
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5497
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DividerLine_default, {}),
5498
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5469
5499
  GroupingActivityMaterialContent_default,
5470
5500
  {
5471
5501
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5485,8 +5515,8 @@ var GroupingActivityContent_default = GroupingActivityContent;
5485
5515
  // src/components/activities/material-contents/MatchingActivityMaterialContent.tsx
5486
5516
  var import_react23 = require("react");
5487
5517
  var import_react_dnd5 = require("react-dnd");
5488
- var import_react_katex5 = require("react-katex");
5489
- var import_jsx_runtime33 = require("react/jsx-runtime");
5518
+ var import_react_katex6 = require("react-katex");
5519
+ var import_jsx_runtime34 = require("react/jsx-runtime");
5490
5520
  var MatchingActivityMaterialContent = ({
5491
5521
  uniqueValue,
5492
5522
  answer,
@@ -5567,19 +5597,19 @@ var MatchingActivityMaterialContent = ({
5567
5597
  };
5568
5598
  const answerMap = retrieveAnswerMap();
5569
5599
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
5570
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
5571
- filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
5572
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5600
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
5601
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
5602
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5573
5603
  "div",
5574
5604
  {
5575
5605
  ref: itemsRef,
5576
5606
  className: "flex-shrink-0 flex flex-row gap-x-4 gap-y-4 overflow-x-auto py-2",
5577
- children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5607
+ children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5578
5608
  DraggableItem_default,
5579
5609
  {
5580
5610
  item: { index: materialValue },
5581
5611
  type: "MATCHING",
5582
- component: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5612
+ component: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5583
5613
  "div",
5584
5614
  {
5585
5615
  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`,
@@ -5593,16 +5623,16 @@ var MatchingActivityMaterialContent = ({
5593
5623
  setSelectedValue(null);
5594
5624
  }
5595
5625
  },
5596
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] overflow-y-auto px-4", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5626
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "flex flex-col items-center justify-center m-2 min-w-[200px] overflow-y-auto px-4", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5597
5627
  materialValue
5598
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5628
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5599
5629
  "span",
5600
5630
  {
5601
5631
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5602
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5632
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5603
5633
  },
5604
5634
  index2
5605
- )) }) }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5635
+ )) }) }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5606
5636
  ShowMaterialMediaByContentType_default,
5607
5637
  {
5608
5638
  contentType: contentMap.type,
@@ -5626,32 +5656,32 @@ var MatchingActivityMaterialContent = ({
5626
5656
  ))
5627
5657
  }
5628
5658
  ),
5629
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DividerLine_default, {}) })
5659
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DividerLine_default, {}) })
5630
5660
  ] }) : null,
5631
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "overflow-y-auto max-h-[600px]", children: Object.keys(answerMap).map((answerMapKey, index) => {
5661
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "overflow-y-auto max-h-[600px]", children: Object.keys(answerMap).map((answerMapKey, index) => {
5632
5662
  const learnerAnswerState = checkAnswerState(
5633
5663
  materialMap[answerMapKey],
5634
5664
  answerMap[answerMapKey]
5635
5665
  );
5636
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-row w-full", children: [
5637
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5666
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-row w-full", children: [
5667
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5638
5668
  "div",
5639
5669
  {
5640
5670
  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"}`,
5641
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex flex-col items-center justify-center transition-all duration-300 px-4", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5671
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "flex flex-col items-center justify-center transition-all duration-300 px-4", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5642
5672
  answerMapKey
5643
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5673
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5644
5674
  "span",
5645
5675
  {
5646
5676
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5647
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5677
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5648
5678
  },
5649
5679
  index2
5650
5680
  )) }) })
5651
5681
  }
5652
5682
  ) }),
5653
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5654
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5683
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5684
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5655
5685
  "div",
5656
5686
  {
5657
5687
  className: `${canDrop ? selectedTargetKey === answerMapKey ? "bg-catchup-light-blue" : "bg-catchup-light-blue opacity-40" : ""} ${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"}`,
@@ -5660,7 +5690,7 @@ var MatchingActivityMaterialContent = ({
5660
5690
  setSelectedValue(null);
5661
5691
  }
5662
5692
  },
5663
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5693
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5664
5694
  DroppableItem_default,
5665
5695
  {
5666
5696
  item: { index: answerMapKey },
@@ -5668,7 +5698,7 @@ var MatchingActivityMaterialContent = ({
5668
5698
  target: selectedTargetKey,
5669
5699
  setTarget: setSelectedTargetKey,
5670
5700
  dropRef: drop,
5671
- component: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5701
+ component: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5672
5702
  "div",
5673
5703
  {
5674
5704
  className: "h-full flex-1 flex flex-row items-center justify-center px-4",
@@ -5681,16 +5711,16 @@ var MatchingActivityMaterialContent = ({
5681
5711
  );
5682
5712
  }
5683
5713
  },
5684
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5714
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-lg whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5685
5715
  answerMap[answerMapKey]
5686
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5716
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5687
5717
  "span",
5688
5718
  {
5689
5719
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5690
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5720
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5691
5721
  },
5692
5722
  index2
5693
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5723
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5694
5724
  ShowMaterialMediaByContentType_default,
5695
5725
  {
5696
5726
  contentType: contentMap.type,
@@ -5713,7 +5743,7 @@ var MatchingActivityMaterialContent = ({
5713
5743
  var MatchingActivityMaterialContent_default = MatchingActivityMaterialContent;
5714
5744
 
5715
5745
  // src/components/activities/MatchingActivityContent.tsx
5716
- var import_jsx_runtime34 = require("react/jsx-runtime");
5746
+ var import_jsx_runtime35 = require("react/jsx-runtime");
5717
5747
  var MatchingActivityContent = ({
5718
5748
  answer,
5719
5749
  data,
@@ -5734,16 +5764,16 @@ var MatchingActivityContent = ({
5734
5764
  answerMap[key] = value;
5735
5765
  changeAnswer(answer2);
5736
5766
  };
5737
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_jsx_runtime34.Fragment, { children: [
5738
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5767
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
5768
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5739
5769
  ActivityBodyContent_default,
5740
5770
  {
5741
5771
  bodyMap: matchingBodyMap,
5742
5772
  templateType: "MATCHING"
5743
5773
  }
5744
5774
  ),
5745
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DividerLine_default, {}),
5746
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5775
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DividerLine_default, {}),
5776
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5747
5777
  MatchingActivityMaterialContent_default,
5748
5778
  {
5749
5779
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5761,8 +5791,8 @@ var MatchingActivityContent = ({
5761
5791
  var MatchingActivityContent_default = MatchingActivityContent;
5762
5792
 
5763
5793
  // src/components/activities/material-contents/MCMAActivityMaterialContent.tsx
5764
- var import_react_katex6 = require("react-katex");
5765
- var import_jsx_runtime35 = require("react/jsx-runtime");
5794
+ var import_react_katex7 = require("react-katex");
5795
+ var import_jsx_runtime36 = require("react/jsx-runtime");
5766
5796
  var MCMAActivityMaterialContent = ({
5767
5797
  uniqueValue,
5768
5798
  answer,
@@ -5795,10 +5825,10 @@ var MCMAActivityMaterialContent = ({
5795
5825
  const answerMap = retrieveAnswerMap();
5796
5826
  const correctAnswerList = retrieveCorrectAnswerList();
5797
5827
  return Object.keys(materialMap).map((materialKey, index) => {
5798
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
5799
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5800
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DividerLine_default, {}) }),
5801
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5828
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
5829
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5830
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DividerLine_default, {}) }),
5831
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5802
5832
  (materialSubKey, index2) => {
5803
5833
  const foundAnswer = answerMap[materialKey].find(
5804
5834
  (learnerAnswer) => learnerAnswer === materialSubKey
@@ -5811,7 +5841,7 @@ var MCMAActivityMaterialContent = ({
5811
5841
  const foundIndex = correctAnswerList.findIndex(
5812
5842
  (correctAnswer) => correctAnswer === materialSubKey
5813
5843
  );
5814
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
5844
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
5815
5845
  "div",
5816
5846
  {
5817
5847
  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" : ""}`,
@@ -5819,7 +5849,7 @@ var MCMAActivityMaterialContent = ({
5819
5849
  onChange(answer, materialKey, materialSubKey);
5820
5850
  },
5821
5851
  children: [
5822
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5852
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5823
5853
  BaseImage_default,
5824
5854
  {
5825
5855
  src: answerMap[materialKey].includes(materialSubKey) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -5829,16 +5859,16 @@ var MCMAActivityMaterialContent = ({
5829
5859
  }
5830
5860
  }
5831
5861
  ),
5832
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5862
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5833
5863
  materialSubKey
5834
- ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5864
+ ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5835
5865
  "span",
5836
5866
  {
5837
5867
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5838
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5868
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
5839
5869
  },
5840
5870
  index3
5841
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5871
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5842
5872
  ShowMaterialMediaByContentType_default,
5843
5873
  {
5844
5874
  contentType: contentMap.type,
@@ -5852,13 +5882,13 @@ var MCMAActivityMaterialContent = ({
5852
5882
  index2
5853
5883
  );
5854
5884
  }
5855
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5885
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5856
5886
  answerMap[materialKey]
5857
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5887
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5858
5888
  "span",
5859
5889
  {
5860
5890
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5861
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5891
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
5862
5892
  },
5863
5893
  index2
5864
5894
  )) }, materialKey)
@@ -5868,7 +5898,7 @@ var MCMAActivityMaterialContent = ({
5868
5898
  var MCMAActivityMaterialContent_default = MCMAActivityMaterialContent;
5869
5899
 
5870
5900
  // src/components/activities/MCMAActivityContent.tsx
5871
- var import_jsx_runtime36 = require("react/jsx-runtime");
5901
+ var import_jsx_runtime37 = require("react/jsx-runtime");
5872
5902
  var MCMAActivityContent = ({
5873
5903
  answer,
5874
5904
  data,
@@ -5896,11 +5926,11 @@ var MCMAActivityContent = ({
5896
5926
  }
5897
5927
  changeAnswer(answer2);
5898
5928
  };
5899
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5900
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5901
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DividerLine_default, {}) }),
5902
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(VerticalDividerLine_default, {}) }),
5903
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5929
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5930
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5931
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DividerLine_default, {}) }),
5932
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(VerticalDividerLine_default, {}) }),
5933
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5904
5934
  MCMAActivityMaterialContent_default,
5905
5935
  {
5906
5936
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5917,8 +5947,8 @@ var MCMAActivityContent = ({
5917
5947
  var MCMAActivityContent_default = MCMAActivityContent;
5918
5948
 
5919
5949
  // src/components/activities/material-contents/MCSAActivityMaterialContent.tsx
5920
- var import_react_katex7 = require("react-katex");
5921
- var import_jsx_runtime37 = require("react/jsx-runtime");
5950
+ var import_react_katex8 = require("react-katex");
5951
+ var import_jsx_runtime38 = require("react/jsx-runtime");
5922
5952
  var MCSAActivityMaterialContent = ({
5923
5953
  uniqueValue,
5924
5954
  answer,
@@ -5948,10 +5978,10 @@ var MCSAActivityMaterialContent = ({
5948
5978
  const answerMap = retrieveAnswerMap();
5949
5979
  const correctAnswer = retrieveCorrectAnswer();
5950
5980
  return Object.keys(materialMap).map((materialKey, index) => {
5951
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
5952
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5953
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DividerLine_default, {}) }),
5954
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5981
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
5982
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5983
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(DividerLine_default, {}) }),
5984
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5955
5985
  "div",
5956
5986
  {
5957
5987
  className: `flex flex-row w-full ${Object.keys(materialMap[materialKey]).length <= 4 ? "justify-center" : ""} flex-wrap`,
@@ -5962,7 +5992,7 @@ var MCSAActivityMaterialContent = ({
5962
5992
  materialSubKey,
5963
5993
  answerMap[materialKey]
5964
5994
  );
5965
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
5995
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
5966
5996
  "div",
5967
5997
  {
5968
5998
  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" : ""}`,
@@ -5970,7 +6000,7 @@ var MCSAActivityMaterialContent = ({
5970
6000
  onChange(answer, materialKey, materialSubKey);
5971
6001
  },
5972
6002
  children: [
5973
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6003
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5974
6004
  BaseImage_default,
5975
6005
  {
5976
6006
  src: answerMap[materialKey] === materialSubKey ? "/icons/item-element.webp" : "/icons/not-selected-item-element.webp",
@@ -5980,16 +6010,16 @@ var MCSAActivityMaterialContent = ({
5980
6010
  }
5981
6011
  }
5982
6012
  ),
5983
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6013
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5984
6014
  materialSubKey
5985
- ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6015
+ ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5986
6016
  "span",
5987
6017
  {
5988
6018
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5989
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
6019
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_katex8.InlineMath, { math: inputPart.value }) }) : inputPart.value
5990
6020
  },
5991
6021
  index3
5992
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6022
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
5993
6023
  ShowMaterialMediaByContentType_default,
5994
6024
  {
5995
6025
  contentType: contentMap.type,
@@ -6005,13 +6035,13 @@ var MCSAActivityMaterialContent = ({
6005
6035
  }
6006
6036
  )
6007
6037
  }
6008
- ) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6038
+ ) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6009
6039
  answerMap[materialKey]
6010
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6040
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6011
6041
  "span",
6012
6042
  {
6013
6043
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6014
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
6044
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_katex8.InlineMath, { math: inputPart.value }) }) : inputPart.value
6015
6045
  },
6016
6046
  index2
6017
6047
  )) })
@@ -6021,7 +6051,7 @@ var MCSAActivityMaterialContent = ({
6021
6051
  var MCSAActivityMaterialContent_default = MCSAActivityMaterialContent;
6022
6052
 
6023
6053
  // src/components/activities/MCSAActivityContent.tsx
6024
- var import_jsx_runtime38 = require("react/jsx-runtime");
6054
+ var import_jsx_runtime39 = require("react/jsx-runtime");
6025
6055
  var MCSAActivityContent = ({
6026
6056
  answer,
6027
6057
  data,
@@ -6042,11 +6072,11 @@ var MCSAActivityContent = ({
6042
6072
  answerMap[key] = value;
6043
6073
  changeAnswer(answer2);
6044
6074
  };
6045
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6046
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
6047
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(DividerLine_default, {}) }),
6048
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(VerticalDividerLine_default, {}) }),
6049
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6075
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6076
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
6077
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DividerLine_default, {}) }),
6078
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(VerticalDividerLine_default, {}) }),
6079
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6050
6080
  MCSAActivityMaterialContent_default,
6051
6081
  {
6052
6082
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6091,7 +6121,7 @@ var retrieveDocumentTypeFromExtension = (format) => {
6091
6121
  };
6092
6122
 
6093
6123
  // src/components/activities/material-contents/OpenEndedActivityMaterialContent.tsx
6094
- var import_jsx_runtime39 = require("react/jsx-runtime");
6124
+ var import_jsx_runtime40 = require("react/jsx-runtime");
6095
6125
  var OpenEndedActivityMaterialContent = ({
6096
6126
  answer,
6097
6127
  contentMap,
@@ -6121,7 +6151,7 @@ var OpenEndedActivityMaterialContent = ({
6121
6151
  documentType = retrieveDocumentTypeFromExtension(extension);
6122
6152
  }
6123
6153
  if (documentType === "IMAGE") {
6124
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6154
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6125
6155
  BaseImage_default,
6126
6156
  {
6127
6157
  src: answerMapAnswer,
@@ -6131,9 +6161,9 @@ var OpenEndedActivityMaterialContent = ({
6131
6161
  }
6132
6162
  ) });
6133
6163
  } else if (documentType === "PDF") {
6134
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(BasePDF_default, { file: answerMapAnswer });
6164
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(BasePDF_default, { file: answerMapAnswer });
6135
6165
  } else if (documentType === "AUDIO") {
6136
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "h-[56px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6166
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "h-[56px]", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6137
6167
  "audio",
6138
6168
  {
6139
6169
  className: "h-full w-full rounded-catchup-xlarge",
@@ -6144,7 +6174,7 @@ var OpenEndedActivityMaterialContent = ({
6144
6174
  }
6145
6175
  ) });
6146
6176
  } else if (documentType === "TEXT") {
6147
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6177
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6148
6178
  InputGroup_default,
6149
6179
  {
6150
6180
  type: "textarea",
@@ -6163,7 +6193,7 @@ var OpenEndedActivityMaterialContent = ({
6163
6193
  const answerMapAnswer = answerMap2["ANSWER"];
6164
6194
  const extension = answerMapAnswer.split(".").pop();
6165
6195
  const documentType = retrieveDocumentTypeFromExtension(extension);
6166
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: documentType === "IMAGE" ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6196
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: documentType === "IMAGE" ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6167
6197
  BaseImage_default,
6168
6198
  {
6169
6199
  src: answerMapAnswer,
@@ -6171,11 +6201,11 @@ var OpenEndedActivityMaterialContent = ({
6171
6201
  size: "custom",
6172
6202
  className: "w-[80%] rounded-catchup-xlarge"
6173
6203
  }
6174
- ) }) : documentType === "PDF" ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(BasePDF_default, { file: answerMapAnswer }) }) : null });
6204
+ ) }) : documentType === "PDF" ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(BasePDF_default, { file: answerMapAnswer }) }) : null });
6175
6205
  };
6176
6206
  const RenderAudioContent = (answerMap2) => {
6177
6207
  const answerMapAnswer = answerMap2["ANSWER"];
6178
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "h-[56px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6208
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "h-[56px]", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6179
6209
  "audio",
6180
6210
  {
6181
6211
  className: "h-full w-full rounded-catchup-xlarge",
@@ -6187,16 +6217,16 @@ var OpenEndedActivityMaterialContent = ({
6187
6217
  ) });
6188
6218
  };
6189
6219
  const answerMap = retrieveAnswerMap();
6190
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "", children: [
6191
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
6192
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DividerLine_default, {}) }),
6220
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_jsx_runtime40.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "", children: [
6221
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
6222
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DividerLine_default, {}) }),
6193
6223
  contentMap.type === "TEXT" ? RenderTextContent(answerMap) : contentMap.type === "IMAGE" ? RenderImageContent(answerMap) : contentMap.type === "AUDIO" ? RenderAudioContent(answerMap) : null
6194
6224
  ] }) });
6195
6225
  };
6196
6226
  var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
6197
6227
 
6198
6228
  // src/components/activities/OpenEndedActivityContent.tsx
6199
- var import_jsx_runtime40 = require("react/jsx-runtime");
6229
+ var import_jsx_runtime41 = require("react/jsx-runtime");
6200
6230
  var OpenEndedActivityContent = ({
6201
6231
  answer,
6202
6232
  data,
@@ -6217,12 +6247,12 @@ var OpenEndedActivityContent = ({
6217
6247
  answerMap["ANSWER"] = value;
6218
6248
  changeAnswer(answer2);
6219
6249
  };
6220
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6221
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6250
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6251
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6222
6252
  "div",
6223
6253
  {
6224
6254
  className: `${showMaterialContent ? isFullScreen ? "w-full" : "w-full md:w-[40%]" : "w-full"}`,
6225
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6255
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6226
6256
  ActivityBodyContent_default,
6227
6257
  {
6228
6258
  bodyMap: openEndedBodyMap,
@@ -6231,16 +6261,16 @@ var OpenEndedActivityContent = ({
6231
6261
  )
6232
6262
  }
6233
6263
  ),
6234
- showMaterialContent ? /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
6235
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6264
+ showMaterialContent ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
6265
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6236
6266
  "div",
6237
6267
  {
6238
6268
  className: `${isFullScreen ? "contents" : "contents md:hidden"}`,
6239
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DividerLine_default, {})
6269
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DividerLine_default, {})
6240
6270
  }
6241
6271
  ),
6242
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(VerticalDividerLine_default, {}) }),
6243
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6272
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(VerticalDividerLine_default, {}) }),
6273
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6244
6274
  OpenEndedActivityMaterialContent_default,
6245
6275
  {
6246
6276
  answer,
@@ -6257,7 +6287,7 @@ var OpenEndedActivityContent_default = OpenEndedActivityContent;
6257
6287
  // src/components/activities/material-contents/OrderingActivityMaterialContent.tsx
6258
6288
  var import_react26 = require("react");
6259
6289
  var import_react_dnd7 = require("react-dnd");
6260
- var import_react_katex8 = require("react-katex");
6290
+ var import_react_katex9 = require("react-katex");
6261
6291
 
6262
6292
  // src/hooks/useScreenSize.ts
6263
6293
  var import_react24 = require("react");
@@ -6297,7 +6327,7 @@ var useScreenSize_default = useScreenSize;
6297
6327
  // src/components/dnds/DraggableDroppableItem.tsx
6298
6328
  var import_react25 = require("react");
6299
6329
  var import_react_dnd6 = require("react-dnd");
6300
- var import_jsx_runtime41 = require("react/jsx-runtime");
6330
+ var import_jsx_runtime42 = require("react/jsx-runtime");
6301
6331
  var DraggableDroppableItem = ({
6302
6332
  item,
6303
6333
  type,
@@ -6334,19 +6364,19 @@ var DraggableDroppableItem = ({
6334
6364
  });
6335
6365
  const opacity = isDragging ? 0.4 : 1;
6336
6366
  drag(drop(ref));
6337
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6367
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6338
6368
  "div",
6339
6369
  {
6340
6370
  className: `${isDragging ? "w-[0px] opacity-0" : "w-full opacity-100"} transition-all duration-500`,
6341
6371
  ref: dropRef,
6342
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { ref, className: "w-full", style: { opacity }, children: component })
6372
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { ref, className: "w-full", style: { opacity }, children: component })
6343
6373
  }
6344
6374
  );
6345
6375
  };
6346
6376
  var DraggableDroppableItem_default = DraggableDroppableItem;
6347
6377
 
6348
6378
  // src/components/activities/material-contents/OrderingActivityMaterialContent.tsx
6349
- var import_jsx_runtime42 = require("react/jsx-runtime");
6379
+ var import_jsx_runtime43 = require("react/jsx-runtime");
6350
6380
  var OrderingActivityMaterialContent = ({
6351
6381
  uniqueValue,
6352
6382
  answer,
@@ -6372,7 +6402,7 @@ var OrderingActivityMaterialContent = ({
6372
6402
  });
6373
6403
  (0, import_react26.useEffect)(() => {
6374
6404
  if (!screenSize) return;
6375
- if (screenSize.width <= 768) {
6405
+ if (screenSize.width <= 1024) {
6376
6406
  setView("TABLET");
6377
6407
  } else {
6378
6408
  setView("PC");
@@ -6439,12 +6469,12 @@ var OrderingActivityMaterialContent = ({
6439
6469
  return 0;
6440
6470
  };
6441
6471
  const answerMap = retrieveAnswerMap();
6442
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6472
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6443
6473
  const learnerAnswerState = checkAnswerState(
6444
6474
  answerMap[materialKey] + "",
6445
6475
  index + ""
6446
6476
  );
6447
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6477
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
6448
6478
  "div",
6449
6479
  {
6450
6480
  className: `flex flex-row items-center my-4 mx-2`,
@@ -6452,20 +6482,20 @@ var OrderingActivityMaterialContent = ({
6452
6482
  marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
6453
6483
  },
6454
6484
  children: [
6455
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "mr-3", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("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__ */ (0, import_jsx_runtime42.jsx)(
6485
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "mr-3", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("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__ */ (0, import_jsx_runtime43.jsx)(
6456
6486
  "div",
6457
6487
  {
6458
6488
  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]`,
6459
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "", children: parseFloat(materialKey) + 1 })
6489
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "", children: parseFloat(materialKey) + 1 })
6460
6490
  }
6461
6491
  ) }) }),
6462
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6492
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6463
6493
  DraggableDroppableItem_default,
6464
6494
  {
6465
6495
  item: { index: materialKey },
6466
6496
  type: "ORDERING",
6467
6497
  dropRef: drop,
6468
- component: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6498
+ component: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6469
6499
  "div",
6470
6500
  {
6471
6501
  className: `${canDrop ? selectedKey !== materialKey ? selectedTargetKey === materialKey ? "bg-catchup-light-blue rounded-catchup-xlarge" : "bg-catchup-light-blue rounded-catchup-xlarge opacity-40" : "" : ""} ${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"}`,
@@ -6474,16 +6504,16 @@ var OrderingActivityMaterialContent = ({
6474
6504
  setSelectedKey(materialKey);
6475
6505
  }
6476
6506
  },
6477
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6507
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6478
6508
  materialMap[answerMap[materialKey]]
6479
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6509
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6480
6510
  "span",
6481
6511
  {
6482
6512
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6483
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_katex8.InlineMath, { math: inputPart.value }) }) : inputPart.value
6513
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_katex9.InlineMath, { math: inputPart.value }) }) : inputPart.value
6484
6514
  },
6485
6515
  index2
6486
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6516
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6487
6517
  ShowMaterialMediaByContentType_default,
6488
6518
  {
6489
6519
  contentType: contentMap.type,
@@ -6515,7 +6545,7 @@ var OrderingActivityMaterialContent = ({
6515
6545
  var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
6516
6546
 
6517
6547
  // src/components/activities/OrderingActivityContent.tsx
6518
- var import_jsx_runtime43 = require("react/jsx-runtime");
6548
+ var import_jsx_runtime44 = require("react/jsx-runtime");
6519
6549
  var OrderingActivityContent = ({
6520
6550
  answer,
6521
6551
  data,
@@ -6539,16 +6569,16 @@ var OrderingActivityContent = ({
6539
6569
  answerMap[secondaryKey] = prevValue;
6540
6570
  changeAnswer(answer2);
6541
6571
  };
6542
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
6543
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6572
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
6573
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6544
6574
  ActivityBodyContent_default,
6545
6575
  {
6546
6576
  bodyMap: orderingBodyMap,
6547
6577
  templateType: "ORDERING"
6548
6578
  }
6549
6579
  ),
6550
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(DividerLine_default, {}),
6551
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6580
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DividerLine_default, {}),
6581
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6552
6582
  OrderingActivityMaterialContent_default,
6553
6583
  {
6554
6584
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6567,8 +6597,8 @@ var OrderingActivityContent_default = OrderingActivityContent;
6567
6597
 
6568
6598
  // src/components/activities/material-contents/TrueFalseActivityMaterialContent.tsx
6569
6599
  var import_react27 = require("react");
6570
- var import_react_katex9 = require("react-katex");
6571
- var import_jsx_runtime44 = require("react/jsx-runtime");
6600
+ var import_react_katex10 = require("react-katex");
6601
+ var import_jsx_runtime45 = require("react/jsx-runtime");
6572
6602
  var TrueFalseActivityMaterialContent = ({
6573
6603
  uniqueValue,
6574
6604
  answer,
@@ -6621,14 +6651,14 @@ var TrueFalseActivityMaterialContent = ({
6621
6651
  return "INCORRECT";
6622
6652
  };
6623
6653
  const answerMap = retrieveAnswerMap();
6624
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "", children: [
6625
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6626
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DividerLine_default, {}) }),
6627
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6628
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6629
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6654
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "", children: [
6655
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6656
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DividerLine_default, {}) }),
6657
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6658
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6659
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6630
6660
  ] }),
6631
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6661
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6632
6662
  const correctAnswer = materialMap.trueList.find(
6633
6663
  (trueItem) => trueItem === shuffleOption
6634
6664
  ) !== void 0 ? "TRUE" : "FALSE";
@@ -6639,21 +6669,21 @@ var TrueFalseActivityMaterialContent = ({
6639
6669
  correctAnswer,
6640
6670
  learnerAnswer
6641
6671
  );
6642
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
6672
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
6643
6673
  "div",
6644
6674
  {
6645
6675
  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" : ""}`,
6646
6676
  children: [
6647
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6677
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6648
6678
  shuffleOption
6649
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6679
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6650
6680
  "span",
6651
6681
  {
6652
6682
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6653
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_react_katex9.InlineMath, { math: inputPart.value }) }) : inputPart.value
6683
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_katex10.InlineMath, { math: inputPart.value }) }) : inputPart.value
6654
6684
  },
6655
6685
  index2
6656
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6686
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6657
6687
  ShowMaterialMediaByContentType_default,
6658
6688
  {
6659
6689
  contentType: contentMap.type,
@@ -6662,8 +6692,8 @@ var TrueFalseActivityMaterialContent = ({
6662
6692
  },
6663
6693
  `${uniqueValue}-${index}`
6664
6694
  ) }),
6665
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6666
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6695
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6696
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6667
6697
  BaseImage_default,
6668
6698
  {
6669
6699
  src: answerMap.trueList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6674,7 +6704,7 @@ var TrueFalseActivityMaterialContent = ({
6674
6704
  }
6675
6705
  }
6676
6706
  ) }) }),
6677
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6707
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6678
6708
  BaseImage_default,
6679
6709
  {
6680
6710
  src: answerMap.falseList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6690,14 +6720,14 @@ var TrueFalseActivityMaterialContent = ({
6690
6720
  },
6691
6721
  index
6692
6722
  );
6693
- }) }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
6694
- answerMap.trueList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6695
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { children: item }) }),
6696
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "underline", children: i18n_default.t("true") }) })
6723
+ }) }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
6724
+ answerMap.trueList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6725
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { children: item }) }),
6726
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "underline", children: i18n_default.t("true") }) })
6697
6727
  ] })),
6698
- answerMap.falseList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6699
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { children: item }) }),
6700
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "underline", children: i18n_default.t("false") }) })
6728
+ answerMap.falseList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6729
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { children: item }) }),
6730
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "underline", children: i18n_default.t("false") }) })
6701
6731
  ] }))
6702
6732
  ] })
6703
6733
  ] });
@@ -6705,7 +6735,7 @@ var TrueFalseActivityMaterialContent = ({
6705
6735
  var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
6706
6736
 
6707
6737
  // src/components/activities/TrueFalseActivityContent.tsx
6708
- var import_jsx_runtime45 = require("react/jsx-runtime");
6738
+ var import_jsx_runtime46 = require("react/jsx-runtime");
6709
6739
  var TrueFalseActivityContent = ({
6710
6740
  answer,
6711
6741
  data,
@@ -6756,17 +6786,17 @@ var TrueFalseActivityContent = ({
6756
6786
  }
6757
6787
  changeAnswer(answer2);
6758
6788
  };
6759
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6760
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6789
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6790
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6761
6791
  ActivityBodyContent_default,
6762
6792
  {
6763
6793
  bodyMap: trueFalseBodyMap,
6764
6794
  templateType: "GROUPING"
6765
6795
  }
6766
6796
  ) }),
6767
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DividerLine_default, {}) }),
6768
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(VerticalDividerLine_default, {}) }),
6769
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6797
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(DividerLine_default, {}) }),
6798
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(VerticalDividerLine_default, {}) }),
6799
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6770
6800
  TrueFalseActivityMaterialContent_default,
6771
6801
  {
6772
6802
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6784,8 +6814,8 @@ var TrueFalseActivityContent = ({
6784
6814
  var TrueFalseActivityContent_default = TrueFalseActivityContent;
6785
6815
 
6786
6816
  // src/components/activities/solution-contents/ActivitySolutionContent.tsx
6787
- var import_react_katex10 = require("react-katex");
6788
- var import_jsx_runtime46 = require("react/jsx-runtime");
6817
+ var import_react_katex11 = require("react-katex");
6818
+ var import_jsx_runtime47 = require("react/jsx-runtime");
6789
6819
  var ActivitySolutionContent = ({
6790
6820
  activityTemplateType,
6791
6821
  data
@@ -6815,8 +6845,8 @@ var ActivitySolutionContent = ({
6815
6845
  return null;
6816
6846
  }
6817
6847
  if (!solutionMap || Object.keys(solutionMap).length === 0) return null;
6818
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6819
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6848
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6849
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6820
6850
  Object.keys(solutionMap).map((key) => {
6821
6851
  let currentItem;
6822
6852
  try {
@@ -6826,12 +6856,12 @@ var ActivitySolutionContent = ({
6826
6856
  return null;
6827
6857
  }
6828
6858
  const { value } = currentItem;
6829
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6830
- (inputPart, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6859
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6860
+ (inputPart, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6831
6861
  "span",
6832
6862
  {
6833
6863
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6834
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_katex10.InlineMath, { math: inputPart.value }) }) : inputPart.value
6864
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_katex11.InlineMath, { math: inputPart.value }) }) : inputPart.value
6835
6865
  },
6836
6866
  `${key}_part_${partIndex}`
6837
6867
  )
@@ -6842,8 +6872,8 @@ var ActivitySolutionContent = ({
6842
6872
  var ActivitySolutionContent_default = ActivitySolutionContent;
6843
6873
 
6844
6874
  // src/components/activities/evaluation-rubric-contents/ActivityEvaluationRubricContent.tsx
6845
- var import_react_katex11 = require("react-katex");
6846
- var import_jsx_runtime47 = require("react/jsx-runtime");
6875
+ var import_react_katex12 = require("react-katex");
6876
+ var import_jsx_runtime48 = require("react/jsx-runtime");
6847
6877
  var ActivityEvaluationRubricContent = ({
6848
6878
  activityTemplateType,
6849
6879
  data
@@ -6864,6 +6894,7 @@ var ActivityEvaluationRubricContent = ({
6864
6894
  if (!evaluationRubricMapKey) return null;
6865
6895
  const evaluationRubricMapString = data[evaluationRubricMapKey];
6866
6896
  let evaluationRubricMap;
6897
+ if (!evaluationRubricMapString) return;
6867
6898
  try {
6868
6899
  evaluationRubricMap = JSON.parse(evaluationRubricMapString);
6869
6900
  } catch (error) {
@@ -6872,21 +6903,21 @@ var ActivityEvaluationRubricContent = ({
6872
6903
  }
6873
6904
  if (!evaluationRubricMap || Object.keys(evaluationRubricMap).length === 0)
6874
6905
  return null;
6875
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6876
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6906
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6907
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6877
6908
  Object.keys(evaluationRubricMap).map((key, index) => {
6878
6909
  const currentItem = JSON.parse(evaluationRubricMap[key]);
6879
6910
  const { value } = currentItem;
6880
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6911
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
6881
6912
  "p",
6882
6913
  {
6883
6914
  className: "my-1 text-xl whitespace-pre-wrap",
6884
6915
  children: constructInputWithSpecialExpressionList(value).map(
6885
- (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6916
+ (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
6886
6917
  "span",
6887
6918
  {
6888
6919
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6889
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_katex11.InlineMath, { math: inputPart.value }) }) : inputPart.value
6920
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }) }) : inputPart.value
6890
6921
  },
6891
6922
  index2
6892
6923
  )
@@ -6903,28 +6934,28 @@ var ActivityEvaluationRubricContent_default = ActivityEvaluationRubricContent;
6903
6934
  var import_react28 = require("react");
6904
6935
 
6905
6936
  // src/components/boxes/SelectionBox.tsx
6906
- var import_jsx_runtime48 = require("react/jsx-runtime");
6937
+ var import_jsx_runtime49 = require("react/jsx-runtime");
6907
6938
  var SelectionBox = ({
6908
6939
  optionList,
6909
6940
  selectedId,
6910
6941
  handleSelectOnClick
6911
6942
  }) => {
6912
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
6943
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
6913
6944
  "div",
6914
6945
  {
6915
6946
  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`,
6916
6947
  onClick: () => {
6917
6948
  handleSelectOnClick(option.id);
6918
6949
  },
6919
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
6950
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
6920
6951
  "div",
6921
6952
  {
6922
6953
  className: `flex flex-row items-center gap-x-1 ${option.id === selectedId ? "opacity-100" : "opacity-50"}`,
6923
6954
  children: [
6924
6955
  option.icon,
6925
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex-1 flex flex-col items-center", children: [
6926
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { children: option.text }),
6927
- option.subText ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("p", { className: "text-md", children: [
6956
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex-1 flex flex-col items-center", children: [
6957
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { children: option.text }),
6958
+ option.subText ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("p", { className: "text-md", children: [
6928
6959
  "(",
6929
6960
  option.subText,
6930
6961
  ")"
@@ -6940,7 +6971,7 @@ var SelectionBox = ({
6940
6971
  var SelectionBox_default = SelectionBox;
6941
6972
 
6942
6973
  // src/components/activities/ActivityPreviewByData.tsx
6943
- var import_jsx_runtime49 = require("react/jsx-runtime");
6974
+ var import_jsx_runtime50 = require("react/jsx-runtime");
6944
6975
  var ActivityPreviewByData = ({
6945
6976
  data,
6946
6977
  showType,
@@ -6998,11 +7029,11 @@ var ActivityPreviewByData = ({
6998
7029
  }, [data, lockedType, typeOptionList, showDifficulty]);
6999
7030
  if (!data) return;
7000
7031
  const answer = constructAnswerBasedOnData(data);
7001
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
7002
- showType ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
7003
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "mb-4", children: [
7004
- showDescription ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7005
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7032
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { children: [
7033
+ showType ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
7034
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "mb-4", children: [
7035
+ showDescription ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7036
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7006
7037
  SelectionBox_default,
7007
7038
  {
7008
7039
  optionList,
@@ -7013,9 +7044,9 @@ var ActivityPreviewByData = ({
7013
7044
  }
7014
7045
  )
7015
7046
  ] }),
7016
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DividerLine_default, {})
7047
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DividerLine_default, {})
7017
7048
  ] }) : null,
7018
- selectedType ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7049
+ selectedType ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7019
7050
  OrderingActivityContent_default,
7020
7051
  {
7021
7052
  answer,
@@ -7029,7 +7060,7 @@ var ActivityPreviewByData = ({
7029
7060
  showCorrectAnswer: true,
7030
7061
  isFullScreen
7031
7062
  }
7032
- ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7063
+ ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7033
7064
  DropdownActivityContent_default,
7034
7065
  {
7035
7066
  answer,
@@ -7043,7 +7074,7 @@ var ActivityPreviewByData = ({
7043
7074
  showCorrectAnswer: true,
7044
7075
  isFullScreen
7045
7076
  }
7046
- ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7077
+ ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7047
7078
  MCSAActivityContent_default,
7048
7079
  {
7049
7080
  answer,
@@ -7057,7 +7088,7 @@ var ActivityPreviewByData = ({
7057
7088
  showCorrectAnswer: true,
7058
7089
  isFullScreen
7059
7090
  }
7060
- ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7091
+ ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7061
7092
  MCMAActivityContent_default,
7062
7093
  {
7063
7094
  answer,
@@ -7071,7 +7102,7 @@ var ActivityPreviewByData = ({
7071
7102
  showCorrectAnswer: true,
7072
7103
  isFullScreen
7073
7104
  }
7074
- ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7105
+ ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7075
7106
  MatchingActivityContent_default,
7076
7107
  {
7077
7108
  answer,
@@ -7084,7 +7115,7 @@ var ActivityPreviewByData = ({
7084
7115
  isPreview: true,
7085
7116
  showCorrectAnswer: true
7086
7117
  }
7087
- ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7118
+ ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7088
7119
  GroupingActivityContent_default,
7089
7120
  {
7090
7121
  answer,
@@ -7097,7 +7128,7 @@ var ActivityPreviewByData = ({
7097
7128
  isPreview: true,
7098
7129
  showCorrectAnswer: true
7099
7130
  }
7100
- ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7131
+ ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7101
7132
  FillInTheBlanksActivityContent_default,
7102
7133
  {
7103
7134
  answer,
@@ -7111,7 +7142,7 @@ var ActivityPreviewByData = ({
7111
7142
  showCorrectAnswer: true,
7112
7143
  isFullScreen
7113
7144
  }
7114
- ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7145
+ ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7115
7146
  OpenEndedActivityContent_default,
7116
7147
  {
7117
7148
  answer,
@@ -7123,7 +7154,7 @@ var ActivityPreviewByData = ({
7123
7154
  isPreview: true,
7124
7155
  isFullScreen
7125
7156
  }
7126
- ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7157
+ ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7127
7158
  TrueFalseActivityContent_default,
7128
7159
  {
7129
7160
  answer,
@@ -7138,14 +7169,14 @@ var ActivityPreviewByData = ({
7138
7169
  isFullScreen
7139
7170
  }
7140
7171
  ) : null }, selectedType) : null,
7141
- selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7172
+ selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7142
7173
  ActivitySolutionContent_default,
7143
7174
  {
7144
7175
  activityTemplateType: selectedType,
7145
7176
  data
7146
7177
  }
7147
7178
  ) }) : null,
7148
- selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7179
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7149
7180
  ActivityEvaluationRubricContent_default,
7150
7181
  {
7151
7182
  activityTemplateType: selectedType,
@@ -7158,7 +7189,7 @@ var ActivityPreviewByData_default = ActivityPreviewByData;
7158
7189
 
7159
7190
  // src/components/activities/ActivityPreviewByAnswerData.tsx
7160
7191
  var import_react29 = require("react");
7161
- var import_jsx_runtime50 = require("react/jsx-runtime");
7192
+ var import_jsx_runtime51 = require("react/jsx-runtime");
7162
7193
  var ActivityPreviewByAnswerData = ({
7163
7194
  data,
7164
7195
  showType = true,
@@ -7266,38 +7297,38 @@ var ActivityPreviewByAnswerData = ({
7266
7297
  };
7267
7298
  switch (selectedType) {
7268
7299
  case "ORDERING":
7269
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7300
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7270
7301
  case "DROPDOWN":
7271
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7302
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7272
7303
  case "MCSA":
7273
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7304
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7274
7305
  case "MCMA":
7275
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7306
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7276
7307
  case "MATCHING":
7277
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7308
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7278
7309
  case "GROUPING":
7279
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7310
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7280
7311
  case "FILL_IN_THE_BLANKS":
7281
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7312
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7282
7313
  case "OPEN_ENDED":
7283
- return data.openEndedBodyMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7314
+ return data.openEndedBodyMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7284
7315
  OpenEndedActivityContent_default,
7285
7316
  __spreadProps(__spreadValues({}, commonProps), {
7286
7317
  showMaterialContent: true
7287
7318
  })
7288
7319
  ) : null;
7289
7320
  case "TRUE_FALSE":
7290
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7321
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7291
7322
  default:
7292
7323
  return null;
7293
7324
  }
7294
7325
  };
7295
7326
  if (!data) return null;
7296
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { children: [
7297
- showType && optionList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
7298
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "mb-4", children: [
7299
- showDescription ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7300
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7327
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
7328
+ showType && optionList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
7329
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "mb-4", children: [
7330
+ showDescription ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7331
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7301
7332
  SelectionBox_default,
7302
7333
  {
7303
7334
  optionList,
@@ -7308,20 +7339,20 @@ var ActivityPreviewByAnswerData = ({
7308
7339
  }
7309
7340
  )
7310
7341
  ] }),
7311
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DividerLine_default, {})
7342
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DividerLine_default, {})
7312
7343
  ] }) : null,
7313
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex flex-col my-2 w-full p-5", children: [
7314
- ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ActivityEmptyContent_default, {}) : null,
7315
- selectedType ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7344
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col my-2 w-full p-5", children: [
7345
+ ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ActivityEmptyContent_default, {}) : null,
7346
+ selectedType ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7316
7347
  ] }),
7317
- selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7348
+ selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7318
7349
  ActivitySolutionContent_default,
7319
7350
  {
7320
7351
  activityTemplateType: selectedType,
7321
7352
  data
7322
7353
  }
7323
7354
  ) }) : null,
7324
- selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7355
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7325
7356
  ActivityEvaluationRubricContent_default,
7326
7357
  {
7327
7358
  activityTemplateType: selectedType,
@@ -7333,17 +7364,17 @@ var ActivityPreviewByAnswerData = ({
7333
7364
  var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
7334
7365
 
7335
7366
  // src/components/errors/StatusError.tsx
7336
- var import_jsx_runtime51 = require("react/jsx-runtime");
7367
+ var import_jsx_runtime52 = require("react/jsx-runtime");
7337
7368
  var StatusError = ({
7338
7369
  statusCode,
7339
7370
  statusText,
7340
7371
  textSize
7341
7372
  }) => {
7342
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col justify-center items-center", children: [
7343
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "text-6xl text-catchup-red my-5", children: i18n_default.t("ooops_text") }),
7344
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "text-center my-5", children: [
7345
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "italic", children: i18n_default.t("unexcepted_error_text") }),
7346
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("p", { className: `${textSize ? textSize : "text-lg"}`, children: [
7373
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex flex-col justify-center items-center", children: [
7374
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "text-6xl text-catchup-red my-5", children: i18n_default.t("ooops_text") }),
7375
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "text-center my-5", children: [
7376
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "italic", children: i18n_default.t("unexcepted_error_text") }),
7377
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("p", { className: `${textSize ? textSize : "text-lg"}`, children: [
7347
7378
  "(",
7348
7379
  statusCode ? `${statusCode} - ` : null,
7349
7380
  statusText,
@@ -7355,9 +7386,9 @@ var StatusError = ({
7355
7386
  var StatusError_default = StatusError;
7356
7387
 
7357
7388
  // src/components/dividers/BlueVerticalDividerLine.tsx
7358
- var import_jsx_runtime52 = require("react/jsx-runtime");
7389
+ var import_jsx_runtime53 = require("react/jsx-runtime");
7359
7390
  var BlueVerticalDividerLine = ({ opacity }) => {
7360
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7391
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7361
7392
  "div",
7362
7393
  {
7363
7394
  className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
@@ -7367,7 +7398,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
7367
7398
  var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
7368
7399
 
7369
7400
  // src/components/groups/LeftTextRightInputGroup.tsx
7370
- var import_jsx_runtime53 = require("react/jsx-runtime");
7401
+ var import_jsx_runtime54 = require("react/jsx-runtime");
7371
7402
  var LeftTextRightInputGroup = ({
7372
7403
  type,
7373
7404
  title,
@@ -7377,9 +7408,9 @@ var LeftTextRightInputGroup = ({
7377
7408
  disabled,
7378
7409
  errorText
7379
7410
  }) => {
7380
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex flex-row mx-2", children: [
7381
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { children: title }) }),
7382
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7411
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "w-full flex flex-row mx-2", children: [
7412
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { children: title }) }),
7413
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7383
7414
  InputGroup_default,
7384
7415
  {
7385
7416
  type,
@@ -7396,7 +7427,7 @@ var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
7396
7427
 
7397
7428
  // src/components/groups/PageTravelGroup.tsx
7398
7429
  var import_react30 = require("react");
7399
- var import_jsx_runtime54 = require("react/jsx-runtime");
7430
+ var import_jsx_runtime55 = require("react/jsx-runtime");
7400
7431
  var PageTravelGroup = ({
7401
7432
  isImageProcessing,
7402
7433
  handleImageProcessing,
@@ -7414,8 +7445,8 @@ var PageTravelGroup = ({
7414
7445
  (0, import_react30.useEffect)(() => {
7415
7446
  setNewPageNumber(pageNumber + 1);
7416
7447
  }, [pageNumber]);
7417
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap", children: [
7418
- pageNumber === 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7448
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap", children: [
7449
+ pageNumber === 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7419
7450
  BaseImage_default,
7420
7451
  {
7421
7452
  size: "small",
@@ -7433,7 +7464,7 @@ var PageTravelGroup = ({
7433
7464
  }
7434
7465
  }
7435
7466
  ) }),
7436
- Array.from(Array(totalPageNumber).keys()).filter((index) => index < pageNumber + 5).filter((index) => index > pageNumber - 5).map((index) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "px-2", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7467
+ Array.from(Array(totalPageNumber).keys()).filter((index) => index < pageNumber + 5).filter((index) => index > pageNumber - 5).map((index) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "px-2", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7437
7468
  "p",
7438
7469
  {
7439
7470
  className: `${pageNumber === index ? "text-2xl" : "text-md"} cursor-pointer`,
@@ -7448,7 +7479,7 @@ var PageTravelGroup = ({
7448
7479
  children: index + 1
7449
7480
  }
7450
7481
  ) }, index)),
7451
- totalPageNumber === 0 || pageNumber === totalPageNumber - 1 ? null : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7482
+ totalPageNumber === 0 || pageNumber === totalPageNumber - 1 ? null : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7452
7483
  BaseImage_default,
7453
7484
  {
7454
7485
  size: "small",
@@ -7466,7 +7497,7 @@ var PageTravelGroup = ({
7466
7497
  }
7467
7498
  }
7468
7499
  ) }),
7469
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7500
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7470
7501
  "input",
7471
7502
  {
7472
7503
  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`,
@@ -7490,14 +7521,14 @@ var PageTravelGroup = ({
7490
7521
  var PageTravelGroup_default = PageTravelGroup;
7491
7522
 
7492
7523
  // src/components/boxes/SelectionCheckbox.tsx
7493
- var import_jsx_runtime55 = require("react/jsx-runtime");
7524
+ var import_jsx_runtime56 = require("react/jsx-runtime");
7494
7525
  var SelectionCheckbox = ({
7495
7526
  optionList,
7496
7527
  selectedIdList,
7497
7528
  handleSelectOnClick,
7498
7529
  handleRemoveOnClick
7499
7530
  }) => {
7500
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7531
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7501
7532
  "div",
7502
7533
  {
7503
7534
  className: `${selectedIdList.findIndex(
@@ -7512,14 +7543,14 @@ var SelectionCheckbox = ({
7512
7543
  handleRemoveOnClick(option.id);
7513
7544
  }
7514
7545
  },
7515
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7546
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
7516
7547
  "div",
7517
7548
  {
7518
7549
  className: `flex flex-row items-center gap-x-1 ${selectedIdList.findIndex(
7519
7550
  (selectedId) => selectedId === option.id
7520
7551
  ) > -1 ? "opacity-100" : "opacity-50"}`,
7521
7552
  children: [
7522
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7553
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7523
7554
  BaseImage_default,
7524
7555
  {
7525
7556
  src: selectedIdList.findIndex(
@@ -7529,7 +7560,7 @@ var SelectionCheckbox = ({
7529
7560
  size: "small"
7530
7561
  }
7531
7562
  ),
7532
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { children: option.text }) })
7563
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { children: option.text }) })
7533
7564
  ]
7534
7565
  }
7535
7566
  )
@@ -7540,7 +7571,7 @@ var SelectionCheckbox = ({
7540
7571
  var SelectionCheckbox_default = SelectionCheckbox;
7541
7572
 
7542
7573
  // src/components/tabs/SelectionTab.tsx
7543
- var import_jsx_runtime56 = require("react/jsx-runtime");
7574
+ var import_jsx_runtime57 = require("react/jsx-runtime");
7544
7575
  var SelectionTab = ({
7545
7576
  optionList,
7546
7577
  selectedId,
@@ -7550,7 +7581,7 @@ var SelectionTab = ({
7550
7581
  textColor,
7551
7582
  borderColor
7552
7583
  }) => {
7553
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap mb-2 text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
7584
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap mb-2 text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
7554
7585
  "div",
7555
7586
  {
7556
7587
  className: `${selectedId === option.id ? selectedTextColor ? selectedTextColor : "text-catchup-blue-500" : textColor ? textColor : "text-catchup-gray-300"} ${selectedId === option.id ? selectedBorderColor ? selectedBorderColor : "border-catchup-blue-500" : borderColor ? borderColor : "border-catchup-gray-50"} border-b-2 transition-all duration-300 p-3 cursor-pointer`,
@@ -7558,8 +7589,8 @@ var SelectionTab = ({
7558
7589
  handleSelectOnClick(option.id);
7559
7590
  },
7560
7591
  children: [
7561
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "text-lg", children: option.title }),
7562
- option.subTitle ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "text-md", children: option.subTitle }) : null
7592
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "text-lg", children: option.title }),
7593
+ option.subTitle ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "text-md", children: option.subTitle }) : null
7563
7594
  ]
7564
7595
  },
7565
7596
  index
@@ -7568,20 +7599,20 @@ var SelectionTab = ({
7568
7599
  var SelectionTab_default = SelectionTab;
7569
7600
 
7570
7601
  // src/components/tabs/SelectionTabFill.tsx
7571
- var import_jsx_runtime57 = require("react/jsx-runtime");
7602
+ var import_jsx_runtime58 = require("react/jsx-runtime");
7572
7603
  var SelectionTabFill = ({
7573
7604
  optionList,
7574
7605
  selectedId,
7575
7606
  handleSelectOnClick
7576
7607
  }) => {
7577
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "w-full flex flex-row bg-catchup-gray-50 gap-x-2 rounded-catchup-medium px-4 py-2 justify-center text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7608
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-full flex flex-row bg-catchup-gray-50 gap-x-2 rounded-catchup-medium px-4 py-2 justify-center text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7578
7609
  "div",
7579
7610
  {
7580
7611
  className: "cursor-pointer",
7581
7612
  onClick: () => {
7582
7613
  handleSelectOnClick(option.id);
7583
7614
  },
7584
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7615
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7585
7616
  "p",
7586
7617
  {
7587
7618
  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`,
@@ -7595,34 +7626,34 @@ var SelectionTabFill = ({
7595
7626
  var SelectionTabFill_default = SelectionTabFill;
7596
7627
 
7597
7628
  // src/components/labels/ActivityTemplateLabel.tsx
7598
- var import_jsx_runtime58 = require("react/jsx-runtime");
7629
+ var import_jsx_runtime59 = require("react/jsx-runtime");
7599
7630
  var ActivityTemplateLabel = ({
7600
7631
  title,
7601
7632
  icon,
7602
7633
  font
7603
7634
  }) => {
7604
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7605
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7606
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: font ? font : "text-sm", children: title })
7635
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7636
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7637
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: font ? font : "text-sm", children: title })
7607
7638
  ] }) });
7608
7639
  };
7609
7640
  var ActivityTemplateLabel_default = ActivityTemplateLabel;
7610
7641
 
7611
7642
  // src/components/labels/BrandLabel.tsx
7612
- var import_jsx_runtime59 = require("react/jsx-runtime");
7643
+ var import_jsx_runtime60 = require("react/jsx-runtime");
7613
7644
  var BrandLabel = ({ title, icon, font }) => {
7614
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7615
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7616
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: font ? font : "text-sm", children: title })
7645
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7646
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7647
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: font ? font : "text-sm", children: title })
7617
7648
  ] }) });
7618
7649
  };
7619
7650
  var BrandLabel_default = BrandLabel;
7620
7651
 
7621
7652
  // src/components/labels/CategoryLabel.tsx
7622
- var import_jsx_runtime60 = require("react/jsx-runtime");
7653
+ var import_jsx_runtime61 = require("react/jsx-runtime");
7623
7654
  var CategoryLabel = ({ title, icon, font }) => {
7624
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-category-label-border bg-category-label text-category-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7625
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7655
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-category-label-border bg-category-label text-category-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7656
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
7626
7657
  BaseImage_default,
7627
7658
  {
7628
7659
  src: "/icons/category-label.webp",
@@ -7630,40 +7661,40 @@ var CategoryLabel = ({ title, icon, font }) => {
7630
7661
  size: "xsmall"
7631
7662
  }
7632
7663
  ),
7633
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: font ? font : "text-sm", children: title })
7664
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: font ? font : "text-sm", children: title })
7634
7665
  ] }) });
7635
7666
  };
7636
7667
  var CategoryLabel_default = CategoryLabel;
7637
7668
 
7638
7669
  // src/components/labels/CoterieLabel.tsx
7639
- var import_jsx_runtime61 = require("react/jsx-runtime");
7670
+ var import_jsx_runtime62 = require("react/jsx-runtime");
7640
7671
  var CoterieLabel = ({ title, font }) => {
7641
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7672
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7642
7673
  };
7643
7674
  var CoterieLabel_default = CoterieLabel;
7644
7675
 
7645
7676
  // src/components/labels/GradeLabel.tsx
7646
- var import_jsx_runtime62 = require("react/jsx-runtime");
7677
+ var import_jsx_runtime63 = require("react/jsx-runtime");
7647
7678
  var GradeLabel = ({ title, font }) => {
7648
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7679
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7649
7680
  };
7650
7681
  var GradeLabel_default = GradeLabel;
7651
7682
 
7652
7683
  // src/components/labels/OutcomeLabel.tsx
7653
- var import_jsx_runtime63 = require("react/jsx-runtime");
7684
+ var import_jsx_runtime64 = require("react/jsx-runtime");
7654
7685
  var OutcomeLabel = ({ title, font }) => {
7655
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7656
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7657
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: font ? font : "text-sm", children: title })
7686
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7687
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7688
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: font ? font : "text-sm", children: title })
7658
7689
  ] }) });
7659
7690
  };
7660
7691
  var OutcomeLabel_default = OutcomeLabel;
7661
7692
 
7662
7693
  // src/components/labels/PersonalLabel.tsx
7663
- var import_jsx_runtime64 = require("react/jsx-runtime");
7694
+ var import_jsx_runtime65 = require("react/jsx-runtime");
7664
7695
  var PersonalLabel = ({ title, icon, font }) => {
7665
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-personal-label-border bg-personal-label text-personal-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7666
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
7696
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-personal-label-border bg-personal-label text-personal-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7697
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7667
7698
  BaseImage_default,
7668
7699
  {
7669
7700
  src: "/icons/personal-label.webp",
@@ -7671,16 +7702,16 @@ var PersonalLabel = ({ title, icon, font }) => {
7671
7702
  size: "xsmall"
7672
7703
  }
7673
7704
  ),
7674
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: font ? font : "text-sm", children: title })
7705
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: font ? font : "text-sm", children: title })
7675
7706
  ] }) });
7676
7707
  };
7677
7708
  var PersonalLabel_default = PersonalLabel;
7678
7709
 
7679
7710
  // src/components/labels/PublishingHouseLabel.tsx
7680
- var import_jsx_runtime65 = require("react/jsx-runtime");
7711
+ var import_jsx_runtime66 = require("react/jsx-runtime");
7681
7712
  var PublishingHouseLabel = ({ title, icon, font }) => {
7682
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7683
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7713
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7714
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
7684
7715
  BaseImage_default,
7685
7716
  {
7686
7717
  src: "/icons/publishing-house-label.webp",
@@ -7688,53 +7719,29 @@ var PublishingHouseLabel = ({ title, icon, font }) => {
7688
7719
  size: "xsmall"
7689
7720
  }
7690
7721
  ),
7691
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: font ? font : "text-sm", children: title })
7722
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: font ? font : "text-sm", children: title })
7692
7723
  ] }) });
7693
7724
  };
7694
7725
  var PublishingHouseLabel_default = PublishingHouseLabel;
7695
7726
 
7696
7727
  // src/components/labels/ActivityLabel.tsx
7697
- var import_jsx_runtime66 = require("react/jsx-runtime");
7728
+ var import_jsx_runtime67 = require("react/jsx-runtime");
7698
7729
  var ActivityLabel = ({ title, font }) => {
7699
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7730
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7700
7731
  };
7701
7732
  var ActivityLabel_default = ActivityLabel;
7702
7733
 
7703
7734
  // src/components/infos/InfoWithText.tsx
7704
- var import_jsx_runtime67 = require("react/jsx-runtime");
7735
+ var import_jsx_runtime68 = require("react/jsx-runtime");
7705
7736
  var InfoWithText = (props) => {
7706
7737
  const { value } = props;
7707
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7708
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7709
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "", children: value }) })
7738
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7739
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7740
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("p", { className: "", children: value }) })
7710
7741
  ] });
7711
7742
  };
7712
7743
  var InfoWithText_default = InfoWithText;
7713
7744
 
7714
- // src/components/texts/InputWithSpecialExpression.tsx
7715
- var import_react_katex12 = require("react-katex");
7716
- var import_jsx_runtime68 = require("react/jsx-runtime");
7717
- var InputWithSpecialExpression = ({
7718
- value,
7719
- showSpecialOnly
7720
- }) => {
7721
- const inputWithSpecialExpressionList = constructInputWithSpecialExpressionList(value);
7722
- return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
7723
- "span",
7724
- {
7725
- className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7726
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7727
- }
7728
- )) }) }) : null : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
7729
- "span",
7730
- {
7731
- className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7732
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7733
- }
7734
- )) }) });
7735
- };
7736
- var InputWithSpecialExpression_default = InputWithSpecialExpression;
7737
-
7738
7745
  // src/components/titles/BaseTitle.tsx
7739
7746
  var import_jsx_runtime69 = require("react/jsx-runtime");
7740
7747
  var BaseTitle = ({