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.js CHANGED
@@ -4903,21 +4903,29 @@ var FillInTheBlanksActivityMaterialContent = ({
4903
4903
  const [selectedOption, setSelectedOption] = (0, import_react18.useState)(null);
4904
4904
  const [draggedOption, setDraggedOption] = (0, import_react18.useState)(null);
4905
4905
  const [dropTargetIndex, setDropTargetIndex] = (0, import_react18.useState)(null);
4906
+ const [draggedElement, setDraggedElement] = (0, import_react18.useState)(
4907
+ null
4908
+ );
4909
+ const dragElementRef = (0, import_react18.useRef)(null);
4910
+ const [touchPosition, setTouchPosition] = (0, import_react18.useState)({
4911
+ x: 0,
4912
+ y: 0
4913
+ });
4906
4914
  (0, import_react18.useEffect)(() => {
4907
4915
  setShuffleOptionList(shuffleArray(optionList));
4908
- }, []);
4916
+ }, [optionList]);
4909
4917
  (0, import_react18.useEffect)(() => {
4910
4918
  if (!showCorrectAnswer) return;
4911
4919
  const foundAnswer = answer.data.find(
4912
4920
  (answerData) => answerData.type === "FILL_IN_THE_BLANKS"
4913
4921
  );
4914
- if (foundAnswer.answerMap.length === 0) return;
4922
+ if (!foundAnswer || foundAnswer.answerMap.length === 0) return;
4915
4923
  if (Object.keys(materialMap).length === 0) return;
4916
4924
  foundAnswer.answerMap = Object.keys(materialMap).map(
4917
4925
  (materialMapKey) => JSON.parse(materialMap[materialMapKey])[0]
4918
4926
  );
4919
4927
  onChange(answer, 0, JSON.parse(materialMap[0])[0]);
4920
- }, [showCorrectAnswer]);
4928
+ }, [showCorrectAnswer, answer, materialMap, onChange]);
4921
4929
  const retrieveAnswerMap = () => {
4922
4930
  const foundIndex = answer.data.findIndex(
4923
4931
  (answerData) => answerData.type === "FILL_IN_THE_BLANKS"
@@ -4937,36 +4945,89 @@ var FillInTheBlanksActivityMaterialContent = ({
4937
4945
  const checkAnswerProvided = (answerMap2, option) => {
4938
4946
  return Object.keys(answerMap2).findIndex((key) => answerMap2[key] === option) !== -1;
4939
4947
  };
4940
- const handleSelectOption = (option) => {
4941
- setSelectedOption(option);
4948
+ const handleMouseDown = (e, option) => {
4949
+ e.preventDefault();
4950
+ setDraggedOption(option);
4951
+ setSelectedOption(null);
4952
+ };
4953
+ const handleMouseUp = () => {
4954
+ if (dropTargetIndex !== null && draggedOption !== null) {
4955
+ onChange(answer, dropTargetIndex, draggedOption);
4956
+ }
4957
+ setDraggedOption(null);
4958
+ setDropTargetIndex(null);
4942
4959
  };
4943
- const handleDragStart = (option) => {
4960
+ const handleTouchStart = (e, option, element) => {
4961
+ const touch = e.touches[0];
4944
4962
  setDraggedOption(option);
4963
+ setDraggedElement(element);
4964
+ setTouchPosition({ x: touch.clientX, y: touch.clientY });
4965
+ setSelectedOption(null);
4966
+ };
4967
+ const handleTouchMove = (e) => {
4968
+ if (!draggedOption) return;
4969
+ const touch = e.touches[0];
4970
+ setTouchPosition({ x: touch.clientX, y: touch.clientY });
4971
+ const elementUnder = document.elementFromPoint(
4972
+ touch.clientX,
4973
+ touch.clientY
4974
+ );
4975
+ const dropZone = elementUnder == null ? void 0 : elementUnder.closest("[data-drop-zone]");
4976
+ if (dropZone) {
4977
+ const dropIndex = dropZone.getAttribute("data-drop-zone");
4978
+ setDropTargetIndex(dropIndex);
4979
+ } else {
4980
+ setDropTargetIndex(null);
4981
+ }
4945
4982
  };
4946
- const handleDragEnd = () => {
4983
+ const handleTouchEnd = () => {
4947
4984
  if (dropTargetIndex !== null && draggedOption !== null) {
4948
4985
  onChange(answer, dropTargetIndex, draggedOption);
4949
4986
  }
4950
4987
  setDraggedOption(null);
4951
4988
  setDropTargetIndex(null);
4989
+ setDraggedElement(null);
4952
4990
  };
4953
- const handleDropZoneEnter = (index) => {
4954
- setDropTargetIndex(index);
4991
+ const handleSelectOption = (option) => {
4992
+ setSelectedOption(option);
4993
+ setDraggedOption(null);
4955
4994
  };
4956
- const handleDropZoneDrop = (index) => {
4995
+ const handleDropZoneClick = (index) => {
4957
4996
  if (selectedOption !== null) {
4958
4997
  onChange(answer, index, selectedOption);
4959
4998
  setSelectedOption(null);
4960
- } else if (draggedOption !== null) {
4961
- onChange(answer, index, draggedOption);
4962
- setDraggedOption(null);
4963
4999
  }
4964
- setDropTargetIndex(null);
4965
5000
  };
4966
5001
  const answerMap = retrieveAnswerMap();
4967
5002
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex flex-row flex-wrap items-center", children: [
4968
5003
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4969
5004
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DividerLine_default, {}) }),
5005
+ draggedOption && touchPosition.x > 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5006
+ "div",
5007
+ {
5008
+ className: "fixed pointer-events-none z-50 opacity-80",
5009
+ style: {
5010
+ left: `${touchPosition.x}px`,
5011
+ top: `${touchPosition.y}px`,
5012
+ transform: "translate(-50%, -50%)"
5013
+ },
5014
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge bg-white shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5015
+ InputWithSpecialExpression_default,
5016
+ {
5017
+ value: draggedOption,
5018
+ showSpecialOnly: false
5019
+ }
5020
+ ) }) }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-white shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5021
+ ShowMaterialMediaByContentType_default,
5022
+ {
5023
+ contentType: contentMap.type,
5024
+ src: draggedOption,
5025
+ canFullScreen: false
5026
+ },
5027
+ uniqueValue
5028
+ ) })
5029
+ }
5030
+ ),
4970
5031
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4971
5032
  (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "opacity-30", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4972
5033
  ShowMaterialMediaByContentType_default,
@@ -4979,16 +5040,17 @@ var FillInTheBlanksActivityMaterialContent = ({
4979
5040
  ) }, index) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4980
5041
  "div",
4981
5042
  {
4982
- draggable: true,
4983
- onDragStart: () => handleDragStart(option),
4984
- onDragEnd: handleDragEnd,
4985
- className: `${draggedOption === option ? "opacity-40" : "opacity-100"} transition-opacity duration-200`,
5043
+ ref: draggedOption === option ? dragElementRef : null,
5044
+ className: `${draggedOption === option ? "opacity-40" : selectedOption === option ? "ring-2 ring-blue-500" : "opacity-100"} transition-all duration-200`,
5045
+ onMouseDown: (e) => handleMouseDown(e, option),
5046
+ onTouchStart: (e) => handleTouchStart(e, option, e.currentTarget),
5047
+ onTouchMove: handleTouchMove,
5048
+ onTouchEnd: handleTouchEnd,
4986
5049
  children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4987
5050
  "div",
4988
5051
  {
4989
- className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge cursor-pointer select-none touch-none",
5052
+ className: "border-catchup-blue border-2 px-2 rounded-catchup-xlarge cursor-pointer select-none",
4990
5053
  onClick: () => handleSelectOption(option),
4991
- onTouchEnd: () => handleSelectOption(option),
4992
5054
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "italic whitespace-pre-wrap", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4993
5055
  InputWithSpecialExpression_default,
4994
5056
  {
@@ -5000,9 +5062,8 @@ var FillInTheBlanksActivityMaterialContent = ({
5000
5062
  ) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5001
5063
  "div",
5002
5064
  {
5003
- className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer select-none touch-none",
5065
+ className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer select-none",
5004
5066
  onClick: () => handleSelectOption(option),
5005
- onTouchEnd: () => handleSelectOption(option),
5006
5067
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5007
5068
  ShowMaterialMediaByContentType_default,
5008
5069
  {
@@ -5018,7 +5079,7 @@ var FillInTheBlanksActivityMaterialContent = ({
5018
5079
  index
5019
5080
  )
5020
5081
  ) }),
5021
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
5082
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "w-full flex flex-row flex-wrap", onMouseUp: handleMouseUp, children: Object.keys(answerMap).map((materialKey, index) => {
5022
5083
  const learnerAnswerState = checkAnswerState(
5023
5084
  JSON.parse(materialMap[materialKey]),
5024
5085
  answerMap[materialKey]
@@ -5026,21 +5087,11 @@ var FillInTheBlanksActivityMaterialContent = ({
5026
5087
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5027
5088
  "div",
5028
5089
  {
5029
- onDragOver: (e) => {
5030
- e.preventDefault();
5031
- handleDropZoneEnter(materialKey);
5032
- },
5033
- onDragLeave: () => setDropTargetIndex(null),
5034
- onDrop: (e) => {
5035
- e.preventDefault();
5036
- handleDropZoneDrop(materialKey);
5037
- },
5038
- onClick: () => {
5039
- if (selectedOption !== null) {
5040
- handleDropZoneDrop(materialKey);
5041
- }
5042
- },
5043
- className: `${dropTargetIndex === materialKey ? "ring-2 ring-blue-400" : ""}`,
5090
+ "data-drop-zone": materialKey,
5091
+ onMouseEnter: () => draggedOption && setDropTargetIndex(materialKey),
5092
+ onMouseLeave: () => setDropTargetIndex(null),
5093
+ onClick: () => handleDropZoneClick(materialKey),
5094
+ className: `${dropTargetIndex === materialKey ? "ring-2 ring-blue-400 bg-blue-50" : ""} transition-all duration-200 rounded-lg`,
5044
5095
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
5045
5096
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("p", { className: "text-xl", children: [
5046
5097
  parseFloat(materialKey) + 1,
@@ -5050,9 +5101,10 @@ var FillInTheBlanksActivityMaterialContent = ({
5050
5101
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5051
5102
  "div",
5052
5103
  {
5053
- 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"}`,
5054
- onClick: () => {
5104
+ 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"}`,
5105
+ onClick: (e) => {
5055
5106
  if (answerMap[materialKey]) {
5107
+ e.stopPropagation();
5056
5108
  onChange(answer, materialKey, "");
5057
5109
  }
5058
5110
  },
@@ -5062,7 +5114,7 @@ var FillInTheBlanksActivityMaterialContent = ({
5062
5114
  value: answerMap[materialKey],
5063
5115
  showSpecialOnly: false
5064
5116
  }
5065
- ) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-gray-400 italic" })
5117
+ ) : null
5066
5118
  }
5067
5119
  ) }),
5068
5120
  learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
@@ -5090,7 +5142,8 @@ var FillInTheBlanksActivityMaterialContent = ({
5090
5142
  "div",
5091
5143
  {
5092
5144
  className: "flex-1 cursor-pointer",
5093
- onClick: () => {
5145
+ onClick: (e) => {
5146
+ e.stopPropagation();
5094
5147
  onChange(answer, materialKey, "");
5095
5148
  },
5096
5149
  children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
@@ -6372,8 +6425,7 @@ var OpenEndedActivityContent = ({
6372
6425
  var OpenEndedActivityContent_default = OpenEndedActivityContent;
6373
6426
 
6374
6427
  // src/components/activities/material-contents/OrderingActivityMaterialContent.tsx
6375
- var import_react25 = require("react");
6376
- var import_react_dnd6 = require("react-dnd");
6428
+ var import_react24 = require("react");
6377
6429
  var import_react_katex9 = require("react-katex");
6378
6430
 
6379
6431
  // src/hooks/useScreenSize.ts
@@ -6411,59 +6463,8 @@ var useScreenSize = () => {
6411
6463
  };
6412
6464
  var useScreenSize_default = useScreenSize;
6413
6465
 
6414
- // src/components/dnds/DraggableDroppableItem.tsx
6415
- var import_react24 = require("react");
6416
- var import_react_dnd5 = require("react-dnd");
6417
- var import_jsx_runtime42 = require("react/jsx-runtime");
6418
- var DraggableDroppableItem = ({
6419
- item,
6420
- type,
6421
- component,
6422
- moveCardHandler,
6423
- dropRef,
6424
- target,
6425
- setTarget
6426
- }) => {
6427
- const ref = (0, import_react24.useRef)(null);
6428
- const [, drop] = (0, import_react_dnd5.useDrop)({
6429
- accept: type,
6430
- hover() {
6431
- if (!ref.current) {
6432
- return;
6433
- }
6434
- if (item.index && target !== item.index) {
6435
- setTarget(item.index);
6436
- }
6437
- }
6438
- });
6439
- const [{ isDragging }, drag] = (0, import_react_dnd5.useDrag)({
6440
- type,
6441
- item,
6442
- end: (item2, monitor) => {
6443
- const dropResult = monitor.getDropResult();
6444
- if (dropResult) {
6445
- moveCardHandler();
6446
- }
6447
- },
6448
- collect: (monitor) => ({
6449
- isDragging: monitor.isDragging()
6450
- })
6451
- });
6452
- const opacity = isDragging ? 0.4 : 1;
6453
- drag(drop(ref));
6454
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6455
- "div",
6456
- {
6457
- className: `${isDragging ? "w-[0px] opacity-0" : "w-full opacity-100"} transition-all duration-500`,
6458
- ref: dropRef,
6459
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { ref, className: "w-full", style: { opacity }, children: component })
6460
- }
6461
- );
6462
- };
6463
- var DraggableDroppableItem_default = DraggableDroppableItem;
6464
-
6465
6466
  // src/components/activities/material-contents/OrderingActivityMaterialContent.tsx
6466
- var import_jsx_runtime43 = require("react/jsx-runtime");
6467
+ var import_jsx_runtime42 = require("react/jsx-runtime");
6467
6468
  var OrderingActivityMaterialContent = ({
6468
6469
  uniqueValue,
6469
6470
  answer,
@@ -6474,20 +6475,20 @@ var OrderingActivityMaterialContent = ({
6474
6475
  isPreview,
6475
6476
  showCorrectAnswer
6476
6477
  }) => {
6477
- const [selectedTargetKey, setSelectedTargetKey] = (0, import_react25.useState)(null);
6478
- const [selectedKey, setSelectedKey] = (0, import_react25.useState)(null);
6479
- const { screenSize } = useScreenSize_default();
6480
- const [view, setView] = (0, import_react25.useState)("PC");
6481
- const [{ isOver, canDrop }, drop] = (0, import_react_dnd6.useDrop)({
6482
- accept: "ORDERING",
6483
- drop: () => {
6484
- },
6485
- collect: (monitor) => ({
6486
- isOver: monitor.isOver(),
6487
- canDrop: monitor.canDrop()
6488
- })
6478
+ const [selectedKey, setSelectedKey] = (0, import_react24.useState)(null);
6479
+ const [draggedKey, setDraggedKey] = (0, import_react24.useState)(null);
6480
+ const [dropTargetKey, setDropTargetKey] = (0, import_react24.useState)(null);
6481
+ const [draggedElement, setDraggedElement] = (0, import_react24.useState)(
6482
+ null
6483
+ );
6484
+ const dragElementRef = (0, import_react24.useRef)(null);
6485
+ const [touchPosition, setTouchPosition] = (0, import_react24.useState)({
6486
+ x: 0,
6487
+ y: 0
6489
6488
  });
6490
- (0, import_react25.useEffect)(() => {
6489
+ const { screenSize } = useScreenSize_default();
6490
+ const [view, setView] = (0, import_react24.useState)("PC");
6491
+ (0, import_react24.useEffect)(() => {
6491
6492
  if (!screenSize) return;
6492
6493
  if (screenSize.width <= 1024) {
6493
6494
  setView("TABLET");
@@ -6495,7 +6496,7 @@ var OrderingActivityMaterialContent = ({
6495
6496
  setView("PC");
6496
6497
  }
6497
6498
  }, [screenSize]);
6498
- (0, import_react25.useEffect)(() => {
6499
+ (0, import_react24.useEffect)(() => {
6499
6500
  if (!showCorrectAnswer) return;
6500
6501
  const answerMap2 = answer.data.find(
6501
6502
  (answerData) => answerData.type === "ORDERING"
@@ -6517,23 +6518,9 @@ var OrderingActivityMaterialContent = ({
6517
6518
  }
6518
6519
  return "INCORRECT";
6519
6520
  };
6520
- const handleOrderingActivityItemChange = (selectedKey2, materialKey) => {
6521
- if (checkCanAnswerQuestion()) {
6522
- if (selectedKey2) {
6523
- onChange(answer, selectedKey2, materialKey);
6524
- setSelectedKey(null);
6525
- } else {
6526
- setSelectedKey(materialKey);
6527
- }
6528
- }
6529
- };
6530
6521
  const calculateMarginTop = (index) => {
6531
6522
  if (index === 0) {
6532
- if (contentMap.type === "TEXT") {
6533
- return 0;
6534
- } else {
6535
- return 0;
6536
- }
6523
+ return 0;
6537
6524
  } else if (index === 1) {
6538
6525
  if (contentMap.type === "TEXT") {
6539
6526
  return 65;
@@ -6547,97 +6534,167 @@ var OrderingActivityMaterialContent = ({
6547
6534
  return -130;
6548
6535
  }
6549
6536
  } else if (index % 2 === 1) {
6550
- if (contentMap.type === "TEXT") {
6551
- return 0;
6552
- } else {
6553
- return 0;
6554
- }
6537
+ return 0;
6555
6538
  }
6556
6539
  return 0;
6557
6540
  };
6558
- const answerMap = retrieveAnswerMap();
6559
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6560
- const learnerAnswerState = checkAnswerState(
6561
- answerMap[materialKey] + "",
6562
- index + ""
6541
+ const handleMouseDown = (e, materialKey) => {
6542
+ if (!checkCanAnswerQuestion()) return;
6543
+ e.preventDefault();
6544
+ setDraggedKey(materialKey);
6545
+ setSelectedKey(null);
6546
+ };
6547
+ const handleMouseUp = () => {
6548
+ if (dropTargetKey !== null && draggedKey !== null && dropTargetKey !== draggedKey) {
6549
+ onChange(answer, draggedKey, dropTargetKey);
6550
+ }
6551
+ setDraggedKey(null);
6552
+ setDropTargetKey(null);
6553
+ };
6554
+ const handleTouchStart = (e, materialKey, element) => {
6555
+ if (!checkCanAnswerQuestion()) return;
6556
+ const touch = e.touches[0];
6557
+ setDraggedKey(materialKey);
6558
+ setDraggedElement(element);
6559
+ setTouchPosition({ x: touch.clientX, y: touch.clientY });
6560
+ setSelectedKey(null);
6561
+ };
6562
+ const handleTouchMove = (e) => {
6563
+ if (!draggedKey) return;
6564
+ const touch = e.touches[0];
6565
+ setTouchPosition({ x: touch.clientX, y: touch.clientY });
6566
+ const elementUnder = document.elementFromPoint(
6567
+ touch.clientX,
6568
+ touch.clientY
6563
6569
  );
6564
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
6570
+ const dropZone = elementUnder == null ? void 0 : elementUnder.closest("[data-ordering-drop-zone]");
6571
+ if (dropZone) {
6572
+ const dropKey = dropZone.getAttribute("data-ordering-drop-zone");
6573
+ setDropTargetKey(dropKey);
6574
+ } else {
6575
+ setDropTargetKey(null);
6576
+ }
6577
+ };
6578
+ const handleTouchEnd = () => {
6579
+ if (dropTargetKey !== null && draggedKey !== null && dropTargetKey !== draggedKey) {
6580
+ onChange(answer, draggedKey, dropTargetKey);
6581
+ }
6582
+ setDraggedKey(null);
6583
+ setDropTargetKey(null);
6584
+ setDraggedElement(null);
6585
+ };
6586
+ const handleSelectItem = (materialKey) => {
6587
+ if (!checkCanAnswerQuestion()) return;
6588
+ if (selectedKey === null) {
6589
+ setSelectedKey(materialKey);
6590
+ } else if (selectedKey === materialKey) {
6591
+ setSelectedKey(null);
6592
+ } else {
6593
+ onChange(answer, selectedKey, materialKey);
6594
+ setSelectedKey(null);
6595
+ }
6596
+ setDraggedKey(null);
6597
+ };
6598
+ const answerMap = retrieveAnswerMap();
6599
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-row flex-wrap", onMouseUp: handleMouseUp, children: [
6600
+ draggedKey && touchPosition.x > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6565
6601
  "div",
6566
6602
  {
6567
- className: `flex flex-row items-center my-4 mx-2`,
6603
+ className: "fixed pointer-events-none z-50 opacity-80",
6568
6604
  style: {
6569
- marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
6605
+ left: `${touchPosition.x}px`,
6606
+ top: `${touchPosition.y}px`,
6607
+ transform: "translate(-50%, -50%)"
6570
6608
  },
6571
- children: [
6572
- /* @__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)(
6573
- "div",
6574
- {
6575
- 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]`,
6576
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "", children: parseFloat(materialKey) + 1 })
6577
- }
6578
- ) }) }),
6579
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6580
- DraggableDroppableItem_default,
6581
- {
6582
- item: { index: materialKey },
6583
- type: "ORDERING",
6584
- dropRef: drop,
6585
- component: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6586
- "div",
6587
- {
6588
- 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"}`,
6589
- onMouseDown: () => {
6590
- if (checkCanAnswerQuestion()) {
6591
- setSelectedKey(materialKey);
6592
- }
6593
- },
6594
- onTouchEnd: () => {
6595
- if (checkCanAnswerQuestion()) {
6596
- setSelectedKey(materialKey);
6597
- }
6598
- },
6599
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6600
- materialMap[answerMap[materialKey]]
6601
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6602
- "span",
6603
- {
6604
- className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6605
- 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
6606
- },
6607
- index2
6608
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6609
- ShowMaterialMediaByContentType_default,
6610
- {
6611
- contentType: contentMap.type,
6612
- src: materialMap[answerMap[materialKey]],
6613
- canFullScreen: true
6614
- },
6615
- `${uniqueValue}-${index}`
6616
- )
6617
- }
6618
- ),
6619
- target: selectedTargetKey,
6620
- setTarget: setSelectedTargetKey,
6621
- moveCardHandler: () => {
6622
- if (!selectedKey) return;
6623
- if (!selectedTargetKey) return;
6624
- handleOrderingActivityItemChange(
6625
- selectedKey,
6626
- selectedTargetKey
6627
- );
6628
- }
6629
- },
6630
- index
6631
- )
6632
- ]
6609
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "border-catchup-blue border-2 px-3 py-2 rounded-catchup-xlarge bg-white shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6610
+ materialMap[answerMap[draggedKey]]
6611
+ ).map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6612
+ "span",
6613
+ {
6614
+ className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6615
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_katex9.InlineMath, { math: inputPart.value }) }) : inputPart.value
6616
+ },
6617
+ index
6618
+ )) }) }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge bg-white shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6619
+ ShowMaterialMediaByContentType_default,
6620
+ {
6621
+ contentType: contentMap.type,
6622
+ src: materialMap[answerMap[draggedKey]],
6623
+ canFullScreen: false
6624
+ },
6625
+ `${uniqueValue}-drag`
6626
+ ) })
6633
6627
  }
6634
- ) }, index);
6635
- }) });
6628
+ ),
6629
+ Object.keys(answerMap).map((materialKey, index) => {
6630
+ const learnerAnswerState = checkAnswerState(
6631
+ answerMap[materialKey] + "",
6632
+ index + ""
6633
+ );
6634
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6635
+ "div",
6636
+ {
6637
+ className: `flex flex-row items-center my-4 mx-2`,
6638
+ style: {
6639
+ marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
6640
+ },
6641
+ children: [
6642
+ /* @__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)(
6643
+ "div",
6644
+ {
6645
+ 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]`,
6646
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "", children: parseFloat(materialKey) + 1 })
6647
+ }
6648
+ ) }) }),
6649
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6650
+ "div",
6651
+ {
6652
+ ref: draggedKey === materialKey ? dragElementRef : null,
6653
+ "data-ordering-drop-zone": materialKey,
6654
+ 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`,
6655
+ onMouseDown: (e) => handleMouseDown(e, materialKey),
6656
+ onMouseEnter: () => draggedKey && draggedKey !== materialKey && setDropTargetKey(materialKey),
6657
+ onMouseLeave: () => setDropTargetKey(null),
6658
+ onTouchStart: (e) => handleTouchStart(e, materialKey, e.currentTarget),
6659
+ onTouchMove: handleTouchMove,
6660
+ onTouchEnd: handleTouchEnd,
6661
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6662
+ "div",
6663
+ {
6664
+ 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"}`,
6665
+ onClick: () => handleSelectItem(materialKey),
6666
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6667
+ materialMap[answerMap[materialKey]]
6668
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6669
+ "span",
6670
+ {
6671
+ className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6672
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_katex9.InlineMath, { math: inputPart.value }) }) : inputPart.value
6673
+ },
6674
+ index2
6675
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6676
+ ShowMaterialMediaByContentType_default,
6677
+ {
6678
+ contentType: contentMap.type,
6679
+ src: materialMap[answerMap[materialKey]],
6680
+ canFullScreen: true
6681
+ },
6682
+ `${uniqueValue}-${index}`
6683
+ )
6684
+ }
6685
+ )
6686
+ }
6687
+ )
6688
+ ]
6689
+ }
6690
+ ) }, index);
6691
+ })
6692
+ ] });
6636
6693
  };
6637
6694
  var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
6638
6695
 
6639
6696
  // src/components/activities/OrderingActivityContent.tsx
6640
- var import_jsx_runtime44 = require("react/jsx-runtime");
6697
+ var import_jsx_runtime43 = require("react/jsx-runtime");
6641
6698
  var OrderingActivityContent = ({
6642
6699
  answer,
6643
6700
  data,
@@ -6661,16 +6718,16 @@ var OrderingActivityContent = ({
6661
6718
  answerMap[secondaryKey] = prevValue;
6662
6719
  changeAnswer(answer2);
6663
6720
  };
6664
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
6665
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6721
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
6722
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6666
6723
  ActivityBodyContent_default,
6667
6724
  {
6668
6725
  bodyMap: orderingBodyMap,
6669
6726
  templateType: "ORDERING"
6670
6727
  }
6671
6728
  ),
6672
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DividerLine_default, {}),
6673
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6729
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(DividerLine_default, {}),
6730
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6674
6731
  OrderingActivityMaterialContent_default,
6675
6732
  {
6676
6733
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6688,9 +6745,9 @@ var OrderingActivityContent = ({
6688
6745
  var OrderingActivityContent_default = OrderingActivityContent;
6689
6746
 
6690
6747
  // src/components/activities/material-contents/TrueFalseActivityMaterialContent.tsx
6691
- var import_react26 = require("react");
6748
+ var import_react25 = require("react");
6692
6749
  var import_react_katex10 = require("react-katex");
6693
- var import_jsx_runtime45 = require("react/jsx-runtime");
6750
+ var import_jsx_runtime44 = require("react/jsx-runtime");
6694
6751
  var TrueFalseActivityMaterialContent = ({
6695
6752
  uniqueValue,
6696
6753
  answer,
@@ -6702,8 +6759,8 @@ var TrueFalseActivityMaterialContent = ({
6702
6759
  showCorrectAnswer
6703
6760
  }) => {
6704
6761
  const { screenSize } = useScreenSize_default();
6705
- const [shuffleOptionList, setShuffleOptionList] = (0, import_react26.useState)([]);
6706
- (0, import_react26.useEffect)(() => {
6762
+ const [shuffleOptionList, setShuffleOptionList] = (0, import_react25.useState)([]);
6763
+ (0, import_react25.useEffect)(() => {
6707
6764
  const optionList = [];
6708
6765
  optionList.push(...materialMap.trueList);
6709
6766
  optionList.push(...materialMap.falseList);
@@ -6713,7 +6770,7 @@ var TrueFalseActivityMaterialContent = ({
6713
6770
  setShuffleOptionList(shuffleArray(optionList));
6714
6771
  }
6715
6772
  }, []);
6716
- (0, import_react26.useEffect)(() => {
6773
+ (0, import_react25.useEffect)(() => {
6717
6774
  if (!showCorrectAnswer) return;
6718
6775
  answer.data.find(
6719
6776
  (answerData) => answerData.type === "TRUE_FALSE"
@@ -6743,14 +6800,14 @@ var TrueFalseActivityMaterialContent = ({
6743
6800
  return "INCORRECT";
6744
6801
  };
6745
6802
  const answerMap = retrieveAnswerMap();
6746
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "", children: [
6747
- /* @__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") }) }),
6748
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DividerLine_default, {}) }),
6749
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6750
- /* @__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") }) }),
6751
- /* @__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") }) })
6803
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "", children: [
6804
+ /* @__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") }) }),
6805
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DividerLine_default, {}) }),
6806
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6807
+ /* @__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") }) }),
6808
+ /* @__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") }) })
6752
6809
  ] }),
6753
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6810
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6754
6811
  const correctAnswer = materialMap.trueList.find(
6755
6812
  (trueItem) => trueItem === shuffleOption
6756
6813
  ) !== void 0 ? "TRUE" : "FALSE";
@@ -6761,21 +6818,21 @@ var TrueFalseActivityMaterialContent = ({
6761
6818
  correctAnswer,
6762
6819
  learnerAnswer
6763
6820
  );
6764
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
6821
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
6765
6822
  "div",
6766
6823
  {
6767
6824
  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" : ""}`,
6768
6825
  children: [
6769
- /* @__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(
6826
+ /* @__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(
6770
6827
  shuffleOption
6771
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6828
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6772
6829
  "span",
6773
6830
  {
6774
6831
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6775
- 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
6832
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_react_katex10.InlineMath, { math: inputPart.value }) }) : inputPart.value
6776
6833
  },
6777
6834
  index2
6778
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6835
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6779
6836
  ShowMaterialMediaByContentType_default,
6780
6837
  {
6781
6838
  contentType: contentMap.type,
@@ -6784,8 +6841,8 @@ var TrueFalseActivityMaterialContent = ({
6784
6841
  },
6785
6842
  `${uniqueValue}-${index}`
6786
6843
  ) }),
6787
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6788
- /* @__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)(
6844
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6845
+ /* @__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)(
6789
6846
  BaseImage_default,
6790
6847
  {
6791
6848
  src: answerMap.trueList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6796,7 +6853,7 @@ var TrueFalseActivityMaterialContent = ({
6796
6853
  }
6797
6854
  }
6798
6855
  ) }) }),
6799
- /* @__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)(
6856
+ /* @__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)(
6800
6857
  BaseImage_default,
6801
6858
  {
6802
6859
  src: answerMap.falseList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6812,14 +6869,14 @@ var TrueFalseActivityMaterialContent = ({
6812
6869
  },
6813
6870
  index
6814
6871
  );
6815
- }) }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
6816
- answerMap.trueList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6817
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { children: item }) }),
6818
- /* @__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") }) })
6872
+ }) }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
6873
+ answerMap.trueList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6874
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { children: item }) }),
6875
+ /* @__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") }) })
6819
6876
  ] })),
6820
- answerMap.falseList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6821
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { children: item }) }),
6822
- /* @__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") }) })
6877
+ answerMap.falseList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6878
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { children: item }) }),
6879
+ /* @__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") }) })
6823
6880
  ] }))
6824
6881
  ] })
6825
6882
  ] });
@@ -6827,7 +6884,7 @@ var TrueFalseActivityMaterialContent = ({
6827
6884
  var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
6828
6885
 
6829
6886
  // src/components/activities/TrueFalseActivityContent.tsx
6830
- var import_jsx_runtime46 = require("react/jsx-runtime");
6887
+ var import_jsx_runtime45 = require("react/jsx-runtime");
6831
6888
  var TrueFalseActivityContent = ({
6832
6889
  answer,
6833
6890
  data,
@@ -6878,17 +6935,17 @@ var TrueFalseActivityContent = ({
6878
6935
  }
6879
6936
  changeAnswer(answer2);
6880
6937
  };
6881
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6882
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6938
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6939
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6883
6940
  ActivityBodyContent_default,
6884
6941
  {
6885
6942
  bodyMap: trueFalseBodyMap,
6886
6943
  templateType: "GROUPING"
6887
6944
  }
6888
6945
  ) }),
6889
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(DividerLine_default, {}) }),
6890
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(VerticalDividerLine_default, {}) }),
6891
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6946
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DividerLine_default, {}) }),
6947
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(VerticalDividerLine_default, {}) }),
6948
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6892
6949
  TrueFalseActivityMaterialContent_default,
6893
6950
  {
6894
6951
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6907,7 +6964,7 @@ var TrueFalseActivityContent_default = TrueFalseActivityContent;
6907
6964
 
6908
6965
  // src/components/activities/solution-contents/ActivitySolutionContent.tsx
6909
6966
  var import_react_katex11 = require("react-katex");
6910
- var import_jsx_runtime47 = require("react/jsx-runtime");
6967
+ var import_jsx_runtime46 = require("react/jsx-runtime");
6911
6968
  var ActivitySolutionContent = ({
6912
6969
  activityTemplateType,
6913
6970
  data
@@ -6937,8 +6994,8 @@ var ActivitySolutionContent = ({
6937
6994
  return null;
6938
6995
  }
6939
6996
  if (!solutionMap || Object.keys(solutionMap).length === 0) return null;
6940
- 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: [
6941
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6997
+ 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: [
6998
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6942
6999
  Object.keys(solutionMap).map((key) => {
6943
7000
  let currentItem;
6944
7001
  try {
@@ -6948,12 +7005,12 @@ var ActivitySolutionContent = ({
6948
7005
  return null;
6949
7006
  }
6950
7007
  const { value } = currentItem;
6951
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6952
- (inputPart, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7008
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
7009
+ (inputPart, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6953
7010
  "span",
6954
7011
  {
6955
7012
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6956
- 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
7013
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_katex11.InlineMath, { math: inputPart.value }) }) : inputPart.value
6957
7014
  },
6958
7015
  `${key}_part_${partIndex}`
6959
7016
  )
@@ -6965,7 +7022,7 @@ var ActivitySolutionContent_default = ActivitySolutionContent;
6965
7022
 
6966
7023
  // src/components/activities/evaluation-rubric-contents/ActivityEvaluationRubricContent.tsx
6967
7024
  var import_react_katex12 = require("react-katex");
6968
- var import_jsx_runtime48 = require("react/jsx-runtime");
7025
+ var import_jsx_runtime47 = require("react/jsx-runtime");
6969
7026
  var ActivityEvaluationRubricContent = ({
6970
7027
  activityTemplateType,
6971
7028
  data
@@ -6995,21 +7052,21 @@ var ActivityEvaluationRubricContent = ({
6995
7052
  }
6996
7053
  if (!evaluationRubricMap || Object.keys(evaluationRubricMap).length === 0)
6997
7054
  return null;
6998
- 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: [
6999
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
7055
+ 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: [
7056
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
7000
7057
  Object.keys(evaluationRubricMap).map((key, index) => {
7001
7058
  const currentItem = JSON.parse(evaluationRubricMap[key]);
7002
7059
  const { value } = currentItem;
7003
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7060
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7004
7061
  "p",
7005
7062
  {
7006
7063
  className: "my-1 text-xl whitespace-pre-wrap",
7007
7064
  children: constructInputWithSpecialExpressionList(value).map(
7008
- (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7065
+ (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7009
7066
  "span",
7010
7067
  {
7011
7068
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7012
- 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
7069
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "text-xl", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }) }) : inputPart.value
7013
7070
  },
7014
7071
  index2
7015
7072
  )
@@ -7023,31 +7080,31 @@ var ActivityEvaluationRubricContent = ({
7023
7080
  var ActivityEvaluationRubricContent_default = ActivityEvaluationRubricContent;
7024
7081
 
7025
7082
  // src/components/activities/ActivityPreviewByData.tsx
7026
- var import_react27 = require("react");
7083
+ var import_react26 = require("react");
7027
7084
 
7028
7085
  // src/components/boxes/SelectionBox.tsx
7029
- var import_jsx_runtime49 = require("react/jsx-runtime");
7086
+ var import_jsx_runtime48 = require("react/jsx-runtime");
7030
7087
  var SelectionBox = ({
7031
7088
  optionList,
7032
7089
  selectedId,
7033
7090
  handleSelectOnClick
7034
7091
  }) => {
7035
- 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)(
7092
+ 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)(
7036
7093
  "div",
7037
7094
  {
7038
7095
  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`,
7039
7096
  onClick: () => {
7040
7097
  handleSelectOnClick(option.id);
7041
7098
  },
7042
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
7099
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
7043
7100
  "div",
7044
7101
  {
7045
7102
  className: `flex flex-row items-center gap-x-1 ${option.id === selectedId ? "opacity-100" : "opacity-50"}`,
7046
7103
  children: [
7047
7104
  option.icon,
7048
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex-1 flex flex-col items-center", children: [
7049
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { children: option.text }),
7050
- option.subText ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("p", { className: "text-md", children: [
7105
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex-1 flex flex-col items-center", children: [
7106
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { children: option.text }),
7107
+ option.subText ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("p", { className: "text-md", children: [
7051
7108
  "(",
7052
7109
  option.subText,
7053
7110
  ")"
@@ -7063,7 +7120,7 @@ var SelectionBox = ({
7063
7120
  var SelectionBox_default = SelectionBox;
7064
7121
 
7065
7122
  // src/components/activities/ActivityPreviewByData.tsx
7066
- var import_jsx_runtime50 = require("react/jsx-runtime");
7123
+ var import_jsx_runtime49 = require("react/jsx-runtime");
7067
7124
  var ActivityPreviewByData = ({
7068
7125
  data,
7069
7126
  showType,
@@ -7075,14 +7132,14 @@ var ActivityPreviewByData = ({
7075
7132
  showDifficulty,
7076
7133
  isFullScreen
7077
7134
  }) => {
7078
- const [key, setKey] = (0, import_react27.useState)((/* @__PURE__ */ new Date()).getTime());
7079
- const [selectedType, setSelectedType] = (0, import_react27.useState)(null);
7080
- const [optionList, setOptionList] = (0, import_react27.useState)([]);
7081
- (0, import_react27.useEffect)(() => {
7135
+ const [key, setKey] = (0, import_react26.useState)((/* @__PURE__ */ new Date()).getTime());
7136
+ const [selectedType, setSelectedType] = (0, import_react26.useState)(null);
7137
+ const [optionList, setOptionList] = (0, import_react26.useState)([]);
7138
+ (0, import_react26.useEffect)(() => {
7082
7139
  if (!data) return;
7083
7140
  setKey((/* @__PURE__ */ new Date()).getTime());
7084
7141
  }, [data]);
7085
- (0, import_react27.useEffect)(() => {
7142
+ (0, import_react26.useEffect)(() => {
7086
7143
  if (!typeOptionList) return;
7087
7144
  if (typeOptionList.length === 0) return;
7088
7145
  let foundTypeOption;
@@ -7097,7 +7154,7 @@ var ActivityPreviewByData = ({
7097
7154
  setSelectedType(typeOptionList[0].id);
7098
7155
  }
7099
7156
  }, [typeOptionList, lockedType]);
7100
- (0, import_react27.useEffect)(() => {
7157
+ (0, import_react26.useEffect)(() => {
7101
7158
  if (!data) return;
7102
7159
  if (!typeOptionList) return;
7103
7160
  if (typeOptionList.length === 0) return;
@@ -7121,11 +7178,11 @@ var ActivityPreviewByData = ({
7121
7178
  }, [data, lockedType, typeOptionList, showDifficulty]);
7122
7179
  if (!data) return;
7123
7180
  const answer = constructAnswerBasedOnData(data);
7124
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { children: [
7125
- showType ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
7126
- /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "mb-4", children: [
7127
- 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,
7128
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7181
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
7182
+ showType ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
7183
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "mb-4", children: [
7184
+ 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,
7185
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7129
7186
  SelectionBox_default,
7130
7187
  {
7131
7188
  optionList,
@@ -7136,9 +7193,9 @@ var ActivityPreviewByData = ({
7136
7193
  }
7137
7194
  )
7138
7195
  ] }),
7139
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DividerLine_default, {})
7196
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DividerLine_default, {})
7140
7197
  ] }) : null,
7141
- selectedType ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7198
+ selectedType ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7142
7199
  OrderingActivityContent_default,
7143
7200
  {
7144
7201
  answer,
@@ -7152,7 +7209,7 @@ var ActivityPreviewByData = ({
7152
7209
  showCorrectAnswer: true,
7153
7210
  isFullScreen
7154
7211
  }
7155
- ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7212
+ ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7156
7213
  DropdownActivityContent_default,
7157
7214
  {
7158
7215
  answer,
@@ -7166,7 +7223,7 @@ var ActivityPreviewByData = ({
7166
7223
  showCorrectAnswer: true,
7167
7224
  isFullScreen
7168
7225
  }
7169
- ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7226
+ ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7170
7227
  MCSAActivityContent_default,
7171
7228
  {
7172
7229
  answer,
@@ -7180,7 +7237,7 @@ var ActivityPreviewByData = ({
7180
7237
  showCorrectAnswer: true,
7181
7238
  isFullScreen
7182
7239
  }
7183
- ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7240
+ ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7184
7241
  MCMAActivityContent_default,
7185
7242
  {
7186
7243
  answer,
@@ -7194,7 +7251,7 @@ var ActivityPreviewByData = ({
7194
7251
  showCorrectAnswer: true,
7195
7252
  isFullScreen
7196
7253
  }
7197
- ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7254
+ ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7198
7255
  MatchingActivityContent_default,
7199
7256
  {
7200
7257
  answer,
@@ -7207,7 +7264,7 @@ var ActivityPreviewByData = ({
7207
7264
  isPreview: true,
7208
7265
  showCorrectAnswer: true
7209
7266
  }
7210
- ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7267
+ ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7211
7268
  GroupingActivityContent_default,
7212
7269
  {
7213
7270
  answer,
@@ -7220,7 +7277,7 @@ var ActivityPreviewByData = ({
7220
7277
  isPreview: true,
7221
7278
  showCorrectAnswer: true
7222
7279
  }
7223
- ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7280
+ ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7224
7281
  FillInTheBlanksActivityContent_default,
7225
7282
  {
7226
7283
  answer,
@@ -7234,7 +7291,7 @@ var ActivityPreviewByData = ({
7234
7291
  showCorrectAnswer: true,
7235
7292
  isFullScreen
7236
7293
  }
7237
- ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7294
+ ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7238
7295
  OpenEndedActivityContent_default,
7239
7296
  {
7240
7297
  answer,
@@ -7246,7 +7303,7 @@ var ActivityPreviewByData = ({
7246
7303
  isPreview: true,
7247
7304
  isFullScreen
7248
7305
  }
7249
- ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7306
+ ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7250
7307
  TrueFalseActivityContent_default,
7251
7308
  {
7252
7309
  answer,
@@ -7261,14 +7318,14 @@ var ActivityPreviewByData = ({
7261
7318
  isFullScreen
7262
7319
  }
7263
7320
  ) : null }, selectedType) : null,
7264
- selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7321
+ selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7265
7322
  ActivitySolutionContent_default,
7266
7323
  {
7267
7324
  activityTemplateType: selectedType,
7268
7325
  data
7269
7326
  }
7270
7327
  ) }) : null,
7271
- selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7328
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7272
7329
  ActivityEvaluationRubricContent_default,
7273
7330
  {
7274
7331
  activityTemplateType: selectedType,
@@ -7280,8 +7337,8 @@ var ActivityPreviewByData = ({
7280
7337
  var ActivityPreviewByData_default = ActivityPreviewByData;
7281
7338
 
7282
7339
  // src/components/activities/ActivityPreviewByAnswerData.tsx
7283
- var import_react28 = require("react");
7284
- var import_jsx_runtime51 = require("react/jsx-runtime");
7340
+ var import_react27 = require("react");
7341
+ var import_jsx_runtime50 = require("react/jsx-runtime");
7285
7342
  var ActivityPreviewByAnswerData = ({
7286
7343
  data,
7287
7344
  showType = true,
@@ -7295,11 +7352,11 @@ var ActivityPreviewByAnswerData = ({
7295
7352
  showCorrectAnswer = false
7296
7353
  }) => {
7297
7354
  var _a;
7298
- const [key, setKey] = (0, import_react28.useState)((/* @__PURE__ */ new Date()).getTime());
7299
- const [selectedType, setSelectedType] = (0, import_react28.useState)(null);
7300
- const [optionList, setOptionList] = (0, import_react28.useState)([]);
7301
- const [answer, setAnswer] = (0, import_react28.useState)({ data: [] });
7302
- (0, import_react28.useEffect)(() => {
7355
+ const [key, setKey] = (0, import_react27.useState)((/* @__PURE__ */ new Date()).getTime());
7356
+ const [selectedType, setSelectedType] = (0, import_react27.useState)(null);
7357
+ const [optionList, setOptionList] = (0, import_react27.useState)([]);
7358
+ const [answer, setAnswer] = (0, import_react27.useState)({ data: [] });
7359
+ (0, import_react27.useEffect)(() => {
7303
7360
  if (!data) return;
7304
7361
  setKey((/* @__PURE__ */ new Date()).getTime());
7305
7362
  }, [data]);
@@ -7312,7 +7369,7 @@ var ActivityPreviewByAnswerData = ({
7312
7369
  }
7313
7370
  return null;
7314
7371
  };
7315
- (0, import_react28.useEffect)(() => {
7372
+ (0, import_react27.useEffect)(() => {
7316
7373
  if (!data) return;
7317
7374
  const constructAnswerBasedOnData2 = () => {
7318
7375
  const newAnswer = { data: [] };
@@ -7351,7 +7408,7 @@ var ActivityPreviewByAnswerData = ({
7351
7408
  };
7352
7409
  constructAnswerBasedOnData2();
7353
7410
  }, [data, lockedType]);
7354
- (0, import_react28.useEffect)(() => {
7411
+ (0, import_react27.useEffect)(() => {
7355
7412
  if (!data || !answer.data.length) return;
7356
7413
  let currentTypeOptionList = typeOptionList || answer.data.map((item) => ({
7357
7414
  id: item.type,
@@ -7389,38 +7446,38 @@ var ActivityPreviewByAnswerData = ({
7389
7446
  };
7390
7447
  switch (selectedType) {
7391
7448
  case "ORDERING":
7392
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7449
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7393
7450
  case "DROPDOWN":
7394
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7451
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7395
7452
  case "MCSA":
7396
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7453
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7397
7454
  case "MCMA":
7398
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7455
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7399
7456
  case "MATCHING":
7400
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7457
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7401
7458
  case "GROUPING":
7402
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7459
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7403
7460
  case "FILL_IN_THE_BLANKS":
7404
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7461
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7405
7462
  case "OPEN_ENDED":
7406
- return data.openEndedBodyMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7463
+ return data.openEndedBodyMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7407
7464
  OpenEndedActivityContent_default,
7408
7465
  __spreadProps(__spreadValues({}, commonProps), {
7409
7466
  showMaterialContent: true
7410
7467
  })
7411
7468
  ) : null;
7412
7469
  case "TRUE_FALSE":
7413
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7470
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7414
7471
  default:
7415
7472
  return null;
7416
7473
  }
7417
7474
  };
7418
7475
  if (!data) return null;
7419
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
7420
- showType && optionList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
7421
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "mb-4", children: [
7422
- 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,
7423
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7476
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { children: [
7477
+ showType && optionList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
7478
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "mb-4", children: [
7479
+ 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,
7480
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7424
7481
  SelectionBox_default,
7425
7482
  {
7426
7483
  optionList,
@@ -7431,20 +7488,20 @@ var ActivityPreviewByAnswerData = ({
7431
7488
  }
7432
7489
  )
7433
7490
  ] }),
7434
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DividerLine_default, {})
7491
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DividerLine_default, {})
7435
7492
  ] }) : null,
7436
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col my-2 w-full p-5", children: [
7437
- ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ActivityEmptyContent_default, {}) : null,
7438
- selectedType ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7493
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex flex-col my-2 w-full p-5", children: [
7494
+ ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ActivityEmptyContent_default, {}) : null,
7495
+ selectedType ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7439
7496
  ] }),
7440
- selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7497
+ selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7441
7498
  ActivitySolutionContent_default,
7442
7499
  {
7443
7500
  activityTemplateType: selectedType,
7444
7501
  data
7445
7502
  }
7446
7503
  ) }) : null,
7447
- selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7504
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7448
7505
  ActivityEvaluationRubricContent_default,
7449
7506
  {
7450
7507
  activityTemplateType: selectedType,
@@ -7456,17 +7513,17 @@ var ActivityPreviewByAnswerData = ({
7456
7513
  var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
7457
7514
 
7458
7515
  // src/components/errors/StatusError.tsx
7459
- var import_jsx_runtime52 = require("react/jsx-runtime");
7516
+ var import_jsx_runtime51 = require("react/jsx-runtime");
7460
7517
  var StatusError = ({
7461
7518
  statusCode,
7462
7519
  statusText,
7463
7520
  textSize
7464
7521
  }) => {
7465
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex flex-col justify-center items-center", children: [
7466
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "text-6xl text-catchup-red my-5", children: i18n_default.t("ooops_text") }),
7467
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "text-center my-5", children: [
7468
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "italic", children: i18n_default.t("unexcepted_error_text") }),
7469
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("p", { className: `${textSize ? textSize : "text-lg"}`, children: [
7522
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-col justify-center items-center", children: [
7523
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "text-6xl text-catchup-red my-5", children: i18n_default.t("ooops_text") }),
7524
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "text-center my-5", children: [
7525
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: "italic", children: i18n_default.t("unexcepted_error_text") }),
7526
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("p", { className: `${textSize ? textSize : "text-lg"}`, children: [
7470
7527
  "(",
7471
7528
  statusCode ? `${statusCode} - ` : null,
7472
7529
  statusText,
@@ -7478,9 +7535,9 @@ var StatusError = ({
7478
7535
  var StatusError_default = StatusError;
7479
7536
 
7480
7537
  // src/components/dividers/BlueVerticalDividerLine.tsx
7481
- var import_jsx_runtime53 = require("react/jsx-runtime");
7538
+ var import_jsx_runtime52 = require("react/jsx-runtime");
7482
7539
  var BlueVerticalDividerLine = ({ opacity }) => {
7483
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7540
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
7484
7541
  "div",
7485
7542
  {
7486
7543
  className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
@@ -7490,7 +7547,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
7490
7547
  var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
7491
7548
 
7492
7549
  // src/components/groups/LeftTextRightInputGroup.tsx
7493
- var import_jsx_runtime54 = require("react/jsx-runtime");
7550
+ var import_jsx_runtime53 = require("react/jsx-runtime");
7494
7551
  var LeftTextRightInputGroup = ({
7495
7552
  type,
7496
7553
  title,
@@ -7500,9 +7557,9 @@ var LeftTextRightInputGroup = ({
7500
7557
  disabled,
7501
7558
  errorText
7502
7559
  }) => {
7503
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "w-full flex flex-row mx-2", children: [
7504
- /* @__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 }) }),
7505
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7560
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex flex-row mx-2", children: [
7561
+ /* @__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 }) }),
7562
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7506
7563
  InputGroup_default,
7507
7564
  {
7508
7565
  type,
@@ -7518,8 +7575,8 @@ var LeftTextRightInputGroup = ({
7518
7575
  var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
7519
7576
 
7520
7577
  // src/components/groups/PageTravelGroup.tsx
7521
- var import_react29 = require("react");
7522
- var import_jsx_runtime55 = require("react/jsx-runtime");
7578
+ var import_react28 = require("react");
7579
+ var import_jsx_runtime54 = require("react/jsx-runtime");
7523
7580
  var PageTravelGroup = ({
7524
7581
  isImageProcessing,
7525
7582
  handleImageProcessing,
@@ -7528,17 +7585,17 @@ var PageTravelGroup = ({
7528
7585
  setPageNumber,
7529
7586
  setImageReady
7530
7587
  }) => {
7531
- const [totalPageNumber, setTotalPageNumber] = (0, import_react29.useState)(0);
7532
- const [newPageNumber, setNewPageNumber] = (0, import_react29.useState)(0);
7533
- (0, import_react29.useEffect)(() => {
7588
+ const [totalPageNumber, setTotalPageNumber] = (0, import_react28.useState)(0);
7589
+ const [newPageNumber, setNewPageNumber] = (0, import_react28.useState)(0);
7590
+ (0, import_react28.useEffect)(() => {
7534
7591
  if (!initialTotalPageNumber) return;
7535
7592
  setTotalPageNumber(initialTotalPageNumber);
7536
7593
  }, [initialTotalPageNumber]);
7537
- (0, import_react29.useEffect)(() => {
7594
+ (0, import_react28.useEffect)(() => {
7538
7595
  setNewPageNumber(pageNumber + 1);
7539
7596
  }, [pageNumber]);
7540
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap", children: [
7541
- 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)(
7597
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex-1 flex flex-row justify-center items-center flex-wrap", children: [
7598
+ 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)(
7542
7599
  BaseImage_default,
7543
7600
  {
7544
7601
  size: "small",
@@ -7556,7 +7613,7 @@ var PageTravelGroup = ({
7556
7613
  }
7557
7614
  }
7558
7615
  ) }),
7559
- 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)(
7616
+ 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)(
7560
7617
  "p",
7561
7618
  {
7562
7619
  className: `${pageNumber === index ? "text-2xl" : "text-md"} cursor-pointer`,
@@ -7571,7 +7628,7 @@ var PageTravelGroup = ({
7571
7628
  children: index + 1
7572
7629
  }
7573
7630
  ) }, index)),
7574
- 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)(
7631
+ 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)(
7575
7632
  BaseImage_default,
7576
7633
  {
7577
7634
  size: "small",
@@ -7589,7 +7646,7 @@ var PageTravelGroup = ({
7589
7646
  }
7590
7647
  }
7591
7648
  ) }),
7592
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7649
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7593
7650
  "input",
7594
7651
  {
7595
7652
  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`,
@@ -7613,14 +7670,14 @@ var PageTravelGroup = ({
7613
7670
  var PageTravelGroup_default = PageTravelGroup;
7614
7671
 
7615
7672
  // src/components/boxes/SelectionCheckbox.tsx
7616
- var import_jsx_runtime56 = require("react/jsx-runtime");
7673
+ var import_jsx_runtime55 = require("react/jsx-runtime");
7617
7674
  var SelectionCheckbox = ({
7618
7675
  optionList,
7619
7676
  selectedIdList,
7620
7677
  handleSelectOnClick,
7621
7678
  handleRemoveOnClick
7622
7679
  }) => {
7623
- 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)(
7680
+ 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)(
7624
7681
  "div",
7625
7682
  {
7626
7683
  className: `${selectedIdList.findIndex(
@@ -7635,14 +7692,14 @@ var SelectionCheckbox = ({
7635
7692
  handleRemoveOnClick(option.id);
7636
7693
  }
7637
7694
  },
7638
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
7695
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7639
7696
  "div",
7640
7697
  {
7641
7698
  className: `flex flex-row items-center gap-x-1 ${selectedIdList.findIndex(
7642
7699
  (selectedId) => selectedId === option.id
7643
7700
  ) > -1 ? "opacity-100" : "opacity-50"}`,
7644
7701
  children: [
7645
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7702
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7646
7703
  BaseImage_default,
7647
7704
  {
7648
7705
  src: selectedIdList.findIndex(
@@ -7652,7 +7709,7 @@ var SelectionCheckbox = ({
7652
7709
  size: "small"
7653
7710
  }
7654
7711
  ),
7655
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { children: option.text }) })
7712
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { children: option.text }) })
7656
7713
  ]
7657
7714
  }
7658
7715
  )
@@ -7663,7 +7720,7 @@ var SelectionCheckbox = ({
7663
7720
  var SelectionCheckbox_default = SelectionCheckbox;
7664
7721
 
7665
7722
  // src/components/tabs/SelectionTab.tsx
7666
- var import_jsx_runtime57 = require("react/jsx-runtime");
7723
+ var import_jsx_runtime56 = require("react/jsx-runtime");
7667
7724
  var SelectionTab = ({
7668
7725
  optionList,
7669
7726
  selectedId,
@@ -7673,7 +7730,7 @@ var SelectionTab = ({
7673
7730
  textColor,
7674
7731
  borderColor
7675
7732
  }) => {
7676
- 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)(
7733
+ 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)(
7677
7734
  "div",
7678
7735
  {
7679
7736
  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`,
@@ -7681,8 +7738,8 @@ var SelectionTab = ({
7681
7738
  handleSelectOnClick(option.id);
7682
7739
  },
7683
7740
  children: [
7684
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "text-lg", children: option.title }),
7685
- option.subTitle ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "text-md", children: option.subTitle }) : null
7741
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "text-lg", children: option.title }),
7742
+ option.subTitle ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: "text-md", children: option.subTitle }) : null
7686
7743
  ]
7687
7744
  },
7688
7745
  index
@@ -7691,20 +7748,20 @@ var SelectionTab = ({
7691
7748
  var SelectionTab_default = SelectionTab;
7692
7749
 
7693
7750
  // src/components/tabs/SelectionTabFill.tsx
7694
- var import_jsx_runtime58 = require("react/jsx-runtime");
7751
+ var import_jsx_runtime57 = require("react/jsx-runtime");
7695
7752
  var SelectionTabFill = ({
7696
7753
  optionList,
7697
7754
  selectedId,
7698
7755
  handleSelectOnClick
7699
7756
  }) => {
7700
- 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)(
7757
+ 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)(
7701
7758
  "div",
7702
7759
  {
7703
7760
  className: "cursor-pointer",
7704
7761
  onClick: () => {
7705
7762
  handleSelectOnClick(option.id);
7706
7763
  },
7707
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
7764
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7708
7765
  "p",
7709
7766
  {
7710
7767
  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`,
@@ -7718,34 +7775,34 @@ var SelectionTabFill = ({
7718
7775
  var SelectionTabFill_default = SelectionTabFill;
7719
7776
 
7720
7777
  // src/components/labels/ActivityTemplateLabel.tsx
7721
- var import_jsx_runtime59 = require("react/jsx-runtime");
7778
+ var import_jsx_runtime58 = require("react/jsx-runtime");
7722
7779
  var ActivityTemplateLabel = ({
7723
7780
  title,
7724
7781
  icon,
7725
7782
  font
7726
7783
  }) => {
7727
- 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: [
7728
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7729
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: font ? font : "text-sm", children: title })
7784
+ 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: [
7785
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7786
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: font ? font : "text-sm", children: title })
7730
7787
  ] }) });
7731
7788
  };
7732
7789
  var ActivityTemplateLabel_default = ActivityTemplateLabel;
7733
7790
 
7734
7791
  // src/components/labels/BrandLabel.tsx
7735
- var import_jsx_runtime60 = require("react/jsx-runtime");
7792
+ var import_jsx_runtime59 = require("react/jsx-runtime");
7736
7793
  var BrandLabel = ({ title, icon, font }) => {
7737
- 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: [
7738
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7739
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: font ? font : "text-sm", children: title })
7794
+ 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: [
7795
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7796
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: font ? font : "text-sm", children: title })
7740
7797
  ] }) });
7741
7798
  };
7742
7799
  var BrandLabel_default = BrandLabel;
7743
7800
 
7744
7801
  // src/components/labels/CategoryLabel.tsx
7745
- var import_jsx_runtime61 = require("react/jsx-runtime");
7802
+ var import_jsx_runtime60 = require("react/jsx-runtime");
7746
7803
  var CategoryLabel = ({ title, icon, font }) => {
7747
- 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: [
7748
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
7804
+ 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: [
7805
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7749
7806
  BaseImage_default,
7750
7807
  {
7751
7808
  src: "/icons/category-label.webp",
@@ -7753,40 +7810,40 @@ var CategoryLabel = ({ title, icon, font }) => {
7753
7810
  size: "xsmall"
7754
7811
  }
7755
7812
  ),
7756
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: font ? font : "text-sm", children: title })
7813
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: font ? font : "text-sm", children: title })
7757
7814
  ] }) });
7758
7815
  };
7759
7816
  var CategoryLabel_default = CategoryLabel;
7760
7817
 
7761
7818
  // src/components/labels/CoterieLabel.tsx
7762
- var import_jsx_runtime62 = require("react/jsx-runtime");
7819
+ var import_jsx_runtime61 = require("react/jsx-runtime");
7763
7820
  var CoterieLabel = ({ title, font }) => {
7764
- 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 }) });
7821
+ 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 }) });
7765
7822
  };
7766
7823
  var CoterieLabel_default = CoterieLabel;
7767
7824
 
7768
7825
  // src/components/labels/GradeLabel.tsx
7769
- var import_jsx_runtime63 = require("react/jsx-runtime");
7826
+ var import_jsx_runtime62 = require("react/jsx-runtime");
7770
7827
  var GradeLabel = ({ title, font }) => {
7771
- 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 }) });
7828
+ 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 }) });
7772
7829
  };
7773
7830
  var GradeLabel_default = GradeLabel;
7774
7831
 
7775
7832
  // src/components/labels/OutcomeLabel.tsx
7776
- var import_jsx_runtime64 = require("react/jsx-runtime");
7833
+ var import_jsx_runtime63 = require("react/jsx-runtime");
7777
7834
  var OutcomeLabel = ({ title, font }) => {
7778
- 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: [
7779
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7780
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: font ? font : "text-sm", children: title })
7835
+ 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: [
7836
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7837
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { className: font ? font : "text-sm", children: title })
7781
7838
  ] }) });
7782
7839
  };
7783
7840
  var OutcomeLabel_default = OutcomeLabel;
7784
7841
 
7785
7842
  // src/components/labels/PersonalLabel.tsx
7786
- var import_jsx_runtime65 = require("react/jsx-runtime");
7843
+ var import_jsx_runtime64 = require("react/jsx-runtime");
7787
7844
  var PersonalLabel = ({ title, icon, font }) => {
7788
- 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: [
7789
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7845
+ 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: [
7846
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
7790
7847
  BaseImage_default,
7791
7848
  {
7792
7849
  src: "/icons/personal-label.webp",
@@ -7794,16 +7851,16 @@ var PersonalLabel = ({ title, icon, font }) => {
7794
7851
  size: "xsmall"
7795
7852
  }
7796
7853
  ),
7797
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: font ? font : "text-sm", children: title })
7854
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: font ? font : "text-sm", children: title })
7798
7855
  ] }) });
7799
7856
  };
7800
7857
  var PersonalLabel_default = PersonalLabel;
7801
7858
 
7802
7859
  // src/components/labels/PublishingHouseLabel.tsx
7803
- var import_jsx_runtime66 = require("react/jsx-runtime");
7860
+ var import_jsx_runtime65 = require("react/jsx-runtime");
7804
7861
  var PublishingHouseLabel = ({ title, icon, font }) => {
7805
- 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: [
7806
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
7862
+ 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: [
7863
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
7807
7864
  BaseImage_default,
7808
7865
  {
7809
7866
  src: "/icons/publishing-house-label.webp",
@@ -7811,55 +7868,55 @@ var PublishingHouseLabel = ({ title, icon, font }) => {
7811
7868
  size: "xsmall"
7812
7869
  }
7813
7870
  ),
7814
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: font ? font : "text-sm", children: title })
7871
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: font ? font : "text-sm", children: title })
7815
7872
  ] }) });
7816
7873
  };
7817
7874
  var PublishingHouseLabel_default = PublishingHouseLabel;
7818
7875
 
7819
7876
  // src/components/labels/ActivityLabel.tsx
7820
- var import_jsx_runtime67 = require("react/jsx-runtime");
7877
+ var import_jsx_runtime66 = require("react/jsx-runtime");
7821
7878
  var ActivityLabel = ({ title, font }) => {
7822
- 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 }) });
7879
+ 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 }) });
7823
7880
  };
7824
7881
  var ActivityLabel_default = ActivityLabel;
7825
7882
 
7826
7883
  // src/components/infos/InfoWithText.tsx
7827
- var import_jsx_runtime68 = require("react/jsx-runtime");
7884
+ var import_jsx_runtime67 = require("react/jsx-runtime");
7828
7885
  var InfoWithText = (props) => {
7829
7886
  const { value } = props;
7830
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7831
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7832
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("p", { className: "", children: value }) })
7887
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7888
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7889
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "", children: value }) })
7833
7890
  ] });
7834
7891
  };
7835
7892
  var InfoWithText_default = InfoWithText;
7836
7893
 
7837
7894
  // src/components/titles/BaseTitle.tsx
7838
- var import_jsx_runtime69 = require("react/jsx-runtime");
7895
+ var import_jsx_runtime68 = require("react/jsx-runtime");
7839
7896
  var BaseTitle = ({
7840
7897
  title,
7841
7898
  totalItemCount,
7842
7899
  itemName,
7843
7900
  description
7844
7901
  }) => {
7845
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex flex-col gap-y-2", children: [
7846
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("p", { className: "text-2xl font-medium", children: [
7902
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex flex-col gap-y-2", children: [
7903
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("p", { className: "text-2xl font-medium", children: [
7847
7904
  title,
7848
- totalItemCount && itemName ? /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("span", { className: "p-2 text-base text-catchup-blue-600 border border-catchup-blue-300 rounded-catchup-3xlarge mx-2 bg-catchup-blue-100", children: [
7905
+ totalItemCount && itemName ? /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("span", { className: "p-2 text-base text-catchup-blue-600 border border-catchup-blue-300 rounded-catchup-3xlarge mx-2 bg-catchup-blue-100", children: [
7849
7906
  totalItemCount,
7850
7907
  " ",
7851
7908
  itemName
7852
7909
  ] }) : null
7853
7910
  ] }),
7854
- description ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("p", { className: "", children: description }) : null
7911
+ description ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("p", { className: "", children: description }) : null
7855
7912
  ] });
7856
7913
  };
7857
7914
  var BaseTitle_default = BaseTitle;
7858
7915
 
7859
7916
  // src/components/titles/SubTitle.tsx
7860
- var import_jsx_runtime70 = require("react/jsx-runtime");
7917
+ var import_jsx_runtime69 = require("react/jsx-runtime");
7861
7918
  var SubTitle = ({ title }) => {
7862
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7919
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7863
7920
  };
7864
7921
  var SubTitle_default = SubTitle;
7865
7922