@jsxpdf/jsxpdf 0.0.1-alpha.0
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.
- package/LICENSE +21 -0
- package/dist/core.d.ts +2 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +3 -0
- package/dist/core.js.map +7 -0
- package/dist/global.d.ts +6 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +700 -0
- package/dist/index.js.map +7 -0
- package/dist/jsx-dev-runtime.d.ts +2 -0
- package/dist/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx-dev-runtime.js +9 -0
- package/dist/jsx-dev-runtime.js.map +7 -0
- package/dist/jsx-runtime.d.ts +2 -0
- package/dist/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx-runtime.js +9 -0
- package/dist/jsx-runtime.js.map +7 -0
- package/dist/node.d.ts +10 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +690 -0
- package/dist/node.js.map +7 -0
- package/dist/render.d.ts +18 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/repeat.d.ts +47 -0
- package/dist/repeat.d.ts.map +1 -0
- package/dist/standard-fonts.d.ts +2 -0
- package/dist/standard-fonts.d.ts.map +1 -0
- package/dist/standard-fonts.js +6 -0
- package/dist/standard-fonts.js.map +7 -0
- package/package.json +48 -0
package/dist/node.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/node.ts", "../src/render.ts", "../src/repeat.ts", "../src/jsx-runtime.ts"],
|
|
4
|
+
"sourcesContent": ["/// <reference path=\"./global.d.ts\" />\n\nexport {\n Canvas,\n Circle,\n Checkbox,\n ClipPath,\n Defs,\n Document,\n Ellipse,\n Table,\n TableBody,\n TableCell,\n TableFooter,\n TableHead,\n TableRow,\n FieldSet,\n G,\n Image,\n Line,\n LinearGradient,\n Link,\n List,\n Note,\n Page,\n PageBreak,\n Path,\n Polygon,\n Polyline,\n RadialGradient,\n Rect,\n Select,\n Stop,\n Svg,\n Text,\n TextInput,\n Tspan,\n View\n} from \"@jsxpdf/core\"\nexport { Font, StyleSheet } from \"@jsxpdf/core\"\nexport { renderToBlob, renderToUint8Array } from \"./render\"\nexport type { CardSlotProps, ConcatProps, RepeatOverflowMode, RepeatPageProps, RepeatedDocumentProps } from \"./repeat\"\nexport { CardSlot, Concat, Repeat, RepeatedDocument } from \"./repeat\"\nexport { pdf, compile, renderToBuffer, renderToFile, renderToStream } from \"@jsxpdf/node\"\nexport { configureYogaRuntime, getYogaBackend, type YogaBackend, type YogaRuntimeLoader } from \"@jsxpdf/layout\"\nexport type { HyphenationCallback, PdfRenderOptions, ProfileTrace } from \"@jsxpdf/core\"\nexport type { CompiledTemplate } from \"@jsxpdf/node\"\n", "/// <reference path=\"./global.d.ts\" />\n\nimport { concatUint8Arrays, type PdfElement, type PdfRenderOptions } from \"@jsxpdf/core\"\nimport {\n createPdfRuntime,\n type CompiledRuntimeTemplate,\n type PdfComponent,\n type PdfRuntimeInstance,\n} from \"@jsxpdf/render\"\nimport { renderPdf } from \"@jsxpdf/render-pdfkit\"\n\ntype PdfDocumentStream = Awaited<ReturnType<typeof renderPdf>>\n\nconst runtime = createPdfRuntime<PdfDocumentStream>(renderPdf)\n\nconst chunkToUint8Array = (chunk: Uint8Array | ArrayBuffer | string): Uint8Array => {\n if (chunk instanceof Uint8Array) return chunk\n if (typeof chunk === \"string\") return new TextEncoder().encode(chunk)\n return new Uint8Array(chunk)\n}\n\nconst collectStreamBytes = (stream: PdfDocumentStream): Promise<Uint8Array> =>\n new Promise<Uint8Array>((resolve, reject) => {\n const chunks: Uint8Array[] = []\n let ended = false\n let finished = false\n let settled = false\n let resolveTimer: ReturnType<typeof setTimeout> | null = null\n\n const settle = () => {\n if (settled) return\n settled = true\n if (resolveTimer) clearTimeout(resolveTimer)\n resolve(concatUint8Arrays(chunks))\n }\n const maybeResolve = () => {\n if (settled) return\n if (ended && finished) return settle()\n if (ended || finished) {\n if (resolveTimer) clearTimeout(resolveTimer)\n resolveTimer = setTimeout(settle, 0)\n }\n }\n\n stream.on(\"data\", (chunk: unknown) => {\n chunks.push(chunkToUint8Array(chunk as Uint8Array | ArrayBuffer | string))\n })\n stream.on(\"end\", () => {\n ended = true\n maybeResolve()\n })\n stream.on(\"finish\", () => {\n finished = true\n maybeResolve()\n })\n stream.on(\"error\", reject)\n })\n\nexport type PdfInstance = PdfRuntimeInstance<PdfDocumentStream> & {\n toUint8Array: () => Promise<Uint8Array>\n toBlob: () => Promise<Blob>\n}\n\nconst wrapInstance = (instance: PdfRuntimeInstance<PdfDocumentStream>): PdfInstance => ({\n ...instance,\n async toUint8Array() {\n return collectStreamBytes(await instance.toStream())\n },\n async toBlob() {\n const bytes = await this.toUint8Array()\n return new Blob([Uint8Array.from(bytes)], { type: \"application/pdf\" })\n },\n})\n\nexport const pdf = (initialValue?: PdfElement, options: PdfRenderOptions = {}): PdfInstance => {\n return wrapInstance(runtime.pdf(initialValue, options))\n}\n\nexport const renderToUint8Array = (\n element: PdfElement,\n options: PdfRenderOptions = {},\n): Promise<Uint8Array> => pdf(element, options).toUint8Array()\n\nexport const renderToBlob = (\n element: PdfElement,\n options: PdfRenderOptions = {},\n): Promise<Blob> => pdf(element, options).toBlob()\n\nexport type CompiledTemplate<Props = unknown> = Omit<\n CompiledRuntimeTemplate<Props, PdfDocumentStream>,\n \"toStream\"\n> & {\n toUint8Array: (props: Props, options?: PdfRenderOptions) => Promise<Uint8Array>\n toBlob: (props: Props, options?: PdfRenderOptions) => Promise<Blob>\n}\n\nexport const compile = async <Props>(\n component: PdfComponent<Props>,\n options: PdfRenderOptions = {},\n): Promise<CompiledTemplate<Props>> => {\n const template = await runtime.compile(component, options)\n const toUint8Array = async (props: Props, renderOptions: PdfRenderOptions = {}) => {\n return collectStreamBytes(await template.toStream(props, renderOptions))\n }\n return {\n ...template,\n toUint8Array,\n async toBlob(props, renderOptions = {}) {\n const bytes = await toUint8Array(props, renderOptions)\n return new Blob([Uint8Array.from(bytes)], { type: \"application/pdf\" })\n },\n }\n}\n\nexport type { PdfComponent }\n", "import type { BindingToken, LayoutNode, PdfElement, PdfPageSizeValue, PdfProps, PdfStyle, PdfValue } from \"@jsxpdf/core\"\nimport { Document, Page, View, createBindingToken, isBindingToken, materializeChildren, materializeElement, parseSizeValue } from \"@jsxpdf/core\"\nimport {\n buildConcatenatedDocumentLayout,\n compilePrecompiledTemplateSync,\n initCompiledRenderState,\n runSinglePageIncrementalPipeline,\n type IncrementalYogaLayoutState,\n type PrecompiledTemplateRenderState,\n} from \"@jsxpdf/layout\"\nimport { jsx, jsxs, Fragment } from \"./jsx-runtime\"\n\nexport type RepeatOverflowMode = \"clip\" | \"error\" | \"shrink\"\n\nexport type RepeatPageProps = {\n size?: PdfPageSizeValue\n orientation?: \"portrait\" | \"landscape\"\n dpi?: number\n style?: PdfStyle | PdfStyle[]\n}\n\nexport type RepeatedDocumentProps<T> = {\n items: readonly T[] | BindingToken\n page?: RepeatPageProps\n slots: {\n columns: number\n rows: number\n }\n gap?: number\n fill?: \"row\" | \"column\"\n children: ((item: T, index: number) => PdfValue) | PdfValue\n} & Pick<ConcatProps, \"title\" | \"author\" | \"subject\" | \"creator\" | \"keywords\" | \"producer\" | \"language\" | \"creationDate\" | \"modificationDate\" | \"pdfVersion\" | \"tagged\" | \"attachments\" | \"xmp\" | \"pdfaid\" | \"pageMode\" | \"pageLayout\">\n\nexport type CardSlotProps = PdfProps & {\n padding?: number\n overflow?: RepeatOverflowMode\n}\n\nexport type ConcatProps = {\n children?: PdfValue\n title?: string\n author?: string\n subject?: string\n creator?: string\n keywords?: string\n producer?: string\n language?: string\n creationDate?: Date\n modificationDate?: Date\n pdfVersion?: string\n tagged?: PdfProps[\"tagged\"]\n attachments?: PdfProps[\"attachments\"]\n xmp?: PdfProps[\"xmp\"]\n pdfaid?: PdfProps[\"pdfaid\"]\n pageMode?: string\n pageLayout?: string\n}\n\nconst pageSizes: Record<string, [number, number]> = {\n A0: [2383.94, 3370.39],\n A1: [1683.78, 2383.94],\n A2: [1190.55, 1683.78],\n A3: [841.89, 1190.55],\n A4: [595.28, 841.89],\n A5: [419.53, 595.28],\n A6: [297.64, 419.53],\n LETTER: [612.0, 792.0],\n LEGAL: [612.0, 1008.0],\n TABLOID: [792.0, 1224.0]\n}\n\nconst TRACKED_PATH_SYMBOL = Symbol.for(\"jsxpdf.trackedPath\")\n\ntype InjectedCardSlotMetrics = {\n x: number\n y: number\n width: number\n height: number\n}\n\nconst h = (type: unknown, props?: Record<string, unknown> | null, ...children: unknown[]): PdfElement => {\n const normalizedChildren = children.flat(Infinity).filter((child) => child !== undefined && child !== null && child !== false)\n const nextProps = { ...(props ?? {}) } as Record<string, unknown>\n\n if (normalizedChildren.length === 1) {\n nextProps.children = normalizedChildren[0]\n } else if (normalizedChildren.length > 1) {\n nextProps.children = normalizedChildren\n }\n\n const key = nextProps.key as string | undefined\n delete nextProps.key\n\n return Array.isArray(nextProps.children) ? jsxs(type, nextProps as never, key) : jsx(type, nextProps as never, key)\n}\n\nconst chunk = <T,>(items: readonly T[], size: number): T[][] => {\n const result: T[][] = []\n for (let index = 0; index < items.length; index += size) {\n result.push(items.slice(index, index + size))\n }\n return result\n}\n\nconst resolveRepeatPageSize = (\n size: PdfPageSizeValue | undefined,\n orientation?: \"portrait\" | \"landscape\",\n dpi = 72\n): [number, number] => {\n let resolved: [number, number]\n\n if (typeof size === \"string\") {\n resolved = pageSizes[size.toUpperCase()] ?? pageSizes.A4\n } else if (Array.isArray(size)) {\n resolved = [\n parseSizeValue(size[0], 0, dpi) ?? pageSizes.A4[0],\n parseSizeValue(size[1], 0, dpi) ?? pageSizes.A4[1]\n ]\n } else if (typeof size === \"number\") {\n resolved = [size, size]\n } else if (size && typeof size === \"object\") {\n resolved = [\n parseSizeValue(size.width, 0, dpi) ?? pageSizes.A4[0],\n parseSizeValue(size.height, 0, dpi) ?? pageSizes.A4[1]\n ]\n } else {\n resolved = pageSizes.A4\n }\n\n return orientation === \"landscape\" ? [resolved[1], resolved[0]] : resolved\n}\n\nconst reorderForColumnFill = <T,>(items: readonly T[], columns: number, rows: number): T[] => {\n const perPage = Math.max(1, columns * rows)\n const reordered: T[] = []\n\n for (const pageItems of chunk(items, perPage)) {\n for (let row = 0; row < rows; row += 1) {\n for (let column = 0; column < columns; column += 1) {\n const sourceIndex = column * rows + row\n const item = pageItems[sourceIndex]\n if (item !== undefined) reordered.push(item)\n }\n }\n }\n\n return reordered\n}\n\nconst isElement = (value: PdfValue): value is PdfElement => typeof value === \"object\" && value !== null && \"type\" in value && \"props\" in value\n\nconst resolveTrackedPathValue = (root: unknown, path: Array<string | number>): unknown => {\n let current = root\n for (const segment of path) {\n if (current == null) return undefined\n current = (current as Record<string | number, unknown>)[segment]\n }\n return current\n}\n\nconst resolveBindingValues = (value: unknown, rootProps: unknown): unknown => {\n if (isBindingToken(value)) {\n return resolveTrackedPathValue(rootProps, value.path)\n }\n if (Array.isArray(value)) {\n return value.map((entry) => resolveBindingValues(entry, rootProps))\n }\n if (value instanceof Date || value instanceof Uint8Array) return value\n if (typeof value === \"function\") return value\n if (value && typeof value === \"object\") {\n const source = value as Record<string, unknown>\n const resolved: Record<string, unknown> = {}\n for (const [key, entry] of Object.entries(source)) {\n resolved[key] = resolveBindingValues(entry, rootProps)\n }\n return resolved\n }\n return value\n}\n\nconst extractConcatDocuments = (value: PdfValue): PdfElement[] => {\n const resolved = materializeElement(value)\n const children = materializeChildren(resolved)\n const documents: PdfElement[] = []\n\n for (const child of children) {\n const resolvedChild = materializeElement(child)\n if (!isElement(resolvedChild)) continue\n if (resolvedChild.type === Document) {\n documents.push(resolvedChild)\n continue\n }\n if (resolvedChild.type === Page) {\n documents.push(h(Document, null, resolvedChild))\n continue\n }\n throw new Error(`Concat only accepts Document, RepeatedDocument, or Page children. Received ${String(resolvedChild.type)}.`)\n }\n\n return documents\n}\n\nexport function CardSlot(props: CardSlotProps): PdfElement {\n const { __repeatSlotMetrics, padding = 0, overflow = \"clip\", clip, wrap, style, children, ...rest } = props\n\n if (!__repeatSlotMetrics) {\n throw new Error(\"CardSlot must be used inside Repeat.\")\n }\n\n const contentWidth = Math.max(0, __repeatSlotMetrics.width - padding * 2)\n const contentHeight = Math.max(0, __repeatSlotMetrics.height - padding * 2)\n\n return h(\n View,\n {\n ...rest,\n wrap: wrap ?? false,\n clip: clip ?? overflow !== \"error\",\n repeatSlotConfig: {\n overflow,\n contentWidth,\n contentHeight\n },\n style: [\n style,\n {\n left: __repeatSlotMetrics.x,\n top: __repeatSlotMetrics.y,\n width: __repeatSlotMetrics.width,\n height: __repeatSlotMetrics.height,\n paddingTop: padding,\n paddingRight: padding,\n paddingBottom: padding,\n paddingLeft: padding,\n position: \"absolute\"\n }\n ]\n },\n h(\n View,\n {\n repeatSlotContent: true,\n wrap: false,\n style: {\n width: contentWidth,\n height: contentHeight,\n position: \"relative\"\n }\n },\n children\n )\n )\n}\n\nconst getRepeatedDocumentPlan = <T,>(props: RepeatedDocumentProps<T>) => {\n // Binding-token items only occur on the compile path, which never reaches\n // layout planning: `RepeatedDocument` routes tokens to the schema renderer\n // (or throws) before any page is built.\n if (isBindingToken(props.items)) {\n throw new Error(\"jsxpdf.compile.unsupported: RepeatedDocument requires static items during layout.\")\n }\n const items = props.fill === \"column\"\n ? reorderForColumnFill(props.items, props.slots.columns, props.slots.rows)\n : [...props.items]\n const columns = Math.max(1, Math.floor(props.slots.columns))\n const rows = Math.max(1, Math.floor(props.slots.rows))\n const gap = Math.max(0, props.gap ?? 0)\n const perPage = columns * rows\n const [pageWidth, pageHeight] = resolveRepeatPageSize(\n props.page?.size,\n props.page?.orientation,\n props.page?.dpi\n )\n const totalHorizontalGap = gap * (columns - 1)\n const totalVerticalGap = gap * (rows - 1)\n const slotWidth = (pageWidth - totalHorizontalGap) / columns\n const slotHeight = (pageHeight - totalVerticalGap) / rows\n const pageCount = Math.ceil(items.length / perPage)\n\n return {\n items,\n columns,\n gap,\n perPage,\n pageWidth,\n pageHeight,\n pageCount,\n slotWidth,\n slotHeight\n }\n}\n\nconst createRepeatedPageDocument = <T,>(props: RepeatedDocumentProps<T>, pageIndex: number): PdfElement => {\n const plan = getRepeatedDocumentPlan(props)\n const pageItems = plan.items.slice(pageIndex * plan.perPage, pageIndex * plan.perPage + plan.perPage)\n const trackedItemPaths = pageItems\n .map((item) => (\n item &&\n typeof item === \"object\" &&\n Array.isArray((item as Record<PropertyKey, unknown>)[TRACKED_PATH_SYMBOL])\n ? [...((item as Record<PropertyKey, unknown>)[TRACKED_PATH_SYMBOL] as Array<string | number>)]\n : null\n ))\n .filter((path): path is Array<string | number> => Array.isArray(path) && path.length >= 2 && typeof path[path.length - 1] === \"number\")\n const firstTrackedPath = trackedItemPaths[0]\n const pageCollectionPath =\n firstTrackedPath &&\n trackedItemPaths.every((path) =>\n path.length === firstTrackedPath.length &&\n path.slice(0, -1).every((segment, index) => segment === firstTrackedPath[index])\n )\n ? firstTrackedPath.slice(0, -1)\n : undefined\n const pageIndexRange: [number, number] | undefined =\n pageCollectionPath && trackedItemPaths.length > 0\n ? [\n Math.min(...trackedItemPaths.map((path) => path[path.length - 1] as number)),\n Math.max(...trackedItemPaths.map((path) => path[path.length - 1] as number)),\n ]\n : undefined\n\n return h(\n Document,\n {\n key: `repeated-document-${pageIndex + 1}`\n },\n h(\n Page,\n {\n key: `repeat-page-${pageIndex + 1}`,\n size: [plan.pageWidth, plan.pageHeight],\n dpi: props.page?.dpi,\n __repeatTrackedCollectionPath: pageCollectionPath,\n __repeatTrackedIndexRange: pageIndexRange,\n style: [\n {\n padding: 0,\n position: \"relative\"\n },\n props.page?.style\n ]\n },\n ...pageItems.map((item, itemIndex) => {\n const childIndex = pageIndex * plan.perPage + itemIndex\n const row = Math.floor(itemIndex / plan.columns)\n const column = itemIndex % plan.columns\n const rendered = typeof props.children === \"function\" ? props.children(item, childIndex) : props.children\n const metrics = {\n x: column * (plan.slotWidth + plan.gap),\n y: row * (plan.slotHeight + plan.gap),\n width: plan.slotWidth,\n height: plan.slotHeight\n }\n const repeatTrackedItemPath = (\n item &&\n typeof item === \"object\" &&\n Array.isArray((item as Record<PropertyKey, unknown>)[TRACKED_PATH_SYMBOL])\n )\n ? [...((item as Record<PropertyKey, unknown>)[TRACKED_PATH_SYMBOL] as Array<string | number>)]\n : undefined\n\n if (isElement(rendered) && rendered.type === CardSlot) {\n return {\n ...rendered,\n props: {\n ...rendered.props,\n __repeatSlotMetrics: metrics,\n __repeatTrackedItemPath: repeatTrackedItemPath\n }\n }\n }\n\n return h(CardSlot, {\n key: `repeat-slot-${childIndex + 1}`,\n __repeatSlotMetrics: metrics,\n __repeatTrackedItemPath: repeatTrackedItemPath,\n children: rendered\n })\n })\n )\n ) as PdfElement\n}\n\nconst createRepeatedPages = <T,>(props: RepeatedDocumentProps<T>) => {\n const plan = getRepeatedDocumentPlan(props)\n return Array.from({ length: plan.pageCount }, (_, pageIndex) => {\n const document = createRepeatedPageDocument(props, pageIndex)\n return materializeChildren(document.props.children ?? [])[0] as PdfElement\n })\n}\n\nconst createRepeatedSlotElement = <T,>(\n props: RepeatedDocumentProps<T>,\n item: T,\n itemIndex: number,\n metrics: InjectedCardSlotMetrics\n): PdfElement => {\n const rendered = typeof props.children === \"function\" ? props.children(item, itemIndex) : props.children\n const repeatTrackedItemPath = (\n item &&\n typeof item === \"object\" &&\n Array.isArray((item as Record<PropertyKey, unknown>)[TRACKED_PATH_SYMBOL])\n )\n ? [...((item as Record<PropertyKey, unknown>)[TRACKED_PATH_SYMBOL] as Array<string | number>)]\n : undefined\n\n if (isElement(rendered) && rendered.type === CardSlot) {\n return {\n ...rendered,\n props: {\n ...rendered.props,\n __repeatSlotMetrics: metrics,\n __repeatTrackedItemPath: repeatTrackedItemPath\n }\n }\n }\n\n return h(CardSlot, {\n key: `repeat-slot-${itemIndex + 1}`,\n __repeatSlotMetrics: metrics,\n __repeatTrackedItemPath: repeatTrackedItemPath,\n children: rendered\n })\n}\n\nconst canCompileRepeatedSchema = <T,>(props: RepeatedDocumentProps<T>): boolean => {\n if (!isBindingToken(props.items)) return false\n if (isBindingToken(props.page?.size) || isBindingToken(props.page?.orientation) || isBindingToken(props.page?.dpi)) return false\n if (isBindingToken(props.gap) || isBindingToken(props.fill)) return false\n if (isBindingToken(props.slots.columns) || isBindingToken(props.slots.rows)) return false\n return true\n}\n\nconst createRepeatedSchemaRender = <T,>(props: RepeatedDocumentProps<T>) => {\n // Only called after `canCompileRepeatedSchema` confirmed token items.\n if (!isBindingToken(props.items)) {\n throw new Error(\"jsxpdf.compile.unsupported: RepeatedDocument schema render requires binding-token items.\")\n }\n const itemsPath = [...props.items.path]\n const staticPlan = getRepeatedDocumentPlan({\n ...props,\n items: []\n })\n\n const documentTemplate = compilePrecompiledTemplateSync(h(Document, {\n title: props.title,\n author: props.author,\n subject: props.subject,\n creator: props.creator,\n keywords: props.keywords,\n producer: props.producer,\n language: props.language,\n creationDate: props.creationDate,\n modificationDate: props.modificationDate,\n pdfVersion: props.pdfVersion,\n tagged: props.tagged,\n attachments: props.attachments,\n xmp: props.xmp,\n pdfaid: props.pdfaid,\n pageMode: props.pageMode,\n pageLayout: props.pageLayout,\n }))\n\n const pageTemplate = compilePrecompiledTemplateSync(\n h(Document, null,\n h(\n Page,\n {\n size: [staticPlan.pageWidth, staticPlan.pageHeight],\n dpi: props.page?.dpi,\n style: [\n {\n padding: 0,\n position: \"relative\"\n },\n props.page?.style\n ]\n }\n )\n )\n )\n\n const slotTemplate = compilePrecompiledTemplateSync(\n createRepeatedSlotElement(\n props,\n createBindingToken([\"__repeatItem\"], \"\", undefined, true) as unknown as T,\n 0,\n {\n x: 0,\n y: 0,\n width: staticPlan.slotWidth,\n height: staticPlan.slotHeight\n }\n )\n )\n\n const declaredBindingPaths = [\n itemsPath,\n ...documentTemplate.placeholders.flatMap((entry) => [\n ...(entry.bindingPath ? [entry.bindingPath] : []),\n ...(entry.bindingPaths ?? [])\n ]),\n ...pageTemplate.placeholders.flatMap((entry) => [\n ...(entry.bindingPath ? [entry.bindingPath] : []),\n ...(entry.bindingPaths ?? [])\n ]),\n ...slotTemplate.placeholders.flatMap((entry) => [\n ...(entry.bindingPath ? [entry.bindingPath] : []),\n ...(entry.bindingPaths ?? [])\n ]),\n ].flatMap((path) => (\n path[0] === \"__repeatItem\"\n ? [path]\n : Array.from({ length: path.length }, (_, index) => path.slice(0, index + 1))\n ))\n const uniqueBindingPaths = declaredBindingPaths.filter((path, index, all) =>\n all.findIndex((candidate) =>\n candidate.length === path.length &&\n candidate.every((segment, segmentIndex) => segment === path[segmentIndex])\n ) === index\n )\n\n // Per-page compiled template: one slot per grid position, each with an indexed binding token\n // This lets us reuse the Yoga tree across pages \u2014 only data changes, structure stays the same.\n const indexedSlotElements = Array.from({ length: staticPlan.perPage }, (_, i) => {\n const row = Math.floor(i / staticPlan.columns)\n const col = i % staticPlan.columns\n return createRepeatedSlotElement(\n props,\n createBindingToken([\"__slots\", i], \"\", undefined, true) as unknown as T,\n i,\n {\n x: col * (staticPlan.slotWidth + staticPlan.gap),\n y: row * (staticPlan.slotHeight + staticPlan.gap),\n width: staticPlan.slotWidth,\n height: staticPlan.slotHeight\n }\n )\n })\n\n const perPageCompiledTemplate = compilePrecompiledTemplateSync(\n h(Document, null,\n h(Page, {\n size: [staticPlan.pageWidth, staticPlan.pageHeight],\n dpi: props.page?.dpi,\n style: [{ padding: 0, position: \"relative\" }, props.page?.style]\n }, ...indexedSlotElements)\n )\n )\n\n type PageOptimizedState = { renderState: PrecompiledTemplateRenderState; incrementalState: IncrementalYogaLayoutState }\n let pageOptimizedStatePromise: Promise<PageOptimizedState> | null = null\n let renderQueue: Promise<void> = Promise.resolve()\n\n const getPageOptimizedState = (): Promise<PageOptimizedState> => {\n if (!pageOptimizedStatePromise) {\n pageOptimizedStatePromise = initCompiledRenderState(perPageCompiledTemplate).then(\n ({ renderState, incrementalLayoutState }) => ({ renderState, incrementalState: incrementalLayoutState })\n )\n }\n return pageOptimizedStatePromise\n }\n\n return Object.assign(\n (rootProps: unknown): PdfElement | Promise<LayoutNode> => {\n const resolvedItems = resolveTrackedPathValue(rootProps, itemsPath)\n if (!Array.isArray(resolvedItems)) {\n throw new Error(\"jsxpdf.compile.unsupported: RepeatedDocument items must resolve to an array at render time.\")\n }\n\n const allItems: readonly T[] = props.fill === \"column\"\n ? reorderForColumnFill(resolvedItems as readonly T[], staticPlan.columns, staticPlan.perPage / staticPlan.columns)\n : resolvedItems as readonly T[]\n\n const pageCount = Math.ceil(allItems.length / staticPlan.perPage)\n\n // Optimized path: all pages are full so the per-page Yoga tree can be reused without structural changes\n if (allItems.length > 0 && allItems.length % staticPlan.perPage === 0) {\n const result = renderQueue.then(async () => {\n const state = await getPageOptimizedState()\n const pageLayouts: LayoutNode[] = []\n for (let pageIndex = 0; pageIndex < pageCount; pageIndex++) {\n const pageItems = allItems.slice(pageIndex * staticPlan.perPage, (pageIndex + 1) * staticPlan.perPage)\n const { pageLayout, incrementalState: nextState } = await runSinglePageIncrementalPipeline(\n state.renderState,\n state.incrementalState,\n { __slots: pageItems }\n )\n state.incrementalState = nextState\n pageLayouts.push(pageLayout)\n }\n const documentProps = resolveBindingValues({\n title: props.title,\n author: props.author,\n subject: props.subject,\n creator: props.creator,\n keywords: props.keywords,\n producer: props.producer,\n language: props.language,\n creationDate: props.creationDate,\n modificationDate: props.modificationDate,\n pdfVersion: props.pdfVersion,\n tagged: props.tagged,\n attachments: props.attachments,\n xmp: props.xmp,\n pdfaid: props.pdfaid,\n pageMode: props.pageMode,\n pageLayout: props.pageLayout,\n }, rootProps) as Record<string, unknown>\n return buildConcatenatedDocumentLayout(documentProps, pageLayouts)\n })\n renderQueue = result.then(() => {}).catch(() => {})\n return result\n }\n\n // Fallback: partial last page \u2014 build full JSX tree and let the layout pipeline handle it\n const concreteProps = {\n ...(resolveBindingValues(props, rootProps) as RepeatedDocumentProps<T>),\n items: resolvedItems as readonly T[],\n }\n return materializeElement(createRepeatedDocumentElement(concreteProps)) as PdfElement\n },\n { bindingPaths: uniqueBindingPaths }\n )\n}\n\nconst createRepeatedDocumentElement = <T,>(props: RepeatedDocumentProps<T>): PdfElement => {\n const concatDocuments = createRepeatedPages(props).map((page) => h(Document, null, page))\n return h(\n Document,\n {\n title: props.title,\n author: props.author,\n subject: props.subject,\n creator: props.creator,\n keywords: props.keywords,\n producer: props.producer,\n language: props.language,\n creationDate: props.creationDate,\n modificationDate: props.modificationDate,\n pdfVersion: props.pdfVersion,\n tagged: props.tagged,\n attachments: props.attachments,\n xmp: props.xmp,\n pdfaid: props.pdfaid,\n pageMode: props.pageMode,\n pageLayout: props.pageLayout,\n concatDocuments\n }\n )\n}\n\nexport function RepeatedDocument<T>(props: RepeatedDocumentProps<T>) {\n if (canCompileRepeatedSchema(props)) {\n const schemaRender = createRepeatedSchemaRender(props)\n return h(\n Document,\n {\n title: typeof props.title === \"string\" ? props.title : undefined,\n __compiledBindingPaths: schemaRender.bindingPaths,\n __compiledSchemaRender: schemaRender\n }\n )\n }\n if (isBindingToken(props.items)) {\n throw new Error(\"jsxpdf.compile.unsupported: RepeatedDocument requires static layout props during compile.\")\n }\n return createRepeatedDocumentElement(props)\n}\n\nexport function Repeat<T>(props: RepeatedDocumentProps<T>): PdfElement {\n // Fragment unwraps to the raw pages array at runtime; the PdfElement\n // annotation keeps `<Repeat>` usable as a JSX component. Pages flatten\n // through children materialization exactly like a returned array.\n return h(Fragment, null, ...createRepeatedPages(props)) as PdfElement\n}\n\nexport function Concat(props: ConcatProps): PdfElement {\n const { children, ...documentProps } = props\n return h(\n Document,\n {\n ...documentProps,\n concatDocuments: extractConcatDocuments(children ?? [])\n }\n )\n}\n", "/// <reference path=\"./global.d.ts\" />\n\nexport { Fragment, jsx, jsxs, jsxDEV } from \"@jsxpdf/core/jsx-runtime\"\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Document", "Page", "View", "chunk", "pdf"]
|
|
7
|
+
}
|
package/dist/render.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type PdfElement, type PdfRenderOptions } from "@jsxpdf/core";
|
|
2
|
+
import { type CompiledRuntimeTemplate, type PdfComponent, type PdfRuntimeInstance } from "@jsxpdf/render";
|
|
3
|
+
import { renderPdf } from "@jsxpdf/render-pdfkit";
|
|
4
|
+
type PdfDocumentStream = Awaited<ReturnType<typeof renderPdf>>;
|
|
5
|
+
export type PdfInstance = PdfRuntimeInstance<PdfDocumentStream> & {
|
|
6
|
+
toUint8Array: () => Promise<Uint8Array>;
|
|
7
|
+
toBlob: () => Promise<Blob>;
|
|
8
|
+
};
|
|
9
|
+
export declare const pdf: (initialValue?: PdfElement, options?: PdfRenderOptions) => PdfInstance;
|
|
10
|
+
export declare const renderToUint8Array: (element: PdfElement, options?: PdfRenderOptions) => Promise<Uint8Array>;
|
|
11
|
+
export declare const renderToBlob: (element: PdfElement, options?: PdfRenderOptions) => Promise<Blob>;
|
|
12
|
+
export type CompiledTemplate<Props = unknown> = Omit<CompiledRuntimeTemplate<Props, PdfDocumentStream>, "toStream"> & {
|
|
13
|
+
toUint8Array: (props: Props, options?: PdfRenderOptions) => Promise<Uint8Array>;
|
|
14
|
+
toBlob: (props: Props, options?: PdfRenderOptions) => Promise<Blob>;
|
|
15
|
+
};
|
|
16
|
+
export declare const compile: <Props>(component: PdfComponent<Props>, options?: PdfRenderOptions) => Promise<CompiledTemplate<Props>>;
|
|
17
|
+
export type { PdfComponent };
|
|
18
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../packages/jsxpdf/src/render.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,KAAK,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAA;AA+C9D,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,GAAG;IAChE,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B,CAAA;AAaD,eAAO,MAAM,GAAG,GAAI,eAAe,UAAU,EAAE,UAAS,gBAAqB,KAAG,WAE/E,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,SAAS,UAAU,EACnB,UAAS,gBAAqB,KAC7B,OAAO,CAAC,UAAU,CAAyC,CAAA;AAE9D,eAAO,MAAM,YAAY,GACvB,SAAS,UAAU,EACnB,UAAS,gBAAqB,KAC7B,OAAO,CAAC,IAAI,CAAmC,CAAA;AAElD,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,IAAI,CAClD,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,CAAC,EACjD,UAAU,CACX,GAAG;IACF,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/E,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpE,CAAA;AAED,eAAO,MAAM,OAAO,GAAU,KAAK,EACjC,WAAW,YAAY,CAAC,KAAK,CAAC,EAC9B,UAAS,gBAAqB,KAC7B,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAajC,CAAA;AAED,YAAY,EAAE,YAAY,EAAE,CAAA"}
|
package/dist/repeat.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { BindingToken, PdfElement, PdfPageSizeValue, PdfProps, PdfStyle, PdfValue } from "@jsxpdf/core";
|
|
2
|
+
export type RepeatOverflowMode = "clip" | "error" | "shrink";
|
|
3
|
+
export type RepeatPageProps = {
|
|
4
|
+
size?: PdfPageSizeValue;
|
|
5
|
+
orientation?: "portrait" | "landscape";
|
|
6
|
+
dpi?: number;
|
|
7
|
+
style?: PdfStyle | PdfStyle[];
|
|
8
|
+
};
|
|
9
|
+
export type RepeatedDocumentProps<T> = {
|
|
10
|
+
items: readonly T[] | BindingToken;
|
|
11
|
+
page?: RepeatPageProps;
|
|
12
|
+
slots: {
|
|
13
|
+
columns: number;
|
|
14
|
+
rows: number;
|
|
15
|
+
};
|
|
16
|
+
gap?: number;
|
|
17
|
+
fill?: "row" | "column";
|
|
18
|
+
children: ((item: T, index: number) => PdfValue) | PdfValue;
|
|
19
|
+
} & Pick<ConcatProps, "title" | "author" | "subject" | "creator" | "keywords" | "producer" | "language" | "creationDate" | "modificationDate" | "pdfVersion" | "tagged" | "attachments" | "xmp" | "pdfaid" | "pageMode" | "pageLayout">;
|
|
20
|
+
export type CardSlotProps = PdfProps & {
|
|
21
|
+
padding?: number;
|
|
22
|
+
overflow?: RepeatOverflowMode;
|
|
23
|
+
};
|
|
24
|
+
export type ConcatProps = {
|
|
25
|
+
children?: PdfValue;
|
|
26
|
+
title?: string;
|
|
27
|
+
author?: string;
|
|
28
|
+
subject?: string;
|
|
29
|
+
creator?: string;
|
|
30
|
+
keywords?: string;
|
|
31
|
+
producer?: string;
|
|
32
|
+
language?: string;
|
|
33
|
+
creationDate?: Date;
|
|
34
|
+
modificationDate?: Date;
|
|
35
|
+
pdfVersion?: string;
|
|
36
|
+
tagged?: PdfProps["tagged"];
|
|
37
|
+
attachments?: PdfProps["attachments"];
|
|
38
|
+
xmp?: PdfProps["xmp"];
|
|
39
|
+
pdfaid?: PdfProps["pdfaid"];
|
|
40
|
+
pageMode?: string;
|
|
41
|
+
pageLayout?: string;
|
|
42
|
+
};
|
|
43
|
+
export declare function CardSlot(props: CardSlotProps): PdfElement;
|
|
44
|
+
export declare function RepeatedDocument<T>(props: RepeatedDocumentProps<T>): PdfElement;
|
|
45
|
+
export declare function Repeat<T>(props: RepeatedDocumentProps<T>): PdfElement;
|
|
46
|
+
export declare function Concat(props: ConcatProps): PdfElement;
|
|
47
|
+
//# sourceMappingURL=repeat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../../../../packages/jsxpdf/src/repeat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAc,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAYxH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAA;IACtC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACrC,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,YAAY,CAAA;IAClC,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACvB,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC,GAAG,QAAQ,CAAA;CAC5D,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,kBAAkB,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC,CAAA;AAEvO,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,gBAAgB,CAAC,EAAE,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IACrC,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAkJD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAkDzD;AAgZD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,cAgBlE;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,UAAU,CAKrE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,CASrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-fonts.d.ts","sourceRoot":"","sources":["../../../../packages/jsxpdf/src/standard-fonts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jsxpdf/jsxpdf",
|
|
3
|
+
"version": "0.0.1-alpha.0",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./node": {
|
|
17
|
+
"types": "./dist/node.d.ts",
|
|
18
|
+
"default": "./dist/node.js"
|
|
19
|
+
},
|
|
20
|
+
"./core": {
|
|
21
|
+
"types": "./dist/core.d.ts",
|
|
22
|
+
"default": "./dist/core.js"
|
|
23
|
+
},
|
|
24
|
+
"./jsx-runtime": {
|
|
25
|
+
"types": "./dist/jsx-runtime.d.ts",
|
|
26
|
+
"default": "./dist/jsx-runtime.js"
|
|
27
|
+
},
|
|
28
|
+
"./jsx-dev-runtime": {
|
|
29
|
+
"types": "./dist/jsx-dev-runtime.d.ts",
|
|
30
|
+
"default": "./dist/jsx-dev-runtime.js"
|
|
31
|
+
},
|
|
32
|
+
"./standard-fonts": {
|
|
33
|
+
"types": "./dist/standard-fonts.d.ts",
|
|
34
|
+
"default": "./dist/standard-fonts.js"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "node ../../scripts/build-packages.mjs packages/jsxpdf",
|
|
39
|
+
"prepare": "bun run build"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@jsxpdf/core": "0.0.1-alpha.0",
|
|
43
|
+
"@jsxpdf/layout": "0.0.1-alpha.0",
|
|
44
|
+
"@jsxpdf/node": "0.0.1-alpha.0",
|
|
45
|
+
"@jsxpdf/render": "0.0.1-alpha.0",
|
|
46
|
+
"@jsxpdf/render-pdfkit": "0.0.1-alpha.0"
|
|
47
|
+
}
|
|
48
|
+
}
|