@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
@@ -1,20 +1,22 @@
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
  import * as i0 from '@angular/core';
6
- import { Directive, Input, forwardRef, Component, ChangeDetectionStrategy, ViewChild, HostBinding, Optional, EventEmitter, ContentChild, Output, HostListener, NgModule } from '@angular/core';
6
+ import { Directive, Input, forwardRef, Component, ChangeDetectionStrategy, ViewChild, HostBinding, Optional, ElementRef, EventEmitter, ContentChild, Output, HostListener, NgModule } from '@angular/core';
7
7
  import * as i1 from '@progress/kendo-angular-l10n';
8
8
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
9
9
  import { Subject, Subscription } from 'rxjs';
10
- import * as i3 from '@progress/kendo-angular-dropdowns';
10
+ import * as i3 from '@progress/kendo-angular-buttons';
11
+ import { ButtonsModule } from '@progress/kendo-angular-buttons';
12
+ import * as i3$1 from '@progress/kendo-angular-dropdowns';
11
13
  import { DropDownListModule } from '@progress/kendo-angular-dropdowns';
12
- import * as i4 from '@angular/common';
13
- import { CommonModule } from '@angular/common';
14
- import * as i3$1 from '@progress/kendo-angular-inputs';
15
- import { NumericTextBoxComponent, NumericTextBoxModule } from '@progress/kendo-angular-inputs';
16
14
  import * as i6 from '@progress/kendo-angular-common';
17
15
  import { Keys, anyChanged, ResizeSensorComponent, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
16
+ import * as i5 from '@angular/common';
17
+ import { CommonModule } from '@angular/common';
18
+ import * as i3$2 from '@progress/kendo-angular-inputs';
19
+ import { NumericTextBoxComponent, NumericTextBoxModule } from '@progress/kendo-angular-inputs';
18
20
  import { validatePackage } from '@progress/kendo-licensing';
19
21
 
20
22
  /**
@@ -62,9 +64,9 @@ class PageSizeChangeEvent extends PreventableEvent {
62
64
  */
63
65
  class Messages extends ComponentMessages {
64
66
  }
65
- Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
66
- 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 });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Messages, decorators: [{
67
+ Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
68
+ Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", 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 });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: Messages, decorators: [{
68
70
  type: Directive,
69
71
  args: [{
70
72
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -107,14 +109,14 @@ class CustomMessagesComponent extends Messages {
107
109
  return true;
108
110
  }
109
111
  }
110
- CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
111
- CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomMessagesComponent, selector: "kendo-datapager-messages", providers: [
112
+ CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
113
+ CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CustomMessagesComponent, selector: "kendo-datapager-messages", providers: [
112
114
  {
113
115
  provide: Messages,
114
116
  useExisting: forwardRef(() => CustomMessagesComponent)
115
117
  }
116
118
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomMessagesComponent, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CustomMessagesComponent, decorators: [{
118
120
  type: Component,
119
121
  args: [{
120
122
  providers: [
@@ -137,14 +139,14 @@ class LocalizedMessagesDirective extends Messages {
137
139
  this.service = service;
138
140
  }
139
141
  }
140
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
141
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: LocalizedMessagesDirective, selector: "[kendoDataPagerLocalizedMessages]", providers: [
142
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
143
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: LocalizedMessagesDirective, selector: "[kendoDataPagerLocalizedMessages]", providers: [
142
144
  {
143
145
  provide: Messages,
144
146
  useExisting: forwardRef(() => LocalizedMessagesDirective)
145
147
  }
146
148
  ], usesInheritance: true, ngImport: i0 });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
148
150
  type: Directive,
149
151
  args: [{
150
152
  providers: [
@@ -264,9 +266,9 @@ class PagerElementComponent {
264
266
  }
265
267
  }
266
268
  }
267
- PagerElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerElementComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
268
- PagerElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerElementComponent, selector: "kendo-pager-element", ngImport: i0, template: ``, isInline: true });
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerElementComponent, decorators: [{
269
+ PagerElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerElementComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
270
+ PagerElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerElementComponent, selector: "kendo-pager-element", ngImport: i0, template: ``, isInline: true });
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerElementComponent, decorators: [{
270
272
  type: Component,
271
273
  args: [{
272
274
  selector: 'kendo-pager-element',
@@ -304,6 +306,31 @@ const focusableSelector = [
304
306
  '*[tabindex]:not([disabled])',
305
307
  '*[contenteditable]:not([disabled]):not([contenteditable="false"])'
306
308
  ].join(',');
309
+ /**
310
+ * @hidden
311
+ */
312
+ const DEFAULT_SIZE = 'medium';
313
+ const SIZES = {
314
+ small: 'sm',
315
+ medium: 'md',
316
+ large: 'lg'
317
+ };
318
+ /**
319
+ * @hidden
320
+ *
321
+ * Returns the styling classes to be added and removed
322
+ */
323
+ const getStylingClasses = (componentType, stylingOption, previousValue, newValue) => {
324
+ switch (stylingOption) {
325
+ case 'size':
326
+ return {
327
+ toRemove: `k-${componentType}-${SIZES[previousValue]}`,
328
+ toAdd: newValue !== 'none' ? `k-${componentType}-${SIZES[newValue]}` : ''
329
+ };
330
+ default:
331
+ break;
332
+ }
333
+ };
307
334
 
308
335
  /**
309
336
  * @hidden
@@ -370,9 +397,9 @@ class PagerFocusableDirective {
370
397
  });
371
398
  }
372
399
  }
373
- PagerFocusableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerFocusableDirective, deps: [{ token: PagerNavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
374
- PagerFocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"], ngImport: i0 });
375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerFocusableDirective, decorators: [{
400
+ PagerFocusableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerFocusableDirective, deps: [{ token: PagerNavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
401
+ PagerFocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"], ngImport: i0 });
402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerFocusableDirective, decorators: [{
376
403
  type: Directive,
377
404
  args: [{
378
405
  selector: '[kendoPagerFocusable]',
@@ -387,6 +414,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
387
414
  class PagerPrevButtonsComponent extends PagerElementComponent {
388
415
  constructor(localization, pagerContext, cd) {
389
416
  super(localization, pagerContext, cd);
417
+ /**
418
+ * Specifies the padding of the buttons.
419
+ *
420
+ * The possible values are:
421
+ * * `small`
422
+ * * `medium` (default)
423
+ * * `large`
424
+ * * `none`
425
+ */
426
+ this.size = DEFAULT_SIZE;
390
427
  }
391
428
  /**
392
429
  * @hidden
@@ -405,66 +442,88 @@ class PagerPrevButtonsComponent extends PagerElementComponent {
405
442
  this.cd.markForCheck();
406
443
  }
407
444
  }
408
- PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
409
- PagerPrevButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons", usesInheritance: true, ngImport: i0, template: `
445
+ PagerPrevButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPrevButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
446
+ 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: `
410
447
  <button
411
- type="button" kendoPagerFocusable
412
- class="k-link k-pager-nav k-pager-first"
413
- [class.k-disabled]="disabled"
448
+ type="button" kendoButton kendoPagerFocusable
449
+ class="k-pager-nav k-pager-first"
450
+ [disabled]="disabled"
451
+ icon="caret-alt-to-left"
452
+ fillMode="flat"
453
+ rounded="none"
454
+ [size]="size"
414
455
  [title]="textFor('firstPage')"
415
456
  [attr.aria-label]="textFor('firstPage')"
416
- [attr.aria-disabled]="disabled ? true : undefined"
417
457
  (click)="currentPage !== 1 ? changePage(0) : false">
418
- <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor('firstPage')"></span>
419
458
  </button>
420
459
  <button
421
- type="button" kendoPagerFocusable
422
- class="k-link k-pager-nav"
423
- [class.k-disabled]="disabled"
460
+ type="button" kendoButton kendoPagerFocusable
461
+ class="k-pager-nav"
462
+ [disabled]="disabled"
463
+ icon="caret-alt-left"
464
+ fillMode="flat"
465
+ rounded="none"
466
+ [size]="size"
424
467
  [title]="textFor('previousPage')"
425
468
  [attr.aria-label]="textFor('previousPage')"
426
- [attr.aria-disabled]="disabled ? true : undefined"
427
469
  (click)="currentPage !== 1 ? changePage(currentPage-2) : false">
428
- <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor('previousPage')"></span>
429
470
  </button>
430
- `, isInline: true, directives: [{ type: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
471
+ `, 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: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPrevButtonsComponent, decorators: [{
432
473
  type: Component,
433
474
  args: [{
434
475
  changeDetection: ChangeDetectionStrategy.OnPush,
435
476
  selector: 'kendo-datapager-prev-buttons',
436
477
  template: `
437
478
  <button
438
- type="button" kendoPagerFocusable
439
- class="k-link k-pager-nav k-pager-first"
440
- [class.k-disabled]="disabled"
479
+ type="button" kendoButton kendoPagerFocusable
480
+ class="k-pager-nav k-pager-first"
481
+ [disabled]="disabled"
482
+ icon="caret-alt-to-left"
483
+ fillMode="flat"
484
+ rounded="none"
485
+ [size]="size"
441
486
  [title]="textFor('firstPage')"
442
487
  [attr.aria-label]="textFor('firstPage')"
443
- [attr.aria-disabled]="disabled ? true : undefined"
444
488
  (click)="currentPage !== 1 ? changePage(0) : false">
445
- <span class="k-icon k-i-seek-w" role="note" [attr.aria-label]="textFor('firstPage')"></span>
446
489
  </button>
447
490
  <button
448
- type="button" kendoPagerFocusable
449
- class="k-link k-pager-nav"
450
- [class.k-disabled]="disabled"
491
+ type="button" kendoButton kendoPagerFocusable
492
+ class="k-pager-nav"
493
+ [disabled]="disabled"
494
+ icon="caret-alt-left"
495
+ fillMode="flat"
496
+ rounded="none"
497
+ [size]="size"
451
498
  [title]="textFor('previousPage')"
452
499
  [attr.aria-label]="textFor('previousPage')"
453
- [attr.aria-disabled]="disabled ? true : undefined"
454
500
  (click)="currentPage !== 1 ? changePage(currentPage-2) : false">
455
- <span class="k-icon k-i-arrow-w" role="note" [attr.aria-label]="textFor('previousPage')"></span>
456
501
  </button>
457
502
  `
458
503
  }]
459
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }]; } });
504
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
505
+ type: Input
506
+ }] } });
460
507
 
461
508
  /**
462
509
  * Displays a drop-down list for the page size selection ([see example]({% slug pager_settings %})).
463
510
  */
464
511
  class PagerPageSizesComponent extends PagerElementComponent {
465
- constructor(localization, cd, pagerContext) {
512
+ constructor(localization, cd, pagerContext, element, ngZone) {
466
513
  super(localization, pagerContext, cd);
467
514
  this.pagerContext = pagerContext;
515
+ this.element = element;
516
+ this.ngZone = ngZone;
517
+ /**
518
+ * Specifies the padding of the dropdown.
519
+ *
520
+ * The possible values are:
521
+ * * `small`
522
+ * * `medium` (default)
523
+ * * `large`
524
+ * * `none`
525
+ */
526
+ this.size = DEFAULT_SIZE;
468
527
  this._pageSizes = [];
469
528
  }
470
529
  /**
@@ -618,6 +677,12 @@ class PagerPageSizesComponent extends PagerElementComponent {
618
677
  }
619
678
  ngAfterViewInit() {
620
679
  this.dropDownList.wrapper.nativeElement.setAttribute('aria-label', this.textFor('itemsPerPage'));
680
+ this.ngZone.runOutsideAngular(() => {
681
+ this.element.nativeElement.addEventListener('keydown', this.keyDownHandler.bind(this), true);
682
+ });
683
+ }
684
+ ngOnDestroy() {
685
+ this.element.nativeElement.removeEventListener('keydown', this.keyDownHandler);
621
686
  }
622
687
  /**
623
688
  * @hidden
@@ -635,11 +700,19 @@ class PagerPageSizesComponent extends PagerElementComponent {
635
700
  this.pageSize = typeof pageSize === 'number' ? pageSize : this.total;
636
701
  this.cd.markForCheck();
637
702
  }
703
+ keyDownHandler(ev) {
704
+ if (ev.keyCode === Keys.Escape && this.dropDownList.isOpen) {
705
+ ev.stopPropagation();
706
+ this.dropDownList.toggle(false);
707
+ }
708
+ }
638
709
  }
639
- PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
640
- 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: `
710
+ PagerPageSizesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPageSizesComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
711
+ 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: `
641
712
  <kendo-dropdownlist kendoPagerFocusable
713
+ class="k-dropdown"
642
714
  #dropdownlist
715
+ [size]="size"
643
716
  [data]="pageSizes"
644
717
  textField="text"
645
718
  valueField="value"
@@ -647,15 +720,17 @@ PagerPageSizesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
647
720
  [value]="pageSize"
648
721
  (valueChange)="pageSizeChange($event, dropdownlist)"></kendo-dropdownlist>
649
722
  {{ textFor('itemsPerPage') }}
650
- `, 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: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
723
+ `, isInline: true, components: [{ type: i3$1.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: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerPageSizesComponent, decorators: [{
652
725
  type: Component,
653
726
  args: [{
654
727
  changeDetection: ChangeDetectionStrategy.OnPush,
655
728
  selector: 'kendo-datapager-page-sizes',
656
729
  template: `
657
730
  <kendo-dropdownlist kendoPagerFocusable
731
+ class="k-dropdown"
658
732
  #dropdownlist
733
+ [size]="size"
659
734
  [data]="pageSizes"
660
735
  textField="text"
661
736
  valueField="value"
@@ -665,17 +740,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
665
740
  {{ textFor('itemsPerPage') }}
666
741
  `
667
742
  }]
668
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { dropDownList: [{
743
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { dropDownList: [{
669
744
  type: ViewChild,
670
745
  args: ['dropdownlist', { static: true }]
671
746
  }], pageSizes: [{
672
747
  type: Input
748
+ }], size: [{
749
+ type: Input
673
750
  }], classes: [{
674
751
  type: HostBinding,
675
752
  args: ["class.k-pager-sizes"]
676
- }, {
677
- type: HostBinding,
678
- args: ["class.k-label"]
679
753
  }] } });
680
754
 
681
755
  /**
@@ -725,9 +799,9 @@ class PagerTemplateDirective {
725
799
  this.templateRef = templateRef;
726
800
  }
727
801
  }
728
- 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 });
729
- PagerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: PagerTemplateDirective, selector: "[kendoDataPagerTemplate]", ngImport: i0 });
730
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerTemplateDirective, decorators: [{
802
+ 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 });
803
+ PagerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: PagerTemplateDirective, selector: "[kendoDataPagerTemplate]", ngImport: i0 });
804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerTemplateDirective, decorators: [{
731
805
  type: Directive,
732
806
  args: [{
733
807
  selector: '[kendoDataPagerTemplate]'
@@ -740,10 +814,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
740
814
  * Displays numeric buttons to enable navigation between the pages.
741
815
  */
742
816
  class PagerNumericButtonsComponent extends PagerElementComponent {
743
- constructor(localization, cd, pagerContext) {
817
+ constructor(localization, cd, pagerContext, renderer) {
744
818
  super(localization, pagerContext, cd);
745
819
  this.pagerContext = pagerContext;
746
- this.numbersWrapClass = true;
820
+ this.renderer = renderer;
821
+ this._size = DEFAULT_SIZE;
822
+ }
823
+ /**
824
+ * Specifies the padding of the numeric buttons.
825
+ *
826
+ * The possible values are:
827
+ * * `small`
828
+ * * `medium` (default)
829
+ * * `large`
830
+ * * `none`
831
+ */
832
+ set size(size) {
833
+ const newSize = size ? size : DEFAULT_SIZE;
834
+ this.handleClasses(newSize, 'size');
835
+ this._size = newSize;
836
+ }
837
+ get size() {
838
+ return this._size;
747
839
  }
748
840
  /**
749
841
  * @hidden
@@ -753,7 +845,7 @@ class PagerNumericButtonsComponent extends PagerElementComponent {
753
845
  * @memberOf PagerNumericButtonsComponent
754
846
  */
755
847
  get buttons() {
756
- let result = [];
848
+ const result = [];
757
849
  for (let idx = this.start; idx <= this.end; idx++) {
758
850
  result.push(idx);
759
851
  }
@@ -777,6 +869,9 @@ class PagerNumericButtonsComponent extends PagerElementComponent {
777
869
  }
778
870
  return 1;
779
871
  }
872
+ ngAfterViewInit() {
873
+ this.handleClasses(this.size, 'size');
874
+ }
780
875
  /**
781
876
  * @hidden
782
877
  */
@@ -814,16 +909,28 @@ class PagerNumericButtonsComponent extends PagerElementComponent {
814
909
  get pageChooserLabel() {
815
910
  return this.textFor('selectPage');
816
911
  }
912
+ handleClasses(value, input) {
913
+ const elem = this.selectElement?.nativeElement;
914
+ const classes = getStylingClasses('picker', input, this[input], value);
915
+ if (!elem) {
916
+ return;
917
+ }
918
+ if (classes.toRemove) {
919
+ this.renderer.removeClass(elem, classes.toRemove);
920
+ }
921
+ if (classes.toAdd) {
922
+ this.renderer.addClass(elem, classes.toAdd);
923
+ }
924
+ }
817
925
  }
818
- PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
819
- PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons", inputs: { buttonCount: "buttonCount" }, host: { properties: { "class.k-pager-numbers-wrap": "this.numbersWrapClass" } }, usesInheritance: true, ngImport: i0, template: `
820
- <select kendoPagerFocusable
821
- class="k-dropdown-list k-picker k-picker-md k-rounded-md k-picker-solid"
926
+ PagerNumericButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerNumericButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
927
+ 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: `
928
+ <select kendoPagerFocusable #select
929
+ class="k-dropdown-list k-dropdown k-picker k-rounded-md"
822
930
  [attr.title]="pageChooserLabel"
823
931
  [attr.aria-label]="pageChooserLabel"
824
932
  (change)="onSelectChange($event)">
825
933
  <option *ngIf="start > 1"
826
- class="k-link"
827
934
  value="previousButtons"
828
935
  [selected]="false"
829
936
  [attr.aria-label]="pageLabel(start - 1)">...
@@ -833,59 +940,67 @@ PagerNumericButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
833
940
  [selected]="num === currentPage"
834
941
  [attr.aria-label]="pageLabel(num)"
835
942
  [attr.aria-current]="currentPage === num ? 'page' : undefined"
836
- [ngClass]="{'k-link': true, 'k-selected':currentPage === num}">
943
+ [ngClass]="{'k-selected':currentPage === num}">
837
944
  {{num}}
838
945
  </option>
839
946
  <option *ngIf="end < totalPages"
840
947
  value="nextButtons"
841
948
  [selected]="false"
842
- class="k-link"
843
949
  [attr.aria-label]="pageLabel(end + 1)">...
844
950
  </option>
845
951
  </select>
846
- <ul [ngClass]="{'k-pager-numbers': true}">
847
- <li *ngIf="start > 1">
848
- <button
849
- type="button" kendoPagerFocusable
850
- class="k-link"
851
- [attr.aria-label]="pageLabel(start - 1)"
852
- [attr.title]="pageLabel(start - 1)"
853
- (click)="changePage(start - 2)">...</button>
854
- </li>
855
- <li *ngFor="let num of buttons">
856
- <button
857
- type="button" kendoPagerFocusable
858
- [attr.aria-label]="pageLabel(num)"
859
- [attr.title]="pageLabel(num)"
860
- [attr.aria-current]="currentPage === num ? 'page' : undefined"
861
- [ngClass]="{'k-link': true, 'k-selected':currentPage === num}"
862
- (click)="changePage(num - 1)">
863
- {{num}}
864
- </button>
865
- </li>
866
- <li *ngIf="end < totalPages">
867
- <button
868
- type="button" kendoPagerFocusable
869
- class="k-link"
870
- [attr.aria-label]="pageLabel(end + 1)"
871
- [attr.title]="pageLabel(end + 1)"
872
- (click)="changePage(end)">...</button>
873
- </li>
874
- </ul>
875
- `, isInline: true, directives: [{ type: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
876
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerNumericButtonsComponent, decorators: [{
952
+ <div [ngClass]="{'k-pager-numbers': true}">
953
+ <button *ngIf="start > 1"
954
+ type="button"
955
+ kendoPagerFocusable
956
+ kendoButton
957
+ [size]="size"
958
+ fillMode="flat"
959
+ themeColor="primary"
960
+ rounded="none"
961
+ [attr.aria-label]="pageLabel(start - 1)"
962
+ [attr.title]="pageLabel(start - 1)"
963
+ (click)="changePage(start - 2)">...</button>
964
+ <button *ngFor="let num of buttons"
965
+ type="button"
966
+ kendoPagerFocusable
967
+ kendoButton
968
+ [size]="size"
969
+ fillMode="flat"
970
+ themeColor="primary"
971
+ rounded="none"
972
+ [attr.aria-label]="pageLabel(num)"
973
+ [attr.title]="pageLabel(num)"
974
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
975
+ [selected]="currentPage === num"
976
+ (click)="changePage(num - 1)">
977
+ {{num}}
978
+ </button>
979
+ <button *ngIf="end < totalPages"
980
+ type="button"
981
+ kendoPagerFocusable
982
+ kendoButton
983
+ [size]="size"
984
+ fillMode="flat"
985
+ themeColor="primary"
986
+ rounded="none"
987
+ [attr.aria-label]="pageLabel(end + 1)"
988
+ [attr.title]="pageLabel(end + 1)"
989
+ (click)="changePage(end)">...</button>
990
+ </div>
991
+ `, 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: 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 });
992
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerNumericButtonsComponent, decorators: [{
877
993
  type: Component,
878
994
  args: [{
879
995
  changeDetection: ChangeDetectionStrategy.OnPush,
880
996
  selector: 'kendo-datapager-numeric-buttons',
881
997
  template: `
882
- <select kendoPagerFocusable
883
- class="k-dropdown-list k-picker k-picker-md k-rounded-md k-picker-solid"
998
+ <select kendoPagerFocusable #select
999
+ class="k-dropdown-list k-dropdown k-picker k-rounded-md"
884
1000
  [attr.title]="pageChooserLabel"
885
1001
  [attr.aria-label]="pageChooserLabel"
886
1002
  (change)="onSelectChange($event)">
887
1003
  <option *ngIf="start > 1"
888
- class="k-link"
889
1004
  value="previousButtons"
890
1005
  [selected]="false"
891
1006
  [attr.aria-label]="pageLabel(start - 1)">...
@@ -895,52 +1010,63 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
895
1010
  [selected]="num === currentPage"
896
1011
  [attr.aria-label]="pageLabel(num)"
897
1012
  [attr.aria-current]="currentPage === num ? 'page' : undefined"
898
- [ngClass]="{'k-link': true, 'k-selected':currentPage === num}">
1013
+ [ngClass]="{'k-selected':currentPage === num}">
899
1014
  {{num}}
900
1015
  </option>
901
1016
  <option *ngIf="end < totalPages"
902
1017
  value="nextButtons"
903
1018
  [selected]="false"
904
- class="k-link"
905
1019
  [attr.aria-label]="pageLabel(end + 1)">...
906
1020
  </option>
907
1021
  </select>
908
- <ul [ngClass]="{'k-pager-numbers': true}">
909
- <li *ngIf="start > 1">
910
- <button
911
- type="button" kendoPagerFocusable
912
- class="k-link"
913
- [attr.aria-label]="pageLabel(start - 1)"
914
- [attr.title]="pageLabel(start - 1)"
915
- (click)="changePage(start - 2)">...</button>
916
- </li>
917
- <li *ngFor="let num of buttons">
918
- <button
919
- type="button" kendoPagerFocusable
920
- [attr.aria-label]="pageLabel(num)"
921
- [attr.title]="pageLabel(num)"
922
- [attr.aria-current]="currentPage === num ? 'page' : undefined"
923
- [ngClass]="{'k-link': true, 'k-selected':currentPage === num}"
924
- (click)="changePage(num - 1)">
925
- {{num}}
926
- </button>
927
- </li>
928
- <li *ngIf="end < totalPages">
929
- <button
930
- type="button" kendoPagerFocusable
931
- class="k-link"
932
- [attr.aria-label]="pageLabel(end + 1)"
933
- [attr.title]="pageLabel(end + 1)"
934
- (click)="changePage(end)">...</button>
935
- </li>
936
- </ul>
1022
+ <div [ngClass]="{'k-pager-numbers': true}">
1023
+ <button *ngIf="start > 1"
1024
+ type="button"
1025
+ kendoPagerFocusable
1026
+ kendoButton
1027
+ [size]="size"
1028
+ fillMode="flat"
1029
+ themeColor="primary"
1030
+ rounded="none"
1031
+ [attr.aria-label]="pageLabel(start - 1)"
1032
+ [attr.title]="pageLabel(start - 1)"
1033
+ (click)="changePage(start - 2)">...</button>
1034
+ <button *ngFor="let num of buttons"
1035
+ type="button"
1036
+ kendoPagerFocusable
1037
+ kendoButton
1038
+ [size]="size"
1039
+ fillMode="flat"
1040
+ themeColor="primary"
1041
+ rounded="none"
1042
+ [attr.aria-label]="pageLabel(num)"
1043
+ [attr.title]="pageLabel(num)"
1044
+ [attr.aria-current]="currentPage === num ? 'page' : undefined"
1045
+ [selected]="currentPage === num"
1046
+ (click)="changePage(num - 1)">
1047
+ {{num}}
1048
+ </button>
1049
+ <button *ngIf="end < totalPages"
1050
+ type="button"
1051
+ kendoPagerFocusable
1052
+ kendoButton
1053
+ [size]="size"
1054
+ fillMode="flat"
1055
+ themeColor="primary"
1056
+ rounded="none"
1057
+ [attr.aria-label]="pageLabel(end + 1)"
1058
+ [attr.title]="pageLabel(end + 1)"
1059
+ (click)="changePage(end)">...</button>
1060
+ </div>
937
1061
  `
938
1062
  }]
939
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { numbersWrapClass: [{
940
- type: HostBinding,
941
- args: ['class.k-pager-numbers-wrap']
1063
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }, { type: i0.Renderer2 }]; }, propDecorators: { selectElement: [{
1064
+ type: ViewChild,
1065
+ args: ['select', { read: ElementRef }]
942
1066
  }], buttonCount: [{
943
1067
  type: Input
1068
+ }], size: [{
1069
+ type: Input
944
1070
  }] } });
945
1071
 
946
1072
  // eslint-disable no-access-missing-member
@@ -950,6 +1076,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
950
1076
  class PagerNextButtonsComponent extends PagerElementComponent {
951
1077
  constructor(localization, pagerContext, cd) {
952
1078
  super(localization, pagerContext, cd);
1079
+ /**
1080
+ * Specifies the padding of the buttons.
1081
+ *
1082
+ * The possible values are:
1083
+ * * `small`
1084
+ * * `medium` (default)
1085
+ * * `large`
1086
+ * * `none`
1087
+ */
1088
+ this.size = DEFAULT_SIZE;
953
1089
  }
954
1090
  /**
955
1091
  * @hidden
@@ -968,58 +1104,68 @@ class PagerNextButtonsComponent extends PagerElementComponent {
968
1104
  this.cd.markForCheck();
969
1105
  }
970
1106
  }
971
- PagerNextButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerNextButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
972
- PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons", usesInheritance: true, ngImport: i0, template: `
973
- <button
974
- type="button" kendoPagerFocusable
975
- class="k-link k-pager-nav"
976
- [class.k-disabled]="disabled"
1107
+ PagerNextButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerNextButtonsComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1108
+ PagerNextButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons", inputs: { size: "size" }, usesInheritance: true, ngImport: i0, template: `
1109
+ <button kendoButton kendoPagerFocusable
1110
+ type="button"
1111
+ [size]="size"
1112
+ icon="caret-alt-right"
1113
+ fillMode="flat"
1114
+ rounded="none"
1115
+ class="k-pager-nav"
1116
+ [disabled]="disabled"
977
1117
  [title]="textFor('nextPage')"
978
1118
  [attr.aria-label]="textFor('nextPage')"
979
- [attr.aria-disabled]="disabled ? true : undefined"
980
1119
  (click)="currentPage !== totalPages ? changePage(currentPage) : false">
981
- <span class="k-icon k-i-arrow-e" role="note" [attr.aria-label]="textFor('nextPage')"></span>
982
1120
  </button>
983
- <button
984
- type="button" kendoPagerFocusable
985
- class="k-link k-pager-nav k-pager-last"
986
- [class.k-disabled]="disabled"
1121
+ <button kendoButton kendoPagerFocusable
1122
+ type="button"
1123
+ [size]="size"
1124
+ icon="caret-alt-to-right"
1125
+ fillMode="flat"
1126
+ rounded="none"
1127
+ class="k-pager-nav k-pager-last"
1128
+ [disabled]="disabled"
987
1129
  [title]="textFor('lastPage')"
988
1130
  [attr.aria-label]="textFor('lastPage')"
989
- [attr.aria-disabled]="disabled ? true : undefined"
990
1131
  (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
991
- <span class="k-icon k-i-seek-e" role="note" [attr.aria-label]="textFor('lastPage')"></span>
992
1132
  </button>
993
- `, isInline: true, directives: [{ type: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
994
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
1133
+ `, 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: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerNextButtonsComponent, decorators: [{
995
1135
  type: Component,
996
1136
  args: [{
997
1137
  changeDetection: ChangeDetectionStrategy.OnPush,
998
1138
  selector: 'kendo-datapager-next-buttons',
999
1139
  template: `
1000
- <button
1001
- type="button" kendoPagerFocusable
1002
- class="k-link k-pager-nav"
1003
- [class.k-disabled]="disabled"
1140
+ <button kendoButton kendoPagerFocusable
1141
+ type="button"
1142
+ [size]="size"
1143
+ icon="caret-alt-right"
1144
+ fillMode="flat"
1145
+ rounded="none"
1146
+ class="k-pager-nav"
1147
+ [disabled]="disabled"
1004
1148
  [title]="textFor('nextPage')"
1005
1149
  [attr.aria-label]="textFor('nextPage')"
1006
- [attr.aria-disabled]="disabled ? true : undefined"
1007
1150
  (click)="currentPage !== totalPages ? changePage(currentPage) : false">
1008
- <span class="k-icon k-i-arrow-e" role="note" [attr.aria-label]="textFor('nextPage')"></span>
1009
1151
  </button>
1010
- <button
1011
- type="button" kendoPagerFocusable
1012
- class="k-link k-pager-nav k-pager-last"
1013
- [class.k-disabled]="disabled"
1152
+ <button kendoButton kendoPagerFocusable
1153
+ type="button"
1154
+ [size]="size"
1155
+ icon="caret-alt-to-right"
1156
+ fillMode="flat"
1157
+ rounded="none"
1158
+ class="k-pager-nav k-pager-last"
1159
+ [disabled]="disabled"
1014
1160
  [title]="textFor('lastPage')"
1015
1161
  [attr.aria-label]="textFor('lastPage')"
1016
- [attr.aria-disabled]="disabled ? true : undefined"
1017
1162
  (click)="currentPage !== totalPages ? changePage(totalPages-1) : false">
1018
- <span class="k-icon k-i-seek-e" role="note" [attr.aria-label]="textFor('lastPage')"></span>
1019
1163
  </button>
1020
1164
  `
1021
1165
  }]
1022
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }]; } });
1166
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: PagerContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
1167
+ type: Input
1168
+ }] } });
1023
1169
 
1024
1170
  /**
1025
1171
  * Displays an input element which allows the typing and rendering of page numbers.
@@ -1030,6 +1176,16 @@ class PagerInputComponent extends PagerElementComponent {
1030
1176
  this.pagerContext = pagerContext;
1031
1177
  this.zone = zone;
1032
1178
  this.renderer = renderer;
1179
+ /**
1180
+ * Specifies the padding of the internal numeric input element.
1181
+ *
1182
+ * The possible values are:
1183
+ * * `small`
1184
+ * * `medium` (default)
1185
+ * * `large`
1186
+ * * `none`
1187
+ */
1188
+ this.size = DEFAULT_SIZE;
1033
1189
  /**
1034
1190
  * @hidden
1035
1191
  *
@@ -1038,7 +1194,7 @@ class PagerInputComponent extends PagerElementComponent {
1038
1194
  * @memberOf PagerInputComponent
1039
1195
  */
1040
1196
  this.handleKeyDown = (event) => {
1041
- let incomingValue = this.numericInput.value || this.current;
1197
+ const incomingValue = this.numericInput.value || this.current;
1042
1198
  // eslint-disable import/no-deprecated
1043
1199
  if (event.keyCode === Keys.Enter) {
1044
1200
  event.preventDefault();
@@ -1092,14 +1248,15 @@ class PagerInputComponent extends PagerElementComponent {
1092
1248
  this.cd.markForCheck();
1093
1249
  }
1094
1250
  }
1095
- PagerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerInputComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1096
- 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: `
1251
+ PagerInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerInputComponent, deps: [{ token: i1.LocalizationService }, { token: PagerContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1252
+ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerInputComponent, selector: "kendo-datapager-input", inputs: { size: "size" }, viewQueries: [{ propertyName: "numericInput", first: true, predicate: NumericTextBoxComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
1097
1253
  <span [ngClass]="{'k-pager-input': true, 'k-label': true}">
1098
1254
  {{textFor('page')}}
1099
1255
  <kendo-numerictextbox kendoPagerFocusable
1100
1256
  [spinners]="false"
1101
1257
  [decimals]="0"
1102
1258
  format="n0"
1259
+ [size]="size"
1103
1260
  [disabled]="!hasPages"
1104
1261
  [value]="current"
1105
1262
  [min]="hasPages ? 1 : 0"
@@ -1113,8 +1270,8 @@ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
1113
1270
  </kendo-numerictextbox>
1114
1271
  {{textFor('of')}} {{totalPages}}
1115
1272
  </span>
1116
- `, isInline: true, components: [{ type: i3$1.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: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }, { type: i6.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
1117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerInputComponent, decorators: [{
1273
+ `, isInline: true, components: [{ type: i3$2.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: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: PagerFocusableDirective, selector: "[kendoPagerFocusable]", exportAs: ["kendoPagerFocusable"] }, { type: i6.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
1274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerInputComponent, decorators: [{
1118
1275
  type: Component,
1119
1276
  args: [{
1120
1277
  selector: 'kendo-datapager-input',
@@ -1125,6 +1282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1125
1282
  [spinners]="false"
1126
1283
  [decimals]="0"
1127
1284
  format="n0"
1285
+ [size]="size"
1128
1286
  [disabled]="!hasPages"
1129
1287
  [value]="current"
1130
1288
  [min]="hasPages ? 1 : 0"
@@ -1143,6 +1301,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1143
1301
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: PagerContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { numericInput: [{
1144
1302
  type: ViewChild,
1145
1303
  args: [NumericTextBoxComponent, { static: true }]
1304
+ }], size: [{
1305
+ type: Input
1146
1306
  }] } });
1147
1307
 
1148
1308
  // eslint-disable no-access-missing-member
@@ -1193,9 +1353,9 @@ class PagerInfoComponent extends PagerElementComponent {
1193
1353
  this.cd.markForCheck();
1194
1354
  }
1195
1355
  }
1196
- PagerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerInfoComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
1197
- 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 });
1198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerInfoComponent, decorators: [{
1356
+ PagerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerInfoComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PagerContextService }], target: i0.ɵɵFactoryTarget.Component });
1357
+ PagerInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerInfoComponent, selector: "kendo-datapager-info", host: { properties: { "class.k-pager-info": "this.classes" } }, usesInheritance: true, ngImport: i0, template: `{{currentPageText}} - {{maxItems}} {{textFor('of')}} {{total}} {{textFor('items')}}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerInfoComponent, decorators: [{
1199
1359
  type: Component,
1200
1360
  args: [{
1201
1361
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -1205,9 +1365,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1205
1365
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PagerContextService }]; }, propDecorators: { classes: [{
1206
1366
  type: HostBinding,
1207
1367
  args: ["class.k-pager-info"]
1208
- }, {
1209
- type: HostBinding,
1210
- args: ["class.k-label"]
1211
1368
  }] } });
1212
1369
 
1213
1370
  /**
@@ -1226,9 +1383,9 @@ const packageMetadata = {
1226
1383
  name: '@progress/kendo-angular-pager',
1227
1384
  productName: 'Kendo UI for Angular',
1228
1385
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
1229
- publishDate: 1669192614,
1386
+ publishDate: 1672320914,
1230
1387
  version: '',
1231
- 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'
1388
+ licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
1232
1389
  };
1233
1390
 
1234
1391
  class PagerComponent {
@@ -1284,6 +1441,7 @@ class PagerComponent {
1284
1441
  this._pageSizeValues = DEFAULT_PAGE_SIZE_VALUES;
1285
1442
  this.isInnerNavigationEnabled = false;
1286
1443
  this._navigable = false;
1444
+ this._size = DEFAULT_SIZE;
1287
1445
  this.resizeHandler = () => {
1288
1446
  if (this.template) {
1289
1447
  return;
@@ -1291,16 +1449,16 @@ class PagerComponent {
1291
1449
  const element = this.element.nativeElement;
1292
1450
  const width = element.offsetWidth;
1293
1451
  if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {
1294
- element.classList.remove('k-pager-md');
1295
- element.classList.add('k-pager-sm');
1452
+ element.classList.remove('k-pager-mobile-md');
1453
+ element.classList.add('k-pager-mobile-sm');
1296
1454
  }
1297
1455
  else if (width >= RESPONSIVE_BREAKPOINT_MEDIUM && width < RESPONSIVE_BREAKPOINT_LARGE) {
1298
- element.classList.add('k-pager-md');
1299
- element.classList.remove('k-pager-sm');
1456
+ element.classList.add('k-pager-mobile-md');
1457
+ element.classList.remove('k-pager-mobile-sm');
1300
1458
  }
1301
1459
  else {
1302
- element.classList.remove('k-pager-md');
1303
- element.classList.remove('k-pager-sm');
1460
+ element.classList.remove('k-pager-mobile-md');
1461
+ element.classList.remove('k-pager-mobile-sm');
1304
1462
  }
1305
1463
  };
1306
1464
  validatePackage(packageMetadata);
@@ -1315,6 +1473,9 @@ class PagerComponent {
1315
1473
  set pageSizeValues(pageSizeValues) {
1316
1474
  this._pageSizeValues = Array.isArray(pageSizeValues) ? pageSizeValues : pageSizeValues ? DEFAULT_PAGE_SIZE_VALUES : false;
1317
1475
  }
1476
+ get pageSizeValues() {
1477
+ return this._pageSizeValues;
1478
+ }
1318
1479
  /**
1319
1480
  * If set to `true`, the user can use dedicated shortcuts to interact with the Pager ([see example]({% slug keyboard_navigation_pager %})).
1320
1481
  * By default, navigation is disabled and the Pager content is accessible in the normal tab sequence.
@@ -1329,6 +1490,23 @@ class PagerComponent {
1329
1490
  return this._navigable;
1330
1491
  }
1331
1492
  ;
1493
+ /**
1494
+ * Specifies the padding of all Pager elements.
1495
+ *
1496
+ * The possible values are:
1497
+ * * `small`
1498
+ * * `medium` (default)
1499
+ * * `large`
1500
+ * * `none`
1501
+ */
1502
+ set size(size) {
1503
+ const newSize = size ? size : DEFAULT_SIZE;
1504
+ this.handleClasses(newSize, 'size');
1505
+ this._size = newSize;
1506
+ }
1507
+ get size() {
1508
+ return this._size;
1509
+ }
1332
1510
  get dir() {
1333
1511
  return this.direction;
1334
1512
  }
@@ -1345,9 +1523,6 @@ class PagerComponent {
1345
1523
  get currentPage() {
1346
1524
  return Math.floor((this.skip || 0) / this.pageSize) + 1;
1347
1525
  }
1348
- get pageSizeValues() {
1349
- return this._pageSizeValues;
1350
- }
1351
1526
  get templateContext() {
1352
1527
  const context = this._templateContext;
1353
1528
  context.totalPages = this.totalPages;
@@ -1375,6 +1550,7 @@ class PagerComponent {
1375
1550
  ngAfterViewInit() {
1376
1551
  this.resizeHandler();
1377
1552
  this.renderer.setAttribute(this.element.nativeElement, 'aria-label', this.ariaLabel);
1553
+ this.handleClasses(this.size, 'size');
1378
1554
  }
1379
1555
  ngOnChanges(changes) {
1380
1556
  if (anyChanged(["pageSize", "skip", "total"], changes, false)) {
@@ -1437,11 +1613,13 @@ class PagerComponent {
1437
1613
  const isFirstPage = this.currentPage === 1;
1438
1614
  const isLastPage = this.currentPage === this.totalPages;
1439
1615
  this.ngZone.run(() => {
1440
- if (isHome && !isFirstPage) {
1441
- this.pagerContext.changePage(0);
1616
+ if (isHome) {
1617
+ e.preventDefault();
1618
+ !isFirstPage && this.pagerContext.changePage(0);
1442
1619
  }
1443
- else if (isEnd && !isLastPage) {
1444
- this.pagerContext.changePage(this.totalPages - 1);
1620
+ else if (isEnd) {
1621
+ e.preventDefault();
1622
+ !isLastPage && this.pagerContext.changePage(this.totalPages - 1);
1445
1623
  }
1446
1624
  else if (this.isInnerNavigationEnabled) {
1447
1625
  if (isEsc) {
@@ -1453,11 +1631,13 @@ class PagerComponent {
1453
1631
  }
1454
1632
  }
1455
1633
  else {
1456
- if (isArrowLeftOrPageUp && !isFirstPage) {
1457
- this.pagerContext.prevPage();
1634
+ if (isArrowLeftOrPageUp) {
1635
+ e.preventDefault();
1636
+ !isFirstPage && this.pagerContext.prevPage();
1458
1637
  }
1459
- else if (isArrowRightOrPageDown && !isLastPage) {
1460
- this.pagerContext.nextPage();
1638
+ else if (isArrowRightOrPageDown) {
1639
+ e.preventDefault();
1640
+ !isLastPage && this.pagerContext.nextPage();
1461
1641
  }
1462
1642
  else if (isEnter) {
1463
1643
  if (e.target !== wrapper) {
@@ -1466,7 +1646,7 @@ class PagerComponent {
1466
1646
  e.preventDefault();
1467
1647
  const [firstFocusable] = this.navigationService.getFirstAndLastFocusable(wrapper);
1468
1648
  this.navigationService.toggleInnerNavigation(true);
1469
- firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
1649
+ firstFocusable?.focus();
1470
1650
  }
1471
1651
  }
1472
1652
  });
@@ -1474,9 +1654,19 @@ class PagerComponent {
1474
1654
  innerNavigationChange(value) {
1475
1655
  this.isInnerNavigationEnabled = value;
1476
1656
  }
1657
+ handleClasses(value, input) {
1658
+ const elem = this.element.nativeElement;
1659
+ const classes = getStylingClasses('pager', input, this[input], value);
1660
+ if (classes.toRemove) {
1661
+ this.renderer.removeClass(elem, classes.toRemove);
1662
+ }
1663
+ if (classes.toAdd) {
1664
+ this.renderer.addClass(elem, classes.toAdd);
1665
+ }
1666
+ }
1477
1667
  }
1478
- PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerComponent, deps: [{ token: PagerContextService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: PagerNavigationService }], target: i0.ɵɵFactoryTarget.Component });
1479
- PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PagerComponent, 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: [
1668
+ PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerComponent, deps: [{ token: PagerContextService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: PagerNavigationService }], target: i0.ɵɵFactoryTarget.Component });
1669
+ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PagerComponent, selector: "kendo-datapager", inputs: { total: "total", skip: "skip", pageSize: "pageSize", buttonCount: "buttonCount", info: "info", type: "type", pageSizeValues: "pageSizeValues", previousNext: "previousNext", navigable: "navigable", size: "size" }, 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: [
1480
1670
  LocalizationService,
1481
1671
  PagerContextService,
1482
1672
  PagerNavigationService
@@ -1522,19 +1712,22 @@ PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
1522
1712
  [ngTemplateOutletContext]="templateContext">
1523
1713
  </ng-container>
1524
1714
  <ng-container *ngIf="!template?.templateRef">
1525
- <kendo-datapager-prev-buttons *ngIf="previousNext"></kendo-datapager-prev-buttons>
1526
- <kendo-datapager-numeric-buttons
1527
- *ngIf="type === 'numeric' && buttonCount > 0"
1528
- [buttonCount]="buttonCount">
1529
- </kendo-datapager-numeric-buttons>
1530
- <kendo-datapager-input *ngIf="type === 'input'"></kendo-datapager-input>
1531
- <kendo-datapager-next-buttons *ngIf="previousNext"></kendo-datapager-next-buttons>
1715
+ <div class="k-pager-numbers-wrap">
1716
+ <kendo-datapager-prev-buttons [size]="size" *ngIf="previousNext"></kendo-datapager-prev-buttons>
1717
+ <kendo-datapager-numeric-buttons
1718
+ [size]="size"
1719
+ *ngIf="type === 'numeric' && buttonCount > 0"
1720
+ [buttonCount]="buttonCount">
1721
+ </kendo-datapager-numeric-buttons>
1722
+ <kendo-datapager-input [size]="size" *ngIf="type === 'input'"></kendo-datapager-input>
1723
+ <kendo-datapager-next-buttons [size]="size" *ngIf="previousNext"></kendo-datapager-next-buttons>
1724
+ </div>
1725
+ <kendo-datapager-page-sizes [size]="size" *ngIf="pageSizeValues" [pageSizes]="pageSizeValues"></kendo-datapager-page-sizes>
1532
1726
  <kendo-datapager-info *ngIf='info'></kendo-datapager-info>
1533
- <kendo-datapager-page-sizes *ngIf="pageSizeValues" [pageSizes]="pageSizeValues"></kendo-datapager-page-sizes>
1534
1727
  </ng-container>
1535
1728
  <kendo-resize-sensor></kendo-resize-sensor>
1536
- `, isInline: true, components: [{ type: PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons" }, { type: PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons", inputs: ["buttonCount"] }, { type: PagerInputComponent, selector: "kendo-datapager-input" }, { type: PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons" }, { type: PagerInfoComponent, selector: "kendo-datapager-info" }, { type: PagerPageSizesComponent, selector: "kendo-datapager-page-sizes", inputs: ["pageSizes"] }, { type: i6.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoDataPagerLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1537
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerComponent, decorators: [{
1729
+ `, isInline: true, components: [{ type: PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons", inputs: ["size"] }, { type: PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons", inputs: ["buttonCount", "size"] }, { type: PagerInputComponent, selector: "kendo-datapager-input", inputs: ["size"] }, { type: PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons", inputs: ["size"] }, { type: PagerPageSizesComponent, selector: "kendo-datapager-page-sizes", inputs: ["pageSizes", "size"] }, { type: PagerInfoComponent, selector: "kendo-datapager-info" }, { type: i6.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoDataPagerLocalizedMessages]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerComponent, decorators: [{
1538
1731
  type: Component,
1539
1732
  args: [{
1540
1733
  selector: 'kendo-datapager',
@@ -1586,15 +1779,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1586
1779
  [ngTemplateOutletContext]="templateContext">
1587
1780
  </ng-container>
1588
1781
  <ng-container *ngIf="!template?.templateRef">
1589
- <kendo-datapager-prev-buttons *ngIf="previousNext"></kendo-datapager-prev-buttons>
1590
- <kendo-datapager-numeric-buttons
1591
- *ngIf="type === 'numeric' && buttonCount > 0"
1592
- [buttonCount]="buttonCount">
1593
- </kendo-datapager-numeric-buttons>
1594
- <kendo-datapager-input *ngIf="type === 'input'"></kendo-datapager-input>
1595
- <kendo-datapager-next-buttons *ngIf="previousNext"></kendo-datapager-next-buttons>
1782
+ <div class="k-pager-numbers-wrap">
1783
+ <kendo-datapager-prev-buttons [size]="size" *ngIf="previousNext"></kendo-datapager-prev-buttons>
1784
+ <kendo-datapager-numeric-buttons
1785
+ [size]="size"
1786
+ *ngIf="type === 'numeric' && buttonCount > 0"
1787
+ [buttonCount]="buttonCount">
1788
+ </kendo-datapager-numeric-buttons>
1789
+ <kendo-datapager-input [size]="size" *ngIf="type === 'input'"></kendo-datapager-input>
1790
+ <kendo-datapager-next-buttons [size]="size" *ngIf="previousNext"></kendo-datapager-next-buttons>
1791
+ </div>
1792
+ <kendo-datapager-page-sizes [size]="size" *ngIf="pageSizeValues" [pageSizes]="pageSizeValues"></kendo-datapager-page-sizes>
1596
1793
  <kendo-datapager-info *ngIf='info'></kendo-datapager-info>
1597
- <kendo-datapager-page-sizes *ngIf="pageSizeValues" [pageSizes]="pageSizeValues"></kendo-datapager-page-sizes>
1598
1794
  </ng-container>
1599
1795
  <kendo-resize-sensor></kendo-resize-sensor>
1600
1796
  `
@@ -1623,6 +1819,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1623
1819
  type: Input
1624
1820
  }], navigable: [{
1625
1821
  type: Input
1822
+ }], size: [{
1823
+ type: Input
1626
1824
  }], pageChange: [{
1627
1825
  type: Output
1628
1826
  }], pageSizeChange: [{
@@ -1654,6 +1852,7 @@ const importedModules = [
1654
1852
  CommonModule,
1655
1853
  NumericTextBoxModule,
1656
1854
  DropDownListModule,
1855
+ ButtonsModule,
1657
1856
  EventsModule,
1658
1857
  ResizeSensorModule
1659
1858
  ];
@@ -1693,8 +1892,8 @@ class PagerModule {
1693
1892
  ];
1694
1893
  }
1695
1894
  }
1696
- PagerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1697
- PagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerModule, declarations: [PagerComponent,
1895
+ PagerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1896
+ PagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerModule, declarations: [PagerComponent,
1698
1897
  PagerPrevButtonsComponent,
1699
1898
  PagerNextButtonsComponent,
1700
1899
  PagerNumericButtonsComponent,
@@ -1707,6 +1906,7 @@ PagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
1707
1906
  PagerFocusableDirective], imports: [CommonModule,
1708
1907
  NumericTextBoxModule,
1709
1908
  DropDownListModule,
1909
+ ButtonsModule,
1710
1910
  EventsModule,
1711
1911
  ResizeSensorModule], exports: [PagerComponent,
1712
1912
  PagerPrevButtonsComponent,
@@ -1719,8 +1919,8 @@ PagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
1719
1919
  LocalizedMessagesDirective,
1720
1920
  CustomMessagesComponent,
1721
1921
  PagerFocusableDirective] });
1722
- PagerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerModule, providers: [providers], imports: [[...importedModules]] });
1723
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PagerModule, decorators: [{
1922
+ PagerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerModule, providers: [providers], imports: [[...importedModules]] });
1923
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PagerModule, decorators: [{
1724
1924
  type: NgModule,
1725
1925
  args: [{
1726
1926
  declarations: [INTERNAL_COMPONENTS],