pdf-tsx 1.1.1 → 1.2.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.
Files changed (100) hide show
  1. package/LICENSE +78 -78
  2. package/README.md +678 -678
  3. package/dist/cjs/components/PDFViewer.module.cjs +1 -1
  4. package/dist/cjs/components/features/PDFOutline.cjs +1 -1
  5. package/dist/cjs/components/features/PDFViewModeToggle.module.cjs +1 -1
  6. package/dist/cjs/favicon.svg +9 -9
  7. package/dist/cjs/hooks/useAnnotationLayer.cjs +1 -1
  8. package/dist/cjs/hooks/useOverlayRects.cjs +1 -1
  9. package/dist/cjs/hooks/usePDFRenderer.cjs +1 -1
  10. package/dist/cjs/hooks/useTextLayer.cjs +1 -1
  11. package/dist/cjs/hooks/useThumbnails.cjs +1 -1
  12. package/dist/cjs/pdf-tsx.css +1 -1
  13. package/dist/cjs/utils/pdfFit.cjs +1 -1
  14. package/dist/cjs/utils/rotation.cjs +1 -0
  15. package/dist/components/features/PDFSignButton.d.ts +10 -0
  16. package/dist/components/features/SignaturePad.d.ts +10 -0
  17. package/dist/es/components/PDFViewer.module.js +26 -26
  18. package/dist/es/components/features/PDFOutline.js +47 -46
  19. package/dist/es/components/features/PDFViewModeToggle.module.js +8 -8
  20. package/dist/es/favicon.svg +9 -9
  21. package/dist/es/hooks/useAnnotationLayer.js +39 -38
  22. package/dist/es/hooks/useOverlayRects.js +44 -43
  23. package/dist/es/hooks/usePDFRenderer.js +65 -64
  24. package/dist/es/hooks/useTextLayer.js +34 -33
  25. package/dist/es/hooks/useThumbnails.js +33 -32
  26. package/dist/es/pdf-tsx.css +1 -1
  27. package/dist/es/utils/pdfFit.js +13 -12
  28. package/dist/es/utils/rotation.js +6 -0
  29. package/dist/pdf-tsx.cjs.js +5 -0
  30. package/dist/pdf-tsx.css +2 -0
  31. package/dist/pdf-tsx.es.js +2637 -0
  32. package/dist/src/components/PDFSidebar.d.ts +11 -0
  33. package/dist/src/components/PDFViewer.d.ts +23 -0
  34. package/dist/src/components/features/PDFAnnotations.d.ts +5 -0
  35. package/dist/src/components/features/PDFAttachments.d.ts +5 -0
  36. package/dist/src/components/features/PDFChangeFile.d.ts +9 -0
  37. package/dist/src/components/features/PDFDownloadButton.d.ts +9 -0
  38. package/dist/src/components/features/PDFNavigation.d.ts +10 -0
  39. package/dist/src/components/features/PDFOutline.d.ts +1 -0
  40. package/dist/src/components/features/PDFPageFit.d.ts +10 -0
  41. package/dist/src/components/features/PDFPrintButton.d.ts +9 -0
  42. package/dist/src/components/features/PDFRotationControl.d.ts +9 -0
  43. package/dist/src/components/features/PDFSearch.d.ts +13 -0
  44. package/dist/src/components/features/PDFSidebarToggle.d.ts +10 -0
  45. package/dist/src/components/features/PDFSignatures.d.ts +5 -0
  46. package/dist/src/components/features/PDFThemeToggle.d.ts +10 -0
  47. package/dist/src/components/features/PDFThumbnails.d.ts +1 -0
  48. package/dist/src/components/features/PDFViewModeToggle.d.ts +11 -0
  49. package/dist/src/components/features/PDFZoomControls.d.ts +10 -0
  50. package/dist/src/components/ui/PDFToolbar.d.ts +8 -0
  51. package/dist/src/components/ui/PDFToolbarDropdownContext.d.ts +1 -0
  52. package/dist/src/components/ui/PDFToolbarItem.d.ts +7 -0
  53. package/dist/src/components/ui/PDFToolbarSeparator.d.ts +4 -0
  54. package/dist/src/components/ui/ToolbarButton.d.ts +6 -0
  55. package/dist/src/components/ui/icons.d.ts +7 -0
  56. package/dist/src/context/LabelsContext.d.ts +7 -0
  57. package/dist/src/context/PDFViewerContext.d.ts +32 -0
  58. package/dist/src/context/ThemeContext.d.ts +12 -0
  59. package/dist/src/context/labelsContextValue.d.ts +2 -0
  60. package/dist/src/context/themeContextValue.d.ts +7 -0
  61. package/dist/src/hooks/useAnnotationLayer.d.ts +34 -0
  62. package/dist/src/hooks/useAnnotations.d.ts +15 -0
  63. package/dist/src/hooks/useAttachments.d.ts +11 -0
  64. package/dist/src/hooks/useKeyboardShortcuts.d.ts +9 -0
  65. package/dist/src/hooks/useLabels.d.ts +2 -0
  66. package/dist/src/hooks/useOutline.d.ts +14 -0
  67. package/dist/src/hooks/useOverlayRects.d.ts +21 -0
  68. package/dist/src/hooks/usePDFLoader.d.ts +5 -0
  69. package/dist/src/hooks/usePDFRenderer.d.ts +16 -0
  70. package/dist/src/hooks/usePinchZoom.d.ts +1 -0
  71. package/dist/src/hooks/useScrollTracking.d.ts +10 -0
  72. package/dist/src/hooks/useSignatures.d.ts +17 -0
  73. package/dist/src/hooks/useTextLayer.d.ts +10 -0
  74. package/dist/src/hooks/useTextSearch.d.ts +12 -0
  75. package/dist/src/hooks/useTheme.d.ts +2 -0
  76. package/dist/src/hooks/useThumbnails.d.ts +10 -0
  77. package/dist/src/index.d.ts +25 -0
  78. package/dist/src/labels.d.ts +57 -0
  79. package/dist/src/theme.d.ts +27 -0
  80. package/dist/src/utils/pdfFit.d.ts +2 -0
  81. package/dist/src/utils/pdfjsPolyfill.d.ts +2 -0
  82. package/dist/src/utils/url.d.ts +1 -0
  83. package/dist/src/utils/zoom.d.ts +4 -0
  84. package/dist/utils/addSignatureToPdf.d.ts +9 -0
  85. package/dist/utils/rotation.d.ts +7 -0
  86. package/dist/vite.svg +1 -0
  87. package/dist/wasm/LICENSE_JBIG2 +196 -0
  88. package/dist/wasm/LICENSE_OPENJPEG +39 -0
  89. package/dist/wasm/LICENSE_PDFJS_JBIG2 +13 -0
  90. package/dist/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
  91. package/dist/wasm/LICENSE_PDFJS_QCMS +22 -0
  92. package/dist/wasm/LICENSE_QCMS +21 -0
  93. package/dist/wasm/jbig2.wasm +0 -0
  94. package/dist/wasm/jbig2_nowasm_fallback.js +15 -0
  95. package/dist/wasm/openjpeg.wasm +0 -0
  96. package/dist/wasm/openjpeg_nowasm_fallback.js +17 -0
  97. package/dist/wasm/qcms_bg.wasm +0 -0
  98. package/dist/wasm/quickjs-eval.js +16 -0
  99. package/dist/wasm/quickjs-eval.wasm +0 -0
  100. package/package.json +66 -66
Binary file
@@ -0,0 +1,16 @@
1
+ /* THIS FILE IS GENERATED - DO NOT EDIT */
2
+ async function QuickJS(moduleArg={}){var moduleRtn;var e=moduleArg,aa=import.meta.url,h="",m;try{h=(new URL(".",aa)).href}catch{}m=async a=>{a=await fetch(a,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw Error(a.status+" : "+a.url);};var q=console.error.bind(console),r,t=!1,u,v,w,x=!1;function y(){var a=z.buffer;A=new Int8Array(a);new Int16Array(a);B=new Uint8Array(a);new Uint16Array(a);C=new Int32Array(a);D=new Uint32Array(a);new Float32Array(a);new Float64Array(a);new BigInt64Array(a);new BigUint64Array(a)}
3
+ function E(a){e.onAbort?.(a);a=`Aborted(${a})`;q(a);t=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");w?.(a);throw a;}var F;async function ba(a){if(!r)try{var b=await m(a);return new Uint8Array(b)}catch{}if(a==F&&r)a=new Uint8Array(r);else throw"both async and sync fetching of the wasm failed";return a}async function ca(a,b){try{var c=await ba(a);return await WebAssembly.instantiate(c,b)}catch(d){q(`failed to asynchronously prepare wasm: ${d}`),E(d)}}
4
+ async function da(a){var b=F;if(!r)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){q(`wasm streaming compile failed: ${d}`),q("falling back to ArrayBuffer instantiation")}return ca(b,a)}class G{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
5
+ var C,A,D,B,H=a=>{for(;0<a.length;)a.shift()(e)},I=[],J=[],ea=()=>{var a=e.preRun.shift();J.push(a)},K=!0,L=0,fa=[0,31,60,91,121,152,182,213,244,274,305,335],ha=[0,31,59,90,120,151,181,212,243,273,304,334],M={},N=a=>{if(!(a instanceof G||"unwind"==a))throw a;},O=a=>{u=a;K||0<L||(e.onExit?.(a),t=!0);throw new G(a);},ia=a=>{if(!t)try{a()}catch(b){N(b)}finally{if(!(K||0<L))try{u=a=u,O(a)}catch(b){N(b)}}},P=(a,b,c)=>{var d=B;if(0<c){c=b+c-1;for(var g=0;g<a.length;++g){var f=a.codePointAt(g);if(127>=f){if(b>=
6
+ c)break;d[b++]=f}else if(2047>=f){if(b+1>=c)break;d[b++]=192|f>>6;d[b++]=128|f&63}else if(65535>=f){if(b+2>=c)break;d[b++]=224|f>>12;d[b++]=128|f>>6&63;d[b++]=128|f&63}else{if(b+3>=c)break;d[b++]=240|f>>18;d[b++]=128|f>>12&63;d[b++]=128|f>>6&63;d[b++]=128|f&63;g++}}d[b]=0}},ja=new TextDecoder,Q=a=>{if(a){for(var b=a,c=B,d=b+void 0;c[b]&&!(b>=d);)++b;a=ja.decode(B.subarray(a,b))}else a="";return a},R=a=>{for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=
7
+ d?(b+=4,++c):b+=3}return b},T=a=>{var b=R(a)+1,c=S(b);c&&P(a,c,b);return c};function U(){}var la=(a,b,c,d)=>{var g={string:k=>{var n=0;if(null!==k&&void 0!==k&&0!==k){n=R(k)+1;var X=V(n);P(k,X,n);n=X}return n},array:k=>{var n=V(k.length);A.set(k,n);return n}};a=e["_"+a];var f=[],p=0;if(d)for(var l=0;l<d.length;l++){var Y=g[c[l]];Y?(0===p&&(p=W()),f[l]=Y(d[l])):f[l]=d[l]}c=a(...f);return c=function(k){0!==p&&ka(p);return"string"===b?Q(k):"boolean"===b?!!k:k}(c)};
8
+ U=(a,b,c)=>{a=Q(a);b=null!==b?JSON.parse(Q(b)):[];try{const d=e.externalCall(a,b);return d?T(d):null}catch(d){return e.HEAPU8[c]=1,T(d.message)}};e.noExitRuntime&&(K=e.noExitRuntime);e.printErr&&(q=e.printErr);e.wasmBinary&&(r=e.wasmBinary);if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.shift()();e.ccall=la;e.cwrap=(a,b,c,d)=>{var g=!c||c.every(f=>"number"===f||"boolean"===f);return"string"!==b&&g&&!d?e["_"+a]:(...f)=>la(a,b,c,f,d)};
9
+ e.stringToNewUTF8=T;
10
+ var S,ma,ka,V,W,z,na={e:()=>E(""),a:()=>{K=!1;L=0},b:function(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);a=new Date(1E3*a);C[b>>2]=a.getSeconds();C[b+4>>2]=a.getMinutes();C[b+8>>2]=a.getHours();C[b+12>>2]=a.getDate();C[b+16>>2]=a.getMonth();C[b+20>>2]=a.getFullYear()-1900;C[b+24>>2]=a.getDay();var c=a.getFullYear();C[b+28>>2]=(0!==c%4||0===c%100&&0!==c%400?ha:fa)[a.getMonth()]+a.getDate()-1|0;C[b+36>>2]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();
11
+ var d=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();C[b+32>>2]=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0},i:(a,b)=>{M[a]&&(clearTimeout(M[a].id),delete M[a]);if(!b)return 0;var c=setTimeout(()=>{delete M[a];ia(()=>ma(a,performance.now()))},b);M[a]={id:c,A:b};return 0},c:(a,b,c,d)=>{var g=(new Date).getFullYear(),f=(new Date(g,0,1)).getTimezoneOffset();g=(new Date(g,6,1)).getTimezoneOffset();D[a>>2]=60*Math.max(f,g);C[b>>2]=Number(f!=g);b=p=>{var l=Math.abs(p);return`UTC${0<=p?"-":"+"}${String(Math.floor(l/
12
+ 60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};a=b(f);b=b(g);g<f?(P(a,c,17),P(b,d,17)):(P(a,d,17),P(b,c,17))},g:U,f:function(a,b){a=Q(a);let c;try{c=window.JSON.parse(a)}catch(d){c=a}0!==b?window.alert(a):window.console.log("DUMP",c)},d:()=>Date.now(),j:a=>{var b=B.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-z.buffer.byteLength+65535)/65536|0;try{z.grow(d);y();var g=
13
+ 1;break a}catch(f){}g=void 0}if(g)return!0}return!1},m:function(a){a=Q(a);window.console.log(a)},h:function(a){a=Q(a);return Date.parse(a)},l:function(a,b,c,d){a=Q(a);b=Q(b);c=Q(c);c=`Quickjs -- ${a}: ${b}\n${c}`;0!==d?window.alert(c):window.console.error(c)},k:O},Z;
14
+ Z=await (async function(){function a(c){c=Z=c.exports;e._evalInSandbox=c.p;e._nukeSandbox=c.q;e._init=c.r;e._commFun=c.s;e._dumpMemoryUse=c.t;S=c.u;e._free=c.v;ma=c.w;ka=c.x;V=c.y;W=c.z;z=c.n;y();return Z}var b={a:na};if(e.instantiateWasm)return new Promise(c=>{e.instantiateWasm(b,(d,g)=>{c(a(d,g))})});F??=e.locateFile?e.locateFile?e.locateFile("quickjs-eval.wasm",h):h+"quickjs-eval.wasm":(new URL("quickjs-eval.wasm",import.meta.url)).href;return a((await da(b)).instance)}());
15
+ (function(){function a(){e.calledRun=!0;if(!t){x=!0;Z.o();v?.(e);e.onRuntimeInitialized?.();if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();I.push(b)}H(I)}}if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)ea();H(J);e.setStatus?(e.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>e.setStatus(""),1);a()},1)):a()})();x?moduleRtn=e:moduleRtn=new Promise((a,b)=>{v=a;w=b});
16
+ ;return moduleRtn}export default QuickJS;
Binary file
package/package.json CHANGED
@@ -1,66 +1,66 @@
1
- {
2
- "name": "pdf-tsx",
3
- "version": "1.1.1",
4
- "description": "A fully-featured, composable PDF viewer component for React",
5
- "homepage": "https://pdf-tsx.netlify.app/",
6
- "type": "module",
7
- "main": "./dist/cjs/index.cjs",
8
- "module": "./dist/es/index.js",
9
- "types": "./dist/index.d.ts",
10
- "sideEffects": false,
11
- "exports": {
12
- ".": {
13
- "types": "./dist/index.d.ts",
14
- "import": "./dist/es/index.js",
15
- "require": "./dist/cjs/index.cjs"
16
- },
17
- "./dist/*": "./dist/*"
18
- },
19
- "keywords": [
20
- "pdf",
21
- "pdf-viewer",
22
- "react",
23
- "pdfjs",
24
- "typescript"
25
- ],
26
- "license": "PolyForm-Noncommercial-1.0.0",
27
- "files": [
28
- "dist",
29
- "LICENSE",
30
- "README.md"
31
- ],
32
- "scripts": {
33
- "dev": "vite",
34
- "watch": "tsc -b --watch",
35
- "typecheck": "tsc -b --noEmit",
36
- "build": "vite build",
37
- "tsc": "tsc --noEmit",
38
- "lint": "eslint .",
39
- "format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
40
- "preview": "vite preview",
41
- "sync-pdfjs-wasm": "node scripts/copy-pdfjs-wasm.mjs"
42
- },
43
- "peerDependencies": {
44
- "pdfjs-dist": "~5.6.205",
45
- "react": ">=18",
46
- "react-dom": ">=18"
47
- },
48
- "devDependencies": {
49
- "@eslint/js": "^10.0.1",
50
- "@types/node": "^25.9.3",
51
- "@types/react": "^19.2.17",
52
- "@types/react-dom": "^19.2.3",
53
- "@vitejs/plugin-react": "^6.0.2",
54
- "eslint": "^10.4.1",
55
- "eslint-plugin-react-hooks": "^7.1.1",
56
- "eslint-plugin-react-refresh": "^0.5.2",
57
- "globals": "^17.6.0",
58
- "prettier": "^3.8.4",
59
- "react-icons": "^5.6.0",
60
- "react-scan": "^1.2.0",
61
- "typescript": "^6.0.3",
62
- "typescript-eslint": "^8.61.0",
63
- "vite": "^8.0.16",
64
- "vite-plugin-dts": "^5.0.2"
65
- }
66
- }
1
+ {
2
+ "name": "pdf-tsx",
3
+ "version": "1.2.0",
4
+ "description": "A fully-featured, composable PDF viewer component for React",
5
+ "homepage": "https://pdf-tsx.netlify.app/",
6
+ "type": "module",
7
+ "main": "./dist/cjs/index.cjs",
8
+ "module": "./dist/es/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "sideEffects": false,
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/es/index.js",
15
+ "require": "./dist/cjs/index.cjs"
16
+ },
17
+ "./dist/*": "./dist/*"
18
+ },
19
+ "keywords": [
20
+ "pdf",
21
+ "pdf-viewer",
22
+ "react",
23
+ "pdfjs",
24
+ "typescript"
25
+ ],
26
+ "license": "PolyForm-Noncommercial-1.0.0",
27
+ "files": [
28
+ "dist",
29
+ "LICENSE",
30
+ "README.md"
31
+ ],
32
+ "scripts": {
33
+ "dev": "vite",
34
+ "watch": "tsc -b --watch",
35
+ "typecheck": "tsc -b --noEmit",
36
+ "build": "vite build",
37
+ "tsc": "tsc --noEmit",
38
+ "lint": "eslint .",
39
+ "format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
40
+ "preview": "vite preview",
41
+ "sync-pdfjs-wasm": "node scripts/copy-pdfjs-wasm.mjs"
42
+ },
43
+ "peerDependencies": {
44
+ "pdfjs-dist": "~5.6.205",
45
+ "react": ">=18",
46
+ "react-dom": ">=18"
47
+ },
48
+ "devDependencies": {
49
+ "@eslint/js": "^10.0.1",
50
+ "@types/node": "^25.9.3",
51
+ "@types/react": "^19.2.17",
52
+ "@types/react-dom": "^19.2.3",
53
+ "@vitejs/plugin-react": "^6.0.2",
54
+ "eslint": "^10.4.1",
55
+ "eslint-plugin-react-hooks": "^7.1.1",
56
+ "eslint-plugin-react-refresh": "^0.5.2",
57
+ "globals": "^17.6.0",
58
+ "prettier": "^3.8.4",
59
+ "react-icons": "^5.6.0",
60
+ "react-scan": "^1.2.0",
61
+ "typescript": "^6.0.3",
62
+ "typescript-eslint": "^8.61.0",
63
+ "vite": "^8.0.16",
64
+ "vite-plugin-dts": "^5.0.2"
65
+ }
66
+ }