From c6a403dfe9ac945bbbebf9037c2f163489e71069 Mon Sep 17 00:00:00 2001 From: Nick the Sick Date: Fri, 6 Jun 2025 11:02:06 +0200 Subject: [PATCH] fix: add keys to pdf exporter --- .../src/pdf/defaultSchema/blocks.tsx | 36 +++++++++++++------ .../src/pdf/defaultSchema/inlinecontent.tsx | 2 +- .../xl-pdf-exporter/src/pdf/pdfExporter.tsx | 11 ++++-- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/packages/xl-pdf-exporter/src/pdf/defaultSchema/blocks.tsx b/packages/xl-pdf-exporter/src/pdf/defaultSchema/blocks.tsx index 31e4c23323..4f5c27dc32 100644 --- a/packages/xl-pdf-exporter/src/pdf/defaultSchema/blocks.tsx +++ b/packages/xl-pdf-exporter/src/pdf/defaultSchema/blocks.tsx @@ -26,12 +26,16 @@ export const pdfBlockMappingForDefaultSchema: BlockMapping< > = { paragraph: (block, exporter) => { // const style = blocknoteDefaultPropsToReactPDFStyle(block.props); - return {exporter.transformInlineContent(block.content)}; + return ( + + {exporter.transformInlineContent(block.content)} + + ); }, bulletListItem: (block, exporter) => { // const style = t(block.props); return ( - + {exporter.transformInlineContent(block.content)} ); @@ -40,7 +44,10 @@ export const pdfBlockMappingForDefaultSchema: BlockMapping< // const style = blocknoteDefaultPropsToReactPDFStyle(block.props); // console.log("NUMBERED LIST ITEM", block.props.textAlignment, style); return ( - + {exporter.transformInlineContent(block.content)} ); @@ -53,6 +60,7 @@ export const pdfBlockMappingForDefaultSchema: BlockMapping< listMarker={ block.props.checked ? CHECK_MARKER_CHECKED : CHECK_MARKER_UNCHECKED } + key={"checkListItem" + block.id} > {exporter.transformInlineContent(block.content)} @@ -63,6 +71,7 @@ export const pdfBlockMappingForDefaultSchema: BlockMapping< block.props.level === 1 ? 2 : block.props.level === 2 ? 1.5 : 1.17; return ( { return ( {lines} ); }, pageBreak: () => { - return ; + return ; }, audio: (block, exporter) => { return ( - + {file( block.props, "Open audio file", @@ -138,7 +149,7 @@ export const pdfBlockMappingForDefaultSchema: BlockMapping< }, video: (block, exporter) => { return ( - + {file( block.props, "Open video file", @@ -153,7 +164,7 @@ export const pdfBlockMappingForDefaultSchema: BlockMapping< }, file: (block, exporter) => { return ( - + {file( block.props, "Open file", @@ -168,7 +179,7 @@ export const pdfBlockMappingForDefaultSchema: BlockMapping< }, image: async (block, t) => { return ( - + { - return ; + return ( +
+ ); }, }; @@ -194,7 +207,7 @@ function file( ) { const PIXELS_PER_POINT = 0.75; return ( - + = { link: (ic, exporter) => { return ( - + {ic.content.map((content) => exporter.transformStyledText(content))} ); diff --git a/packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx b/packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx index c144b6fcb0..6a19fe36b5 100644 --- a/packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx +++ b/packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx @@ -117,7 +117,11 @@ export class PDFExporter< public transformStyledText(styledText: StyledText) { const stylesArray = this.mapStyles(styledText.styles); const styles = Object.assign({}, ...stylesArray); - return {styledText.text}; + return ( + + {styledText.text} + + ); } /** @@ -150,7 +154,7 @@ export class PDFExporter< const style = this.blocknoteDefaultPropsToReactPDFStyle(b.props as any); ret.push( - <> + {children} )} - , + , ); }