placementt-core 1.400.1268 → 1.400.1270

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/lib/letters.d.ts CHANGED
@@ -43,8 +43,9 @@ export type LetterRun = {
43
43
  href?: string;
44
44
  };
45
45
  export type LetterBlock = {
46
- type: "heading-one" | "heading-two" | "paragraph";
46
+ type: "heading-one" | "heading-two" | "paragraph" | "list-item";
47
47
  runs: LetterRun[];
48
+ marker?: string;
48
49
  };
49
50
  export declare function wexLetterBlocks(body: Descendant[], values: {
50
51
  [key: string]: string | undefined;
package/lib/letters.js CHANGED
@@ -104,9 +104,17 @@ function wexLetterBlocks(body, values) {
104
104
  return [{ text: fillLetterParams(node.text, values), bold: node.bold, italic: node.italic, underline: node.underline, href }];
105
105
  return (node.children || []).flatMap((child) => runsOf(child, node.type === "link" ? node.href : href));
106
106
  };
107
- return body.map((node) => ({
108
- type: node.type === "heading-one" || node.type === "heading-two" ? node.type : "paragraph",
109
- runs: runsOf(node).filter((r) => r.text),
110
- }));
107
+ return body.flatMap((node) => {
108
+ if (node.type === "bulleted-list" || node.type === "numbered-list") {
109
+ return (node.children || [])
110
+ .map((item) => runsOf(item).filter((r) => r.text))
111
+ .filter((runs) => runs.length)
112
+ .map((runs, i) => ({ type: "list-item", marker: node.type === "numbered-list" ? `${i + 1}.` : "•", runs }));
113
+ }
114
+ return [{
115
+ type: node.type === "heading-one" || node.type === "heading-two" ? node.type : "paragraph",
116
+ runs: runsOf(node).filter((r) => r.text),
117
+ }];
118
+ });
111
119
  }
112
120
  //# sourceMappingURL=letters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"letters.js","sourceRoot":"","sources":["../src/letters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"letters.js","sourceRoot":"","sources":["../src/letters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ jest.mock("firebase/firestore", () => ({ where: jest.fn() }));
4
+ jest.mock("./firebase/firebaseQuery", () => ({ __esModule: true, default: class {
5
+ } }));
6
+ jest.mock("./firebase/util", () => ({}));
7
+ jest.mock("./firebase/firebaseConfig", () => ({}));
8
+ const letters_1 = require("./letters");
9
+ const util_1 = require("./util");
10
+ const list = (type) => [{
11
+ type,
12
+ children: [
13
+ { type: "list-item", children: [{ text: "First " }, { text: "point", bold: true }] },
14
+ { type: "list-item", children: [{ text: "" }] },
15
+ { type: "list-item", children: [{ text: "Hello {{name}}" }] },
16
+ ],
17
+ }];
18
+ const params = { description: "", params: ["name"], type: "campaign", product: "workExperience" };
19
+ const email = (body) => (0, util_1.buildEmailHTML)({ preheader: "Pre", title: "Title", body, params, data: { name: "Sam" } });
20
+ describe("lists in emails", () => {
21
+ test("bullets become a ul", async () => {
22
+ const html = await email(list("bulleted-list"));
23
+ expect(html).toContain("<ul ");
24
+ expect(html).toContain("First <strong>point</strong></li>");
25
+ expect(html).toContain("Hello Sam</li>");
26
+ });
27
+ test("numbers become an ol", async () => {
28
+ const html = await email(list("numbered-list"));
29
+ expect(html).toContain("<ol ");
30
+ expect(html).toContain("First <strong>point</strong></li>");
31
+ });
32
+ test("a link inside an item survives", async () => {
33
+ const html = await email([{ type: "bulleted-list", children: [{ type: "list-item", children: [
34
+ { text: "" }, { type: "link", href: "https://example.com", children: [{ text: "Site" }] }, { text: "" },
35
+ ] }] }]);
36
+ expect(html).toMatch(/<li[^>]*><a href="https:\/\/example.com"[^>]*>Site<\/a><\/li>/);
37
+ });
38
+ test("a paragraph still renders as before", async () => {
39
+ const html = await email([{ type: "paragraph", children: [{ text: "Plain", italic: true }] }]);
40
+ expect(html).toContain("<i>Plain</i>");
41
+ });
42
+ });
43
+ describe("lists in letters", () => {
44
+ test("each bullet is its own block, skipping empty ones", () => {
45
+ const blocks = (0, letters_1.wexLetterBlocks)(list("bulleted-list"), { name: "Sam" });
46
+ expect(blocks.map((b) => b.marker)).toEqual(["•", "•"]);
47
+ expect(blocks.every((b) => b.type === "list-item")).toBe(true);
48
+ expect(blocks[1].runs[0].text).toBe("Hello Sam");
49
+ });
50
+ test("numbers count the items that are left", () => {
51
+ expect((0, letters_1.wexLetterBlocks)(list("numbered-list"), { name: "Sam" }).map((b) => b.marker)).toEqual(["1.", "2."]);
52
+ });
53
+ test("other blocks are unchanged", () => {
54
+ const body = [{ type: "heading-two", children: [{ text: "Hi" }] }];
55
+ expect((0, letters_1.wexLetterBlocks)(body, {})).toEqual([{ type: "heading-two", runs: [expect.objectContaining({ text: "Hi" })] }]);
56
+ });
57
+ });
58
+ //# sourceMappingURL=slateLists.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slateLists.test.js","sourceRoot":"","sources":["../src/slateLists.test.ts"],"names":[],"mappings":"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"}
@@ -3358,7 +3358,10 @@ export type Alumni = {
3358
3358
  export type Parent = {
3359
3359
  forename: string;
3360
3360
  surname: string;
3361
+ /** Contact email. The parent can change it on sign-up, e.g. to a work address. */
3361
3362
  email: string;
3363
+ /** The email the school holds (student parentEmail or Wonde), kept when the parent changes email so later invite runs still match this record. */
3364
+ invitedEmail?: string;
3362
3365
  activities: string[];
3363
3366
  oId: string;
3364
3367
  uids: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;AAq1IA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AA1uED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AAspEzC;yEACyE;AAC5D,QAAA,0BAA0B,GAA2C;IAC9E,gBAAgB,EAAE,2BAA2B;IAC7C,mBAAmB,EAAE,sBAAsB;IAC3C,cAAc,EAAE,iBAAiB;IACjC,kBAAkB,EAAE,qBAAqB;IACzC,UAAU,EAAE,oCAAoC;IAChD,aAAa,EAAE,yBAAyB;IACxC,aAAa,EAAE,wBAAwB;IACvC,KAAK,EAAE,OAAO;CACjB,CAAC;AAEW,QAAA,0BAA0B,GAA+C;IAClF,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,OAAO;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAgB,qBAAqB,CAAC,SAAsC;IACxE,QAAQ,SAAS,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC;QAC7B,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC;IAC3B,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAChC,IAAwC,EACxC,MAA6C;IAE7C,OAAO,IAAI,EAAE,WAAW,IAAI,MAAM,EAAE,YAAY,IAAI,KAAK,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAC,KAA6D;IACzF,OAAO,GAAG,KAAK,CAAC,cAAc,IAAI,EAAE,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"typeDefinitions.js","sourceRoot":"","sources":["../src/typeDefinitions.ts"],"names":[],"mappings":";;;AAw1IA,sDASC;AAeD,oDAKC;AAaD,0CAEC;AA7uED;;;;;kFAKkF;AACrE,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,iBAAiB,GAAG,OAAO,CAAC;AAypEzC;yEACyE;AAC5D,QAAA,0BAA0B,GAA2C;IAC9E,gBAAgB,EAAE,2BAA2B;IAC7C,mBAAmB,EAAE,sBAAsB;IAC3C,cAAc,EAAE,iBAAiB;IACjC,kBAAkB,EAAE,qBAAqB;IACzC,UAAU,EAAE,oCAAoC;IAChD,aAAa,EAAE,yBAAyB;IACxC,aAAa,EAAE,wBAAwB;IACvC,KAAK,EAAE,OAAO;CACjB,CAAC;AAEW,QAAA,0BAA0B,GAA+C;IAClF,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,OAAO;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAgB,qBAAqB,CAAC,SAAsC;IACxE,QAAQ,SAAS,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC;QAC7B,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC;IAC3B,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,oBAAoB,CAChC,IAAwC,EACxC,MAA6C;IAE7C,OAAO,IAAI,EAAE,WAAW,IAAI,MAAM,EAAE,YAAY,IAAI,KAAK,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAC,KAA6D;IACzF,OAAO,GAAG,KAAK,CAAC,cAAc,IAAI,EAAE,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/E,CAAC"}
package/lib/util.js CHANGED
@@ -242,6 +242,31 @@ async function buildEmailHTML({ preheader, title, salutation, body, primaryColor
242
242
  const PARAGRAPH_GAP = "<div style=\"font-family: inherit; text-align: inherit\"><br></div>";
243
243
  const BUTTON_TOKEN = "\\{\\{(?:button|secondaryButton|optionalButton-\\d+)\\}\\}";
244
244
  const STACKED_BUTTON_GAP = new RegExp(`(${BUTTON_TOKEN}</div>)${PARAGRAPH_GAP}(?=<div[^>]*>${BUTTON_TOKEN}</div>)`, "g");
245
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
246
+ const serialiseInline = (children) => {
247
+ const text = [];
248
+ for (let i = 0; i < children.length; i++) {
249
+ const item = children[i];
250
+ if (item.type === "link") {
251
+ text.push(makeLinkHTML(item));
252
+ continue;
253
+ }
254
+ // The empty text Slate keeps around a link isn't a blank line.
255
+ let subtext = item.text || (children.length === 1 ? "<br/>" : "");
256
+ subtext = subtext.replace("​", "");
257
+ if (item.underline) {
258
+ subtext = `<u>${subtext}</u>`;
259
+ }
260
+ if (item.bold) {
261
+ subtext = `<strong>${subtext}</strong>`;
262
+ }
263
+ if (item.italic) {
264
+ subtext = `<i>${subtext}</i>`;
265
+ }
266
+ text.push(subtext);
267
+ }
268
+ return text.join("");
269
+ };
245
270
  const serialiseSlate = (nodes) => {
246
271
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
247
272
  return nodes.map((n) => {
@@ -249,28 +274,13 @@ async function buildEmailHTML({ preheader, title, salutation, body, primaryColor
249
274
  return `<div style="font-family: inherit; text-align: inherit">${makeLinkHTML(n)}</div>`;
250
275
  }
251
276
  if (n.type === "paragraph") {
252
- const text = [];
253
- for (let i = 0; i < n.children.length; i++) {
254
- const item = n.children[i];
255
- if (item.type === "link") {
256
- text.push(makeLinkHTML(item));
257
- continue;
258
- }
259
- // The empty text Slate keeps around a link isn't a blank line.
260
- let subtext = item.text || (n.children.length === 1 ? "<br/>" : "");
261
- subtext = subtext.replace("​", "");
262
- if (item.underline) {
263
- subtext = `<u>${subtext}</u>`;
264
- }
265
- if (item.bold) {
266
- subtext = `<strong>${subtext}</strong>`;
267
- }
268
- if (item.italic) {
269
- subtext = `<i>${subtext}</i>`;
270
- }
271
- text.push(subtext);
272
- }
273
- return `<div style="font-family: inherit; text-align: inherit">${text.join("")}</div>`;
277
+ return `<div style="font-family: inherit; text-align: inherit">${serialiseInline(n.children)}</div>`;
278
+ }
279
+ if (n.type === "bulleted-list" || n.type === "numbered-list") {
280
+ const tag = n.type === "bulleted-list" ? "ul" : "ol";
281
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
282
+ const items = n.children.map((item) => `<li style="margin:0 0 4px 0;">${serialiseInline(item.children)}</li>`).join("");
283
+ return `<${tag} style="margin:0;padding-left:24px;font-family:inherit;font-size:14px;text-align:inherit;">${items}</${tag}>`;
274
284
  }
275
285
  if (n.type === "heading-one") {
276
286
  const text = [];
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "placementt-core",
4
4
  "author": "Placementt",
5
- "version": "1.400.1268",
5
+ "version": "1.400.1270",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
package/src/letters.ts CHANGED
@@ -114,7 +114,7 @@ export function wexLetterValues({institute, cohort, staff}:{institute?: Partial<
114
114
  }
115
115
 
116
116
  export type LetterRun = {text: string, bold?: boolean, italic?: boolean, underline?: boolean, href?: string};
117
- export type LetterBlock = {type: "heading-one"|"heading-two"|"paragraph", runs: LetterRun[]};
117
+ export type LetterBlock = {type: "heading-one"|"heading-two"|"paragraph"|"list-item", runs: LetterRun[], marker?: string};
118
118
 
119
119
  // Flattens Slate content into blocks of styled text runs with params filled in. The web preview and the PDF both draw from this.
120
120
  export function wexLetterBlocks(body: Descendant[], values: {[key: string]: string|undefined}): LetterBlock[] {
@@ -123,8 +123,16 @@ export function wexLetterBlocks(body: Descendant[], values: {[key: string]: stri
123
123
  if (typeof node.text === "string") return [{text: fillLetterParams(node.text, values), bold: node.bold, italic: node.italic, underline: node.underline, href}];
124
124
  return (node.children || []).flatMap((child) => runsOf(child, node.type === "link" ? node.href : href));
125
125
  };
126
- return (body as unknown as Node[]).map((node) => ({
127
- type: node.type === "heading-one" || node.type === "heading-two" ? node.type : "paragraph",
128
- runs: runsOf(node).filter((r) => r.text),
129
- }));
126
+ return (body as unknown as Node[]).flatMap((node): LetterBlock[] => {
127
+ if (node.type === "bulleted-list" || node.type === "numbered-list") {
128
+ return (node.children || [])
129
+ .map((item) => runsOf(item).filter((r) => r.text))
130
+ .filter((runs) => runs.length)
131
+ .map((runs, i) => ({type: "list-item", marker: node.type === "numbered-list" ? `${i + 1}.` : "•", runs}));
132
+ }
133
+ return [{
134
+ type: node.type === "heading-one" || node.type === "heading-two" ? node.type : "paragraph",
135
+ runs: runsOf(node).filter((r) => r.text),
136
+ }];
137
+ });
130
138
  }
@@ -0,0 +1,66 @@
1
+ jest.mock("firebase/firestore", () => ({where: jest.fn()}));
2
+ jest.mock("./firebase/firebaseQuery", () => ({__esModule: true, default: class {}}));
3
+ jest.mock("./firebase/util", () => ({}));
4
+ jest.mock("./firebase/firebaseConfig", () => ({}));
5
+
6
+ import {Descendant} from "slate";
7
+ import {wexLetterBlocks} from "./letters";
8
+ import {EmailTemplateConfig} from "./typeDefinitions";
9
+ import {buildEmailHTML} from "./util";
10
+
11
+ const list = (type: string) => [{
12
+ type,
13
+ children: [
14
+ {type: "list-item", children: [{text: "First "}, {text: "point", bold: true}]},
15
+ {type: "list-item", children: [{text: ""}]},
16
+ {type: "list-item", children: [{text: "Hello {{name}}"}]},
17
+ ],
18
+ }] as unknown as Descendant[];
19
+
20
+ const params = {description: "", params: ["name"], type: "campaign", product: "workExperience"} as unknown as EmailTemplateConfig;
21
+ const email = (body: Descendant[]) => buildEmailHTML({preheader: "Pre", title: "Title", body, params, data: {name: "Sam"}});
22
+
23
+ describe("lists in emails", () => {
24
+ test("bullets become a ul", async () => {
25
+ const html = await email(list("bulleted-list"));
26
+ expect(html).toContain("<ul ");
27
+ expect(html).toContain("First <strong>point</strong></li>");
28
+ expect(html).toContain("Hello Sam</li>");
29
+ });
30
+
31
+ test("numbers become an ol", async () => {
32
+ const html = await email(list("numbered-list"));
33
+ expect(html).toContain("<ol ");
34
+ expect(html).toContain("First <strong>point</strong></li>");
35
+ });
36
+
37
+ test("a link inside an item survives", async () => {
38
+ const html = await email([{type: "bulleted-list", children: [{type: "list-item", children: [
39
+ {text: ""}, {type: "link", href: "https://example.com", children: [{text: "Site"}]}, {text: ""},
40
+ ]}]}] as unknown as Descendant[]);
41
+ expect(html).toMatch(/<li[^>]*><a href="https:\/\/example.com"[^>]*>Site<\/a><\/li>/);
42
+ });
43
+
44
+ test("a paragraph still renders as before", async () => {
45
+ const html = await email([{type: "paragraph", children: [{text: "Plain", italic: true}]}] as unknown as Descendant[]);
46
+ expect(html).toContain("<i>Plain</i>");
47
+ });
48
+ });
49
+
50
+ describe("lists in letters", () => {
51
+ test("each bullet is its own block, skipping empty ones", () => {
52
+ const blocks = wexLetterBlocks(list("bulleted-list"), {name: "Sam"});
53
+ expect(blocks.map((b) => b.marker)).toEqual(["•", "•"]);
54
+ expect(blocks.every((b) => b.type === "list-item")).toBe(true);
55
+ expect(blocks[1].runs[0].text).toBe("Hello Sam");
56
+ });
57
+
58
+ test("numbers count the items that are left", () => {
59
+ expect(wexLetterBlocks(list("numbered-list"), {name: "Sam"}).map((b) => b.marker)).toEqual(["1.", "2."]);
60
+ });
61
+
62
+ test("other blocks are unchanged", () => {
63
+ const body = [{type: "heading-two", children: [{text: "Hi"}]}] as unknown as Descendant[];
64
+ expect(wexLetterBlocks(body, {})).toEqual([{type: "heading-two", runs: [expect.objectContaining({text: "Hi"})]}]);
65
+ });
66
+ });
@@ -3346,7 +3346,10 @@ export type Alumni = {
3346
3346
  export type Parent = {
3347
3347
  forename: string,
3348
3348
  surname: string,
3349
+ /** Contact email. The parent can change it on sign-up, e.g. to a work address. */
3349
3350
  email: string,
3351
+ /** The email the school holds (student parentEmail or Wonde), kept when the parent changes email so later invite runs still match this record. */
3352
+ invitedEmail?: string,
3350
3353
  activities: string[],
3351
3354
  oId: string,
3352
3355
  uids: string[],
package/src/util.ts CHANGED
@@ -266,6 +266,33 @@ export async function buildEmailHTML({preheader, title, salutation, body, primar
266
266
  const BUTTON_TOKEN = "\\{\\{(?:button|secondaryButton|optionalButton-\\d+)\\}\\}";
267
267
  const STACKED_BUTTON_GAP = new RegExp(`(${BUTTON_TOKEN}</div>)${PARAGRAPH_GAP}(?=<div[^>]*>${BUTTON_TOKEN}</div>)`, "g");
268
268
 
269
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
270
+ const serialiseInline = (children: any[]) => {
271
+ const text:string[]=[];
272
+ for (let i = 0; i < children.length; i++) {
273
+ const item = children[i];
274
+ if (item.type === "link") {
275
+ text.push(makeLinkHTML(item));
276
+ continue;
277
+ }
278
+ // The empty text Slate keeps around a link isn't a blank line.
279
+ let subtext = item.text as string || (children.length === 1 ? "<br/>" : "");
280
+
281
+ subtext = subtext.replace("​", "");
282
+ if (item.underline) {
283
+ subtext = `<u>${subtext}</u>`;
284
+ }
285
+ if (item.bold) {
286
+ subtext = `<strong>${subtext}</strong>`;
287
+ }
288
+ if (item.italic) {
289
+ subtext = `<i>${subtext}</i>`;
290
+ }
291
+ text.push(subtext);
292
+ }
293
+ return text.join("");
294
+ };
295
+
269
296
  const serialiseSlate = (nodes: Descendant[]) => {
270
297
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
271
298
  return nodes.map((n:any) => {
@@ -273,29 +300,13 @@ export async function buildEmailHTML({preheader, title, salutation, body, primar
273
300
  return `<div style="font-family: inherit; text-align: inherit">${makeLinkHTML(n)}</div>`;
274
301
  }
275
302
  if (n.type === "paragraph") {
276
- const text:string[]=[];
277
- for (let i = 0; i < n.children.length; i++) {
278
- const item = n.children[i];
279
- if (item.type === "link") {
280
- text.push(makeLinkHTML(item));
281
- continue;
282
- }
283
- // The empty text Slate keeps around a link isn't a blank line.
284
- let subtext = item.text as string || (n.children.length === 1 ? "<br/>" : "");
285
-
286
- subtext = subtext.replace("​", "");
287
- if (item.underline) {
288
- subtext = `<u>${subtext}</u>`;
289
- }
290
- if (item.bold) {
291
- subtext = `<strong>${subtext}</strong>`;
292
- }
293
- if (item.italic) {
294
- subtext = `<i>${subtext}</i>`;
295
- }
296
- text.push(subtext);
297
- }
298
- return `<div style="font-family: inherit; text-align: inherit">${text.join("")}</div>`;
303
+ return `<div style="font-family: inherit; text-align: inherit">${serialiseInline(n.children)}</div>`;
304
+ }
305
+ if (n.type === "bulleted-list" || n.type === "numbered-list") {
306
+ const tag = n.type === "bulleted-list" ? "ul" : "ol";
307
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
308
+ const items = n.children.map((item: any) => `<li style="margin:0 0 4px 0;">${serialiseInline(item.children)}</li>`).join("");
309
+ return `<${tag} style="margin:0;padding-left:24px;font-family:inherit;font-size:14px;text-align:inherit;">${items}</${tag}>`;
299
310
  }
300
311
  if (n.type === "heading-one") {
301
312
  const text:string[]=[];