catchup-library-web 1.20.32 → 1.20.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -4644,7 +4644,7 @@ var DropdownActivityContent_default = DropdownActivityContent;
4644
4644
 
4645
4645
  // src/components/activities/material-contents/FillInTheBlanksActivityMaterialContent.tsx
4646
4646
  import { InlineMath as InlineMath4 } from "react-katex";
4647
- import { useState as useState17, useEffect as useEffect8 } from "react";
4647
+ import { useState as useState17, useEffect as useEffect8, useRef as useRef4 } from "react";
4648
4648
 
4649
4649
  // src/components/texts/InputWithSpecialExpression.tsx
4650
4650
  import { InlineMath as InlineMath3 } from "react-katex";
@@ -4687,21 +4687,29 @@ var FillInTheBlanksActivityMaterialContent = ({
4687
4687
  const [selectedOption, setSelectedOption] = useState17(null);
4688
4688
  const [draggedOption, setDraggedOption] = useState17(null);
4689
4689
  const [dropTargetIndex, setDropTargetIndex] = useState17(null);
4690
+ const [draggedElement, setDraggedElement] = useState17(
4691
+ null
4692
+ );
4693
+ const dragElementRef = useRef4(null);
4694
+ const [touchPosition, setTouchPosition] = useState17({
4695
+ x: 0,
4696
+ y: 0
4697
+ });
4690
4698
  useEffect8(() => {
4691
4699
  setShuffleOptionList(shuffleArray(optionList));
4692
- }, []);
4700
+ }, [optionList]);
4693
4701
  useEffect8(() => {
4694
4702
  if (!showCorrectAnswer) return;
4695
4703
  const foundAnswer = answer.data.find(
4696
4704
  (answerData) => answerData.type === "FILL_IN_THE_BLANKS"
4697
4705
  );
4698
- if (foundAnswer.answerMap.length === 0) return;
4706
+ if (!foundAnswer || foundAnswer.answerMap.length === 0) return;
4699
4707
  if (Object.keys(materialMap).length === 0) return;
4700
4708
  foundAnswer.answerMap = Object.keys(materialMap).map(
4701
4709
  (materialMapKey) => JSON.parse(materialMap[materialMapKey])[0]
4702
4710
  );
4703
4711
  onChange(answer, 0, JSON.parse(materialMap[0])[0]);
4704
- }, [showCorrectAnswer]);
4712
+ }, [showCorrectAnswer, answer, materialMap, onChange]);
4705
4713
  const retrieveAnswerMap = () => {
4706
4714
  const foundIndex = answer.data.findIndex(
4707
4715
  (answerData) => answerData.type === "FILL_IN_THE_BLANKS"
@@ -4721,36 +4729,89 @@ var FillInTheBlanksActivityMaterialContent = ({
4721
4729
  const checkAnswerProvided = (answerMap2, option) => {
4722
4730
  return Object.keys(answerMap2).findIndex((key) => answerMap2[key] === option) !== -1;
4723
4731
  };
4724
- const handleSelectOption = (option) => {
4725
- setSelectedOption(option);
4732
+ const handleMouseDown = (e, option) => {
4733
+ e.preventDefault();
4734
+ setDraggedOption(option);
4735
+ setSelectedOption(null);
4736
+ };
4737
+ const handleMouseUp = () => {
4738
+ if (dropTargetIndex !== null && draggedOption !== null) {
4739
+ onChange(answer, dropTargetIndex, draggedOption);
4740
+ }
4741
+ setDraggedOption(null);
4742
+ setDropTargetIndex(null);
4726
4743
  };
4727
- const handleDragStart = (option) => {
4744
+ const handleTouchStart = (e, option, element) => {
4745
+ const touch = e.touches[0];
4728
4746
  setDraggedOption(option);
4747
+ setDraggedElement(element);
4748
+ setTouchPosition({ x: touch.clientX, y: touch.clientY });
4749
+ setSelectedOption(null);
4729
4750
  };
4730
- const handleDragEnd = () => {
4751
+ const handleTouchMove = (e) => {
4752
+ if (!draggedOption) return;
4753
+ const touch = e.touches[0];
4754
+ setTouchPosition({ x: touch.clientX, y: touch.clientY });
4755
+ const elementUnder = document.elementFromPoint(
4756
+ touch.clientX,
4757
+ touch.clientY
4758
+ );
4759
+ const dropZone = elementUnder == null ? void 0 : elementUnder.closest("[data-drop-zone]");
4760
+ if (dropZone) {
4761
+ const dropIndex = dropZone.getAttribute("data-drop-zone");
4762
+ setDropTargetIndex(dropIndex);
4763
+ } else {
4764
+ setDropTargetIndex(null);
4765
+ }
4766
+ };
4767
+ const handleTouchEnd = () => {
4731
4768
  if (dropTargetIndex !== null && draggedOption !== null) {
4732
4769
  onChange(answer, dropTargetIndex, draggedOption);
4733
4770
  }
4734
4771
  setDraggedOption(null);
4735
4772
  setDropTargetIndex(null);
4773
+ setDraggedElement(null);
4736
4774
  };
4737
- const handleDropZoneEnter = (index) => {
4738
- setDropTargetIndex(index);
4775
+ const handleSelectOption = (option) => {
4776
+ setSelectedOption(option);
4777
+ setDraggedOption(null);
4739
4778
  };
4740
- const handleDropZoneDrop = (index) => {
4779
+ const handleDropZoneClick = (index) => {
4741
4780
  if (selectedOption !== null) {
4742
4781
  onChange(answer, index, selectedOption);
4743
4782
  setSelectedOption(null);
4744
- } else if (draggedOption !== null) {
4745
- onChange(answer, index, draggedOption);
4746
- setDraggedOption(null);
4747
4783
  }
4748
- setDropTargetIndex(null);
4749
4784
  };
4750
4785
  const answerMap = retrieveAnswerMap();
4751
4786
  return /* @__PURE__ */ jsxs17("div", { className: "flex flex-row flex-wrap items-center", children: [
4752
4787
  /* @__PURE__ */ jsx28("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx28("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4753
4788
  /* @__PURE__ */ jsx28("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx28(DividerLine_default, {}) }),
4789
+ draggedOption && touchPosition.x > 0 && /* @__PURE__ */ jsx28(
4790
+ "div",
4791
+ {
4792
+ className: "fixed pointer-events-none z-50 opacity-80",
4793
+ style: {
4794
+ left: `${touchPosition.x}px`,
4795
+ top: `${touchPosition.y}px`,
4796
+ transform: "translate(-50%, -50%)"
4797
+ },
4798
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx28("div", { className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge bg-white shadow-lg", children: /* @__PURE__ */ jsx28("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ jsx28(
4799
+ InputWithSpecialExpression_default,
4800
+ {
4801
+ value: draggedOption,
4802
+ showSpecialOnly: false
4803
+ }
4804
+ ) }) }) : /* @__PURE__ */ jsx28("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-white shadow-lg", children: /* @__PURE__ */ jsx28(
4805
+ ShowMaterialMediaByContentType_default,
4806
+ {
4807
+ contentType: contentMap.type,
4808
+ src: draggedOption,
4809
+ canFullScreen: false
4810
+ },
4811
+ uniqueValue
4812
+ ) })
4813
+ }
4814
+ ),
4754
4815
  /* @__PURE__ */ jsx28("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4755
4816
  (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ jsx28("div", { className: "opacity-30", children: /* @__PURE__ */ jsx28(
4756
4817
  ShowMaterialMediaByContentType_default,
@@ -4763,16 +4824,17 @@ var FillInTheBlanksActivityMaterialContent = ({
4763
4824
  ) }, index) : /* @__PURE__ */ jsx28(
4764
4825
  "div",
4765
4826
  {
4766
- draggable: true,
4767
- onDragStart: () => handleDragStart(option),
4768
- onDragEnd: handleDragEnd,
4769
- className: `${draggedOption === option ? "opacity-40" : "opacity-100"} transition-opacity duration-200`,
4827
+ ref: draggedOption === option ? dragElementRef : null,
4828
+ className: `${draggedOption === option ? "opacity-40" : selectedOption === option ? "ring-2 ring-blue-500" : "opacity-100"} transition-all duration-200`,
4829
+ onMouseDown: (e) => handleMouseDown(e, option),
4830
+ onTouchStart: (e) => handleTouchStart(e, option, e.currentTarget),
4831
+ onTouchMove: handleTouchMove,
4832
+ onTouchEnd: handleTouchEnd,
4770
4833
  children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx28(
4771
4834
  "div",
4772
4835
  {
4773
- className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge cursor-pointer select-none touch-none",
4836
+ className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge cursor-pointer select-none",
4774
4837
  onClick: () => handleSelectOption(option),
4775
- onTouchEnd: () => handleSelectOption(option),
4776
4838
  children: /* @__PURE__ */ jsx28("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ jsx28(
4777
4839
  InputWithSpecialExpression_default,
4778
4840
  {
@@ -4784,9 +4846,8 @@ var FillInTheBlanksActivityMaterialContent = ({
4784
4846
  ) : /* @__PURE__ */ jsx28(
4785
4847
  "div",
4786
4848
  {
4787
- className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer select-none touch-none",
4849
+ className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer select-none",
4788
4850
  onClick: () => handleSelectOption(option),
4789
- onTouchEnd: () => handleSelectOption(option),
4790
4851
  children: /* @__PURE__ */ jsx28(
4791
4852
  ShowMaterialMediaByContentType_default,
4792
4853
  {
@@ -4802,7 +4863,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4802
4863
  index
4803
4864
  )
4804
4865
  ) }),
4805
- /* @__PURE__ */ jsx28("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4866
+ /* @__PURE__ */ jsx28("div", { className: "w-full flex flex-row flex-wrap", onMouseUp: handleMouseUp, children: Object.keys(answerMap).map((materialKey, index) => {
4806
4867
  const learnerAnswerState = checkAnswerState(
4807
4868
  JSON.parse(materialMap[materialKey]),
4808
4869
  answerMap[materialKey]
@@ -4810,21 +4871,11 @@ var FillInTheBlanksActivityMaterialContent = ({
4810
4871
  return /* @__PURE__ */ jsx28("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx28("div", { className: "mx-2", children: /* @__PURE__ */ jsx28(
4811
4872
  "div",
4812
4873
  {
4813
- onDragOver: (e) => {
4814
- e.preventDefault();
4815
- handleDropZoneEnter(materialKey);
4816
- },
4817
- onDragLeave: () => setDropTargetIndex(null),
4818
- onDrop: (e) => {
4819
- e.preventDefault();
4820
- handleDropZoneDrop(materialKey);
4821
- },
4822
- onClick: () => {
4823
- if (selectedOption !== null) {
4824
- handleDropZoneDrop(materialKey);
4825
- }
4826
- },
4827
- className: `${dropTargetIndex === materialKey ? "ring-2 ring-blue-400" : ""}`,
4874
+ "data-drop-zone": materialKey,
4875
+ onMouseEnter: () => draggedOption && setDropTargetIndex(materialKey),
4876
+ onMouseLeave: () => setDropTargetIndex(null),
4877
+ onClick: () => handleDropZoneClick(materialKey),
4878
+ className: `${dropTargetIndex === materialKey ? "ring-2 ring-blue-400 bg-blue-50" : ""} transition-all duration-200 rounded-lg`,
4828
4879
  children: /* @__PURE__ */ jsxs17("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4829
4880
  /* @__PURE__ */ jsx28("div", { className: "my-auto", children: /* @__PURE__ */ jsxs17("p", { className: "text-xl", children: [
4830
4881
  parseFloat(materialKey) + 1,
@@ -4834,9 +4885,10 @@ var FillInTheBlanksActivityMaterialContent = ({
4834
4885
  /* @__PURE__ */ jsx28("div", { className: "flex-1", children: /* @__PURE__ */ jsx28(
4835
4886
  "div",
4836
4887
  {
4837
- className: `w-full min-h-[44px] border rounded-lg ${answerMap[materialKey] ? "border-catchup-blue-400 px-2" : "bg-catchup-gray-50 border-catchup-gray-200 border-dashed py-2 px-4"}`,
4838
- onClick: () => {
4888
+ className: `w-full min-h-[44px] border rounded-lg ${answerMap[materialKey] ? "border-catchup-blue-400 px-2 cursor-pointer" : "bg-catchup-gray-50 border-catchup-gray-200 border-dashed py-2 px-4"}`,
4889
+ onClick: (e) => {
4839
4890
  if (answerMap[materialKey]) {
4891
+ e.stopPropagation();
4840
4892
  onChange(answer, materialKey, "");
4841
4893
  }
4842
4894
  },
@@ -4846,7 +4898,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4846
4898
  value: answerMap[materialKey],
4847
4899
  showSpecialOnly: false
4848
4900
  }
4849
- ) : /* @__PURE__ */ jsx28("p", { className: "text-gray-400 italic" })
4901
+ ) : null
4850
4902
  }
4851
4903
  ) }),
4852
4904
  learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx28("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx28(
@@ -4874,7 +4926,8 @@ var FillInTheBlanksActivityMaterialContent = ({
4874
4926
  "div",
4875
4927
  {
4876
4928
  className: "flex-1 cursor-pointer",
4877
- onClick: () => {
4929
+ onClick: (e) => {
4930
+ e.stopPropagation();
4878
4931
  onChange(answer, materialKey, "");
4879
4932
  },
4880
4933
  children: /* @__PURE__ */ jsx28(
@@ -5006,7 +5059,7 @@ var FillInTheBlanksActivityContent = ({
5006
5059
  var FillInTheBlanksActivityContent_default = FillInTheBlanksActivityContent;
5007
5060
 
5008
5061
  // src/components/activities/material-contents/GroupingActivityMaterialContent.tsx
5009
- import { useEffect as useEffect10, useRef as useRef5, useState as useState19 } from "react";
5062
+ import { useEffect as useEffect10, useRef as useRef6, useState as useState19 } from "react";
5010
5063
  import { useDrop as useDrop2 } from "react-dnd";
5011
5064
  import { InlineMath as InlineMath5 } from "react-katex";
5012
5065
 
@@ -5044,7 +5097,7 @@ var DraggableItem = ({
5044
5097
  var DraggableItem_default = DraggableItem;
5045
5098
 
5046
5099
  // src/components/dnds/DroppableItem.tsx
5047
- import { useRef as useRef4 } from "react";
5100
+ import { useRef as useRef5 } from "react";
5048
5101
  import { useDrop } from "react-dnd";
5049
5102
  import { jsx as jsx31 } from "react/jsx-runtime";
5050
5103
  var DroppableItem = ({
@@ -5055,7 +5108,7 @@ var DroppableItem = ({
5055
5108
  target,
5056
5109
  setTarget
5057
5110
  }) => {
5058
- const ref = useRef4(null);
5111
+ const ref = useRef5(null);
5059
5112
  const [, drop] = useDrop({
5060
5113
  accept: type,
5061
5114
  hover() {
@@ -5094,7 +5147,7 @@ var GroupingActivityMaterialContent = ({
5094
5147
  canDrop: monitor.canDrop()
5095
5148
  })
5096
5149
  });
5097
- const ref = useRef5(null);
5150
+ const ref = useRef6(null);
5098
5151
  useEffect10(() => {
5099
5152
  const shuffleArray2 = (array) => {
5100
5153
  if (!isShuffled) {
@@ -5374,7 +5427,7 @@ var GroupingActivityContent = ({
5374
5427
  var GroupingActivityContent_default = GroupingActivityContent;
5375
5428
 
5376
5429
  // src/components/activities/material-contents/MatchingActivityMaterialContent.tsx
5377
- import { useEffect as useEffect11, useRef as useRef6, useState as useState20 } from "react";
5430
+ import { useEffect as useEffect11, useRef as useRef7, useState as useState20 } from "react";
5378
5431
  import { useDrop as useDrop3 } from "react-dnd";
5379
5432
  import { InlineMath as InlineMath6 } from "react-katex";
5380
5433
  import { Fragment as Fragment5, jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
@@ -5401,7 +5454,7 @@ var MatchingActivityMaterialContent = ({
5401
5454
  canDrop: monitor.canDrop()
5402
5455
  })
5403
5456
  });
5404
- const itemsRef = useRef6(null);
5457
+ const itemsRef = useRef7(null);
5405
5458
  useEffect11(() => {
5406
5459
  const shuffleArray2 = (array) => {
5407
5460
  if (!isShuffled) {
@@ -6156,8 +6209,7 @@ var OpenEndedActivityContent = ({
6156
6209
  var OpenEndedActivityContent_default = OpenEndedActivityContent;
6157
6210
 
6158
6211
  // src/components/activities/material-contents/OrderingActivityMaterialContent.tsx
6159
- import { useEffect as useEffect13, useState as useState22 } from "react";
6160
- import { useDrop as useDrop5 } from "react-dnd";
6212
+ import { useEffect as useEffect13, useState as useState22, useRef as useRef8 } from "react";
6161
6213
  import { InlineMath as InlineMath9 } from "react-katex";
6162
6214
 
6163
6215
  // src/hooks/useScreenSize.ts
@@ -6195,59 +6247,8 @@ var useScreenSize = () => {
6195
6247
  };
6196
6248
  var useScreenSize_default = useScreenSize;
6197
6249
 
6198
- // src/components/dnds/DraggableDroppableItem.tsx
6199
- import { useRef as useRef7 } from "react";
6200
- import { useDrag as useDrag2, useDrop as useDrop4 } from "react-dnd";
6201
- import { jsx as jsx42 } from "react/jsx-runtime";
6202
- var DraggableDroppableItem = ({
6203
- item,
6204
- type,
6205
- component,
6206
- moveCardHandler,
6207
- dropRef,
6208
- target,
6209
- setTarget
6210
- }) => {
6211
- const ref = useRef7(null);
6212
- const [, drop] = useDrop4({
6213
- accept: type,
6214
- hover() {
6215
- if (!ref.current) {
6216
- return;
6217
- }
6218
- if (item.index && target !== item.index) {
6219
- setTarget(item.index);
6220
- }
6221
- }
6222
- });
6223
- const [{ isDragging }, drag] = useDrag2({
6224
- type,
6225
- item,
6226
- end: (item2, monitor) => {
6227
- const dropResult = monitor.getDropResult();
6228
- if (dropResult) {
6229
- moveCardHandler();
6230
- }
6231
- },
6232
- collect: (monitor) => ({
6233
- isDragging: monitor.isDragging()
6234
- })
6235
- });
6236
- const opacity = isDragging ? 0.4 : 1;
6237
- drag(drop(ref));
6238
- return /* @__PURE__ */ jsx42(
6239
- "div",
6240
- {
6241
- className: `${isDragging ? "w-[0px] opacity-0" : "w-full opacity-100"} transition-all duration-500`,
6242
- ref: dropRef,
6243
- children: /* @__PURE__ */ jsx42("div", { ref, className: "w-full", style: { opacity }, children: component })
6244
- }
6245
- );
6246
- };
6247
- var DraggableDroppableItem_default = DraggableDroppableItem;
6248
-
6249
6250
  // src/components/activities/material-contents/OrderingActivityMaterialContent.tsx
6250
- import { jsx as jsx43, jsxs as jsxs29 } from "react/jsx-runtime";
6251
+ import { jsx as jsx42, jsxs as jsxs29 } from "react/jsx-runtime";
6251
6252
  var OrderingActivityMaterialContent = ({
6252
6253
  uniqueValue,
6253
6254
  answer,
@@ -6258,19 +6259,19 @@ var OrderingActivityMaterialContent = ({
6258
6259
  isPreview,
6259
6260
  showCorrectAnswer
6260
6261
  }) => {
6261
- const [selectedTargetKey, setSelectedTargetKey] = useState22(null);
6262
6262
  const [selectedKey, setSelectedKey] = useState22(null);
6263
+ const [draggedKey, setDraggedKey] = useState22(null);
6264
+ const [dropTargetKey, setDropTargetKey] = useState22(null);
6265
+ const [draggedElement, setDraggedElement] = useState22(
6266
+ null
6267
+ );
6268
+ const dragElementRef = useRef8(null);
6269
+ const [touchPosition, setTouchPosition] = useState22({
6270
+ x: 0,
6271
+ y: 0
6272
+ });
6263
6273
  const { screenSize } = useScreenSize_default();
6264
6274
  const [view, setView] = useState22("PC");
6265
- const [{ isOver, canDrop }, drop] = useDrop5({
6266
- accept: "ORDERING",
6267
- drop: () => {
6268
- },
6269
- collect: (monitor) => ({
6270
- isOver: monitor.isOver(),
6271
- canDrop: monitor.canDrop()
6272
- })
6273
- });
6274
6275
  useEffect13(() => {
6275
6276
  if (!screenSize) return;
6276
6277
  if (screenSize.width <= 1024) {
@@ -6301,23 +6302,9 @@ var OrderingActivityMaterialContent = ({
6301
6302
  }
6302
6303
  return "INCORRECT";
6303
6304
  };
6304
- const handleOrderingActivityItemChange = (selectedKey2, materialKey) => {
6305
- if (checkCanAnswerQuestion()) {
6306
- if (selectedKey2) {
6307
- onChange(answer, selectedKey2, materialKey);
6308
- setSelectedKey(null);
6309
- } else {
6310
- setSelectedKey(materialKey);
6311
- }
6312
- }
6313
- };
6314
6305
  const calculateMarginTop = (index) => {
6315
6306
  if (index === 0) {
6316
- if (contentMap.type === "TEXT") {
6317
- return 0;
6318
- } else {
6319
- return 0;
6320
- }
6307
+ return 0;
6321
6308
  } else if (index === 1) {
6322
6309
  if (contentMap.type === "TEXT") {
6323
6310
  return 65;
@@ -6331,97 +6318,167 @@ var OrderingActivityMaterialContent = ({
6331
6318
  return -130;
6332
6319
  }
6333
6320
  } else if (index % 2 === 1) {
6334
- if (contentMap.type === "TEXT") {
6335
- return 0;
6336
- } else {
6337
- return 0;
6338
- }
6321
+ return 0;
6339
6322
  }
6340
6323
  return 0;
6341
6324
  };
6342
- const answerMap = retrieveAnswerMap();
6343
- return /* @__PURE__ */ jsx43("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6344
- const learnerAnswerState = checkAnswerState(
6345
- answerMap[materialKey] + "",
6346
- index + ""
6325
+ const handleMouseDown = (e, materialKey) => {
6326
+ if (!checkCanAnswerQuestion()) return;
6327
+ e.preventDefault();
6328
+ setDraggedKey(materialKey);
6329
+ setSelectedKey(null);
6330
+ };
6331
+ const handleMouseUp = () => {
6332
+ if (dropTargetKey !== null && draggedKey !== null && dropTargetKey !== draggedKey) {
6333
+ onChange(answer, draggedKey, dropTargetKey);
6334
+ }
6335
+ setDraggedKey(null);
6336
+ setDropTargetKey(null);
6337
+ };
6338
+ const handleTouchStart = (e, materialKey, element) => {
6339
+ if (!checkCanAnswerQuestion()) return;
6340
+ const touch = e.touches[0];
6341
+ setDraggedKey(materialKey);
6342
+ setDraggedElement(element);
6343
+ setTouchPosition({ x: touch.clientX, y: touch.clientY });
6344
+ setSelectedKey(null);
6345
+ };
6346
+ const handleTouchMove = (e) => {
6347
+ if (!draggedKey) return;
6348
+ const touch = e.touches[0];
6349
+ setTouchPosition({ x: touch.clientX, y: touch.clientY });
6350
+ const elementUnder = document.elementFromPoint(
6351
+ touch.clientX,
6352
+ touch.clientY
6347
6353
  );
6348
- return /* @__PURE__ */ jsx43("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ jsxs29(
6354
+ const dropZone = elementUnder == null ? void 0 : elementUnder.closest("[data-ordering-drop-zone]");
6355
+ if (dropZone) {
6356
+ const dropKey = dropZone.getAttribute("data-ordering-drop-zone");
6357
+ setDropTargetKey(dropKey);
6358
+ } else {
6359
+ setDropTargetKey(null);
6360
+ }
6361
+ };
6362
+ const handleTouchEnd = () => {
6363
+ if (dropTargetKey !== null && draggedKey !== null && dropTargetKey !== draggedKey) {
6364
+ onChange(answer, draggedKey, dropTargetKey);
6365
+ }
6366
+ setDraggedKey(null);
6367
+ setDropTargetKey(null);
6368
+ setDraggedElement(null);
6369
+ };
6370
+ const handleSelectItem = (materialKey) => {
6371
+ if (!checkCanAnswerQuestion()) return;
6372
+ if (selectedKey === null) {
6373
+ setSelectedKey(materialKey);
6374
+ } else if (selectedKey === materialKey) {
6375
+ setSelectedKey(null);
6376
+ } else {
6377
+ onChange(answer, selectedKey, materialKey);
6378
+ setSelectedKey(null);
6379
+ }
6380
+ setDraggedKey(null);
6381
+ };
6382
+ const answerMap = retrieveAnswerMap();
6383
+ return /* @__PURE__ */ jsxs29("div", { className: "flex flex-row flex-wrap", onMouseUp: handleMouseUp, children: [
6384
+ draggedKey && touchPosition.x > 0 && /* @__PURE__ */ jsx42(
6349
6385
  "div",
6350
6386
  {
6351
- className: `flex flex-row items-center my-4 mx-2`,
6387
+ className: "fixed pointer-events-none z-50 opacity-80",
6352
6388
  style: {
6353
- marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
6389
+ left: `${touchPosition.x}px`,
6390
+ top: `${touchPosition.y}px`,
6391
+ transform: "translate(-50%, -50%)"
6354
6392
  },
6355
- children: [
6356
- /* @__PURE__ */ jsx43("div", { className: "mr-3", children: /* @__PURE__ */ jsx43("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__ */ jsx43(
6357
- "div",
6358
- {
6359
- 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]`,
6360
- children: /* @__PURE__ */ jsx43("p", { className: "", children: parseFloat(materialKey) + 1 })
6361
- }
6362
- ) }) }),
6363
- /* @__PURE__ */ jsx43(
6364
- DraggableDroppableItem_default,
6365
- {
6366
- item: { index: materialKey },
6367
- type: "ORDERING",
6368
- dropRef: drop,
6369
- component: /* @__PURE__ */ jsx43(
6370
- "div",
6371
- {
6372
- 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"}`,
6373
- onMouseDown: () => {
6374
- if (checkCanAnswerQuestion()) {
6375
- setSelectedKey(materialKey);
6376
- }
6377
- },
6378
- onTouchEnd: () => {
6379
- if (checkCanAnswerQuestion()) {
6380
- setSelectedKey(materialKey);
6381
- }
6382
- },
6383
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx43("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6384
- materialMap[answerMap[materialKey]]
6385
- ).map((inputPart, index2) => /* @__PURE__ */ jsx43(
6386
- "span",
6387
- {
6388
- className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6389
- children: inputPart.isEquation ? /* @__PURE__ */ jsx43("span", { className: "text-xl", children: /* @__PURE__ */ jsx43(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6390
- },
6391
- index2
6392
- )) }) : /* @__PURE__ */ jsx43(
6393
- ShowMaterialMediaByContentType_default,
6394
- {
6395
- contentType: contentMap.type,
6396
- src: materialMap[answerMap[materialKey]],
6397
- canFullScreen: true
6398
- },
6399
- `${uniqueValue}-${index}`
6400
- )
6401
- }
6402
- ),
6403
- target: selectedTargetKey,
6404
- setTarget: setSelectedTargetKey,
6405
- moveCardHandler: () => {
6406
- if (!selectedKey) return;
6407
- if (!selectedTargetKey) return;
6408
- handleOrderingActivityItemChange(
6409
- selectedKey,
6410
- selectedTargetKey
6411
- );
6412
- }
6413
- },
6414
- index
6415
- )
6416
- ]
6393
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx42("div", { className: "border-catchup-blue border-2 px-3 py-2 rounded-catchup-xlarge bg-white shadow-lg", children: /* @__PURE__ */ jsx42("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6394
+ materialMap[answerMap[draggedKey]]
6395
+ ).map((inputPart, index) => /* @__PURE__ */ jsx42(
6396
+ "span",
6397
+ {
6398
+ className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6399
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx42("span", { className: "text-xl", children: /* @__PURE__ */ jsx42(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6400
+ },
6401
+ index
6402
+ )) }) }) : /* @__PURE__ */ jsx42("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-white shadow-lg", children: /* @__PURE__ */ jsx42(
6403
+ ShowMaterialMediaByContentType_default,
6404
+ {
6405
+ contentType: contentMap.type,
6406
+ src: materialMap[answerMap[draggedKey]],
6407
+ canFullScreen: false
6408
+ },
6409
+ `${uniqueValue}-drag`
6410
+ ) })
6417
6411
  }
6418
- ) }, index);
6419
- }) });
6412
+ ),
6413
+ Object.keys(answerMap).map((materialKey, index) => {
6414
+ const learnerAnswerState = checkAnswerState(
6415
+ answerMap[materialKey] + "",
6416
+ index + ""
6417
+ );
6418
+ return /* @__PURE__ */ jsx42("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ jsxs29(
6419
+ "div",
6420
+ {
6421
+ className: `flex flex-row items-center my-4 mx-2`,
6422
+ style: {
6423
+ marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
6424
+ },
6425
+ children: [
6426
+ /* @__PURE__ */ jsx42("div", { className: "mr-3", children: /* @__PURE__ */ jsx42("div", { className: "h-catchup-activity-box-item w-catchup-activity-box-item flex flex-col items-center justify-center cursor-pointer transition-all duration-300 overflow-y-auto", children: /* @__PURE__ */ jsx42(
6427
+ "div",
6428
+ {
6429
+ 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]`,
6430
+ children: /* @__PURE__ */ jsx42("p", { className: "", children: parseFloat(materialKey) + 1 })
6431
+ }
6432
+ ) }) }),
6433
+ /* @__PURE__ */ jsx42(
6434
+ "div",
6435
+ {
6436
+ ref: draggedKey === materialKey ? dragElementRef : null,
6437
+ "data-ordering-drop-zone": materialKey,
6438
+ className: `flex-1 ${draggedKey === materialKey ? "opacity-40" : selectedKey === materialKey ? "ring-2 ring-blue-500" : "opacity-100"} ${dropTargetKey === materialKey && draggedKey !== materialKey ? "ring-2 ring-blue-400 bg-blue-50" : ""} transition-all duration-200`,
6439
+ onMouseDown: (e) => handleMouseDown(e, materialKey),
6440
+ onMouseEnter: () => draggedKey && draggedKey !== materialKey && setDropTargetKey(materialKey),
6441
+ onMouseLeave: () => setDropTargetKey(null),
6442
+ onTouchStart: (e) => handleTouchStart(e, materialKey, e.currentTarget),
6443
+ onTouchMove: handleTouchMove,
6444
+ onTouchEnd: handleTouchEnd,
6445
+ children: /* @__PURE__ */ jsx42(
6446
+ "div",
6447
+ {
6448
+ className: `${contentMap.type === "TEXT" ? "h-catchup-activity-text-box-item" : "h-catchup-activity-media-box-item"} flex flex-col items-center justify-center border-2 rounded-catchup-xlarge cursor-pointer p-3 ${learnerAnswerState === "CORRECT" ? "border-catchup-green" : learnerAnswerState === "INCORRECT" ? "border-catchup-red" : "border-catchup-blue"}`,
6449
+ onClick: () => handleSelectItem(materialKey),
6450
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx42("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6451
+ materialMap[answerMap[materialKey]]
6452
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx42(
6453
+ "span",
6454
+ {
6455
+ className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6456
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx42("span", { className: "text-xl", children: /* @__PURE__ */ jsx42(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6457
+ },
6458
+ index2
6459
+ )) }) : /* @__PURE__ */ jsx42(
6460
+ ShowMaterialMediaByContentType_default,
6461
+ {
6462
+ contentType: contentMap.type,
6463
+ src: materialMap[answerMap[materialKey]],
6464
+ canFullScreen: true
6465
+ },
6466
+ `${uniqueValue}-${index}`
6467
+ )
6468
+ }
6469
+ )
6470
+ }
6471
+ )
6472
+ ]
6473
+ }
6474
+ ) }, index);
6475
+ })
6476
+ ] });
6420
6477
  };
6421
6478
  var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
6422
6479
 
6423
6480
  // src/components/activities/OrderingActivityContent.tsx
6424
- import { Fragment as Fragment9, jsx as jsx44, jsxs as jsxs30 } from "react/jsx-runtime";
6481
+ import { Fragment as Fragment9, jsx as jsx43, jsxs as jsxs30 } from "react/jsx-runtime";
6425
6482
  var OrderingActivityContent = ({
6426
6483
  answer,
6427
6484
  data,
@@ -6446,15 +6503,15 @@ var OrderingActivityContent = ({
6446
6503
  changeAnswer(answer2);
6447
6504
  };
6448
6505
  return /* @__PURE__ */ jsxs30(Fragment9, { children: [
6449
- /* @__PURE__ */ jsx44(
6506
+ /* @__PURE__ */ jsx43(
6450
6507
  ActivityBodyContent_default,
6451
6508
  {
6452
6509
  bodyMap: orderingBodyMap,
6453
6510
  templateType: "ORDERING"
6454
6511
  }
6455
6512
  ),
6456
- /* @__PURE__ */ jsx44(DividerLine_default, {}),
6457
- /* @__PURE__ */ jsx44(
6513
+ /* @__PURE__ */ jsx43(DividerLine_default, {}),
6514
+ /* @__PURE__ */ jsx43(
6458
6515
  OrderingActivityMaterialContent_default,
6459
6516
  {
6460
6517
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6474,7 +6531,7 @@ var OrderingActivityContent_default = OrderingActivityContent;
6474
6531
  // src/components/activities/material-contents/TrueFalseActivityMaterialContent.tsx
6475
6532
  import { useEffect as useEffect14, useState as useState23 } from "react";
6476
6533
  import { InlineMath as InlineMath10 } from "react-katex";
6477
- import { Fragment as Fragment10, jsx as jsx45, jsxs as jsxs31 } from "react/jsx-runtime";
6534
+ import { Fragment as Fragment10, jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
6478
6535
  var TrueFalseActivityMaterialContent = ({
6479
6536
  uniqueValue,
6480
6537
  answer,
@@ -6528,13 +6585,13 @@ var TrueFalseActivityMaterialContent = ({
6528
6585
  };
6529
6586
  const answerMap = retrieveAnswerMap();
6530
6587
  return /* @__PURE__ */ jsxs31("div", { className: "", children: [
6531
- /* @__PURE__ */ jsx45("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx45("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6532
- /* @__PURE__ */ jsx45("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx45(DividerLine_default, {}) }),
6588
+ /* @__PURE__ */ jsx44("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx44("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6589
+ /* @__PURE__ */ jsx44("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx44(DividerLine_default, {}) }),
6533
6590
  /* @__PURE__ */ jsxs31("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6534
- /* @__PURE__ */ jsx45("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx45("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6535
- /* @__PURE__ */ jsx45("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx45("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6591
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6592
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6536
6593
  ] }),
6537
- checkCanAnswerQuestion() ? /* @__PURE__ */ jsx45("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6594
+ checkCanAnswerQuestion() ? /* @__PURE__ */ jsx44("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6538
6595
  const correctAnswer = materialMap.trueList.find(
6539
6596
  (trueItem) => trueItem === shuffleOption
6540
6597
  ) !== void 0 ? "TRUE" : "FALSE";
@@ -6550,16 +6607,16 @@ var TrueFalseActivityMaterialContent = ({
6550
6607
  {
6551
6608
  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" : ""}`,
6552
6609
  children: [
6553
- /* @__PURE__ */ jsx45("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx45("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6610
+ /* @__PURE__ */ jsx44("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx44("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6554
6611
  shuffleOption
6555
- ).map((inputPart, index2) => /* @__PURE__ */ jsx45(
6612
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx44(
6556
6613
  "span",
6557
6614
  {
6558
6615
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6559
- children: inputPart.isEquation ? /* @__PURE__ */ jsx45("span", { className: "text-xl", children: /* @__PURE__ */ jsx45(InlineMath10, { math: inputPart.value }) }) : inputPart.value
6616
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx44("span", { className: "text-xl", children: /* @__PURE__ */ jsx44(InlineMath10, { math: inputPart.value }) }) : inputPart.value
6560
6617
  },
6561
6618
  index2
6562
- )) }) : /* @__PURE__ */ jsx45(
6619
+ )) }) : /* @__PURE__ */ jsx44(
6563
6620
  ShowMaterialMediaByContentType_default,
6564
6621
  {
6565
6622
  contentType: contentMap.type,
@@ -6569,7 +6626,7 @@ var TrueFalseActivityMaterialContent = ({
6569
6626
  `${uniqueValue}-${index}`
6570
6627
  ) }),
6571
6628
  /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-x-2", children: [
6572
- /* @__PURE__ */ jsx45("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx45("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx45(
6629
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx44(
6573
6630
  BaseImage_default,
6574
6631
  {
6575
6632
  src: answerMap.trueList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6580,7 +6637,7 @@ var TrueFalseActivityMaterialContent = ({
6580
6637
  }
6581
6638
  }
6582
6639
  ) }) }),
6583
- /* @__PURE__ */ jsx45("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx45("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx45(
6640
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx44(
6584
6641
  BaseImage_default,
6585
6642
  {
6586
6643
  src: answerMap.falseList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6598,12 +6655,12 @@ var TrueFalseActivityMaterialContent = ({
6598
6655
  );
6599
6656
  }) }) : /* @__PURE__ */ jsxs31(Fragment10, { children: [
6600
6657
  answerMap.trueList.map((item) => /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-x-2", children: [
6601
- /* @__PURE__ */ jsx45("div", { className: "flex-1", children: /* @__PURE__ */ jsx45("p", { children: item }) }),
6602
- /* @__PURE__ */ jsx45("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx45("p", { className: "underline", children: i18n_default.t("true") }) })
6658
+ /* @__PURE__ */ jsx44("div", { className: "flex-1", children: /* @__PURE__ */ jsx44("p", { children: item }) }),
6659
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("p", { className: "underline", children: i18n_default.t("true") }) })
6603
6660
  ] })),
6604
6661
  answerMap.falseList.map((item) => /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-x-2", children: [
6605
- /* @__PURE__ */ jsx45("div", { className: "flex-1", children: /* @__PURE__ */ jsx45("p", { children: item }) }),
6606
- /* @__PURE__ */ jsx45("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx45("p", { className: "underline", children: i18n_default.t("false") }) })
6662
+ /* @__PURE__ */ jsx44("div", { className: "flex-1", children: /* @__PURE__ */ jsx44("p", { children: item }) }),
6663
+ /* @__PURE__ */ jsx44("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx44("p", { className: "underline", children: i18n_default.t("false") }) })
6607
6664
  ] }))
6608
6665
  ] })
6609
6666
  ] });
@@ -6611,7 +6668,7 @@ var TrueFalseActivityMaterialContent = ({
6611
6668
  var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
6612
6669
 
6613
6670
  // src/components/activities/TrueFalseActivityContent.tsx
6614
- import { jsx as jsx46, jsxs as jsxs32 } from "react/jsx-runtime";
6671
+ import { jsx as jsx45, jsxs as jsxs32 } from "react/jsx-runtime";
6615
6672
  var TrueFalseActivityContent = ({
6616
6673
  answer,
6617
6674
  data,
@@ -6663,16 +6720,16 @@ var TrueFalseActivityContent = ({
6663
6720
  changeAnswer(answer2);
6664
6721
  };
6665
6722
  return /* @__PURE__ */ jsxs32("div", { className: "flex flex-row flex-wrap", children: [
6666
- /* @__PURE__ */ jsx46("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ jsx46(
6723
+ /* @__PURE__ */ jsx45("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ jsx45(
6667
6724
  ActivityBodyContent_default,
6668
6725
  {
6669
6726
  bodyMap: trueFalseBodyMap,
6670
6727
  templateType: "GROUPING"
6671
6728
  }
6672
6729
  ) }),
6673
- /* @__PURE__ */ jsx46("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx46(DividerLine_default, {}) }),
6674
- /* @__PURE__ */ jsx46("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx46(VerticalDividerLine_default, {}) }),
6675
- /* @__PURE__ */ jsx46("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx46(
6730
+ /* @__PURE__ */ jsx45("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx45(DividerLine_default, {}) }),
6731
+ /* @__PURE__ */ jsx45("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx45(VerticalDividerLine_default, {}) }),
6732
+ /* @__PURE__ */ jsx45("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx45(
6676
6733
  TrueFalseActivityMaterialContent_default,
6677
6734
  {
6678
6735
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6691,7 +6748,7 @@ var TrueFalseActivityContent_default = TrueFalseActivityContent;
6691
6748
 
6692
6749
  // src/components/activities/solution-contents/ActivitySolutionContent.tsx
6693
6750
  import { InlineMath as InlineMath11 } from "react-katex";
6694
- import { jsx as jsx47, jsxs as jsxs33 } from "react/jsx-runtime";
6751
+ import { jsx as jsx46, jsxs as jsxs33 } from "react/jsx-runtime";
6695
6752
  var ActivitySolutionContent = ({
6696
6753
  activityTemplateType,
6697
6754
  data
@@ -6721,8 +6778,8 @@ var ActivitySolutionContent = ({
6721
6778
  return null;
6722
6779
  }
6723
6780
  if (!solutionMap || Object.keys(solutionMap).length === 0) return null;
6724
- return /* @__PURE__ */ jsx47("div", { className: "mx-2", children: /* @__PURE__ */ jsxs33("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6725
- /* @__PURE__ */ jsx47("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6781
+ return /* @__PURE__ */ jsx46("div", { className: "mx-2", children: /* @__PURE__ */ jsxs33("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6782
+ /* @__PURE__ */ jsx46("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6726
6783
  Object.keys(solutionMap).map((key) => {
6727
6784
  let currentItem;
6728
6785
  try {
@@ -6732,12 +6789,12 @@ var ActivitySolutionContent = ({
6732
6789
  return null;
6733
6790
  }
6734
6791
  const { value } = currentItem;
6735
- return /* @__PURE__ */ jsx47("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6736
- (inputPart, partIndex) => /* @__PURE__ */ jsx47(
6792
+ return /* @__PURE__ */ jsx46("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6793
+ (inputPart, partIndex) => /* @__PURE__ */ jsx46(
6737
6794
  "span",
6738
6795
  {
6739
6796
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6740
- children: inputPart.isEquation ? /* @__PURE__ */ jsx47("span", { className: "text-xl", children: /* @__PURE__ */ jsx47(InlineMath11, { math: inputPart.value }) }) : inputPart.value
6797
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx46("span", { className: "text-xl", children: /* @__PURE__ */ jsx46(InlineMath11, { math: inputPart.value }) }) : inputPart.value
6741
6798
  },
6742
6799
  `${key}_part_${partIndex}`
6743
6800
  )
@@ -6749,7 +6806,7 @@ var ActivitySolutionContent_default = ActivitySolutionContent;
6749
6806
 
6750
6807
  // src/components/activities/evaluation-rubric-contents/ActivityEvaluationRubricContent.tsx
6751
6808
  import { InlineMath as InlineMath12 } from "react-katex";
6752
- import { jsx as jsx48, jsxs as jsxs34 } from "react/jsx-runtime";
6809
+ import { jsx as jsx47, jsxs as jsxs34 } from "react/jsx-runtime";
6753
6810
  var ActivityEvaluationRubricContent = ({
6754
6811
  activityTemplateType,
6755
6812
  data
@@ -6779,21 +6836,21 @@ var ActivityEvaluationRubricContent = ({
6779
6836
  }
6780
6837
  if (!evaluationRubricMap || Object.keys(evaluationRubricMap).length === 0)
6781
6838
  return null;
6782
- return /* @__PURE__ */ jsx48("div", { className: "mx-2", children: /* @__PURE__ */ jsxs34("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6783
- /* @__PURE__ */ jsx48("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6839
+ return /* @__PURE__ */ jsx47("div", { className: "mx-2", children: /* @__PURE__ */ jsxs34("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6840
+ /* @__PURE__ */ jsx47("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6784
6841
  Object.keys(evaluationRubricMap).map((key, index) => {
6785
6842
  const currentItem = JSON.parse(evaluationRubricMap[key]);
6786
6843
  const { value } = currentItem;
6787
- return /* @__PURE__ */ jsx48(
6844
+ return /* @__PURE__ */ jsx47(
6788
6845
  "p",
6789
6846
  {
6790
6847
  className: "my-1 text-xl whitespace-pre-wrap",
6791
6848
  children: constructInputWithSpecialExpressionList(value).map(
6792
- (inputPart, index2) => /* @__PURE__ */ jsx48(
6849
+ (inputPart, index2) => /* @__PURE__ */ jsx47(
6793
6850
  "span",
6794
6851
  {
6795
6852
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6796
- children: inputPart.isEquation ? /* @__PURE__ */ jsx48("span", { className: "text-xl", children: /* @__PURE__ */ jsx48(InlineMath12, { math: inputPart.value }) }) : inputPart.value
6853
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx47("span", { className: "text-xl", children: /* @__PURE__ */ jsx47(InlineMath12, { math: inputPart.value }) }) : inputPart.value
6797
6854
  },
6798
6855
  index2
6799
6856
  )
@@ -6810,13 +6867,13 @@ var ActivityEvaluationRubricContent_default = ActivityEvaluationRubricContent;
6810
6867
  import { useEffect as useEffect15, useState as useState24 } from "react";
6811
6868
 
6812
6869
  // src/components/boxes/SelectionBox.tsx
6813
- import { jsx as jsx49, jsxs as jsxs35 } from "react/jsx-runtime";
6870
+ import { jsx as jsx48, jsxs as jsxs35 } from "react/jsx-runtime";
6814
6871
  var SelectionBox = ({
6815
6872
  optionList,
6816
6873
  selectedId,
6817
6874
  handleSelectOnClick
6818
6875
  }) => {
6819
- return /* @__PURE__ */ jsx49("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx49(
6876
+ return /* @__PURE__ */ jsx48("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx48(
6820
6877
  "div",
6821
6878
  {
6822
6879
  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`,
@@ -6830,7 +6887,7 @@ var SelectionBox = ({
6830
6887
  children: [
6831
6888
  option.icon,
6832
6889
  /* @__PURE__ */ jsxs35("div", { className: "flex-1 flex flex-col items-center", children: [
6833
- /* @__PURE__ */ jsx49("p", { children: option.text }),
6890
+ /* @__PURE__ */ jsx48("p", { children: option.text }),
6834
6891
  option.subText ? /* @__PURE__ */ jsxs35("p", { className: "text-md", children: [
6835
6892
  "(",
6836
6893
  option.subText,
@@ -6847,7 +6904,7 @@ var SelectionBox = ({
6847
6904
  var SelectionBox_default = SelectionBox;
6848
6905
 
6849
6906
  // src/components/activities/ActivityPreviewByData.tsx
6850
- import { Fragment as Fragment11, jsx as jsx50, jsxs as jsxs36 } from "react/jsx-runtime";
6907
+ import { Fragment as Fragment11, jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
6851
6908
  var ActivityPreviewByData = ({
6852
6909
  data,
6853
6910
  showType,
@@ -6908,8 +6965,8 @@ var ActivityPreviewByData = ({
6908
6965
  return /* @__PURE__ */ jsxs36("div", { children: [
6909
6966
  showType ? /* @__PURE__ */ jsxs36(Fragment11, { children: [
6910
6967
  /* @__PURE__ */ jsxs36("div", { className: "mb-4", children: [
6911
- showDescription ? /* @__PURE__ */ jsx50("div", { className: "my-2", children: /* @__PURE__ */ jsx50("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6912
- /* @__PURE__ */ jsx50(
6968
+ showDescription ? /* @__PURE__ */ jsx49("div", { className: "my-2", children: /* @__PURE__ */ jsx49("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6969
+ /* @__PURE__ */ jsx49(
6913
6970
  SelectionBox_default,
6914
6971
  {
6915
6972
  optionList,
@@ -6920,9 +6977,9 @@ var ActivityPreviewByData = ({
6920
6977
  }
6921
6978
  )
6922
6979
  ] }),
6923
- /* @__PURE__ */ jsx50(DividerLine_default, {})
6980
+ /* @__PURE__ */ jsx49(DividerLine_default, {})
6924
6981
  ] }) : null,
6925
- selectedType ? /* @__PURE__ */ jsx50("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ jsx50(
6982
+ selectedType ? /* @__PURE__ */ jsx49("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ jsx49(
6926
6983
  OrderingActivityContent_default,
6927
6984
  {
6928
6985
  answer,
@@ -6936,7 +6993,7 @@ var ActivityPreviewByData = ({
6936
6993
  showCorrectAnswer: true,
6937
6994
  isFullScreen
6938
6995
  }
6939
- ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ jsx50(
6996
+ ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ jsx49(
6940
6997
  DropdownActivityContent_default,
6941
6998
  {
6942
6999
  answer,
@@ -6950,7 +7007,7 @@ var ActivityPreviewByData = ({
6950
7007
  showCorrectAnswer: true,
6951
7008
  isFullScreen
6952
7009
  }
6953
- ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ jsx50(
7010
+ ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ jsx49(
6954
7011
  MCSAActivityContent_default,
6955
7012
  {
6956
7013
  answer,
@@ -6964,7 +7021,7 @@ var ActivityPreviewByData = ({
6964
7021
  showCorrectAnswer: true,
6965
7022
  isFullScreen
6966
7023
  }
6967
- ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ jsx50(
7024
+ ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ jsx49(
6968
7025
  MCMAActivityContent_default,
6969
7026
  {
6970
7027
  answer,
@@ -6978,7 +7035,7 @@ var ActivityPreviewByData = ({
6978
7035
  showCorrectAnswer: true,
6979
7036
  isFullScreen
6980
7037
  }
6981
- ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ jsx50(
7038
+ ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ jsx49(
6982
7039
  MatchingActivityContent_default,
6983
7040
  {
6984
7041
  answer,
@@ -6991,7 +7048,7 @@ var ActivityPreviewByData = ({
6991
7048
  isPreview: true,
6992
7049
  showCorrectAnswer: true
6993
7050
  }
6994
- ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ jsx50(
7051
+ ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ jsx49(
6995
7052
  GroupingActivityContent_default,
6996
7053
  {
6997
7054
  answer,
@@ -7004,7 +7061,7 @@ var ActivityPreviewByData = ({
7004
7061
  isPreview: true,
7005
7062
  showCorrectAnswer: true
7006
7063
  }
7007
- ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ jsx50(
7064
+ ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ jsx49(
7008
7065
  FillInTheBlanksActivityContent_default,
7009
7066
  {
7010
7067
  answer,
@@ -7018,7 +7075,7 @@ var ActivityPreviewByData = ({
7018
7075
  showCorrectAnswer: true,
7019
7076
  isFullScreen
7020
7077
  }
7021
- ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ jsx50(
7078
+ ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ jsx49(
7022
7079
  OpenEndedActivityContent_default,
7023
7080
  {
7024
7081
  answer,
@@ -7030,7 +7087,7 @@ var ActivityPreviewByData = ({
7030
7087
  isPreview: true,
7031
7088
  isFullScreen
7032
7089
  }
7033
- ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ jsx50(
7090
+ ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ jsx49(
7034
7091
  TrueFalseActivityContent_default,
7035
7092
  {
7036
7093
  answer,
@@ -7045,14 +7102,14 @@ var ActivityPreviewByData = ({
7045
7102
  isFullScreen
7046
7103
  }
7047
7104
  ) : null }, selectedType) : null,
7048
- selectedType && showSolution ? /* @__PURE__ */ jsx50("div", { className: "my-4", children: /* @__PURE__ */ jsx50(
7105
+ selectedType && showSolution ? /* @__PURE__ */ jsx49("div", { className: "my-4", children: /* @__PURE__ */ jsx49(
7049
7106
  ActivitySolutionContent_default,
7050
7107
  {
7051
7108
  activityTemplateType: selectedType,
7052
7109
  data
7053
7110
  }
7054
7111
  ) }) : null,
7055
- selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx50("div", { className: "my-4", children: /* @__PURE__ */ jsx50(
7112
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx49("div", { className: "my-4", children: /* @__PURE__ */ jsx49(
7056
7113
  ActivityEvaluationRubricContent_default,
7057
7114
  {
7058
7115
  activityTemplateType: selectedType,
@@ -7065,7 +7122,7 @@ var ActivityPreviewByData_default = ActivityPreviewByData;
7065
7122
 
7066
7123
  // src/components/activities/ActivityPreviewByAnswerData.tsx
7067
7124
  import { useEffect as useEffect16, useState as useState25 } from "react";
7068
- import { Fragment as Fragment12, jsx as jsx51, jsxs as jsxs37 } from "react/jsx-runtime";
7125
+ import { Fragment as Fragment12, jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
7069
7126
  var ActivityPreviewByAnswerData = ({
7070
7127
  data,
7071
7128
  showType = true,
@@ -7173,28 +7230,28 @@ var ActivityPreviewByAnswerData = ({
7173
7230
  };
7174
7231
  switch (selectedType) {
7175
7232
  case "ORDERING":
7176
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsx51(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7233
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsx50(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7177
7234
  case "DROPDOWN":
7178
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsx51(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7235
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsx50(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7179
7236
  case "MCSA":
7180
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsx51(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7237
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsx50(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7181
7238
  case "MCMA":
7182
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsx51(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7239
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsx50(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7183
7240
  case "MATCHING":
7184
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsx51(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7241
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsx50(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7185
7242
  case "GROUPING":
7186
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsx51(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7243
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsx50(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7187
7244
  case "FILL_IN_THE_BLANKS":
7188
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsx51(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7245
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsx50(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7189
7246
  case "OPEN_ENDED":
7190
- return data.openEndedBodyMap ? /* @__PURE__ */ jsx51(
7247
+ return data.openEndedBodyMap ? /* @__PURE__ */ jsx50(
7191
7248
  OpenEndedActivityContent_default,
7192
7249
  __spreadProps(__spreadValues({}, commonProps), {
7193
7250
  showMaterialContent: true
7194
7251
  })
7195
7252
  ) : null;
7196
7253
  case "TRUE_FALSE":
7197
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsx51(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7254
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsx50(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7198
7255
  default:
7199
7256
  return null;
7200
7257
  }
@@ -7203,8 +7260,8 @@ var ActivityPreviewByAnswerData = ({
7203
7260
  return /* @__PURE__ */ jsxs37("div", { children: [
7204
7261
  showType && optionList.length > 0 ? /* @__PURE__ */ jsxs37(Fragment12, { children: [
7205
7262
  /* @__PURE__ */ jsxs37("div", { className: "mb-4", children: [
7206
- showDescription ? /* @__PURE__ */ jsx51("div", { className: "my-2", children: /* @__PURE__ */ jsx51("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7207
- /* @__PURE__ */ jsx51(
7263
+ showDescription ? /* @__PURE__ */ jsx50("div", { className: "my-2", children: /* @__PURE__ */ jsx50("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7264
+ /* @__PURE__ */ jsx50(
7208
7265
  SelectionBox_default,
7209
7266
  {
7210
7267
  optionList,
@@ -7215,20 +7272,20 @@ var ActivityPreviewByAnswerData = ({
7215
7272
  }
7216
7273
  )
7217
7274
  ] }),
7218
- /* @__PURE__ */ jsx51(DividerLine_default, {})
7275
+ /* @__PURE__ */ jsx50(DividerLine_default, {})
7219
7276
  ] }) : null,
7220
7277
  /* @__PURE__ */ jsxs37("div", { className: "flex flex-col my-2 w-full p-5", children: [
7221
- ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ jsx51(ActivityEmptyContent_default, {}) : null,
7222
- selectedType ? /* @__PURE__ */ jsx51("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7278
+ ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ jsx50(ActivityEmptyContent_default, {}) : null,
7279
+ selectedType ? /* @__PURE__ */ jsx50("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7223
7280
  ] }),
7224
- selectedType && showSolution ? /* @__PURE__ */ jsx51("div", { className: "my-4", children: /* @__PURE__ */ jsx51(
7281
+ selectedType && showSolution ? /* @__PURE__ */ jsx50("div", { className: "my-4", children: /* @__PURE__ */ jsx50(
7225
7282
  ActivitySolutionContent_default,
7226
7283
  {
7227
7284
  activityTemplateType: selectedType,
7228
7285
  data
7229
7286
  }
7230
7287
  ) }) : null,
7231
- selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx51("div", { className: "my-4", children: /* @__PURE__ */ jsx51(
7288
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx50("div", { className: "my-4", children: /* @__PURE__ */ jsx50(
7232
7289
  ActivityEvaluationRubricContent_default,
7233
7290
  {
7234
7291
  activityTemplateType: selectedType,
@@ -7240,16 +7297,16 @@ var ActivityPreviewByAnswerData = ({
7240
7297
  var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
7241
7298
 
7242
7299
  // src/components/errors/StatusError.tsx
7243
- import { jsx as jsx52, jsxs as jsxs38 } from "react/jsx-runtime";
7300
+ import { jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
7244
7301
  var StatusError = ({
7245
7302
  statusCode,
7246
7303
  statusText,
7247
7304
  textSize
7248
7305
  }) => {
7249
7306
  return /* @__PURE__ */ jsxs38("div", { className: "flex flex-col justify-center items-center", children: [
7250
- /* @__PURE__ */ jsx52("p", { className: "text-6xl text-catchup-red my-5", children: i18n_default.t("ooops_text") }),
7307
+ /* @__PURE__ */ jsx51("p", { className: "text-6xl text-catchup-red my-5", children: i18n_default.t("ooops_text") }),
7251
7308
  /* @__PURE__ */ jsxs38("div", { className: "text-center my-5", children: [
7252
- /* @__PURE__ */ jsx52("p", { className: "italic", children: i18n_default.t("unexcepted_error_text") }),
7309
+ /* @__PURE__ */ jsx51("p", { className: "italic", children: i18n_default.t("unexcepted_error_text") }),
7253
7310
  /* @__PURE__ */ jsxs38("p", { className: `${textSize ? textSize : "text-lg"}`, children: [
7254
7311
  "(",
7255
7312
  statusCode ? `${statusCode} - ` : null,
@@ -7262,9 +7319,9 @@ var StatusError = ({
7262
7319
  var StatusError_default = StatusError;
7263
7320
 
7264
7321
  // src/components/dividers/BlueVerticalDividerLine.tsx
7265
- import { jsx as jsx53 } from "react/jsx-runtime";
7322
+ import { jsx as jsx52 } from "react/jsx-runtime";
7266
7323
  var BlueVerticalDividerLine = ({ opacity }) => {
7267
- return /* @__PURE__ */ jsx53(
7324
+ return /* @__PURE__ */ jsx52(
7268
7325
  "div",
7269
7326
  {
7270
7327
  className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
@@ -7274,7 +7331,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
7274
7331
  var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
7275
7332
 
7276
7333
  // src/components/groups/LeftTextRightInputGroup.tsx
7277
- import { jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
7334
+ import { jsx as jsx53, jsxs as jsxs39 } from "react/jsx-runtime";
7278
7335
  var LeftTextRightInputGroup = ({
7279
7336
  type,
7280
7337
  title,
@@ -7285,8 +7342,8 @@ var LeftTextRightInputGroup = ({
7285
7342
  errorText
7286
7343
  }) => {
7287
7344
  return /* @__PURE__ */ jsxs39("div", { className: "w-full flex flex-row mx-2", children: [
7288
- /* @__PURE__ */ jsx54("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ jsx54("p", { children: title }) }),
7289
- /* @__PURE__ */ jsx54("div", { className: "flex-1", children: /* @__PURE__ */ jsx54(
7345
+ /* @__PURE__ */ jsx53("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ jsx53("p", { children: title }) }),
7346
+ /* @__PURE__ */ jsx53("div", { className: "flex-1", children: /* @__PURE__ */ jsx53(
7290
7347
  InputGroup_default,
7291
7348
  {
7292
7349
  type,
@@ -7303,7 +7360,7 @@ var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
7303
7360
 
7304
7361
  // src/components/groups/PageTravelGroup.tsx
7305
7362
  import { useEffect as useEffect17, useState as useState26 } from "react";
7306
- import { jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
7363
+ import { jsx as jsx54, jsxs as jsxs40 } from "react/jsx-runtime";
7307
7364
  var PageTravelGroup = ({
7308
7365
  isImageProcessing,
7309
7366
  handleImageProcessing,
@@ -7322,7 +7379,7 @@ var PageTravelGroup = ({
7322
7379
  setNewPageNumber(pageNumber + 1);
7323
7380
  }, [pageNumber]);
7324
7381
  return /* @__PURE__ */ jsxs40("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap", children: [
7325
- pageNumber === 0 ? null : /* @__PURE__ */ jsx55("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ jsx55(
7382
+ pageNumber === 0 ? null : /* @__PURE__ */ jsx54("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ jsx54(
7326
7383
  BaseImage_default,
7327
7384
  {
7328
7385
  size: "small",
@@ -7340,7 +7397,7 @@ var PageTravelGroup = ({
7340
7397
  }
7341
7398
  }
7342
7399
  ) }),
7343
- Array.from(Array(totalPageNumber).keys()).filter((index) => index < pageNumber + 5).filter((index) => index > pageNumber - 5).map((index) => /* @__PURE__ */ jsx55("div", { className: "px-2", children: /* @__PURE__ */ jsx55(
7400
+ Array.from(Array(totalPageNumber).keys()).filter((index) => index < pageNumber + 5).filter((index) => index > pageNumber - 5).map((index) => /* @__PURE__ */ jsx54("div", { className: "px-2", children: /* @__PURE__ */ jsx54(
7344
7401
  "p",
7345
7402
  {
7346
7403
  className: `${pageNumber === index ? "text-2xl" : "text-md"} cursor-pointer`,
@@ -7355,7 +7412,7 @@ var PageTravelGroup = ({
7355
7412
  children: index + 1
7356
7413
  }
7357
7414
  ) }, index)),
7358
- totalPageNumber === 0 || pageNumber === totalPageNumber - 1 ? null : /* @__PURE__ */ jsx55("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ jsx55(
7415
+ totalPageNumber === 0 || pageNumber === totalPageNumber - 1 ? null : /* @__PURE__ */ jsx54("div", { className: "px-2 flex flex-col items-center", children: /* @__PURE__ */ jsx54(
7359
7416
  BaseImage_default,
7360
7417
  {
7361
7418
  size: "small",
@@ -7373,7 +7430,7 @@ var PageTravelGroup = ({
7373
7430
  }
7374
7431
  }
7375
7432
  ) }),
7376
- /* @__PURE__ */ jsx55("div", { children: /* @__PURE__ */ jsx55(
7433
+ /* @__PURE__ */ jsx54("div", { children: /* @__PURE__ */ jsx54(
7377
7434
  "input",
7378
7435
  {
7379
7436
  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`,
@@ -7397,14 +7454,14 @@ var PageTravelGroup = ({
7397
7454
  var PageTravelGroup_default = PageTravelGroup;
7398
7455
 
7399
7456
  // src/components/boxes/SelectionCheckbox.tsx
7400
- import { jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
7457
+ import { jsx as jsx55, jsxs as jsxs41 } from "react/jsx-runtime";
7401
7458
  var SelectionCheckbox = ({
7402
7459
  optionList,
7403
7460
  selectedIdList,
7404
7461
  handleSelectOnClick,
7405
7462
  handleRemoveOnClick
7406
7463
  }) => {
7407
- return /* @__PURE__ */ jsx56("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx56(
7464
+ return /* @__PURE__ */ jsx55("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx55(
7408
7465
  "div",
7409
7466
  {
7410
7467
  className: `${selectedIdList.findIndex(
@@ -7426,7 +7483,7 @@ var SelectionCheckbox = ({
7426
7483
  (selectedId) => selectedId === option.id
7427
7484
  ) > -1 ? "opacity-100" : "opacity-50"}`,
7428
7485
  children: [
7429
- /* @__PURE__ */ jsx56(
7486
+ /* @__PURE__ */ jsx55(
7430
7487
  BaseImage_default,
7431
7488
  {
7432
7489
  src: selectedIdList.findIndex(
@@ -7436,7 +7493,7 @@ var SelectionCheckbox = ({
7436
7493
  size: "small"
7437
7494
  }
7438
7495
  ),
7439
- /* @__PURE__ */ jsx56("div", { className: "flex-1", children: /* @__PURE__ */ jsx56("p", { children: option.text }) })
7496
+ /* @__PURE__ */ jsx55("div", { className: "flex-1", children: /* @__PURE__ */ jsx55("p", { children: option.text }) })
7440
7497
  ]
7441
7498
  }
7442
7499
  )
@@ -7447,7 +7504,7 @@ var SelectionCheckbox = ({
7447
7504
  var SelectionCheckbox_default = SelectionCheckbox;
7448
7505
 
7449
7506
  // src/components/tabs/SelectionTab.tsx
7450
- import { jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
7507
+ import { jsx as jsx56, jsxs as jsxs42 } from "react/jsx-runtime";
7451
7508
  var SelectionTab = ({
7452
7509
  optionList,
7453
7510
  selectedId,
@@ -7457,7 +7514,7 @@ var SelectionTab = ({
7457
7514
  textColor,
7458
7515
  borderColor
7459
7516
  }) => {
7460
- return /* @__PURE__ */ jsx57("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__ */ jsxs42(
7517
+ return /* @__PURE__ */ jsx56("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__ */ jsxs42(
7461
7518
  "div",
7462
7519
  {
7463
7520
  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`,
@@ -7465,8 +7522,8 @@ var SelectionTab = ({
7465
7522
  handleSelectOnClick(option.id);
7466
7523
  },
7467
7524
  children: [
7468
- /* @__PURE__ */ jsx57("p", { className: "text-lg", children: option.title }),
7469
- option.subTitle ? /* @__PURE__ */ jsx57("p", { className: "text-md", children: option.subTitle }) : null
7525
+ /* @__PURE__ */ jsx56("p", { className: "text-lg", children: option.title }),
7526
+ option.subTitle ? /* @__PURE__ */ jsx56("p", { className: "text-md", children: option.subTitle }) : null
7470
7527
  ]
7471
7528
  },
7472
7529
  index
@@ -7475,20 +7532,20 @@ var SelectionTab = ({
7475
7532
  var SelectionTab_default = SelectionTab;
7476
7533
 
7477
7534
  // src/components/tabs/SelectionTabFill.tsx
7478
- import { jsx as jsx58 } from "react/jsx-runtime";
7535
+ import { jsx as jsx57 } from "react/jsx-runtime";
7479
7536
  var SelectionTabFill = ({
7480
7537
  optionList,
7481
7538
  selectedId,
7482
7539
  handleSelectOnClick
7483
7540
  }) => {
7484
- return /* @__PURE__ */ jsx58("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__ */ jsx58(
7541
+ return /* @__PURE__ */ jsx57("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__ */ jsx57(
7485
7542
  "div",
7486
7543
  {
7487
7544
  className: "cursor-pointer",
7488
7545
  onClick: () => {
7489
7546
  handleSelectOnClick(option.id);
7490
7547
  },
7491
- children: /* @__PURE__ */ jsx58(
7548
+ children: /* @__PURE__ */ jsx57(
7492
7549
  "p",
7493
7550
  {
7494
7551
  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`,
@@ -7502,34 +7559,34 @@ var SelectionTabFill = ({
7502
7559
  var SelectionTabFill_default = SelectionTabFill;
7503
7560
 
7504
7561
  // src/components/labels/ActivityTemplateLabel.tsx
7505
- import { jsx as jsx59, jsxs as jsxs43 } from "react/jsx-runtime";
7562
+ import { jsx as jsx58, jsxs as jsxs43 } from "react/jsx-runtime";
7506
7563
  var ActivityTemplateLabel = ({
7507
7564
  title,
7508
7565
  icon,
7509
7566
  font
7510
7567
  }) => {
7511
- return /* @__PURE__ */ jsx59("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__ */ jsxs43("div", { className: "flex flex-row items-center gap-x-2", children: [
7512
- icon ? icon : /* @__PURE__ */ jsx59(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7513
- /* @__PURE__ */ jsx59("p", { className: font ? font : "text-sm", children: title })
7568
+ return /* @__PURE__ */ jsx58("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ jsxs43("div", { className: "flex flex-row items-center gap-x-2", children: [
7569
+ icon ? icon : /* @__PURE__ */ jsx58(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7570
+ /* @__PURE__ */ jsx58("p", { className: font ? font : "text-sm", children: title })
7514
7571
  ] }) });
7515
7572
  };
7516
7573
  var ActivityTemplateLabel_default = ActivityTemplateLabel;
7517
7574
 
7518
7575
  // src/components/labels/BrandLabel.tsx
7519
- import { jsx as jsx60, jsxs as jsxs44 } from "react/jsx-runtime";
7576
+ import { jsx as jsx59, jsxs as jsxs44 } from "react/jsx-runtime";
7520
7577
  var BrandLabel = ({ title, icon, font }) => {
7521
- return /* @__PURE__ */ jsx60("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__ */ jsxs44("div", { className: "flex flex-row items-center gap-x-2", children: [
7522
- icon ? icon : /* @__PURE__ */ jsx60(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7523
- /* @__PURE__ */ jsx60("p", { className: font ? font : "text-sm", children: title })
7578
+ return /* @__PURE__ */ jsx59("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge text-center", children: /* @__PURE__ */ jsxs44("div", { className: "flex flex-row items-center gap-x-2", children: [
7579
+ icon ? icon : /* @__PURE__ */ jsx59(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7580
+ /* @__PURE__ */ jsx59("p", { className: font ? font : "text-sm", children: title })
7524
7581
  ] }) });
7525
7582
  };
7526
7583
  var BrandLabel_default = BrandLabel;
7527
7584
 
7528
7585
  // src/components/labels/CategoryLabel.tsx
7529
- import { jsx as jsx61, jsxs as jsxs45 } from "react/jsx-runtime";
7586
+ import { jsx as jsx60, jsxs as jsxs45 } from "react/jsx-runtime";
7530
7587
  var CategoryLabel = ({ title, icon, font }) => {
7531
- return /* @__PURE__ */ jsx61("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__ */ jsxs45("div", { className: "flex flex-row items-center gap-x-2", children: [
7532
- icon ? icon : /* @__PURE__ */ jsx61(
7588
+ return /* @__PURE__ */ jsx60("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__ */ jsxs45("div", { className: "flex flex-row items-center gap-x-2", children: [
7589
+ icon ? icon : /* @__PURE__ */ jsx60(
7533
7590
  BaseImage_default,
7534
7591
  {
7535
7592
  src: "/icons/category-label.webp",
@@ -7537,40 +7594,40 @@ var CategoryLabel = ({ title, icon, font }) => {
7537
7594
  size: "xsmall"
7538
7595
  }
7539
7596
  ),
7540
- /* @__PURE__ */ jsx61("p", { className: font ? font : "text-sm", children: title })
7597
+ /* @__PURE__ */ jsx60("p", { className: font ? font : "text-sm", children: title })
7541
7598
  ] }) });
7542
7599
  };
7543
7600
  var CategoryLabel_default = CategoryLabel;
7544
7601
 
7545
7602
  // src/components/labels/CoterieLabel.tsx
7546
- import { jsx as jsx62 } from "react/jsx-runtime";
7603
+ import { jsx as jsx61 } from "react/jsx-runtime";
7547
7604
  var CoterieLabel = ({ title, font }) => {
7548
- return /* @__PURE__ */ jsx62("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__ */ jsx62("p", { className: font ? font : "text-sm", children: title }) });
7605
+ return /* @__PURE__ */ jsx61("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__ */ jsx61("p", { className: font ? font : "text-sm", children: title }) });
7549
7606
  };
7550
7607
  var CoterieLabel_default = CoterieLabel;
7551
7608
 
7552
7609
  // src/components/labels/GradeLabel.tsx
7553
- import { jsx as jsx63 } from "react/jsx-runtime";
7610
+ import { jsx as jsx62 } from "react/jsx-runtime";
7554
7611
  var GradeLabel = ({ title, font }) => {
7555
- return /* @__PURE__ */ jsx63("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__ */ jsx63("p", { className: font ? font : "text-sm", children: title }) });
7612
+ return /* @__PURE__ */ jsx62("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__ */ jsx62("p", { className: font ? font : "text-sm", children: title }) });
7556
7613
  };
7557
7614
  var GradeLabel_default = GradeLabel;
7558
7615
 
7559
7616
  // src/components/labels/OutcomeLabel.tsx
7560
- import { jsx as jsx64, jsxs as jsxs46 } from "react/jsx-runtime";
7617
+ import { jsx as jsx63, jsxs as jsxs46 } from "react/jsx-runtime";
7561
7618
  var OutcomeLabel = ({ title, font }) => {
7562
- return /* @__PURE__ */ jsx64("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__ */ jsxs46("div", { className: "flex flex-row items-center gap-x-2", children: [
7563
- /* @__PURE__ */ jsx64(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7564
- /* @__PURE__ */ jsx64("p", { className: font ? font : "text-sm", children: title })
7619
+ return /* @__PURE__ */ jsx63("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__ */ jsxs46("div", { className: "flex flex-row items-center gap-x-2", children: [
7620
+ /* @__PURE__ */ jsx63(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7621
+ /* @__PURE__ */ jsx63("p", { className: font ? font : "text-sm", children: title })
7565
7622
  ] }) });
7566
7623
  };
7567
7624
  var OutcomeLabel_default = OutcomeLabel;
7568
7625
 
7569
7626
  // src/components/labels/PersonalLabel.tsx
7570
- import { jsx as jsx65, jsxs as jsxs47 } from "react/jsx-runtime";
7627
+ import { jsx as jsx64, jsxs as jsxs47 } from "react/jsx-runtime";
7571
7628
  var PersonalLabel = ({ title, icon, font }) => {
7572
- return /* @__PURE__ */ jsx65("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__ */ jsxs47("div", { className: "flex flex-row items-center gap-x-2", children: [
7573
- icon ? icon : /* @__PURE__ */ jsx65(
7629
+ return /* @__PURE__ */ jsx64("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__ */ jsxs47("div", { className: "flex flex-row items-center gap-x-2", children: [
7630
+ icon ? icon : /* @__PURE__ */ jsx64(
7574
7631
  BaseImage_default,
7575
7632
  {
7576
7633
  src: "/icons/personal-label.webp",
@@ -7578,16 +7635,16 @@ var PersonalLabel = ({ title, icon, font }) => {
7578
7635
  size: "xsmall"
7579
7636
  }
7580
7637
  ),
7581
- /* @__PURE__ */ jsx65("p", { className: font ? font : "text-sm", children: title })
7638
+ /* @__PURE__ */ jsx64("p", { className: font ? font : "text-sm", children: title })
7582
7639
  ] }) });
7583
7640
  };
7584
7641
  var PersonalLabel_default = PersonalLabel;
7585
7642
 
7586
7643
  // src/components/labels/PublishingHouseLabel.tsx
7587
- import { jsx as jsx66, jsxs as jsxs48 } from "react/jsx-runtime";
7644
+ import { jsx as jsx65, jsxs as jsxs48 } from "react/jsx-runtime";
7588
7645
  var PublishingHouseLabel = ({ title, icon, font }) => {
7589
- return /* @__PURE__ */ jsx66("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__ */ jsxs48("div", { className: "flex flex-row items-center gap-x-2", children: [
7590
- icon ? icon : /* @__PURE__ */ jsx66(
7646
+ return /* @__PURE__ */ jsx65("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__ */ jsxs48("div", { className: "flex flex-row items-center gap-x-2", children: [
7647
+ icon ? icon : /* @__PURE__ */ jsx65(
7591
7648
  BaseImage_default,
7592
7649
  {
7593
7650
  src: "/icons/publishing-house-label.webp",
@@ -7595,31 +7652,31 @@ var PublishingHouseLabel = ({ title, icon, font }) => {
7595
7652
  size: "xsmall"
7596
7653
  }
7597
7654
  ),
7598
- /* @__PURE__ */ jsx66("p", { className: font ? font : "text-sm", children: title })
7655
+ /* @__PURE__ */ jsx65("p", { className: font ? font : "text-sm", children: title })
7599
7656
  ] }) });
7600
7657
  };
7601
7658
  var PublishingHouseLabel_default = PublishingHouseLabel;
7602
7659
 
7603
7660
  // src/components/labels/ActivityLabel.tsx
7604
- import { jsx as jsx67 } from "react/jsx-runtime";
7661
+ import { jsx as jsx66 } from "react/jsx-runtime";
7605
7662
  var ActivityLabel = ({ title, font }) => {
7606
- return /* @__PURE__ */ jsx67("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__ */ jsx67("p", { className: font ? font : "text-sm", children: title }) });
7663
+ return /* @__PURE__ */ jsx66("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__ */ jsx66("p", { className: font ? font : "text-sm", children: title }) });
7607
7664
  };
7608
7665
  var ActivityLabel_default = ActivityLabel;
7609
7666
 
7610
7667
  // src/components/infos/InfoWithText.tsx
7611
- import { jsx as jsx68, jsxs as jsxs49 } from "react/jsx-runtime";
7668
+ import { jsx as jsx67, jsxs as jsxs49 } from "react/jsx-runtime";
7612
7669
  var InfoWithText = (props) => {
7613
7670
  const { value } = props;
7614
7671
  return /* @__PURE__ */ jsxs49("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7615
- /* @__PURE__ */ jsx68(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7616
- /* @__PURE__ */ jsx68("div", { className: "flex-1", children: /* @__PURE__ */ jsx68("p", { className: "", children: value }) })
7672
+ /* @__PURE__ */ jsx67(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7673
+ /* @__PURE__ */ jsx67("div", { className: "flex-1", children: /* @__PURE__ */ jsx67("p", { className: "", children: value }) })
7617
7674
  ] });
7618
7675
  };
7619
7676
  var InfoWithText_default = InfoWithText;
7620
7677
 
7621
7678
  // src/components/titles/BaseTitle.tsx
7622
- import { jsx as jsx69, jsxs as jsxs50 } from "react/jsx-runtime";
7679
+ import { jsx as jsx68, jsxs as jsxs50 } from "react/jsx-runtime";
7623
7680
  var BaseTitle = ({
7624
7681
  title,
7625
7682
  totalItemCount,
@@ -7635,15 +7692,15 @@ var BaseTitle = ({
7635
7692
  itemName
7636
7693
  ] }) : null
7637
7694
  ] }),
7638
- description ? /* @__PURE__ */ jsx69("p", { className: "", children: description }) : null
7695
+ description ? /* @__PURE__ */ jsx68("p", { className: "", children: description }) : null
7639
7696
  ] });
7640
7697
  };
7641
7698
  var BaseTitle_default = BaseTitle;
7642
7699
 
7643
7700
  // src/components/titles/SubTitle.tsx
7644
- import { jsx as jsx70 } from "react/jsx-runtime";
7701
+ import { jsx as jsx69 } from "react/jsx-runtime";
7645
7702
  var SubTitle = ({ title }) => {
7646
- return /* @__PURE__ */ jsx70("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7703
+ return /* @__PURE__ */ jsx69("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7647
7704
  };
7648
7705
  var SubTitle_default = SubTitle;
7649
7706