@progress/kendo-angular-pager 24.2.2 → 25.0.0-develop.2

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 (33) hide show
  1. package/fesm2022/progress-kendo-angular-pager.mjs +48 -48
  2. package/index.d.ts +1008 -22
  3. package/package-metadata.mjs +2 -2
  4. package/package.json +12 -12
  5. package/schematics/ngAdd/index.js +6 -6
  6. package/directives.d.ts +0 -33
  7. package/package-metadata.d.ts +0 -9
  8. package/pager/change-event-args.interface.d.ts +0 -17
  9. package/pager/common/pager-classes.d.ts +0 -11
  10. package/pager/common/pager-size.d.ts +0 -8
  11. package/pager/common/pager-type.d.ts +0 -18
  12. package/pager/common/responsive-element.d.ts +0 -15
  13. package/pager/focusable.directive.d.ts +0 -32
  14. package/pager/localization/custom-messages.component.d.ts +0 -29
  15. package/pager/localization/localized-messages.directive.d.ts +0 -16
  16. package/pager/localization/messages.d.ts +0 -68
  17. package/pager/navigation.service.d.ts +0 -15
  18. package/pager/pager-context.service.d.ts +0 -36
  19. package/pager/pager-element.component.d.ts +0 -73
  20. package/pager/pager-info.component.d.ts +0 -51
  21. package/pager/pager-input.component.d.ts +0 -66
  22. package/pager/pager-next-buttons.component.d.ts +0 -44
  23. package/pager/pager-numeric-buttons.component.d.ts +0 -72
  24. package/pager/pager-page-sizes.component.d.ts +0 -79
  25. package/pager/pager-prev-buttons.component.d.ts +0 -44
  26. package/pager/pager-template.directive.d.ts +0 -34
  27. package/pager/pager.component.d.ts +0 -282
  28. package/pager/pager.module.d.ts +0 -43
  29. package/pager/pagesize-item.interface.d.ts +0 -15
  30. package/pager/pagesizechange-event.d.ts +0 -21
  31. package/pager/preventable-event.d.ts +0 -21
  32. package/pager/spacer.component.d.ts +0 -45
  33. package/util.d.ts +0 -58
package/index.d.ts CHANGED
@@ -2,25 +2,1011 @@
2
2
  * Copyright © 2026 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
- export { PageChangeEvent } from './pager/change-event-args.interface';
6
- export { PageSizeChangeEvent } from './pager/pagesizechange-event';
7
- export { CustomMessagesComponent } from './pager/localization/custom-messages.component';
8
- export { LocalizedMessagesDirective } from './pager/localization/localized-messages.directive';
9
- export { PagerPrevButtonsComponent } from './pager/pager-prev-buttons.component';
10
- export { PageSizeItem } from './pager/pagesize-item.interface';
11
- export { PagerPageSizesComponent } from './pager/pager-page-sizes.component';
12
- export { PagerType } from './pager/common/pager-type';
13
- export { PagerSize } from './pager/common/pager-size';
14
- export { PagerTemplateDirective } from './pager/pager-template.directive';
15
- export { PagerNumericButtonsComponent } from './pager/pager-numeric-buttons.component';
16
- export { PagerNextButtonsComponent } from './pager/pager-next-buttons.component';
17
- export { PagerInputComponent } from './pager/pager-input.component';
18
- export { PagerInfoComponent } from './pager/pager-info.component';
19
- export { PagerFocusableDirective } from './pager/focusable.directive';
20
- export { PagerComponent } from './pager/pager.component';
21
- export { PagerModule } from './pager/pager.module';
22
- export { PagerNavigationService } from './pager/navigation.service';
23
- export { PagerContextService } from './pager/pager-context.service';
24
- export { PagerSpacerComponent } from './pager/spacer.component';
25
- export { AdaptiveMode } from './util';
26
- export * from './directives';
5
+ import { ComponentMessages, LocalizationService } from '@progress/kendo-angular-l10n';
6
+ import * as i0 from '@angular/core';
7
+ import { OnInit, OnDestroy, ChangeDetectorRef, AfterViewInit, ElementRef, NgZone, TemplateRef, Renderer2, OnChanges, QueryList, EventEmitter, SimpleChanges } from '@angular/core';
8
+ import { Subject } from 'rxjs';
9
+ import { SVGIcon } from '@progress/kendo-svg-icons';
10
+ import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
11
+ import { NumericTextBoxComponent } from '@progress/kendo-angular-inputs';
12
+
13
+ /**
14
+ * Represents the event arguments for the `pageChange` event of the Pager.
15
+ */
16
+ interface PageChangeEvent {
17
+ /**
18
+ * The number of records to skip.
19
+ */
20
+ skip: number;
21
+ /**
22
+ * The number of records to take.
23
+ */
24
+ take: number;
25
+ }
26
+
27
+ /**
28
+ * @hidden
29
+ */
30
+ declare class PreventableEvent {
31
+ private prevented;
32
+ /**
33
+ * Prevents the default action for a specified event.
34
+ * In this way, the source component suppresses the built-in behavior that follows the event.
35
+ */
36
+ preventDefault(): void;
37
+ /**
38
+ * If the event is prevented by any of its subscribers, returns `true`.
39
+ *
40
+ * @returns `true` if the default action was prevented. Otherwise, returns `false`.
41
+ */
42
+ isDefaultPrevented(): boolean;
43
+ }
44
+
45
+ /**
46
+ * Represents the arguments for the `pageSizeChange` event. The `pageSizeChange` event fires when you change the page size
47
+ * from the UI. If you cancel the event, the change does not occur.
48
+ */
49
+ declare class PageSizeChangeEvent extends PreventableEvent {
50
+ /**
51
+ * Gets the newly selected page size.
52
+ */
53
+ newPageSize: number | string;
54
+ /**
55
+ * Constructs the event arguments for the `pageSizeChange` event.
56
+ * @param newPageSize - The newly selected page size.
57
+ * @hidden
58
+ */
59
+ constructor(newPageSize: number | string);
60
+ }
61
+
62
+ /**
63
+ * @hidden
64
+ */
65
+ declare class Messages extends ComponentMessages {
66
+ /**
67
+ * The label of the pager. Follows the pattern **Page navigation, page {currentPage} of {totalPages}** by default.
68
+ * Тhe default label text when the current page is 1, and the total number of pages is 10 will be
69
+ * **Page navigation, page 1 of 10**.
70
+ *
71
+ * The message consists of several parts - the current page number, the total number of pages, and a localizable string.
72
+ * To allow for reordering its parts, the `ariaLabel` input accepts a string with placeholders for the current page
73
+ * and total number of pages. The `{currentPage}` and `{totalPages}` placeholders will be replaced
74
+ * internally with the respective actual values.
75
+ */
76
+ ariaLabel: string;
77
+ /**
78
+ * The label for the **First page** button.
79
+ */
80
+ firstPage: string;
81
+ /**
82
+ * The label for the **Last page** button.
83
+ */
84
+ lastPage: string;
85
+ /**
86
+ * The label for the **Previous page** button.
87
+ */
88
+ previousPage: string;
89
+ /**
90
+ * The label for the **Next page** button.
91
+ */
92
+ nextPage: string;
93
+ /**
94
+ * The label displayed before the pager input.
95
+ */
96
+ page: string;
97
+ /**
98
+ * The title attribute of the page number input element.
99
+ */
100
+ pageNumberInputTitle: string;
101
+ /**
102
+ * The label displayed after the page-size selector.
103
+ */
104
+ itemsPerPage: string;
105
+ /**
106
+ * The label before the total-page number.
107
+ */
108
+ of: string;
109
+ /**
110
+ * The label after the total-page number.
111
+ */
112
+ items: string;
113
+ /**
114
+ * The text of the title and aria-label attributes applied to the page chooser.
115
+ */
116
+ selectPage: string;
117
+ /**
118
+ * The text of the aria-label attribute applied to the input element for entering the page number."
119
+ */
120
+ inputLabel: string;
121
+ static ɵfac: i0.ɵɵFactoryDeclaration<Messages, never>;
122
+ static ɵdir: i0.ɵɵDirectiveDeclaration<Messages, "kendoPagerMessages", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "firstPage": { "alias": "firstPage"; "required": false; }; "lastPage": { "alias": "lastPage"; "required": false; }; "previousPage": { "alias": "previousPage"; "required": false; }; "nextPage": { "alias": "nextPage"; "required": false; }; "page": { "alias": "page"; "required": false; }; "pageNumberInputTitle": { "alias": "pageNumberInputTitle"; "required": false; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; }; "of": { "alias": "of"; "required": false; }; "items": { "alias": "items"; "required": false; }; "selectPage": { "alias": "selectPage"; "required": false; }; "inputLabel": { "alias": "inputLabel"; "required": false; }; }, {}, never, never, true, never>;
123
+ }
124
+
125
+ /**
126
+ * Represents the Kendo UI Pager custom messages component for Angular. Use this component to override default component messages
127
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/pager/globalization#messages)).
128
+ *
129
+ * @example
130
+ * ```html
131
+ * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
132
+ * <kendo-pager-messages
133
+ * previousNext="Previous/Next"
134
+ * page="Page"
135
+ * of="of">
136
+ * </kendo-pager-messages>
137
+ * </kendo-pager>
138
+ * ```
139
+ */
140
+ declare class CustomMessagesComponent extends Messages {
141
+ protected service: LocalizationService;
142
+ constructor(service: LocalizationService);
143
+ protected get override(): boolean;
144
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomMessagesComponent, never>;
145
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomMessagesComponent, "kendo-datapager-messages, kendo-pager-messages", never, {}, {}, never, never, true, never>;
146
+ }
147
+
148
+ /**
149
+ * @hidden
150
+ */
151
+ declare class LocalizedMessagesDirective extends Messages {
152
+ protected service: LocalizationService;
153
+ constructor(service: LocalizationService);
154
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalizedMessagesDirective, never>;
155
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LocalizedMessagesDirective, "[kendoPagerLocalizedMessages]", never, {}, {}, never, never, true, never>;
156
+ }
157
+
158
+ /**
159
+ * @hidden
160
+ */
161
+ type PagerContextChanges = {
162
+ total: number;
163
+ skip: number;
164
+ pageSize: number;
165
+ isAllSelected?: boolean;
166
+ };
167
+ /**
168
+ * @hidden
169
+ */
170
+ declare class PagerContextService {
171
+ total: number;
172
+ skip: number;
173
+ pageSize: number;
174
+ isAllSelected: boolean;
175
+ localization: LocalizationService;
176
+ changes: Subject<PagerContextChanges>;
177
+ pageChange: Subject<PageChangeEvent>;
178
+ pageSizeChange: Subject<PageSizeChangeEvent>;
179
+ private get currentPage();
180
+ notifyChanges(changes: PagerContextChanges): void;
181
+ changePage(page: number): void;
182
+ changePageSize(event: PageSizeChangeEvent): void;
183
+ nextPage(): void;
184
+ prevPage(): void;
185
+ }
186
+
187
+ /**
188
+ * @hidden
189
+ */
190
+ declare abstract class PagerElementComponent implements OnInit, OnDestroy {
191
+ private localization;
192
+ protected pagerContext: PagerContextService;
193
+ protected cd: ChangeDetectorRef;
194
+ total: number;
195
+ skip: number;
196
+ pageSize: number;
197
+ chevronLeftIcon: SVGIcon;
198
+ caretAltToLeftIcon: SVGIcon;
199
+ chevronRightIcon: SVGIcon;
200
+ caretAltToRightIcon: SVGIcon;
201
+ /**
202
+ * @hidden
203
+ *
204
+ * @readonly
205
+ * @type {number}
206
+ * @memberOf PagerElementComponent
207
+ */
208
+ get currentPage(): number;
209
+ /**
210
+ * @hidden
211
+ *
212
+ * @readonly
213
+ * @type {number}
214
+ * @memberOf PagerElementComponent
215
+ */
216
+ get totalPages(): number;
217
+ private subscriptions;
218
+ constructor(localization: LocalizationService, pagerContext: PagerContextService, cd: ChangeDetectorRef);
219
+ /**
220
+ * @hidden
221
+ *
222
+ * @param {string} key
223
+ * @returns {string}
224
+ *
225
+ * @memberOf PagerElementComponent
226
+ */
227
+ textFor(key: string): string;
228
+ /**
229
+ * @hidden
230
+ *
231
+ * @param {number} page
232
+ *
233
+ * @memberOf PagerElementComponent
234
+ */
235
+ changePage(page: number): boolean;
236
+ /**
237
+ * @hidden
238
+ *
239
+ * @memberOf PagerElementComponent
240
+ */
241
+ ngOnInit(): void;
242
+ protected abstract onChanges(changes: PagerContextChanges): void;
243
+ ngOnDestroy(): void;
244
+ get prevArrowIcons(): string[];
245
+ get prevArrowSVGIcons(): SVGIcon[];
246
+ get nextArrowIcons(): string[];
247
+ get nextArrowSVGIcons(): SVGIcon[];
248
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerElementComponent, never>;
249
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerElementComponent, "kendo-pager-element", never, {}, {}, never, never, true, never>;
250
+ }
251
+
252
+ /**
253
+ * Represents the possible size options of the Pager.
254
+ */
255
+ type PagerSize = 'small' | 'medium' | 'large';
256
+
257
+ /**
258
+ * Represents the Kendo UI Pager Previous Buttons component for Angular. Displays buttons for navigating to the first and to the previous page ([see example](https://www.telerik.com/kendo-angular-ui/components/pager/settings-and-types)).
259
+ *
260
+ * @example
261
+ * ```html
262
+ * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
263
+ * <ng-template kendoPagerTemplate>
264
+ * <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
265
+ * </ng-template>
266
+ * </kendo-pager>
267
+ * ```
268
+ */
269
+ declare class PagerPrevButtonsComponent extends PagerElementComponent {
270
+ constructor(localization: LocalizationService, pagerContext: PagerContextService, cd: ChangeDetectorRef);
271
+ /**
272
+ * Specifies the padding of the navigation buttons. The default value is set by the Kendo theme.
273
+ */
274
+ size: PagerSize;
275
+ /**
276
+ * @hidden
277
+ *
278
+ * @readonly
279
+ * @type {boolean}
280
+ * @memberOf PagerPrevButtonsComponent
281
+ */
282
+ get disabled(): boolean;
283
+ /**
284
+ * @hidden
285
+ */
286
+ onClick(isFirst?: boolean): boolean;
287
+ protected onChanges({ total, skip, pageSize }: PagerContextChanges): void;
288
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerPrevButtonsComponent, never>;
289
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerPrevButtonsComponent, "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
290
+ }
291
+
292
+ interface PageSizeItem {
293
+ /**
294
+ * Specifies the text that represents each available option in the page sizes dropdown list.
295
+ */
296
+ text: string;
297
+ /**
298
+ * Specifies the numeric value that you use as page size.
299
+ * When you set the value to `all`, the page size becomes the total number of items.
300
+ */
301
+ value: number | 'all';
302
+ }
303
+
304
+ /**
305
+ * Specifies the adaptive rendering of the component.
306
+ *
307
+ * The supported values are:
308
+ * * `none`
309
+ * * `auto`&mdash;(default)
310
+ */
311
+ type AdaptiveMode = 'none' | 'auto';
312
+
313
+ /**
314
+ * Represents the Kendo UI Pager Page Sizes component for Angular. Displays a drop-down list for the page size selection ([see example](https://www.telerik.com/kendo-angular-ui/components/pager/template)).
315
+ *
316
+ * @example
317
+ * ```html
318
+ * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
319
+ * <ng-template kendoPagerTemplate>
320
+ * <kendo-pager-page-sizes [pageSizes]="[10, 20, 50]"></kendo-pager-page-sizes>
321
+ * </ng-template>
322
+ * </kendo-pager>
323
+ * ```
324
+ */
325
+ declare class PagerPageSizesComponent extends PagerElementComponent implements AfterViewInit, OnDestroy {
326
+ protected pagerContext: PagerContextService;
327
+ private element;
328
+ private ngZone;
329
+ private dropDownList;
330
+ private _showItemsText;
331
+ /**
332
+ * Controls the visibility of the page text label.
333
+ * @hidden
334
+ */
335
+ get showItemsText(): boolean;
336
+ set showItemsText(value: boolean);
337
+ /**
338
+ * Specifies the page sizes collection. You can include numbers and [`PageSizeItem`](https://www.telerik.com/kendo-angular-ui/components/pager/api/pagesizeitem) objects.
339
+ *
340
+ * @example
341
+ * ```html
342
+ * <kendo-pager [skip]="0" [pageSize]="10" [total]="100">
343
+ * <ng-template kendoPagerTemplate>
344
+ * <kendo-pager-page-sizes [pageSizes]="[5, 10, 20, { text: 'All', value: 'all' }]"></kendo-pager-page-sizes>
345
+ * </ng-template>
346
+ * </kendo-pager>
347
+ * ```
348
+ */
349
+ set pageSizes(pageSizes: PageSizeItem[] | number[]);
350
+ /**
351
+ * Specifies the padding of the DropDownList component. The default value is set by the Kendo theme.
352
+ */
353
+ size: PagerSize;
354
+ /**
355
+ * Specifies the adaptive mode of the internal `DropDownList` component.
356
+ *
357
+ * @default 'none'
358
+ */
359
+ adaptiveMode: AdaptiveMode;
360
+ /**
361
+ * @hidden
362
+ *
363
+ * @readonly
364
+ */
365
+ get classes(): boolean;
366
+ _pageSizes: Array<PageSizeItem>;
367
+ constructor(localization: LocalizationService, cd: ChangeDetectorRef, pagerContext: PagerContextService, element: ElementRef, ngZone: NgZone);
368
+ ngAfterViewInit(): void;
369
+ ngOnDestroy(): void;
370
+ /**
371
+ * @hidden
372
+ */
373
+ pageSizeChange(value: any, dropdownlist: DropDownListComponent): void;
374
+ protected onChanges({ total, skip, pageSize, isAllSelected }: PagerContextChanges): void;
375
+ private keyDownHandler;
376
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerPageSizesComponent, never>;
377
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerPageSizesComponent, "kendo-datapager-page-sizes, kendo-pager-page-sizes", never, { "showItemsText": { "alias": "showItemsText"; "required": false; }; "pageSizes": { "alias": "pageSizes"; "required": false; }; "size": { "alias": "size"; "required": false; }; "adaptiveMode": { "alias": "adaptiveMode"; "required": false; }; }, {}, never, never, true, never>;
378
+ }
379
+
380
+ /**
381
+ * Specifies the type of the `Pager`.
382
+ *
383
+ * The available values are:
384
+ * * `numeric`&mdash;Displays buttons with numbers.
385
+ * * `input`&mdash;Displays an input field for typing the page number.
386
+ *
387
+ * @example
388
+ * ```html
389
+ * <kendo-pager type="input">
390
+ * </kendo-pager>
391
+ * ```
392
+ */
393
+ type PagerType = 'numeric' | 'input';
394
+
395
+ /**
396
+ * Represents the Kendo UI Pager template directive for Angular.
397
+ * Use this directive to customize the Pager appearance. To define a Pager template, nest an `<ng-template>` tag with the `kendoPagerTemplate` directive inside `<kendo-pager>`.
398
+ *
399
+ * The template context provides the following fields:
400
+ *
401
+ * * `currentPage`&mdash;The index of the displayed page.
402
+ * * `pageSize`&mdash;The value of the current `pageSize`.
403
+ * * `skip`&mdash;The current skip value.
404
+ * * `total`&mdash;The total number of records.
405
+ * * `totalPages`&mdash;The total number of available pages.
406
+ *
407
+ * @example
408
+ * ```html
409
+ * <kendo-pager [skip]="0" [pageSize]="10" [total]="100">
410
+ * <ng-template kendoPagerTemplate let-currentPage="currentPage" let-pageSize="pageSize" let-skip="skip" let-total="total" let-totalPages="totalPages">
411
+ * <span>Page {{currentPage}} of {{totalPages}}</span>
412
+ * <span>Items per page: {{pageSize}}</span>
413
+ * </ng-template>
414
+ * </kendo-pager>
415
+ * ```
416
+ */
417
+ declare class PagerTemplateDirective {
418
+ templateRef: TemplateRef<any>;
419
+ constructor(templateRef: TemplateRef<any>);
420
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerTemplateDirective, [{ optional: true; }]>;
421
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PagerTemplateDirective, "[kendoDataPagerTemplate], [kendoPagerTemplate]", never, {}, {}, never, never, true, never>;
422
+ }
423
+
424
+ /**
425
+ * Represents the Kendo UI Pager Numeric Buttons component for Angular. Displays numeric buttons to enable navigation between the pages.
426
+ *
427
+ * @example
428
+ * ```html
429
+ * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
430
+ * <ng-template kendoPagerTemplate>
431
+ * <kendo-pager-numeric-buttons [buttonCount]="5"></kendo-pager-numeric-buttons>
432
+ * </ng-template>
433
+ * </kendo-pager>
434
+ * ```
435
+ */
436
+ declare class PagerNumericButtonsComponent extends PagerElementComponent {
437
+ protected pagerContext: PagerContextService;
438
+ private renderer;
439
+ selectElement: any;
440
+ numbersElement: any;
441
+ /**
442
+ * Specifies the count of the displayed buttons.
443
+ *
444
+ * @type {number}
445
+ * @memberOf PagerNumericButtonsComponent
446
+ */
447
+ buttonCount: number;
448
+ /**
449
+ * Specifies the padding of the numeric buttons. The default value is set by the Kendo theme.
450
+ */
451
+ set size(size: PagerSize);
452
+ get size(): PagerSize;
453
+ /**
454
+ * @hidden
455
+ *
456
+ * @readonly
457
+ * @type {number[]}
458
+ * @memberOf PagerNumericButtonsComponent
459
+ */
460
+ get buttons(): number[];
461
+ /**
462
+ * @hidden
463
+ */
464
+ get end(): number;
465
+ /**
466
+ * @hidden
467
+ */
468
+ get start(): number;
469
+ constructor(localization: LocalizationService, cd: ChangeDetectorRef, pagerContext: PagerContextService, renderer: Renderer2);
470
+ private _size;
471
+ ngAfterViewInit(): void;
472
+ /**
473
+ * @hidden
474
+ */
475
+ pageLabel(num: number): string;
476
+ /**
477
+ * @hidden
478
+ */
479
+ onSelectChange(e: Event): void;
480
+ protected onChanges({ total, skip, pageSize }: PagerContextChanges): void;
481
+ get pageChooserLabel(): string;
482
+ private handleClasses;
483
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerNumericButtonsComponent, never>;
484
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerNumericButtonsComponent, "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", never, { "buttonCount": { "alias": "buttonCount"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
485
+ }
486
+
487
+ /**
488
+ * Represents the Kendo UI Pager Next Buttons component for Angular. Displays buttons for navigating to the next and to the last page ([see example](https://www.telerik.com/kendo-angular-ui/components/pager/settings-and-types)).
489
+ *
490
+ * @example
491
+ * ```html
492
+ * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
493
+ * <ng-template kendoPagerTemplate>
494
+ * <kendo-pager-next-buttons></kendo-pager-next-buttons>
495
+ * </ng-template>
496
+ * </kendo-pager>
497
+ * ```
498
+ */
499
+ declare class PagerNextButtonsComponent extends PagerElementComponent {
500
+ /**
501
+ * @hidden
502
+ *
503
+ * @readonly
504
+ * @type {boolean}
505
+ * @memberOf PagerNextButtonsComponent
506
+ */
507
+ get disabled(): boolean;
508
+ /**
509
+ * Specifies the padding of the navigation buttons. The default value is set by the Kendo theme.
510
+ */
511
+ size: PagerSize;
512
+ constructor(localization: LocalizationService, pagerContext: PagerContextService, cd: ChangeDetectorRef);
513
+ /**
514
+ * @hidden
515
+ */
516
+ onClick(isLast?: boolean): boolean;
517
+ protected onChanges({ total, skip, pageSize }: PagerContextChanges): void;
518
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerNextButtonsComponent, never>;
519
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerNextButtonsComponent, "kendo-datapager-next-buttons, kendo-pager-next-buttons", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
520
+ }
521
+
522
+ /**
523
+ * Represents the Kendo UI Pager Input component for Angular. Displays an input element which allows you to type and render page numbers.
524
+ *
525
+ * @example
526
+ * ```html
527
+ * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
528
+ * <ng-template kendoPagerTemplate>
529
+ * <kendo-pager-input></kendo-pager-input>
530
+ * </ng-template>
531
+ * </kendo-pager>
532
+ * ```
533
+ */
534
+ declare class PagerInputComponent extends PagerElementComponent {
535
+ protected pagerContext: PagerContextService;
536
+ private zone;
537
+ private renderer;
538
+ numericInput: NumericTextBoxComponent;
539
+ /**
540
+ * Controls the visibility of the page text label.
541
+ * @hidden
542
+ */
543
+ showPageText: boolean;
544
+ /**
545
+ * Specifies the padding of the internal `NumericTextBox` component. The default value is set by the Kendo theme.
546
+ */
547
+ size: PagerSize;
548
+ constructor(localization: LocalizationService, pagerContext: PagerContextService, zone: NgZone, cd: ChangeDetectorRef, renderer: Renderer2);
549
+ protected onChanges({ total, skip, pageSize }: PagerContextChanges): void;
550
+ /**
551
+ * @hidden
552
+ *
553
+ * @param {string} value
554
+ *
555
+ * @memberOf PagerInputComponent
556
+ */
557
+ handleKeyDown: (event: KeyboardEvent) => void;
558
+ /**
559
+ * @hidden
560
+ *
561
+ * @param {string} value
562
+ *
563
+ * @memberOf PagerInputComponent
564
+ */
565
+ handleBlur: () => void;
566
+ /**
567
+ * @hidden
568
+ */
569
+ get current(): number;
570
+ /**
571
+ * @hidden
572
+ */
573
+ get hasPages(): boolean;
574
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerInputComponent, never>;
575
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerInputComponent, "kendo-datapager-input, kendo-pager-input", never, { "showPageText": { "alias": "showPageText"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
576
+ }
577
+
578
+ /**
579
+ * Represents the Kendo UI Pager Info component for Angular. Displays information about the current page and the total number of records ([see example](https://www.telerik.com/kendo-angular-ui/components/pager/settings-and-types)).
580
+ *
581
+ * @example
582
+ * ```html
583
+ * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
584
+ * <ng-template kendoPagerTemplate>
585
+ * <kendo-pager-info></kendo-pager-info>
586
+ * </ng-template>
587
+ * </kendo-pager>
588
+ * ```
589
+ */
590
+ declare class PagerInfoComponent extends PagerElementComponent {
591
+ /**
592
+ * @hidden
593
+ *
594
+ * @readonly
595
+ * @type {number}
596
+ * @memberOf PagerInfoComponent
597
+ */
598
+ get maxItems(): number;
599
+ /**
600
+ * @hidden
601
+ *
602
+ * @readonly
603
+ * @type {number}
604
+ * @memberOf PagerInfoComponent
605
+ */
606
+ get currentPageText(): number;
607
+ /**
608
+ * @hidden
609
+ *
610
+ * @readonly
611
+ * @type {boolean}
612
+ * @memberOf PagerInfoComponent
613
+ */
614
+ hostClass: boolean;
615
+ constructor(localization: LocalizationService, cd: ChangeDetectorRef, pagerContext: PagerContextService);
616
+ protected onChanges({ total, skip, pageSize }: PagerContextChanges): void;
617
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerInfoComponent, never>;
618
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerInfoComponent, "kendo-datapager-info, kendo-pager-info", never, {}, {}, never, never, true, never>;
619
+ }
620
+
621
+ /**
622
+ * @hidden
623
+ */
624
+ declare class PagerNavigationService {
625
+ isNavigable: boolean;
626
+ innerNavigationChange: Subject<boolean>;
627
+ toggleInnerNavigation(value: boolean): void;
628
+ keepFocusWithinComponent(wrapper: HTMLElement, target: HTMLElement, event: KeyboardEvent): void;
629
+ getFirstAndLastFocusable(wrapper: HTMLElement): Array<HTMLElement>;
630
+ }
631
+
632
+ /**
633
+ * Represents the Kendo UI Pager focusable directive for Angular. Apply this directive to custom focusable elements in the [`kendoPagerTemplate`](https://www.telerik.com/kendo-angular-ui/components/pager/api/pagertemplatedirective) to include them in the built-in Pager keyboard navigation.
634
+ *
635
+ * @example
636
+ * ```html
637
+ * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
638
+ * <ng-template kendoPagerTemplate>
639
+ * <button kendoPagerFocusable type="button">Custom Button</button>
640
+ * </ng-template>
641
+ * </kendo-pager>
642
+ * ```
643
+ */
644
+ declare class PagerFocusableDirective implements OnInit, OnDestroy {
645
+ private navigationService;
646
+ private element;
647
+ private renderer;
648
+ private subscriptions;
649
+ constructor(navigationService: PagerNavigationService, element: ElementRef, renderer: Renderer2);
650
+ ngOnInit(): void;
651
+ ngOnDestroy(): void;
652
+ private get nativeElement();
653
+ private innerNavigationChange;
654
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerFocusableDirective, never>;
655
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PagerFocusableDirective, "[kendoPagerFocusable]", ["kendoPagerFocusable"], {}, {}, never, never, true, never>;
656
+ }
657
+
658
+ /**
659
+ * Represents the Kendo UI Pager component for Angular.
660
+ * Enables you to split a set of data into pages, providing a flexible and intuitive UI.
661
+ *
662
+ * @example
663
+ * ```ts
664
+ * @Component({
665
+ * selector: 'my-app',
666
+ * template: `
667
+ * <kendo-pager
668
+ * [total]="total"
669
+ * [skip]="skip"
670
+ * [pageSize]="pageSize"
671
+ * (pageChange)="onPageChange($event)">
672
+ * </kendo-pager>
673
+ * `
674
+ * })
675
+ * export class AppComponent {
676
+ * public total = 200;
677
+ * public skip = 0;
678
+ * public pageSize = 10;
679
+ *
680
+ * public onPageChange(event: PageChangeEvent) {
681
+ * this.skip = event.skip;
682
+ * }
683
+ * }
684
+ * ```
685
+ *
686
+ * @remarks
687
+ * Supported children components are:
688
+ * {@link PagerNumericButtonsComponent},
689
+ * {@link PagerInputComponent},
690
+ * {@link PagerPageSizesComponent},
691
+ * {@link PagerSpacerComponent},
692
+ * {@link PagerPrevButtonsComponent},
693
+ * {@link PagerNextButtonsComponent},
694
+ * {@link PagerInfoComponent},
695
+ * {@link CustomMessagesComponent}
696
+ */
697
+ declare class PagerComponent implements OnChanges, AfterViewInit, OnInit, OnDestroy {
698
+ private pagerContext;
699
+ private element;
700
+ private localization;
701
+ private renderer;
702
+ private ngZone;
703
+ private cdr;
704
+ private navigationService;
705
+ /**
706
+ * Represents the collection of pager template directives.
707
+ */
708
+ template: QueryList<PagerTemplateDirective>;
709
+ set numericButtons(buttons: ElementRef);
710
+ set pagerInput(input: ElementRef);
711
+ pagerInputComponent: PagerInputComponent;
712
+ set pageSizes(sizes: ElementRef);
713
+ pageSizesComponent: PagerPageSizesComponent;
714
+ /**
715
+ * @hidden
716
+ */
717
+ externalTemplate: any;
718
+ /**
719
+ * Specifies the total number of data items in the collection.
720
+ *
721
+ * @default 0
722
+ */
723
+ total: number;
724
+ /**
725
+ * Specifies the number of data items to skip.
726
+ *
727
+ * @default 0
728
+ */
729
+ skip: number;
730
+ /**
731
+ * Specifies the number of data items per page.
732
+ */
733
+ pageSize: number;
734
+ /**
735
+ * Specifies the maximum number of numeric buttons before the buttons are collapsed.
736
+ *
737
+ * @default 10
738
+ */
739
+ buttonCount: number;
740
+ /**
741
+ * Determines whether to display information about the current page and the total number of records.
742
+ *
743
+ * @default true
744
+ */
745
+ info: boolean;
746
+ /**
747
+ * Specifies the type of the Pager.
748
+ *
749
+ * @default 'numeric'
750
+ */
751
+ type: PagerType;
752
+ /**
753
+ * Displays a dropdown for selecting the page size.
754
+ * When set to `true`, the dropdown contains the default list of options - 5, 10, 20.
755
+ * To customize the list of options, set `pageSizeValues` to an array of the desired values.
756
+ * The array can contain numbers and [PageSizeItem](https://www.telerik.com/kendo-angular-ui/components/pager/api/pagesizeitem) objects.
757
+ */
758
+ set pageSizeValues(value: boolean | number[] | PageSizeItem[]);
759
+ get pageSizeValues(): boolean | number[] | PageSizeItem[];
760
+ /**
761
+ * Determines whether to display the **Previous** and **Next** buttons.
762
+ *
763
+ * @default true
764
+ */
765
+ previousNext: boolean;
766
+ /**
767
+ * Determines whether users can use dedicated shortcuts to interact with the Pager ([see example](https://www.telerik.com/kendo-angular-ui/components/pager/keyboard-navigation)).
768
+ * By default, navigation is enabled. To disable it and make the Pager content accessible in the normal tab sequence, set the property to `false`.
769
+ * @default true
770
+ *
771
+ * @remarks
772
+ * This property is related to accessibility.
773
+ */
774
+ set navigable(value: boolean);
775
+ get navigable(): boolean;
776
+ /**
777
+ * Specifies the padding of all Pager elements. The default value is set by the Kendo theme.
778
+ */
779
+ set size(size: PagerSize);
780
+ get size(): PagerSize;
781
+ /**
782
+ * Determines whether the Pager responsive functionality is enabled ([see example](https://www.telerik.com/kendo-angular-ui/components/pager/responsive-design)).
783
+ *
784
+ * @default true
785
+ */
786
+ responsive: boolean;
787
+ /**
788
+ * Determines whether the Pager adaptiveness functionality is enabled ([see example](https://www.telerik.com/kendo-angular-ui/components/pager/adaptiveness)).
789
+ *
790
+ * @default 'none'
791
+ */
792
+ adaptiveMode: AdaptiveMode;
793
+ /**
794
+ * Fires when the current page of the Pager changes ([see example](https://www.telerik.com/kendo-angular-ui/components/pager)).
795
+ * You have to handle the event and page the data.
796
+ */
797
+ pageChange: EventEmitter<PageChangeEvent>;
798
+ /**
799
+ * Fires when the page size of the Pager changes.
800
+ * You have to handle the event and page the data.
801
+ * If the event is prevented, the page size remains unchanged ([see example](https://www.telerik.com/kendo-angular-ui/components/pager/events)).
802
+ */
803
+ pageSizeChange: EventEmitter<PageSizeChangeEvent>;
804
+ /**
805
+ * @hidden
806
+ */
807
+ pagerInputVisibilityChange: EventEmitter<boolean>;
808
+ /**
809
+ * @hidden
810
+ */
811
+ pageTextVisibilityChange: EventEmitter<boolean>;
812
+ /**
813
+ * @hidden
814
+ */
815
+ itemsTextVisibilityChange: EventEmitter<boolean>;
816
+ pagerClass: boolean;
817
+ get responsiveClass(): boolean;
818
+ widgetRole: string;
819
+ roleDescription: string;
820
+ keyShortcuts: string;
821
+ get hostTabindex(): string;
822
+ get dir(): string;
823
+ /**
824
+ * @hidden
825
+ */
826
+ focusHandler(ev: any): void;
827
+ get totalPages(): number;
828
+ get currentPage(): number;
829
+ get templateContext(): any;
830
+ /**
831
+ * @hidden
832
+ */
833
+ get showPageText(): boolean;
834
+ set showPageText(value: boolean);
835
+ /**
836
+ * @hidden
837
+ */
838
+ get showItemsText(): boolean;
839
+ set showItemsText(value: boolean);
840
+ /**
841
+ * @hidden
842
+ */
843
+ get showInput(): boolean;
844
+ set showInput(value: boolean);
845
+ /**
846
+ * @hidden
847
+ */
848
+ initialized: boolean;
849
+ private subscriptions;
850
+ private _templateContext;
851
+ _pageSizeValues: number[] | PageSizeItem[];
852
+ private direction;
853
+ private isInnerNavigationEnabled;
854
+ private _navigable;
855
+ private _size;
856
+ private _showInput;
857
+ private _showPageText;
858
+ private _showItemsText;
859
+ private _isAllSelected;
860
+ /**
861
+ * Stores the measurements of various Pager elements.
862
+ * These dimensions are used for responsive layout calculations.
863
+ * @hidden
864
+ */
865
+ private pagerDimensions;
866
+ constructor(pagerContext: PagerContextService, element: ElementRef, localization: LocalizationService, renderer: Renderer2, ngZone: NgZone, cdr: ChangeDetectorRef, navigationService: PagerNavigationService);
867
+ ngOnInit(): void;
868
+ /**
869
+ * Gets the maximum number of items displayed on the current page.
870
+ */
871
+ get maxItems(): number;
872
+ ngAfterViewInit(): void;
873
+ ngOnChanges(changes: SimpleChanges): void;
874
+ ngOnDestroy(): void;
875
+ /**
876
+ * @hidden
877
+ */
878
+ changePage(event: PageChangeEvent): void;
879
+ /**
880
+ * @hidden
881
+ */
882
+ changePageSize(event: PageSizeChangeEvent): void;
883
+ /**
884
+ * @hidden
885
+ */
886
+ onPageSizeChange(event: PageSizeChangeEvent): void;
887
+ /**
888
+ * @hidden
889
+ */
890
+ resizeHandler: (compareWidth?: boolean) => void;
891
+ private sizesDropDownElement;
892
+ private pagerInputElement;
893
+ private pagerInfoElement;
894
+ private numericButtonsElement;
895
+ private responsiveDropDownElement;
896
+ private responsiveDropDownTextElement;
897
+ private responsivePageTextElement;
898
+ private responsiveInfoTextElement;
899
+ private responsiveNumericButtonsElement;
900
+ /**
901
+ * Contains all elements that are subject to responsive toggling.
902
+ * These elements will be shown or hidden based on the available space.
903
+ * The order of elements in the array defines the priority of visibility.
904
+ * This array allows us to work with the elements without performing element-specific logic in other methods.
905
+ */
906
+ private responsiveElements;
907
+ private get ariaLabel();
908
+ private keyDownHandler;
909
+ private innerNavigationChange;
910
+ private handleClasses;
911
+ private showElements;
912
+ private isElementVisible;
913
+ private hideElement;
914
+ private showElement;
915
+ private measureAllTextWidths;
916
+ private showNumericButtonsResponsive;
917
+ private get showPageSizes();
918
+ private setPagerDimensions;
919
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerComponent, [{ optional: true; skipSelf: true; }, null, null, null, null, null, { optional: true; skipSelf: true; }]>;
920
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerComponent, "kendo-datapager, kendo-pager", ["kendoDataPager", "kendoPager"], { "externalTemplate": { "alias": "externalTemplate"; "required": false; }; "total": { "alias": "total"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "buttonCount": { "alias": "buttonCount"; "required": false; }; "info": { "alias": "info"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pageSizeValues": { "alias": "pageSizeValues"; "required": false; }; "previousNext": { "alias": "previousNext"; "required": false; }; "navigable": { "alias": "navigable"; "required": false; }; "size": { "alias": "size"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "adaptiveMode": { "alias": "adaptiveMode"; "required": false; }; }, { "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "pagerInputVisibilityChange": "pagerInputVisibilityChange"; "pageTextVisibilityChange": "pageTextVisibilityChange"; "itemsTextVisibilityChange": "itemsTextVisibilityChange"; }, ["template"], never, true, never>;
921
+ }
922
+
923
+ /**
924
+ * Represents the Kendo UI Pager Spacer component for Angular.
925
+ * Gives you additional white space between the Pager inner elements,
926
+ * and provides a way for customizing the spacer width.
927
+ *
928
+ * @example
929
+ * ```html
930
+ * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
931
+ * <ng-template kendoPagerTemplate>
932
+ * <kendo-pager-prev-buttons></kendo-pager-prev-buttons>
933
+ * <kendo-pager-info></kendo-pager-info>
934
+ * <kendo-pager-spacer></kendo-pager-spacer>
935
+ * <kendo-pager-next-buttons></kendo-pager-next-buttons>
936
+ * </ng-template>
937
+ * </kendo-pager>
938
+ * ```
939
+ */
940
+ declare class PagerSpacerComponent {
941
+ /**
942
+ * Gets the CSS class for the spacer.
943
+ */
944
+ hostClass: boolean;
945
+ /**
946
+ * Gets the CSS class for sized spacers.
947
+ */
948
+ get sizedClass(): boolean;
949
+ /**
950
+ * Gets the flex-basis style for the spacer width.
951
+ */
952
+ get flexBasisStyle(): string;
953
+ /**
954
+ * Specifies the width of the `PagerSpacer` component.
955
+ * Accepts the [string values of the CSS `flex-basis` property](https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis).
956
+ *
957
+ * If you do not set this property, the `PagerSpacer` takes all the available space.
958
+ */
959
+ width: string;
960
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerSpacerComponent, never>;
961
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerSpacerComponent, "kendo-pager-spacer", never, { "width": { "alias": "width"; "required": false; }; }, {}, never, never, true, never>;
962
+ }
963
+
964
+ /**
965
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
966
+ * definition for the Pager component. Imports `PagerModule` into the
967
+ * [root module](link:site.data.urls.angular['ngmodules']#angular-modularity)
968
+ * of your application or into any other sub-module that will use the Pager component.
969
+ *
970
+ * @example
971
+ * ```ts-no-run
972
+ * import { NgModule } from '@angular/core';
973
+ * import { BrowserModule } from '@angular/platform-browser';
974
+ * import { PagerModule } from '@progress/kendo-angular-pager';
975
+ * import { AppComponent } from './app.component';
976
+ *
977
+ * _@NgModule({
978
+ * bootstrap: [AppComponent],
979
+ * declarations: [AppComponent],
980
+ * imports: [BrowserModule, PagerModule]
981
+ * })
982
+ * export class AppModule {
983
+ * }
984
+ * ```
985
+ */
986
+ declare class PagerModule {
987
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagerModule, never>;
988
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PagerModule, never, [typeof CustomMessagesComponent, typeof PagerFocusableDirective, typeof PagerInfoComponent, typeof PagerInputComponent, typeof PagerNextButtonsComponent, typeof PagerNumericButtonsComponent, typeof PagerPageSizesComponent, typeof PagerPrevButtonsComponent, typeof PagerTemplateDirective, typeof PagerComponent, typeof PagerSpacerComponent], [typeof CustomMessagesComponent, typeof PagerFocusableDirective, typeof PagerInfoComponent, typeof PagerInputComponent, typeof PagerNextButtonsComponent, typeof PagerNumericButtonsComponent, typeof PagerPageSizesComponent, typeof PagerPrevButtonsComponent, typeof PagerTemplateDirective, typeof PagerComponent, typeof PagerSpacerComponent]>;
989
+ static ɵinj: i0.ɵɵInjectorDeclaration<PagerModule>;
990
+ }
991
+
992
+ /**
993
+ * Use this utility array to access all `@progress/kendo-angular-pager`-related components and directives in a standalone Angular component.
994
+ *
995
+ * @example
996
+ * ```typescript
997
+ * import { Component } from '@angular/core';
998
+ * import { KENDO_PAGER } from '@progress/kendo-angular-pager';
999
+ *
1000
+ * @Component({
1001
+ * selector: 'my-app',
1002
+ * standalone: true,
1003
+ * imports: [KENDO_PAGER],
1004
+ * template: `<kendo-pager></kendo-pager>`
1005
+ * })
1006
+ * export class AppComponent {}
1007
+ * ```
1008
+ */
1009
+ declare const KENDO_PAGER: readonly [typeof CustomMessagesComponent, typeof PagerFocusableDirective, typeof PagerInfoComponent, typeof PagerInputComponent, typeof PagerNextButtonsComponent, typeof PagerNumericButtonsComponent, typeof PagerPageSizesComponent, typeof PagerPrevButtonsComponent, typeof PagerTemplateDirective, typeof PagerComponent, typeof PagerSpacerComponent];
1010
+
1011
+ export { CustomMessagesComponent, KENDO_PAGER, LocalizedMessagesDirective, PageSizeChangeEvent, PagerComponent, PagerContextService, PagerFocusableDirective, PagerInfoComponent, PagerInputComponent, PagerModule, PagerNavigationService, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerPageSizesComponent, PagerPrevButtonsComponent, PagerSpacerComponent, PagerTemplateDirective };
1012
+ export type { AdaptiveMode, PageChangeEvent, PageSizeItem, PagerSize, PagerType };