payload-plugin-newsletter 0.19.0 → 0.20.1

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.
@@ -963,6 +963,12 @@ async function convertToEmailSafeHtml(editorState, options) {
963
963
  const rawHtml = await lexicalToEmailHtml(editorState, options?.mediaUrl, options?.customBlockConverter);
964
964
  const sanitizedHtml = DOMPurify.sanitize(rawHtml, EMAIL_SAFE_CONFIG);
965
965
  if (options?.wrapInTemplate) {
966
+ if (options.customWrapper) {
967
+ return await Promise.resolve(options.customWrapper(sanitizedHtml, {
968
+ preheader: options.preheader,
969
+ subject: options.subject
970
+ }));
971
+ }
966
972
  return wrapInEmailTemplate(sanitizedHtml, options.preheader);
967
973
  }
968
974
  return sanitizedHtml;
@@ -1857,11 +1863,14 @@ var createBroadcastPreviewEndpoint = (config, _collectionSlug) => {
1857
1863
  const mediaUrl = req.payload.config.serverURL ? `${req.payload.config.serverURL}/api/media` : "/api/media";
1858
1864
  req.payload.logger?.info("Populating media fields for email preview...");
1859
1865
  const populatedContent = await populateMediaFields(content, req.payload, config);
1866
+ const emailPreviewConfig = config.customizations?.broadcasts?.emailPreview;
1860
1867
  const htmlContent = await convertToEmailSafeHtml(populatedContent, {
1861
- wrapInTemplate: true,
1868
+ wrapInTemplate: emailPreviewConfig?.wrapInTemplate ?? true,
1862
1869
  preheader,
1870
+ subject,
1863
1871
  mediaUrl,
1864
- customBlockConverter: config.customizations?.broadcasts?.customBlockConverter
1872
+ customBlockConverter: config.customizations?.broadcasts?.customBlockConverter,
1873
+ customWrapper: emailPreviewConfig?.customWrapper
1865
1874
  });
1866
1875
  return Response.json({
1867
1876
  success: true,