@progress/kendo-angular-pager 4.1.0-dev.202211230837 → 11.0.0-develop.79

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.
Files changed (64) hide show
  1. package/NOTICE.txt +3 -3
  2. package/{esm2015/main.js → esm2020/index.mjs} +1 -1
  3. package/{esm2015/package-metadata.js → esm2020/package-metadata.mjs} +3 -3
  4. package/{esm2015/pager/change-event-args.interface.js → esm2020/pager/change-event-args.interface.mjs} +1 -1
  5. package/{esm2015/pager/common/constants.js → esm2020/pager/common/constants.mjs} +1 -1
  6. package/{esm2015/pager/pagesize-item.interface.js → esm2020/pager/common/pager-classes.mjs} +1 -1
  7. package/{esm2015/pager/common/pager-type.js → esm2020/pager/common/pager-size.mjs} +1 -1
  8. package/esm2020/pager/common/pager-type.mjs +5 -0
  9. package/{esm2015/pager/focusable.directive.js → esm2020/pager/focusable.directive.mjs} +6 -5
  10. package/{esm2015/pager/localization/custom-messages.component.js → esm2020/pager/localization/custom-messages.component.mjs} +5 -4
  11. package/{esm2015/pager/localization/localized-messages.directive.js → esm2020/pager/localization/localized-messages.directive.mjs} +5 -4
  12. package/{esm2015/pager/localization/messages.js → esm2020/pager/localization/messages.mjs} +4 -4
  13. package/{esm2015/pager/navigation.service.js → esm2020/pager/navigation.service.mjs} +1 -1
  14. package/{esm2015/pager/pager-context.service.js → esm2020/pager/pager-context.service.mjs} +1 -1
  15. package/{esm2015/pager/pager-element.component.js → esm2020/pager/pager-element.component.mjs} +7 -5
  16. package/{esm2015/pager/pager-info.component.js → esm2020/pager/pager-info.component.mjs} +7 -8
  17. package/{esm2015/pager/pager-input.component.js → esm2020/pager/pager-input.component.mjs} +23 -6
  18. package/{esm2015/pager/pager-next-buttons.component.js → esm2020/pager/pager-next-buttons.component.mjs} +56 -32
  19. package/esm2020/pager/pager-numeric-buttons.component.mjs +273 -0
  20. package/{esm2015/pager/pager-page-sizes.component.js → esm2020/pager/pager-page-sizes.component.mjs} +42 -10
  21. package/{esm2015/pager/pager-prev-buttons.component.js → esm2020/pager/pager-prev-buttons.component.mjs} +52 -28
  22. package/{esm2015/pager/pager-template.directive.js → esm2020/pager/pager-template.directive.mjs} +5 -5
  23. package/{esm2015/pager/pager.component.js → esm2020/pager/pager.component.mjs} +84 -43
  24. package/{esm2015/pager/pager.module.js → esm2020/pager/pager.module.mjs} +8 -5
  25. package/esm2020/pager/pagesize-item.interface.mjs +5 -0
  26. package/{esm2015/pager/pagesizechange-event.js → esm2020/pager/pagesizechange-event.mjs} +1 -1
  27. package/{esm2015/pager/preventable-event.js → esm2020/pager/preventable-event.mjs} +1 -1
  28. package/{esm2015/kendo-angular-pager.js → esm2020/progress-kendo-angular-pager.mjs} +2 -2
  29. package/{esm2015/util.js → esm2020/util.mjs} +26 -1
  30. package/fesm2015/progress-kendo-angular-pager.mjs +1941 -0
  31. package/{fesm2015/kendo-angular-pager.js → fesm2020/progress-kendo-angular-pager.mjs} +421 -221
  32. package/{main.d.ts → index.d.ts} +2 -1
  33. package/package-metadata.d.ts +1 -1
  34. package/package.json +29 -55
  35. package/pager/change-event-args.interface.d.ts +1 -1
  36. package/pager/common/constants.d.ts +1 -1
  37. package/pager/common/pager-classes.d.ts +11 -0
  38. package/pager/common/pager-size.d.ts +9 -0
  39. package/pager/common/pager-type.d.ts +1 -1
  40. package/pager/focusable.directive.d.ts +1 -1
  41. package/pager/localization/custom-messages.component.d.ts +1 -1
  42. package/pager/localization/localized-messages.directive.d.ts +1 -1
  43. package/pager/localization/messages.d.ts +1 -1
  44. package/pager/navigation.service.d.ts +1 -1
  45. package/pager/pager-context.service.d.ts +1 -1
  46. package/pager/pager-element.component.d.ts +1 -1
  47. package/pager/pager-info.component.d.ts +1 -1
  48. package/pager/pager-input.component.d.ts +13 -2
  49. package/pager/pager-next-buttons.component.d.ts +13 -2
  50. package/pager/pager-numeric-buttons.component.d.ts +21 -5
  51. package/pager/pager-page-sizes.component.d.ts +20 -5
  52. package/pager/pager-prev-buttons.component.d.ts +13 -2
  53. package/pager/pager-template.directive.d.ts +1 -1
  54. package/pager/pager.component.d.ts +19 -5
  55. package/pager/pager.module.d.ts +4 -3
  56. package/pager/pagesize-item.interface.d.ts +1 -1
  57. package/pager/pagesizechange-event.d.ts +1 -1
  58. package/pager/preventable-event.d.ts +1 -1
  59. package/{kendo-angular-pager.d.ts → progress-kendo-angular-pager.d.ts} +2 -2
  60. package/schematics/ngAdd/index.js +1 -5
  61. package/util.d.ts +13 -1
  62. package/bundles/kendo-angular-pager.umd.js +0 -5
  63. package/esm2015/pager/pager-numeric-buttons.component.js +0 -217
  64. package/schematics/ngAdd/index.js.map +0 -1
@@ -0,0 +1,273 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild, Renderer2, ElementRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { PagerContextService } from './pager-context.service';
8
+ import { PagerElementComponent } from './pager-element.component';
9
+ import { DEFAULT_SIZE, getStylingClasses } from '../util';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@progress/kendo-angular-l10n";
12
+ import * as i2 from "./pager-context.service";
13
+ import * as i3 from "@progress/kendo-angular-buttons";
14
+ import * as i4 from "./focusable.directive";
15
+ import * as i5 from "@angular/common";
16
+ /**
17
+ * Displays numeric buttons to enable navigation between the pages.
18
+ */
19
+ export class PagerNumericButtonsComponent extends PagerElementComponent {
20
+ constructor(localization, cd, pagerContext, renderer) {
21
+ super(localization, pagerContext, cd);
22
+ this.pagerContext = pagerContext;
23
+ this.renderer = renderer;
24
+ this._size = DEFAULT_SIZE;
25
+ }
26
+ /**
27
+ * Specifies the padding of the numeric buttons.
28
+ *
29
+ * The possible values are:
30
+ * * `small`
31
+ * * `medium` (default)
32
+ * * `large`
33
+ * * `none`
34
+ */
35
+ set size(size) {
36
+ const newSize = size ? size : DEFAULT_SIZE;
37
+ this.handleClasses(newSize, 'size');
38
+ this._size = newSize;
39
+ }
40
+ get size() {
41
+ return this._size;
42
+ }
43
+ /**
44
+ * @hidden
45
+ *
46
+ * @readonly
47
+ * @type {number[]}
48
+ * @memberOf PagerNumericButtonsComponent
49
+ */
50
+ get buttons() {
51
+ const result = [];
52
+ for (let idx = this.start; idx <= this.end; idx++) {
53
+ result.push(idx);
54
+ }
55
+ return result;
56
+ }
57
+ /**
58
+ * @hidden
59
+ */
60
+ get end() {
61
+ return Math.min((this.start + this.buttonCount) - 1, this.totalPages);
62
+ }
63
+ /**
64
+ * @hidden
65
+ */
66
+ get start() {
67
+ const page = this.currentPage;
68
+ const buttonCount = this.buttonCount;
69
+ if (page > buttonCount) {
70
+ const reminder = (page % buttonCount);
71
+ return (reminder === 0) ? (page - buttonCount) + 1 : (page - reminder) + 1;
72
+ }
73
+ return 1;
74
+ }
75
+ ngAfterViewInit() {
76
+ this.handleClasses(this.size, 'size');
77
+ }
78
+ /**
79
+ * @hidden
80
+ */
81
+ pageLabel(num) {
82
+ const pageText = this.textFor('page');
83
+ if (pageText) {
84
+ return pageText + ' ' + num;
85
+ }
86
+ return num.toString();
87
+ }
88
+ /**
89
+ * @hidden
90
+ */
91
+ onSelectChange(e) {
92
+ const target = e.target;
93
+ const valueAsNumber = Number(target.value);
94
+ if (!Number.isNaN(valueAsNumber)) {
95
+ this.changePage(valueAsNumber - 1);
96
+ }
97
+ else {
98
+ if (target.value === 'previousButtons') {
99
+ this.changePage(this.start - 2);
100
+ }
101
+ else {
102
+ this.changePage(this.end);
103
+ }
104
+ }
105
+ }
106
+ onChanges({ total, skip, pageSize }) {
107
+ this.total = total;
108
+ this.skip = skip;
109
+ this.pageSize = pageSize;
110
+ this.cd.markForCheck();
111
+ }
112
+ get pageChooserLabel() {
113
+ return this.textFor('selectPage');
114
+ }
115
+ handleClasses(value, input) {
116
+ const elem = this.selectElement?.nativeElement;
117
+ const classes = getStylingClasses('picker', input, this[input], value);
118
+ if (!elem) {
119
+ return;
120
+ }
121
+ if (classes.toRemove) {
122
+ this.renderer.removeClass(elem, classes.toRemove);
123
+ }
124
+ if (classes.toAdd) {
125
+ this.renderer.addClass(elem, classes.toAdd);
126
+ }
127
+ }
128
+ }
129
+ PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
130
+ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons", inputs: { buttonCount: "buttonCount", size: "size" }, viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["select"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
131
+ <select kendoPagerFocusable #select
132
+ class="k-dropdown-list k-dropdown k-picker k-rounded-md"
133
+ [attr.title]="pageChooserLabel"
134
+ [attr.aria-label]="pageChooserLabel"
135
+ (change)="onSelectChange($event)">
136
+ <option *ngIf="start > 1"
137
+ value="previousButtons"
138
+ [selected]="false"
139
+ [attr.aria-label]="pageLabel(start - 1)">...
140
+ </option>
141
+ <option *ngFor="let num of buttons"
142
+ [value]="num.toString()"
143
+ [selected]="num === currentPage"
144
+ [attr.aria-label]="pageLabel(num)"
145
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
146
+ [ngClass]="{'k-selected':currentPage === num}">
147
+ {{num}}
148
+ </option>
149
+ <option *ngIf="end < totalPages"
150
+ value="nextButtons"
151
+ [selected]="false"
152
+ [attr.aria-label]="pageLabel(end + 1)">...
153
+ </option>
154
+ </select>
155
+ <div [ngClass]="{'k-pager-numbers': true}">
156
+ <button *ngIf="start > 1"
157
+ type="button"
158
+ kendoPagerFocusable
159
+ kendoButton
160
+ [size]="size"
161
+ fillMode="flat"
162
+ themeColor="primary"
163
+ rounded="none"
164
+ [attr.aria-label]="pageLabel(start - 1)"
165
+ [attr.title]="pageLabel(start - 1)"
166
+ (click)="changePage(start - 2)">...</button>
167
+ <button *ngFor="let num of buttons"
168
+ type="button"
169
+ kendoPagerFocusable
170
+ kendoButton
171
+ [size]="size"
172
+ fillMode="flat"
173
+ themeColor="primary"
174
+ rounded="none"
175
+ [attr.aria-label]="pageLabel(num)"
176
+ [attr.title]="pageLabel(num)"
177
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
178
+ [selected]="currentPage === num"
179
+ (click)="changePage(num - 1)">
180
+ {{num}}
181
+ </button>
182
+ <button *ngIf="end < totalPages"
183
+ type="button"
184
+ kendoPagerFocusable
185
+ kendoButton
186
+ [size]="size"
187
+ fillMode="flat"
188
+ themeColor="primary"
189
+ rounded="none"
190
+ [attr.aria-label]="pageLabel(end + 1)"
191
+ [attr.title]="pageLabel(end + 1)"
192
+ (click)="changePage(end)">...</button>
193
+ </div>
194
+ `, isInline: true, components: [{ type: i3.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerNumericButtonsComponent, decorators: [{
196
+ type: Component,
197
+ args: [{
198
+ changeDetection: ChangeDetectionStrategy.OnPush,
199
+ selector: 'kendo-datapager-numeric-buttons',
200
+ template: `
201
+ <select kendoPagerFocusable #select
202
+ class="k-dropdown-list k-dropdown k-picker k-rounded-md"
203
+ [attr.title]="pageChooserLabel"
204
+ [attr.aria-label]="pageChooserLabel"
205
+ (change)="onSelectChange($event)">
206
+ <option *ngIf="start > 1"
207
+ value="previousButtons"
208
+ [selected]="false"
209
+ [attr.aria-label]="pageLabel(start - 1)">...
210
+ </option>
211
+ <option *ngFor="let num of buttons"
212
+ [value]="num.toString()"
213
+ [selected]="num === currentPage"
214
+ [attr.aria-label]="pageLabel(num)"
215
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
216
+ [ngClass]="{'k-selected':currentPage === num}">
217
+ {{num}}
218
+ </option>
219
+ <option *ngIf="end < totalPages"
220
+ value="nextButtons"
221
+ [selected]="false"
222
+ [attr.aria-label]="pageLabel(end + 1)">...
223
+ </option>
224
+ </select>
225
+ <div [ngClass]="{'k-pager-numbers': true}">
226
+ <button *ngIf="start > 1"
227
+ type="button"
228
+ kendoPagerFocusable
229
+ kendoButton
230
+ [size]="size"
231
+ fillMode="flat"
232
+ themeColor="primary"
233
+ rounded="none"
234
+ [attr.aria-label]="pageLabel(start - 1)"
235
+ [attr.title]="pageLabel(start - 1)"
236
+ (click)="changePage(start - 2)">...</button>
237
+ <button *ngFor="let num of buttons"
238
+ type="button"
239
+ kendoPagerFocusable
240
+ kendoButton
241
+ [size]="size"
242
+ fillMode="flat"
243
+ themeColor="primary"
244
+ rounded="none"
245
+ [attr.aria-label]="pageLabel(num)"
246
+ [attr.title]="pageLabel(num)"
247
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
248
+ [selected]="currentPage === num"
249
+ (click)="changePage(num - 1)">
250
+ {{num}}
251
+ </button>
252
+ <button *ngIf="end < totalPages"
253
+ type="button"
254
+ kendoPagerFocusable
255
+ kendoButton
256
+ [size]="size"
257
+ fillMode="flat"
258
+ themeColor="primary"
259
+ rounded="none"
260
+ [attr.aria-label]="pageLabel(end + 1)"
261
+ [attr.title]="pageLabel(end + 1)"
262
+ (click)="changePage(end)">...</button>
263
+ </div>
264
+ `
265
+ }]
266
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }, { type: i0.Renderer2 }]; }, propDecorators: { selectElement: [{
267
+ type: ViewChild,
268
+ args: ['select', { read: ElementRef }]
269
+ }], buttonCount: [{
270
+ type: Input
271
+ }], size: [{
272
+ type: Input
273
+ }] } });
@@ -1,10 +1,15 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, ChangeDetectionStrategy, HostBinding, Input, ViewChild } from '@angular/core';
5
+ import { Component, ChangeDetectorRef, ChangeDetectionStrategy, HostBinding, Input, ViewChild, ElementRef, NgZone } from '@angular/core';
6
6
  import { PagerElementComponent } from './pager-element.component';
7
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
8
+ import { PagerContextService } from "./pager-context.service";
7
9
  import { PageSizeChangeEvent } from './pagesizechange-event';
10
+ import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
11
+ import { Keys } from '@progress/kendo-angular-common';
12
+ import { DEFAULT_SIZE } from '../util';
8
13
  import * as i0 from "@angular/core";
9
14
  import * as i1 from "@progress/kendo-angular-l10n";
10
15
  import * as i2 from "./pager-context.service";
@@ -14,9 +19,21 @@ import * as i4 from "./focusable.directive";
14
19
  * Displays a drop-down list for the page size selection ([see example]({% slug pager_settings %})).
15
20
  */
16
21
  export class PagerPageSizesComponent extends PagerElementComponent {
17
- constructor(localization, cd, pagerContext) {
22
+ constructor(localization, cd, pagerContext, element, ngZone) {
18
23
  super(localization, pagerContext, cd);
19
24
  this.pagerContext = pagerContext;
25
+ this.element = element;
26
+ this.ngZone = ngZone;
27
+ /**
28
+ * Specifies the padding of the dropdown.
29
+ *
30
+ * The possible values are:
31
+ * * `small`
32
+ * * `medium` (default)
33
+ * * `large`
34
+ * * `none`
35
+ */
36
+ this.size = DEFAULT_SIZE;
20
37
  this._pageSizes = [];
21
38
  }
22
39
  /**
@@ -170,6 +187,12 @@ export class PagerPageSizesComponent extends PagerElementComponent {
170
187
  }
171
188
  ngAfterViewInit() {
172
189
  this.dropDownList.wrapper.nativeElement.setAttribute('aria-label', this.textFor('itemsPerPage'));
190
+ this.ngZone.runOutsideAngular(() => {
191
+ this.element.nativeElement.addEventListener('keydown', this.keyDownHandler.bind(this), true);
192
+ });
193
+ }
194
+ ngOnDestroy() {
195
+ this.element.nativeElement.removeEventListener('keydown', this.keyDownHandler);
173
196
  }
174
197
  /**
175
198
  * @hidden
@@ -187,11 +210,19 @@ export class PagerPageSizesComponent extends PagerElementComponent {
187
210
  this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
188
211
  this.cd.markForCheck();
189
212
  }
213
+ keyDownHandler(ev) {
214
+ if (ev.keyCode === Keys.Escape && this.dropDownList.isOpen) {
215
+ ev.stopPropagation();
216
+ this.dropDownList.toggle(false);
217
+ }
218
+ }
190
219
  }
191
- PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
192
- PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerPageSizesComponent, selector: "kendo-datapager-page-sizes", inputs: { pageSizes: "pageSizes" }, host: { properties: { "class.k-pager-sizes": "this.classes", "class.k-label": "this.classes" } }, viewQueries: [{ propertyName: "dropDownList", first: true, predicate: ["dropdownlist"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
220
+ PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PagerContextService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
221
+ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerPageSizesComponent, selector: "kendo-datapager-page-sizes", inputs: { pageSizes: "pageSizes", size: "size" }, host: { properties: { "class.k-pager-sizes": "this.classes" } }, viewQueries: [{ propertyName: "dropDownList", first: true, predicate: ["dropdownlist"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
193
222
  <kendo-dropdownlist kendoPagerFocusable
223
+ class="k-dropdown"
194
224
  #dropdownlist
225
+ [size]="size"
195
226
  [data]="pageSizes"
196
227
  textField="text"
197
228
  valueField="value"
@@ -200,14 +231,16 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
200
231
  (valueChange)="pageSizeChange($event, dropdownlist)"></kendo-dropdownlist>
201
232
  {{ textFor('itemsPerPage') }}
202
233
  `, isInline: true, components: [{ type: i3.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: i4.PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
204
235
  type: Component,
205
236
  args: [{
206
237
  changeDetection: ChangeDetectionStrategy.OnPush,
207
238
  selector: 'kendo-datapager-page-sizes',
208
239
  template: `
209
240
  <kendo-dropdownlist kendoPagerFocusable
241
+ class="k-dropdown"
210
242
  #dropdownlist
243
+ [size]="size"
211
244
  [data]="pageSizes"
212
245
  textField="text"
213
246
  valueField="value"
@@ -217,15 +250,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
217
250
  {{ textFor('itemsPerPage') }}
218
251
  `
219
252
  }]
220
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }]; }, propDecorators: { dropDownList: [{
253
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.PagerContextService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { dropDownList: [{
221
254
  type: ViewChild,
222
255
  args: ['dropdownlist', { static: true }]
223
256
  }], pageSizes: [{
224
257
  type: Input
258
+ }], size: [{
259
+ type: Input
225
260
  }], classes: [{
226
261
  type: HostBinding,
227
262
  args: ["class.k-pager-sizes"]
228
- }, {
229
- type: HostBinding,
230
- args: ["class.k-label"]
231
263
  }] } });
@@ -1,20 +1,34 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 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
5
  // eslint-disable no-access-missing-member
6
- import { Component, ChangeDetectionStrategy } from '@angular/core';
6
+ import { Component, ChangeDetectionStrategy, ChangeDetectorRef, Input } from '@angular/core';
7
+ import { PagerContextService } from "./pager-context.service";
7
8
  import { PagerElementComponent } from './pager-element.component';
9
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
10
+ import { DEFAULT_SIZE } from '../util';
8
11
  import * as i0 from "@angular/core";
9
12
  import * as i1 from "@progress/kendo-angular-l10n";
10
13
  import * as i2 from "./pager-context.service";
11
- import * as i3 from "./focusable.directive";
14
+ import * as i3 from "@progress/kendo-angular-buttons";
15
+ import * as i4 from "./focusable.directive";
12
16
  /**
13
17
  * Displays buttons for navigating to the first and to the previous page ([see example]({% slug pager_settings %})).
14
18
  */
15
19
  export class PagerPrevButtonsComponent extends PagerElementComponent {
16
20
  constructor(localization, pagerContext, cd) {
17
21
  super(localization, pagerContext, cd);
22
+ /**
23
+ * Specifies the padding of the buttons.
24
+ *
25
+ * The possible values are:
26
+ * * `small`
27
+ * * `medium` (default)
28
+ * * `large`
29
+ * * `none`
30
+ */
31
+ this.size = DEFAULT_SIZE;
18
32
  }
19
33
  /**
20
34
  * @hidden
@@ -33,55 +47,65 @@ export class PagerPrevButtonsComponent extends PagerElementComponent {
33
47
  this.cd.markForCheck();
34
48
  }
35
49
  }
36
- PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
37
- PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons", usesInheritance: true, ngImport: i0, template: `
50
+ PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
51
+ PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons", inputs: { size: "size" }, usesInheritance: true, ngImport: i0, template: `
38
52
  <button
39
- type="button" kendoPagerFocusable
40
- class="k-link k-pager-nav k-pager-first"
41
- [class.k-disabled]="disabled"
53
+ type="button" kendoButton kendoPagerFocusable
54
+ class="k-pager-nav k-pager-first"
55
+ [disabled]="disabled"
56
+ icon="caret-alt-to-left"
57
+ fillMode="flat"
58
+ rounded="none"
59
+ [size]="size"
42
60
  [title]="textFor('firstPage')"
43
61
  [attr.aria-label]="textFor('firstPage')"
44
- [attr.aria-disabled]="disabled ? true : undefined"
45
62
  (click)="currentPage !== 1 ? changePage(0) : false">
46
- <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor('firstPage')"></span>
47
63
  </button>
48
64
  <button
49
- type="button" kendoPagerFocusable
50
- class="k-link k-pager-nav"
51
- [class.k-disabled]="disabled"
65
+ type="button" kendoButton kendoPagerFocusable
66
+ class="k-pager-nav"
67
+ [disabled]="disabled"
68
+ icon="caret-alt-left"
69
+ fillMode="flat"
70
+ rounded="none"
71
+ [size]="size"
52
72
  [title]="textFor('previousPage')"
53
73
  [attr.aria-label]="textFor('previousPage')"
54
- [attr.aria-disabled]="disabled ? true : undefined"
55
74
  (click)="currentPage !== 1 ? changePage(currentPage-2) : false">
56
- <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor('previousPage')"></span>
57
75
  </button>
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: PagerPrevButtonsComponent, decorators: [{
76
+ `, isInline: true, components: [{ type: i3.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i4.PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
60
78
  type: Component,
61
79
  args: [{
62
80
  changeDetection: ChangeDetectionStrategy.OnPush,
63
81
  selector: 'kendo-datapager-prev-buttons',
64
82
  template: `
65
83
  <button
66
- type="button" kendoPagerFocusable
67
- class="k-link k-pager-nav k-pager-first"
68
- [class.k-disabled]="disabled"
84
+ type="button" kendoButton kendoPagerFocusable
85
+ class="k-pager-nav k-pager-first"
86
+ [disabled]="disabled"
87
+ icon="caret-alt-to-left"
88
+ fillMode="flat"
89
+ rounded="none"
90
+ [size]="size"
69
91
  [title]="textFor('firstPage')"
70
92
  [attr.aria-label]="textFor('firstPage')"
71
- [attr.aria-disabled]="disabled ? true : undefined"
72
93
  (click)="currentPage !== 1 ? changePage(0) : false">
73
- <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor('firstPage')"></span>
74
94
  </button>
75
95
  <button
76
- type="button" kendoPagerFocusable
77
- class="k-link k-pager-nav"
78
- [class.k-disabled]="disabled"
96
+ type="button" kendoButton kendoPagerFocusable
97
+ class="k-pager-nav"
98
+ [disabled]="disabled"
99
+ icon="caret-alt-left"
100
+ fillMode="flat"
101
+ rounded="none"
102
+ [size]="size"
79
103
  [title]="textFor('previousPage')"
80
104
  [attr.aria-label]="textFor('previousPage')"
81
- [attr.aria-disabled]="disabled ? true : undefined"
82
105
  (click)="currentPage !== 1 ? changePage(currentPage-2) : false">
83
- <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor('previousPage')"></span>
84
106
  </button>
85
107
  `
86
108
  }]
87
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }]; } });
109
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PagerContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
110
+ type: Input
111
+ }] } });
@@ -1,8 +1,8 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Directive, Optional } from '@angular/core';
5
+ import { Directive, TemplateRef, Optional } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Represents the pager template which helps to customize the pager appearance. To define a pager
@@ -51,9 +51,9 @@ export class PagerTemplateDirective {
51
51
  this.templateRef = templateRef;
52
52
  }
53
53
  }
54
- PagerTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
55
- PagerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PagerTemplateDirective, selector: "[kendoDataPagerTemplate]", ngImport: i0 });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerTemplateDirective, decorators: [{
54
+ PagerTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
55
+ PagerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: PagerTemplateDirective, selector: "[kendoDataPagerTemplate]", ngImport: i0 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerTemplateDirective, decorators: [{
57
57
  type: Directive,
58
58
  args: [{
59
59
  selector: '[kendoDataPagerTemplate]'