{"version":3,"file":"react-pdf.js","sources":["../src/utils.js","../src/renderer.js","../src/index.js","../src/node/renderTo.js","../src/node/index.js"],"sourcesContent":["export const omitNils = (object) =>\n Object.fromEntries(\n Object.entries(object).filter(([, value]) => value !== undefined),\n );\n","import Reconciler from '@react-pdf/reconciler';\n\nconst createInstance = (type, { style, children, ...props }) => ({\n type,\n box: {},\n style: style || {},\n props: props || {},\n children: [],\n});\n\nconst createTextInstance = (text) => ({ type: 'TEXT_INSTANCE', value: text });\n\nconst appendChild = (parent, child) => {\n const isParentText =\n parent.type === 'TEXT' ||\n parent.type === 'LINK' ||\n parent.type === 'TSPAN' ||\n parent.type === 'NOTE';\n\n const isChildTextInstance = child.type === 'TEXT_INSTANCE';\n const isOrphanTextInstance = isChildTextInstance && !isParentText;\n\n // Ignore orphan text instances.\n // Caused by cases such as <>{name && {name}}>\n if (isOrphanTextInstance) {\n console.warn(\n `Invalid '${child.value}' string child outside component`,\n );\n return;\n }\n\n parent.children.push(child);\n};\n\nconst appendChildToContainer = (parentInstance, child) => {\n if (parentInstance.type === 'ROOT') {\n parentInstance.document = child;\n } else {\n appendChild(parentInstance, child);\n }\n};\n\nconst insertBefore = (parentInstance, child, beforeChild) => {\n const index = parentInstance.children?.indexOf(beforeChild);\n\n if (index === undefined) return;\n\n if (index !== -1 && child) parentInstance.children.splice(index, 0, child);\n};\n\nconst removeChild = (parentInstance, child) => {\n const index = parentInstance.children?.indexOf(child);\n\n if (index === undefined) return;\n\n if (index !== -1) parentInstance.children.splice(index, 1);\n};\n\nconst removeChildFromContainer = (parentInstance, child) => {\n const index = parentInstance.children?.indexOf(child);\n\n if (index === undefined) return;\n\n if (index !== -1) parentInstance.children.splice(index, 1);\n};\n\nconst commitTextUpdate = (textInstance, oldText, newText) => {\n textInstance.value = newText;\n};\n\nconst commitUpdate = (instance, updatePayload, type, oldProps, newProps) => {\n const { style, ...props } = newProps;\n instance.props = props;\n instance.style = style;\n};\n\nconst createRenderer = ({ onChange = () => {} }) =>\n Reconciler({\n appendChild,\n appendChildToContainer,\n commitTextUpdate,\n commitUpdate,\n createInstance,\n createTextInstance,\n insertBefore,\n removeChild,\n removeChildFromContainer,\n resetAfterCommit: onChange,\n });\n\nexport default createRenderer;\n","import FontStore from '@react-pdf/font';\nimport renderPDF from '@react-pdf/render';\nimport PDFDocument from '@react-pdf/pdfkit';\nimport layoutDocument from '@react-pdf/layout';\nimport { upperFirst } from '@react-pdf/fns';\n\nimport { omitNils } from './utils';\nimport createRenderer from './renderer';\nimport packageJson from '../package.json';\n\nconst { version } = packageJson;\n\nconst fontStore = new FontStore();\n\n// We must keep a single renderer instance, otherwise React will complain\nlet renderer;\n\n// The pdf instance acts as an event emitter for DOM usage.\n// We only want to trigger an update when PDF content changes\nconst events = {};\n\nconst pdf = (initialValue) => {\n const onChange = () => {\n const listeners = events.change?.slice() || [];\n for (let i = 0; i < listeners.length; i += 1) listeners[i]();\n };\n\n const container = { type: 'ROOT', document: null };\n renderer = renderer || createRenderer({ onChange });\n const mountNode = renderer.createContainer(container);\n\n const updateContainer = (doc, callback) => {\n renderer.updateContainer(doc, mountNode, null, callback);\n };\n\n if (initialValue) updateContainer(initialValue);\n\n const render = async (compress = true) => {\n const props = container.document.props || {};\n const {\n pdfVersion,\n language,\n pageLayout,\n pageMode,\n title,\n author,\n subject,\n keywords,\n creator = 'react-pdf',\n producer = 'react-pdf',\n creationDate = new Date(),\n modificationDate,\n ownerPassword,\n userPassword,\n permissions,\n } = props;\n\n const ctx = new PDFDocument({\n compress,\n pdfVersion,\n lang: language,\n displayTitle: true,\n autoFirstPage: false,\n ownerPassword,\n userPassword,\n permissions,\n pageLayout,\n info: omitNils({\n Title: title,\n Author: author,\n Subject: subject,\n Keywords: keywords,\n Creator: creator,\n Producer: producer,\n CreationDate: creationDate,\n ModificationDate: modificationDate,\n }),\n });\n\n if (pageMode) {\n ctx._root.data.PageMode = upperFirst(pageMode);\n }\n\n const layout = await layoutDocument(container.document, fontStore);\n const fileStream = renderPDF(ctx, layout);\n return { layout, fileStream };\n };\n\n const callOnRender = (params = {}) => {\n if (container.document.props.onRender) {\n container.document.props.onRender(params);\n }\n };\n\n const toBlob = async () => {\n const chunks = [];\n const { layout: _INTERNAL__LAYOUT__DATA_, fileStream: instance } =\n await render();\n\n return new Promise((resolve, reject) => {\n instance.on('data', (chunk) => {\n chunks.push(\n chunk instanceof Uint8Array ? chunk : new Uint8Array(chunk),\n );\n });\n\n instance.on('end', () => {\n try {\n const blob = new Blob(chunks, { type: 'application/pdf' });\n callOnRender({ blob, _INTERNAL__LAYOUT__DATA_ });\n resolve(blob);\n } catch (error) {\n reject(error);\n }\n });\n });\n };\n\n // TODO: rename this method to `toStream` in next major release, because it return stream not a buffer\n const toBuffer = async () => {\n const { layout: _INTERNAL__LAYOUT__DATA_, fileStream } = await render();\n callOnRender({ _INTERNAL__LAYOUT__DATA_ });\n\n return fileStream;\n };\n\n /*\n * TODO: remove this method in next major release. it is buggy\n * see\n * - https://github.com/diegomura/react-pdf/issues/2112\n * - https://github.com/diegomura/react-pdf/issues/2095\n */\n const toString = async () => {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n '`toString` is deprecated and will be removed in next major release',\n );\n }\n\n let result = '';\n const { fileStream: instance } = await render(false); // For some reason, when rendering to string if compress=true the document is blank\n\n return new Promise((resolve, reject) => {\n try {\n instance.on('data', (buffer) => {\n result += buffer;\n });\n\n instance.on('end', () => {\n callOnRender();\n resolve(result);\n });\n } catch (error) {\n reject(error);\n }\n });\n };\n\n const on = (event, listener) => {\n if (!events[event]) events[event] = [];\n events[event].push(listener);\n };\n\n const removeListener = (event, listener) => {\n if (!events[event]) return;\n const idx = events[event].indexOf(listener);\n if (idx > -1) events[event].splice(idx, 1);\n };\n\n return {\n on,\n container,\n toBlob,\n toBuffer,\n toString,\n removeListener,\n updateContainer,\n };\n};\n\nconst Font = fontStore;\n\nconst StyleSheet = {\n create: (s) => s,\n};\n\nexport { version, Font, StyleSheet, pdf, createRenderer };\n","import fs from 'fs';\nimport { Buffer } from 'buffer';\n\nimport { pdf } from '../index';\n\n/**\n * @param {React.ReactElement} element\n * @returns {Promise}\n */\nexport const renderToStream = async (element) => {\n const instance = pdf(element);\n const stream = await instance.toBuffer();\n return stream;\n};\n\n/**\n * @param {React.ReactElement} element\n * @param {string} filePath\n * @param {Function} [callback]\n */\nexport const renderToFile = async (element, filePath, callback) => {\n const output = await renderToStream(element);\n const stream = fs.createWriteStream(filePath);\n\n output.pipe(stream);\n\n return new Promise((resolve, reject) => {\n stream.on('finish', () => {\n if (callback) callback(output, filePath);\n resolve(output);\n });\n stream.on('error', reject);\n });\n};\n\n/**\n * @param {React.ReactElement} element\n * @returns {Promise}\n */\nexport const renderToBuffer = (element) =>\n renderToStream(element).then(\n (stream) =>\n new Promise((resolve, reject) => {\n const chunks = [];\n stream.on('data', (chunk) => chunks.push(chunk));\n stream.on('end', () => resolve(Buffer.concat(chunks)));\n stream.on('error', (error) => reject(error));\n }),\n );\n\nexport const renderToString = (element) => {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n '`renderToString` is deprecated and will be removed in next major release, use `renderToBuffer` instead',\n );\n }\n\n return renderToBuffer(element).then((buffer) => buffer.toString());\n};\n","import * as primitives from '@react-pdf/primitives';\n\nimport { renderToFile, renderToStream, renderToString } from './renderTo';\nimport { pdf, version, Font, StyleSheet } from '../index';\n\nconst throwEnvironmentError = (name) => {\n throw new Error(\n `${name} is a web specific API. You're either using this component on Node, or your bundler is not loading react-pdf from the appropriate web build.`,\n );\n};\n\nexport const usePDF = () => {\n throwEnvironmentError('usePDF');\n};\n\nexport const PDFViewer = () => {\n throwEnvironmentError('PDFViewer');\n};\n\nexport const PDFDownloadLink = () => {\n throwEnvironmentError('PDFDownloadLink');\n};\n\nexport const BlobProvider = () => {\n throwEnvironmentError('BlobProvider');\n};\n\nexport const render = renderToFile;\n\nexport * from '../index';\n\nexport * from './renderTo';\n\nexport * from '@react-pdf/primitives';\n\n// TODO: remove this default export in next major release because it breaks tree-shacking\nexport default {\n pdf,\n Font,\n version,\n StyleSheet,\n usePDF,\n PDFViewer,\n BlobProvider,\n PDFDownloadLink,\n renderToStream,\n renderToString,\n renderToFile,\n render,\n ...primitives,\n};\n"],"names":["omitNils","object","Object","fromEntries","entries","filter","_ref","value","undefined","createInstance","type","style","children","props","box","createTextInstance","text","appendChild","parent","child","isParentText","isChildTextInstance","isOrphanTextInstance","console","warn","push","appendChildToContainer","parentInstance","document","insertBefore","beforeChild","_parentInstance$child","index","indexOf","splice","removeChild","_parentInstance$child2","removeChildFromContainer","_parentInstance$child3","commitTextUpdate","textInstance","oldText","newText","commitUpdate","instance","updatePayload","oldProps","newProps","createRenderer","_ref2","onChange","Reconciler","resetAfterCommit","version","packageJson","fontStore","FontStore","renderer","events","pdf","initialValue","_events$change","listeners","change","slice","i","length","container","mountNode","createContainer","updateContainer","doc","callback","render","compress","pdfVersion","language","pageLayout","pageMode","title","author","subject","keywords","creator","producer","creationDate","Date","modificationDate","ownerPassword","userPassword","permissions","ctx","PDFDocument","lang","displayTitle","autoFirstPage","info","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModificationDate","_root","data","PageMode","upperFirst","layout","layoutDocument","fileStream","renderPDF","callOnRender","params","onRender","toBlob","chunks","_INTERNAL__LAYOUT__DATA_","Promise","resolve","reject","on","chunk","Uint8Array","blob","Blob","error","toBuffer","toString","process","env","NODE_ENV","result","buffer","event","listener","removeListener","idx","Font","StyleSheet","create","s","renderToStream","element","stream","renderToFile","filePath","output","fs","createWriteStream","pipe","renderToBuffer","then","Buffer","concat","renderToString","throwEnvironmentError","name","Error","usePDF","PDFViewer","PDFDownloadLink","BlobProvider","primitives"],"mappings":"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"}