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,8 +1,9 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChild, ContentChildren, NgModule } from '@angular/core';
4
+ import { signal, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import { Header, Footer, PrimeTemplate, SharedModule } from 'primeng/api';
6
+ import { ObjectUtils } from 'primeng/utils';
6
7
 
7
8
  /**
8
9
  * Card is a flexible container component.
@@ -24,7 +25,11 @@ class Card {
24
25
  * Inline style of the element.
25
26
  * @group Props
26
27
  */
27
- style;
28
+ set style(value) {
29
+ if (!ObjectUtils.equals(this._style(), value)) {
30
+ this._style.set(value);
31
+ }
32
+ }
28
33
  /**
29
34
  * Class of the element.
30
35
  * @group Props
@@ -38,6 +43,7 @@ class Card {
38
43
  subtitleTemplate;
39
44
  contentTemplate;
40
45
  footerTemplate;
46
+ _style = signal(null);
41
47
  constructor(el) {
42
48
  this.el = el;
43
49
  }
@@ -70,7 +76,7 @@ class Card {
70
76
  }
71
77
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Card, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
72
78
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: Card, selector: "p-card", inputs: { header: "header", subheader: "subheader", style: "style", styleClass: "styleClass" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
73
- <div [ngClass]="'p-card p-component'" [ngStyle]="style" [class]="styleClass" [attr.data-pc-name]="'card'">
79
+ <div [ngClass]="'p-card p-component'" [ngStyle]="_style()" [class]="styleClass" [attr.data-pc-name]="'card'">
74
80
  <div class="p-card-header" *ngIf="headerFacet || headerTemplate">
75
81
  <ng-content select="p-header"></ng-content>
76
82
  <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
@@ -99,7 +105,7 @@ class Card {
99
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Card, decorators: [{
100
106
  type: Component,
101
107
  args: [{ selector: 'p-card', template: `
102
- <div [ngClass]="'p-card p-component'" [ngStyle]="style" [class]="styleClass" [attr.data-pc-name]="'card'">
108
+ <div [ngClass]="'p-card p-component'" [ngStyle]="_style()" [class]="styleClass" [attr.data-pc-name]="'card'">
103
109
  <div class="p-card-header" *ngIf="headerFacet || headerTemplate">
104
110
  <ng-content select="p-header"></ng-content>
105
111
  <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-card.mjs","sources":["../../src/app/components/card/card.ts","../../src/app/components/card/primeng-card.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ElementRef, Input, NgModule, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { BlockableUI, Footer, Header, PrimeTemplate, SharedModule } from 'primeng/api';\n/**\n * Card is a flexible container component.\n * @group Components\n */\n@Component({\n selector: 'p-card',\n template: `\n <div [ngClass]=\"'p-card p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'card'\">\n <div class=\"p-card-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"p-card-body\">\n <div class=\"p-card-title\" *ngIf=\"header || titleTemplate\">\n {{ header }}\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n </div>\n <div class=\"p-card-subtitle\" *ngIf=\"subheader || subtitleTemplate\">\n {{ subheader }}\n <ng-container *ngTemplateOutlet=\"subtitleTemplate\"></ng-container>\n </div>\n <div class=\"p-card-content\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n <div class=\"p-card-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./card.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Card implements AfterContentInit, BlockableUI {\n /**\n * Header of the card.\n * @group Props\n */\n @Input() header: string | undefined;\n /**\n * Subheader of the card.\n * @group Props\n */\n @Input() subheader: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n @ContentChild(Header) headerFacet: TemplateRef<any> | undefined;\n\n @ContentChild(Footer) footerFacet: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n headerTemplate: TemplateRef<any> | undefined;\n\n titleTemplate: TemplateRef<any> | undefined;\n\n subtitleTemplate: TemplateRef<any> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n footerTemplate: TemplateRef<any> | undefined;\n\n constructor(private el: ElementRef) {}\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'title':\n this.titleTemplate = item.template;\n break;\n\n case 'subtitle':\n this.subtitleTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Card, SharedModule],\n declarations: [Card]\n})\nexport class CardModule {}\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-card.mjs","sources":["../../src/app/components/card/card.ts","../../src/app/components/card/primeng-card.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, Input, NgModule, QueryList, SimpleChange, TemplateRef, ViewEncapsulation, signal } from '@angular/core';\nimport { BlockableUI, Footer, Header, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { ObjectUtils } from 'primeng/utils';\n/**\n * Card is a flexible container component.\n * @group Components\n */\n@Component({\n selector: 'p-card',\n template: `\n <div [ngClass]=\"'p-card p-component'\" [ngStyle]=\"_style()\" [class]=\"styleClass\" [attr.data-pc-name]=\"'card'\">\n <div class=\"p-card-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"p-card-body\">\n <div class=\"p-card-title\" *ngIf=\"header || titleTemplate\">\n {{ header }}\n <ng-container *ngTemplateOutlet=\"titleTemplate\"></ng-container>\n </div>\n <div class=\"p-card-subtitle\" *ngIf=\"subheader || subtitleTemplate\">\n {{ subheader }}\n <ng-container *ngTemplateOutlet=\"subtitleTemplate\"></ng-container>\n </div>\n <div class=\"p-card-content\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n <div class=\"p-card-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./card.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Card implements AfterContentInit, BlockableUI {\n /**\n * Header of the card.\n * @group Props\n */\n @Input() header: string | undefined;\n /**\n * Subheader of the card.\n * @group Props\n */\n @Input() subheader: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() set style(value: { [klass: string]: any } | null | undefined) {\n if (!ObjectUtils.equals(this._style(), value)) {\n this._style.set(value);\n }\n }\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n\n @ContentChild(Header) headerFacet: TemplateRef<any> | undefined;\n\n @ContentChild(Footer) footerFacet: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n headerTemplate: TemplateRef<any> | undefined;\n\n titleTemplate: TemplateRef<any> | undefined;\n\n subtitleTemplate: TemplateRef<any> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n footerTemplate: TemplateRef<any> | undefined;\n\n _style = signal<{ [klass: string]: any } | null | undefined>(null);\n\n constructor(private el: ElementRef) {}\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'title':\n this.titleTemplate = item.template;\n break;\n\n case 'subtitle':\n this.subtitleTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Card, SharedModule],\n declarations: [Card]\n})\nexport class CardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -455,6 +455,21 @@ class CascadeSelect {
455
455
  this._showTransitionOptions = val;
456
456
  console.warn('The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.');
457
457
  }
458
+ /**
459
+ * Specifies the input variant of the component.
460
+ * @group Props
461
+ */
462
+ variant = 'outlined';
463
+ /**
464
+ * Whether the dropdown is in loading state.
465
+ * @group Props
466
+ */
467
+ loading = false;
468
+ /**
469
+ * Icon to display in loading state.
470
+ * @group Props
471
+ */
472
+ loadingIcon;
458
473
  /**
459
474
  * Transition options of the hide animation.
460
475
  * @group Props
@@ -536,6 +551,7 @@ class CascadeSelect {
536
551
  valueTemplate;
537
552
  optionTemplate;
538
553
  triggerIconTemplate;
554
+ loadingIconTemplate;
539
555
  groupIconTemplate;
540
556
  clearIconTemplate;
541
557
  onModelChange = () => { };
@@ -550,6 +566,7 @@ class CascadeSelect {
550
566
  'p-disabled': this.disabled,
551
567
  'p-focus': this.focused,
552
568
  'p-inputwrapper-filled': this.modelValue(),
569
+ 'p-variant-filled': this.variant === 'filled' || this.config.inputStyle() === 'filled',
553
570
  'p-inputwrapper-focus': this.focused || this.overlayVisible,
554
571
  'p-overlay-open': this.overlayVisible
555
572
  };
@@ -655,7 +672,7 @@ class CascadeSelect {
655
672
  this.onBlur.emit(event);
656
673
  }
657
674
  onInputKeyDown(event) {
658
- if (this.disabled) {
675
+ if (this.disabled || this.loading) {
659
676
  event.preventDefault();
660
677
  return;
661
678
  }
@@ -876,7 +893,7 @@ class CascadeSelect {
876
893
  this.onGroupChange.emit(event);
877
894
  }
878
895
  onContainerClick(event) {
879
- if (this.disabled) {
896
+ if (this.disabled || this.loading) {
880
897
  return;
881
898
  }
882
899
  if (!this.overlayViewChild?.el?.nativeElement?.contains(event.target)) {
@@ -1075,6 +1092,9 @@ class CascadeSelect {
1075
1092
  case 'triggericon':
1076
1093
  this.triggerIconTemplate = item.template;
1077
1094
  break;
1095
+ case 'loadingicon':
1096
+ this.loadingIconTemplate = item.template;
1097
+ break;
1078
1098
  case 'clearicon':
1079
1099
  this.clearIconTemplate = item.template;
1080
1100
  break;
@@ -1107,7 +1127,7 @@ class CascadeSelect {
1107
1127
  this.cd.markForCheck();
1108
1128
  }
1109
1129
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: CascadeSelect, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.PrimeNGConfig }, { token: i1.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: CascadeSelect, selector: "p-cascadeSelect", inputs: { id: "id", selectOnFocus: ["selectOnFocus", "selectOnFocus", booleanAttribute], searchMessage: "searchMessage", emptyMessage: "emptyMessage", selectionMessage: "selectionMessage", emptySearchMessage: "emptySearchMessage", emptySelectionMessage: "emptySelectionMessage", searchLocale: "searchLocale", optionDisabled: "optionDisabled", autoOptionFocus: ["autoOptionFocus", "autoOptionFocus", booleanAttribute], styleClass: "styleClass", style: "style", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", placeholder: "placeholder", value: "value", dataKey: "dataKey", inputId: "inputId", tabindex: ["tabindex", "tabindex", numberAttribute], ariaLabelledBy: "ariaLabelledBy", inputLabel: "inputLabel", ariaLabel: "ariaLabel", appendTo: "appendTo", disabled: ["disabled", "disabled", booleanAttribute], showClear: ["showClear", "showClear", booleanAttribute], panelStyleClass: "panelStyleClass", panelStyle: "panelStyle", overlayOptions: "overlayOptions", autofocus: ["autofocus", "autofocus", booleanAttribute], showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onChange: "onChange", onGroupChange: "onGroupChange", onShow: "onShow", onHide: "onHide", onClear: "onClear", onBeforeShow: "onBeforeShow", onBeforeHide: "onBeforeHide", onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused || overlayVisible", "class.p-cascadeselect-clearable": "showClear && !disabled" }, classAttribute: "p-element p-inputwrapper" }, providers: [CASCADESELECT_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "panelViewChild", first: true, predicate: ["panel"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }], usesOnChanges: true, ngImport: i0, template: ` <div #container [ngClass]="containerClass" [class]="styleClass" [ngStyle]="style" (click)="onContainerClick($event)" [attr.data-pc-name]="'cascadeselect'" [attr.data-pc-section]="'root'">
1130
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: CascadeSelect, selector: "p-cascadeSelect", inputs: { id: "id", selectOnFocus: ["selectOnFocus", "selectOnFocus", booleanAttribute], searchMessage: "searchMessage", emptyMessage: "emptyMessage", selectionMessage: "selectionMessage", emptySearchMessage: "emptySearchMessage", emptySelectionMessage: "emptySelectionMessage", searchLocale: "searchLocale", optionDisabled: "optionDisabled", autoOptionFocus: ["autoOptionFocus", "autoOptionFocus", booleanAttribute], styleClass: "styleClass", style: "style", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", placeholder: "placeholder", value: "value", dataKey: "dataKey", inputId: "inputId", tabindex: ["tabindex", "tabindex", numberAttribute], ariaLabelledBy: "ariaLabelledBy", inputLabel: "inputLabel", ariaLabel: "ariaLabel", appendTo: "appendTo", disabled: ["disabled", "disabled", booleanAttribute], showClear: ["showClear", "showClear", booleanAttribute], panelStyleClass: "panelStyleClass", panelStyle: "panelStyle", overlayOptions: "overlayOptions", autofocus: ["autofocus", "autofocus", booleanAttribute], showTransitionOptions: "showTransitionOptions", variant: "variant", loading: ["loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onChange: "onChange", onGroupChange: "onGroupChange", onShow: "onShow", onHide: "onHide", onClear: "onClear", onBeforeShow: "onBeforeShow", onBeforeHide: "onBeforeHide", onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused || overlayVisible", "class.p-cascadeselect-clearable": "showClear && !disabled" }, classAttribute: "p-element p-inputwrapper" }, providers: [CASCADESELECT_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "panelViewChild", first: true, predicate: ["panel"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }], usesOnChanges: true, ngImport: i0, template: ` <div #container [ngClass]="containerClass" [class]="styleClass" [ngStyle]="style" (click)="onContainerClick($event)" [attr.data-pc-name]="'cascadeselect'" [attr.data-pc-section]="'root'">
1111
1131
  <div class="p-hidden-accessible" [attr.data-pc-section]="'hiddenInputWrapper'">
1112
1132
  <input
1113
1133
  #focusInput
@@ -1148,10 +1168,21 @@ class CascadeSelect {
1148
1168
  </ng-container>
1149
1169
 
1150
1170
  <div class="p-cascadeselect-trigger" role="button" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'dropdownIcon'" [attr.aria-hidden]="true">
1151
- <ChevronDownIcon *ngIf="!triggerIconTemplate" [styleClass]="'p-cascadeselect-trigger-icon'" />
1152
- <span *ngIf="triggerIconTemplate" class="p-cascadeselect-trigger-icon">
1153
- <ng-template *ngTemplateOutlet="triggerIconTemplate"></ng-template>
1154
- </span>
1171
+ <ng-container *ngIf="loading; else elseBlock">
1172
+ <ng-container *ngIf="loadingIconTemplate">
1173
+ <ng-container *ngTemplateOutlet="loadingIconTemplate"></ng-container>
1174
+ </ng-container>
1175
+ <ng-container *ngIf="!loadingIconTemplate">
1176
+ <span *ngIf="loadingIcon" [ngClass]="'p-cascadeselect-trigger-icon pi-spin ' + loadingIcon" aria-hidden="true"></span>
1177
+ <span *ngIf="!loadingIcon" [class]="'p-cascadeselect-trigger-icon pi pi-spinner pi-spin'" aria-hidden="true"></span>
1178
+ </ng-container>
1179
+ </ng-container>
1180
+ <ng-template #elseBlock>
1181
+ <ChevronDownIcon *ngIf="!triggerIconTemplate" [styleClass]="'p-cascadeselect-trigger-icon'" />
1182
+ <span *ngIf="triggerIconTemplate" class="p-cascadeselect-trigger-icon">
1183
+ <ng-template *ngTemplateOutlet="triggerIconTemplate"></ng-template>
1184
+ </span>
1185
+ </ng-template>
1155
1186
  </div>
1156
1187
  <span role="status" aria-live="polite" class="p-hidden-accessible">
1157
1188
  {{ searchResultMessageText }}
@@ -1246,10 +1277,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1246
1277
  </ng-container>
1247
1278
 
1248
1279
  <div class="p-cascadeselect-trigger" role="button" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'dropdownIcon'" [attr.aria-hidden]="true">
1249
- <ChevronDownIcon *ngIf="!triggerIconTemplate" [styleClass]="'p-cascadeselect-trigger-icon'" />
1250
- <span *ngIf="triggerIconTemplate" class="p-cascadeselect-trigger-icon">
1251
- <ng-template *ngTemplateOutlet="triggerIconTemplate"></ng-template>
1252
- </span>
1280
+ <ng-container *ngIf="loading; else elseBlock">
1281
+ <ng-container *ngIf="loadingIconTemplate">
1282
+ <ng-container *ngTemplateOutlet="loadingIconTemplate"></ng-container>
1283
+ </ng-container>
1284
+ <ng-container *ngIf="!loadingIconTemplate">
1285
+ <span *ngIf="loadingIcon" [ngClass]="'p-cascadeselect-trigger-icon pi-spin ' + loadingIcon" aria-hidden="true"></span>
1286
+ <span *ngIf="!loadingIcon" [class]="'p-cascadeselect-trigger-icon pi pi-spinner pi-spin'" aria-hidden="true"></span>
1287
+ </ng-container>
1288
+ </ng-container>
1289
+ <ng-template #elseBlock>
1290
+ <ChevronDownIcon *ngIf="!triggerIconTemplate" [styleClass]="'p-cascadeselect-trigger-icon'" />
1291
+ <span *ngIf="triggerIconTemplate" class="p-cascadeselect-trigger-icon">
1292
+ <ng-template *ngTemplateOutlet="triggerIconTemplate"></ng-template>
1293
+ </span>
1294
+ </ng-template>
1253
1295
  </div>
1254
1296
  <span role="status" aria-live="polite" class="p-hidden-accessible">
1255
1297
  {{ searchResultMessageText }}
@@ -1377,6 +1419,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1377
1419
  args: [{ transform: booleanAttribute }]
1378
1420
  }], showTransitionOptions: [{
1379
1421
  type: Input
1422
+ }], variant: [{
1423
+ type: Input
1424
+ }], loading: [{
1425
+ type: Input,
1426
+ args: [{ transform: booleanAttribute }]
1427
+ }], loadingIcon: [{
1428
+ type: Input
1380
1429
  }], hideTransitionOptions: [{
1381
1430
  type: Input
1382
1431
  }], onChange: [{