primeng 20.3.0 → 21.0.0-rc.1

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 (543) hide show
  1. package/fesm2022/primeng-accordion.mjs +103 -114
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +31 -31
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +134 -78
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +7 -7
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +40 -17
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +10 -10
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +56 -24
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +3 -3
  18. package/fesm2022/primeng-basecomponent.mjs +23 -20
  19. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  20. package/fesm2022/primeng-baseeditableholder.mjs +10 -10
  21. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  22. package/fesm2022/primeng-baseinput.mjs +15 -15
  23. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  24. package/fesm2022/primeng-basemodelholder.mjs +5 -5
  25. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  26. package/fesm2022/primeng-bind.mjs +13 -13
  27. package/fesm2022/primeng-bind.mjs.map +1 -1
  28. package/fesm2022/primeng-blockui.mjs +44 -24
  29. package/fesm2022/primeng-blockui.mjs.map +1 -1
  30. package/fesm2022/primeng-breadcrumb.mjs +99 -56
  31. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  32. package/fesm2022/primeng-button.mjs +212 -93
  33. package/fesm2022/primeng-button.mjs.map +1 -1
  34. package/fesm2022/primeng-buttongroup.mjs +10 -10
  35. package/fesm2022/primeng-card.mjs +31 -11
  36. package/fesm2022/primeng-card.mjs.map +1 -1
  37. package/fesm2022/primeng-carousel.mjs +23 -17
  38. package/fesm2022/primeng-carousel.mjs.map +1 -1
  39. package/fesm2022/primeng-cascadeselect.mjs +55 -46
  40. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  41. package/fesm2022/primeng-chart.mjs +10 -10
  42. package/fesm2022/primeng-chart.mjs.map +1 -1
  43. package/fesm2022/primeng-checkbox.mjs +37 -27
  44. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  45. package/fesm2022/primeng-chip.mjs +28 -12
  46. package/fesm2022/primeng-chip.mjs.map +1 -1
  47. package/fesm2022/primeng-classnames.mjs +10 -10
  48. package/fesm2022/primeng-classnames.mjs.map +1 -1
  49. package/fesm2022/primeng-colorpicker.mjs +120 -189
  50. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  51. package/fesm2022/primeng-config.mjs +16 -22
  52. package/fesm2022/primeng-config.mjs.map +1 -1
  53. package/fesm2022/primeng-confirmdialog.mjs +60 -56
  54. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  55. package/fesm2022/primeng-confirmpopup.mjs +269 -218
  56. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  57. package/fesm2022/primeng-contextmenu.mjs +556 -445
  58. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  59. package/fesm2022/primeng-dataview.mjs +21 -11
  60. package/fesm2022/primeng-dataview.mjs.map +1 -1
  61. package/fesm2022/primeng-datepicker.mjs +818 -861
  62. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  63. package/fesm2022/primeng-dialog.mjs +393 -313
  64. package/fesm2022/primeng-dialog.mjs.map +1 -1
  65. package/fesm2022/primeng-divider.mjs +19 -11
  66. package/fesm2022/primeng-divider.mjs.map +1 -1
  67. package/fesm2022/primeng-dock.mjs +51 -24
  68. package/fesm2022/primeng-dock.mjs.map +1 -1
  69. package/fesm2022/primeng-dragdrop.mjs +10 -10
  70. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  71. package/fesm2022/primeng-drawer.mjs +277 -261
  72. package/fesm2022/primeng-drawer.mjs.map +1 -1
  73. package/fesm2022/primeng-dynamicdialog.mjs +34 -19
  74. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  75. package/fesm2022/primeng-editor.mjs +12 -12
  76. package/fesm2022/primeng-editor.mjs.map +1 -1
  77. package/fesm2022/primeng-fieldset.mjs +108 -90
  78. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  79. package/fesm2022/primeng-fileupload.mjs +76 -66
  80. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  81. package/fesm2022/primeng-floatlabel.mjs +10 -10
  82. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  83. package/fesm2022/primeng-fluid.mjs +10 -10
  84. package/fesm2022/primeng-focustrap.mjs +7 -7
  85. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  86. package/fesm2022/primeng-galleria.mjs +261 -137
  87. package/fesm2022/primeng-galleria.mjs.map +1 -1
  88. package/fesm2022/primeng-iconfield.mjs +10 -10
  89. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  90. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  91. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  92. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  93. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  94. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  95. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  96. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  97. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  98. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  99. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  100. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  101. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  102. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  103. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  104. package/fesm2022/primeng-icons-ban.mjs +3 -3
  105. package/fesm2022/primeng-icons-bars.mjs +3 -3
  106. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  107. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  108. package/fesm2022/primeng-icons-blank.mjs +3 -3
  109. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  110. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  111. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  112. package/fesm2022/primeng-icons-check.mjs +3 -3
  113. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  114. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  115. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  116. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  117. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  118. package/fesm2022/primeng-icons-eye.mjs +3 -3
  119. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  120. package/fesm2022/primeng-icons-filter.mjs +3 -3
  121. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  122. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  123. package/fesm2022/primeng-icons-home.mjs +3 -3
  124. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  125. package/fesm2022/primeng-icons-minus.mjs +3 -3
  126. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  127. package/fesm2022/primeng-icons-plus.mjs +3 -3
  128. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  129. package/fesm2022/primeng-icons-search.mjs +3 -3
  130. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  131. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  132. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  133. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  134. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  135. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  136. package/fesm2022/primeng-icons-star.mjs +3 -3
  137. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  138. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  139. package/fesm2022/primeng-icons-times.mjs +3 -3
  140. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  141. package/fesm2022/primeng-icons-trash.mjs +3 -3
  142. package/fesm2022/primeng-icons-undo.mjs +3 -3
  143. package/fesm2022/primeng-icons-upload.mjs +3 -3
  144. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  145. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  146. package/fesm2022/primeng-iftalabel.mjs +10 -10
  147. package/fesm2022/primeng-image.mjs +225 -182
  148. package/fesm2022/primeng-image.mjs.map +1 -1
  149. package/fesm2022/primeng-imagecompare.mjs +12 -12
  150. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  151. package/fesm2022/primeng-inplace.mjs +22 -22
  152. package/fesm2022/primeng-inplace.mjs.map +1 -1
  153. package/fesm2022/primeng-inputgroup.mjs +10 -10
  154. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  155. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  156. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  157. package/fesm2022/primeng-inputicon.mjs +10 -10
  158. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  159. package/fesm2022/primeng-inputmask.mjs +16 -13
  160. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  161. package/fesm2022/primeng-inputnumber.mjs +42 -17
  162. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  163. package/fesm2022/primeng-inputotp.mjs +25 -17
  164. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  165. package/fesm2022/primeng-inputtext.mjs +51 -20
  166. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  167. package/fesm2022/primeng-keyfilter.mjs +7 -7
  168. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  169. package/fesm2022/primeng-knob.mjs +25 -25
  170. package/fesm2022/primeng-knob.mjs.map +1 -1
  171. package/fesm2022/primeng-listbox.mjs +60 -27
  172. package/fesm2022/primeng-listbox.mjs.map +1 -1
  173. package/fesm2022/primeng-megamenu.mjs +136 -52
  174. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  175. package/fesm2022/primeng-menu.mjs +291 -272
  176. package/fesm2022/primeng-menu.mjs.map +1 -1
  177. package/fesm2022/primeng-menubar.mjs +168 -59
  178. package/fesm2022/primeng-menubar.mjs.map +1 -1
  179. package/fesm2022/primeng-message.mjs +121 -145
  180. package/fesm2022/primeng-message.mjs.map +1 -1
  181. package/fesm2022/primeng-metergroup.mjs +108 -25
  182. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  183. package/fesm2022/primeng-motion.mjs +660 -0
  184. package/fesm2022/primeng-motion.mjs.map +1 -0
  185. package/fesm2022/primeng-multiselect.mjs +196 -77
  186. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  187. package/fesm2022/primeng-orderlist.mjs +69 -19
  188. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  189. package/fesm2022/primeng-organizationchart.mjs +25 -27
  190. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  191. package/fesm2022/primeng-overlay.mjs +207 -114
  192. package/fesm2022/primeng-overlay.mjs.map +1 -1
  193. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  194. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  195. package/fesm2022/primeng-paginator.mjs +28 -20
  196. package/fesm2022/primeng-paginator.mjs.map +1 -1
  197. package/fesm2022/primeng-panel.mjs +71 -128
  198. package/fesm2022/primeng-panel.mjs.map +1 -1
  199. package/fesm2022/primeng-panelmenu.mjs +303 -205
  200. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  201. package/fesm2022/primeng-password.mjs +185 -184
  202. package/fesm2022/primeng-password.mjs.map +1 -1
  203. package/fesm2022/primeng-picklist.mjs +133 -95
  204. package/fesm2022/primeng-picklist.mjs.map +1 -1
  205. package/fesm2022/primeng-popover.mjs +151 -246
  206. package/fesm2022/primeng-popover.mjs.map +1 -1
  207. package/fesm2022/primeng-progressbar.mjs +28 -18
  208. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  209. package/fesm2022/primeng-progressspinner.mjs +10 -10
  210. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  211. package/fesm2022/primeng-radiobutton.mjs +30 -18
  212. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  213. package/fesm2022/primeng-rating.mjs +23 -12
  214. package/fesm2022/primeng-rating.mjs.map +1 -1
  215. package/fesm2022/primeng-ripple.mjs +22 -15
  216. package/fesm2022/primeng-ripple.mjs.map +1 -1
  217. package/fesm2022/primeng-scroller.mjs +19 -11
  218. package/fesm2022/primeng-scroller.mjs.map +1 -1
  219. package/fesm2022/primeng-scrollpanel.mjs +26 -22
  220. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  221. package/fesm2022/primeng-scrolltop.mjs +107 -110
  222. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  223. package/fesm2022/primeng-select.mjs +116 -65
  224. package/fesm2022/primeng-select.mjs.map +1 -1
  225. package/fesm2022/primeng-selectbutton.mjs +25 -15
  226. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  227. package/fesm2022/primeng-skeleton.mjs +23 -15
  228. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  229. package/fesm2022/primeng-slider.mjs +50 -25
  230. package/fesm2022/primeng-slider.mjs.map +1 -1
  231. package/fesm2022/primeng-speeddial.mjs +32 -29
  232. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  233. package/fesm2022/primeng-splitbutton.mjs +55 -31
  234. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  235. package/fesm2022/primeng-splitter.mjs +27 -18
  236. package/fesm2022/primeng-splitter.mjs.map +1 -1
  237. package/fesm2022/primeng-stepper.mjs +134 -154
  238. package/fesm2022/primeng-stepper.mjs.map +1 -1
  239. package/fesm2022/primeng-steps.mjs +13 -11
  240. package/fesm2022/primeng-steps.mjs.map +1 -1
  241. package/fesm2022/primeng-styleclass.mjs +8 -8
  242. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  243. package/fesm2022/primeng-table.mjs +719 -550
  244. package/fesm2022/primeng-table.mjs.map +1 -1
  245. package/fesm2022/primeng-tabs.mjs +134 -133
  246. package/fesm2022/primeng-tabs.mjs.map +1 -1
  247. package/fesm2022/primeng-tag.mjs +22 -11
  248. package/fesm2022/primeng-tag.mjs.map +1 -1
  249. package/fesm2022/primeng-terminal.mjs +14 -15
  250. package/fesm2022/primeng-terminal.mjs.map +1 -1
  251. package/fesm2022/primeng-textarea.mjs +39 -17
  252. package/fesm2022/primeng-textarea.mjs.map +1 -1
  253. package/fesm2022/primeng-tieredmenu.mjs +581 -474
  254. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  255. package/fesm2022/primeng-timeline.mjs +36 -23
  256. package/fesm2022/primeng-timeline.mjs.map +1 -1
  257. package/fesm2022/primeng-toast.mjs +155 -129
  258. package/fesm2022/primeng-toast.mjs.map +1 -1
  259. package/fesm2022/primeng-togglebutton.mjs +28 -14
  260. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  261. package/fesm2022/primeng-toggleswitch.mjs +28 -23
  262. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  263. package/fesm2022/primeng-toolbar.mjs +13 -13
  264. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  265. package/fesm2022/primeng-tooltip.mjs +40 -17
  266. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  267. package/fesm2022/primeng-tree.mjs +185 -108
  268. package/fesm2022/primeng-tree.mjs.map +1 -1
  269. package/fesm2022/primeng-treeselect.mjs +70 -43
  270. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  271. package/fesm2022/primeng-treetable.mjs +169 -127
  272. package/fesm2022/primeng-treetable.mjs.map +1 -1
  273. package/fesm2022/primeng-types-motion.mjs +4 -0
  274. package/fesm2022/primeng-types-motion.mjs.map +1 -0
  275. package/fesm2022/primeng-usestyle.mjs +3 -3
  276. package/package.json +653 -645
  277. package/{accordion/index.d.ts → types/primeng-accordion.d.ts} +37 -26
  278. package/{api/index.d.ts → types/primeng-api.d.ts} +27 -1
  279. package/{autocomplete/index.d.ts → types/primeng-autocomplete.d.ts} +37 -27
  280. package/{avatar/index.d.ts → types/primeng-avatar.d.ts} +18 -1
  281. package/{badge/index.d.ts → types/primeng-badge.d.ts} +36 -17
  282. package/{basecomponent/index.d.ts → types/primeng-basecomponent.d.ts} +6 -5
  283. package/{bind/index.d.ts → types/primeng-bind.d.ts} +2 -2
  284. package/{breadcrumb/index.d.ts → types/primeng-breadcrumb.d.ts} +7 -7
  285. package/{button/index.d.ts → types/primeng-button.d.ts} +89 -40
  286. package/{card/index.d.ts → types/primeng-card.d.ts} +30 -10
  287. package/{carousel/index.d.ts → types/primeng-carousel.d.ts} +16 -16
  288. package/{cascadeselect/index.d.ts → types/primeng-cascadeselect.d.ts} +33 -27
  289. package/{checkbox/index.d.ts → types/primeng-checkbox.d.ts} +5 -4
  290. package/{chip/index.d.ts → types/primeng-chip.d.ts} +14 -2
  291. package/{classnames/index.d.ts → types/primeng-classnames.d.ts} +1 -1
  292. package/{colorpicker/index.d.ts → types/primeng-colorpicker.d.ts} +28 -29
  293. package/{config/index.d.ts → types/primeng-config.d.ts} +0 -6
  294. package/{confirmdialog/index.d.ts → types/primeng-confirmdialog.d.ts} +51 -23
  295. package/{confirmpopup/index.d.ts → types/primeng-confirmpopup.d.ts} +64 -26
  296. package/{contextmenu/index.d.ts → types/primeng-contextmenu.d.ts} +47 -34
  297. package/{dataview/index.d.ts → types/primeng-dataview.d.ts} +19 -13
  298. package/{datepicker/index.d.ts → types/primeng-datepicker.d.ts} +52 -35
  299. package/{dialog/index.d.ts → types/primeng-dialog.d.ts} +92 -47
  300. package/{divider/index.d.ts → types/primeng-divider.d.ts} +1 -0
  301. package/{dock/index.d.ts → types/primeng-dock.d.ts} +8 -3
  302. package/{drawer/index.d.ts → types/primeng-drawer.d.ts} +51 -37
  303. package/{dynamicdialog/index.d.ts → types/primeng-dynamicdialog.d.ts} +22 -9
  304. package/{fieldset/index.d.ts → types/primeng-fieldset.d.ts} +43 -24
  305. package/{fileupload/index.d.ts → types/primeng-fileupload.d.ts} +31 -28
  306. package/{galleria/index.d.ts → types/primeng-galleria.d.ts} +96 -31
  307. package/{image/index.d.ts → types/primeng-image.d.ts} +69 -40
  308. package/{imagecompare/index.d.ts → types/primeng-imagecompare.d.ts} +6 -6
  309. package/{inplace/index.d.ts → types/primeng-inplace.d.ts} +10 -10
  310. package/{inputmask/index.d.ts → types/primeng-inputmask.d.ts} +3 -3
  311. package/{inputnumber/index.d.ts → types/primeng-inputnumber.d.ts} +10 -9
  312. package/{inputotp/index.d.ts → types/primeng-inputotp.d.ts} +6 -43
  313. package/types/primeng-inputtext.d.ts +116 -0
  314. package/{knob/index.d.ts → types/primeng-knob.d.ts} +1 -1
  315. package/{listbox/index.d.ts → types/primeng-listbox.d.ts} +41 -23
  316. package/{megamenu/index.d.ts → types/primeng-megamenu.d.ts} +23 -19
  317. package/{menu/index.d.ts → types/primeng-menu.d.ts} +31 -20
  318. package/{menubar/index.d.ts → types/primeng-menubar.d.ts} +19 -16
  319. package/{message/index.d.ts → types/primeng-message.d.ts} +22 -12
  320. package/{metergroup/index.d.ts → types/primeng-metergroup.d.ts} +44 -12
  321. package/types/primeng-motion.d.ts +396 -0
  322. package/{multiselect/index.d.ts → types/primeng-multiselect.d.ts} +119 -41
  323. package/{orderlist/index.d.ts → types/primeng-orderlist.d.ts} +25 -21
  324. package/{overlay/index.d.ts → types/primeng-overlay.d.ts} +88 -20
  325. package/{paginator/index.d.ts → types/primeng-paginator.d.ts} +25 -25
  326. package/{panel/index.d.ts → types/primeng-panel.d.ts} +30 -17
  327. package/{panelmenu/index.d.ts → types/primeng-panelmenu.d.ts} +25 -28
  328. package/{password/index.d.ts → types/primeng-password.d.ts} +74 -27
  329. package/{picklist/index.d.ts → types/primeng-picklist.d.ts} +59 -67
  330. package/{popover/index.d.ts → types/primeng-popover.d.ts} +32 -14
  331. package/{progressbar/index.d.ts → types/primeng-progressbar.d.ts} +9 -5
  332. package/{radiobutton/index.d.ts → types/primeng-radiobutton.d.ts} +1 -0
  333. package/{rating/index.d.ts → types/primeng-rating.d.ts} +11 -6
  334. package/{scroller/index.d.ts → types/primeng-scroller.d.ts} +17 -9
  335. package/{scrollpanel/index.d.ts → types/primeng-scrollpanel.d.ts} +3 -3
  336. package/{scrolltop/index.d.ts → types/primeng-scrolltop.d.ts} +21 -9
  337. package/{select/index.d.ts → types/primeng-select.d.ts} +46 -36
  338. package/{selectbutton/index.d.ts → types/primeng-selectbutton.d.ts} +7 -4
  339. package/{skeleton/index.d.ts → types/primeng-skeleton.d.ts} +1 -0
  340. package/{slider/index.d.ts → types/primeng-slider.d.ts} +1 -0
  341. package/{speeddial/index.d.ts → types/primeng-speeddial.d.ts} +17 -17
  342. package/{splitbutton/index.d.ts → types/primeng-splitbutton.d.ts} +23 -12
  343. package/{splitter/index.d.ts → types/primeng-splitter.d.ts} +1 -0
  344. package/{stepper/index.d.ts → types/primeng-stepper.d.ts} +12 -7
  345. package/{table/index.d.ts → types/primeng-table.d.ts} +51 -10
  346. package/{tabs/index.d.ts → types/primeng-tabs.d.ts} +57 -56
  347. package/{tag/index.d.ts → types/primeng-tag.d.ts} +7 -2
  348. package/{textarea/index.d.ts → types/primeng-textarea.d.ts} +14 -1
  349. package/{tieredmenu/index.d.ts → types/primeng-tieredmenu.d.ts} +51 -33
  350. package/{timeline/index.d.ts → types/primeng-timeline.d.ts} +14 -7
  351. package/{toast/index.d.ts → types/primeng-toast.d.ts} +40 -13
  352. package/{togglebutton/index.d.ts → types/primeng-togglebutton.d.ts} +10 -5
  353. package/{toggleswitch/index.d.ts → types/primeng-toggleswitch.d.ts} +6 -18
  354. package/{toolbar/index.d.ts → types/primeng-toolbar.d.ts} +9 -9
  355. package/{tooltip/index.d.ts → types/primeng-tooltip.d.ts} +21 -3
  356. package/{tree/index.d.ts → types/primeng-tree.d.ts} +77 -53
  357. package/{treeselect/index.d.ts → types/primeng-treeselect.d.ts} +62 -42
  358. package/{treetable/index.d.ts → types/primeng-treetable.d.ts} +55 -53
  359. package/types/{accordion/index.d.ts → primeng-types-accordion.d.ts} +9 -0
  360. package/types/{autocomplete/index.d.ts → primeng-types-autocomplete.d.ts} +76 -63
  361. package/types/{breadcrumb/index.d.ts → primeng-types-breadcrumb.d.ts} +27 -1
  362. package/types/{button/index.d.ts → primeng-types-button.d.ts} +37 -18
  363. package/types/{card/index.d.ts → primeng-types-card.d.ts} +10 -10
  364. package/types/{carousel/index.d.ts → primeng-types-carousel.d.ts} +22 -19
  365. package/types/{cascadeselect/index.d.ts → primeng-types-cascadeselect.d.ts} +44 -27
  366. package/types/{checkbox/index.d.ts → primeng-types-checkbox.d.ts} +22 -3
  367. package/types/{chip/index.d.ts → primeng-types-chip.d.ts} +4 -4
  368. package/types/{colorpicker/index.d.ts → primeng-types-colorpicker.d.ts} +5 -0
  369. package/types/{confirmdialog/index.d.ts → primeng-types-confirmdialog.d.ts} +46 -20
  370. package/types/{confirmpopup/index.d.ts → primeng-types-confirmpopup.d.ts} +36 -13
  371. package/types/{contextmenu/index.d.ts → primeng-types-contextmenu.d.ts} +31 -18
  372. package/types/{dataview/index.d.ts → primeng-types-dataview.d.ts} +63 -44
  373. package/types/{datepicker/index.d.ts → primeng-types-datepicker.d.ts} +111 -54
  374. package/types/{dialog/index.d.ts → primeng-types-dialog.d.ts} +15 -6
  375. package/types/{dock/index.d.ts → primeng-types-dock.d.ts} +13 -10
  376. package/types/{drawer/index.d.ts → primeng-types-drawer.d.ts} +12 -7
  377. package/types/{fieldset/index.d.ts → primeng-types-fieldset.d.ts} +15 -6
  378. package/types/primeng-types-fileupload.d.ts +360 -0
  379. package/types/{galleria/index.d.ts → primeng-types-galleria.d.ts} +72 -55
  380. package/types/{image/index.d.ts → primeng-types-image.d.ts} +45 -94
  381. package/types/{imagecompare/index.d.ts → primeng-types-imagecompare.d.ts} +16 -1
  382. package/types/{inplace/index.d.ts → primeng-types-inplace.d.ts} +18 -7
  383. package/types/{inputmask/index.d.ts → primeng-types-inputmask.d.ts} +1 -1
  384. package/types/{inputnumber/index.d.ts → primeng-types-inputnumber.d.ts} +3 -3
  385. package/types/primeng-types-inputotp.d.ts +101 -0
  386. package/types/{listbox/index.d.ts → primeng-types-listbox.d.ts} +123 -44
  387. package/types/{megamenu/index.d.ts → primeng-types-megamenu.d.ts} +30 -14
  388. package/types/{menu/index.d.ts → primeng-types-menu.d.ts} +35 -22
  389. package/types/{menubar/index.d.ts → primeng-types-menubar.d.ts} +23 -20
  390. package/types/{message/index.d.ts → primeng-types-message.d.ts} +36 -1
  391. package/types/{metergroup/index.d.ts → primeng-types-metergroup.d.ts} +78 -80
  392. package/types/primeng-types-motion.d.ts +26 -0
  393. package/types/{multiselect/index.d.ts → primeng-types-multiselect.d.ts} +135 -83
  394. package/types/{orderlist/index.d.ts → primeng-types-orderlist.d.ts} +44 -35
  395. package/types/primeng-types-overlay.d.ts +60 -0
  396. package/types/{paginator/index.d.ts → primeng-types-paginator.d.ts} +42 -6
  397. package/types/{panel/index.d.ts → primeng-types-panel.d.ts} +38 -1
  398. package/types/{panelmenu/index.d.ts → primeng-types-panelmenu.d.ts} +27 -10
  399. package/types/{password/index.d.ts → primeng-types-password.d.ts} +30 -7
  400. package/types/{picklist/index.d.ts → primeng-types-picklist.d.ts} +69 -74
  401. package/types/{popover/index.d.ts → primeng-types-popover.d.ts} +19 -12
  402. package/types/{progressbar/index.d.ts → primeng-types-progressbar.d.ts} +13 -9
  403. package/types/{rating/index.d.ts → primeng-types-rating.d.ts} +19 -7
  404. package/types/{scroller/index.d.ts → primeng-types-scroller.d.ts} +60 -50
  405. package/types/{scrollpanel/index.d.ts → primeng-types-scrollpanel.d.ts} +1 -1
  406. package/types/{scrolltop/index.d.ts → primeng-types-scrolltop.d.ts} +19 -10
  407. package/types/{select/index.d.ts → primeng-types-select.d.ts} +80 -49
  408. package/types/{selectbutton/index.d.ts → primeng-types-selectbutton.d.ts} +17 -2
  409. package/types/{speeddial/index.d.ts → primeng-types-speeddial.d.ts} +35 -17
  410. package/types/{splitbutton/index.d.ts → primeng-types-splitbutton.d.ts} +4 -4
  411. package/types/{splitter/index.d.ts → primeng-types-splitter.d.ts} +2 -2
  412. package/types/{stepper/index.d.ts → primeng-types-stepper.d.ts} +9 -0
  413. package/types/{table/index.d.ts → primeng-types-table.d.ts} +20 -11
  414. package/types/{tag/index.d.ts → primeng-types-tag.d.ts} +2 -2
  415. package/types/{tieredmenu/index.d.ts → primeng-types-tieredmenu.d.ts} +25 -17
  416. package/types/{timeline/index.d.ts → primeng-types-timeline.d.ts} +19 -29
  417. package/types/{toast/index.d.ts → primeng-types-toast.d.ts} +39 -22
  418. package/types/{togglebutton/index.d.ts → primeng-types-togglebutton.d.ts} +25 -24
  419. package/types/{toggleswitch/index.d.ts → primeng-types-toggleswitch.d.ts} +23 -1
  420. package/types/{toolbar/index.d.ts → primeng-types-toolbar.d.ts} +6 -6
  421. package/types/{tree/index.d.ts → primeng-types-tree.d.ts} +75 -41
  422. package/types/{treeselect/index.d.ts → primeng-types-treeselect.d.ts} +80 -53
  423. package/types/{treetable/index.d.ts → primeng-types-treetable.d.ts} +145 -156
  424. package/inputtext/index.d.ts +0 -97
  425. package/types/fileupload/index.d.ts +0 -576
  426. package/types/inputotp/index.d.ts +0 -31
  427. package/types/overlay/index.d.ts +0 -28
  428. /package/{animateonscroll/index.d.ts → types/primeng-animateonscroll.d.ts} +0 -0
  429. /package/{autofocus/index.d.ts → types/primeng-autofocus.d.ts} +0 -0
  430. /package/{avatargroup/index.d.ts → types/primeng-avatargroup.d.ts} +0 -0
  431. /package/{base/index.d.ts → types/primeng-base.d.ts} +0 -0
  432. /package/{baseeditableholder/index.d.ts → types/primeng-baseeditableholder.d.ts} +0 -0
  433. /package/{baseinput/index.d.ts → types/primeng-baseinput.d.ts} +0 -0
  434. /package/{basemodelholder/index.d.ts → types/primeng-basemodelholder.d.ts} +0 -0
  435. /package/{blockui/index.d.ts → types/primeng-blockui.d.ts} +0 -0
  436. /package/{buttongroup/index.d.ts → types/primeng-buttongroup.d.ts} +0 -0
  437. /package/{chart/index.d.ts → types/primeng-chart.d.ts} +0 -0
  438. /package/{dom/index.d.ts → types/primeng-dom.d.ts} +0 -0
  439. /package/{dragdrop/index.d.ts → types/primeng-dragdrop.d.ts} +0 -0
  440. /package/{editor/index.d.ts → types/primeng-editor.d.ts} +0 -0
  441. /package/{floatlabel/index.d.ts → types/primeng-floatlabel.d.ts} +0 -0
  442. /package/{fluid/index.d.ts → types/primeng-fluid.d.ts} +0 -0
  443. /package/{focustrap/index.d.ts → types/primeng-focustrap.d.ts} +0 -0
  444. /package/{iconfield/index.d.ts → types/primeng-iconfield.d.ts} +0 -0
  445. /package/{icons/angledoubledown/index.d.ts → types/primeng-icons-angledoubledown.d.ts} +0 -0
  446. /package/{icons/angledoubleleft/index.d.ts → types/primeng-icons-angledoubleleft.d.ts} +0 -0
  447. /package/{icons/angledoubleright/index.d.ts → types/primeng-icons-angledoubleright.d.ts} +0 -0
  448. /package/{icons/angledoubleup/index.d.ts → types/primeng-icons-angledoubleup.d.ts} +0 -0
  449. /package/{icons/angledown/index.d.ts → types/primeng-icons-angledown.d.ts} +0 -0
  450. /package/{icons/angleleft/index.d.ts → types/primeng-icons-angleleft.d.ts} +0 -0
  451. /package/{icons/angleright/index.d.ts → types/primeng-icons-angleright.d.ts} +0 -0
  452. /package/{icons/angleup/index.d.ts → types/primeng-icons-angleup.d.ts} +0 -0
  453. /package/{icons/arrowdown/index.d.ts → types/primeng-icons-arrowdown.d.ts} +0 -0
  454. /package/{icons/arrowdownleft/index.d.ts → types/primeng-icons-arrowdownleft.d.ts} +0 -0
  455. /package/{icons/arrowdownright/index.d.ts → types/primeng-icons-arrowdownright.d.ts} +0 -0
  456. /package/{icons/arrowleft/index.d.ts → types/primeng-icons-arrowleft.d.ts} +0 -0
  457. /package/{icons/arrowright/index.d.ts → types/primeng-icons-arrowright.d.ts} +0 -0
  458. /package/{icons/arrowup/index.d.ts → types/primeng-icons-arrowup.d.ts} +0 -0
  459. /package/{icons/ban/index.d.ts → types/primeng-icons-ban.d.ts} +0 -0
  460. /package/{icons/bars/index.d.ts → types/primeng-icons-bars.d.ts} +0 -0
  461. /package/{icons/baseicon/index.d.ts → types/primeng-icons-baseicon.d.ts} +0 -0
  462. /package/{icons/blank/index.d.ts → types/primeng-icons-blank.d.ts} +0 -0
  463. /package/{icons/calendar/index.d.ts → types/primeng-icons-calendar.d.ts} +0 -0
  464. /package/{icons/caretleft/index.d.ts → types/primeng-icons-caretleft.d.ts} +0 -0
  465. /package/{icons/caretright/index.d.ts → types/primeng-icons-caretright.d.ts} +0 -0
  466. /package/{icons/check/index.d.ts → types/primeng-icons-check.d.ts} +0 -0
  467. /package/{icons/chevrondown/index.d.ts → types/primeng-icons-chevrondown.d.ts} +0 -0
  468. /package/{icons/chevronleft/index.d.ts → types/primeng-icons-chevronleft.d.ts} +0 -0
  469. /package/{icons/chevronright/index.d.ts → types/primeng-icons-chevronright.d.ts} +0 -0
  470. /package/{icons/chevronup/index.d.ts → types/primeng-icons-chevronup.d.ts} +0 -0
  471. /package/{icons/exclamationtriangle/index.d.ts → types/primeng-icons-exclamationtriangle.d.ts} +0 -0
  472. /package/{icons/eye/index.d.ts → types/primeng-icons-eye.d.ts} +0 -0
  473. /package/{icons/eyeslash/index.d.ts → types/primeng-icons-eyeslash.d.ts} +0 -0
  474. /package/{icons/filter/index.d.ts → types/primeng-icons-filter.d.ts} +0 -0
  475. /package/{icons/filterfill/index.d.ts → types/primeng-icons-filterfill.d.ts} +0 -0
  476. /package/{icons/filterslash/index.d.ts → types/primeng-icons-filterslash.d.ts} +0 -0
  477. /package/{icons/home/index.d.ts → types/primeng-icons-home.d.ts} +0 -0
  478. /package/{icons/infocircle/index.d.ts → types/primeng-icons-infocircle.d.ts} +0 -0
  479. /package/{icons/minus/index.d.ts → types/primeng-icons-minus.d.ts} +0 -0
  480. /package/{icons/pencil/index.d.ts → types/primeng-icons-pencil.d.ts} +0 -0
  481. /package/{icons/plus/index.d.ts → types/primeng-icons-plus.d.ts} +0 -0
  482. /package/{icons/refresh/index.d.ts → types/primeng-icons-refresh.d.ts} +0 -0
  483. /package/{icons/search/index.d.ts → types/primeng-icons-search.d.ts} +0 -0
  484. /package/{icons/searchminus/index.d.ts → types/primeng-icons-searchminus.d.ts} +0 -0
  485. /package/{icons/searchplus/index.d.ts → types/primeng-icons-searchplus.d.ts} +0 -0
  486. /package/{icons/sortalt/index.d.ts → types/primeng-icons-sortalt.d.ts} +0 -0
  487. /package/{icons/sortamountdown/index.d.ts → types/primeng-icons-sortamountdown.d.ts} +0 -0
  488. /package/{icons/sortamountupalt/index.d.ts → types/primeng-icons-sortamountupalt.d.ts} +0 -0
  489. /package/{icons/spinner/index.d.ts → types/primeng-icons-spinner.d.ts} +0 -0
  490. /package/{icons/star/index.d.ts → types/primeng-icons-star.d.ts} +0 -0
  491. /package/{icons/starfill/index.d.ts → types/primeng-icons-starfill.d.ts} +0 -0
  492. /package/{icons/thlarge/index.d.ts → types/primeng-icons-thlarge.d.ts} +0 -0
  493. /package/{icons/times/index.d.ts → types/primeng-icons-times.d.ts} +0 -0
  494. /package/{icons/timescircle/index.d.ts → types/primeng-icons-timescircle.d.ts} +0 -0
  495. /package/{icons/trash/index.d.ts → types/primeng-icons-trash.d.ts} +0 -0
  496. /package/{icons/undo/index.d.ts → types/primeng-icons-undo.d.ts} +0 -0
  497. /package/{icons/upload/index.d.ts → types/primeng-icons-upload.d.ts} +0 -0
  498. /package/{icons/windowmaximize/index.d.ts → types/primeng-icons-windowmaximize.d.ts} +0 -0
  499. /package/{icons/windowminimize/index.d.ts → types/primeng-icons-windowminimize.d.ts} +0 -0
  500. /package/{icons/index.d.ts → types/primeng-icons.d.ts} +0 -0
  501. /package/{iftalabel/index.d.ts → types/primeng-iftalabel.d.ts} +0 -0
  502. /package/{inputgroup/index.d.ts → types/primeng-inputgroup.d.ts} +0 -0
  503. /package/{inputgroupaddon/index.d.ts → types/primeng-inputgroupaddon.d.ts} +0 -0
  504. /package/{inputicon/index.d.ts → types/primeng-inputicon.d.ts} +0 -0
  505. /package/{keyfilter/index.d.ts → types/primeng-keyfilter.d.ts} +0 -0
  506. /package/{organizationchart/index.d.ts → types/primeng-organizationchart.d.ts} +0 -0
  507. /package/{overlaybadge/index.d.ts → types/primeng-overlaybadge.d.ts} +0 -0
  508. /package/{passthrough/index.d.ts → types/primeng-passthrough.d.ts} +0 -0
  509. /package/{progressspinner/index.d.ts → types/primeng-progressspinner.d.ts} +0 -0
  510. /package/{ripple/index.d.ts → types/primeng-ripple.d.ts} +0 -0
  511. /package/{steps/index.d.ts → types/primeng-steps.d.ts} +0 -0
  512. /package/{styleclass/index.d.ts → types/primeng-styleclass.d.ts} +0 -0
  513. /package/{terminal/index.d.ts → types/primeng-terminal.d.ts} +0 -0
  514. /package/{ts-helpers/index.d.ts → types/primeng-ts-helpers.d.ts} +0 -0
  515. /package/types/{avatar/index.d.ts → primeng-types-avatar.d.ts} +0 -0
  516. /package/types/{avatargroup/index.d.ts → primeng-types-avatargroup.d.ts} +0 -0
  517. /package/types/{badge/index.d.ts → primeng-types-badge.d.ts} +0 -0
  518. /package/types/{blockui/index.d.ts → primeng-types-blockui.d.ts} +0 -0
  519. /package/types/{chart/index.d.ts → primeng-types-chart.d.ts} +0 -0
  520. /package/types/{divider/index.d.ts → primeng-types-divider.d.ts} +0 -0
  521. /package/types/{editor/index.d.ts → primeng-types-editor.d.ts} +0 -0
  522. /package/types/{floatlabel/index.d.ts → primeng-types-floatlabel.d.ts} +0 -0
  523. /package/types/{fluid/index.d.ts → primeng-types-fluid.d.ts} +0 -0
  524. /package/types/{iconfield/index.d.ts → primeng-types-iconfield.d.ts} +0 -0
  525. /package/types/{iftalabel/index.d.ts → primeng-types-iftalabel.d.ts} +0 -0
  526. /package/types/{inputgroup/index.d.ts → primeng-types-inputgroup.d.ts} +0 -0
  527. /package/types/{inputgroupaddon/index.d.ts → primeng-types-inputgroupaddon.d.ts} +0 -0
  528. /package/types/{inputicon/index.d.ts → primeng-types-inputicon.d.ts} +0 -0
  529. /package/types/{inputtext/index.d.ts → primeng-types-inputtext.d.ts} +0 -0
  530. /package/types/{knob/index.d.ts → primeng-types-knob.d.ts} +0 -0
  531. /package/types/{organizationchart/index.d.ts → primeng-types-organizationchart.d.ts} +0 -0
  532. /package/types/{overlaybadge/index.d.ts → primeng-types-overlaybadge.d.ts} +0 -0
  533. /package/types/{progressspinner/index.d.ts → primeng-types-progressspinner.d.ts} +0 -0
  534. /package/types/{radiobutton/index.d.ts → primeng-types-radiobutton.d.ts} +0 -0
  535. /package/types/{skeleton/index.d.ts → primeng-types-skeleton.d.ts} +0 -0
  536. /package/types/{slider/index.d.ts → primeng-types-slider.d.ts} +0 -0
  537. /package/types/{tabs/index.d.ts → primeng-types-tabs.d.ts} +0 -0
  538. /package/types/{terminal/index.d.ts → primeng-types-terminal.d.ts} +0 -0
  539. /package/types/{textarea/index.d.ts → primeng-types-textarea.d.ts} +0 -0
  540. /package/types/{tooltip/index.d.ts → primeng-types-tooltip.d.ts} +0 -0
  541. /package/{usestyle/index.d.ts → types/primeng-usestyle.d.ts} +0 -0
  542. /package/{utils/index.d.ts → types/primeng-utils.d.ts} +0 -0
  543. /package/{index.d.ts → types/primeng.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  export * from 'primeng/types/button';
2
2
  import * as i2 from '@angular/common';
3
- import { CommonModule } from '@angular/common';
3
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
5
  import { Injectable, InjectionToken, input, inject, effect, Directive, booleanAttribute, contentChild, computed, Input, EventEmitter, numberAttribute, ContentChildren, ContentChild, Output, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
6
6
  import { addClass, isEmpty, findSingle, createElement } from '@primeuix/utils';
@@ -21,9 +21,7 @@ const classes = {
21
21
  root: ({ instance }) => [
22
22
  'p-button p-component',
23
23
  {
24
- 'p-button-icon-only': (instance.icon || instance.buttonProps?.icon || instance.iconTemplate || instance._iconTemplate || instance.loadingIcon || instance.loadingIconTemplate || instance._loadingIconTemplate) &&
25
- !instance.label &&
26
- !instance.buttonProps?.label,
24
+ 'p-button-icon-only': instance.hasIcon && !instance.label && !instance.buttonProps?.label && !instance.badge,
27
25
  'p-button-vertical': (instance.iconPos === 'top' || instance.iconPos === 'bottom') && instance.label,
28
26
  'p-button-loading': instance.loading || instance.buttonProps?.loading,
29
27
  'p-button-link': instance.link || instance.buttonProps?.link,
@@ -44,13 +42,15 @@ const classes = {
44
42
  {
45
43
  [`p-button-icon-${instance.iconPos || instance.buttonProps?.iconPos}`]: instance.label || instance.buttonProps?.label,
46
44
  'p-button-icon-left': ((instance.iconPos === 'left' || instance.buttonProps?.iconPos === 'left') && instance.label) || instance.buttonProps?.label,
47
- 'p-button-icon-right': ((instance.iconPos === 'right' || instance.buttonProps?.iconPos === 'right') && instance.label) || instance.buttonProps?.label
45
+ 'p-button-icon-right': ((instance.iconPos === 'right' || instance.buttonProps?.iconPos === 'right') && instance.label) || instance.buttonProps?.label,
46
+ 'p-button-icon-top': ((instance.iconPos === 'top' || instance.buttonProps?.iconPos === 'top') && instance.label) || instance.buttonProps?.label,
47
+ 'p-button-icon-bottom': ((instance.iconPos === 'bottom' || instance.buttonProps?.iconPos === 'bottom') && instance.label) || instance.buttonProps?.label
48
48
  },
49
49
  instance.icon,
50
50
  instance.buttonProps?.icon
51
51
  ],
52
52
  spinnerIcon: ({ instance }) => {
53
- return Object.entries(instance.iconClass())
53
+ return Object.entries(instance.cx('icon'))
54
54
  .filter(([, value]) => !!value)
55
55
  .reduce((acc, [key]) => acc + ` ${key}`, 'p-button-loading-icon');
56
56
  },
@@ -60,10 +60,10 @@ class ButtonStyle extends BaseStyle {
60
60
  name = 'button';
61
61
  style = style;
62
62
  classes = classes;
63
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
64
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonStyle });
63
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
64
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonStyle });
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonStyle, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonStyle, decorators: [{
67
67
  type: Injectable
68
68
  }] });
69
69
  /**
@@ -108,61 +108,105 @@ const INTERNAL_BUTTON_CLASSES = {
108
108
  labelOnly: 'p-button-loading-label-only'
109
109
  };
110
110
  class ButtonLabel extends BaseComponent {
111
- ptButtonLabel = input(...(ngDevMode ? [undefined, { debugName: "ptButtonLabel" }] : []));
111
+ /**
112
+ * Used to pass attributes to DOM elements inside the pButtonLabel.
113
+ * @defaultValue undefined
114
+ * @deprecated use pButtonLabelPT instead.
115
+ * @group Props
116
+ */
117
+ ptButtonLabel = input(undefined, { ...(ngDevMode ? { debugName: "ptButtonLabel" } : {}) });
118
+ /**
119
+ * Used to pass attributes to DOM elements inside the pButtonLabel.
120
+ * @defaultValue undefined
121
+ * @group Props
122
+ */
123
+ pButtonLabelPT = input(undefined, { ...(ngDevMode ? { debugName: "pButtonLabelPT" } : {}) });
124
+ /**
125
+ * Indicates whether the component should be rendered without styles.
126
+ * @defaultValue undefined
127
+ * @group Props
128
+ */
129
+ pButtonLabelUnstyled = input(undefined, { ...(ngDevMode ? { debugName: "pButtonLabelUnstyled" } : {}) });
112
130
  $pcButtonLabel = inject(BUTTON_LABEL_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
113
131
  bindDirectiveInstance = inject(Bind, { self: true });
114
132
  constructor() {
115
133
  super();
116
134
  effect(() => {
117
- this.ptButtonLabel() && this.directivePT.set(this.ptButtonLabel());
135
+ const pt = this.ptButtonLabel() || this.pButtonLabelPT();
136
+ pt && this.directivePT.set(pt);
137
+ });
138
+ effect(() => {
139
+ this.pButtonLabelUnstyled() && this.directiveUnstyled.set(this.pButtonLabelUnstyled());
118
140
  });
119
141
  }
120
142
  onAfterViewChecked() {
121
143
  this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
122
144
  }
123
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
124
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.4", type: ButtonLabel, isStandalone: true, selector: "[pButtonLabel]", inputs: { ptButtonLabel: { classPropertyName: "ptButtonLabel", publicName: "ptButtonLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.p-button-label": "true" } }, providers: [ButtonStyle, { provide: BUTTON_LABEL_INSTANCE, useExisting: ButtonLabel }, { provide: PARENT_INSTANCE, useExisting: ButtonLabel }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
145
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
146
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.1", type: ButtonLabel, isStandalone: true, selector: "[pButtonLabel]", inputs: { ptButtonLabel: { classPropertyName: "ptButtonLabel", publicName: "ptButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, pButtonLabelPT: { classPropertyName: "pButtonLabelPT", publicName: "pButtonLabelPT", isSignal: true, isRequired: false, transformFunction: null }, pButtonLabelUnstyled: { classPropertyName: "pButtonLabelUnstyled", publicName: "pButtonLabelUnstyled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.p-button-label": "!$unstyled() && true" } }, providers: [ButtonStyle, { provide: BUTTON_LABEL_INSTANCE, useExisting: ButtonLabel }, { provide: PARENT_INSTANCE, useExisting: ButtonLabel }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
125
147
  }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonLabel, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonLabel, decorators: [{
127
149
  type: Directive,
128
150
  args: [{
129
151
  selector: '[pButtonLabel]',
130
152
  providers: [ButtonStyle, { provide: BUTTON_LABEL_INSTANCE, useExisting: ButtonLabel }, { provide: PARENT_INSTANCE, useExisting: ButtonLabel }],
131
153
  standalone: true,
132
154
  host: {
133
- '[class.p-button-label]': 'true'
155
+ '[class.p-button-label]': '!$unstyled() && true'
134
156
  },
135
157
  hostDirectives: [Bind]
136
158
  }]
137
- }], ctorParameters: () => [] });
159
+ }], ctorParameters: () => [], propDecorators: { ptButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ptButtonLabel", required: false }] }], pButtonLabelPT: [{ type: i0.Input, args: [{ isSignal: true, alias: "pButtonLabelPT", required: false }] }], pButtonLabelUnstyled: [{ type: i0.Input, args: [{ isSignal: true, alias: "pButtonLabelUnstyled", required: false }] }] } });
138
160
  class ButtonIcon extends BaseComponent {
139
- ptButtonIcon = input(...(ngDevMode ? [undefined, { debugName: "ptButtonIcon" }] : []));
161
+ /**
162
+ * Used to pass attributes to DOM elements inside the pButtonIcon.
163
+ * @defaultValue undefined
164
+ * @deprecated use pButtonIconPT instead.
165
+ * @group Props
166
+ */
167
+ ptButtonIcon = input(undefined, { ...(ngDevMode ? { debugName: "ptButtonIcon" } : {}) });
168
+ /**
169
+ * Used to pass attributes to DOM elements inside the pButtonIcon.
170
+ * @defaultValue undefined
171
+ * @group Props
172
+ */
173
+ pButtonIconPT = input(undefined, { ...(ngDevMode ? { debugName: "pButtonIconPT" } : {}) });
174
+ /**
175
+ * Indicates whether the component should be rendered without styles.
176
+ * @defaultValue undefined
177
+ * @group Props
178
+ */
179
+ pButtonUnstyled = input(undefined, { ...(ngDevMode ? { debugName: "pButtonUnstyled" } : {}) });
140
180
  $pcButtonIcon = inject(BUTTON_ICON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
141
181
  bindDirectiveInstance = inject(Bind, { self: true });
142
182
  constructor() {
143
183
  super();
144
184
  effect(() => {
145
- this.ptButtonIcon() && this.directivePT.set(this.ptButtonIcon());
185
+ const pt = this.ptButtonIcon() || this.pButtonIconPT();
186
+ pt && this.directivePT.set(pt);
187
+ });
188
+ effect(() => {
189
+ this.pButtonUnstyled() && this.directiveUnstyled.set(this.pButtonUnstyled());
146
190
  });
147
191
  }
148
192
  onAfterViewChecked() {
149
193
  this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
150
194
  }
151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
152
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.4", type: ButtonIcon, isStandalone: true, selector: "[pButtonIcon]", inputs: { ptButtonIcon: { classPropertyName: "ptButtonIcon", publicName: "ptButtonIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.p-button-icon": "true" } }, providers: [ButtonStyle, { provide: BUTTON_ICON_INSTANCE, useExisting: ButtonIcon }, { provide: PARENT_INSTANCE, useExisting: ButtonIcon }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
195
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
196
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.1", type: ButtonIcon, isStandalone: true, selector: "[pButtonIcon]", inputs: { ptButtonIcon: { classPropertyName: "ptButtonIcon", publicName: "ptButtonIcon", isSignal: true, isRequired: false, transformFunction: null }, pButtonIconPT: { classPropertyName: "pButtonIconPT", publicName: "pButtonIconPT", isSignal: true, isRequired: false, transformFunction: null }, pButtonUnstyled: { classPropertyName: "pButtonUnstyled", publicName: "pButtonUnstyled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.p-button-icon": "!$unstyled() && true" } }, providers: [ButtonStyle, { provide: BUTTON_ICON_INSTANCE, useExisting: ButtonIcon }, { provide: PARENT_INSTANCE, useExisting: ButtonIcon }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
153
197
  }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonIcon, decorators: [{
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonIcon, decorators: [{
155
199
  type: Directive,
156
200
  args: [{
157
201
  selector: '[pButtonIcon]',
158
202
  providers: [ButtonStyle, { provide: BUTTON_ICON_INSTANCE, useExisting: ButtonIcon }, { provide: PARENT_INSTANCE, useExisting: ButtonIcon }],
159
203
  standalone: true,
160
204
  host: {
161
- '[class.p-button-icon]': 'true'
205
+ '[class.p-button-icon]': '!$unstyled() && true'
162
206
  },
163
207
  hostDirectives: [Bind]
164
208
  }]
165
- }], ctorParameters: () => [] });
209
+ }], ctorParameters: () => [], propDecorators: { ptButtonIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "ptButtonIcon", required: false }] }], pButtonIconPT: [{ type: i0.Input, args: [{ isSignal: true, alias: "pButtonIconPT", required: false }] }], pButtonUnstyled: [{ type: i0.Input, args: [{ isSignal: true, alias: "pButtonUnstyled", required: false }] }] } });
166
210
  /**
167
211
  * Button directive is an extension to button component.
168
212
  * @group Components
@@ -171,7 +215,25 @@ class ButtonDirective extends BaseComponent {
171
215
  $pcButtonDirective = inject(BUTTON_DIRECTIVE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
172
216
  bindDirectiveInstance = inject(Bind, { self: true });
173
217
  _componentStyle = inject(ButtonStyle);
174
- ptButtonDirective = input(...(ngDevMode ? [undefined, { debugName: "ptButtonDirective" }] : []));
218
+ /**
219
+ * Used to pass attributes to DOM elements inside the Button component.
220
+ * @defaultValue undefined
221
+ * @deprecated use pButtonPT instead.
222
+ * @group Props
223
+ */
224
+ ptButtonDirective = input(undefined, { ...(ngDevMode ? { debugName: "ptButtonDirective" } : {}) });
225
+ /**
226
+ * Used to pass attributes to DOM elements inside the Button component.
227
+ * @defaultValue undefined
228
+ * @group Props
229
+ */
230
+ pButtonPT = input(undefined, { ...(ngDevMode ? { debugName: "pButtonPT" } : {}) });
231
+ /**
232
+ * Indicates whether the component should be rendered without styles.
233
+ * @defaultValue undefined
234
+ * @group Props
235
+ */
236
+ pButtonUnstyled = input(undefined, { ...(ngDevMode ? { debugName: "pButtonUnstyled" } : {}) });
175
237
  hostName = '';
176
238
  onAfterViewChecked() {
177
239
  this.bindDirectiveInstance.setAttrs(this.ptm('root'));
@@ -179,7 +241,17 @@ class ButtonDirective extends BaseComponent {
179
241
  constructor() {
180
242
  super();
181
243
  effect(() => {
182
- this.ptButtonDirective() && this.directivePT.set(this.ptButtonDirective());
244
+ const pt = this.ptButtonDirective() || this.pButtonPT();
245
+ pt && this.directivePT.set(pt);
246
+ });
247
+ effect(() => {
248
+ this.pButtonUnstyled() && this.directiveUnstyled.set(this.pButtonUnstyled());
249
+ });
250
+ effect(() => {
251
+ const unstyled = this.$unstyled();
252
+ if (this.initialized && unstyled) {
253
+ this.setStyleClass();
254
+ }
183
255
  });
184
256
  }
185
257
  /**
@@ -227,10 +299,10 @@ class ButtonDirective extends BaseComponent {
227
299
  * @defaultValue undefined
228
300
  * @group Props
229
301
  */
230
- fluid = input(undefined, ...(ngDevMode ? [{ debugName: "fluid", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
231
- iconSignal = contentChild(ButtonIcon, ...(ngDevMode ? [{ debugName: "iconSignal" }] : []));
232
- labelSignal = contentChild(ButtonLabel, ...(ngDevMode ? [{ debugName: "labelSignal" }] : []));
233
- isIconOnly = computed(() => !!(!this.labelSignal() && this.iconSignal()), ...(ngDevMode ? [{ debugName: "isIconOnly" }] : []));
302
+ fluid = input(undefined, { ...(ngDevMode ? { debugName: "fluid" } : {}), transform: booleanAttribute });
303
+ iconSignal = contentChild(ButtonIcon, { ...(ngDevMode ? { debugName: "iconSignal" } : {}) });
304
+ labelSignal = contentChild(ButtonLabel, { ...(ngDevMode ? { debugName: "labelSignal" } : {}) });
305
+ isIconOnly = computed(() => !!(!this.labelSignal() && this.iconSignal()), { ...(ngDevMode ? { debugName: "isIconOnly" } : {}) });
234
306
  _label;
235
307
  _icon;
236
308
  _loading = false;
@@ -242,7 +314,7 @@ class ButtonDirective extends BaseComponent {
242
314
  }
243
315
  _internalClasses = Object.values(INTERNAL_BUTTON_CLASSES);
244
316
  pcFluid = inject(Fluid, { optional: true, host: true, skipSelf: true });
245
- isTextButton = computed(() => !!(!this.iconSignal() && this.labelSignal() && this.text), ...(ngDevMode ? [{ debugName: "isTextButton" }] : []));
317
+ isTextButton = computed(() => !!(!this.iconSignal() && this.labelSignal() && this.text), { ...(ngDevMode ? { debugName: "isTextButton" } : {}) });
246
318
  /**
247
319
  * Text of the button.
248
320
  * @deprecated use pButtonLabel directive instead.
@@ -330,10 +402,12 @@ class ButtonDirective extends BaseComponent {
330
402
  </defs>
331
403
  </svg>`;
332
404
  onAfterViewInit() {
333
- addClass(this.htmlElement, this.getStyleClass().join(' '));
334
- this.createIcon();
335
- this.createLabel();
336
- this.initialized = true;
405
+ !this.$unstyled() && addClass(this.htmlElement, this.getStyleClass().join(' '));
406
+ if (isPlatformBrowser(this.platformId)) {
407
+ this.createIcon();
408
+ this.createLabel();
409
+ this.initialized = true;
410
+ }
337
411
  }
338
412
  getStyleClass() {
339
413
  const styleClass = [INTERNAL_BUTTON_CLASSES.button, INTERNAL_BUTTON_CLASSES.component];
@@ -379,7 +453,7 @@ class ButtonDirective extends BaseComponent {
379
453
  if (this.hasFluid) {
380
454
  styleClass.push('p-button-fluid');
381
455
  }
382
- return styleClass;
456
+ return this.$unstyled() ? [] : styleClass;
383
457
  }
384
458
  get hasFluid() {
385
459
  return this.fluid() ?? !!this.pcFluid;
@@ -398,19 +472,19 @@ class ButtonDirective extends BaseComponent {
398
472
  }
399
473
  }
400
474
  createLabel() {
401
- const created = findSingle(this.htmlElement, '.p-button-label');
475
+ const created = findSingle(this.htmlElement, '[data-pc-section="buttonlabel"]');
402
476
  if (!created && this.label) {
403
- let labelElement = createElement('span', { class: this.cx('label'), 'p-bind': this.ptm('label'), 'aria-hidden': this.icon && !this.label ? 'true' : null });
477
+ let labelElement = createElement('span', { class: this.cx('label'), 'p-bind': this.ptm('buttonlabel'), 'aria-hidden': this.icon && !this.label ? 'true' : null });
404
478
  labelElement.appendChild(this.document.createTextNode(this.label));
405
479
  this.htmlElement.appendChild(labelElement);
406
480
  }
407
481
  }
408
482
  createIcon() {
409
- const created = findSingle(this.htmlElement, '.p-button-icon');
483
+ const created = findSingle(this.htmlElement, '[data-pc-section="buttonicon"]');
410
484
  if (!created && (this.icon || this.loading)) {
411
- let iconPosClass = this.label ? 'p-button-icon-' + this.iconPos : null;
412
- let iconClass = this.getIconClass();
413
- let iconElement = createElement('span', { class: this.cn(this.cx('icon'), iconPosClass, iconClass), 'aria-hidden': 'true', 'p-bind': this.ptm('icon') });
485
+ let iconPosClass = this.label && !this.$unstyled() ? 'p-button-icon-' + this.iconPos : null;
486
+ let iconClass = !this.$unstyled() && this.getIconClass();
487
+ let iconElement = createElement('span', { class: this.cn(this.cx('icon'), iconPosClass, iconClass), 'aria-hidden': 'true', 'p-bind': this.ptm('buttonicon') });
414
488
  if (!this.loadingIcon && this.loading) {
415
489
  iconElement.innerHTML = this.spinnerIcon;
416
490
  }
@@ -418,7 +492,7 @@ class ButtonDirective extends BaseComponent {
418
492
  }
419
493
  }
420
494
  updateLabel() {
421
- let labelElement = findSingle(this.htmlElement, '.p-button-label');
495
+ let labelElement = findSingle(this.htmlElement, '[data-pc-section="buttonlabel"]');
422
496
  if (!this.label) {
423
497
  labelElement && this.htmlElement.removeChild(labelElement);
424
498
  return;
@@ -426,15 +500,15 @@ class ButtonDirective extends BaseComponent {
426
500
  labelElement ? (labelElement.textContent = this.label) : this.createLabel();
427
501
  }
428
502
  updateIcon() {
429
- let iconElement = findSingle(this.htmlElement, '.p-button-icon');
430
- let labelElement = findSingle(this.htmlElement, '.p-button-label');
503
+ let iconElement = findSingle(this.htmlElement, '[data-pc-section="buttonicon"]');
504
+ let labelElement = findSingle(this.htmlElement, '[data-pc-section="buttonlabel"]');
431
505
  if (this.loading && !this.loadingIcon && iconElement) {
432
506
  iconElement.innerHTML = this.spinnerIcon;
433
507
  }
434
508
  else if (iconElement?.innerHTML) {
435
509
  iconElement.innerHTML = '';
436
510
  }
437
- if (iconElement) {
511
+ if (iconElement && !this.$unstyled()) {
438
512
  if (this.iconPos) {
439
513
  iconElement.className = 'p-button-icon ' + (labelElement ? 'p-button-icon-' + this.iconPos : '') + ' ' + this.getIconClass();
440
514
  }
@@ -452,22 +526,22 @@ class ButtonDirective extends BaseComponent {
452
526
  onDestroy() {
453
527
  this.initialized = false;
454
528
  }
455
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
456
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.4", type: ButtonDirective, isStandalone: true, selector: "[pButton]", inputs: { ptButtonDirective: { classPropertyName: "ptButtonDirective", publicName: "ptButtonDirective", isSignal: true, isRequired: false, transformFunction: null }, hostName: { classPropertyName: "hostName", publicName: "hostName", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, plain: { classPropertyName: "plain", publicName: "plain", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, iconPos: { classPropertyName: "iconPos", publicName: "iconPos", isSignal: false, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, buttonProps: { classPropertyName: "buttonProps", publicName: "buttonProps", isSignal: false, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "class.p-button-icon-only": "isIconOnly()", "class.p-button-text": "isTextButton()" } }, providers: [ButtonStyle, { provide: BUTTON_DIRECTIVE_INSTANCE, useExisting: ButtonDirective }, { provide: PARENT_INSTANCE, useExisting: ButtonDirective }], queries: [{ propertyName: "iconSignal", first: true, predicate: ButtonIcon, descendants: true, isSignal: true }, { propertyName: "labelSignal", first: true, predicate: ButtonLabel, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
529
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
530
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.0.1", type: ButtonDirective, isStandalone: true, selector: "[pButton]", inputs: { ptButtonDirective: { classPropertyName: "ptButtonDirective", publicName: "ptButtonDirective", isSignal: true, isRequired: false, transformFunction: null }, pButtonPT: { classPropertyName: "pButtonPT", publicName: "pButtonPT", isSignal: true, isRequired: false, transformFunction: null }, pButtonUnstyled: { classPropertyName: "pButtonUnstyled", publicName: "pButtonUnstyled", isSignal: true, isRequired: false, transformFunction: null }, hostName: { classPropertyName: "hostName", publicName: "hostName", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, plain: { classPropertyName: "plain", publicName: "plain", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, iconPos: { classPropertyName: "iconPos", publicName: "iconPos", isSignal: false, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: null }, buttonProps: { classPropertyName: "buttonProps", publicName: "buttonProps", isSignal: false, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "class.p-button-icon-only": "!$unstyled() && isIconOnly()", "class.p-button-text": " !$unstyled() && isTextButton()" } }, providers: [ButtonStyle, { provide: BUTTON_DIRECTIVE_INSTANCE, useExisting: ButtonDirective }, { provide: PARENT_INSTANCE, useExisting: ButtonDirective }], queries: [{ propertyName: "iconSignal", first: true, predicate: ButtonIcon, descendants: true, isSignal: true }, { propertyName: "labelSignal", first: true, predicate: ButtonLabel, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
457
531
  }
458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonDirective, decorators: [{
532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonDirective, decorators: [{
459
533
  type: Directive,
460
534
  args: [{
461
535
  selector: '[pButton]',
462
536
  standalone: true,
463
537
  providers: [ButtonStyle, { provide: BUTTON_DIRECTIVE_INSTANCE, useExisting: ButtonDirective }, { provide: PARENT_INSTANCE, useExisting: ButtonDirective }],
464
538
  host: {
465
- '[class.p-button-icon-only]': 'isIconOnly()',
466
- '[class.p-button-text]': 'isTextButton()'
539
+ '[class.p-button-icon-only]': '!$unstyled() && isIconOnly()',
540
+ '[class.p-button-text]': ' !$unstyled() && isTextButton()'
467
541
  },
468
542
  hostDirectives: [Bind]
469
543
  }]
470
- }], ctorParameters: () => [], propDecorators: { hostName: [{
544
+ }], ctorParameters: () => [], propDecorators: { ptButtonDirective: [{ type: i0.Input, args: [{ isSignal: true, alias: "ptButtonDirective", required: false }] }], pButtonPT: [{ type: i0.Input, args: [{ isSignal: true, alias: "pButtonPT", required: false }] }], pButtonUnstyled: [{ type: i0.Input, args: [{ isSignal: true, alias: "pButtonUnstyled", required: false }] }], hostName: [{
471
545
  type: Input
472
546
  }], text: [{
473
547
  type: Input,
@@ -490,7 +564,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
490
564
  type: Input
491
565
  }], loadingIcon: [{
492
566
  type: Input
493
- }], label: [{
567
+ }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], iconSignal: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ButtonIcon), { isSignal: true }] }], labelSignal: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ButtonLabel), { isSignal: true }] }], label: [{
494
568
  type: Input
495
569
  }], icon: [{
496
570
  type: Input
@@ -645,7 +719,7 @@ class Button extends BaseComponent {
645
719
  * @defaultValue undefined
646
720
  * @group Props
647
721
  */
648
- fluid = input(undefined, ...(ngDevMode ? [{ debugName: "fluid", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
722
+ fluid = input(undefined, { ...(ngDevMode ? { debugName: "fluid" } : {}), transform: booleanAttribute });
649
723
  /**
650
724
  * Callback to execute when button is clicked.
651
725
  * This event is intended to be used with the <p-button> component. Using a regular <button> element, use (click).
@@ -668,17 +742,17 @@ class Button extends BaseComponent {
668
742
  */
669
743
  onBlur = new EventEmitter();
670
744
  /**
671
- * Template of the content.
745
+ * Custom content template.
672
746
  * @group Templates
673
747
  **/
674
748
  contentTemplate;
675
749
  /**
676
- * Template of the loading.
750
+ * Custom loading icon template.
677
751
  * @group Templates
678
752
  **/
679
753
  loadingIconTemplate;
680
754
  /**
681
- * Template of the icon.
755
+ * Custom icon template.
682
756
  * @group Templates
683
757
  **/
684
758
  iconTemplate;
@@ -687,6 +761,9 @@ class Button extends BaseComponent {
687
761
  get hasFluid() {
688
762
  return this.fluid() ?? !!this.pcFluid;
689
763
  }
764
+ get hasIcon() {
765
+ return this.icon || this.buttonProps?.icon || this.iconTemplate || this._iconTemplate || this.loadingIcon || this.loadingIconTemplate || this._loadingIconTemplate;
766
+ }
690
767
  _contentTemplate;
691
768
  _iconTemplate;
692
769
  _loadingIconTemplate;
@@ -708,24 +785,34 @@ class Button extends BaseComponent {
708
785
  }
709
786
  });
710
787
  }
711
- spinnerIconClass() {
712
- return Object.entries(this.iconClass())
713
- .filter(([, value]) => !!value)
714
- .reduce((acc, [key]) => acc + ` ${key}`, 'p-button-loading-icon');
788
+ get dataP() {
789
+ return this.cn({
790
+ [this.size]: this.size,
791
+ 'icon-only': this.hasIcon && !this.label && !this.badge,
792
+ loading: this.loading,
793
+ fluid: this.hasFluid,
794
+ rounded: this.rounded,
795
+ raised: this.raised,
796
+ outlined: this.outlined || this.variant === 'outlined',
797
+ text: this.text || this.variant === 'text',
798
+ link: this.link,
799
+ vertical: (this.iconPos === 'top' || this.iconPos === 'bottom') && this.label
800
+ });
801
+ }
802
+ get dataIconP() {
803
+ return this.cn({
804
+ [this.iconPos]: this.iconPos,
805
+ [this.size]: this.size
806
+ });
807
+ }
808
+ get dataLabelP() {
809
+ return this.cn({
810
+ [this.size]: this.size,
811
+ 'icon-only': this.hasIcon && !this.label && !this.badge
812
+ });
715
813
  }
716
- iconClass() {
717
- return {
718
- [`p-button-loading-icon pi-spin ${this.loadingIcon ?? ''}`]: this.loading,
719
- 'p-button-icon': true,
720
- [this.icon]: true,
721
- 'p-button-icon-left': this.iconPos === 'left' && this.label,
722
- 'p-button-icon-right': this.iconPos === 'right' && this.label,
723
- 'p-button-icon-top': this.iconPos === 'top' && this.label,
724
- 'p-button-icon-bottom': this.iconPos === 'bottom' && this.label
725
- };
726
- }
727
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Button, deps: null, target: i0.ɵɵFactoryTarget.Component });
728
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.4", type: Button, isStandalone: true, selector: "p-button", inputs: { hostName: { classPropertyName: "hostName", publicName: "hostName", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, plain: { classPropertyName: "plain", publicName: "plain", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, link: { classPropertyName: "link", publicName: "link", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: false, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, badgeClass: { classPropertyName: "badgeClass", publicName: "badgeClass", isSignal: false, isRequired: false, transformFunction: null }, badgeSeverity: { classPropertyName: "badgeSeverity", publicName: "badgeSeverity", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, iconPos: { classPropertyName: "iconPos", publicName: "iconPos", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: false, isRequired: false, transformFunction: null }, buttonProps: { classPropertyName: "buttonProps", publicName: "buttonProps", isSignal: false, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, providers: [ButtonStyle, { provide: BUTTON_INSTANCE, useExisting: Button }, { provide: PARENT_INSTANCE, useExisting: Button }], queries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], descendants: true }, { propertyName: "iconTemplate", first: true, predicate: ["icon"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
814
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: Button, deps: null, target: i0.ɵɵFactoryTarget.Component });
815
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.1", type: Button, isStandalone: true, selector: "p-button", inputs: { hostName: { classPropertyName: "hostName", publicName: "hostName", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, raised: { classPropertyName: "raised", publicName: "raised", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, plain: { classPropertyName: "plain", publicName: "plain", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, link: { classPropertyName: "link", publicName: "link", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: false, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, badgeClass: { classPropertyName: "badgeClass", publicName: "badgeClass", isSignal: false, isRequired: false, transformFunction: null }, badgeSeverity: { classPropertyName: "badgeSeverity", publicName: "badgeSeverity", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, iconPos: { classPropertyName: "iconPos", publicName: "iconPos", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, severity: { classPropertyName: "severity", publicName: "severity", isSignal: false, isRequired: false, transformFunction: null }, buttonProps: { classPropertyName: "buttonProps", publicName: "buttonProps", isSignal: false, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, providers: [ButtonStyle, { provide: BUTTON_INSTANCE, useExisting: Button }, { provide: PARENT_INSTANCE, useExisting: Button }], queries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], descendants: true }, { propertyName: "iconTemplate", first: true, predicate: ["icon"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
729
816
  <button
730
817
  [attr.type]="type || buttonProps?.type"
731
818
  [attr.aria-label]="ariaLabel || buttonProps?.ariaLabel"
@@ -739,26 +826,42 @@ class Button extends BaseComponent {
739
826
  [attr.tabindex]="tabindex || buttonProps?.tabindex"
740
827
  [pAutoFocus]="autofocus || buttonProps?.autofocus"
741
828
  [pBind]="ptm('root')"
829
+ [attr.data-p]="dataP"
830
+ [attr.data-p-disabled]="disabled || loading || buttonProps?.disabled"
831
+ [attr.data-p-severity]="severity || buttonProps?.severity"
742
832
  >
743
833
  <ng-content></ng-content>
744
834
  <ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate"></ng-container>
745
- <ng-container *ngIf="loading">
835
+ <ng-container *ngIf="loading || buttonProps?.loading">
746
836
  <ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
747
- <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin', loadingIcon)" [pBind]="ptm('loadingIcon')" [attr.aria-hidden]="true"></span>
748
- <svg data-p-icon="spinner" *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), spinnerIconClass())" [pBind]="ptm('loadingIcon')" [spin]="true" [attr.aria-hidden]="true" />
837
+ <span *ngIf="loadingIcon || buttonProps?.loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin', loadingIcon || buttonProps?.loadingIcon)" [pBind]="ptm('loadingIcon')" [attr.aria-hidden]="true"></span>
838
+ <svg data-p-icon="spinner" *ngIf="!(loadingIcon || buttonProps?.loadingIcon)" [class]="cn(cx('loadingIcon'), cx('spinnerIcon'))" [pBind]="ptm('loadingIcon')" [spin]="true" [attr.aria-hidden]="true" />
749
839
  </ng-container>
750
840
  <ng-template [ngIf]="loadingIconTemplate || _loadingIconTemplate" *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate; context: { class: cx('loadingIcon'), pt: ptm('loadingIcon') }"></ng-template>
751
841
  </ng-container>
752
- <ng-container *ngIf="!loading">
753
- <span *ngIf="icon && !iconTemplate && !_iconTemplate" [class]="cn('icon', iconClass())" [pBind]="ptm('icon')"></span>
842
+ <ng-container *ngIf="!(loading || buttonProps?.loading)">
843
+ <span *ngIf="(icon || buttonProps?.icon) && !iconTemplate && !_iconTemplate" [class]="cn(cx('icon'), icon || buttonProps?.icon)" [pBind]="ptm('icon')" [attr.data-p]="dataIconP"></span>
754
844
  <ng-template [ngIf]="!icon && (iconTemplate || _iconTemplate)" *ngTemplateOutlet="iconTemplate || _iconTemplate; context: { class: cx('icon'), pt: ptm('icon') }"></ng-template>
755
845
  </ng-container>
756
- <span [class]="cx('label')" [attr.aria-hidden]="icon && !label" *ngIf="!contentTemplate && !_contentTemplate && label" [pBind]="ptm('label')">{{ label }}</span>
757
- <p-badge *ngIf="!contentTemplate && !_contentTemplate && badge" [value]="badge" [severity]="badgeSeverity" [pt]="ptm('pcBadge')"></p-badge>
846
+ <span
847
+ [class]="cx('label')"
848
+ [attr.aria-hidden]="(icon || buttonProps?.icon) && !(label || buttonProps?.label)"
849
+ *ngIf="!contentTemplate && !_contentTemplate && (label || buttonProps?.label)"
850
+ [pBind]="ptm('label')"
851
+ [attr.data-p]="dataLabelP"
852
+ >{{ label || buttonProps?.label }}</span
853
+ >
854
+ <p-badge
855
+ *ngIf="!contentTemplate && !_contentTemplate && (badge || buttonProps?.badge)"
856
+ [value]="badge || buttonProps?.badge"
857
+ [severity]="badgeSeverity || buttonProps?.badgeSeverity"
858
+ [pt]="ptm('pcBadge')"
859
+ [unstyled]="unstyled()"
860
+ ></p-badge>
758
861
  </button>
759
862
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i3.Badge, selector: "p-badge", inputs: ["styleClass", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
760
863
  }
761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Button, decorators: [{
864
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: Button, decorators: [{
762
865
  type: Component,
763
866
  args: [{
764
867
  selector: 'p-button',
@@ -778,22 +881,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
778
881
  [attr.tabindex]="tabindex || buttonProps?.tabindex"
779
882
  [pAutoFocus]="autofocus || buttonProps?.autofocus"
780
883
  [pBind]="ptm('root')"
884
+ [attr.data-p]="dataP"
885
+ [attr.data-p-disabled]="disabled || loading || buttonProps?.disabled"
886
+ [attr.data-p-severity]="severity || buttonProps?.severity"
781
887
  >
782
888
  <ng-content></ng-content>
783
889
  <ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate"></ng-container>
784
- <ng-container *ngIf="loading">
890
+ <ng-container *ngIf="loading || buttonProps?.loading">
785
891
  <ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
786
- <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin', loadingIcon)" [pBind]="ptm('loadingIcon')" [attr.aria-hidden]="true"></span>
787
- <svg data-p-icon="spinner" *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), spinnerIconClass())" [pBind]="ptm('loadingIcon')" [spin]="true" [attr.aria-hidden]="true" />
892
+ <span *ngIf="loadingIcon || buttonProps?.loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin', loadingIcon || buttonProps?.loadingIcon)" [pBind]="ptm('loadingIcon')" [attr.aria-hidden]="true"></span>
893
+ <svg data-p-icon="spinner" *ngIf="!(loadingIcon || buttonProps?.loadingIcon)" [class]="cn(cx('loadingIcon'), cx('spinnerIcon'))" [pBind]="ptm('loadingIcon')" [spin]="true" [attr.aria-hidden]="true" />
788
894
  </ng-container>
789
895
  <ng-template [ngIf]="loadingIconTemplate || _loadingIconTemplate" *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate; context: { class: cx('loadingIcon'), pt: ptm('loadingIcon') }"></ng-template>
790
896
  </ng-container>
791
- <ng-container *ngIf="!loading">
792
- <span *ngIf="icon && !iconTemplate && !_iconTemplate" [class]="cn('icon', iconClass())" [pBind]="ptm('icon')"></span>
897
+ <ng-container *ngIf="!(loading || buttonProps?.loading)">
898
+ <span *ngIf="(icon || buttonProps?.icon) && !iconTemplate && !_iconTemplate" [class]="cn(cx('icon'), icon || buttonProps?.icon)" [pBind]="ptm('icon')" [attr.data-p]="dataIconP"></span>
793
899
  <ng-template [ngIf]="!icon && (iconTemplate || _iconTemplate)" *ngTemplateOutlet="iconTemplate || _iconTemplate; context: { class: cx('icon'), pt: ptm('icon') }"></ng-template>
794
900
  </ng-container>
795
- <span [class]="cx('label')" [attr.aria-hidden]="icon && !label" *ngIf="!contentTemplate && !_contentTemplate && label" [pBind]="ptm('label')">{{ label }}</span>
796
- <p-badge *ngIf="!contentTemplate && !_contentTemplate && badge" [value]="badge" [severity]="badgeSeverity" [pt]="ptm('pcBadge')"></p-badge>
901
+ <span
902
+ [class]="cx('label')"
903
+ [attr.aria-hidden]="(icon || buttonProps?.icon) && !(label || buttonProps?.label)"
904
+ *ngIf="!contentTemplate && !_contentTemplate && (label || buttonProps?.label)"
905
+ [pBind]="ptm('label')"
906
+ [attr.data-p]="dataLabelP"
907
+ >{{ label || buttonProps?.label }}</span
908
+ >
909
+ <p-badge
910
+ *ngIf="!contentTemplate && !_contentTemplate && (badge || buttonProps?.badge)"
911
+ [value]="badge || buttonProps?.badge"
912
+ [severity]="badgeSeverity || buttonProps?.badgeSeverity"
913
+ [pt]="ptm('pcBadge')"
914
+ [unstyled]="unstyled()"
915
+ ></p-badge>
797
916
  </button>
798
917
  `,
799
918
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -863,7 +982,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
863
982
  type: Input
864
983
  }], buttonProps: [{
865
984
  type: Input
866
- }], onClick: [{
985
+ }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], onClick: [{
867
986
  type: Output
868
987
  }], onFocus: [{
869
988
  type: Output
@@ -883,11 +1002,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
883
1002
  args: [PrimeTemplate]
884
1003
  }] } });
885
1004
  class ButtonModule {
886
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
887
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: ButtonModule, imports: [CommonModule, ButtonDirective, Button, SharedModule, ButtonLabel, ButtonIcon], exports: [ButtonDirective, Button, ButtonLabel, ButtonIcon, SharedModule] });
888
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonModule, imports: [CommonModule, Button, SharedModule, SharedModule] });
1005
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1006
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: ButtonModule, imports: [CommonModule, ButtonDirective, Button, SharedModule, ButtonLabel, ButtonIcon], exports: [ButtonDirective, Button, ButtonLabel, ButtonIcon, SharedModule] });
1007
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonModule, imports: [CommonModule, Button, SharedModule, SharedModule] });
889
1008
  }
890
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ButtonModule, decorators: [{
1009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ButtonModule, decorators: [{
891
1010
  type: NgModule,
892
1011
  args: [{
893
1012
  imports: [CommonModule, ButtonDirective, Button, SharedModule, ButtonLabel, ButtonIcon],