@payloadcms/plugin-form-builder 4.0.0-internal.5b1e7cd → 4.0.0-internal.d28e9fb

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sendEmail.d.ts","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,KAAK,EAAyB,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAMvF,KAAK,iBAAiB,GAAG,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAA;AAEjE,eAAO,MAAM,SAAS,0BACG,iBAAiB,cAC5B,uBAAuB,kBAkGpC,CAAA"}
1
+ {"version":3,"file":"sendEmail.d.ts","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,KAAK,EAAyB,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAKvF,KAAK,iBAAiB,GAAG,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAA;AAEjE,eAAO,MAAM,SAAS,0BACG,iBAAiB,cAC5B,uBAAuB,kBA8FpC,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { serializeLexical } from '../../../utilities/lexical/serializeLexical.js';
2
2
  import { replaceDoubleCurlys } from '../../../utilities/replaceDoubleCurlys.js';
3
- import { serializeSlate } from '../../../utilities/slate/serializeSlate.js';
4
3
  export const sendEmail = async (afterChangeParameters, formConfig)=>{
5
4
  if (afterChangeParameters.operation === 'create') {
6
5
  const { data, doc: { id: formSubmissionID }, req: { locale, payload }, req } = afterChangeParameters;
@@ -30,8 +29,7 @@ export const sendEmail = async (afterChangeParameters, formConfig)=>{
30
29
  const bcc = emailBCC ? replaceDoubleCurlys(emailBCC, submissionData) : '';
31
30
  const from = replaceDoubleCurlys(emailFrom, submissionData);
32
31
  const replyTo = replaceDoubleCurlys(emailReplyTo || emailFrom, submissionData);
33
- const isLexical = message && !Array.isArray(message) && 'root' in message;
34
- const serializedMessage = isLexical ? await serializeLexical(message, submissionData) : serializeSlate(message, submissionData);
32
+ const serializedMessage = await serializeLexical(message, submissionData);
35
33
  return {
36
34
  bcc,
37
35
  cc,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"sourcesContent":["import type { CollectionAfterChangeHook } from 'payload'\n\nimport type { Email, FormattedEmail, FormBuilderPluginConfig } from '../../../types.js'\n\nimport { serializeLexical } from '../../../utilities/lexical/serializeLexical.js'\nimport { replaceDoubleCurlys } from '../../../utilities/replaceDoubleCurlys.js'\nimport { serializeSlate } from '../../../utilities/slate/serializeSlate.js'\n\ntype AfterChangeParams = Parameters<CollectionAfterChangeHook>[0]\n\nexport const sendEmail = async (\n afterChangeParameters: AfterChangeParams,\n formConfig: FormBuilderPluginConfig,\n) => {\n if (afterChangeParameters.operation === 'create') {\n const {\n data,\n doc: { id: formSubmissionID },\n req: { locale, payload },\n req,\n } = afterChangeParameters\n\n const { form: formID, submissionData: submissionDataFromProps } = data || {}\n const { beforeEmail, defaultToEmail, formOverrides } = formConfig || {}\n\n try {\n const form = await payload.findByID({\n id: formID,\n collection: formOverrides?.slug || 'forms',\n locale,\n req,\n })\n\n const emails = form.emails as Email[]\n\n const submissionData = [\n ...submissionDataFromProps,\n {\n field: 'formSubmissionID',\n value: String(formSubmissionID),\n },\n ]\n\n if (emails && emails.length) {\n const formattedEmails: FormattedEmail[] = await Promise.all(\n emails.map(async (email: Email): Promise<FormattedEmail> => {\n const {\n bcc: emailBCC,\n cc: emailCC,\n emailFrom,\n emailTo: emailToFromConfig,\n message,\n replyTo: emailReplyTo,\n subject,\n } = email\n\n const emailTo = emailToFromConfig || defaultToEmail || payload.email.defaultFromAddress\n\n const to = replaceDoubleCurlys(emailTo, submissionData)\n const cc = emailCC ? replaceDoubleCurlys(emailCC, submissionData) : ''\n const bcc = emailBCC ? replaceDoubleCurlys(emailBCC, submissionData) : ''\n const from = replaceDoubleCurlys(emailFrom, submissionData)\n const replyTo = replaceDoubleCurlys(emailReplyTo || emailFrom, submissionData)\n\n const isLexical = message && !Array.isArray(message) && 'root' in message\n\n const serializedMessage = isLexical\n ? await serializeLexical(message, submissionData)\n : serializeSlate(message, submissionData)\n\n return {\n bcc,\n cc,\n from,\n html: `<div>${serializedMessage}</div>`,\n replyTo,\n subject: replaceDoubleCurlys(subject, submissionData),\n to,\n }\n }),\n )\n\n let emailsToSend = formattedEmails\n\n if (typeof beforeEmail === 'function') {\n emailsToSend = await beforeEmail(formattedEmails, afterChangeParameters)\n }\n\n await Promise.all(\n emailsToSend.map(async (email) => {\n const { to } = email\n try {\n const emailPromise = await payload.sendEmail(email)\n return emailPromise\n } catch (err: unknown) {\n payload.logger.error({\n err,\n msg: `Error while sending email to address: ${to}. Email not sent.`,\n })\n }\n }),\n )\n } else {\n payload.logger.info({ msg: 'No emails to send.' })\n }\n } catch (err: unknown) {\n const msg = `Error while sending one or more emails in form submission id: ${formSubmissionID}.`\n payload.logger.error({ err, msg })\n }\n }\n}\n"],"names":["serializeLexical","replaceDoubleCurlys","serializeSlate","sendEmail","afterChangeParameters","formConfig","operation","data","doc","id","formSubmissionID","req","locale","payload","form","formID","submissionData","submissionDataFromProps","beforeEmail","defaultToEmail","formOverrides","findByID","collection","slug","emails","field","value","String","length","formattedEmails","Promise","all","map","email","bcc","emailBCC","cc","emailCC","emailFrom","emailTo","emailToFromConfig","message","replyTo","emailReplyTo","subject","defaultFromAddress","to","from","isLexical","Array","isArray","serializedMessage","html","emailsToSend","emailPromise","err","logger","error","msg","info"],"mappings":"AAIA,SAASA,gBAAgB,QAAQ,iDAAgD;AACjF,SAASC,mBAAmB,QAAQ,4CAA2C;AAC/E,SAASC,cAAc,QAAQ,6CAA4C;AAI3E,OAAO,MAAMC,YAAY,OACvBC,uBACAC;IAEA,IAAID,sBAAsBE,SAAS,KAAK,UAAU;QAChD,MAAM,EACJC,IAAI,EACJC,KAAK,EAAEC,IAAIC,gBAAgB,EAAE,EAC7BC,KAAK,EAAEC,MAAM,EAAEC,OAAO,EAAE,EACxBF,GAAG,EACJ,GAAGP;QAEJ,MAAM,EAAEU,MAAMC,MAAM,EAAEC,gBAAgBC,uBAAuB,EAAE,GAAGV,QAAQ,CAAC;QAC3E,MAAM,EAAEW,WAAW,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGf,cAAc,CAAC;QAEtE,IAAI;YACF,MAAMS,OAAO,MAAMD,QAAQQ,QAAQ,CAAC;gBAClCZ,IAAIM;gBACJO,YAAYF,eAAeG,QAAQ;gBACnCX;gBACAD;YACF;YAEA,MAAMa,SAASV,KAAKU,MAAM;YAE1B,MAAMR,iBAAiB;mBAClBC;gBACH;oBACEQ,OAAO;oBACPC,OAAOC,OAAOjB;gBAChB;aACD;YAED,IAAIc,UAAUA,OAAOI,MAAM,EAAE;gBAC3B,MAAMC,kBAAoC,MAAMC,QAAQC,GAAG,CACzDP,OAAOQ,GAAG,CAAC,OAAOC;oBAChB,MAAM,EACJC,KAAKC,QAAQ,EACbC,IAAIC,OAAO,EACXC,SAAS,EACTC,SAASC,iBAAiB,EAC1BC,OAAO,EACPC,SAASC,YAAY,EACrBC,OAAO,EACR,GAAGX;oBAEJ,MAAMM,UAAUC,qBAAqBrB,kBAAkBN,QAAQoB,KAAK,CAACY,kBAAkB;oBAEvF,MAAMC,KAAK7C,oBAAoBsC,SAASvB;oBACxC,MAAMoB,KAAKC,UAAUpC,oBAAoBoC,SAASrB,kBAAkB;oBACpE,MAAMkB,MAAMC,WAAWlC,oBAAoBkC,UAAUnB,kBAAkB;oBACvE,MAAM+B,OAAO9C,oBAAoBqC,WAAWtB;oBAC5C,MAAM0B,UAAUzC,oBAAoB0C,gBAAgBL,WAAWtB;oBAE/D,MAAMgC,YAAYP,WAAW,CAACQ,MAAMC,OAAO,CAACT,YAAY,UAAUA;oBAElE,MAAMU,oBAAoBH,YACtB,MAAMhD,iBAAiByC,SAASzB,kBAChCd,eAAeuC,SAASzB;oBAE5B,OAAO;wBACLkB;wBACAE;wBACAW;wBACAK,MAAM,CAAC,KAAK,EAAED,kBAAkB,MAAM,CAAC;wBACvCT;wBACAE,SAAS3C,oBAAoB2C,SAAS5B;wBACtC8B;oBACF;gBACF;gBAGF,IAAIO,eAAexB;gBAEnB,IAAI,OAAOX,gBAAgB,YAAY;oBACrCmC,eAAe,MAAMnC,YAAYW,iBAAiBzB;gBACpD;gBAEA,MAAM0B,QAAQC,GAAG,CACfsB,aAAarB,GAAG,CAAC,OAAOC;oBACtB,MAAM,EAAEa,EAAE,EAAE,GAAGb;oBACf,IAAI;wBACF,MAAMqB,eAAe,MAAMzC,QAAQV,SAAS,CAAC8B;wBAC7C,OAAOqB;oBACT,EAAE,OAAOC,KAAc;wBACrB1C,QAAQ2C,MAAM,CAACC,KAAK,CAAC;4BACnBF;4BACAG,KAAK,CAAC,sCAAsC,EAAEZ,GAAG,iBAAiB,CAAC;wBACrE;oBACF;gBACF;YAEJ,OAAO;gBACLjC,QAAQ2C,MAAM,CAACG,IAAI,CAAC;oBAAED,KAAK;gBAAqB;YAClD;QACF,EAAE,OAAOH,KAAc;YACrB,MAAMG,MAAM,CAAC,8DAA8D,EAAEhD,iBAAiB,CAAC,CAAC;YAChGG,QAAQ2C,MAAM,CAACC,KAAK,CAAC;gBAAEF;gBAAKG;YAAI;QAClC;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"sourcesContent":["import type { CollectionAfterChangeHook } from 'payload'\n\nimport type { Email, FormattedEmail, FormBuilderPluginConfig } from '../../../types.js'\n\nimport { serializeLexical } from '../../../utilities/lexical/serializeLexical.js'\nimport { replaceDoubleCurlys } from '../../../utilities/replaceDoubleCurlys.js'\n\ntype AfterChangeParams = Parameters<CollectionAfterChangeHook>[0]\n\nexport const sendEmail = async (\n afterChangeParameters: AfterChangeParams,\n formConfig: FormBuilderPluginConfig,\n) => {\n if (afterChangeParameters.operation === 'create') {\n const {\n data,\n doc: { id: formSubmissionID },\n req: { locale, payload },\n req,\n } = afterChangeParameters\n\n const { form: formID, submissionData: submissionDataFromProps } = data || {}\n const { beforeEmail, defaultToEmail, formOverrides } = formConfig || {}\n\n try {\n const form = await payload.findByID({\n id: formID,\n collection: formOverrides?.slug || 'forms',\n locale,\n req,\n })\n\n const emails = form.emails as Email[]\n\n const submissionData = [\n ...submissionDataFromProps,\n {\n field: 'formSubmissionID',\n value: String(formSubmissionID),\n },\n ]\n\n if (emails && emails.length) {\n const formattedEmails: FormattedEmail[] = await Promise.all(\n emails.map(async (email: Email): Promise<FormattedEmail> => {\n const {\n bcc: emailBCC,\n cc: emailCC,\n emailFrom,\n emailTo: emailToFromConfig,\n message,\n replyTo: emailReplyTo,\n subject,\n } = email\n\n const emailTo = emailToFromConfig || defaultToEmail || payload.email.defaultFromAddress\n\n const to = replaceDoubleCurlys(emailTo, submissionData)\n const cc = emailCC ? replaceDoubleCurlys(emailCC, submissionData) : ''\n const bcc = emailBCC ? replaceDoubleCurlys(emailBCC, submissionData) : ''\n const from = replaceDoubleCurlys(emailFrom, submissionData)\n const replyTo = replaceDoubleCurlys(emailReplyTo || emailFrom, submissionData)\n\n const serializedMessage = await serializeLexical(message, submissionData)\n\n return {\n bcc,\n cc,\n from,\n html: `<div>${serializedMessage}</div>`,\n replyTo,\n subject: replaceDoubleCurlys(subject, submissionData),\n to,\n }\n }),\n )\n\n let emailsToSend = formattedEmails\n\n if (typeof beforeEmail === 'function') {\n emailsToSend = await beforeEmail(formattedEmails, afterChangeParameters)\n }\n\n await Promise.all(\n emailsToSend.map(async (email) => {\n const { to } = email\n try {\n const emailPromise = await payload.sendEmail(email)\n return emailPromise\n } catch (err: unknown) {\n payload.logger.error({\n err,\n msg: `Error while sending email to address: ${to}. Email not sent.`,\n })\n }\n }),\n )\n } else {\n payload.logger.info({ msg: 'No emails to send.' })\n }\n } catch (err: unknown) {\n const msg = `Error while sending one or more emails in form submission id: ${formSubmissionID}.`\n payload.logger.error({ err, msg })\n }\n }\n}\n"],"names":["serializeLexical","replaceDoubleCurlys","sendEmail","afterChangeParameters","formConfig","operation","data","doc","id","formSubmissionID","req","locale","payload","form","formID","submissionData","submissionDataFromProps","beforeEmail","defaultToEmail","formOverrides","findByID","collection","slug","emails","field","value","String","length","formattedEmails","Promise","all","map","email","bcc","emailBCC","cc","emailCC","emailFrom","emailTo","emailToFromConfig","message","replyTo","emailReplyTo","subject","defaultFromAddress","to","from","serializedMessage","html","emailsToSend","emailPromise","err","logger","error","msg","info"],"mappings":"AAIA,SAASA,gBAAgB,QAAQ,iDAAgD;AACjF,SAASC,mBAAmB,QAAQ,4CAA2C;AAI/E,OAAO,MAAMC,YAAY,OACvBC,uBACAC;IAEA,IAAID,sBAAsBE,SAAS,KAAK,UAAU;QAChD,MAAM,EACJC,IAAI,EACJC,KAAK,EAAEC,IAAIC,gBAAgB,EAAE,EAC7BC,KAAK,EAAEC,MAAM,EAAEC,OAAO,EAAE,EACxBF,GAAG,EACJ,GAAGP;QAEJ,MAAM,EAAEU,MAAMC,MAAM,EAAEC,gBAAgBC,uBAAuB,EAAE,GAAGV,QAAQ,CAAC;QAC3E,MAAM,EAAEW,WAAW,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGf,cAAc,CAAC;QAEtE,IAAI;YACF,MAAMS,OAAO,MAAMD,QAAQQ,QAAQ,CAAC;gBAClCZ,IAAIM;gBACJO,YAAYF,eAAeG,QAAQ;gBACnCX;gBACAD;YACF;YAEA,MAAMa,SAASV,KAAKU,MAAM;YAE1B,MAAMR,iBAAiB;mBAClBC;gBACH;oBACEQ,OAAO;oBACPC,OAAOC,OAAOjB;gBAChB;aACD;YAED,IAAIc,UAAUA,OAAOI,MAAM,EAAE;gBAC3B,MAAMC,kBAAoC,MAAMC,QAAQC,GAAG,CACzDP,OAAOQ,GAAG,CAAC,OAAOC;oBAChB,MAAM,EACJC,KAAKC,QAAQ,EACbC,IAAIC,OAAO,EACXC,SAAS,EACTC,SAASC,iBAAiB,EAC1BC,OAAO,EACPC,SAASC,YAAY,EACrBC,OAAO,EACR,GAAGX;oBAEJ,MAAMM,UAAUC,qBAAqBrB,kBAAkBN,QAAQoB,KAAK,CAACY,kBAAkB;oBAEvF,MAAMC,KAAK5C,oBAAoBqC,SAASvB;oBACxC,MAAMoB,KAAKC,UAAUnC,oBAAoBmC,SAASrB,kBAAkB;oBACpE,MAAMkB,MAAMC,WAAWjC,oBAAoBiC,UAAUnB,kBAAkB;oBACvE,MAAM+B,OAAO7C,oBAAoBoC,WAAWtB;oBAC5C,MAAM0B,UAAUxC,oBAAoByC,gBAAgBL,WAAWtB;oBAE/D,MAAMgC,oBAAoB,MAAM/C,iBAAiBwC,SAASzB;oBAE1D,OAAO;wBACLkB;wBACAE;wBACAW;wBACAE,MAAM,CAAC,KAAK,EAAED,kBAAkB,MAAM,CAAC;wBACvCN;wBACAE,SAAS1C,oBAAoB0C,SAAS5B;wBACtC8B;oBACF;gBACF;gBAGF,IAAII,eAAerB;gBAEnB,IAAI,OAAOX,gBAAgB,YAAY;oBACrCgC,eAAe,MAAMhC,YAAYW,iBAAiBzB;gBACpD;gBAEA,MAAM0B,QAAQC,GAAG,CACfmB,aAAalB,GAAG,CAAC,OAAOC;oBACtB,MAAM,EAAEa,EAAE,EAAE,GAAGb;oBACf,IAAI;wBACF,MAAMkB,eAAe,MAAMtC,QAAQV,SAAS,CAAC8B;wBAC7C,OAAOkB;oBACT,EAAE,OAAOC,KAAc;wBACrBvC,QAAQwC,MAAM,CAACC,KAAK,CAAC;4BACnBF;4BACAG,KAAK,CAAC,sCAAsC,EAAET,GAAG,iBAAiB,CAAC;wBACrE;oBACF;gBACF;YAEJ,OAAO;gBACLjC,QAAQwC,MAAM,CAACG,IAAI,CAAC;oBAAED,KAAK;gBAAqB;YAClD;QACF,EAAE,OAAOH,KAAc;YACrB,MAAMG,MAAM,CAAC,8DAA8D,EAAE7C,iBAAiB,CAAC,CAAC;YAChGG,QAAQwC,MAAM,CAACC,KAAK,CAAC;gBAAEF;gBAAKG;YAAI;QAClC;IACF;AACF,EAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-form-builder",
3
- "version": "4.0.0-internal.5b1e7cd",
3
+ "version": "4.0.0-internal.d28e9fb",
4
4
  "description": "Form builder plugin for Payload CMS",
5
5
  "keywords": [
6
6
  "payload",
@@ -53,21 +53,21 @@
53
53
  ],
54
54
  "dependencies": {
55
55
  "escape-html": "^1.0.3",
56
- "@payloadcms/ui": "4.0.0-internal.5b1e7cd"
56
+ "@payloadcms/ui": "4.0.0-internal.d28e9fb"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/escape-html": "^1.0.4",
60
- "@types/react": "19.2.9",
60
+ "@types/react": "19.2.14",
61
61
  "@types/react-dom": "19.2.3",
62
62
  "copyfiles": "^2.4.1",
63
63
  "cross-env": "^7.0.3",
64
- "payload": "4.0.0-internal.5b1e7cd",
64
+ "payload": "4.0.0-internal.d28e9fb",
65
65
  "@payloadcms/eslint-config": "3.28.0"
66
66
  },
67
67
  "peerDependencies": {
68
68
  "react": "^19.0.1 || ^19.1.2 || ^19.2.1",
69
69
  "react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
70
- "payload": "4.0.0-internal.5b1e7cd"
70
+ "payload": "4.0.0-internal.d28e9fb"
71
71
  },
72
72
  "publishConfig": {
73
73
  "registry": "https://registry.npmjs.org/"
@@ -1,12 +0,0 @@
1
- interface Node {
2
- bold?: boolean;
3
- children?: Node[];
4
- code?: boolean;
5
- italic?: boolean;
6
- text?: string;
7
- type?: string;
8
- url?: string;
9
- }
10
- export declare const serializeSlate: (children?: Node[], submissionData?: any) => string | undefined;
11
- export {};
12
- //# sourceMappingURL=serializeSlate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializeSlate.d.ts","sourceRoot":"","sources":["../../../src/utilities/slate/serializeSlate.ts"],"names":[],"mappings":"AAKA,UAAU,IAAI;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAMD,eAAO,MAAM,cAAc,cAAe,IAAI,EAAE,mBAAmB,GAAG,KAAG,MAAM,GAAG,SAiIrE,CAAA"}
@@ -1,128 +0,0 @@
1
- import escapeHTML from 'escape-html';
2
- import { sanitizeUrl } from 'payload/shared';
3
- import { replaceDoubleCurlys } from '../replaceDoubleCurlys.js';
4
- const isTextNode = (node)=>{
5
- return 'text' in node;
6
- };
7
- export const serializeSlate = (children, submissionData)=>children?.map((node)=>{
8
- if (isTextNode(node)) {
9
- let text = escapeHTML(node.text);
10
- if (submissionData) {
11
- text = replaceDoubleCurlys(text, submissionData);
12
- }
13
- text = `<span>${text}</span>`;
14
- if (node.bold) {
15
- text = `
16
- <strong>
17
- ${text}
18
- </strong>
19
- `;
20
- }
21
- if (node.code) {
22
- text = `
23
- <code>
24
- ${text}
25
- </code>
26
- `;
27
- }
28
- if (node.italic) {
29
- text = `
30
- <em >
31
- ${text}
32
- </em>
33
- `;
34
- }
35
- return text;
36
- }
37
- if (!node) {
38
- return null;
39
- }
40
- switch(node.type){
41
- case 'h1':
42
- return `
43
- <h1>
44
- ${serializeSlate(node.children, submissionData)}
45
- </h1>
46
- `;
47
- case 'h2':
48
- return `
49
- <h2>
50
- ${serializeSlate(node.children, submissionData)}
51
- </h2>
52
- `;
53
- case 'h3':
54
- return `
55
- <h3>
56
- ${serializeSlate(node.children, submissionData)}
57
- </h3>
58
- `;
59
- case 'h4':
60
- return `
61
- <h4>
62
- ${serializeSlate(node.children, submissionData)}
63
- </h4>
64
- `;
65
- case 'h5':
66
- return `
67
- <h5>
68
- ${serializeSlate(node.children, submissionData)}
69
- </h5>
70
- `;
71
- case 'h6':
72
- return `
73
- <h6>
74
- ${serializeSlate(node.children, submissionData)}
75
- </h6>
76
- `;
77
- case 'indent':
78
- return `
79
- <p style="padding-left: 20px">
80
- ${serializeSlate(node.children, submissionData)}
81
- </p>
82
- `;
83
- case 'li':
84
- return `
85
- <li>
86
- ${serializeSlate(node.children, submissionData)}
87
- </li>
88
- `;
89
- case 'link':
90
- {
91
- let href = escapeHTML(sanitizeUrl(node.url ?? ''));
92
- if (submissionData) {
93
- href = replaceDoubleCurlys(href, submissionData);
94
- }
95
- return `
96
- <a href="${href}">
97
- ${serializeSlate(node.children, submissionData)}
98
- </a>
99
- `;
100
- }
101
- case 'ol':
102
- return `
103
- <ol>
104
- ${serializeSlate(node.children, submissionData)}
105
- </ol>
106
- `;
107
- case 'quote':
108
- return `
109
- <blockquote>
110
- ${serializeSlate(node.children, submissionData)}
111
- </blockquote>
112
- `;
113
- case 'ul':
114
- return `
115
- <ul>
116
- ${serializeSlate(node.children, submissionData)}
117
- </ul>
118
- `;
119
- default:
120
- return `
121
- <p>
122
- ${serializeSlate(node.children, submissionData)}
123
- </p>
124
- `;
125
- }
126
- }).filter(Boolean).join('');
127
-
128
- //# sourceMappingURL=serializeSlate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utilities/slate/serializeSlate.ts"],"sourcesContent":["import escapeHTML from 'escape-html'\nimport { sanitizeUrl } from 'payload/shared'\n\nimport { replaceDoubleCurlys } from '../replaceDoubleCurlys.js'\n\ninterface Node {\n bold?: boolean\n children?: Node[]\n code?: boolean\n italic?: boolean\n text?: string\n type?: string\n url?: string\n}\n\nconst isTextNode = (node: Node): node is { text: string } & Node => {\n return 'text' in node\n}\n\nexport const serializeSlate = (children?: Node[], submissionData?: any): string | undefined =>\n children\n ?.map((node: Node) => {\n if (isTextNode(node)) {\n let text = escapeHTML(node.text)\n if (submissionData) {\n text = replaceDoubleCurlys(text, submissionData)\n }\n text = `<span>${text}</span>`\n\n if (node.bold) {\n text = `\n <strong>\n ${text}\n </strong>\n `\n }\n\n if (node.code) {\n text = `\n <code>\n ${text}\n </code>\n `\n }\n\n if (node.italic) {\n text = `\n <em >\n ${text}\n </em>\n `\n }\n\n return text\n }\n\n if (!node) {\n return null\n }\n\n switch (node.type) {\n case 'h1':\n return `\n <h1>\n ${serializeSlate(node.children, submissionData)}\n </h1>\n `\n case 'h2':\n return `\n <h2>\n ${serializeSlate(node.children, submissionData)}\n </h2>\n `\n case 'h3':\n return `\n <h3>\n ${serializeSlate(node.children, submissionData)}\n </h3>\n `\n case 'h4':\n return `\n <h4>\n ${serializeSlate(node.children, submissionData)}\n </h4>\n `\n case 'h5':\n return `\n <h5>\n ${serializeSlate(node.children, submissionData)}\n </h5>\n `\n case 'h6':\n return `\n <h6>\n ${serializeSlate(node.children, submissionData)}\n </h6>\n `\n case 'indent':\n return `\n <p style=\"padding-left: 20px\">\n ${serializeSlate(node.children, submissionData)}\n </p>\n `\n case 'li':\n return `\n <li>\n ${serializeSlate(node.children, submissionData)}\n </li>\n `\n case 'link': {\n let href = escapeHTML(sanitizeUrl(node.url ?? ''))\n if (submissionData) {\n href = replaceDoubleCurlys(href, submissionData)\n }\n return `\n <a href=\"${href}\">\n ${serializeSlate(node.children, submissionData)}\n </a>\n `\n }\n case 'ol':\n return `\n <ol>\n ${serializeSlate(node.children, submissionData)}\n </ol>\n `\n case 'quote':\n return `\n <blockquote>\n ${serializeSlate(node.children, submissionData)}\n </blockquote>\n `\n case 'ul':\n return `\n <ul>\n ${serializeSlate(node.children, submissionData)}\n </ul>\n `\n\n default:\n return `\n <p>\n ${serializeSlate(node.children, submissionData)}\n </p>\n `\n }\n })\n .filter(Boolean)\n .join('')\n"],"names":["escapeHTML","sanitizeUrl","replaceDoubleCurlys","isTextNode","node","serializeSlate","children","submissionData","map","text","bold","code","italic","type","href","url","filter","Boolean","join"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AACpC,SAASC,WAAW,QAAQ,iBAAgB;AAE5C,SAASC,mBAAmB,QAAQ,4BAA2B;AAY/D,MAAMC,aAAa,CAACC;IAClB,OAAO,UAAUA;AACnB;AAEA,OAAO,MAAMC,iBAAiB,CAACC,UAAmBC,iBAChDD,UACIE,IAAI,CAACJ;QACL,IAAID,WAAWC,OAAO;YACpB,IAAIK,OAAOT,WAAWI,KAAKK,IAAI;YAC/B,IAAIF,gBAAgB;gBAClBE,OAAOP,oBAAoBO,MAAMF;YACnC;YACAE,OAAO,CAAC,MAAM,EAAEA,KAAK,OAAO,CAAC;YAE7B,IAAIL,KAAKM,IAAI,EAAE;gBACbD,OAAO,CAAC;;UAER,EAAEA,KAAK;;MAEX,CAAC;YACC;YAEA,IAAIL,KAAKO,IAAI,EAAE;gBACbF,OAAO,CAAC;;UAER,EAAEA,KAAK;;MAEX,CAAC;YACC;YAEA,IAAIL,KAAKQ,MAAM,EAAE;gBACfH,OAAO,CAAC;;UAER,EAAEA,KAAK;;MAEX,CAAC;YACC;YAEA,OAAOA;QACT;QAEA,IAAI,CAACL,MAAM;YACT,OAAO;QACT;QAEA,OAAQA,KAAKS,IAAI;YACf,KAAK;gBACH,OAAO,CAAC;;UAER,EAAER,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YACC,KAAK;gBACH,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YACC,KAAK;gBACH,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YACC,KAAK;gBACH,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YACC,KAAK;gBACH,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YACC,KAAK;gBACH,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YACC,KAAK;gBACH,OAAO,CAAC;;YAEN,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;QAEpD,CAAC;YACD,KAAK;gBACH,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YACC,KAAK;gBAAQ;oBACX,IAAIO,OAAOd,WAAWC,YAAYG,KAAKW,GAAG,IAAI;oBAC9C,IAAIR,gBAAgB;wBAClBO,OAAOZ,oBAAoBY,MAAMP;oBACnC;oBACA,OAAO,CAAC;mBACC,EAAEO,KAAK;UAChB,EAAET,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;gBACC;YACA,KAAK;gBACH,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YACC,KAAK;gBACH,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YACC,KAAK;gBACH,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YAEC;gBACE,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;QACD;IACF,GACCS,OAAOC,SACPC,KAAK,IAAG"}