primeng 18.0.0-beta.2 → 18.0.0-beta.3

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 (553) hide show
  1. package/accordion/accordion.d.ts +147 -22
  2. package/accordion/public_api.d.ts +1 -1
  3. package/autocomplete/public_api.d.ts +1 -0
  4. package/avatar/public_api.d.ts +1 -0
  5. package/avatargroup/avatargroup.d.ts +1 -1
  6. package/avatargroup/public_api.d.ts +1 -0
  7. package/badge/badge.d.ts +20 -26
  8. package/badge/public_api.d.ts +1 -0
  9. package/base/style/basestyle.d.ts +4 -0
  10. package/blockui/public_api.d.ts +1 -0
  11. package/breadcrumb/breadcrumb.d.ts +0 -1
  12. package/breadcrumb/public_api.d.ts +1 -0
  13. package/button/button.d.ts +0 -1
  14. package/button/public_api.d.ts +1 -0
  15. package/buttongroup/buttongroup.d.ts +1 -1
  16. package/buttongroup/public_api.d.ts +1 -0
  17. package/calendar/public_api.d.ts +1 -0
  18. package/card/public_api.d.ts +1 -0
  19. package/carousel/public_api.d.ts +1 -0
  20. package/cascadeselect/public_api.d.ts +1 -0
  21. package/chart/public_api.d.ts +1 -0
  22. package/chart/style/chartstyle.d.ts +32 -0
  23. package/checkbox/public_api.d.ts +1 -0
  24. package/chip/public_api.d.ts +1 -0
  25. package/colorpicker/public_api.d.ts +1 -0
  26. package/confirmdialog/public_api.d.ts +1 -0
  27. package/confirmpopup/public_api.d.ts +1 -0
  28. package/contextmenu/public_api.d.ts +1 -0
  29. package/dataview/public_api.d.ts +1 -0
  30. package/datepicker/public_api.d.ts +1 -0
  31. package/dock/public_api.d.ts +1 -0
  32. package/drawer/public_api.d.ts +1 -0
  33. package/dropdown/public_api.d.ts +1 -0
  34. package/dynamicdialog/dynamicdialog.d.ts +5 -0
  35. package/dynamicdialog/public_api.d.ts +1 -0
  36. package/editor/public_api.d.ts +1 -0
  37. package/esm2022/accordion/accordion.mjs +430 -80
  38. package/esm2022/accordion/public_api.mjs +2 -2
  39. package/esm2022/accordion/style/accordionstyle.mjs +3 -2
  40. package/esm2022/autocomplete/autocomplete.mjs +3 -3
  41. package/esm2022/autocomplete/public_api.mjs +2 -1
  42. package/esm2022/avatar/avatar.mjs +3 -2
  43. package/esm2022/avatar/public_api.mjs +2 -1
  44. package/esm2022/avatargroup/avatargroup.mjs +3 -3
  45. package/esm2022/avatargroup/public_api.mjs +2 -1
  46. package/esm2022/badge/badge.mjs +39 -51
  47. package/esm2022/badge/public_api.mjs +2 -1
  48. package/esm2022/blockui/public_api.mjs +2 -1
  49. package/esm2022/breadcrumb/breadcrumb.mjs +98 -119
  50. package/esm2022/breadcrumb/public_api.mjs +2 -1
  51. package/esm2022/button/button.mjs +3 -7
  52. package/esm2022/button/public_api.mjs +2 -1
  53. package/esm2022/buttongroup/buttongroup.mjs +3 -3
  54. package/esm2022/buttongroup/public_api.mjs +2 -1
  55. package/esm2022/calendar/calendar.mjs +2 -2
  56. package/esm2022/calendar/public_api.mjs +2 -1
  57. package/esm2022/card/public_api.mjs +2 -1
  58. package/esm2022/carousel/public_api.mjs +2 -1
  59. package/esm2022/cascadeselect/public_api.mjs +2 -1
  60. package/esm2022/chart/public_api.mjs +2 -1
  61. package/esm2022/chart/style/chartstyle.mjs +36 -0
  62. package/esm2022/checkbox/public_api.mjs +2 -1
  63. package/esm2022/chip/public_api.mjs +2 -1
  64. package/esm2022/colorpicker/public_api.mjs +2 -1
  65. package/esm2022/confirmdialog/public_api.mjs +2 -1
  66. package/esm2022/confirmpopup/public_api.mjs +2 -1
  67. package/esm2022/contextmenu/contextmenu.mjs +1 -1
  68. package/esm2022/contextmenu/public_api.mjs +2 -1
  69. package/esm2022/dataview/public_api.mjs +2 -1
  70. package/esm2022/datepicker/datepicker.mjs +18 -6
  71. package/esm2022/datepicker/public_api.mjs +2 -1
  72. package/esm2022/dialog/dialog.mjs +21 -16
  73. package/esm2022/divider/divider.mjs +4 -4
  74. package/esm2022/dock/public_api.mjs +2 -1
  75. package/esm2022/drawer/drawer.mjs +15 -11
  76. package/esm2022/drawer/public_api.mjs +2 -1
  77. package/esm2022/dropdown/dropdown.mjs +2 -2
  78. package/esm2022/dropdown/public_api.mjs +2 -1
  79. package/esm2022/dropdown/style/dropdownstyle.mjs +2 -2
  80. package/esm2022/dynamicdialog/dynamicdialog.mjs +94 -24
  81. package/esm2022/dynamicdialog/public_api.mjs +2 -1
  82. package/esm2022/editor/editor.mjs +6 -5
  83. package/esm2022/editor/public_api.mjs +2 -1
  84. package/esm2022/fieldset/fieldset.mjs +11 -21
  85. package/esm2022/fieldset/public_api.mjs +2 -1
  86. package/esm2022/fileupload/public_api.mjs +2 -1
  87. package/esm2022/floatlabel/floatlabel.mjs +18 -13
  88. package/esm2022/floatlabel/public_api.mjs +2 -1
  89. package/esm2022/floatlabel/style/floatlabelstyle.mjs +63 -28
  90. package/esm2022/fluid/public_api.mjs +2 -1
  91. package/esm2022/galleria/galleria.mjs +113 -124
  92. package/esm2022/galleria/public_api.mjs +2 -1
  93. package/esm2022/iconfield/iconfield.mjs +4 -4
  94. package/esm2022/iconfield/public_api.mjs +2 -1
  95. package/esm2022/iconfield/style/iconfieldstyle.mjs +10 -20
  96. package/esm2022/iftalabel/iftalabel.mjs +43 -0
  97. package/esm2022/iftalabel/primeng-iftalabel.mjs +5 -0
  98. package/esm2022/iftalabel/public_api.mjs +3 -0
  99. package/esm2022/iftalabel/style/iftalabelstyle.mjs +96 -0
  100. package/esm2022/image/image.interface.mjs +1 -1
  101. package/esm2022/image/image.mjs +86 -42
  102. package/esm2022/image/public_api.mjs +2 -1
  103. package/esm2022/inplace/inplace.mjs +3 -3
  104. package/esm2022/inplace/public_api.mjs +2 -1
  105. package/esm2022/inputgroup/public_api.mjs +2 -1
  106. package/esm2022/inputgroup/style/inputgroupstyle.mjs +30 -17
  107. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +15 -13
  108. package/esm2022/inputgroupaddon/public_api.mjs +2 -1
  109. package/esm2022/inputicon/inputicon.mjs +7 -4
  110. package/esm2022/inputicon/public_api.mjs +2 -1
  111. package/esm2022/inputmask/inputmask.mjs +2 -2
  112. package/esm2022/inputmask/public_api.mjs +2 -1
  113. package/esm2022/inputnumber/inputnumber.mjs +218 -220
  114. package/esm2022/inputnumber/public_api.mjs +2 -1
  115. package/esm2022/inputnumber/style/inputnumberstyle.mjs +6 -1
  116. package/esm2022/inputotp/inputotp.mjs +1 -1
  117. package/esm2022/inputotp/public_api.mjs +2 -1
  118. package/esm2022/inputswitch/public_api.mjs +2 -1
  119. package/esm2022/inputtext/inputtext.mjs +11 -2
  120. package/esm2022/inputtext/public_api.mjs +2 -1
  121. package/esm2022/inputtextarea/public_api.mjs +2 -1
  122. package/esm2022/knob/public_api.mjs +2 -1
  123. package/esm2022/listbox/listbox.mjs +37 -12
  124. package/esm2022/listbox/public_api.mjs +2 -1
  125. package/esm2022/megamenu/megamenu.mjs +1 -1
  126. package/esm2022/megamenu/public_api.mjs +2 -1
  127. package/esm2022/menu/menu.mjs +5 -3
  128. package/esm2022/menu/public_api.mjs +2 -1
  129. package/esm2022/menubar/menubar.mjs +3 -3
  130. package/esm2022/menubar/public_api.mjs +2 -1
  131. package/esm2022/message/message.mjs +2 -34
  132. package/esm2022/messages/public_api.mjs +2 -1
  133. package/esm2022/metergroup/public_api.mjs +2 -1
  134. package/esm2022/multiselect/multiselect.mjs +679 -673
  135. package/esm2022/multiselect/public_api.mjs +2 -1
  136. package/esm2022/orderlist/orderlist.mjs +88 -16
  137. package/esm2022/orderlist/public_api.mjs +2 -1
  138. package/esm2022/organizationchart/organizationchart.mjs +5 -5
  139. package/esm2022/organizationchart/public_api.mjs +2 -1
  140. package/esm2022/overlay/public_api.mjs +2 -1
  141. package/esm2022/overlaybadge/overlaybadge.mjs +4 -6
  142. package/esm2022/overlaybadge/public_api.mjs +2 -1
  143. package/esm2022/overlaypanel/public_api.mjs +2 -1
  144. package/esm2022/paginator/public_api.mjs +2 -1
  145. package/esm2022/panelmenu/panelmenu.mjs +18 -10
  146. package/esm2022/panelmenu/public_api.mjs +2 -1
  147. package/esm2022/password/password.mjs +5 -3
  148. package/esm2022/password/public_api.mjs +2 -1
  149. package/esm2022/picklist/picklist.mjs +186 -16
  150. package/esm2022/picklist/public_api.mjs +2 -1
  151. package/esm2022/popover/public_api.mjs +2 -1
  152. package/esm2022/progressbar/public_api.mjs +2 -1
  153. package/esm2022/progressspinner/public_api.mjs +2 -1
  154. package/esm2022/radiobutton/public_api.mjs +2 -1
  155. package/esm2022/rating/public_api.mjs +2 -1
  156. package/esm2022/rating/rating.mjs +11 -108
  157. package/esm2022/ripple/public_api.mjs +2 -1
  158. package/esm2022/scroller/public_api.mjs +2 -1
  159. package/esm2022/scroller/scroller.mjs +2 -2
  160. package/esm2022/scrollpanel/public_api.mjs +2 -1
  161. package/esm2022/scrolltop/public_api.mjs +2 -1
  162. package/esm2022/scrolltop/scrolltop.mjs +19 -14
  163. package/esm2022/select/select.mjs +8 -16
  164. package/esm2022/select/style/selectstyle.mjs +2 -2
  165. package/esm2022/selectbutton/public_api.mjs +2 -1
  166. package/esm2022/selectbutton/style/selectbuttonstyle.mjs +3 -3
  167. package/esm2022/sidebar/public_api.mjs +2 -1
  168. package/esm2022/skeleton/public_api.mjs +2 -1
  169. package/esm2022/slider/public_api.mjs +2 -1
  170. package/esm2022/speeddial/public_api.mjs +2 -1
  171. package/esm2022/speeddial/speeddial.interface.mjs +1 -1
  172. package/esm2022/speeddial/speeddial.mjs +73 -49
  173. package/esm2022/speeddial/style/speeddialstyle.mjs +2 -2
  174. package/esm2022/splitbutton/public_api.mjs +2 -1
  175. package/esm2022/splitbutton/splitbutton.mjs +19 -6
  176. package/esm2022/splitter/public_api.mjs +2 -1
  177. package/esm2022/stepper/public_api.mjs +2 -2
  178. package/esm2022/stepper/stepper.mjs +367 -660
  179. package/esm2022/stepper/style/stepperstyle.mjs +1 -2
  180. package/esm2022/steps/public_api.mjs +2 -1
  181. package/esm2022/table/public_api.mjs +2 -1
  182. package/esm2022/table/table.mjs +24 -20
  183. package/esm2022/tabmenu/public_api.mjs +2 -1
  184. package/esm2022/tabmenu/tabmenu.mjs +9 -5
  185. package/esm2022/tabs/public_api.mjs +6 -2
  186. package/esm2022/tabs/tab.mjs +171 -0
  187. package/esm2022/tabs/tablist.mjs +256 -0
  188. package/esm2022/tabs/tabpanel.mjs +49 -0
  189. package/esm2022/tabs/tabpanels.mjs +30 -0
  190. package/esm2022/tabs/tabs.mjs +45 -948
  191. package/esm2022/tabview/public_api.mjs +2 -1
  192. package/esm2022/tabview/style/tabsstyle.mjs +15 -15
  193. package/esm2022/tag/public_api.mjs +2 -1
  194. package/esm2022/terminal/public_api.mjs +2 -1
  195. package/esm2022/textarea/public_api.mjs +2 -1
  196. package/esm2022/themes/aura/aura.mjs +7 -3
  197. package/esm2022/themes/aura/floatlabel/index.mjs +29 -1
  198. package/esm2022/themes/aura/iftalabel/index.mjs +16 -0
  199. package/esm2022/themes/lara/floatlabel/index.mjs +27 -1
  200. package/esm2022/themes/lara/iftalabel/index.mjs +16 -0
  201. package/esm2022/themes/lara/lara.mjs +7 -3
  202. package/esm2022/themes/nora/floatlabel/index.mjs +27 -1
  203. package/esm2022/themes/nora/iftalabel/index.mjs +16 -0
  204. package/esm2022/themes/nora/nora.mjs +7 -3
  205. package/esm2022/tieredmenu/public_api.mjs +2 -1
  206. package/esm2022/timeline/public_api.mjs +2 -1
  207. package/esm2022/timeline/timeline.mjs +54 -68
  208. package/esm2022/toast/public_api.mjs +2 -1
  209. package/esm2022/togglebutton/public_api.mjs +2 -1
  210. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +2 -2
  211. package/esm2022/togglebutton/togglebutton.mjs +83 -76
  212. package/esm2022/toggleswitch/public_api.mjs +2 -1
  213. package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +8 -5
  214. package/esm2022/toggleswitch/toggleswitch.mjs +44 -48
  215. package/esm2022/toolbar/public_api.mjs +2 -1
  216. package/esm2022/tooltip/public_api.mjs +2 -1
  217. package/esm2022/tree/public_api.mjs +2 -1
  218. package/esm2022/tree/tree.mjs +7 -4
  219. package/esm2022/treeselect/public_api.mjs +2 -1
  220. package/esm2022/treeselect/treeselect.mjs +7 -56
  221. package/esm2022/treetable/public_api.mjs +2 -1
  222. package/esm2022/treetable/style/treetablestyle.mjs +2 -2
  223. package/esm2022/treetable/treetable.mjs +4 -4
  224. package/esm2022/utils/inpututils.mjs +7 -0
  225. package/esm2022/utils/public_api.mjs +3 -2
  226. package/fesm2022/primeng-accordion.mjs +433 -82
  227. package/fesm2022/primeng-accordion.mjs.map +1 -1
  228. package/fesm2022/primeng-autocomplete.mjs +3 -3
  229. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  230. package/fesm2022/primeng-avatar.mjs +3 -2
  231. package/fesm2022/primeng-avatar.mjs.map +1 -1
  232. package/fesm2022/primeng-avatargroup.mjs +3 -3
  233. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  234. package/fesm2022/primeng-badge.mjs +39 -51
  235. package/fesm2022/primeng-badge.mjs.map +1 -1
  236. package/fesm2022/primeng-blockui.mjs +1 -1
  237. package/fesm2022/primeng-blockui.mjs.map +1 -1
  238. package/fesm2022/primeng-breadcrumb.mjs +98 -119
  239. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  240. package/fesm2022/primeng-button.mjs +3 -7
  241. package/fesm2022/primeng-button.mjs.map +1 -1
  242. package/fesm2022/primeng-buttongroup.mjs +3 -3
  243. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  244. package/fesm2022/primeng-calendar.mjs +2 -2
  245. package/fesm2022/primeng-calendar.mjs.map +1 -1
  246. package/fesm2022/primeng-card.mjs +1 -1
  247. package/fesm2022/primeng-card.mjs.map +1 -1
  248. package/fesm2022/primeng-carousel.mjs +1 -1
  249. package/fesm2022/primeng-carousel.mjs.map +1 -1
  250. package/fesm2022/primeng-cascadeselect.mjs +1 -1
  251. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  252. package/fesm2022/primeng-chart.mjs +36 -2
  253. package/fesm2022/primeng-chart.mjs.map +1 -1
  254. package/fesm2022/primeng-checkbox.mjs +1 -1
  255. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  256. package/fesm2022/primeng-chip.mjs +1 -1
  257. package/fesm2022/primeng-chip.mjs.map +1 -1
  258. package/fesm2022/primeng-colorpicker.mjs +1 -1
  259. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  260. package/fesm2022/primeng-confirmdialog.mjs +1 -1
  261. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  262. package/fesm2022/primeng-confirmpopup.mjs +1 -1
  263. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  264. package/fesm2022/primeng-contextmenu.mjs +2 -2
  265. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  266. package/fesm2022/primeng-dataview.mjs +1 -1
  267. package/fesm2022/primeng-dataview.mjs.map +1 -1
  268. package/fesm2022/primeng-datepicker.mjs +18 -6
  269. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  270. package/fesm2022/primeng-dialog.mjs +20 -15
  271. package/fesm2022/primeng-dialog.mjs.map +1 -1
  272. package/fesm2022/primeng-divider.mjs +3 -3
  273. package/fesm2022/primeng-divider.mjs.map +1 -1
  274. package/fesm2022/primeng-dock.mjs +1 -1
  275. package/fesm2022/primeng-dock.mjs.map +1 -1
  276. package/fesm2022/primeng-drawer.mjs +15 -11
  277. package/fesm2022/primeng-drawer.mjs.map +1 -1
  278. package/fesm2022/primeng-dropdown.mjs +3 -3
  279. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  280. package/fesm2022/primeng-dynamicdialog.mjs +94 -24
  281. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  282. package/fesm2022/primeng-editor.mjs +5 -4
  283. package/fesm2022/primeng-editor.mjs.map +1 -1
  284. package/fesm2022/primeng-fieldset.mjs +11 -21
  285. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  286. package/fesm2022/primeng-fileupload.mjs +1 -1
  287. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  288. package/fesm2022/primeng-floatlabel.mjs +80 -40
  289. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  290. package/fesm2022/primeng-fluid.mjs +1 -1
  291. package/fesm2022/primeng-fluid.mjs.map +1 -1
  292. package/fesm2022/primeng-galleria.mjs +113 -124
  293. package/fesm2022/primeng-galleria.mjs.map +1 -1
  294. package/fesm2022/primeng-iconfield.mjs +13 -23
  295. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  296. package/fesm2022/primeng-iftalabel.mjs +143 -0
  297. package/fesm2022/primeng-iftalabel.mjs.map +1 -0
  298. package/fesm2022/primeng-image.mjs +85 -41
  299. package/fesm2022/primeng-image.mjs.map +1 -1
  300. package/fesm2022/primeng-inplace.mjs +3 -3
  301. package/fesm2022/primeng-inplace.mjs.map +1 -1
  302. package/fesm2022/primeng-inputgroup.mjs +30 -17
  303. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  304. package/fesm2022/primeng-inputgroupaddon.mjs +15 -13
  305. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  306. package/fesm2022/primeng-inputicon.mjs +7 -4
  307. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  308. package/fesm2022/primeng-inputmask.mjs +2 -2
  309. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  310. package/fesm2022/primeng-inputnumber.mjs +223 -220
  311. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  312. package/fesm2022/primeng-inputotp.mjs +2 -2
  313. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  314. package/fesm2022/primeng-inputswitch.mjs +1 -1
  315. package/fesm2022/primeng-inputtext.mjs +11 -2
  316. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  317. package/fesm2022/primeng-inputtextarea.mjs +1 -1
  318. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  319. package/fesm2022/primeng-knob.mjs +1 -1
  320. package/fesm2022/primeng-knob.mjs.map +1 -1
  321. package/fesm2022/primeng-listbox.mjs +37 -12
  322. package/fesm2022/primeng-listbox.mjs.map +1 -1
  323. package/fesm2022/primeng-megamenu.mjs +2 -2
  324. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  325. package/fesm2022/primeng-menu.mjs +4 -2
  326. package/fesm2022/primeng-menu.mjs.map +1 -1
  327. package/fesm2022/primeng-menubar.mjs +3 -3
  328. package/fesm2022/primeng-menubar.mjs.map +1 -1
  329. package/fesm2022/primeng-message.mjs +1 -33
  330. package/fesm2022/primeng-message.mjs.map +1 -1
  331. package/fesm2022/primeng-messages.mjs +1 -1
  332. package/fesm2022/primeng-metergroup.mjs +1 -1
  333. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  334. package/fesm2022/primeng-multiselect.mjs +679 -673
  335. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  336. package/fesm2022/primeng-orderlist.mjs +87 -15
  337. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  338. package/fesm2022/primeng-organizationchart.mjs +5 -5
  339. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  340. package/fesm2022/primeng-overlay.mjs +1 -1
  341. package/fesm2022/primeng-overlaybadge.mjs +4 -6
  342. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  343. package/fesm2022/primeng-overlaypanel.mjs +1 -1
  344. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  345. package/fesm2022/primeng-paginator.mjs +1 -1
  346. package/fesm2022/primeng-paginator.mjs.map +1 -1
  347. package/fesm2022/primeng-panelmenu.mjs +17 -9
  348. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  349. package/fesm2022/primeng-password.mjs +4 -2
  350. package/fesm2022/primeng-password.mjs.map +1 -1
  351. package/fesm2022/primeng-picklist.mjs +185 -15
  352. package/fesm2022/primeng-picklist.mjs.map +1 -1
  353. package/fesm2022/primeng-popover.mjs +1 -1
  354. package/fesm2022/primeng-progressbar.mjs +1 -1
  355. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  356. package/fesm2022/primeng-progressspinner.mjs +1 -1
  357. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  358. package/fesm2022/primeng-radiobutton.mjs +1 -1
  359. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  360. package/fesm2022/primeng-rating.mjs +11 -108
  361. package/fesm2022/primeng-rating.mjs.map +1 -1
  362. package/fesm2022/primeng-ripple.mjs +1 -1
  363. package/fesm2022/primeng-ripple.mjs.map +1 -1
  364. package/fesm2022/primeng-scroller.mjs +2 -2
  365. package/fesm2022/primeng-scroller.mjs.map +1 -1
  366. package/fesm2022/primeng-scrollpanel.mjs +1 -1
  367. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  368. package/fesm2022/primeng-scrolltop.mjs +19 -14
  369. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  370. package/fesm2022/primeng-select.mjs +8 -16
  371. package/fesm2022/primeng-select.mjs.map +1 -1
  372. package/fesm2022/primeng-selectbutton.mjs +3 -3
  373. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  374. package/fesm2022/primeng-sidebar.mjs +1 -1
  375. package/fesm2022/primeng-skeleton.mjs +1 -1
  376. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  377. package/fesm2022/primeng-slider.mjs +1 -1
  378. package/fesm2022/primeng-slider.mjs.map +1 -1
  379. package/fesm2022/primeng-speeddial.mjs +73 -49
  380. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  381. package/fesm2022/primeng-splitbutton.mjs +19 -6
  382. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  383. package/fesm2022/primeng-splitter.mjs +1 -1
  384. package/fesm2022/primeng-splitter.mjs.map +1 -1
  385. package/fesm2022/primeng-stepper.mjs +368 -662
  386. package/fesm2022/primeng-stepper.mjs.map +1 -1
  387. package/fesm2022/primeng-steps.mjs +1 -1
  388. package/fesm2022/primeng-steps.mjs.map +1 -1
  389. package/fesm2022/primeng-table.mjs +24 -20
  390. package/fesm2022/primeng-table.mjs.map +1 -1
  391. package/fesm2022/primeng-tabmenu.mjs +8 -4
  392. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  393. package/fesm2022/primeng-tabs.mjs +460 -886
  394. package/fesm2022/primeng-tabs.mjs.map +1 -1
  395. package/fesm2022/primeng-tabview.mjs +15 -15
  396. package/fesm2022/primeng-tabview.mjs.map +1 -1
  397. package/fesm2022/primeng-tag.mjs +1 -1
  398. package/fesm2022/primeng-tag.mjs.map +1 -1
  399. package/fesm2022/primeng-terminal.mjs +1 -1
  400. package/fesm2022/primeng-terminal.mjs.map +1 -1
  401. package/fesm2022/primeng-textarea.mjs +1 -1
  402. package/fesm2022/primeng-textarea.mjs.map +1 -1
  403. package/fesm2022/primeng-themes-aura.mjs +49 -2
  404. package/fesm2022/primeng-themes-aura.mjs.map +1 -1
  405. package/fesm2022/primeng-themes-lara.mjs +47 -2
  406. package/fesm2022/primeng-themes-lara.mjs.map +1 -1
  407. package/fesm2022/primeng-themes-nora.mjs +47 -2
  408. package/fesm2022/primeng-themes-nora.mjs.map +1 -1
  409. package/fesm2022/primeng-tieredmenu.mjs +1 -1
  410. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  411. package/fesm2022/primeng-timeline.mjs +54 -68
  412. package/fesm2022/primeng-timeline.mjs.map +1 -1
  413. package/fesm2022/primeng-toast.mjs +1 -1
  414. package/fesm2022/primeng-toast.mjs.map +1 -1
  415. package/fesm2022/primeng-togglebutton.mjs +84 -77
  416. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  417. package/fesm2022/primeng-toggleswitch.mjs +50 -51
  418. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  419. package/fesm2022/primeng-toolbar.mjs +1 -1
  420. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  421. package/fesm2022/primeng-tooltip.mjs +1 -1
  422. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  423. package/fesm2022/primeng-tree.mjs +7 -4
  424. package/fesm2022/primeng-tree.mjs.map +1 -1
  425. package/fesm2022/primeng-treeselect.mjs +7 -56
  426. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  427. package/fesm2022/primeng-treetable.mjs +4 -4
  428. package/fesm2022/primeng-treetable.mjs.map +1 -1
  429. package/fesm2022/primeng-utils.mjs +8 -1
  430. package/fesm2022/primeng-utils.mjs.map +1 -1
  431. package/fieldset/fieldset.d.ts +1 -6
  432. package/fieldset/public_api.d.ts +1 -0
  433. package/fileupload/public_api.d.ts +1 -0
  434. package/floatlabel/floatlabel.d.ts +6 -1
  435. package/floatlabel/public_api.d.ts +1 -0
  436. package/floatlabel/style/floatlabelstyle.d.ts +3 -6
  437. package/fluid/public_api.d.ts +1 -0
  438. package/galleria/public_api.d.ts +1 -0
  439. package/iconfield/iconfield.d.ts +1 -1
  440. package/iconfield/public_api.d.ts +1 -0
  441. package/iftalabel/iftalabel.d.ts +20 -0
  442. package/iftalabel/index.d.ts +5 -0
  443. package/iftalabel/public_api.d.ts +2 -0
  444. package/iftalabel/style/iftalabelstyle.d.ts +30 -0
  445. package/image/image.d.ts +2 -0
  446. package/image/image.interface.d.ts +32 -0
  447. package/image/public_api.d.ts +1 -0
  448. package/inplace/public_api.d.ts +1 -0
  449. package/inputgroup/public_api.d.ts +1 -0
  450. package/inputgroupaddon/inputgroupaddon.d.ts +3 -0
  451. package/inputgroupaddon/public_api.d.ts +1 -0
  452. package/inputicon/public_api.d.ts +1 -0
  453. package/inputmask/public_api.d.ts +1 -0
  454. package/inputnumber/inputnumber.d.ts +1 -0
  455. package/inputnumber/public_api.d.ts +1 -0
  456. package/inputotp/public_api.d.ts +1 -0
  457. package/inputswitch/public_api.d.ts +1 -0
  458. package/inputtext/inputtext.d.ts +6 -1
  459. package/inputtext/public_api.d.ts +1 -0
  460. package/inputtextarea/public_api.d.ts +1 -0
  461. package/knob/public_api.d.ts +1 -0
  462. package/listbox/listbox.d.ts +14 -6
  463. package/listbox/public_api.d.ts +1 -0
  464. package/megamenu/public_api.d.ts +1 -0
  465. package/menu/public_api.d.ts +1 -0
  466. package/menubar/public_api.d.ts +1 -0
  467. package/messages/public_api.d.ts +1 -0
  468. package/metergroup/public_api.d.ts +1 -0
  469. package/multiselect/multiselect.d.ts +1 -1
  470. package/multiselect/public_api.d.ts +1 -0
  471. package/orderlist/orderlist.d.ts +28 -1
  472. package/orderlist/public_api.d.ts +1 -0
  473. package/organizationchart/organizationchart.d.ts +1 -1
  474. package/organizationchart/public_api.d.ts +1 -0
  475. package/overlay/public_api.d.ts +1 -0
  476. package/overlaybadge/overlaybadge.d.ts +2 -2
  477. package/overlaybadge/public_api.d.ts +1 -0
  478. package/overlaypanel/public_api.d.ts +1 -0
  479. package/package.json +281 -275
  480. package/paginator/public_api.d.ts +1 -0
  481. package/panelmenu/panelmenu.d.ts +1 -1
  482. package/panelmenu/public_api.d.ts +1 -0
  483. package/password/password.d.ts +1 -1
  484. package/password/public_api.d.ts +1 -0
  485. package/picklist/picklist.d.ts +52 -5
  486. package/picklist/public_api.d.ts +1 -0
  487. package/popover/public_api.d.ts +1 -0
  488. package/progressbar/public_api.d.ts +1 -0
  489. package/progressspinner/public_api.d.ts +1 -0
  490. package/radiobutton/public_api.d.ts +1 -0
  491. package/rating/public_api.d.ts +1 -0
  492. package/rating/rating.d.ts +1 -20
  493. package/ripple/public_api.d.ts +1 -0
  494. package/scroller/public_api.d.ts +1 -0
  495. package/scrollpanel/public_api.d.ts +1 -0
  496. package/scrolltop/public_api.d.ts +1 -0
  497. package/selectbutton/public_api.d.ts +1 -0
  498. package/sidebar/public_api.d.ts +1 -0
  499. package/skeleton/public_api.d.ts +1 -0
  500. package/slider/public_api.d.ts +1 -0
  501. package/speeddial/public_api.d.ts +1 -0
  502. package/speeddial/speeddial.d.ts +25 -2
  503. package/speeddial/speeddial.interface.d.ts +17 -1
  504. package/splitbutton/public_api.d.ts +1 -0
  505. package/splitbutton/splitbutton.d.ts +6 -1
  506. package/splitter/public_api.d.ts +1 -0
  507. package/stepper/public_api.d.ts +1 -1
  508. package/stepper/stepper.d.ts +140 -88
  509. package/steps/public_api.d.ts +1 -0
  510. package/table/public_api.d.ts +1 -0
  511. package/tabmenu/public_api.d.ts +1 -0
  512. package/tabmenu/tabmenu.d.ts +1 -0
  513. package/tabs/public_api.d.ts +5 -1
  514. package/tabs/tab.d.ts +47 -0
  515. package/tabs/tablist.d.ts +51 -0
  516. package/tabs/tabpanel.d.ts +20 -0
  517. package/tabs/tabpanels.d.ts +10 -0
  518. package/tabs/tabs.d.ts +31 -237
  519. package/tabview/public_api.d.ts +1 -0
  520. package/tabview/style/tabsstyle.d.ts +4 -4
  521. package/tag/public_api.d.ts +1 -0
  522. package/terminal/public_api.d.ts +1 -0
  523. package/textarea/public_api.d.ts +1 -0
  524. package/themes/aura/aura.d.ts +45 -0
  525. package/themes/aura/floatlabel/index.d.ts +28 -0
  526. package/themes/aura/iftalabel/index.d.ts +16 -0
  527. package/themes/lara/floatlabel/index.d.ts +26 -0
  528. package/themes/lara/iftalabel/index.d.ts +16 -0
  529. package/themes/lara/lara.d.ts +43 -0
  530. package/themes/nora/floatlabel/index.d.ts +26 -0
  531. package/themes/nora/iftalabel/index.d.ts +16 -0
  532. package/themes/nora/nora.d.ts +43 -0
  533. package/tieredmenu/public_api.d.ts +1 -0
  534. package/timeline/public_api.d.ts +1 -0
  535. package/timeline/timeline.d.ts +1 -0
  536. package/toast/public_api.d.ts +1 -0
  537. package/togglebutton/public_api.d.ts +1 -0
  538. package/togglebutton/togglebutton.d.ts +6 -7
  539. package/toggleswitch/public_api.d.ts +1 -0
  540. package/toolbar/public_api.d.ts +1 -0
  541. package/tooltip/public_api.d.ts +1 -0
  542. package/tree/public_api.d.ts +1 -0
  543. package/tree/tree.d.ts +1 -0
  544. package/treeselect/public_api.d.ts +1 -0
  545. package/treetable/public_api.d.ts +1 -0
  546. package/utils/inpututils.d.ts +2 -0
  547. package/utils/public_api.d.ts +2 -1
  548. package/accordion/accordion.interface.d.ts +0 -49
  549. package/esm2022/accordion/accordion.interface.mjs +0 -2
  550. package/esm2022/stepper/stepper.interface.mjs +0 -2
  551. package/esm2022/tabs/tabs.interface.mjs +0 -2
  552. package/stepper/stepper.interface.d.ts +0 -26
  553. package/tabs/tabs.interface.d.ts +0 -49
@@ -1,15 +1,17 @@
1
1
  import { trigger, state, style, transition, animate } from '@angular/animations';
2
- import * as i1 from '@angular/common';
2
+ import * as i2 from '@angular/common';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, EventEmitter, inject, forwardRef, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, HostBinding, Input, Output, ContentChildren, HostListener, NgModule } from '@angular/core';
6
- import { Header, PrimeTemplate, SharedModule } from 'primeng/api';
5
+ import { Injectable, inject, forwardRef, model, input, computed, Component, ChangeDetectionStrategy, ViewEncapsulation, HostListener, ContentChild, ContentChildren, EventEmitter, booleanAttribute, numberAttribute, HostBinding, Input, Output, signal, NgModule } from '@angular/core';
6
+ import { PrimeTemplate, Header, SharedModule } from 'primeng/api';
7
7
  import { DomHandler } from 'primeng/dom';
8
8
  import { ChevronDownIcon } from 'primeng/icons/chevrondown';
9
- import { UniqueComponentId } from 'primeng/utils';
9
+ import { transformToBoolean, UniqueComponentId } from 'primeng/utils';
10
10
  import { BaseStyle } from 'primeng/base';
11
11
  import { BaseComponent } from 'primeng/basecomponent';
12
12
  import { ChevronUpIcon } from 'primeng/icons/chevronup';
13
+ import * as i1 from 'primeng/ripple';
14
+ import { Ripple } from 'primeng/ripple';
13
15
 
14
16
  const theme = ({ dt }) => `
15
17
  .p-accordionpanel {
@@ -117,7 +119,8 @@ const theme = ({ dt }) => `
117
119
  .p-accordionheader:has(.p-accordionheader-toggle-icon.icon-start) {
118
120
  justify-content: flex-start;
119
121
  gap: ${dt('accordion.header.padding')};
120
- }`;
122
+ }
123
+ `;
121
124
  const classes = {
122
125
  root: 'p-accordion p-component',
123
126
  };
@@ -168,8 +171,327 @@ var AccordionClasses;
168
171
  AccordionClasses["panel"] = "p-accordionpanel";
169
172
  })(AccordionClasses || (AccordionClasses = {}));
170
173
 
174
+ /**
175
+ * AccordionPanel is a helper component for Accordion component.
176
+ * @group Components
177
+ */
178
+ class AccordionPanel extends BaseComponent {
179
+ pcAccordion = inject(forwardRef(() => Accordion));
180
+ /**
181
+ * Value of the active tab.
182
+ * @defaultValue undefined
183
+ * @group Props
184
+ */
185
+ value = model(undefined);
186
+ /**
187
+ * Disables the tab when enabled.
188
+ * @defaultValue false
189
+ * @group Props
190
+ */
191
+ disabled = input(false, { transform: (v) => transformToBoolean(v) });
192
+ active = computed(() => this.pcAccordion.multiple() ? this.valueEquals(this.pcAccordion.value(), this.value()) : this.pcAccordion.value() === this.value());
193
+ valueEquals(currentValue, value) {
194
+ if (Array.isArray(currentValue)) {
195
+ return currentValue.includes(value);
196
+ }
197
+ return currentValue === value;
198
+ }
199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionPanel, deps: null, target: i0.ɵɵFactoryTarget.Component });
200
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: AccordionPanel, isStandalone: true, selector: "p-accordion-panel", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.p-accordionpanel": "true", "class.p-accordionpanel-active": "active()", "class.p-disabled": "disabled()", "attr.data-pc-name": "\"accordionpanel\"", "attr.data-p-disabled": "disabled()", "attr.data-p-active": "active()" } }, usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
201
+ }
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionPanel, decorators: [{
203
+ type: Component,
204
+ args: [{
205
+ selector: 'p-accordion-panel',
206
+ imports: [CommonModule],
207
+ standalone: true,
208
+ template: `<ng-content />`,
209
+ changeDetection: ChangeDetectionStrategy.OnPush,
210
+ encapsulation: ViewEncapsulation.None,
211
+ host: {
212
+ '[class.p-accordionpanel]': 'true',
213
+ '[class.p-accordionpanel-active]': 'active()',
214
+ '[class.p-disabled]': 'disabled()',
215
+ '[attr.data-pc-name]': '"accordionpanel"',
216
+ '[attr.data-p-disabled]': 'disabled()',
217
+ '[attr.data-p-active]': 'active()',
218
+ },
219
+ }]
220
+ }] });
221
+ /**
222
+ * AccordionHeader is a helper component for Accordion component.
223
+ * @group Components
224
+ */
225
+ class AccordionHeader extends BaseComponent {
226
+ pcAccordion = inject(forwardRef(() => Accordion));
227
+ pcAccordionPanel = inject(forwardRef(() => AccordionPanel));
228
+ id = computed(() => `${this.pcAccordion.id()}_accordionheader_${this.pcAccordionPanel.value()}`);
229
+ active = computed(() => this.pcAccordionPanel.active());
230
+ disabled = computed(() => this.pcAccordionPanel.disabled());
231
+ ariaControls = computed(() => `${this.pcAccordion.id()}_accordioncontent_${this.pcAccordionPanel.value()}`);
232
+ onClick() {
233
+ this.changeActiveValue();
234
+ }
235
+ onFocus() {
236
+ this.pcAccordion.selectOnFocus() && this.changeActiveValue();
237
+ }
238
+ onKeydown(event) {
239
+ switch (event.code) {
240
+ case 'ArrowDown':
241
+ this.arrowDownKey(event);
242
+ break;
243
+ case 'ArrowUp':
244
+ this.arrowUpKey(event);
245
+ break;
246
+ case 'Home':
247
+ this.onHomeKey(event);
248
+ break;
249
+ case 'End':
250
+ this.onEndKey(event);
251
+ break;
252
+ case 'Enter':
253
+ case 'Space':
254
+ case 'NumpadEnter':
255
+ this.onEnterKey(event);
256
+ break;
257
+ default:
258
+ break;
259
+ }
260
+ }
261
+ /**
262
+ * A template reference variable that represents the toggle icon in a UI component.
263
+ * @param {AccordionToggleIconTemplateContext} context - Context of the template
264
+ * @example
265
+ * ```html
266
+ * <ng-template #toggleicon let-active="active"> </ng-template>
267
+ * ```
268
+ * @see {@link AccordionToggleIconTemplateContext}
269
+ * @group Templates
270
+ */
271
+ toggleicon;
272
+ templates;
273
+ ngAfterContentInit() {
274
+ this.templates.forEach((item) => {
275
+ switch (item.getType()) {
276
+ case 'toggleicon':
277
+ this.toggleicon = item.template;
278
+ break;
279
+ }
280
+ });
281
+ }
282
+ changeActiveValue() {
283
+ this.pcAccordion.updateValue(this.pcAccordionPanel.value());
284
+ }
285
+ findPanel(headerElement) {
286
+ return headerElement?.closest('[data-pc-name="accordionpanel"]');
287
+ }
288
+ findHeader(panelElement) {
289
+ return DomHandler.findSingle(panelElement, '[data-pc-name="accordionheader"]');
290
+ }
291
+ findNextPanel(panelElement, selfCheck = false) {
292
+ const element = selfCheck ? panelElement : panelElement.nextElementSibling;
293
+ return element
294
+ ? DomHandler.getAttribute(element, 'data-p-disabled')
295
+ ? this.findNextPanel(element)
296
+ : this.findHeader(element)
297
+ : null;
298
+ }
299
+ findPrevPanel(panelElement, selfCheck = false) {
300
+ const element = selfCheck ? panelElement : panelElement.previousElementSibling;
301
+ return element
302
+ ? DomHandler.getAttribute(element, 'data-p-disabled')
303
+ ? this.findPrevPanel(element)
304
+ : this.findHeader(element)
305
+ : null;
306
+ }
307
+ findFirstPanel() {
308
+ return this.findNextPanel(this.pcAccordion.el.nativeElement.firstElementChild, true);
309
+ }
310
+ findLastPanel() {
311
+ return this.findPrevPanel(this.pcAccordion.el.nativeElement.lastElementChild, true);
312
+ }
313
+ changeFocusedPanel(event, element) {
314
+ DomHandler.focus(element);
315
+ }
316
+ arrowDownKey(event) {
317
+ const nextPanel = this.findNextPanel(this.findPanel(event.currentTarget));
318
+ nextPanel ? this.changeFocusedPanel(event, nextPanel) : this.onHomeKey(event);
319
+ event.preventDefault();
320
+ }
321
+ arrowUpKey(event) {
322
+ const prevPanel = this.findPrevPanel(this.findPanel(event.currentTarget));
323
+ prevPanel ? this.changeFocusedPanel(event, prevPanel) : this.onEndKey(event);
324
+ event.preventDefault();
325
+ }
326
+ onHomeKey(event) {
327
+ const firstPanel = this.findFirstPanel();
328
+ this.changeFocusedPanel(event, firstPanel);
329
+ event.preventDefault();
330
+ }
331
+ onEndKey(event) {
332
+ const lastPanel = this.findLastPanel();
333
+ this.changeFocusedPanel(event, lastPanel);
334
+ event.preventDefault();
335
+ }
336
+ onEnterKey(event) {
337
+ this.changeActiveValue();
338
+ event.preventDefault();
339
+ }
340
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionHeader, deps: null, target: i0.ɵɵFactoryTarget.Component });
341
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: AccordionHeader, isStandalone: true, selector: "p-accordion-header", host: { listeners: { "click": "onClick($event)", "focus": "onFocus($event)", "keydown": "onKeydown($event)" }, properties: { "class.p-accordionheader": "true", "attr.id": "id()", "attr.aria-expanded": "active()", "attr.aria-controls": "ariaControls()", "attr.role": "\"button\"", "attr.tabindex": "\"0\"", "attr.data-p-active": "active()", "attr.data-p-disabled": "disabled()", "attr.data-pc-name": "\"accordionheader\"", "style.user-select": "\"none\"" } }, queries: [{ propertyName: "toggleicon", first: true, predicate: ["toggleicon"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, hostDirectives: [{ directive: i1.Ripple }], ngImport: i0, template: `
342
+ <ng-content />
343
+ @if (toggleicon) {
344
+ <ng-template *ngTemplateOutlet="toggleicon; context: { active: active() }"></ng-template>
345
+ } @else {
346
+ <ng-container *ngIf="active()">
347
+ <span
348
+ *ngIf="pcAccordion.collapseIcon"
349
+ [class]="pcAccordion.collapseIcon"
350
+ [ngClass]="pcAccordion.iconClass"
351
+ [attr.aria-hidden]="true"
352
+ ></span>
353
+ <ChevronDownIcon *ngIf="!pcAccordion.collapseIcon" [ngClass]="pcAccordion.iconClass" [attr.aria-hidden]="true" />
354
+ </ng-container>
355
+ <ng-container *ngIf="!active()">
356
+ <span
357
+ *ngIf="pcAccordion.expandIcon"
358
+ [class]="pcAccordion.expandIcon"
359
+ [ngClass]="pcAccordion.iconClass"
360
+ [attr.aria-hidden]="true"
361
+ ></span>
362
+ <ChevronUpIcon *ngIf="!pcAccordion.expandIcon" [ngClass]="pcAccordion.iconClass" [attr.aria-hidden]="true" />
363
+ </ng-container>
364
+ }
365
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ChevronDownIcon, selector: "ChevronDownIcon" }, { kind: "component", type: ChevronUpIcon, selector: "ChevronUpIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
366
+ }
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionHeader, decorators: [{
368
+ type: Component,
369
+ args: [{
370
+ selector: 'p-accordion-header',
371
+ imports: [CommonModule, ChevronDownIcon, ChevronUpIcon, Ripple],
372
+ standalone: true,
373
+ template: `
374
+ <ng-content />
375
+ @if (toggleicon) {
376
+ <ng-template *ngTemplateOutlet="toggleicon; context: { active: active() }"></ng-template>
377
+ } @else {
378
+ <ng-container *ngIf="active()">
379
+ <span
380
+ *ngIf="pcAccordion.collapseIcon"
381
+ [class]="pcAccordion.collapseIcon"
382
+ [ngClass]="pcAccordion.iconClass"
383
+ [attr.aria-hidden]="true"
384
+ ></span>
385
+ <ChevronDownIcon *ngIf="!pcAccordion.collapseIcon" [ngClass]="pcAccordion.iconClass" [attr.aria-hidden]="true" />
386
+ </ng-container>
387
+ <ng-container *ngIf="!active()">
388
+ <span
389
+ *ngIf="pcAccordion.expandIcon"
390
+ [class]="pcAccordion.expandIcon"
391
+ [ngClass]="pcAccordion.iconClass"
392
+ [attr.aria-hidden]="true"
393
+ ></span>
394
+ <ChevronUpIcon *ngIf="!pcAccordion.expandIcon" [ngClass]="pcAccordion.iconClass" [attr.aria-hidden]="true" />
395
+ </ng-container>
396
+ }
397
+ `,
398
+ changeDetection: ChangeDetectionStrategy.OnPush,
399
+ encapsulation: ViewEncapsulation.None,
400
+ host: {
401
+ '[class.p-accordionheader]': 'true',
402
+ '[attr.id]': 'id()',
403
+ '[attr.aria-expanded]': 'active()',
404
+ '[attr.aria-controls]': 'ariaControls()',
405
+ '[attr.role]': '"button"',
406
+ '[attr.tabindex]': '"0"',
407
+ '[attr.data-p-active]': 'active()',
408
+ '[attr.data-p-disabled]': 'disabled()',
409
+ '[attr.data-pc-name]': '"accordionheader"',
410
+ '[style.user-select]': '"none"',
411
+ },
412
+ hostDirectives: [Ripple],
413
+ }]
414
+ }], propDecorators: { onClick: [{
415
+ type: HostListener,
416
+ args: ['click', ['$event']]
417
+ }], onFocus: [{
418
+ type: HostListener,
419
+ args: ['focus', ['$event']]
420
+ }], onKeydown: [{
421
+ type: HostListener,
422
+ args: ['keydown', ['$event']]
423
+ }], toggleicon: [{
424
+ type: ContentChild,
425
+ args: ['toggleicon']
426
+ }], templates: [{
427
+ type: ContentChildren,
428
+ args: [PrimeTemplate]
429
+ }] } });
430
+ class AccordionContent extends BaseComponent {
431
+ pcAccordion = inject(forwardRef(() => Accordion));
432
+ pcAccordionPanel = inject(forwardRef(() => AccordionPanel));
433
+ active = computed(() => this.pcAccordionPanel.active());
434
+ ariaLabelledby = computed(() => `${this.pcAccordion.id()}_accordionheader_${this.pcAccordionPanel.value()}`);
435
+ id = computed(() => `${this.pcAccordion.id()}_accordioncontent_${this.pcAccordionPanel.value()}`);
436
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionContent, deps: null, target: i0.ɵɵFactoryTarget.Component });
437
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: AccordionContent, isStandalone: true, selector: "p-accordion-content", host: { properties: { "class.p-accordioncontent": "true", "attr.id": "id()", "attr.role": "\"region\"", "attr.data-pc-name": "\"accordioncontent\"", "attr.data-p-active": "active()", "attr.aria-labelledby": "ariaLabelledby()", "@content": "active()\n ? { value: 'visible', params: { transitionParams: pcAccordion.transitionOptions } }\n : { value: 'hidden', params: { transitionParams: pcAccordion.transitionOptions } }" } }, usesInheritance: true, ngImport: i0, template: ` <div class="p-accordioncontent-content">
438
+ <ng-content />
439
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], animations: [
440
+ trigger('content', [
441
+ state('hidden', style({
442
+ height: '0',
443
+ visibility: 'hidden',
444
+ })),
445
+ state('visible', style({
446
+ height: '*',
447
+ visibility: 'visible',
448
+ })),
449
+ transition('visible <=> hidden', [animate('{{transitionParams}}')]),
450
+ transition('void => *', animate(0)),
451
+ ]),
452
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
453
+ }
454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionContent, decorators: [{
455
+ type: Component,
456
+ args: [{
457
+ selector: 'p-accordion-content',
458
+ imports: [CommonModule],
459
+ standalone: true,
460
+ template: ` <div class="p-accordioncontent-content">
461
+ <ng-content />
462
+ </div>`,
463
+ changeDetection: ChangeDetectionStrategy.OnPush,
464
+ encapsulation: ViewEncapsulation.None,
465
+ host: {
466
+ '[class.p-accordioncontent]': 'true',
467
+ '[attr.id]': 'id()',
468
+ '[attr.role]': '"region"',
469
+ '[attr.data-pc-name]': '"accordioncontent"',
470
+ '[attr.data-p-active]': 'active()',
471
+ '[attr.aria-labelledby]': 'ariaLabelledby()',
472
+ '[@content]': `active()
473
+ ? { value: 'visible', params: { transitionParams: pcAccordion.transitionOptions } }
474
+ : { value: 'hidden', params: { transitionParams: pcAccordion.transitionOptions } }`,
475
+ },
476
+ animations: [
477
+ trigger('content', [
478
+ state('hidden', style({
479
+ height: '0',
480
+ visibility: 'hidden',
481
+ })),
482
+ state('visible', style({
483
+ height: '*',
484
+ visibility: 'visible',
485
+ })),
486
+ transition('visible <=> hidden', [animate('{{transitionParams}}')]),
487
+ transition('void => *', animate(0)),
488
+ ]),
489
+ ],
490
+ }]
491
+ }] });
171
492
  /**
172
493
  * AccordionTab is a helper component for Accordion.
494
+ * @deprecated Use AccordionPanel, AccordionHeader, AccordionContent instead.
173
495
  * @group Components
174
496
  */
175
497
  class AccordionTab extends BaseComponent {
@@ -283,6 +605,10 @@ class AccordionTab extends BaseComponent {
283
605
  loaded = false;
284
606
  accordion = inject(forwardRef(() => Accordion));
285
607
  _componentStyle = inject(AccordionStyle);
608
+ ngOnInit() {
609
+ super.ngOnInit();
610
+ console.log('AccordionTab is deprecated as of v18, please use the new structure instead.');
611
+ }
286
612
  ngAfterContentInit() {
287
613
  this.templates.forEach((item) => {
288
614
  switch (item.getType()) {
@@ -311,7 +637,7 @@ class AccordionTab extends BaseComponent {
311
637
  this.accordion.onClose.emit({ originalEvent: event, index: index });
312
638
  }
313
639
  else {
314
- if (!this.accordion.multiple) {
640
+ if (!this.accordion.multiple()) {
315
641
  for (var i = 0; i < this.accordion.tabs.length; i++) {
316
642
  if (this.accordion.tabs[i].selected) {
317
643
  this.accordion.tabs[i].selected = false;
@@ -364,7 +690,7 @@ class AccordionTab extends BaseComponent {
364
690
  super.ngOnDestroy();
365
691
  }
366
692
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionTab, deps: null, target: i0.ɵɵFactoryTarget.Component });
367
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: AccordionTab, isStandalone: true, selector: "p-accordionTab, p-accordion-tab", inputs: { id: "id", header: "header", headerStyle: "headerStyle", tabStyle: "tabStyle", contentStyle: "contentStyle", tabStyleClass: "tabStyleClass", headerStyleClass: "headerStyleClass", contentStyleClass: "contentStyleClass", disabled: ["disabled", "disabled", booleanAttribute], cache: ["cache", "cache", booleanAttribute], transitionOptions: "transitionOptions", iconPos: "iconPos", selected: "selected", headerAriaLevel: ["headerAriaLevel", "headerAriaLevel", numberAttribute] }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class.p-accordionpanel": "true", "class.p-accordionpanel-active": "selected", "attr.data-pc-name": "accordiontab", "class": "this.hostClass", "style": "this.hostStyle" } }, providers: [AccordionStyle], queries: [{ propertyName: "headerFacet", predicate: Header }, { propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, ngImport: i0, template: `
693
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: AccordionTab, isStandalone: true, selector: "p-accordionTab, p-accordion-tab", inputs: { id: "id", header: "header", headerStyle: "headerStyle", tabStyle: "tabStyle", contentStyle: "contentStyle", tabStyleClass: "tabStyleClass", headerStyleClass: "headerStyleClass", contentStyleClass: "contentStyleClass", disabled: ["disabled", "disabled", booleanAttribute], cache: ["cache", "cache", booleanAttribute], transitionOptions: "transitionOptions", iconPos: "iconPos", selected: "selected", headerAriaLevel: ["headerAriaLevel", "headerAriaLevel", numberAttribute] }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class.p-accordionpanel": "true", "class.p-accordionpanel-active": "selected", "attr.data-pc-name": "\"accordiontab\"", "class": "this.hostClass", "style": "this.hostStyle" } }, providers: [AccordionStyle], queries: [{ propertyName: "headerFacet", predicate: Header }, { propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, ngImport: i0, template: `
368
694
  <button
369
695
  class="p-accordionheader"
370
696
  type="button"
@@ -373,7 +699,7 @@ class AccordionTab extends BaseComponent {
373
699
  [attr.aria-level]="headerAriaLevel"
374
700
  [class.p-disabled]="disabled"
375
701
  [attr.data-p-disabled]="disabled"
376
- [attr.data-pc-section]="'header'"
702
+ [attr.data-pc-section]="'accordionheader'"
377
703
  (click)="toggle($event)"
378
704
  (keydown)="onKeydown($event)"
379
705
  [ngClass]="headerStyleClass"
@@ -381,7 +707,6 @@ class AccordionTab extends BaseComponent {
381
707
  [attr.tabindex]="disabled ? null : 0"
382
708
  [attr.id]="getTabHeaderActionId(id)"
383
709
  [attr.aria-controls]="getTabContentId(id)"
384
- [attr.data-pc-section]="'headeraction'"
385
710
  >
386
711
  @if (!hasHeaderFacet && !headerTemplate) {
387
712
  {{ header }}
@@ -390,7 +715,7 @@ class AccordionTab extends BaseComponent {
390
715
  <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
391
716
  }
392
717
  @if (hasHeaderFacet) {
393
- <ng-content select="p-header"></ng-content>
718
+ <ng-content select="p-header" />
394
719
  }
395
720
  }
396
721
  @if (iconTemplate) {
@@ -430,13 +755,13 @@ class AccordionTab extends BaseComponent {
430
755
  [attr.data-pc-section]="'toggleablecontent'"
431
756
  >
432
757
  <div class="p-accordioncontent-content" [ngClass]="contentStyleClass" [ngStyle]="contentStyle">
433
- <ng-content></ng-content>
758
+ <ng-content />
434
759
  <ng-container *ngIf="contentTemplate && (cache ? loaded : selected)">
435
760
  <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
436
761
  </ng-container>
437
762
  </div>
438
763
  </div>
439
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ChevronDownIcon, selector: "ChevronDownIcon" }, { kind: "component", type: ChevronUpIcon, selector: "ChevronUpIcon" }], animations: [
764
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ChevronDownIcon, selector: "ChevronDownIcon" }, { kind: "component", type: ChevronUpIcon, selector: "ChevronUpIcon" }], animations: [
440
765
  trigger('tabContent', [
441
766
  state('hidden', style({
442
767
  height: '0',
@@ -466,7 +791,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
466
791
  [attr.aria-level]="headerAriaLevel"
467
792
  [class.p-disabled]="disabled"
468
793
  [attr.data-p-disabled]="disabled"
469
- [attr.data-pc-section]="'header'"
794
+ [attr.data-pc-section]="'accordionheader'"
470
795
  (click)="toggle($event)"
471
796
  (keydown)="onKeydown($event)"
472
797
  [ngClass]="headerStyleClass"
@@ -474,7 +799,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
474
799
  [attr.tabindex]="disabled ? null : 0"
475
800
  [attr.id]="getTabHeaderActionId(id)"
476
801
  [attr.aria-controls]="getTabContentId(id)"
477
- [attr.data-pc-section]="'headeraction'"
478
802
  >
479
803
  @if (!hasHeaderFacet && !headerTemplate) {
480
804
  {{ header }}
@@ -483,7 +807,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
483
807
  <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
484
808
  }
485
809
  @if (hasHeaderFacet) {
486
- <ng-content select="p-header"></ng-content>
810
+ <ng-content select="p-header" />
487
811
  }
488
812
  }
489
813
  @if (iconTemplate) {
@@ -523,7 +847,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
523
847
  [attr.data-pc-section]="'toggleablecontent'"
524
848
  >
525
849
  <div class="p-accordioncontent-content" [ngClass]="contentStyleClass" [ngStyle]="contentStyle">
526
- <ng-content></ng-content>
850
+ <ng-content />
527
851
  <ng-container *ngIf="contentTemplate && (cache ? loaded : selected)">
528
852
  <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
529
853
  </ng-container>
@@ -547,7 +871,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
547
871
  host: {
548
872
  '[class.p-accordionpanel]': 'true',
549
873
  '[class.p-accordionpanel-active]': 'selected',
550
- '[attr.data-pc-name]': 'accordiontab',
874
+ '[attr.data-pc-name]': '"accordiontab"',
551
875
  },
552
876
  providers: [AccordionStyle],
553
877
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -610,11 +934,18 @@ class Accordion extends BaseComponent {
610
934
  get hostStyle() {
611
935
  return this.style;
612
936
  }
937
+ /**
938
+ * Value of the active tab.
939
+ * @defaultValue undefined
940
+ * @group Props
941
+ */
942
+ value = model(undefined);
613
943
  /**
614
944
  * When enabled, multiple tabs can be activated at the same time.
945
+ * @defaultValue false
615
946
  * @group Props
616
947
  */
617
- multiple = false;
948
+ multiple = input(false, { transform: (v) => transformToBoolean(v) });
618
949
  /**
619
950
  * Inline style of the tab header and content.
620
951
  * @group Props
@@ -636,12 +967,11 @@ class Accordion extends BaseComponent {
636
967
  */
637
968
  collapseIcon;
638
969
  /**
639
- * Index of the active tab or an array of indexes in multiple mode.
970
+ * When enabled, the focused tab is activated.
971
+ * @defaultValue false
640
972
  * @group Props
641
973
  */
642
- get activeIndex() {
643
- return this._activeIndex;
644
- }
974
+ selectOnFocus = input(false, { transform: (v) => transformToBoolean(v) });
645
975
  set activeIndex(val) {
646
976
  this._activeIndex = val;
647
977
  if (this.preventActiveIndexPropagation) {
@@ -651,17 +981,17 @@ class Accordion extends BaseComponent {
651
981
  this.updateSelectionState();
652
982
  }
653
983
  /**
654
- * When enabled, the focused tab is activated.
984
+ * Transition options of the animation.
655
985
  * @group Props
656
986
  */
657
- selectOnFocus = false;
987
+ transitionOptions = '400ms cubic-bezier(0.86, 0, 0.07, 1)';
658
988
  /**
659
- * The aria-level that each accordion header will have. The default value is 2 as per W3C specifications
660
- * @group Props
989
+ * Returns the active index.
990
+ * @param {number | number[]} value - New index.
991
+ * @deprecated use native valueChange emitter of the value model.
992
+ * @group Emits
661
993
  */
662
- get headerAriaLevel() {
663
- return this._headerAriaLevel;
664
- }
994
+ activeIndexChange = new EventEmitter();
665
995
  set headerAriaLevel(val) {
666
996
  if (typeof val === 'number' && val > 0) {
667
997
  this._headerAriaLevel = val;
@@ -682,12 +1012,7 @@ class Accordion extends BaseComponent {
682
1012
  * @group Emits
683
1013
  */
684
1014
  onOpen = new EventEmitter();
685
- /**
686
- * Returns the active index.
687
- * @param {number | number[]} value - New index.
688
- * @group Emits
689
- */
690
- activeIndexChange = new EventEmitter();
1015
+ id = signal(UniqueComponentId());
691
1016
  tabList;
692
1017
  tabListSubscription = null;
693
1018
  _activeIndex;
@@ -695,6 +1020,22 @@ class Accordion extends BaseComponent {
695
1020
  preventActiveIndexPropagation = false;
696
1021
  tabs = [];
697
1022
  _componentStyle = inject(AccordionStyle);
1023
+ /**
1024
+ * Index of the active tab or an array of indexes in multiple mode.
1025
+ * @deprecated use value property with new architecture instead.
1026
+ * @group Props
1027
+ */
1028
+ get activeIndex() {
1029
+ return this._activeIndex;
1030
+ }
1031
+ /**
1032
+ * The aria-level that each accordion header will have. The default value is 2 as per W3C specifications
1033
+ * @deprecated use AccoridonHeader component and bind attribute to the host.
1034
+ * @group Props
1035
+ */
1036
+ get headerAriaLevel() {
1037
+ return this._headerAriaLevel;
1038
+ }
698
1039
  onKeydown(event) {
699
1040
  switch (event.code) {
700
1041
  case 'ArrowDown':
@@ -715,22 +1056,15 @@ class Accordion extends BaseComponent {
715
1056
  break;
716
1057
  }
717
1058
  }
718
- focusedElementIsAccordionHeader() {
719
- return document.activeElement.tagName.toLowerCase() === 'a' && document.activeElement.classList.contains('p-accordion-header-link');
720
- }
721
1059
  onTabArrowDownKey(event) {
722
- if (this.focusedElementIsAccordionHeader()) {
723
- const nextHeaderAction = this.findNextHeaderAction(event.target.parentElement.parentElement.parentElement);
724
- nextHeaderAction ? this.changeFocusedTab(nextHeaderAction) : this.onTabHomeKey(event);
725
- event.preventDefault();
726
- }
1060
+ const nextHeaderAction = this.findNextHeaderAction(event.target.parentElement);
1061
+ nextHeaderAction ? this.changeFocusedTab(nextHeaderAction) : this.onTabHomeKey(event);
1062
+ event.preventDefault();
727
1063
  }
728
1064
  onTabArrowUpKey(event) {
729
- if (this.focusedElementIsAccordionHeader()) {
730
- const prevHeaderAction = this.findPrevHeaderAction(event.target.parentElement.parentElement.parentElement);
731
- prevHeaderAction ? this.changeFocusedTab(prevHeaderAction) : this.onTabEndKey(event);
732
- event.preventDefault();
733
- }
1065
+ const prevHeaderAction = this.findPrevHeaderAction(event.target.parentElement);
1066
+ prevHeaderAction ? this.changeFocusedTab(prevHeaderAction) : this.onTabEndKey(event);
1067
+ event.preventDefault();
734
1068
  }
735
1069
  onTabHomeKey(event) {
736
1070
  const firstHeaderAction = this.findFirstHeaderAction();
@@ -740,10 +1074,10 @@ class Accordion extends BaseComponent {
740
1074
  changeFocusedTab(element) {
741
1075
  if (element) {
742
1076
  DomHandler.focus(element);
743
- if (this.selectOnFocus) {
1077
+ if (this.selectOnFocus()) {
744
1078
  this.tabs.forEach((tab, i) => {
745
- let selected = this.multiple ? this._activeIndex.includes(i) : i === this._activeIndex;
746
- if (this.multiple) {
1079
+ let selected = this.multiple() ? this._activeIndex.includes(i) : i === this._activeIndex;
1080
+ if (this.multiple()) {
747
1081
  if (!this._activeIndex) {
748
1082
  this._activeIndex = [];
749
1083
  }
@@ -775,29 +1109,28 @@ class Accordion extends BaseComponent {
775
1109
  }
776
1110
  findNextHeaderAction(tabElement, selfCheck = false) {
777
1111
  const nextTabElement = selfCheck ? tabElement : tabElement.nextElementSibling;
778
- const headerElement = DomHandler.findSingle(nextTabElement, '[data-pc-section="header"]');
1112
+ const headerElement = DomHandler.findSingle(nextTabElement, '[data-pc-section="accordionheader"]');
779
1113
  return headerElement
780
1114
  ? DomHandler.getAttribute(headerElement, 'data-p-disabled')
781
- ? this.findNextHeaderAction(headerElement.parentElement.parentElement)
782
- : DomHandler.findSingle(headerElement, '[data-pc-section="headeraction"]')
1115
+ ? this.findNextHeaderAction(headerElement.parentElement)
1116
+ : DomHandler.findSingle(headerElement.parentElement, '[data-pc-section="accordionheader"]')
783
1117
  : null;
784
1118
  }
785
1119
  findPrevHeaderAction(tabElement, selfCheck = false) {
786
1120
  const prevTabElement = selfCheck ? tabElement : tabElement.previousElementSibling;
787
- const headerElement = DomHandler.findSingle(prevTabElement, '[data-pc-section="header"]');
1121
+ const headerElement = DomHandler.findSingle(prevTabElement, '[data-pc-section="accordionheader"]');
788
1122
  return headerElement
789
1123
  ? DomHandler.getAttribute(headerElement, 'data-p-disabled')
790
- ? this.findPrevHeaderAction(headerElement.parentElement.parentElement)
791
- : DomHandler.findSingle(headerElement, '[data-pc-section="headeraction"]')
1124
+ ? this.findPrevHeaderAction(headerElement.parentElement)
1125
+ : DomHandler.findSingle(headerElement.parentElement, '[data-pc-section="accordionheader"]')
792
1126
  : null;
793
1127
  }
794
1128
  findFirstHeaderAction() {
795
- const firstEl = this.el.nativeElement.firstElementChild.childNodes[0];
1129
+ const firstEl = this.el.nativeElement.firstElementChild;
796
1130
  return this.findNextHeaderAction(firstEl, true);
797
1131
  }
798
1132
  findLastHeaderAction() {
799
- const childNodes = this.el.nativeElement.firstElementChild.childNodes;
800
- const lastEl = childNodes[childNodes.length - 1];
1133
+ const lastEl = this.el.nativeElement.lastElementChild;
801
1134
  return this.findPrevHeaderAction(lastEl, true);
802
1135
  }
803
1136
  onTabEndKey(event) {
@@ -825,7 +1158,7 @@ class Accordion extends BaseComponent {
825
1158
  updateSelectionState() {
826
1159
  if (this.tabs && this.tabs.length && this._activeIndex != null) {
827
1160
  for (let i = 0; i < this.tabs.length; i++) {
828
- let selected = this.multiple ? this._activeIndex.includes(i) : i === this._activeIndex;
1161
+ let selected = this.multiple() ? this._activeIndex.includes(i) : i === this._activeIndex;
829
1162
  let changed = selected !== this.tabs[i].selected;
830
1163
  if (changed) {
831
1164
  this.tabs[i].selected = selected;
@@ -836,16 +1169,16 @@ class Accordion extends BaseComponent {
836
1169
  }
837
1170
  }
838
1171
  isTabActive(index) {
839
- return this.multiple ? this._activeIndex && this._activeIndex.includes(index) : this._activeIndex === index;
1172
+ return this.multiple() ? this._activeIndex && this._activeIndex.includes(index) : this._activeIndex === index;
840
1173
  }
841
1174
  getTabProp(tab, name) {
842
1175
  return tab.props ? tab.props[name] : undefined;
843
1176
  }
844
1177
  updateActiveIndex() {
845
- let index = this.multiple ? [] : null;
1178
+ let index = this.multiple() ? [] : null;
846
1179
  this.tabs.forEach((tab, i) => {
847
1180
  if (tab.selected) {
848
- if (this.multiple) {
1181
+ if (this.multiple()) {
849
1182
  index.push(i);
850
1183
  }
851
1184
  else {
@@ -858,6 +1191,28 @@ class Accordion extends BaseComponent {
858
1191
  this._activeIndex = index;
859
1192
  this.activeIndexChange.emit(index);
860
1193
  }
1194
+ updateValue(value) {
1195
+ const currentValue = this.value();
1196
+ if (this.multiple()) {
1197
+ const newValue = Array.isArray(currentValue) ? [...currentValue] : [];
1198
+ const index = newValue.indexOf(value);
1199
+ if (index !== -1) {
1200
+ newValue.splice(index, 1);
1201
+ }
1202
+ else {
1203
+ newValue.push(value);
1204
+ }
1205
+ this.value.set(newValue);
1206
+ }
1207
+ else {
1208
+ if (currentValue === value) {
1209
+ this.value.set(undefined);
1210
+ }
1211
+ else {
1212
+ this.value.set(value);
1213
+ }
1214
+ }
1215
+ }
861
1216
  ngOnDestroy() {
862
1217
  if (this.tabListSubscription) {
863
1218
  this.tabListSubscription.unsubscribe();
@@ -865,7 +1220,7 @@ class Accordion extends BaseComponent {
865
1220
  super.ngOnDestroy();
866
1221
  }
867
1222
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: Accordion, deps: null, target: i0.ɵɵFactoryTarget.Component });
868
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.2", type: Accordion, isStandalone: true, selector: "p-accordion", inputs: { multiple: ["multiple", "multiple", booleanAttribute], style: "style", styleClass: "styleClass", expandIcon: "expandIcon", collapseIcon: "collapseIcon", activeIndex: "activeIndex", selectOnFocus: ["selectOnFocus", "selectOnFocus", booleanAttribute], headerAriaLevel: "headerAriaLevel" }, outputs: { onClose: "onClose", onOpen: "onOpen", activeIndexChange: "activeIndexChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class.p-accordion": "true", "class.p-component": "true", "class": "this.hostClass", "style": "this.hostStyle" } }, providers: [AccordionStyle], queries: [{ propertyName: "tabList", predicate: AccordionTab, descendants: true }], usesInheritance: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1223
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: Accordion, isStandalone: true, selector: "p-accordion", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, expandIcon: { classPropertyName: "expandIcon", publicName: "expandIcon", isSignal: false, isRequired: false, transformFunction: null }, collapseIcon: { classPropertyName: "collapseIcon", publicName: "collapseIcon", isSignal: false, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: true, isRequired: false, transformFunction: null }, transitionOptions: { classPropertyName: "transitionOptions", publicName: "transitionOptions", isSignal: false, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: false, isRequired: false, transformFunction: null }, headerAriaLevel: { classPropertyName: "headerAriaLevel", publicName: "headerAriaLevel", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", activeIndexChange: "activeIndexChange", onClose: "onClose", onOpen: "onOpen" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class.p-accordion": "true", "class.p-component": "true", "class": "this.hostClass", "style": "this.hostStyle" } }, providers: [AccordionStyle], queries: [{ propertyName: "tabList", predicate: AccordionTab, descendants: true }], usesInheritance: true, ngImport: i0, template: ` <ng-content /> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
869
1224
  }
870
1225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: Accordion, decorators: [{
871
1226
  type: Component,
@@ -873,7 +1228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
873
1228
  selector: 'p-accordion',
874
1229
  standalone: true,
875
1230
  imports: [CommonModule, AccordionTab, SharedModule],
876
- template: ` <ng-content></ng-content> `,
1231
+ template: ` <ng-content /> `,
877
1232
  host: {
878
1233
  '[class.p-accordion]': 'true',
879
1234
  '[class.p-component]': 'true',
@@ -887,9 +1242,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
887
1242
  }], hostStyle: [{
888
1243
  type: HostBinding,
889
1244
  args: ['style']
890
- }], multiple: [{
891
- type: Input,
892
- args: [{ transform: booleanAttribute }]
893
1245
  }], style: [{
894
1246
  type: Input
895
1247
  }], styleClass: [{
@@ -898,36 +1250,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
898
1250
  type: Input
899
1251
  }], collapseIcon: [{
900
1252
  type: Input
901
- }], activeIndex: [{
902
- type: Input
903
- }], selectOnFocus: [{
904
- type: Input,
905
- args: [{ transform: booleanAttribute }]
906
- }], headerAriaLevel: [{
1253
+ }], transitionOptions: [{
907
1254
  type: Input
1255
+ }], activeIndexChange: [{
1256
+ type: Output
908
1257
  }], onClose: [{
909
1258
  type: Output
910
1259
  }], onOpen: [{
911
1260
  type: Output
912
- }], activeIndexChange: [{
913
- type: Output
914
1261
  }], tabList: [{
915
1262
  type: ContentChildren,
916
1263
  args: [AccordionTab, { descendants: true }]
1264
+ }], activeIndex: [{
1265
+ type: Input
1266
+ }], headerAriaLevel: [{
1267
+ type: Input
917
1268
  }], onKeydown: [{
918
1269
  type: HostListener,
919
1270
  args: ['keydown', ['$event']]
920
1271
  }] } });
921
1272
  class AccordionModule {
922
1273
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
923
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: AccordionModule, imports: [Accordion, AccordionTab], exports: [Accordion, AccordionTab, SharedModule] });
924
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionModule, imports: [Accordion, AccordionTab, SharedModule] });
1274
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: AccordionModule, imports: [Accordion, AccordionTab, AccordionPanel, AccordionHeader, AccordionContent], exports: [Accordion, AccordionTab, SharedModule, AccordionPanel, AccordionHeader, AccordionContent] });
1275
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionModule, imports: [Accordion, AccordionTab, AccordionPanel, AccordionHeader, AccordionContent, SharedModule] });
925
1276
  }
926
1277
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: AccordionModule, decorators: [{
927
1278
  type: NgModule,
928
1279
  args: [{
929
- imports: [Accordion, AccordionTab],
930
- exports: [Accordion, AccordionTab, SharedModule],
1280
+ imports: [Accordion, AccordionTab, AccordionPanel, AccordionHeader, AccordionContent],
1281
+ exports: [Accordion, AccordionTab, SharedModule, AccordionPanel, AccordionHeader, AccordionContent],
931
1282
  }]
932
1283
  }] });
933
1284
 
@@ -935,5 +1286,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
935
1286
  * Generated bundle index. Do not edit.
936
1287
  */
937
1288
 
938
- export { Accordion, AccordionModule, AccordionTab };
1289
+ export { Accordion, AccordionClasses, AccordionContent, AccordionHeader, AccordionModule, AccordionPanel, AccordionStyle, AccordionTab };
939
1290
  //# sourceMappingURL=primeng-accordion.mjs.map