@speakableio/core 0.1.99 → 0.1.100

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.
@@ -151,6 +151,7 @@ interface PageActivity {
151
151
  correct_answer?: string | null;
152
152
  limit_attempts?: boolean;
153
153
  max_attempts?: number;
154
+ rich_text?: string;
154
155
  }
155
156
  declare enum ActivityPageType {
156
157
  READ_REPEAT = "READ_REPEAT",
@@ -271,6 +272,7 @@ declare function useCreateCards(): {
271
272
  correct_answer?: string | null;
272
273
  limit_attempts?: boolean;
273
274
  max_attempts?: number;
275
+ rich_text?: string;
274
276
  }[], Error, {
275
277
  cards: PageActivity[];
276
278
  }, unknown>;
@@ -362,6 +364,7 @@ declare const createCardRepo: () => {
362
364
  correct_answer?: string | null;
363
365
  limit_attempts?: boolean;
364
366
  max_attempts?: number;
367
+ rich_text?: string;
365
368
  }[]>;
366
369
  getCard: (params: {
367
370
  cardId: string;
@@ -387,7 +390,9 @@ declare const checkTypePageActivity: (cardType: ActivityPageType | undefined) =>
387
390
 
388
391
  declare function getPagePrompt(card: PageActivityWithId | undefined): {
389
392
  has: boolean;
390
- text: string | undefined;
393
+ text: string;
394
+ rich_text: string;
395
+ isTextEqualToRichText: boolean;
391
396
  };
392
397
 
393
398
  declare const getTotalCompletedCards: (pageScores: Score["cards"] | undefined) => number;
@@ -1142,6 +1147,7 @@ declare function createFsClientBase({ db, helpers, httpsCallable, logEvent, }: {
1142
1147
  correct_answer?: string | null;
1143
1148
  limit_attempts?: boolean;
1144
1149
  max_attempts?: number;
1150
+ rich_text?: string;
1145
1151
  }[]>;
1146
1152
  getCard: (params: {
1147
1153
  cardId: string;
@@ -2817,6 +2823,7 @@ declare const createFsClientWeb: ({ db, httpsCallable, logEvent }: FsClientParam
2817
2823
  correct_answer?: string | null;
2818
2824
  limit_attempts?: boolean;
2819
2825
  max_attempts?: number;
2826
+ rich_text?: string;
2820
2827
  }[]>;
2821
2828
  getCard: (params: {
2822
2829
  cardId: string;
package/dist/index.web.js CHANGED
@@ -1885,37 +1885,41 @@ var checkTypePageActivity = (cardType) => {
1885
1885
  };
1886
1886
 
1887
1887
  // src/domains/cards/utils/get-page-prompt.ts
1888
+ function extractTextFromRichText(richText) {
1889
+ if (!richText) return "";
1890
+ return richText.replace(/<[^>]*>/g, "").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").trim();
1891
+ }
1888
1892
  function getPagePrompt(card) {
1889
- if (!card) return { has: false, text: "" };
1893
+ if (!card) return { has: false, text: "", rich_text: "", isTextEqualToRichText: false };
1890
1894
  const { isMC, isRepeat, isRespond, isShortAnswer } = checkTypePageActivity(card == null ? void 0 : card.type);
1891
1895
  const hidePrompt = (card == null ? void 0 : card.hidePrompt) === true;
1892
- if (isRepeat) {
1896
+ const createReturnObject = (text, richText) => {
1897
+ const plainText = text || "";
1898
+ const richTextPlain = extractTextFromRichText(richText);
1893
1899
  return {
1894
1900
  has: true,
1895
- text: card == null ? void 0 : card.target_text
1901
+ text: plainText,
1902
+ rich_text: richText || "",
1903
+ isTextEqualToRichText: plainText.trim() === richTextPlain.trim()
1896
1904
  };
1905
+ };
1906
+ if (isRepeat) {
1907
+ return createReturnObject(card == null ? void 0 : card.target_text, card == null ? void 0 : card.rich_text);
1897
1908
  }
1898
1909
  if (isRespond && !hidePrompt) {
1899
- return {
1900
- has: true,
1901
- text: card == null ? void 0 : card.prompt
1902
- };
1910
+ return createReturnObject(card == null ? void 0 : card.prompt, card == null ? void 0 : card.rich_text);
1903
1911
  }
1904
1912
  if (isMC) {
1905
- return {
1906
- has: true,
1907
- text: card == null ? void 0 : card.question
1908
- };
1913
+ return createReturnObject(card == null ? void 0 : card.question, card == null ? void 0 : card.rich_text);
1909
1914
  }
1910
1915
  if (isShortAnswer && !hidePrompt) {
1911
- return {
1912
- has: true,
1913
- text: card == null ? void 0 : card.prompt
1914
- };
1916
+ return createReturnObject(card == null ? void 0 : card.prompt, card == null ? void 0 : card.rich_text);
1915
1917
  }
1916
1918
  return {
1917
1919
  has: false,
1918
- text: ""
1920
+ text: "",
1921
+ rich_text: "",
1922
+ isTextEqualToRichText: false
1919
1923
  };
1920
1924
  }
1921
1925