catchup-library-web 1.20.11 → 1.20.13

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