catchup-library-web 1.15.4 → 1.15.6

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 CHANGED
@@ -804,7 +804,7 @@ declare const constructCombinedOutcomeActivityScoreMapFromCombinedReport: (combi
804
804
 
805
805
  declare const convertDataURLtoFile: (dataurl: string, filename: string) => File;
806
806
  declare const retrieveDocumentTypeFromAcceptedFormat: (format: string) => "IMAGE" | "AUDIO" | "PDF" | undefined;
807
- declare const retrieveDocumentTypeFromExtension: (format: string) => "IMAGE" | "AUDIO" | "PDF" | undefined;
807
+ declare const retrieveDocumentTypeFromExtension: (format: string) => "" | "IMAGE" | "AUDIO" | "PDF";
808
808
 
809
809
  declare const retrieveTokenUsageTypeOptionList: () => {
810
810
  text: string;
package/dist/index.d.ts CHANGED
@@ -804,7 +804,7 @@ declare const constructCombinedOutcomeActivityScoreMapFromCombinedReport: (combi
804
804
 
805
805
  declare const convertDataURLtoFile: (dataurl: string, filename: string) => File;
806
806
  declare const retrieveDocumentTypeFromAcceptedFormat: (format: string) => "IMAGE" | "AUDIO" | "PDF" | undefined;
807
- declare const retrieveDocumentTypeFromExtension: (format: string) => "IMAGE" | "AUDIO" | "PDF" | undefined;
807
+ declare const retrieveDocumentTypeFromExtension: (format: string) => "" | "IMAGE" | "AUDIO" | "PDF";
808
808
 
809
809
  declare const retrieveTokenUsageTypeOptionList: () => {
810
810
  text: string;
package/dist/index.js CHANGED
@@ -6134,6 +6134,7 @@ var retrieveDocumentTypeFromExtension = (format) => {
6134
6134
  } else if (format === "mp3") {
6135
6135
  return "AUDIO";
6136
6136
  }
6137
+ return "";
6137
6138
  };
6138
6139
 
6139
6140
  // src/components/activities/material-content/OpenEndedActivityMaterialContent.tsx
@@ -6161,19 +6162,49 @@ var OpenEndedActivityMaterialContent = ({
6161
6162
  };
6162
6163
  const RenderTextContent = (answerMap2) => {
6163
6164
  const answerMapAnswer = answerMap2["ANSWER"];
6164
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6165
- InputGroup_default,
6166
- {
6167
- type: "textarea",
6168
- value: answerMapAnswer,
6169
- useMinHeight: true,
6170
- onChange: (e) => {
6171
- if (checkCanAnswerQuestion()) {
6172
- onChange(answer, e.target.value);
6165
+ let documentType = "TEXT";
6166
+ if (answerMapAnswer.startsWith(`https://`) || answerMapAnswer.startsWith(`http://`)) {
6167
+ const extension = answerMapAnswer.split(".").pop();
6168
+ documentType = retrieveDocumentTypeFromExtension(extension);
6169
+ }
6170
+ if (documentType === "IMAGE") {
6171
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6172
+ BaseImage_default,
6173
+ {
6174
+ src: answerMapAnswer,
6175
+ alt: "document",
6176
+ size: "custom",
6177
+ className: "w-[80%] rounded-catchup-xlarge"
6178
+ }
6179
+ ) });
6180
+ } else if (documentType === "PDF") {
6181
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(BasePDF_default, { file: answerMapAnswer });
6182
+ } else if (documentType === "AUDIO") {
6183
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "h-[56px]", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6184
+ "audio",
6185
+ {
6186
+ className: "h-full w-full rounded-catchup-xlarge",
6187
+ src: answerMapAnswer,
6188
+ controls: true,
6189
+ onClick: () => {
6173
6190
  }
6174
6191
  }
6175
- }
6176
- );
6192
+ ) });
6193
+ } else if (documentType === "TEXT") {
6194
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6195
+ InputGroup_default,
6196
+ {
6197
+ type: "textarea",
6198
+ value: answerMapAnswer,
6199
+ useMinHeight: true,
6200
+ onChange: (e) => {
6201
+ if (checkCanAnswerQuestion()) {
6202
+ onChange(answer, e.target.value);
6203
+ }
6204
+ }
6205
+ }
6206
+ );
6207
+ }
6177
6208
  };
6178
6209
  const RenderImageContent = (answerMap2) => {
6179
6210
  const answerMapAnswer = answerMap2["ANSWER"];
package/dist/index.mjs CHANGED
@@ -5924,6 +5924,7 @@ var retrieveDocumentTypeFromExtension = (format) => {
5924
5924
  } else if (format === "mp3") {
5925
5925
  return "AUDIO";
5926
5926
  }
5927
+ return "";
5927
5928
  };
5928
5929
 
5929
5930
  // src/components/activities/material-content/OpenEndedActivityMaterialContent.tsx
@@ -5951,19 +5952,49 @@ var OpenEndedActivityMaterialContent = ({
5951
5952
  };
5952
5953
  const RenderTextContent = (answerMap2) => {
5953
5954
  const answerMapAnswer = answerMap2["ANSWER"];
5954
- return /* @__PURE__ */ jsx38(
5955
- InputGroup_default,
5956
- {
5957
- type: "textarea",
5958
- value: answerMapAnswer,
5959
- useMinHeight: true,
5960
- onChange: (e) => {
5961
- if (checkCanAnswerQuestion()) {
5962
- onChange(answer, e.target.value);
5955
+ let documentType = "TEXT";
5956
+ if (answerMapAnswer.startsWith(`https://`) || answerMapAnswer.startsWith(`http://`)) {
5957
+ const extension = answerMapAnswer.split(".").pop();
5958
+ documentType = retrieveDocumentTypeFromExtension(extension);
5959
+ }
5960
+ if (documentType === "IMAGE") {
5961
+ return /* @__PURE__ */ jsx38("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx38(
5962
+ BaseImage_default,
5963
+ {
5964
+ src: answerMapAnswer,
5965
+ alt: "document",
5966
+ size: "custom",
5967
+ className: "w-[80%] rounded-catchup-xlarge"
5968
+ }
5969
+ ) });
5970
+ } else if (documentType === "PDF") {
5971
+ return /* @__PURE__ */ jsx38(BasePDF_default, { file: answerMapAnswer });
5972
+ } else if (documentType === "AUDIO") {
5973
+ return /* @__PURE__ */ jsx38("div", { className: "h-[56px]", children: /* @__PURE__ */ jsx38(
5974
+ "audio",
5975
+ {
5976
+ className: "h-full w-full rounded-catchup-xlarge",
5977
+ src: answerMapAnswer,
5978
+ controls: true,
5979
+ onClick: () => {
5963
5980
  }
5964
5981
  }
5965
- }
5966
- );
5982
+ ) });
5983
+ } else if (documentType === "TEXT") {
5984
+ return /* @__PURE__ */ jsx38(
5985
+ InputGroup_default,
5986
+ {
5987
+ type: "textarea",
5988
+ value: answerMapAnswer,
5989
+ useMinHeight: true,
5990
+ onChange: (e) => {
5991
+ if (checkCanAnswerQuestion()) {
5992
+ onChange(answer, e.target.value);
5993
+ }
5994
+ }
5995
+ }
5996
+ );
5997
+ }
5967
5998
  };
5968
5999
  const RenderImageContent = (answerMap2) => {
5969
6000
  const answerMapAnswer = answerMap2["ANSWER"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "catchup-library-web",
3
- "version": "1.15.4",
3
+ "version": "1.15.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -31,18 +31,52 @@ const OpenEndedActivityMaterialContent = ({
31
31
 
32
32
  const RenderTextContent = (answerMap: any) => {
33
33
  const answerMapAnswer = answerMap["ANSWER"];
34
- return (
35
- <InputGroup
36
- type="textarea"
37
- value={answerMapAnswer}
38
- useMinHeight={true}
39
- onChange={(e) => {
40
- if (checkCanAnswerQuestion()) {
41
- onChange(answer, e.target.value);
42
- }
43
- }}
44
- />
45
- );
34
+ let documentType: string = "TEXT";
35
+ if (
36
+ answerMapAnswer.startsWith(`https://`) ||
37
+ answerMapAnswer.startsWith(`http://`)
38
+ ) {
39
+ const extension = answerMapAnswer.split(".").pop();
40
+ documentType = retrieveDocumentTypeFromExtension(extension);
41
+ }
42
+ if (documentType === "IMAGE") {
43
+ return (
44
+ <div className="flex flex-col justify-center items-center my-5">
45
+ <BaseImage
46
+ src={answerMapAnswer}
47
+ alt="document"
48
+ size="custom"
49
+ className="w-[80%] rounded-catchup-xlarge"
50
+ />
51
+ </div>
52
+ );
53
+ } else if (documentType === "PDF") {
54
+ return <BasePDF file={answerMapAnswer} />;
55
+ } else if (documentType === "AUDIO") {
56
+ return (
57
+ <div className="h-[56px]">
58
+ <audio
59
+ className="h-full w-full rounded-catchup-xlarge"
60
+ src={answerMapAnswer}
61
+ controls
62
+ onClick={() => {}}
63
+ />
64
+ </div>
65
+ );
66
+ } else if (documentType === "TEXT") {
67
+ return (
68
+ <InputGroup
69
+ type="textarea"
70
+ value={answerMapAnswer}
71
+ useMinHeight={true}
72
+ onChange={(e) => {
73
+ if (checkCanAnswerQuestion()) {
74
+ onChange(answer, e.target.value);
75
+ }
76
+ }}
77
+ />
78
+ );
79
+ }
46
80
  };
47
81
 
48
82
  const RenderImageContent = (answerMap: any) => {
@@ -38,4 +38,5 @@ export const retrieveDocumentTypeFromExtension = (format: string) => {
38
38
  } else if (format === "mp3") {
39
39
  return "AUDIO";
40
40
  }
41
+ return "";
41
42
  };