@payloadcms/plugin-form-builder 3.0.0-canary.ee6d727 → 3.0.0-canary.ef0a8d0

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.
Files changed (49) hide show
  1. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts.map +1 -1
  2. package/dist/collections/FormSubmissions/hooks/createCharge.js.map +1 -1
  3. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts.map +1 -1
  4. package/dist/collections/FormSubmissions/hooks/sendEmail.js.map +1 -1
  5. package/dist/collections/FormSubmissions/index.d.ts +1 -1
  6. package/dist/collections/FormSubmissions/index.d.ts.map +1 -1
  7. package/dist/collections/FormSubmissions/index.js.map +1 -1
  8. package/dist/collections/Forms/DynamicFieldSelector.d.ts +1 -1
  9. package/dist/collections/Forms/DynamicFieldSelector.d.ts.map +1 -1
  10. package/dist/collections/Forms/DynamicFieldSelector.js +2 -3
  11. package/dist/collections/Forms/DynamicFieldSelector.js.map +1 -1
  12. package/dist/collections/Forms/DynamicPriceSelector.d.ts +1 -1
  13. package/dist/collections/Forms/DynamicPriceSelector.d.ts.map +1 -1
  14. package/dist/collections/Forms/DynamicPriceSelector.js +2 -4
  15. package/dist/collections/Forms/DynamicPriceSelector.js.map +1 -1
  16. package/dist/collections/Forms/fields.d.ts +2 -2
  17. package/dist/collections/Forms/fields.d.ts.map +1 -1
  18. package/dist/collections/Forms/fields.js +0 -1
  19. package/dist/collections/Forms/fields.js.map +1 -1
  20. package/dist/collections/Forms/index.d.ts +1 -1
  21. package/dist/collections/Forms/index.d.ts.map +1 -1
  22. package/dist/collections/Forms/index.js.map +1 -1
  23. package/dist/exports/types.js.map +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/types.d.ts +9 -9
  28. package/dist/types.d.ts.map +1 -1
  29. package/dist/types.js.map +1 -1
  30. package/dist/utilities/getPaymentTotal.d.ts +2 -2
  31. package/dist/utilities/getPaymentTotal.d.ts.map +1 -1
  32. package/dist/utilities/getPaymentTotal.js.map +1 -1
  33. package/dist/utilities/lexical/converters/heading.js.map +1 -1
  34. package/dist/utilities/lexical/converters/linebreak.js.map +1 -1
  35. package/dist/utilities/lexical/converters/link.js.map +1 -1
  36. package/dist/utilities/lexical/converters/list.js.map +1 -1
  37. package/dist/utilities/lexical/converters/paragraph.js.map +1 -1
  38. package/dist/utilities/lexical/converters/quote.js.map +1 -1
  39. package/dist/utilities/lexical/converters/text.js.map +1 -1
  40. package/dist/utilities/lexical/defaultConverters.js.map +1 -1
  41. package/dist/utilities/lexical/nodeFormat.js.map +1 -1
  42. package/dist/utilities/lexical/serializeLexical.js.map +1 -1
  43. package/dist/utilities/lexical/types.d.ts +2 -2
  44. package/dist/utilities/lexical/types.d.ts.map +1 -1
  45. package/dist/utilities/lexical/types.js.map +1 -1
  46. package/dist/utilities/replaceDoubleCurlys.d.ts.map +1 -1
  47. package/dist/utilities/replaceDoubleCurlys.js.map +1 -1
  48. package/dist/utilities/slate/serializeSlate.js.map +1 -1
  49. package/package.json +19 -21
@@ -1 +1 @@
1
- {"version":3,"file":"createCharge.d.ts","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/createCharge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,eAAO,MAAM,YAAY,qBACL,GAAG,cACT,uBAAuB,KAClC,QAAQ,GAAG,CAeb,CAAA"}
1
+ {"version":3,"file":"createCharge.d.ts","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/createCharge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,eAAO,MAAM,YAAY,qBACL,GAAG,cACT,uBAAuB,KAClC,OAAO,CAAC,GAAG,CAeb,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/collections/FormSubmissions/hooks/createCharge.ts"],"sourcesContent":["import type { FormBuilderPluginConfig } from '../../../types.js'\n\nexport const createCharge = async (\n beforeChangeData: any,\n formConfig: FormBuilderPluginConfig,\n): Promise<any> => {\n const { data, operation } = beforeChangeData\n\n let dataWithPaymentDetails = data\n\n if (operation === 'create') {\n const { handlePayment } = formConfig || {}\n\n if (typeof handlePayment === 'function') {\n // eslint-disable-next-line @typescript-eslint/await-thenable\n dataWithPaymentDetails = await handlePayment(beforeChangeData)\n }\n }\n\n return dataWithPaymentDetails\n}\n"],"names":["createCharge","beforeChangeData","formConfig","data","operation","dataWithPaymentDetails","handlePayment"],"rangeMappings":";;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,eAAe,OAC1BC,kBACAC;IAEA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGH;IAE5B,IAAII,yBAAyBF;IAE7B,IAAIC,cAAc,UAAU;QAC1B,MAAM,EAAEE,aAAa,EAAE,GAAGJ,cAAc,CAAC;QAEzC,IAAI,OAAOI,kBAAkB,YAAY;YACvC,6DAA6D;YAC7DD,yBAAyB,MAAMC,cAAcL;QAC/C;IACF;IAEA,OAAOI;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/collections/FormSubmissions/hooks/createCharge.ts"],"sourcesContent":["import type { FormBuilderPluginConfig } from '../../../types.js'\n\nexport const createCharge = async (\n beforeChangeData: any,\n formConfig: FormBuilderPluginConfig,\n): Promise<any> => {\n const { data, operation } = beforeChangeData\n\n let dataWithPaymentDetails = data\n\n if (operation === 'create') {\n const { handlePayment } = formConfig || {}\n\n if (typeof handlePayment === 'function') {\n // eslint-disable-next-line @typescript-eslint/await-thenable\n dataWithPaymentDetails = await handlePayment(beforeChangeData)\n }\n }\n\n return dataWithPaymentDetails\n}\n"],"names":["createCharge","beforeChangeData","formConfig","data","operation","dataWithPaymentDetails","handlePayment"],"mappings":"AAEA,OAAO,MAAMA,eAAe,OAC1BC,kBACAC;IAEA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGH;IAE5B,IAAII,yBAAyBF;IAE7B,IAAIC,cAAc,UAAU;QAC1B,MAAM,EAAEE,aAAa,EAAE,GAAGJ,cAAc,CAAC;QAEzC,IAAI,OAAOI,kBAAkB,YAAY;YACvC,6DAA6D;YAC7DD,yBAAyB,MAAMC,cAAcL;QAC/C;IACF;IAEA,OAAOI;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sendEmail.d.ts","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,uBAAuB,EAAkB,MAAM,mBAAmB,CAAA;AAMvF,eAAO,MAAM,SAAS,qBACF,GAAG,cACT,uBAAuB,KAClC,QAAQ,GAAG,CA6Fb,CAAA"}
1
+ {"version":3,"file":"sendEmail.d.ts","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,uBAAuB,EAAkB,MAAM,mBAAmB,CAAA;AAMvF,eAAO,MAAM,SAAS,qBACF,GAAG,cACT,uBAAuB,KAClC,OAAO,CAAC,GAAG,CA6Fb,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"sourcesContent":["import type { Email, FormBuilderPluginConfig, FormattedEmail } 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\nexport const sendEmail = async (\n beforeChangeData: any,\n formConfig: FormBuilderPluginConfig,\n): Promise<any> => {\n const { data, operation, req } = beforeChangeData\n\n if (operation === 'create') {\n const {\n data: { id: formSubmissionID },\n req: { locale, payload },\n } = beforeChangeData\n\n const { form: formID, submissionData } = data || {}\n\n const { beforeEmail, 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\n\n if (emails && emails.length) {\n const formattedEmails: FormattedEmail[] = await Promise.all(\n emails.map(async (email: Email): Promise<FormattedEmail | null> => {\n const {\n bcc: emailBCC,\n cc: emailCC,\n emailFrom,\n emailTo,\n message,\n replyTo: emailReplyTo,\n subject,\n } = email\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)\n }\n\n // const log = emailsToSend.map(({ html, ...rest }) => ({ ...rest }))\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: `Error while sending email to address: ${to}. Email not sent: ${JSON.stringify(\n err,\n )}`,\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 return data\n}\n"],"names":["serializeLexical","replaceDoubleCurlys","serializeSlate","sendEmail","beforeChangeData","formConfig","data","operation","req","id","formSubmissionID","locale","payload","form","formID","submissionData","beforeEmail","formOverrides","findByID","collection","slug","emails","length","formattedEmails","Promise","all","map","email","bcc","emailBCC","cc","emailCC","emailFrom","emailTo","message","replyTo","emailReplyTo","subject","to","from","isLexical","Array","isArray","serializedMessage","html","emailsToSend","emailPromise","err","logger","error","JSON","stringify","info","msg"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,gBAAgB,QAAQ,iDAAgD;AACjF,SAASC,mBAAmB,QAAQ,4CAA2C;AAC/E,SAASC,cAAc,QAAQ,6CAA4C;AAE3E,OAAO,MAAMC,YAAY,OACvBC,kBACAC;IAEA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,GAAG,EAAE,GAAGJ;IAEjC,IAAIG,cAAc,UAAU;QAC1B,MAAM,EACJD,MAAM,EAAEG,IAAIC,gBAAgB,EAAE,EAC9BF,KAAK,EAAEG,MAAM,EAAEC,OAAO,EAAE,EACzB,GAAGR;QAEJ,MAAM,EAAES,MAAMC,MAAM,EAAEC,cAAc,EAAE,GAAGT,QAAQ,CAAC;QAElD,MAAM,EAAEU,WAAW,EAAEC,aAAa,EAAE,GAAGZ,cAAc,CAAC;QAEtD,IAAI;YACF,MAAMQ,OAAO,MAAMD,QAAQM,QAAQ,CAAC;gBAClCT,IAAIK;gBACJK,YAAYF,eAAeG,QAAQ;gBACnCT;gBACAH;YACF;YAEA,MAAM,EAAEa,MAAM,EAAE,GAAGR;YAEnB,IAAIQ,UAAUA,OAAOC,MAAM,EAAE;gBAC3B,MAAMC,kBAAoC,MAAMC,QAAQC,GAAG,CACzDJ,OAAOK,GAAG,CAAC,OAAOC;oBAChB,MAAM,EACJC,KAAKC,QAAQ,EACbC,IAAIC,OAAO,EACXC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,SAASC,YAAY,EACrBC,OAAO,EACR,GAAGV;oBAEJ,MAAMW,KAAKrC,oBAAoBgC,SAASlB;oBACxC,MAAMe,KAAKC,UAAU9B,oBAAoB8B,SAAShB,kBAAkB;oBACpE,MAAMa,MAAMC,WAAW5B,oBAAoB4B,UAAUd,kBAAkB;oBACvE,MAAMwB,OAAOtC,oBAAoB+B,WAAWjB;oBAC5C,MAAMoB,UAAUlC,oBAAoBmC,gBAAgBJ,WAAWjB;oBAE/D,MAAMyB,YAAYN,WAAW,CAACO,MAAMC,OAAO,CAACR,YAAY,UAAUA;oBAElE,MAAMS,oBAAoBH,YACtB,MAAMxC,iBAAiBkC,SAASnB,kBAChCb,eAAegC,SAASnB;oBAE5B,OAAO;wBACLa;wBACAE;wBACAS;wBACAK,MAAM,CAAC,KAAK,EAAED,kBAAkB,MAAM,CAAC;wBACvCR;wBACAE,SAASpC,oBAAoBoC,SAAStB;wBACtCuB;oBACF;gBACF;gBAGF,IAAIO,eAAetB;gBAEnB,IAAI,OAAOP,gBAAgB,YAAY;oBACrC6B,eAAe,MAAM7B,YAAYO;gBACnC;gBAEA,qEAAqE;gBAErE,MAAMC,QAAQC,GAAG,CACfoB,aAAanB,GAAG,CAAC,OAAOC;oBACtB,MAAM,EAAEW,EAAE,EAAE,GAAGX;oBACf,IAAI;wBACF,MAAMmB,eAAe,MAAMlC,QAAQT,SAAS,CAACwB;wBAC7C,OAAOmB;oBACT,EAAE,OAAOC,KAAc;wBACrBnC,QAAQoC,MAAM,CAACC,KAAK,CAAC;4BACnBF,KAAK,CAAC,sCAAsC,EAAET,GAAG,kBAAkB,EAAEY,KAAKC,SAAS,CACjFJ,KACA,CAAC;wBACL;oBACF;gBACF;YAEJ,OAAO;gBACLnC,QAAQoC,MAAM,CAACI,IAAI,CAAC;oBAAEC,KAAK;gBAAqB;YAClD;QACF,EAAE,OAAON,KAAc;YACrB,MAAMM,MAAM,CAAC,8DAA8D,EAAE3C,iBAAiB,CAAC,CAAC;YAChGE,QAAQoC,MAAM,CAACC,KAAK,CAAC;gBAAEF,KAAKM;YAAI;QAClC;IACF;IAEA,OAAO/C;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"sourcesContent":["import type { Email, FormBuilderPluginConfig, FormattedEmail } 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\nexport const sendEmail = async (\n beforeChangeData: any,\n formConfig: FormBuilderPluginConfig,\n): Promise<any> => {\n const { data, operation, req } = beforeChangeData\n\n if (operation === 'create') {\n const {\n data: { id: formSubmissionID },\n req: { locale, payload },\n } = beforeChangeData\n\n const { form: formID, submissionData } = data || {}\n\n const { beforeEmail, 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\n\n if (emails && emails.length) {\n const formattedEmails: FormattedEmail[] = await Promise.all(\n emails.map(async (email: Email): Promise<FormattedEmail | null> => {\n const {\n bcc: emailBCC,\n cc: emailCC,\n emailFrom,\n emailTo,\n message,\n replyTo: emailReplyTo,\n subject,\n } = email\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)\n }\n\n // const log = emailsToSend.map(({ html, ...rest }) => ({ ...rest }))\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: `Error while sending email to address: ${to}. Email not sent: ${JSON.stringify(\n err,\n )}`,\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 return data\n}\n"],"names":["serializeLexical","replaceDoubleCurlys","serializeSlate","sendEmail","beforeChangeData","formConfig","data","operation","req","id","formSubmissionID","locale","payload","form","formID","submissionData","beforeEmail","formOverrides","findByID","collection","slug","emails","length","formattedEmails","Promise","all","map","email","bcc","emailBCC","cc","emailCC","emailFrom","emailTo","message","replyTo","emailReplyTo","subject","to","from","isLexical","Array","isArray","serializedMessage","html","emailsToSend","emailPromise","err","logger","error","JSON","stringify","info","msg"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,iDAAgD;AACjF,SAASC,mBAAmB,QAAQ,4CAA2C;AAC/E,SAASC,cAAc,QAAQ,6CAA4C;AAE3E,OAAO,MAAMC,YAAY,OACvBC,kBACAC;IAEA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,GAAG,EAAE,GAAGJ;IAEjC,IAAIG,cAAc,UAAU;QAC1B,MAAM,EACJD,MAAM,EAAEG,IAAIC,gBAAgB,EAAE,EAC9BF,KAAK,EAAEG,MAAM,EAAEC,OAAO,EAAE,EACzB,GAAGR;QAEJ,MAAM,EAAES,MAAMC,MAAM,EAAEC,cAAc,EAAE,GAAGT,QAAQ,CAAC;QAElD,MAAM,EAAEU,WAAW,EAAEC,aAAa,EAAE,GAAGZ,cAAc,CAAC;QAEtD,IAAI;YACF,MAAMQ,OAAO,MAAMD,QAAQM,QAAQ,CAAC;gBAClCT,IAAIK;gBACJK,YAAYF,eAAeG,QAAQ;gBACnCT;gBACAH;YACF;YAEA,MAAM,EAAEa,MAAM,EAAE,GAAGR;YAEnB,IAAIQ,UAAUA,OAAOC,MAAM,EAAE;gBAC3B,MAAMC,kBAAoC,MAAMC,QAAQC,GAAG,CACzDJ,OAAOK,GAAG,CAAC,OAAOC;oBAChB,MAAM,EACJC,KAAKC,QAAQ,EACbC,IAAIC,OAAO,EACXC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,SAASC,YAAY,EACrBC,OAAO,EACR,GAAGV;oBAEJ,MAAMW,KAAKrC,oBAAoBgC,SAASlB;oBACxC,MAAMe,KAAKC,UAAU9B,oBAAoB8B,SAAShB,kBAAkB;oBACpE,MAAMa,MAAMC,WAAW5B,oBAAoB4B,UAAUd,kBAAkB;oBACvE,MAAMwB,OAAOtC,oBAAoB+B,WAAWjB;oBAC5C,MAAMoB,UAAUlC,oBAAoBmC,gBAAgBJ,WAAWjB;oBAE/D,MAAMyB,YAAYN,WAAW,CAACO,MAAMC,OAAO,CAACR,YAAY,UAAUA;oBAElE,MAAMS,oBAAoBH,YACtB,MAAMxC,iBAAiBkC,SAASnB,kBAChCb,eAAegC,SAASnB;oBAE5B,OAAO;wBACLa;wBACAE;wBACAS;wBACAK,MAAM,CAAC,KAAK,EAAED,kBAAkB,MAAM,CAAC;wBACvCR;wBACAE,SAASpC,oBAAoBoC,SAAStB;wBACtCuB;oBACF;gBACF;gBAGF,IAAIO,eAAetB;gBAEnB,IAAI,OAAOP,gBAAgB,YAAY;oBACrC6B,eAAe,MAAM7B,YAAYO;gBACnC;gBAEA,qEAAqE;gBAErE,MAAMC,QAAQC,GAAG,CACfoB,aAAanB,GAAG,CAAC,OAAOC;oBACtB,MAAM,EAAEW,EAAE,EAAE,GAAGX;oBACf,IAAI;wBACF,MAAMmB,eAAe,MAAMlC,QAAQT,SAAS,CAACwB;wBAC7C,OAAOmB;oBACT,EAAE,OAAOC,KAAc;wBACrBnC,QAAQoC,MAAM,CAACC,KAAK,CAAC;4BACnBF,KAAK,CAAC,sCAAsC,EAAET,GAAG,kBAAkB,EAAEY,KAAKC,SAAS,CACjFJ,KACA,CAAC;wBACL;oBACF;gBACF;YAEJ,OAAO;gBACLnC,QAAQoC,MAAM,CAACI,IAAI,CAAC;oBAAEC,KAAK;gBAAqB;YAClD;QACF,EAAE,OAAON,KAAc;YACrB,MAAMM,MAAM,CAAC,8DAA8D,EAAE3C,iBAAiB,CAAC,CAAC;YAChGE,QAAQoC,MAAM,CAACC,KAAK,CAAC;gBAAEF,KAAKM;YAAI;QAClC;IACF;IAEA,OAAO/C;AACT,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { CollectionConfig } from 'payload/types';
1
+ import type { CollectionConfig } from 'payload';
2
2
  import type { FormBuilderPluginConfig } from '../../types.js';
3
3
  export declare const generateSubmissionCollection: (formConfig: FormBuilderPluginConfig) => CollectionConfig;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/FormSubmissions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,eAAe,CAAA;AAE5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAM7D,eAAO,MAAM,4BAA4B,eAC3B,uBAAuB,KAClC,gBA6JF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/FormSubmissions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAEtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAM7D,eAAO,MAAM,4BAA4B,eAC3B,uBAAuB,KAClC,gBA6JF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/FormSubmissions/index.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload/types'\n\nimport type { FormBuilderPluginConfig } from '../../types.js'\n\nimport { createCharge } from './hooks/createCharge.js'\nimport { sendEmail } from './hooks/sendEmail.js'\n\n// all settings can be overridden by the config\nexport const generateSubmissionCollection = (\n formConfig: FormBuilderPluginConfig,\n): CollectionConfig => {\n const formSlug = formConfig?.formOverrides?.slug || 'forms'\n\n const defaultFields: Field[] = [\n {\n name: 'form',\n type: 'relationship',\n admin: {\n readOnly: true,\n },\n relationTo: formSlug,\n required: true,\n validate: async (value, { req: { payload }, req }) => {\n /* Don't run in the client side */\n if (!payload) return true\n\n if (payload) {\n let _existingForm\n\n try {\n _existingForm = await payload.findByID({\n id: value,\n collection: formSlug,\n req,\n })\n\n return true\n } catch (error) {\n return 'Cannot create this submission because this form does not exist.'\n }\n }\n },\n },\n {\n name: 'submissionData',\n type: 'array',\n admin: {\n readOnly: true,\n },\n fields: [\n {\n name: 'field',\n type: 'text',\n required: true,\n },\n {\n name: 'value',\n type: 'text',\n required: true,\n validate: (value: unknown) => {\n // TODO:\n // create a validation function that dynamically\n // relies on the field type and its options as configured.\n\n // How to access sibling data from this field?\n // Need the `name` of the field in order to validate it.\n\n // Might not be possible to use this validation function.\n // Instead, might need to do all validation in a `beforeValidate` collection hook.\n\n if (typeof value !== 'undefined') {\n return true\n }\n\n return 'This field is required.'\n },\n },\n ],\n },\n ]\n\n const newConfig: CollectionConfig = {\n ...(formConfig?.formSubmissionOverrides || {}),\n slug: formConfig?.formSubmissionOverrides?.slug || 'form-submissions',\n access: {\n create: () => true,\n read: ({ req: { user } }) => !!user, // logged-in users,\n update: () => false,\n ...(formConfig?.formSubmissionOverrides?.access || {}),\n },\n admin: {\n ...(formConfig?.formSubmissionOverrides?.admin || {}),\n enableRichTextRelationship: false,\n },\n fields:\n formConfig?.formSubmissionOverrides?.fields &&\n typeof formConfig?.formSubmissionOverrides?.fields === 'function'\n ? formConfig.formSubmissionOverrides.fields({ defaultFields })\n : defaultFields,\n hooks: {\n ...(formConfig?.formSubmissionOverrides?.hooks || {}),\n beforeChange: [\n (data) => createCharge(data, formConfig),\n (data) => sendEmail(data, formConfig),\n ...(formConfig?.formSubmissionOverrides?.hooks?.beforeChange || []),\n ],\n },\n }\n\n const paymentFieldConfig = formConfig?.fields?.payment\n\n if (paymentFieldConfig) {\n newConfig.fields.push({\n name: 'payment',\n type: 'group',\n admin: {\n readOnly: true,\n },\n fields: [\n {\n name: 'field',\n type: 'text',\n label: 'Field',\n },\n {\n name: 'status',\n type: 'text',\n label: 'Status',\n },\n {\n name: 'amount',\n type: 'number',\n admin: {\n description: 'Amount in cents',\n },\n },\n {\n name: 'paymentProcessor',\n type: 'text',\n },\n {\n name: 'creditCard',\n type: 'group',\n fields: [\n {\n name: 'token',\n type: 'text',\n label: 'token',\n },\n {\n name: 'brand',\n type: 'text',\n label: 'Brand',\n },\n {\n name: 'number',\n type: 'text',\n label: 'Number',\n },\n ],\n label: 'Credit Card',\n },\n ],\n })\n }\n\n return newConfig\n}\n"],"names":["createCharge","sendEmail","generateSubmissionCollection","formConfig","formSlug","formOverrides","slug","defaultFields","name","type","admin","readOnly","relationTo","required","validate","value","req","payload","_existingForm","findByID","id","collection","error","fields","newConfig","formSubmissionOverrides","access","create","read","user","update","enableRichTextRelationship","hooks","beforeChange","data","paymentFieldConfig","payment","push","label","description"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,YAAY,QAAQ,0BAAyB;AACtD,SAASC,SAAS,QAAQ,uBAAsB;AAEhD,+CAA+C;AAC/C,OAAO,MAAMC,+BAA+B,CAC1CC;IAEA,MAAMC,WAAWD,YAAYE,eAAeC,QAAQ;IAEpD,MAAMC,gBAAyB;QAC7B;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,UAAU;YACZ;YACAC,YAAYR;YACZS,UAAU;YACVC,UAAU,OAAOC,OAAO,EAAEC,KAAK,EAAEC,OAAO,EAAE,EAAED,GAAG,EAAE;gBAC/C,gCAAgC,GAChC,IAAI,CAACC,SAAS,OAAO;gBAErB,IAAIA,SAAS;oBACX,IAAIC;oBAEJ,IAAI;wBACFA,gBAAgB,MAAMD,QAAQE,QAAQ,CAAC;4BACrCC,IAAIL;4BACJM,YAAYjB;4BACZY;wBACF;wBAEA,OAAO;oBACT,EAAE,OAAOM,OAAO;wBACd,OAAO;oBACT;gBACF;YACF;QACF;QACA;YACEd,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,UAAU;YACZ;YACAY,QAAQ;gBACN;oBACEf,MAAM;oBACNC,MAAM;oBACNI,UAAU;gBACZ;gBACA;oBACEL,MAAM;oBACNC,MAAM;oBACNI,UAAU;oBACVC,UAAU,CAACC;wBACT,QAAQ;wBACR,gDAAgD;wBAChD,0DAA0D;wBAE1D,8CAA8C;wBAC9C,wDAAwD;wBAExD,yDAAyD;wBACzD,kFAAkF;wBAElF,IAAI,OAAOA,UAAU,aAAa;4BAChC,OAAO;wBACT;wBAEA,OAAO;oBACT;gBACF;aACD;QACH;KACD;IAED,MAAMS,YAA8B;QAClC,GAAIrB,YAAYsB,2BAA2B,CAAC,CAAC;QAC7CnB,MAAMH,YAAYsB,yBAAyBnB,QAAQ;QACnDoB,QAAQ;YACNC,QAAQ,IAAM;YACdC,MAAM,CAAC,EAAEZ,KAAK,EAAEa,IAAI,EAAE,EAAE,GAAK,CAAC,CAACA;YAC/BC,QAAQ,IAAM;YACd,GAAI3B,YAAYsB,yBAAyBC,UAAU,CAAC,CAAC;QACvD;QACAhB,OAAO;YACL,GAAIP,YAAYsB,yBAAyBf,SAAS,CAAC,CAAC;YACpDqB,4BAA4B;QAC9B;QACAR,QACEpB,YAAYsB,yBAAyBF,UACrC,OAAOpB,YAAYsB,yBAAyBF,WAAW,aACnDpB,WAAWsB,uBAAuB,CAACF,MAAM,CAAC;YAAEhB;QAAc,KAC1DA;QACNyB,OAAO;YACL,GAAI7B,YAAYsB,yBAAyBO,SAAS,CAAC,CAAC;YACpDC,cAAc;gBACZ,CAACC,OAASlC,aAAakC,MAAM/B;gBAC7B,CAAC+B,OAASjC,UAAUiC,MAAM/B;mBACtBA,YAAYsB,yBAAyBO,OAAOC,gBAAgB,EAAE;aACnE;QACH;IACF;IAEA,MAAME,qBAAqBhC,YAAYoB,QAAQa;IAE/C,IAAID,oBAAoB;QACtBX,UAAUD,MAAM,CAACc,IAAI,CAAC;YACpB7B,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,UAAU;YACZ;YACAY,QAAQ;gBACN;oBACEf,MAAM;oBACNC,MAAM;oBACN6B,OAAO;gBACT;gBACA;oBACE9B,MAAM;oBACNC,MAAM;oBACN6B,OAAO;gBACT;gBACA;oBACE9B,MAAM;oBACNC,MAAM;oBACNC,OAAO;wBACL6B,aAAa;oBACf;gBACF;gBACA;oBACE/B,MAAM;oBACNC,MAAM;gBACR;gBACA;oBACED,MAAM;oBACNC,MAAM;oBACNc,QAAQ;wBACN;4BACEf,MAAM;4BACNC,MAAM;4BACN6B,OAAO;wBACT;wBACA;4BACE9B,MAAM;4BACNC,MAAM;4BACN6B,OAAO;wBACT;wBACA;4BACE9B,MAAM;4BACNC,MAAM;4BACN6B,OAAO;wBACT;qBACD;oBACDA,OAAO;gBACT;aACD;QACH;IACF;IAEA,OAAOd;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/FormSubmissions/index.ts"],"sourcesContent":["import type { CollectionConfig, Field } from 'payload'\n\nimport type { FormBuilderPluginConfig } from '../../types.js'\n\nimport { createCharge } from './hooks/createCharge.js'\nimport { sendEmail } from './hooks/sendEmail.js'\n\n// all settings can be overridden by the config\nexport const generateSubmissionCollection = (\n formConfig: FormBuilderPluginConfig,\n): CollectionConfig => {\n const formSlug = formConfig?.formOverrides?.slug || 'forms'\n\n const defaultFields: Field[] = [\n {\n name: 'form',\n type: 'relationship',\n admin: {\n readOnly: true,\n },\n relationTo: formSlug,\n required: true,\n validate: async (value, { req: { payload }, req }) => {\n /* Don't run in the client side */\n if (!payload) return true\n\n if (payload) {\n let _existingForm\n\n try {\n _existingForm = await payload.findByID({\n id: value,\n collection: formSlug,\n req,\n })\n\n return true\n } catch (error) {\n return 'Cannot create this submission because this form does not exist.'\n }\n }\n },\n },\n {\n name: 'submissionData',\n type: 'array',\n admin: {\n readOnly: true,\n },\n fields: [\n {\n name: 'field',\n type: 'text',\n required: true,\n },\n {\n name: 'value',\n type: 'text',\n required: true,\n validate: (value: unknown) => {\n // TODO:\n // create a validation function that dynamically\n // relies on the field type and its options as configured.\n\n // How to access sibling data from this field?\n // Need the `name` of the field in order to validate it.\n\n // Might not be possible to use this validation function.\n // Instead, might need to do all validation in a `beforeValidate` collection hook.\n\n if (typeof value !== 'undefined') {\n return true\n }\n\n return 'This field is required.'\n },\n },\n ],\n },\n ]\n\n const newConfig: CollectionConfig = {\n ...(formConfig?.formSubmissionOverrides || {}),\n slug: formConfig?.formSubmissionOverrides?.slug || 'form-submissions',\n access: {\n create: () => true,\n read: ({ req: { user } }) => !!user, // logged-in users,\n update: () => false,\n ...(formConfig?.formSubmissionOverrides?.access || {}),\n },\n admin: {\n ...(formConfig?.formSubmissionOverrides?.admin || {}),\n enableRichTextRelationship: false,\n },\n fields:\n formConfig?.formSubmissionOverrides?.fields &&\n typeof formConfig?.formSubmissionOverrides?.fields === 'function'\n ? formConfig.formSubmissionOverrides.fields({ defaultFields })\n : defaultFields,\n hooks: {\n ...(formConfig?.formSubmissionOverrides?.hooks || {}),\n beforeChange: [\n (data) => createCharge(data, formConfig),\n (data) => sendEmail(data, formConfig),\n ...(formConfig?.formSubmissionOverrides?.hooks?.beforeChange || []),\n ],\n },\n }\n\n const paymentFieldConfig = formConfig?.fields?.payment\n\n if (paymentFieldConfig) {\n newConfig.fields.push({\n name: 'payment',\n type: 'group',\n admin: {\n readOnly: true,\n },\n fields: [\n {\n name: 'field',\n type: 'text',\n label: 'Field',\n },\n {\n name: 'status',\n type: 'text',\n label: 'Status',\n },\n {\n name: 'amount',\n type: 'number',\n admin: {\n description: 'Amount in cents',\n },\n },\n {\n name: 'paymentProcessor',\n type: 'text',\n },\n {\n name: 'creditCard',\n type: 'group',\n fields: [\n {\n name: 'token',\n type: 'text',\n label: 'token',\n },\n {\n name: 'brand',\n type: 'text',\n label: 'Brand',\n },\n {\n name: 'number',\n type: 'text',\n label: 'Number',\n },\n ],\n label: 'Credit Card',\n },\n ],\n })\n }\n\n return newConfig\n}\n"],"names":["createCharge","sendEmail","generateSubmissionCollection","formConfig","formSlug","formOverrides","slug","defaultFields","name","type","admin","readOnly","relationTo","required","validate","value","req","payload","_existingForm","findByID","id","collection","error","fields","newConfig","formSubmissionOverrides","access","create","read","user","update","enableRichTextRelationship","hooks","beforeChange","data","paymentFieldConfig","payment","push","label","description"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TextFieldProps } from '@payloadcms/ui/fields/Text';
1
+ import type { TextFieldProps } from '@payloadcms/ui';
2
2
  import React from 'react';
3
3
  export declare const DynamicFieldSelector: React.FC<TextFieldProps>;
4
4
  //# sourceMappingURL=DynamicFieldSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicFieldSelector.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/DynamicFieldSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAIhE,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8BzD,CAAA"}
1
+ {"version":3,"file":"DynamicFieldSelector.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/DynamicFieldSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGpD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8BzD,CAAA"}
@@ -1,7 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { Select } from '@payloadcms/ui/fields/Select';
4
- import { useForm } from '@payloadcms/ui/forms/Form';
3
+ import { SelectField, useForm } from '@payloadcms/ui';
5
4
  import React, { useEffect, useState } from 'react';
6
5
  export const DynamicFieldSelector = (props)=>{
7
6
  const { fields, getDataByPath } = useForm();
@@ -27,7 +26,7 @@ export const DynamicFieldSelector = (props)=>{
27
26
  ]);
28
27
  // TODO: label from config is Record<string, string> | false | string
29
28
  // but the FormFieldBase type has only label?: string, changing FormFieldBase breaks other ui components
30
- return /*#__PURE__*/ _jsx(Select, {
29
+ return /*#__PURE__*/ _jsx(SelectField, {
31
30
  ...props,
32
31
  options: options
33
32
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/Forms/DynamicFieldSelector.tsx"],"sourcesContent":["'use client'\n\nimport type { TextFieldProps } from '@payloadcms/ui/fields/Text'\n\nimport { Select } from '@payloadcms/ui/fields/Select'\nimport { useForm } from '@payloadcms/ui/forms/Form'\nimport React, { useEffect, useState } from 'react'\n\nimport type { SelectFieldOption } from '../../types.js'\n\nexport const DynamicFieldSelector: React.FC<TextFieldProps> = (props) => {\n const { fields, getDataByPath } = useForm()\n\n const [options, setOptions] = useState<SelectFieldOption[]>([])\n\n useEffect(() => {\n const fields: any[] = getDataByPath('fields')\n\n if (fields) {\n const allNonPaymentFields = fields\n .map((block): SelectFieldOption | null => {\n const { name, blockType, label } = block\n\n if (blockType !== 'payment') {\n return {\n label,\n value: name,\n }\n }\n\n return null\n })\n .filter(Boolean)\n setOptions(allNonPaymentFields)\n }\n }, [fields, getDataByPath])\n\n // TODO: label from config is Record<string, string> | false | string\n // but the FormFieldBase type has only label?: string, changing FormFieldBase breaks other ui components\n return <Select {...props} options={options} />\n}\n"],"names":["Select","useForm","React","useEffect","useState","DynamicFieldSelector","props","fields","getDataByPath","options","setOptions","allNonPaymentFields","map","block","name","blockType","label","value","filter","Boolean"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAIA,SAASA,MAAM,QAAQ,+BAA8B;AACrD,SAASC,OAAO,QAAQ,4BAA2B;AACnD,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAIlD,OAAO,MAAMC,uBAAiD,CAACC;IAC7D,MAAM,EAAEC,MAAM,EAAEC,aAAa,EAAE,GAAGP;IAElC,MAAM,CAACQ,SAASC,WAAW,GAAGN,SAA8B,EAAE;IAE9DD,UAAU;QACR,MAAMI,SAAgBC,cAAc;QAEpC,IAAID,QAAQ;YACV,MAAMI,sBAAsBJ,OACzBK,GAAG,CAAC,CAACC;gBACJ,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGH;gBAEnC,IAAIE,cAAc,WAAW;oBAC3B,OAAO;wBACLC;wBACAC,OAAOH;oBACT;gBACF;gBAEA,OAAO;YACT,GACCI,MAAM,CAACC;YACVT,WAAWC;QACb;IACF,GAAG;QAACJ;QAAQC;KAAc;IAE1B,qEAAqE;IACrE,yGAAyG;IACzG,qBAAO,KAACR;QAAQ,GAAGM,KAAK;QAAEG,SAASA;;AACrC,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/Forms/DynamicFieldSelector.tsx"],"sourcesContent":["'use client'\n\nimport type { TextFieldProps } from '@payloadcms/ui'\n\nimport { SelectField, useForm } from '@payloadcms/ui'\nimport React, { useEffect, useState } from 'react'\n\nimport type { SelectFieldOption } from '../../types.js'\n\nexport const DynamicFieldSelector: React.FC<TextFieldProps> = (props) => {\n const { fields, getDataByPath } = useForm()\n\n const [options, setOptions] = useState<SelectFieldOption[]>([])\n\n useEffect(() => {\n const fields: any[] = getDataByPath('fields')\n\n if (fields) {\n const allNonPaymentFields = fields\n .map((block): SelectFieldOption | null => {\n const { name, blockType, label } = block\n\n if (blockType !== 'payment') {\n return {\n label,\n value: name,\n }\n }\n\n return null\n })\n .filter(Boolean)\n setOptions(allNonPaymentFields)\n }\n }, [fields, getDataByPath])\n\n // TODO: label from config is Record<string, string> | false | string\n // but the FormFieldBase type has only label?: string, changing FormFieldBase breaks other ui components\n return <SelectField {...props} options={options} />\n}\n"],"names":["SelectField","useForm","React","useEffect","useState","DynamicFieldSelector","props","fields","getDataByPath","options","setOptions","allNonPaymentFields","map","block","name","blockType","label","value","filter","Boolean"],"mappings":"AAAA;;AAIA,SAASA,WAAW,EAAEC,OAAO,QAAQ,iBAAgB;AACrD,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAIlD,OAAO,MAAMC,uBAAiD,CAACC;IAC7D,MAAM,EAAEC,MAAM,EAAEC,aAAa,EAAE,GAAGP;IAElC,MAAM,CAACQ,SAASC,WAAW,GAAGN,SAA8B,EAAE;IAE9DD,UAAU;QACR,MAAMI,SAAgBC,cAAc;QAEpC,IAAID,QAAQ;YACV,MAAMI,sBAAsBJ,OACzBK,GAAG,CAAC,CAACC;gBACJ,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGH;gBAEnC,IAAIE,cAAc,WAAW;oBAC3B,OAAO;wBACLC;wBACAC,OAAOH;oBACT;gBACF;gBAEA,OAAO;YACT,GACCI,MAAM,CAACC;YACVT,WAAWC;QACb;IACF,GAAG;QAACJ;QAAQC;KAAc;IAE1B,qEAAqE;IACrE,yGAAyG;IACzG,qBAAO,KAACR;QAAa,GAAGM,KAAK;QAAEG,SAASA;;AAC1C,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { TextFieldProps } from '@payloadcms/ui/fields/Text';
1
+ import type { TextFieldProps } from '@payloadcms/ui';
2
2
  import React from 'react';
3
3
  export declare const DynamicPriceSelector: React.FC<TextFieldProps>;
4
4
  //# sourceMappingURL=DynamicPriceSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicPriceSelector.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/DynamicPriceSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAMhE,OAAO,KAA8B,MAAM,OAAO,CAAA;AAOlD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2DzD,CAAA"}
1
+ {"version":3,"file":"DynamicPriceSelector.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/DynamicPriceSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAOlD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2DzD,CAAA"}
@@ -1,8 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Text } from '@payloadcms/ui/fields/Text';
4
- import { useWatchForm } from '@payloadcms/ui/forms/Form';
5
- import { useLocale } from '@payloadcms/ui/providers/Locale';
3
+ import { TextField, useLocale, useWatchForm } from '@payloadcms/ui';
6
4
  import React, { useEffect, useState } from 'react';
7
5
  export const DynamicPriceSelector = (props)=>{
8
6
  const { label, path } = props;
@@ -34,7 +32,7 @@ export const DynamicPriceSelector = (props)=>{
34
32
  ]);
35
33
  // TODO: make this a number field, block by Payload
36
34
  if (valueType === 'static') {
37
- return /*#__PURE__*/ _jsx(Text, {
35
+ return /*#__PURE__*/ _jsx(TextField, {
38
36
  ...props
39
37
  });
40
38
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/Forms/DynamicPriceSelector.tsx"],"sourcesContent":["'use client'\n\nimport type { TextFieldProps } from '@payloadcms/ui/fields/Text'\nimport type { Data } from 'payload/types'\n\nimport { Text } from '@payloadcms/ui/fields/Text'\nimport { useWatchForm } from '@payloadcms/ui/forms/Form'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport React, { useEffect, useState } from 'react'\n\ntype FieldWithID = {\n id: string\n name: string\n}\n\nexport const DynamicPriceSelector: React.FC<TextFieldProps> = (props) => {\n const { label, path } = props\n\n const { fields, getData, getDataByPath } = useWatchForm()\n\n const locale = useLocale()\n\n const [isNumberField, setIsNumberField] = useState<boolean>()\n const [valueType, setValueType] = useState<'static' | 'valueOfField'>()\n\n // only number fields can use 'valueOfField`\n useEffect(() => {\n if (path) {\n const parentPath = path.split('.').slice(0, -1).join('.')\n const paymentFieldData: any = getDataByPath(parentPath)\n\n if (paymentFieldData) {\n const { fieldToUse, valueType } = paymentFieldData\n\n setValueType(valueType)\n\n const { fields: allFields }: Data = getData()\n const field = allFields.find((field: FieldWithID) => field.name === fieldToUse)\n\n if (field) {\n const { blockType } = field\n setIsNumberField(blockType === 'number')\n }\n }\n }\n }, [fields, path, getDataByPath, getData])\n\n // TODO: make this a number field, block by Payload\n if (valueType === 'static') {\n return <Text {...props} />\n }\n\n const localeCode = typeof locale === 'object' && 'code' in locale ? locale.code : locale\n\n const localLabels = typeof label === 'object' ? label : { [localeCode]: label }\n\n const labelValue = localLabels[localeCode] || localLabels['en'] || ''\n\n if (valueType === 'valueOfField' && !isNumberField) {\n return (\n <div>\n <div>{String(labelValue)}</div>\n <div\n style={{\n color: '#9A9A9A',\n }}\n >\n The selected field must be a number field.\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"names":["Text","useWatchForm","useLocale","React","useEffect","useState","DynamicPriceSelector","props","label","path","fields","getData","getDataByPath","locale","isNumberField","setIsNumberField","valueType","setValueType","parentPath","split","slice","join","paymentFieldData","fieldToUse","allFields","field","find","name","blockType","localeCode","code","localLabels","labelValue","div","String","style","color"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAKA,SAASA,IAAI,QAAQ,6BAA4B;AACjD,SAASC,YAAY,QAAQ,4BAA2B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAOlD,OAAO,MAAMC,uBAAiD,CAACC;IAC7D,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGF;IAExB,MAAM,EAAEG,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGX;IAE3C,MAAMY,SAASX;IAEf,MAAM,CAACY,eAAeC,iBAAiB,GAAGV;IAC1C,MAAM,CAACW,WAAWC,aAAa,GAAGZ;IAElC,4CAA4C;IAC5CD,UAAU;QACR,IAAIK,MAAM;YACR,MAAMS,aAAaT,KAAKU,KAAK,CAAC,KAAKC,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC;YACrD,MAAMC,mBAAwBV,cAAcM;YAE5C,IAAII,kBAAkB;gBACpB,MAAM,EAAEC,UAAU,EAAEP,SAAS,EAAE,GAAGM;gBAElCL,aAAaD;gBAEb,MAAM,EAAEN,QAAQc,SAAS,EAAE,GAASb;gBACpC,MAAMc,QAAQD,UAAUE,IAAI,CAAC,CAACD,QAAuBA,MAAME,IAAI,KAAKJ;gBAEpE,IAAIE,OAAO;oBACT,MAAM,EAAEG,SAAS,EAAE,GAAGH;oBACtBV,iBAAiBa,cAAc;gBACjC;YACF;QACF;IACF,GAAG;QAAClB;QAAQD;QAAMG;QAAeD;KAAQ;IAEzC,mDAAmD;IACnD,IAAIK,cAAc,UAAU;QAC1B,qBAAO,KAAChB;YAAM,GAAGO,KAAK;;IACxB;IAEA,MAAMsB,aAAa,OAAOhB,WAAW,YAAY,UAAUA,SAASA,OAAOiB,IAAI,GAAGjB;IAElF,MAAMkB,cAAc,OAAOvB,UAAU,WAAWA,QAAQ;QAAE,CAACqB,WAAW,EAAErB;IAAM;IAE9E,MAAMwB,aAAaD,WAAW,CAACF,WAAW,IAAIE,WAAW,CAAC,KAAK,IAAI;IAEnE,IAAIf,cAAc,kBAAkB,CAACF,eAAe;QAClD,qBACE,MAACmB;;8BACC,KAACA;8BAAKC,OAAOF;;8BACb,KAACC;oBACCE,OAAO;wBACLC,OAAO;oBACT;8BACD;;;;IAKP;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/collections/Forms/DynamicPriceSelector.tsx"],"sourcesContent":["'use client'\n\nimport type { TextFieldProps } from '@payloadcms/ui'\nimport type { Data } from 'payload'\n\nimport { TextField, useLocale, useWatchForm } from '@payloadcms/ui'\nimport React, { useEffect, useState } from 'react'\n\ntype FieldWithID = {\n id: string\n name: string\n}\n\nexport const DynamicPriceSelector: React.FC<TextFieldProps> = (props) => {\n const { label, path } = props\n\n const { fields, getData, getDataByPath } = useWatchForm()\n\n const locale = useLocale()\n\n const [isNumberField, setIsNumberField] = useState<boolean>()\n const [valueType, setValueType] = useState<'static' | 'valueOfField'>()\n\n // only number fields can use 'valueOfField`\n useEffect(() => {\n if (path) {\n const parentPath = path.split('.').slice(0, -1).join('.')\n const paymentFieldData: any = getDataByPath(parentPath)\n\n if (paymentFieldData) {\n const { fieldToUse, valueType } = paymentFieldData\n\n setValueType(valueType)\n\n const { fields: allFields }: Data = getData()\n const field = allFields.find((field: FieldWithID) => field.name === fieldToUse)\n\n if (field) {\n const { blockType } = field\n setIsNumberField(blockType === 'number')\n }\n }\n }\n }, [fields, path, getDataByPath, getData])\n\n // TODO: make this a number field, block by Payload\n if (valueType === 'static') {\n return <TextField {...props} />\n }\n\n const localeCode = typeof locale === 'object' && 'code' in locale ? locale.code : locale\n\n const localLabels = typeof label === 'object' ? label : { [localeCode]: label }\n\n const labelValue = localLabels[localeCode] || localLabels['en'] || ''\n\n if (valueType === 'valueOfField' && !isNumberField) {\n return (\n <div>\n <div>{String(labelValue)}</div>\n <div\n style={{\n color: '#9A9A9A',\n }}\n >\n The selected field must be a number field.\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"names":["TextField","useLocale","useWatchForm","React","useEffect","useState","DynamicPriceSelector","props","label","path","fields","getData","getDataByPath","locale","isNumberField","setIsNumberField","valueType","setValueType","parentPath","split","slice","join","paymentFieldData","fieldToUse","allFields","field","find","name","blockType","localeCode","code","localLabels","labelValue","div","String","style","color"],"mappings":"AAAA;;AAKA,SAASA,SAAS,EAAEC,SAAS,EAAEC,YAAY,QAAQ,iBAAgB;AACnE,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAOlD,OAAO,MAAMC,uBAAiD,CAACC;IAC7D,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGF;IAExB,MAAM,EAAEG,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGV;IAE3C,MAAMW,SAASZ;IAEf,MAAM,CAACa,eAAeC,iBAAiB,GAAGV;IAC1C,MAAM,CAACW,WAAWC,aAAa,GAAGZ;IAElC,4CAA4C;IAC5CD,UAAU;QACR,IAAIK,MAAM;YACR,MAAMS,aAAaT,KAAKU,KAAK,CAAC,KAAKC,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC;YACrD,MAAMC,mBAAwBV,cAAcM;YAE5C,IAAII,kBAAkB;gBACpB,MAAM,EAAEC,UAAU,EAAEP,SAAS,EAAE,GAAGM;gBAElCL,aAAaD;gBAEb,MAAM,EAAEN,QAAQc,SAAS,EAAE,GAASb;gBACpC,MAAMc,QAAQD,UAAUE,IAAI,CAAC,CAACD,QAAuBA,MAAME,IAAI,KAAKJ;gBAEpE,IAAIE,OAAO;oBACT,MAAM,EAAEG,SAAS,EAAE,GAAGH;oBACtBV,iBAAiBa,cAAc;gBACjC;YACF;QACF;IACF,GAAG;QAAClB;QAAQD;QAAMG;QAAeD;KAAQ;IAEzC,mDAAmD;IACnD,IAAIK,cAAc,UAAU;QAC1B,qBAAO,KAAChB;YAAW,GAAGO,KAAK;;IAC7B;IAEA,MAAMsB,aAAa,OAAOhB,WAAW,YAAY,UAAUA,SAASA,OAAOiB,IAAI,GAAGjB;IAElF,MAAMkB,cAAc,OAAOvB,UAAU,WAAWA,QAAQ;QAAE,CAACqB,WAAW,EAAErB;IAAM;IAE9E,MAAMwB,aAAaD,WAAW,CAACF,WAAW,IAAIE,WAAW,CAAC,KAAK,IAAI;IAEnE,IAAIf,cAAc,kBAAkB,CAACF,eAAe;QAClD,qBACE,MAACmB;;8BACC,KAACA;8BAAKC,OAAOF;;8BACb,KAACC;oBACCE,OAAO;wBACLC,OAAO;oBACT;8BACD;;;;IAKP;IAEA,OAAO;AACT,EAAC"}
@@ -1,6 +1,6 @@
1
- import type { Block } from 'payload/types';
1
+ import type { Block } from 'payload';
2
2
  import type { FieldConfig } from '../../types.js';
3
3
  export declare const fields: {
4
- [key: string]: Block | ((fieldConfig?: FieldConfig | boolean) => Block);
4
+ [key: string]: ((fieldConfig?: FieldConfig | boolean) => Block) | Block;
5
5
  };
6
6
  //# sourceMappingURL=fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAS,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAA;AA6jBrE,eAAO,MAAM,MAAM;2CAYc,WAAW,GAAG,OAAO,KAAK,KAAK;CAC/D,CAAA"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAS,MAAM,SAAS,CAAA;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAA;AA6jBrE,eAAO,MAAM,MAAM,EAWd;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAA;CACxE,CAAA"}
@@ -550,7 +550,6 @@ const Message = {
550
550
  singular: 'Message'
551
551
  }
552
552
  };
553
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
554
553
  export const fields = {
555
554
  checkbox: Checkbox,
556
555
  country: Country,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/Forms/fields.ts"],"sourcesContent":["import type { Block, Field } from 'payload/types'\n\nimport type { FieldConfig, PaymentFieldConfig } from '../../types.js'\n\nimport { DynamicFieldSelector } from './DynamicFieldSelector.js'\nimport { DynamicPriceSelector } from './DynamicPriceSelector.js'\n\nconst name: Field = {\n name: 'name',\n type: 'text',\n label: 'Name (lowercase, no special characters)',\n required: true,\n}\n\nconst label: Field = {\n name: 'label',\n type: 'text',\n label: 'Label',\n localized: true,\n}\n\nconst required: Field = {\n name: 'required',\n type: 'checkbox',\n label: 'Required',\n}\n\nconst width: Field = {\n name: 'width',\n type: 'number',\n label: 'Field Width (percentage)',\n}\n\nconst Select: Block = {\n slug: 'select',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n localized: true,\n },\n ],\n },\n {\n name: 'options',\n type: 'array',\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'label',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Label',\n localized: true,\n required: true,\n },\n {\n name: 'value',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Value',\n required: true,\n },\n ],\n },\n ],\n label: 'Select Attribute Options',\n labels: {\n plural: 'Options',\n singular: 'Option',\n },\n },\n required,\n ],\n labels: {\n plural: 'Select Fields',\n singular: 'Select',\n },\n}\n\nconst Text: Block = {\n slug: 'text',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n localized: true,\n },\n ],\n },\n required,\n ],\n labels: {\n plural: 'Text Fields',\n singular: 'Text',\n },\n}\n\nconst TextArea: Block = {\n slug: 'textarea',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n localized: true,\n },\n ],\n },\n required,\n ],\n labels: {\n plural: 'Text Area Fields',\n singular: 'Text Area',\n },\n}\n\nconst Number: Block = {\n slug: 'number',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'number',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n },\n ],\n },\n required,\n ],\n labels: {\n plural: 'Number Fields',\n singular: 'Number',\n },\n}\n\nconst Email: Block = {\n slug: 'email',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n width,\n required,\n ],\n labels: {\n plural: 'Email Fields',\n singular: 'Email',\n },\n}\n\nconst State: Block = {\n slug: 'state',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n width,\n required,\n ],\n labels: {\n plural: 'State Fields',\n singular: 'State',\n },\n}\n\nconst Country: Block = {\n slug: 'country',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n width,\n required,\n ],\n labels: {\n plural: 'Country Fields',\n singular: 'Country',\n },\n}\n\nconst Checkbox: Block = {\n slug: 'checkbox',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n ...required,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n name: 'defaultValue',\n type: 'checkbox',\n label: 'Default Value',\n },\n ],\n labels: {\n plural: 'Checkbox Fields',\n singular: 'Checkbox',\n },\n}\n\nconst Payment = (fieldConfig: PaymentFieldConfig): Block => {\n let paymentProcessorField = null\n if (fieldConfig?.paymentProcessor) {\n paymentProcessorField = {\n name: 'paymentProcessor',\n type: 'select',\n label: 'Payment Processor',\n options: [],\n ...fieldConfig.paymentProcessor,\n }\n }\n\n const fields = {\n slug: 'payment',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'basePrice',\n type: 'number',\n admin: {\n width: '50%',\n },\n label: 'Base Price',\n },\n ],\n },\n paymentProcessorField,\n {\n name: 'priceConditions',\n type: 'array',\n fields: [\n {\n name: 'fieldToUse',\n type: 'text',\n admin: {\n components: {\n Field: DynamicFieldSelector,\n },\n },\n },\n {\n name: 'condition',\n type: 'select',\n defaultValue: 'hasValue',\n label: 'Condition',\n options: [\n {\n label: 'Has Any Value',\n value: 'hasValue',\n },\n {\n label: 'Equals',\n value: 'equals',\n },\n {\n label: 'Does Not Equal',\n value: 'notEquals',\n },\n ],\n },\n {\n name: 'valueForCondition',\n type: 'text',\n admin: {\n condition: (_: any, { condition }: any) =>\n condition === 'equals' || condition === 'notEquals',\n },\n label: 'Value',\n },\n {\n name: 'operator',\n type: 'select',\n defaultValue: 'add',\n options: [\n {\n label: 'Add',\n value: 'add',\n },\n {\n label: 'Subtract',\n value: 'subtract',\n },\n {\n label: 'Multiply',\n value: 'multiply',\n },\n {\n label: 'Divide',\n value: 'divide',\n },\n ],\n },\n {\n name: 'valueType',\n type: 'radio',\n admin: {\n width: '100%',\n },\n defaultValue: 'static',\n label: 'Value Type',\n options: [\n {\n label: 'Static Value',\n value: 'static',\n },\n {\n label: 'Value Of Field',\n value: 'valueOfField',\n },\n ],\n },\n {\n name: 'valueForOperator',\n type: 'text',\n admin: {\n components: {\n Field: DynamicPriceSelector,\n },\n },\n label: 'Value',\n },\n ],\n label: 'Price Conditions',\n labels: {\n plural: 'Price Conditions',\n singular: 'Price Condition',\n },\n },\n required,\n ].filter(Boolean) as Field[],\n labels: {\n plural: 'Payment Fields',\n singular: 'Payment',\n },\n }\n\n return fields\n}\n\nconst Message: Block = {\n slug: 'message',\n fields: [\n {\n name: 'message',\n type: 'richText',\n localized: true,\n },\n ],\n labels: {\n plural: 'Message Blocks',\n singular: 'Message',\n },\n}\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\nexport const fields = {\n checkbox: Checkbox,\n country: Country,\n email: Email,\n message: Message,\n number: Number,\n payment: Payment,\n select: Select,\n state: State,\n text: Text,\n textarea: TextArea,\n} as {\n [key: string]: ((fieldConfig?: FieldConfig | boolean) => Block) | Block\n}\n"],"names":["DynamicFieldSelector","DynamicPriceSelector","name","type","label","required","localized","width","Select","slug","fields","admin","labels","plural","singular","Text","TextArea","Number","Email","State","Country","Checkbox","Payment","fieldConfig","paymentProcessorField","paymentProcessor","options","components","Field","defaultValue","value","condition","_","filter","Boolean","Message","checkbox","country","email","message","number","payment","select","state","text","textarea"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/Forms/fields.ts"],"sourcesContent":["import type { Block, Field } from 'payload'\n\nimport type { FieldConfig, PaymentFieldConfig } from '../../types.js'\n\nimport { DynamicFieldSelector } from './DynamicFieldSelector.js'\nimport { DynamicPriceSelector } from './DynamicPriceSelector.js'\n\nconst name: Field = {\n name: 'name',\n type: 'text',\n label: 'Name (lowercase, no special characters)',\n required: true,\n}\n\nconst label: Field = {\n name: 'label',\n type: 'text',\n label: 'Label',\n localized: true,\n}\n\nconst required: Field = {\n name: 'required',\n type: 'checkbox',\n label: 'Required',\n}\n\nconst width: Field = {\n name: 'width',\n type: 'number',\n label: 'Field Width (percentage)',\n}\n\nconst Select: Block = {\n slug: 'select',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n localized: true,\n },\n ],\n },\n {\n name: 'options',\n type: 'array',\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'label',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Label',\n localized: true,\n required: true,\n },\n {\n name: 'value',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Value',\n required: true,\n },\n ],\n },\n ],\n label: 'Select Attribute Options',\n labels: {\n plural: 'Options',\n singular: 'Option',\n },\n },\n required,\n ],\n labels: {\n plural: 'Select Fields',\n singular: 'Select',\n },\n}\n\nconst Text: Block = {\n slug: 'text',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n localized: true,\n },\n ],\n },\n required,\n ],\n labels: {\n plural: 'Text Fields',\n singular: 'Text',\n },\n}\n\nconst TextArea: Block = {\n slug: 'textarea',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n localized: true,\n },\n ],\n },\n required,\n ],\n labels: {\n plural: 'Text Area Fields',\n singular: 'Text Area',\n },\n}\n\nconst Number: Block = {\n slug: 'number',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'number',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n },\n ],\n },\n required,\n ],\n labels: {\n plural: 'Number Fields',\n singular: 'Number',\n },\n}\n\nconst Email: Block = {\n slug: 'email',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n width,\n required,\n ],\n labels: {\n plural: 'Email Fields',\n singular: 'Email',\n },\n}\n\nconst State: Block = {\n slug: 'state',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n width,\n required,\n ],\n labels: {\n plural: 'State Fields',\n singular: 'State',\n },\n}\n\nconst Country: Block = {\n slug: 'country',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n width,\n required,\n ],\n labels: {\n plural: 'Country Fields',\n singular: 'Country',\n },\n}\n\nconst Checkbox: Block = {\n slug: 'checkbox',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n ...required,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n name: 'defaultValue',\n type: 'checkbox',\n label: 'Default Value',\n },\n ],\n labels: {\n plural: 'Checkbox Fields',\n singular: 'Checkbox',\n },\n}\n\nconst Payment = (fieldConfig: PaymentFieldConfig): Block => {\n let paymentProcessorField = null\n if (fieldConfig?.paymentProcessor) {\n paymentProcessorField = {\n name: 'paymentProcessor',\n type: 'select',\n label: 'Payment Processor',\n options: [],\n ...fieldConfig.paymentProcessor,\n }\n }\n\n const fields = {\n slug: 'payment',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'basePrice',\n type: 'number',\n admin: {\n width: '50%',\n },\n label: 'Base Price',\n },\n ],\n },\n paymentProcessorField,\n {\n name: 'priceConditions',\n type: 'array',\n fields: [\n {\n name: 'fieldToUse',\n type: 'text',\n admin: {\n components: {\n Field: DynamicFieldSelector,\n },\n },\n },\n {\n name: 'condition',\n type: 'select',\n defaultValue: 'hasValue',\n label: 'Condition',\n options: [\n {\n label: 'Has Any Value',\n value: 'hasValue',\n },\n {\n label: 'Equals',\n value: 'equals',\n },\n {\n label: 'Does Not Equal',\n value: 'notEquals',\n },\n ],\n },\n {\n name: 'valueForCondition',\n type: 'text',\n admin: {\n condition: (_: any, { condition }: any) =>\n condition === 'equals' || condition === 'notEquals',\n },\n label: 'Value',\n },\n {\n name: 'operator',\n type: 'select',\n defaultValue: 'add',\n options: [\n {\n label: 'Add',\n value: 'add',\n },\n {\n label: 'Subtract',\n value: 'subtract',\n },\n {\n label: 'Multiply',\n value: 'multiply',\n },\n {\n label: 'Divide',\n value: 'divide',\n },\n ],\n },\n {\n name: 'valueType',\n type: 'radio',\n admin: {\n width: '100%',\n },\n defaultValue: 'static',\n label: 'Value Type',\n options: [\n {\n label: 'Static Value',\n value: 'static',\n },\n {\n label: 'Value Of Field',\n value: 'valueOfField',\n },\n ],\n },\n {\n name: 'valueForOperator',\n type: 'text',\n admin: {\n components: {\n Field: DynamicPriceSelector,\n },\n },\n label: 'Value',\n },\n ],\n label: 'Price Conditions',\n labels: {\n plural: 'Price Conditions',\n singular: 'Price Condition',\n },\n },\n required,\n ].filter(Boolean) as Field[],\n labels: {\n plural: 'Payment Fields',\n singular: 'Payment',\n },\n }\n\n return fields\n}\n\nconst Message: Block = {\n slug: 'message',\n fields: [\n {\n name: 'message',\n type: 'richText',\n localized: true,\n },\n ],\n labels: {\n plural: 'Message Blocks',\n singular: 'Message',\n },\n}\n\n \nexport const fields = {\n checkbox: Checkbox,\n country: Country,\n email: Email,\n message: Message,\n number: Number,\n payment: Payment,\n select: Select,\n state: State,\n text: Text,\n textarea: TextArea,\n} as {\n [key: string]: ((fieldConfig?: FieldConfig | boolean) => Block) | Block\n}\n"],"names":["DynamicFieldSelector","DynamicPriceSelector","name","type","label","required","localized","width","Select","slug","fields","admin","labels","plural","singular","Text","TextArea","Number","Email","State","Country","Checkbox","Payment","fieldConfig","paymentProcessorField","paymentProcessor","options","components","Field","defaultValue","value","condition","_","filter","Boolean","Message","checkbox","country","email","message","number","payment","select","state","text","textarea"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CollectionConfig } from 'payload/types';
1
+ import type { CollectionConfig } from 'payload';
2
2
  import type { FormBuilderPluginConfig } from '../../types.js';
3
3
  export declare const generateFormCollection: (formConfig: FormBuilderPluginConfig) => CollectionConfig;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,gBAAgB,EAAS,MAAM,eAAe,CAAA;AAInE,OAAO,KAAK,EAAe,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAK1E,eAAO,MAAM,sBAAsB,eAAgB,uBAAuB,KAAG,gBAqO5E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,gBAAgB,EAAS,MAAM,SAAS,CAAA;AAI7D,OAAO,KAAK,EAAe,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAK1E,eAAO,MAAM,sBAAsB,eAAgB,uBAAuB,KAAG,gBAqO5E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/collections/Forms/index.ts"],"sourcesContent":["import type { Block, CollectionConfig, Field } from 'payload/types'\n\nimport merge from 'deepmerge'\n\nimport type { FieldConfig, FormBuilderPluginConfig } from '../../types.js'\n\nimport { fields } from './fields.js'\n\n// all settings can be overridden by the config\nexport const generateFormCollection = (formConfig: FormBuilderPluginConfig): CollectionConfig => {\n const redirect: Field = {\n name: 'redirect',\n type: 'group',\n admin: {\n condition: (_, siblingData) => siblingData?.confirmationType === 'redirect',\n hideGutter: true,\n },\n fields: [\n {\n name: 'url',\n type: 'text',\n label: 'URL to redirect to',\n required: true,\n },\n ],\n }\n\n if (formConfig.redirectRelationships) {\n redirect.fields.unshift({\n name: 'reference',\n type: 'relationship',\n admin: {\n condition: (_, siblingData) => siblingData?.type === 'reference',\n },\n label: 'Document to link to',\n maxDepth: 2,\n relationTo: formConfig.redirectRelationships,\n required: true,\n })\n\n redirect.fields.unshift({\n name: 'type',\n type: 'radio',\n admin: {\n layout: 'horizontal',\n },\n defaultValue: 'reference',\n options: [\n {\n label: 'Internal link',\n value: 'reference',\n },\n {\n label: 'Custom URL',\n value: 'custom',\n },\n ],\n })\n\n if (redirect.fields[2].type !== 'row') redirect.fields[2].label = 'Custom URL'\n\n redirect.fields[2].admin = {\n condition: (_, siblingData) => siblingData?.type === 'custom',\n }\n }\n\n const defaultFields: Field[] = [\n {\n name: 'title',\n type: 'text',\n required: true,\n },\n {\n name: 'fields',\n type: 'blocks',\n blocks: Object.entries(formConfig?.fields || {})\n .map(([fieldKey, fieldConfig]) => {\n // let the config enable/disable fields with either boolean values or objects\n if (fieldConfig !== false) {\n const block = fields[fieldKey]\n\n if (block === undefined && typeof fieldConfig === 'object') {\n return fieldConfig\n }\n\n if (typeof block === 'object' && typeof fieldConfig === 'object') {\n return merge<FieldConfig>(block, fieldConfig, {\n arrayMerge: (_, sourceArray) => sourceArray,\n })\n }\n\n if (typeof block === 'function') {\n return block(fieldConfig)\n }\n\n return block\n }\n\n return null\n })\n .filter(Boolean) as Block[],\n },\n {\n name: 'submitButtonLabel',\n type: 'text',\n localized: true,\n },\n {\n name: 'confirmationType',\n type: 'radio',\n admin: {\n description:\n 'Choose whether to display an on-page message or redirect to a different page after they submit the form.',\n layout: 'horizontal',\n },\n defaultValue: 'message',\n options: [\n {\n label: 'Message',\n value: 'message',\n },\n {\n label: 'Redirect',\n value: 'redirect',\n },\n ],\n },\n {\n name: 'confirmationMessage',\n type: 'richText',\n admin: {\n condition: (_, siblingData) => siblingData?.confirmationType === 'message',\n },\n localized: true,\n required: true,\n },\n redirect,\n {\n name: 'emails',\n type: 'array',\n admin: {\n description:\n \"Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}.\",\n },\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'emailTo',\n type: 'text',\n admin: {\n placeholder: '\"Email Sender\" <sender@email.com>',\n width: '100%',\n },\n label: 'Email To',\n },\n {\n name: 'cc',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'CC',\n },\n {\n name: 'bcc',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'BCC',\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n name: 'replyTo',\n type: 'text',\n admin: {\n placeholder: '\"Reply To\" <reply-to@email.com>',\n width: '50%',\n },\n label: 'Reply To',\n },\n {\n name: 'emailFrom',\n type: 'text',\n admin: {\n placeholder: '\"Email From\" <email-from@email.com>',\n width: '50%',\n },\n label: 'Email From',\n },\n ],\n },\n {\n name: 'subject',\n type: 'text',\n defaultValue: \"You've received a new message.\",\n label: 'Subject',\n localized: true,\n required: true,\n },\n {\n name: 'message',\n type: 'richText',\n admin: {\n description: 'Enter the message that should be sent in this email.',\n },\n label: 'Message',\n localized: true,\n },\n ],\n },\n ]\n\n const config: CollectionConfig = {\n ...(formConfig?.formOverrides || {}),\n slug: formConfig?.formOverrides?.slug || 'forms',\n access: {\n read: () => true,\n ...(formConfig?.formOverrides?.access || {}),\n },\n admin: {\n enableRichTextRelationship: false,\n useAsTitle: 'title',\n ...(formConfig?.formOverrides?.admin || {}),\n },\n fields:\n formConfig?.formOverrides?.fields && typeof formConfig?.formOverrides?.fields === 'function'\n ? formConfig.formOverrides.fields({ defaultFields })\n : defaultFields,\n }\n\n return config\n}\n"],"names":["merge","fields","generateFormCollection","formConfig","redirect","name","type","admin","condition","_","siblingData","confirmationType","hideGutter","label","required","redirectRelationships","unshift","maxDepth","relationTo","layout","defaultValue","options","value","defaultFields","blocks","Object","entries","map","fieldKey","fieldConfig","block","undefined","arrayMerge","sourceArray","filter","Boolean","localized","description","placeholder","width","config","formOverrides","slug","access","read","enableRichTextRelationship","useAsTitle"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/collections/Forms/index.ts"],"sourcesContent":["import type { Block, CollectionConfig, Field } from 'payload'\n\nimport merge from 'deepmerge'\n\nimport type { FieldConfig, FormBuilderPluginConfig } from '../../types.js'\n\nimport { fields } from './fields.js'\n\n// all settings can be overridden by the config\nexport const generateFormCollection = (formConfig: FormBuilderPluginConfig): CollectionConfig => {\n const redirect: Field = {\n name: 'redirect',\n type: 'group',\n admin: {\n condition: (_, siblingData) => siblingData?.confirmationType === 'redirect',\n hideGutter: true,\n },\n fields: [\n {\n name: 'url',\n type: 'text',\n label: 'URL to redirect to',\n required: true,\n },\n ],\n }\n\n if (formConfig.redirectRelationships) {\n redirect.fields.unshift({\n name: 'reference',\n type: 'relationship',\n admin: {\n condition: (_, siblingData) => siblingData?.type === 'reference',\n },\n label: 'Document to link to',\n maxDepth: 2,\n relationTo: formConfig.redirectRelationships,\n required: true,\n })\n\n redirect.fields.unshift({\n name: 'type',\n type: 'radio',\n admin: {\n layout: 'horizontal',\n },\n defaultValue: 'reference',\n options: [\n {\n label: 'Internal link',\n value: 'reference',\n },\n {\n label: 'Custom URL',\n value: 'custom',\n },\n ],\n })\n\n if (redirect.fields[2].type !== 'row') redirect.fields[2].label = 'Custom URL'\n\n redirect.fields[2].admin = {\n condition: (_, siblingData) => siblingData?.type === 'custom',\n }\n }\n\n const defaultFields: Field[] = [\n {\n name: 'title',\n type: 'text',\n required: true,\n },\n {\n name: 'fields',\n type: 'blocks',\n blocks: Object.entries(formConfig?.fields || {})\n .map(([fieldKey, fieldConfig]) => {\n // let the config enable/disable fields with either boolean values or objects\n if (fieldConfig !== false) {\n const block = fields[fieldKey]\n\n if (block === undefined && typeof fieldConfig === 'object') {\n return fieldConfig\n }\n\n if (typeof block === 'object' && typeof fieldConfig === 'object') {\n return merge<FieldConfig>(block, fieldConfig, {\n arrayMerge: (_, sourceArray) => sourceArray,\n })\n }\n\n if (typeof block === 'function') {\n return block(fieldConfig)\n }\n\n return block\n }\n\n return null\n })\n .filter(Boolean) as Block[],\n },\n {\n name: 'submitButtonLabel',\n type: 'text',\n localized: true,\n },\n {\n name: 'confirmationType',\n type: 'radio',\n admin: {\n description:\n 'Choose whether to display an on-page message or redirect to a different page after they submit the form.',\n layout: 'horizontal',\n },\n defaultValue: 'message',\n options: [\n {\n label: 'Message',\n value: 'message',\n },\n {\n label: 'Redirect',\n value: 'redirect',\n },\n ],\n },\n {\n name: 'confirmationMessage',\n type: 'richText',\n admin: {\n condition: (_, siblingData) => siblingData?.confirmationType === 'message',\n },\n localized: true,\n required: true,\n },\n redirect,\n {\n name: 'emails',\n type: 'array',\n admin: {\n description:\n \"Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}.\",\n },\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'emailTo',\n type: 'text',\n admin: {\n placeholder: '\"Email Sender\" <sender@email.com>',\n width: '100%',\n },\n label: 'Email To',\n },\n {\n name: 'cc',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'CC',\n },\n {\n name: 'bcc',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'BCC',\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n name: 'replyTo',\n type: 'text',\n admin: {\n placeholder: '\"Reply To\" <reply-to@email.com>',\n width: '50%',\n },\n label: 'Reply To',\n },\n {\n name: 'emailFrom',\n type: 'text',\n admin: {\n placeholder: '\"Email From\" <email-from@email.com>',\n width: '50%',\n },\n label: 'Email From',\n },\n ],\n },\n {\n name: 'subject',\n type: 'text',\n defaultValue: \"You've received a new message.\",\n label: 'Subject',\n localized: true,\n required: true,\n },\n {\n name: 'message',\n type: 'richText',\n admin: {\n description: 'Enter the message that should be sent in this email.',\n },\n label: 'Message',\n localized: true,\n },\n ],\n },\n ]\n\n const config: CollectionConfig = {\n ...(formConfig?.formOverrides || {}),\n slug: formConfig?.formOverrides?.slug || 'forms',\n access: {\n read: () => true,\n ...(formConfig?.formOverrides?.access || {}),\n },\n admin: {\n enableRichTextRelationship: false,\n useAsTitle: 'title',\n ...(formConfig?.formOverrides?.admin || {}),\n },\n fields:\n formConfig?.formOverrides?.fields && typeof formConfig?.formOverrides?.fields === 'function'\n ? formConfig.formOverrides.fields({ defaultFields })\n : defaultFields,\n }\n\n return config\n}\n"],"names":["merge","fields","generateFormCollection","formConfig","redirect","name","type","admin","condition","_","siblingData","confirmationType","hideGutter","label","required","redirectRelationships","unshift","maxDepth","relationTo","layout","defaultValue","options","value","defaultFields","blocks","Object","entries","map","fieldKey","fieldConfig","block","undefined","arrayMerge","sourceArray","filter","Boolean","localized","description","placeholder","width","config","formOverrides","slug","access","read","enableRichTextRelationship","useAsTitle"],"mappings":"AAEA,OAAOA,WAAW,YAAW;AAI7B,SAASC,MAAM,QAAQ,cAAa;AAEpC,+CAA+C;AAC/C,OAAO,MAAMC,yBAAyB,CAACC;IACrC,MAAMC,WAAkB;QACtBC,MAAM;QACNC,MAAM;QACNC,OAAO;YACLC,WAAW,CAACC,GAAGC,cAAgBA,aAAaC,qBAAqB;YACjEC,YAAY;QACd;QACAX,QAAQ;YACN;gBACEI,MAAM;gBACNC,MAAM;gBACNO,OAAO;gBACPC,UAAU;YACZ;SACD;IACH;IAEA,IAAIX,WAAWY,qBAAqB,EAAE;QACpCX,SAASH,MAAM,CAACe,OAAO,CAAC;YACtBX,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,WAAW,CAACC,GAAGC,cAAgBA,aAAaJ,SAAS;YACvD;YACAO,OAAO;YACPI,UAAU;YACVC,YAAYf,WAAWY,qBAAqB;YAC5CD,UAAU;QACZ;QAEAV,SAASH,MAAM,CAACe,OAAO,CAAC;YACtBX,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLY,QAAQ;YACV;YACAC,cAAc;YACdC,SAAS;gBACP;oBACER,OAAO;oBACPS,OAAO;gBACT;gBACA;oBACET,OAAO;oBACPS,OAAO;gBACT;aACD;QACH;QAEA,IAAIlB,SAASH,MAAM,CAAC,EAAE,CAACK,IAAI,KAAK,OAAOF,SAASH,MAAM,CAAC,EAAE,CAACY,KAAK,GAAG;QAElET,SAASH,MAAM,CAAC,EAAE,CAACM,KAAK,GAAG;YACzBC,WAAW,CAACC,GAAGC,cAAgBA,aAAaJ,SAAS;QACvD;IACF;IAEA,MAAMiB,gBAAyB;QAC7B;YACElB,MAAM;YACNC,MAAM;YACNQ,UAAU;QACZ;QACA;YACET,MAAM;YACNC,MAAM;YACNkB,QAAQC,OAAOC,OAAO,CAACvB,YAAYF,UAAU,CAAC,GAC3C0B,GAAG,CAAC,CAAC,CAACC,UAAUC,YAAY;gBAC3B,6EAA6E;gBAC7E,IAAIA,gBAAgB,OAAO;oBACzB,MAAMC,QAAQ7B,MAAM,CAAC2B,SAAS;oBAE9B,IAAIE,UAAUC,aAAa,OAAOF,gBAAgB,UAAU;wBAC1D,OAAOA;oBACT;oBAEA,IAAI,OAAOC,UAAU,YAAY,OAAOD,gBAAgB,UAAU;wBAChE,OAAO7B,MAAmB8B,OAAOD,aAAa;4BAC5CG,YAAY,CAACvB,GAAGwB,cAAgBA;wBAClC;oBACF;oBAEA,IAAI,OAAOH,UAAU,YAAY;wBAC/B,OAAOA,MAAMD;oBACf;oBAEA,OAAOC;gBACT;gBAEA,OAAO;YACT,GACCI,MAAM,CAACC;QACZ;QACA;YACE9B,MAAM;YACNC,MAAM;YACN8B,WAAW;QACb;QACA;YACE/B,MAAM;YACNC,MAAM;YACNC,OAAO;gBACL8B,aACE;gBACFlB,QAAQ;YACV;YACAC,cAAc;YACdC,SAAS;gBACP;oBACER,OAAO;oBACPS,OAAO;gBACT;gBACA;oBACET,OAAO;oBACPS,OAAO;gBACT;aACD;QACH;QACA;YACEjB,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,WAAW,CAACC,GAAGC,cAAgBA,aAAaC,qBAAqB;YACnE;YACAyB,WAAW;YACXtB,UAAU;QACZ;QACAV;QACA;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;gBACL8B,aACE;YACJ;YACApC,QAAQ;gBACN;oBACEK,MAAM;oBACNL,QAAQ;wBACN;4BACEI,MAAM;4BACNC,MAAM;4BACNC,OAAO;gCACL+B,aAAa;gCACbC,OAAO;4BACT;4BACA1B,OAAO;wBACT;wBACA;4BACER,MAAM;4BACNC,MAAM;4BACNC,OAAO;gCACLgC,OAAO;4BACT;4BACA1B,OAAO;wBACT;wBACA;4BACER,MAAM;4BACNC,MAAM;4BACNC,OAAO;gCACLgC,OAAO;4BACT;4BACA1B,OAAO;wBACT;qBACD;gBACH;gBACA;oBACEP,MAAM;oBACNL,QAAQ;wBACN;4BACEI,MAAM;4BACNC,MAAM;4BACNC,OAAO;gCACL+B,aAAa;gCACbC,OAAO;4BACT;4BACA1B,OAAO;wBACT;wBACA;4BACER,MAAM;4BACNC,MAAM;4BACNC,OAAO;gCACL+B,aAAa;gCACbC,OAAO;4BACT;4BACA1B,OAAO;wBACT;qBACD;gBACH;gBACA;oBACER,MAAM;oBACNC,MAAM;oBACNc,cAAc;oBACdP,OAAO;oBACPuB,WAAW;oBACXtB,UAAU;gBACZ;gBACA;oBACET,MAAM;oBACNC,MAAM;oBACNC,OAAO;wBACL8B,aAAa;oBACf;oBACAxB,OAAO;oBACPuB,WAAW;gBACb;aACD;QACH;KACD;IAED,MAAMI,SAA2B;QAC/B,GAAIrC,YAAYsC,iBAAiB,CAAC,CAAC;QACnCC,MAAMvC,YAAYsC,eAAeC,QAAQ;QACzCC,QAAQ;YACNC,MAAM,IAAM;YACZ,GAAIzC,YAAYsC,eAAeE,UAAU,CAAC,CAAC;QAC7C;QACApC,OAAO;YACLsC,4BAA4B;YAC5BC,YAAY;YACZ,GAAI3C,YAAYsC,eAAelC,SAAS,CAAC,CAAC;QAC5C;QACAN,QACEE,YAAYsC,eAAexC,UAAU,OAAOE,YAAYsC,eAAexC,WAAW,aAC9EE,WAAWsC,aAAa,CAACxC,MAAM,CAAC;YAAEsB;QAAc,KAChDA;IACR;IAEA,OAAOiB;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/exports/types.ts"],"sourcesContent":["export type {\n BeforeEmail,\n BlockConfig,\n CheckboxField,\n CountryField,\n Email,\n EmailField,\n FieldConfig,\n FieldValues,\n FieldsConfig,\n Form,\n FormBuilderPluginConfig as PluginConfig,\n FormFieldBlock,\n FormSubmission,\n FormattedEmail,\n HandlePayment,\n MessageField,\n PaymentField,\n PaymentFieldConfig,\n PriceCondition,\n Redirect,\n SelectField,\n SelectFieldOption,\n StateField,\n SubmissionValue,\n TextAreaField,\n TextField,\n isValidBlockConfig,\n} from '../types.js'\n"],"names":[],"rangeMappings":"","mappings":"AAAA,WA4BoB"}
1
+ {"version":3,"sources":["../../src/exports/types.ts"],"sourcesContent":["export type {\n BeforeEmail,\n BlockConfig,\n CheckboxField,\n CountryField,\n Email,\n EmailField,\n FieldConfig,\n FieldValues,\n FieldsConfig,\n Form,\n FormBuilderPluginConfig as PluginConfig,\n FormFieldBlock,\n FormSubmission,\n FormattedEmail,\n HandlePayment,\n MessageField,\n PaymentField,\n PaymentFieldConfig,\n PriceCondition,\n Redirect,\n SelectField,\n SelectFieldOption,\n StateField,\n SubmissionValue,\n TextAreaField,\n TextField,\n isValidBlockConfig,\n} from '../types.js'\n"],"names":[],"mappings":"AAAA,WA4BoB"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Config } from 'payload/config';
1
+ import type { Config } from 'payload';
2
2
  import type { FormBuilderPluginConfig } from './types.js';
3
3
  export { fields } from './collections/Forms/fields.js';
4
4
  export { getPaymentTotal } from './utilities/getPaymentTotal.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAKzD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEhE,eAAO,MAAM,iBAAiB,uBACP,uBAAuB,cACnC,MAAM,KAAG,MA0BjB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAKzD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEhE,eAAO,MAAM,iBAAiB,uBACP,uBAAuB,cACnC,MAAM,KAAG,MA0BjB,CAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Config } from 'payload/config'\n\nimport type { FormBuilderPluginConfig } from './types.js'\n\nimport { generateSubmissionCollection } from './collections/FormSubmissions/index.js'\nimport { generateFormCollection } from './collections/Forms/index.js'\n\nexport { fields } from './collections/Forms/fields.js'\nexport { getPaymentTotal } from './utilities/getPaymentTotal.js'\n\nexport const formBuilderPlugin =\n (incomingFormConfig: FormBuilderPluginConfig) =>\n (config: Config): Config => {\n const formConfig: FormBuilderPluginConfig = {\n ...incomingFormConfig,\n fields: {\n checkbox: true,\n country: true,\n email: true,\n message: true,\n number: true,\n payment: false,\n select: true,\n state: true,\n text: true,\n textarea: true,\n ...incomingFormConfig.fields,\n },\n }\n\n return {\n ...config,\n collections: [\n ...(config?.collections || []),\n generateFormCollection(formConfig),\n generateSubmissionCollection(formConfig),\n ],\n }\n }\n"],"names":["generateSubmissionCollection","generateFormCollection","fields","getPaymentTotal","formBuilderPlugin","incomingFormConfig","config","formConfig","checkbox","country","email","message","number","payment","select","state","text","textarea","collections"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,4BAA4B,QAAQ,yCAAwC;AACrF,SAASC,sBAAsB,QAAQ,+BAA8B;AAErE,SAASC,MAAM,QAAQ,gCAA+B;AACtD,SAASC,eAAe,QAAQ,iCAAgC;AAEhE,OAAO,MAAMC,oBACX,CAACC,qBACD,CAACC;QACC,MAAMC,aAAsC;YAC1C,GAAGF,kBAAkB;YACrBH,QAAQ;gBACNM,UAAU;gBACVC,SAAS;gBACTC,OAAO;gBACPC,SAAS;gBACTC,QAAQ;gBACRC,SAAS;gBACTC,QAAQ;gBACRC,OAAO;gBACPC,MAAM;gBACNC,UAAU;gBACV,GAAGZ,mBAAmBH,MAAM;YAC9B;QACF;QAEA,OAAO;YACL,GAAGI,MAAM;YACTY,aAAa;mBACPZ,QAAQY,eAAe,EAAE;gBAC7BjB,uBAAuBM;gBACvBP,6BAA6BO;aAC9B;QACH;IACF,EAAC"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Config } from 'payload'\n\nimport type { FormBuilderPluginConfig } from './types.js'\n\nimport { generateSubmissionCollection } from './collections/FormSubmissions/index.js'\nimport { generateFormCollection } from './collections/Forms/index.js'\n\nexport { fields } from './collections/Forms/fields.js'\nexport { getPaymentTotal } from './utilities/getPaymentTotal.js'\n\nexport const formBuilderPlugin =\n (incomingFormConfig: FormBuilderPluginConfig) =>\n (config: Config): Config => {\n const formConfig: FormBuilderPluginConfig = {\n ...incomingFormConfig,\n fields: {\n checkbox: true,\n country: true,\n email: true,\n message: true,\n number: true,\n payment: false,\n select: true,\n state: true,\n text: true,\n textarea: true,\n ...incomingFormConfig.fields,\n },\n }\n\n return {\n ...config,\n collections: [\n ...(config?.collections || []),\n generateFormCollection(formConfig),\n generateSubmissionCollection(formConfig),\n ],\n }\n }\n"],"names":["generateSubmissionCollection","generateFormCollection","fields","getPaymentTotal","formBuilderPlugin","incomingFormConfig","config","formConfig","checkbox","country","email","message","number","payment","select","state","text","textarea","collections"],"mappings":"AAIA,SAASA,4BAA4B,QAAQ,yCAAwC;AACrF,SAASC,sBAAsB,QAAQ,+BAA8B;AAErE,SAASC,MAAM,QAAQ,gCAA+B;AACtD,SAASC,eAAe,QAAQ,iCAAgC;AAEhE,OAAO,MAAMC,oBACX,CAACC,qBACD,CAACC;QACC,MAAMC,aAAsC;YAC1C,GAAGF,kBAAkB;YACrBH,QAAQ;gBACNM,UAAU;gBACVC,SAAS;gBACTC,OAAO;gBACPC,SAAS;gBACTC,QAAQ;gBACRC,SAAS;gBACTC,QAAQ;gBACRC,OAAO;gBACPC,MAAM;gBACNC,UAAU;gBACV,GAAGZ,mBAAmBH,MAAM;YAC9B;QACF;QAEA,OAAO;YACL,GAAGI,MAAM;YACTY,aAAa;mBACPZ,QAAQY,eAAe,EAAE;gBAC7BjB,uBAAuBM;gBACvBP,6BAA6BO;aAC9B;QACH;IACF,EAAC"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Block, CollectionConfig, Field } from 'payload/types';
1
+ import type { Block, CollectionConfig, Field } from 'payload';
2
2
  export interface BlockConfig {
3
3
  block: Block;
4
4
  validate?: (value: unknown) => boolean | string;
@@ -7,9 +7,9 @@ export declare function isValidBlockConfig(blockConfig: BlockConfig | string): b
7
7
  export interface FieldValues {
8
8
  [key: string]: boolean | null | number | string | undefined;
9
9
  }
10
- export type PaymentFieldConfig = Partial<Field> & {
10
+ export type PaymentFieldConfig = {
11
11
  paymentProcessor: Partial<SelectField>;
12
- };
12
+ } & Partial<Field>;
13
13
  export type FieldConfig = Partial<Field> | PaymentFieldConfig;
14
14
  export interface FieldsConfig {
15
15
  [key: string]: FieldConfig | boolean | undefined;
@@ -32,12 +32,12 @@ export type FieldsOverride = (args: {
32
32
  export type FormBuilderPluginConfig = {
33
33
  beforeEmail?: BeforeEmail;
34
34
  fields?: FieldsConfig;
35
- formOverrides?: Partial<Omit<CollectionConfig, 'fields'>> & {
36
- fields: FieldsOverride;
37
- };
38
- formSubmissionOverrides?: Partial<Omit<CollectionConfig, 'fields'>> & {
39
- fields: FieldsOverride;
40
- };
35
+ formOverrides?: {
36
+ fields?: FieldsOverride;
37
+ } & Partial<Omit<CollectionConfig, 'fields'>>;
38
+ formSubmissionOverrides?: {
39
+ fields?: FieldsOverride;
40
+ } & Partial<Omit<CollectionConfig, 'fields'>>;
41
41
  handlePayment?: HandlePayment;
42
42
  redirectRelationships?: string[];
43
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE7D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,CAAA;CAChD;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW,IAAI,WAAW,CAMhG;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAC5D;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CACvC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;AAElB,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAA;AAE7D,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAChC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAC/B,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAC7B,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAC/B,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAC/B,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAC9B,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAC7B,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAC5B,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;CACjC;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;AACpG,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;AAC/C,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE;IAAE,aAAa,EAAE,KAAK,EAAE,CAAA;CAAE,KAAK,KAAK,EAAE,CAAA;AAE1E,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,aAAa,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvF,uBAAuB,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAA;IACjG,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;CACjC,CAAA;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAA;IAC9C,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAA;IACpD,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC,SAAS,EAAE,QAAQ,GAAG,cAAc,CAAA;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,UAAU,GACV,aAAa,GACb,SAAS,CAAA;AAEb,MAAM,WAAW,KAAK;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KACxB,CAAA;IACD,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,IAAI;IACnB,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,gBAAgB,EAAE,SAAS,GAAG,UAAU,CAAA;IACxC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;IACnB,cAAc,EAAE,eAAe,EAAE,CAAA;CAClC"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Block, CollectionConfig, Field } from 'payload/types'\n\nexport interface BlockConfig {\n block: Block\n validate?: (value: unknown) => boolean | string\n}\n\nexport function isValidBlockConfig(blockConfig: BlockConfig | string): blockConfig is BlockConfig {\n return (\n typeof blockConfig !== 'string' &&\n typeof blockConfig?.block?.slug === 'string' &&\n Array.isArray(blockConfig?.block?.fields)\n )\n}\n\nexport interface FieldValues {\n [key: string]: boolean | null | number | string | undefined\n}\n\nexport type PaymentFieldConfig = Partial<Field> & {\n paymentProcessor: Partial<SelectField>\n}\n\nexport type FieldConfig = Partial<Field> | PaymentFieldConfig\n\nexport interface FieldsConfig {\n [key: string]: FieldConfig | boolean | undefined\n checkbox?: FieldConfig | boolean\n country?: FieldConfig | boolean\n email?: FieldConfig | boolean\n message?: FieldConfig | boolean\n number?: FieldConfig | boolean\n payment?: FieldConfig | boolean\n select?: FieldConfig | boolean\n state?: FieldConfig | boolean\n text?: FieldConfig | boolean\n textarea?: FieldConfig | boolean\n}\n\nexport type BeforeEmail = (emails: FormattedEmail[]) => FormattedEmail[] | Promise<FormattedEmail[]>\nexport type HandlePayment = (data: any) => void\nexport type FieldsOverride = (args: { defaultFields: Field[] }) => Field[]\n\nexport type FormBuilderPluginConfig = {\n beforeEmail?: BeforeEmail\n fields?: FieldsConfig\n formOverrides?: Partial<Omit<CollectionConfig, 'fields'>> & { fields: FieldsOverride }\n formSubmissionOverrides?: Partial<Omit<CollectionConfig, 'fields'>> & { fields: FieldsOverride }\n handlePayment?: HandlePayment\n redirectRelationships?: string[]\n}\n\nexport interface TextField {\n blockName?: string\n blockType: 'text'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface TextAreaField {\n blockName?: string\n blockType: 'textarea'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface SelectFieldOption {\n label: string\n value: string\n}\n\nexport interface SelectField {\n blockName?: string\n blockType: 'select'\n defaultValue?: string\n label?: string\n name: string\n options: SelectFieldOption[]\n required?: boolean\n width?: number\n}\n\nexport interface PriceCondition {\n condition: 'equals' | 'hasValue' | 'notEquals'\n fieldToUse: string\n operator: 'add' | 'divide' | 'multiply' | 'subtract'\n valueForCondition: string\n valueForOperator: number | string // TODO: make this a number, see ./collections/Forms/DynamicPriceSelector.tsx\n valueType: 'static' | 'valueOfField'\n}\n\nexport interface PaymentField {\n basePrice: number\n blockName?: string\n blockType: 'payment'\n defaultValue?: string\n label?: string\n name: string\n paymentProcessor: string\n priceConditions: PriceCondition[]\n required?: boolean\n width?: number\n}\n\nexport interface EmailField {\n blockName?: string\n blockType: 'email'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface StateField {\n blockName?: string\n blockType: 'state'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface CountryField {\n blockName?: string\n blockType: 'country'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface CheckboxField {\n blockName?: string\n blockType: 'checkbox'\n defaultValue?: boolean\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface MessageField {\n blockName?: string\n blockType: 'message'\n message: unknown\n}\n\nexport type FormFieldBlock =\n | CheckboxField\n | CountryField\n | EmailField\n | MessageField\n | PaymentField\n | SelectField\n | StateField\n | TextAreaField\n | TextField\n\nexport interface Email {\n bcc?: string\n cc?: string\n emailFrom: string\n emailTo: string\n message?: any // TODO: configure rich text type\n replyTo?: string\n subject: string\n}\n\nexport interface FormattedEmail {\n bcc?: string\n cc?: string\n from: string\n html: string\n replyTo: string\n subject: string\n to: string\n}\n\nexport interface Redirect {\n reference?: {\n relationTo: string\n value: string | unknown\n }\n type: 'custom' | 'reference'\n url: string\n}\n\nexport interface Form {\n confirmationMessage?: any // TODO: configure rich text type\n confirmationType: 'message' | 'redirect'\n emails: Email[]\n fields: FormFieldBlock[]\n id: string\n redirect?: Redirect\n submitButtonLabel?: string\n title: string\n}\n\nexport interface SubmissionValue {\n field: string\n value: unknown\n}\n\nexport interface FormSubmission {\n form: Form | string\n submissionData: SubmissionValue[]\n}\n"],"names":["isValidBlockConfig","blockConfig","block","slug","Array","isArray","fields"],"rangeMappings":";;","mappings":"AAOA,OAAO,SAASA,mBAAmBC,WAAiC;IAClE,OACE,OAAOA,gBAAgB,YACvB,OAAOA,aAAaC,OAAOC,SAAS,YACpCC,MAAMC,OAAO,CAACJ,aAAaC,OAAOI;AAEtC"}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Block, CollectionConfig, Field } from 'payload'\n\nexport interface BlockConfig {\n block: Block\n validate?: (value: unknown) => boolean | string\n}\n\nexport function isValidBlockConfig(blockConfig: BlockConfig | string): blockConfig is BlockConfig {\n return (\n typeof blockConfig !== 'string' &&\n typeof blockConfig?.block?.slug === 'string' &&\n Array.isArray(blockConfig?.block?.fields)\n )\n}\n\nexport interface FieldValues {\n [key: string]: boolean | null | number | string | undefined\n}\n\nexport type PaymentFieldConfig = {\n paymentProcessor: Partial<SelectField>\n} & Partial<Field>\n\nexport type FieldConfig = Partial<Field> | PaymentFieldConfig\n\nexport interface FieldsConfig {\n [key: string]: FieldConfig | boolean | undefined\n checkbox?: FieldConfig | boolean\n country?: FieldConfig | boolean\n email?: FieldConfig | boolean\n message?: FieldConfig | boolean\n number?: FieldConfig | boolean\n payment?: FieldConfig | boolean\n select?: FieldConfig | boolean\n state?: FieldConfig | boolean\n text?: FieldConfig | boolean\n textarea?: FieldConfig | boolean\n}\n\nexport type BeforeEmail = (emails: FormattedEmail[]) => FormattedEmail[] | Promise<FormattedEmail[]>\nexport type HandlePayment = (data: any) => void\nexport type FieldsOverride = (args: { defaultFields: Field[] }) => Field[]\n\nexport type FormBuilderPluginConfig = {\n beforeEmail?: BeforeEmail\n fields?: FieldsConfig\n formOverrides?: { fields?: FieldsOverride } & Partial<Omit<CollectionConfig, 'fields'>>\n formSubmissionOverrides?: { fields?: FieldsOverride } & Partial<Omit<CollectionConfig, 'fields'>>\n handlePayment?: HandlePayment\n redirectRelationships?: string[]\n}\n\nexport interface TextField {\n blockName?: string\n blockType: 'text'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface TextAreaField {\n blockName?: string\n blockType: 'textarea'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface SelectFieldOption {\n label: string\n value: string\n}\n\nexport interface SelectField {\n blockName?: string\n blockType: 'select'\n defaultValue?: string\n label?: string\n name: string\n options: SelectFieldOption[]\n required?: boolean\n width?: number\n}\n\nexport interface PriceCondition {\n condition: 'equals' | 'hasValue' | 'notEquals'\n fieldToUse: string\n operator: 'add' | 'divide' | 'multiply' | 'subtract'\n valueForCondition: string\n valueForOperator: number | string // TODO: make this a number, see ./collections/Forms/DynamicPriceSelector.tsx\n valueType: 'static' | 'valueOfField'\n}\n\nexport interface PaymentField {\n basePrice: number\n blockName?: string\n blockType: 'payment'\n defaultValue?: string\n label?: string\n name: string\n paymentProcessor: string\n priceConditions: PriceCondition[]\n required?: boolean\n width?: number\n}\n\nexport interface EmailField {\n blockName?: string\n blockType: 'email'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface StateField {\n blockName?: string\n blockType: 'state'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface CountryField {\n blockName?: string\n blockType: 'country'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface CheckboxField {\n blockName?: string\n blockType: 'checkbox'\n defaultValue?: boolean\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface MessageField {\n blockName?: string\n blockType: 'message'\n message: unknown\n}\n\nexport type FormFieldBlock =\n | CheckboxField\n | CountryField\n | EmailField\n | MessageField\n | PaymentField\n | SelectField\n | StateField\n | TextAreaField\n | TextField\n\nexport interface Email {\n bcc?: string\n cc?: string\n emailFrom: string\n emailTo: string\n message?: any // TODO: configure rich text type\n replyTo?: string\n subject: string\n}\n\nexport interface FormattedEmail {\n bcc?: string\n cc?: string\n from: string\n html: string\n replyTo: string\n subject: string\n to: string\n}\n\nexport interface Redirect {\n reference?: {\n relationTo: string\n value: string | unknown\n }\n type: 'custom' | 'reference'\n url: string\n}\n\nexport interface Form {\n confirmationMessage?: any // TODO: configure rich text type\n confirmationType: 'message' | 'redirect'\n emails: Email[]\n fields: FormFieldBlock[]\n id: string\n redirect?: Redirect\n submitButtonLabel?: string\n title: string\n}\n\nexport interface SubmissionValue {\n field: string\n value: unknown\n}\n\nexport interface FormSubmission {\n form: Form | string\n submissionData: SubmissionValue[]\n}\n"],"names":["isValidBlockConfig","blockConfig","block","slug","Array","isArray","fields"],"mappings":"AAOA,OAAO,SAASA,mBAAmBC,WAAiC;IAClE,OACE,OAAOA,gBAAgB,YACvB,OAAOA,aAAaC,OAAOC,SAAS,YACpCC,MAAMC,OAAO,CAACJ,aAAaC,OAAOI;AAEtC"}
@@ -1,5 +1,5 @@
1
1
  import type { FieldValues, PaymentField } from '../types.js';
2
- export declare const getPaymentTotal: (args: Partial<PaymentField> & {
2
+ export declare const getPaymentTotal: (args: {
3
3
  fieldValues: FieldValues;
4
- }) => number;
4
+ } & Partial<PaymentField>) => number;
5
5
  //# sourceMappingURL=getPaymentTotal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPaymentTotal.d.ts","sourceRoot":"","sources":["../../src/utilities/getPaymentTotal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAA;AAE5E,eAAO,MAAM,eAAe,SACpB,QAAQ,YAAY,CAAC,GAAG;IAC5B,WAAW,EAAE,WAAW,CAAA;CACzB,KACA,MA8CF,CAAA"}
1
+ {"version":3,"file":"getPaymentTotal.d.ts","sourceRoot":"","sources":["../../src/utilities/getPaymentTotal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAA;AAE5E,eAAO,MAAM,eAAe,SACpB;IACJ,WAAW,EAAE,WAAW,CAAA;CACzB,GAAG,OAAO,CAAC,YAAY,CAAC,KACxB,MA8CF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getPaymentTotal.ts"],"sourcesContent":["import type { FieldValues, PaymentField, PriceCondition } from '../types.js'\n\nexport const getPaymentTotal = (\n args: Partial<PaymentField> & {\n fieldValues: FieldValues\n },\n): number => {\n const { basePrice = 0, fieldValues, priceConditions } = args\n\n let total = basePrice\n\n if (Array.isArray(priceConditions) && priceConditions.length > 0) {\n priceConditions.forEach((priceCondition: PriceCondition) => {\n const { condition, fieldToUse, operator, valueForCondition, valueForOperator, valueType } =\n priceCondition\n\n const valueOfField = fieldValues?.[fieldToUse]\n\n if (valueOfField) {\n if (\n condition === 'hasValue' ||\n (condition === 'equals' && valueOfField === valueForCondition) ||\n (condition === 'notEquals' && valueOfField !== valueForCondition)\n ) {\n const valueToUse = Number(valueType === 'valueOfField' ? valueOfField : valueForOperator)\n switch (operator) {\n case 'add': {\n total += valueToUse\n break\n }\n case 'subtract': {\n total -= valueToUse\n break\n }\n case 'multiply': {\n total *= valueToUse\n break\n }\n case 'divide': {\n total /= valueToUse\n break\n }\n default: {\n break\n }\n }\n }\n }\n })\n }\n\n return total\n}\n"],"names":["getPaymentTotal","args","basePrice","fieldValues","priceConditions","total","Array","isArray","length","forEach","priceCondition","condition","fieldToUse","operator","valueForCondition","valueForOperator","valueType","valueOfField","valueToUse","Number"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,kBAAkB,CAC7BC;IAIA,MAAM,EAAEC,YAAY,CAAC,EAAEC,WAAW,EAAEC,eAAe,EAAE,GAAGH;IAExD,IAAII,QAAQH;IAEZ,IAAII,MAAMC,OAAO,CAACH,oBAAoBA,gBAAgBI,MAAM,GAAG,GAAG;QAChEJ,gBAAgBK,OAAO,CAAC,CAACC;YACvB,MAAM,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEC,gBAAgB,EAAEC,SAAS,EAAE,GACvFN;YAEF,MAAMO,eAAed,aAAa,CAACS,WAAW;YAE9C,IAAIK,cAAc;gBAChB,IACEN,cAAc,cACbA,cAAc,YAAYM,iBAAiBH,qBAC3CH,cAAc,eAAeM,iBAAiBH,mBAC/C;oBACA,MAAMI,aAAaC,OAAOH,cAAc,iBAAiBC,eAAeF;oBACxE,OAAQF;wBACN,KAAK;4BAAO;gCACVR,SAASa;gCACT;4BACF;wBACA,KAAK;4BAAY;gCACfb,SAASa;gCACT;4BACF;wBACA,KAAK;4BAAY;gCACfb,SAASa;gCACT;4BACF;wBACA,KAAK;4BAAU;gCACbb,SAASa;gCACT;4BACF;wBACA;4BAAS;gCACP;4BACF;oBACF;gBACF;YACF;QACF;IACF;IAEA,OAAOb;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getPaymentTotal.ts"],"sourcesContent":["import type { FieldValues, PaymentField, PriceCondition } from '../types.js'\n\nexport const getPaymentTotal = (\n args: {\n fieldValues: FieldValues\n } & Partial<PaymentField>,\n): number => {\n const { basePrice = 0, fieldValues, priceConditions } = args\n\n let total = basePrice\n\n if (Array.isArray(priceConditions) && priceConditions.length > 0) {\n priceConditions.forEach((priceCondition: PriceCondition) => {\n const { condition, fieldToUse, operator, valueForCondition, valueForOperator, valueType } =\n priceCondition\n\n const valueOfField = fieldValues?.[fieldToUse]\n\n if (valueOfField) {\n if (\n condition === 'hasValue' ||\n (condition === 'equals' && valueOfField === valueForCondition) ||\n (condition === 'notEquals' && valueOfField !== valueForCondition)\n ) {\n const valueToUse = Number(valueType === 'valueOfField' ? valueOfField : valueForOperator)\n switch (operator) {\n case 'add': {\n total += valueToUse\n break\n }\n case 'subtract': {\n total -= valueToUse\n break\n }\n case 'multiply': {\n total *= valueToUse\n break\n }\n case 'divide': {\n total /= valueToUse\n break\n }\n default: {\n break\n }\n }\n }\n }\n })\n }\n\n return total\n}\n"],"names":["getPaymentTotal","args","basePrice","fieldValues","priceConditions","total","Array","isArray","length","forEach","priceCondition","condition","fieldToUse","operator","valueForCondition","valueForOperator","valueType","valueOfField","valueToUse","Number"],"mappings":"AAEA,OAAO,MAAMA,kBAAkB,CAC7BC;IAIA,MAAM,EAAEC,YAAY,CAAC,EAAEC,WAAW,EAAEC,eAAe,EAAE,GAAGH;IAExD,IAAII,QAAQH;IAEZ,IAAII,MAAMC,OAAO,CAACH,oBAAoBA,gBAAgBI,MAAM,GAAG,GAAG;QAChEJ,gBAAgBK,OAAO,CAAC,CAACC;YACvB,MAAM,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEC,gBAAgB,EAAEC,SAAS,EAAE,GACvFN;YAEF,MAAMO,eAAed,aAAa,CAACS,WAAW;YAE9C,IAAIK,cAAc;gBAChB,IACEN,cAAc,cACbA,cAAc,YAAYM,iBAAiBH,qBAC3CH,cAAc,eAAeM,iBAAiBH,mBAC/C;oBACA,MAAMI,aAAaC,OAAOH,cAAc,iBAAiBC,eAAeF;oBACxE,OAAQF;wBACN,KAAK;4BAAO;gCACVR,SAASa;gCACT;4BACF;wBACA,KAAK;4BAAY;gCACfb,SAASa;gCACT;4BACF;wBACA,KAAK;4BAAY;gCACfb,SAASa;gCACT;4BACF;wBACA,KAAK;4BAAU;gCACbb,SAASa;gCACT;4BACF;wBACA;4BAAS;gCACP;4BACF;oBACF;gBACF;YACF;QACF;IACF;IAEA,OAAOb;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/lexical/converters/heading.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const HeadingHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n return '<' + node?.tag + '>' + childrenText + '</' + node?.tag + '>'\n },\n nodeTypes: ['heading'],\n}\n"],"names":["convertLexicalNodesToHTML","HeadingHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","tag","nodeTypes"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,uBAA2C;IACtD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,OAAO,MAAMF,MAAMM,MAAM,MAAMH,eAAe,OAAOH,MAAMM,MAAM;IACnE;IACAC,WAAW;QAAC;KAAU;AACxB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/heading.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const HeadingHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n return '<' + node?.tag + '>' + childrenText + '</' + node?.tag + '>'\n },\n nodeTypes: ['heading'],\n}\n"],"names":["convertLexicalNodesToHTML","HeadingHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","tag","nodeTypes"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,uBAA2C;IACtD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,OAAO,MAAMF,MAAMM,MAAM,MAAMH,eAAe,OAAOH,MAAMM,MAAM;IACnE;IACAC,WAAW;QAAC;KAAU;AACxB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/lexical/converters/linebreak.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nexport const LinebreakHTMLConverter: HTMLConverter<any> = {\n converter() {\n return `<br>`\n },\n nodeTypes: ['linebreak'],\n}\n"],"names":["LinebreakHTMLConverter","converter","nodeTypes"],"rangeMappings":";;;;;;;","mappings":"AAEA,OAAO,MAAMA,yBAA6C;IACxDC;QACE,OAAO,CAAC,IAAI,CAAC;IACf;IACAC,WAAW;QAAC;KAAY;AAC1B,EAAC"}
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/linebreak.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nexport const LinebreakHTMLConverter: HTMLConverter<any> = {\n converter() {\n return `<br>`\n },\n nodeTypes: ['linebreak'],\n}\n"],"names":["LinebreakHTMLConverter","converter","nodeTypes"],"mappings":"AAEA,OAAO,MAAMA,yBAA6C;IACxDC;QACE,OAAO,CAAC,IAAI,CAAC;IACf;IACAC,WAAW;QAAC;KAAY;AAC1B,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/lexical/converters/link.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { replaceDoubleCurlys } from '../../replaceDoubleCurlys.js'\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const LinkHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n const rel: string = node.fields.newTab ? ' rel=\"noopener noreferrer\"' : ''\n const target: string = node.fields.newTab ? ' target=\"_blank\"' : ''\n\n let href: string =\n node.fields.linkType === 'custom' ? node.fields.url : node.fields.doc?.value?.id\n\n if (submissionData) {\n href = replaceDoubleCurlys(href, submissionData)\n }\n\n return `<a href=\"${href}\"${target}${rel}>${childrenText}</a>`\n },\n nodeTypes: ['link'],\n}\n"],"names":["replaceDoubleCurlys","convertLexicalNodesToHTML","LinkHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","rel","fields","newTab","target","href","linkType","url","doc","value","id","nodeTypes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,mBAAmB,QAAQ,+BAA8B;AAClE,SAASC,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,oBAAwC;IACnD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,MAAMI,MAAcN,KAAKO,MAAM,CAACC,MAAM,GAAG,+BAA+B;QACxE,MAAMC,SAAiBT,KAAKO,MAAM,CAACC,MAAM,GAAG,qBAAqB;QAEjE,IAAIE,OACFV,KAAKO,MAAM,CAACI,QAAQ,KAAK,WAAWX,KAAKO,MAAM,CAACK,GAAG,GAAGZ,KAAKO,MAAM,CAACM,GAAG,EAAEC,OAAOC;QAEhF,IAAIb,gBAAgB;YAClBQ,OAAOf,oBAAoBe,MAAMR;QACnC;QAEA,OAAO,CAAC,SAAS,EAAEQ,KAAK,CAAC,EAAED,OAAO,EAAEH,IAAI,CAAC,EAAEH,aAAa,IAAI,CAAC;IAC/D;IACAa,WAAW;QAAC;KAAO;AACrB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/link.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { replaceDoubleCurlys } from '../../replaceDoubleCurlys.js'\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const LinkHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n const rel: string = node.fields.newTab ? ' rel=\"noopener noreferrer\"' : ''\n const target: string = node.fields.newTab ? ' target=\"_blank\"' : ''\n\n let href: string =\n node.fields.linkType === 'custom' ? node.fields.url : node.fields.doc?.value?.id\n\n if (submissionData) {\n href = replaceDoubleCurlys(href, submissionData)\n }\n\n return `<a href=\"${href}\"${target}${rel}>${childrenText}</a>`\n },\n nodeTypes: ['link'],\n}\n"],"names":["replaceDoubleCurlys","convertLexicalNodesToHTML","LinkHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","rel","fields","newTab","target","href","linkType","url","doc","value","id","nodeTypes"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,+BAA8B;AAClE,SAASC,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,oBAAwC;IACnD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,MAAMI,MAAcN,KAAKO,MAAM,CAACC,MAAM,GAAG,+BAA+B;QACxE,MAAMC,SAAiBT,KAAKO,MAAM,CAACC,MAAM,GAAG,qBAAqB;QAEjE,IAAIE,OACFV,KAAKO,MAAM,CAACI,QAAQ,KAAK,WAAWX,KAAKO,MAAM,CAACK,GAAG,GAAGZ,KAAKO,MAAM,CAACM,GAAG,EAAEC,OAAOC;QAEhF,IAAIb,gBAAgB;YAClBQ,OAAOf,oBAAoBe,MAAMR;QACnC;QAEA,OAAO,CAAC,SAAS,EAAEQ,KAAK,CAAC,EAAED,OAAO,EAAEH,IAAI,CAAC,EAAEH,aAAa,IAAI,CAAC;IAC/D;IACAa,WAAW;QAAC;KAAO;AACrB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/lexical/converters/list.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const ListHTMLConverter: HTMLConverter<any> = {\n converter: async ({ converters, node, parent, submissionData }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n return `<${node?.tag} class=\"${node?.listType}\">${childrenText}</${node?.tag}>`\n },\n nodeTypes: ['list'],\n}\n\nexport const ListItemHTMLConverter: HTMLConverter<any> = {\n converter: async ({ converters, node, parent }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n })\n\n if ('listType' in parent && parent?.listType === 'check') {\n return `<li aria-checked=${node.checked ? 'true' : 'false'} class=\"${\n 'list-item-checkbox' + node.checked\n ? 'list-item-checkbox-checked'\n : 'list-item-checkbox-unchecked'\n }\"\n role=\"checkbox\"\n tabIndex=${-1}\n value=${node?.value}\n >\n ${childrenText}\n </li>`\n } else {\n return `<li value=${node?.value}>${childrenText}</li>`\n }\n },\n nodeTypes: ['listitem'],\n}\n"],"names":["convertLexicalNodesToHTML","ListHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","tag","listType","nodeTypes","ListItemHTMLConverter","checked","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,oBAAwC;IACnDC,WAAW,OAAO,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC5D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,OAAO,CAAC,CAAC,EAAEF,MAAMM,IAAI,QAAQ,EAAEN,MAAMO,SAAS,EAAE,EAAEJ,aAAa,EAAE,EAAEH,MAAMM,IAAI,CAAC,CAAC;IACjF;IACAE,WAAW;QAAC;KAAO;AACrB,EAAC;AAED,OAAO,MAAMC,wBAA4C;IACvDX,WAAW,OAAO,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAE;QAC5C,MAAME,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;QACF;QAEA,IAAI,cAAcA,UAAUA,QAAQM,aAAa,SAAS;YACxD,OAAO,CAAC,iBAAiB,EAAEP,KAAKU,OAAO,GAAG,SAAS,QAAQ,QAAQ,EACjE,uBAAuBV,KAAKU,OAAO,GAC/B,+BACA,+BACL;;mBAEY,EAAE,CAAC,EAAE;gBACR,EAAEV,MAAMW,MAAM;;UAEpB,EAAER,aAAa;eACV,CAAC;QACZ,OAAO;YACL,OAAO,CAAC,UAAU,EAAEH,MAAMW,MAAM,CAAC,EAAER,aAAa,KAAK,CAAC;QACxD;IACF;IACAK,WAAW;QAAC;KAAW;AACzB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/list.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const ListHTMLConverter: HTMLConverter<any> = {\n converter: async ({ converters, node, parent, submissionData }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n return `<${node?.tag} class=\"${node?.listType}\">${childrenText}</${node?.tag}>`\n },\n nodeTypes: ['list'],\n}\n\nexport const ListItemHTMLConverter: HTMLConverter<any> = {\n converter: async ({ converters, node, parent }) => {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n })\n\n if ('listType' in parent && parent?.listType === 'check') {\n return `<li aria-checked=${node.checked ? 'true' : 'false'} class=\"${\n 'list-item-checkbox' + node.checked\n ? 'list-item-checkbox-checked'\n : 'list-item-checkbox-unchecked'\n }\"\n role=\"checkbox\"\n tabIndex=${-1}\n value=${node?.value}\n >\n ${childrenText}\n </li>`\n } else {\n return `<li value=${node?.value}>${childrenText}</li>`\n }\n },\n nodeTypes: ['listitem'],\n}\n"],"names":["convertLexicalNodesToHTML","ListHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","tag","listType","nodeTypes","ListItemHTMLConverter","checked","value"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,oBAAwC;IACnDC,WAAW,OAAO,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC5D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,OAAO,CAAC,CAAC,EAAEF,MAAMM,IAAI,QAAQ,EAAEN,MAAMO,SAAS,EAAE,EAAEJ,aAAa,EAAE,EAAEH,MAAMM,IAAI,CAAC,CAAC;IACjF;IACAE,WAAW;QAAC;KAAO;AACrB,EAAC;AAED,OAAO,MAAMC,wBAA4C;IACvDX,WAAW,OAAO,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAE;QAC5C,MAAME,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;QACF;QAEA,IAAI,cAAcA,UAAUA,QAAQM,aAAa,SAAS;YACxD,OAAO,CAAC,iBAAiB,EAAEP,KAAKU,OAAO,GAAG,SAAS,QAAQ,QAAQ,EACjE,uBAAuBV,KAAKU,OAAO,GAC/B,+BACA,+BACL;;mBAEY,EAAE,CAAC,EAAE;gBACR,EAAEV,MAAMW,MAAM;;UAEpB,EAAER,aAAa;eACV,CAAC;QACZ,OAAO;YACL,OAAO,CAAC,UAAU,EAAEH,MAAMW,MAAM,CAAC,EAAER,aAAa,KAAK,CAAC;QACxD;IACF;IACAK,WAAW;QAAC;KAAW;AACzB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/lexical/converters/paragraph.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const ParagraphHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n return `<p>${childrenText}</p>`\n },\n nodeTypes: ['paragraph'],\n}\n"],"names":["convertLexicalNodesToHTML","ParagraphHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","nodeTypes"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,yBAA6C;IACxD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QACA,OAAO,CAAC,GAAG,EAAEC,aAAa,IAAI,CAAC;IACjC;IACAG,WAAW;QAAC;KAAY;AAC1B,EAAC"}
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/paragraph.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const ParagraphHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n return `<p>${childrenText}</p>`\n },\n nodeTypes: ['paragraph'],\n}\n"],"names":["convertLexicalNodesToHTML","ParagraphHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","nodeTypes"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,yBAA6C;IACxD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QACA,OAAO,CAAC,GAAG,EAAEC,aAAa,IAAI,CAAC;IACjC;IACAG,WAAW;QAAC;KAAY;AAC1B,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/lexical/converters/quote.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const QuoteHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n return `<blockquote>${childrenText}</blockquote>`\n },\n nodeTypes: ['quote'],\n}\n"],"names":["convertLexicalNodesToHTML","QuoteHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","nodeTypes"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,qBAAyC;IACpD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,OAAO,CAAC,YAAY,EAAEC,aAAa,aAAa,CAAC;IACnD;IACAG,WAAW;QAAC;KAAQ;AACtB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/quote.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const QuoteHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n return `<blockquote>${childrenText}</blockquote>`\n },\n nodeTypes: ['quote'],\n}\n"],"names":["convertLexicalNodesToHTML","QuoteHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","nodeTypes"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,qBAAyC;IACpD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,OAAO,CAAC,YAAY,EAAEC,aAAa,aAAa,CAAC;IACnD;IACAG,WAAW;QAAC;KAAQ;AACtB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/lexical/converters/text.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { replaceDoubleCurlys } from '../../replaceDoubleCurlys.js'\nimport { NodeFormat } from '../nodeFormat.js'\n\nexport const TextHTMLConverter: HTMLConverter<any> = {\n converter({ node, submissionData }) {\n let text = node.text\n\n if (submissionData) {\n text = replaceDoubleCurlys(text, submissionData)\n }\n\n if (node.format & NodeFormat.IS_BOLD) {\n text = `<strong>${text}</strong>`\n }\n if (node.format & NodeFormat.IS_ITALIC) {\n text = `<em>${text}</em>`\n }\n if (node.format & NodeFormat.IS_STRIKETHROUGH) {\n text = `<span style=\"text-decoration: line-through\">${text}</span>`\n }\n if (node.format & NodeFormat.IS_UNDERLINE) {\n text = `<span style=\"text-decoration: underline\">${text}</span>`\n }\n if (node.format & NodeFormat.IS_CODE) {\n text = `<code>${text}</code>`\n }\n if (node.format & NodeFormat.IS_SUBSCRIPT) {\n text = `<sub>${text}</sub>`\n }\n if (node.format & NodeFormat.IS_SUPERSCRIPT) {\n text = `<sup>${text}</sup>`\n }\n\n return text\n },\n nodeTypes: ['text'],\n}\n"],"names":["replaceDoubleCurlys","NodeFormat","TextHTMLConverter","converter","node","submissionData","text","format","IS_BOLD","IS_ITALIC","IS_STRIKETHROUGH","IS_UNDERLINE","IS_CODE","IS_SUBSCRIPT","IS_SUPERSCRIPT","nodeTypes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,mBAAmB,QAAQ,+BAA8B;AAClE,SAASC,UAAU,QAAQ,mBAAkB;AAE7C,OAAO,MAAMC,oBAAwC;IACnDC,WAAU,EAAEC,IAAI,EAAEC,cAAc,EAAE;QAChC,IAAIC,OAAOF,KAAKE,IAAI;QAEpB,IAAID,gBAAgB;YAClBC,OAAON,oBAAoBM,MAAMD;QACnC;QAEA,IAAID,KAAKG,MAAM,GAAGN,WAAWO,OAAO,EAAE;YACpCF,OAAO,CAAC,QAAQ,EAAEA,KAAK,SAAS,CAAC;QACnC;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWQ,SAAS,EAAE;YACtCH,OAAO,CAAC,IAAI,EAAEA,KAAK,KAAK,CAAC;QAC3B;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWS,gBAAgB,EAAE;YAC7CJ,OAAO,CAAC,4CAA4C,EAAEA,KAAK,OAAO,CAAC;QACrE;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWU,YAAY,EAAE;YACzCL,OAAO,CAAC,yCAAyC,EAAEA,KAAK,OAAO,CAAC;QAClE;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWW,OAAO,EAAE;YACpCN,OAAO,CAAC,MAAM,EAAEA,KAAK,OAAO,CAAC;QAC/B;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWY,YAAY,EAAE;YACzCP,OAAO,CAAC,KAAK,EAAEA,KAAK,MAAM,CAAC;QAC7B;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWa,cAAc,EAAE;YAC3CR,OAAO,CAAC,KAAK,EAAEA,KAAK,MAAM,CAAC;QAC7B;QAEA,OAAOA;IACT;IACAS,WAAW;QAAC;KAAO;AACrB,EAAC"}
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/text.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { replaceDoubleCurlys } from '../../replaceDoubleCurlys.js'\nimport { NodeFormat } from '../nodeFormat.js'\n\nexport const TextHTMLConverter: HTMLConverter<any> = {\n converter({ node, submissionData }) {\n let text = node.text\n\n if (submissionData) {\n text = replaceDoubleCurlys(text, submissionData)\n }\n\n if (node.format & NodeFormat.IS_BOLD) {\n text = `<strong>${text}</strong>`\n }\n if (node.format & NodeFormat.IS_ITALIC) {\n text = `<em>${text}</em>`\n }\n if (node.format & NodeFormat.IS_STRIKETHROUGH) {\n text = `<span style=\"text-decoration: line-through\">${text}</span>`\n }\n if (node.format & NodeFormat.IS_UNDERLINE) {\n text = `<span style=\"text-decoration: underline\">${text}</span>`\n }\n if (node.format & NodeFormat.IS_CODE) {\n text = `<code>${text}</code>`\n }\n if (node.format & NodeFormat.IS_SUBSCRIPT) {\n text = `<sub>${text}</sub>`\n }\n if (node.format & NodeFormat.IS_SUPERSCRIPT) {\n text = `<sup>${text}</sup>`\n }\n\n return text\n },\n nodeTypes: ['text'],\n}\n"],"names":["replaceDoubleCurlys","NodeFormat","TextHTMLConverter","converter","node","submissionData","text","format","IS_BOLD","IS_ITALIC","IS_STRIKETHROUGH","IS_UNDERLINE","IS_CODE","IS_SUBSCRIPT","IS_SUPERSCRIPT","nodeTypes"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,+BAA8B;AAClE,SAASC,UAAU,QAAQ,mBAAkB;AAE7C,OAAO,MAAMC,oBAAwC;IACnDC,WAAU,EAAEC,IAAI,EAAEC,cAAc,EAAE;QAChC,IAAIC,OAAOF,KAAKE,IAAI;QAEpB,IAAID,gBAAgB;YAClBC,OAAON,oBAAoBM,MAAMD;QACnC;QAEA,IAAID,KAAKG,MAAM,GAAGN,WAAWO,OAAO,EAAE;YACpCF,OAAO,CAAC,QAAQ,EAAEA,KAAK,SAAS,CAAC;QACnC;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWQ,SAAS,EAAE;YACtCH,OAAO,CAAC,IAAI,EAAEA,KAAK,KAAK,CAAC;QAC3B;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWS,gBAAgB,EAAE;YAC7CJ,OAAO,CAAC,4CAA4C,EAAEA,KAAK,OAAO,CAAC;QACrE;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWU,YAAY,EAAE;YACzCL,OAAO,CAAC,yCAAyC,EAAEA,KAAK,OAAO,CAAC;QAClE;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWW,OAAO,EAAE;YACpCN,OAAO,CAAC,MAAM,EAAEA,KAAK,OAAO,CAAC;QAC/B;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWY,YAAY,EAAE;YACzCP,OAAO,CAAC,KAAK,EAAEA,KAAK,MAAM,CAAC;QAC7B;QACA,IAAIF,KAAKG,MAAM,GAAGN,WAAWa,cAAc,EAAE;YAC3CR,OAAO,CAAC,KAAK,EAAEA,KAAK,MAAM,CAAC;QAC7B;QAEA,OAAOA;IACT;IACAS,WAAW;QAAC;KAAO;AACrB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/lexical/defaultConverters.ts"],"sourcesContent":["import type { HTMLConverter } from './types.js'\n\nimport { HeadingHTMLConverter } from './converters/heading.js'\nimport { LinebreakHTMLConverter } from './converters/linebreak.js'\nimport { LinkHTMLConverter } from './converters/link.js'\nimport { ListHTMLConverter, ListItemHTMLConverter } from './converters/list.js'\nimport { ParagraphHTMLConverter } from './converters/paragraph.js'\nimport { QuoteHTMLConverter } from './converters/quote.js'\nimport { TextHTMLConverter } from './converters/text.js'\n\nexport const defaultHTMLConverters: HTMLConverter[] = [\n ParagraphHTMLConverter,\n TextHTMLConverter,\n LinebreakHTMLConverter,\n LinkHTMLConverter,\n HeadingHTMLConverter,\n QuoteHTMLConverter,\n ListHTMLConverter,\n ListItemHTMLConverter,\n]\n"],"names":["HeadingHTMLConverter","LinebreakHTMLConverter","LinkHTMLConverter","ListHTMLConverter","ListItemHTMLConverter","ParagraphHTMLConverter","QuoteHTMLConverter","TextHTMLConverter","defaultHTMLConverters"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,oBAAoB,QAAQ,0BAAyB;AAC9D,SAASC,sBAAsB,QAAQ,4BAA2B;AAClE,SAASC,iBAAiB,QAAQ,uBAAsB;AACxD,SAASC,iBAAiB,EAAEC,qBAAqB,QAAQ,uBAAsB;AAC/E,SAASC,sBAAsB,QAAQ,4BAA2B;AAClE,SAASC,kBAAkB,QAAQ,wBAAuB;AAC1D,SAASC,iBAAiB,QAAQ,uBAAsB;AAExD,OAAO,MAAMC,wBAAyC;IACpDH;IACAE;IACAN;IACAC;IACAF;IACAM;IACAH;IACAC;CACD,CAAA"}
1
+ {"version":3,"sources":["../../../src/utilities/lexical/defaultConverters.ts"],"sourcesContent":["import type { HTMLConverter } from './types.js'\n\nimport { HeadingHTMLConverter } from './converters/heading.js'\nimport { LinebreakHTMLConverter } from './converters/linebreak.js'\nimport { LinkHTMLConverter } from './converters/link.js'\nimport { ListHTMLConverter, ListItemHTMLConverter } from './converters/list.js'\nimport { ParagraphHTMLConverter } from './converters/paragraph.js'\nimport { QuoteHTMLConverter } from './converters/quote.js'\nimport { TextHTMLConverter } from './converters/text.js'\n\nexport const defaultHTMLConverters: HTMLConverter[] = [\n ParagraphHTMLConverter,\n TextHTMLConverter,\n LinebreakHTMLConverter,\n LinkHTMLConverter,\n HeadingHTMLConverter,\n QuoteHTMLConverter,\n ListHTMLConverter,\n ListItemHTMLConverter,\n]\n"],"names":["HeadingHTMLConverter","LinebreakHTMLConverter","LinkHTMLConverter","ListHTMLConverter","ListItemHTMLConverter","ParagraphHTMLConverter","QuoteHTMLConverter","TextHTMLConverter","defaultHTMLConverters"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ,0BAAyB;AAC9D,SAASC,sBAAsB,QAAQ,4BAA2B;AAClE,SAASC,iBAAiB,QAAQ,uBAAsB;AACxD,SAASC,iBAAiB,EAAEC,qBAAqB,QAAQ,uBAAsB;AAC/E,SAASC,sBAAsB,QAAQ,4BAA2B;AAClE,SAASC,kBAAkB,QAAQ,wBAAuB;AAC1D,SAASC,iBAAiB,QAAQ,uBAAsB;AAExD,OAAO,MAAMC,wBAAyC;IACpDH;IACAE;IACAN;IACAC;IACAF;IACAM;IACAH;IACAC;CACD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/lexical/nodeFormat.ts"],"sourcesContent":["/* eslint-disable perfectionist/sort-objects */\n/* eslint-disable regexp/no-obscure-range */\n/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\n//This copy-and-pasted from lexical here: https://github.com/facebook/lexical/blob/c2ceee223f46543d12c574e62155e619f9a18a5d/packages/lexical/src/LexicalConstants.ts\n\n// DOM\nexport const NodeFormat = {\n DOM_ELEMENT_TYPE: 1,\n DOM_TEXT_TYPE: 3,\n // Reconciling\n NO_DIRTY_NODES: 0,\n HAS_DIRTY_NODES: 1,\n FULL_RECONCILE: 2,\n // Text node modes\n IS_NORMAL: 0,\n IS_TOKEN: 1,\n IS_SEGMENTED: 2,\n IS_INERT: 3,\n // Text node formatting\n IS_BOLD: 1,\n IS_ITALIC: 1 << 1,\n IS_STRIKETHROUGH: 1 << 2,\n IS_UNDERLINE: 1 << 3,\n IS_CODE: 1 << 4,\n IS_SUBSCRIPT: 1 << 5,\n IS_SUPERSCRIPT: 1 << 6,\n IS_HIGHLIGHT: 1 << 7,\n // Text node details\n IS_DIRECTIONLESS: 1,\n IS_UNMERGEABLE: 1 << 1,\n // Element node formatting\n IS_ALIGN_LEFT: 1,\n IS_ALIGN_CENTER: 2,\n IS_ALIGN_RIGHT: 3,\n IS_ALIGN_JUSTIFY: 4,\n IS_ALIGN_START: 5,\n IS_ALIGN_END: 6,\n} as const\n\nexport const IS_ALL_FORMATTING =\n NodeFormat.IS_BOLD |\n NodeFormat.IS_ITALIC |\n NodeFormat.IS_STRIKETHROUGH |\n NodeFormat.IS_UNDERLINE |\n NodeFormat.IS_CODE |\n NodeFormat.IS_SUBSCRIPT |\n NodeFormat.IS_SUPERSCRIPT |\n NodeFormat.IS_HIGHLIGHT\n\n// Reconciliation\nexport const NON_BREAKING_SPACE = '\\u00A0'\n\nexport const DOUBLE_LINE_BREAK = '\\n\\n'\n\n// For FF, we need to use a non-breaking space, or it gets composition\n// in a stuck state.\n\nconst RTL = '\\u0591-\\u07FF\\uFB1D-\\uFDFD\\uFE70-\\uFEFC'\nconst LTR =\n 'A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6' +\n '\\u00F8-\\u02B8\\u0300-\\u0590\\u0800-\\u1FFF\\u200E\\u2C00-\\uFB1C' +\n '\\uFE00-\\uFE6F\\uFEFD-\\uFFFF'\n\n// eslint-disable-next-line no-misleading-character-class,regexp/no-misleading-unicode-character\nexport const RTL_REGEX = new RegExp('^[^' + LTR + ']*[' + RTL + ']')\n// eslint-disable-next-line no-misleading-character-class,regexp/no-misleading-unicode-character\nexport const LTR_REGEX = new RegExp('^[^' + RTL + ']*[' + LTR + ']')\n\nexport const TEXT_TYPE_TO_FORMAT: Record<any | string, number> = {\n bold: NodeFormat.IS_BOLD,\n code: NodeFormat.IS_CODE,\n highlight: NodeFormat.IS_HIGHLIGHT,\n italic: NodeFormat.IS_ITALIC,\n strikethrough: NodeFormat.IS_STRIKETHROUGH,\n subscript: NodeFormat.IS_SUBSCRIPT,\n superscript: NodeFormat.IS_SUPERSCRIPT,\n underline: NodeFormat.IS_UNDERLINE,\n}\n\nexport const DETAIL_TYPE_TO_DETAIL: Record<any | string, number> = {\n directionless: NodeFormat.IS_DIRECTIONLESS,\n unmergeable: NodeFormat.IS_UNMERGEABLE,\n}\n\nexport const ELEMENT_TYPE_TO_FORMAT: Record<Exclude<any, ''>, number> = {\n center: NodeFormat.IS_ALIGN_CENTER,\n end: NodeFormat.IS_ALIGN_END,\n justify: NodeFormat.IS_ALIGN_JUSTIFY,\n left: NodeFormat.IS_ALIGN_LEFT,\n right: NodeFormat.IS_ALIGN_RIGHT,\n start: NodeFormat.IS_ALIGN_START,\n}\n\nexport const ELEMENT_FORMAT_TO_TYPE: Record<number, any> = {\n [NodeFormat.IS_ALIGN_CENTER]: 'center',\n [NodeFormat.IS_ALIGN_END]: 'end',\n [NodeFormat.IS_ALIGN_JUSTIFY]: 'justify',\n [NodeFormat.IS_ALIGN_LEFT]: 'left',\n [NodeFormat.IS_ALIGN_RIGHT]: 'right',\n [NodeFormat.IS_ALIGN_START]: 'start',\n}\n\nexport const TEXT_MODE_TO_TYPE: Record<any, 0 | 1 | 2> = {\n normal: NodeFormat.IS_NORMAL,\n segmented: NodeFormat.IS_SEGMENTED,\n token: NodeFormat.IS_TOKEN,\n}\n\nexport const TEXT_TYPE_TO_MODE: Record<number, any> = {\n [NodeFormat.IS_NORMAL]: 'normal',\n [NodeFormat.IS_SEGMENTED]: 'segmented',\n [NodeFormat.IS_TOKEN]: 'token',\n}\n"],"names":["NodeFormat","DOM_ELEMENT_TYPE","DOM_TEXT_TYPE","NO_DIRTY_NODES","HAS_DIRTY_NODES","FULL_RECONCILE","IS_NORMAL","IS_TOKEN","IS_SEGMENTED","IS_INERT","IS_BOLD","IS_ITALIC","IS_STRIKETHROUGH","IS_UNDERLINE","IS_CODE","IS_SUBSCRIPT","IS_SUPERSCRIPT","IS_HIGHLIGHT","IS_DIRECTIONLESS","IS_UNMERGEABLE","IS_ALIGN_LEFT","IS_ALIGN_CENTER","IS_ALIGN_RIGHT","IS_ALIGN_JUSTIFY","IS_ALIGN_START","IS_ALIGN_END","IS_ALL_FORMATTING","NON_BREAKING_SPACE","DOUBLE_LINE_BREAK","RTL","LTR","RTL_REGEX","RegExp","LTR_REGEX","TEXT_TYPE_TO_FORMAT","bold","code","highlight","italic","strikethrough","subscript","superscript","underline","DETAIL_TYPE_TO_DETAIL","directionless","unmergeable","ELEMENT_TYPE_TO_FORMAT","center","end","justify","left","right","start","ELEMENT_FORMAT_TO_TYPE","TEXT_MODE_TO_TYPE","normal","segmented","token","TEXT_TYPE_TO_MODE"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,6CAA6C,GAC7C,0CAA0C,GAC1C,oEAAoE,GACpE,oKAAoK;AAEpK,MAAM;AACN,OAAO,MAAMA,aAAa;IACxBC,kBAAkB;IAClBC,eAAe;IACf,cAAc;IACdC,gBAAgB;IAChBC,iBAAiB;IACjBC,gBAAgB;IAChB,kBAAkB;IAClBC,WAAW;IACXC,UAAU;IACVC,cAAc;IACdC,UAAU;IACV,uBAAuB;IACvBC,SAAS;IACTC,WAAW,KAAK;IAChBC,kBAAkB,KAAK;IACvBC,cAAc,KAAK;IACnBC,SAAS,KAAK;IACdC,cAAc,KAAK;IACnBC,gBAAgB,KAAK;IACrBC,cAAc,KAAK;IACnB,oBAAoB;IACpBC,kBAAkB;IAClBC,gBAAgB,KAAK;IACrB,0BAA0B;IAC1BC,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC,kBAAkB;IAClBC,gBAAgB;IAChBC,cAAc;AAChB,EAAU;AAEV,OAAO,MAAMC,oBACX1B,WAAWU,OAAO,GAClBV,WAAWW,SAAS,GACpBX,WAAWY,gBAAgB,GAC3BZ,WAAWa,YAAY,GACvBb,WAAWc,OAAO,GAClBd,WAAWe,YAAY,GACvBf,WAAWgB,cAAc,GACzBhB,WAAWiB,YAAY,CAAA;AAEzB,iBAAiB;AACjB,OAAO,MAAMU,qBAAqB,SAAQ;AAE1C,OAAO,MAAMC,oBAAoB,OAAM;AAEvC,sEAAsE;AACtE,oBAAoB;AAEpB,MAAMC,MAAM;AACZ,MAAMC,MACJ,qCACA,+DACA;AAEF,gGAAgG;AAChG,OAAO,MAAMC,YAAY,IAAIC,OAAO,QAAQF,MAAM,QAAQD,MAAM,KAAI;AACpE,gGAAgG;AAChG,OAAO,MAAMI,YAAY,IAAID,OAAO,QAAQH,MAAM,QAAQC,MAAM,KAAI;AAEpE,OAAO,MAAMI,sBAAoD;IAC/DC,MAAMnC,WAAWU,OAAO;IACxB0B,MAAMpC,WAAWc,OAAO;IACxBuB,WAAWrC,WAAWiB,YAAY;IAClCqB,QAAQtC,WAAWW,SAAS;IAC5B4B,eAAevC,WAAWY,gBAAgB;IAC1C4B,WAAWxC,WAAWe,YAAY;IAClC0B,aAAazC,WAAWgB,cAAc;IACtC0B,WAAW1C,WAAWa,YAAY;AACpC,EAAC;AAED,OAAO,MAAM8B,wBAAsD;IACjEC,eAAe5C,WAAWkB,gBAAgB;IAC1C2B,aAAa7C,WAAWmB,cAAc;AACxC,EAAC;AAED,OAAO,MAAM2B,yBAA2D;IACtEC,QAAQ/C,WAAWqB,eAAe;IAClC2B,KAAKhD,WAAWyB,YAAY;IAC5BwB,SAASjD,WAAWuB,gBAAgB;IACpC2B,MAAMlD,WAAWoB,aAAa;IAC9B+B,OAAOnD,WAAWsB,cAAc;IAChC8B,OAAOpD,WAAWwB,cAAc;AAClC,EAAC;AAED,OAAO,MAAM6B,yBAA8C;IACzD,CAACrD,WAAWqB,eAAe,CAAC,EAAE;IAC9B,CAACrB,WAAWyB,YAAY,CAAC,EAAE;IAC3B,CAACzB,WAAWuB,gBAAgB,CAAC,EAAE;IAC/B,CAACvB,WAAWoB,aAAa,CAAC,EAAE;IAC5B,CAACpB,WAAWsB,cAAc,CAAC,EAAE;IAC7B,CAACtB,WAAWwB,cAAc,CAAC,EAAE;AAC/B,EAAC;AAED,OAAO,MAAM8B,oBAA4C;IACvDC,QAAQvD,WAAWM,SAAS;IAC5BkD,WAAWxD,WAAWQ,YAAY;IAClCiD,OAAOzD,WAAWO,QAAQ;AAC5B,EAAC;AAED,OAAO,MAAMmD,oBAAyC;IACpD,CAAC1D,WAAWM,SAAS,CAAC,EAAE;IACxB,CAACN,WAAWQ,YAAY,CAAC,EAAE;IAC3B,CAACR,WAAWO,QAAQ,CAAC,EAAE;AACzB,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/lexical/nodeFormat.ts"],"sourcesContent":["/* eslint-disable perfectionist/sort-objects */\n/* eslint-disable regexp/no-obscure-range */\n/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\n//This copy-and-pasted from lexical here: https://github.com/facebook/lexical/blob/c2ceee223f46543d12c574e62155e619f9a18a5d/packages/lexical/src/LexicalConstants.ts\n\n// DOM\nexport const NodeFormat = {\n DOM_ELEMENT_TYPE: 1,\n DOM_TEXT_TYPE: 3,\n // Reconciling\n NO_DIRTY_NODES: 0,\n HAS_DIRTY_NODES: 1,\n FULL_RECONCILE: 2,\n // Text node modes\n IS_NORMAL: 0,\n IS_TOKEN: 1,\n IS_SEGMENTED: 2,\n IS_INERT: 3,\n // Text node formatting\n IS_BOLD: 1,\n IS_ITALIC: 1 << 1,\n IS_STRIKETHROUGH: 1 << 2,\n IS_UNDERLINE: 1 << 3,\n IS_CODE: 1 << 4,\n IS_SUBSCRIPT: 1 << 5,\n IS_SUPERSCRIPT: 1 << 6,\n IS_HIGHLIGHT: 1 << 7,\n // Text node details\n IS_DIRECTIONLESS: 1,\n IS_UNMERGEABLE: 1 << 1,\n // Element node formatting\n IS_ALIGN_LEFT: 1,\n IS_ALIGN_CENTER: 2,\n IS_ALIGN_RIGHT: 3,\n IS_ALIGN_JUSTIFY: 4,\n IS_ALIGN_START: 5,\n IS_ALIGN_END: 6,\n} as const\n\nexport const IS_ALL_FORMATTING =\n NodeFormat.IS_BOLD |\n NodeFormat.IS_ITALIC |\n NodeFormat.IS_STRIKETHROUGH |\n NodeFormat.IS_UNDERLINE |\n NodeFormat.IS_CODE |\n NodeFormat.IS_SUBSCRIPT |\n NodeFormat.IS_SUPERSCRIPT |\n NodeFormat.IS_HIGHLIGHT\n\n// Reconciliation\nexport const NON_BREAKING_SPACE = '\\u00A0'\n\nexport const DOUBLE_LINE_BREAK = '\\n\\n'\n\n// For FF, we need to use a non-breaking space, or it gets composition\n// in a stuck state.\n\nconst RTL = '\\u0591-\\u07FF\\uFB1D-\\uFDFD\\uFE70-\\uFEFC'\nconst LTR =\n 'A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6' +\n '\\u00F8-\\u02B8\\u0300-\\u0590\\u0800-\\u1FFF\\u200E\\u2C00-\\uFB1C' +\n '\\uFE00-\\uFE6F\\uFEFD-\\uFFFF'\n\n// eslint-disable-next-line no-misleading-character-class,regexp/no-misleading-unicode-character\nexport const RTL_REGEX = new RegExp('^[^' + LTR + ']*[' + RTL + ']')\n// eslint-disable-next-line no-misleading-character-class,regexp/no-misleading-unicode-character\nexport const LTR_REGEX = new RegExp('^[^' + RTL + ']*[' + LTR + ']')\n\nexport const TEXT_TYPE_TO_FORMAT: Record<any | string, number> = {\n bold: NodeFormat.IS_BOLD,\n code: NodeFormat.IS_CODE,\n highlight: NodeFormat.IS_HIGHLIGHT,\n italic: NodeFormat.IS_ITALIC,\n strikethrough: NodeFormat.IS_STRIKETHROUGH,\n subscript: NodeFormat.IS_SUBSCRIPT,\n superscript: NodeFormat.IS_SUPERSCRIPT,\n underline: NodeFormat.IS_UNDERLINE,\n}\n\nexport const DETAIL_TYPE_TO_DETAIL: Record<any | string, number> = {\n directionless: NodeFormat.IS_DIRECTIONLESS,\n unmergeable: NodeFormat.IS_UNMERGEABLE,\n}\n\nexport const ELEMENT_TYPE_TO_FORMAT: Record<Exclude<any, ''>, number> = {\n center: NodeFormat.IS_ALIGN_CENTER,\n end: NodeFormat.IS_ALIGN_END,\n justify: NodeFormat.IS_ALIGN_JUSTIFY,\n left: NodeFormat.IS_ALIGN_LEFT,\n right: NodeFormat.IS_ALIGN_RIGHT,\n start: NodeFormat.IS_ALIGN_START,\n}\n\nexport const ELEMENT_FORMAT_TO_TYPE: Record<number, any> = {\n [NodeFormat.IS_ALIGN_CENTER]: 'center',\n [NodeFormat.IS_ALIGN_END]: 'end',\n [NodeFormat.IS_ALIGN_JUSTIFY]: 'justify',\n [NodeFormat.IS_ALIGN_LEFT]: 'left',\n [NodeFormat.IS_ALIGN_RIGHT]: 'right',\n [NodeFormat.IS_ALIGN_START]: 'start',\n}\n\nexport const TEXT_MODE_TO_TYPE: Record<any, 0 | 1 | 2> = {\n normal: NodeFormat.IS_NORMAL,\n segmented: NodeFormat.IS_SEGMENTED,\n token: NodeFormat.IS_TOKEN,\n}\n\nexport const TEXT_TYPE_TO_MODE: Record<number, any> = {\n [NodeFormat.IS_NORMAL]: 'normal',\n [NodeFormat.IS_SEGMENTED]: 'segmented',\n [NodeFormat.IS_TOKEN]: 'token',\n}\n"],"names":["NodeFormat","DOM_ELEMENT_TYPE","DOM_TEXT_TYPE","NO_DIRTY_NODES","HAS_DIRTY_NODES","FULL_RECONCILE","IS_NORMAL","IS_TOKEN","IS_SEGMENTED","IS_INERT","IS_BOLD","IS_ITALIC","IS_STRIKETHROUGH","IS_UNDERLINE","IS_CODE","IS_SUBSCRIPT","IS_SUPERSCRIPT","IS_HIGHLIGHT","IS_DIRECTIONLESS","IS_UNMERGEABLE","IS_ALIGN_LEFT","IS_ALIGN_CENTER","IS_ALIGN_RIGHT","IS_ALIGN_JUSTIFY","IS_ALIGN_START","IS_ALIGN_END","IS_ALL_FORMATTING","NON_BREAKING_SPACE","DOUBLE_LINE_BREAK","RTL","LTR","RTL_REGEX","RegExp","LTR_REGEX","TEXT_TYPE_TO_FORMAT","bold","code","highlight","italic","strikethrough","subscript","superscript","underline","DETAIL_TYPE_TO_DETAIL","directionless","unmergeable","ELEMENT_TYPE_TO_FORMAT","center","end","justify","left","right","start","ELEMENT_FORMAT_TO_TYPE","TEXT_MODE_TO_TYPE","normal","segmented","token","TEXT_TYPE_TO_MODE"],"mappings":"AAAA,6CAA6C,GAC7C,0CAA0C,GAC1C,oEAAoE,GACpE,oKAAoK;AAEpK,MAAM;AACN,OAAO,MAAMA,aAAa;IACxBC,kBAAkB;IAClBC,eAAe;IACf,cAAc;IACdC,gBAAgB;IAChBC,iBAAiB;IACjBC,gBAAgB;IAChB,kBAAkB;IAClBC,WAAW;IACXC,UAAU;IACVC,cAAc;IACdC,UAAU;IACV,uBAAuB;IACvBC,SAAS;IACTC,WAAW,KAAK;IAChBC,kBAAkB,KAAK;IACvBC,cAAc,KAAK;IACnBC,SAAS,KAAK;IACdC,cAAc,KAAK;IACnBC,gBAAgB,KAAK;IACrBC,cAAc,KAAK;IACnB,oBAAoB;IACpBC,kBAAkB;IAClBC,gBAAgB,KAAK;IACrB,0BAA0B;IAC1BC,eAAe;IACfC,iBAAiB;IACjBC,gBAAgB;IAChBC,kBAAkB;IAClBC,gBAAgB;IAChBC,cAAc;AAChB,EAAU;AAEV,OAAO,MAAMC,oBACX1B,WAAWU,OAAO,GAClBV,WAAWW,SAAS,GACpBX,WAAWY,gBAAgB,GAC3BZ,WAAWa,YAAY,GACvBb,WAAWc,OAAO,GAClBd,WAAWe,YAAY,GACvBf,WAAWgB,cAAc,GACzBhB,WAAWiB,YAAY,CAAA;AAEzB,iBAAiB;AACjB,OAAO,MAAMU,qBAAqB,SAAQ;AAE1C,OAAO,MAAMC,oBAAoB,OAAM;AAEvC,sEAAsE;AACtE,oBAAoB;AAEpB,MAAMC,MAAM;AACZ,MAAMC,MACJ,qCACA,+DACA;AAEF,gGAAgG;AAChG,OAAO,MAAMC,YAAY,IAAIC,OAAO,QAAQF,MAAM,QAAQD,MAAM,KAAI;AACpE,gGAAgG;AAChG,OAAO,MAAMI,YAAY,IAAID,OAAO,QAAQH,MAAM,QAAQC,MAAM,KAAI;AAEpE,OAAO,MAAMI,sBAAoD;IAC/DC,MAAMnC,WAAWU,OAAO;IACxB0B,MAAMpC,WAAWc,OAAO;IACxBuB,WAAWrC,WAAWiB,YAAY;IAClCqB,QAAQtC,WAAWW,SAAS;IAC5B4B,eAAevC,WAAWY,gBAAgB;IAC1C4B,WAAWxC,WAAWe,YAAY;IAClC0B,aAAazC,WAAWgB,cAAc;IACtC0B,WAAW1C,WAAWa,YAAY;AACpC,EAAC;AAED,OAAO,MAAM8B,wBAAsD;IACjEC,eAAe5C,WAAWkB,gBAAgB;IAC1C2B,aAAa7C,WAAWmB,cAAc;AACxC,EAAC;AAED,OAAO,MAAM2B,yBAA2D;IACtEC,QAAQ/C,WAAWqB,eAAe;IAClC2B,KAAKhD,WAAWyB,YAAY;IAC5BwB,SAASjD,WAAWuB,gBAAgB;IACpC2B,MAAMlD,WAAWoB,aAAa;IAC9B+B,OAAOnD,WAAWsB,cAAc;IAChC8B,OAAOpD,WAAWwB,cAAc;AAClC,EAAC;AAED,OAAO,MAAM6B,yBAA8C;IACzD,CAACrD,WAAWqB,eAAe,CAAC,EAAE;IAC9B,CAACrB,WAAWyB,YAAY,CAAC,EAAE;IAC3B,CAACzB,WAAWuB,gBAAgB,CAAC,EAAE;IAC/B,CAACvB,WAAWoB,aAAa,CAAC,EAAE;IAC5B,CAACpB,WAAWsB,cAAc,CAAC,EAAE;IAC7B,CAACtB,WAAWwB,cAAc,CAAC,EAAE;AAC/B,EAAC;AAED,OAAO,MAAM8B,oBAA4C;IACvDC,QAAQvD,WAAWM,SAAS;IAC5BkD,WAAWxD,WAAWQ,YAAY;IAClCiD,OAAOzD,WAAWO,QAAQ;AAC5B,EAAC;AAED,OAAO,MAAMmD,oBAAyC;IACpD,CAAC1D,WAAWM,SAAS,CAAC,EAAE;IACxB,CAACN,WAAWQ,YAAY,CAAC,EAAE;IAC3B,CAACR,WAAWO,QAAQ,CAAC,EAAE;AACzB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/lexical/serializeLexical.ts"],"sourcesContent":["import type { HTMLConverter, SerializedLexicalNodeWithParent } from './types.js'\n\nimport { defaultHTMLConverters } from './defaultConverters.js'\n\nexport async function serializeLexical(data?: any, submissionData?: any): Promise<string> {\n const converters: HTMLConverter[] = defaultHTMLConverters\n\n if (data?.root?.children?.length) {\n return await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: data?.root?.children,\n parent: data?.root,\n submissionData,\n })\n }\n return ''\n}\n\nexport async function convertLexicalNodesToHTML({\n converters,\n lexicalNodes,\n parent,\n submissionData,\n}: {\n converters: HTMLConverter[]\n lexicalNodes: any[]\n parent: SerializedLexicalNodeWithParent\n submissionData?: any\n}): Promise<string> {\n const unknownConverter = converters.find((converter) => converter.nodeTypes.includes('unknown'))\n\n const htmlArray = await Promise.all(\n lexicalNodes.map(async (node, i) => {\n const converterForNode = converters.find((converter) =>\n converter.nodeTypes.includes(node.type),\n )\n if (!converterForNode) {\n if (unknownConverter) {\n return unknownConverter.converter({\n childIndex: i,\n converters,\n node,\n parent,\n submissionData,\n })\n }\n return '<span>unknown node</span>'\n }\n\n return converterForNode.converter({\n childIndex: i,\n converters,\n node,\n parent,\n submissionData,\n })\n }),\n )\n\n return htmlArray.join('') || ''\n}\n"],"names":["defaultHTMLConverters","serializeLexical","data","submissionData","converters","root","children","length","convertLexicalNodesToHTML","lexicalNodes","parent","unknownConverter","find","converter","nodeTypes","includes","htmlArray","Promise","all","map","node","i","converterForNode","type","childIndex","join"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,qBAAqB,QAAQ,yBAAwB;AAE9D,OAAO,eAAeC,iBAAiBC,IAAU,EAAEC,cAAoB;IACrE,MAAMC,aAA8BJ;IAEpC,IAAIE,MAAMG,MAAMC,UAAUC,QAAQ;QAChC,OAAO,MAAMC,0BAA0B;YACrCJ;YACAK,cAAcP,MAAMG,MAAMC;YAC1BI,QAAQR,MAAMG;YACdF;QACF;IACF;IACA,OAAO;AACT;AAEA,OAAO,eAAeK,0BAA0B,EAC9CJ,UAAU,EACVK,YAAY,EACZC,MAAM,EACNP,cAAc,EAMf;IACC,MAAMQ,mBAAmBP,WAAWQ,IAAI,CAAC,CAACC,YAAcA,UAAUC,SAAS,CAACC,QAAQ,CAAC;IAErF,MAAMC,YAAY,MAAMC,QAAQC,GAAG,CACjCT,aAAaU,GAAG,CAAC,OAAOC,MAAMC;QAC5B,MAAMC,mBAAmBlB,WAAWQ,IAAI,CAAC,CAACC,YACxCA,UAAUC,SAAS,CAACC,QAAQ,CAACK,KAAKG,IAAI;QAExC,IAAI,CAACD,kBAAkB;YACrB,IAAIX,kBAAkB;gBACpB,OAAOA,iBAAiBE,SAAS,CAAC;oBAChCW,YAAYH;oBACZjB;oBACAgB;oBACAV;oBACAP;gBACF;YACF;YACA,OAAO;QACT;QAEA,OAAOmB,iBAAiBT,SAAS,CAAC;YAChCW,YAAYH;YACZjB;YACAgB;YACAV;YACAP;QACF;IACF;IAGF,OAAOa,UAAUS,IAAI,CAAC,OAAO;AAC/B"}
1
+ {"version":3,"sources":["../../../src/utilities/lexical/serializeLexical.ts"],"sourcesContent":["import type { HTMLConverter, SerializedLexicalNodeWithParent } from './types.js'\n\nimport { defaultHTMLConverters } from './defaultConverters.js'\n\nexport async function serializeLexical(data?: any, submissionData?: any): Promise<string> {\n const converters: HTMLConverter[] = defaultHTMLConverters\n\n if (data?.root?.children?.length) {\n return await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: data?.root?.children,\n parent: data?.root,\n submissionData,\n })\n }\n return ''\n}\n\nexport async function convertLexicalNodesToHTML({\n converters,\n lexicalNodes,\n parent,\n submissionData,\n}: {\n converters: HTMLConverter[]\n lexicalNodes: any[]\n parent: SerializedLexicalNodeWithParent\n submissionData?: any\n}): Promise<string> {\n const unknownConverter = converters.find((converter) => converter.nodeTypes.includes('unknown'))\n\n const htmlArray = await Promise.all(\n lexicalNodes.map(async (node, i) => {\n const converterForNode = converters.find((converter) =>\n converter.nodeTypes.includes(node.type),\n )\n if (!converterForNode) {\n if (unknownConverter) {\n return unknownConverter.converter({\n childIndex: i,\n converters,\n node,\n parent,\n submissionData,\n })\n }\n return '<span>unknown node</span>'\n }\n\n return converterForNode.converter({\n childIndex: i,\n converters,\n node,\n parent,\n submissionData,\n })\n }),\n )\n\n return htmlArray.join('') || ''\n}\n"],"names":["defaultHTMLConverters","serializeLexical","data","submissionData","converters","root","children","length","convertLexicalNodesToHTML","lexicalNodes","parent","unknownConverter","find","converter","nodeTypes","includes","htmlArray","Promise","all","map","node","i","converterForNode","type","childIndex","join"],"mappings":"AAEA,SAASA,qBAAqB,QAAQ,yBAAwB;AAE9D,OAAO,eAAeC,iBAAiBC,IAAU,EAAEC,cAAoB;IACrE,MAAMC,aAA8BJ;IAEpC,IAAIE,MAAMG,MAAMC,UAAUC,QAAQ;QAChC,OAAO,MAAMC,0BAA0B;YACrCJ;YACAK,cAAcP,MAAMG,MAAMC;YAC1BI,QAAQR,MAAMG;YACdF;QACF;IACF;IACA,OAAO;AACT;AAEA,OAAO,eAAeK,0BAA0B,EAC9CJ,UAAU,EACVK,YAAY,EACZC,MAAM,EACNP,cAAc,EAMf;IACC,MAAMQ,mBAAmBP,WAAWQ,IAAI,CAAC,CAACC,YAAcA,UAAUC,SAAS,CAACC,QAAQ,CAAC;IAErF,MAAMC,YAAY,MAAMC,QAAQC,GAAG,CACjCT,aAAaU,GAAG,CAAC,OAAOC,MAAMC;QAC5B,MAAMC,mBAAmBlB,WAAWQ,IAAI,CAAC,CAACC,YACxCA,UAAUC,SAAS,CAACC,QAAQ,CAACK,KAAKG,IAAI;QAExC,IAAI,CAACD,kBAAkB;YACrB,IAAIX,kBAAkB;gBACpB,OAAOA,iBAAiBE,SAAS,CAAC;oBAChCW,YAAYH;oBACZjB;oBACAgB;oBACAV;oBACAP;gBACF;YACF;YACA,OAAO;QACT;QAEA,OAAOmB,iBAAiBT,SAAS,CAAC;YAChCW,YAAYH;YACZjB;YACAgB;YACAV;YACAP;QACF;IACF;IAGF,OAAOa,UAAUS,IAAI,CAAC,OAAO;AAC/B"}
@@ -8,7 +8,7 @@ export type HTMLConverter<T = any> = {
8
8
  }) => Promise<string> | string;
9
9
  nodeTypes: string[];
10
10
  };
11
- export type SerializedLexicalNodeWithParent = any & {
11
+ export type SerializedLexicalNodeWithParent = {
12
12
  parent?: any;
13
- };
13
+ } & any;
14
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utilities/lexical/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI;IACnC,SAAS,EAAE,CAAC,EACV,UAAU,EACV,UAAU,EACV,IAAI,EACJ,MAAM,EACN,cAAc,GACf,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,aAAa,EAAE,CAAA;QAC3B,IAAI,EAAE,CAAC,CAAA;QACP,MAAM,EAAE,+BAA+B,CAAA;QACvC,cAAc,CAAC,EAAE,GAAG,CAAA;KACrB,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG,GAAG,GAAG;IAClD,MAAM,CAAC,EAAE,GAAG,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utilities/lexical/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI;IACnC,SAAS,EAAE,CAAC,EACV,UAAU,EACV,UAAU,EACV,IAAI,EACJ,MAAM,EACN,cAAc,GACf,EAAE;QACD,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,aAAa,EAAE,CAAA;QAC3B,IAAI,EAAE,CAAC,CAAA;QACP,MAAM,EAAE,+BAA+B,CAAA;QACvC,cAAc,CAAC,EAAE,GAAG,CAAA;KACrB,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,CAAC,EAAE,GAAG,CAAA;CACb,GAAG,GAAG,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/lexical/types.ts"],"sourcesContent":["export type HTMLConverter<T = any> = {\n converter: ({\n childIndex,\n converters,\n node,\n parent,\n submissionData,\n }: {\n childIndex: number\n converters: HTMLConverter[]\n node: T\n parent: SerializedLexicalNodeWithParent\n submissionData?: any\n }) => Promise<string> | string\n nodeTypes: string[]\n}\n\nexport type SerializedLexicalNodeWithParent = any & {\n parent?: any\n}\n"],"names":[],"rangeMappings":"","mappings":"AAiBA,WAEC"}
1
+ {"version":3,"sources":["../../../src/utilities/lexical/types.ts"],"sourcesContent":["export type HTMLConverter<T = any> = {\n converter: ({\n childIndex,\n converters,\n node,\n parent,\n submissionData,\n }: {\n childIndex: number\n converters: HTMLConverter[]\n node: T\n parent: SerializedLexicalNodeWithParent\n submissionData?: any\n }) => Promise<string> | string\n nodeTypes: string[]\n}\n\nexport type SerializedLexicalNodeWithParent = {\n parent?: any\n} & any\n"],"names":[],"mappings":"AAiBA,WAEO"}
@@ -1 +1 @@
1
- {"version":3,"file":"replaceDoubleCurlys.d.ts","sourceRoot":"","sources":["../../src/utilities/replaceDoubleCurlys.ts"],"names":[],"mappings":"AAAA,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,KAAK,cAAc,GAAG,aAAa,EAAE,CAAA;AAErC,eAAO,MAAM,mBAAmB,QAAS,MAAM,iCAA+B,MAU7E,CAAA"}
1
+ {"version":3,"file":"replaceDoubleCurlys.d.ts","sourceRoot":"","sources":["../../src/utilities/replaceDoubleCurlys.ts"],"names":[],"mappings":"AAAA,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,KAAK,cAAc,GAAG,aAAa,EAAE,CAAA;AAErC,eAAO,MAAM,mBAAmB,QAAS,MAAM,cAAc,cAAc,KAAG,MAU7E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/replaceDoubleCurlys.ts"],"sourcesContent":["interface EmailVariable {\n field: string\n value: string\n}\n\ntype EmailVariables = EmailVariable[]\n\nexport const replaceDoubleCurlys = (str: string, variables?: EmailVariables): string => {\n const regex = /\\{\\{(.+?)\\}\\}/g\n if (str && variables) {\n return str.replace(regex, (_, variable) => {\n const foundVariable = variables.find(({ field: fieldName }) => variable === fieldName)\n if (foundVariable) return foundVariable.value\n return variable\n })\n }\n return str\n}\n"],"names":["replaceDoubleCurlys","str","variables","regex","replace","_","variable","foundVariable","find","field","fieldName","value"],"rangeMappings":";;;;;;;;;;","mappings":"AAOA,OAAO,MAAMA,sBAAsB,CAACC,KAAaC;IAC/C,MAAMC,QAAQ;IACd,IAAIF,OAAOC,WAAW;QACpB,OAAOD,IAAIG,OAAO,CAACD,OAAO,CAACE,GAAGC;YAC5B,MAAMC,gBAAgBL,UAAUM,IAAI,CAAC,CAAC,EAAEC,OAAOC,SAAS,EAAE,GAAKJ,aAAaI;YAC5E,IAAIH,eAAe,OAAOA,cAAcI,KAAK;YAC7C,OAAOL;QACT;IACF;IACA,OAAOL;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/replaceDoubleCurlys.ts"],"sourcesContent":["interface EmailVariable {\n field: string\n value: string\n}\n\ntype EmailVariables = EmailVariable[]\n\nexport const replaceDoubleCurlys = (str: string, variables?: EmailVariables): string => {\n const regex = /\\{\\{(.+?)\\}\\}/g\n if (str && variables) {\n return str.replace(regex, (_, variable) => {\n const foundVariable = variables.find(({ field: fieldName }) => variable === fieldName)\n if (foundVariable) return foundVariable.value\n return variable\n })\n }\n return str\n}\n"],"names":["replaceDoubleCurlys","str","variables","regex","replace","_","variable","foundVariable","find","field","fieldName","value"],"mappings":"AAOA,OAAO,MAAMA,sBAAsB,CAACC,KAAaC;IAC/C,MAAMC,QAAQ;IACd,IAAIF,OAAOC,WAAW;QACpB,OAAOD,IAAIG,OAAO,CAACD,OAAO,CAACE,GAAGC;YAC5B,MAAMC,gBAAgBL,UAAUM,IAAI,CAAC,CAAC,EAAEC,OAAOC,SAAS,EAAE,GAAKJ,aAAaI;YAC5E,IAAIH,eAAe,OAAOA,cAAcI,KAAK;YAC7C,OAAOL;QACT;IACF;IACA,OAAOL;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/slate/serializeSlate.ts"],"sourcesContent":["import escapeHTML from 'escape-html'\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 Node & { text: string } => {\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 = `<span>${escapeHTML(replaceDoubleCurlys(node.text, submissionData))}</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 '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 case 'ol':\n return `\n <ol>\n ${serializeSlate(node.children, submissionData)}\n </ol>\n `\n case 'li':\n return `\n <li>\n ${serializeSlate(node.children, submissionData)}\n </li>\n `\n case 'indent':\n return `\n <p style=\"padding-left: 20px\">\n ${serializeSlate(node.children, submissionData)}\n </p>\n `\n case 'link':\n return `\n <a href={${escapeHTML(replaceDoubleCurlys(node.url, submissionData))}}>\n ${serializeSlate(node.children, submissionData)}\n </a>\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","replaceDoubleCurlys","isTextNode","node","serializeSlate","children","submissionData","map","text","bold","code","italic","type","url","filter","Boolean","join"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,cAAa;AAEpC,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,OAAO,CAAC,MAAM,EAAER,WAAWC,oBAAoBE,KAAKK,IAAI,EAAEF,iBAAiB,OAAO,CAAC;YAEvF,IAAIH,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;;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;mBACC,EAAEN,WAAWC,oBAAoBE,KAAKU,GAAG,EAAEP,iBAAiB;UACrE,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YAEC;gBACE,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;QACD;IACF,GACCQ,OAAOC,SACPC,KAAK,IAAG"}
1
+ {"version":3,"sources":["../../../src/utilities/slate/serializeSlate.ts"],"sourcesContent":["import escapeHTML from 'escape-html'\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 = `<span>${escapeHTML(replaceDoubleCurlys(node.text, submissionData))}</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 '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 case 'ol':\n return `\n <ol>\n ${serializeSlate(node.children, submissionData)}\n </ol>\n `\n case 'li':\n return `\n <li>\n ${serializeSlate(node.children, submissionData)}\n </li>\n `\n case 'indent':\n return `\n <p style=\"padding-left: 20px\">\n ${serializeSlate(node.children, submissionData)}\n </p>\n `\n case 'link':\n return `\n <a href={${escapeHTML(replaceDoubleCurlys(node.url, submissionData))}}>\n ${serializeSlate(node.children, submissionData)}\n </a>\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","replaceDoubleCurlys","isTextNode","node","serializeSlate","children","submissionData","map","text","bold","code","italic","type","url","filter","Boolean","join"],"mappings":"AAAA,OAAOA,gBAAgB,cAAa;AAEpC,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,OAAO,CAAC,MAAM,EAAER,WAAWC,oBAAoBE,KAAKK,IAAI,EAAEF,iBAAiB,OAAO,CAAC;YAEvF,IAAIH,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;;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;mBACC,EAAEN,WAAWC,oBAAoBE,KAAKU,GAAG,EAAEP,iBAAiB;UACrE,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;YAEC;gBACE,OAAO,CAAC;;UAER,EAAEF,eAAeD,KAAKE,QAAQ,EAAEC,gBAAgB;;MAEpD,CAAC;QACD;IACF,GACCQ,OAAOC,SACPC,KAAK,IAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-form-builder",
3
- "version": "3.0.0-canary.ee6d727",
3
+ "version": "3.0.0-canary.ef0a8d0",
4
4
  "description": "Form builder plugin for Payload CMS",
5
5
  "keywords": [
6
6
  "payload",
@@ -24,13 +24,13 @@
24
24
  "exports": {
25
25
  ".": {
26
26
  "import": "./dist/index.js",
27
- "require": "./dist/index.js",
28
- "types": "./dist/index.d.ts"
27
+ "types": "./dist/index.d.ts",
28
+ "default": "./dist/index.js"
29
29
  },
30
- "./*": {
31
- "import": "./dist/exports/*.js",
32
- "require": "./dist/exports/*.js",
33
- "types": "./dist/exports/*.d.ts"
30
+ "./types": {
31
+ "import": "./dist/exports/types.js",
32
+ "types": "./dist/exports/types.d.ts",
33
+ "default": "./dist/exports/types.js"
34
34
  }
35
35
  },
36
36
  "main": "./dist/index.js",
@@ -41,36 +41,34 @@
41
41
  "dependencies": {
42
42
  "deepmerge": "^4.2.2",
43
43
  "escape-html": "^1.0.3",
44
- "@payloadcms/ui": "3.0.0-canary.ee6d727"
44
+ "@payloadcms/ui": "3.0.0-canary.ef0a8d0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/escape-html": "^1.0.4",
48
48
  "@types/express": "^4.17.21",
49
- "@types/react": "npm:types-react@19.0.0-beta.2",
50
- "@types/react-dom": "npm:types-react-dom@19.0.0-beta.2",
49
+ "@types/react": "npm:types-react@19.0.0-rc.0",
50
+ "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0",
51
51
  "copyfiles": "^2.4.1",
52
52
  "cross-env": "^7.0.3",
53
- "nodemon": "3.0.3",
54
- "ts-node": "10.9.1",
55
- "payload": "3.0.0-canary.ee6d727",
56
- "@payloadcms/eslint-config": "1.1.1"
53
+ "payload": "3.0.0-canary.ef0a8d0",
54
+ "@payloadcms/eslint-config": "3.0.0-beta.59"
57
55
  },
58
56
  "peerDependencies": {
59
- "react": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522",
60
- "react-dom": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522",
61
- "payload": "3.0.0-canary.ee6d727"
57
+ "react": "^19.0.0 || ^19.0.0-rc-6230622a1a-20240610",
58
+ "react-dom": "^19.0.0 || ^19.0.0-rc-6230622a1a-20240610",
59
+ "payload": "3.0.0-canary.ef0a8d0"
62
60
  },
63
61
  "publishConfig": {
64
62
  "registry": "https://registry.npmjs.org/"
65
63
  },
66
64
  "homepage:": "https://payloadcms.com",
67
65
  "overrides": {
68
- "@types/react": "npm:types-react@19.0.0-beta.2",
69
- "@types/react-dom": "npm:types-react-dom@19.0.0-beta.2"
66
+ "@types/react": "npm:types-react@19.0.0-rc.0",
67
+ "@types/react-dom": "npm:types-react-dom@19.0.0-rc.0"
70
68
  },
71
69
  "scripts": {
72
- "build": "pnpm build:swc && pnpm build:types",
73
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
70
+ "build": "pnpm build:types && pnpm build:swc",
71
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
74
72
  "build:types": "tsc --emitDeclarationOnly --outDir dist",
75
73
  "clean": "rimraf {dist,*.tsbuildinfo}",
76
74
  "test": "echo \"No tests available.\""