@progress/kendo-vue-pdf-viewer 9.2.0-develop.2

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/README.md ADDED
@@ -0,0 +1,57 @@
1
+ <a href="https://www.telerik.com/kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer&utm_content=banner" target="_blank">
2
+ <img src="https://www.telerik.com/kendo-vue-ui/components/npm-banner.svg" alt="Kendo UI for Vue NPM Banner">
3
+ </a>
4
+
5
+ # Kendo UI for Vue PDF Viewer Package
6
+
7
+ > **Important**
8
+ > * This package is а part of [Kendo UI for Vue](https://www.telerik.com/kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)&mdash;a commercial UI library.
9
+ > * You will need to install a license key when adding the package to your project. For more information, please refer to the [Kendo UI for Vue My License page](https://www.telerik.com/kendo-vue-ui/components/my-license/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer).
10
+ > * To receive a license key, you need to either [purchase a license](https://www.telerik.com/kendo-vue-ui/pricing?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer) or register for a [free trial](https://www.telerik.com/try/kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer). Doing so indicates that you [accept the Kendo UI for Vue License Agreement](https://www.telerik.com/purchase/license-agreement/progress-kendovue?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer).
11
+ > * The 30-day free trial gives you access to all the Kendo UI for Vue components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Vue dev team!
12
+ >
13
+ > [Start using Kendo UI for Vue](https://www.telerik.com/try/kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer) and speed up your development process!
14
+
15
+ The [Vue PDF Viewer](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer), part of Kendo UI for Vue, enables you to display PDF files directly in the browser and provides options for their customization.
16
+
17
+ ## Vue PDF Viewer Component
18
+
19
+ > Starting with **version 6.0.0**, Kendo UI for Vue Native components no longer support Vue 2. Please check our [Vue 2 End of Support article](https://www.telerik.com/kendo-vue-ui/components/vue2-deprecation/) for more details.
20
+
21
+ Among the features which the Kendo UI for Vue PDF Viewer component delivers are:
22
+
23
+ * [Toolbar](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer/toolbar/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)&mdash;Provides a configurable set of built-in tools for navigating, zooming, searching, printing, and downloading the PDF document.
24
+ * [Events](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer/events/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)&mdash;Notifies you of important changes such as loading, zooming, downloading, page changes, or errors.
25
+ * [Configuration](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer/configuration/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)&mdash;Allows you to control the zoom levels, zoom rate, and range, as well as the visible toolbar tools.
26
+ * [Custom Rendering](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer/custom-rendering/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)&mdash;You can replace the default toolbar, content area, and loading indicator with your own templates.
27
+ * [Globalization](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer/globalization/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)&mdash;By using the available globalization options in Kendo UI for Vue, you can translate the PDF Viewer messages by adapting them to specific culture locales. Additionally, the PDF Viewer supports rendering in a right-to-left (RTL) direction.
28
+ * [Keyboard Navigation](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer/keyboard-navigation/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)&mdash;The PDF Viewer supports a number of keyboard shortcuts which allow users to accomplish various commands.
29
+ * [Accessibility](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer/accessibility/wai-aria-support/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)&mdash;The PDF Viewer is compliant with WAI-ARIA and Section 508.
30
+ * [Theme support](https://www.telerik.com/kendo-vue-ui/components/styling/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)&mdash;The Kendo UI for Vue PDF Viewer, as well as all 100+ components in the Kendo UI for Vue suite, are styled in four polished themes (Bootstrap, Material, Default and Fluent) and can be further customized to match your specific design guidelines.
31
+
32
+ ## Support Options
33
+
34
+ For any issues you might encounter while working with the Kendo UI for Vue PDF Viewer, use any of the available support channels:
35
+
36
+ * Industry-leading technical support&mdash;Kendo UI for Vue paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use [the dedicated Kendo UI for Vue support system](https://www.telerik.com/account/support-tickets?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer).
37
+ * Product forums&mdash;The [Kendo UI for Vue forums](https://www.telerik.com/forums/kendo-ui-vue?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer) are part of the free support you can get from the community and from the Kendo UI for Vue team.
38
+ * Feedback portal&mdash;The [Kendo UI for Vue feedback portal](https://feedback.telerik.com/kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer) is where you can request and vote for new features to be added.
39
+
40
+ ## Resources
41
+
42
+ * [Getting Started with Kendo UI for Vue](https://www.telerik.com/kendo-vue-ui/components/getting-started/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)
43
+ * [Get Started with the Kendo UI for Vue PDF Viewer](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)
44
+ * [API Reference of the Kendo UI for Vue PDF Viewer](https://www.telerik.com/kendo-vue-ui/components/pdf-viewer/api/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)
45
+ * [Kendo UI for Vue Roadmap](https://www.telerik.com/support/whats-new/kendo-vue-ui/roadmap?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)
46
+ * [Blogs](https://www.telerik.com/blogs/tag/vue?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)
47
+ * [Demos, documentation, and component reference](https://www.telerik.com/kendo-vue-ui/components/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)
48
+ * [Kendo UI for Vue pricing and licensing](https://www.telerik.com/kendo-vue-ui/pricing?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)
49
+ * [Changelog](https://www.telerik.com/kendo-vue-ui/components/changelogs/ui-for-vue/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-pdf-viewer)
50
+
51
+ High-level component overview pages
52
+
53
+ * [Vue PDF Viewer Component](https://www.telerik.com/kendo-vue-ui/pdf-viewer)
54
+
55
+ *Copyright © 2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
56
+
57
+ *Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.*
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ /**
9
+ * @license
10
+ *-------------------------------------------------------------------------------------------
11
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
12
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
13
+ *-------------------------------------------------------------------------------------------
14
+ */
15
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@progress/kendo-pdfviewer-common"),require("vue"),require("@progress/kendo-vue-buttons"),require("@progress/kendo-vue-inputs"),require("@progress/kendo-vue-data-tools"),require("@progress/kendo-vue-upload"),require("@progress/kendo-vue-dropdowns"),require("@progress/kendo-vue-indicators"),require("@progress/kendo-vue-common"),require("@progress/kendo-svg-icons"),require("pdfjs-dist/build/pdf.worker.min.mjs")):"function"==typeof define&&define.amd?define(["exports","@progress/kendo-pdfviewer-common","vue","@progress/kendo-vue-buttons","@progress/kendo-vue-inputs","@progress/kendo-vue-data-tools","@progress/kendo-vue-upload","@progress/kendo-vue-dropdowns","@progress/kendo-vue-indicators","@progress/kendo-vue-common","@progress/kendo-svg-icons","pdfjs-dist/build/pdf.worker.min.mjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoVuePdfViewer={},e.KendoPdfviewerCommon,e.Vue,e.KendoVueButtons,e.KendoVueInputs,e.KendoVueDatatools,e.KendoVueUpload,e.KendoVueDropdowns,e.KendoVueIndicators,e.KendoVueCommon,e.KendoSVGIcons)}(this,function(e,t,o,s,i,r,a,n,l,c,h){"use strict";const d={name:"@progress/kendo-vue-pdf-viewer",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:0,version:"9.2.0-develop.2",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"},u="pdfviewer.zoomIn",p="pdfviewer.zoomOut",m="pdfviewer.zoomLevel",g="pdfviewer.enableSelection",f="pdfviewer.enablePanning",v="pdfviewer.search",k="pdfviewer.open",b="pdfviewer.download",w="pdfviewer.print",_="pdfviewer.close",y="pdfviewer.matchCase",C="pdfviewer.prevMatch",x="pdfviewer.nextMatch",z="pdfviewer.actualWidth",V="pdfviewer.fitToWidth",N="pdfviewer.fitToPage",S="pdfviewer.popupBlocked",E="pdfviewer.searchOf",D="pdfviewer.canvasAriaLabel",T="pdfviewer.searchPanelAriaLabel",Z={[u]:"Zoom in",[p]:"Zoom out",[m]:"Choose zoom level",[g]:"Enable selection",[f]:"Enable panning",[v]:"Search",[k]:"Open",[b]:"Download",[E]:"of",[w]:"Print",[_]:"Close",[y]:"Match case",[C]:"Previous match",[x]:"Next match",[z]:"Actual width",[V]:"Fit to width",[N]:"Fit to page",[S]:"Popup is blocked.",[D]:"PDF document container. Press Tab to navigate.",[T]:"Search"};const M=["pager","spacer","zoomInOut","zoom","selection","spacer","search","open","download","print"],P={minZoom:.5,maxZoom:4,tools:[...M],zoomRate:.25,zoomLevels:[{id:1,priority:1,value:1,text:"Actual width",type:"ActualWidth",locationString:z},{id:2,priority:2,value:1,text:"Fit to width",type:"FitToWidth",locationString:V},{id:3,priority:3,value:1,text:"Fit to page",type:"FitToPage",locationString:N},{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:t.DEFAULT_ZOOM_LEVEL},I=[".k-toolbar > button",".k-toolbar .k-combobox > input",".k-toolbar .k-button-group > button",".k-toolbar .k-pager > a",".k-toolbar .k-pager input"],$=(e,t)=>e.priority>t.priority?-1:e.priority<t.priority?1:0,O=o.defineComponent({name:"KendoPDFViewer",emits:{error:e=>!0,load:e=>!0,download:e=>!0,zoom:e=>!0,pagechange:e=>!0},props:{url:String,data:String,arrayBuffer:Object,typedArray:Object,dir:{type:String,validator:function(e){return[null,"ltr","rtl"].includes(e)}},saveFileName:String,saveOptions:Object,tools:{type:Array,default:()=>[...M]},zoomLevels:{type:Array,default:()=>P.zoomLevels},zoom:Number,defaultZoom:{type:Number,default:P.defaultZoom},minZoom:{type:Number,default:P.minZoom},maxZoom:{type:Number,default:P.maxZoom},zoomRate:{type:Number,default:P.zoomRate},toolbar:[String,Function,Object],content:[String,Function,Object],loader:[String,Function,Object]},inject:{kendoLocalizationService:{default:null}},data(){return{stateZoom:this.$props.defaultZoom,hasDocument:!1,loading:!0,skip:0,enabledSelection:!0,showSearch:!1,matches:0,currentMatch:0,matchCase:!1,searchText:"",showLicenseWatermark:!1,currentRtl:!1}},created(){c.validatePackage(d),this.showLicenseWatermark=c.shouldShowValidationUI(d),this._licenseMessage=c.getLicenseMessage(d),this._pagesEl=null,this._pdfViewerEl=null,this._scroller=null,this._search=null,this._document=null,this._pages=[],this._zoom=null},computed:{currentZoom(){return void 0===this.$props.zoom?this.stateZoom:this.$props.zoom},currentZoomLevel(){const e=this.$props.zoomLevels.slice().sort($).find(e=>e.value===this.currentZoom)||{text:100*this.currentZoom+"%",value:this.currentZoom,id:this.currentZoom,locationString:""};return e.locationString?{...e,text:this.localize(e.locationString)}:e},currentDir(){return void 0!==this.$props.dir?this.$props.dir:this.currentRtl?"rtl":"ltr"}},watch:{url(){this.loadDocument()},data(){this.loadDocument()},arrayBuffer(){this.loadDocument()},currentZoom(e,t){this.setScaleFactor(e),this._pagesEl&&this._document&&e!==this._zoom&&this.reload(this._document,e,this.skip)}},mounted(){this.currentRtl=c.isRtl(this._pdfViewerEl),this.loadDocument()},updated(){this.currentRtl=c.isRtl(this._pdfViewerEl)},beforeUnmount(){this._scroller&&this._scroller.destroy(),this._search&&this._search.destroy(),this._document=null,this._pages=[]},methods:{localize(e){const t=this.kendoLocalizationService;return t?t.toLanguageString(e,Z[e]):Z[e]},getTarget(){return{element:this._pdfViewerEl,props:this.$props,document:this._document,pages:this._pages}},setScaleFactor(e){this._pagesEl&&this._pagesEl.style.setProperty("--scale-factor",String(e))},loadDocument(){if(this._pagesEl)if(this.$props.url||this.$props.data||this.$props.arrayBuffer){this.loading=!0,t.removeChildren(this._pagesEl);const e=this._pagesEl;setTimeout(()=>{t.loadPDF({url:this.$props.url,data:this.$props.data,arrayBuffer:this.$props.arrayBuffer,dom:e,zoom:this.currentZoom,done:this.onDone,error:this.onError}),this.setScaleFactor(this.currentZoom)})}else this._document=null,this._pages=[],this.hasDocument=!1,this.loading=!1,t.removeChildren(this._pagesEl)},onDone({pdfPages:e,pdfDoc:o,zoom:s}){this._document=o,this._pages=e,this._zoom=s,this.initScroller(),this.loading=!1,this.hasDocument=!0,this.triggerOnLoad(),this._pagesEl&&t.scrollToPage(this._pagesEl,0)},onError(e){this._document=null,this._pages=[],this.loading=!1,this.hasDocument=!1;const t="string"==typeof e?{message:e}:e,o={error:null!=t?t:this.localize(S),target:this.getTarget()};this.$emit("error",o)},triggerOnLoad(){const e={target:this.getTarget()};this.$emit("load",e)},triggerOnDownload(e,t,o){const s={target:this.getTarget(),blob:e,fileName:t,saveOptions:o};return this.$emit("download",s),!1},initScroller(){var e;this._scroller&&this._scroller.destroy(),this._scroller=new t.Scroller(null==(e=this._pagesEl)?void 0:e.parentNode,{filter:".k-page",events:{}}),this._scroller.disablePanEventsTracking()},initSearch(e){const o=Array.from(e.querySelectorAll(".k-text-layer"));this._search=new t.SearchService({textContainers:o||[],highlightClass:"k-search-highlight",highlightMarkClass:"k-search-highlight-mark",charClass:"k-text-char"})},reload(e,o,s){this._pagesEl&&this._pdfViewerEl&&(this.loading=!0,t.removeChildren(this._pagesEl),t.reloadDocument({pdfDoc:e,zoom:o,dom:this._pagesEl,done:e=>{this._pages=e,this._zoom=o,this.loading=!1,this._pagesEl&&s>0&&t.scrollToPage(this._pagesEl,s)},error:this.onError}))},onSearchClick(){this.showSearch=!0,this.initSearch(this._pagesEl)},onSearchTextChange(e){const t=e.value,o=this._search.search({text:t,matchCase:this.matchCase});this.currentMatch=o.length?1:0,this.matches=o.length,this.searchText=t},onMatchCaseClick(){const e=this._search.search({text:this.searchText,matchCase:!this.matchCase});this.currentMatch=e.length?1:0,this.matches=e.length,this.matchCase=!this.matchCase},onNextMatch(){t.goToNextSearchMatch({search:this._search,scroller:this._scroller}),this.currentMatch=this.currentMatch+1>this.matches?1:this.currentMatch+1},onPrevMatch(){t.goToPreviousSearchMatch({search:this._search,scroller:this._scroller}),this.currentMatch=this.currentMatch-1<1?this.matches:this.currentMatch-1},onClose(){this._search.destroy(),this.currentMatch=0,this.matches=0,this.matchCase=!1,this.searchText="",this.showSearch=!1},onTextBoxKeyDown(e){"Enter"===e.key?(e.preventDefault(),t.goToNextSearchMatch({search:this._search,scroller:this._scroller}),this.currentMatch=this.currentMatch+1>this.matches?1:this.currentMatch+1):"Escape"===e.key&&this.onClose()},onPageChange(e){if(this._pagesEl){const o=e.skip;t.scrollToPage(this._pagesEl,o);const s={page:o+1,target:this.getTarget()};this.$emit("pagechange",s)}this.skip=e.skip},onScroll(e){if(this._pdfViewerEl){const e=t.currentPage(this._pdfViewerEl);if(e!==this.skip){this.skip=e;const t={page:e+1,target:this.getTarget()};this.$emit("pagechange",t)}}},onZoomIn(e){const t=Math.min(this.currentZoom+this.$props.zoomRate,this.$props.maxZoom);if(t!==this.currentZoom&&this._document){this.stateZoom=t;const e={zoom:t,target:this.getTarget()};this.$emit("zoom",e)}},onZoomOut(e){const t=Math.max(this.currentZoom-this.$props.zoomRate,this.$props.minZoom);if(t!==this.currentZoom&&this._document){this.stateZoom=t;const e={zoom:t,target:this.getTarget()};this.$emit("zoom",e)}},onZoomLevelChange(e){const o=null===e.value?{text:"100%",value:1}:{...e.value};if(void 0===o.value){const e=Number.parseFloat(o.text);"number"!=typeof e||Number.isNaN(e)?o.value=1:o.value=e/100}let s=o?t.calculateZoomLevel(o.value,o.type,this.currentZoom,this._pagesEl):1;if(s=Math.round(100*s)/100,this.currentZoom!==s&&this._document){this.stateZoom=s;const e={zoom:s,target:this.getTarget()};this.$emit("zoom",e)}},onTextSelection(){this._scroller.disablePanEventsTracking(),this.enabledSelection=!0},onPinning(){this._scroller.enablePanEventsTracking(),this.enabledSelection=!1},onDownloadClick(){t.download({pdf:this._document,error:this.onError},this.$props.saveFileName,this.$props.saveOptions,this.triggerOnDownload)},onPrintClick(){this.loading=!0;t.print(this._pages,()=>{this.loading=!1},e=>{this.loading=!1,this.onError(e)})},onAdd(e){var o;const s=e.newState;null!=(o=s[0])&&o.getRawFile&&s[0].getRawFile().arrayBuffer().then(e=>{if(this._pagesEl){this.loading=!0,t.removeChildren(this._pagesEl);const o=void 0===this.$props.zoom?this.$props.defaultZoom:this.$props.zoom;t.loadPDF({arrayBuffer:e,dom:this._pagesEl,zoom:o,done:this.onDone,error:this.onError}),this.stateZoom=o}})},onFileOpen(e){const t=e.target;if(t instanceof Element&&t.parentNode){const e=t.closest(".k-toolbar"),o=null==e?void 0:e.querySelector(".k-upload input");o&&o.click()}},renderLoader(){return this.loading?o.createVNode("div",{class:"k-loader-container k-loader-container-md k-loader-top"},[o.createVNode("div",{class:"k-overlay"},null),o.createVNode("div",{class:"k-loader-container-inner "},[o.createVNode(l.Loader,{size:"large"},null)])]):null},renderToolbar(){const e=o.createVNode(r.Pager,{previousNext:!0,type:"input",skip:this.skip,take:1,total:this._pages?this._pages.length:0,info:!1,onPagechange:this.onPageChange},null),t=o.createVNode(s.ToolbarSpacer,null,null),i=o.createVNode(s.ButtonGroup,{class:"k-toolbar-button-group k-button-group-solid"},{default:()=>[o.createVNode(s.Button,{class:"k-group-start",fillMode:"flat",themeColor:"base",title:this.localize(p),disabled:this.currentZoom<=this.$props.minZoom||!this.hasDocument,onClick:this.onZoomOut,icon:"zoom-out",svgIcon:h.zoomOutIcon},null),o.createVNode(s.Button,{class:"k-group-end",fillMode:"flat",themeColor:"base",title:this.localize(u),disabled:this.currentZoom>=this.$props.maxZoom||!this.hasDocument,onClick:this.onZoomIn,icon:"zoom-in",svgIcon:h.zoomInIcon},null)]}),l=o.createVNode(n.ComboBox,{class:"k-toolbar-combobox",disabled:!this.hasDocument,dataItems:this.$props.zoomLevels.map(e=>({...e,text:e.locationString?this.localize(e.locationString):e.text})),dataItemKey:"id",textField:"text",value:this.hasDocument?this.currentZoomLevel:null,allowCustom:!0,onChange:this.onZoomLevelChange,placeholder:this.localize(m)},null),c={pager:e,spacer:t,zoomInOut:i,zoom:l,selection:o.createVNode(s.ButtonGroup,{class:"k-toolbar-button-group k-button-group-solid"},{default:()=>[o.createVNode(s.Button,{class:"k-group-start",fillMode:"flat",themeColor:"base",title:this.localize(g),icon:"pointer",svgIcon:h.pointerIcon,disabled:!this.hasDocument,togglable:!0,selected:this.enabledSelection&&this.hasDocument,onClick:this.onTextSelection},null),o.createVNode(s.Button,{class:"k-group-end",fillMode:"flat",themeColor:"base",title:this.localize(f),icon:"hand",svgIcon:h.handIcon,disabled:!this.hasDocument,togglable:!0,selected:!this.enabledSelection&&this.hasDocument,onClick:this.onPinning},null)]}),search:o.createVNode(s.Button,{class:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:this.localize(v),icon:"search",svgIcon:h.searchIcon,disabled:!this.hasDocument,onClick:this.onSearchClick,"aria-haspopup":"dialog"},null),open:o.createVNode("span",null,[o.createVNode(s.Button,{class:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:this.localize(k),icon:"folder-open",svgIcon:h.folderOpenIcon,onClick:this.onFileOpen},null),o.createVNode("div",{style:{display:"none"}},[o.createVNode(a.Upload,{restrictions:{allowedExtensions:[".pdf"]},onAdd:this.onAdd,autoUpload:!1,defaultFiles:[],multiple:!1,accept:".pdf,.PDF",withCredentials:!1},null)])]),download:o.createVNode(s.Button,{class:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:this.localize(b),icon:"download",svgIcon:h.downloadIcon,disabled:!this.hasDocument,onClick:this.onDownloadClick},null),print:o.createVNode(s.Button,{class:"k-toolbar-button",fillMode:"flat",themeColor:"base",title:this.localize(w),icon:"print",svgIcon:h.printIcon,disabled:!this.hasDocument,onClick:this.onPrintClick},null)},d=(this.$props.tools||P.tools).map(e=>c[e]);return o.createVNode(s.Toolbar,{buttons:I,overflow:"none",class:"k-pdf-viewer-toolbar",dir:this.currentDir},function(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!o.isVNode(e)}(d)?d:{default:()=>[d]})},renderContent(){return o.createVNode("div",{class:c.classNames("k-canvas k-pdf-viewer-canvas k-pos-relative k-overflow-auto",{"k-enable-text-select":this.enabledSelection,"k-enable-panning":!this.enabledSelection}),tabindex:0,role:"document","aria-label":this.localize(D),onScroll:this.onScroll},[this.showSearch?o.createVNode("div",{class:"k-search-panel k-pos-sticky k-top-center",role:"dialog","aria-label":this.localize(T)},[o.createVNode(i.TextBox,{value:this.searchText,onInput:this.onSearchTextChange,placeholder:this.localize(v),onKeydown:this.onTextBoxKeyDown,suffix:()=>o.createVNode(o.Fragment,null,[o.createVNode(i.InputSeparator,null,null),o.createVNode("span",{class:"k-input-suffix"},[o.createVNode(s.Button,{icon:"convert-lowercase",svgIcon:h.convertLowercaseIcon,title:this.localize(y),fillMode:"flat",togglable:!0,selected:this.matchCase,onClick:this.onMatchCaseClick},null)])])},null),o.createVNode("span",{class:"k-search-matches"},[o.createVNode("span",null,[this.currentMatch]),o.createTextVNode(" "),this.localize(E),o.createVNode("span",null,[this.matches])]),o.createVNode(s.Button,{title:this.localize(C),fillMode:"flat",icon:"arrow-up",svgIcon:h.arrowUpIcon,disabled:0===this.matches,onClick:this.onPrevMatch},null),o.createVNode(s.Button,{title:this.localize(x),fillMode:"flat",icon:"arrow-down",svgIcon:h.arrowDownIcon,disabled:0===this.matches,onClick:this.onNextMatch},null),o.createVNode(s.Button,{title:this.localize(_),fillMode:"flat",icon:"x",svgIcon:h.xIcon,onClick:this.onClose},null)]):null,o.createVNode("div",{ref:e=>{this._pagesEl=e},class:"k-pdf-viewer-pages"},null)])}},render(){const e=this.renderLoader(),t=this.renderToolbar(),s=this.renderContent(),i=c.templateRendering.call(this,this.$props.toolbar,c.getListeners.call(this)),r=c.templateRendering.call(this,this.$props.content,c.getListeners.call(this)),a=c.templateRendering.call(this,this.$props.loader,c.getListeners.call(this)),n=c.getTemplate.call(this,{h:o.h,template:i,defaultRendering:t,additionalProps:{defaultRendering:t}}),l=c.getTemplate.call(this,{h:o.h,template:r,defaultRendering:s,additionalProps:{defaultRendering:s}}),h=c.getTemplate.call(this,{h:o.h,template:a,defaultRendering:e,additionalProps:{defaultRendering:e}});return o.createVNode("div",{class:"k-pdf-viewer",dir:this.$props.dir,ref:e=>{this._pdfViewerEl=e}},[h,n,l,this.showLicenseWatermark?o.createVNode(c.WatermarkOverlay,{message:this._licenseMessage},null):null])}}),L=t.scrollToPage;Object.defineProperty(e,"currentPage",{enumerable:!0,get:function(){return t.currentPage}}),e.PDFViewer=O,e.scrollToPage=L});
package/index.d.mts ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ export { PDFViewer, type PDFViewerProps, type PDFViewerTool, type PDFViewerEvent, type LoadEvent, type ErrorEvent, type DownloadEvent, type ZoomEvent, type PageEvent } from './PDFViewer.js';
9
+ export { currentPage } from '@progress/kendo-pdfviewer-common';
10
+ /**
11
+ * Scrolls the PDF Viewer document to the passed page number.
12
+ *
13
+ * @param rootElement The root HTML element of the PDF Viewer component.
14
+ * @param pageNumber The page number.
15
+ */
16
+ export declare const scrollToPage: (rootElement: HTMLElement, pageNumber: number) => void;
package/index.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ export { PDFViewer, type PDFViewerProps, type PDFViewerTool, type PDFViewerEvent, type LoadEvent, type ErrorEvent, type DownloadEvent, type ZoomEvent, type PageEvent } from './PDFViewer';
9
+ export { currentPage } from '@progress/kendo-pdfviewer-common';
10
+ /**
11
+ * Scrolls the PDF Viewer document to the passed page number.
12
+ *
13
+ * @param rootElement The root HTML element of the PDF Viewer component.
14
+ * @param pageNumber The page number.
15
+ */
16
+ export declare const scrollToPage: (rootElement: HTMLElement, pageNumber: number) => void;
package/index.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "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 ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { scrollToPage as o } from "@progress/kendo-pdfviewer-common";
9
+ import { currentPage as a } from "@progress/kendo-pdfviewer-common";
10
+ import { PDFViewer as s } from "./PDFViewer.mjs";
11
+ const e = o;
12
+ export {
13
+ s as PDFViewer,
14
+ a as currentPage,
15
+ e as scrollToPage
16
+ };
package/messages.d.ts ADDED
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ /**
9
+ * @hidden
10
+ */
11
+ export declare const zoomIn = "pdfviewer.zoomIn";
12
+ /**
13
+ * @hidden
14
+ */
15
+ export declare const zoomOut = "pdfviewer.zoomOut";
16
+ /**
17
+ * @hidden
18
+ */
19
+ export declare const zoomLevel = "pdfviewer.zoomLevel";
20
+ /**
21
+ * @hidden
22
+ */
23
+ export declare const enableSelection = "pdfviewer.enableSelection";
24
+ /**
25
+ * @hidden
26
+ */
27
+ export declare const enablePanning = "pdfviewer.enablePanning";
28
+ /**
29
+ * @hidden
30
+ */
31
+ export declare const search = "pdfviewer.search";
32
+ /**
33
+ * @hidden
34
+ */
35
+ export declare const open = "pdfviewer.open";
36
+ /**
37
+ * @hidden
38
+ */
39
+ export declare const download = "pdfviewer.download";
40
+ /**
41
+ * @hidden
42
+ */
43
+ export declare const print = "pdfviewer.print";
44
+ /**
45
+ * @hidden
46
+ */
47
+ export declare const close = "pdfviewer.close";
48
+ /**
49
+ * @hidden
50
+ */
51
+ export declare const matchCase = "pdfviewer.matchCase";
52
+ /**
53
+ * @hidden
54
+ */
55
+ export declare const prevMatch = "pdfviewer.prevMatch";
56
+ /**
57
+ * @hidden
58
+ */
59
+ export declare const nextMatch = "pdfviewer.nextMatch";
60
+ /**
61
+ * @hidden
62
+ */
63
+ export declare const actualWidth = "pdfviewer.actualWidth";
64
+ /**
65
+ * @hidden
66
+ */
67
+ export declare const fitToWidth = "pdfviewer.fitToWidth";
68
+ /**
69
+ * @hidden
70
+ */
71
+ export declare const fitToPage = "pdfviewer.fitToPage";
72
+ /**
73
+ * @hidden
74
+ */
75
+ export declare const popupBlocked = "pdfviewer.popupBlocked";
76
+ /**
77
+ * @hidden
78
+ */
79
+ export declare const searchOf = "pdfviewer.searchOf";
80
+ /**
81
+ * @hidden
82
+ */
83
+ export declare const canvasAriaLabel = "pdfviewer.canvasAriaLabel";
84
+ /**
85
+ * @hidden
86
+ */
87
+ export declare const searchPanelAriaLabel = "pdfviewer.searchPanelAriaLabel";
88
+ /**
89
+ * @hidden
90
+ */
91
+ export declare const messages: Record<string, string>;
package/messages.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="pdfviewer.zoomIn",o="pdfviewer.zoomOut",a="pdfviewer.zoomLevel",t="pdfviewer.enableSelection",n="pdfviewer.enablePanning",c="pdfviewer.search",i="pdfviewer.open",s="pdfviewer.download",r="pdfviewer.print",l="pdfviewer.close",p="pdfviewer.matchCase",d="pdfviewer.prevMatch",v="pdfviewer.nextMatch",h="pdfviewer.actualWidth",f="pdfviewer.fitToWidth",w="pdfviewer.fitToPage",m="pdfviewer.popupBlocked",b="pdfviewer.searchOf",u="pdfviewer.canvasAriaLabel",P="pdfviewer.searchPanelAriaLabel",g={[e]:"Zoom in",[o]:"Zoom out",[a]:"Choose zoom level",[t]:"Enable selection",[n]:"Enable panning",[c]:"Search",[i]:"Open",[s]:"Download",[b]:"of",[r]:"Print",[l]:"Close",[p]:"Match case",[d]:"Previous match",[v]:"Next match",[h]:"Actual width",[f]:"Fit to width",[w]:"Fit to page",[m]:"Popup is blocked.",[u]:"PDF document container. Press Tab to navigate.",[P]:"Search"};exports.actualWidth=h;exports.canvasAriaLabel=u;exports.close=l;exports.download=s;exports.enablePanning=n;exports.enableSelection=t;exports.fitToPage=w;exports.fitToWidth=f;exports.matchCase=p;exports.messages=g;exports.nextMatch=v;exports.open=i;exports.popupBlocked=m;exports.prevMatch=d;exports.print=r;exports.search=c;exports.searchOf=b;exports.searchPanelAriaLabel=P;exports.zoomIn=e;exports.zoomLevel=a;exports.zoomOut=o;
package/messages.mjs ADDED
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ const e = "pdfviewer.zoomIn", o = "pdfviewer.zoomOut", t = "pdfviewer.zoomLevel", n = "pdfviewer.enableSelection", a = "pdfviewer.enablePanning", c = "pdfviewer.search", i = "pdfviewer.open", s = "pdfviewer.download", r = "pdfviewer.print", p = "pdfviewer.close", d = "pdfviewer.matchCase", l = "pdfviewer.prevMatch", v = "pdfviewer.nextMatch", f = "pdfviewer.actualWidth", w = "pdfviewer.fitToWidth", h = "pdfviewer.fitToPage", m = "pdfviewer.popupBlocked", b = "pdfviewer.searchOf", u = "pdfviewer.canvasAriaLabel", P = "pdfviewer.searchPanelAriaLabel", g = {
9
+ [e]: "Zoom in",
10
+ [o]: "Zoom out",
11
+ [t]: "Choose zoom level",
12
+ [n]: "Enable selection",
13
+ [a]: "Enable panning",
14
+ [c]: "Search",
15
+ [i]: "Open",
16
+ [s]: "Download",
17
+ [b]: "of",
18
+ [r]: "Print",
19
+ [p]: "Close",
20
+ [d]: "Match case",
21
+ [l]: "Previous match",
22
+ [v]: "Next match",
23
+ [f]: "Actual width",
24
+ [w]: "Fit to width",
25
+ [h]: "Fit to page",
26
+ [m]: "Popup is blocked.",
27
+ [u]: "PDF document container. Press Tab to navigate.",
28
+ [P]: "Search"
29
+ };
30
+ export {
31
+ f as actualWidth,
32
+ u as canvasAriaLabel,
33
+ p as close,
34
+ s as download,
35
+ a as enablePanning,
36
+ n as enableSelection,
37
+ h as fitToPage,
38
+ w as fitToWidth,
39
+ d as matchCase,
40
+ g as messages,
41
+ v as nextMatch,
42
+ i as open,
43
+ m as popupBlocked,
44
+ l as prevMatch,
45
+ r as print,
46
+ c as search,
47
+ b as searchOf,
48
+ P as searchPanelAriaLabel,
49
+ e as zoomIn,
50
+ t as zoomLevel,
51
+ o as zoomOut
52
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { PackageMetadata } from '@progress/kendo-licensing';
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const packageMetadata: PackageMetadata;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-pdf-viewer",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1785513886,version:"9.2.0-develop.2",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/"};exports.packageMetadata=e;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ const e = {
9
+ name: "@progress/kendo-vue-pdf-viewer",
10
+ productName: "Kendo UI for Vue",
11
+ productCode: "KENDOUIVUE",
12
+ productCodes: ["KENDOUIVUE"],
13
+ publishDate: 1785513886,
14
+ version: "9.2.0-develop.2",
15
+ licensingDocsUrl: "https://www.telerik.com/kendo-vue-ui/my-license/"
16
+ };
17
+ export {
18
+ e as packageMetadata
19
+ };
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@progress/kendo-vue-pdf-viewer",
3
+ "version": "9.2.0-develop.2",
4
+ "description": "Kendo UI for Vue PDF Viewer",
5
+ "author": "Progress",
6
+ "license": "SEE LICENSE IN LICENSE.md",
7
+ "homepage": "https://www.telerik.com/kendo-vue-ui",
8
+ "main": "./index.js",
9
+ "types": "./index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "import": {
13
+ "types": "./index.d.mts",
14
+ "default": "./index.mjs"
15
+ },
16
+ "require": {
17
+ "types": "./index.d.ts",
18
+ "default": "./index.js"
19
+ }
20
+ },
21
+ "./package.json": {
22
+ "default": "./package.json"
23
+ }
24
+ },
25
+ "sideEffects": false,
26
+ "peerDependencies": {
27
+ "@progress/kendo-file-saver": "^1.1.2",
28
+ "@progress/kendo-licensing": "^1.7.2",
29
+ "@progress/kendo-vue-buttons": "9.2.0-develop.2",
30
+ "@progress/kendo-vue-common": "9.2.0-develop.2",
31
+ "@progress/kendo-vue-data-tools": "9.2.0-develop.2",
32
+ "@progress/kendo-vue-dropdowns": "9.2.0-develop.2",
33
+ "@progress/kendo-vue-indicators": "9.2.0-develop.2",
34
+ "@progress/kendo-vue-inputs": "9.2.0-develop.2",
35
+ "@progress/kendo-vue-intl": "9.2.0-develop.2",
36
+ "@progress/kendo-vue-upload": "9.2.0-develop.2",
37
+ "@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
38
+ "vue": "^3.0.2"
39
+ },
40
+ "dependencies": {
41
+ "@progress/kendo-pdfviewer-common": "1.0.0"
42
+ },
43
+ "keywords": [
44
+ "Kendo UI",
45
+ "Vue",
46
+ "Progress",
47
+ "PDF Viewer",
48
+ "PDFViewer",
49
+ "UI",
50
+ "components",
51
+ "Vue component",
52
+ "Telerik"
53
+ ],
54
+ "@progress": {
55
+ "friendlyName": "PDF Viewer",
56
+ "framework": "Kendo UI for Vue",
57
+ "package": {
58
+ "productName": "Kendo UI for Vue",
59
+ "productCode": "KENDOUIVUE",
60
+ "publishDate": 1785513886,
61
+ "licensingDocsUrl": "https://www.telerik.com/kendo-vue-ui/my-license/"
62
+ }
63
+ },
64
+ "publishConfig": {
65
+ "access": "public"
66
+ },
67
+ "repository": {
68
+ "type": "git",
69
+ "url": "git+https://github.com/telerik/kendo-vue.git"
70
+ },
71
+ "peerDependenciesMeta": {
72
+ "@progress/kendo-svg-icons": {
73
+ "optional": true
74
+ }
75
+ }
76
+ }