@progress/kendo-angular-pager 21.0.0-develop.2 → 21.0.0-develop.21

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.
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1761752851,
14
- version: '21.0.0-develop.2',
13
+ publishDate: 1762426777,
14
+ version: '21.0.0-develop.21',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -195,9 +195,9 @@ export class PagerComponent {
195
195
  /**
196
196
  * Determines whether the Pager adaptiveness functionality is enabled ([see example](slug:adaptive_mode_pager)).
197
197
  *
198
- * @default 'auto'
198
+ * @default 'none'
199
199
  */
200
- adaptiveMode = 'auto';
200
+ adaptiveMode = 'none';
201
201
  /**
202
202
  * Fires when the current page of the Pager changes ([see example](slug:overview_pager)).
203
203
  * You have to handle the event and page the data.
@@ -376,36 +376,23 @@ export class PagerComponent {
376
376
  }
377
377
  }));
378
378
  this.handleClasses(this.size, 'size');
379
- this.measureAllTextWidths();
380
- if (!this.numericButtons) {
381
- this.pagerDimensions.numericButtonsWidth = this.element.nativeElement.querySelector('.k-pager-numbers')?.offsetWidth ?? 0;
382
- }
383
- if (!this.pagerInput) {
384
- this.pagerDimensions.inputWidth = this.element.nativeElement.querySelector('.k-pager-input')?.offsetWidth ?? 0;
385
- }
386
- if (!this.pageSizes) {
387
- this.pagerDimensions.pageSizesWidth = this.element.nativeElement.querySelector('.k-pager-sizes')?.offsetWidth ?? 0;
388
- }
389
- const padding = calculatePadding(this.element.nativeElement);
390
- this.pagerDimensions.padding = padding.padding;
391
- this.pagerDimensions.gapNumbersSizes = padding.gapNumbersSizes;
392
- this.pagerDimensions.gapSizesInfo = padding.gapSizesInfo;
379
+ this.setPagerDimensions();
393
380
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
394
381
  if (this.type !== 'input') {
395
382
  this.showInput = false;
396
383
  }
384
+ this.responsive && this.resizeHandler();
397
385
  });
398
386
  if (!isDocumentAvailable()) {
399
387
  this.initialized = true;
400
388
  return;
401
389
  }
402
- if (this.responsive) {
403
- this.resizeHandler();
404
- }
405
- setTimeout(() => {
406
- this.initialized = true;
407
- this.cdr.markForCheck();
408
- }, 0);
390
+ this.ngZone.runOutsideAngular(() => {
391
+ setTimeout(() => {
392
+ this.initialized = true;
393
+ this.cdr.markForCheck();
394
+ }, 0);
395
+ });
409
396
  }
410
397
  ngOnChanges(changes) {
411
398
  if (anyChanged(["pageSize", "skip", "total"], changes, false)) {
@@ -447,7 +434,7 @@ export class PagerComponent {
447
434
  }
448
435
  if (!this.responsive) {
449
436
  this.showInput = this.type === 'input';
450
- this.showElementsInOrder(this.element.nativeElement.offsetWidth, this.pagerDimensions.width);
437
+ this.showElements(this.element.nativeElement.offsetWidth, this.pagerDimensions.width);
451
438
  }
452
439
  }
453
440
  if (isChanged('type', changes, true)) {
@@ -518,8 +505,8 @@ export class PagerComponent {
518
505
  return;
519
506
  }
520
507
  const numericButtonsWrapperElement = this.element.nativeElement.querySelector('.k-pager-numbers-wrap');
521
- const pagerInfoElement = this.element.nativeElement.querySelector('.k-pager-info');
522
- const pagerPageSizes = this.element.nativeElement.querySelector('.k-pager-sizes');
508
+ const pagerInfoElement = this.pagerInfoElement();
509
+ const pagerPageSizes = this.sizesDropDownElement();
523
510
  let elementsWidths = numericButtonsWrapperElement?.offsetWidth + (pagerPageSizes?.offsetWidth || 0) + (pagerInfoElement?.offsetWidth > 0 ? Math.min(this.pagerDimensions.infoTextWidth) : 0);
524
511
  if (this.isElementVisible(pagerInfoElement)) {
525
512
  elementsWidths += this.pagerDimensions.gapSizesInfo;
@@ -528,18 +515,100 @@ export class PagerComponent {
528
515
  if (this.isElementVisible(pagerPageSizes)) {
529
516
  pagerWidth -= this.pagerDimensions.gapNumbersSizes;
530
517
  }
531
- if (Math.ceil(elementsWidths) <= pagerWidth) {
532
- this.showElementsInOrder(pagerWidth, elementsWidths);
533
- }
534
- else {
535
- this.hideElementsInOrder(pagerWidth, elementsWidths);
518
+ if (pagerWidth < 0) {
519
+ return;
536
520
  }
521
+ this.showElements(pagerWidth, elementsWidths);
537
522
  if (!this.initialized) {
538
523
  this.ngZone.onStable.pipe(take(1)).subscribe(() => this.initialized = true);
539
524
  }
540
525
  });
541
526
  });
542
527
  };
528
+ // use selectors to get the element even when used in a template
529
+ sizesDropDownElement = () => this.element.nativeElement.querySelector('.k-pager-sizes');
530
+ pagerInputElement = () => this.element.nativeElement.querySelector('.k-pager-input');
531
+ pagerInfoElement = () => this.element.nativeElement.querySelector('.k-pager-info');
532
+ numericButtonsElement = () => this.element.nativeElement.querySelector('kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons');
533
+ responsiveDropDownElement = {
534
+ name: 'sizeDropDown',
535
+ isEnabled: () => this.showPageSizes,
536
+ isVisible: () => this.isElementVisible(this.sizesDropDownElement()),
537
+ width: () => this.pagerDimensions.pageSizesWidth + this.pagerDimensions.gapNumbersSizes - this.pagerDimensions.sizesTextWidth,
538
+ show: () => {
539
+ this.ngZone.run(() => this.showItemsText = false);
540
+ this.showElement(this.sizesDropDownElement());
541
+ },
542
+ hide: () => {
543
+ this.hideElement(this.sizesDropDownElement());
544
+ }
545
+ };
546
+ responsiveDropDownTextElement = {
547
+ name: 'itemsDropDownText',
548
+ isEnabled: () => this.showPageSizes,
549
+ isVisible: () => this.isElementVisible(this.sizesDropDownElement()) && this.showItemsText,
550
+ width: () => this.pagerDimensions.sizesTextWidth + this.pagerDimensions.gapPageText,
551
+ show: () => this.ngZone.run(() => this.showItemsText = true),
552
+ hide: () => this.ngZone.run(() => this.showItemsText = false)
553
+ };
554
+ responsivePageTextElement = {
555
+ name: 'pageText',
556
+ isEnabled: () => this.isElementVisible(this.pagerInputElement()),
557
+ isVisible: () => this.showPageText,
558
+ width: () => this.pagerDimensions.pageTextWidth + this.pagerDimensions.gapPageText,
559
+ show: () => this.ngZone.run(() => this.showPageText = true),
560
+ hide: () => this.ngZone.run(() => this.showPageText = false)
561
+ };
562
+ responsiveInfoTextElement = {
563
+ name: 'infoText',
564
+ isEnabled: () => this.info,
565
+ isVisible: () => this.isElementVisible(this.pagerInfoElement()),
566
+ width: () => this.pagerDimensions.infoTextWidth + this.pagerDimensions.gapSizesInfo,
567
+ show: () => {
568
+ this.ngZone.run(() => {
569
+ this.showElement(this.pagerInfoElement());
570
+ });
571
+ },
572
+ hide: () => {
573
+ this.ngZone.run(() => {
574
+ this.hideElement(this.pagerInfoElement());
575
+ });
576
+ }
577
+ };
578
+ responsiveNumericButtonsElement = {
579
+ name: 'numericButtons',
580
+ isEnabled: () => this.type === 'numeric',
581
+ isVisible: () => this.isElementVisible(this.numericButtonsElement()),
582
+ width: () => this.pagerDimensions.numericButtonsWidth - this.pagerDimensions.inputWidth,
583
+ show: () => {
584
+ this.showElement(this.numericButtonsElement());
585
+ this.ngZone.run(() => {
586
+ this.showInput = false;
587
+ this.cdr.markForCheck();
588
+ });
589
+ },
590
+ hide: () => {
591
+ this.hideElement(this.numericButtonsElement());
592
+ this.ngZone.run(() => {
593
+ this.showInput = true;
594
+ this.showPageText = true;
595
+ this.cdr.markForCheck();
596
+ });
597
+ }
598
+ };
599
+ /**
600
+ * Contains all elements that are subject to responsive toggling.
601
+ * These elements will be shown or hidden based on the available space.
602
+ * The order of elements in the array defines the priority of visibility.
603
+ * This array allows us to work with the elements without performing element-specific logic in other methods.
604
+ */
605
+ responsiveElements = [
606
+ this.responsiveDropDownElement,
607
+ this.responsiveDropDownTextElement,
608
+ this.responsivePageTextElement,
609
+ this.responsiveInfoTextElement,
610
+ this.responsiveNumericButtonsElement
611
+ ];
543
612
  get ariaLabel() {
544
613
  const localizationMsg = this.localization.get('ariaLabel') || '';
545
614
  return replaceMessagePlaceholder(replaceMessagePlaceholder(localizationMsg, 'currentPage', this.currentPage.toString()), 'totalPages', this.totalPages.toString());
@@ -631,96 +700,40 @@ export class PagerComponent {
631
700
  this.renderer.addClass(elem, classes.toAdd);
632
701
  }
633
702
  }
634
- showElementsInOrder(availableWidth, currentWidth) {
635
- const el = this.element.nativeElement;
636
- const numericButtonsElement = el.querySelector('kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons');
637
- const pagerInfoElement = el.querySelector('.k-pager-info');
638
- const pagerPageSizes = el.querySelector('.k-pager-sizes');
639
- const pagerSizesDropDown = el.querySelector('.k-pager-sizes .k-dropdownlist');
640
- const checkOverflow = this.responsive;
641
- if (this.type === 'input' && this.isElementVisible(pagerInfoElement) || this.isElementVisible(numericButtonsElement)) {
642
- return;
643
- }
644
- if (this.showPageSizes && !this.isElementVisible(pagerPageSizes)) {
645
- const addDropDownWidth = currentWidth + this.pagerDimensions.pageSizesWidth + this.pagerDimensions.gapNumbersSizes - this.pagerDimensions.sizesTextWidth;
646
- if (checkOverflow && addDropDownWidth > availableWidth)
647
- return;
648
- this.ngZone.run(() => this.showItemsText = false);
649
- this.showElement(pagerPageSizes);
650
- currentWidth = addDropDownWidth;
651
- if (checkOverflow && currentWidth >= availableWidth)
652
- return;
653
- }
654
- if (this.showPageSizes && this.isElementVisible(pagerPageSizes) && !this.showItemsText) {
655
- const addPageSizesText = currentWidth - pagerSizesDropDown?.offsetWidth + this.pagerDimensions.pageSizesWidth;
656
- if (checkOverflow && addPageSizesText > availableWidth)
657
- return;
658
- this.ngZone.run(() => this.showItemsText = true);
659
- currentWidth = addPageSizesText;
660
- if (checkOverflow && currentWidth >= availableWidth)
661
- return;
662
- }
663
- if (!this.showPageText && (!this.showPageSizes || (this.isElementVisible(pagerPageSizes) && this.showItemsText))) {
664
- const addPageText = currentWidth + this.pagerDimensions.pageTextWidth + this.pagerDimensions.gapPageText;
665
- if (checkOverflow && addPageText > availableWidth)
666
- return;
667
- this.ngZone.run(() => this.showPageText = true);
668
- currentWidth = addPageText;
669
- if (checkOverflow && currentWidth >= availableWidth)
670
- return;
671
- }
672
- if (this.info && !this.isElementVisible(pagerInfoElement) && (!this.showPageSizes || (this.isElementVisible(pagerPageSizes) && this.showPageText))) {
673
- const addInfoText = currentWidth + this.pagerDimensions.infoTextWidth + this.pagerDimensions.gapSizesInfo;
674
- if (checkOverflow && addInfoText > availableWidth)
675
- return;
676
- this.ngZone.run(() => {
677
- this.showElement(pagerInfoElement);
678
- });
679
- currentWidth = addInfoText;
680
- }
681
- if (this.type === 'numeric' && (!this.info || this.isElementVisible(pagerInfoElement))) {
682
- const addNumericButtons = currentWidth - this.pagerDimensions.inputWidth + this.pagerDimensions.numericButtonsWidth;
683
- if (checkOverflow && addNumericButtons > availableWidth)
684
- return;
685
- this.showElement(numericButtonsElement);
686
- this.ngZone.run(() => {
687
- this.showInput = false;
688
- this.cdr.markForCheck();
689
- });
690
- }
691
- }
692
- hideElementsInOrder(availableWidth, currentWidth) {
693
- const el = this.element.nativeElement;
694
- const numericButtonsElement = el.querySelector('kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons');
695
- const pagerInfoElement = el.querySelector('.k-pager-info');
696
- const pagerPageSizes = el.querySelector('.k-pager-sizes');
697
- const pagerSizesDropDown = el.querySelector('.k-pager-sizes .k-dropdownlist');
698
- if (this.isElementVisible(numericButtonsElement)) {
699
- this.hideElement(numericButtonsElement);
700
- this.ngZone.run(() => this.showInput = true);
701
- currentWidth += this.pagerDimensions.inputWidth - this.pagerDimensions.numericButtonsWidth;
702
- if (currentWidth <= availableWidth)
703
- return;
704
- }
705
- if (this.isElementVisible(pagerInfoElement)) {
706
- this.hideElement(pagerInfoElement);
707
- currentWidth -= (this.pagerDimensions.infoTextWidth + this.pagerDimensions.gapSizesInfo);
708
- if (currentWidth <= availableWidth)
709
- return;
703
+ showElements(availableWidth, currentWidth) {
704
+ let index = 0;
705
+ while (index < this.responsiveElements.length) {
706
+ const element = this.responsiveElements[index];
707
+ if (!element.isEnabled() || element.isVisible()) {
708
+ index++;
709
+ continue;
710
+ }
711
+ const elementWidth = element.width();
712
+ // If not responsive, show all elements regardless of available width. If responsive, check if the current element fits
713
+ if (this.responsive && (currentWidth + elementWidth) > availableWidth) {
714
+ index++;
715
+ break;
716
+ }
717
+ element.show();
718
+ currentWidth += elementWidth;
719
+ index++;
710
720
  }
711
- if (this.showPageText) {
712
- this.ngZone.run(() => this.showPageText = false);
713
- currentWidth = currentWidth - this.pagerDimensions.pageTextWidth;
714
- if (currentWidth <= availableWidth)
715
- return;
721
+ // Do not hide elements if not responsive. If all elements fit, do not hide any.
722
+ if (!this.responsive || currentWidth <= availableWidth) {
723
+ return;
716
724
  }
717
- if (this.showPageSizes && this.isElementVisible(pagerPageSizes) && this.showItemsText) {
718
- this.ngZone.run(() => this.showItemsText = false);
719
- currentWidth = currentWidth - this.pagerDimensions.pageSizesWidth + pagerSizesDropDown?.offsetWidth;
720
- if (currentWidth <= availableWidth)
721
- return;
725
+ let hideIndex = Math.min(index - 1, this.responsiveElements.length - 1);
726
+ while (hideIndex >= 0 && currentWidth > availableWidth) {
727
+ const element = this.responsiveElements[hideIndex];
728
+ if (!element.isEnabled() || !element.isVisible()) {
729
+ hideIndex--;
730
+ continue;
731
+ }
732
+ const elementWidth = element.width();
733
+ element.hide();
734
+ currentWidth -= elementWidth;
735
+ hideIndex--;
722
736
  }
723
- this.hideElement(pagerPageSizes);
724
737
  }
725
738
  isElementVisible(element) {
726
739
  return element && !element?.classList.contains('k-hidden');
@@ -739,10 +752,9 @@ export class PagerComponent {
739
752
  if (!isDocumentAvailable()) {
740
753
  return;
741
754
  }
742
- const el = this.element.nativeElement;
743
- const existingInfo = el.querySelector('.k-pager-info');
744
- const existingInput = el.querySelector('.k-pager-input');
745
- const existingSizes = el.querySelector('.k-pager-sizes');
755
+ const existingInfo = this.pagerInfoElement();
756
+ const existingInput = this.pagerInputElement();
757
+ const existingSizes = this.sizesDropDownElement();
746
758
  // create a single measurement container
747
759
  const measureContainer = this.renderer.createElement('div');
748
760
  positionOffScreen(this.renderer, measureContainer);
@@ -778,14 +790,14 @@ export class PagerComponent {
778
790
  if (!isDocumentAvailable() || !this.element?.nativeElement) {
779
791
  return;
780
792
  }
781
- const numericButtonsElement = this.element.nativeElement.querySelector('kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons');
793
+ const numericButtonsElement = this.numericButtonsElement();
782
794
  const hasNumericButtons = this.numericButtons || numericButtonsElement;
783
- const hasInput = this.pagerInput || this.element.nativeElement.querySelector('.k-pager-input');
795
+ const hasInput = this.pagerInput || this.pagerInputElement();
784
796
  if (!this.responsive || (!hasNumericButtons && !hasInput)) {
785
797
  this.showInput = this.type === 'input';
786
798
  return;
787
799
  }
788
- const pagerInfoElement = this.element.nativeElement.querySelector('.k-pager-info');
800
+ const pagerInfoElement = this.pagerInfoElement();
789
801
  if (this.type === 'input' || !this.isElementVisible(pagerInfoElement)) {
790
802
  this.showInput = true;
791
803
  return;
@@ -806,6 +818,18 @@ export class PagerComponent {
806
818
  }
807
819
  return this.pageSizeValues?.length > 0;
808
820
  }
821
+ setPagerDimensions() {
822
+ this.measureAllTextWidths();
823
+ !this.numericButtons && (this.pagerDimensions.numericButtonsWidth = this.element.nativeElement.querySelector('.k-pager-numbers')?.offsetWidth ?? 0);
824
+ !this.pagerInput && (this.pagerDimensions.inputWidth = this.element.nativeElement.querySelector('kendo-pager-input')?.offsetWidth ?? 0);
825
+ !this.pageSizes && (this.pagerDimensions.pageSizesWidth = this.sizesDropDownElement()?.offsetWidth ?? 0);
826
+ const padding = calculatePadding(this.element.nativeElement);
827
+ this.pagerDimensions.padding = padding.padding;
828
+ this.pagerDimensions.gapNumbersSizes = padding.gapNumbersSizes;
829
+ this.pagerDimensions.gapSizesInfo = padding.gapSizesInfo;
830
+ const innerStyledElement = this.pagerInputElement();
831
+ !this.pagerDimensions.gapPageText && (this.pagerDimensions.gapPageText = calculateGap(innerStyledElement));
832
+ }
809
833
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PagerComponent, deps: [{ token: i1.PagerContextService, optional: true, skipSelf: true }, { token: i0.ElementRef }, { token: i2.LocalizationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i3.PagerNavigationService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
810
834
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PagerComponent, isStandalone: true, selector: "kendo-datapager, kendo-pager", inputs: { externalTemplate: "externalTemplate", total: "total", skip: "skip", pageSize: "pageSize", buttonCount: "buttonCount", info: "info", type: "type", pageSizeValues: "pageSizeValues", previousNext: "previousNext", navigable: "navigable", size: "size", responsive: "responsive", adaptiveMode: "adaptiveMode" }, outputs: { pageChange: "pageChange", pageSizeChange: "pageSizeChange", pagerInputVisibilityChange: "pagerInputVisibilityChange", pageTextVisibilityChange: "pageTextVisibilityChange", itemsTextVisibilityChange: "itemsTextVisibilityChange" }, host: { listeners: { "focusin": "focusHandler($event)" }, properties: { "class.k-pager": "this.pagerClass", "class.k-pager-responsive": "this.responsiveClass", "attr.role": "this.widgetRole", "attr.aria-roledescription": "this.roleDescription", "attr.aria-keyshortcuts": "this.keyShortcuts", "attr.tabindex": "this.hostTabindex", "attr.dir": "this.dir" } }, providers: [
811
835
  LocalizationService,
@@ -1522,8 +1522,8 @@ const packageMetadata = {
1522
1522
  productName: 'Kendo UI for Angular',
1523
1523
  productCode: 'KENDOUIANGULAR',
1524
1524
  productCodes: ['KENDOUIANGULAR'],
1525
- publishDate: 1761752851,
1526
- version: '21.0.0-develop.2',
1525
+ publishDate: 1762426777,
1526
+ version: '21.0.0-develop.21',
1527
1527
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
1528
1528
  };
1529
1529
 
@@ -1697,9 +1697,9 @@ class PagerComponent {
1697
1697
  /**
1698
1698
  * Determines whether the Pager adaptiveness functionality is enabled ([see example](slug:adaptive_mode_pager)).
1699
1699
  *
1700
- * @default 'auto'
1700
+ * @default 'none'
1701
1701
  */
1702
- adaptiveMode = 'auto';
1702
+ adaptiveMode = 'none';
1703
1703
  /**
1704
1704
  * Fires when the current page of the Pager changes ([see example](slug:overview_pager)).
1705
1705
  * You have to handle the event and page the data.
@@ -1878,36 +1878,23 @@ class PagerComponent {
1878
1878
  }
1879
1879
  }));
1880
1880
  this.handleClasses(this.size, 'size');
1881
- this.measureAllTextWidths();
1882
- if (!this.numericButtons) {
1883
- this.pagerDimensions.numericButtonsWidth = this.element.nativeElement.querySelector('.k-pager-numbers')?.offsetWidth ?? 0;
1884
- }
1885
- if (!this.pagerInput) {
1886
- this.pagerDimensions.inputWidth = this.element.nativeElement.querySelector('.k-pager-input')?.offsetWidth ?? 0;
1887
- }
1888
- if (!this.pageSizes) {
1889
- this.pagerDimensions.pageSizesWidth = this.element.nativeElement.querySelector('.k-pager-sizes')?.offsetWidth ?? 0;
1890
- }
1891
- const padding = calculatePadding(this.element.nativeElement);
1892
- this.pagerDimensions.padding = padding.padding;
1893
- this.pagerDimensions.gapNumbersSizes = padding.gapNumbersSizes;
1894
- this.pagerDimensions.gapSizesInfo = padding.gapSizesInfo;
1881
+ this.setPagerDimensions();
1895
1882
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
1896
1883
  if (this.type !== 'input') {
1897
1884
  this.showInput = false;
1898
1885
  }
1886
+ this.responsive && this.resizeHandler();
1899
1887
  });
1900
1888
  if (!isDocumentAvailable()) {
1901
1889
  this.initialized = true;
1902
1890
  return;
1903
1891
  }
1904
- if (this.responsive) {
1905
- this.resizeHandler();
1906
- }
1907
- setTimeout(() => {
1908
- this.initialized = true;
1909
- this.cdr.markForCheck();
1910
- }, 0);
1892
+ this.ngZone.runOutsideAngular(() => {
1893
+ setTimeout(() => {
1894
+ this.initialized = true;
1895
+ this.cdr.markForCheck();
1896
+ }, 0);
1897
+ });
1911
1898
  }
1912
1899
  ngOnChanges(changes) {
1913
1900
  if (anyChanged(["pageSize", "skip", "total"], changes, false)) {
@@ -1949,7 +1936,7 @@ class PagerComponent {
1949
1936
  }
1950
1937
  if (!this.responsive) {
1951
1938
  this.showInput = this.type === 'input';
1952
- this.showElementsInOrder(this.element.nativeElement.offsetWidth, this.pagerDimensions.width);
1939
+ this.showElements(this.element.nativeElement.offsetWidth, this.pagerDimensions.width);
1953
1940
  }
1954
1941
  }
1955
1942
  if (isChanged('type', changes, true)) {
@@ -2020,8 +2007,8 @@ class PagerComponent {
2020
2007
  return;
2021
2008
  }
2022
2009
  const numericButtonsWrapperElement = this.element.nativeElement.querySelector('.k-pager-numbers-wrap');
2023
- const pagerInfoElement = this.element.nativeElement.querySelector('.k-pager-info');
2024
- const pagerPageSizes = this.element.nativeElement.querySelector('.k-pager-sizes');
2010
+ const pagerInfoElement = this.pagerInfoElement();
2011
+ const pagerPageSizes = this.sizesDropDownElement();
2025
2012
  let elementsWidths = numericButtonsWrapperElement?.offsetWidth + (pagerPageSizes?.offsetWidth || 0) + (pagerInfoElement?.offsetWidth > 0 ? Math.min(this.pagerDimensions.infoTextWidth) : 0);
2026
2013
  if (this.isElementVisible(pagerInfoElement)) {
2027
2014
  elementsWidths += this.pagerDimensions.gapSizesInfo;
@@ -2030,18 +2017,100 @@ class PagerComponent {
2030
2017
  if (this.isElementVisible(pagerPageSizes)) {
2031
2018
  pagerWidth -= this.pagerDimensions.gapNumbersSizes;
2032
2019
  }
2033
- if (Math.ceil(elementsWidths) <= pagerWidth) {
2034
- this.showElementsInOrder(pagerWidth, elementsWidths);
2035
- }
2036
- else {
2037
- this.hideElementsInOrder(pagerWidth, elementsWidths);
2020
+ if (pagerWidth < 0) {
2021
+ return;
2038
2022
  }
2023
+ this.showElements(pagerWidth, elementsWidths);
2039
2024
  if (!this.initialized) {
2040
2025
  this.ngZone.onStable.pipe(take(1)).subscribe(() => this.initialized = true);
2041
2026
  }
2042
2027
  });
2043
2028
  });
2044
2029
  };
2030
+ // use selectors to get the element even when used in a template
2031
+ sizesDropDownElement = () => this.element.nativeElement.querySelector('.k-pager-sizes');
2032
+ pagerInputElement = () => this.element.nativeElement.querySelector('.k-pager-input');
2033
+ pagerInfoElement = () => this.element.nativeElement.querySelector('.k-pager-info');
2034
+ numericButtonsElement = () => this.element.nativeElement.querySelector('kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons');
2035
+ responsiveDropDownElement = {
2036
+ name: 'sizeDropDown',
2037
+ isEnabled: () => this.showPageSizes,
2038
+ isVisible: () => this.isElementVisible(this.sizesDropDownElement()),
2039
+ width: () => this.pagerDimensions.pageSizesWidth + this.pagerDimensions.gapNumbersSizes - this.pagerDimensions.sizesTextWidth,
2040
+ show: () => {
2041
+ this.ngZone.run(() => this.showItemsText = false);
2042
+ this.showElement(this.sizesDropDownElement());
2043
+ },
2044
+ hide: () => {
2045
+ this.hideElement(this.sizesDropDownElement());
2046
+ }
2047
+ };
2048
+ responsiveDropDownTextElement = {
2049
+ name: 'itemsDropDownText',
2050
+ isEnabled: () => this.showPageSizes,
2051
+ isVisible: () => this.isElementVisible(this.sizesDropDownElement()) && this.showItemsText,
2052
+ width: () => this.pagerDimensions.sizesTextWidth + this.pagerDimensions.gapPageText,
2053
+ show: () => this.ngZone.run(() => this.showItemsText = true),
2054
+ hide: () => this.ngZone.run(() => this.showItemsText = false)
2055
+ };
2056
+ responsivePageTextElement = {
2057
+ name: 'pageText',
2058
+ isEnabled: () => this.isElementVisible(this.pagerInputElement()),
2059
+ isVisible: () => this.showPageText,
2060
+ width: () => this.pagerDimensions.pageTextWidth + this.pagerDimensions.gapPageText,
2061
+ show: () => this.ngZone.run(() => this.showPageText = true),
2062
+ hide: () => this.ngZone.run(() => this.showPageText = false)
2063
+ };
2064
+ responsiveInfoTextElement = {
2065
+ name: 'infoText',
2066
+ isEnabled: () => this.info,
2067
+ isVisible: () => this.isElementVisible(this.pagerInfoElement()),
2068
+ width: () => this.pagerDimensions.infoTextWidth + this.pagerDimensions.gapSizesInfo,
2069
+ show: () => {
2070
+ this.ngZone.run(() => {
2071
+ this.showElement(this.pagerInfoElement());
2072
+ });
2073
+ },
2074
+ hide: () => {
2075
+ this.ngZone.run(() => {
2076
+ this.hideElement(this.pagerInfoElement());
2077
+ });
2078
+ }
2079
+ };
2080
+ responsiveNumericButtonsElement = {
2081
+ name: 'numericButtons',
2082
+ isEnabled: () => this.type === 'numeric',
2083
+ isVisible: () => this.isElementVisible(this.numericButtonsElement()),
2084
+ width: () => this.pagerDimensions.numericButtonsWidth - this.pagerDimensions.inputWidth,
2085
+ show: () => {
2086
+ this.showElement(this.numericButtonsElement());
2087
+ this.ngZone.run(() => {
2088
+ this.showInput = false;
2089
+ this.cdr.markForCheck();
2090
+ });
2091
+ },
2092
+ hide: () => {
2093
+ this.hideElement(this.numericButtonsElement());
2094
+ this.ngZone.run(() => {
2095
+ this.showInput = true;
2096
+ this.showPageText = true;
2097
+ this.cdr.markForCheck();
2098
+ });
2099
+ }
2100
+ };
2101
+ /**
2102
+ * Contains all elements that are subject to responsive toggling.
2103
+ * These elements will be shown or hidden based on the available space.
2104
+ * The order of elements in the array defines the priority of visibility.
2105
+ * This array allows us to work with the elements without performing element-specific logic in other methods.
2106
+ */
2107
+ responsiveElements = [
2108
+ this.responsiveDropDownElement,
2109
+ this.responsiveDropDownTextElement,
2110
+ this.responsivePageTextElement,
2111
+ this.responsiveInfoTextElement,
2112
+ this.responsiveNumericButtonsElement
2113
+ ];
2045
2114
  get ariaLabel() {
2046
2115
  const localizationMsg = this.localization.get('ariaLabel') || '';
2047
2116
  return replaceMessagePlaceholder(replaceMessagePlaceholder(localizationMsg, 'currentPage', this.currentPage.toString()), 'totalPages', this.totalPages.toString());
@@ -2133,96 +2202,40 @@ class PagerComponent {
2133
2202
  this.renderer.addClass(elem, classes.toAdd);
2134
2203
  }
2135
2204
  }
2136
- showElementsInOrder(availableWidth, currentWidth) {
2137
- const el = this.element.nativeElement;
2138
- const numericButtonsElement = el.querySelector('kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons');
2139
- const pagerInfoElement = el.querySelector('.k-pager-info');
2140
- const pagerPageSizes = el.querySelector('.k-pager-sizes');
2141
- const pagerSizesDropDown = el.querySelector('.k-pager-sizes .k-dropdownlist');
2142
- const checkOverflow = this.responsive;
2143
- if (this.type === 'input' && this.isElementVisible(pagerInfoElement) || this.isElementVisible(numericButtonsElement)) {
2144
- return;
2145
- }
2146
- if (this.showPageSizes && !this.isElementVisible(pagerPageSizes)) {
2147
- const addDropDownWidth = currentWidth + this.pagerDimensions.pageSizesWidth + this.pagerDimensions.gapNumbersSizes - this.pagerDimensions.sizesTextWidth;
2148
- if (checkOverflow && addDropDownWidth > availableWidth)
2149
- return;
2150
- this.ngZone.run(() => this.showItemsText = false);
2151
- this.showElement(pagerPageSizes);
2152
- currentWidth = addDropDownWidth;
2153
- if (checkOverflow && currentWidth >= availableWidth)
2154
- return;
2155
- }
2156
- if (this.showPageSizes && this.isElementVisible(pagerPageSizes) && !this.showItemsText) {
2157
- const addPageSizesText = currentWidth - pagerSizesDropDown?.offsetWidth + this.pagerDimensions.pageSizesWidth;
2158
- if (checkOverflow && addPageSizesText > availableWidth)
2159
- return;
2160
- this.ngZone.run(() => this.showItemsText = true);
2161
- currentWidth = addPageSizesText;
2162
- if (checkOverflow && currentWidth >= availableWidth)
2163
- return;
2164
- }
2165
- if (!this.showPageText && (!this.showPageSizes || (this.isElementVisible(pagerPageSizes) && this.showItemsText))) {
2166
- const addPageText = currentWidth + this.pagerDimensions.pageTextWidth + this.pagerDimensions.gapPageText;
2167
- if (checkOverflow && addPageText > availableWidth)
2168
- return;
2169
- this.ngZone.run(() => this.showPageText = true);
2170
- currentWidth = addPageText;
2171
- if (checkOverflow && currentWidth >= availableWidth)
2172
- return;
2173
- }
2174
- if (this.info && !this.isElementVisible(pagerInfoElement) && (!this.showPageSizes || (this.isElementVisible(pagerPageSizes) && this.showPageText))) {
2175
- const addInfoText = currentWidth + this.pagerDimensions.infoTextWidth + this.pagerDimensions.gapSizesInfo;
2176
- if (checkOverflow && addInfoText > availableWidth)
2177
- return;
2178
- this.ngZone.run(() => {
2179
- this.showElement(pagerInfoElement);
2180
- });
2181
- currentWidth = addInfoText;
2205
+ showElements(availableWidth, currentWidth) {
2206
+ let index = 0;
2207
+ while (index < this.responsiveElements.length) {
2208
+ const element = this.responsiveElements[index];
2209
+ if (!element.isEnabled() || element.isVisible()) {
2210
+ index++;
2211
+ continue;
2212
+ }
2213
+ const elementWidth = element.width();
2214
+ // If not responsive, show all elements regardless of available width. If responsive, check if the current element fits
2215
+ if (this.responsive && (currentWidth + elementWidth) > availableWidth) {
2216
+ index++;
2217
+ break;
2218
+ }
2219
+ element.show();
2220
+ currentWidth += elementWidth;
2221
+ index++;
2182
2222
  }
2183
- if (this.type === 'numeric' && (!this.info || this.isElementVisible(pagerInfoElement))) {
2184
- const addNumericButtons = currentWidth - this.pagerDimensions.inputWidth + this.pagerDimensions.numericButtonsWidth;
2185
- if (checkOverflow && addNumericButtons > availableWidth)
2186
- return;
2187
- this.showElement(numericButtonsElement);
2188
- this.ngZone.run(() => {
2189
- this.showInput = false;
2190
- this.cdr.markForCheck();
2191
- });
2223
+ // Do not hide elements if not responsive. If all elements fit, do not hide any.
2224
+ if (!this.responsive || currentWidth <= availableWidth) {
2225
+ return;
2192
2226
  }
2193
- }
2194
- hideElementsInOrder(availableWidth, currentWidth) {
2195
- const el = this.element.nativeElement;
2196
- const numericButtonsElement = el.querySelector('kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons');
2197
- const pagerInfoElement = el.querySelector('.k-pager-info');
2198
- const pagerPageSizes = el.querySelector('.k-pager-sizes');
2199
- const pagerSizesDropDown = el.querySelector('.k-pager-sizes .k-dropdownlist');
2200
- if (this.isElementVisible(numericButtonsElement)) {
2201
- this.hideElement(numericButtonsElement);
2202
- this.ngZone.run(() => this.showInput = true);
2203
- currentWidth += this.pagerDimensions.inputWidth - this.pagerDimensions.numericButtonsWidth;
2204
- if (currentWidth <= availableWidth)
2205
- return;
2206
- }
2207
- if (this.isElementVisible(pagerInfoElement)) {
2208
- this.hideElement(pagerInfoElement);
2209
- currentWidth -= (this.pagerDimensions.infoTextWidth + this.pagerDimensions.gapSizesInfo);
2210
- if (currentWidth <= availableWidth)
2211
- return;
2212
- }
2213
- if (this.showPageText) {
2214
- this.ngZone.run(() => this.showPageText = false);
2215
- currentWidth = currentWidth - this.pagerDimensions.pageTextWidth;
2216
- if (currentWidth <= availableWidth)
2217
- return;
2218
- }
2219
- if (this.showPageSizes && this.isElementVisible(pagerPageSizes) && this.showItemsText) {
2220
- this.ngZone.run(() => this.showItemsText = false);
2221
- currentWidth = currentWidth - this.pagerDimensions.pageSizesWidth + pagerSizesDropDown?.offsetWidth;
2222
- if (currentWidth <= availableWidth)
2223
- return;
2227
+ let hideIndex = Math.min(index - 1, this.responsiveElements.length - 1);
2228
+ while (hideIndex >= 0 && currentWidth > availableWidth) {
2229
+ const element = this.responsiveElements[hideIndex];
2230
+ if (!element.isEnabled() || !element.isVisible()) {
2231
+ hideIndex--;
2232
+ continue;
2233
+ }
2234
+ const elementWidth = element.width();
2235
+ element.hide();
2236
+ currentWidth -= elementWidth;
2237
+ hideIndex--;
2224
2238
  }
2225
- this.hideElement(pagerPageSizes);
2226
2239
  }
2227
2240
  isElementVisible(element) {
2228
2241
  return element && !element?.classList.contains('k-hidden');
@@ -2241,10 +2254,9 @@ class PagerComponent {
2241
2254
  if (!isDocumentAvailable()) {
2242
2255
  return;
2243
2256
  }
2244
- const el = this.element.nativeElement;
2245
- const existingInfo = el.querySelector('.k-pager-info');
2246
- const existingInput = el.querySelector('.k-pager-input');
2247
- const existingSizes = el.querySelector('.k-pager-sizes');
2257
+ const existingInfo = this.pagerInfoElement();
2258
+ const existingInput = this.pagerInputElement();
2259
+ const existingSizes = this.sizesDropDownElement();
2248
2260
  // create a single measurement container
2249
2261
  const measureContainer = this.renderer.createElement('div');
2250
2262
  positionOffScreen(this.renderer, measureContainer);
@@ -2280,14 +2292,14 @@ class PagerComponent {
2280
2292
  if (!isDocumentAvailable() || !this.element?.nativeElement) {
2281
2293
  return;
2282
2294
  }
2283
- const numericButtonsElement = this.element.nativeElement.querySelector('kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons');
2295
+ const numericButtonsElement = this.numericButtonsElement();
2284
2296
  const hasNumericButtons = this.numericButtons || numericButtonsElement;
2285
- const hasInput = this.pagerInput || this.element.nativeElement.querySelector('.k-pager-input');
2297
+ const hasInput = this.pagerInput || this.pagerInputElement();
2286
2298
  if (!this.responsive || (!hasNumericButtons && !hasInput)) {
2287
2299
  this.showInput = this.type === 'input';
2288
2300
  return;
2289
2301
  }
2290
- const pagerInfoElement = this.element.nativeElement.querySelector('.k-pager-info');
2302
+ const pagerInfoElement = this.pagerInfoElement();
2291
2303
  if (this.type === 'input' || !this.isElementVisible(pagerInfoElement)) {
2292
2304
  this.showInput = true;
2293
2305
  return;
@@ -2308,6 +2320,18 @@ class PagerComponent {
2308
2320
  }
2309
2321
  return this.pageSizeValues?.length > 0;
2310
2322
  }
2323
+ setPagerDimensions() {
2324
+ this.measureAllTextWidths();
2325
+ !this.numericButtons && (this.pagerDimensions.numericButtonsWidth = this.element.nativeElement.querySelector('.k-pager-numbers')?.offsetWidth ?? 0);
2326
+ !this.pagerInput && (this.pagerDimensions.inputWidth = this.element.nativeElement.querySelector('kendo-pager-input')?.offsetWidth ?? 0);
2327
+ !this.pageSizes && (this.pagerDimensions.pageSizesWidth = this.sizesDropDownElement()?.offsetWidth ?? 0);
2328
+ const padding = calculatePadding(this.element.nativeElement);
2329
+ this.pagerDimensions.padding = padding.padding;
2330
+ this.pagerDimensions.gapNumbersSizes = padding.gapNumbersSizes;
2331
+ this.pagerDimensions.gapSizesInfo = padding.gapSizesInfo;
2332
+ const innerStyledElement = this.pagerInputElement();
2333
+ !this.pagerDimensions.gapPageText && (this.pagerDimensions.gapPageText = calculateGap(innerStyledElement));
2334
+ }
2311
2335
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PagerComponent, deps: [{ token: PagerContextService, optional: true, skipSelf: true }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: PagerNavigationService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
2312
2336
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PagerComponent, isStandalone: true, selector: "kendo-datapager, kendo-pager", inputs: { externalTemplate: "externalTemplate", total: "total", skip: "skip", pageSize: "pageSize", buttonCount: "buttonCount", info: "info", type: "type", pageSizeValues: "pageSizeValues", previousNext: "previousNext", navigable: "navigable", size: "size", responsive: "responsive", adaptiveMode: "adaptiveMode" }, outputs: { pageChange: "pageChange", pageSizeChange: "pageSizeChange", pagerInputVisibilityChange: "pagerInputVisibilityChange", pageTextVisibilityChange: "pageTextVisibilityChange", itemsTextVisibilityChange: "itemsTextVisibilityChange" }, host: { listeners: { "focusin": "focusHandler($event)" }, properties: { "class.k-pager": "this.pagerClass", "class.k-pager-responsive": "this.responsiveClass", "attr.role": "this.widgetRole", "attr.aria-roledescription": "this.roleDescription", "attr.aria-keyshortcuts": "this.keyShortcuts", "attr.tabindex": "this.hostTabindex", "attr.dir": "this.dir" } }, providers: [
2313
2337
  LocalizationService,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-pager",
3
- "version": "21.0.0-develop.2",
3
+ "version": "21.0.0-develop.21",
4
4
  "description": "Kendo UI Angular Pager",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -17,7 +17,7 @@
17
17
  "package": {
18
18
  "productName": "Kendo UI for Angular",
19
19
  "productCode": "KENDOUIANGULAR",
20
- "publishDate": 1761752851,
20
+ "publishDate": 1762426777,
21
21
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
22
22
  }
23
23
  },
@@ -27,16 +27,16 @@
27
27
  "@angular/core": "18 - 20",
28
28
  "@angular/platform-browser": "18 - 20",
29
29
  "@progress/kendo-licensing": "^1.7.0",
30
- "@progress/kendo-angular-common": "21.0.0-develop.2",
31
- "@progress/kendo-angular-dropdowns": "21.0.0-develop.2",
32
- "@progress/kendo-angular-inputs": "21.0.0-develop.2",
33
- "@progress/kendo-angular-icons": "21.0.0-develop.2",
34
- "@progress/kendo-angular-l10n": "21.0.0-develop.2",
30
+ "@progress/kendo-angular-common": "21.0.0-develop.21",
31
+ "@progress/kendo-angular-dropdowns": "21.0.0-develop.21",
32
+ "@progress/kendo-angular-inputs": "21.0.0-develop.21",
33
+ "@progress/kendo-angular-icons": "21.0.0-develop.21",
34
+ "@progress/kendo-angular-l10n": "21.0.0-develop.21",
35
35
  "rxjs": "^6.5.3 || ^7.0.0"
36
36
  },
37
37
  "dependencies": {
38
38
  "tslib": "^2.3.1",
39
- "@progress/kendo-angular-schematics": "21.0.0-develop.2"
39
+ "@progress/kendo-angular-schematics": "21.0.0-develop.21"
40
40
  },
41
41
  "schematics": "./schematics/collection.json",
42
42
  "module": "fesm2022/progress-kendo-angular-pager.mjs",
@@ -0,0 +1,15 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * @hidden
7
+ */
8
+ export interface ResponsiveElement {
9
+ name: string;
10
+ isEnabled: () => boolean;
11
+ isVisible: () => boolean;
12
+ width: () => number;
13
+ show: () => void;
14
+ hide: () => void;
15
+ }
@@ -147,7 +147,7 @@ export declare class PagerComponent implements OnChanges, AfterViewInit, OnInit,
147
147
  /**
148
148
  * Determines whether the Pager adaptiveness functionality is enabled ([see example](slug:adaptive_mode_pager)).
149
149
  *
150
- * @default 'auto'
150
+ * @default 'none'
151
151
  */
152
152
  adaptiveMode: AdaptiveMode;
153
153
  /**
@@ -248,18 +248,34 @@ export declare class PagerComponent implements OnChanges, AfterViewInit, OnInit,
248
248
  * @hidden
249
249
  */
250
250
  resizeHandler: (compareWidth?: boolean) => void;
251
+ private sizesDropDownElement;
252
+ private pagerInputElement;
253
+ private pagerInfoElement;
254
+ private numericButtonsElement;
255
+ private responsiveDropDownElement;
256
+ private responsiveDropDownTextElement;
257
+ private responsivePageTextElement;
258
+ private responsiveInfoTextElement;
259
+ private responsiveNumericButtonsElement;
260
+ /**
261
+ * Contains all elements that are subject to responsive toggling.
262
+ * These elements will be shown or hidden based on the available space.
263
+ * The order of elements in the array defines the priority of visibility.
264
+ * This array allows us to work with the elements without performing element-specific logic in other methods.
265
+ */
266
+ private responsiveElements;
251
267
  private get ariaLabel();
252
268
  private keyDownHandler;
253
269
  private innerNavigationChange;
254
270
  private handleClasses;
255
- private showElementsInOrder;
256
- private hideElementsInOrder;
271
+ private showElements;
257
272
  private isElementVisible;
258
273
  private hideElement;
259
274
  private showElement;
260
275
  private measureAllTextWidths;
261
276
  private showNumericButtonsResponsive;
262
277
  private get showPageSizes();
278
+ private setPagerDimensions;
263
279
  static ɵfac: i0.ɵɵFactoryDeclaration<PagerComponent, [{ optional: true; skipSelf: true; }, null, null, null, null, null, { optional: true; skipSelf: true; }]>;
264
280
  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>;
265
281
  }
@@ -5,14 +5,14 @@ const schematics_1 = require("@angular-devkit/schematics");
5
5
  function default_1(options) {
6
6
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'PagerModule', package: 'pager', peerDependencies: {
7
7
  // Peers of inputs and dropdowns
8
- '@progress/kendo-angular-treeview': '21.0.0-develop.2',
9
- '@progress/kendo-angular-intl': '21.0.0-develop.2',
10
- '@progress/kendo-angular-navigation': '21.0.0-develop.2',
11
- '@progress/kendo-angular-popup': '21.0.0-develop.2',
8
+ '@progress/kendo-angular-treeview': '21.0.0-develop.21',
9
+ '@progress/kendo-angular-intl': '21.0.0-develop.21',
10
+ '@progress/kendo-angular-navigation': '21.0.0-develop.21',
11
+ '@progress/kendo-angular-popup': '21.0.0-develop.21',
12
12
  '@progress/kendo-drawing': '^1.5.12',
13
13
  // peer dependency of kendo-angular-inputs
14
- '@progress/kendo-angular-buttons': '21.0.0-develop.2',
15
- '@progress/kendo-angular-dialog': '21.0.0-develop.2',
14
+ '@progress/kendo-angular-buttons': '21.0.0-develop.21',
15
+ '@progress/kendo-angular-dialog': '21.0.0-develop.21',
16
16
  // Peer dependency of icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0'
18
18
  } });