diff --git a/src/PdfRenderer.ts b/src/PdfRenderer.ts index d575f04..04d05b0 100644 --- a/src/PdfRenderer.ts +++ b/src/PdfRenderer.ts @@ -31,7 +31,6 @@ export const PdfRenderer = { bundleType: 1, version: "1", rendererPackageName: "react-pdfmake-reconciler", - findFiberByHostInstance: (instance) => root.getInstanceFromNode(instance), }); const unmount = () => { diff --git a/src/__tests__/PdfRenderer.test.tsx b/src/__tests__/PdfRenderer.test.tsx index ec4aa32..867bf77 100644 --- a/src/__tests__/PdfRenderer.test.tsx +++ b/src/__tests__/PdfRenderer.test.tsx @@ -275,5 +275,11 @@ describe("PdfRenderer", () => { }, ]); }); + + test("array", () => { + expect( + PdfRenderer.renderOnce([Hello World!]), + ).resolves.toEqual([["Hello World!"]]); + }); }); }); diff --git a/src/components/PdfTable.tsx b/src/components/PdfTable.tsx index 2a70637..b761605 100644 --- a/src/components/PdfTable.tsx +++ b/src/components/PdfTable.tsx @@ -1,4 +1,4 @@ -import { ComponentProps, FC, ReactElement } from "react"; +import { ComponentProps, FC, Fragment, ReactElement } from "react"; export const PdfTable: FC< { rows: ReactElement[][] } & Omit, "children"> & @@ -7,8 +7,12 @@ export const PdfTable: FC< return ( - {rows.map((row) => ( - {row} + {rows.map((row, i) => ( + + {row.map((cell, j) => ( + {cell} + ))} + ))} diff --git a/src/types/PdfElements.ts b/src/types/PdfElements.ts index 2c4d9b8..8076310 100644 --- a/src/types/PdfElements.ts +++ b/src/types/PdfElements.ts @@ -25,19 +25,29 @@ import { PdfElement, PdfNode } from "./PdfNode.ts"; import { PdfPrefixed } from "../pdfPrefix.ts"; import { TextInstance } from "../hostConfig.ts"; +import { Attributes } from "react"; + +interface PdfElementAttributes extends Attributes { + children?: PdfNode; +} + +export interface PdfSingleChildElementProps extends PdfElementAttributes { + children: PdfElement; +} export interface PdfElementsSansPrefix { - text: { children?: PdfNode } & ( - | Omit - | Omit - | Omit - | Omit - ); - columns: { children?: PdfNode } & Omit; - stack: { children?: PdfNode } & Omit; - ol: { children?: PdfNode } & Omit; - ul: { children?: PdfNode } & Omit; - table: { children?: PdfNode } & Omit; + text: PdfElementAttributes & + ( + | Omit + | Omit + | Omit + | Omit + ); + columns: PdfElementAttributes & Omit; + stack: PdfElementAttributes & Omit; + ol: PdfElementAttributes & Omit; + ul: PdfElementAttributes & Omit; + table: PdfElementAttributes & Omit; pageReference: { children: string } & Omit< ContentPageReference, "pageReference" @@ -51,32 +61,27 @@ export interface PdfElementsSansPrefix { qr: ContentQr; canvas: ContentCanvas; } - -export interface PdfElementWrapperProps { - children: PdfElement; -} - export interface PdfCellProps extends TableCellProperties, - PdfElementWrapperProps {} + PdfSingleChildElementProps {} export interface PdfColumnProps extends ColumnProperties, - PdfElementWrapperProps {} + PdfSingleChildElementProps {} export type PdfListItemProps = ( | OrderedListElementProperties | UnorderedListElementProperties ) & - PdfElementWrapperProps; + PdfSingleChildElementProps; export interface VirtualPdfElementsSansPrefix extends PdfElementsSansPrefix { - array: { children?: PdfNode }; + array: PdfElementAttributes; cell: PdfCellProps; column: PdfColumnProps; li: PdfListItemProps; - tbody: { children?: PdfNode } & Omit; - toc: { children?: PdfNode } & Omit; + tbody: PdfElementAttributes & Omit; + toc: PdfElementAttributes & Omit; } export type PdfElements = { @@ -94,7 +99,6 @@ export type PdfReconcilerIntrinsicType = PdfPrefixed; export interface PdfReconcilerElement { $__reactPdfMakeType: PdfReconcilerIntrinsicType; - [K: string]: unknown; }