primeng 17.15.0 → 17.16.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 (500) hide show
  1. package/api/megamenuitem.d.ts +4 -0
  2. package/api/primeicons.d.ts +53 -0
  3. package/api/primengconfig.d.ts +1 -1
  4. package/api/treenode.d.ts +4 -0
  5. package/autocomplete/autocomplete.d.ts +11 -2
  6. package/badge/badge.d.ts +2 -5
  7. package/breadcrumb/breadcrumb.interface.d.ts +11 -0
  8. package/button/button.d.ts +1 -1
  9. package/calendar/calendar.d.ts +18 -4
  10. package/cascadeselect/cascadeselect.d.ts +19 -1
  11. package/cascadeselect/cascadeselect.interface.d.ts +4 -0
  12. package/checkbox/checkbox.d.ts +9 -3
  13. package/chips/chips.d.ts +9 -2
  14. package/dataview/dataview.d.ts +0 -1
  15. package/dropdown/dropdown.d.ts +32 -4
  16. package/esm2022/accordion/accordion.mjs +10 -10
  17. package/esm2022/animate/animate.mjs +7 -7
  18. package/esm2022/animateonscroll/animateonscroll.mjs +7 -7
  19. package/esm2022/api/confirmationservice.mjs +3 -3
  20. package/esm2022/api/contextmenuservice.mjs +3 -3
  21. package/esm2022/api/filterservice.mjs +3 -3
  22. package/esm2022/api/megamenuitem.mjs +1 -1
  23. package/esm2022/api/messageservice.mjs +3 -3
  24. package/esm2022/api/overlayservice.mjs +3 -3
  25. package/esm2022/api/primeicons.mjs +54 -1
  26. package/esm2022/api/primengconfig.mjs +6 -6
  27. package/esm2022/api/shared.mjs +13 -13
  28. package/esm2022/api/treedragdropservice.mjs +3 -3
  29. package/esm2022/api/treenode.mjs +1 -1
  30. package/esm2022/autocomplete/autocomplete.mjs +26 -15
  31. package/esm2022/autofocus/autofocus.mjs +7 -7
  32. package/esm2022/avatar/avatar.mjs +7 -7
  33. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  34. package/esm2022/badge/badge.mjs +25 -18
  35. package/esm2022/baseicon/baseicon.mjs +3 -3
  36. package/esm2022/blockui/blockui.mjs +7 -7
  37. package/esm2022/breadcrumb/breadcrumb.interface.mjs +1 -1
  38. package/esm2022/breadcrumb/breadcrumb.mjs +8 -8
  39. package/esm2022/button/button.mjs +11 -11
  40. package/esm2022/buttongroup/buttongroup.mjs +7 -7
  41. package/esm2022/calendar/calendar.mjs +157 -29
  42. package/esm2022/card/card.mjs +7 -7
  43. package/esm2022/carousel/carousel.mjs +7 -7
  44. package/esm2022/cascadeselect/cascadeselect.interface.mjs +1 -1
  45. package/esm2022/cascadeselect/cascadeselect.mjs +70 -21
  46. package/esm2022/chart/chart.mjs +7 -7
  47. package/esm2022/checkbox/checkbox.mjs +37 -15
  48. package/esm2022/chip/chip.mjs +7 -7
  49. package/esm2022/chips/chips.mjs +25 -15
  50. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  51. package/esm2022/confirmdialog/confirmdialog.mjs +7 -7
  52. package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
  53. package/esm2022/contextmenu/contextmenu.mjs +10 -10
  54. package/esm2022/dataview/dataview.mjs +12 -13
  55. package/esm2022/defer/defer.mjs +7 -7
  56. package/esm2022/dialog/dialog.mjs +7 -7
  57. package/esm2022/divider/divider.mjs +7 -7
  58. package/esm2022/dock/dock.mjs +7 -7
  59. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  60. package/esm2022/dropdown/dropdown.mjs +127 -40
  61. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  62. package/esm2022/dynamicdialog/dynamicdialog.mjs +13 -10
  63. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  64. package/esm2022/editor/editor.mjs +7 -7
  65. package/esm2022/fieldset/fieldset.mjs +7 -7
  66. package/esm2022/fileupload/fileupload.interface.mjs +1 -1
  67. package/esm2022/fileupload/fileupload.mjs +181 -113
  68. package/esm2022/floatlabel/floatlabel.mjs +7 -7
  69. package/esm2022/focustrap/focustrap.mjs +7 -7
  70. package/esm2022/galleria/galleria.mjs +19 -19
  71. package/esm2022/iconfield/iconfield.mjs +7 -7
  72. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  73. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  74. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  75. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  76. package/esm2022/icons/angledown/angledown.mjs +3 -3
  77. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  78. package/esm2022/icons/angleright/angleright.mjs +3 -3
  79. package/esm2022/icons/angleup/angleup.mjs +3 -3
  80. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  81. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  82. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  83. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  84. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  85. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  86. package/esm2022/icons/ban/ban.mjs +3 -3
  87. package/esm2022/icons/bars/bars.mjs +3 -3
  88. package/esm2022/icons/blank/blank.mjs +25 -0
  89. package/esm2022/icons/blank/primeng-icons-blank.mjs +5 -0
  90. package/esm2022/icons/blank/public_api.mjs +2 -0
  91. package/esm2022/icons/calendar/calendar.mjs +3 -3
  92. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  93. package/esm2022/icons/caretright/caretright.mjs +3 -3
  94. package/esm2022/icons/check/check.mjs +3 -3
  95. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  96. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  97. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  98. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  99. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  100. package/esm2022/icons/eye/eye.mjs +3 -3
  101. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  102. package/esm2022/icons/filter/filter.mjs +3 -3
  103. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  104. package/esm2022/icons/home/home.mjs +3 -3
  105. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  106. package/esm2022/icons/minus/minus.mjs +3 -3
  107. package/esm2022/icons/pencil/pencil.mjs +3 -3
  108. package/esm2022/icons/plus/plus.mjs +3 -3
  109. package/esm2022/icons/refresh/refresh.mjs +3 -3
  110. package/esm2022/icons/search/search.mjs +3 -3
  111. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  112. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  113. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  114. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  115. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  116. package/esm2022/icons/spinner/spinner.mjs +3 -3
  117. package/esm2022/icons/star/star.mjs +3 -3
  118. package/esm2022/icons/starfill/starfill.mjs +3 -3
  119. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  120. package/esm2022/icons/times/times.mjs +3 -3
  121. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  122. package/esm2022/icons/trash/trash.mjs +3 -3
  123. package/esm2022/icons/undo/undo.mjs +3 -3
  124. package/esm2022/icons/upload/upload.mjs +3 -3
  125. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  126. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  127. package/esm2022/image/image.mjs +7 -7
  128. package/esm2022/inplace/inplace.mjs +13 -13
  129. package/esm2022/inputgroup/inputgroup.mjs +7 -7
  130. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +7 -7
  131. package/esm2022/inputicon/inputicon.mjs +7 -7
  132. package/esm2022/inputmask/inputmask.mjs +36 -18
  133. package/esm2022/inputnumber/inputnumber.mjs +34 -16
  134. package/esm2022/inputotp/inputotp.mjs +13 -10
  135. package/esm2022/inputswitch/inputswitch.mjs +8 -9
  136. package/esm2022/inputtext/inputtext.mjs +27 -12
  137. package/esm2022/inputtextarea/inputtextarea.mjs +22 -11
  138. package/esm2022/keyfilter/keyfilter.mjs +7 -7
  139. package/esm2022/knob/knob.mjs +7 -7
  140. package/esm2022/listbox/listbox.mjs +7 -7
  141. package/esm2022/megamenu/megamenu.interface.mjs +1 -1
  142. package/esm2022/megamenu/megamenu.mjs +12 -12
  143. package/esm2022/menu/menu.mjs +31 -18
  144. package/esm2022/menubar/menubar.interface.mjs +1 -1
  145. package/esm2022/menubar/menubar.mjs +16 -16
  146. package/esm2022/message/message.mjs +18 -36
  147. package/esm2022/messages/messages.mjs +7 -7
  148. package/esm2022/metergroup/metergroup.mjs +10 -10
  149. package/esm2022/multiselect/multiselect.mjs +90 -37
  150. package/esm2022/orderlist/orderlist.mjs +7 -7
  151. package/esm2022/organizationchart/organizationchart.mjs +51 -35
  152. package/esm2022/overlay/overlay.mjs +7 -7
  153. package/esm2022/overlaypanel/overlaypanel.mjs +7 -7
  154. package/esm2022/paginator/paginator.mjs +10 -10
  155. package/esm2022/panel/panel.mjs +7 -7
  156. package/esm2022/panelmenu/panelmenu.interface.mjs +1 -1
  157. package/esm2022/panelmenu/panelmenu.mjs +64 -54
  158. package/esm2022/password/password.mjs +33 -16
  159. package/esm2022/picklist/picklist.mjs +11 -10
  160. package/esm2022/progressbar/progressbar.mjs +7 -7
  161. package/esm2022/progressspinner/progressspinner.mjs +7 -7
  162. package/esm2022/radiobutton/radiobutton.mjs +40 -18
  163. package/esm2022/rating/rating.mjs +7 -7
  164. package/esm2022/ripple/ripple.mjs +7 -7
  165. package/esm2022/scroller/scroller.mjs +11 -11
  166. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  167. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  168. package/esm2022/selectbutton/selectbutton.mjs +7 -7
  169. package/esm2022/sidebar/sidebar.mjs +7 -7
  170. package/esm2022/skeleton/skeleton.mjs +12 -12
  171. package/esm2022/slidemenu/slidemenu.mjs +10 -10
  172. package/esm2022/slider/slider.mjs +7 -7
  173. package/esm2022/speeddial/speeddial.mjs +7 -7
  174. package/esm2022/spinner/spinner.mjs +7 -7
  175. package/esm2022/splitbutton/splitbutton.mjs +20 -20
  176. package/esm2022/splitter/splitter.mjs +7 -7
  177. package/esm2022/stepper/stepper.mjs +19 -19
  178. package/esm2022/steps/steps.mjs +7 -7
  179. package/esm2022/styleclass/styleclass.mjs +7 -7
  180. package/esm2022/table/table.mjs +108 -87
  181. package/esm2022/tabmenu/tabmenu.mjs +7 -7
  182. package/esm2022/tabview/tabview.mjs +10 -10
  183. package/esm2022/tag/tag.mjs +9 -12
  184. package/esm2022/terminal/terminal.mjs +7 -7
  185. package/esm2022/terminal/terminalservice.mjs +3 -3
  186. package/esm2022/tieredmenu/tieredmenu.mjs +41 -37
  187. package/esm2022/timeline/timeline.mjs +9 -9
  188. package/esm2022/toast/toast.mjs +10 -10
  189. package/esm2022/togglebutton/togglebutton.mjs +7 -7
  190. package/esm2022/toolbar/toolbar.mjs +7 -7
  191. package/esm2022/tooltip/tooltip.mjs +25 -15
  192. package/esm2022/tree/tree.mjs +61 -21
  193. package/esm2022/treeselect/treeselect.mjs +18 -10
  194. package/esm2022/treetable/treetable.mjs +62 -60
  195. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +25 -15
  196. package/esm2022/virtualscroller/virtualscroller.mjs +7 -7
  197. package/fesm2022/primeng-accordion.mjs +10 -10
  198. package/fesm2022/primeng-animate.mjs +7 -7
  199. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  200. package/fesm2022/primeng-api.mjs +89 -36
  201. package/fesm2022/primeng-api.mjs.map +1 -1
  202. package/fesm2022/primeng-autocomplete.mjs +25 -14
  203. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  204. package/fesm2022/primeng-autofocus.mjs +7 -7
  205. package/fesm2022/primeng-avatar.mjs +7 -7
  206. package/fesm2022/primeng-avatargroup.mjs +7 -7
  207. package/fesm2022/primeng-badge.mjs +24 -17
  208. package/fesm2022/primeng-badge.mjs.map +1 -1
  209. package/fesm2022/primeng-baseicon.mjs +3 -3
  210. package/fesm2022/primeng-blockui.mjs +7 -7
  211. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  212. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  213. package/fesm2022/primeng-button.mjs +10 -10
  214. package/fesm2022/primeng-button.mjs.map +1 -1
  215. package/fesm2022/primeng-buttongroup.mjs +7 -7
  216. package/fesm2022/primeng-calendar.mjs +156 -28
  217. package/fesm2022/primeng-calendar.mjs.map +1 -1
  218. package/fesm2022/primeng-card.mjs +7 -7
  219. package/fesm2022/primeng-carousel.mjs +7 -7
  220. package/fesm2022/primeng-cascadeselect.mjs +69 -20
  221. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  222. package/fesm2022/primeng-chart.mjs +7 -7
  223. package/fesm2022/primeng-checkbox.mjs +36 -14
  224. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  225. package/fesm2022/primeng-chip.mjs +7 -7
  226. package/fesm2022/primeng-chips.mjs +24 -14
  227. package/fesm2022/primeng-chips.mjs.map +1 -1
  228. package/fesm2022/primeng-colorpicker.mjs +7 -7
  229. package/fesm2022/primeng-confirmdialog.mjs +7 -7
  230. package/fesm2022/primeng-confirmpopup.mjs +7 -7
  231. package/fesm2022/primeng-contextmenu.mjs +10 -10
  232. package/fesm2022/primeng-dataview.mjs +11 -12
  233. package/fesm2022/primeng-dataview.mjs.map +1 -1
  234. package/fesm2022/primeng-defer.mjs +7 -7
  235. package/fesm2022/primeng-dialog.mjs +7 -7
  236. package/fesm2022/primeng-divider.mjs +7 -7
  237. package/fesm2022/primeng-dock.mjs +7 -7
  238. package/fesm2022/primeng-dragdrop.mjs +10 -10
  239. package/fesm2022/primeng-dropdown.mjs +126 -39
  240. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  241. package/fesm2022/primeng-dynamicdialog.mjs +18 -15
  242. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  243. package/fesm2022/primeng-editor.mjs +7 -7
  244. package/fesm2022/primeng-fieldset.mjs +7 -7
  245. package/fesm2022/primeng-fileupload.mjs +180 -112
  246. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  247. package/fesm2022/primeng-floatlabel.mjs +7 -7
  248. package/fesm2022/primeng-focustrap.mjs +7 -7
  249. package/fesm2022/primeng-galleria.mjs +19 -19
  250. package/fesm2022/primeng-iconfield.mjs +7 -7
  251. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  252. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  253. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  254. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  255. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  256. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  257. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  258. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  259. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  260. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  261. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  262. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  263. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  264. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  265. package/fesm2022/primeng-icons-ban.mjs +3 -3
  266. package/fesm2022/primeng-icons-bars.mjs +3 -3
  267. package/fesm2022/primeng-icons-blank.mjs +32 -0
  268. package/fesm2022/primeng-icons-blank.mjs.map +1 -0
  269. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  270. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  271. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  272. package/fesm2022/primeng-icons-check.mjs +3 -3
  273. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  274. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  275. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  276. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  277. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  278. package/fesm2022/primeng-icons-eye.mjs +3 -3
  279. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  280. package/fesm2022/primeng-icons-filter.mjs +3 -3
  281. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  282. package/fesm2022/primeng-icons-home.mjs +3 -3
  283. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  284. package/fesm2022/primeng-icons-minus.mjs +3 -3
  285. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  286. package/fesm2022/primeng-icons-plus.mjs +3 -3
  287. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  288. package/fesm2022/primeng-icons-search.mjs +3 -3
  289. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  290. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  291. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  292. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  293. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  294. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  295. package/fesm2022/primeng-icons-star.mjs +3 -3
  296. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  297. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  298. package/fesm2022/primeng-icons-times.mjs +3 -3
  299. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  300. package/fesm2022/primeng-icons-trash.mjs +3 -3
  301. package/fesm2022/primeng-icons-undo.mjs +3 -3
  302. package/fesm2022/primeng-icons-upload.mjs +3 -3
  303. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  304. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  305. package/fesm2022/primeng-image.mjs +7 -7
  306. package/fesm2022/primeng-inplace.mjs +13 -13
  307. package/fesm2022/primeng-inputgroup.mjs +7 -7
  308. package/fesm2022/primeng-inputgroupaddon.mjs +7 -7
  309. package/fesm2022/primeng-inputicon.mjs +7 -7
  310. package/fesm2022/primeng-inputmask.mjs +35 -17
  311. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  312. package/fesm2022/primeng-inputnumber.mjs +34 -16
  313. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  314. package/fesm2022/primeng-inputotp.mjs +12 -9
  315. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  316. package/fesm2022/primeng-inputswitch.mjs +7 -8
  317. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  318. package/fesm2022/primeng-inputtext.mjs +26 -11
  319. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  320. package/fesm2022/primeng-inputtextarea.mjs +21 -10
  321. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  322. package/fesm2022/primeng-keyfilter.mjs +7 -7
  323. package/fesm2022/primeng-knob.mjs +7 -7
  324. package/fesm2022/primeng-listbox.mjs +7 -7
  325. package/fesm2022/primeng-megamenu.mjs +11 -11
  326. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  327. package/fesm2022/primeng-menu.mjs +30 -17
  328. package/fesm2022/primeng-menu.mjs.map +1 -1
  329. package/fesm2022/primeng-menubar.mjs +15 -15
  330. package/fesm2022/primeng-menubar.mjs.map +1 -1
  331. package/fesm2022/primeng-message.mjs +17 -35
  332. package/fesm2022/primeng-message.mjs.map +1 -1
  333. package/fesm2022/primeng-messages.mjs +7 -7
  334. package/fesm2022/primeng-metergroup.mjs +10 -10
  335. package/fesm2022/primeng-multiselect.mjs +89 -36
  336. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  337. package/fesm2022/primeng-orderlist.mjs +7 -7
  338. package/fesm2022/primeng-organizationchart.mjs +50 -34
  339. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  340. package/fesm2022/primeng-overlay.mjs +7 -7
  341. package/fesm2022/primeng-overlaypanel.mjs +7 -7
  342. package/fesm2022/primeng-paginator.mjs +9 -9
  343. package/fesm2022/primeng-paginator.mjs.map +1 -1
  344. package/fesm2022/primeng-panel.mjs +7 -7
  345. package/fesm2022/primeng-panelmenu.mjs +63 -53
  346. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  347. package/fesm2022/primeng-password.mjs +32 -15
  348. package/fesm2022/primeng-password.mjs.map +1 -1
  349. package/fesm2022/primeng-picklist.mjs +10 -9
  350. package/fesm2022/primeng-picklist.mjs.map +1 -1
  351. package/fesm2022/primeng-progressbar.mjs +7 -7
  352. package/fesm2022/primeng-progressspinner.mjs +7 -7
  353. package/fesm2022/primeng-radiobutton.mjs +39 -17
  354. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  355. package/fesm2022/primeng-rating.mjs +7 -7
  356. package/fesm2022/primeng-ripple.mjs +7 -7
  357. package/fesm2022/primeng-scroller.mjs +10 -10
  358. package/fesm2022/primeng-scroller.mjs.map +1 -1
  359. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  360. package/fesm2022/primeng-scrolltop.mjs +7 -7
  361. package/fesm2022/primeng-selectbutton.mjs +7 -7
  362. package/fesm2022/primeng-sidebar.mjs +7 -7
  363. package/fesm2022/primeng-skeleton.mjs +11 -11
  364. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  365. package/fesm2022/primeng-slidemenu.mjs +10 -10
  366. package/fesm2022/primeng-slider.mjs +7 -7
  367. package/fesm2022/primeng-speeddial.mjs +7 -7
  368. package/fesm2022/primeng-spinner.mjs +7 -7
  369. package/fesm2022/primeng-splitbutton.mjs +19 -19
  370. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  371. package/fesm2022/primeng-splitter.mjs +7 -7
  372. package/fesm2022/primeng-stepper.mjs +19 -19
  373. package/fesm2022/primeng-steps.mjs +7 -7
  374. package/fesm2022/primeng-styleclass.mjs +7 -7
  375. package/fesm2022/primeng-table.mjs +107 -86
  376. package/fesm2022/primeng-table.mjs.map +1 -1
  377. package/fesm2022/primeng-tabmenu.mjs +7 -7
  378. package/fesm2022/primeng-tabview.mjs +10 -10
  379. package/fesm2022/primeng-tag.mjs +8 -11
  380. package/fesm2022/primeng-tag.mjs.map +1 -1
  381. package/fesm2022/primeng-terminal.mjs +10 -10
  382. package/fesm2022/primeng-tieredmenu.mjs +40 -36
  383. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  384. package/fesm2022/primeng-timeline.mjs +9 -9
  385. package/fesm2022/primeng-timeline.mjs.map +1 -1
  386. package/fesm2022/primeng-toast.mjs +10 -10
  387. package/fesm2022/primeng-togglebutton.mjs +7 -7
  388. package/fesm2022/primeng-toolbar.mjs +7 -7
  389. package/fesm2022/primeng-tooltip.mjs +24 -14
  390. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  391. package/fesm2022/primeng-tree.mjs +60 -20
  392. package/fesm2022/primeng-tree.mjs.map +1 -1
  393. package/fesm2022/primeng-treeselect.mjs +17 -9
  394. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  395. package/fesm2022/primeng-treetable.mjs +61 -59
  396. package/fesm2022/primeng-treetable.mjs.map +1 -1
  397. package/fesm2022/primeng-tristatecheckbox.mjs +24 -14
  398. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  399. package/fesm2022/primeng-virtualscroller.mjs +7 -7
  400. package/fileupload/fileupload.d.ts +23 -2
  401. package/fileupload/fileupload.interface.d.ts +73 -3
  402. package/icons/blank/blank.d.ts +6 -0
  403. package/icons/blank/index.d.ts +5 -0
  404. package/icons/blank/public_api.d.ts +1 -0
  405. package/inputmask/inputmask.d.ts +13 -3
  406. package/inputnumber/inputnumber.d.ts +6 -1
  407. package/inputotp/inputotp.d.ts +1 -1
  408. package/inputtext/inputtext.d.ts +14 -3
  409. package/inputtextarea/inputtextarea.d.ts +10 -3
  410. package/megamenu/megamenu.interface.d.ts +12 -0
  411. package/menu/menu.d.ts +1 -0
  412. package/menubar/menubar.interface.d.ts +17 -0
  413. package/message/message.d.ts +6 -2
  414. package/multiselect/multiselect.d.ts +21 -1
  415. package/organizationchart/organizationchart.d.ts +10 -2
  416. package/package.json +52 -46
  417. package/paginator/paginator.d.ts +4 -4
  418. package/panelmenu/panelmenu.d.ts +1 -0
  419. package/panelmenu/panelmenu.interface.d.ts +12 -0
  420. package/password/password.d.ts +12 -2
  421. package/radiobutton/radiobutton.d.ts +9 -2
  422. package/resources/components/dropdown/dropdown.css +6 -2
  423. package/resources/components/timeline/timeline.css +2 -0
  424. package/resources/themes/arya-blue/theme.css +117 -5
  425. package/resources/themes/arya-green/theme.css +117 -5
  426. package/resources/themes/arya-orange/theme.css +117 -5
  427. package/resources/themes/arya-purple/theme.css +117 -5
  428. package/resources/themes/aura-dark-amber/theme.css +174 -2
  429. package/resources/themes/aura-dark-blue/theme.css +174 -2
  430. package/resources/themes/aura-dark-cyan/theme.css +174 -2
  431. package/resources/themes/aura-dark-green/theme.css +174 -2
  432. package/resources/themes/aura-dark-indigo/theme.css +174 -2
  433. package/resources/themes/aura-dark-lime/theme.css +174 -2
  434. package/resources/themes/aura-dark-noir/theme.css +174 -2
  435. package/resources/themes/aura-dark-pink/theme.css +174 -2
  436. package/resources/themes/aura-dark-purple/theme.css +174 -2
  437. package/resources/themes/aura-dark-teal/theme.css +174 -2
  438. package/resources/themes/aura-light-amber/theme.css +174 -2
  439. package/resources/themes/aura-light-blue/theme.css +174 -2
  440. package/resources/themes/aura-light-cyan/theme.css +174 -2
  441. package/resources/themes/aura-light-green/theme.css +174 -2
  442. package/resources/themes/aura-light-indigo/theme.css +174 -2
  443. package/resources/themes/aura-light-lime/theme.css +174 -2
  444. package/resources/themes/aura-light-noir/theme.css +174 -2
  445. package/resources/themes/aura-light-pink/theme.css +174 -2
  446. package/resources/themes/aura-light-purple/theme.css +174 -2
  447. package/resources/themes/aura-light-teal/theme.css +174 -2
  448. package/resources/themes/bootstrap4-dark-blue/theme.css +166 -5
  449. package/resources/themes/bootstrap4-dark-purple/theme.css +166 -5
  450. package/resources/themes/bootstrap4-light-blue/theme.css +166 -5
  451. package/resources/themes/bootstrap4-light-purple/theme.css +166 -5
  452. package/resources/themes/fluent-light/theme.css +117 -5
  453. package/resources/themes/lara-dark-blue/theme.css +173 -1
  454. package/resources/themes/lara-dark-indigo/theme.css +173 -1
  455. package/resources/themes/lara-dark-purple/theme.css +173 -1
  456. package/resources/themes/lara-dark-teal/theme.css +173 -1
  457. package/resources/themes/lara-light-blue/theme.css +222 -1
  458. package/resources/themes/lara-light-indigo/theme.css +222 -1
  459. package/resources/themes/lara-light-purple/theme.css +222 -1
  460. package/resources/themes/lara-light-teal/theme.css +222 -1
  461. package/resources/themes/luna-amber/theme.css +117 -5
  462. package/resources/themes/luna-blue/theme.css +117 -5
  463. package/resources/themes/luna-green/theme.css +117 -5
  464. package/resources/themes/luna-pink/theme.css +117 -5
  465. package/resources/themes/md-dark-deeppurple/theme.css +187 -4
  466. package/resources/themes/md-dark-indigo/theme.css +187 -4
  467. package/resources/themes/md-light-deeppurple/theme.css +187 -4
  468. package/resources/themes/md-light-indigo/theme.css +187 -4
  469. package/resources/themes/mdc-dark-deeppurple/theme.css +187 -4
  470. package/resources/themes/mdc-dark-indigo/theme.css +187 -4
  471. package/resources/themes/mdc-light-deeppurple/theme.css +187 -4
  472. package/resources/themes/mdc-light-indigo/theme.css +187 -4
  473. package/resources/themes/mira/theme.css +117 -5
  474. package/resources/themes/nano/theme.css +117 -5
  475. package/resources/themes/nova/theme.css +117 -5
  476. package/resources/themes/nova-accent/theme.css +117 -5
  477. package/resources/themes/nova-alt/theme.css +117 -5
  478. package/resources/themes/rhea/theme.css +117 -5
  479. package/resources/themes/saga-blue/theme.css +117 -5
  480. package/resources/themes/saga-green/theme.css +117 -5
  481. package/resources/themes/saga-orange/theme.css +117 -5
  482. package/resources/themes/saga-purple/theme.css +117 -5
  483. package/resources/themes/soho-dark/theme.css +117 -5
  484. package/resources/themes/soho-light/theme.css +117 -5
  485. package/resources/themes/tailwind-light/theme.css +117 -5
  486. package/resources/themes/vela-blue/theme.css +117 -5
  487. package/resources/themes/vela-green/theme.css +117 -5
  488. package/resources/themes/vela-orange/theme.css +117 -5
  489. package/resources/themes/vela-purple/theme.css +117 -5
  490. package/resources/themes/viva-dark/theme.css +117 -5
  491. package/resources/themes/viva-light/theme.css +117 -5
  492. package/skeleton/skeleton.d.ts +3 -3
  493. package/table/table.d.ts +17 -1
  494. package/tag/tag.d.ts +2 -5
  495. package/tieredmenu/tieredmenu.d.ts +5 -4
  496. package/tooltip/tooltip.d.ts +1 -1
  497. package/tree/tree.d.ts +9 -2
  498. package/treeselect/treeselect.d.ts +7 -1
  499. package/treetable/treetable.d.ts +2 -1
  500. package/tristatecheckbox/tristatecheckbox.d.ts +9 -3
@@ -264,6 +264,12 @@ class FileUpload {
264
264
  * @group Emits
265
265
  */
266
266
  onImageError = new EventEmitter();
267
+ /**
268
+ * This event is triggered if an error occurs while loading an image file.
269
+ * @param {RemoveUploadedFileEvent} event - Remove event.
270
+ * @group Emits
271
+ */
272
+ onRemoveUploadedFile = new EventEmitter();
267
273
  templates;
268
274
  advancedFileInput;
269
275
  basicFileInput;
@@ -294,17 +300,20 @@ class FileUpload {
294
300
  dragHighlight;
295
301
  msgs;
296
302
  fileTemplate;
303
+ headerTemplate;
297
304
  contentTemplate;
298
305
  toolbarTemplate;
299
306
  chooseIconTemplate;
300
307
  uploadIconTemplate;
301
308
  cancelIconTemplate;
309
+ emptyTemplate;
302
310
  uploadedFileCount = 0;
303
311
  focus;
304
312
  uploading;
305
313
  duplicateIEEvent; // flag to recognize duplicate onchange event for file input
306
314
  translationSubscription;
307
315
  dragOverListener;
316
+ uploadedFiles = [];
308
317
  constructor(document, platformId, renderer, el, sanitizer, zone, http, cd, config) {
309
318
  this.document = document;
310
319
  this.platformId = platformId;
@@ -319,6 +328,9 @@ class FileUpload {
319
328
  ngAfterContentInit() {
320
329
  this.templates?.forEach((item) => {
321
330
  switch (item.getType()) {
331
+ case 'header':
332
+ this.headerTemplate = item.template;
333
+ break;
322
334
  case 'file':
323
335
  this.fileTemplate = item.template;
324
336
  break;
@@ -337,6 +349,9 @@ class FileUpload {
337
349
  case 'cancelicon':
338
350
  this.cancelIconTemplate = item.template;
339
351
  break;
352
+ case 'empty':
353
+ this.emptyTemplate = item.template;
354
+ break;
340
355
  default:
341
356
  this.fileTemplate = item.template;
342
357
  break;
@@ -509,6 +524,7 @@ class FileUpload {
509
524
  else {
510
525
  this.onError.emit({ files: this.files });
511
526
  }
527
+ this.uploadedFiles.push(...this.files);
512
528
  this.clear();
513
529
  break;
514
530
  case HttpEventType.UploadProgress: {
@@ -537,12 +553,28 @@ class FileUpload {
537
553
  this.clearInputElement();
538
554
  this.cd.markForCheck();
539
555
  }
556
+ /**
557
+ * Removes a single file.
558
+ * @param {Event} event - Browser event.
559
+ * @param {Number} index - Index of the file.
560
+ * @group Method
561
+ */
540
562
  remove(event, index) {
541
563
  this.clearInputElement();
542
564
  this.onRemove.emit({ originalEvent: event, file: this.files[index] });
543
565
  this.files.splice(index, 1);
544
566
  this.checkFileLimit(this.files);
545
567
  }
568
+ /**
569
+ * Removes uploaded file.
570
+ * @param {Number} index - Index of the file to be removed.
571
+ * @group Method
572
+ */
573
+ removeUploadedFile(index) {
574
+ let removedFile = this.uploadedFiles.splice(index, 1)[0];
575
+ this.uploadedFiles = [...this.uploadedFiles];
576
+ this.onRemoveUploadedFile.emit({ file: removedFile, files: this.uploadedFiles });
577
+ }
546
578
  isFileLimitExceeded() {
547
579
  const isAutoMode = this.auto;
548
580
  const totalFileCount = isAutoMode ? this.files.length : this.files.length + this.uploadedFileCount;
@@ -679,62 +711,76 @@ class FileUpload {
679
711
  this.translationSubscription.unsubscribe();
680
712
  }
681
713
  }
682
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUpload, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i0.NgZone }, { token: i2.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
683
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: FileUpload, selector: "p-fileUpload", inputs: { name: "name", url: "url", method: "method", multiple: ["multiple", "multiple", booleanAttribute], accept: "accept", disabled: ["disabled", "disabled", booleanAttribute], auto: ["auto", "auto", booleanAttribute], withCredentials: ["withCredentials", "withCredentials", booleanAttribute], maxFileSize: ["maxFileSize", "maxFileSize", numberAttribute], invalidFileSizeMessageSummary: "invalidFileSizeMessageSummary", invalidFileSizeMessageDetail: "invalidFileSizeMessageDetail", invalidFileTypeMessageSummary: "invalidFileTypeMessageSummary", invalidFileTypeMessageDetail: "invalidFileTypeMessageDetail", invalidFileLimitMessageDetail: "invalidFileLimitMessageDetail", invalidFileLimitMessageSummary: "invalidFileLimitMessageSummary", style: "style", styleClass: "styleClass", previewWidth: ["previewWidth", "previewWidth", numberAttribute], chooseLabel: "chooseLabel", uploadLabel: "uploadLabel", cancelLabel: "cancelLabel", chooseIcon: "chooseIcon", uploadIcon: "uploadIcon", cancelIcon: "cancelIcon", showUploadButton: ["showUploadButton", "showUploadButton", booleanAttribute], showCancelButton: ["showCancelButton", "showCancelButton", booleanAttribute], mode: "mode", headers: "headers", customUpload: ["customUpload", "customUpload", booleanAttribute], fileLimit: ["fileLimit", "fileLimit", numberAttribute], uploadStyleClass: "uploadStyleClass", cancelStyleClass: "cancelStyleClass", removeStyleClass: "removeStyleClass", chooseStyleClass: "chooseStyleClass", files: "files" }, outputs: { onBeforeUpload: "onBeforeUpload", onSend: "onSend", onUpload: "onUpload", onError: "onError", onClear: "onClear", onRemove: "onRemove", onSelect: "onSelect", onProgress: "onProgress", uploadHandler: "uploadHandler", onImageError: "onImageError" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "advancedFileInput", first: true, predicate: ["advancedfileinput"], descendants: true }, { propertyName: "basicFileInput", first: true, predicate: ["basicfileinput"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
714
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUpload, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i0.NgZone }, { token: i2.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
715
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.7", type: FileUpload, selector: "p-fileUpload", inputs: { name: "name", url: "url", method: "method", multiple: ["multiple", "multiple", booleanAttribute], accept: "accept", disabled: ["disabled", "disabled", booleanAttribute], auto: ["auto", "auto", booleanAttribute], withCredentials: ["withCredentials", "withCredentials", booleanAttribute], maxFileSize: ["maxFileSize", "maxFileSize", numberAttribute], invalidFileSizeMessageSummary: "invalidFileSizeMessageSummary", invalidFileSizeMessageDetail: "invalidFileSizeMessageDetail", invalidFileTypeMessageSummary: "invalidFileTypeMessageSummary", invalidFileTypeMessageDetail: "invalidFileTypeMessageDetail", invalidFileLimitMessageDetail: "invalidFileLimitMessageDetail", invalidFileLimitMessageSummary: "invalidFileLimitMessageSummary", style: "style", styleClass: "styleClass", previewWidth: ["previewWidth", "previewWidth", numberAttribute], chooseLabel: "chooseLabel", uploadLabel: "uploadLabel", cancelLabel: "cancelLabel", chooseIcon: "chooseIcon", uploadIcon: "uploadIcon", cancelIcon: "cancelIcon", showUploadButton: ["showUploadButton", "showUploadButton", booleanAttribute], showCancelButton: ["showCancelButton", "showCancelButton", booleanAttribute], mode: "mode", headers: "headers", customUpload: ["customUpload", "customUpload", booleanAttribute], fileLimit: ["fileLimit", "fileLimit", (value) => numberAttribute(value, null)], uploadStyleClass: "uploadStyleClass", cancelStyleClass: "cancelStyleClass", removeStyleClass: "removeStyleClass", chooseStyleClass: "chooseStyleClass", files: "files" }, outputs: { onBeforeUpload: "onBeforeUpload", onSend: "onSend", onUpload: "onUpload", onError: "onError", onClear: "onClear", onRemove: "onRemove", onSelect: "onSelect", onProgress: "onProgress", uploadHandler: "uploadHandler", onImageError: "onImageError", onRemoveUploadedFile: "onRemoveUploadedFile" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "advancedFileInput", first: true, predicate: ["advancedfileinput"], descendants: true }, { propertyName: "basicFileInput", first: true, predicate: ["basicfileinput"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
684
716
  <div [ngClass]="'p-fileupload p-fileupload-advanced p-component'" [ngStyle]="style" [class]="styleClass" *ngIf="mode === 'advanced'" [attr.data-pc-name]="'fileupload'" [attr.data-pc-section]="'root'">
717
+ <input
718
+ [attr.aria-label]="browseFilesLabel"
719
+ #advancedfileinput
720
+ type="file"
721
+ (change)="onFileSelect($event)"
722
+ [multiple]="multiple"
723
+ [accept]="accept"
724
+ [disabled]="disabled || isChooseDisabled()"
725
+ [attr.title]="''"
726
+ [attr.data-pc-section]="'input'"
727
+ [style.display]="'none'"
728
+ />
685
729
  <div class="p-fileupload-buttonbar" [attr.data-pc-section]="'buttonbar'">
686
- <span
687
- class="p-button p-component p-fileupload-choose"
688
- [ngClass]="{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }"
689
- (focus)="onFocus()"
690
- (blur)="onBlur()"
691
- pRipple
692
- (click)="choose()"
693
- (keydown.enter)="choose()"
694
- tabindex="0"
695
- [class]="chooseStyleClass"
696
- [attr.data-pc-section]="'choosebutton'"
697
- >
698
- <input
699
- [attr.aria-label]="browseFilesLabel"
700
- #advancedfileinput
701
- type="file"
702
- (change)="onFileSelect($event)"
703
- [multiple]="multiple"
704
- [accept]="accept"
705
- [disabled]="disabled || isChooseDisabled()"
706
- [attr.title]="''"
707
- [attr.data-pc-section]="'input'"
708
- />
709
- <span *ngIf="chooseIcon" [ngClass]="'p-button-icon p-button-icon-left'" [class]="chooseIcon" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'"></span>
710
- <ng-container *ngIf="!chooseIcon">
711
- <PlusIcon *ngIf="!chooseIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
712
- <span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
713
- <ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
714
- </span>
715
- </ng-container>
716
- <span class="p-button-label" [attr.data-pc-section]="'choosebuttonlabel'">{{ chooseButtonLabel }}</span>
717
- </span>
718
-
719
- <p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
720
- <span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
721
- <ng-container *ngIf="!uploadIcon">
722
- <UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
723
- <span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
724
- <ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
725
- </span>
726
- </ng-container>
727
- </p-button>
728
- <p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
729
- <span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
730
- <ng-container *ngIf="!cancelIcon">
731
- <TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
732
- <span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
733
- <ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
734
- </span>
735
- </ng-container>
736
- </p-button>
730
+ <ng-container *ngIf="!headerTemplate">
731
+ <span
732
+ class="p-button p-component p-fileupload-choose"
733
+ [ngClass]="{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }"
734
+ (focus)="onFocus()"
735
+ (blur)="onBlur()"
736
+ pRipple
737
+ (click)="choose()"
738
+ (keydown.enter)="choose()"
739
+ tabindex="0"
740
+ [class]="chooseStyleClass"
741
+ [attr.data-pc-section]="'choosebutton'"
742
+ >
743
+ <input
744
+ [attr.aria-label]="browseFilesLabel"
745
+ #advancedfileinput
746
+ type="file"
747
+ (change)="onFileSelect($event)"
748
+ [multiple]="multiple"
749
+ [accept]="accept"
750
+ [disabled]="disabled || isChooseDisabled()"
751
+ [attr.title]="''"
752
+ [attr.data-pc-section]="'input'"
753
+ />
754
+ <span *ngIf="chooseIcon" [ngClass]="'p-button-icon p-button-icon-left'" [class]="chooseIcon" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'"></span>
755
+ <ng-container *ngIf="!chooseIcon">
756
+ <PlusIcon *ngIf="!chooseIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
757
+ <span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
758
+ <ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
759
+ </span>
760
+ </ng-container>
761
+ <span class="p-button-label" [attr.data-pc-section]="'choosebuttonlabel'">{{ chooseButtonLabel }}</span>
762
+ </span>
737
763
 
764
+ <p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
765
+ <span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
766
+ <ng-container *ngIf="!uploadIcon">
767
+ <UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
768
+ <span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
769
+ <ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
770
+ </span>
771
+ </ng-container>
772
+ </p-button>
773
+ <p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
774
+ <span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
775
+ <ng-container *ngIf="!cancelIcon">
776
+ <TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
777
+ <span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
778
+ <ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
779
+ </span>
780
+ </ng-container>
781
+ </p-button>
782
+ </ng-container>
783
+ <ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, chooseCallback: choose.bind(this), clearCallback: clear.bind(this), uploadCallback: upload.bind(this) }"></ng-container>
738
784
  <ng-container *ngTemplateOutlet="toolbarTemplate"></ng-container>
739
785
  </div>
740
786
  <div #content class="p-fileupload-content" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [attr.data-pc-section]="'content'">
@@ -760,7 +806,10 @@ class FileUpload {
760
806
  <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate"></ng-template>
761
807
  </div>
762
808
  </div>
763
- <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files }"></ng-container>
809
+ <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, removeUploadedFileCallback: removeUploadedFile.bind(this), progress: progress, messages: msgs }"></ng-container>
810
+ <div *ngIf="emptyTemplate && !hasFiles() && !uploadedFileCount" class="p-fileupload-empty">
811
+ <ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
812
+ </div>
764
813
  </div>
765
814
  </div>
766
815
  <div class="p-fileupload p-fileupload-basic p-component" *ngIf="mode === 'basic'" [attr.data-pc-name]="'fileupload'">
@@ -811,63 +860,77 @@ class FileUpload {
811
860
  </div>
812
861
  `, isInline: true, styles: ["@layer primeng{.p-fileupload-content{position:relative}.p-fileupload-row{display:flex;align-items:center}.p-fileupload-row>div{flex:1 1 auto;width:25%}.p-fileupload-row>div:last-child{text-align:right}.p-fileupload-content .p-progressbar{width:100%;position:absolute;top:0;left:0}.p-button.p-fileupload-choose{position:relative;overflow:hidden}.p-button.p-fileupload-choose input[type=file],.p-fileupload-choose.p-fileupload-choose-selected input[type=file]{display:none}.p-fluid .p-fileupload .p-button{width:auto}.p-fileupload-filename{word-break:break-all}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i4.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => i5.ButtonDirective), selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i0.forwardRef(() => i5.Button), selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i0.forwardRef(() => i6.ProgressBar), selector: "p-progressBar", inputs: ["value", "showValue", "styleClass", "style", "unit", "mode", "color"] }, { kind: "component", type: i0.forwardRef(() => i7.Messages), selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "directive", type: i0.forwardRef(() => i8.Ripple), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(() => PlusIcon), selector: "PlusIcon" }, { kind: "component", type: i0.forwardRef(() => UploadIcon), selector: "UploadIcon" }, { kind: "component", type: i0.forwardRef(() => TimesIcon), selector: "TimesIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
813
862
  }
814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUpload, decorators: [{
863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUpload, decorators: [{
815
864
  type: Component,
816
865
  args: [{ selector: 'p-fileUpload', template: `
817
866
  <div [ngClass]="'p-fileupload p-fileupload-advanced p-component'" [ngStyle]="style" [class]="styleClass" *ngIf="mode === 'advanced'" [attr.data-pc-name]="'fileupload'" [attr.data-pc-section]="'root'">
867
+ <input
868
+ [attr.aria-label]="browseFilesLabel"
869
+ #advancedfileinput
870
+ type="file"
871
+ (change)="onFileSelect($event)"
872
+ [multiple]="multiple"
873
+ [accept]="accept"
874
+ [disabled]="disabled || isChooseDisabled()"
875
+ [attr.title]="''"
876
+ [attr.data-pc-section]="'input'"
877
+ [style.display]="'none'"
878
+ />
818
879
  <div class="p-fileupload-buttonbar" [attr.data-pc-section]="'buttonbar'">
819
- <span
820
- class="p-button p-component p-fileupload-choose"
821
- [ngClass]="{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }"
822
- (focus)="onFocus()"
823
- (blur)="onBlur()"
824
- pRipple
825
- (click)="choose()"
826
- (keydown.enter)="choose()"
827
- tabindex="0"
828
- [class]="chooseStyleClass"
829
- [attr.data-pc-section]="'choosebutton'"
830
- >
831
- <input
832
- [attr.aria-label]="browseFilesLabel"
833
- #advancedfileinput
834
- type="file"
835
- (change)="onFileSelect($event)"
836
- [multiple]="multiple"
837
- [accept]="accept"
838
- [disabled]="disabled || isChooseDisabled()"
839
- [attr.title]="''"
840
- [attr.data-pc-section]="'input'"
841
- />
842
- <span *ngIf="chooseIcon" [ngClass]="'p-button-icon p-button-icon-left'" [class]="chooseIcon" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'"></span>
843
- <ng-container *ngIf="!chooseIcon">
844
- <PlusIcon *ngIf="!chooseIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
845
- <span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
846
- <ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
847
- </span>
848
- </ng-container>
849
- <span class="p-button-label" [attr.data-pc-section]="'choosebuttonlabel'">{{ chooseButtonLabel }}</span>
850
- </span>
851
-
852
- <p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
853
- <span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
854
- <ng-container *ngIf="!uploadIcon">
855
- <UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
856
- <span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
857
- <ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
858
- </span>
859
- </ng-container>
860
- </p-button>
861
- <p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
862
- <span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
863
- <ng-container *ngIf="!cancelIcon">
864
- <TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
865
- <span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
866
- <ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
867
- </span>
868
- </ng-container>
869
- </p-button>
880
+ <ng-container *ngIf="!headerTemplate">
881
+ <span
882
+ class="p-button p-component p-fileupload-choose"
883
+ [ngClass]="{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }"
884
+ (focus)="onFocus()"
885
+ (blur)="onBlur()"
886
+ pRipple
887
+ (click)="choose()"
888
+ (keydown.enter)="choose()"
889
+ tabindex="0"
890
+ [class]="chooseStyleClass"
891
+ [attr.data-pc-section]="'choosebutton'"
892
+ >
893
+ <input
894
+ [attr.aria-label]="browseFilesLabel"
895
+ #advancedfileinput
896
+ type="file"
897
+ (change)="onFileSelect($event)"
898
+ [multiple]="multiple"
899
+ [accept]="accept"
900
+ [disabled]="disabled || isChooseDisabled()"
901
+ [attr.title]="''"
902
+ [attr.data-pc-section]="'input'"
903
+ />
904
+ <span *ngIf="chooseIcon" [ngClass]="'p-button-icon p-button-icon-left'" [class]="chooseIcon" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'"></span>
905
+ <ng-container *ngIf="!chooseIcon">
906
+ <PlusIcon *ngIf="!chooseIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
907
+ <span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
908
+ <ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
909
+ </span>
910
+ </ng-container>
911
+ <span class="p-button-label" [attr.data-pc-section]="'choosebuttonlabel'">{{ chooseButtonLabel }}</span>
912
+ </span>
870
913
 
914
+ <p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
915
+ <span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
916
+ <ng-container *ngIf="!uploadIcon">
917
+ <UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
918
+ <span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
919
+ <ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
920
+ </span>
921
+ </ng-container>
922
+ </p-button>
923
+ <p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
924
+ <span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
925
+ <ng-container *ngIf="!cancelIcon">
926
+ <TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
927
+ <span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
928
+ <ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
929
+ </span>
930
+ </ng-container>
931
+ </p-button>
932
+ </ng-container>
933
+ <ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, chooseCallback: choose.bind(this), clearCallback: clear.bind(this), uploadCallback: upload.bind(this) }"></ng-container>
871
934
  <ng-container *ngTemplateOutlet="toolbarTemplate"></ng-container>
872
935
  </div>
873
936
  <div #content class="p-fileupload-content" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [attr.data-pc-section]="'content'">
@@ -893,7 +956,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
893
956
  <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate"></ng-template>
894
957
  </div>
895
958
  </div>
896
- <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files }"></ng-container>
959
+ <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, removeUploadedFileCallback: removeUploadedFile.bind(this), progress: progress, messages: msgs }"></ng-container>
960
+ <div *ngIf="emptyTemplate && !hasFiles() && !uploadedFileCount" class="p-fileupload-empty">
961
+ <ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
962
+ </div>
897
963
  </div>
898
964
  </div>
899
965
  <div class="p-fileupload p-fileupload-basic p-component" *ngIf="mode === 'basic'" [attr.data-pc-name]="'fileupload'">
@@ -1020,7 +1086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1020
1086
  args: [{ transform: booleanAttribute }]
1021
1087
  }], fileLimit: [{
1022
1088
  type: Input,
1023
- args: [{ transform: numberAttribute }]
1089
+ args: [{ transform: (value) => numberAttribute(value, null) }]
1024
1090
  }], uploadStyleClass: [{
1025
1091
  type: Input
1026
1092
  }], cancelStyleClass: [{
@@ -1049,6 +1115,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1049
1115
  type: Output
1050
1116
  }], onImageError: [{
1051
1117
  type: Output
1118
+ }], onRemoveUploadedFile: [{
1119
+ type: Output
1052
1120
  }], templates: [{
1053
1121
  type: ContentChildren,
1054
1122
  args: [PrimeTemplate]
@@ -1065,11 +1133,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1065
1133
  type: Input
1066
1134
  }] } });
1067
1135
  class FileUploadModule {
1068
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1069
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FileUploadModule, declarations: [FileUpload], imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon], exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1070
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUploadModule, imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1137
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: FileUploadModule, declarations: [FileUpload], imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon], exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1138
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUploadModule, imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1071
1139
  }
1072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUploadModule, decorators: [{
1140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUploadModule, decorators: [{
1073
1141
  type: NgModule,
1074
1142
  args: [{
1075
1143
  imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon],