UNPKG

@payloadcms/plugin-form-builder

Version:

Form builder plugin for Payload CMS

28 lines (27 loc) 1.06 kB
import escapeHTML from 'escape-html'; import { sanitizeUrl } from 'payload/shared'; import { replaceDoubleCurlys } from '../../replaceDoubleCurlys.js'; import { convertLexicalNodesToHTML } from '../serializeLexical.js'; export const LinkHTMLConverter = { async converter ({ converters, node, parent, submissionData }) { const childrenText = await convertLexicalNodesToHTML({ converters, lexicalNodes: node.children, parent: { ...node, parent }, submissionData }); let href = node.fields.linkType === 'custom' ? node.fields.url ?? '' : node.fields.doc?.value?.id ?? ''; if (submissionData) { href = replaceDoubleCurlys(href, submissionData); } const safeHref = escapeHTML(sanitizeUrl(href)); return `<a href="${safeHref}"${node.fields.newTab ? ' rel="noopener noreferrer" target="_blank"' : ''}>${childrenText}</a>`; }, nodeTypes: [ 'link' ] }; //# sourceMappingURL=link.js.map