catchup-library-web 1.11.0 → 1.11.2
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.d.mts +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +255 -60
- package/dist/index.mjs +254 -60
- package/package.json +1 -1
- package/src/components/activities/ActivityPreviewByAnswerData.tsx +301 -0
- package/src/index.ts +1 -0
- package/src/properties/ActivityProperties.ts +13 -0
package/dist/index.js
CHANGED
|
@@ -71,6 +71,7 @@ __export(index_exports, {
|
|
|
71
71
|
ActivityEmptyContent: () => ActivityEmptyContent_default,
|
|
72
72
|
ActivityEvaluationRubricContent: () => ActivityEvaluationRubricContent_default,
|
|
73
73
|
ActivityLabel: () => ActivityLabel_default,
|
|
74
|
+
ActivityPreviewByAnswerData: () => ActivityPreviewByAnswerData_default,
|
|
74
75
|
ActivityPreviewByData: () => ActivityPreviewByData_default,
|
|
75
76
|
ActivitySolutionContent: () => ActivitySolutionContent_default,
|
|
76
77
|
ActivityTemplateLabel: () => ActivityTemplateLabel_default,
|
|
@@ -6711,10 +6712,203 @@ var ActivityPreviewByData = ({
|
|
|
6711
6712
|
};
|
|
6712
6713
|
var ActivityPreviewByData_default = ActivityPreviewByData;
|
|
6713
6714
|
|
|
6714
|
-
// src/components/
|
|
6715
|
+
// src/components/activities/ActivityPreviewByAnswerData.tsx
|
|
6716
|
+
var import_react27 = require("react");
|
|
6715
6717
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
6718
|
+
var ActivityPreviewByAnswerData = ({
|
|
6719
|
+
data,
|
|
6720
|
+
showType = true,
|
|
6721
|
+
showDescription = true,
|
|
6722
|
+
lockedType = null,
|
|
6723
|
+
typeOptionList = [],
|
|
6724
|
+
showSolution = false,
|
|
6725
|
+
showEvaluationRubric = false,
|
|
6726
|
+
showTaxonomy = true,
|
|
6727
|
+
isFullScreen = false,
|
|
6728
|
+
showCorrectAnswer = false
|
|
6729
|
+
}) => {
|
|
6730
|
+
var _a;
|
|
6731
|
+
const [key, setKey] = (0, import_react27.useState)((/* @__PURE__ */ new Date()).getTime());
|
|
6732
|
+
const [selectedType, setSelectedType] = (0, import_react27.useState)(null);
|
|
6733
|
+
const [optionList, setOptionList] = (0, import_react27.useState)([]);
|
|
6734
|
+
const [answer, setAnswer] = (0, import_react27.useState)({ data: [] });
|
|
6735
|
+
(0, import_react27.useEffect)(() => {
|
|
6736
|
+
if (!data) return;
|
|
6737
|
+
setKey((/* @__PURE__ */ new Date()).getTime());
|
|
6738
|
+
}, [data]);
|
|
6739
|
+
const checkAnswerMapExists = (type) => {
|
|
6740
|
+
if (data && data.answerMap && Array.isArray(data.answerMap)) {
|
|
6741
|
+
const foundAnswer = data.answerMap.find(
|
|
6742
|
+
(answer2) => answer2.type === type
|
|
6743
|
+
);
|
|
6744
|
+
return foundAnswer || null;
|
|
6745
|
+
}
|
|
6746
|
+
return null;
|
|
6747
|
+
};
|
|
6748
|
+
const retrieveTaxonomyNameFromActivityType = (type) => {
|
|
6749
|
+
if (!data) return "";
|
|
6750
|
+
let taxonomyMap = { name: "" };
|
|
6751
|
+
const taxonomyMapNames = {
|
|
6752
|
+
ORDERING: "orderingTaxonomyMap",
|
|
6753
|
+
DROPDOWN: "dropdownTaxonomyMap",
|
|
6754
|
+
MCSA: "MCSATaxonomyMap",
|
|
6755
|
+
MCMA: "MCMATaxonomyMap",
|
|
6756
|
+
MATCHING: "matchingTaxonomyMap",
|
|
6757
|
+
GROUPING: "groupingTaxonomyMap",
|
|
6758
|
+
FILL_IN_THE_BLANKS: "fillInTheBlanksTaxonomyMap",
|
|
6759
|
+
OPEN_ENDED: "openEndedTaxonomyMap",
|
|
6760
|
+
TRUE_FALSE: "trueFalseTaxonomyMap"
|
|
6761
|
+
};
|
|
6762
|
+
const mapName = taxonomyMapNames[type];
|
|
6763
|
+
if (mapName && data[mapName]) {
|
|
6764
|
+
try {
|
|
6765
|
+
taxonomyMap = JSON.parse(data[mapName]);
|
|
6766
|
+
} catch (error) {
|
|
6767
|
+
console.error(`Error parsing taxonomy map for ${type}:`, error);
|
|
6768
|
+
}
|
|
6769
|
+
}
|
|
6770
|
+
return taxonomyMap.name || "";
|
|
6771
|
+
};
|
|
6772
|
+
(0, import_react27.useEffect)(() => {
|
|
6773
|
+
if (!data) return;
|
|
6774
|
+
const constructAnswerBasedOnData2 = () => {
|
|
6775
|
+
const newAnswer = { data: [] };
|
|
6776
|
+
const activityTypes = [
|
|
6777
|
+
{ type: "ORDERING", materialMap: "orderingMaterialMap" },
|
|
6778
|
+
{ type: "DROPDOWN", materialMap: "dropdownMaterialMap" },
|
|
6779
|
+
{ type: "MCSA", materialMap: "MCSAMaterialMap" },
|
|
6780
|
+
{ type: "MCMA", materialMap: "MCMAMaterialMap" },
|
|
6781
|
+
{ type: "MATCHING", materialMap: "matchingMaterialMap" },
|
|
6782
|
+
{ type: "GROUPING", materialMap: "groupingMaterialMap" },
|
|
6783
|
+
{
|
|
6784
|
+
type: "FILL_IN_THE_BLANKS",
|
|
6785
|
+
materialMap: "fillInTheBlanksMaterialMap"
|
|
6786
|
+
},
|
|
6787
|
+
{ type: "OPEN_ENDED", materialMap: "openEndedMaterialMap" },
|
|
6788
|
+
{ type: "TRUE_FALSE", materialMap: "trueFalseMaterialMap" }
|
|
6789
|
+
];
|
|
6790
|
+
activityTypes.forEach(({ type, materialMap }) => {
|
|
6791
|
+
if (data[materialMap]) {
|
|
6792
|
+
const foundAnswer = checkAnswerMapExists(type);
|
|
6793
|
+
const answerItem = foundAnswer || constructActivityAnswerMap(
|
|
6794
|
+
{ type },
|
|
6795
|
+
JSON.parse(JSON.stringify(data))
|
|
6796
|
+
);
|
|
6797
|
+
newAnswer.data.push(answerItem);
|
|
6798
|
+
}
|
|
6799
|
+
});
|
|
6800
|
+
setAnswer(newAnswer);
|
|
6801
|
+
if (newAnswer.data.length > 0) {
|
|
6802
|
+
if (lockedType && newAnswer.data.find((item) => item.type === lockedType)) {
|
|
6803
|
+
setSelectedType(lockedType);
|
|
6804
|
+
} else {
|
|
6805
|
+
setSelectedType(newAnswer.data[0].type);
|
|
6806
|
+
}
|
|
6807
|
+
}
|
|
6808
|
+
};
|
|
6809
|
+
constructAnswerBasedOnData2();
|
|
6810
|
+
}, [data, lockedType]);
|
|
6811
|
+
(0, import_react27.useEffect)(() => {
|
|
6812
|
+
if (!data || !answer.data.length) return;
|
|
6813
|
+
let currentTypeOptionList = typeOptionList || answer.data.map((item) => ({
|
|
6814
|
+
id: item.type,
|
|
6815
|
+
text: i18n_default.t(item.type)
|
|
6816
|
+
}));
|
|
6817
|
+
if (lockedType) {
|
|
6818
|
+
currentTypeOptionList = currentTypeOptionList.filter(
|
|
6819
|
+
(typeOption) => typeOption.id === lockedType
|
|
6820
|
+
);
|
|
6821
|
+
}
|
|
6822
|
+
if (showTaxonomy) {
|
|
6823
|
+
setOptionList(
|
|
6824
|
+
currentTypeOptionList.map((typeOption) => __spreadProps(__spreadValues({}, typeOption), {
|
|
6825
|
+
subText: i18n_default.t(retrieveTaxonomyNameFromActivityType(typeOption.id))
|
|
6826
|
+
}))
|
|
6827
|
+
);
|
|
6828
|
+
} else {
|
|
6829
|
+
setOptionList(currentTypeOptionList);
|
|
6830
|
+
}
|
|
6831
|
+
}, [data, answer.data, lockedType, typeOptionList, showTaxonomy]);
|
|
6832
|
+
const RenderSelectedActivityContent = () => {
|
|
6833
|
+
const commonProps = {
|
|
6834
|
+
answer,
|
|
6835
|
+
data,
|
|
6836
|
+
canAnswerQuestion: () => true,
|
|
6837
|
+
changeAnswer: (newAnswer) => setAnswer(JSON.parse(JSON.stringify(newAnswer))),
|
|
6838
|
+
isPreview: true,
|
|
6839
|
+
showCorrectAnswer,
|
|
6840
|
+
isFullScreen
|
|
6841
|
+
};
|
|
6842
|
+
switch (selectedType) {
|
|
6843
|
+
case "ORDERING":
|
|
6844
|
+
return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
|
|
6845
|
+
case "DROPDOWN":
|
|
6846
|
+
return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
|
|
6847
|
+
case "MCSA":
|
|
6848
|
+
return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
|
|
6849
|
+
case "MCMA":
|
|
6850
|
+
return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
|
|
6851
|
+
case "MATCHING":
|
|
6852
|
+
return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
|
|
6853
|
+
case "GROUPING":
|
|
6854
|
+
return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
|
|
6855
|
+
case "FILL_IN_THE_BLANKS":
|
|
6856
|
+
return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
|
|
6857
|
+
case "OPEN_ENDED":
|
|
6858
|
+
return data.openEndedBodyMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
6859
|
+
OpenEndedActivityContent_default,
|
|
6860
|
+
__spreadProps(__spreadValues({}, commonProps), {
|
|
6861
|
+
showMaterialContent: true
|
|
6862
|
+
})
|
|
6863
|
+
) : null;
|
|
6864
|
+
case "TRUE_FALSE":
|
|
6865
|
+
return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
|
|
6866
|
+
default:
|
|
6867
|
+
return null;
|
|
6868
|
+
}
|
|
6869
|
+
};
|
|
6870
|
+
if (!data) return null;
|
|
6871
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { children: [
|
|
6872
|
+
showType && optionList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "mb-4", children: [
|
|
6873
|
+
showDescription ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
|
|
6874
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
6875
|
+
SelectionBox_default,
|
|
6876
|
+
{
|
|
6877
|
+
optionList,
|
|
6878
|
+
selectedId: selectedType,
|
|
6879
|
+
handleSelectOnClick: (itemId) => {
|
|
6880
|
+
setSelectedType(itemId);
|
|
6881
|
+
}
|
|
6882
|
+
}
|
|
6883
|
+
)
|
|
6884
|
+
] }) : null,
|
|
6885
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DividerLine_default, {}),
|
|
6886
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex flex-col my-2 w-full p-5", children: [
|
|
6887
|
+
((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ActivityEmptyContent_default, {}) : null,
|
|
6888
|
+
selectedType ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { children: RenderSelectedActivityContent() }, selectedType) : null
|
|
6889
|
+
] }),
|
|
6890
|
+
selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
6891
|
+
ActivitySolutionContent_default,
|
|
6892
|
+
{
|
|
6893
|
+
activityTemplateType: selectedType,
|
|
6894
|
+
data
|
|
6895
|
+
}
|
|
6896
|
+
) }) : null,
|
|
6897
|
+
selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
6898
|
+
ActivityEvaluationRubricContent_default,
|
|
6899
|
+
{
|
|
6900
|
+
activityTemplateType: selectedType,
|
|
6901
|
+
data
|
|
6902
|
+
}
|
|
6903
|
+
) }) : null
|
|
6904
|
+
] }, key);
|
|
6905
|
+
};
|
|
6906
|
+
var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
|
|
6907
|
+
|
|
6908
|
+
// src/components/dividers/BlueVerticalDividerLine.tsx
|
|
6909
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
6716
6910
|
var BlueVerticalDividerLine = ({ opacity }) => {
|
|
6717
|
-
return /* @__PURE__ */ (0,
|
|
6911
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
6718
6912
|
"div",
|
|
6719
6913
|
{
|
|
6720
6914
|
className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
|
|
@@ -6724,7 +6918,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
|
|
|
6724
6918
|
var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
|
|
6725
6919
|
|
|
6726
6920
|
// src/components/groups/LeftTextRightInputGroup.tsx
|
|
6727
|
-
var
|
|
6921
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
6728
6922
|
var LeftTextRightInputGroup = ({
|
|
6729
6923
|
type,
|
|
6730
6924
|
title,
|
|
@@ -6734,9 +6928,9 @@ var LeftTextRightInputGroup = ({
|
|
|
6734
6928
|
disabled,
|
|
6735
6929
|
errorText
|
|
6736
6930
|
}) => {
|
|
6737
|
-
return /* @__PURE__ */ (0,
|
|
6738
|
-
/* @__PURE__ */ (0,
|
|
6739
|
-
/* @__PURE__ */ (0,
|
|
6931
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "w-full flex flex-row mx-2", children: [
|
|
6932
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { children: title }) }),
|
|
6933
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
6740
6934
|
InputGroup_default,
|
|
6741
6935
|
{
|
|
6742
6936
|
type,
|
|
@@ -6752,14 +6946,14 @@ var LeftTextRightInputGroup = ({
|
|
|
6752
6946
|
var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
|
|
6753
6947
|
|
|
6754
6948
|
// src/components/boxes/SelectionCheckbox.tsx
|
|
6755
|
-
var
|
|
6949
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
6756
6950
|
var SelectionCheckbox = ({
|
|
6757
6951
|
optionList,
|
|
6758
6952
|
selectedIdList,
|
|
6759
6953
|
handleSelectOnClick,
|
|
6760
6954
|
handleRemoveOnClick
|
|
6761
6955
|
}) => {
|
|
6762
|
-
return /* @__PURE__ */ (0,
|
|
6956
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.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_runtime47.jsx)(
|
|
6763
6957
|
"div",
|
|
6764
6958
|
{
|
|
6765
6959
|
className: `${selectedIdList.findIndex(
|
|
@@ -6774,14 +6968,14 @@ var SelectionCheckbox = ({
|
|
|
6774
6968
|
handleRemoveOnClick(option.id);
|
|
6775
6969
|
}
|
|
6776
6970
|
},
|
|
6777
|
-
children: /* @__PURE__ */ (0,
|
|
6971
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
6778
6972
|
"div",
|
|
6779
6973
|
{
|
|
6780
6974
|
className: `flex flex-row items-center gap-x-1 ${selectedIdList.findIndex(
|
|
6781
6975
|
(selectedId) => selectedId === option.id
|
|
6782
6976
|
) > -1 ? "opacity-100" : "opacity-50"}`,
|
|
6783
6977
|
children: [
|
|
6784
|
-
/* @__PURE__ */ (0,
|
|
6978
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
6785
6979
|
BaseImage_default,
|
|
6786
6980
|
{
|
|
6787
6981
|
src: selectedIdList.findIndex(
|
|
@@ -6791,7 +6985,7 @@ var SelectionCheckbox = ({
|
|
|
6791
6985
|
size: "small"
|
|
6792
6986
|
}
|
|
6793
6987
|
),
|
|
6794
|
-
/* @__PURE__ */ (0,
|
|
6988
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: option.text }) })
|
|
6795
6989
|
]
|
|
6796
6990
|
}
|
|
6797
6991
|
)
|
|
@@ -6802,7 +6996,7 @@ var SelectionCheckbox = ({
|
|
|
6802
6996
|
var SelectionCheckbox_default = SelectionCheckbox;
|
|
6803
6997
|
|
|
6804
6998
|
// src/components/tabs/SelectionTab.tsx
|
|
6805
|
-
var
|
|
6999
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
6806
7000
|
var SelectionTab = ({
|
|
6807
7001
|
optionList,
|
|
6808
7002
|
selectedId,
|
|
@@ -6812,7 +7006,7 @@ var SelectionTab = ({
|
|
|
6812
7006
|
textColor,
|
|
6813
7007
|
borderColor
|
|
6814
7008
|
}) => {
|
|
6815
|
-
return /* @__PURE__ */ (0,
|
|
7009
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.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_runtime48.jsxs)(
|
|
6816
7010
|
"div",
|
|
6817
7011
|
{
|
|
6818
7012
|
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`,
|
|
@@ -6820,8 +7014,8 @@ var SelectionTab = ({
|
|
|
6820
7014
|
handleSelectOnClick(option.id);
|
|
6821
7015
|
},
|
|
6822
7016
|
children: [
|
|
6823
|
-
/* @__PURE__ */ (0,
|
|
6824
|
-
option.subTitle ? /* @__PURE__ */ (0,
|
|
7017
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-lg", children: option.title }),
|
|
7018
|
+
option.subTitle ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "text-md", children: option.subTitle }) : null
|
|
6825
7019
|
]
|
|
6826
7020
|
},
|
|
6827
7021
|
index
|
|
@@ -6830,20 +7024,20 @@ var SelectionTab = ({
|
|
|
6830
7024
|
var SelectionTab_default = SelectionTab;
|
|
6831
7025
|
|
|
6832
7026
|
// src/components/tabs/SelectionTabFill.tsx
|
|
6833
|
-
var
|
|
7027
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
6834
7028
|
var SelectionTabFill = ({
|
|
6835
7029
|
optionList,
|
|
6836
7030
|
selectedId,
|
|
6837
7031
|
handleSelectOnClick
|
|
6838
7032
|
}) => {
|
|
6839
|
-
return /* @__PURE__ */ (0,
|
|
7033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.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_runtime49.jsx)(
|
|
6840
7034
|
"div",
|
|
6841
7035
|
{
|
|
6842
7036
|
className: "cursor-pointer",
|
|
6843
7037
|
onClick: () => {
|
|
6844
7038
|
handleSelectOnClick(option.id);
|
|
6845
7039
|
},
|
|
6846
|
-
children: /* @__PURE__ */ (0,
|
|
7040
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
6847
7041
|
"p",
|
|
6848
7042
|
{
|
|
6849
7043
|
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`,
|
|
@@ -6857,57 +7051,57 @@ var SelectionTabFill = ({
|
|
|
6857
7051
|
var SelectionTabFill_default = SelectionTabFill;
|
|
6858
7052
|
|
|
6859
7053
|
// src/components/labels/ActivityTemplateLabel.tsx
|
|
6860
|
-
var
|
|
7054
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
6861
7055
|
var ActivityTemplateLabel = ({
|
|
6862
7056
|
title,
|
|
6863
7057
|
font
|
|
6864
7058
|
}) => {
|
|
6865
|
-
return /* @__PURE__ */ (0,
|
|
6866
|
-
/* @__PURE__ */ (0,
|
|
6867
|
-
/* @__PURE__ */ (0,
|
|
7059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.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", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
|
|
7060
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
|
|
7061
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { className: font ? font : "text-sm", children: title })
|
|
6868
7062
|
] }) });
|
|
6869
7063
|
};
|
|
6870
7064
|
var ActivityTemplateLabel_default = ActivityTemplateLabel;
|
|
6871
7065
|
|
|
6872
7066
|
// src/components/labels/BrandLabel.tsx
|
|
6873
|
-
var
|
|
7067
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
6874
7068
|
var BrandLabel = ({ title, icon, font }) => {
|
|
6875
|
-
return /* @__PURE__ */ (0,
|
|
6876
|
-
icon ? icon : /* @__PURE__ */ (0,
|
|
6877
|
-
/* @__PURE__ */ (0,
|
|
7069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.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", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
|
|
7070
|
+
icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
|
|
7071
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: font ? font : "text-sm", children: title })
|
|
6878
7072
|
] }) });
|
|
6879
7073
|
};
|
|
6880
7074
|
var BrandLabel_default = BrandLabel;
|
|
6881
7075
|
|
|
6882
7076
|
// src/components/labels/CoterieLabel.tsx
|
|
6883
|
-
var
|
|
7077
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
6884
7078
|
var CoterieLabel = ({ title, font }) => {
|
|
6885
|
-
return /* @__PURE__ */ (0,
|
|
7079
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.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", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: font ? font : "text-sm", children: title }) });
|
|
6886
7080
|
};
|
|
6887
7081
|
var CoterieLabel_default = CoterieLabel;
|
|
6888
7082
|
|
|
6889
7083
|
// src/components/labels/GradeLabel.tsx
|
|
6890
|
-
var
|
|
7084
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
6891
7085
|
var GradeLabel = ({ title, font }) => {
|
|
6892
|
-
return /* @__PURE__ */ (0,
|
|
7086
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.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", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: font ? font : "text-sm", children: title }) });
|
|
6893
7087
|
};
|
|
6894
7088
|
var GradeLabel_default = GradeLabel;
|
|
6895
7089
|
|
|
6896
7090
|
// src/components/labels/OutcomeLabel.tsx
|
|
6897
|
-
var
|
|
7091
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
6898
7092
|
var OutcomeLabel = ({ title, font }) => {
|
|
6899
|
-
return /* @__PURE__ */ (0,
|
|
6900
|
-
/* @__PURE__ */ (0,
|
|
6901
|
-
/* @__PURE__ */ (0,
|
|
7093
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.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", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
|
|
7094
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
|
|
7095
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: font ? font : "text-sm", children: title })
|
|
6902
7096
|
] }) });
|
|
6903
7097
|
};
|
|
6904
7098
|
var OutcomeLabel_default = OutcomeLabel;
|
|
6905
7099
|
|
|
6906
7100
|
// src/components/labels/PersonalLabel.tsx
|
|
6907
|
-
var
|
|
7101
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
6908
7102
|
var PersonalLabel = ({ title, icon, font }) => {
|
|
6909
|
-
return /* @__PURE__ */ (0,
|
|
6910
|
-
icon ? icon : /* @__PURE__ */ (0,
|
|
7103
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.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", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
|
|
7104
|
+
icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
6911
7105
|
BaseImage_default,
|
|
6912
7106
|
{
|
|
6913
7107
|
src: "/icons/personal-label.webp",
|
|
@@ -6915,16 +7109,16 @@ var PersonalLabel = ({ title, icon, font }) => {
|
|
|
6915
7109
|
size: "xsmall"
|
|
6916
7110
|
}
|
|
6917
7111
|
),
|
|
6918
|
-
/* @__PURE__ */ (0,
|
|
7112
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: font ? font : "text-sm", children: title })
|
|
6919
7113
|
] }) });
|
|
6920
7114
|
};
|
|
6921
7115
|
var PersonalLabel_default = PersonalLabel;
|
|
6922
7116
|
|
|
6923
7117
|
// src/components/labels/PublishingHouseLabel.tsx
|
|
6924
|
-
var
|
|
7118
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
6925
7119
|
var PublishingHouseLabel = ({ title, icon, font }) => {
|
|
6926
|
-
return /* @__PURE__ */ (0,
|
|
6927
|
-
icon ? icon : /* @__PURE__ */ (0,
|
|
7120
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.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", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
|
|
7121
|
+
icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
6928
7122
|
BaseImage_default,
|
|
6929
7123
|
{
|
|
6930
7124
|
src: "/icons/publishing-house-label.webp",
|
|
@@ -6932,79 +7126,79 @@ var PublishingHouseLabel = ({ title, icon, font }) => {
|
|
|
6932
7126
|
size: "xsmall"
|
|
6933
7127
|
}
|
|
6934
7128
|
),
|
|
6935
|
-
/* @__PURE__ */ (0,
|
|
7129
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: font ? font : "text-sm", children: title })
|
|
6936
7130
|
] }) });
|
|
6937
7131
|
};
|
|
6938
7132
|
var PublishingHouseLabel_default = PublishingHouseLabel;
|
|
6939
7133
|
|
|
6940
7134
|
// src/components/labels/ActivityLabel.tsx
|
|
6941
|
-
var
|
|
7135
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
6942
7136
|
var ActivityLabel = ({ title, font }) => {
|
|
6943
|
-
return /* @__PURE__ */ (0,
|
|
7137
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.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", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: font ? font : "text-sm", children: title }) });
|
|
6944
7138
|
};
|
|
6945
7139
|
var ActivityLabel_default = ActivityLabel;
|
|
6946
7140
|
|
|
6947
7141
|
// src/components/infos/InfoWithText.tsx
|
|
6948
|
-
var
|
|
7142
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
6949
7143
|
var InfoWithText = (props) => {
|
|
6950
7144
|
const { value } = props;
|
|
6951
|
-
return /* @__PURE__ */ (0,
|
|
6952
|
-
/* @__PURE__ */ (0,
|
|
6953
|
-
/* @__PURE__ */ (0,
|
|
7145
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
|
|
7146
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
|
|
7147
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: "", children: value }) })
|
|
6954
7148
|
] });
|
|
6955
7149
|
};
|
|
6956
7150
|
var InfoWithText_default = InfoWithText;
|
|
6957
7151
|
|
|
6958
7152
|
// src/components/texts/InputWithSpecialExpression.tsx
|
|
6959
7153
|
var import_react_katex12 = require("react-katex");
|
|
6960
|
-
var
|
|
7154
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
6961
7155
|
var InputWithSpecialExpression = ({
|
|
6962
7156
|
value,
|
|
6963
7157
|
showSpecialOnly
|
|
6964
7158
|
}) => {
|
|
6965
7159
|
const inputWithSpecialExpressionList = constructInputWithSpecialExpressionList(value);
|
|
6966
|
-
return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ (0,
|
|
7160
|
+
return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6967
7161
|
"span",
|
|
6968
7162
|
{
|
|
6969
7163
|
className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
|
|
6970
|
-
children: inputPart.isEquation ? /* @__PURE__ */ (0,
|
|
7164
|
+
children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
|
|
6971
7165
|
}
|
|
6972
|
-
)) }) }) : null : /* @__PURE__ */ (0,
|
|
7166
|
+
)) }) }) : null : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
6973
7167
|
"span",
|
|
6974
7168
|
{
|
|
6975
7169
|
className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
|
|
6976
|
-
children: inputPart.isEquation ? /* @__PURE__ */ (0,
|
|
7170
|
+
children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
|
|
6977
7171
|
}
|
|
6978
7172
|
)) }) });
|
|
6979
7173
|
};
|
|
6980
7174
|
var InputWithSpecialExpression_default = InputWithSpecialExpression;
|
|
6981
7175
|
|
|
6982
7176
|
// src/components/titles/BaseTitle.tsx
|
|
6983
|
-
var
|
|
7177
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
6984
7178
|
var BaseTitle = ({
|
|
6985
7179
|
title,
|
|
6986
7180
|
totalItemCount,
|
|
6987
7181
|
itemName,
|
|
6988
7182
|
description
|
|
6989
7183
|
}) => {
|
|
6990
|
-
return /* @__PURE__ */ (0,
|
|
6991
|
-
/* @__PURE__ */ (0,
|
|
7184
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-col gap-y-2", children: [
|
|
7185
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("p", { className: "text-2xl font-medium", children: [
|
|
6992
7186
|
title,
|
|
6993
|
-
totalItemCount && itemName ? /* @__PURE__ */ (0,
|
|
7187
|
+
totalItemCount && itemName ? /* @__PURE__ */ (0, import_jsx_runtime60.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: [
|
|
6994
7188
|
totalItemCount,
|
|
6995
7189
|
" ",
|
|
6996
7190
|
itemName
|
|
6997
7191
|
] }) : null
|
|
6998
7192
|
] }),
|
|
6999
|
-
description ? /* @__PURE__ */ (0,
|
|
7193
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "", children: description }) : null
|
|
7000
7194
|
] });
|
|
7001
7195
|
};
|
|
7002
7196
|
var BaseTitle_default = BaseTitle;
|
|
7003
7197
|
|
|
7004
7198
|
// src/components/titles/SubTitle.tsx
|
|
7005
|
-
var
|
|
7199
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
7006
7200
|
var SubTitle = ({ title }) => {
|
|
7007
|
-
return /* @__PURE__ */ (0,
|
|
7201
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
|
|
7008
7202
|
};
|
|
7009
7203
|
var SubTitle_default = SubTitle;
|
|
7010
7204
|
|
|
@@ -9455,6 +9649,7 @@ var retrieveActivityMethodologyOptionList = () => {
|
|
|
9455
9649
|
ActivityEmptyContent,
|
|
9456
9650
|
ActivityEvaluationRubricContent,
|
|
9457
9651
|
ActivityLabel,
|
|
9652
|
+
ActivityPreviewByAnswerData,
|
|
9458
9653
|
ActivityPreviewByData,
|
|
9459
9654
|
ActivitySolutionContent,
|
|
9460
9655
|
ActivityTemplateLabel,
|