@progress/kendo-angular-grid 17.0.0-develop.34 → 17.0.0-develop.35

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 (48) hide show
  1. package/{pager → common}/pager-settings.d.ts +13 -0
  2. package/directives.d.ts +2 -18
  3. package/esm2022/directives.mjs +2 -28
  4. package/esm2022/grid.component.mjs +172 -37
  5. package/esm2022/grid.module.mjs +91 -97
  6. package/esm2022/index.mjs +0 -13
  7. package/esm2022/localization/messages.mjs +13 -7
  8. package/esm2022/navigation/navigation.service.mjs +2 -2
  9. package/esm2022/package-metadata.mjs +2 -2
  10. package/esm2022/rendering/common/spacer.component.mjs +2 -2
  11. package/fesm2022/progress-kendo-angular-grid.mjs +353 -1716
  12. package/grid.component.d.ts +4 -5
  13. package/grid.module.d.ts +85 -94
  14. package/index.d.ts +1 -16
  15. package/localization/messages.d.ts +10 -6
  16. package/navigation/navigation.service.d.ts +1 -1
  17. package/package.json +18 -17
  18. package/rendering/common/spacer.component.d.ts +1 -1
  19. package/schematics/ngAdd/index.js +4 -4
  20. package/esm2022/pager/pager-context.service.mjs +0 -42
  21. package/esm2022/pager/pager-dropdown.directive.mjs +0 -40
  22. package/esm2022/pager/pager-element.component.mjs +0 -116
  23. package/esm2022/pager/pager-info.component.mjs +0 -77
  24. package/esm2022/pager/pager-input.component.mjs +0 -146
  25. package/esm2022/pager/pager-input.directive.mjs +0 -32
  26. package/esm2022/pager/pager-next-buttons.component.mjs +0 -115
  27. package/esm2022/pager/pager-numeric-buttons.component.mjs +0 -267
  28. package/esm2022/pager/pager-page-sizes.component.mjs +0 -147
  29. package/esm2022/pager/pager-prev-buttons.component.mjs +0 -117
  30. package/esm2022/pager/pager-template.directive.mjs +0 -49
  31. package/esm2022/pager/pager.component.mjs +0 -471
  32. package/esm2022/pager/pager.module.mjs +0 -51
  33. package/esm2022/pager/pagesize-item.interface.mjs +0 -5
  34. package/pager/pager-context.service.d.ts +0 -30
  35. package/pager/pager-dropdown.directive.d.ts +0 -18
  36. package/pager/pager-element.component.d.ts +0 -79
  37. package/pager/pager-info.component.d.ts +0 -43
  38. package/pager/pager-input.component.d.ts +0 -45
  39. package/pager/pager-input.directive.d.ts +0 -18
  40. package/pager/pager-next-buttons.component.d.ts +0 -28
  41. package/pager/pager-numeric-buttons.component.d.ts +0 -52
  42. package/pager/pager-page-sizes.component.d.ts +0 -49
  43. package/pager/pager-prev-buttons.component.d.ts +0 -28
  44. package/pager/pager-template.directive.d.ts +0 -38
  45. package/pager/pager.component.d.ts +0 -80
  46. package/pager/pager.module.d.ts +0 -37
  47. package/pager/pagesize-item.interface.d.ts +0 -14
  48. /package/esm2022/{pager → common}/pager-settings.mjs +0 -0
@@ -70,6 +70,19 @@ export interface PagerSettings {
70
70
  */
71
71
  position?: PagerPosition;
72
72
  }
73
+ /**
74
+ * The interface of the `PageSizeItem` options of the `PagerPageSizesComponent`.
75
+ */
76
+ export interface PageSizeItem {
77
+ /**
78
+ * The text that will be displayed for each option in the pager's PageSize selector.
79
+ */
80
+ text: string;
81
+ /**
82
+ * The value used as the page size. When set to `all`, the page size will be set to match the Grid data `total`.
83
+ */
84
+ value: number | 'all';
85
+ }
73
86
  /**
74
87
  * @hidden
75
88
  */
package/directives.d.ts CHANGED
@@ -110,16 +110,6 @@ import { AddCommandDirective } from "./editing/add-command.directive";
110
110
  import { CellLoadingTemplateDirective } from "./rendering/cell-loading.template.directive";
111
111
  import { LoadingTemplateDirective } from "./rendering/loading-template.directive";
112
112
  import { RowReorderColumnComponent } from "./columns/reorder-column.component";
113
- import { PagerComponent } from "./pager/pager.component";
114
- import { PagerPrevButtonsComponent } from "./pager/pager-prev-buttons.component";
115
- import { PagerNextButtonsComponent } from "./pager/pager-next-buttons.component";
116
- import { PagerNumericButtonsComponent } from "./pager/pager-numeric-buttons.component";
117
- import { PagerInputComponent } from "./pager/pager-input.component";
118
- import { PagerInfoComponent } from "./pager/pager-info.component";
119
- import { PagerPageSizesComponent } from "./pager/pager-page-sizes.component";
120
- import { PagerTemplateDirective } from "./pager/pager-template.directive";
121
- import { PagerDropDownListDirective } from "./pager/pager-dropdown.directive";
122
- import { PagerInputDirective } from "./pager/pager-input.directive";
123
113
  import { GridComponent } from "./grid.component";
124
114
  import { ListComponent } from "./rendering/list.component";
125
115
  import { ToolbarComponent } from "./rendering/toolbar/toolbar.component";
@@ -226,12 +216,6 @@ export declare const KENDO_GRID_FOOTER_EXPORTS: readonly [typeof FooterComponent
226
216
  * Utility array that contains the Body module exports
227
217
  */
228
218
  export declare const KENDO_GRID_BODY_EXPORTS: readonly [typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent];
229
- /**
230
- * @hidden
231
- *
232
- * Utility array that contains the Pager module exports
233
- */
234
- export declare const KENDO_GRID_PAGER_EXPORTS: readonly [typeof PagerComponent, typeof PagerPrevButtonsComponent, typeof PagerNextButtonsComponent, typeof PagerNumericButtonsComponent, typeof PagerInputComponent, typeof PagerInfoComponent, typeof PagerPageSizesComponent, typeof PagerTemplateDirective, typeof PagerDropDownListDirective, typeof PagerInputDirective];
235
219
  /**
236
220
  * @hidden
237
221
  *
@@ -243,7 +227,7 @@ export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, ty
243
227
  *
244
228
  * Utility array that contains the Grid module exports
245
229
  */
246
- export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof PagerComponent, typeof PagerPrevButtonsComponent, typeof PagerNextButtonsComponent, typeof PagerNumericButtonsComponent, typeof PagerInputComponent, typeof PagerInfoComponent, typeof PagerPageSizesComponent, typeof PagerTemplateDirective, typeof PagerDropDownListDirective, typeof PagerInputDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective];
230
+ export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof import("@progress/kendo-angular-pager").CustomMessagesComponent, typeof import("@progress/kendo-angular-pager").PagerFocusableDirective, typeof import("@progress/kendo-angular-pager").PagerInfoComponent, typeof import("@progress/kendo-angular-pager").PagerInputComponent, typeof import("@progress/kendo-angular-pager").PagerNextButtonsComponent, typeof import("@progress/kendo-angular-pager").PagerNumericButtonsComponent, typeof import("@progress/kendo-angular-pager").PagerPageSizesComponent, typeof import("@progress/kendo-angular-pager").PagerPrevButtonsComponent, typeof import("@progress/kendo-angular-pager").PagerTemplateDirective, typeof import("@progress/kendo-angular-pager").PagerComponent, typeof import("@progress/kendo-angular-pager").PagerSpacerComponent, typeof GridClipboardDirective];
247
231
  /**
248
232
  * @hidden
249
233
  *
@@ -259,4 +243,4 @@ export declare const KENDO_GRID_PDF_EXPORT: readonly [typeof PDFComponent, typeo
259
243
  /**
260
244
  * Utility array that contains all `Grid` related components and directives
261
245
  */
262
- export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof PagerComponent, typeof PagerPrevButtonsComponent, typeof PagerNextButtonsComponent, typeof PagerNumericButtonsComponent, typeof PagerInputComponent, typeof PagerInfoComponent, typeof PagerPageSizesComponent, typeof PagerTemplateDirective, typeof PagerDropDownListDirective, typeof PagerInputDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof ExcelComponent, typeof ExcelCommandDirective, typeof ExcelCommandToolbarDirective, typeof PDFComponent, typeof PDFMarginComponent, typeof PDFCommandDirective, typeof PDFTemplateDirective, typeof PDFCommandToolbarDirective];
246
+ export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof import("@progress/kendo-angular-pager").CustomMessagesComponent, typeof import("@progress/kendo-angular-pager").PagerFocusableDirective, typeof import("@progress/kendo-angular-pager").PagerInfoComponent, typeof import("@progress/kendo-angular-pager").PagerInputComponent, typeof import("@progress/kendo-angular-pager").PagerNextButtonsComponent, typeof import("@progress/kendo-angular-pager").PagerNumericButtonsComponent, typeof import("@progress/kendo-angular-pager").PagerPageSizesComponent, typeof import("@progress/kendo-angular-pager").PagerPrevButtonsComponent, typeof import("@progress/kendo-angular-pager").PagerTemplateDirective, typeof import("@progress/kendo-angular-pager").PagerComponent, typeof import("@progress/kendo-angular-pager").PagerSpacerComponent, typeof GridClipboardDirective, typeof ExcelComponent, typeof ExcelCommandDirective, typeof ExcelCommandToolbarDirective, typeof PDFComponent, typeof PDFMarginComponent, typeof PDFCommandDirective, typeof PDFTemplateDirective, typeof PDFCommandToolbarDirective];
@@ -118,16 +118,6 @@ import { AddCommandDirective } from "./editing/add-command.directive";
118
118
  import { CellLoadingTemplateDirective } from "./rendering/cell-loading.template.directive";
119
119
  import { LoadingTemplateDirective } from "./rendering/loading-template.directive";
120
120
  import { RowReorderColumnComponent } from "./columns/reorder-column.component";
121
- import { PagerComponent } from "./pager/pager.component";
122
- import { PagerPrevButtonsComponent } from "./pager/pager-prev-buttons.component";
123
- import { PagerNextButtonsComponent } from "./pager/pager-next-buttons.component";
124
- import { PagerNumericButtonsComponent } from "./pager/pager-numeric-buttons.component";
125
- import { PagerInputComponent } from "./pager/pager-input.component";
126
- import { PagerInfoComponent } from "./pager/pager-info.component";
127
- import { PagerPageSizesComponent } from "./pager/pager-page-sizes.component";
128
- import { PagerTemplateDirective } from "./pager/pager-template.directive";
129
- import { PagerDropDownListDirective } from "./pager/pager-dropdown.directive";
130
- import { PagerInputDirective } from "./pager/pager-input.directive";
131
121
  import { GridComponent } from "./grid.component";
132
122
  import { ListComponent } from "./rendering/list.component";
133
123
  import { ToolbarComponent } from "./rendering/toolbar/toolbar.component";
@@ -149,6 +139,7 @@ import { StatusBarComponent } from "./aggregates/status-bar.component";
149
139
  import { StatusBarTemplateDirective } from "./aggregates/status-bar-template.directive";
150
140
  import { GridClipboardDirective } from "./common/clipboard.directive";
151
141
  import { TemplateContextDirective } from "@progress/kendo-angular-common";
142
+ import { KENDO_PAGER } from "@progress/kendo-angular-pager";
152
143
  import { PDFCommandToolbarDirective } from "./pdf/pdf-command-tool.directive";
153
144
  import { ExcelCommandToolbarDirective } from "./excel/excel-command-tool.directive";
154
145
  import { AddCommandToolbarDirective } from "./editing/add-command-tool.directive";
@@ -371,23 +362,6 @@ export const KENDO_GRID_BODY_EXPORTS = [
371
362
  LoadingTemplateDirective,
372
363
  RowReorderColumnComponent
373
364
  ];
374
- /**
375
- * @hidden
376
- *
377
- * Utility array that contains the Pager module exports
378
- */
379
- export const KENDO_GRID_PAGER_EXPORTS = [
380
- PagerComponent,
381
- PagerPrevButtonsComponent,
382
- PagerNextButtonsComponent,
383
- PagerNumericButtonsComponent,
384
- PagerInputComponent,
385
- PagerInfoComponent,
386
- PagerPageSizesComponent,
387
- PagerTemplateDirective,
388
- PagerDropDownListDirective,
389
- PagerInputDirective
390
- ];
391
365
  /**
392
366
  * @hidden
393
367
  *
@@ -440,11 +414,11 @@ export const KENDO_GRID_EXPORTS = [
440
414
  ...KENDO_GRID_SHARED,
441
415
  ...KENDO_GRID_BODY_EXPORTS,
442
416
  ...KENDO_GRID_HEADER_EXPORTS,
443
- ...KENDO_GRID_PAGER_EXPORTS,
444
417
  ...KENDO_GRID_FILTER_ROW_EXPORTS,
445
418
  ...KENDO_GRID_FILTER_OPERATORS,
446
419
  ...KENDO_GRID_FILTER_MENU_EXPORTS,
447
420
  ...KENDO_GRID_COLUMN_MENU_EXPORTS,
421
+ ...KENDO_PAGER,
448
422
  GridClipboardDirective
449
423
  ];
450
424
  /**
@@ -13,6 +13,7 @@ import { ColumnComponent, isColumnComponent } from './columns/column.component';
13
13
  import { isSpanColumnComponent } from './columns/span-column.component';
14
14
  import { isColumnGroupComponent, ColumnGroupComponent } from './columns/column-group.component';
15
15
  import { DetailTemplateDirective } from './rendering/details/detail-template.directive';
16
+ import { normalize } from './common/pager-settings';
16
17
  import { isArray, anyChanged, isChanged, isPresent, isUniversal, observe, isTruthy, createPromise, hasObservers } from './utils';
17
18
  import { BrowserSupportService } from './layout/browser-support.service';
18
19
  import { DataResultIterator, DataCollection } from './data/data.collection';
@@ -30,8 +31,6 @@ import { syncRowsHeight } from './layout/row-sync';
30
31
  import { CELL_CONTEXT, EMPTY_CELL_CONTEXT } from './rendering/common/cell-context';
31
32
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
32
33
  import { FilterService } from './filtering/filter.service';
33
- import { PagerTemplateDirective } from './pager/pager-template.directive';
34
- import { PagerContextService } from "./pager/pager-context.service";
35
34
  import { PDFService } from './pdf/pdf.service';
36
35
  import { PDFExportEvent } from './pdf/pdf-export-event';
37
36
  import { SuspendService } from './scrolling/suspend.service';
@@ -91,11 +90,11 @@ import { ColGroupComponent } from './rendering/common/col-group.component';
91
90
  import { GridTableDirective } from './rendering/grid-table.directive';
92
91
  import { TableDirective } from './column-resizing/table.directive';
93
92
  import { GroupPanelComponent } from './grouping/group-panel.component';
94
- import { PagerComponent } from './pager/pager.component';
93
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
95
94
  import { ToolbarComponent as GridToolbarComponent } from './rendering/toolbar/toolbar.component';
96
- import { NgIf } from '@angular/common';
97
95
  import { LocalizedMessagesDirective } from './localization/localized-messages.directive';
98
96
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
97
+ import { PagerTemplateDirective, PagerContextService, PagerNavigationService, KENDO_PAGER } from '@progress/kendo-angular-pager';
99
98
  import * as i0 from "@angular/core";
100
99
  import * as i1 from "./layout/browser-support.service";
101
100
  import * as i2 from "./selection/selection.service";
@@ -121,6 +120,7 @@ import * as i21 from "@progress/kendo-angular-l10n";
121
120
  import * as i22 from "./common/provider.service";
122
121
  import * as i23 from "./layout/sizing-options.service";
123
122
  import * as i24 from "./row-reordering/row-reorder.service";
123
+ import * as i25 from "@progress/kendo-angular-pager";
124
124
  const createControl = (source) => (acc, key) => {
125
125
  acc[key] = new FormControl(source[key]);
126
126
  return acc;
@@ -291,8 +291,6 @@ export class GridComponent {
291
291
  this._group = value;
292
292
  }
293
293
  }
294
- /**
295
- */
296
294
  get group() {
297
295
  return this._group;
298
296
  }
@@ -382,6 +380,9 @@ export class GridComponent {
382
380
  * @default false
383
381
  */
384
382
  pageable = false;
383
+ get normalizedPageableSettings() {
384
+ return normalize(this.pageable);
385
+ }
385
386
  /**
386
387
  * If set to `true`, the user can group the Grid by dragging the column header cells ([see example]({% slug grouping_grid %})).
387
388
  * @default false
@@ -806,7 +807,7 @@ export class GridComponent {
806
807
  }
807
808
  get headerPadding() {
808
809
  if (isUniversal()) {
809
- return "";
810
+ return '';
810
811
  }
811
812
  const padding = Math.max(0, this.scrollbarWidth) + 'px';
812
813
  const right = this.rtl ? 0 : padding;
@@ -1311,9 +1312,7 @@ export class GridComponent {
1311
1312
  /**
1312
1313
  * @hidden
1313
1314
  */
1314
- messageFor(token) {
1315
- return this.localization.get(token);
1316
- }
1315
+ messageFor = token => this.localization.get(token);
1317
1316
  /**
1318
1317
  * Switches the specified table row in the edit mode ([see example]({% slug inline_editing_grid %}#toc-editing-records-1)).
1319
1318
  *
@@ -2170,6 +2169,7 @@ export class GridComponent {
2170
2169
  FilterService,
2171
2170
  ResponsiveService,
2172
2171
  PagerContextService,
2172
+ PagerNavigationService,
2173
2173
  ExcelService,
2174
2174
  ScrollSyncService,
2175
2175
  ResizeService,
@@ -2229,6 +2229,9 @@ export class GridComponent {
2229
2229
  i18n-pagerItemsPerPage="kendo.grid.pagerItemsPerPage|The label for the page size chooser in the Grid pager"
2230
2230
  pagerItemsPerPage="items per page"
2231
2231
 
2232
+ i18n-pagerInputLabel="kendo.grid.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number"
2233
+ pagerInputLabel="Type a page number"
2234
+
2232
2235
  i18n-filter="kendo.grid.filter|The label of the filter cell or icon"
2233
2236
  filter="Filter"
2234
2237
 
@@ -2412,8 +2415,8 @@ export class GridComponent {
2412
2415
  i18n-groupExpand="kendo.grid.groupExpand|The text of the title and aria-label attributes applied to the expand icon of group rows."
2413
2416
  groupExpand="Expand Group"
2414
2417
 
2415
- i18n-selectPage="kendo.grid.selectPage|The text of the title and aria-label attributes applied to the page chooser in the Grid Pager"
2416
- selectPage="Select page"
2418
+ i18n-pagerSelectPage="kendo.grid.pagerSelectPage|The text of the title and aria-label attributes applied to the page chooser in the Grid Pager"
2419
+ pagerSelectPage="Select page"
2417
2420
 
2418
2421
  i18n-topToolbarLabel="kendo.grid.topToolbarLabel|The label for the Grid top toolbar"
2419
2422
  topToolbarLabel="Top toolbar"
@@ -2453,16 +2456,39 @@ export class GridComponent {
2453
2456
  <ng-content select="kendo-toolbar"></ng-content>
2454
2457
  <kendo-pager
2455
2458
  *ngIf="showTopPager"
2456
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
2457
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
2458
- class="k-grid-pager-top k-pager"
2459
- [template]="pagerTemplate"
2459
+ #topPager
2460
+ [navigable]="navigation.pagerEnabled"
2461
+ class="k-grid-pager k-grid-pager-top"
2460
2462
  [pageSize]="pageSize"
2461
2463
  [total]="view.total"
2462
2464
  [skip]="skip"
2463
2465
  [size]="size"
2464
- [options]="pageable"
2466
+ [responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
2467
+ [buttonCount]="normalizedPageableSettings.buttonCount"
2468
+ [info]="normalizedPageableSettings.info"
2469
+ [pageSizeValues]="normalizedPageableSettings.pageSizes"
2470
+ [previousNext]="normalizedPageableSettings.previousNext"
2471
+ [type]="normalizedPageableSettings.type"
2465
2472
  (pageChange)="notifyPageChange('pager', $event)">
2473
+ <ng-template kendoPagerTemplate>
2474
+ <ng-container
2475
+ [ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
2476
+ [ngTemplateOutletContext]="topPager.templateContext"></ng-container>
2477
+ </ng-template>
2478
+ <kendo-pager-messages
2479
+ [ariaLabel]="messageFor('pagerLabel')"
2480
+ [firstPage]="messageFor('pagerFirstPage')"
2481
+ [inputLabel]="messageFor('pagerInputLabel')"
2482
+ [previousPage]="messageFor('pagerPreviousPage')"
2483
+ [nextPage]="messageFor('pagerNextPage')"
2484
+ [lastPage]="messageFor('pagerLastPage')"
2485
+ [selectPage]="messageFor('pagerSelectPage')"
2486
+ [page]="messageFor('pagerPage')"
2487
+ [itemsPerPage]="messageFor('pagerItemsPerPage')"
2488
+ [items]="messageFor('pagerItems')"
2489
+ [of]="messageFor('pagerOf')"
2490
+ [pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
2491
+ </kendo-pager-messages>
2466
2492
  </kendo-pager>
2467
2493
  <kendo-grid-group-panel
2468
2494
  *ngIf="showGroupPanel"
@@ -2744,16 +2770,39 @@ export class GridComponent {
2744
2770
  </kendo-grid-status-bar>
2745
2771
  <kendo-pager
2746
2772
  *ngIf="showBottomPager"
2747
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
2748
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
2749
- [template]="pagerTemplate"
2773
+ #bottomPager
2774
+ class="k-grid-pager"
2775
+ [navigable]="navigation.pagerEnabled"
2750
2776
  [pageSize]="pageSize"
2751
2777
  [total]="view.total"
2752
2778
  [skip]="skip"
2753
2779
  [size]="size"
2754
- [options]="pageable"
2755
- class="k-pager"
2780
+ [responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
2781
+ [buttonCount]="normalizedPageableSettings.buttonCount"
2782
+ [info]="normalizedPageableSettings.info"
2783
+ [pageSizeValues]="normalizedPageableSettings.pageSizes"
2784
+ [previousNext]="normalizedPageableSettings.previousNext"
2785
+ [type]="normalizedPageableSettings.type"
2756
2786
  (pageChange)="notifyPageChange('pager', $event)">
2787
+ <ng-template kendoPagerTemplate>
2788
+ <ng-container
2789
+ [ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
2790
+ [ngTemplateOutletContext]="bottomPager.templateContext"></ng-container>
2791
+ </ng-template>
2792
+ <kendo-pager-messages
2793
+ [ariaLabel]="messageFor('pagerLabel')"
2794
+ [firstPage]="messageFor('pagerFirstPage')"
2795
+ [inputLabel]="messageFor('pagerInputLabel')"
2796
+ [previousPage]="messageFor('pagerPreviousPage')"
2797
+ [nextPage]="messageFor('pagerNextPage')"
2798
+ [lastPage]="messageFor('pagerLastPage')"
2799
+ [selectPage]="messageFor('pagerSelectPage')"
2800
+ [page]="messageFor('pagerPage')"
2801
+ [itemsPerPage]="messageFor('pagerItemsPerPage')"
2802
+ [items]="messageFor('pagerItems')"
2803
+ [of]="messageFor('pagerOf')"
2804
+ [pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
2805
+ </kendo-pager-messages>
2757
2806
  </kendo-pager>
2758
2807
  <kendo-grid-toolbar
2759
2808
  class="k-grid-toolbar-bottom"
@@ -2774,8 +2823,26 @@ export class GridComponent {
2774
2823
  {{hintText}}
2775
2824
  </ng-template>
2776
2825
 
2826
+ <ng-template #defaultPager>
2827
+ <div class="k-pager-numbers-wrap">
2828
+ <kendo-pager-prev-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-prev-buttons>
2829
+ <kendo-pager-numeric-buttons
2830
+ [size]="size"
2831
+ *ngIf="normalizedPageableSettings.type === 'numeric' && normalizedPageableSettings.buttonCount > 0"
2832
+ [buttonCount]="normalizedPageableSettings.buttonCount">
2833
+ </kendo-pager-numeric-buttons>
2834
+ <kendo-pager-input [size]="size" *ngIf="normalizedPageableSettings.type === 'input'"></kendo-pager-input>
2835
+ <kendo-pager-next-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-next-buttons>
2836
+ </div>
2837
+ <kendo-pager-page-sizes *ngIf="normalizedPageableSettings.pageSizes"
2838
+ [size]="size"
2839
+ [pageSizes]="normalizedPageableSettings.pageSizes">
2840
+ </kendo-pager-page-sizes>
2841
+ <kendo-pager-info *ngIf="normalizedPageableSettings.info">
2842
+ </kendo-pager-info>
2843
+ </ng-template>
2777
2844
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
2778
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], encapsulation: i0.ViewEncapsulation.None });
2845
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i25.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i25.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i25.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i25.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i25.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i25.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i25.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i25.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i25.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
2779
2846
  }
2780
2847
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
2781
2848
  type: Component,
@@ -2806,6 +2873,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2806
2873
  FilterService,
2807
2874
  ResponsiveService,
2808
2875
  PagerContextService,
2876
+ PagerNavigationService,
2809
2877
  ExcelService,
2810
2878
  ScrollSyncService,
2811
2879
  ResizeService,
@@ -2867,6 +2935,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2867
2935
  i18n-pagerItemsPerPage="kendo.grid.pagerItemsPerPage|The label for the page size chooser in the Grid pager"
2868
2936
  pagerItemsPerPage="items per page"
2869
2937
 
2938
+ i18n-pagerInputLabel="kendo.grid.pagerInputLabel|The text of the aria-label attribute applied to the input element for entering the page number"
2939
+ pagerInputLabel="Type a page number"
2940
+
2870
2941
  i18n-filter="kendo.grid.filter|The label of the filter cell or icon"
2871
2942
  filter="Filter"
2872
2943
 
@@ -3050,8 +3121,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3050
3121
  i18n-groupExpand="kendo.grid.groupExpand|The text of the title and aria-label attributes applied to the expand icon of group rows."
3051
3122
  groupExpand="Expand Group"
3052
3123
 
3053
- i18n-selectPage="kendo.grid.selectPage|The text of the title and aria-label attributes applied to the page chooser in the Grid Pager"
3054
- selectPage="Select page"
3124
+ i18n-pagerSelectPage="kendo.grid.pagerSelectPage|The text of the title and aria-label attributes applied to the page chooser in the Grid Pager"
3125
+ pagerSelectPage="Select page"
3055
3126
 
3056
3127
  i18n-topToolbarLabel="kendo.grid.topToolbarLabel|The label for the Grid top toolbar"
3057
3128
  topToolbarLabel="Top toolbar"
@@ -3091,16 +3162,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3091
3162
  <ng-content select="kendo-toolbar"></ng-content>
3092
3163
  <kendo-pager
3093
3164
  *ngIf="showTopPager"
3094
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
3095
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
3096
- class="k-grid-pager-top k-pager"
3097
- [template]="pagerTemplate"
3165
+ #topPager
3166
+ [navigable]="navigation.pagerEnabled"
3167
+ class="k-grid-pager k-grid-pager-top"
3098
3168
  [pageSize]="pageSize"
3099
3169
  [total]="view.total"
3100
3170
  [skip]="skip"
3101
3171
  [size]="size"
3102
- [options]="pageable"
3172
+ [responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
3173
+ [buttonCount]="normalizedPageableSettings.buttonCount"
3174
+ [info]="normalizedPageableSettings.info"
3175
+ [pageSizeValues]="normalizedPageableSettings.pageSizes"
3176
+ [previousNext]="normalizedPageableSettings.previousNext"
3177
+ [type]="normalizedPageableSettings.type"
3103
3178
  (pageChange)="notifyPageChange('pager', $event)">
3179
+ <ng-template kendoPagerTemplate>
3180
+ <ng-container
3181
+ [ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
3182
+ [ngTemplateOutletContext]="topPager.templateContext"></ng-container>
3183
+ </ng-template>
3184
+ <kendo-pager-messages
3185
+ [ariaLabel]="messageFor('pagerLabel')"
3186
+ [firstPage]="messageFor('pagerFirstPage')"
3187
+ [inputLabel]="messageFor('pagerInputLabel')"
3188
+ [previousPage]="messageFor('pagerPreviousPage')"
3189
+ [nextPage]="messageFor('pagerNextPage')"
3190
+ [lastPage]="messageFor('pagerLastPage')"
3191
+ [selectPage]="messageFor('pagerSelectPage')"
3192
+ [page]="messageFor('pagerPage')"
3193
+ [itemsPerPage]="messageFor('pagerItemsPerPage')"
3194
+ [items]="messageFor('pagerItems')"
3195
+ [of]="messageFor('pagerOf')"
3196
+ [pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
3197
+ </kendo-pager-messages>
3104
3198
  </kendo-pager>
3105
3199
  <kendo-grid-group-panel
3106
3200
  *ngIf="showGroupPanel"
@@ -3382,16 +3476,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3382
3476
  </kendo-grid-status-bar>
3383
3477
  <kendo-pager
3384
3478
  *ngIf="showBottomPager"
3385
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
3386
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
3387
- [template]="pagerTemplate"
3479
+ #bottomPager
3480
+ class="k-grid-pager"
3481
+ [navigable]="navigation.pagerEnabled"
3388
3482
  [pageSize]="pageSize"
3389
3483
  [total]="view.total"
3390
3484
  [skip]="skip"
3391
3485
  [size]="size"
3392
- [options]="pageable"
3393
- class="k-pager"
3486
+ [responsive]="normalizedPageableSettings.responsive && !pagerTemplate"
3487
+ [buttonCount]="normalizedPageableSettings.buttonCount"
3488
+ [info]="normalizedPageableSettings.info"
3489
+ [pageSizeValues]="normalizedPageableSettings.pageSizes"
3490
+ [previousNext]="normalizedPageableSettings.previousNext"
3491
+ [type]="normalizedPageableSettings.type"
3394
3492
  (pageChange)="notifyPageChange('pager', $event)">
3493
+ <ng-template kendoPagerTemplate>
3494
+ <ng-container
3495
+ [ngTemplateOutlet]="pagerTemplate ? pagerTemplate?.templateRef : defaultPager"
3496
+ [ngTemplateOutletContext]="bottomPager.templateContext"></ng-container>
3497
+ </ng-template>
3498
+ <kendo-pager-messages
3499
+ [ariaLabel]="messageFor('pagerLabel')"
3500
+ [firstPage]="messageFor('pagerFirstPage')"
3501
+ [inputLabel]="messageFor('pagerInputLabel')"
3502
+ [previousPage]="messageFor('pagerPreviousPage')"
3503
+ [nextPage]="messageFor('pagerNextPage')"
3504
+ [lastPage]="messageFor('pagerLastPage')"
3505
+ [selectPage]="messageFor('pagerSelectPage')"
3506
+ [page]="messageFor('pagerPage')"
3507
+ [itemsPerPage]="messageFor('pagerItemsPerPage')"
3508
+ [items]="messageFor('pagerItems')"
3509
+ [of]="messageFor('pagerOf')"
3510
+ [pageNumberInputTitle]="messageFor('pagerPageNumberInputTitle')">
3511
+ </kendo-pager-messages>
3395
3512
  </kendo-pager>
3396
3513
  <kendo-grid-toolbar
3397
3514
  class="k-grid-toolbar-bottom"
@@ -3412,15 +3529,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3412
3529
  {{hintText}}
3413
3530
  </ng-template>
3414
3531
 
3532
+ <ng-template #defaultPager>
3533
+ <div class="k-pager-numbers-wrap">
3534
+ <kendo-pager-prev-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-prev-buttons>
3535
+ <kendo-pager-numeric-buttons
3536
+ [size]="size"
3537
+ *ngIf="normalizedPageableSettings.type === 'numeric' && normalizedPageableSettings.buttonCount > 0"
3538
+ [buttonCount]="normalizedPageableSettings.buttonCount">
3539
+ </kendo-pager-numeric-buttons>
3540
+ <kendo-pager-input [size]="size" *ngIf="normalizedPageableSettings.type === 'input'"></kendo-pager-input>
3541
+ <kendo-pager-next-buttons [size]="size" *ngIf="normalizedPageableSettings.previousNext"></kendo-pager-next-buttons>
3542
+ </div>
3543
+ <kendo-pager-page-sizes *ngIf="normalizedPageableSettings.pageSizes"
3544
+ [size]="size"
3545
+ [pageSizes]="normalizedPageableSettings.pageSizes">
3546
+ </kendo-pager-page-sizes>
3547
+ <kendo-pager-info *ngIf="normalizedPageableSettings.info">
3548
+ </kendo-pager-info>
3549
+ </ng-template>
3415
3550
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3416
3551
  `,
3417
3552
  standalone: true,
3418
3553
  imports: [
3419
- LocalizedMessagesDirective, NgIf, GridToolbarComponent, PagerComponent, GroupPanelComponent,
3554
+ LocalizedMessagesDirective, NgIf, GridToolbarComponent, GroupPanelComponent,
3420
3555
  TableDirective, GridTableDirective, ColGroupComponent, HeaderComponent, ResizableContainerDirective,
3421
3556
  ListComponent, DragTargetContainerDirective, DropTargetContainerDirective, DraggableDirective,
3422
3557
  GridMarqueeDirective, FooterComponent, TableBodyComponent, LoadingComponent, StatusBarComponent,
3423
- IconWrapperComponent, WatermarkOverlayComponent
3558
+ IconWrapperComponent, WatermarkOverlayComponent, ...KENDO_PAGER, NgTemplateOutlet
3424
3559
  ]
3425
3560
  }]
3426
3561
  }], ctorParameters: function () { return [{ type: i1.BrowserSupportService }, { type: i2.SelectionService }, { type: i3.CellSelectionService }, { type: i0.ElementRef }, { type: i4.GroupInfoService }, { type: i5.GroupsService }, { type: i6.ChangeNotificationService }, { type: i7.DetailsService }, { type: i8.EditService }, { type: i9.FilterService }, { type: i10.PDFService }, { type: i11.ResponsiveService }, { type: i0.Renderer2 }, { type: i12.ExcelService }, { type: i0.NgZone }, { type: i13.ScrollSyncService }, { type: i14.DomEventsService }, { type: i15.ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: i16.ColumnReorderService }, { type: i17.ColumnInfoService }, { type: i18.NavigationService }, { type: i19.SortService }, { type: i20.ScrollRequestService }, { type: i21.LocalizationService }, { type: i22.ContextService }, { type: i23.SizingOptionsService }, { type: i24.RowReorderService }]; }, propDecorators: { data: [{