@react-pdf/renderer
Advanced tools
Comparing version
@@ -101,3 +101,3 @@ import * as primitives from '@react-pdf/primitives'; | ||
var name = "@react-pdf/renderer"; | ||
var version$1 = "4.2.0"; | ||
var version$1 = "4.2.1"; | ||
var license = "MIT"; | ||
@@ -127,7 +127,7 @@ var description = "Create PDF files on the browser and server"; | ||
"@react-pdf/font": "^3.0.2", | ||
"@react-pdf/layout": "^4.2.1", | ||
"@react-pdf/layout": "^4.2.2", | ||
"@react-pdf/pdfkit": "^4.0.1", | ||
"@react-pdf/primitives": "^4.1.0", | ||
"@react-pdf/reconciler": "^1.1.3", | ||
"@react-pdf/render": "^4.1.0", | ||
"@react-pdf/render": "^4.1.1", | ||
"@react-pdf/types": "^2.7.1", | ||
@@ -134,0 +134,0 @@ events: "^3.3.0", |
@@ -1,1 +0,1 @@ | ||
import*as e from"@react-pdf/primitives";export*from"@react-pdf/primitives";import r from"queue";import{useRef as t,useState as o,useEffect as n,useCallback as i}from"react";import a from"@react-pdf/font";import l from"@react-pdf/render";import c from"@react-pdf/pdfkit";import s from"@react-pdf/layout";import d from"@react-pdf/reconciler";import{jsx as p}from"react/jsx-runtime";const u=(e,r)=>{let{style:t,children:o,...n}=r;return{type:e,box:{},style:t||{},props:n||{},children:[]}},f=e=>({type:"TEXT_INSTANCE",value:e}),m=(e,r)=>{const t="TEXT"===e.type||"LINK"===e.type||"TSPAN"===e.type||"NOTE"===e.type;"TEXT_INSTANCE"!==r.type||t?e.children.push(r):console.warn(`Invalid '${r.value}' string child outside <Text> component`)},v=(e,r)=>{"ROOT"===e.type?e.document=r:m(e,r)},h=(e,r,t)=>{var o;const n=null===(o=e.children)||void 0===o?void 0:o.indexOf(t);void 0!==n&&-1!==n&&r&&e.children.splice(n,0,r)},b=(e,r)=>{var t;const o=null===(t=e.children)||void 0===t?void 0:t.indexOf(r);void 0!==o&&-1!==o&&e.children.splice(o,1)},y=(e,r)=>{var t;const o=null===(t=e.children)||void 0===t?void 0:t.indexOf(r);void 0!==o&&-1!==o&&e.children.splice(o,1)},g=(e,r,t)=>{e.value=t},w=(e,r,t,o,n)=>{const{style:i,...a}=n;e.props=a,e.style=i},T=e=>{let{onChange:r=(()=>{})}=e;return d({appendChild:m,appendChildToContainer:v,commitTextUpdate:g,commitUpdate:w,createInstance:u,createTextInstance:f,insertBefore:h,removeChild:b,removeChildFromContainer:y,resetAfterCommit:r})};var C={name:"@react-pdf/renderer",version:"4.2.0",license:"MIT",description:"Create PDF files on the browser and server",author:"Diego Muracciole <diegomuracciole@gmail.com>",homepage:"https://github.com/diegomura/react-pdf#readme",type:"module",main:"./lib/react-pdf.js",browser:{"./lib/react-pdf.js":"./lib/react-pdf.browser.js"},repository:{type:"git",url:"https://github.com/diegomura/react-pdf.git",directory:"packages/renderer"},scripts:{build:"rimraf ./lib && rollup -c",watch:"rimraf ./lib && rollup -c -w",size:"size-limit",lint:"eslint src",test:"vitest && vitest --config vitest.browser.config.js"},dependencies:{"@babel/runtime":"^7.20.13","@react-pdf/font":"^3.0.2","@react-pdf/layout":"^4.2.1","@react-pdf/pdfkit":"^4.0.1","@react-pdf/primitives":"^4.1.0","@react-pdf/reconciler":"^1.1.3","@react-pdf/render":"^4.1.0","@react-pdf/types":"^2.7.1",events:"^3.3.0","object-assign":"^4.1.1","prop-types":"^15.6.2",queue:"^6.0.1"},peerDependencies:{react:"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"},"lint-staged":{"*.js":["yarn lint","prettier --write"]},files:["lib","index.d.ts"],collective:{type:"opencollective",url:"https://opencollective.com/react-pdf",logo:"https://opencollective.com/opencollective/logo.txt"},devDependencies:{"@size-limit/preset-big-lib":"^11.0.1",assert:"^2.0.0","browserify-zlib":"^0.2.0",buffer:"^6.0.3",process:"^0.11.10","size-limit":"^11.0.1",util:"^0.12.4"}};const{version:D}=C,S=new a;let N;const A={},O=e=>{const r={type:"ROOT",document:null};N=N||T({onChange:()=>{var e;const r=(null===(e=A.change)||void 0===e?void 0:e.slice())||[];for(let e=0;e<r.length;e+=1)r[e]()}});const t=N.createContainer(r),o=(e,r)=>{N.updateContainer(e,t,null,r)};e&&o(e);const n=async function(e){void 0===e&&(e=!0);const t=r.document.props||{},{pdfVersion:o,language:n,pageLayout:i,pageMode:a,title:d,author:p,subject:u,keyboards:f,creator:m="react-pdf",producer:v="react-pdf",creationDate:h=new Date,modificationDate:b}=t,y=new c({compress:e,pdfVersion:o,lang:n,displayTitle:!0,autoFirstPage:!1,pageLayout:i,pageMode:a,info:(g={Title:d,Author:p,Subject:u,Keywords:f,Creator:m,Producer:v,CreationDate:h,ModificationDate:b},Object.fromEntries(Object.entries(g).filter((e=>{let[,r]=e;return void 0!==r}))))});var g;const w=await s(r.document,S);return{layout:w,fileStream:l(y,w)}},i=function(e){void 0===e&&(e={}),r.document.props.onRender&&r.document.props.onRender(e)};return{on:(e,r)=>{A[e]||(A[e]=[]),A[e].push(r)},container:r,toBlob:async()=>{const e=[],{layout:r,fileStream:t}=await n();return new Promise(((o,n)=>{t.on("data",(r=>{e.push(r instanceof Uint8Array?r:new Uint8Array(r))})),t.on("end",(()=>{try{const t=new Blob(e,{type:"application/pdf"});i({blob:t,_INTERNAL__LAYOUT__DATA_:r}),o(t)}catch(e){n(e)}}))}))},toBuffer:async()=>{const{layout:e,fileStream:r}=await n();return i({_INTERNAL__LAYOUT__DATA_:e}),r},toString:async()=>{"development"===process.env.NODE_ENV&&console.warn("`toString` is deprecated and will be removed in next major release");let e="";const{fileStream:r}=await n(!1);return new Promise(((t,o)=>{try{r.on("data",(r=>{e+=r})),r.on("end",(()=>{i(),t(e)}))}catch(e){o(e)}}))},removeListener:(e,r)=>{if(!A[e])return;const t=A[e].indexOf(r);t>-1&&A[e].splice(t,1)},updateContainer:o}},L=S,_={create:e=>e},j=function(e){let{document:a}=void 0===e?{}:e;const l=t(null),[c,s]=o({url:null,blob:null,error:null,loading:!!a});n((()=>{const e=r({autostart:!0,concurrency:1}),t=()=>{s((e=>({...e,loading:!0}))),e.splice(0,e.length,(()=>c.error?Promise.resolve():l.current.toBlob()))};return l.current=O(),l.current.on("change",t),a&&l.current.updateContainer(a),e.on("error",(e=>{console.error(e),s((r=>({...r,loading:!1,error:e})))})),e.on("success",(e=>{s({blob:e,error:null,loading:!1,url:URL.createObjectURL(e)})})),()=>{e.end(),l.current.removeListener("change",t)}}),[]),n((()=>()=>{c.url&&URL.revokeObjectURL(c.url)}),[c.url]);const d=i((e=>{l.current.updateContainer(e)}),[]);return[c,d]},x=e=>{let{title:r,style:t,className:o,children:i,innerRef:a,showToolbar:l=!0,...c}=e;const[s,d]=j();n((()=>d(i)),[i]);const u=s.url?`${s.url}#toolbar=${l?1:0}`:null;return p("iframe",{src:u,title:r,ref:a,style:t,className:o,...c})},P=e=>{let{document:r,children:t}=e;const[o,i]=j();return n((()=>i(r)),[r]),r?t(o):(console.warn("You should pass a valid document to BlobProvider"),null)},E=e=>{let{fileName:r="document.pdf",document:t,children:o,onClick:i,href:a,...l}=e;const[c,s]=j();if(n((()=>s(t)),[t]),!t)return console.warn("You should pass a valid document to PDFDownloadLink"),null;return p("a",{href:c.url,download:r,onClick:e=>{c&&window.navigator.msSaveBlob&&window.navigator.msSaveBlob(c.blob,r),"function"==typeof i&&i(e,c)},...l,children:"function"==typeof o?o(c):o})},R=e=>{throw new Error(`${e} is a Node specific API. You're either using this method in a browser, or your bundler is not loading react-pdf from the appropriate web build.`)},B=()=>{R("renderToStream")},F=()=>{R("renderToBuffer")},I=()=>{R("renderToString")},U=()=>{R("renderToFile")},k=()=>{R("render")};var z={pdf:O,usePDF:j,Font:L,version:D,StyleSheet:_,PDFViewer:x,BlobProvider:P,PDFDownloadLink:E,renderToStream:B,renderToString:I,renderToFile:U,render:k,...e};export{P as BlobProvider,L as Font,E as PDFDownloadLink,x as PDFViewer,_ as StyleSheet,T as createRenderer,z as default,O as pdf,k as render,F as renderToBuffer,U as renderToFile,B as renderToStream,I as renderToString,j as usePDF,D as version}; | ||
import*as e from"@react-pdf/primitives";export*from"@react-pdf/primitives";import r from"queue";import{useRef as t,useState as o,useEffect as n,useCallback as i}from"react";import a from"@react-pdf/font";import l from"@react-pdf/render";import c from"@react-pdf/pdfkit";import s from"@react-pdf/layout";import d from"@react-pdf/reconciler";import{jsx as p}from"react/jsx-runtime";const u=(e,r)=>{let{style:t,children:o,...n}=r;return{type:e,box:{},style:t||{},props:n||{},children:[]}},f=e=>({type:"TEXT_INSTANCE",value:e}),m=(e,r)=>{const t="TEXT"===e.type||"LINK"===e.type||"TSPAN"===e.type||"NOTE"===e.type;"TEXT_INSTANCE"!==r.type||t?e.children.push(r):console.warn(`Invalid '${r.value}' string child outside <Text> component`)},v=(e,r)=>{"ROOT"===e.type?e.document=r:m(e,r)},h=(e,r,t)=>{var o;const n=null===(o=e.children)||void 0===o?void 0:o.indexOf(t);void 0!==n&&-1!==n&&r&&e.children.splice(n,0,r)},b=(e,r)=>{var t;const o=null===(t=e.children)||void 0===t?void 0:t.indexOf(r);void 0!==o&&-1!==o&&e.children.splice(o,1)},y=(e,r)=>{var t;const o=null===(t=e.children)||void 0===t?void 0:t.indexOf(r);void 0!==o&&-1!==o&&e.children.splice(o,1)},g=(e,r,t)=>{e.value=t},w=(e,r,t,o,n)=>{const{style:i,...a}=n;e.props=a,e.style=i},T=e=>{let{onChange:r=(()=>{})}=e;return d({appendChild:m,appendChildToContainer:v,commitTextUpdate:g,commitUpdate:w,createInstance:u,createTextInstance:f,insertBefore:h,removeChild:b,removeChildFromContainer:y,resetAfterCommit:r})};var C={name:"@react-pdf/renderer",version:"4.2.1",license:"MIT",description:"Create PDF files on the browser and server",author:"Diego Muracciole <diegomuracciole@gmail.com>",homepage:"https://github.com/diegomura/react-pdf#readme",type:"module",main:"./lib/react-pdf.js",browser:{"./lib/react-pdf.js":"./lib/react-pdf.browser.js"},repository:{type:"git",url:"https://github.com/diegomura/react-pdf.git",directory:"packages/renderer"},scripts:{build:"rimraf ./lib && rollup -c",watch:"rimraf ./lib && rollup -c -w",size:"size-limit",lint:"eslint src",test:"vitest && vitest --config vitest.browser.config.js"},dependencies:{"@babel/runtime":"^7.20.13","@react-pdf/font":"^3.0.2","@react-pdf/layout":"^4.2.2","@react-pdf/pdfkit":"^4.0.1","@react-pdf/primitives":"^4.1.0","@react-pdf/reconciler":"^1.1.3","@react-pdf/render":"^4.1.1","@react-pdf/types":"^2.7.1",events:"^3.3.0","object-assign":"^4.1.1","prop-types":"^15.6.2",queue:"^6.0.1"},peerDependencies:{react:"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"},"lint-staged":{"*.js":["yarn lint","prettier --write"]},files:["lib","index.d.ts"],collective:{type:"opencollective",url:"https://opencollective.com/react-pdf",logo:"https://opencollective.com/opencollective/logo.txt"},devDependencies:{"@size-limit/preset-big-lib":"^11.0.1",assert:"^2.0.0","browserify-zlib":"^0.2.0",buffer:"^6.0.3",process:"^0.11.10","size-limit":"^11.0.1",util:"^0.12.4"}};const{version:D}=C,S=new a;let N;const A={},O=e=>{const r={type:"ROOT",document:null};N=N||T({onChange:()=>{var e;const r=(null===(e=A.change)||void 0===e?void 0:e.slice())||[];for(let e=0;e<r.length;e+=1)r[e]()}});const t=N.createContainer(r),o=(e,r)=>{N.updateContainer(e,t,null,r)};e&&o(e);const n=async function(e){void 0===e&&(e=!0);const t=r.document.props||{},{pdfVersion:o,language:n,pageLayout:i,pageMode:a,title:d,author:p,subject:u,keyboards:f,creator:m="react-pdf",producer:v="react-pdf",creationDate:h=new Date,modificationDate:b}=t,y=new c({compress:e,pdfVersion:o,lang:n,displayTitle:!0,autoFirstPage:!1,pageLayout:i,pageMode:a,info:(g={Title:d,Author:p,Subject:u,Keywords:f,Creator:m,Producer:v,CreationDate:h,ModificationDate:b},Object.fromEntries(Object.entries(g).filter((e=>{let[,r]=e;return void 0!==r}))))});var g;const w=await s(r.document,S);return{layout:w,fileStream:l(y,w)}},i=function(e){void 0===e&&(e={}),r.document.props.onRender&&r.document.props.onRender(e)};return{on:(e,r)=>{A[e]||(A[e]=[]),A[e].push(r)},container:r,toBlob:async()=>{const e=[],{layout:r,fileStream:t}=await n();return new Promise(((o,n)=>{t.on("data",(r=>{e.push(r instanceof Uint8Array?r:new Uint8Array(r))})),t.on("end",(()=>{try{const t=new Blob(e,{type:"application/pdf"});i({blob:t,_INTERNAL__LAYOUT__DATA_:r}),o(t)}catch(e){n(e)}}))}))},toBuffer:async()=>{const{layout:e,fileStream:r}=await n();return i({_INTERNAL__LAYOUT__DATA_:e}),r},toString:async()=>{"development"===process.env.NODE_ENV&&console.warn("`toString` is deprecated and will be removed in next major release");let e="";const{fileStream:r}=await n(!1);return new Promise(((t,o)=>{try{r.on("data",(r=>{e+=r})),r.on("end",(()=>{i(),t(e)}))}catch(e){o(e)}}))},removeListener:(e,r)=>{if(!A[e])return;const t=A[e].indexOf(r);t>-1&&A[e].splice(t,1)},updateContainer:o}},L=S,_={create:e=>e},j=function(e){let{document:a}=void 0===e?{}:e;const l=t(null),[c,s]=o({url:null,blob:null,error:null,loading:!!a});n((()=>{const e=r({autostart:!0,concurrency:1}),t=()=>{s((e=>({...e,loading:!0}))),e.splice(0,e.length,(()=>c.error?Promise.resolve():l.current.toBlob()))};return l.current=O(),l.current.on("change",t),a&&l.current.updateContainer(a),e.on("error",(e=>{console.error(e),s((r=>({...r,loading:!1,error:e})))})),e.on("success",(e=>{s({blob:e,error:null,loading:!1,url:URL.createObjectURL(e)})})),()=>{e.end(),l.current.removeListener("change",t)}}),[]),n((()=>()=>{c.url&&URL.revokeObjectURL(c.url)}),[c.url]);const d=i((e=>{l.current.updateContainer(e)}),[]);return[c,d]},x=e=>{let{title:r,style:t,className:o,children:i,innerRef:a,showToolbar:l=!0,...c}=e;const[s,d]=j();n((()=>d(i)),[i]);const u=s.url?`${s.url}#toolbar=${l?1:0}`:null;return p("iframe",{src:u,title:r,ref:a,style:t,className:o,...c})},P=e=>{let{document:r,children:t}=e;const[o,i]=j();return n((()=>i(r)),[r]),r?t(o):(console.warn("You should pass a valid document to BlobProvider"),null)},E=e=>{let{fileName:r="document.pdf",document:t,children:o,onClick:i,href:a,...l}=e;const[c,s]=j();if(n((()=>s(t)),[t]),!t)return console.warn("You should pass a valid document to PDFDownloadLink"),null;return p("a",{href:c.url,download:r,onClick:e=>{c&&window.navigator.msSaveBlob&&window.navigator.msSaveBlob(c.blob,r),"function"==typeof i&&i(e,c)},...l,children:"function"==typeof o?o(c):o})},R=e=>{throw new Error(`${e} is a Node specific API. You're either using this method in a browser, or your bundler is not loading react-pdf from the appropriate web build.`)},B=()=>{R("renderToStream")},F=()=>{R("renderToBuffer")},I=()=>{R("renderToString")},U=()=>{R("renderToFile")},k=()=>{R("render")};var z={pdf:O,usePDF:j,Font:L,version:D,StyleSheet:_,PDFViewer:x,BlobProvider:P,PDFDownloadLink:E,renderToStream:B,renderToString:I,renderToFile:U,render:k,...e};export{P as BlobProvider,L as Font,E as PDFDownloadLink,x as PDFViewer,_ as StyleSheet,T as createRenderer,z as default,O as pdf,k as render,F as renderToBuffer,U as renderToFile,B as renderToStream,I as renderToString,j as usePDF,D as version}; |
@@ -100,3 +100,3 @@ import * as primitives from '@react-pdf/primitives'; | ||
var name = "@react-pdf/renderer"; | ||
var version$1 = "4.2.0"; | ||
var version$1 = "4.2.1"; | ||
var license = "MIT"; | ||
@@ -126,7 +126,7 @@ var description = "Create PDF files on the browser and server"; | ||
"@react-pdf/font": "^3.0.2", | ||
"@react-pdf/layout": "^4.2.1", | ||
"@react-pdf/layout": "^4.2.2", | ||
"@react-pdf/pdfkit": "^4.0.1", | ||
"@react-pdf/primitives": "^4.1.0", | ||
"@react-pdf/reconciler": "^1.1.3", | ||
"@react-pdf/render": "^4.1.0", | ||
"@react-pdf/render": "^4.1.1", | ||
"@react-pdf/types": "^2.7.1", | ||
@@ -133,0 +133,0 @@ events: "^3.3.0", |
@@ -1,1 +0,1 @@ | ||
import*as e from"@react-pdf/primitives";export*from"@react-pdf/primitives";import t from"fs";import{Buffer as r}from"buffer";import o from"@react-pdf/font";import n from"@react-pdf/render";import i from"@react-pdf/pdfkit";import a from"@react-pdf/layout";import c from"@react-pdf/reconciler";const s=(e,t)=>{let{style:r,children:o,...n}=t;return{type:e,box:{},style:r||{},props:n||{},children:[]}},d=e=>({type:"TEXT_INSTANCE",value:e}),l=(e,t)=>{const r="TEXT"===e.type||"LINK"===e.type||"TSPAN"===e.type||"NOTE"===e.type;"TEXT_INSTANCE"!==t.type||r?e.children.push(t):console.warn(`Invalid '${t.value}' string child outside <Text> component`)},p=(e,t)=>{"ROOT"===e.type?e.document=t:l(e,t)},f=(e,t,r)=>{var o;const n=null===(o=e.children)||void 0===o?void 0:o.indexOf(r);void 0!==n&&-1!==n&&t&&e.children.splice(n,0,t)},u=(e,t)=>{var r;const o=null===(r=e.children)||void 0===r?void 0:r.indexOf(t);void 0!==o&&-1!==o&&e.children.splice(o,1)},m=(e,t)=>{var r;const o=null===(r=e.children)||void 0===r?void 0:r.indexOf(t);void 0!==o&&-1!==o&&e.children.splice(o,1)},v=(e,t,r)=>{e.value=r},y=(e,t,r,o,n)=>{const{style:i,...a}=n;e.props=a,e.style=i},h=e=>{let{onChange:t=(()=>{})}=e;return c({appendChild:l,appendChildToContainer:p,commitTextUpdate:v,commitUpdate:y,createInstance:s,createTextInstance:d,insertBefore:f,removeChild:u,removeChildFromContainer:m,resetAfterCommit:t})};var b={name:"@react-pdf/renderer",version:"4.2.0",license:"MIT",description:"Create PDF files on the browser and server",author:"Diego Muracciole <diegomuracciole@gmail.com>",homepage:"https://github.com/diegomura/react-pdf#readme",type:"module",main:"./lib/react-pdf.js",browser:{"./lib/react-pdf.js":"./lib/react-pdf.browser.js"},repository:{type:"git",url:"https://github.com/diegomura/react-pdf.git",directory:"packages/renderer"},scripts:{build:"rimraf ./lib && rollup -c",watch:"rimraf ./lib && rollup -c -w",size:"size-limit",lint:"eslint src",test:"vitest && vitest --config vitest.browser.config.js"},dependencies:{"@babel/runtime":"^7.20.13","@react-pdf/font":"^3.0.2","@react-pdf/layout":"^4.2.1","@react-pdf/pdfkit":"^4.0.1","@react-pdf/primitives":"^4.1.0","@react-pdf/reconciler":"^1.1.3","@react-pdf/render":"^4.1.0","@react-pdf/types":"^2.7.1",events:"^3.3.0","object-assign":"^4.1.1","prop-types":"^15.6.2",queue:"^6.0.1"},peerDependencies:{react:"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"},"lint-staged":{"*.js":["yarn lint","prettier --write"]},files:["lib","index.d.ts"],collective:{type:"opencollective",url:"https://opencollective.com/react-pdf",logo:"https://opencollective.com/opencollective/logo.txt"},devDependencies:{"@size-limit/preset-big-lib":"^11.0.1",assert:"^2.0.0","browserify-zlib":"^0.2.0",buffer:"^6.0.3",process:"^0.11.10","size-limit":"^11.0.1",util:"^0.12.4"}};const{version:g}=b,w=new o;let T;const D={},C=e=>{const t={type:"ROOT",document:null};T=T||h({onChange:()=>{var e;const t=(null===(e=D.change)||void 0===e?void 0:e.slice())||[];for(let e=0;e<t.length;e+=1)t[e]()}});const r=T.createContainer(t),o=(e,t)=>{T.updateContainer(e,r,null,t)};e&&o(e);const c=async function(e){void 0===e&&(e=!0);const r=t.document.props||{},{pdfVersion:o,language:c,pageLayout:s,pageMode:d,title:l,author:p,subject:f,keyboards:u,creator:m="react-pdf",producer:v="react-pdf",creationDate:y=new Date,modificationDate:h}=r,b=new i({compress:e,pdfVersion:o,lang:c,displayTitle:!0,autoFirstPage:!1,pageLayout:s,pageMode:d,info:(g={Title:l,Author:p,Subject:f,Keywords:u,Creator:m,Producer:v,CreationDate:y,ModificationDate:h},Object.fromEntries(Object.entries(g).filter((e=>{let[,t]=e;return void 0!==t}))))});var g;const T=await a(t.document,w);return{layout:T,fileStream:n(b,T)}},s=function(e){void 0===e&&(e={}),t.document.props.onRender&&t.document.props.onRender(e)};return{on:(e,t)=>{D[e]||(D[e]=[]),D[e].push(t)},container:t,toBlob:async()=>{const e=[],{layout:t,fileStream:r}=await c();return new Promise(((o,n)=>{r.on("data",(t=>{e.push(t instanceof Uint8Array?t:new Uint8Array(t))})),r.on("end",(()=>{try{const r=new Blob(e,{type:"application/pdf"});s({blob:r,_INTERNAL__LAYOUT__DATA_:t}),o(r)}catch(e){n(e)}}))}))},toBuffer:async()=>{const{layout:e,fileStream:t}=await c();return s({_INTERNAL__LAYOUT__DATA_:e}),t},toString:async()=>{"development"===process.env.NODE_ENV&&console.warn("`toString` is deprecated and will be removed in next major release");let e="";const{fileStream:t}=await c(!1);return new Promise(((r,o)=>{try{t.on("data",(t=>{e+=t})),t.on("end",(()=>{s(),r(e)}))}catch(e){o(e)}}))},removeListener:(e,t)=>{if(!D[e])return;const r=D[e].indexOf(t);r>-1&&D[e].splice(r,1)},updateContainer:o}},P=w,S={create:e=>e},A=async e=>{const t=C(e);return await t.toBuffer()},N=async(e,r,o)=>{const n=await A(e),i=t.createWriteStream(r);return n.pipe(i),new Promise(((e,t)=>{i.on("finish",(()=>{o&&o(n,r),e(n)})),i.on("error",t)}))},_=e=>A(e).then((e=>new Promise(((t,o)=>{const n=[];e.on("data",(e=>n.push(e))),e.on("end",(()=>t(r.concat(n)))),e.on("error",(e=>o(e)))})))),O=e=>("development"===process.env.NODE_ENV&&console.warn("`renderToString` is deprecated and will be removed in next major release, use `renderToBuffer` instead"),_(e).then((e=>e.toString()))),x=e=>{throw new Error(`${e} 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.`)},E=()=>{x("usePDF")},j=()=>{x("PDFViewer")},F=()=>{x("PDFDownloadLink")},I=()=>{x("BlobProvider")},L=N;var B={pdf:C,Font:P,version:g,StyleSheet:S,usePDF:E,PDFViewer:j,BlobProvider:I,PDFDownloadLink:F,renderToStream:A,renderToString:O,renderToFile:N,render:L,...e};export{I as BlobProvider,P as Font,F as PDFDownloadLink,j as PDFViewer,S as StyleSheet,h as createRenderer,B as default,C as pdf,L as render,_ as renderToBuffer,N as renderToFile,A as renderToStream,O as renderToString,E as usePDF,g as version}; | ||
import*as e from"@react-pdf/primitives";export*from"@react-pdf/primitives";import t from"fs";import{Buffer as r}from"buffer";import o from"@react-pdf/font";import n from"@react-pdf/render";import i from"@react-pdf/pdfkit";import a from"@react-pdf/layout";import c from"@react-pdf/reconciler";const s=(e,t)=>{let{style:r,children:o,...n}=t;return{type:e,box:{},style:r||{},props:n||{},children:[]}},d=e=>({type:"TEXT_INSTANCE",value:e}),l=(e,t)=>{const r="TEXT"===e.type||"LINK"===e.type||"TSPAN"===e.type||"NOTE"===e.type;"TEXT_INSTANCE"!==t.type||r?e.children.push(t):console.warn(`Invalid '${t.value}' string child outside <Text> component`)},p=(e,t)=>{"ROOT"===e.type?e.document=t:l(e,t)},f=(e,t,r)=>{var o;const n=null===(o=e.children)||void 0===o?void 0:o.indexOf(r);void 0!==n&&-1!==n&&t&&e.children.splice(n,0,t)},u=(e,t)=>{var r;const o=null===(r=e.children)||void 0===r?void 0:r.indexOf(t);void 0!==o&&-1!==o&&e.children.splice(o,1)},m=(e,t)=>{var r;const o=null===(r=e.children)||void 0===r?void 0:r.indexOf(t);void 0!==o&&-1!==o&&e.children.splice(o,1)},v=(e,t,r)=>{e.value=r},y=(e,t,r,o,n)=>{const{style:i,...a}=n;e.props=a,e.style=i},h=e=>{let{onChange:t=(()=>{})}=e;return c({appendChild:l,appendChildToContainer:p,commitTextUpdate:v,commitUpdate:y,createInstance:s,createTextInstance:d,insertBefore:f,removeChild:u,removeChildFromContainer:m,resetAfterCommit:t})};var b={name:"@react-pdf/renderer",version:"4.2.1",license:"MIT",description:"Create PDF files on the browser and server",author:"Diego Muracciole <diegomuracciole@gmail.com>",homepage:"https://github.com/diegomura/react-pdf#readme",type:"module",main:"./lib/react-pdf.js",browser:{"./lib/react-pdf.js":"./lib/react-pdf.browser.js"},repository:{type:"git",url:"https://github.com/diegomura/react-pdf.git",directory:"packages/renderer"},scripts:{build:"rimraf ./lib && rollup -c",watch:"rimraf ./lib && rollup -c -w",size:"size-limit",lint:"eslint src",test:"vitest && vitest --config vitest.browser.config.js"},dependencies:{"@babel/runtime":"^7.20.13","@react-pdf/font":"^3.0.2","@react-pdf/layout":"^4.2.2","@react-pdf/pdfkit":"^4.0.1","@react-pdf/primitives":"^4.1.0","@react-pdf/reconciler":"^1.1.3","@react-pdf/render":"^4.1.1","@react-pdf/types":"^2.7.1",events:"^3.3.0","object-assign":"^4.1.1","prop-types":"^15.6.2",queue:"^6.0.1"},peerDependencies:{react:"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"},"lint-staged":{"*.js":["yarn lint","prettier --write"]},files:["lib","index.d.ts"],collective:{type:"opencollective",url:"https://opencollective.com/react-pdf",logo:"https://opencollective.com/opencollective/logo.txt"},devDependencies:{"@size-limit/preset-big-lib":"^11.0.1",assert:"^2.0.0","browserify-zlib":"^0.2.0",buffer:"^6.0.3",process:"^0.11.10","size-limit":"^11.0.1",util:"^0.12.4"}};const{version:g}=b,w=new o;let T;const D={},C=e=>{const t={type:"ROOT",document:null};T=T||h({onChange:()=>{var e;const t=(null===(e=D.change)||void 0===e?void 0:e.slice())||[];for(let e=0;e<t.length;e+=1)t[e]()}});const r=T.createContainer(t),o=(e,t)=>{T.updateContainer(e,r,null,t)};e&&o(e);const c=async function(e){void 0===e&&(e=!0);const r=t.document.props||{},{pdfVersion:o,language:c,pageLayout:s,pageMode:d,title:l,author:p,subject:f,keyboards:u,creator:m="react-pdf",producer:v="react-pdf",creationDate:y=new Date,modificationDate:h}=r,b=new i({compress:e,pdfVersion:o,lang:c,displayTitle:!0,autoFirstPage:!1,pageLayout:s,pageMode:d,info:(g={Title:l,Author:p,Subject:f,Keywords:u,Creator:m,Producer:v,CreationDate:y,ModificationDate:h},Object.fromEntries(Object.entries(g).filter((e=>{let[,t]=e;return void 0!==t}))))});var g;const T=await a(t.document,w);return{layout:T,fileStream:n(b,T)}},s=function(e){void 0===e&&(e={}),t.document.props.onRender&&t.document.props.onRender(e)};return{on:(e,t)=>{D[e]||(D[e]=[]),D[e].push(t)},container:t,toBlob:async()=>{const e=[],{layout:t,fileStream:r}=await c();return new Promise(((o,n)=>{r.on("data",(t=>{e.push(t instanceof Uint8Array?t:new Uint8Array(t))})),r.on("end",(()=>{try{const r=new Blob(e,{type:"application/pdf"});s({blob:r,_INTERNAL__LAYOUT__DATA_:t}),o(r)}catch(e){n(e)}}))}))},toBuffer:async()=>{const{layout:e,fileStream:t}=await c();return s({_INTERNAL__LAYOUT__DATA_:e}),t},toString:async()=>{"development"===process.env.NODE_ENV&&console.warn("`toString` is deprecated and will be removed in next major release");let e="";const{fileStream:t}=await c(!1);return new Promise(((r,o)=>{try{t.on("data",(t=>{e+=t})),t.on("end",(()=>{s(),r(e)}))}catch(e){o(e)}}))},removeListener:(e,t)=>{if(!D[e])return;const r=D[e].indexOf(t);r>-1&&D[e].splice(r,1)},updateContainer:o}},P=w,S={create:e=>e},A=async e=>{const t=C(e);return await t.toBuffer()},N=async(e,r,o)=>{const n=await A(e),i=t.createWriteStream(r);return n.pipe(i),new Promise(((e,t)=>{i.on("finish",(()=>{o&&o(n,r),e(n)})),i.on("error",t)}))},_=e=>A(e).then((e=>new Promise(((t,o)=>{const n=[];e.on("data",(e=>n.push(e))),e.on("end",(()=>t(r.concat(n)))),e.on("error",(e=>o(e)))})))),O=e=>("development"===process.env.NODE_ENV&&console.warn("`renderToString` is deprecated and will be removed in next major release, use `renderToBuffer` instead"),_(e).then((e=>e.toString()))),x=e=>{throw new Error(`${e} 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.`)},E=()=>{x("usePDF")},j=()=>{x("PDFViewer")},F=()=>{x("PDFDownloadLink")},I=()=>{x("BlobProvider")},L=N;var B={pdf:C,Font:P,version:g,StyleSheet:S,usePDF:E,PDFViewer:j,BlobProvider:I,PDFDownloadLink:F,renderToStream:A,renderToString:O,renderToFile:N,render:L,...e};export{I as BlobProvider,P as Font,F as PDFDownloadLink,j as PDFViewer,S as StyleSheet,h as createRenderer,B as default,C as pdf,L as render,_ as renderToBuffer,N as renderToFile,A as renderToStream,O as renderToString,E as usePDF,g as version}; |
{ | ||
"name": "@react-pdf/renderer", | ||
"version": "4.2.0", | ||
"version": "4.2.1", | ||
"license": "MIT", | ||
@@ -28,7 +28,7 @@ "description": "Create PDF files on the browser and server", | ||
"@react-pdf/font": "^3.0.2", | ||
"@react-pdf/layout": "^4.2.1", | ||
"@react-pdf/layout": "^4.2.2", | ||
"@react-pdf/pdfkit": "^4.0.1", | ||
"@react-pdf/primitives": "^4.1.0", | ||
"@react-pdf/reconciler": "^1.1.3", | ||
"@react-pdf/render": "^4.1.0", | ||
"@react-pdf/render": "^4.1.1", | ||
"@react-pdf/types": "^2.7.1", | ||
@@ -35,0 +35,0 @@ "events": "^3.3.0", |
Updated
Updated