primeng 17.1.0 → 17.3.0

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 (151) hide show
  1. package/contextmenu/contextmenu.d.ts +11 -1
  2. package/dropdown/dropdown.d.ts +1 -0
  3. package/dynamicdialog/dynamicdialog-config.d.ts +5 -0
  4. package/esm2022/accordion/accordion.mjs +7 -3
  5. package/esm2022/autocomplete/autocomplete.mjs +10 -10
  6. package/esm2022/blockui/blockui.mjs +6 -3
  7. package/esm2022/contextmenu/contextmenu.mjs +46 -10
  8. package/esm2022/dropdown/dropdown.mjs +18 -9
  9. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +6 -1
  10. package/esm2022/dynamicdialog/dynamicdialog.mjs +4 -2
  11. package/esm2022/galleria/galleria.mjs +10 -6
  12. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -43
  13. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -43
  14. package/esm2022/inputgroup/inputgroup.mjs +22 -7
  15. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +22 -7
  16. package/esm2022/inputnumber/inputnumber.mjs +4 -1
  17. package/esm2022/megamenu/megamenu.mjs +11 -1
  18. package/esm2022/menu/menu.mjs +28 -17
  19. package/esm2022/menubar/menubar.mjs +17 -12
  20. package/esm2022/multiselect/multiselect.mjs +8 -1
  21. package/esm2022/paginator/paginator.mjs +8 -3
  22. package/esm2022/panelmenu/panelmenu.mjs +35 -53
  23. package/esm2022/picklist/picklist.mjs +6 -4
  24. package/esm2022/scroller/scroller.mjs +8 -2
  25. package/esm2022/sidebar/sidebar.mjs +2 -3
  26. package/esm2022/table/columnfilter.interface.mjs +2 -0
  27. package/esm2022/table/public_api.mjs +2 -1
  28. package/esm2022/table/table.mjs +122 -11
  29. package/esm2022/togglebutton/togglebutton.mjs +4 -4
  30. package/esm2022/tree/tree.mjs +3 -3
  31. package/esm2022/treeselect/treeselect.mjs +3 -3
  32. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +3 -3
  33. package/esm2022/utils/objectutils.mjs +3 -24
  34. package/fesm2022/primeng-accordion.mjs +6 -2
  35. package/fesm2022/primeng-accordion.mjs.map +1 -1
  36. package/fesm2022/primeng-autocomplete.mjs +9 -9
  37. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  38. package/fesm2022/primeng-blockui.mjs +5 -2
  39. package/fesm2022/primeng-blockui.mjs.map +1 -1
  40. package/fesm2022/primeng-contextmenu.mjs +45 -9
  41. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  42. package/fesm2022/primeng-dropdown.mjs +17 -8
  43. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  44. package/fesm2022/primeng-dynamicdialog.mjs +8 -1
  45. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  46. package/fesm2022/primeng-galleria.mjs +9 -5
  47. package/fesm2022/primeng-galleria.mjs.map +1 -1
  48. package/fesm2022/primeng-icons-sortamountdown.mjs +2 -42
  49. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  50. package/fesm2022/primeng-icons-sortamountupalt.mjs +2 -42
  51. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  52. package/fesm2022/primeng-inputgroup.mjs +21 -6
  53. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  54. package/fesm2022/primeng-inputgroupaddon.mjs +21 -6
  55. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  56. package/fesm2022/primeng-inputnumber.mjs +3 -0
  57. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  58. package/fesm2022/primeng-megamenu.mjs +10 -0
  59. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  60. package/fesm2022/primeng-menu.mjs +27 -16
  61. package/fesm2022/primeng-menu.mjs.map +1 -1
  62. package/fesm2022/primeng-menubar.mjs +16 -11
  63. package/fesm2022/primeng-menubar.mjs.map +1 -1
  64. package/fesm2022/primeng-multiselect.mjs +7 -0
  65. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  66. package/fesm2022/primeng-paginator.mjs +7 -2
  67. package/fesm2022/primeng-paginator.mjs.map +1 -1
  68. package/fesm2022/primeng-panelmenu.mjs +34 -52
  69. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  70. package/fesm2022/primeng-picklist.mjs +5 -3
  71. package/fesm2022/primeng-picklist.mjs.map +1 -1
  72. package/fesm2022/primeng-scroller.mjs +7 -1
  73. package/fesm2022/primeng-scroller.mjs.map +1 -1
  74. package/fesm2022/primeng-sidebar.mjs +1 -2
  75. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  76. package/fesm2022/primeng-table.mjs +121 -10
  77. package/fesm2022/primeng-table.mjs.map +1 -1
  78. package/fesm2022/primeng-togglebutton.mjs +3 -3
  79. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  80. package/fesm2022/primeng-tree.mjs +2 -2
  81. package/fesm2022/primeng-tree.mjs.map +1 -1
  82. package/fesm2022/primeng-treeselect.mjs +2 -2
  83. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  84. package/fesm2022/primeng-tristatecheckbox.mjs +2 -2
  85. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  86. package/fesm2022/primeng-utils.mjs +2 -23
  87. package/fesm2022/primeng-utils.mjs.map +1 -1
  88. package/galleria/galleria.d.ts +1 -0
  89. package/inputgroup/inputgroup.d.ts +13 -1
  90. package/inputgroupaddon/inputgroupaddon.d.ts +13 -1
  91. package/megamenu/megamenu.d.ts +1 -0
  92. package/menu/menu.d.ts +1 -0
  93. package/menubar/menubar.d.ts +2 -1
  94. package/package.json +245 -245
  95. package/paginator/paginator.d.ts +1 -0
  96. package/panelmenu/panelmenu.d.ts +8 -11
  97. package/resources/components/tooltip/tooltip.css +1 -0
  98. package/resources/components/tree/tree.css +61 -0
  99. package/resources/primeng.css +1 -0
  100. package/resources/primeng.min.css +1 -1
  101. package/resources/themes/arya-blue/theme.css +12 -16
  102. package/resources/themes/arya-green/theme.css +12 -16
  103. package/resources/themes/arya-orange/theme.css +12 -16
  104. package/resources/themes/arya-purple/theme.css +12 -16
  105. package/resources/themes/bootstrap4-dark-blue/theme.css +12 -16
  106. package/resources/themes/bootstrap4-dark-purple/theme.css +12 -16
  107. package/resources/themes/bootstrap4-light-blue/theme.css +12 -16
  108. package/resources/themes/bootstrap4-light-purple/theme.css +12 -16
  109. package/resources/themes/fluent-light/theme.css +12 -16
  110. package/resources/themes/lara-dark-blue/theme.css +12 -16
  111. package/resources/themes/lara-dark-indigo/theme.css +12 -16
  112. package/resources/themes/lara-dark-purple/theme.css +12 -16
  113. package/resources/themes/lara-dark-teal/theme.css +12 -16
  114. package/resources/themes/lara-light-blue/theme.css +12 -16
  115. package/resources/themes/lara-light-indigo/theme.css +12 -16
  116. package/resources/themes/lara-light-purple/theme.css +12 -16
  117. package/resources/themes/lara-light-teal/theme.css +55 -59
  118. package/resources/themes/luna-amber/theme.css +12 -16
  119. package/resources/themes/luna-blue/theme.css +12 -16
  120. package/resources/themes/luna-green/theme.css +12 -16
  121. package/resources/themes/luna-pink/theme.css +12 -16
  122. package/resources/themes/md-dark-deeppurple/theme.css +12 -16
  123. package/resources/themes/md-dark-indigo/theme.css +12 -16
  124. package/resources/themes/md-light-deeppurple/theme.css +12 -16
  125. package/resources/themes/md-light-indigo/theme.css +12 -16
  126. package/resources/themes/mdc-dark-deeppurple/theme.css +12 -16
  127. package/resources/themes/mdc-dark-indigo/theme.css +12 -16
  128. package/resources/themes/mdc-light-deeppurple/theme.css +12 -16
  129. package/resources/themes/mdc-light-indigo/theme.css +12 -16
  130. package/resources/themes/mira/theme.css +12 -16
  131. package/resources/themes/nano/theme.css +12 -16
  132. package/resources/themes/nova/theme.css +12 -16
  133. package/resources/themes/nova-accent/theme.css +12 -16
  134. package/resources/themes/nova-alt/theme.css +12 -16
  135. package/resources/themes/rhea/theme.css +12 -16
  136. package/resources/themes/saga-blue/theme.css +12 -16
  137. package/resources/themes/saga-green/theme.css +12 -16
  138. package/resources/themes/saga-orange/theme.css +12 -16
  139. package/resources/themes/saga-purple/theme.css +12 -16
  140. package/resources/themes/soho-dark/theme.css +12 -16
  141. package/resources/themes/soho-light/theme.css +12 -16
  142. package/resources/themes/tailwind-light/theme.css +12 -16
  143. package/resources/themes/vela-blue/theme.css +12 -16
  144. package/resources/themes/vela-green/theme.css +12 -16
  145. package/resources/themes/vela-orange/theme.css +12 -16
  146. package/resources/themes/vela-purple/theme.css +12 -16
  147. package/resources/themes/viva-dark/theme.css +12 -16
  148. package/resources/themes/viva-light/theme.css +12 -16
  149. package/table/columnfilter.interface.d.ts +35 -0
  150. package/table/public_api.d.ts +1 -0
  151. package/table/table.d.ts +106 -0
@@ -164,6 +164,9 @@ class Paginator {
164
164
  getAriaLabel(labelType) {
165
165
  return this.config.translation.aria ? this.config.translation.aria[labelType] : undefined;
166
166
  }
167
+ getPageAriaLabel(value) {
168
+ return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, `Page ${value}`) : undefined;
169
+ }
167
170
  getLocalization(digit) {
168
171
  const numerals = [...new Intl.NumberFormat(this.locale, { useGrouping: false }).format(9876543210)].reverse();
169
172
  const index = new Map(numerals.map((d, i) => [i, d]));
@@ -377,7 +380,8 @@ class Paginator {
377
380
  *ngFor="let pageLink of pageLinks"
378
381
  class="p-paginator-page p-paginator-element p-link"
379
382
  [ngClass]="{ 'p-highlight': pageLink - 1 == getPage() }"
380
- [attr.aria-label]="getAriaLabel('pageLabel')"
383
+ [attr.aria-label]="getPageAriaLabel(pageLink)"
384
+ [attr.aria-current]="pageLink - 1 == getPage() ? 'page' : undefined"
381
385
  (click)="onPageLinkClick($event, pageLink - 1)"
382
386
  pRipple
383
387
  >
@@ -493,7 +497,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
493
497
  *ngFor="let pageLink of pageLinks"
494
498
  class="p-paginator-page p-paginator-element p-link"
495
499
  [ngClass]="{ 'p-highlight': pageLink - 1 == getPage() }"
496
- [attr.aria-label]="getAriaLabel('pageLabel')"
500
+ [attr.aria-label]="getPageAriaLabel(pageLink)"
501
+ [attr.aria-current]="pageLink - 1 == getPage() ? 'page' : undefined"
497
502
  (click)="onPageLinkClick($event, pageLink - 1)"
498
503
  pRipple
499
504
  >
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-paginator.mjs","sources":["../../src/app/components/paginator/paginator.ts","../../src/app/components/paginator/primeng-paginator.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgModule, OnChanges, OnInit, Output, QueryList, SimpleChanges, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { PrimeNGConfig, PrimeTemplate, SelectItem, SharedModule } from 'primeng/api';\nimport { DropdownChangeEvent, DropdownModule } from 'primeng/dropdown';\nimport { AngleDoubleLeftIcon } from 'primeng/icons/angledoubleleft';\nimport { AngleDoubleRightIcon } from 'primeng/icons/angledoubleright';\nimport { AngleLeftIcon } from 'primeng/icons/angleleft';\nimport { AngleRightIcon } from 'primeng/icons/angleright';\nimport { InputNumberModule } from 'primeng/inputnumber';\nimport { RippleModule } from 'primeng/ripple';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { PaginatorState } from './paginator.interface';\n/**\n * Paginator is a generic component to display content in paged format.\n * @group Components\n */\n@Component({\n selector: 'p-paginator',\n template: `\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'p-paginator p-component'\" *ngIf=\"alwaysShow ? true : pageLinks && pageLinks.length > 1\" [attr.data-pc-section]=\"'paginator'\" [attr.data-pc-section]=\"'root'\">\n <div class=\"p-paginator-left-content\" *ngIf=\"templateLeft\" [attr.data-pc-section]=\"'start'\">\n <ng-container *ngTemplateOutlet=\"templateLeft; context: { $implicit: paginatorState }\"></ng-container>\n </div>\n <span class=\"p-paginator-current\" *ngIf=\"showCurrentPageReport\">{{ currentPageReport }}</span>\n <button\n *ngIf=\"showFirstLastIcon\"\n type=\"button\"\n [disabled]=\"isFirstPage() || empty()\"\n (click)=\"changePageToFirst($event)\"\n pRipple\n class=\"p-paginator-first p-paginator-element p-link\"\n [ngClass]=\"{ 'p-disabled': isFirstPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('firstPageLabel')\"\n >\n <AngleDoubleLeftIcon *ngIf=\"!firstPageLinkIconTemplate\" [styleClass]=\"'p-paginator-icon'\" />\n <span class=\"p-paginator-icon\" *ngIf=\"firstPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"firstPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <button\n type=\"button\"\n [disabled]=\"isFirstPage() || empty()\"\n (click)=\"changePageToPrev($event)\"\n pRipple\n class=\"p-paginator-prev p-paginator-element p-link\"\n [ngClass]=\"{ 'p-disabled': isFirstPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('prevPageLabel')\"\n >\n <AngleLeftIcon *ngIf=\"!previousPageLinkIconTemplate\" [styleClass]=\"'p-paginator-icon'\" />\n <span class=\"p-paginator-icon\" *ngIf=\"previousPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"previousPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <span class=\"p-paginator-pages\" *ngIf=\"showPageLinks\">\n <button\n type=\"button\"\n *ngFor=\"let pageLink of pageLinks\"\n class=\"p-paginator-page p-paginator-element p-link\"\n [ngClass]=\"{ 'p-highlight': pageLink - 1 == getPage() }\"\n [attr.aria-label]=\"getAriaLabel('pageLabel')\"\n (click)=\"onPageLinkClick($event, pageLink - 1)\"\n pRipple\n >\n {{ getLocalization(pageLink) }}\n </button>\n </span>\n <p-dropdown\n [options]=\"pageItems\"\n [ngModel]=\"getPage()\"\n *ngIf=\"showJumpToPageDropdown\"\n [disabled]=\"empty()\"\n [attr.aria-label]=\"getAriaLabel('jumpToPageDropdownLabel')\"\n styleClass=\"p-paginator-page-options\"\n (onChange)=\"onPageDropdownChange($event)\"\n [appendTo]=\"dropdownAppendTo\"\n [scrollHeight]=\"dropdownScrollHeight\"\n >\n <ng-template pTemplate=\"selectedItem\">{{ currentPageReport }}</ng-template>\n </p-dropdown>\n <button\n type=\"button\"\n [disabled]=\"isLastPage() || empty()\"\n (click)=\"changePageToNext($event)\"\n pRipple\n class=\"p-paginator-next p-paginator-element p-link\"\n [ngClass]=\"{ 'p-disabled': isLastPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('nextPageLabel')\"\n >\n <AngleRightIcon *ngIf=\"!nextPageLinkIconTemplate\" [styleClass]=\"'p-paginator-icon'\" />\n <span class=\"p-paginator-icon\" *ngIf=\"nextPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"nextPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <button\n *ngIf=\"showFirstLastIcon\"\n type=\"button\"\n [disabled]=\"isLastPage() || empty()\"\n (click)=\"changePageToLast($event)\"\n pRipple\n class=\"p-paginator-last p-paginator-element p-link\"\n [ngClass]=\"{ 'p-disabled': isLastPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('lastPageLabel')\"\n >\n <AngleDoubleRightIcon *ngIf=\"!lastPageLinkIconTemplate\" [styleClass]=\"'p-paginator-icon'\" />\n <span class=\"p-paginator-icon\" *ngIf=\"lastPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"lastPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <p-inputNumber *ngIf=\"showJumpToPageInput\" [ngModel]=\"currentPage()\" class=\"p-paginator-page-input\" [disabled]=\"empty()\" (ngModelChange)=\"changePage($event - 1)\"></p-inputNumber>\n <p-dropdown\n [options]=\"rowsPerPageItems\"\n [(ngModel)]=\"rows\"\n *ngIf=\"rowsPerPageOptions\"\n styleClass=\"p-paginator-rpp-options\"\n [disabled]=\"empty()\"\n (onChange)=\"onRppChange($event)\"\n [appendTo]=\"dropdownAppendTo\"\n [scrollHeight]=\"dropdownScrollHeight\"\n [ariaLabel]=\"getAriaLabel('rowsPerPageLabel')\"\n >\n <ng-container *ngIf=\"dropdownItemTemplate\">\n <ng-template let-item pTemplate=\"item\">\n <ng-container *ngTemplateOutlet=\"dropdownItemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-template>\n </ng-container>\n </p-dropdown>\n <div class=\"p-paginator-right-content\" *ngIf=\"templateRight\" [attr.data-pc-section]=\"'end'\">\n <ng-container *ngTemplateOutlet=\"templateRight; context: { $implicit: paginatorState }\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./paginator.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Paginator implements OnInit, AfterContentInit, OnChanges {\n /**\n * Number of page links to display.\n * @group Props\n */\n @Input() pageLinkSize: number = 5;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether to show it even there is only one page.\n * @group Props\n */\n @Input() alwaysShow: boolean = true;\n /**\n * Target element to attach the dropdown overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() dropdownAppendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Template instance to inject into the left side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n @Input() templateLeft: TemplateRef<PaginatorState> | undefined;\n /**\n * Template instance to inject into the right side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n @Input() templateRight: TemplateRef<PaginatorState> | undefined;\n /**\n * Target element to attach the dropdown overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Dropdown height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() dropdownScrollHeight: string = '200px';\n /**\n * Template of the current page report element. Available placeholders are {currentPage},{totalPages},{rows},{first},{last} and {totalRecords}\n * @group Props\n */\n @Input() currentPageReportTemplate: string = '{currentPage} of {totalPages}';\n /**\n * Whether to display current page report.\n * @group Props\n */\n @Input() showCurrentPageReport: boolean | undefined;\n /**\n * When enabled, icons are displayed on paginator to go first and last page.\n * @group Props\n */\n @Input() showFirstLastIcon: boolean = true;\n /**\n * Number of total records.\n * @group Props\n */\n @Input() totalRecords: number = 0;\n /**\n * Data count to display per page.\n * @group Props\n */\n @Input() rows: number = 0;\n /**\n * Array of integer/object values to display inside rows per page dropdown. A object that have 'showAll' key can be added to it to show all data. Exp; [10,20,30,{showAll:'All'}]\n * @group Props\n */\n @Input() rowsPerPageOptions: any[] | undefined;\n /**\n * Whether to display a dropdown to navigate to any page.\n * @group Props\n */\n @Input() showJumpToPageDropdown: boolean | undefined;\n /**\n * Whether to display a input to navigate to any page.\n * @group Props\n */\n @Input() showJumpToPageInput: boolean | undefined;\n /**\n * Whether to show page links.\n * @group Props\n */\n @Input() showPageLinks: boolean = true;\n /**\n * Locale to be used in formatting.\n * @group Props\n */\n @Input() locale: string | undefined;\n /**\n * Template instance to inject into the dropdown item inside in the paginator.\n * @param {Object} context - item instance.\n * @group Props\n */\n @Input() dropdownItemTemplate: TemplateRef<{ $implicit: any }> | undefined;\n /**\n * Zero-relative number of the first row to be displayed.\n * @group Props\n */\n @Input() get first(): number {\n return this._first;\n }\n set first(val: number) {\n this._first = val;\n }\n /**\n * Callback to invoke when page changes, the event object contains information about the new state.\n * @param {PaginatorState} event - Paginator state.\n * @group Emits\n */\n @Output() onPageChange: EventEmitter<PaginatorState> = new EventEmitter<PaginatorState>();\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<any>>;\n\n firstPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n previousPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n lastPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n nextPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n pageLinks: number[] | undefined;\n\n pageItems: SelectItem[] | undefined;\n\n rowsPerPageItems: SelectItem[] | undefined;\n\n paginatorState: any;\n\n _first: number = 0;\n\n _page: number = 0;\n\n constructor(private cd: ChangeDetectorRef, private config: PrimeNGConfig) {}\n\n ngOnInit() {\n this.updatePaginatorState();\n }\n\n getAriaLabel(labelType) {\n return this.config.translation.aria ? this.config.translation.aria[labelType] : undefined;\n }\n\n getLocalization(digit: number) {\n const numerals = [...new Intl.NumberFormat(this.locale, { useGrouping: false }).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [i, d]));\n if (digit > 9) {\n const numbers = String(digit).split('');\n return numbers.map((number) => index.get(Number(number))).join('');\n } else {\n return index.get(digit);\n }\n }\n\n ngAfterContentInit(): void {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'firstpagelinkicon':\n this.firstPageLinkIconTemplate = item.template;\n break;\n\n case 'previouspagelinkicon':\n this.previousPageLinkIconTemplate = item.template;\n break;\n\n case 'lastpagelinkicon':\n this.lastPageLinkIconTemplate = item.template;\n break;\n\n case 'nextpagelinkicon':\n this.nextPageLinkIconTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.totalRecords) {\n this.updatePageLinks();\n this.updatePaginatorState();\n this.updateFirst();\n this.updateRowsPerPageOptions();\n }\n\n if (simpleChange.first) {\n this._first = simpleChange.first.currentValue;\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rows) {\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rowsPerPageOptions) {\n this.updateRowsPerPageOptions();\n }\n }\n\n updateRowsPerPageOptions() {\n if (this.rowsPerPageOptions) {\n this.rowsPerPageItems = [];\n for (let opt of this.rowsPerPageOptions) {\n if (typeof opt == 'object' && opt['showAll']) {\n this.rowsPerPageItems.unshift({ label: opt['showAll'], value: this.totalRecords });\n } else {\n this.rowsPerPageItems.push({ label: String(this.getLocalization(opt)), value: opt });\n }\n }\n }\n }\n\n isFirstPage() {\n return this.getPage() === 0;\n }\n\n isLastPage() {\n return this.getPage() === this.getPageCount() - 1;\n }\n\n getPageCount() {\n return Math.ceil(this.totalRecords / this.rows);\n }\n\n calculatePageLinkBoundaries() {\n let numberOfPages = this.getPageCount(),\n visiblePages = Math.min(this.pageLinkSize, numberOfPages);\n\n //calculate range, keep current in middle if necessary\n let start = Math.max(0, Math.ceil(this.getPage() - visiblePages / 2)),\n end = Math.min(numberOfPages - 1, start + visiblePages - 1);\n\n //check when approaching to last page\n var delta = this.pageLinkSize - (end - start + 1);\n start = Math.max(0, start - delta);\n\n return [start, end];\n }\n\n updatePageLinks() {\n this.pageLinks = [];\n let boundaries = this.calculatePageLinkBoundaries(),\n start = boundaries[0],\n end = boundaries[1];\n\n for (let i = start; i <= end; i++) {\n this.pageLinks.push(i + 1);\n }\n\n if (this.showJumpToPageDropdown) {\n this.pageItems = [];\n for (let i = 0; i < this.getPageCount(); i++) {\n this.pageItems.push({ label: String(i + 1), value: i });\n }\n }\n }\n\n changePage(p: number) {\n var pc = this.getPageCount();\n\n if (p >= 0 && p < pc) {\n this._first = this.rows * p;\n var state = {\n page: p,\n first: this.first,\n rows: this.rows,\n pageCount: pc\n };\n this.updatePageLinks();\n\n this.onPageChange.emit(state);\n this.updatePaginatorState();\n }\n }\n\n updateFirst() {\n const page = this.getPage();\n if (page > 0 && this.totalRecords && this.first >= this.totalRecords) {\n Promise.resolve(null).then(() => this.changePage(page - 1));\n }\n }\n\n getPage(): number {\n return Math.floor(this.first / this.rows);\n }\n\n changePageToFirst(event: Event) {\n if (!this.isFirstPage()) {\n this.changePage(0);\n }\n\n event.preventDefault();\n }\n\n changePageToPrev(event: Event) {\n this.changePage(this.getPage() - 1);\n event.preventDefault();\n }\n\n changePageToNext(event: Event) {\n this.changePage(this.getPage() + 1);\n event.preventDefault();\n }\n\n changePageToLast(event: Event) {\n if (!this.isLastPage()) {\n this.changePage(this.getPageCount() - 1);\n }\n\n event.preventDefault();\n }\n\n onPageLinkClick(event: Event, page: number) {\n this.changePage(page);\n event.preventDefault();\n }\n\n onRppChange(event: Event) {\n this.changePage(this.getPage());\n }\n\n onPageDropdownChange(event: DropdownChangeEvent) {\n this.changePage(event.value);\n }\n\n updatePaginatorState() {\n this.paginatorState = {\n page: this.getPage(),\n pageCount: this.getPageCount(),\n rows: this.rows,\n first: this.first,\n totalRecords: this.totalRecords\n };\n }\n\n empty() {\n return this.getPageCount() === 0;\n }\n\n currentPage() {\n return this.getPageCount() > 0 ? this.getPage() + 1 : 0;\n }\n\n get currentPageReport() {\n return this.currentPageReportTemplate\n .replace('{currentPage}', String(this.currentPage()))\n .replace('{totalPages}', String(this.getPageCount()))\n .replace('{first}', String(this.totalRecords > 0 ? this._first + 1 : 0))\n .replace('{last}', String(Math.min(this._first + this.rows, this.totalRecords)))\n .replace('{rows}', String(this.rows))\n .replace('{totalRecords}', String(this.totalRecords));\n }\n}\n\n@NgModule({\n imports: [CommonModule, DropdownModule, InputNumberModule, FormsModule, SharedModule, RippleModule, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleLeftIcon, AngleRightIcon],\n exports: [Paginator, DropdownModule, InputNumberModule, FormsModule, SharedModule],\n declarations: [Paginator]\n})\nexport class PaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-paginator.mjs","sources":["../../src/app/components/paginator/paginator.ts","../../src/app/components/paginator/primeng-paginator.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgModule, OnChanges, OnInit, Output, QueryList, SimpleChanges, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { PrimeNGConfig, PrimeTemplate, SelectItem, SharedModule } from 'primeng/api';\nimport { DropdownChangeEvent, DropdownModule } from 'primeng/dropdown';\nimport { AngleDoubleLeftIcon } from 'primeng/icons/angledoubleleft';\nimport { AngleDoubleRightIcon } from 'primeng/icons/angledoubleright';\nimport { AngleLeftIcon } from 'primeng/icons/angleleft';\nimport { AngleRightIcon } from 'primeng/icons/angleright';\nimport { InputNumberModule } from 'primeng/inputnumber';\nimport { RippleModule } from 'primeng/ripple';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { PaginatorState } from './paginator.interface';\n/**\n * Paginator is a generic component to display content in paged format.\n * @group Components\n */\n@Component({\n selector: 'p-paginator',\n template: `\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'p-paginator p-component'\" *ngIf=\"alwaysShow ? true : pageLinks && pageLinks.length > 1\" [attr.data-pc-section]=\"'paginator'\" [attr.data-pc-section]=\"'root'\">\n <div class=\"p-paginator-left-content\" *ngIf=\"templateLeft\" [attr.data-pc-section]=\"'start'\">\n <ng-container *ngTemplateOutlet=\"templateLeft; context: { $implicit: paginatorState }\"></ng-container>\n </div>\n <span class=\"p-paginator-current\" *ngIf=\"showCurrentPageReport\">{{ currentPageReport }}</span>\n <button\n *ngIf=\"showFirstLastIcon\"\n type=\"button\"\n [disabled]=\"isFirstPage() || empty()\"\n (click)=\"changePageToFirst($event)\"\n pRipple\n class=\"p-paginator-first p-paginator-element p-link\"\n [ngClass]=\"{ 'p-disabled': isFirstPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('firstPageLabel')\"\n >\n <AngleDoubleLeftIcon *ngIf=\"!firstPageLinkIconTemplate\" [styleClass]=\"'p-paginator-icon'\" />\n <span class=\"p-paginator-icon\" *ngIf=\"firstPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"firstPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <button\n type=\"button\"\n [disabled]=\"isFirstPage() || empty()\"\n (click)=\"changePageToPrev($event)\"\n pRipple\n class=\"p-paginator-prev p-paginator-element p-link\"\n [ngClass]=\"{ 'p-disabled': isFirstPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('prevPageLabel')\"\n >\n <AngleLeftIcon *ngIf=\"!previousPageLinkIconTemplate\" [styleClass]=\"'p-paginator-icon'\" />\n <span class=\"p-paginator-icon\" *ngIf=\"previousPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"previousPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <span class=\"p-paginator-pages\" *ngIf=\"showPageLinks\">\n <button\n type=\"button\"\n *ngFor=\"let pageLink of pageLinks\"\n class=\"p-paginator-page p-paginator-element p-link\"\n [ngClass]=\"{ 'p-highlight': pageLink - 1 == getPage() }\"\n [attr.aria-label]=\"getPageAriaLabel(pageLink)\"\n [attr.aria-current]=\"pageLink - 1 == getPage() ? 'page' : undefined\"\n (click)=\"onPageLinkClick($event, pageLink - 1)\"\n pRipple\n >\n {{ getLocalization(pageLink) }}\n </button>\n </span>\n <p-dropdown\n [options]=\"pageItems\"\n [ngModel]=\"getPage()\"\n *ngIf=\"showJumpToPageDropdown\"\n [disabled]=\"empty()\"\n [attr.aria-label]=\"getAriaLabel('jumpToPageDropdownLabel')\"\n styleClass=\"p-paginator-page-options\"\n (onChange)=\"onPageDropdownChange($event)\"\n [appendTo]=\"dropdownAppendTo\"\n [scrollHeight]=\"dropdownScrollHeight\"\n >\n <ng-template pTemplate=\"selectedItem\">{{ currentPageReport }}</ng-template>\n </p-dropdown>\n <button\n type=\"button\"\n [disabled]=\"isLastPage() || empty()\"\n (click)=\"changePageToNext($event)\"\n pRipple\n class=\"p-paginator-next p-paginator-element p-link\"\n [ngClass]=\"{ 'p-disabled': isLastPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('nextPageLabel')\"\n >\n <AngleRightIcon *ngIf=\"!nextPageLinkIconTemplate\" [styleClass]=\"'p-paginator-icon'\" />\n <span class=\"p-paginator-icon\" *ngIf=\"nextPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"nextPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <button\n *ngIf=\"showFirstLastIcon\"\n type=\"button\"\n [disabled]=\"isLastPage() || empty()\"\n (click)=\"changePageToLast($event)\"\n pRipple\n class=\"p-paginator-last p-paginator-element p-link\"\n [ngClass]=\"{ 'p-disabled': isLastPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('lastPageLabel')\"\n >\n <AngleDoubleRightIcon *ngIf=\"!lastPageLinkIconTemplate\" [styleClass]=\"'p-paginator-icon'\" />\n <span class=\"p-paginator-icon\" *ngIf=\"lastPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"lastPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <p-inputNumber *ngIf=\"showJumpToPageInput\" [ngModel]=\"currentPage()\" class=\"p-paginator-page-input\" [disabled]=\"empty()\" (ngModelChange)=\"changePage($event - 1)\"></p-inputNumber>\n <p-dropdown\n [options]=\"rowsPerPageItems\"\n [(ngModel)]=\"rows\"\n *ngIf=\"rowsPerPageOptions\"\n styleClass=\"p-paginator-rpp-options\"\n [disabled]=\"empty()\"\n (onChange)=\"onRppChange($event)\"\n [appendTo]=\"dropdownAppendTo\"\n [scrollHeight]=\"dropdownScrollHeight\"\n [ariaLabel]=\"getAriaLabel('rowsPerPageLabel')\"\n >\n <ng-container *ngIf=\"dropdownItemTemplate\">\n <ng-template let-item pTemplate=\"item\">\n <ng-container *ngTemplateOutlet=\"dropdownItemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-template>\n </ng-container>\n </p-dropdown>\n <div class=\"p-paginator-right-content\" *ngIf=\"templateRight\" [attr.data-pc-section]=\"'end'\">\n <ng-container *ngTemplateOutlet=\"templateRight; context: { $implicit: paginatorState }\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./paginator.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Paginator implements OnInit, AfterContentInit, OnChanges {\n /**\n * Number of page links to display.\n * @group Props\n */\n @Input() pageLinkSize: number = 5;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether to show it even there is only one page.\n * @group Props\n */\n @Input() alwaysShow: boolean = true;\n /**\n * Target element to attach the dropdown overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() dropdownAppendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Template instance to inject into the left side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n @Input() templateLeft: TemplateRef<PaginatorState> | undefined;\n /**\n * Template instance to inject into the right side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n @Input() templateRight: TemplateRef<PaginatorState> | undefined;\n /**\n * Target element to attach the dropdown overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Dropdown height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() dropdownScrollHeight: string = '200px';\n /**\n * Template of the current page report element. Available placeholders are {currentPage},{totalPages},{rows},{first},{last} and {totalRecords}\n * @group Props\n */\n @Input() currentPageReportTemplate: string = '{currentPage} of {totalPages}';\n /**\n * Whether to display current page report.\n * @group Props\n */\n @Input() showCurrentPageReport: boolean | undefined;\n /**\n * When enabled, icons are displayed on paginator to go first and last page.\n * @group Props\n */\n @Input() showFirstLastIcon: boolean = true;\n /**\n * Number of total records.\n * @group Props\n */\n @Input() totalRecords: number = 0;\n /**\n * Data count to display per page.\n * @group Props\n */\n @Input() rows: number = 0;\n /**\n * Array of integer/object values to display inside rows per page dropdown. A object that have 'showAll' key can be added to it to show all data. Exp; [10,20,30,{showAll:'All'}]\n * @group Props\n */\n @Input() rowsPerPageOptions: any[] | undefined;\n /**\n * Whether to display a dropdown to navigate to any page.\n * @group Props\n */\n @Input() showJumpToPageDropdown: boolean | undefined;\n /**\n * Whether to display a input to navigate to any page.\n * @group Props\n */\n @Input() showJumpToPageInput: boolean | undefined;\n /**\n * Whether to show page links.\n * @group Props\n */\n @Input() showPageLinks: boolean = true;\n /**\n * Locale to be used in formatting.\n * @group Props\n */\n @Input() locale: string | undefined;\n /**\n * Template instance to inject into the dropdown item inside in the paginator.\n * @param {Object} context - item instance.\n * @group Props\n */\n @Input() dropdownItemTemplate: TemplateRef<{ $implicit: any }> | undefined;\n /**\n * Zero-relative number of the first row to be displayed.\n * @group Props\n */\n @Input() get first(): number {\n return this._first;\n }\n set first(val: number) {\n this._first = val;\n }\n /**\n * Callback to invoke when page changes, the event object contains information about the new state.\n * @param {PaginatorState} event - Paginator state.\n * @group Emits\n */\n @Output() onPageChange: EventEmitter<PaginatorState> = new EventEmitter<PaginatorState>();\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<any>>;\n\n firstPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n previousPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n lastPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n nextPageLinkIconTemplate: Nullable<TemplateRef<any>>;\n\n pageLinks: number[] | undefined;\n\n pageItems: SelectItem[] | undefined;\n\n rowsPerPageItems: SelectItem[] | undefined;\n\n paginatorState: any;\n\n _first: number = 0;\n\n _page: number = 0;\n\n constructor(private cd: ChangeDetectorRef, private config: PrimeNGConfig) {}\n\n ngOnInit() {\n this.updatePaginatorState();\n }\n\n getAriaLabel(labelType) {\n return this.config.translation.aria ? this.config.translation.aria[labelType] : undefined;\n }\n\n getPageAriaLabel(value) {\n return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, `Page ${value}`) : undefined;\n }\n\n getLocalization(digit: number) {\n const numerals = [...new Intl.NumberFormat(this.locale, { useGrouping: false }).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [i, d]));\n if (digit > 9) {\n const numbers = String(digit).split('');\n return numbers.map((number) => index.get(Number(number))).join('');\n } else {\n return index.get(digit);\n }\n }\n\n ngAfterContentInit(): void {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'firstpagelinkicon':\n this.firstPageLinkIconTemplate = item.template;\n break;\n\n case 'previouspagelinkicon':\n this.previousPageLinkIconTemplate = item.template;\n break;\n\n case 'lastpagelinkicon':\n this.lastPageLinkIconTemplate = item.template;\n break;\n\n case 'nextpagelinkicon':\n this.nextPageLinkIconTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.totalRecords) {\n this.updatePageLinks();\n this.updatePaginatorState();\n this.updateFirst();\n this.updateRowsPerPageOptions();\n }\n\n if (simpleChange.first) {\n this._first = simpleChange.first.currentValue;\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rows) {\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n\n if (simpleChange.rowsPerPageOptions) {\n this.updateRowsPerPageOptions();\n }\n }\n\n updateRowsPerPageOptions() {\n if (this.rowsPerPageOptions) {\n this.rowsPerPageItems = [];\n for (let opt of this.rowsPerPageOptions) {\n if (typeof opt == 'object' && opt['showAll']) {\n this.rowsPerPageItems.unshift({ label: opt['showAll'], value: this.totalRecords });\n } else {\n this.rowsPerPageItems.push({ label: String(this.getLocalization(opt)), value: opt });\n }\n }\n }\n }\n\n isFirstPage() {\n return this.getPage() === 0;\n }\n\n isLastPage() {\n return this.getPage() === this.getPageCount() - 1;\n }\n\n getPageCount() {\n return Math.ceil(this.totalRecords / this.rows);\n }\n\n calculatePageLinkBoundaries() {\n let numberOfPages = this.getPageCount(),\n visiblePages = Math.min(this.pageLinkSize, numberOfPages);\n\n //calculate range, keep current in middle if necessary\n let start = Math.max(0, Math.ceil(this.getPage() - visiblePages / 2)),\n end = Math.min(numberOfPages - 1, start + visiblePages - 1);\n\n //check when approaching to last page\n var delta = this.pageLinkSize - (end - start + 1);\n start = Math.max(0, start - delta);\n\n return [start, end];\n }\n\n updatePageLinks() {\n this.pageLinks = [];\n let boundaries = this.calculatePageLinkBoundaries(),\n start = boundaries[0],\n end = boundaries[1];\n\n for (let i = start; i <= end; i++) {\n this.pageLinks.push(i + 1);\n }\n\n if (this.showJumpToPageDropdown) {\n this.pageItems = [];\n for (let i = 0; i < this.getPageCount(); i++) {\n this.pageItems.push({ label: String(i + 1), value: i });\n }\n }\n }\n\n changePage(p: number) {\n var pc = this.getPageCount();\n\n if (p >= 0 && p < pc) {\n this._first = this.rows * p;\n var state = {\n page: p,\n first: this.first,\n rows: this.rows,\n pageCount: pc\n };\n this.updatePageLinks();\n\n this.onPageChange.emit(state);\n this.updatePaginatorState();\n }\n }\n\n updateFirst() {\n const page = this.getPage();\n if (page > 0 && this.totalRecords && this.first >= this.totalRecords) {\n Promise.resolve(null).then(() => this.changePage(page - 1));\n }\n }\n\n getPage(): number {\n return Math.floor(this.first / this.rows);\n }\n\n changePageToFirst(event: Event) {\n if (!this.isFirstPage()) {\n this.changePage(0);\n }\n\n event.preventDefault();\n }\n\n changePageToPrev(event: Event) {\n this.changePage(this.getPage() - 1);\n event.preventDefault();\n }\n\n changePageToNext(event: Event) {\n this.changePage(this.getPage() + 1);\n event.preventDefault();\n }\n\n changePageToLast(event: Event) {\n if (!this.isLastPage()) {\n this.changePage(this.getPageCount() - 1);\n }\n\n event.preventDefault();\n }\n\n onPageLinkClick(event: Event, page: number) {\n this.changePage(page);\n event.preventDefault();\n }\n\n onRppChange(event: Event) {\n this.changePage(this.getPage());\n }\n\n onPageDropdownChange(event: DropdownChangeEvent) {\n this.changePage(event.value);\n }\n\n updatePaginatorState() {\n this.paginatorState = {\n page: this.getPage(),\n pageCount: this.getPageCount(),\n rows: this.rows,\n first: this.first,\n totalRecords: this.totalRecords\n };\n }\n\n empty() {\n return this.getPageCount() === 0;\n }\n\n currentPage() {\n return this.getPageCount() > 0 ? this.getPage() + 1 : 0;\n }\n\n get currentPageReport() {\n return this.currentPageReportTemplate\n .replace('{currentPage}', String(this.currentPage()))\n .replace('{totalPages}', String(this.getPageCount()))\n .replace('{first}', String(this.totalRecords > 0 ? this._first + 1 : 0))\n .replace('{last}', String(Math.min(this._first + this.rows, this.totalRecords)))\n .replace('{rows}', String(this.rows))\n .replace('{totalRecords}', String(this.totalRecords));\n }\n}\n\n@NgModule({\n imports: [CommonModule, DropdownModule, InputNumberModule, FormsModule, SharedModule, RippleModule, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleLeftIcon, AngleRightIcon],\n exports: [Paginator, DropdownModule, InputNumberModule, FormsModule, SharedModule],\n declarations: [Paginator]\n})\nexport class PaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -101,7 +101,7 @@ class PanelMenuSub {
101
101
  [attr.aria-activedescendant]="focusedItemId"
102
102
  [attr.data-pc-section]="'menu'"
103
103
  [attr.aria-hidden]="!parentExpanded"
104
- (focus)="menuFocus.emit($event)"
104
+ (focusin)="menuFocus.emit($event)"
105
105
  (focusout)="menuBlur.emit($event)"
106
106
  (keydown)="menuKeyDown.emit($event)"
107
107
  >
@@ -228,7 +228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
228
228
  [attr.aria-activedescendant]="focusedItemId"
229
229
  [attr.data-pc-section]="'menu'"
230
230
  [attr.aria-hidden]="!parentExpanded"
231
- (focus)="menuFocus.emit($event)"
231
+ (focusin)="menuFocus.emit($event)"
232
232
  (focusout)="menuBlur.emit($event)"
233
233
  (keydown)="menuKeyDown.emit($event)"
234
234
  >
@@ -383,13 +383,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
383
383
  args: ['list']
384
384
  }] } });
385
385
  class PanelMenuList {
386
- set model(value) {
387
- this._model = value;
388
- this._processedItems = this.createProcessedItems(this._model || []);
389
- }
390
- get model() {
391
- return this._model;
392
- }
386
+ el;
393
387
  panelId;
394
388
  id;
395
389
  items;
@@ -408,27 +402,23 @@ class PanelMenuList {
408
402
  focused;
409
403
  focusedItem = signal(null);
410
404
  activeItemPath = signal([]);
411
- _model;
412
- _processedItems;
413
- get processedItems() {
414
- if (!this._processedItems || !this._processedItems.length) {
415
- this._processedItems = this.createProcessedItems(this.model || []);
416
- }
417
- return this._processedItems;
418
- }
405
+ processedItems = signal([]);
419
406
  visibleItems = computed(() => {
420
- const processedItems = this.processedItems;
407
+ const processedItems = this.processedItems();
421
408
  return this.flatItems(processedItems);
422
409
  });
423
410
  get focusedItemId() {
424
411
  const focusedItem = this.focusedItem();
425
412
  return focusedItem && focusedItem.item?.id ? focusedItem.item.id : ObjectUtils.isNotEmpty(this.focusedItem()) ? `${this.panelId}_${this.focusedItem().key}` : undefined;
426
413
  }
427
- // ngOnChanges(changes: SimpleChanges) {
428
- // if (changes && changes.items && changes.items.currentValue) {
429
- // this._processedItems = this.createProcessedItems(changes.items.currentValue || []);
430
- // }
431
- // }
414
+ constructor(el) {
415
+ this.el = el;
416
+ }
417
+ ngOnChanges(changes) {
418
+ if (changes && changes.items && changes.items.currentValue) {
419
+ this.processedItems.set(this.createProcessedItems(changes.items.currentValue || []));
420
+ }
421
+ }
432
422
  getItemProp(processedItem, name) {
433
423
  return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
434
424
  }
@@ -488,7 +478,7 @@ class PanelMenuList {
488
478
  return processedItems;
489
479
  }
490
480
  findProcessedItemByItemKey(key, processedItems, level = 0) {
491
- processedItems = processedItems || this.processedItems;
481
+ processedItems = processedItems || this.processedItems();
492
482
  if (processedItems && processedItems.length) {
493
483
  for (let i = 0; i < processedItems.length; i++) {
494
484
  const processedItem = processedItems[i];
@@ -527,26 +517,28 @@ class PanelMenuList {
527
517
  }
528
518
  }
529
519
  onFocus(event) {
530
- this.focused = true;
531
- const focusedItem = this.focusedItem() || (this.isElementInPanel(event, event.relatedTarget) ? this.findFirstItem() : this.findLastItem());
532
- if (event.relatedTarget !== null)
533
- this.focusedItem.set(focusedItem);
520
+ if (!this.focused) {
521
+ this.focused = true;
522
+ const focusedItem = this.focusedItem() || (this.isElementInPanel(event, event.relatedTarget) ? this.findFirstItem() : this.findLastItem());
523
+ if (event.relatedTarget !== null)
524
+ this.focusedItem.set(focusedItem);
525
+ }
534
526
  }
535
527
  onBlur(event) {
536
- this.focused = false;
537
- this.focusedItem.set(null);
538
- this.searchValue = '';
528
+ const target = event.relatedTarget;
529
+ if (this.focused && !this.el.nativeElement.contains(target)) {
530
+ this.focused = false;
531
+ this.focusedItem.set(null);
532
+ this.searchValue = '';
533
+ }
539
534
  }
540
535
  onItemToggle(event) {
541
- this.focused = true;
542
536
  const { processedItem, expanded } = event;
543
537
  processedItem.expanded = !processedItem.expanded;
544
538
  const activeItemPath = this.activeItemPath().filter((p) => p.parentKey !== processedItem.parentKey);
545
539
  expanded && activeItemPath.push(processedItem);
546
540
  this.activeItemPath.set(activeItemPath);
547
- const processedItems = this.processedItems;
548
- const newProcessedItems = processedItems.map((item) => (item === processedItem ? processedItem : item));
549
- this._processedItems = newProcessedItems;
541
+ this.processedItems.update((value) => value.map((i) => (i === processedItem ? processedItem : i)));
550
542
  this.focusedItem.set(processedItem);
551
543
  }
552
544
  onKeyDown(event) {
@@ -706,8 +698,8 @@ class PanelMenuList {
706
698
  }, 500);
707
699
  return matched;
708
700
  }
709
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: PanelMenuList, deps: [], target: i0.ɵɵFactoryTarget.Component });
710
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: PanelMenuList, selector: "p-panelMenuList", inputs: { model: "model", panelId: "panelId", id: "id", items: "items", itemTemplate: "itemTemplate", parentExpanded: "parentExpanded", expanded: "expanded", transitionOptions: "transitionOptions", root: "root", tabindex: "tabindex", activeItem: "activeItem" }, outputs: { itemToggle: "itemToggle", headerFocus: "headerFocus" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "subMenuViewChild", first: true, predicate: ["submenu"], descendants: true }], ngImport: i0, template: `
701
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: PanelMenuList, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
702
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: PanelMenuList, selector: "p-panelMenuList", inputs: { panelId: "panelId", id: "id", items: "items", itemTemplate: "itemTemplate", parentExpanded: "parentExpanded", expanded: "expanded", transitionOptions: "transitionOptions", root: "root", tabindex: "tabindex", activeItem: "activeItem" }, outputs: { itemToggle: "itemToggle", headerFocus: "headerFocus" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "subMenuViewChild", first: true, predicate: ["submenu"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
711
703
  <p-panelMenuSub
712
704
  #submenu
713
705
  [root]="true"
@@ -718,7 +710,7 @@ class PanelMenuList {
718
710
  [focusedItemId]="focused ? focusedItemId : undefined"
719
711
  [activeItemPath]="activeItemPath()"
720
712
  [transitionOptions]="transitionOptions"
721
- [items]="processedItems"
713
+ [items]="processedItems()"
722
714
  [parentExpanded]="parentExpanded"
723
715
  (itemToggle)="onItemToggle($event)"
724
716
  (keydown)="onKeyDown($event)"
@@ -740,7 +732,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
740
732
  [focusedItemId]="focused ? focusedItemId : undefined"
741
733
  [activeItemPath]="activeItemPath()"
742
734
  [transitionOptions]="transitionOptions"
743
- [items]="processedItems"
735
+ [items]="processedItems()"
744
736
  [parentExpanded]="parentExpanded"
745
737
  (itemToggle)="onItemToggle($event)"
746
738
  (keydown)="onKeyDown($event)"
@@ -750,9 +742,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
750
742
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
751
743
  class: 'p-element'
752
744
  }, styles: ["@layer primeng{.p-panelmenu .p-panelmenu-header-action{display:flex;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;position:relative;text-decoration:none}.p-panelmenu .p-panelmenu-header-action:focus{z-index:1}.p-panelmenu .p-submenu-list{margin:0;padding:0;list-style:none}.p-panelmenu .p-menuitem-link{display:flex;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;outline:none}.p-panelmenu .p-menuitem-text{line-height:1}.p-panelmenu-expanded.p-toggleable-content:not(.ng-animating),.p-panelmenu .p-submenu-expanded:not(.ng-animating){overflow:visible}.p-panelmenu .p-toggleable-content,.p-panelmenu .p-submenu-list{overflow:hidden}}\n"] }]
753
- }], propDecorators: { model: [{
754
- type: Input
755
- }], panelId: [{
745
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { panelId: [{
756
746
  type: Input
757
747
  }], id: [{
758
748
  type: Input
@@ -790,12 +780,7 @@ class PanelMenu {
790
780
  * An array of menuitems.
791
781
  * @group Props
792
782
  */
793
- set model(value) {
794
- this._model = value;
795
- }
796
- get model() {
797
- return this._model;
798
- }
783
+ model;
799
784
  /**
800
785
  * Inline style of the component.
801
786
  * @group Props
@@ -832,7 +817,6 @@ class PanelMenu {
832
817
  itemTemplate;
833
818
  animating;
834
819
  activeItem = signal(null);
835
- _model;
836
820
  ngOnInit() {
837
821
  this.id = this.id || UniqueComponentId();
838
822
  }
@@ -1086,7 +1070,6 @@ class PanelMenu {
1086
1070
  >
1087
1071
  <div class="p-panelmenu-content" [attr.data-pc-section]="'menucontent'">
1088
1072
  <p-panelMenuList
1089
- [model]="model"
1090
1073
  [panelId]="getPanelId(i, item)"
1091
1074
  [items]="getItemProp(item, 'items')"
1092
1075
  [itemTemplate]="itemTemplate"
@@ -1102,7 +1085,7 @@ class PanelMenu {
1102
1085
  </div>
1103
1086
  </ng-container>
1104
1087
  </div>
1105
- `, isInline: true, styles: ["@layer primeng{.p-panelmenu .p-panelmenu-header-action{display:flex;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;position:relative;text-decoration:none}.p-panelmenu .p-panelmenu-header-action:focus{z-index:1}.p-panelmenu .p-submenu-list{margin:0;padding:0;list-style:none}.p-panelmenu .p-menuitem-link{display:flex;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;outline:none}.p-panelmenu .p-menuitem-text{line-height:1}.p-panelmenu-expanded.p-toggleable-content:not(.ng-animating),.p-panelmenu .p-submenu-expanded:not(.ng-animating){overflow:visible}.p-panelmenu .p-toggleable-content,.p-panelmenu .p-submenu-list{overflow:hidden}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => i2.RouterLink), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(() => i2.RouterLinkActive), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(() => i3.Tooltip), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(() => ChevronDownIcon), selector: "ChevronDownIcon" }, { kind: "component", type: i0.forwardRef(() => ChevronRightIcon), selector: "ChevronRightIcon" }, { kind: "component", type: i0.forwardRef(() => PanelMenuList), selector: "p-panelMenuList", inputs: ["model", "panelId", "id", "items", "itemTemplate", "parentExpanded", "expanded", "transitionOptions", "root", "tabindex", "activeItem"], outputs: ["itemToggle", "headerFocus"] }], animations: [
1088
+ `, isInline: true, styles: ["@layer primeng{.p-panelmenu .p-panelmenu-header-action{display:flex;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;position:relative;text-decoration:none}.p-panelmenu .p-panelmenu-header-action:focus{z-index:1}.p-panelmenu .p-submenu-list{margin:0;padding:0;list-style:none}.p-panelmenu .p-menuitem-link{display:flex;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;outline:none}.p-panelmenu .p-menuitem-text{line-height:1}.p-panelmenu-expanded.p-toggleable-content:not(.ng-animating),.p-panelmenu .p-submenu-expanded:not(.ng-animating){overflow:visible}.p-panelmenu .p-toggleable-content,.p-panelmenu .p-submenu-list{overflow:hidden}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => i2.RouterLink), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(() => i2.RouterLinkActive), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(() => i3.Tooltip), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(() => ChevronDownIcon), selector: "ChevronDownIcon" }, { kind: "component", type: i0.forwardRef(() => ChevronRightIcon), selector: "ChevronRightIcon" }, { kind: "component", type: i0.forwardRef(() => PanelMenuList), selector: "p-panelMenuList", inputs: ["panelId", "id", "items", "itemTemplate", "parentExpanded", "expanded", "transitionOptions", "root", "tabindex", "activeItem"], outputs: ["itemToggle", "headerFocus"] }], animations: [
1106
1089
  trigger('rootItem', [
1107
1090
  state('hidden', style({
1108
1091
  height: '0'
@@ -1206,7 +1189,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
1206
1189
  >
1207
1190
  <div class="p-panelmenu-content" [attr.data-pc-section]="'menucontent'">
1208
1191
  <p-panelMenuList
1209
- [model]="model"
1210
1192
  [panelId]="getPanelId(i, item)"
1211
1193
  [items]="getItemProp(item, 'items')"
1212
1194
  [itemTemplate]="itemTemplate"