@progress/kendo-react-pdf-viewer 9.4.0-develop.6 → 9.4.0-develop.7

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/PDFViewer.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Fe=require("react"),c=require("prop-types"),m=require("@progress/kendo-react-buttons"),j=require("@progress/kendo-react-inputs"),qe=require("@progress/kendo-react-data-tools"),je=require("@progress/kendo-react-upload"),Ae=require("@progress/kendo-react-dropdowns"),Ve=require("@progress/kendo-react-indicators"),T=require("@progress/kendo-react-common"),Ue=require("@progress/kendo-react-intl"),f=require("@progress/kendo-svg-icons");require("pdfjs-dist/build/pdf.worker.min.mjs");const te=require("./package-metadata.js"),i=require("@progress/kendo-pdfviewer-common"),a=require("./messages.js");function We(n){const p=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const C in n)if(C!=="default"){const w=Object.getOwnPropertyDescriptor(n,C);Object.defineProperty(p,C,w.get?w:{enumerable:!0,get:()=>n[C]})}}return p.default=n,Object.freeze(p)}const e=We(Fe),ne=["pager","spacer","zoomInOut","zoom","selection","spacer","search","open","download","print"],x={minZoom:.5,maxZoom:4,tools:[...ne],zoomRate:.25,zoomLevels:[{id:1,priority:1,value:1,text:"Actual width",type:"ActualWidth",locationString:a.actualWidth},{id:2,priority:2,value:1,text:"Fit to width",type:"FitToWidth",locationString:a.fitToWidth},{id:3,priority:3,value:1,text:"Fit to page",type:"FitToPage",locationString:a.fitToPage},{id:4,priority:4,value:.5,text:"50%",type:""},{id:5,priority:5,value:.75,text:"75%",type:""},{id:6,priority:100,value:1,text:"100%",type:""},{id:7,priority:7,value:1.25,text:"125%",type:""},{id:8,priority:8,value:1.5,text:"150%",type:""},{id:9,priority:9,value:2,text:"200%",type:""},{id:10,priority:10,value:3,text:"300%",type:""},{id:11,priority:11,value:4,text:"400%",type:""}],defaultZoom:i.DEFAULT_ZOOM_LEVEL},Ke=[".k-toolbar > button",".k-toolbar .k-combobox > input",".k-toolbar .k-button-group > button",".k-toolbar .k-pager > a",".k-toolbar .k-pager input"];let oe=0;function _e(){return oe++,oe}const He=(n,p)=>n.priority>p.priority?-1:n.priority<p.priority?1:0,A=e.forwardRef((n,p)=>{T.validatePackage(te.packageMetadata);const C=T.shouldShowValidationUI(te.packageMetadata),{zoom:w,zoomLevels:V=x.zoomLevels,defaultZoom:N=x.defaultZoom,minZoom:R=x.minZoom,maxZoom:B=x.maxZoom,zoomRate:z=x.zoomRate}=n,u=Ue.useLocalization(),s=e.useRef(null),[ae,L]=e.useState(N),h=w!==void 0?w:ae,Z=V.slice().sort(He).find(o=>o.value===h)||{text:h*100+"%",value:h,id:h,locationString:""};Z.locationString&&(Z.text=u.toLanguageString(Z.locationString,a.messages[Z.locationString]));const[d,O]=e.useState(!1),[re,b]=e.useState(!0),[I,U]=e.useState(0),[M,W]=e.useState(!0),[le,K]=e.useState(!1),[y,D]=e.useState(0),[k,S]=e.useState(0),[E,_]=e.useState(!1),[F,H]=e.useState(""),t=e.useMemo(()=>({}),[]);t.currentZoom=h,t.props=n;const G=e.useCallback(o=>{s.current&&s.current.style.setProperty("--scale-factor",String(o))},[]),v=e.useRef(null),P=e.useRef(null);e.useImperativeHandle(v,()=>({get element(){return P.current},props:n,get pages(){return t.pages},get document(){return t.document}}),[]),e.useImperativeHandle(p,()=>v.current);const ce=e.useCallback(()=>{if(t.props.onLoad){const o={target:v.current};t.props.onLoad.call(void 0,o)}},[]),J=e.useCallback((o,r,l)=>{if(n.onDownload){const g={target:v.current,blob:o,fileName:r,saveOptions:l};return n.onDownload.call(void 0,g)===!1}return!1},[n.onDownload]),se=e.useCallback(()=>{var o;t.scroller&&t.scroller.destroy(),t.scroller=new i.Scroller((o=s.current)==null?void 0:o.parentNode,{filter:".k-page",events:{}}),t.scroller.disablePanEventsTracking()},[]),ie=e.useCallback(o=>{const r=Array.from(o.querySelectorAll(".k-text-layer"));t.search=new i.SearchService({textContainers:r||[],highlightClass:"k-search-highlight",highlightMarkClass:"k-search-highlight-mark",charClass:"k-text-char"})},[]);t.done=e.useCallback(({pdfPages:o,pdfDoc:r,zoom:l})=>{t.document=r,t.pages=o,t.zoom=l,se(),b(!1),O(!0),ce(),s.current&&i.scrollToPage(s.current,0)},[]),t.error=e.useCallback(o=>{if(t.document=null,t.pages=[],b(!1),O(!1),n.onError){const r={error:typeof o=="string"?{message:o}:o,target:v.current};n.onError.call(void 0,r)}},[n.onError]),e.useEffect(()=>{s.current&&(n.url||n.data||n.arrayBuffer?(b(!0),i.removeChildren(s.current),i.loadPDF({url:n.url,data:n.data,arrayBuffer:n.arrayBuffer,dom:s.current,zoom:t.currentZoom,done:t.done,error:t.error}),G(t.currentZoom)):(t.document=null,t.pages=[],O(!1),b(!1),i.removeChildren(s.current)))},[n.url,n.data,n.arrayBuffer]);const Q=e.useCallback((o,r)=>{s.current&&(b(!0),i.removeChildren(s.current),i.reloadDocument({pdfDoc:o,zoom:r,dom:s.current,done:l=>{t.pages=l,t.zoom=r,b(!1)},error:t.error}))},[]);e.useEffect(()=>{G(h),s.current&&t.document&&h!==t.zoom&&Q(t.document,h)},[h,Q]),e.useEffect(()=>()=>{t.scroller&&t.scroller.destroy(),t.search&&t.search.destroy(),t.document=null,t.pages=[]},[]);const ue=e.useCallback(()=>{K(!0),ie(s.current)},[]),me=e.useCallback(o=>{const r=o.value,l=t.search.search({text:r,matchCase:E});S(l.length?1:0),D(l.length),H(r)},[E]),de=e.useCallback(()=>{const o=t.search.search({text:F,matchCase:!E});S(o.length?1:0),D(o.length),_(!E)},[E,F]),ge=e.useCallback(()=>{i.goToNextSearchMatch(t),S(k+1>y?1:k+1)},[k,y]),fe=e.useCallback(()=>{i.goToPreviousSearchMatch(t),S(k-1<1?y:k-1)},[k,y]),X=e.useCallback(()=>{t.search.destroy(),S(0),D(0),_(!1),H(""),K(!1)},[]),he=e.useCallback(o=>{o.key==="Enter"?(o.preventDefault(),i.goToNextSearchMatch(t),S(k+1>y?1:k+1)):o.key==="Escape"&&X()},[k,y]),ke=e.useCallback(o=>{if(s.current){const r=o.skip;i.scrollToPage(s.current,r);const l={page:r+1,target:v.current,syntheticEvent:o.syntheticEvent};n.onPageChange&&n.onPageChange.call(void 0,l)}U(o.skip)},[I,n.onPageChange]),ve=e.useCallback(o=>{if(P.current){const r=i.currentPage(P.current);if(r!==I){U(r);const l={page:r+1,target:v.current,syntheticEvent:o};n.onPageChange&&n.onPageChange.call(void 0,l)}}},[I,n.onPageChange]),be=e.useCallback(o=>{const r=Math.min(t.currentZoom+z,B);if(r!==t.currentZoom&&t.document&&(L(r),n.onZoom)){const l={zoom:r,target:v.current,syntheticEvent:o};n.onZoom.call(void 0,l)}},[z,B,n.onZoom]),ye=e.useCallback(o=>{const r=Math.max(t.currentZoom-z,R);if(r!==t.currentZoom&&t.document&&(L(r),n.onZoom)){const l={zoom:r,target:v.current,syntheticEvent:o};n.onZoom.call(void 0,l)}},[z,R,n.onZoom]),pe=e.useCallback(o=>{const r=o.value===null?{text:"100%",value:1,id:100}:{...o.value};if(r.value===void 0){const g=parseFloat(r.text);typeof g=="number"&&!Number.isNaN(g)?r.value=g/100:r.value=1}let l=r?i.calculateZoomLevel(r.value,r.type,t.currentZoom,s.current):1;if(l=Math.round(l*100)/100,t.currentZoom!==l&&t.document&&(L(l),n.onZoom)){const g={zoom:l,target:v.current,syntheticEvent:o.syntheticEvent};n.onZoom.call(void 0,g)}},[n.onZoom]),Ce=e.useCallback(()=>{t.scroller.disablePanEventsTracking(),W(!0)},[]),Se=e.useCallback(()=>{t.scroller.enablePanEventsTracking(),W(!1)},[]),Ee=e.useCallback(()=>{i.download({pdf:t.document,error:t.error},n.saveFileName,n.saveOptions,J)},[n.url,n.data,n.arrayBuffer,n.saveFileName,n.saveOptions,J]),xe=e.useCallback(()=>{b(!0);const o=l=>{t.error(typeof(l?l.message||l:null)=="string"?l.message||l:u.toLanguageString(a.popupBlocked,a.messages[a.popupBlocked]))},r=()=>{b(!1)};i.print(t.pages,r,o)},[]),we=e.useCallback(o=>{const r=o.newState;r[0]&&r[0].getRawFile&&r[0].getRawFile().arrayBuffer().then(g=>{if(s.current){b(!0),i.removeChildren(s.current);const q=t.props.zoom===void 0?N:t.props.zoom;i.loadPDF({arrayBuffer:g,dom:s.current,zoom:q,done:t.done,error:t.error}),L(q)}})},[N]),Ze=e.useCallback(o=>{const r=o.target;if(r instanceof Element&&r.parentNode){const l=r.closest(".k-toolbar"),g=l&&l.querySelector(".k-upload input");g&&g.click()}},[]),Y=re&&e.createElement("div",{className:"k-loader-container k-loader-container-md k-loader-top"},e.createElement("div",{className:"k-loader-container-overlay k-overlay-light"}),e.createElement("div",{className:"k-loader-container-inner "},e.createElement(Ve.Loader,{size:"large"}))),ze=e.createElement(m.ButtonGroup,{className:"k-toolbar-button-group k-button-group-solid"},e.createElement(m.Button,{className:"k-group-start",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.zoomOut,a.messages[a.zoomOut]),disabled:h<=R||!d,onClick:ye,icon:"zoom-out",svgIcon:f.zoomOutIcon}),e.createElement(m.Button,{className:"k-group-end",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.zoomIn,a.messages[a.zoomIn]),disabled:h>=B||!d,onClick:be,icon:"zoom-in",svgIcon:f.zoomInIcon})),Le=e.createElement(Ae.ComboBox,{className:"k-toolbar-combobox",disabled:!d,data:V.map(o=>({...o,text:o.locationString?u.toLanguageString(o.locationString,a.messages[o.locationString]):o.text})),dataItemKey:"id",textField:"text",value:d?Z:null,allowCustom:!0,onChange:pe,placeholder:u.toLanguageString(a.zoomLevel,a.messages[a.zoomLevel])}),Ie=e.createElement(qe.Pager,{disabled:!d,previousNext:!0,type:"input",skip:I,take:1,total:t.pages?t.pages.length:0,info:!1,onPageChange:ke}),Me=e.createElement(m.ToolbarSpacer,null),Pe=e.createElement(m.ButtonGroup,{className:"k-toolbar-button-group k-button-group-solid"},e.createElement(m.Button,{className:"k-group-start",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.enableSelection,a.messages[a.enableSelection]),icon:"pointer",svgIcon:f.pointerIcon,disabled:!d,togglable:!0,selected:M&&d,onClick:Ce}),e.createElement(m.Button,{className:"k-group-end",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.enablePanning,a.messages[a.enablePanning]),icon:"hand",svgIcon:f.handIcon,disabled:!d,togglable:!0,selected:!M&&d,onClick:Se})),Te=e.createElement(m.Button,{className:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.search,a.messages[a.search]),icon:"search",svgIcon:f.searchIcon,disabled:!d,onClick:ue}),Ne=e.createElement(e.Fragment,null,e.createElement(m.Button,{className:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.open,a.messages[a.open]),icon:"folder-open",svgIcon:f.folderOpenIcon,onClick:Ze}),e.createElement("div",{style:{display:"none"}},e.createElement(je.Upload,{restrictions:{allowedExtensions:[".pdf"]},onAdd:we,autoUpload:!1,defaultFiles:[],multiple:!1,accept:".pdf,.PDF",withCredentials:!1}))),Re=e.createElement(m.Button,{className:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.download,a.messages[a.download]),icon:"download",svgIcon:f.downloadIcon,disabled:!d,onClick:Ee}),Be=e.createElement(m.Button,{className:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.print,a.messages[a.print]),icon:"print",svgIcon:f.printIcon,disabled:!d,onClick:xe}),Oe={pager:Ie,spacer:Me,zoomInOut:ze,zoom:Le,selection:Pe,search:Te,open:Ne,download:Re,print:Be},De=(n.tools||x.tools).map(o=>({...Oe[o],key:"toobar-tool-"+o+_e()})),$=e.createElement(m.Toolbar,{buttons:Ke},...De),ee=e.createElement("div",{className:T.classNames("k-canvas k-pdf-viewer-canvas k-pos-relative k-overflow-auto",{"k-enable-text-select":M,"k-enable-panning":!M}),onScroll:ve},le&&e.createElement("div",{className:"k-search-panel k-pos-sticky k-top-center"},e.createElement(j.TextBox,{value:F,onChange:me,placeholder:u.toLanguageString(a.search,a.messages[a.search]),autoFocus:!0,onKeyDown:he,suffix:()=>e.createElement(e.Fragment,null,e.createElement(j.InputSeparator,null),e.createElement(j.InputSuffix,null,e.createElement(m.Button,{icon:"convert-lowercase",svgIcon:f.convertLowercaseIcon,title:u.toLanguageString(a.matchCase,a.messages[a.matchCase]),fillMode:"flat",togglable:!0,selected:E,onClick:de})))}),e.createElement("span",{className:"k-search-matches"},e.createElement("span",null,k)," ",u.toLanguageString(a.searchOf,a.messages[a.searchOf]),e.createElement("span",null,y)),e.createElement(m.Button,{title:u.toLanguageString(a.prevMatch,a.messages[a.prevMatch]),fillMode:"flat",icon:"arrow-up",svgIcon:f.arrowUpIcon,disabled:y===0,onClick:fe}),e.createElement(m.Button,{title:u.toLanguageString(a.nextMatch,a.messages[a.nextMatch]),fillMode:"flat",icon:"arrow-down",svgIcon:f.arrowDownIcon,disabled:y===0,onClick:ge}),e.createElement(m.Button,{title:u.toLanguageString(a.close,a.messages[a.close]),fillMode:"flat",icon:"x",svgIcon:f.xIcon,onClick:X})),e.createElement("div",{ref:s,className:"k-pdf-viewer-pages"}));return e.createElement("div",{className:"k-pdf-viewer",style:n.style,ref:P},n.onRenderLoader?n.onRenderLoader.call(void 0,Y||null):Y,n.onRenderToolbar?n.onRenderToolbar.call(void 0,$):$,n.onRenderContent?n.onRenderContent.call(void 0,ee):ee,C&&e.createElement(T.WatermarkOverlay,null))});A.displayName="KendoReactPDFViewer";A.propTypes={url:c.string,data:c.string,arrayBuffer:c.any,typedArray:c.any,style:c.object,saveFileName:c.string,saveOptions:c.object,tools:c.arrayOf(c.oneOf(ne).isRequired),zoomLevels:c.arrayOf(c.any),zoom:c.number,defaultZoom:c.number,minZoom:c.number,maxZoom:c.number,zoomRate:c.number,onError:c.func,onLoad:c.func,onDownload:c.func,onRenderToolbar:c.func,onRenderContent:c.func,onRenderLoader:c.func,onZoom:c.func};exports.PDFViewer=A;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Fe=require("react"),c=require("prop-types"),m=require("@progress/kendo-react-buttons"),j=require("@progress/kendo-react-inputs"),qe=require("@progress/kendo-react-data-tools"),je=require("@progress/kendo-react-upload"),Ae=require("@progress/kendo-react-dropdowns"),Ve=require("@progress/kendo-react-indicators"),T=require("@progress/kendo-react-common"),Ue=require("@progress/kendo-react-intl"),f=require("@progress/kendo-svg-icons");require("pdfjs-dist/build/pdf.worker.min.mjs");const te=require("./package-metadata.js"),i=require("@progress/kendo-pdfviewer-common"),a=require("./messages.js");function We(n){const p=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const C in n)if(C!=="default"){const w=Object.getOwnPropertyDescriptor(n,C);Object.defineProperty(p,C,w.get?w:{enumerable:!0,get:()=>n[C]})}}return p.default=n,Object.freeze(p)}const e=We(Fe),ne=["pager","spacer","zoomInOut","zoom","selection","spacer","search","open","download","print"],x={minZoom:.5,maxZoom:4,tools:[...ne],zoomRate:.25,zoomLevels:[{id:1,priority:1,value:1,text:"Actual width",type:"ActualWidth",locationString:a.actualWidth},{id:2,priority:2,value:1,text:"Fit to width",type:"FitToWidth",locationString:a.fitToWidth},{id:3,priority:3,value:1,text:"Fit to page",type:"FitToPage",locationString:a.fitToPage},{id:4,priority:4,value:.5,text:"50%",type:""},{id:5,priority:5,value:.75,text:"75%",type:""},{id:6,priority:100,value:1,text:"100%",type:""},{id:7,priority:7,value:1.25,text:"125%",type:""},{id:8,priority:8,value:1.5,text:"150%",type:""},{id:9,priority:9,value:2,text:"200%",type:""},{id:10,priority:10,value:3,text:"300%",type:""},{id:11,priority:11,value:4,text:"400%",type:""}],defaultZoom:i.DEFAULT_ZOOM_LEVEL},Ke=[".k-toolbar > button",".k-toolbar .k-combobox > input",".k-toolbar .k-button-group > button",".k-toolbar .k-pager > a",".k-toolbar .k-pager input"];let oe=0;function _e(){return oe++,oe}const He=(n,p)=>n.priority>p.priority?-1:n.priority<p.priority?1:0,A=e.forwardRef((n,p)=>{T.validatePackage(te.packageMetadata);const C=T.shouldShowValidationUI(te.packageMetadata),{zoom:w,zoomLevels:V=x.zoomLevels,defaultZoom:N=x.defaultZoom,minZoom:R=x.minZoom,maxZoom:B=x.maxZoom,zoomRate:z=x.zoomRate}=n,u=Ue.useLocalization(),s=e.useRef(null),[ae,L]=e.useState(N),h=w!==void 0?w:ae,Z=V.slice().sort(He).find(o=>o.value===h)||{text:h*100+"%",value:h,id:h,locationString:""};Z.locationString&&(Z.text=u.toLanguageString(Z.locationString,a.messages[Z.locationString]));const[d,O]=e.useState(!1),[re,b]=e.useState(!0),[I,U]=e.useState(0),[M,W]=e.useState(!0),[le,K]=e.useState(!1),[y,D]=e.useState(0),[k,S]=e.useState(0),[E,_]=e.useState(!1),[F,H]=e.useState(""),t=e.useMemo(()=>({}),[]);t.currentZoom=h,t.props=n;const G=e.useCallback(o=>{s.current&&s.current.style.setProperty("--scale-factor",String(o))},[]),v=e.useRef(null),P=e.useRef(null);e.useImperativeHandle(v,()=>({get element(){return P.current},props:n,get pages(){return t.pages},get document(){return t.document}}),[]),e.useImperativeHandle(p,()=>v.current);const ce=e.useCallback(()=>{if(t.props.onLoad){const o={target:v.current};t.props.onLoad.call(void 0,o)}},[]),J=e.useCallback((o,r,l)=>{if(n.onDownload){const g={target:v.current,blob:o,fileName:r,saveOptions:l};return n.onDownload.call(void 0,g)===!1}return!1},[n.onDownload]),se=e.useCallback(()=>{var o;t.scroller&&t.scroller.destroy(),t.scroller=new i.Scroller((o=s.current)==null?void 0:o.parentNode,{filter:".k-page",events:{}}),t.scroller.disablePanEventsTracking()},[]),ie=e.useCallback(o=>{const r=Array.from(o.querySelectorAll(".k-text-layer"));t.search=new i.SearchService({textContainers:r||[],highlightClass:"k-search-highlight",highlightMarkClass:"k-search-highlight-mark",charClass:"k-text-char"})},[]);t.done=e.useCallback(({pdfPages:o,pdfDoc:r,zoom:l})=>{t.document=r,t.pages=o,t.zoom=l,se(),b(!1),O(!0),ce(),s.current&&i.scrollToPage(s.current,0)},[]),t.error=e.useCallback(o=>{if(t.document=null,t.pages=[],b(!1),O(!1),n.onError){const r={error:typeof o=="string"?{message:o}:o,target:v.current};n.onError.call(void 0,r)}},[n.onError]),e.useEffect(()=>{s.current&&(n.url||n.data||n.arrayBuffer?(b(!0),i.removeChildren(s.current),i.loadPDF({url:n.url,data:n.data,arrayBuffer:n.arrayBuffer,dom:s.current,zoom:t.currentZoom,done:t.done,error:t.error}),G(t.currentZoom)):(t.document=null,t.pages=[],O(!1),b(!1),i.removeChildren(s.current)))},[n.url,n.data,n.arrayBuffer]);const Q=e.useCallback((o,r)=>{s.current&&(b(!0),i.removeChildren(s.current),i.reloadDocument({pdfDoc:o,zoom:r,dom:s.current,done:l=>{t.pages=l,t.zoom=r,b(!1)},error:t.error}))},[]);e.useEffect(()=>{G(h),s.current&&t.document&&h!==t.zoom&&Q(t.document,h)},[h,Q]),e.useEffect(()=>()=>{t.scroller&&t.scroller.destroy(),t.search&&t.search.destroy(),t.document=null,t.pages=[]},[]);const ue=e.useCallback(()=>{K(!0),ie(s.current)},[]),me=e.useCallback(o=>{const r=o.value,l=t.search.search({text:r,matchCase:E});S(l.length?1:0),D(l.length),H(r)},[E]),de=e.useCallback(()=>{const o=t.search.search({text:F,matchCase:!E});S(o.length?1:0),D(o.length),_(!E)},[E,F]),ge=e.useCallback(()=>{i.goToNextSearchMatch(t),S(k+1>y?1:k+1)},[k,y]),fe=e.useCallback(()=>{i.goToPreviousSearchMatch(t),S(k-1<1?y:k-1)},[k,y]),X=e.useCallback(()=>{t.search.destroy(),S(0),D(0),_(!1),H(""),K(!1)},[]),he=e.useCallback(o=>{o.key==="Enter"?(o.preventDefault(),i.goToNextSearchMatch(t),S(k+1>y?1:k+1)):o.key==="Escape"&&X()},[k,y]),ke=e.useCallback(o=>{if(s.current){const r=o.skip;i.scrollToPage(s.current,r);const l={page:r+1,target:v.current,syntheticEvent:o.syntheticEvent};n.onPageChange&&n.onPageChange.call(void 0,l)}U(o.skip)},[I,n.onPageChange]),ve=e.useCallback(o=>{if(P.current){const r=i.currentPage(P.current);if(r!==I){U(r);const l={page:r+1,target:v.current,syntheticEvent:o};n.onPageChange&&n.onPageChange.call(void 0,l)}}},[I,n.onPageChange]),be=e.useCallback(o=>{const r=Math.min(t.currentZoom+z,B);if(r!==t.currentZoom&&t.document&&(L(r),n.onZoom)){const l={zoom:r,target:v.current,syntheticEvent:o};n.onZoom.call(void 0,l)}},[z,B,n.onZoom]),ye=e.useCallback(o=>{const r=Math.max(t.currentZoom-z,R);if(r!==t.currentZoom&&t.document&&(L(r),n.onZoom)){const l={zoom:r,target:v.current,syntheticEvent:o};n.onZoom.call(void 0,l)}},[z,R,n.onZoom]),pe=e.useCallback(o=>{const r=o.value===null?{text:"100%",value:1,id:100}:{...o.value};if(r.value===void 0){const g=parseFloat(r.text);typeof g=="number"&&!Number.isNaN(g)?r.value=g/100:r.value=1}let l=r?i.calculateZoomLevel(r.value,r.type,t.currentZoom,s.current):1;if(l=Math.round(l*100)/100,t.currentZoom!==l&&t.document&&(L(l),n.onZoom)){const g={zoom:l,target:v.current,syntheticEvent:o.syntheticEvent};n.onZoom.call(void 0,g)}},[n.onZoom]),Ce=e.useCallback(()=>{t.scroller.disablePanEventsTracking(),W(!0)},[]),Se=e.useCallback(()=>{t.scroller.enablePanEventsTracking(),W(!1)},[]),Ee=e.useCallback(()=>{i.download({pdf:t.document,error:t.error},n.saveFileName,n.saveOptions,J)},[n.url,n.data,n.arrayBuffer,n.saveFileName,n.saveOptions,J]),xe=e.useCallback(()=>{b(!0);const o=l=>{t.error(typeof(l?l.message||l:null)=="string"?l.message||l:u.toLanguageString(a.popupBlocked,a.messages[a.popupBlocked]))},r=()=>{b(!1)};i.print(t.pages,r,o)},[]),we=e.useCallback(o=>{const r=o.newState;r[0]&&r[0].getRawFile&&r[0].getRawFile().arrayBuffer().then(g=>{if(s.current){b(!0),i.removeChildren(s.current);const q=t.props.zoom===void 0?N:t.props.zoom;i.loadPDF({arrayBuffer:g,dom:s.current,zoom:q,done:t.done,error:t.error}),L(q)}})},[N]),Ze=e.useCallback(o=>{const r=o.target;if(r instanceof Element&&r.parentNode){const l=r.closest(".k-toolbar"),g=l&&l.querySelector(".k-upload input");g&&g.click()}},[]),Y=re&&e.createElement("div",{className:"k-loader-container k-loader-container-md k-loader-top"},e.createElement("div",{className:"k-loader-container-overlay k-overlay-light"}),e.createElement("div",{className:"k-loader-container-inner "},e.createElement(Ve.Loader,{size:"large"}))),ze=e.createElement(m.ButtonGroup,{className:"k-toolbar-button-group k-button-group-solid"},e.createElement(m.Button,{className:"k-group-start",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.zoomOut,a.messages[a.zoomOut]),disabled:h<=R||!d,onClick:ye,icon:"zoom-out",svgIcon:f.zoomOutIcon}),e.createElement(m.Button,{className:"k-group-end",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.zoomIn,a.messages[a.zoomIn]),disabled:h>=B||!d,onClick:be,icon:"zoom-in",svgIcon:f.zoomInIcon})),Le=e.createElement(Ae.ComboBox,{className:"k-toolbar-combobox",disabled:!d,data:V.map(o=>({...o,text:o.locationString?u.toLanguageString(o.locationString,a.messages[o.locationString]):o.text})),dataItemKey:"id",textField:"text",value:d?Z:null,allowCustom:!0,onChange:pe,placeholder:u.toLanguageString(a.zoomLevel,a.messages[a.zoomLevel])}),Ie=e.createElement(qe.Pager,{disabled:!d,previousNext:!0,type:"input",skip:I,take:1,total:t.pages?t.pages.length:0,info:!1,onPageChange:ke}),Me=e.createElement(m.ToolbarSpacer,null),Pe=e.createElement(m.ButtonGroup,{className:"k-toolbar-button-group k-button-group-solid"},e.createElement(m.Button,{className:"k-group-start",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.enableSelection,a.messages[a.enableSelection]),icon:"pointer",svgIcon:f.pointerIcon,disabled:!d,togglable:!0,selected:M&&d,onClick:Ce}),e.createElement(m.Button,{className:"k-group-end",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.enablePanning,a.messages[a.enablePanning]),icon:"hand",svgIcon:f.handIcon,disabled:!d,togglable:!0,selected:!M&&d,onClick:Se})),Te=e.createElement(m.Button,{className:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.search,a.messages[a.search]),icon:"search",svgIcon:f.searchIcon,disabled:!d,onClick:ue}),Ne=e.createElement(e.Fragment,null,e.createElement(m.Button,{className:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.open,a.messages[a.open]),icon:"folder-open",svgIcon:f.folderOpenIcon,onClick:Ze}),e.createElement("div",{style:{display:"none"}},e.createElement(je.Upload,{restrictions:{allowedExtensions:[".pdf"]},onAdd:we,autoUpload:!1,defaultFiles:[],multiple:!1,accept:".pdf,.PDF",withCredentials:!1}))),Re=e.createElement(m.Button,{className:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.download,a.messages[a.download]),icon:"download",svgIcon:f.downloadIcon,disabled:!d,onClick:Ee}),Be=e.createElement(m.Button,{className:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:u.toLanguageString(a.print,a.messages[a.print]),icon:"print",svgIcon:f.printIcon,disabled:!d,onClick:xe}),Oe={pager:Ie,spacer:Me,zoomInOut:ze,zoom:Le,selection:Pe,search:Te,open:Ne,download:Re,print:Be},De=(n.tools||x.tools).map(o=>({...Oe[o],key:"toobar-tool-"+o+_e()})),$=e.createElement(m.Toolbar,{buttons:Ke},...De),ee=e.createElement("div",{className:T.classNames("k-canvas k-pdf-viewer-canvas k-pos-relative k-overflow-auto",{"k-enable-text-select":M,"k-enable-panning":!M}),onScroll:ve},le&&e.createElement("div",{className:"k-search-panel k-pos-sticky k-top-center"},e.createElement(j.TextBox,{value:F,onChange:me,placeholder:u.toLanguageString(a.search,a.messages[a.search]),autoFocus:!0,onKeyDown:he,suffix:()=>e.createElement(e.Fragment,null,e.createElement(j.InputSeparator,null),e.createElement(j.InputSuffix,null,e.createElement(m.Button,{icon:"convert-lowercase",svgIcon:f.convertLowercaseIcon,title:u.toLanguageString(a.matchCase,a.messages[a.matchCase]),fillMode:"flat",togglable:!0,selected:E,onClick:de})))}),e.createElement("span",{className:"k-search-matches"},e.createElement("span",null,k)," ",u.toLanguageString(a.searchOf,a.messages[a.searchOf]),e.createElement("span",null,y)),e.createElement(m.Button,{title:u.toLanguageString(a.prevMatch,a.messages[a.prevMatch]),fillMode:"flat",icon:"arrow-up",svgIcon:f.arrowUpIcon,disabled:y===0,onClick:fe}),e.createElement(m.Button,{title:u.toLanguageString(a.nextMatch,a.messages[a.nextMatch]),fillMode:"flat",icon:"arrow-down",svgIcon:f.arrowDownIcon,disabled:y===0,onClick:ge}),e.createElement(m.Button,{title:u.toLanguageString(a.close,a.messages[a.close]),fillMode:"flat",icon:"x",svgIcon:f.xIcon,onClick:X})),e.createElement("div",{ref:s,className:"k-pdf-viewer-pages"}));return e.createElement("div",{className:"k-pdf-viewer",style:n.style,ref:P},n.onRenderLoader?n.onRenderLoader.call(void 0,Y||null):Y,n.onRenderToolbar?n.onRenderToolbar.call(void 0,$):$,n.onRenderContent?n.onRenderContent.call(void 0,ee):ee,C&&e.createElement(T.WatermarkOverlay,null))});A.displayName="KendoReactPDFViewer";A.propTypes={url:c.string,data:c.string,arrayBuffer:c.any,typedArray:c.any,style:c.object,saveFileName:c.string,saveOptions:c.object,tools:c.arrayOf(c.oneOf(ne).isRequired),zoomLevels:c.arrayOf(c.any),zoom:c.number,defaultZoom:c.number,minZoom:c.number,maxZoom:c.number,zoomRate:c.number,onError:c.func,onLoad:c.func,onDownload:c.func,onRenderToolbar:c.func,onRenderContent:c.func,onRenderLoader:c.func,onZoom:c.func};exports.PDFViewer=A;
package/PDFViewer.mjs CHANGED
@@ -5,7 +5,6 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
8
  import * as e from "react";
10
9
  import l from "prop-types";
11
10
  import { ButtonGroup as Q, Button as d, Toolbar as et, ToolbarSpacer as tt } from "@progress/kendo-react-buttons";
package/index.js CHANGED
@@ -5,4 +5,5 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@progress/kendo-pdfviewer-common"),r=require("./PDFViewer.js"),o=e.scrollToPage;Object.defineProperty(exports,"currentPage",{enumerable:!0,get:()=>e.currentPage});exports.PDFViewer=r.PDFViewer;exports.scrollToPage=o;
8
+ "use client";
9
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@progress/kendo-pdfviewer-common"),r=require("./PDFViewer.js"),o=e.scrollToPage;Object.defineProperty(exports,"currentPage",{enumerable:!0,get:()=>e.currentPage});exports.PDFViewer=r.PDFViewer;exports.scrollToPage=o;
package/index.mjs CHANGED
@@ -7,11 +7,11 @@
7
7
  */
8
8
  "use client";
9
9
  import { scrollToPage as o } from "@progress/kendo-pdfviewer-common";
10
- import { currentPage as c } from "@progress/kendo-pdfviewer-common";
11
- import { PDFViewer as a } from "./PDFViewer.mjs";
10
+ import { currentPage as a } from "@progress/kendo-pdfviewer-common";
11
+ import { PDFViewer as s } from "./PDFViewer.mjs";
12
12
  const e = o;
13
13
  export {
14
- a as PDFViewer,
15
- c as currentPage,
14
+ s as PDFViewer,
15
+ a as currentPage,
16
16
  e as scrollToPage
17
17
  };
package/messages.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="pdfviewer.zoomIn",o="pdfviewer.zoomOut",t="pdfviewer.zoomLevel",n="pdfviewer.enableSelection",c="pdfviewer.enablePanning",a="pdfviewer.search",i="pdfviewer.open",s="pdfviewer.download",p="pdfviewer.print",d="pdfviewer.close",l="pdfviewer.matchCase",r="pdfviewer.prevMatch",f="pdfviewer.nextMatch",h="pdfviewer.actualWidth",v="pdfviewer.fitToWidth",w="pdfviewer.fitToPage",m="pdfviewer.popupBlocked",u="pdfviewer.searchOf",g={[e]:"Zoom in",[o]:"Zoom out",[t]:"Choose zoom level",[n]:"Enable selection",[c]:"Enable panning",[a]:"Search",[i]:"Open",[s]:"Download",[u]:"of",[p]:"Print",[d]:"Close",[l]:"Match case",[r]:"Previous match",[f]:"Next match",[h]:"Actual width",[v]:"Fit to width",[w]:"Fit to page",[m]:"Popup is blocked."};exports.actualWidth=h;exports.close=d;exports.download=s;exports.enablePanning=c;exports.enableSelection=n;exports.fitToPage=w;exports.fitToWidth=v;exports.matchCase=l;exports.messages=g;exports.nextMatch=f;exports.open=i;exports.popupBlocked=m;exports.prevMatch=r;exports.print=p;exports.search=a;exports.searchOf=u;exports.zoomIn=e;exports.zoomLevel=t;exports.zoomOut=o;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="pdfviewer.zoomIn",o="pdfviewer.zoomOut",t="pdfviewer.zoomLevel",n="pdfviewer.enableSelection",c="pdfviewer.enablePanning",a="pdfviewer.search",i="pdfviewer.open",s="pdfviewer.download",p="pdfviewer.print",d="pdfviewer.close",r="pdfviewer.matchCase",l="pdfviewer.prevMatch",f="pdfviewer.nextMatch",h="pdfviewer.actualWidth",v="pdfviewer.fitToWidth",w="pdfviewer.fitToPage",m="pdfviewer.popupBlocked",u="pdfviewer.searchOf",g={[e]:"Zoom in",[o]:"Zoom out",[t]:"Choose zoom level",[n]:"Enable selection",[c]:"Enable panning",[a]:"Search",[i]:"Open",[s]:"Download",[u]:"of",[p]:"Print",[d]:"Close",[r]:"Match case",[l]:"Previous match",[f]:"Next match",[h]:"Actual width",[v]:"Fit to width",[w]:"Fit to page",[m]:"Popup is blocked."};exports.actualWidth=h;exports.close=d;exports.download=s;exports.enablePanning=c;exports.enableSelection=n;exports.fitToPage=w;exports.fitToWidth=v;exports.matchCase=r;exports.messages=g;exports.nextMatch=f;exports.open=i;exports.popupBlocked=m;exports.prevMatch=l;exports.print=p;exports.search=a;exports.searchOf=u;exports.zoomIn=e;exports.zoomLevel=t;exports.zoomOut=o;
package/messages.mjs CHANGED
@@ -5,8 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
- const e = "pdfviewer.zoomIn", o = "pdfviewer.zoomOut", t = "pdfviewer.zoomLevel", n = "pdfviewer.enableSelection", c = "pdfviewer.enablePanning", i = "pdfviewer.search", a = "pdfviewer.open", s = "pdfviewer.download", p = "pdfviewer.print", d = "pdfviewer.close", r = "pdfviewer.matchCase", l = "pdfviewer.prevMatch", f = "pdfviewer.nextMatch", v = "pdfviewer.actualWidth", w = "pdfviewer.fitToWidth", h = "pdfviewer.fitToPage", m = "pdfviewer.popupBlocked", u = "pdfviewer.searchOf", b = {
8
+ const e = "pdfviewer.zoomIn", o = "pdfviewer.zoomOut", t = "pdfviewer.zoomLevel", n = "pdfviewer.enableSelection", c = "pdfviewer.enablePanning", i = "pdfviewer.search", a = "pdfviewer.open", p = "pdfviewer.download", s = "pdfviewer.print", d = "pdfviewer.close", r = "pdfviewer.matchCase", f = "pdfviewer.prevMatch", l = "pdfviewer.nextMatch", v = "pdfviewer.actualWidth", w = "pdfviewer.fitToWidth", h = "pdfviewer.fitToPage", m = "pdfviewer.popupBlocked", u = "pdfviewer.searchOf", b = {
10
9
  [e]: "Zoom in",
11
10
  [o]: "Zoom out",
12
11
  [t]: "Choose zoom level",
@@ -14,13 +13,13 @@ const e = "pdfviewer.zoomIn", o = "pdfviewer.zoomOut", t = "pdfviewer.zoomLevel"
14
13
  [c]: "Enable panning",
15
14
  [i]: "Search",
16
15
  [a]: "Open",
17
- [s]: "Download",
16
+ [p]: "Download",
18
17
  [u]: "of",
19
- [p]: "Print",
18
+ [s]: "Print",
20
19
  [d]: "Close",
21
20
  [r]: "Match case",
22
- [l]: "Previous match",
23
- [f]: "Next match",
21
+ [f]: "Previous match",
22
+ [l]: "Next match",
24
23
  [v]: "Actual width",
25
24
  [w]: "Fit to width",
26
25
  [h]: "Fit to page",
@@ -29,18 +28,18 @@ const e = "pdfviewer.zoomIn", o = "pdfviewer.zoomOut", t = "pdfviewer.zoomLevel"
29
28
  export {
30
29
  v as actualWidth,
31
30
  d as close,
32
- s as download,
31
+ p as download,
33
32
  c as enablePanning,
34
33
  n as enableSelection,
35
34
  h as fitToPage,
36
35
  w as fitToWidth,
37
36
  r as matchCase,
38
37
  b as messages,
39
- f as nextMatch,
38
+ l as nextMatch,
40
39
  a as open,
41
40
  m as popupBlocked,
42
- l as prevMatch,
43
- p as print,
41
+ f as prevMatch,
42
+ s as print,
44
43
  i as search,
45
44
  u as searchOf,
46
45
  e as zoomIn,
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-react-pdf-viewer",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1737926148,version:"9.4.0-develop.6",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"};exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-react-pdf-viewer",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1738077659,version:"9.4.0-develop.7",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"};exports.packageMetadata=e;
@@ -5,14 +5,13 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
8
  const e = {
10
9
  name: "@progress/kendo-react-pdf-viewer",
11
10
  productName: "KendoReact",
12
11
  productCode: "KENDOUIREACT",
13
12
  productCodes: ["KENDOUIREACT"],
14
- publishDate: 1737926148,
15
- version: "9.4.0-develop.6",
13
+ publishDate: 1738077659,
14
+ version: "9.4.0-develop.7",
16
15
  licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"
17
16
  };
18
17
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-pdf-viewer",
3
- "version": "9.4.0-develop.6",
3
+ "version": "9.4.0-develop.7",
4
4
  "description": "KendoReact PDFViewer package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -27,14 +27,14 @@
27
27
  "peerDependencies": {
28
28
  "@progress/kendo-file-saver": "^1.1.1",
29
29
  "@progress/kendo-licensing": "^1.3.4",
30
- "@progress/kendo-react-buttons": "9.4.0-develop.6",
31
- "@progress/kendo-react-common": "9.4.0-develop.6",
32
- "@progress/kendo-react-data-tools": "9.4.0-develop.6",
33
- "@progress/kendo-react-dropdowns": "9.4.0-develop.6",
34
- "@progress/kendo-react-indicators": "9.4.0-develop.6",
35
- "@progress/kendo-react-inputs": "9.4.0-develop.6",
36
- "@progress/kendo-react-intl": "9.4.0-develop.6",
37
- "@progress/kendo-react-upload": "9.4.0-develop.6",
30
+ "@progress/kendo-react-buttons": "9.4.0-develop.7",
31
+ "@progress/kendo-react-common": "9.4.0-develop.7",
32
+ "@progress/kendo-react-data-tools": "9.4.0-develop.7",
33
+ "@progress/kendo-react-dropdowns": "9.4.0-develop.7",
34
+ "@progress/kendo-react-indicators": "9.4.0-develop.7",
35
+ "@progress/kendo-react-inputs": "9.4.0-develop.7",
36
+ "@progress/kendo-react-intl": "9.4.0-develop.7",
37
+ "@progress/kendo-react-upload": "9.4.0-develop.7",
38
38
  "@progress/kendo-svg-icons": "^4.0.0",
39
39
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
40
40
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
@@ -61,7 +61,7 @@
61
61
  "package": {
62
62
  "productName": "KendoReact",
63
63
  "productCode": "KENDOUIREACT",
64
- "publishDate": 1737926148,
64
+ "publishDate": 1738077659,
65
65
  "licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"
66
66
  }
67
67
  },