@embedpdf/snippet 2.0.0-next.3 → 2.0.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embedpdf/snippet",
3
- "version": "2.0.0-next.3",
3
+ "version": "2.0.1",
4
4
  "main": "dist/embedpdf.js",
5
5
  "types": "dist/embedpdf.d.ts",
6
6
  "license": "MIT",
@@ -12,35 +12,35 @@
12
12
  "dependencies": {
13
13
  "preact": "^10.17.0",
14
14
  "tailwind-merge": "^3.4.0",
15
- "@embedpdf/core": "2.0.0-next.3",
16
- "@embedpdf/engines": "2.0.0-next.3",
17
- "@embedpdf/models": "2.0.0-next.3",
18
- "@embedpdf/pdfium": "2.0.0-next.3",
19
- "@embedpdf/plugin-annotation": "2.0.0-next.3",
20
- "@embedpdf/plugin-bookmark": "2.0.0-next.3",
21
- "@embedpdf/plugin-attachment": "2.0.0-next.3",
22
- "@embedpdf/plugin-capture": "2.0.0-next.3",
23
- "@embedpdf/plugin-commands": "2.0.0-next.3",
24
- "@embedpdf/plugin-document-manager": "2.0.0-next.3",
25
- "@embedpdf/plugin-export": "2.0.0-next.3",
26
- "@embedpdf/plugin-history": "2.0.0-next.3",
27
- "@embedpdf/plugin-fullscreen": "2.0.0-next.3",
28
- "@embedpdf/plugin-i18n": "2.0.0-next.3",
29
- "@embedpdf/plugin-interaction-manager": "2.0.0-next.3",
30
- "@embedpdf/plugin-print": "2.0.0-next.3",
31
- "@embedpdf/plugin-redaction": "2.0.0-next.3",
32
- "@embedpdf/plugin-pan": "2.0.0-next.3",
33
- "@embedpdf/plugin-rotate": "2.0.0-next.3",
34
- "@embedpdf/plugin-scroll": "2.0.0-next.3",
35
- "@embedpdf/plugin-render": "2.0.0-next.3",
36
- "@embedpdf/plugin-search": "2.0.0-next.3",
37
- "@embedpdf/plugin-spread": "2.0.0-next.3",
38
- "@embedpdf/plugin-selection": "2.0.0-next.3",
39
- "@embedpdf/plugin-thumbnail": "2.0.0-next.3",
40
- "@embedpdf/plugin-ui": "2.0.0-next.3",
41
- "@embedpdf/plugin-tiling": "2.0.0-next.3",
42
- "@embedpdf/plugin-viewport": "2.0.0-next.3",
43
- "@embedpdf/plugin-zoom": "2.0.0-next.3"
15
+ "@embedpdf/core": "2.0.1",
16
+ "@embedpdf/engines": "2.0.1",
17
+ "@embedpdf/models": "2.0.1",
18
+ "@embedpdf/pdfium": "2.0.1",
19
+ "@embedpdf/plugin-annotation": "2.0.1",
20
+ "@embedpdf/plugin-attachment": "2.0.1",
21
+ "@embedpdf/plugin-bookmark": "2.0.1",
22
+ "@embedpdf/plugin-commands": "2.0.1",
23
+ "@embedpdf/plugin-capture": "2.0.1",
24
+ "@embedpdf/plugin-document-manager": "2.0.1",
25
+ "@embedpdf/plugin-fullscreen": "2.0.1",
26
+ "@embedpdf/plugin-history": "2.0.1",
27
+ "@embedpdf/plugin-export": "2.0.1",
28
+ "@embedpdf/plugin-i18n": "2.0.1",
29
+ "@embedpdf/plugin-interaction-manager": "2.0.1",
30
+ "@embedpdf/plugin-pan": "2.0.1",
31
+ "@embedpdf/plugin-redaction": "2.0.1",
32
+ "@embedpdf/plugin-print": "2.0.1",
33
+ "@embedpdf/plugin-render": "2.0.1",
34
+ "@embedpdf/plugin-scroll": "2.0.1",
35
+ "@embedpdf/plugin-selection": "2.0.1",
36
+ "@embedpdf/plugin-rotate": "2.0.1",
37
+ "@embedpdf/plugin-spread": "2.0.1",
38
+ "@embedpdf/plugin-thumbnail": "2.0.1",
39
+ "@embedpdf/plugin-tiling": "2.0.1",
40
+ "@embedpdf/plugin-ui": "2.0.1",
41
+ "@embedpdf/plugin-search": "2.0.1",
42
+ "@embedpdf/plugin-viewport": "2.0.1",
43
+ "@embedpdf/plugin-zoom": "2.0.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@babel/core": "^7.22.10",
@@ -48,30 +48,29 @@
48
48
  "@babel/preset-react": "^7.22.5",
49
49
  "@babel/preset-typescript": "^7.22.5",
50
50
  "@floating-ui/dom": "^1.6.13",
51
- "@rollup/plugin-alias": "^5.1.0",
51
+ "@rollup/plugin-alias": "^6.0.0",
52
52
  "@rollup/plugin-babel": "^6.0.3",
53
53
  "@rollup/plugin-commonjs": "^25.0.4",
54
54
  "@rollup/plugin-node-resolve": "^15.2.1",
55
55
  "@rollup/plugin-replace": "^5.0.5",
56
56
  "@rollup/plugin-terser": "^0.4.3",
57
- "@rollup/plugin-typescript": "^11.1.2",
57
+ "@rollup/plugin-typescript": "^12.3.0",
58
58
  "@rollup/plugin-url": "^8.0.1",
59
59
  "@tailwindcss/postcss": "^4.1.17",
60
60
  "@types/classnames": "^2.3.1",
61
61
  "@types/node": "^20.5.4",
62
62
  "@types/react": "^18.2.0",
63
63
  "@types/uuid": "^9.0.2",
64
- "autoprefixer": "^10.4.15",
64
+ "autoprefixer": "^10.4.23",
65
65
  "babel-plugin-transform-react-jsx": "^6.24.1",
66
- "dotenv": "^16.3.1",
66
+ "dotenv": "^17.2.3",
67
67
  "postcss": "^8.5.3",
68
- "prebuild": "^12.1.0",
69
- "rimraf": "^5.0.5",
70
- "rollup": "^3.28.0",
68
+ "rimraf": "^6.1.2",
69
+ "rollup": "^4.53.5",
71
70
  "rollup-plugin-copy": "^3.4.0",
72
71
  "rollup-plugin-livereload": "^2.0.5",
73
72
  "rollup-plugin-postcss": "^4.0.2",
74
- "rollup-plugin-serve": "^2.0.2",
73
+ "rollup-plugin-serve": "^3.0.0",
75
74
  "tailwindcss": "^4.1.17",
76
75
  "tslib": "^2.6.2",
77
76
  "typescript": "^5.1.6"
@@ -1 +0,0 @@
1
- import{N as e,G as t,P as r,H as n,T as i}from"./embedpdf-bc35fbd4.js";const o="TaskQueue",s="Queue";var u=(e=>(e[e.CRITICAL=3]="CRITICAL",e[e.HIGH=2]="HIGH",e[e.MEDIUM=1]="MEDIUM",e[e.LOW=0]="LOW",e))(u||{});class a{constructor(t={}){this.queue=[],this.running=0,this.resultTasks=new Map,this.idleListeners=new Set;const{concurrency:r=1,comparator:n,ranker:i,onIdle:o,maxQueueSize:s,autoStart:u=!0,logger:a}=t;this.logger=a??new e,this.opts={concurrency:Math.max(1,r),comparator:n,ranker:i,onIdle:o??(()=>{}),maxQueueSize:s??Number.POSITIVE_INFINITY,autoStart:u}}setComparator(e){this.opts.comparator=e}setRanker(e){this.opts.ranker=e}size(){return this.queue.length}inFlight(){return this.running}isIdle(){return 0===this.queue.length&&0===this.running}async drain(){this.isIdle()||await new Promise(e=>{const t=()=>{this.isIdle()&&(this.offIdle(t),e())};this.onIdle(t)})}notifyIdle(){this.isIdle()&&([...this.idleListeners].forEach(e=>e()),this.idleListeners.clear(),this.opts.onIdle())}onIdle(e){this.idleListeners.add(e)}offIdle(e){this.idleListeners.delete(e)}enqueue(e,t={}){const r=this.generateId(),n=t.priority??1,u=new i;if(this.queue.length>=this.opts.maxQueueSize){const e=new Error("Queue is full (maxQueueSize reached).");return u.reject(e),u}this.resultTasks.set(r,u);const a={id:r,priority:n,meta:t.meta??e.meta,executeFactory:e.execute};this.queue.push(a),this.logger.debug(o,s,`Task enqueued: ${r} | Priority: ${n} | Running: ${this.running} | Queued: ${this.queue.length}`);const c=u.abort.bind(u);return u.abort=e=>{this.logger.debug(o,s,`Task aborted: ${r}`),this.cancel(r),c(e)},this.opts.autoStart&&this.process(!0===t.fifo),u}cancel(e){const t=this.queue.length;this.queue=this.queue.filter(t=>t.id!==e||(t.cancelled=!0,!1)),this.resultTasks.delete(e),t!==this.queue.length&&(this.logger.debug(o,s,`Task cancelled and removed: ${e}`),this.kick())}kick(){queueMicrotask(()=>this.process())}async process(e=!1){for(this.logger.debug(o,s,`process() called | Running: ${this.running} | Concurrency: ${this.opts.concurrency} | Queued: ${this.queue.length}`);this.running<this.opts.concurrency&&this.queue.length>0;){this.logger.debug(o,s,`Starting new task | Running: ${this.running} | Queued: ${this.queue.length}`),e||this.sortQueue();const t=this.queue.shift();if(t.cancelled){this.logger.debug(o,s,`Skipping cancelled task: ${t.id}`);continue}const r=this.resultTasks.get(t.id);r&&(this.running++,(async()=>{let e=null;try{if(e=t.executeFactory(),!e)throw new Error("Task factory returned null/undefined");e.wait(e=>{0===r.state.stage&&r.resolve(e)},e=>{0===r.state.stage&&("abort"===e.type?r.abort(e.reason):r.reject(e.reason))}),e.onProgress(e=>{r.progress(e)}),await e.toPromise()}catch(e){0===r.state.stage&&r.reject(e)}finally{this.resultTasks.delete(t.id),this.running--,this.logger.debug(o,s,`Task completed: ${t.id} | Running: ${this.running} | Queued: ${this.queue.length}`),this.isIdle()?this.notifyIdle():this.queue.length>0&&this.kick()}})().catch(e=>{this.logger.error(o,s,"Unhandled error in task execution wrapper:",e),this.running=Math.max(0,this.running-1),this.isIdle()?this.notifyIdle():this.queue.length>0&&this.kick()}))}}sortQueue(){const{comparator:e,ranker:t}=this.opts;if(e)return void this.queue.sort(e);const r=new Map,n=e=>t?(r.has(e.id)||r.set(e.id,t(e)),r.get(e.id)):this.defaultRank(e);this.queue.sort((e,t)=>{if(e.priority!==t.priority)return t.priority-e.priority;const r=n(e),i=n(t);return r!==i?i-r:this.extractTime(e.id)-this.extractTime(t.id)})}defaultRank(e){return 0}generateId(){return"undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}extractTime(e){const t=Number(e.split("-")[0]);return Number.isFinite(t)?t:0}}const c="PdfEngine",d="Orchestrator";class h{constructor(t,r){this.executor=t,this.logger=r.logger??new e,this.options={imageConverter:r.imageConverter,fetcher:r.fetcher??("undefined"!=typeof fetch?(e,t)=>fetch(e,t):void 0),logger:this.logger},this.workerQueue=new a({concurrency:1,autoStart:!0,logger:this.logger}),this.logger.debug(c,d,"PdfEngine orchestrator created")}chunkArray(e,t){const r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}isSupport(e){const r=new i;return r.resolve([t.Create,t.Read,t.Update,t.Delete]),r}initialize(){const e=new i;try{this.executor.initialize(),e.resolve(!0)}catch(t){e.reject({code:r.Unknown,message:String(t)})}return e}destroy(){const e=new i;try{this.executor.destroy(),e.resolve(!0)}catch(t){e.reject({code:r.Unknown,message:String(t)})}return e}openDocumentUrl(e,t){const n=new i;return(async()=>{try{if(!this.options.fetcher)throw new Error("Fetcher is not set");const r=await this.options.fetcher(e.url,null==t?void 0:t.requestOptions),i=await r.arrayBuffer(),o={id:e.id,content:i},s=await this.openDocumentBuffer(o,{password:null==t?void 0:t.password}).toPromise();n.resolve(s)}catch(e){n.reject({code:r.Unknown,message:String(e)})}})(),n}openDocumentBuffer(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.openDocumentBuffer(e,t),meta:{docId:e.id,operation:"openDocumentBuffer"}},{priority:u.CRITICAL})}getMetadata(e){return this.workerQueue.enqueue({execute:()=>this.executor.getMetadata(e),meta:{docId:e.id,operation:"getMetadata"}},{priority:u.MEDIUM})}setMetadata(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.setMetadata(e,t),meta:{docId:e.id,operation:"setMetadata"}},{priority:u.MEDIUM})}getDocPermissions(e){return this.workerQueue.enqueue({execute:()=>this.executor.getDocPermissions(e),meta:{docId:e.id,operation:"getDocPermissions"}},{priority:u.MEDIUM})}getDocUserPermissions(e){return this.workerQueue.enqueue({execute:()=>this.executor.getDocUserPermissions(e),meta:{docId:e.id,operation:"getDocUserPermissions"}},{priority:u.MEDIUM})}getSignatures(e){return this.workerQueue.enqueue({execute:()=>this.executor.getSignatures(e),meta:{docId:e.id,operation:"getSignatures"}},{priority:u.MEDIUM})}getBookmarks(e){return this.workerQueue.enqueue({execute:()=>this.executor.getBookmarks(e),meta:{docId:e.id,operation:"getBookmarks"}},{priority:u.MEDIUM})}setBookmarks(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.setBookmarks(e,t),meta:{docId:e.id,operation:"setBookmarks"}},{priority:u.MEDIUM})}deleteBookmarks(e){return this.workerQueue.enqueue({execute:()=>this.executor.deleteBookmarks(e),meta:{docId:e.id,operation:"deleteBookmarks"}},{priority:u.MEDIUM})}renderPage(e,t,r){return this.renderWithEncoding(()=>this.executor.renderPageRaw(e,t,r),r,e.id,t.index,u.CRITICAL)}renderPageRect(e,t,r,n){return this.renderWithEncoding(()=>this.executor.renderPageRect(e,t,r,n),n,e.id,t.index,u.HIGH)}renderThumbnail(e,t,r){return this.renderWithEncoding(()=>this.executor.renderThumbnailRaw(e,t,r),r,e.id,t.index,u.MEDIUM)}renderPageAnnotation(e,t,r,n){return this.renderWithEncoding(()=>this.executor.renderPageAnnotationRaw(e,t,r,n),n,e.id,t.index,u.MEDIUM)}renderWithEncoding(e,t,r,n,o=u.CRITICAL){const s=new i,a=this.workerQueue.enqueue({execute:()=>e(),meta:{docId:r,pageIndex:n,operation:"render"}},{priority:o}),c=s.abort.bind(s);return s.abort=e=>{a.abort(e),c(e)},a.wait(e=>{0===s.state.stage&&this.encodeImage(e,t,s)},e=>{0===s.state.stage&&s.fail(e)}),s}encodeImage(e,t,n){const i=(null==t?void 0:t.imageType)??"image/webp",o=null==t?void 0:t.quality,s={data:new Uint8ClampedArray(e.data),width:e.width,height:e.height};this.options.imageConverter(()=>s,i,o).then(e=>n.resolve(e)).catch(e=>n.reject({code:r.Unknown,message:String(e)}))}getPageAnnotations(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.getPageAnnotations(e,t),meta:{docId:e.id,pageIndex:t.index,operation:"getPageAnnotations"}},{priority:u.MEDIUM})}createPageAnnotation(e,t,r,n){return this.workerQueue.enqueue({execute:()=>this.executor.createPageAnnotation(e,t,r,n),meta:{docId:e.id,pageIndex:t.index,operation:"createPageAnnotation"}},{priority:u.MEDIUM})}updatePageAnnotation(e,t,r){return this.workerQueue.enqueue({execute:()=>this.executor.updatePageAnnotation(e,t,r),meta:{docId:e.id,pageIndex:t.index,operation:"updatePageAnnotation"}},{priority:u.MEDIUM})}removePageAnnotation(e,t,r){return this.workerQueue.enqueue({execute:()=>this.executor.removePageAnnotation(e,t,r),meta:{docId:e.id,pageIndex:t.index,operation:"removePageAnnotation"}},{priority:u.MEDIUM})}getAllAnnotations(e){const t=this.chunkArray(e.pages,500);this.logger.debug(c,d,`getAllAnnotations: ${e.pages.length} pages in ${t.length} chunks`);const r=new n({aggregate:e=>Object.assign({},...e)});return t.forEach((t,n)=>{const i=this.workerQueue.enqueue({execute:()=>this.executor.getAnnotationsBatch(e,t),meta:{docId:e.id,operation:"getAnnotationsBatch",chunkSize:t.length}},{priority:u.LOW});i.onProgress(e=>{r.progress({page:e.pageIndex,result:e.result})}),r.addChild(i,n)}),r.finalize(),r}getPageTextRects(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.getPageTextRects(e,t),meta:{docId:e.id,pageIndex:t.index,operation:"getPageTextRects"}},{priority:u.MEDIUM})}searchAllPages(e,t,r){const i=Array.isArray(null==r?void 0:r.flags)?r.flags.reduce((e,t)=>e|t,0):(null==r?void 0:r.flags)??0,o=this.chunkArray(e.pages,25);this.logger.debug(c,d,`searchAllPages: ${e.pages.length} pages in ${o.length} chunks`);const s=new n({aggregate:e=>{const t=e.flatMap(e=>Object.values(e).flat());return{results:t,total:t.length}}});return o.forEach((r,n)=>{const o=this.workerQueue.enqueue({execute:()=>this.executor.searchBatch(e,r,t,i),meta:{docId:e.id,operation:"searchBatch",chunkSize:r.length}},{priority:u.LOW});o.onProgress(e=>{s.progress({page:e.pageIndex,results:e.result})}),s.addChild(o,n)}),s.finalize(),s}getAttachments(e){return this.workerQueue.enqueue({execute:()=>this.executor.getAttachments(e),meta:{docId:e.id,operation:"getAttachments"}},{priority:u.MEDIUM})}addAttachment(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.addAttachment(e,t),meta:{docId:e.id,operation:"addAttachment"}},{priority:u.MEDIUM})}removeAttachment(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.removeAttachment(e,t),meta:{docId:e.id,operation:"removeAttachment"}},{priority:u.MEDIUM})}readAttachmentContent(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.readAttachmentContent(e,t),meta:{docId:e.id,operation:"readAttachmentContent"}},{priority:u.MEDIUM})}setFormFieldValue(e,t,r,n){return this.workerQueue.enqueue({execute:()=>this.executor.setFormFieldValue(e,t,r,n),meta:{docId:e.id,pageIndex:t.index,operation:"setFormFieldValue"}},{priority:u.MEDIUM})}flattenPage(e,t,r){return this.workerQueue.enqueue({execute:()=>this.executor.flattenPage(e,t,r),meta:{docId:e.id,pageIndex:t.index,operation:"flattenPage"}},{priority:u.MEDIUM})}extractPages(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.extractPages(e,t),meta:{docId:e.id,pageIndexes:t,operation:"extractPages"}},{priority:u.MEDIUM})}extractText(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.extractText(e,t),meta:{docId:e.id,pageIndexes:t,operation:"extractText"}},{priority:u.MEDIUM})}redactTextInRects(e,t,r,n){return this.workerQueue.enqueue({execute:()=>this.executor.redactTextInRects(e,t,r,n),meta:{docId:e.id,pageIndex:t.index,operation:"redactTextInRects"}},{priority:u.MEDIUM})}getTextSlices(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.getTextSlices(e,t),meta:{docId:e.id,slices:t,operation:"getTextSlices"}},{priority:u.MEDIUM})}getPageGlyphs(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.getPageGlyphs(e,t),meta:{docId:e.id,pageIndex:t.index,operation:"getPageGlyphs"}},{priority:u.MEDIUM})}getPageGeometry(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.getPageGeometry(e,t),meta:{docId:e.id,pageIndex:t.index,operation:"getPageGeometry"}},{priority:u.MEDIUM})}merge(e){return this.workerQueue.enqueue({execute:()=>this.executor.merge(e),meta:{docId:e.map(e=>e.id).join(","),operation:"merge"}},{priority:u.MEDIUM})}mergePages(e){return this.workerQueue.enqueue({execute:()=>this.executor.mergePages(e),meta:{docId:e.map(e=>e.docId).join(","),operation:"mergePages"}},{priority:u.MEDIUM})}preparePrintDocument(e,t){return this.workerQueue.enqueue({execute:()=>this.executor.preparePrintDocument(e,t),meta:{docId:e.id,operation:"preparePrintDocument"}},{priority:u.MEDIUM})}saveAsCopy(e){return this.workerQueue.enqueue({execute:()=>this.executor.saveAsCopy(e),meta:{docId:e.id,operation:"saveAsCopy"}},{priority:u.MEDIUM})}closeDocument(e){return this.workerQueue.enqueue({execute:()=>this.executor.closeDocument(e),meta:{docId:e.id,operation:"closeDocument"}},{priority:u.MEDIUM})}closeAllDocuments(){return this.workerQueue.enqueue({execute:()=>this.executor.closeAllDocuments(),meta:{operation:"closeAllDocuments"}},{priority:u.MEDIUM})}}class g extends Error{constructor(e){super(e),this.name="OffscreenCanvasError"}}const l=(e,t="image/webp",r)=>{if("undefined"==typeof OffscreenCanvas)return Promise.reject(new g("OffscreenCanvas is not available in this environment. This converter is intended for browser use only. Falling back to WASM-based image encoding."));const n=e(),i=new ImageData(n.data,n.width,n.height),o=new OffscreenCanvas(i.width,i.height);return o.getContext("2d").putImageData(i,0,0),o.convertToBlob({type:t,quality:r})};function p(e){return(t,r="image/webp",n)=>{const i=t(),o=new Uint8ClampedArray(i.data);return e.encode({data:o,width:i.width,height:i.height},r,n)}}export{h as P,l as b,p as c};