@progress/kendo-angular-pager 4.0.6 → 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.
- package/bundles/kendo-angular-pager.umd.js +1 -1
- package/esm2015/main.js +1 -0
- package/esm2015/package-metadata.js +1 -1
- package/esm2015/pager/focusable.directive.js +51 -0
- package/esm2015/pager/localization/custom-messages.component.js +3 -3
- package/esm2015/pager/localization/localized-messages.directive.js +3 -3
- package/esm2015/pager/localization/messages.js +5 -3
- package/esm2015/pager/navigation.service.js +37 -0
- package/esm2015/pager/pager-element.component.js +3 -3
- package/esm2015/pager/pager-info.component.js +3 -3
- package/esm2015/pager/pager-input.component.js +15 -9
- package/esm2015/pager/pager-next-buttons.component.js +9 -8
- package/esm2015/pager/pager-numeric-buttons.component.js +20 -13
- package/esm2015/pager/pager-page-sizes.component.js +7 -6
- package/esm2015/pager/pager-prev-buttons.component.js +9 -8
- package/esm2015/pager/pager-template.directive.js +3 -3
- package/esm2015/pager/pager.component.js +138 -20
- package/esm2015/pager/pager.module.js +11 -7
- package/esm2015/util.js +26 -0
- package/fesm2015/kendo-angular-pager.js +320 -87
- package/main.d.ts +1 -0
- package/package.json +1 -1
- package/pager/focusable.directive.d.ts +23 -0
- package/pager/localization/messages.d.ts +5 -1
- package/pager/navigation.service.d.ts +15 -0
- package/pager/pager-input.component.d.ts +4 -2
- package/pager/pager.component.d.ts +27 -3
- package/pager/pager.module.d.ts +6 -5
- package/util.d.ts +8 -0
|
@@ -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:1668698798,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:
|
|
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.
|
|
23
|
-
CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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.
|
|
19
|
-
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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.
|
|
14
|
-
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
79
|
-
PagerElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
59
|
-
PagerInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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 "
|
|
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.
|
|
83
|
-
PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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.
|
|
36
|
-
PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
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.
|
|
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')"
|