primeng 18.0.0-beta.1 → 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 (783) hide show
  1. package/README.md +1 -1
  2. package/accordion/accordion.d.ts +148 -23
  3. package/accordion/public_api.d.ts +1 -1
  4. package/accordion/style/accordionstyle.d.ts +37 -0
  5. package/api/translation.d.ts +2 -0
  6. package/autocomplete/autocomplete.d.ts +2 -3
  7. package/autocomplete/public_api.d.ts +1 -0
  8. package/autocomplete/style/autocompletestyle.d.ts +69 -0
  9. package/avatar/public_api.d.ts +1 -0
  10. package/avatar/style/avatarstyle.d.ts +25 -0
  11. package/avatargroup/avatargroup.d.ts +1 -1
  12. package/avatargroup/public_api.d.ts +1 -0
  13. package/avatargroup/style/avatargroupstyle.d.ts +14 -0
  14. package/badge/badge.d.ts +20 -26
  15. package/badge/public_api.d.ts +1 -0
  16. package/badge/style/badgestyle.d.ts +17 -0
  17. package/base/style/basestyle.d.ts +8 -0
  18. package/blockui/blockui.d.ts +1 -1
  19. package/blockui/public_api.d.ts +1 -0
  20. package/blockui/style/blockuistyle.d.ts +17 -0
  21. package/breadcrumb/breadcrumb.d.ts +0 -1
  22. package/breadcrumb/public_api.d.ts +1 -0
  23. package/breadcrumb/style/breadcrumbstyle.d.ts +45 -0
  24. package/button/button.d.ts +0 -1
  25. package/button/public_api.d.ts +1 -0
  26. package/button/style/buttonstyle.d.ts +29 -0
  27. package/buttongroup/buttongroup.d.ts +1 -1
  28. package/buttongroup/public_api.d.ts +1 -0
  29. package/buttongroup/style/buttongroupstyle.d.ts +17 -0
  30. package/calendar/public_api.d.ts +1 -0
  31. package/card/public_api.d.ts +1 -0
  32. package/card/style/cardstyle.d.ts +45 -0
  33. package/carousel/public_api.d.ts +1 -0
  34. package/carousel/style/carouselstyle.d.ts +69 -0
  35. package/cascadeselect/cascadeselect.d.ts +2 -2
  36. package/cascadeselect/public_api.d.ts +1 -0
  37. package/cascadeselect/style/cascadeselectstyle.d.ts +65 -0
  38. package/chart/public_api.d.ts +1 -0
  39. package/chart/style/chartstyle.d.ts +32 -0
  40. package/checkbox/public_api.d.ts +1 -0
  41. package/checkbox/style/checkboxstyle.d.ts +29 -0
  42. package/chip/public_api.d.ts +1 -0
  43. package/chip/style/chipstyle.d.ts +33 -0
  44. package/colorpicker/colorpicker.d.ts +1 -1
  45. package/colorpicker/public_api.d.ts +1 -0
  46. package/colorpicker/style/colorpickerstyle.d.ts +45 -0
  47. package/confirmdialog/confirmdialog.d.ts +1 -1
  48. package/confirmdialog/public_api.d.ts +1 -0
  49. package/confirmdialog/style/confirmdialogstyle.d.ts +33 -0
  50. package/confirmpopup/confirmpopup.d.ts +3 -3
  51. package/confirmpopup/public_api.d.ts +1 -0
  52. package/confirmpopup/style/confirmpopupstyle.d.ts +41 -0
  53. package/contextmenu/contextmenu.d.ts +2 -2
  54. package/contextmenu/public_api.d.ts +1 -0
  55. package/contextmenu/style/contextmenustyle.d.ts +54 -0
  56. package/dataview/dataview.d.ts +1 -1
  57. package/dataview/public_api.d.ts +1 -0
  58. package/dataview/style/dataviewstyle.d.ts +37 -0
  59. package/datepicker/datepicker.d.ts +1 -1
  60. package/datepicker/public_api.d.ts +1 -0
  61. package/datepicker/style/datepickerstyle.d.ts +165 -0
  62. package/dialog/style/dialogstyle.d.ts +49 -0
  63. package/divider/style/dividerstyle.d.ts +21 -0
  64. package/dock/public_api.d.ts +1 -0
  65. package/dock/style/dockstyle.d.ts +41 -0
  66. package/drawer/public_api.d.ts +1 -0
  67. package/drawer/style/drawerstyle.d.ts +37 -0
  68. package/dropdown/public_api.d.ts +1 -0
  69. package/dropdown/style/dropdownstyle.d.ts +14 -0
  70. package/dynamicdialog/dynamicdialog.d.ts +5 -0
  71. package/dynamicdialog/public_api.d.ts +1 -0
  72. package/dynamicdialog/style/dynamicdialogstyle.d.ts +49 -0
  73. package/editor/public_api.d.ts +1 -0
  74. package/editor/style/editorstyle.d.ts +25 -0
  75. package/esm2022/accordion/accordion.mjs +431 -81
  76. package/esm2022/accordion/public_api.mjs +2 -2
  77. package/esm2022/accordion/style/accordionstyle.mjs +39 -2
  78. package/esm2022/api/primengconfig.mjs +3 -1
  79. package/esm2022/api/translation.mjs +1 -1
  80. package/esm2022/autocomplete/autocomplete.mjs +6 -6
  81. package/esm2022/autocomplete/public_api.mjs +2 -1
  82. package/esm2022/autocomplete/style/autocompletestyle.mjs +69 -1
  83. package/esm2022/avatar/avatar.mjs +3 -2
  84. package/esm2022/avatar/public_api.mjs +2 -1
  85. package/esm2022/avatar/style/avatarstyle.mjs +25 -1
  86. package/esm2022/avatargroup/avatargroup.mjs +3 -3
  87. package/esm2022/avatargroup/public_api.mjs +2 -1
  88. package/esm2022/avatargroup/style/avatargroupstyle.mjs +14 -1
  89. package/esm2022/badge/badge.mjs +39 -51
  90. package/esm2022/badge/public_api.mjs +2 -1
  91. package/esm2022/badge/style/badgestyle.mjs +17 -1
  92. package/esm2022/basecomponent/basecomponent.mjs +3 -4
  93. package/esm2022/blockui/blockui.mjs +3 -3
  94. package/esm2022/blockui/public_api.mjs +2 -1
  95. package/esm2022/blockui/style/blockuistyle.mjs +17 -1
  96. package/esm2022/breadcrumb/breadcrumb.mjs +98 -119
  97. package/esm2022/breadcrumb/public_api.mjs +2 -1
  98. package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +45 -1
  99. package/esm2022/button/button.mjs +3 -7
  100. package/esm2022/button/public_api.mjs +2 -1
  101. package/esm2022/button/style/buttonstyle.mjs +29 -1
  102. package/esm2022/buttongroup/buttongroup.mjs +3 -3
  103. package/esm2022/buttongroup/public_api.mjs +2 -1
  104. package/esm2022/buttongroup/style/buttongroupstyle.mjs +17 -1
  105. package/esm2022/calendar/calendar.mjs +2 -2
  106. package/esm2022/calendar/public_api.mjs +2 -1
  107. package/esm2022/card/public_api.mjs +2 -1
  108. package/esm2022/card/style/cardstyle.mjs +45 -1
  109. package/esm2022/carousel/public_api.mjs +2 -1
  110. package/esm2022/carousel/style/carouselstyle.mjs +69 -1
  111. package/esm2022/cascadeselect/cascadeselect.mjs +15 -19
  112. package/esm2022/cascadeselect/public_api.mjs +2 -1
  113. package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +65 -1
  114. package/esm2022/chart/public_api.mjs +2 -1
  115. package/esm2022/chart/style/chartstyle.mjs +36 -0
  116. package/esm2022/checkbox/checkbox.mjs +1 -1
  117. package/esm2022/checkbox/public_api.mjs +2 -1
  118. package/esm2022/checkbox/style/checkboxstyle.mjs +29 -1
  119. package/esm2022/chip/public_api.mjs +2 -1
  120. package/esm2022/chip/style/chipstyle.mjs +33 -1
  121. package/esm2022/colorpicker/colorpicker.mjs +3 -3
  122. package/esm2022/colorpicker/public_api.mjs +2 -1
  123. package/esm2022/colorpicker/style/colorpickerstyle.mjs +45 -1
  124. package/esm2022/confirmdialog/confirmdialog.mjs +3 -3
  125. package/esm2022/confirmdialog/public_api.mjs +2 -1
  126. package/esm2022/confirmdialog/style/confirmdialogstyle.mjs +33 -1
  127. package/esm2022/confirmpopup/confirmpopup.mjs +11 -11
  128. package/esm2022/confirmpopup/public_api.mjs +2 -1
  129. package/esm2022/confirmpopup/style/confirmpopupstyle.mjs +41 -1
  130. package/esm2022/contextmenu/contextmenu.mjs +15 -15
  131. package/esm2022/contextmenu/public_api.mjs +2 -1
  132. package/esm2022/contextmenu/style/contextmenustyle.mjs +54 -1
  133. package/esm2022/dataview/dataview.mjs +3 -3
  134. package/esm2022/dataview/public_api.mjs +2 -1
  135. package/esm2022/dataview/style/dataviewstyle.mjs +37 -1
  136. package/esm2022/datepicker/datepicker.mjs +20 -8
  137. package/esm2022/datepicker/public_api.mjs +2 -1
  138. package/esm2022/datepicker/style/datepickerstyle.mjs +165 -1
  139. package/esm2022/dialog/dialog.mjs +21 -16
  140. package/esm2022/dialog/style/dialogstyle.mjs +49 -1
  141. package/esm2022/divider/divider.mjs +4 -4
  142. package/esm2022/divider/style/dividerstyle.mjs +21 -1
  143. package/esm2022/dock/public_api.mjs +2 -1
  144. package/esm2022/dock/style/dockstyle.mjs +41 -1
  145. package/esm2022/drawer/drawer.mjs +17 -13
  146. package/esm2022/drawer/public_api.mjs +2 -1
  147. package/esm2022/drawer/style/drawerstyle.mjs +37 -1
  148. package/esm2022/dropdown/dropdown.mjs +10 -10
  149. package/esm2022/dropdown/public_api.mjs +2 -1
  150. package/esm2022/dropdown/style/dropdownstyle.mjs +5 -2
  151. package/esm2022/dynamicdialog/dynamicdialog.mjs +94 -24
  152. package/esm2022/dynamicdialog/public_api.mjs +2 -1
  153. package/esm2022/dynamicdialog/style/dynamicdialogstyle.mjs +49 -1
  154. package/esm2022/editor/editor.mjs +6 -5
  155. package/esm2022/editor/public_api.mjs +2 -1
  156. package/esm2022/editor/style/editorstyle.mjs +25 -1
  157. package/esm2022/fieldset/fieldset.mjs +11 -21
  158. package/esm2022/fieldset/public_api.mjs +2 -1
  159. package/esm2022/fieldset/style/fieldsetstyle.mjs +37 -1
  160. package/esm2022/fileupload/fileupload.interface.mjs +1 -1
  161. package/esm2022/fileupload/fileupload.mjs +46 -13
  162. package/esm2022/fileupload/public_api.mjs +2 -1
  163. package/esm2022/fileupload/style/fileuploadstyle.mjs +73 -1
  164. package/esm2022/floatlabel/floatlabel.mjs +18 -13
  165. package/esm2022/floatlabel/public_api.mjs +2 -1
  166. package/esm2022/floatlabel/style/floatlabelstyle.mjs +79 -28
  167. package/esm2022/fluid/public_api.mjs +2 -1
  168. package/esm2022/fluid/style/fluidstyle.mjs +17 -1
  169. package/esm2022/galleria/galleria.mjs +113 -124
  170. package/esm2022/galleria/public_api.mjs +2 -1
  171. package/esm2022/galleria/style/galleriastyle.mjs +125 -1
  172. package/esm2022/iconfield/iconfield.mjs +4 -4
  173. package/esm2022/iconfield/public_api.mjs +2 -1
  174. package/esm2022/iconfield/style/iconfieldstyle.mjs +26 -17
  175. package/esm2022/iftalabel/iftalabel.mjs +43 -0
  176. package/esm2022/iftalabel/primeng-iftalabel.mjs +5 -0
  177. package/esm2022/iftalabel/public_api.mjs +3 -0
  178. package/esm2022/iftalabel/style/iftalabelstyle.mjs +96 -0
  179. package/esm2022/image/image.interface.mjs +1 -1
  180. package/esm2022/image/image.mjs +86 -42
  181. package/esm2022/image/public_api.mjs +2 -1
  182. package/esm2022/image/style/imagestyle.mjs +57 -1
  183. package/esm2022/inplace/inplace.mjs +3 -3
  184. package/esm2022/inplace/public_api.mjs +2 -1
  185. package/esm2022/inplace/style/inplacestyle.mjs +25 -1
  186. package/esm2022/inputgroup/public_api.mjs +2 -1
  187. package/esm2022/inputgroup/style/inputgroupstyle.mjs +46 -17
  188. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +15 -13
  189. package/esm2022/inputgroupaddon/public_api.mjs +2 -1
  190. package/esm2022/inputicon/inputicon.mjs +7 -4
  191. package/esm2022/inputicon/public_api.mjs +2 -1
  192. package/esm2022/inputmask/inputmask.mjs +2 -2
  193. package/esm2022/inputmask/public_api.mjs +2 -1
  194. package/esm2022/inputmask/style/inputmaskstyle.mjs +17 -1
  195. package/esm2022/inputnumber/inputnumber.mjs +219 -221
  196. package/esm2022/inputnumber/public_api.mjs +2 -1
  197. package/esm2022/inputnumber/style/inputnumberstyle.mjs +38 -1
  198. package/esm2022/inputotp/inputotp.mjs +4 -4
  199. package/esm2022/inputotp/public_api.mjs +2 -1
  200. package/esm2022/inputotp/style/inputotpstyle.mjs +21 -1
  201. package/esm2022/inputswitch/public_api.mjs +2 -1
  202. package/esm2022/inputtext/inputtext.mjs +11 -2
  203. package/esm2022/inputtext/public_api.mjs +2 -1
  204. package/esm2022/inputtext/style/inputtextstyle.mjs +17 -1
  205. package/esm2022/inputtextarea/public_api.mjs +2 -1
  206. package/esm2022/inputtextarea/style/textareastyle.mjs +17 -1
  207. package/esm2022/knob/public_api.mjs +2 -1
  208. package/esm2022/knob/style/knobstyle.mjs +29 -1
  209. package/esm2022/listbox/listbox.mjs +45 -20
  210. package/esm2022/listbox/public_api.mjs +2 -1
  211. package/esm2022/listbox/style/listboxstyle.mjs +53 -1
  212. package/esm2022/megamenu/megamenu.mjs +15 -15
  213. package/esm2022/megamenu/public_api.mjs +2 -1
  214. package/esm2022/megamenu/style/megamenustyle.mjs +81 -1
  215. package/esm2022/menu/menu.mjs +5 -3
  216. package/esm2022/menu/public_api.mjs +2 -1
  217. package/esm2022/menu/style/menustyle.mjs +57 -1
  218. package/esm2022/menubar/menubar.mjs +3 -3
  219. package/esm2022/menubar/public_api.mjs +2 -1
  220. package/esm2022/menubar/style/menubarstyle.mjs +65 -1
  221. package/esm2022/message/message.mjs +2 -34
  222. package/esm2022/message/style/messagestyle.mjs +38 -2
  223. package/esm2022/messages/public_api.mjs +2 -1
  224. package/esm2022/metergroup/metergroup.mjs +10 -10
  225. package/esm2022/metergroup/public_api.mjs +2 -1
  226. package/esm2022/metergroup/style/metergroupstyle.mjs +45 -1
  227. package/esm2022/multiselect/multiselect.mjs +683 -677
  228. package/esm2022/multiselect/public_api.mjs +2 -1
  229. package/esm2022/multiselect/style/multiselectstyle.mjs +85 -1
  230. package/esm2022/orderlist/orderlist.mjs +89 -17
  231. package/esm2022/orderlist/public_api.mjs +2 -1
  232. package/esm2022/orderlist/style/orderliststyle.mjs +21 -1
  233. package/esm2022/organizationchart/organizationchart.mjs +5 -5
  234. package/esm2022/organizationchart/public_api.mjs +2 -1
  235. package/esm2022/organizationchart/style/organizationchartstyle.mjs +53 -1
  236. package/esm2022/overlay/overlay.mjs +1 -1
  237. package/esm2022/overlay/public_api.mjs +2 -1
  238. package/esm2022/overlaybadge/overlaybadge.mjs +4 -6
  239. package/esm2022/overlaybadge/public_api.mjs +2 -1
  240. package/esm2022/overlaypanel/public_api.mjs +2 -1
  241. package/esm2022/overlaypanel/style/popoverstyle.mjs +21 -1
  242. package/esm2022/paginator/paginator.mjs +6 -6
  243. package/esm2022/paginator/public_api.mjs +2 -1
  244. package/esm2022/paginator/style/paginatorstyle.mjs +81 -1
  245. package/esm2022/panel/style/panelstyle.mjs +45 -1
  246. package/esm2022/panelmenu/panelmenu.mjs +30 -22
  247. package/esm2022/panelmenu/public_api.mjs +2 -1
  248. package/esm2022/panelmenu/style/panelmenustyle.mjs +83 -2
  249. package/esm2022/password/password.mjs +5 -3
  250. package/esm2022/password/public_api.mjs +2 -1
  251. package/esm2022/password/style/passwordstyle.mjs +45 -1
  252. package/esm2022/picklist/picklist.mjs +187 -17
  253. package/esm2022/picklist/public_api.mjs +2 -1
  254. package/esm2022/picklist/style/pickliststyle.mjs +37 -1
  255. package/esm2022/popover/public_api.mjs +2 -1
  256. package/esm2022/progressbar/progressbar.mjs +3 -3
  257. package/esm2022/progressbar/public_api.mjs +2 -1
  258. package/esm2022/progressbar/style/progressbarstyle.mjs +25 -1
  259. package/esm2022/progressspinner/progressspinner.mjs +3 -3
  260. package/esm2022/progressspinner/public_api.mjs +2 -1
  261. package/esm2022/progressspinner/style/progressspinnerstyle.mjs +25 -1
  262. package/esm2022/radiobutton/public_api.mjs +2 -1
  263. package/esm2022/radiobutton/radiobutton.mjs +4 -4
  264. package/esm2022/radiobutton/style/radiobuttonstyle.mjs +29 -1
  265. package/esm2022/rating/public_api.mjs +2 -1
  266. package/esm2022/rating/rating.mjs +11 -108
  267. package/esm2022/rating/style/ratingstyle.mjs +29 -1
  268. package/esm2022/ripple/public_api.mjs +2 -1
  269. package/esm2022/ripple/ripple.mjs +17 -12
  270. package/esm2022/ripple/style/ripplestyle.mjs +17 -1
  271. package/esm2022/scroller/public_api.mjs +2 -1
  272. package/esm2022/scroller/scroller.mjs +6 -6
  273. package/esm2022/scroller/style/scrollerstyle.mjs +104 -0
  274. package/esm2022/scrollpanel/public_api.mjs +2 -1
  275. package/esm2022/scrollpanel/scrollpanel.mjs +3 -3
  276. package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +33 -1
  277. package/esm2022/scrolltop/public_api.mjs +2 -1
  278. package/esm2022/scrolltop/scrolltop.mjs +21 -16
  279. package/esm2022/scrolltop/style/scrolltopstyle.mjs +21 -1
  280. package/esm2022/select/public_api.mjs +2 -1
  281. package/esm2022/select/select.mjs +17 -25
  282. package/esm2022/select/style/selectstyle.mjs +86 -2
  283. package/esm2022/selectbutton/public_api.mjs +2 -1
  284. package/esm2022/selectbutton/selectbutton.mjs +8 -8
  285. package/esm2022/selectbutton/style/selectbuttonstyle.mjs +19 -3
  286. package/esm2022/sidebar/public_api.mjs +2 -1
  287. package/esm2022/skeleton/public_api.mjs +2 -1
  288. package/esm2022/skeleton/style/skeletonstyle.mjs +17 -1
  289. package/esm2022/slider/public_api.mjs +2 -1
  290. package/esm2022/slider/style/sliderstyle.mjs +25 -1
  291. package/esm2022/speeddial/public_api.mjs +2 -1
  292. package/esm2022/speeddial/speeddial.interface.mjs +1 -1
  293. package/esm2022/speeddial/speeddial.mjs +74 -50
  294. package/esm2022/speeddial/style/speeddialstyle.mjs +42 -2
  295. package/esm2022/splitbutton/public_api.mjs +2 -1
  296. package/esm2022/splitbutton/splitbutton.mjs +25 -12
  297. package/esm2022/splitbutton/style/splitbuttonstyle.mjs +25 -1
  298. package/esm2022/splitter/public_api.mjs +2 -1
  299. package/esm2022/splitter/style/splitterstyle.mjs +25 -1
  300. package/esm2022/stepper/public_api.mjs +2 -2
  301. package/esm2022/stepper/stepper.mjs +367 -660
  302. package/esm2022/stepper/style/stepperstyle.mjs +21 -2
  303. package/esm2022/steps/public_api.mjs +2 -1
  304. package/esm2022/steps/style/stepsstyle.mjs +37 -1
  305. package/esm2022/table/public_api.mjs +2 -1
  306. package/esm2022/table/style/tablestyle.mjs +899 -0
  307. package/esm2022/table/table.mjs +46 -42
  308. package/esm2022/tabmenu/public_api.mjs +2 -1
  309. package/esm2022/tabmenu/style/tabmenustyle.mjs +42 -2
  310. package/esm2022/tabmenu/tabmenu.mjs +11 -7
  311. package/esm2022/tabs/public_api.mjs +6 -2
  312. package/esm2022/tabs/style/tabsstyle.mjs +49 -1
  313. package/esm2022/tabs/tab.mjs +171 -0
  314. package/esm2022/tabs/tablist.mjs +256 -0
  315. package/esm2022/tabs/tabpanel.mjs +49 -0
  316. package/esm2022/tabs/tabpanels.mjs +30 -0
  317. package/esm2022/tabs/tabs.mjs +45 -948
  318. package/esm2022/tabview/public_api.mjs +2 -1
  319. package/esm2022/tabview/style/tabsstyle.mjs +49 -1
  320. package/esm2022/tag/public_api.mjs +2 -1
  321. package/esm2022/tag/style/tagstyle.mjs +25 -1
  322. package/esm2022/terminal/public_api.mjs +2 -1
  323. package/esm2022/terminal/style/terminalstyle.mjs +49 -1
  324. package/esm2022/textarea/public_api.mjs +2 -1
  325. package/esm2022/textarea/style/textareastyle.mjs +17 -1
  326. package/esm2022/textarea/textarea.mjs +1 -2
  327. package/esm2022/themes/aura/aura.mjs +7 -3
  328. package/esm2022/themes/aura/floatlabel/index.mjs +29 -1
  329. package/esm2022/themes/aura/iftalabel/index.mjs +16 -0
  330. package/esm2022/themes/lara/floatlabel/index.mjs +27 -1
  331. package/esm2022/themes/lara/iftalabel/index.mjs +16 -0
  332. package/esm2022/themes/lara/lara.mjs +7 -3
  333. package/esm2022/themes/nora/floatlabel/index.mjs +27 -1
  334. package/esm2022/themes/nora/iftalabel/index.mjs +16 -0
  335. package/esm2022/themes/nora/nora.mjs +7 -3
  336. package/esm2022/tieredmenu/public_api.mjs +2 -1
  337. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +61 -1
  338. package/esm2022/tieredmenu/tieredmenu.mjs +15 -15
  339. package/esm2022/timeline/public_api.mjs +2 -1
  340. package/esm2022/timeline/style/timelinestyle.mjs +41 -1
  341. package/esm2022/timeline/timeline.mjs +54 -68
  342. package/esm2022/toast/public_api.mjs +2 -1
  343. package/esm2022/toast/style/toaststyle.mjs +49 -1
  344. package/esm2022/togglebutton/public_api.mjs +2 -1
  345. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +26 -2
  346. package/esm2022/togglebutton/togglebutton.mjs +84 -77
  347. package/esm2022/toggleswitch/public_api.mjs +2 -1
  348. package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +32 -5
  349. package/esm2022/toggleswitch/toggleswitch.mjs +44 -48
  350. package/esm2022/toolbar/public_api.mjs +2 -1
  351. package/esm2022/toolbar/style/toolbarstyle.mjs +29 -1
  352. package/esm2022/tooltip/public_api.mjs +2 -1
  353. package/esm2022/tooltip/style/tooltipstyle.mjs +25 -1
  354. package/esm2022/tree/public_api.mjs +2 -1
  355. package/esm2022/tree/style/treestyle.mjs +69 -1
  356. package/esm2022/tree/tree.mjs +15 -12
  357. package/esm2022/treeselect/public_api.mjs +2 -1
  358. package/esm2022/treeselect/style/treeselectstyle.mjs +53 -1
  359. package/esm2022/treeselect/treeselect.mjs +9 -58
  360. package/esm2022/treetable/public_api.mjs +2 -1
  361. package/esm2022/treetable/style/treetablestyle.mjs +98 -2
  362. package/esm2022/treetable/treetable.mjs +6 -6
  363. package/esm2022/utils/inpututils.mjs +7 -0
  364. package/esm2022/utils/public_api.mjs +3 -2
  365. package/fesm2022/primeng-accordion.mjs +470 -83
  366. package/fesm2022/primeng-accordion.mjs.map +1 -1
  367. package/fesm2022/primeng-api.mjs +2 -0
  368. package/fesm2022/primeng-api.mjs.map +1 -1
  369. package/fesm2022/primeng-autocomplete.mjs +74 -6
  370. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  371. package/fesm2022/primeng-avatar.mjs +27 -2
  372. package/fesm2022/primeng-avatar.mjs.map +1 -1
  373. package/fesm2022/primeng-avatargroup.mjs +16 -3
  374. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  375. package/fesm2022/primeng-badge.mjs +55 -51
  376. package/fesm2022/primeng-badge.mjs.map +1 -1
  377. package/fesm2022/primeng-basecomponent.mjs +2 -3
  378. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  379. package/fesm2022/primeng-blockui.mjs +19 -3
  380. package/fesm2022/primeng-blockui.mjs.map +1 -1
  381. package/fesm2022/primeng-breadcrumb.mjs +142 -119
  382. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  383. package/fesm2022/primeng-button.mjs +31 -7
  384. package/fesm2022/primeng-button.mjs.map +1 -1
  385. package/fesm2022/primeng-buttongroup.mjs +19 -3
  386. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  387. package/fesm2022/primeng-calendar.mjs +2 -2
  388. package/fesm2022/primeng-calendar.mjs.map +1 -1
  389. package/fesm2022/primeng-card.mjs +45 -1
  390. package/fesm2022/primeng-card.mjs.map +1 -1
  391. package/fesm2022/primeng-carousel.mjs +69 -1
  392. package/fesm2022/primeng-carousel.mjs.map +1 -1
  393. package/fesm2022/primeng-cascadeselect.mjs +79 -19
  394. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  395. package/fesm2022/primeng-chart.mjs +36 -2
  396. package/fesm2022/primeng-chart.mjs.map +1 -1
  397. package/fesm2022/primeng-checkbox.mjs +29 -1
  398. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  399. package/fesm2022/primeng-chip.mjs +33 -1
  400. package/fesm2022/primeng-chip.mjs.map +1 -1
  401. package/fesm2022/primeng-colorpicker.mjs +47 -3
  402. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  403. package/fesm2022/primeng-confirmdialog.mjs +35 -3
  404. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  405. package/fesm2022/primeng-confirmpopup.mjs +50 -10
  406. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  407. package/fesm2022/primeng-contextmenu.mjs +68 -15
  408. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  409. package/fesm2022/primeng-dataview.mjs +39 -3
  410. package/fesm2022/primeng-dataview.mjs.map +1 -1
  411. package/fesm2022/primeng-datepicker.mjs +184 -8
  412. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  413. package/fesm2022/primeng-dialog.mjs +69 -16
  414. package/fesm2022/primeng-dialog.mjs.map +1 -1
  415. package/fesm2022/primeng-divider.mjs +24 -4
  416. package/fesm2022/primeng-divider.mjs.map +1 -1
  417. package/fesm2022/primeng-dock.mjs +41 -1
  418. package/fesm2022/primeng-dock.mjs.map +1 -1
  419. package/fesm2022/primeng-drawer.mjs +53 -13
  420. package/fesm2022/primeng-drawer.mjs.map +1 -1
  421. package/fesm2022/primeng-dropdown.mjs +14 -11
  422. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  423. package/fesm2022/primeng-dynamicdialog.mjs +142 -24
  424. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  425. package/fesm2022/primeng-editor.mjs +29 -4
  426. package/fesm2022/primeng-editor.mjs.map +1 -1
  427. package/fesm2022/primeng-fieldset.mjs +47 -21
  428. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  429. package/fesm2022/primeng-fileupload.mjs +118 -13
  430. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  431. package/fesm2022/primeng-floatlabel.mjs +96 -40
  432. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  433. package/fesm2022/primeng-fluid.mjs +17 -1
  434. package/fesm2022/primeng-fluid.mjs.map +1 -1
  435. package/fesm2022/primeng-galleria.mjs +237 -124
  436. package/fesm2022/primeng-galleria.mjs.map +1 -1
  437. package/fesm2022/primeng-iconfield.mjs +29 -20
  438. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  439. package/fesm2022/primeng-iftalabel.mjs +143 -0
  440. package/fesm2022/primeng-iftalabel.mjs.map +1 -0
  441. package/fesm2022/primeng-image.mjs +141 -41
  442. package/fesm2022/primeng-image.mjs.map +1 -1
  443. package/fesm2022/primeng-inplace.mjs +27 -3
  444. package/fesm2022/primeng-inplace.mjs.map +1 -1
  445. package/fesm2022/primeng-inputgroup.mjs +46 -17
  446. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  447. package/fesm2022/primeng-inputgroupaddon.mjs +15 -13
  448. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  449. package/fesm2022/primeng-inputicon.mjs +7 -4
  450. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  451. package/fesm2022/primeng-inputmask.mjs +18 -2
  452. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  453. package/fesm2022/primeng-inputnumber.mjs +256 -221
  454. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  455. package/fesm2022/primeng-inputotp.mjs +24 -4
  456. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  457. package/fesm2022/primeng-inputswitch.mjs +1 -1
  458. package/fesm2022/primeng-inputtext.mjs +27 -2
  459. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  460. package/fesm2022/primeng-inputtextarea.mjs +17 -1
  461. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  462. package/fesm2022/primeng-knob.mjs +29 -1
  463. package/fesm2022/primeng-knob.mjs.map +1 -1
  464. package/fesm2022/primeng-listbox.mjs +97 -20
  465. package/fesm2022/primeng-listbox.mjs.map +1 -1
  466. package/fesm2022/primeng-megamenu.mjs +95 -15
  467. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  468. package/fesm2022/primeng-menu.mjs +60 -2
  469. package/fesm2022/primeng-menu.mjs.map +1 -1
  470. package/fesm2022/primeng-menubar.mjs +67 -3
  471. package/fesm2022/primeng-menubar.mjs.map +1 -1
  472. package/fesm2022/primeng-message.mjs +39 -35
  473. package/fesm2022/primeng-message.mjs.map +1 -1
  474. package/fesm2022/primeng-messages.mjs +1 -1
  475. package/fesm2022/primeng-metergroup.mjs +54 -10
  476. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  477. package/fesm2022/primeng-multiselect.mjs +767 -677
  478. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  479. package/fesm2022/primeng-orderlist.mjs +108 -16
  480. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  481. package/fesm2022/primeng-organizationchart.mjs +57 -5
  482. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  483. package/fesm2022/primeng-overlay.mjs +1 -1
  484. package/fesm2022/primeng-overlay.mjs.map +1 -1
  485. package/fesm2022/primeng-overlaybadge.mjs +4 -6
  486. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  487. package/fesm2022/primeng-overlaypanel.mjs +21 -1
  488. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  489. package/fesm2022/primeng-paginator.mjs +86 -6
  490. package/fesm2022/primeng-paginator.mjs.map +1 -1
  491. package/fesm2022/primeng-panel.mjs +45 -1
  492. package/fesm2022/primeng-panel.mjs.map +1 -1
  493. package/fesm2022/primeng-panelmenu.mjs +111 -22
  494. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  495. package/fesm2022/primeng-password.mjs +48 -2
  496. package/fesm2022/primeng-password.mjs.map +1 -1
  497. package/fesm2022/primeng-picklist.mjs +222 -16
  498. package/fesm2022/primeng-picklist.mjs.map +1 -1
  499. package/fesm2022/primeng-popover.mjs +1 -1
  500. package/fesm2022/primeng-progressbar.mjs +27 -3
  501. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  502. package/fesm2022/primeng-progressspinner.mjs +27 -3
  503. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  504. package/fesm2022/primeng-radiobutton.mjs +32 -4
  505. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  506. package/fesm2022/primeng-rating.mjs +39 -108
  507. package/fesm2022/primeng-rating.mjs.map +1 -1
  508. package/fesm2022/primeng-ripple.mjs +33 -12
  509. package/fesm2022/primeng-ripple.mjs.map +1 -1
  510. package/fesm2022/primeng-scroller.mjs +41 -9
  511. package/fesm2022/primeng-scroller.mjs.map +1 -1
  512. package/fesm2022/primeng-scrollpanel.mjs +35 -3
  513. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  514. package/fesm2022/primeng-scrolltop.mjs +41 -16
  515. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  516. package/fesm2022/primeng-select.mjs +102 -26
  517. package/fesm2022/primeng-select.mjs.map +1 -1
  518. package/fesm2022/primeng-selectbutton.mjs +26 -10
  519. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  520. package/fesm2022/primeng-sidebar.mjs +1 -1
  521. package/fesm2022/primeng-skeleton.mjs +17 -1
  522. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  523. package/fesm2022/primeng-slider.mjs +25 -1
  524. package/fesm2022/primeng-slider.mjs.map +1 -1
  525. package/fesm2022/primeng-speeddial.mjs +114 -50
  526. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  527. package/fesm2022/primeng-splitbutton.mjs +49 -12
  528. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  529. package/fesm2022/primeng-splitter.mjs +25 -1
  530. package/fesm2022/primeng-splitter.mjs.map +1 -1
  531. package/fesm2022/primeng-stepper.mjs +388 -662
  532. package/fesm2022/primeng-stepper.mjs.map +1 -1
  533. package/fesm2022/primeng-steps.mjs +37 -1
  534. package/fesm2022/primeng-steps.mjs.map +1 -1
  535. package/fesm2022/primeng-table.mjs +253 -75
  536. package/fesm2022/primeng-table.mjs.map +1 -1
  537. package/fesm2022/primeng-tabmenu.mjs +51 -7
  538. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  539. package/fesm2022/primeng-tabs.mjs +494 -872
  540. package/fesm2022/primeng-tabs.mjs.map +1 -1
  541. package/fesm2022/primeng-tabview.mjs +49 -1
  542. package/fesm2022/primeng-tabview.mjs.map +1 -1
  543. package/fesm2022/primeng-tag.mjs +25 -1
  544. package/fesm2022/primeng-tag.mjs.map +1 -1
  545. package/fesm2022/primeng-terminal.mjs +49 -1
  546. package/fesm2022/primeng-terminal.mjs.map +1 -1
  547. package/fesm2022/primeng-textarea.mjs +17 -2
  548. package/fesm2022/primeng-textarea.mjs.map +1 -1
  549. package/fesm2022/primeng-themes-aura.mjs +49 -2
  550. package/fesm2022/primeng-themes-aura.mjs.map +1 -1
  551. package/fesm2022/primeng-themes-lara.mjs +47 -2
  552. package/fesm2022/primeng-themes-lara.mjs.map +1 -1
  553. package/fesm2022/primeng-themes-nora.mjs +47 -2
  554. package/fesm2022/primeng-themes-nora.mjs.map +1 -1
  555. package/fesm2022/primeng-tieredmenu.mjs +75 -15
  556. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  557. package/fesm2022/primeng-timeline.mjs +94 -68
  558. package/fesm2022/primeng-timeline.mjs.map +1 -1
  559. package/fesm2022/primeng-toast.mjs +49 -1
  560. package/fesm2022/primeng-toast.mjs.map +1 -1
  561. package/fesm2022/primeng-togglebutton.mjs +109 -78
  562. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  563. package/fesm2022/primeng-toggleswitch.mjs +74 -51
  564. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  565. package/fesm2022/primeng-toolbar.mjs +29 -1
  566. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  567. package/fesm2022/primeng-tooltip.mjs +25 -1
  568. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  569. package/fesm2022/primeng-tree.mjs +83 -12
  570. package/fesm2022/primeng-tree.mjs.map +1 -1
  571. package/fesm2022/primeng-treeselect.mjs +61 -58
  572. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  573. package/fesm2022/primeng-treetable.mjs +102 -6
  574. package/fesm2022/primeng-treetable.mjs.map +1 -1
  575. package/fesm2022/primeng-utils.mjs +8 -1
  576. package/fesm2022/primeng-utils.mjs.map +1 -1
  577. package/fieldset/fieldset.d.ts +1 -6
  578. package/fieldset/public_api.d.ts +1 -0
  579. package/fieldset/style/fieldsetstyle.d.ts +37 -0
  580. package/fileupload/fileupload.d.ts +4 -1
  581. package/fileupload/fileupload.interface.d.ts +9 -0
  582. package/fileupload/public_api.d.ts +1 -0
  583. package/fileupload/style/fileuploadstyle.d.ts +73 -0
  584. package/floatlabel/floatlabel.d.ts +6 -1
  585. package/floatlabel/public_api.d.ts +1 -0
  586. package/floatlabel/style/floatlabelstyle.d.ts +20 -6
  587. package/fluid/public_api.d.ts +1 -0
  588. package/fluid/style/fluidstyle.d.ts +17 -0
  589. package/galleria/public_api.d.ts +1 -0
  590. package/galleria/style/galleriastyle.d.ts +125 -0
  591. package/iconfield/iconfield.d.ts +1 -1
  592. package/iconfield/public_api.d.ts +1 -0
  593. package/iconfield/style/iconfieldstyle.d.ts +17 -0
  594. package/iftalabel/iftalabel.d.ts +20 -0
  595. package/iftalabel/index.d.ts +5 -0
  596. package/iftalabel/public_api.d.ts +2 -0
  597. package/iftalabel/style/iftalabelstyle.d.ts +30 -0
  598. package/image/image.d.ts +2 -0
  599. package/image/image.interface.d.ts +32 -0
  600. package/image/public_api.d.ts +1 -0
  601. package/image/style/imagestyle.d.ts +57 -0
  602. package/inplace/public_api.d.ts +1 -0
  603. package/inplace/style/inplacestyle.d.ts +25 -0
  604. package/inputgroup/public_api.d.ts +1 -0
  605. package/inputgroup/style/inputgroupstyle.d.ts +17 -0
  606. package/inputgroupaddon/inputgroupaddon.d.ts +3 -0
  607. package/inputgroupaddon/public_api.d.ts +1 -0
  608. package/inputicon/public_api.d.ts +1 -0
  609. package/inputmask/public_api.d.ts +1 -0
  610. package/inputmask/style/inputmaskstyle.d.ts +17 -0
  611. package/inputnumber/inputnumber.d.ts +2 -1
  612. package/inputnumber/public_api.d.ts +1 -0
  613. package/inputnumber/style/inputnumberstyle.d.ts +33 -0
  614. package/inputotp/inputotp.d.ts +1 -1
  615. package/inputotp/public_api.d.ts +1 -0
  616. package/inputotp/style/inputotpstyle.d.ts +21 -0
  617. package/inputswitch/public_api.d.ts +1 -0
  618. package/inputtext/inputtext.d.ts +6 -1
  619. package/inputtext/public_api.d.ts +1 -0
  620. package/inputtext/style/inputtextstyle.d.ts +17 -0
  621. package/inputtextarea/public_api.d.ts +1 -0
  622. package/inputtextarea/style/textareastyle.d.ts +17 -0
  623. package/knob/public_api.d.ts +1 -0
  624. package/knob/style/knobstyle.d.ts +29 -0
  625. package/listbox/listbox.d.ts +14 -6
  626. package/listbox/public_api.d.ts +1 -0
  627. package/listbox/style/listboxstyle.d.ts +53 -0
  628. package/megamenu/megamenu.d.ts +2 -2
  629. package/megamenu/public_api.d.ts +1 -0
  630. package/megamenu/style/megamenustyle.d.ts +81 -0
  631. package/menu/public_api.d.ts +1 -0
  632. package/menu/style/menustyle.d.ts +57 -0
  633. package/menubar/public_api.d.ts +1 -0
  634. package/menubar/style/menubarstyle.d.ts +65 -0
  635. package/message/style/messagestyle.d.ts +37 -0
  636. package/messages/public_api.d.ts +1 -0
  637. package/metergroup/metergroup.d.ts +2 -2
  638. package/metergroup/public_api.d.ts +1 -0
  639. package/metergroup/style/metergroupstyle.d.ts +45 -0
  640. package/multiselect/multiselect.d.ts +5 -6
  641. package/multiselect/public_api.d.ts +1 -0
  642. package/multiselect/style/multiselectstyle.d.ts +85 -0
  643. package/orderlist/orderlist.d.ts +28 -1
  644. package/orderlist/public_api.d.ts +1 -0
  645. package/orderlist/style/orderliststyle.d.ts +21 -0
  646. package/organizationchart/organizationchart.d.ts +1 -1
  647. package/organizationchart/public_api.d.ts +1 -0
  648. package/organizationchart/style/organizationchartstyle.d.ts +53 -0
  649. package/overlay/public_api.d.ts +1 -0
  650. package/overlaybadge/overlaybadge.d.ts +2 -2
  651. package/overlaybadge/public_api.d.ts +1 -0
  652. package/overlaypanel/public_api.d.ts +1 -0
  653. package/overlaypanel/style/popoverstyle.d.ts +21 -0
  654. package/package.json +371 -365
  655. package/paginator/public_api.d.ts +1 -0
  656. package/paginator/style/paginatorstyle.d.ts +81 -0
  657. package/panel/style/panelstyle.d.ts +43 -0
  658. package/panelmenu/panelmenu.d.ts +4 -4
  659. package/panelmenu/public_api.d.ts +1 -0
  660. package/panelmenu/style/panelmenustyle.d.ts +82 -0
  661. package/password/password.d.ts +1 -1
  662. package/password/public_api.d.ts +1 -0
  663. package/password/style/passwordstyle.d.ts +45 -0
  664. package/picklist/picklist.d.ts +52 -5
  665. package/picklist/public_api.d.ts +1 -0
  666. package/picklist/style/pickliststyle.d.ts +37 -0
  667. package/popover/public_api.d.ts +1 -0
  668. package/progressbar/progressbar.d.ts +1 -1
  669. package/progressbar/public_api.d.ts +1 -0
  670. package/progressbar/style/progressbarstyle.d.ts +25 -0
  671. package/progressspinner/progressspinner.d.ts +1 -1
  672. package/progressspinner/public_api.d.ts +1 -0
  673. package/progressspinner/style/progressspinnerstyle.d.ts +25 -0
  674. package/radiobutton/public_api.d.ts +1 -0
  675. package/radiobutton/radiobutton.d.ts +1 -1
  676. package/radiobutton/style/radiobuttonstyle.d.ts +29 -0
  677. package/rating/public_api.d.ts +1 -0
  678. package/rating/rating.d.ts +1 -20
  679. package/rating/style/ratingstyle.d.ts +29 -0
  680. package/ripple/public_api.d.ts +1 -0
  681. package/ripple/ripple.d.ts +1 -0
  682. package/ripple/style/ripplestyle.d.ts +17 -0
  683. package/scroller/public_api.d.ts +1 -0
  684. package/scroller/scroller.d.ts +2 -2
  685. package/scroller/style/scrollerstyle.d.ts +43 -0
  686. package/scrollpanel/public_api.d.ts +1 -0
  687. package/scrollpanel/scrollpanel.d.ts +1 -1
  688. package/scrollpanel/style/scrollpanelstyle.d.ts +33 -0
  689. package/scrolltop/public_api.d.ts +1 -0
  690. package/scrolltop/scrolltop.d.ts +1 -1
  691. package/scrolltop/style/scrolltopstyle.d.ts +21 -0
  692. package/select/public_api.d.ts +1 -0
  693. package/select/style/selectstyle.d.ts +85 -0
  694. package/selectbutton/public_api.d.ts +1 -0
  695. package/selectbutton/selectbutton.d.ts +1 -1
  696. package/selectbutton/style/selectbuttonstyle.d.ts +17 -0
  697. package/sidebar/public_api.d.ts +1 -0
  698. package/skeleton/public_api.d.ts +1 -0
  699. package/skeleton/style/skeletonstyle.d.ts +17 -0
  700. package/slider/public_api.d.ts +1 -0
  701. package/slider/style/sliderstyle.d.ts +25 -0
  702. package/speeddial/public_api.d.ts +1 -0
  703. package/speeddial/speeddial.d.ts +25 -2
  704. package/speeddial/speeddial.interface.d.ts +17 -1
  705. package/speeddial/style/speeddialstyle.d.ts +41 -0
  706. package/splitbutton/public_api.d.ts +1 -0
  707. package/splitbutton/splitbutton.d.ts +6 -1
  708. package/splitbutton/style/splitbuttonstyle.d.ts +25 -0
  709. package/splitter/public_api.d.ts +1 -0
  710. package/splitter/style/splitterstyle.d.ts +25 -0
  711. package/stepper/public_api.d.ts +1 -1
  712. package/stepper/stepper.d.ts +140 -88
  713. package/stepper/style/stepperstyle.d.ts +21 -0
  714. package/steps/public_api.d.ts +1 -0
  715. package/steps/style/stepsstyle.d.ts +37 -0
  716. package/table/public_api.d.ts +1 -0
  717. package/table/style/tablestyle.d.ts +327 -0
  718. package/table/table.d.ts +5 -5
  719. package/tabmenu/public_api.d.ts +1 -0
  720. package/tabmenu/style/tabmenustyle.d.ts +41 -0
  721. package/tabmenu/tabmenu.d.ts +2 -1
  722. package/tabs/public_api.d.ts +5 -1
  723. package/tabs/style/tabsstyle.d.ts +49 -0
  724. package/tabs/tab.d.ts +47 -0
  725. package/tabs/tablist.d.ts +51 -0
  726. package/tabs/tabpanel.d.ts +20 -0
  727. package/tabs/tabpanels.d.ts +10 -0
  728. package/tabs/tabs.d.ts +31 -237
  729. package/tabview/public_api.d.ts +1 -0
  730. package/tabview/style/tabsstyle.d.ts +49 -0
  731. package/tag/public_api.d.ts +1 -0
  732. package/tag/style/tagstyle.d.ts +25 -0
  733. package/terminal/public_api.d.ts +1 -0
  734. package/terminal/style/terminalstyle.d.ts +49 -0
  735. package/textarea/public_api.d.ts +1 -0
  736. package/textarea/style/textareastyle.d.ts +17 -0
  737. package/themes/aura/aura.d.ts +45 -0
  738. package/themes/aura/floatlabel/index.d.ts +28 -0
  739. package/themes/aura/iftalabel/index.d.ts +16 -0
  740. package/themes/lara/floatlabel/index.d.ts +26 -0
  741. package/themes/lara/iftalabel/index.d.ts +16 -0
  742. package/themes/lara/lara.d.ts +43 -0
  743. package/themes/nora/floatlabel/index.d.ts +26 -0
  744. package/themes/nora/iftalabel/index.d.ts +16 -0
  745. package/themes/nora/nora.d.ts +43 -0
  746. package/tieredmenu/public_api.d.ts +1 -0
  747. package/tieredmenu/style/tieredmenustyle.d.ts +61 -0
  748. package/tieredmenu/tieredmenu.d.ts +2 -2
  749. package/timeline/public_api.d.ts +1 -0
  750. package/timeline/style/timelinestyle.d.ts +41 -0
  751. package/timeline/timeline.d.ts +1 -0
  752. package/toast/public_api.d.ts +1 -0
  753. package/toast/style/toaststyle.d.ts +49 -0
  754. package/togglebutton/public_api.d.ts +1 -0
  755. package/togglebutton/style/togglebuttonstyle.d.ts +25 -0
  756. package/togglebutton/togglebutton.d.ts +6 -7
  757. package/toggleswitch/public_api.d.ts +1 -0
  758. package/toggleswitch/style/toggleswitchstyle.d.ts +25 -0
  759. package/toolbar/public_api.d.ts +1 -0
  760. package/toolbar/style/toolbarstyle.d.ts +29 -0
  761. package/tooltip/public_api.d.ts +1 -0
  762. package/tooltip/style/tooltipstyle.d.ts +25 -0
  763. package/tree/public_api.d.ts +1 -0
  764. package/tree/style/treestyle.d.ts +69 -0
  765. package/tree/tree.d.ts +1 -0
  766. package/treeselect/public_api.d.ts +1 -0
  767. package/treeselect/style/treeselectstyle.d.ts +53 -0
  768. package/treeselect/treeselect.d.ts +1 -1
  769. package/treetable/public_api.d.ts +1 -0
  770. package/treetable/style/treetablestyle.d.ts +97 -0
  771. package/treetable/treetable.d.ts +1 -1
  772. package/utils/inpututils.d.ts +2 -0
  773. package/utils/public_api.d.ts +2 -1
  774. package/accordion/accordion.interface.d.ts +0 -49
  775. package/esm2022/accordion/accordion.interface.mjs +0 -2
  776. package/esm2022/scroller/style/virtualscrollerstyle.mjs +0 -72
  777. package/esm2022/stepper/stepper.interface.mjs +0 -2
  778. package/esm2022/table/style/datatablestyle.mjs +0 -725
  779. package/esm2022/tabs/tabs.interface.mjs +0 -2
  780. package/scroller/style/virtualscrollerstyle.d.ts +0 -10
  781. package/stepper/stepper.interface.d.ts +0 -26
  782. package/table/style/datatablestyle.d.ts +0 -124
  783. package/tabs/tabs.interface.d.ts +0 -49
@@ -1,18 +1,16 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule, isPlatformBrowser } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, inject, forwardRef, booleanAttribute, Component, Input, ContentChildren, EventEmitter, numberAttribute, ChangeDetectionStrategy, ViewEncapsulation, HostBinding, Output, ViewChild, NgModule } from '@angular/core';
5
- import { PrimeTemplate, SharedModule } from 'primeng/api';
4
+ import { Injectable, Component, ChangeDetectionStrategy, ViewEncapsulation, inject, forwardRef, model, computed, signal, effect, ContentChild, ViewChild, ContentChildren, input, booleanAttribute, HostListener, numberAttribute, NgModule } from '@angular/core';
5
+ import { BaseComponent } from 'primeng/basecomponent';
6
+ import { BaseStyle } from 'primeng/base';
7
+ import { ObjectUtils, UniqueComponentId } from 'primeng/utils';
8
+ import * as i2 from 'primeng/ripple';
9
+ import { RippleModule, Ripple } from 'primeng/ripple';
6
10
  import { DomHandler } from 'primeng/dom';
7
11
  import { ChevronLeftIcon } from 'primeng/icons/chevronleft';
8
12
  import { ChevronRightIcon } from 'primeng/icons/chevronright';
9
- import { TimesIcon } from 'primeng/icons/times';
10
- import { Ripple } from 'primeng/ripple';
11
- import * as i2 from 'primeng/tooltip';
12
- import { TooltipModule } from 'primeng/tooltip';
13
- import { UniqueComponentId } from 'primeng/utils';
14
- import { BaseStyle } from 'primeng/base';
15
- import { BaseComponent } from 'primeng/basecomponent';
13
+ import { PrimeTemplate } from 'primeng/api';
16
14
 
17
15
  const theme = ({ dt }) => `
18
16
  .p-tabs {
@@ -173,988 +171,612 @@ class TabsStyle extends BaseStyle {
173
171
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabsStyle, decorators: [{
174
172
  type: Injectable
175
173
  }] });
176
-
177
174
  /**
178
- * TabPanel is a helper component for Tabs component.
179
- * @group Components
175
+ *
176
+ * Tabs facilitates seamless switching between different views.
177
+ *
178
+ * [Live Demo](https://www.primeng.org/tabs/)
179
+ *
180
+ * @module tabsstyle
181
+ *
180
182
  */
181
- class TabPanel extends BaseComponent {
183
+ var TabsClasses;
184
+ (function (TabsClasses) {
182
185
  /**
183
- * Defines if tab can be removed.
184
- * @group Props
186
+ * Class name of the root element
185
187
  */
186
- closable = false;
188
+ TabsClasses["root"] = "p-tabs";
187
189
  /**
188
- * Inline style of the tab header.
189
- * @group Props
190
+ * Class name of the wrapper element
190
191
  */
191
- get headerStyle() {
192
- return this._headerStyle;
193
- }
194
- set headerStyle(headerStyle) {
195
- this._headerStyle = headerStyle;
196
- this.tabs.cd.markForCheck();
197
- }
192
+ TabsClasses["list"] = "p-tablist";
198
193
  /**
199
- * Style class of the tab header.
200
- * @group Props
194
+ * Class name of the content element
201
195
  */
202
- get headerStyleClass() {
203
- return this._headerStyleClass;
204
- }
205
- set headerStyleClass(headerStyleClass) {
206
- this._headerStyleClass = headerStyleClass;
207
- this.tabs.cd.markForCheck();
208
- }
196
+ TabsClasses["content"] = "p-tablist-content";
209
197
  /**
210
- * Whether a lazy loaded panel should avoid getting loaded again on reselection.
211
- * @group Props
198
+ * Class name of the tab list element
212
199
  */
213
- cache = true;
200
+ TabsClasses["tablist"] = "p-tablist-tab-list";
214
201
  /**
215
- * Advisory information to display in a tooltip on hover.
216
- * @group Props
202
+ * Class name of the tab list element
217
203
  */
218
- tooltip;
204
+ TabsClasses["tab"] = "p-tab";
219
205
  /**
220
- * Position of the tooltip.
221
- * @group Props
206
+ * Class name of the inkbar element
222
207
  */
223
- tooltipPosition = 'top';
208
+ TabsClasses["inkbar"] = "p-tablist-active-bar";
224
209
  /**
225
- * Type of CSS position.
226
- * @group Props
210
+ * Class name of the navigation buttons
227
211
  */
228
- tooltipPositionStyle = 'absolute';
212
+ TabsClasses["button"] = "p-tablist-nav-button";
229
213
  /**
230
- * Style class of the tooltip.
231
- * @group Props
214
+ * Class name of the tab panels wrapper
232
215
  */
233
- tooltipStyleClass;
216
+ TabsClasses["tabpanels"] = "p-tabpanels";
234
217
  /**
235
- * Defines if tab is active.
236
- * @defaultValue false
237
- * @group Props
218
+ * Class name of the tab panel element
238
219
  */
239
- get selected() {
240
- return !!this._selected;
241
- }
242
- set selected(val) {
243
- this._selected = val;
244
- if (!this.loaded) {
245
- this.cd.detectChanges();
246
- }
247
- if (val)
248
- this.loaded = true;
249
- }
250
- /**
251
- * When true, tab cannot be activated.
252
- * @defaultValue false
253
- * @group Props
254
- */
255
- get disabled() {
256
- return !!this._disabled;
257
- }
258
- set disabled(disabled) {
259
- this._disabled = disabled;
260
- this.tabs.cd.markForCheck();
261
- }
262
- /**
263
- * Title of the tabPanel.
264
- * @group Props
265
- */
266
- get header() {
267
- return this._header;
268
- }
269
- set header(header) {
270
- this._header = header;
271
- // We have to wait for the rendering and then retrieve the actual size element from the DOM.
272
- // in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)
273
- Promise.resolve().then(() => {
274
- this.tabs.updateInkBar();
275
- this.tabs.cd.markForCheck();
276
- });
277
- }
278
- /**
279
- * Left icon of the tabPanel.
280
- * @group Props
281
- * @deprecated since v15.4.2, use `lefticon` template instead.
282
- */
283
- get leftIcon() {
284
- return this._leftIcon;
285
- }
286
- set leftIcon(leftIcon) {
287
- this._leftIcon = leftIcon;
288
- this.tabs.cd.markForCheck();
289
- }
220
+ TabsClasses["tabpanel"] = "p-tabs-panel";
221
+ })(TabsClasses || (TabsClasses = {}));
222
+
223
+ /**
224
+ * TabPanels is a helper component for Tabs component.
225
+ * @group Components
226
+ */
227
+ class TabPanels extends BaseComponent {
228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabPanels, deps: null, target: i0.ɵɵFactoryTarget.Component });
229
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: TabPanels, isStandalone: true, selector: "p-tabpanels", host: { properties: { "class.p-tabpanels": "true", "class.p-component": "true", "attr.data-pc-name": "\"tabpanels\"", "attr.role": "\"presentation\"" } }, usesInheritance: true, ngImport: i0, template: ` <ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
230
+ }
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabPanels, decorators: [{
232
+ type: Component,
233
+ args: [{
234
+ selector: 'p-tabpanels',
235
+ standalone: true,
236
+ imports: [CommonModule],
237
+ template: ` <ng-content></ng-content>`,
238
+ changeDetection: ChangeDetectionStrategy.OnPush,
239
+ encapsulation: ViewEncapsulation.None,
240
+ host: {
241
+ '[class.p-tabpanels]': 'true',
242
+ '[class.p-component]': 'true',
243
+ '[attr.data-pc-name]': '"tabpanels"',
244
+ '[attr.role]': '"presentation"',
245
+ },
246
+ }]
247
+ }] });
248
+
249
+ /**
250
+ * TabPanel is a helper component for Tabs component.
251
+ * @group Components
252
+ */
253
+ class TabPanel extends BaseComponent {
254
+ pcTabs = inject(forwardRef(() => Tabs));
290
255
  /**
291
- * Left icon of the tabPanel.
256
+ * Value of the active tab.
257
+ * @defaultValue undefined
292
258
  * @group Props
293
- * @deprecated since v15.4.2, use `righticon` template instead.
294
259
  */
295
- get rightIcon() {
296
- return this._rightIcon;
297
- }
298
- set rightIcon(rightIcon) {
299
- this._rightIcon = rightIcon;
300
- this.tabs.cd.markForCheck();
301
- }
302
- templates;
303
- closed = false;
304
- _headerStyle;
305
- _headerStyleClass;
306
- _selected;
307
- _disabled;
308
- _header;
309
- _leftIcon;
310
- _rightIcon = undefined;
311
- loaded = false;
312
- id = UniqueComponentId();
313
- contentTemplate;
314
- headerTemplate;
315
- leftIconTemplate;
316
- rightIconTemplate;
317
- closeIconTemplate;
318
- tabs = inject(forwardRef(() => Tabs));
319
- _componentStyle = inject(TabsStyle);
320
- ngAfterContentInit() {
321
- this.templates.forEach((item) => {
322
- switch (item.getType()) {
323
- case 'header':
324
- this.headerTemplate = item.template;
325
- break;
326
- case 'content':
327
- this.contentTemplate = item.template;
328
- break;
329
- case 'righticon':
330
- this.rightIconTemplate = item.template;
331
- break;
332
- case 'lefticon':
333
- this.leftIconTemplate = item.template;
334
- break;
335
- case 'closeicon':
336
- this.closeIconTemplate = item.template;
337
- break;
338
- default:
339
- this.contentTemplate = item.template;
340
- break;
341
- }
342
- });
343
- }
260
+ value = model(undefined);
261
+ id = computed(() => `${this.pcTabs.id()}_tabpanel_${this.value()}`);
262
+ ariaLabelledby = computed(() => `${this.pcTabs.id()}_tab_${this.value()}`);
263
+ active = computed(() => ObjectUtils.equals(this.pcTabs.value(), this.value()));
344
264
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabPanel, deps: null, target: i0.ɵɵFactoryTarget.Component });
345
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.2", type: TabPanel, isStandalone: true, selector: "p-tabpanel", inputs: { closable: ["closable", "closable", booleanAttribute], headerStyle: "headerStyle", headerStyleClass: "headerStyleClass", cache: ["cache", "cache", booleanAttribute], tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", selected: "selected", disabled: "disabled", header: "header", leftIcon: "leftIcon", rightIcon: "rightIcon" }, providers: [TabsStyle], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, ngImport: i0, template: `
346
- <div
347
- *ngIf="!closed"
348
- class="p-tabs-panel"
349
- role="tabpanel"
350
- [hidden]="!selected"
351
- [attr.id]="tabs.getTabContentId(id)"
352
- [attr.aria-hidden]="!selected"
353
- [attr.aria-labelledby]="tabs.getTabHeaderActionId(id)"
354
- [attr.data-pc-name]="'tabpanel'"
355
- >
356
- <ng-content></ng-content>
357
- <ng-container *ngIf="contentTemplate && (cache ? loaded : selected)">
358
- <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
359
- </ng-container>
360
- </div>
361
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SharedModule }] });
265
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: TabPanel, isStandalone: true, selector: "p-tabpanel", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.p-tabpanel": "true", "class.p-component": "true", "attr.data-pc-name": "\"tabpanel\"", "attr.id": "id()", "attr.role": "\"tabpanel\"", "attr.aria-labelledby": "ariaLabelledby()", "attr.data-p-active": "active()" } }, usesInheritance: true, ngImport: i0, template: `@if (active()) {
266
+ <ng-content></ng-content>
267
+ }`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
362
268
  }
363
269
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabPanel, decorators: [{
364
270
  type: Component,
365
271
  args: [{
366
272
  selector: 'p-tabpanel',
367
273
  standalone: true,
368
- imports: [CommonModule, SharedModule],
369
- template: `
370
- <div
371
- *ngIf="!closed"
372
- class="p-tabs-panel"
373
- role="tabpanel"
374
- [hidden]="!selected"
375
- [attr.id]="tabs.getTabContentId(id)"
376
- [attr.aria-hidden]="!selected"
377
- [attr.aria-labelledby]="tabs.getTabHeaderActionId(id)"
378
- [attr.data-pc-name]="'tabpanel'"
379
- >
380
- <ng-content></ng-content>
381
- <ng-container *ngIf="contentTemplate && (cache ? loaded : selected)">
382
- <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
383
- </ng-container>
384
- </div>
385
- `,
386
- providers: [TabsStyle],
274
+ imports: [CommonModule],
275
+ template: `@if (active()) {
276
+ <ng-content></ng-content>
277
+ }`,
278
+ changeDetection: ChangeDetectionStrategy.OnPush,
279
+ encapsulation: ViewEncapsulation.None,
280
+ host: {
281
+ '[class.p-tabpanel]': 'true',
282
+ '[class.p-component]': 'true',
283
+ '[attr.data-pc-name]': '"tabpanel"',
284
+ '[attr.id]': 'id()',
285
+ '[attr.role]': '"tabpanel"',
286
+ '[attr.aria-labelledby]': 'ariaLabelledby()',
287
+ '[attr.data-p-active]': 'active()',
288
+ },
387
289
  }]
388
- }], propDecorators: { closable: [{
389
- type: Input,
390
- args: [{ transform: booleanAttribute }]
391
- }], headerStyle: [{
392
- type: Input
393
- }], headerStyleClass: [{
394
- type: Input
395
- }], cache: [{
396
- type: Input,
397
- args: [{ transform: booleanAttribute }]
398
- }], tooltip: [{
399
- type: Input
400
- }], tooltipPosition: [{
401
- type: Input
402
- }], tooltipPositionStyle: [{
403
- type: Input
404
- }], tooltipStyleClass: [{
405
- type: Input
406
- }], selected: [{
407
- type: Input
408
- }], disabled: [{
409
- type: Input
410
- }], header: [{
411
- type: Input
412
- }], leftIcon: [{
413
- type: Input
414
- }], rightIcon: [{
415
- type: Input
416
- }], templates: [{
417
- type: ContentChildren,
418
- args: [PrimeTemplate]
419
- }] } });
290
+ }] });
291
+
420
292
  /**
421
- * Tabs is a container component to group content with tabs.
293
+ * TabList is a helper component for Tabs component.
422
294
  * @group Components
423
295
  */
424
- class Tabs extends BaseComponent {
425
- get hostClass() {
426
- return this.styleClass;
427
- }
428
- get hostStyle() {
429
- return this.style;
430
- }
296
+ class TabList extends BaseComponent {
431
297
  /**
432
- * Inline style of the component.
433
- * @group Props
298
+ * A template reference variable that represents the previous icon in a UI component.
299
+ * @type {TemplateRef<any> | undefined}
300
+ * @group Templates
434
301
  */
435
- style;
302
+ prevIconTemplate;
436
303
  /**
437
- * Style class of the component.
438
- * @group Props
304
+ * A template reference variable that represents the next icon in a UI component.
305
+ * @type {TemplateRef<any> | undefined}
306
+ * @group Templates
439
307
  */
440
- styleClass;
441
- /**
442
- * Whether tab close is controlled at onClose event or not.
443
- * @defaultValue false
444
- * @group Props
445
- */
446
- controlClose;
447
- /**
448
- * When enabled displays buttons at each side of the tab headers to scroll the tab list.
449
- * @defaultValue false
450
- * @group Props
451
- */
452
- scrollable;
453
- /**
454
- * Index of the active tab to change selected tab programmatically.
455
- * @group Props
456
- */
457
- get activeIndex() {
458
- return this._activeIndex;
459
- }
460
- set activeIndex(val) {
461
- this._activeIndex = val;
462
- if (this.preventActiveIndexPropagation) {
463
- this.preventActiveIndexPropagation = false;
464
- return;
465
- }
466
- if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {
467
- this.findSelectedTab().selected = false;
468
- this.tabs[this._activeIndex].selected = true;
469
- this.tabChanged = true;
470
- this.updateScrollBar(val);
471
- }
472
- }
473
- /**
474
- * When enabled, the focused tab is activated.
475
- * @group Props
476
- */
477
- selectOnFocus = false;
478
- /**
479
- * Used to define a string aria label attribute the forward navigation button.
480
- * @group Props
481
- */
482
- nextButtonAriaLabel;
483
- /**
484
- * Used to define a string aria label attribute the backward navigation button.
485
- * @group Props
486
- */
487
- prevButtonAriaLabel;
488
- /**
489
- * When activated, navigation buttons will automatically hide or show based on the available space within the container.
490
- * @group Props
491
- */
492
- autoHideButtons = true;
493
- /**
494
- * Index of the element in tabbing order.
495
- * @group Props
496
- */
497
- tabindex = 0;
498
- /**
499
- * Callback to invoke on tab change.
500
- * @param {TabsChangeEvent} event - Custom tab change event
501
- * @group Emits
502
- */
503
- onChange = new EventEmitter();
504
- /**
505
- * Callback to invoke on tab close.
506
- * @param {TabsCloseEvent} event - Custom tab close event
507
- * @group Emits
508
- */
509
- onClose = new EventEmitter();
510
- /**
511
- * Callback to invoke on the active tab change.
512
- * @param {number} index - New active index
513
- * @group Emits
514
- */
515
- activeIndexChange = new EventEmitter();
308
+ nextIconTemplate;
516
309
  content;
517
- navbar;
518
- prevBtn;
519
- nextBtn;
310
+ prevButton;
311
+ nextButton;
520
312
  inkbar;
521
- tabPanels;
522
- templates;
523
- initialized;
524
313
  tabs;
525
- _activeIndex;
526
- preventActiveIndexPropagation;
527
- tabChanged;
528
- backwardIsDisabled = true;
529
- forwardIsDisabled = false;
530
- tabChangesSubscription;
531
- nextIconTemplate;
532
- previousIconTemplate;
314
+ templates;
315
+ pcTabs = inject(forwardRef(() => Tabs));
316
+ isPrevButtonEnabled = signal(false);
317
+ isNextButtonEnabled = signal(false);
533
318
  resizeObserver;
534
- container;
535
- list;
536
- buttonVisible;
537
- elementToObserve;
538
- _componentStyle = inject(TabsStyle);
539
- ngAfterContentInit() {
540
- this.initTabs();
541
- this.tabChangesSubscription = this.tabPanels.changes.subscribe((_) => {
542
- this.initTabs();
543
- this.refreshButtonState();
544
- });
545
- this.templates.forEach((item) => {
546
- switch (item.getType()) {
547
- case 'previousicon':
548
- this.previousIconTemplate = item.template;
549
- break;
550
- case 'nexticon':
551
- this.nextIconTemplate = item.template;
552
- break;
319
+ showNavigators = computed(() => this.pcTabs.showNavigators());
320
+ tabindex = computed(() => this.pcTabs.tabindex());
321
+ scrollable = computed(() => this.pcTabs.scrollable());
322
+ get prevButtonAriaLabel() {
323
+ return this.config.translation.aria.previous;
324
+ }
325
+ get nextButtonAriaLabel() {
326
+ return this.config.translation.aria.next;
327
+ }
328
+ constructor() {
329
+ super();
330
+ effect(() => {
331
+ this.pcTabs.value();
332
+ if (isPlatformBrowser(this.platformId)) {
333
+ setTimeout(() => {
334
+ this.updateInkBar();
335
+ });
553
336
  }
554
337
  });
555
338
  }
556
339
  ngAfterViewInit() {
557
340
  super.ngAfterViewInit();
558
- if (isPlatformBrowser(this.platformId)) {
559
- if (this.autoHideButtons) {
560
- this.bindResizeObserver();
561
- }
341
+ if (this.showNavigators() && isPlatformBrowser(this.platformId)) {
342
+ this.updateButtonState();
343
+ this.bindResizeObserver();
562
344
  }
563
345
  }
564
- bindResizeObserver() {
565
- this.container = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section="navcontent"]');
566
- this.list = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section="nav"]');
567
- this.resizeObserver = new ResizeObserver(() => {
568
- if (this.list.offsetWidth >= this.container.offsetWidth) {
569
- this.buttonVisible = true;
570
- }
571
- else {
572
- this.buttonVisible = false;
346
+ ngAfterContentInit() {
347
+ this.templates.forEach((t) => {
348
+ switch (t.getType()) {
349
+ case 'previcon':
350
+ this.prevIconTemplate = t.template;
351
+ break;
352
+ case 'nexticon':
353
+ this.nextIconTemplate = t.template;
354
+ break;
573
355
  }
574
- this.updateButtonState();
575
- this.cd.detectChanges();
576
356
  });
577
- this.resizeObserver.observe(this.container);
578
- }
579
- unbindResizeObserver() {
580
- this.resizeObserver.unobserve(this.elementToObserve.nativeElement);
581
- this.resizeObserver = null;
582
- }
583
- ngAfterViewChecked() {
584
- if (isPlatformBrowser(this.platformId)) {
585
- if (this.tabChanged) {
586
- this.updateInkBar();
587
- this.tabChanged = false;
588
- }
589
- }
590
357
  }
591
358
  ngOnDestroy() {
592
- if (this.tabChangesSubscription) {
593
- this.tabChangesSubscription.unsubscribe();
594
- }
595
- if (this.resizeObserver) {
596
- this.unbindResizeObserver();
597
- }
359
+ this.unbindResizeObserver();
598
360
  super.ngOnDestroy();
599
361
  }
600
- getTabHeaderActionId(tabId) {
601
- return `${tabId}_header_action`;
602
- }
603
- getTabContentId(tabId) {
604
- return `${tabId}_content`;
605
- }
606
- initTabs() {
607
- this.tabs = this.tabPanels.toArray();
608
- let selectedTab = this.findSelectedTab();
609
- if (!selectedTab && this.tabs.length) {
610
- if (this.activeIndex != null && this.tabs.length > this.activeIndex)
611
- this.tabs[this.activeIndex].selected = true;
612
- else
613
- this.tabs[0].selected = true;
614
- this.tabChanged = true;
615
- }
616
- this.cd.markForCheck();
617
- }
618
- onTabKeyDown(event, tab) {
619
- switch (event.code) {
620
- case 'ArrowLeft':
621
- this.onTabArrowLeftKey(event);
622
- break;
623
- case 'ArrowRight':
624
- this.onTabArrowRightKey(event);
625
- break;
626
- case 'Home':
627
- this.onTabHomeKey(event);
628
- break;
629
- case 'End':
630
- this.onTabEndKey(event);
631
- break;
632
- case 'PageDown':
633
- this.onTabEndKey(event);
634
- break;
635
- case 'PageUp':
636
- this.onTabHomeKey(event);
637
- break;
638
- case 'Enter':
639
- case 'Space':
640
- this.open(event, tab);
641
- break;
642
- default:
643
- break;
644
- }
645
- }
646
- onTabArrowLeftKey(event) {
647
- const prevHeaderAction = this.findPrevHeaderAction(event.currentTarget);
648
- const index = DomHandler.getAttribute(prevHeaderAction, 'data-pc-index');
649
- prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction, index) : this.onTabEndKey(event);
650
- event.preventDefault();
651
- }
652
- onTabArrowRightKey(event) {
653
- const nextHeaderAction = this.findNextHeaderAction(event.currentTarget);
654
- const index = DomHandler.getAttribute(nextHeaderAction, 'data-pc-index');
655
- nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction, index) : this.onTabHomeKey(event);
656
- event.preventDefault();
657
- }
658
- onTabHomeKey(event) {
659
- const firstHeaderAction = this.findFirstHeaderAction();
660
- const index = DomHandler.getAttribute(firstHeaderAction, 'data-pc-index');
661
- this.changeFocusedTab(event, firstHeaderAction, index);
662
- event.preventDefault();
663
- }
664
- onTabEndKey(event) {
665
- const lastHeaderAction = this.findLastHeaderAction();
666
- const index = DomHandler.getAttribute(lastHeaderAction, 'data-pc-index');
667
- this.changeFocusedTab(event, lastHeaderAction, index);
362
+ onScroll(event) {
363
+ this.showNavigators() && this.updateButtonState();
668
364
  event.preventDefault();
669
365
  }
670
- changeFocusedTab(event, element, index) {
671
- if (element) {
672
- DomHandler.focus(element);
673
- element.scrollIntoView({ block: 'nearest' });
674
- if (this.selectOnFocus) {
675
- const tab = this.tabs[index];
676
- this.open(event, tab);
677
- }
678
- }
679
- }
680
- findNextHeaderAction(tabElement, selfCheck = false) {
681
- const headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;
682
- return headerElement
683
- ? DomHandler.getAttribute(headerElement, 'data-p-disabled') ||
684
- DomHandler.getAttribute(headerElement, 'data-pc-section') === 'inkbar'
685
- ? this.findNextHeaderAction(headerElement)
686
- : headerElement
687
- : null;
688
- }
689
- findPrevHeaderAction(tabElement, selfCheck = false) {
690
- const headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;
691
- return headerElement
692
- ? DomHandler.getAttribute(headerElement, 'data-p-disabled') ||
693
- DomHandler.getAttribute(headerElement, 'data-pc-section') === 'inkbar'
694
- ? this.findPrevHeaderAction(headerElement)
695
- : headerElement
696
- : null;
697
- }
698
- findFirstHeaderAction() {
699
- const firstEl = this.navbar.nativeElement.firstElementChild;
700
- return this.findNextHeaderAction(firstEl, true);
366
+ onPrevButtonClick() {
367
+ const _content = this.content.nativeElement;
368
+ const width = DomHandler.getWidth(_content);
369
+ const pos = _content.scrollLeft - width;
370
+ _content.scrollLeft = pos <= 0 ? 0 : pos;
701
371
  }
702
- findLastHeaderAction() {
703
- const lastEl = this.navbar.nativeElement.lastElementChild;
704
- const lastHeaderAction = DomHandler.getAttribute(lastEl, 'data-pc-section') === 'inkbar' ? lastEl.previousElementSibling : lastEl;
705
- return this.findPrevHeaderAction(lastHeaderAction, true);
706
- }
707
- open(event, tab) {
708
- if (tab.disabled) {
709
- if (event) {
710
- event.preventDefault();
711
- }
712
- return;
713
- }
714
- if (!tab.selected) {
715
- let selectedTab = this.findSelectedTab();
716
- if (selectedTab) {
717
- selectedTab.selected = false;
718
- }
719
- this.tabChanged = true;
720
- tab.selected = true;
721
- let selectedTabIndex = this.findTabIndex(tab);
722
- this.preventActiveIndexPropagation = true;
723
- this.activeIndexChange.emit(selectedTabIndex);
724
- this.onChange.emit({ originalEvent: event, index: selectedTabIndex });
725
- this.updateScrollBar(selectedTabIndex);
726
- }
727
- if (event) {
728
- event.preventDefault();
729
- }
730
- }
731
- close(event, tab) {
732
- if (this.controlClose) {
733
- this.onClose.emit({
734
- originalEvent: event,
735
- index: this.findTabIndex(tab),
736
- close: () => {
737
- this.closeTab(tab);
738
- },
739
- });
740
- }
741
- else {
742
- this.closeTab(tab);
743
- this.onClose.emit({
744
- originalEvent: event,
745
- index: this.findTabIndex(tab),
746
- });
747
- }
748
- event.stopPropagation();
749
- }
750
- closeTab(tab) {
751
- if (tab.disabled) {
752
- return;
753
- }
754
- if (tab.selected) {
755
- this.tabChanged = true;
756
- tab.selected = false;
757
- for (let i = 0; i < this.tabs.length; i++) {
758
- let tabPanel = this.tabs[i];
759
- if (!tabPanel.closed && !tab.disabled) {
760
- tabPanel.selected = true;
761
- break;
762
- }
763
- }
764
- }
765
- tab.closed = true;
766
- }
767
- findSelectedTab() {
768
- for (let i = 0; i < this.tabs.length; i++) {
769
- if (this.tabs[i].selected) {
770
- return this.tabs[i];
771
- }
772
- }
773
- return null;
774
- }
775
- findTabIndex(tab) {
776
- let index = -1;
777
- for (let i = 0; i < this.tabs.length; i++) {
778
- if (this.tabs[i] == tab) {
779
- index = i;
780
- break;
781
- }
782
- }
783
- return index;
784
- }
785
- getBlockableElement() {
786
- return this.el.nativeElement.children[0];
787
- }
788
- updateInkBar() {
789
- if (isPlatformBrowser(this.platformId)) {
790
- if (this.navbar) {
791
- const tabHeader = DomHandler.findSingle(this.navbar.nativeElement, '[data-pc-section="headeraction"][data-p-active="true"]');
792
- if (!tabHeader) {
793
- return;
794
- }
795
- this.inkbar.nativeElement.style.width = DomHandler.getOuterWidth(tabHeader) + 'px';
796
- this.inkbar.nativeElement.style.left =
797
- DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';
798
- }
799
- }
800
- }
801
- updateScrollBar(index) {
802
- let tabHeader = DomHandler.find(this.navbar.nativeElement, '[data-pc-section="headeraction"]')[index];
803
- if (tabHeader) {
804
- tabHeader.scrollIntoView({ block: 'nearest' });
805
- }
372
+ onNextButtonClick() {
373
+ const _content = this.content.nativeElement;
374
+ const width = DomHandler.getWidth(_content) - this.getVisibleButtonWidths();
375
+ const pos = _content.scrollLeft + width;
376
+ const lastPos = _content.scrollWidth - width;
377
+ _content.scrollLeft = pos >= lastPos ? lastPos : pos;
806
378
  }
807
379
  updateButtonState() {
808
- const content = this.content.nativeElement;
809
- const { scrollLeft, scrollWidth } = content;
810
- const width = DomHandler.getWidth(content);
811
- this.backwardIsDisabled = scrollLeft === 0;
812
- this.forwardIsDisabled = Math.round(scrollLeft) === scrollWidth - width;
380
+ const _content = this.content?.nativeElement;
381
+ const _list = this.el?.nativeElement;
382
+ const { scrollLeft, scrollTop, scrollWidth, scrollHeight, offsetWidth, offsetHeight } = _content;
383
+ const [width, height] = [DomHandler.getWidth(_content), DomHandler.getHeight(_content)];
384
+ this.isPrevButtonEnabled.set(scrollLeft !== 0);
385
+ this.isNextButtonEnabled.set(_list.offsetWidth >= offsetWidth && scrollLeft !== scrollWidth - width);
813
386
  }
814
- refreshButtonState() {
815
- this.container = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section="navcontent"]');
816
- this.list = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section="nav"]');
817
- if (this.list.offsetWidth >= this.container.offsetWidth) {
818
- if (this.list.offsetWidth >= this.container.offsetWidth) {
819
- this.buttonVisible = true;
820
- }
821
- else {
822
- this.buttonVisible = false;
823
- }
824
- this.updateButtonState();
825
- this.cd.markForCheck();
826
- }
827
- }
828
- onScroll(event) {
829
- this.scrollable && this.updateButtonState();
830
- event.preventDefault();
387
+ updateInkBar() {
388
+ const _content = this.content.nativeElement;
389
+ const _inkbar = this.inkbar.nativeElement;
390
+ const _tabs = this.tabs.nativeElement;
391
+ const activeTab = DomHandler.findSingle(_content, '[data-pc-name="tab"][data-p-active="true"]');
392
+ _inkbar.style.width = DomHandler.getOuterWidth(activeTab) + 'px';
393
+ _inkbar.style.left = DomHandler.getOffset(activeTab).left - DomHandler.getOffset(_tabs).left + 'px';
831
394
  }
832
395
  getVisibleButtonWidths() {
833
- return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + DomHandler.getWidth(el) : acc), 0);
396
+ const _prevBtn = this.prevButton?.nativeElement;
397
+ const _nextBtn = this.nextButton?.nativeElement;
398
+ return [_prevBtn, _nextBtn].reduce((acc, el) => (el ? acc + DomHandler.getWidth(el) : acc), 0);
834
399
  }
835
- navBackward() {
836
- const content = this.content.nativeElement;
837
- const width = DomHandler.getWidth(content) - this.getVisibleButtonWidths();
838
- const pos = content.scrollLeft - width;
839
- content.scrollLeft = pos <= 0 ? 0 : pos;
400
+ bindResizeObserver() {
401
+ this.resizeObserver = new ResizeObserver(() => this.updateButtonState());
402
+ this.resizeObserver.observe(this.el.nativeElement);
840
403
  }
841
- navForward() {
842
- const content = this.content.nativeElement;
843
- const width = DomHandler.getWidth(content) - this.getVisibleButtonWidths();
844
- const pos = content.scrollLeft + width;
845
- const lastPos = content.scrollWidth - width;
846
- content.scrollLeft = pos >= lastPos ? lastPos : pos;
404
+ unbindResizeObserver() {
405
+ if (this.resizeObserver) {
406
+ this.resizeObserver.unobserve(this.el.nativeElement);
407
+ this.resizeObserver = null;
408
+ }
847
409
  }
848
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: Tabs, deps: null, target: i0.ɵɵFactoryTarget.Component });
849
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: Tabs, isStandalone: true, selector: "p-tabs", inputs: { style: "style", styleClass: "styleClass", controlClose: ["controlClose", "controlClose", booleanAttribute], scrollable: ["scrollable", "scrollable", booleanAttribute], activeIndex: "activeIndex", selectOnFocus: ["selectOnFocus", "selectOnFocus", booleanAttribute], nextButtonAriaLabel: "nextButtonAriaLabel", prevButtonAriaLabel: "prevButtonAriaLabel", autoHideButtons: ["autoHideButtons", "autoHideButtons", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute] }, outputs: { onChange: "onChange", onClose: "onClose", activeIndexChange: "activeIndexChange" }, host: { properties: { "class.p-tabs": "true", "class.p-tabs-scrollable": "scrollable", "class.p-component": "true", "attr.data-pc-name": "tabs", "class": "this.hostClass", "style": "this.hostStyle" } }, providers: [TabsStyle], queries: [{ propertyName: "tabPanels", predicate: TabPanel }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }, { propertyName: "prevBtn", first: true, predicate: ["prevBtn"], descendants: true }, { propertyName: "nextBtn", first: true, predicate: ["nextBtn"], descendants: true }, { propertyName: "inkbar", first: true, predicate: ["inkbar"], descendants: true }, { propertyName: "elementToObserve", first: true, predicate: ["elementToObserve"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
850
- <div #elementToObserve class="p-tablist">
410
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabList, deps: [], target: i0.ɵɵFactoryTarget.Component });
411
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: TabList, isStandalone: true, selector: "p-tablist", host: { properties: { "class.p-tablist": "true", "class.p-component": "true", "attr.data-pc-name": "\"tablist\"" } }, queries: [{ propertyName: "prevIconTemplate", first: true, predicate: ["previcon"], descendants: true }, { propertyName: "nextIconTemplate", first: true, predicate: ["nexticon"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "prevButton", first: true, predicate: ["prevButton"], descendants: true }, { propertyName: "nextButton", first: true, predicate: ["nextButton"], descendants: true }, { propertyName: "inkbar", first: true, predicate: ["inkbar"], descendants: true }, { propertyName: "tabs", first: true, predicate: ["tabs"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
412
+ @if (showNavigators() && isPrevButtonEnabled()) {
851
413
  <button
852
- *ngIf="scrollable && !backwardIsDisabled && autoHideButtons"
853
- #prevBtn
854
- class="p-tablist-prev-button p-tablist-nav-button"
855
- (click)="navBackward()"
856
- [attr.tabindex]="tabindex"
857
- [attr.aria-label]="prevButtonAriaLabel"
858
- type="button"
414
+ #prevButton
859
415
  pRipple
416
+ class="p-tablist-nav-button p-tablist-prev-button"
417
+ [attr.aria-label]="prevButtonAriaLabel"
418
+ [attr.tabindex]="tabindex"
419
+ [attr.data-pc-group-section]="'navigator'"
420
+ (click)="onPrevButtonClick()"
860
421
  >
861
- <ChevronLeftIcon *ngIf="!previousIconTemplate" [attr.aria-hidden]="true" />
862
- <ng-template *ngTemplateOutlet="previousIconTemplate"></ng-template>
422
+ @if (prevIconTemplate) {
423
+ <ng-container *ngTemplateOutlet="prevIconTemplate"></ng-container>
424
+ } @else {
425
+ <ChevronLeftIcon />
426
+ }
863
427
  </button>
864
- <div
865
- #content
866
- class="p-tablist-content"
867
- [ngClass]="{ 'p-tablist-viewport': scrollable }"
868
- (scroll)="onScroll($event)"
869
- [attr.data-pc-section]="'navcontent'"
870
- >
871
- <div #navbar class="p-tablist-tab-list" role="tablist" [attr.data-pc-section]="'nav'">
872
- @for (tab of tabs; track tab; let i = $index) {
873
- @if (!tab.closed) {
874
- <button
875
- [ngClass]="{
876
- 'p-tab': true,
877
- 'p-tab-active': tab.selected,
878
- 'p-disabled': tab.disabled,
879
- }"
880
- [attr.role]="'tab'"
881
- [class]="tab.headerStyleClass"
882
- [ngStyle]="tab.headerStyle"
883
- [pTooltip]="tab.tooltip"
884
- [tooltipPosition]="tab.tooltipPosition"
885
- [positionStyle]="tab.tooltipPositionStyle"
886
- [tooltipStyleClass]="tab.tooltipStyleClass"
887
- [attr.id]="getTabHeaderActionId(tab.id)"
888
- [attr.aria-controls]="getTabContentId(tab.id)"
889
- [attr.aria-selected]="tab.selected"
890
- [attr.tabindex]="tab.disabled || !tab.selected ? '-1' : tabindex"
891
- [attr.aria-disabled]="tab.disabled"
892
- [disabled]="tab.disabled"
893
- [attr.data-pc-index]="i"
894
- [attr.data-p-disabled]="tab.disabled"
895
- [attr.data-pc-section]="'headeraction'"
896
- [attr.data-p-active]="tab.selected"
897
- (click)="open($event, tab)"
898
- (keydown)="onTabKeyDown($event, tab)"
899
- pRipple
900
- >
901
- @if (tab.headerTemplate) {
902
- <ng-container *ngTemplateOutlet="tab.headerTemplate"></ng-container>
903
- } @else {
904
- @if (tab.leftIconTemplate) {
905
- <ng-template *ngTemplateOutlet="tab.leftIconTemplate"></ng-template>
906
- } @else if (tab.leftIcon && !tab.leftIconTemplate) {
907
- <span class="p-tabs-left-icon" [ngClass]="tab.leftIcon"></span>
908
- }
909
-
910
- {{ tab.header }}
911
-
912
- @if (tab.rightIconTemplate) {
913
- <ng-template *ngTemplateOutlet="tab.rightIconTemplate"></ng-template>
914
- } @else if (tab.rightIcon && !tab.rightIconTemplate) {
915
- <span class="p-tabs-right-icon" [ngClass]="tab.rightIcon"></span>
916
- }
917
-
918
- @if (tab.closable) {
919
- @if (tab.closeIconTemplate) {
920
- <ng-template *ngTemplateOutlet="tab.closeIconTemplate"></ng-template>
921
- } @else {
922
- <TimesIcon (click)="close($event, tab)" />
923
- }
924
- }
925
- }
926
- </button>
927
- <span
928
- #inkbar
929
- class="p-tablist-active-bar"
930
- role="presentation"
931
- [attr.aria-hidden]="true"
932
- [attr.data-pc-section]="'inkbar'"
933
- ></span>
934
- }
935
- }
936
- </div>
428
+ }
429
+ <div #content class="p-tablist-content" [ngClass]="{ 'p-tablist-viewport': scrollable() }" (scroll)="onScroll($event)">
430
+ <div #tabs class="p-tablist-tab-list" role="tablist">
431
+ <ng-content></ng-content>
432
+ <span #inkbar role="presentation" class="p-tablist-active-bar" [attr.data-pc-section]="'inkbar'"></span>
937
433
  </div>
434
+ </div>
435
+ @if (showNavigators() && isNextButtonEnabled()) {
938
436
  <button
939
- *ngIf="scrollable && !forwardIsDisabled && buttonVisible"
940
- #nextBtn
941
- [attr.tabindex]="tabindex"
942
- [attr.aria-label]="nextButtonAriaLabel"
943
- class="p-tablist-next-button p-tablist-nav-button"
944
- (click)="navForward()"
945
- type="button"
437
+ #nextButton
946
438
  pRipple
439
+ class="p-tablist-nav-button p-tablist-next-button"
440
+ [attr.aria-label]="nextButtonAriaLabel"
441
+ [attr.tabindex]="tabindex"
442
+ [attr.data-pc-group-section]="'navigator'"
443
+ (click)="onNextButtonClick()"
947
444
  >
948
445
  @if (nextIconTemplate) {
949
- <ng-template *ngTemplateOutlet="nextIconTemplate"></ng-template>
446
+ <ng-container *ngTemplateOutlet="nextIconTemplate"></ng-container>
950
447
  } @else {
951
- <ChevronRightIcon [attr.aria-hidden]="true" />
448
+ <ChevronRightIcon />
952
449
  }
953
450
  </button>
954
- </div>
955
- <div class="p-tabpanels">
956
- <ng-content></ng-content>
957
- </div>
958
- `, 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: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "component", type: ChevronLeftIcon, selector: "ChevronLeftIcon" }, { kind: "component", type: ChevronRightIcon, selector: "ChevronRightIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
451
+ }
452
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ChevronLeftIcon, selector: "ChevronLeftIcon" }, { kind: "component", type: ChevronRightIcon, selector: "ChevronRightIcon" }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
959
453
  }
960
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: Tabs, decorators: [{
454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabList, decorators: [{
961
455
  type: Component,
962
456
  args: [{
963
- selector: 'p-tabs',
457
+ selector: 'p-tablist',
964
458
  standalone: true,
965
- imports: [CommonModule, TabPanel, SharedModule, TooltipModule, Ripple, TimesIcon, ChevronLeftIcon, ChevronRightIcon],
459
+ imports: [CommonModule, ChevronLeftIcon, ChevronRightIcon, RippleModule],
966
460
  template: `
967
- <div #elementToObserve class="p-tablist">
461
+ @if (showNavigators() && isPrevButtonEnabled()) {
968
462
  <button
969
- *ngIf="scrollable && !backwardIsDisabled && autoHideButtons"
970
- #prevBtn
971
- class="p-tablist-prev-button p-tablist-nav-button"
972
- (click)="navBackward()"
973
- [attr.tabindex]="tabindex"
974
- [attr.aria-label]="prevButtonAriaLabel"
975
- type="button"
463
+ #prevButton
976
464
  pRipple
465
+ class="p-tablist-nav-button p-tablist-prev-button"
466
+ [attr.aria-label]="prevButtonAriaLabel"
467
+ [attr.tabindex]="tabindex"
468
+ [attr.data-pc-group-section]="'navigator'"
469
+ (click)="onPrevButtonClick()"
977
470
  >
978
- <ChevronLeftIcon *ngIf="!previousIconTemplate" [attr.aria-hidden]="true" />
979
- <ng-template *ngTemplateOutlet="previousIconTemplate"></ng-template>
471
+ @if (prevIconTemplate) {
472
+ <ng-container *ngTemplateOutlet="prevIconTemplate"></ng-container>
473
+ } @else {
474
+ <ChevronLeftIcon />
475
+ }
980
476
  </button>
981
- <div
982
- #content
983
- class="p-tablist-content"
984
- [ngClass]="{ 'p-tablist-viewport': scrollable }"
985
- (scroll)="onScroll($event)"
986
- [attr.data-pc-section]="'navcontent'"
987
- >
988
- <div #navbar class="p-tablist-tab-list" role="tablist" [attr.data-pc-section]="'nav'">
989
- @for (tab of tabs; track tab; let i = $index) {
990
- @if (!tab.closed) {
991
- <button
992
- [ngClass]="{
993
- 'p-tab': true,
994
- 'p-tab-active': tab.selected,
995
- 'p-disabled': tab.disabled,
996
- }"
997
- [attr.role]="'tab'"
998
- [class]="tab.headerStyleClass"
999
- [ngStyle]="tab.headerStyle"
1000
- [pTooltip]="tab.tooltip"
1001
- [tooltipPosition]="tab.tooltipPosition"
1002
- [positionStyle]="tab.tooltipPositionStyle"
1003
- [tooltipStyleClass]="tab.tooltipStyleClass"
1004
- [attr.id]="getTabHeaderActionId(tab.id)"
1005
- [attr.aria-controls]="getTabContentId(tab.id)"
1006
- [attr.aria-selected]="tab.selected"
1007
- [attr.tabindex]="tab.disabled || !tab.selected ? '-1' : tabindex"
1008
- [attr.aria-disabled]="tab.disabled"
1009
- [disabled]="tab.disabled"
1010
- [attr.data-pc-index]="i"
1011
- [attr.data-p-disabled]="tab.disabled"
1012
- [attr.data-pc-section]="'headeraction'"
1013
- [attr.data-p-active]="tab.selected"
1014
- (click)="open($event, tab)"
1015
- (keydown)="onTabKeyDown($event, tab)"
1016
- pRipple
1017
- >
1018
- @if (tab.headerTemplate) {
1019
- <ng-container *ngTemplateOutlet="tab.headerTemplate"></ng-container>
1020
- } @else {
1021
- @if (tab.leftIconTemplate) {
1022
- <ng-template *ngTemplateOutlet="tab.leftIconTemplate"></ng-template>
1023
- } @else if (tab.leftIcon && !tab.leftIconTemplate) {
1024
- <span class="p-tabs-left-icon" [ngClass]="tab.leftIcon"></span>
1025
- }
1026
-
1027
- {{ tab.header }}
1028
-
1029
- @if (tab.rightIconTemplate) {
1030
- <ng-template *ngTemplateOutlet="tab.rightIconTemplate"></ng-template>
1031
- } @else if (tab.rightIcon && !tab.rightIconTemplate) {
1032
- <span class="p-tabs-right-icon" [ngClass]="tab.rightIcon"></span>
1033
- }
1034
-
1035
- @if (tab.closable) {
1036
- @if (tab.closeIconTemplate) {
1037
- <ng-template *ngTemplateOutlet="tab.closeIconTemplate"></ng-template>
1038
- } @else {
1039
- <TimesIcon (click)="close($event, tab)" />
1040
- }
1041
- }
1042
- }
1043
- </button>
1044
- <span
1045
- #inkbar
1046
- class="p-tablist-active-bar"
1047
- role="presentation"
1048
- [attr.aria-hidden]="true"
1049
- [attr.data-pc-section]="'inkbar'"
1050
- ></span>
1051
- }
1052
- }
1053
- </div>
477
+ }
478
+ <div #content class="p-tablist-content" [ngClass]="{ 'p-tablist-viewport': scrollable() }" (scroll)="onScroll($event)">
479
+ <div #tabs class="p-tablist-tab-list" role="tablist">
480
+ <ng-content></ng-content>
481
+ <span #inkbar role="presentation" class="p-tablist-active-bar" [attr.data-pc-section]="'inkbar'"></span>
1054
482
  </div>
483
+ </div>
484
+ @if (showNavigators() && isNextButtonEnabled()) {
1055
485
  <button
1056
- *ngIf="scrollable && !forwardIsDisabled && buttonVisible"
1057
- #nextBtn
1058
- [attr.tabindex]="tabindex"
1059
- [attr.aria-label]="nextButtonAriaLabel"
1060
- class="p-tablist-next-button p-tablist-nav-button"
1061
- (click)="navForward()"
1062
- type="button"
486
+ #nextButton
1063
487
  pRipple
488
+ class="p-tablist-nav-button p-tablist-next-button"
489
+ [attr.aria-label]="nextButtonAriaLabel"
490
+ [attr.tabindex]="tabindex"
491
+ [attr.data-pc-group-section]="'navigator'"
492
+ (click)="onNextButtonClick()"
1064
493
  >
1065
494
  @if (nextIconTemplate) {
1066
- <ng-template *ngTemplateOutlet="nextIconTemplate"></ng-template>
495
+ <ng-container *ngTemplateOutlet="nextIconTemplate"></ng-container>
1067
496
  } @else {
1068
- <ChevronRightIcon [attr.aria-hidden]="true" />
497
+ <ChevronRightIcon />
1069
498
  }
1070
499
  </button>
1071
- </div>
1072
- <div class="p-tabpanels">
1073
- <ng-content></ng-content>
1074
- </div>
500
+ }
1075
501
  `,
1076
502
  changeDetection: ChangeDetectionStrategy.OnPush,
1077
503
  encapsulation: ViewEncapsulation.None,
1078
504
  host: {
1079
- '[class.p-tabs]': 'true',
1080
- '[class.p-tabs-scrollable]': 'scrollable',
505
+ '[class.p-tablist]': 'true',
1081
506
  '[class.p-component]': 'true',
1082
- '[attr.data-pc-name]': 'tabs',
507
+ '[attr.data-pc-name]': '"tablist"',
1083
508
  },
1084
- providers: [TabsStyle],
1085
509
  }]
1086
- }], propDecorators: { hostClass: [{
1087
- type: HostBinding,
1088
- args: ['class']
1089
- }], hostStyle: [{
1090
- type: HostBinding,
1091
- args: ['style']
1092
- }], style: [{
1093
- type: Input
1094
- }], styleClass: [{
1095
- type: Input
1096
- }], controlClose: [{
1097
- type: Input,
1098
- args: [{ transform: booleanAttribute }]
1099
- }], scrollable: [{
1100
- type: Input,
1101
- args: [{ transform: booleanAttribute }]
1102
- }], activeIndex: [{
1103
- type: Input
1104
- }], selectOnFocus: [{
1105
- type: Input,
1106
- args: [{ transform: booleanAttribute }]
1107
- }], nextButtonAriaLabel: [{
1108
- type: Input
1109
- }], prevButtonAriaLabel: [{
1110
- type: Input
1111
- }], autoHideButtons: [{
1112
- type: Input,
1113
- args: [{ transform: booleanAttribute }]
1114
- }], tabindex: [{
1115
- type: Input,
1116
- args: [{ transform: numberAttribute }]
1117
- }], onChange: [{
1118
- type: Output
1119
- }], onClose: [{
1120
- type: Output
1121
- }], activeIndexChange: [{
1122
- type: Output
510
+ }], ctorParameters: () => [], propDecorators: { prevIconTemplate: [{
511
+ type: ContentChild,
512
+ args: ['previcon']
513
+ }], nextIconTemplate: [{
514
+ type: ContentChild,
515
+ args: ['nexticon']
1123
516
  }], content: [{
1124
517
  type: ViewChild,
1125
518
  args: ['content']
1126
- }], navbar: [{
519
+ }], prevButton: [{
1127
520
  type: ViewChild,
1128
- args: ['navbar']
1129
- }], prevBtn: [{
521
+ args: ['prevButton']
522
+ }], nextButton: [{
1130
523
  type: ViewChild,
1131
- args: ['prevBtn']
1132
- }], nextBtn: [{
1133
- type: ViewChild,
1134
- args: ['nextBtn']
524
+ args: ['nextButton']
1135
525
  }], inkbar: [{
1136
526
  type: ViewChild,
1137
527
  args: ['inkbar']
1138
- }], tabPanels: [{
1139
- type: ContentChildren,
1140
- args: [TabPanel]
528
+ }], tabs: [{
529
+ type: ViewChild,
530
+ args: ['tabs']
1141
531
  }], templates: [{
1142
532
  type: ContentChildren,
1143
533
  args: [PrimeTemplate]
1144
- }], elementToObserve: [{
1145
- type: ViewChild,
1146
- args: ['elementToObserve']
1147
534
  }] } });
535
+
536
+ /**
537
+ * Defines valid properties in Tab component.
538
+ * @group Components
539
+ */
540
+ class Tab extends BaseComponent {
541
+ /**
542
+ * Value of tab.
543
+ * @defaultValue undefined
544
+ * @group Props
545
+ */
546
+ value = model();
547
+ /**
548
+ * Whether the tab is disabled.
549
+ * @defaultValue false
550
+ * @group Props
551
+ */
552
+ disabled = input(false, { transform: booleanAttribute });
553
+ pcTabs = inject(forwardRef(() => Tabs));
554
+ pcTabList = inject(forwardRef(() => TabList));
555
+ ripple = computed(() => this.config.ripple());
556
+ id = computed(() => `${this.pcTabs.id()}_tab_${this.value()}`);
557
+ ariaControls = computed(() => `${this.pcTabs.id()}_tabpanel_${this.value()}`);
558
+ active = computed(() => ObjectUtils.equals(this.pcTabs.value(), this.value()));
559
+ tabindex = computed(() => (this.active() ? this.pcTabs.tabindex() : -1));
560
+ onFocus(event) {
561
+ this.pcTabs.selectOnFocus() && this.changeActiveValue();
562
+ }
563
+ onClick(event) {
564
+ this.changeActiveValue();
565
+ }
566
+ onKeyDown(event) {
567
+ switch (event.code) {
568
+ case 'ArrowRight':
569
+ this.onArrowRightKey(event);
570
+ break;
571
+ case 'ArrowLeft':
572
+ this.onArrowLeftKey(event);
573
+ break;
574
+ case 'Home':
575
+ this.onHomeKey(event);
576
+ break;
577
+ case 'End':
578
+ this.onEndKey(event);
579
+ break;
580
+ case 'PageDown':
581
+ this.onPageDownKey(event);
582
+ break;
583
+ case 'PageUp':
584
+ this.onPageUpKey(event);
585
+ break;
586
+ case 'Enter':
587
+ case 'NumpadEnter':
588
+ case 'Space':
589
+ this.onEnterKey(event);
590
+ break;
591
+ default:
592
+ break;
593
+ }
594
+ event.stopPropagation();
595
+ }
596
+ onArrowRightKey(event) {
597
+ const nextTab = this.findNextTab(event.currentTarget);
598
+ nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event);
599
+ event.preventDefault();
600
+ }
601
+ onArrowLeftKey(event) {
602
+ const prevTab = this.findPrevTab(event.currentTarget);
603
+ prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event);
604
+ event.preventDefault();
605
+ }
606
+ onHomeKey(event) {
607
+ const firstTab = this.findFirstTab();
608
+ this.changeFocusedTab(event, firstTab);
609
+ event.preventDefault();
610
+ }
611
+ onEndKey(event) {
612
+ const lastTab = this.findLastTab();
613
+ this.changeFocusedTab(event, lastTab);
614
+ event.preventDefault();
615
+ }
616
+ onPageDownKey(event) {
617
+ this.scrollInView(this.findLastTab());
618
+ event.preventDefault();
619
+ }
620
+ onPageUpKey(event) {
621
+ this.scrollInView(this.findFirstTab());
622
+ event.preventDefault();
623
+ }
624
+ onEnterKey(event) {
625
+ this.changeActiveValue();
626
+ event.preventDefault();
627
+ }
628
+ findNextTab(tabElement, selfCheck = false) {
629
+ const element = selfCheck ? tabElement : tabElement.nextElementSibling;
630
+ return element
631
+ ? DomHandler.getAttribute(element, 'data-p-disabled') || DomHandler.getAttribute(element, 'data-pc-section') === 'inkbar'
632
+ ? this.findNextTab(element)
633
+ : element
634
+ : null;
635
+ }
636
+ findPrevTab(tabElement, selfCheck = false) {
637
+ const element = selfCheck ? tabElement : tabElement.previousElementSibling;
638
+ return element
639
+ ? DomHandler.getAttribute(element, 'data-p-disabled') || DomHandler.getAttribute(element, 'data-pc-section') === 'inkbar'
640
+ ? this.findPrevTab(element)
641
+ : element
642
+ : null;
643
+ }
644
+ findFirstTab() {
645
+ return this.findNextTab(this.pcTabList?.tabs?.nativeElement?.firstElementChild, true);
646
+ }
647
+ findLastTab() {
648
+ return this.findPrevTab(this.pcTabList?.tabs?.nativeElement?.lastElementChild, true);
649
+ }
650
+ changeActiveValue() {
651
+ this.pcTabs.updateValue(this.value());
652
+ }
653
+ changeFocusedTab(event, element) {
654
+ DomHandler.focus(element);
655
+ this.scrollInView(element);
656
+ }
657
+ scrollInView(element) {
658
+ element?.scrollIntoView?.({ block: 'nearest' });
659
+ }
660
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: Tab, deps: null, target: i0.ɵɵFactoryTarget.Component });
661
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: Tab, isStandalone: true, selector: "p-tab", 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: { listeners: { "focus": "onFocus($event)", "click": "onClick($event)", "keydown": "onKeyDown($event)" }, properties: { "class.p-tab": "true", "class.p-component": "true", "attr.data-pc-name": "\"tab\"", "attr.id": "id()", "attr.aria-controls": "ariaControls()", "attr.role": "\"tab\"", "attr.aria-selected": "active()", "attr.data-p-disabled": "disabled()", "attr.data-p-active": "active()", "attr.tabindex": "tabindex()" } }, usesInheritance: true, hostDirectives: [{ directive: i2.Ripple }], ngImport: i0, template: ` <ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
662
+ }
663
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: Tab, decorators: [{
664
+ type: Component,
665
+ args: [{
666
+ selector: 'p-tab',
667
+ standalone: true,
668
+ imports: [CommonModule, Ripple],
669
+ template: ` <ng-content></ng-content>`,
670
+ changeDetection: ChangeDetectionStrategy.OnPush,
671
+ encapsulation: ViewEncapsulation.None,
672
+ host: {
673
+ '[class.p-tab]': 'true',
674
+ '[class.p-component]': 'true',
675
+ '[attr.data-pc-name]': '"tab"',
676
+ '[attr.id]': 'id()',
677
+ '[attr.aria-controls]': 'ariaControls()',
678
+ '[attr.role]': '"tab"',
679
+ '[attr.aria-selected]': 'active()',
680
+ '[attr.data-p-disabled]': 'disabled()',
681
+ '[attr.data-p-active]': 'active()',
682
+ '[attr.tabindex]': 'tabindex()',
683
+ },
684
+ hostDirectives: [Ripple],
685
+ }]
686
+ }], propDecorators: { onFocus: [{
687
+ type: HostListener,
688
+ args: ['focus', ['$event']]
689
+ }], onClick: [{
690
+ type: HostListener,
691
+ args: ['click', ['$event']]
692
+ }], onKeyDown: [{
693
+ type: HostListener,
694
+ args: ['keydown', ['$event']]
695
+ }] } });
696
+
697
+ /**
698
+ * Tabs facilitates seamless switching between different views.
699
+ * @group Components
700
+ */
701
+ class Tabs extends BaseComponent {
702
+ /**
703
+ * Value of the active tab.
704
+ * @defaultValue undefined
705
+ * @group Props
706
+ */
707
+ value = model(undefined);
708
+ /**
709
+ * When specified, enables horizontal and/or vertical scrolling.
710
+ * @type boolean
711
+ * @defaultValue false
712
+ * @group Props
713
+ */
714
+ scrollable = input(false, { transform: booleanAttribute });
715
+ /**
716
+ * When enabled, hidden tabs are not rendered at all. Defaults to false that hides tabs with css.
717
+ * @type boolean
718
+ * @defaultValue false
719
+ * @group Props
720
+ */
721
+ lazy = input(false, { transform: booleanAttribute });
722
+ /**
723
+ * When enabled, the focused tab is activated.
724
+ * @type boolean
725
+ * @defaultValue false
726
+ * @group Props
727
+ */
728
+ selectOnFocus = input(false, { transform: booleanAttribute });
729
+ /**
730
+ * Whether to display navigation buttons in container when scrollable is enabled.
731
+ * @type boolean
732
+ * @defaultValue true
733
+ * @group Props
734
+ */
735
+ showNavigators = input(true, { transform: booleanAttribute });
736
+ /**
737
+ * Tabindex of the tab buttons.
738
+ * @type number
739
+ * @defaultValue 0
740
+ * @group Props
741
+ */
742
+ tabindex = input(0, { transform: numberAttribute });
743
+ id = signal(UniqueComponentId());
744
+ _componentStyle = inject(TabsStyle);
745
+ updateValue(newValue) {
746
+ this.value.update(() => newValue);
747
+ }
748
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: Tabs, deps: null, target: i0.ɵɵFactoryTarget.Component });
749
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: Tabs, isStandalone: true, selector: "p-tabs", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: true, isRequired: false, transformFunction: null }, showNavigators: { classPropertyName: "showNavigators", publicName: "showNavigators", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.p-tabs": "true", "class.p-tabs-scrollable": "scrollable()", "class.p-component": "true", "attr.data-pc-name": "\"tabs\"", "attr.id": "id" } }, providers: [TabsStyle], usesInheritance: true, ngImport: i0, template: ` <ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
750
+ }
751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: Tabs, decorators: [{
752
+ type: Component,
753
+ args: [{
754
+ selector: 'p-tabs',
755
+ standalone: true,
756
+ imports: [CommonModule],
757
+ template: ` <ng-content></ng-content>`,
758
+ changeDetection: ChangeDetectionStrategy.OnPush,
759
+ encapsulation: ViewEncapsulation.None,
760
+ providers: [TabsStyle],
761
+ host: {
762
+ '[class.p-tabs]': 'true',
763
+ '[class.p-tabs-scrollable]': 'scrollable()',
764
+ '[class.p-component]': 'true',
765
+ '[attr.data-pc-name]': '"tabs"',
766
+ '[attr.id]': 'id',
767
+ },
768
+ }]
769
+ }] });
1148
770
  class TabsModule {
1149
771
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1150
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: TabsModule, imports: [Tabs, TabPanel], exports: [Tabs, TabPanel, SharedModule] });
1151
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabsModule, imports: [Tabs, TabPanel, SharedModule] });
772
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: TabsModule, imports: [Tabs, TabPanels, TabPanel, TabList, Tab], exports: [Tabs, TabPanels, TabPanel, TabList, Tab] });
773
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabsModule, imports: [Tabs, TabPanels, TabPanel, TabList, Tab] });
1152
774
  }
1153
775
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TabsModule, decorators: [{
1154
776
  type: NgModule,
1155
777
  args: [{
1156
- imports: [Tabs, TabPanel],
1157
- exports: [Tabs, TabPanel, SharedModule],
778
+ imports: [Tabs, TabPanels, TabPanel, TabList, Tab],
779
+ exports: [Tabs, TabPanels, TabPanel, TabList, Tab],
1158
780
  }]
1159
781
  }] });
1160
782
 
@@ -1162,5 +784,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
1162
784
  * Generated bundle index. Do not edit.
1163
785
  */
1164
786
 
1165
- export { TabPanel, Tabs, TabsModule };
787
+ export { Tab, TabList, TabPanel, TabPanels, Tabs, TabsClasses, TabsModule, TabsStyle };
1166
788
  //# sourceMappingURL=primeng-tabs.mjs.map