primeng 17.14.1 → 17.16.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 (266) hide show
  1. package/api/megamenuitem.d.ts +4 -0
  2. package/api/primengconfig.d.ts +1 -1
  3. package/api/treenode.d.ts +4 -0
  4. package/autocomplete/autocomplete.d.ts +17 -2
  5. package/badge/badge.d.ts +2 -2
  6. package/breadcrumb/breadcrumb.interface.d.ts +11 -0
  7. package/calendar/calendar.d.ts +13 -2
  8. package/card/card.d.ts +5 -2
  9. package/cascadeselect/cascadeselect.d.ts +19 -1
  10. package/cascadeselect/cascadeselect.interface.d.ts +4 -0
  11. package/checkbox/checkbox.d.ts +11 -4
  12. package/chips/chips.d.ts +9 -2
  13. package/dom/domhandler.d.ts +2 -2
  14. package/dropdown/dropdown.d.ts +31 -3
  15. package/dropdown/dropdown.interface.d.ts +1 -1
  16. package/esm2022/api/filterservice.mjs +6 -1
  17. package/esm2022/api/megamenuitem.mjs +1 -1
  18. package/esm2022/api/primengconfig.mjs +3 -3
  19. package/esm2022/api/treenode.mjs +1 -1
  20. package/esm2022/autocomplete/autocomplete.mjs +34 -12
  21. package/esm2022/badge/badge.mjs +3 -3
  22. package/esm2022/breadcrumb/breadcrumb.interface.mjs +1 -1
  23. package/esm2022/breadcrumb/breadcrumb.mjs +1 -1
  24. package/esm2022/calendar/calendar.mjs +65 -9
  25. package/esm2022/card/card.mjs +11 -5
  26. package/esm2022/cascadeselect/cascadeselect.interface.mjs +1 -1
  27. package/esm2022/cascadeselect/cascadeselect.mjs +61 -12
  28. package/esm2022/checkbox/checkbox.mjs +44 -13
  29. package/esm2022/chips/chips.mjs +20 -10
  30. package/esm2022/colorpicker/colorpicker.mjs +2 -1
  31. package/esm2022/confirmpopup/confirmpopup.mjs +2 -2
  32. package/esm2022/dialog/dialog.mjs +2 -2
  33. package/esm2022/divider/divider.mjs +2 -2
  34. package/esm2022/dom/domhandler.mjs +5 -3
  35. package/esm2022/dropdown/dropdown.interface.mjs +1 -1
  36. package/esm2022/dropdown/dropdown.mjs +106 -26
  37. package/esm2022/dynamicdialog/dynamicdialog.mjs +3 -3
  38. package/esm2022/editor/editor.mjs +2 -4
  39. package/esm2022/fileupload/fileupload.mjs +128 -110
  40. package/esm2022/icons/blank/blank.mjs +25 -0
  41. package/esm2022/icons/blank/primeng-icons-blank.mjs +5 -0
  42. package/esm2022/icons/blank/public_api.mjs +2 -0
  43. package/esm2022/inputmask/inputmask.mjs +31 -13
  44. package/esm2022/inputnumber/inputnumber.mjs +13 -4
  45. package/esm2022/inputotp/inputotp.mjs +3 -3
  46. package/esm2022/inputtext/inputtext.mjs +22 -7
  47. package/esm2022/inputtextarea/inputtextarea.mjs +17 -6
  48. package/esm2022/keyfilter/keyfilter.mjs +14 -13
  49. package/esm2022/megamenu/megamenu.interface.mjs +1 -1
  50. package/esm2022/megamenu/megamenu.mjs +2 -2
  51. package/esm2022/menu/menu.mjs +18 -5
  52. package/esm2022/menubar/menubar.interface.mjs +1 -1
  53. package/esm2022/menubar/menubar.mjs +3 -6
  54. package/esm2022/multiselect/multiselect.interface.mjs +1 -1
  55. package/esm2022/multiselect/multiselect.mjs +155 -44
  56. package/esm2022/organizationchart/organizationchart.mjs +43 -27
  57. package/esm2022/overlaypanel/overlaypanel.mjs +2 -2
  58. package/esm2022/paginator/paginator.mjs +3 -3
  59. package/esm2022/panelmenu/panelmenu.interface.mjs +1 -1
  60. package/esm2022/panelmenu/panelmenu.mjs +51 -41
  61. package/esm2022/password/password.mjs +22 -5
  62. package/esm2022/radiobutton/radiobutton.mjs +32 -10
  63. package/esm2022/scroller/scroller.mjs +4 -4
  64. package/esm2022/speeddial/speeddial.mjs +6 -8
  65. package/esm2022/splitbutton/splitbutton.mjs +13 -13
  66. package/esm2022/stepper/stepper.mjs +1 -9
  67. package/esm2022/table/columnfilter.interface.mjs +1 -1
  68. package/esm2022/table/table.mjs +59 -18
  69. package/esm2022/tieredmenu/tieredmenu.mjs +19 -12
  70. package/esm2022/timeline/timeline.mjs +2 -2
  71. package/esm2022/tree/tree.mjs +157 -115
  72. package/esm2022/treeselect/treeselect.mjs +16 -8
  73. package/esm2022/treetable/treetable.mjs +8 -6
  74. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +20 -10
  75. package/fesm2022/primeng-api.mjs +7 -2
  76. package/fesm2022/primeng-api.mjs.map +1 -1
  77. package/fesm2022/primeng-autocomplete.mjs +33 -11
  78. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  79. package/fesm2022/primeng-badge.mjs +2 -2
  80. package/fesm2022/primeng-badge.mjs.map +1 -1
  81. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  82. package/fesm2022/primeng-calendar.mjs +64 -8
  83. package/fesm2022/primeng-calendar.mjs.map +1 -1
  84. package/fesm2022/primeng-card.mjs +10 -4
  85. package/fesm2022/primeng-card.mjs.map +1 -1
  86. package/fesm2022/primeng-cascadeselect.mjs +60 -11
  87. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  88. package/fesm2022/primeng-checkbox.mjs +43 -12
  89. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  90. package/fesm2022/primeng-chips.mjs +19 -9
  91. package/fesm2022/primeng-chips.mjs.map +1 -1
  92. package/fesm2022/primeng-colorpicker.mjs +1 -0
  93. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  94. package/fesm2022/primeng-confirmpopup.mjs +1 -1
  95. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  96. package/fesm2022/primeng-dialog.mjs +1 -1
  97. package/fesm2022/primeng-dialog.mjs.map +1 -1
  98. package/fesm2022/primeng-divider.mjs +2 -2
  99. package/fesm2022/primeng-divider.mjs.map +1 -1
  100. package/fesm2022/primeng-dom.mjs +4 -2
  101. package/fesm2022/primeng-dom.mjs.map +1 -1
  102. package/fesm2022/primeng-dropdown.mjs +105 -25
  103. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  104. package/fesm2022/primeng-dynamicdialog.mjs +2 -2
  105. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  106. package/fesm2022/primeng-editor.mjs +1 -3
  107. package/fesm2022/primeng-editor.mjs.map +1 -1
  108. package/fesm2022/primeng-fileupload.mjs +127 -109
  109. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  110. package/fesm2022/primeng-icons-blank.mjs +32 -0
  111. package/fesm2022/primeng-icons-blank.mjs.map +1 -0
  112. package/fesm2022/primeng-inputmask.mjs +30 -12
  113. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  114. package/fesm2022/primeng-inputnumber.mjs +12 -3
  115. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  116. package/fesm2022/primeng-inputotp.mjs +2 -2
  117. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  118. package/fesm2022/primeng-inputtext.mjs +21 -6
  119. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  120. package/fesm2022/primeng-inputtextarea.mjs +16 -5
  121. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  122. package/fesm2022/primeng-keyfilter.mjs +13 -12
  123. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  124. package/fesm2022/primeng-megamenu.mjs +1 -1
  125. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  126. package/fesm2022/primeng-menu.mjs +17 -4
  127. package/fesm2022/primeng-menu.mjs.map +1 -1
  128. package/fesm2022/primeng-menubar.mjs +2 -5
  129. package/fesm2022/primeng-menubar.mjs.map +1 -1
  130. package/fesm2022/primeng-multiselect.mjs +154 -43
  131. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  132. package/fesm2022/primeng-organizationchart.mjs +42 -26
  133. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  134. package/fesm2022/primeng-overlaypanel.mjs +1 -1
  135. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  136. package/fesm2022/primeng-paginator.mjs +2 -2
  137. package/fesm2022/primeng-paginator.mjs.map +1 -1
  138. package/fesm2022/primeng-panelmenu.mjs +50 -40
  139. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  140. package/fesm2022/primeng-password.mjs +21 -4
  141. package/fesm2022/primeng-password.mjs.map +1 -1
  142. package/fesm2022/primeng-radiobutton.mjs +31 -9
  143. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  144. package/fesm2022/primeng-scroller.mjs +3 -3
  145. package/fesm2022/primeng-scroller.mjs.map +1 -1
  146. package/fesm2022/primeng-speeddial.mjs +5 -7
  147. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  148. package/fesm2022/primeng-splitbutton.mjs +12 -12
  149. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  150. package/fesm2022/primeng-stepper.mjs +0 -8
  151. package/fesm2022/primeng-stepper.mjs.map +1 -1
  152. package/fesm2022/primeng-table.mjs +58 -17
  153. package/fesm2022/primeng-table.mjs.map +1 -1
  154. package/fesm2022/primeng-tieredmenu.mjs +18 -11
  155. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  156. package/fesm2022/primeng-timeline.mjs +2 -2
  157. package/fesm2022/primeng-timeline.mjs.map +1 -1
  158. package/fesm2022/primeng-tree.mjs +156 -114
  159. package/fesm2022/primeng-tree.mjs.map +1 -1
  160. package/fesm2022/primeng-treeselect.mjs +15 -7
  161. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  162. package/fesm2022/primeng-treetable.mjs +7 -5
  163. package/fesm2022/primeng-treetable.mjs.map +1 -1
  164. package/fesm2022/primeng-tristatecheckbox.mjs +19 -9
  165. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  166. package/fileupload/fileupload.d.ts +11 -10
  167. package/icons/blank/blank.d.ts +6 -0
  168. package/icons/blank/index.d.ts +5 -0
  169. package/icons/blank/public_api.d.ts +1 -0
  170. package/inputmask/inputmask.d.ts +13 -3
  171. package/inputnumber/inputnumber.d.ts +6 -1
  172. package/inputotp/inputotp.d.ts +1 -1
  173. package/inputtext/inputtext.d.ts +14 -3
  174. package/inputtextarea/inputtextarea.d.ts +10 -3
  175. package/keyfilter/keyfilter.d.ts +1 -1
  176. package/megamenu/megamenu.interface.d.ts +12 -0
  177. package/menu/menu.d.ts +1 -0
  178. package/menubar/menubar.interface.d.ts +17 -0
  179. package/multiselect/multiselect.d.ts +30 -3
  180. package/multiselect/multiselect.interface.d.ts +28 -0
  181. package/organizationchart/organizationchart.d.ts +10 -2
  182. package/package.json +198 -192
  183. package/paginator/paginator.d.ts +4 -4
  184. package/panelmenu/panelmenu.d.ts +1 -0
  185. package/panelmenu/panelmenu.interface.d.ts +12 -0
  186. package/password/password.d.ts +12 -2
  187. package/radiobutton/radiobutton.d.ts +9 -2
  188. package/resources/components/divider/divider.css +1 -1
  189. package/resources/components/speeddial/speeddial.css +8 -0
  190. package/resources/components/timeline/timeline.css +2 -0
  191. package/resources/themes/arya-blue/theme.css +117 -1
  192. package/resources/themes/arya-green/theme.css +117 -1
  193. package/resources/themes/arya-orange/theme.css +117 -1
  194. package/resources/themes/arya-purple/theme.css +117 -1
  195. package/resources/themes/aura-dark-amber/theme.css +118 -2
  196. package/resources/themes/aura-dark-blue/theme.css +118 -2
  197. package/resources/themes/aura-dark-cyan/theme.css +118 -2
  198. package/resources/themes/aura-dark-green/theme.css +118 -2
  199. package/resources/themes/aura-dark-indigo/theme.css +118 -2
  200. package/resources/themes/aura-dark-lime/theme.css +118 -2
  201. package/resources/themes/aura-dark-noir/theme.css +118 -2
  202. package/resources/themes/aura-dark-pink/theme.css +118 -2
  203. package/resources/themes/aura-dark-purple/theme.css +118 -2
  204. package/resources/themes/aura-dark-teal/theme.css +118 -2
  205. package/resources/themes/aura-light-amber/theme.css +118 -2
  206. package/resources/themes/aura-light-blue/theme.css +118 -2
  207. package/resources/themes/aura-light-cyan/theme.css +118 -2
  208. package/resources/themes/aura-light-green/theme.css +118 -2
  209. package/resources/themes/aura-light-indigo/theme.css +118 -2
  210. package/resources/themes/aura-light-lime/theme.css +118 -2
  211. package/resources/themes/aura-light-noir/theme.css +118 -2
  212. package/resources/themes/aura-light-pink/theme.css +118 -2
  213. package/resources/themes/aura-light-purple/theme.css +118 -2
  214. package/resources/themes/aura-light-teal/theme.css +118 -2
  215. package/resources/themes/bootstrap4-dark-blue/theme.css +117 -1
  216. package/resources/themes/bootstrap4-dark-purple/theme.css +117 -1
  217. package/resources/themes/bootstrap4-light-blue/theme.css +117 -1
  218. package/resources/themes/bootstrap4-light-purple/theme.css +117 -1
  219. package/resources/themes/fluent-light/theme.css +117 -1
  220. package/resources/themes/lara-dark-blue/theme.css +117 -1
  221. package/resources/themes/lara-dark-indigo/theme.css +117 -1
  222. package/resources/themes/lara-dark-purple/theme.css +117 -1
  223. package/resources/themes/lara-dark-teal/theme.css +117 -1
  224. package/resources/themes/lara-light-blue/theme.css +117 -1
  225. package/resources/themes/lara-light-indigo/theme.css +117 -1
  226. package/resources/themes/lara-light-purple/theme.css +117 -1
  227. package/resources/themes/lara-light-teal/theme.css +117 -1
  228. package/resources/themes/luna-amber/theme.css +117 -1
  229. package/resources/themes/luna-blue/theme.css +117 -1
  230. package/resources/themes/luna-green/theme.css +117 -1
  231. package/resources/themes/luna-pink/theme.css +117 -1
  232. package/resources/themes/md-dark-deeppurple/theme.css +131 -4
  233. package/resources/themes/md-dark-indigo/theme.css +131 -4
  234. package/resources/themes/md-light-deeppurple/theme.css +131 -4
  235. package/resources/themes/md-light-indigo/theme.css +131 -4
  236. package/resources/themes/mdc-dark-deeppurple/theme.css +131 -4
  237. package/resources/themes/mdc-dark-indigo/theme.css +131 -4
  238. package/resources/themes/mdc-light-deeppurple/theme.css +131 -4
  239. package/resources/themes/mdc-light-indigo/theme.css +131 -4
  240. package/resources/themes/mira/theme.css +117 -1
  241. package/resources/themes/nano/theme.css +117 -1
  242. package/resources/themes/nova/theme.css +117 -1
  243. package/resources/themes/nova-accent/theme.css +117 -1
  244. package/resources/themes/nova-alt/theme.css +117 -1
  245. package/resources/themes/rhea/theme.css +117 -1
  246. package/resources/themes/saga-blue/theme.css +117 -1
  247. package/resources/themes/saga-green/theme.css +117 -1
  248. package/resources/themes/saga-orange/theme.css +117 -1
  249. package/resources/themes/saga-purple/theme.css +117 -1
  250. package/resources/themes/soho-dark/theme.css +117 -1
  251. package/resources/themes/soho-light/theme.css +117 -1
  252. package/resources/themes/tailwind-light/theme.css +117 -1
  253. package/resources/themes/vela-blue/theme.css +117 -1
  254. package/resources/themes/vela-green/theme.css +117 -1
  255. package/resources/themes/vela-orange/theme.css +117 -1
  256. package/resources/themes/vela-purple/theme.css +117 -1
  257. package/resources/themes/viva-dark/theme.css +117 -1
  258. package/resources/themes/viva-light/theme.css +117 -1
  259. package/stepper/stepper.d.ts +0 -8
  260. package/table/columnfilter.interface.d.ts +213 -1
  261. package/table/table.d.ts +9 -5
  262. package/tieredmenu/tieredmenu.d.ts +4 -3
  263. package/tree/tree.d.ts +9 -2
  264. package/treeselect/treeselect.d.ts +9 -3
  265. package/treetable/treetable.d.ts +2 -1
  266. package/tristatecheckbox/tristatecheckbox.d.ts +9 -3
@@ -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 {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} 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 <ng-container *ngIf=\"jumpToPageItemTemplate\">\n <ng-template let-item pTemplate=\"item\">\n <ng-container *ngTemplateOutlet=\"jumpToPageItemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-template>\n </ng-container>\n <ng-template pTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-container>\n </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 <ng-template pTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-container>\n </ng-template>\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({ transform: numberAttribute }) 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({ transform: booleanAttribute }) 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({ transform: booleanAttribute }) showCurrentPageReport: boolean | undefined;\n /**\n * When enabled, icons are displayed on paginator to go first and last page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showFirstLastIcon: boolean = true;\n /**\n * Number of total records.\n * @group Props\n */\n @Input({ transform: numberAttribute }) totalRecords: number = 0;\n /**\n * Data count to display per page.\n * @group Props\n */\n @Input({ transform: numberAttribute }) 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({ transform: booleanAttribute }) showJumpToPageDropdown: boolean | undefined;\n /**\n * Whether to display a input to navigate to any page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showJumpToPageInput: boolean | undefined;\n /**\n * Template instance to inject into the jump to page dropdown item inside in the paginator.\n * @param {Object} context - item instance.\n * @group Props\n */\n @Input() jumpToPageItemTemplate: TemplateRef<{ $implicit: any }> | undefined;\n /**\n * Whether to show page links.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) 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 rows per page 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 dropdownIconTemplate: Nullable<TemplateRef<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 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\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 if (simpleChange.pageLinkSize) {\n this.updatePageLinks();\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 {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Aria, 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 <ng-container *ngIf=\"jumpToPageItemTemplate\">\n <ng-template let-item pTemplate=\"item\">\n <ng-container *ngTemplateOutlet=\"jumpToPageItemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-template>\n </ng-container>\n <ng-template pTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-container>\n </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 <ng-template pTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-container>\n </ng-template>\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({ transform: numberAttribute }) 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({ transform: booleanAttribute }) 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({ transform: booleanAttribute }) showCurrentPageReport: boolean | undefined;\n /**\n * When enabled, icons are displayed on paginator to go first and last page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showFirstLastIcon: boolean = true;\n /**\n * Number of total records.\n * @group Props\n */\n @Input({ transform: numberAttribute }) totalRecords: number = 0;\n /**\n * Data count to display per page.\n * @group Props\n */\n @Input({ transform: numberAttribute }) 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({ transform: booleanAttribute }) showJumpToPageDropdown: boolean | undefined;\n /**\n * Whether to display a input to navigate to any page.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showJumpToPageInput: boolean | undefined;\n /**\n * Template instance to inject into the jump to page dropdown item inside in the paginator.\n * @param {Object} context - item instance.\n * @group Props\n */\n @Input() jumpToPageItemTemplate: TemplateRef<{ $implicit: any }> | undefined;\n /**\n * Whether to show page links.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) 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 rows per page 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 dropdownIconTemplate: Nullable<TemplateRef<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: keyof Aria): string | undefined {\n return this.config.translation.aria ? this.config.translation.aria[labelType] : undefined;\n }\n\n getPageAriaLabel(value: number): string | undefined {\n return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, `${value}`) : undefined;\n }\n\n getLocalization(digit: number): string {\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 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\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): void {\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 if (simpleChange.pageLinkSize) {\n this.updatePageLinks();\n }\n }\n\n updateRowsPerPageOptions(): void {\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(): boolean {\n return this.getPage() === 0;\n }\n\n isLastPage(): boolean {\n return this.getPage() === this.getPageCount() - 1;\n }\n\n getPageCount(): number {\n return Math.ceil(this.totalRecords / this.rows);\n }\n\n calculatePageLinkBoundaries(): [number, number] {\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(): void {\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): void {\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(): void {\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): void {\n if (!this.isFirstPage()) {\n this.changePage(0);\n }\n\n event.preventDefault();\n }\n\n changePageToPrev(event: Event): void {\n this.changePage(this.getPage() - 1);\n event.preventDefault();\n }\n\n changePageToNext(event: Event): void {\n this.changePage(this.getPage() + 1);\n event.preventDefault();\n }\n\n changePageToLast(event: Event): void {\n if (!this.isLastPage()) {\n this.changePage(this.getPageCount() - 1);\n }\n\n event.preventDefault();\n }\n\n onPageLinkClick(event: Event, page: number): void {\n this.changePage(page);\n event.preventDefault();\n }\n\n onRppChange(event: Event): void {\n this.changePage(this.getPage());\n }\n\n onPageDropdownChange(event: DropdownChangeEvent): void {\n this.changePage(event.value);\n }\n\n updatePaginatorState(): void {\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(): boolean {\n return this.getPageCount() === 0;\n }\n\n currentPage(): number {\n return this.getPageCount() > 0 ? this.getPage() + 1 : 0;\n }\n\n get currentPageReport(): string {\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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"}
@@ -827,6 +827,7 @@ class PanelMenu {
827
827
  templates;
828
828
  containerViewChild;
829
829
  submenuIconTemplate;
830
+ headerContentTemplate;
830
831
  itemTemplate;
831
832
  animating;
832
833
  activeItem = signal(null);
@@ -836,6 +837,9 @@ class PanelMenu {
836
837
  ngAfterContentInit() {
837
838
  this.templates?.forEach((item) => {
838
839
  switch (item.getType()) {
840
+ case 'headercontent':
841
+ this.headerContentTemplate = item.template;
842
+ break;
839
843
  case 'submenuicon':
840
844
  this.submenuIconTemplate = item.template;
841
845
  break;
@@ -1019,27 +1023,30 @@ class PanelMenu {
1019
1023
  (keydown)="onHeaderKeyDown($event, item, i)"
1020
1024
  >
1021
1025
  <div class="p-panelmenu-header-content">
1022
- <a
1023
- *ngIf="!getItemProp(item, 'routerLink')"
1024
- [attr.href]="getItemProp(item, 'url')"
1025
- [attr.tabindex]="-1"
1026
- [target]="getItemProp(item, 'target')"
1027
- [attr.title]="getItemProp(item, 'title')"
1028
- class="p-panelmenu-header-action"
1029
- [attr.data-pc-section]="'headeraction'"
1030
- >
1031
- <ng-container *ngIf="isItemGroup(item)">
1032
- <ng-container *ngIf="!submenuIconTemplate">
1033
- <ChevronDownIcon [styleClass]="'p-submenu-icon'" *ngIf="isItemActive(item)" />
1034
- <ChevronRightIcon [styleClass]="'p-submenu-icon'" *ngIf="!isItemActive(item)" />
1026
+ <ng-container *ngIf="!headerContentTemplate">
1027
+ <a
1028
+ *ngIf="!getItemProp(item, 'routerLink')"
1029
+ [attr.href]="getItemProp(item, 'url')"
1030
+ [attr.tabindex]="-1"
1031
+ [target]="getItemProp(item, 'target')"
1032
+ [attr.title]="getItemProp(item, 'title')"
1033
+ class="p-panelmenu-header-action"
1034
+ [attr.data-pc-section]="'headeraction'"
1035
+ >
1036
+ <ng-container *ngIf="isItemGroup(item)">
1037
+ <ng-container *ngIf="!submenuIconTemplate">
1038
+ <ChevronDownIcon [styleClass]="'p-submenu-icon'" *ngIf="isItemActive(item)" />
1039
+ <ChevronRightIcon [styleClass]="'p-submenu-icon'" *ngIf="!isItemActive(item)" />
1040
+ </ng-container>
1041
+ <ng-template *ngTemplateOutlet="submenuIconTemplate"></ng-template>
1035
1042
  </ng-container>
1036
- <ng-template *ngTemplateOutlet="submenuIconTemplate"></ng-template>
1037
- </ng-container>
1038
- <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')"></span>
1039
- <span class="p-menuitem-text" *ngIf="getItemProp(item, 'escape') !== false; else htmlLabel">{{ getItemProp(item, 'label') }}</span>
1040
- <ng-template #htmlLabel><span class="p-menuitem-text" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
1041
- <span class="p-menuitem-badge" *ngIf="getItemProp(item, 'badge')" [ngClass]="getItemProp(item, 'badgeStyleClass')">{{ getItemProp(item, 'badge') }}</span>
1042
- </a>
1043
+ <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')"></span>
1044
+ <span class="p-menuitem-text" *ngIf="getItemProp(item, 'escape') !== false; else htmlLabel">{{ getItemProp(item, 'label') }}</span>
1045
+ <ng-template #htmlLabel><span class="p-menuitem-text" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
1046
+ <span class="p-menuitem-badge" *ngIf="getItemProp(item, 'badge')" [ngClass]="getItemProp(item, 'badgeStyleClass')">{{ getItemProp(item, 'badge') }}</span>
1047
+ </a>
1048
+ </ng-container>
1049
+ <ng-container *ngTemplateOutlet="headerContentTemplate; context: { $implicit: item }"></ng-container>
1043
1050
  <a
1044
1051
  *ngIf="getItemProp(item, 'routerLink')"
1045
1052
  [routerLink]="getItemProp(item, 'routerLink')"
@@ -1138,27 +1145,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1138
1145
  (keydown)="onHeaderKeyDown($event, item, i)"
1139
1146
  >
1140
1147
  <div class="p-panelmenu-header-content">
1141
- <a
1142
- *ngIf="!getItemProp(item, 'routerLink')"
1143
- [attr.href]="getItemProp(item, 'url')"
1144
- [attr.tabindex]="-1"
1145
- [target]="getItemProp(item, 'target')"
1146
- [attr.title]="getItemProp(item, 'title')"
1147
- class="p-panelmenu-header-action"
1148
- [attr.data-pc-section]="'headeraction'"
1149
- >
1150
- <ng-container *ngIf="isItemGroup(item)">
1151
- <ng-container *ngIf="!submenuIconTemplate">
1152
- <ChevronDownIcon [styleClass]="'p-submenu-icon'" *ngIf="isItemActive(item)" />
1153
- <ChevronRightIcon [styleClass]="'p-submenu-icon'" *ngIf="!isItemActive(item)" />
1148
+ <ng-container *ngIf="!headerContentTemplate">
1149
+ <a
1150
+ *ngIf="!getItemProp(item, 'routerLink')"
1151
+ [attr.href]="getItemProp(item, 'url')"
1152
+ [attr.tabindex]="-1"
1153
+ [target]="getItemProp(item, 'target')"
1154
+ [attr.title]="getItemProp(item, 'title')"
1155
+ class="p-panelmenu-header-action"
1156
+ [attr.data-pc-section]="'headeraction'"
1157
+ >
1158
+ <ng-container *ngIf="isItemGroup(item)">
1159
+ <ng-container *ngIf="!submenuIconTemplate">
1160
+ <ChevronDownIcon [styleClass]="'p-submenu-icon'" *ngIf="isItemActive(item)" />
1161
+ <ChevronRightIcon [styleClass]="'p-submenu-icon'" *ngIf="!isItemActive(item)" />
1162
+ </ng-container>
1163
+ <ng-template *ngTemplateOutlet="submenuIconTemplate"></ng-template>
1154
1164
  </ng-container>
1155
- <ng-template *ngTemplateOutlet="submenuIconTemplate"></ng-template>
1156
- </ng-container>
1157
- <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')"></span>
1158
- <span class="p-menuitem-text" *ngIf="getItemProp(item, 'escape') !== false; else htmlLabel">{{ getItemProp(item, 'label') }}</span>
1159
- <ng-template #htmlLabel><span class="p-menuitem-text" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
1160
- <span class="p-menuitem-badge" *ngIf="getItemProp(item, 'badge')" [ngClass]="getItemProp(item, 'badgeStyleClass')">{{ getItemProp(item, 'badge') }}</span>
1161
- </a>
1165
+ <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon" [ngStyle]="getItemProp(item, 'iconStyle')"></span>
1166
+ <span class="p-menuitem-text" *ngIf="getItemProp(item, 'escape') !== false; else htmlLabel">{{ getItemProp(item, 'label') }}</span>
1167
+ <ng-template #htmlLabel><span class="p-menuitem-text" [innerHTML]="getItemProp(item, 'label')"></span></ng-template>
1168
+ <span class="p-menuitem-badge" *ngIf="getItemProp(item, 'badge')" [ngClass]="getItemProp(item, 'badgeStyleClass')">{{ getItemProp(item, 'badge') }}</span>
1169
+ </a>
1170
+ </ng-container>
1171
+ <ng-container *ngTemplateOutlet="headerContentTemplate; context: { $implicit: item }"></ng-container>
1162
1172
  <a
1163
1173
  *ngIf="getItemProp(item, 'routerLink')"
1164
1174
  [routerLink]="getItemProp(item, 'routerLink')"