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

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,r,t,o,n,j,a,i,R){"use strict";function s(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 p=s(r),g=s(t),l=s(n),c=s(j),u=s(a),d=s(i),E=function(e,t){return(E=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 h(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}E(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function A(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 B(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 _(){this.prevented=!1}_.prototype.preventDefault=function(){this.prevented=!0},_.prototype.isDefaultPrevented=function(){return this.prevented};h(q,K=_);var K,H=q;function q(e){var t=K.call(this)||this;return t.newPageSize=e,t}h(U,G=t.ComponentMessages);var G,m=U;function U(){return null!==G&&G.apply(this,arguments)||this}m.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:m,deps:null,target:p.ɵɵFactoryTarget.Directive}),m.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:m,selector:"kendoPagerMessages",inputs:{firstPage:"firstPage",lastPage:"lastPage",previousPage:"previousPage",nextPage:"nextPage",page:"page",pageNumberInputTitle:"pageNumberInputTitle",itemsPerPage:"itemsPerPage",of:"of",items:"items",selectPage:"selectPage"},usesInheritance:!0,ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:m,decorators:[{type:r.Directive,args:[{selector:"kendoPagerMessages"}]}],propDecorators:{firstPage:[{type:r.Input}],lastPage:[{type:r.Input}],previousPage:[{type:r.Input}],nextPage:[{type:r.Input}],page:[{type:r.Input}],pageNumberInputTitle:[{type:r.Input}],itemsPerPage:[{type:r.Input}],of:[{type:r.Input}],items:[{type:r.Input}],selectPage:[{type:r.Input}]}});h($,W=m),Object.defineProperty($.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var W,f=$;function $(e){var t=W.call(this)||this;return t.service=e,t}f.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,deps:[{token:g.LocalizationService}],target:p.ɵɵFactoryTarget.Component}),f.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:f,selector:"kendo-datapager-messages",providers:[{provide:m,useExisting:r.forwardRef(function(){return f})}],usesInheritance:!0,ngImport:p,template:"",isInline:!0}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:f,decorators:[{type:r.Component,args:[{providers:[{provide:m,useExisting:r.forwardRef(function(){return f})}],selector:"kendo-datapager-messages",template:""}]}],ctorParameters:function(){return[{type:g.LocalizationService}]}});h(Z,Q=m);var Q,b=Z;function Z(e){var t=Q.call(this)||this;return t.service=e,t}b.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:b,deps:[{token:g.LocalizationService}],target:p.ɵɵFactoryTarget.Directive}),b.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:b,selector:"[kendoDataPagerLocalizedMessages]",providers:[{provide:m,useExisting:r.forwardRef(function(){return b})}],usesInheritance:!0,ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:b,decorators:[{type:r.Directive,args:[{providers:[{provide:m,useExisting:r.forwardRef(function(){return b})}],selector:"[kendoDataPagerLocalizedMessages]"}]}],ctorParameters:function(){return[{type:g.LocalizationService}]}});Object.defineProperty(y.prototype,"currentPage",{get:function(){return this.skip/this.pageSize},enumerable:!1,configurable:!0}),y.prototype.notifyChanges=function(e){this.total=e.total,this.pageSize=e.pageSize,this.skip=e.skip,this.changes.next(e)},y.prototype.changePage=function(e){this.pageChange.next({skip:e*this.pageSize,take:this.pageSize})},y.prototype.changePageSize=function(e){this.pageSizeChange.next(e)},y.prototype.nextPage=function(){var e=this.currentPage+1;e*this.pageSize<=this.total&&this.changePage(e)},y.prototype.prevPage=function(){var e=this.currentPage-1;0<=e*this.pageSize&&this.changePage(e)};var k=y;function y(){this.changes=new o.Subject,this.pageChange=new o.Subject,this.pageSizeChange=new o.Subject}Object.defineProperty(P.prototype,"currentPage",{get:function(){return Math.floor((this.skip||0)/this.pageSize)+1},enumerable:!1,configurable:!0}),Object.defineProperty(P.prototype,"totalPages",{get:function(){return Math.ceil((this.total||0)/this.pageSize)},enumerable:!1,configurable:!0}),P.prototype.textFor=function(e){return this.localization.get(e)},P.prototype.changePage=function(e){return this.pagerContext.changePage(e),!1},P.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()}))},P.prototype.ngOnDestroy=function(){this.subscriptions&&this.subscriptions.unsubscribe()};m=P;function P(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}m.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:m,deps:[{token:g.LocalizationService},{token:k},{token:p.ChangeDetectorRef}],target:p.ɵɵFactoryTarget.Component}),m.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:m,selector:"kendo-pager-element",ngImport:p,template:"",isInline:!0}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:m,decorators:[{type:r.Component,args:[{selector:"kendo-pager-element",template:""}]}],ctorParameters:function(){return[{type:g.LocalizationService},{type:k},{type:p.ChangeDetectorRef}]}});h(C,X=m),Object.defineProperty(C.prototype,"disabled",{get:function(){return 1===this.currentPage||!this.total},enumerable:!1,configurable:!0}),C.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 X,v=C;function C(e,t,n){return X.call(this,e,t,n)||this}v.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:v,deps:[{token:g.LocalizationService},{token:k},{token:p.ChangeDetectorRef}],target:p.ɵɵFactoryTarget.Component}),v.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:v,selector:"kendo-datapager-prev-buttons",usesInheritance:!0,ngImport:p,template:'\n <button\n type="button"\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"\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,changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:v,decorators:[{type:r.Component,args:[{changeDetection:r.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-prev-buttons",template:'\n <button\n type="button"\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"\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:g.LocalizationService},{type:k},{type:p.ChangeDetectorRef}]}});h(z,J=m),Object.defineProperty(z.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=B([{text:this.pageSize.toString(),value:this.pageSize}],A(n))),this._pageSizes=n},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"classes",{get:function(){return!0},enumerable:!1,configurable:!0}),z.prototype.ngAfterViewInit=function(){this.dropDownList.wrapper.nativeElement.setAttribute("aria-label",this.textFor("itemsPerPage"))},z.prototype.pageSizeChange=function(e,t){e=new H(e);this.pagerContext.changePageSize(e),e.isDefaultPrevented()&&t.writeValue(this.pageSize)},z.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 J,x=z;function z(e,t,n){e=J.call(this,e,n,t)||this;return e.pagerContext=n,e._pageSizes=[],e}x.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:x,deps:[{token:g.LocalizationService},{token:p.ChangeDetectorRef},{token:k}],target:p.ɵɵFactoryTarget.Component}),x.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:x,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:p,template:'\n <kendo-dropdownlist\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:l.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"]}],changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:x,decorators:[{type:r.Component,args:[{changeDetection:r.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-page-sizes",template:'\n <kendo-dropdownlist\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:g.LocalizationService},{type:p.ChangeDetectorRef},{type:k}]},propDecorators:{dropDownList:[{type:r.ViewChild,args:["dropdownlist",{static:!0}]}],pageSizes:[{type:r.Input}],classes:[{type:r.HostBinding,args:["class.k-pager-sizes"]},{type:r.HostBinding,args:["class.k-label"]}]}});var Y,I=function(e){this.templateRef=e},S=(I.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:I,deps:[{token:p.TemplateRef,optional:!0}],target:p.ɵɵFactoryTarget.Directive}),I.ɵdir=p.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.16",type:I,selector:"[kendoDataPagerTemplate]",ngImport:p}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:I,decorators:[{type:r.Directive,args:[{selector:"[kendoDataPagerTemplate]"}]}],ctorParameters:function(){return[{type:p.TemplateRef,decorators:[{type:r.Optional}]}]}}),h(D,Y=m),Object.defineProperty(D.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(D.prototype,"end",{get:function(){return Math.min(this.start+this.buttonCount-1,this.totalPages)},enumerable:!1,configurable:!0}),Object.defineProperty(D.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}),D.prototype.pageLabel=function(e){var t=this.textFor("page");return t?t+" "+e:e.toString()},D.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)},D.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(D.prototype,"pageChooserLabel",{get:function(){return this.textFor("selectPage")},enumerable:!1,configurable:!0}),D);function D(e,t,n){e=Y.call(this,e,n,t)||this;return e.pagerContext=n,e.numbersWrapClass=!0,e}S.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:S,deps:[{token:g.LocalizationService},{token:p.ChangeDetectorRef},{token:k}],target:p.ɵɵFactoryTarget.Component}),S.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:S,selector:"kendo-datapager-numeric-buttons",inputs:{buttonCount:"buttonCount"},host:{properties:{"class.k-pager-numbers-wrap":"this.numbersWrapClass"}},usesInheritance:!0,ngImport:p,template:'\n <select\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"\n class="k-link"\n [attr.aria-label]="pageLabel(start - 1)"\n (click)="changePage(start - 2)">...</button>\n </li>\n <li *ngFor="let num of buttons">\n <button\n type="button"\n [attr.aria-label]="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"\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)"\n (click)="changePage(end)">...</button>\n </li>\n </ul>\n ',isInline:!0,directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]}],changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:S,decorators:[{type:r.Component,args:[{changeDetection:r.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-numeric-buttons",template:'\n <select\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"\n class="k-link"\n [attr.aria-label]="pageLabel(start - 1)"\n (click)="changePage(start - 2)">...</button>\n </li>\n <li *ngFor="let num of buttons">\n <button\n type="button"\n [attr.aria-label]="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"\n class="k-link"\n [attr.aria-label]="pageLabel(end + 1)"\n (click)="changePage(end)">...</button>\n </li>\n </ul>\n '}]}],ctorParameters:function(){return[{type:g.LocalizationService},{type:p.ChangeDetectorRef},{type:k}]},propDecorators:{numbersWrapClass:[{type:r.HostBinding,args:["class.k-pager-numbers-wrap"]}],buttonCount:[{type:r.Input}]}});h(w,ee=m),Object.defineProperty(w.prototype,"disabled",{get:function(){return this.currentPage===this.totalPages||!this.total},enumerable:!1,configurable:!0}),w.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 ee,F=w;function w(e,t,n){return ee.call(this,e,t,n)||this}F.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:F,deps:[{token:g.LocalizationService},{token:k},{token:p.ChangeDetectorRef}],target:p.ɵɵFactoryTarget.Component}),F.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:F,selector:"kendo-datapager-next-buttons",usesInheritance:!0,ngImport:p,template:'\n <button\n type="button"\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"\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,changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:F,decorators:[{type:r.Component,args:[{changeDetection:r.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-next-buttons",template:'\n <button\n type="button"\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"\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:g.LocalizationService},{type:k},{type:p.ChangeDetectorRef}]}});h(T,te=m),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.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,O=T;function T(e,t,n,a){var r=te.call(this,e,t,a)||this;return r.pagerContext=t,r.zone=n,r.handleKeyDown=function(e){var t=r.numericInput.value||r.current;e.keyCode===i.Keys.Enter&&(e.preventDefault(),t!==r.current)&&r.zone.run(function(){r.changePage(t-1)})},r.handleBlur=function(){var e=r.numericInput.value;e?e!==r.current&&r.zone.run(function(){r.changePage(e-1)}):r.numericInput.writeValue(r.current)},r}O.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:O,deps:[{token:g.LocalizationService},{token:k},{token:p.NgZone},{token:p.ChangeDetectorRef}],target:p.ɵɵFactoryTarget.Component}),O.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:O,selector:"kendo-datapager-input",viewQueries:[{propertyName:"numericInput",first:!0,predicate:a.NumericTextBoxComponent,descendants:!0,static:!0}],usesInheritance:!0,ngImport:p,template:'\n <span [ngClass]="{\'k-pager-input\': true, \'k-label\': true}">\n {{textFor(\'page\')}}\n <kendo-numerictextbox\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:u.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:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:d.EventsOutsideAngularDirective,selector:"[kendoEventsOutsideAngular]",inputs:["kendoEventsOutsideAngular","scope"]}]}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:O,decorators:[{type:r.Component,args:[{selector:"kendo-datapager-input",template:'\n <span [ngClass]="{\'k-pager-input\': true, \'k-label\': true}">\n {{textFor(\'page\')}}\n <kendo-numerictextbox\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:g.LocalizationService},{type:k},{type:p.NgZone},{type:p.ChangeDetectorRef}]},propDecorators:{numericInput:[{type:r.ViewChild,args:[a.NumericTextBoxComponent,{static:!0}]}]}});h(V,ne=m),Object.defineProperty(V.prototype,"maxItems",{get:function(){return Math.min(this.currentPage*this.pageSize,this.total)},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"currentPageText",{get:function(){return this.total?(this.currentPage-1)*this.pageSize+1:0},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"classes",{get:function(){return!0},enumerable:!1,configurable:!0}),V.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 ne,L=V;function V(e,t,n){e=ne.call(this,e,n,t)||this;return e.pagerContext=n,e}L.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:L,deps:[{token:g.LocalizationService},{token:p.ChangeDetectorRef},{token:k}],target:p.ɵɵFactoryTarget.Component}),L.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:L,selector:"kendo-datapager-info",host:{properties:{"class.k-pager-info":"this.classes","class.k-label":"this.classes"}},usesInheritance:!0,ngImport:p,template:"{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}",isInline:!0,changeDetection:p.ChangeDetectionStrategy.OnPush}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:L,decorators:[{type:r.Component,args:[{changeDetection:r.ChangeDetectionStrategy.OnPush,selector:"kendo-datapager-info",template:"{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}"}]}],ctorParameters:function(){return[{type:g.LocalizationService},{type:p.ChangeDetectorRef},{type:k}]},propDecorators:{classes:[{type:r.HostBinding,args:["class.k-pager-info"]},{type:r.HostBinding,args:["class.k-label"]}]}});var ae=[5,10,20],re={name:"@progress/kendo-angular-pager",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1668672632,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"},N=(Object.defineProperty(M.prototype,"pageSizeValues",{get:function(){return this._pageSizeValues},set:function(e){this._pageSizeValues=Array.isArray(e)?e:!!e&&ae},enumerable:!1,configurable:!0}),Object.defineProperty(M.prototype,"dir",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(M.prototype,"totalPages",{get:function(){return Math.ceil((this.total||0)/this.pageSize)},enumerable:!1,configurable:!0}),Object.defineProperty(M.prototype,"currentPage",{get:function(){return Math.floor((this.skip||0)/this.pageSize)+1},enumerable:!1,configurable:!0}),Object.defineProperty(M.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}),M.prototype.ngOnInit=function(){var 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"}))},M.prototype.ngAfterViewInit=function(){this.resizeHandler()},M.prototype.ngOnChanges=function(e){i.anyChanged(["pageSize","skip","total"],e,!1)&&this.pagerContext.notifyChanges({pageSize:this.pageSize,skip:this.skip,total:this.total})},M.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},M.prototype.changePage=function(e){this.pageChange.emit(e)},M.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}))},M.prototype.onPageSizeChange=function(e){this.pageSizeChange.emit(e),e.isDefaultPrevented()||this.pageChange.emit({skip:this.skip,take:e.newPageSize})},M);function M(e,t,n){var a=this;this.pagerContext=e,this.element=t,this.localization=n,this.total=0,this.skip=0,this.buttonCount=10,this.info=!0,this.type="numeric",this.previousNext=!0,this.pageChange=new r.EventEmitter,this.pageSizeChange=new r.EventEmitter,this.pagerClass=!0,this.widgetRole="navigation",this.subscriptions=new o.Subscription,this._templateContext={},this._pageSizeValues=ae,this.resizeHandler=function(){var e,t;a.template||((t=(e=a.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(re),this.direction=n.rtl?"rtl":"ltr"}N.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:N,deps:[{token:k},{token:p.ElementRef},{token:g.LocalizationService}],target:p.ɵɵFactoryTarget.Component}),N.ɵcmp=p.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.16",type:N,selector:"kendo-datapager",inputs:{total:"total",skip:"skip",pageSize:"pageSize",buttonCount:"buttonCount",info:"info",type:"type",pageSizeValues:"pageSizeValues",previousNext:"previousNext"},outputs:{pageChange:"pageChange",pageSizeChange:"pageSizeChange"},host:{properties:{"class.k-pager":"this.pagerClass","attr.role":"this.widgetRole","attr.dir":"this.dir"}},providers:[t.LocalizationService,k],queries:[{propertyName:"template",first:!0,predicate:I,descendants:!0}],viewQueries:[{propertyName:"resizeSensor",first:!0,predicate:i.ResizeSensorComponent,descendants:!0,static:!0}],exportAs:["kendoDataPager"],usesOnChanges:!0,ngImport: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 </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:v,selector:"kendo-datapager-prev-buttons"},{type:S,selector:"kendo-datapager-numeric-buttons",inputs:["buttonCount"]},{type:O,selector:"kendo-datapager-input"},{type:F,selector:"kendo-datapager-next-buttons"},{type:L,selector:"kendo-datapager-info"},{type:x,selector:"kendo-datapager-page-sizes",inputs:["pageSizes"]},{type:d.ResizeSensorComponent,selector:"kendo-resize-sensor",inputs:["rateLimit"],outputs:["resize"]}],directives:[{type:b,selector:"[kendoDataPagerLocalizedMessages]"},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:N,decorators:[{type:r.Component,args:[{selector:"kendo-datapager",exportAs:"kendoDataPager",providers:[t.LocalizationService,k],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 </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:k},{type:p.ElementRef},{type:g.LocalizationService}]},propDecorators:{resizeSensor:[{type:r.ViewChild,args:[i.ResizeSensorComponent,{static:!0}]}],template:[{type:r.ContentChild,args:[I,{static:!1}]}],total:[{type:r.Input}],skip:[{type:r.Input}],pageSize:[{type:r.Input}],buttonCount:[{type:r.Input}],info:[{type:r.Input}],type:[{type:r.Input}],pageSizeValues:[{type:r.Input}],previousNext:[{type:r.Input}],pageChange:[{type:r.Output}],pageSizeChange:[{type:r.Output}],pagerClass:[{type:r.HostBinding,args:["class.k-pager"]}],widgetRole:[{type:r.HostBinding,args:["attr.role"]}],dir:[{type:r.HostBinding,args:["attr.dir"]}]}});l=[j.CommonModule,a.NumericTextBoxModule,n.DropDownListModule,i.EventsModule,i.ResizeSensorModule],u=[N,v,F,S,O,L,x,I,b,f],m=[{provide:t.L10N_PREFIX,useValue:"kendo.pager"}],oe.exports=function(){return[N,v,F,S,O,L,x,I]},d=oe;function oe(){}d.ɵfac=p.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:d,deps:[],target:p.ɵɵFactoryTarget.NgModule}),d.ɵmod=p.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:d,declarations:[N,v,F,S,O,L,x,I,b,f],imports:[j.CommonModule,a.NumericTextBoxModule,n.DropDownListModule,i.EventsModule,i.ResizeSensorModule],exports:[N,v,F,S,O,L,x,I,b,f]}),d.ɵinj=p.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:d,providers:[m],imports:[B([],A(l))]}),p.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.16",ngImport:p,type:d,decorators:[{type:r.NgModule,args:[{declarations:[u],exports:[u],imports:B([],A(l)),providers:[m]}]}]}),e.CustomMessagesComponent=f,e.LocalizedMessagesDirective=b,e.PageSizeChangeEvent=H,e.PagerComponent=N,e.PagerInfoComponent=L,e.PagerInputComponent=O,e.PagerModule=d,e.PagerNextButtonsComponent=F,e.PagerNumericButtonsComponent=S,e.PagerPageSizesComponent=x,e.PagerPrevButtonsComponent=v,e.PagerTemplateDirective=I,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-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})});
package/esm2015/main.js CHANGED
@@ -12,5 +12,6 @@ export { PagerNumericButtonsComponent } from './pager/pager-numeric-buttons.comp
12
12
  export { PagerNextButtonsComponent } from './pager/pager-next-buttons.component';
13
13
  export { PagerInputComponent } from './pager/pager-input.component';
14
14
  export { PagerInfoComponent } from './pager/pager-info.component';
15
+ export { PagerFocusableDirective } from './pager/focusable.directive';
15
16
  export { PagerComponent } from './pager/pager.component';
16
17
  export { PagerModule } from './pager/pager.module';
@@ -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: 1668672632,
12
+ publishDate: 1669192614,
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
  };
@@ -0,0 +1,51 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Directive } from '@angular/core';
6
+ import { Subscription } from 'rxjs';
7
+ import { focusableSelector } from '../util';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./navigation.service";
10
+ /**
11
+ * Place the directive on custom focusable elements in the [`kendoDataPagerTemplate`]({% slug api_pager_pagertemplatedirective %}) to include them in the built-in Pager keyboard navigation.
12
+ */
13
+ export class PagerFocusableDirective {
14
+ constructor(navigationService, element, renderer) {
15
+ this.navigationService = navigationService;
16
+ this.element = element;
17
+ this.renderer = renderer;
18
+ this.subscriptions = new Subscription();
19
+ }
20
+ ngOnInit() {
21
+ this.subscriptions.add(this.navigationService.innerNavigationChange.subscribe(this.innerNavigationChange.bind(this)));
22
+ }
23
+ ngOnDestroy() {
24
+ this.subscriptions.unsubscribe();
25
+ }
26
+ get nativeElement() {
27
+ return this.element.nativeElement;
28
+ }
29
+ innerNavigationChange(value) {
30
+ if (!this.navigationService.isNavigable) {
31
+ return;
32
+ }
33
+ const index = value ? '0' : '-1';
34
+ if (this.nativeElement.matches(focusableSelector)) {
35
+ this.renderer.setAttribute(this.nativeElement, 'tabindex', index);
36
+ }
37
+ const focusableElements = this.nativeElement.querySelectorAll(focusableSelector);
38
+ focusableElements.forEach(el => {
39
+ this.renderer.setAttribute(el, 'tabindex', index);
40
+ });
41
+ }
42
+ }
43
+ PagerFocusableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerFocusableDirective, deps: [{ token: i1.PagerNavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
44
+ PagerFocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"], ngImport: i0 });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerFocusableDirective, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: '[kendoPagerFocusable]',
49
+ exportAs: 'kendoPagerFocusable'
50
+ }]
51
+ }], ctorParameters: function () { return [{ type: i1.PagerNavigationService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
@@ -19,14 +19,14 @@ export class CustomMessagesComponent extends Messages {
19
19
  return true;
20
20
  }
21
21
  }
22
- CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23
- CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: CustomMessagesComponent, selector: "kendo-datapager-messages", providers: [
22
+ CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23
+ CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomMessagesComponent, selector: "kendo-datapager-messages", providers: [
24
24
  {
25
25
  provide: Messages,
26
26
  useExisting: forwardRef(() => CustomMessagesComponent)
27
27
  }
28
28
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CustomMessagesComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomMessagesComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  providers: [
@@ -15,14 +15,14 @@ export class LocalizedMessagesDirective extends Messages {
15
15
  this.service = service;
16
16
  }
17
17
  }
18
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
19
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: LocalizedMessagesDirective, selector: "[kendoDataPagerLocalizedMessages]", providers: [
18
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
19
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: LocalizedMessagesDirective, selector: "[kendoDataPagerLocalizedMessages]", providers: [
20
20
  {
21
21
  provide: Messages,
22
22
  useExisting: forwardRef(() => LocalizedMessagesDirective)
23
23
  }
24
24
  ], usesInheritance: true, ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  providers: [
@@ -10,9 +10,9 @@ import * as i0 from "@angular/core";
10
10
  */
11
11
  export class Messages extends ComponentMessages {
12
12
  }
13
- Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
- Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: Messages, selector: "kendoPagerMessages", inputs: { firstPage: "firstPage", lastPage: "lastPage", previousPage: "previousPage", nextPage: "nextPage", page: "page", pageNumberInputTitle: "pageNumberInputTitle", itemsPerPage: "itemsPerPage", of: "of", items: "items", selectPage: "selectPage" }, usesInheritance: true, ngImport: i0 });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: Messages, decorators: [{
13
+ Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
+ Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: Messages, 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: true, ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Messages, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
18
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -38,4 +38,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
38
38
  type: Input
39
39
  }], selectPage: [{
40
40
  type: Input
41
+ }], inputLabel: [{
42
+ type: Input
41
43
  }] } });
@@ -0,0 +1,37 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Subject } from "rxjs";
6
+ import { getAllFocusableChildren } from "../util";
7
+ /**
8
+ * @hidden
9
+ */
10
+ export class PagerNavigationService {
11
+ constructor() {
12
+ this.isNavigable = false;
13
+ this.innerNavigationChange = new Subject();
14
+ }
15
+ toggleInnerNavigation(value) {
16
+ this.innerNavigationChange.next(value);
17
+ }
18
+ keepFocusWithinComponent(wrapper, target, event) {
19
+ const [firstFocusable, lastFocusable] = this.getFirstAndLastFocusable(wrapper);
20
+ const tabAfterLastFocusable = !event.shiftKey && target === lastFocusable;
21
+ const shiftTabAfterFirstFocusable = event.shiftKey && target === firstFocusable;
22
+ if (tabAfterLastFocusable) {
23
+ event.preventDefault();
24
+ firstFocusable.focus();
25
+ }
26
+ if (shiftTabAfterFirstFocusable) {
27
+ event.preventDefault();
28
+ lastFocusable.focus();
29
+ }
30
+ }
31
+ getFirstAndLastFocusable(wrapper) {
32
+ const all = getAllFocusableChildren(wrapper);
33
+ const firstFocusable = all.length > 0 ? all[0] : parent;
34
+ const lastFocusable = all.length > 0 ? all[all.length - 1] : parent;
35
+ return [firstFocusable, lastFocusable];
36
+ }
37
+ }
@@ -75,9 +75,9 @@ export class PagerElementComponent {
75
75
  }
76
76
  }
77
77
  }
78
- PagerElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerElementComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
79
- PagerElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PagerElementComponent, selector: "kendo-pager-element", ngImport: i0, template: ``, isInline: true });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerElementComponent, decorators: [{
78
+ PagerElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerElementComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
79
+ PagerElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerElementComponent, selector: "kendo-pager-element", ngImport: i0, template: ``, isInline: true });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerElementComponent, decorators: [{
81
81
  type: Component,
82
82
  args: [{
83
83
  selector: 'kendo-pager-element',
@@ -55,9 +55,9 @@ export class PagerInfoComponent extends PagerElementComponent {
55
55
  this.cd.markForCheck();
56
56
  }
57
57
  }
58
- PagerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerInfoComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
59
- PagerInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PagerInfoComponent, selector: "kendo-datapager-info", host: { properties: { "class.k-pager-info": "this.classes", "class.k-label": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerInfoComponent, decorators: [{
58
+ PagerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerInfoComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
59
+ PagerInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerInfoComponent, selector: "kendo-datapager-info", host: { properties: { "class.k-pager-info": "this.classes", "class.k-label": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerInfoComponent, decorators: [{
61
61
  type: Component,
62
62
  args: [{
63
63
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -12,15 +12,17 @@ import * as i1 from "@progress/kendo-angular-l10n";
12
12
  import * as i2 from "./pager-context.service";
13
13
  import * as i3 from "@progress/kendo-angular-inputs";
14
14
  import * as i4 from "@angular/common";
15
- import * as i5 from "@progress/kendo-angular-common";
15
+ import * as i5 from "./focusable.directive";
16
+ import * as i6 from "@progress/kendo-angular-common";
16
17
  /**
17
18
  * Displays an input element which allows the typing and rendering of page numbers.
18
19
  */
19
20
  export class PagerInputComponent extends PagerElementComponent {
20
- constructor(localization, pagerContext, zone, cd) {
21
+ constructor(localization, pagerContext, zone, cd, renderer) {
21
22
  super(localization, pagerContext, cd);
22
23
  this.pagerContext = pagerContext;
23
24
  this.zone = zone;
25
+ this.renderer = renderer;
24
26
  /**
25
27
  * @hidden
26
28
  *
@@ -72,6 +74,10 @@ export class PagerInputComponent extends PagerElementComponent {
72
74
  get hasPages() {
73
75
  return this.totalPages !== 0;
74
76
  }
77
+ ngAfterViewInit() {
78
+ const innerNumericInput = this.numericInput.numericInput.nativeElement;
79
+ this.renderer.setAttribute(innerNumericInput, 'aria-label', this.textFor('inputLabel'));
80
+ }
75
81
  onChanges({ total, skip, pageSize }) {
76
82
  this.total = total;
77
83
  this.skip = skip;
@@ -79,11 +85,11 @@ export class PagerInputComponent extends PagerElementComponent {
79
85
  this.cd.markForCheck();
80
86
  }
81
87
  }
82
- PagerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerInputComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
83
- PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PagerInputComponent, selector: "kendo-datapager-input", viewQueries: [{ propertyName: "numericInput", first: true, predicate: NumericTextBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
88
+ PagerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerInputComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
89
+ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerInputComponent, selector: "kendo-datapager-input", viewQueries: [{ propertyName: "numericInput", first: true, predicate: NumericTextBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
84
90
  <span [ngClass]="{'k-pager-input': true, 'k-label': true}">
85
91
  {{textFor('page')}}
86
- <kendo-numerictextbox
92
+ <kendo-numerictextbox kendoPagerFocusable
87
93
  [spinners]="false"
88
94
  [decimals]="0"
89
95
  format="n0"
@@ -100,15 +106,15 @@ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
100
106
  </kendo-numerictextbox>
101
107
  {{textFor('of')}} {{totalPages}}
102
108
  </span>
103
- `, isInline: true, components: [{ type: i3.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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerInputComponent, decorators: [{
109
+ `, isInline: true, components: [{ type: i3.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: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }, { type: i6.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerInputComponent, decorators: [{
105
111
  type: Component,
106
112
  args: [{
107
113
  selector: 'kendo-datapager-input',
108
114
  template: `
109
115
  <span [ngClass]="{'k-pager-input': true, 'k-label': true}">
110
116
  {{textFor('page')}}
111
- <kendo-numerictextbox
117
+ <kendo-numerictextbox kendoPagerFocusable
112
118
  [spinners]="false"
113
119
  [decimals]="0"
114
120
  format="n0"
@@ -127,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
127
133
  </span>
128
134
  `
129
135
  }]
130
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { numericInput: [{
136
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { numericInput: [{
131
137
  type: ViewChild,
132
138
  args: [NumericTextBoxComponent, { static: true }]
133
139
  }] } });
@@ -8,6 +8,7 @@ import { PagerElementComponent } from './pager-element.component';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@progress/kendo-angular-l10n";
10
10
  import * as i2 from "./pager-context.service";
11
+ import * as i3 from "./focusable.directive";
11
12
  /**
12
13
  * Displays buttons for navigating to the next and to the last page ([see example]({% slug pager_settings %})).
13
14
  */
@@ -32,10 +33,10 @@ export class PagerNextButtonsComponent extends PagerElementComponent {
32
33
  this.cd.markForCheck();
33
34
  }
34
35
  }
35
- PagerNextButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerNextButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
- PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons", usesInheritance: true, ngImport: i0, template: `
36
+ PagerNextButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerNextButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
37
+ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons", usesInheritance: true, ngImport: i0, template: `
37
38
  <button
38
- type="button"
39
+ type="button" kendoPagerFocusable
39
40
  class="k-link k-pager-nav"
40
41
  [class.k-disabled]="disabled"
41
42
  [title]="textFor('nextPage')"
@@ -45,7 +46,7 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
45
46
  <span class="k-icon k-i-arrow-e" role="note" [attr.aria-label]="textFor('nextPage')"></span>
46
47
  </button>
47
48
  <button
48
- type="button"
49
+ type="button" kendoPagerFocusable
49
50
  class="k-link k-pager-nav k-pager-last"
50
51
  [class.k-disabled]="disabled"
51
52
  [title]="textFor('lastPage')"
@@ -54,15 +55,15 @@ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
54
55
  (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
55
56
  <span class="k-icon k-i-seek-e" role="note" [attr.aria-label]="textFor('lastPage')"></span>
56
57
  </button>
57
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
58
+ `, isInline: true, directives: [{ type: i3.PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
59
60
  type: Component,
60
61
  args: [{
61
62
  changeDetection: ChangeDetectionStrategy.OnPush,
62
63
  selector: 'kendo-datapager-next-buttons',
63
64
  template: `
64
65
  <button
65
- type="button"
66
+ type="button" kendoPagerFocusable
66
67
  class="k-link k-pager-nav"
67
68
  [class.k-disabled]="disabled"
68
69
  [title]="textFor('nextPage')"
@@ -72,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
72
73
  <span class="k-icon k-i-arrow-e" role="note" [attr.aria-label]="textFor('nextPage')"></span>
73
74
  </button>
74
75
  <button
75
- type="button"
76
+ type="button" kendoPagerFocusable
76
77
  class="k-link k-pager-nav k-pager-last"
77
78
  [class.k-disabled]="disabled"
78
79
  [title]="textFor('lastPage')"