@progress/kendo-angular-pager 4.1.0-dev.202211230837 → 4.1.0-dev.202211250852

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.
@@ -2,4 +2,4 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-angular-l10n"),require("rxjs"),require("@progress/kendo-angular-dropdowns"),require("@angular/common"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-angular-common"),require("@progress/kendo-licensing")):"function"==typeof define&&define.amd?define("KendoAngularPager",["exports","@angular/core","@progress/kendo-angular-l10n","rxjs","@progress/kendo-angular-dropdowns","@angular/common","@progress/kendo-angular-inputs","@progress/kendo-angular-common","@progress/kendo-licensing"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularPager={},e.ng.core,e.KendoAngularL10N,e.rxjs,e.KendoAngularDropdowns,e.ng.common,e.KendoAngularInputs,e.KendoAngularCommon,e.KendoLicensing)}(this,function(e,s,t,p,A,M,n,h,R){"use strict";function a(n){var a;return n&&n.__esModule?n:(a=Object.create(null),n&&Object.keys(n).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(n,e),Object.defineProperty(a,e,t.get?t:{enumerable:!0,get:function(){return n[e]}}))}),a.default=n,Object.freeze(a))}var r=a(s),o=a(t),i=a(A),g=a(M),j=a(n),l=a(h),B=function(e,t){return(B=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}))(e,t)};function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}B(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function b(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var a,r,o=n.call(e),i=[];try{for(;(void 0===t||0<t--)&&!(a=o.next()).done;)i.push(a.value)}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return i}function _(e,t,n){if(n||2===arguments.length)for(var a,r=0,o=t.length;r<o;r++)!a&&r in t||((a=a||Array.prototype.slice.call(t,0,r))[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}Object.create;function K(){this.prevented=!1}K.prototype.preventDefault=function(){this.prevented=!0},K.prototype.isDefaultPrevented=function(){return this.prevented};c(G,H=K);var H,q=G;function G(e){var t=H.call(this)||this;return t.newPageSize=e,t}c(U,Z=t.ComponentMessages);var Z,u=U;function U(){return null!==Z&&Z.apply(this,arguments)||this}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,deps:null,target:r.ɵɵFactoryTarget.Directive}),u.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:u,selector:"kendoPagerMessages",inputs:{firstPage:"firstPage",lastPage:"lastPage",previousPage:"previousPage",nextPage:"nextPage",page:"page",pageNumberInputTitle:"pageNumberInputTitle",itemsPerPage:"itemsPerPage",of:"of",items:"items",selectPage:"selectPage",inputLabel:"inputLabel"},usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,decorators:[{type:s.Directive,args:[{selector:"kendoPagerMessages"}]}],propDecorators:{firstPage:[{type:s.Input}],lastPage:[{type:s.Input}],previousPage:[{type:s.Input}],nextPage:[{type:s.Input}],page:[{type:s.Input}],pageNumberInputTitle:[{type:s.Input}],itemsPerPage:[{type:s.Input}],of:[{type:s.Input}],items:[{type:s.Input}],selectPage:[{type:s.Input}],inputLabel:[{type:s.Input}]}});c($,W=u),Object.defineProperty($.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var W,d=$;function $(e){var t=W.call(this)||this;return t.service=e,t}d.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:d,deps:[{token:o.LocalizationService}],target:r.ɵɵFactoryTarget.Component}),d.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:d,selector:"kendo-datapager-messages",providers:[{provide:u,useExisting:s.forwardRef(function(){return d})}],usesInheritance:!0,ngImport:r,template:"",isInline:!0}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:d,decorators:[{type:s.Component,args:[{providers:[{provide:u,useExisting:s.forwardRef(function(){return d})}],selector:"kendo-datapager-messages",template:""}]}],ctorParameters:function(){return[{type:o.LocalizationService}]}});c(X,Q=u);var Q,m=X;function X(e){var t=Q.call(this)||this;return t.service=e,t}m.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:m,deps:[{token:o.LocalizationService}],target:r.ɵɵFactoryTarget.Directive}),m.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:m,selector:"[kendoDataPagerLocalizedMessages]",providers:[{provide:u,useExisting:s.forwardRef(function(){return m})}],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:m,decorators:[{type:s.Directive,args:[{providers:[{provide:u,useExisting:s.forwardRef(function(){return m})}],selector:"[kendoDataPagerLocalizedMessages]"}]}],ctorParameters:function(){return[{type:o.LocalizationService}]}});Object.defineProperty(k.prototype,"currentPage",{get:function(){return this.skip/this.pageSize},enumerable:!1,configurable:!0}),k.prototype.notifyChanges=function(e){this.total=e.total,this.pageSize=e.pageSize,this.skip=e.skip,this.changes.next(e)},k.prototype.changePage=function(e){this.pageChange.next({skip:e*this.pageSize,take:this.pageSize})},k.prototype.changePageSize=function(e){this.pageSizeChange.next(e)},k.prototype.nextPage=function(){var e=this.currentPage+1;e*this.pageSize<=this.total&&this.changePage(e)},k.prototype.prevPage=function(){var e=this.currentPage-1;0<=e*this.pageSize&&this.changePage(e)};var f=k;function k(){this.changes=new p.Subject,this.pageChange=new p.Subject,this.pageSizeChange=new p.Subject}Object.defineProperty(y.prototype,"currentPage",{get:function(){return Math.floor((this.skip||0)/this.pageSize)+1},enumerable:!1,configurable:!0}),Object.defineProperty(y.prototype,"totalPages",{get:function(){return Math.ceil((this.total||0)/this.pageSize)},enumerable:!1,configurable:!0}),y.prototype.textFor=function(e){return this.localization.get(e)},y.prototype.changePage=function(e){return this.pagerContext.changePage(e),!1},y.prototype.ngOnInit=function(){var e=this;this.subscriptions=this.pagerContext.changes.subscribe(this.onChanges.bind(this)),this.subscriptions.add(this.localization.changes.subscribe(function(){return e.cd.markForCheck()}))},y.prototype.ngOnDestroy=function(){this.subscriptions&&this.subscriptions.unsubscribe()};u=y;function y(e,t,n){this.localization=e,this.pagerContext=t,this.cd=n,this.total=this.pagerContext.total,this.skip=this.pagerContext.skip,this.pageSize=this.pagerContext.pageSize}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,deps:[{token:o.LocalizationService},{token:f},{token:r.ChangeDetectorRef}],target:r.ɵɵFactoryTarget.Component}),u.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:u,selector:"kendo-pager-element",ngImport:r,template:"",isInline:!0}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,decorators:[{type:s.Component,args:[{selector:"kendo-pager-element",template:""}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:f},{type:r.ChangeDetectorRef}]}});var J=[5,10,20],Y=["a[href]:not([disabled])","area[href]:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","button","iframe:not([disabled])","object:not([disabled])","embed:not([disabled])","*[tabindex]:not([disabled])",'*[contenteditable]:not([disabled]):not([contenteditable="false"])'].join(","),P=(ee.prototype.toggleInnerNavigation=function(e){this.innerNavigationChange.next(e)},ee.prototype.keepFocusWithinComponent=function(e,t,n){var e=b(this.getFirstAndLastFocusable(e),2),a=e[0],e=e[1],r=!n.shiftKey&&t===e,t=n.shiftKey&&t===a;r&&(n.preventDefault(),a.focus()),t&&(n.preventDefault(),e.focus())},ee.prototype.getFirstAndLastFocusable=function(e){e=e.querySelectorAll("[kendoPagerFocusable]");return[0<e.length?e[0]:parent,0<e.length?e[e.length-1]:parent]},ee);function ee(){this.isNavigable=!1,this.innerNavigationChange=new p.Subject}C.prototype.ngOnInit=function(){this.subscriptions.add(this.navigationService.innerNavigationChange.subscribe(this.innerNavigationChange.bind(this)))},C.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},Object.defineProperty(C.prototype,"nativeElement",{get:function(){return this.element.nativeElement},enumerable:!1,configurable:!0}),C.prototype.innerNavigationChange=function(e){var t,n=this;this.navigationService.isNavigable&&(t=e?"0":"-1",this.nativeElement.matches(Y)&&this.renderer.setAttribute(this.nativeElement,"tabindex",t),this.nativeElement.querySelectorAll(Y).forEach(function(e){n.renderer.setAttribute(e,"tabindex",t)}))};var v=C;function C(e,t,n){this.navigationService=e,this.element=t,this.renderer=n,this.subscriptions=new p.Subscription}v.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:v,deps:[{token:P},{token:r.ElementRef},{token:r.Renderer2}],target:r.ɵɵFactoryTarget.Directive}),v.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"],ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:v,decorators:[{type:s.Directive,args:[{selector:"[kendoPagerFocusable]",exportAs:"kendoPagerFocusable"}]}],ctorParameters:function(){return[{type:P},{type:r.ElementRef},{type:r.Renderer2}]}});c(ne,te=u),Object.defineProperty(ne.prototype,"disabled",{get:function(){return 1===this.currentPage||!this.total},enumerable:!1,configurable:!0}),ne.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()};var te,x=ne;function ne(e,t,n){return te.call(this,e,t,n)||this}x.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:x,deps:[{token:o.LocalizationService},{token:f},{token:r.ChangeDetectorRef}],target:r.ɵɵFactoryTarget.Component}),x.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:x,selector:"kendo-datapager-prev-buttons",usesInheritance:!0,ngImport:r,template:'\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav k-pager-first"\n [class.k-disabled]="disabled"\n [title]="textFor(\'firstPage\')"\n [attr.aria-label]="textFor(\'firstPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== 1 ? changePage(0) : false">\n <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor(\'firstPage\')"></span>\n </button>\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav"\n [class.k-disabled]="disabled"\n [title]="textFor(\'previousPage\')"\n [attr.aria-label]="textFor(\'previousPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== 1 ? changePage(currentPage-2) : false">\n <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor(\'previousPage\')"></span>\n </button>\n ',isInline:!0,directives:[{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]}],changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:x,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-prev-buttons",template:'\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav k-pager-first"\n [class.k-disabled]="disabled"\n [title]="textFor(\'firstPage\')"\n [attr.aria-label]="textFor(\'firstPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== 1 ? changePage(0) : false">\n <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor(\'firstPage\')"></span>\n </button>\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav"\n [class.k-disabled]="disabled"\n [title]="textFor(\'previousPage\')"\n [attr.aria-label]="textFor(\'previousPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== 1 ? changePage(currentPage-2) : false">\n <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor(\'previousPage\')"></span>\n </button>\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:f},{type:r.ChangeDetectorRef}]}});c(I,ae=u),Object.defineProperty(I.prototype,"pageSizes",{get:function(){return this._pageSizes},set:function(e){var t=this,n=[];Array.isArray(e)&&e.forEach(function(e){"number"==typeof e?n.push({text:e.toString(),value:e}):n.push(e)}),this.pageSize&&!n.some(function(e){return e.value===t.pageSize})&&(n=_([{text:this.pageSize.toString(),value:this.pageSize}],b(n))),this._pageSizes=n},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"classes",{get:function(){return!0},enumerable:!1,configurable:!0}),I.prototype.ngAfterViewInit=function(){this.dropDownList.wrapper.nativeElement.setAttribute("aria-label",this.textFor("itemsPerPage"))},I.prototype.pageSizeChange=function(e,t){e=new q(e);this.pagerContext.changePageSize(e),e.isDefaultPrevented()&&t.writeValue(this.pageSize)},I.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize="number"==typeof e?e:this.total,this.cd.markForCheck()};var ae,S=I;function I(e,t,n){e=ae.call(this,e,n,t)||this;return e.pagerContext=n,e._pageSizes=[],e}S.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:S,deps:[{token:o.LocalizationService},{token:r.ChangeDetectorRef},{token:f}],target:r.ɵɵFactoryTarget.Component}),S.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:S,selector:"kendo-datapager-page-sizes",inputs:{pageSizes:"pageSizes"},host:{properties:{"class.k-pager-sizes":"this.classes","class.k-label":"this.classes"}},viewQueries:[{propertyName:"dropDownList",first:!0,predicate:["dropdownlist"],descendants:!0,static:!0}],usesInheritance:!0,ngImport:r,template:'\n <kendo-dropdownlist kendoPagerFocusable\n #dropdownlist\n [data]="pageSizes"\n textField="text"\n valueField="value"\n [valuePrimitive]="true"\n [value]="pageSize"\n (valueChange)="pageSizeChange($event, dropdownlist)"></kendo-dropdownlist>\n {{ textFor(\'itemsPerPage\') }}\n ',isInline:!0,components:[{type:i.DropDownListComponent,selector:"kendo-dropdownlist",inputs:["iconClass","loading","data","value","textField","valueField","popupSettings","listHeight","defaultItem","disabled","itemDisabled","readonly","filterable","virtual","ignoreCase","delay","valuePrimitive","tabindex","tabIndex","size","rounded","fillMode","id"],outputs:["valueChange","filterChange","selectionChange","open","opened","close","closed","focus","blur"],exportAs:["kendoDropDownList"]}],directives:[{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]}],changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:S,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-page-sizes",template:'\n <kendo-dropdownlist kendoPagerFocusable\n #dropdownlist\n [data]="pageSizes"\n textField="text"\n valueField="value"\n [valuePrimitive]="true"\n [value]="pageSize"\n (valueChange)="pageSizeChange($event, dropdownlist)"></kendo-dropdownlist>\n {{ textFor(\'itemsPerPage\') }}\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:r.ChangeDetectorRef},{type:f}]},propDecorators:{dropDownList:[{type:s.ViewChild,args:["dropdownlist",{static:!0}]}],pageSizes:[{type:s.Input}],classes:[{type:s.HostBinding,args:["class.k-pager-sizes"]},{type:s.HostBinding,args:["class.k-label"]}]}});var re,z=function(e){this.templateRef=e},D=(z.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:z,deps:[{token:r.TemplateRef,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),z.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:z,selector:"[kendoDataPagerTemplate]",ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:z,decorators:[{type:s.Directive,args:[{selector:"[kendoDataPagerTemplate]"}]}],ctorParameters:function(){return[{type:r.TemplateRef,decorators:[{type:s.Optional}]}]}}),c(F,re=u),Object.defineProperty(F.prototype,"buttons",{get:function(){for(var e=[],t=this.start;t<=this.end;t++)e.push(t);return e},enumerable:!1,configurable:!0}),Object.defineProperty(F.prototype,"end",{get:function(){return Math.min(this.start+this.buttonCount-1,this.totalPages)},enumerable:!1,configurable:!0}),Object.defineProperty(F.prototype,"start",{get:function(){var e,t=this.currentPage,n=this.buttonCount;return n<t?0==(e=t%n)?t-n+1:t-e+1:1},enumerable:!1,configurable:!0}),F.prototype.pageLabel=function(e){var t=this.textFor("page");return t?t+" "+e:e.toString()},F.prototype.onSelectChange=function(e){var e=e.target,t=Number(e.value);Number.isNaN(t)?"previousButtons"===e.value?this.changePage(this.start-2):this.changePage(this.end):this.changePage(t-1)},F.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()},Object.defineProperty(F.prototype,"pageChooserLabel",{get:function(){return this.textFor("selectPage")},enumerable:!1,configurable:!0}),F);function F(e,t,n){e=re.call(this,e,n,t)||this;return e.pagerContext=n,e.numbersWrapClass=!0,e}D.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:D,deps:[{token:o.LocalizationService},{token:r.ChangeDetectorRef},{token:f}],target:r.ɵɵFactoryTarget.Component}),D.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:D,selector:"kendo-datapager-numeric-buttons",inputs:{buttonCount:"buttonCount"},host:{properties:{"class.k-pager-numbers-wrap":"this.numbersWrapClass"}},usesInheritance:!0,ngImport:r,template:'\n <select kendoPagerFocusable\n class="k-dropdown-list k-picker k-picker-md k-rounded-md k-picker-solid"\n [attr.title]="pageChooserLabel"\n [attr.aria-label]="pageChooserLabel"\n (change)="onSelectChange($event)">\n <option *ngIf="start > 1"\n class="k-link"\n value="previousButtons"\n [selected]="false"\n [attr.aria-label]="pageLabel(start - 1)">...\n </option>\n <option *ngFor="let num of buttons"\n [value]="num.toString()"\n [selected]="num === currentPage"\n [attr.aria-label]="pageLabel(num)"\n [attr.aria-current]="currentPage === num ? \'page\' : undefined"\n [ngClass]="{\'k-link\': true, \'k-selected\':currentPage === num}">\n {{num}}\n </option>\n <option *ngIf="end < totalPages"\n value="nextButtons"\n [selected]="false"\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)">...\n </option>\n </select>\n <ul [ngClass]="{\'k-pager-numbers\': true}">\n <li *ngIf="start > 1">\n <button\n type="button" kendoPagerFocusable\n class="k-link"\n [attr.aria-label]="pageLabel(start - 1)"\n [attr.title]="pageLabel(start - 1)"\n (click)="changePage(start - 2)">...</button>\n </li>\n <li *ngFor="let num of buttons">\n <button\n type="button" kendoPagerFocusable\n [attr.aria-label]="pageLabel(num)"\n [attr.title]="pageLabel(num)"\n [attr.aria-current]="currentPage === num ? \'page\' : undefined"\n [ngClass]="{\'k-link\': true, \'k-selected\':currentPage === num}"\n (click)="changePage(num - 1)">\n {{num}}\n </button>\n </li>\n <li *ngIf="end < totalPages">\n <button\n type="button" kendoPagerFocusable\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)"\n [attr.title]="pageLabel(end + 1)"\n (click)="changePage(end)">...</button>\n </li>\n </ul>\n ',isInline:!0,directives:[{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]},{type:g.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:g.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:g.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]}],changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:D,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-numeric-buttons",template:'\n <select kendoPagerFocusable\n class="k-dropdown-list k-picker k-picker-md k-rounded-md k-picker-solid"\n [attr.title]="pageChooserLabel"\n [attr.aria-label]="pageChooserLabel"\n (change)="onSelectChange($event)">\n <option *ngIf="start > 1"\n class="k-link"\n value="previousButtons"\n [selected]="false"\n [attr.aria-label]="pageLabel(start - 1)">...\n </option>\n <option *ngFor="let num of buttons"\n [value]="num.toString()"\n [selected]="num === currentPage"\n [attr.aria-label]="pageLabel(num)"\n [attr.aria-current]="currentPage === num ? \'page\' : undefined"\n [ngClass]="{\'k-link\': true, \'k-selected\':currentPage === num}">\n {{num}}\n </option>\n <option *ngIf="end < totalPages"\n value="nextButtons"\n [selected]="false"\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)">...\n </option>\n </select>\n <ul [ngClass]="{\'k-pager-numbers\': true}">\n <li *ngIf="start > 1">\n <button\n type="button" kendoPagerFocusable\n class="k-link"\n [attr.aria-label]="pageLabel(start - 1)"\n [attr.title]="pageLabel(start - 1)"\n (click)="changePage(start - 2)">...</button>\n </li>\n <li *ngFor="let num of buttons">\n <button\n type="button" kendoPagerFocusable\n [attr.aria-label]="pageLabel(num)"\n [attr.title]="pageLabel(num)"\n [attr.aria-current]="currentPage === num ? \'page\' : undefined"\n [ngClass]="{\'k-link\': true, \'k-selected\':currentPage === num}"\n (click)="changePage(num - 1)">\n {{num}}\n </button>\n </li>\n <li *ngIf="end < totalPages">\n <button\n type="button" kendoPagerFocusable\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)"\n [attr.title]="pageLabel(end + 1)"\n (click)="changePage(end)">...</button>\n </li>\n </ul>\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:r.ChangeDetectorRef},{type:f}]},propDecorators:{numbersWrapClass:[{type:s.HostBinding,args:["class.k-pager-numbers-wrap"]}],buttonCount:[{type:s.Input}]}});c(ie,oe=u),Object.defineProperty(ie.prototype,"disabled",{get:function(){return this.currentPage===this.totalPages||!this.total},enumerable:!1,configurable:!0}),ie.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()};var oe,L=ie;function ie(e,t,n){return oe.call(this,e,t,n)||this}L.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:L,deps:[{token:o.LocalizationService},{token:f},{token:r.ChangeDetectorRef}],target:r.ɵɵFactoryTarget.Component}),L.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:L,selector:"kendo-datapager-next-buttons",usesInheritance:!0,ngImport:r,template:'\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav"\n [class.k-disabled]="disabled"\n [title]="textFor(\'nextPage\')"\n [attr.aria-label]="textFor(\'nextPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== totalPages ? changePage(currentPage) : false">\n <span class="k-icon k-i-arrow-e" role="note" [attr.aria-label]="textFor(\'nextPage\')"></span>\n </button>\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav k-pager-last"\n [class.k-disabled]="disabled"\n [title]="textFor(\'lastPage\')"\n [attr.aria-label]="textFor(\'lastPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">\n <span class="k-icon k-i-seek-e" role="note" [attr.aria-label]="textFor(\'lastPage\')"></span>\n </button>\n ',isInline:!0,directives:[{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]}],changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:L,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-next-buttons",template:'\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav"\n [class.k-disabled]="disabled"\n [title]="textFor(\'nextPage\')"\n [attr.aria-label]="textFor(\'nextPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== totalPages ? changePage(currentPage) : false">\n <span class="k-icon k-i-arrow-e" role="note" [attr.aria-label]="textFor(\'nextPage\')"></span>\n </button>\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav k-pager-last"\n [class.k-disabled]="disabled"\n [title]="textFor(\'lastPage\')"\n [attr.aria-label]="textFor(\'lastPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">\n <span class="k-icon k-i-seek-e" role="note" [attr.aria-label]="textFor(\'lastPage\')"></span>\n </button>\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:f},{type:r.ChangeDetectorRef}]}});c(T,se=u),Object.defineProperty(T.prototype,"current",{get:function(){return this.hasPages?this.currentPage:0},enumerable:!1,configurable:!0}),Object.defineProperty(T.prototype,"hasPages",{get:function(){return 0!==this.totalPages},enumerable:!1,configurable:!0}),T.prototype.ngAfterViewInit=function(){var e=this.numericInput.numericInput.nativeElement;this.renderer.setAttribute(e,"aria-label",this.textFor("inputLabel"))},T.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()};var se,w=T;function T(e,t,n,a,r){var o=se.call(this,e,t,a)||this;return o.pagerContext=t,o.zone=n,o.renderer=r,o.handleKeyDown=function(e){var t=o.numericInput.value||o.current;e.keyCode===h.Keys.Enter&&(e.preventDefault(),t!==o.current)&&o.zone.run(function(){o.changePage(t-1)})},o.handleBlur=function(){var e=o.numericInput.value;e?e!==o.current&&o.zone.run(function(){o.changePage(e-1)}):o.numericInput.writeValue(o.current)},o}w.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:w,deps:[{token:o.LocalizationService},{token:f},{token:r.NgZone},{token:r.ChangeDetectorRef},{token:r.Renderer2}],target:r.ɵɵFactoryTarget.Component}),w.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:w,selector:"kendo-datapager-input",viewQueries:[{propertyName:"numericInput",first:!0,predicate:n.NumericTextBoxComponent,descendants:!0,static:!0}],usesInheritance:!0,ngImport:r,template:'\n <span [ngClass]="{\'k-pager-input\': true, \'k-label\': true}">\n {{textFor(\'page\')}}\n <kendo-numerictextbox kendoPagerFocusable\n [spinners]="false"\n [decimals]="0"\n format="n0"\n [disabled]="!hasPages"\n [value]="current"\n [min]="hasPages ? 1 : 0"\n [max]="totalPages"\n [autoCorrect]="true"\n [title]="textFor(\'pageNumberInputTitle\')"\n [kendoEventsOutsideAngular]="{\n keydown: handleKeyDown,\n focusout: handleBlur\n }">\n </kendo-numerictextbox>\n {{textFor(\'of\')}} {{totalPages}}\n </span>\n ',isInline:!0,components:[{type:j.NumericTextBoxComponent,selector:"kendo-numerictextbox",inputs:["focusableId","disabled","readonly","title","autoCorrect","format","max","min","decimals","placeholder","step","spinners","rangeValidation","tabindex","tabIndex","changeValueOnScroll","selectOnFocus","value","maxlength","size","rounded","fillMode"],outputs:["valueChange","focus","blur"],exportAs:["kendoNumericTextBox"]}],directives:[{type:g.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]},{type:l.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:w,decorators:[{type:s.Component,args:[{selector:"kendo-datapager-input",template:'\n <span [ngClass]="{\'k-pager-input\': true, \'k-label\': true}">\n {{textFor(\'page\')}}\n <kendo-numerictextbox kendoPagerFocusable\n [spinners]="false"\n [decimals]="0"\n format="n0"\n [disabled]="!hasPages"\n [value]="current"\n [min]="hasPages ? 1 : 0"\n [max]="totalPages"\n [autoCorrect]="true"\n [title]="textFor(\'pageNumberInputTitle\')"\n [kendoEventsOutsideAngular]="{\n keydown: handleKeyDown,\n focusout: handleBlur\n }">\n </kendo-numerictextbox>\n {{textFor(\'of\')}} {{totalPages}}\n </span>\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:f},{type:r.NgZone},{type:r.ChangeDetectorRef},{type:r.Renderer2}]},propDecorators:{numericInput:[{type:s.ViewChild,args:[n.NumericTextBoxComponent,{static:!0}]}]}});c(N,pe=u),Object.defineProperty(N.prototype,"maxItems",{get:function(){return Math.min(this.currentPage*this.pageSize,this.total)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"currentPageText",{get:function(){return this.total?(this.currentPage-1)*this.pageSize+1:0},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"classes",{get:function(){return!0},enumerable:!1,configurable:!0}),N.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()};var pe,O=N;function N(e,t,n){e=pe.call(this,e,n,t)||this;return e.pagerContext=n,e}O.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:O,deps:[{token:o.LocalizationService},{token:r.ChangeDetectorRef},{token:f}],target:r.ɵɵFactoryTarget.Component}),O.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:O,selector:"kendo-datapager-info",host:{properties:{"class.k-pager-info":"this.classes","class.k-label":"this.classes"}},usesInheritance:!0,ngImport:r,template:"{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}",isInline:!0,changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:O,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-info",template:"{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}"}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:r.ChangeDetectorRef},{type:f}]},propDecorators:{classes:[{type:s.HostBinding,args:["class.k-pager-info"]},{type:s.HostBinding,args:["class.k-label"]}]}});var ge={name:"@progress/kendo-angular-pager",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1669192614,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},V=(Object.defineProperty(E.prototype,"pageSizeValues",{get:function(){return this._pageSizeValues},set:function(e){this._pageSizeValues=Array.isArray(e)?e:!!e&&J},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"navigable",{get:function(){return this._navigable},set:function(e){this._navigable=e,this.navigationService.isNavigable=e},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"dir",{get:function(){return this.direction},enumerable:!1,configurable:!0}),E.prototype.focusHandler=function(e){e=e.target!==this.element.nativeElement;this.navigationService.toggleInnerNavigation(e)},Object.defineProperty(E.prototype,"totalPages",{get:function(){return Math.ceil((this.total||0)/this.pageSize)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"currentPage",{get:function(){return Math.floor((this.skip||0)/this.pageSize)+1},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"templateContext",{get:function(){var e=this._templateContext;return e.totalPages=this.totalPages,e.total=this.total,e.skip=this.skip,e.pageSize=this.pageSize,e.currentPage=this.currentPage,e},enumerable:!1,configurable:!0}),E.prototype.ngOnInit=function(){var e,t=this;this.subscriptions.add(this.pagerContext.pageChange.subscribe(this.changePage.bind(this))),this.subscriptions.add(this.pagerContext.pageSizeChange.subscribe(this.changePageSize.bind(this))),this.subscriptions.add(this.resizeSensor.resize.subscribe(function(){return t.resizeHandler()})),this.subscriptions.add(this.localization.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr"})),this.subscriptions.add(this.navigationService.innerNavigationChange.subscribe(this.innerNavigationChange.bind(this))),this.navigable&&(e=this.element.nativeElement,this.ngZone.runOutsideAngular(function(){t.subscriptions.add(t.renderer.listen(e,"keydown",t.keyDownHandler.bind(t)))}))},E.prototype.ngAfterViewInit=function(){this.resizeHandler(),this.renderer.setAttribute(this.element.nativeElement,"aria-label",this.ariaLabel)},E.prototype.ngOnChanges=function(e){h.anyChanged(["pageSize","skip","total"],e,!1)&&(this.pagerContext.notifyChanges({pageSize:this.pageSize,skip:this.skip,total:this.total}),this.renderer.setAttribute(this.element.nativeElement,"aria-label",this.ariaLabel))},E.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},E.prototype.changePage=function(e){this.pageChange.emit(e)},E.prototype.changePageSize=function(e){this.pageSizeChange.emit(e),e.isDefaultPrevented()||("all"===e.newPageSize?this.pageChange.emit({skip:0,take:this.total}):this.pageChange.emit({skip:0,take:e.newPageSize}))},E.prototype.onPageSizeChange=function(e){this.pageSizeChange.emit(e),e.isDefaultPrevented()||this.pageChange.emit({skip:this.skip,take:e.newPageSize})},E.prototype.textFor=function(e){return this.localization.get(e)},Object.defineProperty(E.prototype,"ariaLabel",{get:function(){return this.textFor("page")+" "+this.currentPage+" "+this.textFor("of")+" "+this.totalPages},enumerable:!1,configurable:!0}),E.prototype.keyDownHandler=function(t){var n=this,a=t.target,r=this.element.nativeElement,o=t.keyCode===h.Keys.ArrowLeft||t.keyCode===h.Keys.PageUp,i=t.keyCode===h.Keys.ArrowRight||t.keyCode===h.Keys.PageDown,s=t.keyCode===h.Keys.Enter,p=t.keyCode===h.Keys.Home,g=t.keyCode===h.Keys.End,l=t.keyCode===h.Keys.Escape,c=t.keyCode===h.Keys.Tab,u=1===this.currentPage,d=this.currentPage===this.totalPages;this.ngZone.run(function(){var e;p&&!u?n.pagerContext.changePage(0):g&&!d?n.pagerContext.changePage(n.totalPages-1):n.isInnerNavigationEnabled?l?(n.navigationService.toggleInnerNavigation(!1),r.focus()):c&&n.navigationService.keepFocusWithinComponent(r,a,t):o&&!u?n.pagerContext.prevPage():i&&!d?n.pagerContext.nextPage():s&&t.target===r&&(t.preventDefault(),e=b(n.navigationService.getFirstAndLastFocusable(r),1)[0],n.navigationService.toggleInnerNavigation(!0),null!=e)&&e.focus()})},E.prototype.innerNavigationChange=function(e){this.isInnerNavigationEnabled=e},E);function E(e,t,n,a,r,o){var i=this;this.pagerContext=e,this.element=t,this.localization=n,this.renderer=a,this.ngZone=r,this.navigationService=o,this.total=0,this.skip=0,this.buttonCount=10,this.info=!0,this.type="numeric",this.previousNext=!0,this.pageChange=new s.EventEmitter,this.pageSizeChange=new s.EventEmitter,this.pagerClass=!0,this.widgetRole="application",this.roleDescription="pager",this.keyShortcuts="Enter ArrowRight ArrowLeft",this.hostTabindex="0",this.subscriptions=new p.Subscription,this._templateContext={},this._pageSizeValues=J,this.isInnerNavigationEnabled=!1,this._navigable=!1,this.resizeHandler=function(){var e,t;i.template||((t=(e=i.element.nativeElement).offsetWidth)<600?(e.classList.remove("k-pager-md"),e.classList.add("k-pager-sm")):(600<=t&&t<768?e.classList.add("k-pager-md"):e.classList.remove("k-pager-md"),e.classList.remove("k-pager-sm")))},R.validatePackage(ge),this.direction=n.rtl?"rtl":"ltr"}V.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:V,deps:[{token:f},{token:r.ElementRef},{token:o.LocalizationService},{token:r.Renderer2},{token:r.NgZone},{token:P}],target:r.ɵɵFactoryTarget.Component}),V.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:V,selector:"kendo-datapager",inputs:{total:"total",skip:"skip",pageSize:"pageSize",buttonCount:"buttonCount",info:"info",type:"type",pageSizeValues:"pageSizeValues",previousNext:"previousNext",navigable:"navigable"},outputs:{pageChange:"pageChange",pageSizeChange:"pageSizeChange"},host:{listeners:{focusin:"focusHandler($event)"},properties:{"class.k-pager":"this.pagerClass","attr.role":"this.widgetRole","attr.aria-roledescription":"this.roleDescription","attr.aria-keyshortcuts":"this.keyShortcuts","attr.tabindex":"this.hostTabindex","attr.dir":"this.dir"}},providers:[t.LocalizationService,f,P],queries:[{propertyName:"template",first:!0,predicate:z,descendants:!0}],viewQueries:[{propertyName:"resizeSensor",first:!0,predicate:h.ResizeSensorComponent,descendants:!0,static:!0}],exportAs:["kendoDataPager"],usesOnChanges:!0,ngImport:r,template:'\n <ng-container kendoDataPagerLocalizedMessages\n i18n-firstPage="kendo.pager.firstPage|The label for the first page button in the Pager"\n firstPage="Go to the first page"\n\n i18n-previousPage="kendo.pager.previousPage|The label for the previous page button in the Pager"\n previousPage="Go to the previous page"\n\n i18n-nextPage="kendo.pager.nextPage|The label for the next page button in the Pager"\n nextPage="Go to the next page"\n\n i18n-lastPage="kendo.pager.lastPage|The label for the last page button in the Pager"\n lastPage="Go to the last page"\n\n i18n-page="kendo.pager.page|The label before the current page number in the Pager"\n page="Page"\n\n i18n-of="kendo.pager.of|The label before the total pages number in the Pager"\n of="of"\n\n i18n-pageNumberInputTitle="kendo.pager.pageNumberInputTitle|The label for the pager input in the Pager"\n pageNumberInputTitle="Page Number"\n\n i18n-items="kendo.pager.items|The label after the total pages number in the Pager"\n items="items"\n\n i18n-itemsPerPage="kendo.pager.itemsPerPage|The label for the page size chooser in the Pager"\n itemsPerPage="items per page"\n\n i18n-selectPage="kendo.pager.selectPage|The text of the title and aria-label attributes applied to the page chooser in the Pager"\n selectPage="Select page"\n\n i18n-inputLabel="kendo.pager.inputLabel|The text of the aria-label attribute applied to the input element for entering the page number."\n inputLabel="Type a page number"\n >\n </ng-container>\n <ng-container\n *ngIf="template?.templateRef"\n [ngTemplateOutlet]="template.templateRef"\n [ngTemplateOutletContext]="templateContext">\n </ng-container>\n <ng-container *ngIf="!template?.templateRef">\n <kendo-datapager-prev-buttons *ngIf="previousNext"></kendo-datapager-prev-buttons>\n <kendo-datapager-numeric-buttons\n *ngIf="type === \'numeric\' && buttonCount > 0"\n [buttonCount]="buttonCount">\n </kendo-datapager-numeric-buttons>\n <kendo-datapager-input *ngIf="type === \'input\'"></kendo-datapager-input>\n <kendo-datapager-next-buttons *ngIf="previousNext"></kendo-datapager-next-buttons>\n <kendo-datapager-info *ngIf=\'info\'></kendo-datapager-info>\n <kendo-datapager-page-sizes *ngIf="pageSizeValues" [pageSizes]="pageSizeValues"></kendo-datapager-page-sizes>\n </ng-container>\n <kendo-resize-sensor></kendo-resize-sensor>\n ',isInline:!0,components:[{type:x,selector:"kendo-datapager-prev-buttons"},{type:D,selector:"kendo-datapager-numeric-buttons",inputs:["buttonCount"]},{type:w,selector:"kendo-datapager-input"},{type:L,selector:"kendo-datapager-next-buttons"},{type:O,selector:"kendo-datapager-info"},{type:S,selector:"kendo-datapager-page-sizes",inputs:["pageSizes"]},{type:l.ResizeSensorComponent,selector:"kendo-resize-sensor",inputs:["rateLimit"],outputs:["resize"]}],directives:[{type:m,selector:"[kendoDataPagerLocalizedMessages]"},{type:g.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:g.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:V,decorators:[{type:s.Component,args:[{selector:"kendo-datapager",exportAs:"kendoDataPager",providers:[t.LocalizationService,f,P],template:'\n <ng-container kendoDataPagerLocalizedMessages\n i18n-firstPage="kendo.pager.firstPage|The label for the first page button in the Pager"\n firstPage="Go to the first page"\n\n i18n-previousPage="kendo.pager.previousPage|The label for the previous page button in the Pager"\n previousPage="Go to the previous page"\n\n i18n-nextPage="kendo.pager.nextPage|The label for the next page button in the Pager"\n nextPage="Go to the next page"\n\n i18n-lastPage="kendo.pager.lastPage|The label for the last page button in the Pager"\n lastPage="Go to the last page"\n\n i18n-page="kendo.pager.page|The label before the current page number in the Pager"\n page="Page"\n\n i18n-of="kendo.pager.of|The label before the total pages number in the Pager"\n of="of"\n\n i18n-pageNumberInputTitle="kendo.pager.pageNumberInputTitle|The label for the pager input in the Pager"\n pageNumberInputTitle="Page Number"\n\n i18n-items="kendo.pager.items|The label after the total pages number in the Pager"\n items="items"\n\n i18n-itemsPerPage="kendo.pager.itemsPerPage|The label for the page size chooser in the Pager"\n itemsPerPage="items per page"\n\n i18n-selectPage="kendo.pager.selectPage|The text of the title and aria-label attributes applied to the page chooser in the Pager"\n selectPage="Select page"\n\n i18n-inputLabel="kendo.pager.inputLabel|The text of the aria-label attribute applied to the input element for entering the page number."\n inputLabel="Type a page number"\n >\n </ng-container>\n <ng-container\n *ngIf="template?.templateRef"\n [ngTemplateOutlet]="template.templateRef"\n [ngTemplateOutletContext]="templateContext">\n </ng-container>\n <ng-container *ngIf="!template?.templateRef">\n <kendo-datapager-prev-buttons *ngIf="previousNext"></kendo-datapager-prev-buttons>\n <kendo-datapager-numeric-buttons\n *ngIf="type === \'numeric\' && buttonCount > 0"\n [buttonCount]="buttonCount">\n </kendo-datapager-numeric-buttons>\n <kendo-datapager-input *ngIf="type === \'input\'"></kendo-datapager-input>\n <kendo-datapager-next-buttons *ngIf="previousNext"></kendo-datapager-next-buttons>\n <kendo-datapager-info *ngIf=\'info\'></kendo-datapager-info>\n <kendo-datapager-page-sizes *ngIf="pageSizeValues" [pageSizes]="pageSizeValues"></kendo-datapager-page-sizes>\n </ng-container>\n <kendo-resize-sensor></kendo-resize-sensor>\n '}]}],ctorParameters:function(){return[{type:f},{type:r.ElementRef},{type:o.LocalizationService},{type:r.Renderer2},{type:r.NgZone},{type:P}]},propDecorators:{resizeSensor:[{type:s.ViewChild,args:[h.ResizeSensorComponent,{static:!0}]}],template:[{type:s.ContentChild,args:[z,{static:!1}]}],total:[{type:s.Input}],skip:[{type:s.Input}],pageSize:[{type:s.Input}],buttonCount:[{type:s.Input}],info:[{type:s.Input}],type:[{type:s.Input}],pageSizeValues:[{type:s.Input}],previousNext:[{type:s.Input}],navigable:[{type:s.Input}],pageChange:[{type:s.Output}],pageSizeChange:[{type:s.Output}],pagerClass:[{type:s.HostBinding,args:["class.k-pager"]}],widgetRole:[{type:s.HostBinding,args:["attr.role"]}],roleDescription:[{type:s.HostBinding,args:["attr.aria-roledescription"]}],keyShortcuts:[{type:s.HostBinding,args:["attr.aria-keyshortcuts"]}],hostTabindex:[{type:s.HostBinding,args:["attr.tabindex"]}],dir:[{type:s.HostBinding,args:["attr.dir"]}],focusHandler:[{type:s.HostListener,args:["focusin",["$event"]]}]}});i=[M.CommonModule,n.NumericTextBoxModule,A.DropDownListModule,h.EventsModule,h.ResizeSensorModule],j=[V,x,L,D,w,O,S,z,m,d,v],u=[{provide:t.L10N_PREFIX,useValue:"kendo.pager"}],le.exports=function(){return[V,x,L,D,w,O,S,z]},l=le;function le(){}l.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:l,deps:[],target:r.ɵɵFactoryTarget.NgModule}),l.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:l,declarations:[V,x,L,D,w,O,S,z,m,d,v],imports:[M.CommonModule,n.NumericTextBoxModule,A.DropDownListModule,h.EventsModule,h.ResizeSensorModule],exports:[V,x,L,D,w,O,S,z,m,d,v]}),l.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:l,providers:[u],imports:[_([],b(i))]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:l,decorators:[{type:s.NgModule,args:[{declarations:[j],exports:[j],imports:_([],b(i)),providers:[u]}]}]}),e.CustomMessagesComponent=d,e.LocalizedMessagesDirective=m,e.PageSizeChangeEvent=q,e.PagerComponent=V,e.PagerFocusableDirective=v,e.PagerInfoComponent=O,e.PagerInputComponent=w,e.PagerModule=l,e.PagerNextButtonsComponent=L,e.PagerNumericButtonsComponent=D,e.PagerPageSizesComponent=S,e.PagerPrevButtonsComponent=x,e.PagerTemplateDirective=z,Object.defineProperty(e,"__esModule",{value:!0})});
5
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-angular-l10n"),require("rxjs"),require("@progress/kendo-angular-common"),require("@progress/kendo-angular-dropdowns"),require("@angular/common"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-licensing")):"function"==typeof define&&define.amd?define("KendoAngularPager",["exports","@angular/core","@progress/kendo-angular-l10n","rxjs","@progress/kendo-angular-common","@progress/kendo-angular-dropdowns","@angular/common","@progress/kendo-angular-inputs","@progress/kendo-licensing"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularPager={},e.ng.core,e.KendoAngularL10N,e.rxjs,e.KendoAngularCommon,e.KendoAngularDropdowns,e.ng.common,e.KendoAngularInputs,e.KendoLicensing)}(this,function(e,s,t,p,h,A,R,n,M){"use strict";function a(n){var a;return n&&n.__esModule?n:(a=Object.create(null),n&&Object.keys(n).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(n,e),Object.defineProperty(a,e,t.get?t:{enumerable:!0,get:function(){return n[e]}}))}),a.default=n,Object.freeze(a))}var r=a(s),o=a(t),i=a(h),g=a(A),l=a(R),j=a(n),B=function(e,t){return(B=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}))(e,t)};function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}B(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function b(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var a,r,o=n.call(e),i=[];try{for(;(void 0===t||0<t--)&&!(a=o.next()).done;)i.push(a.value)}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return i}function _(e,t,n){if(n||2===arguments.length)for(var a,r=0,o=t.length;r<o;r++)!a&&r in t||((a=a||Array.prototype.slice.call(t,0,r))[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}Object.create;function K(){this.prevented=!1}K.prototype.preventDefault=function(){this.prevented=!0},K.prototype.isDefaultPrevented=function(){return this.prevented};c(Z,H=K);var H,q=Z;function Z(e){var t=H.call(this)||this;return t.newPageSize=e,t}c(U,G=t.ComponentMessages);var G,u=U;function U(){return null!==G&&G.apply(this,arguments)||this}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,deps:null,target:r.ɵɵFactoryTarget.Directive}),u.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:u,selector:"kendoPagerMessages",inputs:{firstPage:"firstPage",lastPage:"lastPage",previousPage:"previousPage",nextPage:"nextPage",page:"page",pageNumberInputTitle:"pageNumberInputTitle",itemsPerPage:"itemsPerPage",of:"of",items:"items",selectPage:"selectPage",inputLabel:"inputLabel"},usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,decorators:[{type:s.Directive,args:[{selector:"kendoPagerMessages"}]}],propDecorators:{firstPage:[{type:s.Input}],lastPage:[{type:s.Input}],previousPage:[{type:s.Input}],nextPage:[{type:s.Input}],page:[{type:s.Input}],pageNumberInputTitle:[{type:s.Input}],itemsPerPage:[{type:s.Input}],of:[{type:s.Input}],items:[{type:s.Input}],selectPage:[{type:s.Input}],inputLabel:[{type:s.Input}]}});c($,W=u),Object.defineProperty($.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var W,d=$;function $(e){var t=W.call(this)||this;return t.service=e,t}d.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:d,deps:[{token:o.LocalizationService}],target:r.ɵɵFactoryTarget.Component}),d.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:d,selector:"kendo-datapager-messages",providers:[{provide:u,useExisting:s.forwardRef(function(){return d})}],usesInheritance:!0,ngImport:r,template:"",isInline:!0}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:d,decorators:[{type:s.Component,args:[{providers:[{provide:u,useExisting:s.forwardRef(function(){return d})}],selector:"kendo-datapager-messages",template:""}]}],ctorParameters:function(){return[{type:o.LocalizationService}]}});c(X,Q=u);var Q,m=X;function X(e){var t=Q.call(this)||this;return t.service=e,t}m.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:m,deps:[{token:o.LocalizationService}],target:r.ɵɵFactoryTarget.Directive}),m.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:m,selector:"[kendoDataPagerLocalizedMessages]",providers:[{provide:u,useExisting:s.forwardRef(function(){return m})}],usesInheritance:!0,ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:m,decorators:[{type:s.Directive,args:[{providers:[{provide:u,useExisting:s.forwardRef(function(){return m})}],selector:"[kendoDataPagerLocalizedMessages]"}]}],ctorParameters:function(){return[{type:o.LocalizationService}]}});Object.defineProperty(k.prototype,"currentPage",{get:function(){return this.skip/this.pageSize},enumerable:!1,configurable:!0}),k.prototype.notifyChanges=function(e){this.total=e.total,this.pageSize=e.pageSize,this.skip=e.skip,this.changes.next(e)},k.prototype.changePage=function(e){this.pageChange.next({skip:e*this.pageSize,take:this.pageSize})},k.prototype.changePageSize=function(e){this.pageSizeChange.next(e)},k.prototype.nextPage=function(){var e=this.currentPage+1;e*this.pageSize<=this.total&&this.changePage(e)},k.prototype.prevPage=function(){var e=this.currentPage-1;0<=e*this.pageSize&&this.changePage(e)};var f=k;function k(){this.changes=new p.Subject,this.pageChange=new p.Subject,this.pageSizeChange=new p.Subject}Object.defineProperty(y.prototype,"currentPage",{get:function(){return Math.floor((this.skip||0)/this.pageSize)+1},enumerable:!1,configurable:!0}),Object.defineProperty(y.prototype,"totalPages",{get:function(){return Math.ceil((this.total||0)/this.pageSize)},enumerable:!1,configurable:!0}),y.prototype.textFor=function(e){return this.localization.get(e)},y.prototype.changePage=function(e){return this.pagerContext.changePage(e),!1},y.prototype.ngOnInit=function(){var e=this;this.subscriptions=this.pagerContext.changes.subscribe(this.onChanges.bind(this)),this.subscriptions.add(this.localization.changes.subscribe(function(){return e.cd.markForCheck()}))},y.prototype.ngOnDestroy=function(){this.subscriptions&&this.subscriptions.unsubscribe()};u=y;function y(e,t,n){this.localization=e,this.pagerContext=t,this.cd=n,this.total=this.pagerContext.total,this.skip=this.pagerContext.skip,this.pageSize=this.pagerContext.pageSize}u.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,deps:[{token:o.LocalizationService},{token:f},{token:r.ChangeDetectorRef}],target:r.ɵɵFactoryTarget.Component}),u.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:u,selector:"kendo-pager-element",ngImport:r,template:"",isInline:!0}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:u,decorators:[{type:s.Component,args:[{selector:"kendo-pager-element",template:""}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:f},{type:r.ChangeDetectorRef}]}});var J=[5,10,20],Y=["a[href]:not([disabled])","area[href]:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","button","iframe:not([disabled])","object:not([disabled])","embed:not([disabled])","*[tabindex]:not([disabled])",'*[contenteditable]:not([disabled]):not([contenteditable="false"])'].join(","),P=(ee.prototype.toggleInnerNavigation=function(e){this.innerNavigationChange.next(e)},ee.prototype.keepFocusWithinComponent=function(e,t,n){var e=b(this.getFirstAndLastFocusable(e),2),a=e[0],e=e[1],r=!n.shiftKey&&t===e,t=n.shiftKey&&t===a;r&&(n.preventDefault(),a.focus()),t&&(n.preventDefault(),e.focus())},ee.prototype.getFirstAndLastFocusable=function(e){e=e.querySelectorAll("[kendoPagerFocusable]");return[0<e.length?e[0]:parent,0<e.length?e[e.length-1]:parent]},ee);function ee(){this.isNavigable=!1,this.innerNavigationChange=new p.Subject}C.prototype.ngOnInit=function(){this.subscriptions.add(this.navigationService.innerNavigationChange.subscribe(this.innerNavigationChange.bind(this)))},C.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},Object.defineProperty(C.prototype,"nativeElement",{get:function(){return this.element.nativeElement},enumerable:!1,configurable:!0}),C.prototype.innerNavigationChange=function(e){var t,n=this;this.navigationService.isNavigable&&(t=e?"0":"-1",this.nativeElement.matches(Y)&&this.renderer.setAttribute(this.nativeElement,"tabindex",t),this.nativeElement.querySelectorAll(Y).forEach(function(e){n.renderer.setAttribute(e,"tabindex",t)}))};var v=C;function C(e,t,n){this.navigationService=e,this.element=t,this.renderer=n,this.subscriptions=new p.Subscription}v.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:v,deps:[{token:P},{token:r.ElementRef},{token:r.Renderer2}],target:r.ɵɵFactoryTarget.Directive}),v.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"],ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:v,decorators:[{type:s.Directive,args:[{selector:"[kendoPagerFocusable]",exportAs:"kendoPagerFocusable"}]}],ctorParameters:function(){return[{type:P},{type:r.ElementRef},{type:r.Renderer2}]}});c(ne,te=u),Object.defineProperty(ne.prototype,"disabled",{get:function(){return 1===this.currentPage||!this.total},enumerable:!1,configurable:!0}),ne.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()};var te,x=ne;function ne(e,t,n){return te.call(this,e,t,n)||this}x.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:x,deps:[{token:o.LocalizationService},{token:f},{token:r.ChangeDetectorRef}],target:r.ɵɵFactoryTarget.Component}),x.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:x,selector:"kendo-datapager-prev-buttons",usesInheritance:!0,ngImport:r,template:'\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav k-pager-first"\n [class.k-disabled]="disabled"\n [title]="textFor(\'firstPage\')"\n [attr.aria-label]="textFor(\'firstPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== 1 ? changePage(0) : false">\n <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor(\'firstPage\')"></span>\n </button>\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav"\n [class.k-disabled]="disabled"\n [title]="textFor(\'previousPage\')"\n [attr.aria-label]="textFor(\'previousPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== 1 ? changePage(currentPage-2) : false">\n <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor(\'previousPage\')"></span>\n </button>\n ',isInline:!0,directives:[{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]}],changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:x,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-prev-buttons",template:'\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav k-pager-first"\n [class.k-disabled]="disabled"\n [title]="textFor(\'firstPage\')"\n [attr.aria-label]="textFor(\'firstPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== 1 ? changePage(0) : false">\n <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor(\'firstPage\')"></span>\n </button>\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav"\n [class.k-disabled]="disabled"\n [title]="textFor(\'previousPage\')"\n [attr.aria-label]="textFor(\'previousPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== 1 ? changePage(currentPage-2) : false">\n <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor(\'previousPage\')"></span>\n </button>\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:f},{type:r.ChangeDetectorRef}]}});c(I,ae=u),Object.defineProperty(I.prototype,"pageSizes",{get:function(){return this._pageSizes},set:function(e){var t=this,n=[];Array.isArray(e)&&e.forEach(function(e){"number"==typeof e?n.push({text:e.toString(),value:e}):n.push(e)}),this.pageSize&&!n.some(function(e){return e.value===t.pageSize})&&(n=_([{text:this.pageSize.toString(),value:this.pageSize}],b(n))),this._pageSizes=n},enumerable:!1,configurable:!0}),Object.defineProperty(I.prototype,"classes",{get:function(){return!0},enumerable:!1,configurable:!0}),I.prototype.ngAfterViewInit=function(){var e=this;this.dropDownList.wrapper.nativeElement.setAttribute("aria-label",this.textFor("itemsPerPage")),this.ngZone.runOutsideAngular(function(){e.element.nativeElement.addEventListener("keydown",e.keyDownHandler.bind(e),!0)})},I.prototype.ngOnDestroy=function(){this.element.nativeElement.removeEventListener("keydown",this.keyDownHandler)},I.prototype.pageSizeChange=function(e,t){e=new q(e);this.pagerContext.changePageSize(e),e.isDefaultPrevented()&&t.writeValue(this.pageSize)},I.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize="number"==typeof e?e:this.total,this.cd.markForCheck()},I.prototype.keyDownHandler=function(e){e.keyCode===h.Keys.Escape&&this.dropDownList.isOpen&&(e.stopPropagation(),this.dropDownList.toggle(!1))};var ae,S=I;function I(e,t,n,a,r){e=ae.call(this,e,n,t)||this;return e.pagerContext=n,e.element=a,e.ngZone=r,e._pageSizes=[],e}S.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:S,deps:[{token:o.LocalizationService},{token:r.ChangeDetectorRef},{token:f},{token:r.ElementRef},{token:r.NgZone}],target:r.ɵɵFactoryTarget.Component}),S.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:S,selector:"kendo-datapager-page-sizes",inputs:{pageSizes:"pageSizes"},host:{properties:{"class.k-pager-sizes":"this.classes","class.k-label":"this.classes"}},viewQueries:[{propertyName:"dropDownList",first:!0,predicate:["dropdownlist"],descendants:!0,static:!0}],usesInheritance:!0,ngImport:r,template:'\n <kendo-dropdownlist kendoPagerFocusable\n #dropdownlist\n [data]="pageSizes"\n textField="text"\n valueField="value"\n [valuePrimitive]="true"\n [value]="pageSize"\n (valueChange)="pageSizeChange($event, dropdownlist)"></kendo-dropdownlist>\n {{ textFor(\'itemsPerPage\') }}\n ',isInline:!0,components:[{type:g.DropDownListComponent,selector:"kendo-dropdownlist",inputs:["iconClass","loading","data","value","textField","valueField","popupSettings","listHeight","defaultItem","disabled","itemDisabled","readonly","filterable","virtual","ignoreCase","delay","valuePrimitive","tabindex","tabIndex","size","rounded","fillMode","id"],outputs:["valueChange","filterChange","selectionChange","open","opened","close","closed","focus","blur"],exportAs:["kendoDropDownList"]}],directives:[{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]}],changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:S,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-page-sizes",template:'\n <kendo-dropdownlist kendoPagerFocusable\n #dropdownlist\n [data]="pageSizes"\n textField="text"\n valueField="value"\n [valuePrimitive]="true"\n [value]="pageSize"\n (valueChange)="pageSizeChange($event, dropdownlist)"></kendo-dropdownlist>\n {{ textFor(\'itemsPerPage\') }}\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:r.ChangeDetectorRef},{type:f},{type:r.ElementRef},{type:r.NgZone}]},propDecorators:{dropDownList:[{type:s.ViewChild,args:["dropdownlist",{static:!0}]}],pageSizes:[{type:s.Input}],classes:[{type:s.HostBinding,args:["class.k-pager-sizes"]},{type:s.HostBinding,args:["class.k-label"]}]}});var re,z=function(e){this.templateRef=e},D=(z.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:z,deps:[{token:r.TemplateRef,optional:!0}],target:r.ɵɵFactoryTarget.Directive}),z.ɵdir=r.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:z,selector:"[kendoDataPagerTemplate]",ngImport:r}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:z,decorators:[{type:s.Directive,args:[{selector:"[kendoDataPagerTemplate]"}]}],ctorParameters:function(){return[{type:r.TemplateRef,decorators:[{type:s.Optional}]}]}}),c(F,re=u),Object.defineProperty(F.prototype,"buttons",{get:function(){for(var e=[],t=this.start;t<=this.end;t++)e.push(t);return e},enumerable:!1,configurable:!0}),Object.defineProperty(F.prototype,"end",{get:function(){return Math.min(this.start+this.buttonCount-1,this.totalPages)},enumerable:!1,configurable:!0}),Object.defineProperty(F.prototype,"start",{get:function(){var e,t=this.currentPage,n=this.buttonCount;return n<t?0==(e=t%n)?t-n+1:t-e+1:1},enumerable:!1,configurable:!0}),F.prototype.pageLabel=function(e){var t=this.textFor("page");return t?t+" "+e:e.toString()},F.prototype.onSelectChange=function(e){var e=e.target,t=Number(e.value);Number.isNaN(t)?"previousButtons"===e.value?this.changePage(this.start-2):this.changePage(this.end):this.changePage(t-1)},F.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()},Object.defineProperty(F.prototype,"pageChooserLabel",{get:function(){return this.textFor("selectPage")},enumerable:!1,configurable:!0}),F);function F(e,t,n){e=re.call(this,e,n,t)||this;return e.pagerContext=n,e.numbersWrapClass=!0,e}D.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:D,deps:[{token:o.LocalizationService},{token:r.ChangeDetectorRef},{token:f}],target:r.ɵɵFactoryTarget.Component}),D.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:D,selector:"kendo-datapager-numeric-buttons",inputs:{buttonCount:"buttonCount"},host:{properties:{"class.k-pager-numbers-wrap":"this.numbersWrapClass"}},usesInheritance:!0,ngImport:r,template:'\n <select kendoPagerFocusable\n class="k-dropdown-list k-picker k-picker-md k-rounded-md k-picker-solid"\n [attr.title]="pageChooserLabel"\n [attr.aria-label]="pageChooserLabel"\n (change)="onSelectChange($event)">\n <option *ngIf="start > 1"\n class="k-link"\n value="previousButtons"\n [selected]="false"\n [attr.aria-label]="pageLabel(start - 1)">...\n </option>\n <option *ngFor="let num of buttons"\n [value]="num.toString()"\n [selected]="num === currentPage"\n [attr.aria-label]="pageLabel(num)"\n [attr.aria-current]="currentPage === num ? \'page\' : undefined"\n [ngClass]="{\'k-link\': true, \'k-selected\':currentPage === num}">\n {{num}}\n </option>\n <option *ngIf="end < totalPages"\n value="nextButtons"\n [selected]="false"\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)">...\n </option>\n </select>\n <ul [ngClass]="{\'k-pager-numbers\': true}">\n <li *ngIf="start > 1">\n <button\n type="button" kendoPagerFocusable\n class="k-link"\n [attr.aria-label]="pageLabel(start - 1)"\n [attr.title]="pageLabel(start - 1)"\n (click)="changePage(start - 2)">...</button>\n </li>\n <li *ngFor="let num of buttons">\n <button\n type="button" kendoPagerFocusable\n [attr.aria-label]="pageLabel(num)"\n [attr.title]="pageLabel(num)"\n [attr.aria-current]="currentPage === num ? \'page\' : undefined"\n [ngClass]="{\'k-link\': true, \'k-selected\':currentPage === num}"\n (click)="changePage(num - 1)">\n {{num}}\n </button>\n </li>\n <li *ngIf="end < totalPages">\n <button\n type="button" kendoPagerFocusable\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)"\n [attr.title]="pageLabel(end + 1)"\n (click)="changePage(end)">...</button>\n </li>\n </ul>\n ',isInline:!0,directives:[{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]},{type:l.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:l.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:l.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]}],changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:D,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-numeric-buttons",template:'\n <select kendoPagerFocusable\n class="k-dropdown-list k-picker k-picker-md k-rounded-md k-picker-solid"\n [attr.title]="pageChooserLabel"\n [attr.aria-label]="pageChooserLabel"\n (change)="onSelectChange($event)">\n <option *ngIf="start > 1"\n class="k-link"\n value="previousButtons"\n [selected]="false"\n [attr.aria-label]="pageLabel(start - 1)">...\n </option>\n <option *ngFor="let num of buttons"\n [value]="num.toString()"\n [selected]="num === currentPage"\n [attr.aria-label]="pageLabel(num)"\n [attr.aria-current]="currentPage === num ? \'page\' : undefined"\n [ngClass]="{\'k-link\': true, \'k-selected\':currentPage === num}">\n {{num}}\n </option>\n <option *ngIf="end < totalPages"\n value="nextButtons"\n [selected]="false"\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)">...\n </option>\n </select>\n <ul [ngClass]="{\'k-pager-numbers\': true}">\n <li *ngIf="start > 1">\n <button\n type="button" kendoPagerFocusable\n class="k-link"\n [attr.aria-label]="pageLabel(start - 1)"\n [attr.title]="pageLabel(start - 1)"\n (click)="changePage(start - 2)">...</button>\n </li>\n <li *ngFor="let num of buttons">\n <button\n type="button" kendoPagerFocusable\n [attr.aria-label]="pageLabel(num)"\n [attr.title]="pageLabel(num)"\n [attr.aria-current]="currentPage === num ? \'page\' : undefined"\n [ngClass]="{\'k-link\': true, \'k-selected\':currentPage === num}"\n (click)="changePage(num - 1)">\n {{num}}\n </button>\n </li>\n <li *ngIf="end < totalPages">\n <button\n type="button" kendoPagerFocusable\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)"\n [attr.title]="pageLabel(end + 1)"\n (click)="changePage(end)">...</button>\n </li>\n </ul>\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:r.ChangeDetectorRef},{type:f}]},propDecorators:{numbersWrapClass:[{type:s.HostBinding,args:["class.k-pager-numbers-wrap"]}],buttonCount:[{type:s.Input}]}});c(ie,oe=u),Object.defineProperty(ie.prototype,"disabled",{get:function(){return this.currentPage===this.totalPages||!this.total},enumerable:!1,configurable:!0}),ie.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()};var oe,w=ie;function ie(e,t,n){return oe.call(this,e,t,n)||this}w.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:w,deps:[{token:o.LocalizationService},{token:f},{token:r.ChangeDetectorRef}],target:r.ɵɵFactoryTarget.Component}),w.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:w,selector:"kendo-datapager-next-buttons",usesInheritance:!0,ngImport:r,template:'\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav"\n [class.k-disabled]="disabled"\n [title]="textFor(\'nextPage\')"\n [attr.aria-label]="textFor(\'nextPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== totalPages ? changePage(currentPage) : false">\n <span class="k-icon k-i-arrow-e" role="note" [attr.aria-label]="textFor(\'nextPage\')"></span>\n </button>\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav k-pager-last"\n [class.k-disabled]="disabled"\n [title]="textFor(\'lastPage\')"\n [attr.aria-label]="textFor(\'lastPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">\n <span class="k-icon k-i-seek-e" role="note" [attr.aria-label]="textFor(\'lastPage\')"></span>\n </button>\n ',isInline:!0,directives:[{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]}],changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:w,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-next-buttons",template:'\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav"\n [class.k-disabled]="disabled"\n [title]="textFor(\'nextPage\')"\n [attr.aria-label]="textFor(\'nextPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== totalPages ? changePage(currentPage) : false">\n <span class="k-icon k-i-arrow-e" role="note" [attr.aria-label]="textFor(\'nextPage\')"></span>\n </button>\n <button\n type="button" kendoPagerFocusable\n class="k-link k-pager-nav k-pager-last"\n [class.k-disabled]="disabled"\n [title]="textFor(\'lastPage\')"\n [attr.aria-label]="textFor(\'lastPage\')"\n [attr.aria-disabled]="disabled ? true : undefined"\n (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">\n <span class="k-icon k-i-seek-e" role="note" [attr.aria-label]="textFor(\'lastPage\')"></span>\n </button>\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:f},{type:r.ChangeDetectorRef}]}});c(O,se=u),Object.defineProperty(O.prototype,"current",{get:function(){return this.hasPages?this.currentPage:0},enumerable:!1,configurable:!0}),Object.defineProperty(O.prototype,"hasPages",{get:function(){return 0!==this.totalPages},enumerable:!1,configurable:!0}),O.prototype.ngAfterViewInit=function(){var e=this.numericInput.numericInput.nativeElement;this.renderer.setAttribute(e,"aria-label",this.textFor("inputLabel"))},O.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()};var se,L=O;function O(e,t,n,a,r){var o=se.call(this,e,t,a)||this;return o.pagerContext=t,o.zone=n,o.renderer=r,o.handleKeyDown=function(e){var t=o.numericInput.value||o.current;e.keyCode===h.Keys.Enter&&(e.preventDefault(),t!==o.current)&&o.zone.run(function(){o.changePage(t-1)})},o.handleBlur=function(){var e=o.numericInput.value;e?e!==o.current&&o.zone.run(function(){o.changePage(e-1)}):o.numericInput.writeValue(o.current)},o}L.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:L,deps:[{token:o.LocalizationService},{token:f},{token:r.NgZone},{token:r.ChangeDetectorRef},{token:r.Renderer2}],target:r.ɵɵFactoryTarget.Component}),L.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:L,selector:"kendo-datapager-input",viewQueries:[{propertyName:"numericInput",first:!0,predicate:n.NumericTextBoxComponent,descendants:!0,static:!0}],usesInheritance:!0,ngImport:r,template:'\n <span [ngClass]="{\'k-pager-input\': true, \'k-label\': true}">\n {{textFor(\'page\')}}\n <kendo-numerictextbox kendoPagerFocusable\n [spinners]="false"\n [decimals]="0"\n format="n0"\n [disabled]="!hasPages"\n [value]="current"\n [min]="hasPages ? 1 : 0"\n [max]="totalPages"\n [autoCorrect]="true"\n [title]="textFor(\'pageNumberInputTitle\')"\n [kendoEventsOutsideAngular]="{\n keydown: handleKeyDown,\n focusout: handleBlur\n }">\n </kendo-numerictextbox>\n {{textFor(\'of\')}} {{totalPages}}\n </span>\n ',isInline:!0,components:[{type:j.NumericTextBoxComponent,selector:"kendo-numerictextbox",inputs:["focusableId","disabled","readonly","title","autoCorrect","format","max","min","decimals","placeholder","step","spinners","rangeValidation","tabindex","tabIndex","changeValueOnScroll","selectOnFocus","value","maxlength","size","rounded","fillMode"],outputs:["valueChange","focus","blur"],exportAs:["kendoNumericTextBox"]}],directives:[{type:l.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:v,selector:"[kendoPagerFocusable]",exportAs:["kendoPagerFocusable"]},{type:i.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:L,decorators:[{type:s.Component,args:[{selector:"kendo-datapager-input",template:'\n <span [ngClass]="{\'k-pager-input\': true, \'k-label\': true}">\n {{textFor(\'page\')}}\n <kendo-numerictextbox kendoPagerFocusable\n [spinners]="false"\n [decimals]="0"\n format="n0"\n [disabled]="!hasPages"\n [value]="current"\n [min]="hasPages ? 1 : 0"\n [max]="totalPages"\n [autoCorrect]="true"\n [title]="textFor(\'pageNumberInputTitle\')"\n [kendoEventsOutsideAngular]="{\n keydown: handleKeyDown,\n focusout: handleBlur\n }">\n </kendo-numerictextbox>\n {{textFor(\'of\')}} {{totalPages}}\n </span>\n '}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:f},{type:r.NgZone},{type:r.ChangeDetectorRef},{type:r.Renderer2}]},propDecorators:{numericInput:[{type:s.ViewChild,args:[n.NumericTextBoxComponent,{static:!0}]}]}});c(N,pe=u),Object.defineProperty(N.prototype,"maxItems",{get:function(){return Math.min(this.currentPage*this.pageSize,this.total)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"currentPageText",{get:function(){return this.total?(this.currentPage-1)*this.pageSize+1:0},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"classes",{get:function(){return!0},enumerable:!1,configurable:!0}),N.prototype.onChanges=function(e){var t=e.total,n=e.skip,e=e.pageSize;this.total=t,this.skip=n,this.pageSize=e,this.cd.markForCheck()};var pe,T=N;function N(e,t,n){e=pe.call(this,e,n,t)||this;return e.pagerContext=n,e}T.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:T,deps:[{token:o.LocalizationService},{token:r.ChangeDetectorRef},{token:f}],target:r.ɵɵFactoryTarget.Component}),T.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:T,selector:"kendo-datapager-info",host:{properties:{"class.k-pager-info":"this.classes","class.k-label":"this.classes"}},usesInheritance:!0,ngImport:r,template:"{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}",isInline:!0,changeDetection:r.ChangeDetectionStrategy.OnPush}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:T,decorators:[{type:s.Component,args:[{changeDetection:s.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-info",template:"{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}"}]}],ctorParameters:function(){return[{type:o.LocalizationService},{type:r.ChangeDetectorRef},{type:f}]},propDecorators:{classes:[{type:s.HostBinding,args:["class.k-pager-info"]},{type:s.HostBinding,args:["class.k-label"]}]}});var ge={name:"@progress/kendo-angular-pager",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1669366305,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},V=(Object.defineProperty(E.prototype,"pageSizeValues",{get:function(){return this._pageSizeValues},set:function(e){this._pageSizeValues=Array.isArray(e)?e:!!e&&J},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"navigable",{get:function(){return this._navigable},set:function(e){this._navigable=e,this.navigationService.isNavigable=e},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"dir",{get:function(){return this.direction},enumerable:!1,configurable:!0}),E.prototype.focusHandler=function(e){e=e.target!==this.element.nativeElement;this.navigationService.toggleInnerNavigation(e)},Object.defineProperty(E.prototype,"totalPages",{get:function(){return Math.ceil((this.total||0)/this.pageSize)},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"currentPage",{get:function(){return Math.floor((this.skip||0)/this.pageSize)+1},enumerable:!1,configurable:!0}),Object.defineProperty(E.prototype,"templateContext",{get:function(){var e=this._templateContext;return e.totalPages=this.totalPages,e.total=this.total,e.skip=this.skip,e.pageSize=this.pageSize,e.currentPage=this.currentPage,e},enumerable:!1,configurable:!0}),E.prototype.ngOnInit=function(){var e,t=this;this.subscriptions.add(this.pagerContext.pageChange.subscribe(this.changePage.bind(this))),this.subscriptions.add(this.pagerContext.pageSizeChange.subscribe(this.changePageSize.bind(this))),this.subscriptions.add(this.resizeSensor.resize.subscribe(function(){return t.resizeHandler()})),this.subscriptions.add(this.localization.changes.subscribe(function(e){e=e.rtl;t.direction=e?"rtl":"ltr"})),this.subscriptions.add(this.navigationService.innerNavigationChange.subscribe(this.innerNavigationChange.bind(this))),this.navigable&&(e=this.element.nativeElement,this.ngZone.runOutsideAngular(function(){t.subscriptions.add(t.renderer.listen(e,"keydown",t.keyDownHandler.bind(t)))}))},E.prototype.ngAfterViewInit=function(){this.resizeHandler(),this.renderer.setAttribute(this.element.nativeElement,"aria-label",this.ariaLabel)},E.prototype.ngOnChanges=function(e){h.anyChanged(["pageSize","skip","total"],e,!1)&&(this.pagerContext.notifyChanges({pageSize:this.pageSize,skip:this.skip,total:this.total}),this.renderer.setAttribute(this.element.nativeElement,"aria-label",this.ariaLabel))},E.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},E.prototype.changePage=function(e){this.pageChange.emit(e)},E.prototype.changePageSize=function(e){this.pageSizeChange.emit(e),e.isDefaultPrevented()||("all"===e.newPageSize?this.pageChange.emit({skip:0,take:this.total}):this.pageChange.emit({skip:0,take:e.newPageSize}))},E.prototype.onPageSizeChange=function(e){this.pageSizeChange.emit(e),e.isDefaultPrevented()||this.pageChange.emit({skip:this.skip,take:e.newPageSize})},E.prototype.textFor=function(e){return this.localization.get(e)},Object.defineProperty(E.prototype,"ariaLabel",{get:function(){return this.textFor("page")+" "+this.currentPage+" "+this.textFor("of")+" "+this.totalPages},enumerable:!1,configurable:!0}),E.prototype.keyDownHandler=function(t){var n=this,a=t.target,r=this.element.nativeElement,o=t.keyCode===h.Keys.ArrowLeft||t.keyCode===h.Keys.PageUp,i=t.keyCode===h.Keys.ArrowRight||t.keyCode===h.Keys.PageDown,s=t.keyCode===h.Keys.Enter,p=t.keyCode===h.Keys.Home,g=t.keyCode===h.Keys.End,l=t.keyCode===h.Keys.Escape,c=t.keyCode===h.Keys.Tab,u=1===this.currentPage,d=this.currentPage===this.totalPages;this.ngZone.run(function(){var e;p?(t.preventDefault(),u||n.pagerContext.changePage(0)):g?(t.preventDefault(),d||n.pagerContext.changePage(n.totalPages-1)):n.isInnerNavigationEnabled?l?(n.navigationService.toggleInnerNavigation(!1),r.focus()):c&&n.navigationService.keepFocusWithinComponent(r,a,t):o?(t.preventDefault(),u||n.pagerContext.prevPage()):i?(t.preventDefault(),d||n.pagerContext.nextPage()):s&&t.target===r&&(t.preventDefault(),e=b(n.navigationService.getFirstAndLastFocusable(r),1)[0],n.navigationService.toggleInnerNavigation(!0),null!=e)&&e.focus()})},E.prototype.innerNavigationChange=function(e){this.isInnerNavigationEnabled=e},E);function E(e,t,n,a,r,o){var i=this;this.pagerContext=e,this.element=t,this.localization=n,this.renderer=a,this.ngZone=r,this.navigationService=o,this.total=0,this.skip=0,this.buttonCount=10,this.info=!0,this.type="numeric",this.previousNext=!0,this.pageChange=new s.EventEmitter,this.pageSizeChange=new s.EventEmitter,this.pagerClass=!0,this.widgetRole="application",this.roleDescription="pager",this.keyShortcuts="Enter ArrowRight ArrowLeft",this.hostTabindex="0",this.subscriptions=new p.Subscription,this._templateContext={},this._pageSizeValues=J,this.isInnerNavigationEnabled=!1,this._navigable=!1,this.resizeHandler=function(){var e,t;i.template||((t=(e=i.element.nativeElement).offsetWidth)<600?(e.classList.remove("k-pager-md"),e.classList.add("k-pager-sm")):(600<=t&&t<768?e.classList.add("k-pager-md"):e.classList.remove("k-pager-md"),e.classList.remove("k-pager-sm")))},M.validatePackage(ge),this.direction=n.rtl?"rtl":"ltr"}V.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:V,deps:[{token:f},{token:r.ElementRef},{token:o.LocalizationService},{token:r.Renderer2},{token:r.NgZone},{token:P}],target:r.ɵɵFactoryTarget.Component}),V.ɵcmp=r.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:V,selector:"kendo-datapager",inputs:{total:"total",skip:"skip",pageSize:"pageSize",buttonCount:"buttonCount",info:"info",type:"type",pageSizeValues:"pageSizeValues",previousNext:"previousNext",navigable:"navigable"},outputs:{pageChange:"pageChange",pageSizeChange:"pageSizeChange"},host:{listeners:{focusin:"focusHandler($event)"},properties:{"class.k-pager":"this.pagerClass","attr.role":"this.widgetRole","attr.aria-roledescription":"this.roleDescription","attr.aria-keyshortcuts":"this.keyShortcuts","attr.tabindex":"this.hostTabindex","attr.dir":"this.dir"}},providers:[t.LocalizationService,f,P],queries:[{propertyName:"template",first:!0,predicate:z,descendants:!0}],viewQueries:[{propertyName:"resizeSensor",first:!0,predicate:h.ResizeSensorComponent,descendants:!0,static:!0}],exportAs:["kendoDataPager"],usesOnChanges:!0,ngImport:r,template:'\n <ng-container kendoDataPagerLocalizedMessages\n i18n-firstPage="kendo.pager.firstPage|The label for the first page button in the Pager"\n firstPage="Go to the first page"\n\n i18n-previousPage="kendo.pager.previousPage|The label for the previous page button in the Pager"\n previousPage="Go to the previous page"\n\n i18n-nextPage="kendo.pager.nextPage|The label for the next page button in the Pager"\n nextPage="Go to the next page"\n\n i18n-lastPage="kendo.pager.lastPage|The label for the last page button in the Pager"\n lastPage="Go to the last page"\n\n i18n-page="kendo.pager.page|The label before the current page number in the Pager"\n page="Page"\n\n i18n-of="kendo.pager.of|The label before the total pages number in the Pager"\n of="of"\n\n i18n-pageNumberInputTitle="kendo.pager.pageNumberInputTitle|The label for the pager input in the Pager"\n pageNumberInputTitle="Page Number"\n\n i18n-items="kendo.pager.items|The label after the total pages number in the Pager"\n items="items"\n\n i18n-itemsPerPage="kendo.pager.itemsPerPage|The label for the page size chooser in the Pager"\n itemsPerPage="items per page"\n\n i18n-selectPage="kendo.pager.selectPage|The text of the title and aria-label attributes applied to the page chooser in the Pager"\n selectPage="Select page"\n\n i18n-inputLabel="kendo.pager.inputLabel|The text of the aria-label attribute applied to the input element for entering the page number."\n inputLabel="Type a page number"\n >\n </ng-container>\n <ng-container\n *ngIf="template?.templateRef"\n [ngTemplateOutlet]="template.templateRef"\n [ngTemplateOutletContext]="templateContext">\n </ng-container>\n <ng-container *ngIf="!template?.templateRef">\n <kendo-datapager-prev-buttons *ngIf="previousNext"></kendo-datapager-prev-buttons>\n <kendo-datapager-numeric-buttons\n *ngIf="type === \'numeric\' && buttonCount > 0"\n [buttonCount]="buttonCount">\n </kendo-datapager-numeric-buttons>\n <kendo-datapager-input *ngIf="type === \'input\'"></kendo-datapager-input>\n <kendo-datapager-next-buttons *ngIf="previousNext"></kendo-datapager-next-buttons>\n <kendo-datapager-info *ngIf=\'info\'></kendo-datapager-info>\n <kendo-datapager-page-sizes *ngIf="pageSizeValues" [pageSizes]="pageSizeValues"></kendo-datapager-page-sizes>\n </ng-container>\n <kendo-resize-sensor></kendo-resize-sensor>\n ',isInline:!0,components:[{type:x,selector:"kendo-datapager-prev-buttons"},{type:D,selector:"kendo-datapager-numeric-buttons",inputs:["buttonCount"]},{type:L,selector:"kendo-datapager-input"},{type:w,selector:"kendo-datapager-next-buttons"},{type:T,selector:"kendo-datapager-info"},{type:S,selector:"kendo-datapager-page-sizes",inputs:["pageSizes"]},{type:i.ResizeSensorComponent,selector:"kendo-resize-sensor",inputs:["rateLimit"],outputs:["resize"]}],directives:[{type:m,selector:"[kendoDataPagerLocalizedMessages]"},{type:l.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:l.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:V,decorators:[{type:s.Component,args:[{selector:"kendo-datapager",exportAs:"kendoDataPager",providers:[t.LocalizationService,f,P],template:'\n <ng-container kendoDataPagerLocalizedMessages\n i18n-firstPage="kendo.pager.firstPage|The label for the first page button in the Pager"\n firstPage="Go to the first page"\n\n i18n-previousPage="kendo.pager.previousPage|The label for the previous page button in the Pager"\n previousPage="Go to the previous page"\n\n i18n-nextPage="kendo.pager.nextPage|The label for the next page button in the Pager"\n nextPage="Go to the next page"\n\n i18n-lastPage="kendo.pager.lastPage|The label for the last page button in the Pager"\n lastPage="Go to the last page"\n\n i18n-page="kendo.pager.page|The label before the current page number in the Pager"\n page="Page"\n\n i18n-of="kendo.pager.of|The label before the total pages number in the Pager"\n of="of"\n\n i18n-pageNumberInputTitle="kendo.pager.pageNumberInputTitle|The label for the pager input in the Pager"\n pageNumberInputTitle="Page Number"\n\n i18n-items="kendo.pager.items|The label after the total pages number in the Pager"\n items="items"\n\n i18n-itemsPerPage="kendo.pager.itemsPerPage|The label for the page size chooser in the Pager"\n itemsPerPage="items per page"\n\n i18n-selectPage="kendo.pager.selectPage|The text of the title and aria-label attributes applied to the page chooser in the Pager"\n selectPage="Select page"\n\n i18n-inputLabel="kendo.pager.inputLabel|The text of the aria-label attribute applied to the input element for entering the page number."\n inputLabel="Type a page number"\n >\n </ng-container>\n <ng-container\n *ngIf="template?.templateRef"\n [ngTemplateOutlet]="template.templateRef"\n [ngTemplateOutletContext]="templateContext">\n </ng-container>\n <ng-container *ngIf="!template?.templateRef">\n <kendo-datapager-prev-buttons *ngIf="previousNext"></kendo-datapager-prev-buttons>\n <kendo-datapager-numeric-buttons\n *ngIf="type === \'numeric\' && buttonCount > 0"\n [buttonCount]="buttonCount">\n </kendo-datapager-numeric-buttons>\n <kendo-datapager-input *ngIf="type === \'input\'"></kendo-datapager-input>\n <kendo-datapager-next-buttons *ngIf="previousNext"></kendo-datapager-next-buttons>\n <kendo-datapager-info *ngIf=\'info\'></kendo-datapager-info>\n <kendo-datapager-page-sizes *ngIf="pageSizeValues" [pageSizes]="pageSizeValues"></kendo-datapager-page-sizes>\n </ng-container>\n <kendo-resize-sensor></kendo-resize-sensor>\n '}]}],ctorParameters:function(){return[{type:f},{type:r.ElementRef},{type:o.LocalizationService},{type:r.Renderer2},{type:r.NgZone},{type:P}]},propDecorators:{resizeSensor:[{type:s.ViewChild,args:[h.ResizeSensorComponent,{static:!0}]}],template:[{type:s.ContentChild,args:[z,{static:!1}]}],total:[{type:s.Input}],skip:[{type:s.Input}],pageSize:[{type:s.Input}],buttonCount:[{type:s.Input}],info:[{type:s.Input}],type:[{type:s.Input}],pageSizeValues:[{type:s.Input}],previousNext:[{type:s.Input}],navigable:[{type:s.Input}],pageChange:[{type:s.Output}],pageSizeChange:[{type:s.Output}],pagerClass:[{type:s.HostBinding,args:["class.k-pager"]}],widgetRole:[{type:s.HostBinding,args:["attr.role"]}],roleDescription:[{type:s.HostBinding,args:["attr.aria-roledescription"]}],keyShortcuts:[{type:s.HostBinding,args:["attr.aria-keyshortcuts"]}],hostTabindex:[{type:s.HostBinding,args:["attr.tabindex"]}],dir:[{type:s.HostBinding,args:["attr.dir"]}],focusHandler:[{type:s.HostListener,args:["focusin",["$event"]]}]}});g=[R.CommonModule,n.NumericTextBoxModule,A.DropDownListModule,h.EventsModule,h.ResizeSensorModule],j=[V,x,w,D,L,T,S,z,m,d,v],u=[{provide:t.L10N_PREFIX,useValue:"kendo.pager"}],le.exports=function(){return[V,x,w,D,L,T,S,z]},i=le;function le(){}i.ɵfac=r.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:i,deps:[],target:r.ɵɵFactoryTarget.NgModule}),i.ɵmod=r.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:i,declarations:[V,x,w,D,L,T,S,z,m,d,v],imports:[R.CommonModule,n.NumericTextBoxModule,A.DropDownListModule,h.EventsModule,h.ResizeSensorModule],exports:[V,x,w,D,L,T,S,z,m,d,v]}),i.ɵinj=r.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:i,providers:[u],imports:[_([],b(g))]}),r.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:r,type:i,decorators:[{type:s.NgModule,args:[{declarations:[j],exports:[j],imports:_([],b(g)),providers:[u]}]}]}),e.CustomMessagesComponent=d,e.LocalizedMessagesDirective=m,e.PageSizeChangeEvent=q,e.PagerComponent=V,e.PagerFocusableDirective=v,e.PagerInfoComponent=T,e.PagerInputComponent=L,e.PagerModule=i,e.PagerNextButtonsComponent=w,e.PagerNumericButtonsComponent=D,e.PagerPageSizesComponent=S,e.PagerPrevButtonsComponent=x,e.PagerTemplateDirective=z,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-pager',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1669192614,
12
+ publishDate: 1669366305,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -5,6 +5,7 @@
5
5
  import { Component, ChangeDetectionStrategy, HostBinding, Input, ViewChild } from '@angular/core';
6
6
  import { PagerElementComponent } from './pager-element.component';
7
7
  import { PageSizeChangeEvent } from './pagesizechange-event';
8
+ import { Keys } from '@progress/kendo-angular-common';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@progress/kendo-angular-l10n";
10
11
  import * as i2 from "./pager-context.service";
@@ -14,9 +15,11 @@ import * as i4 from "./focusable.directive";
14
15
  * Displays a drop-down list for the page size selection ([see example]({% slug pager_settings %})).
15
16
  */
16
17
  export class PagerPageSizesComponent extends PagerElementComponent {
17
- constructor(localization, cd, pagerContext) {
18
+ constructor(localization, cd, pagerContext, element, ngZone) {
18
19
  super(localization, pagerContext, cd);
19
20
  this.pagerContext = pagerContext;
21
+ this.element = element;
22
+ this.ngZone = ngZone;
20
23
  this._pageSizes = [];
21
24
  }
22
25
  /**
@@ -170,6 +173,12 @@ export class PagerPageSizesComponent extends PagerElementComponent {
170
173
  }
171
174
  ngAfterViewInit() {
172
175
  this.dropDownList.wrapper.nativeElement.setAttribute('aria-label', this.textFor('itemsPerPage'));
176
+ this.ngZone.runOutsideAngular(() => {
177
+ this.element.nativeElement.addEventListener('keydown', this.keyDownHandler.bind(this), true);
178
+ });
179
+ }
180
+ ngOnDestroy() {
181
+ this.element.nativeElement.removeEventListener('keydown', this.keyDownHandler);
173
182
  }
174
183
  /**
175
184
  * @hidden
@@ -187,8 +196,14 @@ export class PagerPageSizesComponent extends PagerElementComponent {
187
196
  this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
188
197
  this.cd.markForCheck();
189
198
  }
199
+ keyDownHandler(ev) {
200
+ if (ev.keyCode === Keys.Escape && this.dropDownList.isOpen) {
201
+ ev.stopPropagation();
202
+ this.dropDownList.toggle(false);
203
+ }
204
+ }
190
205
  }
191
- PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
206
+ PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
192
207
  PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerPageSizesComponent, selector: "kendo-datapager-page-sizes", inputs: { pageSizes: "pageSizes" }, host: { properties: { "class.k-pager-sizes": "this.classes", "class.k-label": "this.classes" } }, viewQueries: [{ propertyName: "dropDownList", first: true, predicate: ["dropdownlist"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
193
208
  <kendo-dropdownlist kendoPagerFocusable
194
209
  #dropdownlist
@@ -217,7 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
217
232
  {{ textFor('itemsPerPage') }}
218
233
  `
219
234
  }]
220
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { dropDownList: [{
235
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { dropDownList: [{
221
236
  type: ViewChild,
222
237
  args: ['dropdownlist', { static: true }]
223
238
  }], pageSizes: [{
@@ -232,11 +232,13 @@ export class PagerComponent {
232
232
  const isFirstPage = this.currentPage === 1;
233
233
  const isLastPage = this.currentPage === this.totalPages;
234
234
  this.ngZone.run(() => {
235
- if (isHome && !isFirstPage) {
236
- this.pagerContext.changePage(0);
235
+ if (isHome) {
236
+ e.preventDefault();
237
+ !isFirstPage && this.pagerContext.changePage(0);
237
238
  }
238
- else if (isEnd && !isLastPage) {
239
- this.pagerContext.changePage(this.totalPages - 1);
239
+ else if (isEnd) {
240
+ e.preventDefault();
241
+ !isLastPage && this.pagerContext.changePage(this.totalPages - 1);
240
242
  }
241
243
  else if (this.isInnerNavigationEnabled) {
242
244
  if (isEsc) {
@@ -248,11 +250,13 @@ export class PagerComponent {
248
250
  }
249
251
  }
250
252
  else {
251
- if (isArrowLeftOrPageUp && !isFirstPage) {
252
- this.pagerContext.prevPage();
253
+ if (isArrowLeftOrPageUp) {
254
+ e.preventDefault();
255
+ !isFirstPage && this.pagerContext.prevPage();
253
256
  }
254
- else if (isArrowRightOrPageDown && !isLastPage) {
255
- this.pagerContext.nextPage();
257
+ else if (isArrowRightOrPageDown) {
258
+ e.preventDefault();
259
+ !isLastPage && this.pagerContext.nextPage();
256
260
  }
257
261
  else if (isEnter) {
258
262
  if (e.target !== wrapper) {
@@ -7,14 +7,14 @@ import { Directive, Input, forwardRef, Component, ChangeDetectionStrategy, ViewC
7
7
  import * as i1 from '@progress/kendo-angular-l10n';
8
8
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
9
9
  import { Subject, Subscription } from 'rxjs';
10
+ import * as i6 from '@progress/kendo-angular-common';
11
+ import { Keys, anyChanged, ResizeSensorComponent, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
10
12
  import * as i3 from '@progress/kendo-angular-dropdowns';
11
13
  import { DropDownListModule } from '@progress/kendo-angular-dropdowns';
12
14
  import * as i4 from '@angular/common';
13
15
  import { CommonModule } from '@angular/common';
14
16
  import * as i3$1 from '@progress/kendo-angular-inputs';
15
17
  import { NumericTextBoxComponent, NumericTextBoxModule } from '@progress/kendo-angular-inputs';
16
- import * as i6 from '@progress/kendo-angular-common';
17
- import { Keys, anyChanged, ResizeSensorComponent, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
18
18
  import { validatePackage } from '@progress/kendo-licensing';
19
19
 
20
20
  /**
@@ -462,9 +462,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
462
462
  * Displays a drop-down list for the page size selection ([see example]({% slug pager_settings %})).
463
463
  */
464
464
  class PagerPageSizesComponent extends PagerElementComponent {
465
- constructor(localization, cd, pagerContext) {
465
+ constructor(localization, cd, pagerContext, element, ngZone) {
466
466
  super(localization, pagerContext, cd);
467
467
  this.pagerContext = pagerContext;
468
+ this.element = element;
469
+ this.ngZone = ngZone;
468
470
  this._pageSizes = [];
469
471
  }
470
472
  /**
@@ -618,6 +620,12 @@ class PagerPageSizesComponent extends PagerElementComponent {
618
620
  }
619
621
  ngAfterViewInit() {
620
622
  this.dropDownList.wrapper.nativeElement.setAttribute('aria-label', this.textFor('itemsPerPage'));
623
+ this.ngZone.runOutsideAngular(() => {
624
+ this.element.nativeElement.addEventListener('keydown', this.keyDownHandler.bind(this), true);
625
+ });
626
+ }
627
+ ngOnDestroy() {
628
+ this.element.nativeElement.removeEventListener('keydown', this.keyDownHandler);
621
629
  }
622
630
  /**
623
631
  * @hidden
@@ -635,8 +643,14 @@ class PagerPageSizesComponent extends PagerElementComponent {
635
643
  this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
636
644
  this.cd.markForCheck();
637
645
  }
646
+ keyDownHandler(ev) {
647
+ if (ev.keyCode === Keys.Escape && this.dropDownList.isOpen) {
648
+ ev.stopPropagation();
649
+ this.dropDownList.toggle(false);
650
+ }
651
+ }
638
652
  }
639
- PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
653
+ PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
640
654
  PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerPageSizesComponent, selector: "kendo-datapager-page-sizes", inputs: { pageSizes: "pageSizes" }, host: { properties: { "class.k-pager-sizes": "this.classes", "class.k-label": "this.classes" } }, viewQueries: [{ propertyName: "dropDownList", first: true, predicate: ["dropdownlist"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
641
655
  <kendo-dropdownlist kendoPagerFocusable
642
656
  #dropdownlist
@@ -665,7 +679,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
665
679
  {{ textFor('itemsPerPage') }}
666
680
  `
667
681
  }]
668
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { dropDownList: [{
682
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { dropDownList: [{
669
683
  type: ViewChild,
670
684
  args: ['dropdownlist', { static: true }]
671
685
  }], pageSizes: [{
@@ -1226,7 +1240,7 @@ const packageMetadata = {
1226
1240
  name: '@progress/kendo-angular-pager',
1227
1241
  productName: 'Kendo UI for Angular',
1228
1242
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
1229
- publishDate: 1669192614,
1243
+ publishDate: 1669366305,
1230
1244
  version: '',
1231
1245
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
1232
1246
  };
@@ -1437,11 +1451,13 @@ class PagerComponent {
1437
1451
  const isFirstPage = this.currentPage === 1;
1438
1452
  const isLastPage = this.currentPage === this.totalPages;
1439
1453
  this.ngZone.run(() => {
1440
- if (isHome && !isFirstPage) {
1441
- this.pagerContext.changePage(0);
1454
+ if (isHome) {
1455
+ e.preventDefault();
1456
+ !isFirstPage && this.pagerContext.changePage(0);
1442
1457
  }
1443
- else if (isEnd && !isLastPage) {
1444
- this.pagerContext.changePage(this.totalPages - 1);
1458
+ else if (isEnd) {
1459
+ e.preventDefault();
1460
+ !isLastPage && this.pagerContext.changePage(this.totalPages - 1);
1445
1461
  }
1446
1462
  else if (this.isInnerNavigationEnabled) {
1447
1463
  if (isEsc) {
@@ -1453,11 +1469,13 @@ class PagerComponent {
1453
1469
  }
1454
1470
  }
1455
1471
  else {
1456
- if (isArrowLeftOrPageUp && !isFirstPage) {
1457
- this.pagerContext.prevPage();
1472
+ if (isArrowLeftOrPageUp) {
1473
+ e.preventDefault();
1474
+ !isFirstPage && this.pagerContext.prevPage();
1458
1475
  }
1459
- else if (isArrowRightOrPageDown && !isLastPage) {
1460
- this.pagerContext.nextPage();
1476
+ else if (isArrowRightOrPageDown) {
1477
+ e.preventDefault();
1478
+ !isLastPage && this.pagerContext.nextPage();
1461
1479
  }
1462
1480
  else if (isEnter) {
1463
1481
  if (e.target !== wrapper) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-pager",
3
- "version": "4.1.0-dev.202211230837",
3
+ "version": "4.1.0-dev.202211250852",
4
4
  "description": "Kendo UI Angular Pager",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { ChangeDetectorRef, AfterViewInit } from '@angular/core';
5
+ import { ChangeDetectorRef, AfterViewInit, ElementRef, OnDestroy, NgZone } from '@angular/core';
6
6
  import { PagerElementComponent } from './pager-element.component';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { PagerContextService, PagerContextChanges } from "./pager-context.service";
@@ -12,8 +12,10 @@ import * as i0 from "@angular/core";
12
12
  /**
13
13
  * Displays a drop-down list for the page size selection ([see example]({% slug pager_settings %})).
14
14
  */
15
- export declare class PagerPageSizesComponent extends PagerElementComponent implements AfterViewInit {
15
+ export declare class PagerPageSizesComponent extends PagerElementComponent implements AfterViewInit, OnDestroy {
16
16
  protected pagerContext: PagerContextService;
17
+ private element;
18
+ private ngZone;
17
19
  private dropDownList;
18
20
  /**
19
21
  * The page sizes collection. Can contain numbers and [PageSizeItem]({% slug api_pager_pagesizeitem %}) objects.
@@ -142,13 +144,15 @@ export declare class PagerPageSizesComponent extends PagerElementComponent imple
142
144
  */
143
145
  get classes(): boolean;
144
146
  private _pageSizes;
145
- constructor(localization: LocalizationService, cd: ChangeDetectorRef, pagerContext: PagerContextService);
147
+ constructor(localization: LocalizationService, cd: ChangeDetectorRef, pagerContext: PagerContextService, element: ElementRef, ngZone: NgZone);
146
148
  ngAfterViewInit(): void;
149
+ ngOnDestroy(): void;
147
150
  /**
148
151
  * @hidden
149
152
  */
150
153
  pageSizeChange(value: any, dropdownlist: DropDownListComponent): void;
151
154
  protected onChanges({ total, skip, pageSize }: PagerContextChanges): void;
155
+ private keyDownHandler;
152
156
  static ɵfac: i0.ɵɵFactoryDeclaration<PagerPageSizesComponent, never>;
153
157
  static ɵcmp: i0.ɵɵComponentDeclaration<PagerPageSizesComponent, "kendo-datapager-page-sizes", never, { "pageSizes": "pageSizes"; }, {}, never, never>;
154
158
  }