@ops-prime/primeng 0.0.0-stage → 21.1.11

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 (792) hide show
  1. package/LICENSE.md +77 -0
  2. package/README.md +10 -2
  3. package/fesm2022/primeng-accordion.mjs +634 -0
  4. package/fesm2022/primeng-accordion.mjs.map +1 -0
  5. package/fesm2022/primeng-animateonscroll.mjs +175 -0
  6. package/fesm2022/primeng-animateonscroll.mjs.map +1 -0
  7. package/fesm2022/primeng-api.mjs +841 -0
  8. package/fesm2022/primeng-api.mjs.map +1 -0
  9. package/fesm2022/primeng-autocomplete.mjs +2310 -0
  10. package/fesm2022/primeng-autocomplete.mjs.map +1 -0
  11. package/fesm2022/primeng-autofocus.mjs +83 -0
  12. package/fesm2022/primeng-autofocus.mjs.map +1 -0
  13. package/fesm2022/primeng-avatar.mjs +214 -0
  14. package/fesm2022/primeng-avatar.mjs.map +1 -0
  15. package/fesm2022/primeng-avatargroup.mjs +106 -0
  16. package/fesm2022/primeng-avatargroup.mjs.map +1 -0
  17. package/fesm2022/primeng-badge.mjs +417 -0
  18. package/fesm2022/primeng-badge.mjs.map +1 -0
  19. package/fesm2022/primeng-base.mjs +124 -0
  20. package/fesm2022/primeng-base.mjs.map +1 -0
  21. package/fesm2022/primeng-basecomponent.mjs +435 -0
  22. package/fesm2022/primeng-basecomponent.mjs.map +1 -0
  23. package/fesm2022/primeng-baseeditableholder.mjs +67 -0
  24. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -0
  25. package/fesm2022/primeng-baseinput.mjs +85 -0
  26. package/fesm2022/primeng-baseinput.mjs.map +1 -0
  27. package/fesm2022/primeng-basemodelholder.mjs +25 -0
  28. package/fesm2022/primeng-basemodelholder.mjs.map +1 -0
  29. package/fesm2022/primeng-bind.mjs +94 -0
  30. package/fesm2022/primeng-bind.mjs.map +1 -0
  31. package/fesm2022/primeng-blockui.mjs +265 -0
  32. package/fesm2022/primeng-blockui.mjs.map +1 -0
  33. package/fesm2022/primeng-breadcrumb.mjs +526 -0
  34. package/fesm2022/primeng-breadcrumb.mjs.map +1 -0
  35. package/fesm2022/primeng-button.mjs +1028 -0
  36. package/fesm2022/primeng-button.mjs.map +1 -0
  37. package/fesm2022/primeng-buttongroup.mjs +110 -0
  38. package/fesm2022/primeng-buttongroup.mjs.map +1 -0
  39. package/fesm2022/primeng-card.mjs +312 -0
  40. package/fesm2022/primeng-card.mjs.map +1 -0
  41. package/fesm2022/primeng-carousel.mjs +1205 -0
  42. package/fesm2022/primeng-carousel.mjs.map +1 -0
  43. package/fesm2022/primeng-cascadeselect.mjs +1822 -0
  44. package/fesm2022/primeng-cascadeselect.mjs.map +1 -0
  45. package/fesm2022/primeng-chart.mjs +270 -0
  46. package/fesm2022/primeng-chart.mjs.map +1 -0
  47. package/fesm2022/primeng-checkbox.mjs +467 -0
  48. package/fesm2022/primeng-checkbox.mjs.map +1 -0
  49. package/fesm2022/primeng-chip.mjs +378 -0
  50. package/fesm2022/primeng-chip.mjs.map +1 -0
  51. package/fesm2022/primeng-classnames.mjs +48 -0
  52. package/fesm2022/primeng-classnames.mjs.map +1 -0
  53. package/fesm2022/primeng-colorpicker.mjs +805 -0
  54. package/fesm2022/primeng-colorpicker.mjs.map +1 -0
  55. package/fesm2022/primeng-config.mjs +299 -0
  56. package/fesm2022/primeng-config.mjs.map +1 -0
  57. package/fesm2022/primeng-confirmdialog.mjs +858 -0
  58. package/fesm2022/primeng-confirmdialog.mjs.map +1 -0
  59. package/fesm2022/primeng-confirmpopup.mjs +701 -0
  60. package/fesm2022/primeng-confirmpopup.mjs.map +1 -0
  61. package/fesm2022/primeng-contextmenu.mjs +1572 -0
  62. package/fesm2022/primeng-contextmenu.mjs.map +1 -0
  63. package/fesm2022/primeng-dataview.mjs +832 -0
  64. package/fesm2022/primeng-dataview.mjs.map +1 -0
  65. package/fesm2022/primeng-datepicker.mjs +4439 -0
  66. package/fesm2022/primeng-datepicker.mjs.map +1 -0
  67. package/fesm2022/primeng-dialog.mjs +1413 -0
  68. package/fesm2022/primeng-dialog.mjs.map +1 -0
  69. package/fesm2022/primeng-divider.mjs +162 -0
  70. package/fesm2022/primeng-divider.mjs.map +1 -0
  71. package/fesm2022/primeng-dock.mjs +590 -0
  72. package/fesm2022/primeng-dock.mjs.map +1 -0
  73. package/fesm2022/primeng-dom.mjs +778 -0
  74. package/fesm2022/primeng-dom.mjs.map +1 -0
  75. package/fesm2022/primeng-dragdrop.mjs +336 -0
  76. package/fesm2022/primeng-dragdrop.mjs.map +1 -0
  77. package/fesm2022/primeng-drawer.mjs +776 -0
  78. package/fesm2022/primeng-drawer.mjs.map +1 -0
  79. package/fesm2022/primeng-dynamicdialog.mjs +1075 -0
  80. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -0
  81. package/fesm2022/primeng-editor.mjs +524 -0
  82. package/fesm2022/primeng-editor.mjs.map +1 -0
  83. package/fesm2022/primeng-fieldset.mjs +456 -0
  84. package/fesm2022/primeng-fieldset.mjs.map +1 -0
  85. package/fesm2022/primeng-fileupload.mjs +1577 -0
  86. package/fesm2022/primeng-fileupload.mjs.map +1 -0
  87. package/fesm2022/primeng-floatlabel.mjs +113 -0
  88. package/fesm2022/primeng-floatlabel.mjs.map +1 -0
  89. package/fesm2022/primeng-fluid.mjs +89 -0
  90. package/fesm2022/primeng-fluid.mjs.map +1 -0
  91. package/fesm2022/primeng-focustrap.mjs +108 -0
  92. package/fesm2022/primeng-focustrap.mjs.map +1 -0
  93. package/fesm2022/primeng-galleria.mjs +2135 -0
  94. package/fesm2022/primeng-galleria.mjs.map +1 -0
  95. package/fesm2022/primeng-iconfield.mjs +114 -0
  96. package/fesm2022/primeng-iconfield.mjs.map +1 -0
  97. package/fesm2022/primeng-icons-angledoubledown.mjs +37 -0
  98. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -0
  99. package/fesm2022/primeng-icons-angledoubleleft.mjs +37 -0
  100. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -0
  101. package/fesm2022/primeng-icons-angledoubleright.mjs +37 -0
  102. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -0
  103. package/fesm2022/primeng-icons-angledoubleup.mjs +37 -0
  104. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -0
  105. package/fesm2022/primeng-icons-angledown.mjs +33 -0
  106. package/fesm2022/primeng-icons-angledown.mjs.map +1 -0
  107. package/fesm2022/primeng-icons-angleleft.mjs +33 -0
  108. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -0
  109. package/fesm2022/primeng-icons-angleright.mjs +33 -0
  110. package/fesm2022/primeng-icons-angleright.mjs.map +1 -0
  111. package/fesm2022/primeng-icons-angleup.mjs +33 -0
  112. package/fesm2022/primeng-icons-angleup.mjs.map +1 -0
  113. package/fesm2022/primeng-icons-arrowdown.mjs +56 -0
  114. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -0
  115. package/fesm2022/primeng-icons-arrowdownleft.mjs +33 -0
  116. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -0
  117. package/fesm2022/primeng-icons-arrowdownright.mjs +33 -0
  118. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -0
  119. package/fesm2022/primeng-icons-arrowleft.mjs +56 -0
  120. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -0
  121. package/fesm2022/primeng-icons-arrowright.mjs +37 -0
  122. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -0
  123. package/fesm2022/primeng-icons-arrowup.mjs +56 -0
  124. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -0
  125. package/fesm2022/primeng-icons-ban.mjs +52 -0
  126. package/fesm2022/primeng-icons-ban.mjs.map +1 -0
  127. package/fesm2022/primeng-icons-bars.mjs +37 -0
  128. package/fesm2022/primeng-icons-bars.mjs.map +1 -0
  129. package/fesm2022/primeng-icons-baseicon.mjs +103 -0
  130. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -0
  131. package/fesm2022/primeng-icons-blank.mjs +23 -0
  132. package/fesm2022/primeng-icons-blank.mjs.map +1 -0
  133. package/fesm2022/primeng-icons-calendar.mjs +33 -0
  134. package/fesm2022/primeng-icons-calendar.mjs.map +1 -0
  135. package/fesm2022/primeng-icons-caretleft.mjs +33 -0
  136. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -0
  137. package/fesm2022/primeng-icons-caretright.mjs +33 -0
  138. package/fesm2022/primeng-icons-caretright.mjs.map +1 -0
  139. package/fesm2022/primeng-icons-check.mjs +33 -0
  140. package/fesm2022/primeng-icons-check.mjs.map +1 -0
  141. package/fesm2022/primeng-icons-chevrondown.mjs +33 -0
  142. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -0
  143. package/fesm2022/primeng-icons-chevronleft.mjs +33 -0
  144. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -0
  145. package/fesm2022/primeng-icons-chevronright.mjs +33 -0
  146. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -0
  147. package/fesm2022/primeng-icons-chevronup.mjs +33 -0
  148. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -0
  149. package/fesm2022/primeng-icons-exclamationtriangle.mjs +68 -0
  150. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -0
  151. package/fesm2022/primeng-icons-eye.mjs +37 -0
  152. package/fesm2022/primeng-icons-eye.mjs.map +1 -0
  153. package/fesm2022/primeng-icons-eyeslash.mjs +56 -0
  154. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -0
  155. package/fesm2022/primeng-icons-filter.mjs +52 -0
  156. package/fesm2022/primeng-icons-filter.mjs.map +1 -0
  157. package/fesm2022/primeng-icons-filterfill.mjs +33 -0
  158. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -0
  159. package/fesm2022/primeng-icons-filterslash.mjs +56 -0
  160. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -0
  161. package/fesm2022/primeng-icons-home.mjs +56 -0
  162. package/fesm2022/primeng-icons-home.mjs.map +1 -0
  163. package/fesm2022/primeng-icons-infocircle.mjs +56 -0
  164. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -0
  165. package/fesm2022/primeng-icons-minus.mjs +33 -0
  166. package/fesm2022/primeng-icons-minus.mjs.map +1 -0
  167. package/fesm2022/primeng-icons-pencil.mjs +52 -0
  168. package/fesm2022/primeng-icons-pencil.mjs.map +1 -0
  169. package/fesm2022/primeng-icons-plus.mjs +52 -0
  170. package/fesm2022/primeng-icons-plus.mjs.map +1 -0
  171. package/fesm2022/primeng-icons-refresh.mjs +56 -0
  172. package/fesm2022/primeng-icons-refresh.mjs.map +1 -0
  173. package/fesm2022/primeng-icons-search.mjs +56 -0
  174. package/fesm2022/primeng-icons-search.mjs.map +1 -0
  175. package/fesm2022/primeng-icons-searchminus.mjs +56 -0
  176. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -0
  177. package/fesm2022/primeng-icons-searchplus.mjs +56 -0
  178. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -0
  179. package/fesm2022/primeng-icons-sortalt.mjs +64 -0
  180. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -0
  181. package/fesm2022/primeng-icons-sortamountdown.mjs +52 -0
  182. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -0
  183. package/fesm2022/primeng-icons-sortamountupalt.mjs +52 -0
  184. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -0
  185. package/fesm2022/primeng-icons-spinner.mjs +52 -0
  186. package/fesm2022/primeng-icons-spinner.mjs.map +1 -0
  187. package/fesm2022/primeng-icons-star.mjs +52 -0
  188. package/fesm2022/primeng-icons-star.mjs.map +1 -0
  189. package/fesm2022/primeng-icons-starfill.mjs +52 -0
  190. package/fesm2022/primeng-icons-starfill.mjs.map +1 -0
  191. package/fesm2022/primeng-icons-thlarge.mjs +56 -0
  192. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -0
  193. package/fesm2022/primeng-icons-times.mjs +33 -0
  194. package/fesm2022/primeng-icons-times.mjs.map +1 -0
  195. package/fesm2022/primeng-icons-timescircle.mjs +56 -0
  196. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -0
  197. package/fesm2022/primeng-icons-trash.mjs +56 -0
  198. package/fesm2022/primeng-icons-trash.mjs.map +1 -0
  199. package/fesm2022/primeng-icons-undo.mjs +56 -0
  200. package/fesm2022/primeng-icons-undo.mjs.map +1 -0
  201. package/fesm2022/primeng-icons-upload.mjs +56 -0
  202. package/fesm2022/primeng-icons-upload.mjs.map +1 -0
  203. package/fesm2022/primeng-icons-windowmaximize.mjs +56 -0
  204. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -0
  205. package/fesm2022/primeng-icons-windowminimize.mjs +56 -0
  206. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -0
  207. package/fesm2022/primeng-icons.mjs +63 -0
  208. package/fesm2022/primeng-icons.mjs.map +1 -0
  209. package/fesm2022/primeng-iftalabel.mjs +100 -0
  210. package/fesm2022/primeng-iftalabel.mjs.map +1 -0
  211. package/fesm2022/primeng-image.mjs +802 -0
  212. package/fesm2022/primeng-image.mjs.map +1 -0
  213. package/fesm2022/primeng-imagecompare.mjs +200 -0
  214. package/fesm2022/primeng-imagecompare.mjs.map +1 -0
  215. package/fesm2022/primeng-inplace.mjs +330 -0
  216. package/fesm2022/primeng-inplace.mjs.map +1 -0
  217. package/fesm2022/primeng-inputgroup.mjs +136 -0
  218. package/fesm2022/primeng-inputgroup.mjs.map +1 -0
  219. package/fesm2022/primeng-inputgroupaddon.mjs +90 -0
  220. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -0
  221. package/fesm2022/primeng-inputicon.mjs +84 -0
  222. package/fesm2022/primeng-inputicon.mjs.map +1 -0
  223. package/fesm2022/primeng-inputmask.mjs +1509 -0
  224. package/fesm2022/primeng-inputmask.mjs.map +1 -0
  225. package/fesm2022/primeng-inputnumber.mjs +1675 -0
  226. package/fesm2022/primeng-inputnumber.mjs.map +1 -0
  227. package/fesm2022/primeng-inputotp.mjs +464 -0
  228. package/fesm2022/primeng-inputotp.mjs.map +1 -0
  229. package/fesm2022/primeng-inputtext.mjs +196 -0
  230. package/fesm2022/primeng-inputtext.mjs.map +1 -0
  231. package/fesm2022/primeng-keyfilter.mjs +276 -0
  232. package/fesm2022/primeng-keyfilter.mjs.map +1 -0
  233. package/fesm2022/primeng-knob.mjs +500 -0
  234. package/fesm2022/primeng-knob.mjs.map +1 -0
  235. package/fesm2022/primeng-listbox.mjs +2125 -0
  236. package/fesm2022/primeng-listbox.mjs.map +1 -0
  237. package/fesm2022/primeng-megamenu.mjs +1598 -0
  238. package/fesm2022/primeng-megamenu.mjs.map +1 -0
  239. package/fesm2022/primeng-menu.mjs +1150 -0
  240. package/fesm2022/primeng-menu.mjs.map +1 -0
  241. package/fesm2022/primeng-menubar.mjs +1538 -0
  242. package/fesm2022/primeng-menubar.mjs.map +1 -0
  243. package/fesm2022/primeng-message.mjs +408 -0
  244. package/fesm2022/primeng-message.mjs.map +1 -0
  245. package/fesm2022/primeng-metergroup.mjs +496 -0
  246. package/fesm2022/primeng-metergroup.mjs.map +1 -0
  247. package/fesm2022/primeng-motion.mjs +700 -0
  248. package/fesm2022/primeng-motion.mjs.map +1 -0
  249. package/fesm2022/primeng-multiselect.mjs +2690 -0
  250. package/fesm2022/primeng-multiselect.mjs.map +1 -0
  251. package/fesm2022/primeng-orderlist.mjs +1086 -0
  252. package/fesm2022/primeng-orderlist.mjs.map +1 -0
  253. package/fesm2022/primeng-organizationchart.mjs +545 -0
  254. package/fesm2022/primeng-organizationchart.mjs.map +1 -0
  255. package/fesm2022/primeng-overlay.mjs +879 -0
  256. package/fesm2022/primeng-overlay.mjs.map +1 -0
  257. package/fesm2022/primeng-overlaybadge.mjs +161 -0
  258. package/fesm2022/primeng-overlaybadge.mjs.map +1 -0
  259. package/fesm2022/primeng-paginator.mjs +823 -0
  260. package/fesm2022/primeng-paginator.mjs.map +1 -0
  261. package/fesm2022/primeng-panel.mjs +568 -0
  262. package/fesm2022/primeng-panel.mjs.map +1 -0
  263. package/fesm2022/primeng-panelmenu.mjs +1619 -0
  264. package/fesm2022/primeng-panelmenu.mjs.map +1 -0
  265. package/fesm2022/primeng-passthrough.mjs +21 -0
  266. package/fesm2022/primeng-passthrough.mjs.map +1 -0
  267. package/fesm2022/primeng-password.mjs +1175 -0
  268. package/fesm2022/primeng-password.mjs.map +1 -0
  269. package/fesm2022/primeng-picklist.mjs +2235 -0
  270. package/fesm2022/primeng-picklist.mjs.map +1 -0
  271. package/fesm2022/primeng-popover.mjs +528 -0
  272. package/fesm2022/primeng-popover.mjs.map +1 -0
  273. package/fesm2022/primeng-progressbar.mjs +216 -0
  274. package/fesm2022/primeng-progressbar.mjs.map +1 -0
  275. package/fesm2022/primeng-progressspinner.mjs +148 -0
  276. package/fesm2022/primeng-progressspinner.mjs.map +1 -0
  277. package/fesm2022/primeng-radiobutton.mjs +380 -0
  278. package/fesm2022/primeng-radiobutton.mjs.map +1 -0
  279. package/fesm2022/primeng-rating.mjs +410 -0
  280. package/fesm2022/primeng-rating.mjs.map +1 -0
  281. package/fesm2022/primeng-ripple.mjs +196 -0
  282. package/fesm2022/primeng-ripple.mjs.map +1 -0
  283. package/fesm2022/primeng-scroller.mjs +1327 -0
  284. package/fesm2022/primeng-scroller.mjs.map +1 -0
  285. package/fesm2022/primeng-scrollpanel.mjs +572 -0
  286. package/fesm2022/primeng-scrollpanel.mjs.map +1 -0
  287. package/fesm2022/primeng-scrolltop.mjs +347 -0
  288. package/fesm2022/primeng-scrolltop.mjs.map +1 -0
  289. package/fesm2022/primeng-select.mjs +2399 -0
  290. package/fesm2022/primeng-select.mjs.map +1 -0
  291. package/fesm2022/primeng-selectbutton.mjs +435 -0
  292. package/fesm2022/primeng-selectbutton.mjs.map +1 -0
  293. package/fesm2022/primeng-skeleton.mjs +170 -0
  294. package/fesm2022/primeng-skeleton.mjs.map +1 -0
  295. package/fesm2022/primeng-slider.mjs +889 -0
  296. package/fesm2022/primeng-slider.mjs.map +1 -0
  297. package/fesm2022/primeng-speeddial.mjs +937 -0
  298. package/fesm2022/primeng-speeddial.mjs.map +1 -0
  299. package/fesm2022/primeng-splitbutton.mjs +640 -0
  300. package/fesm2022/primeng-splitbutton.mjs.map +1 -0
  301. package/fesm2022/primeng-splitter.mjs +601 -0
  302. package/fesm2022/primeng-splitter.mjs.map +1 -0
  303. package/fesm2022/primeng-stepper.mjs +745 -0
  304. package/fesm2022/primeng-stepper.mjs.map +1 -0
  305. package/fesm2022/primeng-steps.mjs +425 -0
  306. package/fesm2022/primeng-steps.mjs.map +1 -0
  307. package/fesm2022/primeng-styleclass.mjs +354 -0
  308. package/fesm2022/primeng-styleclass.mjs.map +1 -0
  309. package/fesm2022/primeng-table.mjs +7805 -0
  310. package/fesm2022/primeng-table.mjs.map +1 -0
  311. package/fesm2022/primeng-tabs.mjs +911 -0
  312. package/fesm2022/primeng-tabs.mjs.map +1 -0
  313. package/fesm2022/primeng-tag.mjs +198 -0
  314. package/fesm2022/primeng-tag.mjs.map +1 -0
  315. package/fesm2022/primeng-terminal.mjs +260 -0
  316. package/fesm2022/primeng-terminal.mjs.map +1 -0
  317. package/fesm2022/primeng-textarea.mjs +225 -0
  318. package/fesm2022/primeng-textarea.mjs.map +1 -0
  319. package/fesm2022/primeng-tieredmenu.mjs +1625 -0
  320. package/fesm2022/primeng-tieredmenu.mjs.map +1 -0
  321. package/fesm2022/primeng-timeline.mjs +250 -0
  322. package/fesm2022/primeng-timeline.mjs.map +1 -0
  323. package/fesm2022/primeng-toast.mjs +784 -0
  324. package/fesm2022/primeng-toast.mjs.map +1 -0
  325. package/fesm2022/primeng-togglebutton.mjs +393 -0
  326. package/fesm2022/primeng-togglebutton.mjs.map +1 -0
  327. package/fesm2022/primeng-toggleswitch.mjs +346 -0
  328. package/fesm2022/primeng-toggleswitch.mjs.map +1 -0
  329. package/fesm2022/primeng-toolbar.mjs +198 -0
  330. package/fesm2022/primeng-toolbar.mjs.map +1 -0
  331. package/fesm2022/primeng-tooltip.mjs +842 -0
  332. package/fesm2022/primeng-tooltip.mjs.map +1 -0
  333. package/fesm2022/primeng-tree.mjs +2282 -0
  334. package/fesm2022/primeng-tree.mjs.map +1 -0
  335. package/fesm2022/primeng-treeselect.mjs +1408 -0
  336. package/fesm2022/primeng-treeselect.mjs.map +1 -0
  337. package/fesm2022/primeng-treetable.mjs +5164 -0
  338. package/fesm2022/primeng-treetable.mjs.map +1 -0
  339. package/fesm2022/primeng-ts-helpers.mjs +4 -0
  340. package/fesm2022/primeng-ts-helpers.mjs.map +1 -0
  341. package/fesm2022/primeng-types-accordion.mjs +4 -0
  342. package/fesm2022/primeng-types-accordion.mjs.map +1 -0
  343. package/fesm2022/primeng-types-autocomplete.mjs +4 -0
  344. package/fesm2022/primeng-types-autocomplete.mjs.map +1 -0
  345. package/fesm2022/primeng-types-avatar.mjs +4 -0
  346. package/fesm2022/primeng-types-avatar.mjs.map +1 -0
  347. package/fesm2022/primeng-types-avatargroup.mjs +4 -0
  348. package/fesm2022/primeng-types-avatargroup.mjs.map +1 -0
  349. package/fesm2022/primeng-types-badge.mjs +4 -0
  350. package/fesm2022/primeng-types-badge.mjs.map +1 -0
  351. package/fesm2022/primeng-types-blockui.mjs +4 -0
  352. package/fesm2022/primeng-types-blockui.mjs.map +1 -0
  353. package/fesm2022/primeng-types-breadcrumb.mjs +4 -0
  354. package/fesm2022/primeng-types-breadcrumb.mjs.map +1 -0
  355. package/fesm2022/primeng-types-button.mjs +4 -0
  356. package/fesm2022/primeng-types-button.mjs.map +1 -0
  357. package/fesm2022/primeng-types-card.mjs +4 -0
  358. package/fesm2022/primeng-types-card.mjs.map +1 -0
  359. package/fesm2022/primeng-types-carousel.mjs +4 -0
  360. package/fesm2022/primeng-types-carousel.mjs.map +1 -0
  361. package/fesm2022/primeng-types-cascadeselect.mjs +4 -0
  362. package/fesm2022/primeng-types-cascadeselect.mjs.map +1 -0
  363. package/fesm2022/primeng-types-chart.mjs +4 -0
  364. package/fesm2022/primeng-types-chart.mjs.map +1 -0
  365. package/fesm2022/primeng-types-checkbox.mjs +4 -0
  366. package/fesm2022/primeng-types-checkbox.mjs.map +1 -0
  367. package/fesm2022/primeng-types-chip.mjs +4 -0
  368. package/fesm2022/primeng-types-chip.mjs.map +1 -0
  369. package/fesm2022/primeng-types-colorpicker.mjs +4 -0
  370. package/fesm2022/primeng-types-colorpicker.mjs.map +1 -0
  371. package/fesm2022/primeng-types-confirmdialog.mjs +4 -0
  372. package/fesm2022/primeng-types-confirmdialog.mjs.map +1 -0
  373. package/fesm2022/primeng-types-confirmpopup.mjs +4 -0
  374. package/fesm2022/primeng-types-confirmpopup.mjs.map +1 -0
  375. package/fesm2022/primeng-types-contextmenu.mjs +4 -0
  376. package/fesm2022/primeng-types-contextmenu.mjs.map +1 -0
  377. package/fesm2022/primeng-types-dataview.mjs +4 -0
  378. package/fesm2022/primeng-types-dataview.mjs.map +1 -0
  379. package/fesm2022/primeng-types-datepicker.mjs +4 -0
  380. package/fesm2022/primeng-types-datepicker.mjs.map +1 -0
  381. package/fesm2022/primeng-types-dialog.mjs +4 -0
  382. package/fesm2022/primeng-types-dialog.mjs.map +1 -0
  383. package/fesm2022/primeng-types-divider.mjs +4 -0
  384. package/fesm2022/primeng-types-divider.mjs.map +1 -0
  385. package/fesm2022/primeng-types-dock.mjs +4 -0
  386. package/fesm2022/primeng-types-dock.mjs.map +1 -0
  387. package/fesm2022/primeng-types-drawer.mjs +4 -0
  388. package/fesm2022/primeng-types-drawer.mjs.map +1 -0
  389. package/fesm2022/primeng-types-editor.mjs +4 -0
  390. package/fesm2022/primeng-types-editor.mjs.map +1 -0
  391. package/fesm2022/primeng-types-fieldset.mjs +4 -0
  392. package/fesm2022/primeng-types-fieldset.mjs.map +1 -0
  393. package/fesm2022/primeng-types-fileupload.mjs +4 -0
  394. package/fesm2022/primeng-types-fileupload.mjs.map +1 -0
  395. package/fesm2022/primeng-types-floatlabel.mjs +4 -0
  396. package/fesm2022/primeng-types-floatlabel.mjs.map +1 -0
  397. package/fesm2022/primeng-types-fluid.mjs +4 -0
  398. package/fesm2022/primeng-types-fluid.mjs.map +1 -0
  399. package/fesm2022/primeng-types-galleria.mjs +4 -0
  400. package/fesm2022/primeng-types-galleria.mjs.map +1 -0
  401. package/fesm2022/primeng-types-iconfield.mjs +4 -0
  402. package/fesm2022/primeng-types-iconfield.mjs.map +1 -0
  403. package/fesm2022/primeng-types-iftalabel.mjs +4 -0
  404. package/fesm2022/primeng-types-iftalabel.mjs.map +1 -0
  405. package/fesm2022/primeng-types-image.mjs +4 -0
  406. package/fesm2022/primeng-types-image.mjs.map +1 -0
  407. package/fesm2022/primeng-types-imagecompare.mjs +4 -0
  408. package/fesm2022/primeng-types-imagecompare.mjs.map +1 -0
  409. package/fesm2022/primeng-types-inplace.mjs +4 -0
  410. package/fesm2022/primeng-types-inplace.mjs.map +1 -0
  411. package/fesm2022/primeng-types-inputgroup.mjs +4 -0
  412. package/fesm2022/primeng-types-inputgroup.mjs.map +1 -0
  413. package/fesm2022/primeng-types-inputgroupaddon.mjs +4 -0
  414. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +1 -0
  415. package/fesm2022/primeng-types-inputicon.mjs +4 -0
  416. package/fesm2022/primeng-types-inputicon.mjs.map +1 -0
  417. package/fesm2022/primeng-types-inputmask.mjs +4 -0
  418. package/fesm2022/primeng-types-inputmask.mjs.map +1 -0
  419. package/fesm2022/primeng-types-inputnumber.mjs +4 -0
  420. package/fesm2022/primeng-types-inputnumber.mjs.map +1 -0
  421. package/fesm2022/primeng-types-inputotp.mjs +4 -0
  422. package/fesm2022/primeng-types-inputotp.mjs.map +1 -0
  423. package/fesm2022/primeng-types-inputtext.mjs +4 -0
  424. package/fesm2022/primeng-types-inputtext.mjs.map +1 -0
  425. package/fesm2022/primeng-types-knob.mjs +4 -0
  426. package/fesm2022/primeng-types-knob.mjs.map +1 -0
  427. package/fesm2022/primeng-types-listbox.mjs +4 -0
  428. package/fesm2022/primeng-types-listbox.mjs.map +1 -0
  429. package/fesm2022/primeng-types-megamenu.mjs +4 -0
  430. package/fesm2022/primeng-types-megamenu.mjs.map +1 -0
  431. package/fesm2022/primeng-types-menu.mjs +4 -0
  432. package/fesm2022/primeng-types-menu.mjs.map +1 -0
  433. package/fesm2022/primeng-types-menubar.mjs +4 -0
  434. package/fesm2022/primeng-types-menubar.mjs.map +1 -0
  435. package/fesm2022/primeng-types-message.mjs +4 -0
  436. package/fesm2022/primeng-types-message.mjs.map +1 -0
  437. package/fesm2022/primeng-types-metergroup.mjs +4 -0
  438. package/fesm2022/primeng-types-metergroup.mjs.map +1 -0
  439. package/fesm2022/primeng-types-motion.mjs +4 -0
  440. package/fesm2022/primeng-types-motion.mjs.map +1 -0
  441. package/fesm2022/primeng-types-multiselect.mjs +4 -0
  442. package/fesm2022/primeng-types-multiselect.mjs.map +1 -0
  443. package/fesm2022/primeng-types-orderlist.mjs +4 -0
  444. package/fesm2022/primeng-types-orderlist.mjs.map +1 -0
  445. package/fesm2022/primeng-types-organizationchart.mjs +4 -0
  446. package/fesm2022/primeng-types-organizationchart.mjs.map +1 -0
  447. package/fesm2022/primeng-types-overlay.mjs +4 -0
  448. package/fesm2022/primeng-types-overlay.mjs.map +1 -0
  449. package/fesm2022/primeng-types-overlaybadge.mjs +4 -0
  450. package/fesm2022/primeng-types-overlaybadge.mjs.map +1 -0
  451. package/fesm2022/primeng-types-paginator.mjs +4 -0
  452. package/fesm2022/primeng-types-paginator.mjs.map +1 -0
  453. package/fesm2022/primeng-types-panel.mjs +4 -0
  454. package/fesm2022/primeng-types-panel.mjs.map +1 -0
  455. package/fesm2022/primeng-types-panelmenu.mjs +4 -0
  456. package/fesm2022/primeng-types-panelmenu.mjs.map +1 -0
  457. package/fesm2022/primeng-types-password.mjs +4 -0
  458. package/fesm2022/primeng-types-password.mjs.map +1 -0
  459. package/fesm2022/primeng-types-picklist.mjs +4 -0
  460. package/fesm2022/primeng-types-picklist.mjs.map +1 -0
  461. package/fesm2022/primeng-types-popover.mjs +4 -0
  462. package/fesm2022/primeng-types-popover.mjs.map +1 -0
  463. package/fesm2022/primeng-types-progressbar.mjs +4 -0
  464. package/fesm2022/primeng-types-progressbar.mjs.map +1 -0
  465. package/fesm2022/primeng-types-progressspinner.mjs +4 -0
  466. package/fesm2022/primeng-types-progressspinner.mjs.map +1 -0
  467. package/fesm2022/primeng-types-radiobutton.mjs +4 -0
  468. package/fesm2022/primeng-types-radiobutton.mjs.map +1 -0
  469. package/fesm2022/primeng-types-rating.mjs +4 -0
  470. package/fesm2022/primeng-types-rating.mjs.map +1 -0
  471. package/fesm2022/primeng-types-scroller.mjs +4 -0
  472. package/fesm2022/primeng-types-scroller.mjs.map +1 -0
  473. package/fesm2022/primeng-types-scrollpanel.mjs +4 -0
  474. package/fesm2022/primeng-types-scrollpanel.mjs.map +1 -0
  475. package/fesm2022/primeng-types-scrolltop.mjs +4 -0
  476. package/fesm2022/primeng-types-scrolltop.mjs.map +1 -0
  477. package/fesm2022/primeng-types-select.mjs +4 -0
  478. package/fesm2022/primeng-types-select.mjs.map +1 -0
  479. package/fesm2022/primeng-types-selectbutton.mjs +4 -0
  480. package/fesm2022/primeng-types-selectbutton.mjs.map +1 -0
  481. package/fesm2022/primeng-types-skeleton.mjs +4 -0
  482. package/fesm2022/primeng-types-skeleton.mjs.map +1 -0
  483. package/fesm2022/primeng-types-slider.mjs +4 -0
  484. package/fesm2022/primeng-types-slider.mjs.map +1 -0
  485. package/fesm2022/primeng-types-speeddial.mjs +4 -0
  486. package/fesm2022/primeng-types-speeddial.mjs.map +1 -0
  487. package/fesm2022/primeng-types-splitbutton.mjs +4 -0
  488. package/fesm2022/primeng-types-splitbutton.mjs.map +1 -0
  489. package/fesm2022/primeng-types-splitter.mjs +4 -0
  490. package/fesm2022/primeng-types-splitter.mjs.map +1 -0
  491. package/fesm2022/primeng-types-stepper.mjs +4 -0
  492. package/fesm2022/primeng-types-stepper.mjs.map +1 -0
  493. package/fesm2022/primeng-types-table.mjs +4 -0
  494. package/fesm2022/primeng-types-table.mjs.map +1 -0
  495. package/fesm2022/primeng-types-tabs.mjs +4 -0
  496. package/fesm2022/primeng-types-tabs.mjs.map +1 -0
  497. package/fesm2022/primeng-types-tag.mjs +4 -0
  498. package/fesm2022/primeng-types-tag.mjs.map +1 -0
  499. package/fesm2022/primeng-types-terminal.mjs +4 -0
  500. package/fesm2022/primeng-types-terminal.mjs.map +1 -0
  501. package/fesm2022/primeng-types-textarea.mjs +4 -0
  502. package/fesm2022/primeng-types-textarea.mjs.map +1 -0
  503. package/fesm2022/primeng-types-tieredmenu.mjs +4 -0
  504. package/fesm2022/primeng-types-tieredmenu.mjs.map +1 -0
  505. package/fesm2022/primeng-types-timeline.mjs +4 -0
  506. package/fesm2022/primeng-types-timeline.mjs.map +1 -0
  507. package/fesm2022/primeng-types-toast.mjs +4 -0
  508. package/fesm2022/primeng-types-toast.mjs.map +1 -0
  509. package/fesm2022/primeng-types-togglebutton.mjs +4 -0
  510. package/fesm2022/primeng-types-togglebutton.mjs.map +1 -0
  511. package/fesm2022/primeng-types-toggleswitch.mjs +4 -0
  512. package/fesm2022/primeng-types-toggleswitch.mjs.map +1 -0
  513. package/fesm2022/primeng-types-toolbar.mjs +4 -0
  514. package/fesm2022/primeng-types-toolbar.mjs.map +1 -0
  515. package/fesm2022/primeng-types-tooltip.mjs +4 -0
  516. package/fesm2022/primeng-types-tooltip.mjs.map +1 -0
  517. package/fesm2022/primeng-types-tree.mjs +4 -0
  518. package/fesm2022/primeng-types-tree.mjs.map +1 -0
  519. package/fesm2022/primeng-types-treeselect.mjs +4 -0
  520. package/fesm2022/primeng-types-treeselect.mjs.map +1 -0
  521. package/fesm2022/primeng-types-treetable.mjs +4 -0
  522. package/fesm2022/primeng-types-treetable.mjs.map +1 -0
  523. package/fesm2022/primeng-usestyle.mjs +54 -0
  524. package/fesm2022/primeng-usestyle.mjs.map +1 -0
  525. package/fesm2022/primeng-utils.mjs +332 -0
  526. package/fesm2022/primeng-utils.mjs.map +1 -0
  527. package/fesm2022/primeng.mjs +6 -0
  528. package/fesm2022/primeng.mjs.map +1 -0
  529. package/package.json +1103 -4
  530. package/types/primeng-accordion.d.ts +289 -0
  531. package/types/primeng-animateonscroll.d.ts +70 -0
  532. package/types/primeng-api.d.ts +1976 -0
  533. package/types/primeng-autocomplete.d.ts +793 -0
  534. package/types/primeng-autofocus.d.ts +31 -0
  535. package/types/primeng-avatar.d.ts +140 -0
  536. package/types/primeng-avatargroup.d.ts +66 -0
  537. package/types/primeng-badge.d.ts +184 -0
  538. package/types/primeng-base.d.ts +58 -0
  539. package/types/primeng-basecomponent.d.ts +175 -0
  540. package/types/primeng-baseeditableholder.d.ts +45 -0
  541. package/types/primeng-baseinput.d.ts +73 -0
  542. package/types/primeng-basemodelholder.d.ts +12 -0
  543. package/types/primeng-bind.d.ts +38 -0
  544. package/types/primeng-blockui.d.ts +111 -0
  545. package/types/primeng-breadcrumb.d.ts +149 -0
  546. package/types/primeng-button.d.ts +491 -0
  547. package/types/primeng-buttongroup.d.ts +44 -0
  548. package/types/primeng-card.d.ts +157 -0
  549. package/types/primeng-carousel.d.ts +388 -0
  550. package/types/primeng-cascadeselect.d.ts +628 -0
  551. package/types/primeng-chart.d.ts +135 -0
  552. package/types/primeng-checkbox.d.ts +231 -0
  553. package/types/primeng-chip.d.ts +167 -0
  554. package/types/primeng-classnames.d.ts +32 -0
  555. package/types/primeng-colorpicker.d.ts +317 -0
  556. package/types/primeng-config.d.ts +268 -0
  557. package/types/primeng-confirmdialog.d.ts +360 -0
  558. package/types/primeng-confirmpopup.d.ts +236 -0
  559. package/types/primeng-contextmenu.d.ts +381 -0
  560. package/types/primeng-dataview.d.ts +379 -0
  561. package/types/primeng-datepicker.d.ts +1017 -0
  562. package/types/primeng-dialog.d.ts +555 -0
  563. package/types/primeng-divider.d.ts +122 -0
  564. package/types/primeng-dock.d.ts +195 -0
  565. package/types/primeng-dom.d.ts +109 -0
  566. package/types/primeng-dragdrop.d.ts +121 -0
  567. package/types/primeng-drawer.d.ts +303 -0
  568. package/types/primeng-dynamicdialog.d.ts +554 -0
  569. package/types/primeng-editor.d.ts +191 -0
  570. package/types/primeng-fieldset.d.ts +199 -0
  571. package/types/primeng-fileupload.d.ts +562 -0
  572. package/types/primeng-floatlabel.d.ts +67 -0
  573. package/types/primeng-fluid.d.ts +54 -0
  574. package/types/primeng-focustrap.d.ts +36 -0
  575. package/types/primeng-galleria.d.ts +694 -0
  576. package/types/primeng-iconfield.d.ts +73 -0
  577. package/types/primeng-icons-angledoubledown.d.ts +9 -0
  578. package/types/primeng-icons-angledoubleleft.d.ts +9 -0
  579. package/types/primeng-icons-angledoubleright.d.ts +9 -0
  580. package/types/primeng-icons-angledoubleup.d.ts +9 -0
  581. package/types/primeng-icons-angledown.d.ts +9 -0
  582. package/types/primeng-icons-angleleft.d.ts +9 -0
  583. package/types/primeng-icons-angleright.d.ts +9 -0
  584. package/types/primeng-icons-angleup.d.ts +9 -0
  585. package/types/primeng-icons-arrowdown.d.ts +11 -0
  586. package/types/primeng-icons-arrowdownleft.d.ts +9 -0
  587. package/types/primeng-icons-arrowdownright.d.ts +9 -0
  588. package/types/primeng-icons-arrowleft.d.ts +11 -0
  589. package/types/primeng-icons-arrowright.d.ts +9 -0
  590. package/types/primeng-icons-arrowup.d.ts +11 -0
  591. package/types/primeng-icons-ban.d.ts +11 -0
  592. package/types/primeng-icons-bars.d.ts +9 -0
  593. package/types/primeng-icons-baseicon.d.ts +33 -0
  594. package/types/primeng-icons-blank.d.ts +9 -0
  595. package/types/primeng-icons-calendar.d.ts +9 -0
  596. package/types/primeng-icons-caretleft.d.ts +9 -0
  597. package/types/primeng-icons-caretright.d.ts +9 -0
  598. package/types/primeng-icons-check.d.ts +9 -0
  599. package/types/primeng-icons-chevrondown.d.ts +9 -0
  600. package/types/primeng-icons-chevronleft.d.ts +9 -0
  601. package/types/primeng-icons-chevronright.d.ts +9 -0
  602. package/types/primeng-icons-chevronup.d.ts +9 -0
  603. package/types/primeng-icons-exclamationtriangle.d.ts +11 -0
  604. package/types/primeng-icons-eye.d.ts +9 -0
  605. package/types/primeng-icons-eyeslash.d.ts +11 -0
  606. package/types/primeng-icons-filter.d.ts +11 -0
  607. package/types/primeng-icons-filterfill.d.ts +9 -0
  608. package/types/primeng-icons-filterslash.d.ts +11 -0
  609. package/types/primeng-icons-home.d.ts +11 -0
  610. package/types/primeng-icons-infocircle.d.ts +11 -0
  611. package/types/primeng-icons-minus.d.ts +9 -0
  612. package/types/primeng-icons-pencil.d.ts +11 -0
  613. package/types/primeng-icons-plus.d.ts +11 -0
  614. package/types/primeng-icons-refresh.d.ts +11 -0
  615. package/types/primeng-icons-search.d.ts +11 -0
  616. package/types/primeng-icons-searchminus.d.ts +11 -0
  617. package/types/primeng-icons-searchplus.d.ts +11 -0
  618. package/types/primeng-icons-sortalt.d.ts +11 -0
  619. package/types/primeng-icons-sortamountdown.d.ts +11 -0
  620. package/types/primeng-icons-sortamountupalt.d.ts +11 -0
  621. package/types/primeng-icons-spinner.d.ts +11 -0
  622. package/types/primeng-icons-star.d.ts +11 -0
  623. package/types/primeng-icons-starfill.d.ts +11 -0
  624. package/types/primeng-icons-thlarge.d.ts +11 -0
  625. package/types/primeng-icons-times.d.ts +9 -0
  626. package/types/primeng-icons-timescircle.d.ts +11 -0
  627. package/types/primeng-icons-trash.d.ts +11 -0
  628. package/types/primeng-icons-undo.d.ts +11 -0
  629. package/types/primeng-icons-upload.d.ts +11 -0
  630. package/types/primeng-icons-windowmaximize.d.ts +11 -0
  631. package/types/primeng-icons-windowminimize.d.ts +11 -0
  632. package/types/primeng-icons.d.ts +53 -0
  633. package/types/primeng-iftalabel.d.ts +58 -0
  634. package/types/primeng-image.d.ts +349 -0
  635. package/types/primeng-imagecompare.d.ts +100 -0
  636. package/types/primeng-inplace.d.ts +171 -0
  637. package/types/primeng-inputgroup.d.ts +65 -0
  638. package/types/primeng-inputgroupaddon.d.ts +52 -0
  639. package/types/primeng-inputicon.d.ts +44 -0
  640. package/types/primeng-inputmask.d.ts +381 -0
  641. package/types/primeng-inputnumber.d.ts +436 -0
  642. package/types/primeng-inputotp.d.ts +179 -0
  643. package/types/primeng-inputtext.d.ts +117 -0
  644. package/types/primeng-keyfilter.d.ts +61 -0
  645. package/types/primeng-knob.d.ts +213 -0
  646. package/types/primeng-listbox.d.ts +675 -0
  647. package/types/primeng-megamenu.d.ts +392 -0
  648. package/types/primeng-menu.d.ts +364 -0
  649. package/types/primeng-menubar.d.ts +392 -0
  650. package/types/primeng-message.d.ts +213 -0
  651. package/types/primeng-metergroup.d.ts +209 -0
  652. package/types/primeng-motion.d.ts +398 -0
  653. package/types/primeng-multiselect.d.ts +903 -0
  654. package/types/primeng-orderlist.d.ts +375 -0
  655. package/types/primeng-organizationchart.d.ts +236 -0
  656. package/types/primeng-overlay.d.ts +355 -0
  657. package/types/primeng-overlaybadge.d.ts +80 -0
  658. package/types/primeng-paginator.d.ts +363 -0
  659. package/types/primeng-panel.d.ts +257 -0
  660. package/types/primeng-panelmenu.d.ts +367 -0
  661. package/types/primeng-passthrough.d.ts +14 -0
  662. package/types/primeng-password.d.ts +494 -0
  663. package/types/primeng-picklist.d.ts +669 -0
  664. package/types/primeng-popover.d.ts +202 -0
  665. package/types/primeng-progressbar.d.ts +124 -0
  666. package/types/primeng-progressspinner.d.ts +92 -0
  667. package/types/primeng-radiobutton.d.ts +193 -0
  668. package/types/primeng-rating.d.ts +196 -0
  669. package/types/primeng-ripple.d.ts +63 -0
  670. package/types/primeng-scroller.d.ts +452 -0
  671. package/types/primeng-scrollpanel.d.ts +157 -0
  672. package/types/primeng-scrolltop.d.ts +159 -0
  673. package/types/primeng-select.d.ts +792 -0
  674. package/types/primeng-selectbutton.d.ts +186 -0
  675. package/types/primeng-skeleton.d.ts +104 -0
  676. package/types/primeng-slider.d.ts +224 -0
  677. package/types/primeng-speeddial.d.ts +420 -0
  678. package/types/primeng-splitbutton.d.ts +294 -0
  679. package/types/primeng-splitter.d.ts +212 -0
  680. package/types/primeng-stepper.d.ts +337 -0
  681. package/types/primeng-steps.d.ts +153 -0
  682. package/types/primeng-styleclass.d.ts +115 -0
  683. package/types/primeng-table.d.ts +2089 -0
  684. package/types/primeng-tabs.d.ts +360 -0
  685. package/types/primeng-tag.d.ts +115 -0
  686. package/types/primeng-terminal.d.ts +141 -0
  687. package/types/primeng-textarea.d.ts +127 -0
  688. package/types/primeng-tieredmenu.d.ts +432 -0
  689. package/types/primeng-timeline.d.ts +141 -0
  690. package/types/primeng-toast.d.ts +303 -0
  691. package/types/primeng-togglebutton.d.ts +205 -0
  692. package/types/primeng-toggleswitch.d.ts +168 -0
  693. package/types/primeng-toolbar.d.ts +106 -0
  694. package/types/primeng-tooltip.d.ts +286 -0
  695. package/types/primeng-tree.d.ts +668 -0
  696. package/types/primeng-treeselect.d.ts +575 -0
  697. package/types/primeng-treetable.d.ts +1278 -0
  698. package/types/primeng-ts-helpers.d.ts +6 -0
  699. package/types/primeng-types-accordion.d.ts +97 -0
  700. package/types/primeng-types-autocomplete.d.ts +312 -0
  701. package/types/primeng-types-avatar.d.ts +40 -0
  702. package/types/primeng-types-avatargroup.d.ts +28 -0
  703. package/types/primeng-types-badge.d.ts +26 -0
  704. package/types/primeng-types-blockui.d.ts +39 -0
  705. package/types/primeng-types-breadcrumb.d.ts +96 -0
  706. package/types/primeng-types-button.d.ts +124 -0
  707. package/types/primeng-types-card.d.ts +75 -0
  708. package/types/primeng-types-carousel.d.ts +143 -0
  709. package/types/primeng-types-cascadeselect.d.ts +215 -0
  710. package/types/primeng-types-chart.d.ts +32 -0
  711. package/types/primeng-types-checkbox.d.ts +81 -0
  712. package/types/primeng-types-chip.d.ts +71 -0
  713. package/types/primeng-types-colorpicker.d.ts +78 -0
  714. package/types/primeng-types-confirmdialog.d.ts +147 -0
  715. package/types/primeng-types-confirmpopup.d.ts +105 -0
  716. package/types/primeng-types-contextmenu.d.ts +102 -0
  717. package/types/primeng-types-dataview.d.ts +253 -0
  718. package/types/primeng-types-datepicker.d.ts +521 -0
  719. package/types/primeng-types-dialog.d.ts +107 -0
  720. package/types/primeng-types-divider.d.ts +28 -0
  721. package/types/primeng-types-dock.d.ts +70 -0
  722. package/types/primeng-types-drawer.d.ts +82 -0
  723. package/types/primeng-types-editor.d.ts +210 -0
  724. package/types/primeng-types-fieldset.d.ts +101 -0
  725. package/types/primeng-types-fileupload.d.ts +360 -0
  726. package/types/primeng-types-floatlabel.d.ts +26 -0
  727. package/types/primeng-types-fluid.d.ts +28 -0
  728. package/types/primeng-types-galleria.d.ts +250 -0
  729. package/types/primeng-types-iconfield.d.ts +26 -0
  730. package/types/primeng-types-iftalabel.d.ts +26 -0
  731. package/types/primeng-types-image.d.ts +144 -0
  732. package/types/primeng-types-imagecompare.d.ts +43 -0
  733. package/types/primeng-types-inplace.d.ts +72 -0
  734. package/types/primeng-types-inputgroup.d.ts +28 -0
  735. package/types/primeng-types-inputgroupaddon.d.ts +28 -0
  736. package/types/primeng-types-inputicon.d.ts +26 -0
  737. package/types/primeng-types-inputmask.d.ts +56 -0
  738. package/types/primeng-types-inputnumber.d.ts +95 -0
  739. package/types/primeng-types-inputotp.d.ts +101 -0
  740. package/types/primeng-types-inputtext.d.ts +24 -0
  741. package/types/primeng-types-knob.d.ts +40 -0
  742. package/types/primeng-types-listbox.d.ts +359 -0
  743. package/types/primeng-types-megamenu.d.ts +138 -0
  744. package/types/primeng-types-menu.d.ts +114 -0
  745. package/types/primeng-types-menubar.d.ts +124 -0
  746. package/types/primeng-types-message.d.ts +87 -0
  747. package/types/primeng-types-metergroup.d.ts +176 -0
  748. package/types/primeng-types-motion.d.ts +26 -0
  749. package/types/primeng-types-multiselect.d.ts +414 -0
  750. package/types/primeng-types-orderlist.d.ts +173 -0
  751. package/types/primeng-types-organizationchart.d.ts +138 -0
  752. package/types/primeng-types-overlay.d.ts +60 -0
  753. package/types/primeng-types-overlaybadge.d.ts +34 -0
  754. package/types/primeng-types-paginator.d.ts +167 -0
  755. package/types/primeng-types-panel.d.ts +129 -0
  756. package/types/primeng-types-panelmenu.d.ts +131 -0
  757. package/types/primeng-types-password.d.ts +120 -0
  758. package/types/primeng-types-picklist.d.ts +348 -0
  759. package/types/primeng-types-popover.d.ts +59 -0
  760. package/types/primeng-types-progressbar.d.ts +58 -0
  761. package/types/primeng-types-progressspinner.d.ts +36 -0
  762. package/types/primeng-types-radiobutton.d.ts +51 -0
  763. package/types/primeng-types-rating.d.ts +94 -0
  764. package/types/primeng-types-scroller.d.ts +231 -0
  765. package/types/primeng-types-scrollpanel.d.ts +51 -0
  766. package/types/primeng-types-scrolltop.d.ts +61 -0
  767. package/types/primeng-types-select.d.ts +319 -0
  768. package/types/primeng-types-selectbutton.d.ts +92 -0
  769. package/types/primeng-types-skeleton.d.ts +28 -0
  770. package/types/primeng-types-slider.d.ts +78 -0
  771. package/types/primeng-types-speeddial.d.ts +100 -0
  772. package/types/primeng-types-splitbutton.d.ts +70 -0
  773. package/types/primeng-types-splitter.d.ts +70 -0
  774. package/types/primeng-types-stepper.d.ts +162 -0
  775. package/types/primeng-types-table.d.ts +893 -0
  776. package/types/primeng-types-tabs.d.ts +119 -0
  777. package/types/primeng-types-tag.d.ts +47 -0
  778. package/types/primeng-types-terminal.d.ts +60 -0
  779. package/types/primeng-types-textarea.d.ts +28 -0
  780. package/types/primeng-types-tieredmenu.d.ts +95 -0
  781. package/types/primeng-types-timeline.d.ts +85 -0
  782. package/types/primeng-types-toast.d.ts +131 -0
  783. package/types/primeng-types-togglebutton.d.ts +86 -0
  784. package/types/primeng-types-toggleswitch.d.ts +73 -0
  785. package/types/primeng-types-toolbar.d.ts +55 -0
  786. package/types/primeng-types-tooltip.d.ts +32 -0
  787. package/types/primeng-types-tree.d.ts +342 -0
  788. package/types/primeng-types-treeselect.d.ts +251 -0
  789. package/types/primeng-types-treetable.d.ts +629 -0
  790. package/types/primeng-usestyle.d.ts +15 -0
  791. package/types/primeng-utils.d.ts +43 -0
  792. package/types/primeng.d.ts +2 -0
@@ -0,0 +1,1577 @@
1
+ export * from 'primeng/types/fileupload';
2
+ import * as i1 from '@angular/common';
3
+ import { CommonModule, isPlatformBrowser } from '@angular/common';
4
+ import { HttpClient, HttpEventType } from '@angular/common/http';
5
+ import * as i0 from '@angular/core';
6
+ import { Injectable, InjectionToken, inject, output, input, ChangeDetectionStrategy, Component, EventEmitter, NgZone, numberAttribute, booleanAttribute, ContentChildren, Input, ViewChild, ContentChild, Output, ViewEncapsulation, NgModule } from '@angular/core';
7
+ import { DomSanitizer } from '@angular/platform-browser';
8
+ import { addClass, removeClass } from '@primeuix/utils';
9
+ import { TranslationKeys, SharedModule, PrimeTemplate } from 'primeng/api';
10
+ import { Badge } from 'primeng/badge';
11
+ import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
12
+ import * as i2 from 'primeng/bind';
13
+ import { Bind } from 'primeng/bind';
14
+ import { Button } from 'primeng/button';
15
+ import { TimesIcon, PlusIcon, UploadIcon } from 'primeng/icons';
16
+ import { Message } from 'primeng/message';
17
+ import { ProgressBar } from 'primeng/progressbar';
18
+ import { style } from '@primeuix/styles/fileupload';
19
+ import { BaseStyle } from 'primeng/base';
20
+
21
+ const classes = {
22
+ root: ({ instance }) => `p-fileupload p-fileupload-${instance.mode} p-component`,
23
+ header: 'p-fileupload-header',
24
+ pcChooseButton: 'p-fileupload-choose-button',
25
+ pcUploadButton: 'p-fileupload-upload-button',
26
+ pcCancelButton: 'p-fileupload-cancel-button',
27
+ content: 'p-fileupload-content',
28
+ fileList: 'p-fileupload-file-list',
29
+ file: 'p-fileupload-file',
30
+ fileThumbnail: 'p-fileupload-file-thumbnail',
31
+ fileInfo: 'p-fileupload-file-info',
32
+ fileName: 'p-fileupload-file-name',
33
+ fileSize: 'p-fileupload-file-size',
34
+ pcFileBadge: 'p-fileupload-file-badge',
35
+ fileActions: 'p-fileupload-file-actions',
36
+ pcFileRemoveButton: 'p-fileupload-file-remove-button',
37
+ basicContent: 'p-fileupload-basic-content'
38
+ };
39
+ class FileUploadStyle extends BaseStyle {
40
+ name = 'fileupload';
41
+ style = style;
42
+ classes = classes;
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileUploadStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
44
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileUploadStyle });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileUploadStyle, decorators: [{
47
+ type: Injectable
48
+ }] });
49
+ /**
50
+ *
51
+ * FileUpload is an advanced uploader with dragdrop support, multi file uploads, auto uploading, progress tracking and validations.
52
+ *
53
+ * [Live Demo](https://www.primeng.org/fileupload/)
54
+ *
55
+ * @module fileuploadstyle
56
+ *
57
+ */
58
+ var FileUploadClasses;
59
+ (function (FileUploadClasses) {
60
+ /**
61
+ * Class name of the root element
62
+ */
63
+ FileUploadClasses["root"] = "p-fileupload";
64
+ /**
65
+ * Class name of the header element
66
+ */
67
+ FileUploadClasses["header"] = "p-fileupload-header";
68
+ /**
69
+ * Class name of the choose button element
70
+ */
71
+ FileUploadClasses["pcChooseButton"] = "p-fileupload-choose-button";
72
+ /**
73
+ * Class name of the upload button element
74
+ */
75
+ FileUploadClasses["pcUploadButton"] = "p-fileupload-upload-button";
76
+ /**
77
+ * Class name of the cancel button element
78
+ */
79
+ FileUploadClasses["pcCancelButton"] = "p-fileupload-cancel-button";
80
+ /**
81
+ * Class name of the content element
82
+ */
83
+ FileUploadClasses["content"] = "p-fileupload-content";
84
+ /**
85
+ * Class name of the file list element
86
+ */
87
+ FileUploadClasses["fileList"] = "p-fileupload-file-list";
88
+ /**
89
+ * Class name of the file element
90
+ */
91
+ FileUploadClasses["file"] = "p-fileupload-file";
92
+ /**
93
+ * Class name of the file thumbnail element
94
+ */
95
+ FileUploadClasses["fileThumbnail"] = "p-fileupload-file-thumbnail";
96
+ /**
97
+ * Class name of the file info element
98
+ */
99
+ FileUploadClasses["fileInfo"] = "p-fileupload-file-info";
100
+ /**
101
+ * Class name of the file name element
102
+ */
103
+ FileUploadClasses["fileName"] = "p-fileupload-file-name";
104
+ /**
105
+ * Class name of the file size element
106
+ */
107
+ FileUploadClasses["fileSize"] = "p-fileupload-file-size";
108
+ /**
109
+ * Class name of the file badge element
110
+ */
111
+ FileUploadClasses["pcFileBadge"] = "p-fileupload-file-badge";
112
+ /**
113
+ * Class name of the file actions element
114
+ */
115
+ FileUploadClasses["fileActions"] = "p-fileupload-file-actions";
116
+ /**
117
+ * Class name of the file remove button element
118
+ */
119
+ FileUploadClasses["pcFileRemoveButton"] = "p-fileupload-file-remove-button";
120
+ /**
121
+ * Class name of the content in basic mode
122
+ */
123
+ FileUploadClasses["basicContent"] = "p-fileupload-basic-content";
124
+ })(FileUploadClasses || (FileUploadClasses = {}));
125
+
126
+ const FILEUPLOAD_INSTANCE = new InjectionToken('FILEUPLOAD_INSTANCE');
127
+ class FileContent extends BaseComponent {
128
+ _componentStyle = inject(FileUploadStyle);
129
+ $pcFileUpload = inject(FILEUPLOAD_INSTANCE);
130
+ onRemove = output();
131
+ files = input(...(ngDevMode ? [undefined, { debugName: "files" }] : /* istanbul ignore next */ []));
132
+ badgeSeverity = input('warn', ...(ngDevMode ? [{ debugName: "badgeSeverity" }] : /* istanbul ignore next */ []));
133
+ badgeValue = input(...(ngDevMode ? [undefined, { debugName: "badgeValue" }] : /* istanbul ignore next */ []));
134
+ previewWidth = input(50, ...(ngDevMode ? [{ debugName: "previewWidth" }] : /* istanbul ignore next */ []));
135
+ fileRemoveIconTemplate = input(...(ngDevMode ? [undefined, { debugName: "fileRemoveIconTemplate" }] : /* istanbul ignore next */ []));
136
+ onRemoveClick(event, index) {
137
+ this.onRemove.emit({ event, index });
138
+ }
139
+ formatSize(bytes) {
140
+ const k = 1024;
141
+ const dm = 3;
142
+ const sizes = this.config.getTranslation(TranslationKeys.FILE_SIZE_TYPES);
143
+ if (bytes === 0) {
144
+ return `0 ${sizes[0]}`;
145
+ }
146
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
147
+ const formattedSize = (bytes / Math.pow(k, i)).toFixed(dm);
148
+ return `${formattedSize} ${sizes[i]}`;
149
+ }
150
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileContent, deps: null, target: i0.ɵɵFactoryTarget.Component });
151
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: FileContent, isStandalone: true, selector: "[pFileContent]", inputs: { files: { classPropertyName: "files", publicName: "files", isSignal: true, isRequired: false, transformFunction: null }, badgeSeverity: { classPropertyName: "badgeSeverity", publicName: "badgeSeverity", isSignal: true, isRequired: false, transformFunction: null }, badgeValue: { classPropertyName: "badgeValue", publicName: "badgeValue", isSignal: true, isRequired: false, transformFunction: null }, previewWidth: { classPropertyName: "previewWidth", publicName: "previewWidth", isSignal: true, isRequired: false, transformFunction: null }, fileRemoveIconTemplate: { classPropertyName: "fileRemoveIconTemplate", publicName: "fileRemoveIconTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onRemove: "onRemove" }, providers: [FileUploadStyle], usesInheritance: true, ngImport: i0, template: `@for (file of files(); track file?.name + '-' + $index; let index = $index) {
152
+ <div [class]="cx('file')" [pBind]="$pcFileUpload.ptm('file')">
153
+ <img role="presentation" [class]="cx('fileThumbnail')" [attr.alt]="file.name" [src]="file.objectURL" [width]="previewWidth()" [pBind]="$pcFileUpload.ptm('fileThumbnail')" />
154
+ <div [class]="cx('fileInfo')" [pBind]="$pcFileUpload.ptm('fileInfo')">
155
+ <div [class]="cx('fileName')" [pBind]="$pcFileUpload.ptm('fileName')">{{ file.name }}</div>
156
+ <span [class]="cx('fileSize')" [pBind]="$pcFileUpload.ptm('fileSize')">{{ formatSize(file.size) }}</span>
157
+ </div>
158
+ <p-badge [value]="badgeValue()" [severity]="badgeSeverity()" [class]="cx('pcFileBadge')" [pt]="$pcFileUpload.ptm('pcFileBadge')" [unstyled]="unstyled()" />
159
+ <div [class]="cx('fileActions')" [pBind]="$pcFileUpload.ptm('fileActions')">
160
+ <p-button (onClick)="onRemoveClick($event, index)" [styleClass]="cx('pcFileRemoveButton')" text rounded severity="danger" [pt]="$pcFileUpload.ptm('pcFileRemoveButton')" [unstyled]="unstyled()">
161
+ <ng-template #icon let-iconClass="class">
162
+ @if (fileRemoveIconTemplate()) {
163
+ <ng-template *ngTemplateOutlet="fileRemoveIconTemplate(); context: { class: iconClass, file: file, index: index }"></ng-template>
164
+ } @else {
165
+ <svg data-p-icon="times" [class]="iconClass" [attr.aria-hidden]="true" />
166
+ }
167
+ </ng-template>
168
+ </p-button>
169
+ </div>
170
+ </div>
171
+ }`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Badge, selector: "p-badge", inputs: ["styleClass", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
172
+ }
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileContent, decorators: [{
174
+ type: Component,
175
+ args: [{
176
+ selector: '[pFileContent]',
177
+ standalone: true,
178
+ template: `@for (file of files(); track file?.name + '-' + $index; let index = $index) {
179
+ <div [class]="cx('file')" [pBind]="$pcFileUpload.ptm('file')">
180
+ <img role="presentation" [class]="cx('fileThumbnail')" [attr.alt]="file.name" [src]="file.objectURL" [width]="previewWidth()" [pBind]="$pcFileUpload.ptm('fileThumbnail')" />
181
+ <div [class]="cx('fileInfo')" [pBind]="$pcFileUpload.ptm('fileInfo')">
182
+ <div [class]="cx('fileName')" [pBind]="$pcFileUpload.ptm('fileName')">{{ file.name }}</div>
183
+ <span [class]="cx('fileSize')" [pBind]="$pcFileUpload.ptm('fileSize')">{{ formatSize(file.size) }}</span>
184
+ </div>
185
+ <p-badge [value]="badgeValue()" [severity]="badgeSeverity()" [class]="cx('pcFileBadge')" [pt]="$pcFileUpload.ptm('pcFileBadge')" [unstyled]="unstyled()" />
186
+ <div [class]="cx('fileActions')" [pBind]="$pcFileUpload.ptm('fileActions')">
187
+ <p-button (onClick)="onRemoveClick($event, index)" [styleClass]="cx('pcFileRemoveButton')" text rounded severity="danger" [pt]="$pcFileUpload.ptm('pcFileRemoveButton')" [unstyled]="unstyled()">
188
+ <ng-template #icon let-iconClass="class">
189
+ @if (fileRemoveIconTemplate()) {
190
+ <ng-template *ngTemplateOutlet="fileRemoveIconTemplate(); context: { class: iconClass, file: file, index: index }"></ng-template>
191
+ } @else {
192
+ <svg data-p-icon="times" [class]="iconClass" [attr.aria-hidden]="true" />
193
+ }
194
+ </ng-template>
195
+ </p-button>
196
+ </div>
197
+ </div>
198
+ }`,
199
+ changeDetection: ChangeDetectionStrategy.OnPush,
200
+ providers: [FileUploadStyle],
201
+ imports: [CommonModule, Badge, Button, TimesIcon, Bind]
202
+ }]
203
+ }], propDecorators: { onRemove: [{ type: i0.Output, args: ["onRemove"] }], files: [{ type: i0.Input, args: [{ isSignal: true, alias: "files", required: false }] }], badgeSeverity: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeSeverity", required: false }] }], badgeValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeValue", required: false }] }], previewWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "previewWidth", required: false }] }], fileRemoveIconTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileRemoveIconTemplate", required: false }] }] } });
204
+ /**
205
+ * FileUpload is an advanced uploader with dragdrop support, multi file uploads, auto uploading, progress tracking and validations.
206
+ * @group Components
207
+ */
208
+ class FileUpload extends BaseComponent {
209
+ componentName = 'FileUpload';
210
+ bindDirectiveInstance = inject(Bind, { self: true });
211
+ onAfterViewChecked() {
212
+ this.bindDirectiveInstance.setAttrs(this.ptm('host'));
213
+ }
214
+ /**
215
+ * Name of the request parameter to identify the files at backend.
216
+ * @group Props
217
+ */
218
+ name;
219
+ /**
220
+ * Remote url to upload the files.
221
+ * @group Props
222
+ */
223
+ url;
224
+ /**
225
+ * HTTP method to send the files to the url such as "post" and "put".
226
+ * @group Props
227
+ */
228
+ method = 'post';
229
+ /**
230
+ * Used to select multiple files at once from file dialog.
231
+ * @group Props
232
+ */
233
+ multiple;
234
+ /**
235
+ * Comma-separated list of pattern to restrict the allowed file types. Can be any combination of either the MIME types (such as "image/*") or the file extensions (such as ".jpg").
236
+ * @group Props
237
+ */
238
+ accept;
239
+ /**
240
+ * Disables the upload functionality.
241
+ * @group Props
242
+ */
243
+ disabled;
244
+ /**
245
+ * When enabled, upload begins automatically after selection is completed.
246
+ * @group Props
247
+ */
248
+ auto;
249
+ /**
250
+ * Cross-site Access-Control requests should be made using credentials such as cookies, authorization headers or TLS client certificates.
251
+ * @group Props
252
+ */
253
+ withCredentials;
254
+ /**
255
+ * Maximum file size allowed in bytes.
256
+ * @group Props
257
+ */
258
+ maxFileSize;
259
+ /**
260
+ * Summary message of the invalid file size.
261
+ * @group Props
262
+ */
263
+ invalidFileSizeMessageSummary = '{0}: Invalid file size, ';
264
+ /**
265
+ * Detail message of the invalid file size.
266
+ * @group Props
267
+ */
268
+ invalidFileSizeMessageDetail = 'maximum upload size is {0}.';
269
+ /**
270
+ * Summary message of the invalid file type.
271
+ * @group Props
272
+ */
273
+ invalidFileTypeMessageSummary = '{0}: Invalid file type, ';
274
+ /**
275
+ * Detail message of the invalid file type.
276
+ * @group Props
277
+ */
278
+ invalidFileTypeMessageDetail = 'allowed file types: {0}.';
279
+ /**
280
+ * Detail message of the invalid file type.
281
+ * @group Props
282
+ */
283
+ invalidFileLimitMessageDetail = 'limit is {0} at most.';
284
+ /**
285
+ * Summary message of the invalid file type.
286
+ * @group Props
287
+ */
288
+ invalidFileLimitMessageSummary = 'Maximum number of files exceeded, ';
289
+ /**
290
+ * Inline style of the element.
291
+ * @group Props
292
+ */
293
+ style;
294
+ /**
295
+ * Class of the element.
296
+ * @group Props
297
+ */
298
+ styleClass;
299
+ /**
300
+ * Width of the image thumbnail in pixels.
301
+ * @group Props
302
+ */
303
+ previewWidth = 50;
304
+ /**
305
+ * Label of the choose button. Defaults to PrimeNG Locale configuration.
306
+ * @group Props
307
+ */
308
+ chooseLabel;
309
+ /**
310
+ * Label of the upload button. Defaults to PrimeNG Locale configuration.
311
+ * @group Props
312
+ */
313
+ uploadLabel;
314
+ /**
315
+ * Label of the cancel button. Defaults to PrimeNG Locale configuration.
316
+ * @group Props
317
+ */
318
+ cancelLabel;
319
+ /**
320
+ * Icon of the choose button.
321
+ * @group Props
322
+ */
323
+ chooseIcon;
324
+ /**
325
+ * Icon of the upload button.
326
+ * @group Props
327
+ */
328
+ uploadIcon;
329
+ /**
330
+ * Icon of the cancel button.
331
+ * @group Props
332
+ */
333
+ cancelIcon;
334
+ /**
335
+ * Whether to show the upload button.
336
+ * @group Props
337
+ */
338
+ showUploadButton = true;
339
+ /**
340
+ * Whether to show the cancel button.
341
+ * @group Props
342
+ */
343
+ showCancelButton = true;
344
+ /**
345
+ * Defines the UI of the component.
346
+ * @group Props
347
+ */
348
+ mode = 'advanced';
349
+ /**
350
+ * HttpHeaders class represents the header configuration options for an HTTP request.
351
+ * @group Props
352
+ */
353
+ headers;
354
+ /**
355
+ * Whether to use the default upload or a manual implementation defined in uploadHandler callback. Defaults to PrimeNG Locale configuration.
356
+ * @group Props
357
+ */
358
+ customUpload;
359
+ /**
360
+ * Maximum number of files that can be uploaded.
361
+ * @group Props
362
+ */
363
+ fileLimit;
364
+ /**
365
+ * Style class of the upload button.
366
+ * @group Props
367
+ */
368
+ uploadStyleClass;
369
+ /**
370
+ * Style class of the cancel button.
371
+ * @group Props
372
+ */
373
+ cancelStyleClass;
374
+ /**
375
+ * Style class of the remove button.
376
+ * @group Props
377
+ */
378
+ removeStyleClass;
379
+ /**
380
+ * Style class of the choose button.
381
+ * @group Props
382
+ */
383
+ chooseStyleClass;
384
+ /**
385
+ * Used to pass all properties of the ButtonProps to the choose button inside the component.
386
+ * @group Props
387
+ */
388
+ chooseButtonProps;
389
+ /**
390
+ * Used to pass all properties of the ButtonProps to the upload button inside the component.
391
+ * @group Props
392
+ */
393
+ uploadButtonProps = { severity: 'secondary' };
394
+ /**
395
+ * Used to pass all properties of the ButtonProps to the cancel button inside the component.
396
+ * @group Props
397
+ */
398
+ cancelButtonProps = { severity: 'secondary' };
399
+ /**
400
+ * Callback to invoke before file upload is initialized.
401
+ * @param {FileBeforeUploadEvent} event - Custom upload event.
402
+ * @group Emits
403
+ */
404
+ onBeforeUpload = new EventEmitter();
405
+ /**
406
+ * An event indicating that the request was sent to the server. Useful when a request may be retried multiple times, to distinguish between retries on the final event stream.
407
+ * @param {FileSendEvent} event - Custom send event.
408
+ * @group Emits
409
+ */
410
+ onSend = new EventEmitter();
411
+ /**
412
+ * Callback to invoke when file upload is complete.
413
+ * @param {FileUploadEvent} event - Custom upload event.
414
+ * @group Emits
415
+ */
416
+ onUpload = new EventEmitter();
417
+ /**
418
+ * Callback to invoke if file upload fails.
419
+ * @param {FileUploadErrorEvent} event - Custom error event.
420
+ * @group Emits
421
+ */
422
+ onError = new EventEmitter();
423
+ /**
424
+ * Callback to invoke when files in queue are removed without uploading using clear all button.
425
+ * @param {Event} event - Browser event.
426
+ * @group Emits
427
+ */
428
+ onClear = new EventEmitter();
429
+ /**
430
+ * Callback to invoke when a file is removed without uploading using clear button of a file.
431
+ * @param {FileRemoveEvent} event - Remove event.
432
+ * @group Emits
433
+ */
434
+ onRemove = new EventEmitter();
435
+ /**
436
+ * Callback to invoke when files are selected.
437
+ * @param {FileSelectEvent} event - Select event.
438
+ * @group Emits
439
+ */
440
+ onSelect = new EventEmitter();
441
+ /**
442
+ * Callback to invoke when files are being uploaded.
443
+ * @param {FileProgressEvent} event - Progress event.
444
+ * @group Emits
445
+ */
446
+ onProgress = new EventEmitter();
447
+ /**
448
+ * Callback to invoke in custom upload mode to upload the files manually.
449
+ * @param {FileUploadHandlerEvent} event - Upload handler event.
450
+ * @group Emits
451
+ */
452
+ uploadHandler = new EventEmitter();
453
+ /**
454
+ * This event is triggered if an error occurs while loading an image file.
455
+ * @param {Event} event - Browser event.
456
+ * @group Emits
457
+ */
458
+ onImageError = new EventEmitter();
459
+ /**
460
+ * This event is triggered if an error occurs while loading an image file.
461
+ * @param {RemoveUploadedFileEvent} event - Remove event.
462
+ * @group Emits
463
+ */
464
+ onRemoveUploadedFile = new EventEmitter();
465
+ /**
466
+ * Custom file template.
467
+ * @group Templates
468
+ */
469
+ fileTemplate;
470
+ /**
471
+ * Custom header template.
472
+ * @param {FileUploadHeaderTemplateContext} context - header template context.
473
+ * @group Templates
474
+ */
475
+ headerTemplate;
476
+ /**
477
+ * Custom content template.
478
+ * @param {FileUploadContentTemplateContext} context - content template context.
479
+ * @group Templates
480
+ */
481
+ contentTemplate;
482
+ /**
483
+ * Custom toolbar template.
484
+ * @group Templates
485
+ */
486
+ toolbarTemplate;
487
+ /**
488
+ * Custom choose icon template.
489
+ * @group Templates
490
+ */
491
+ chooseIconTemplate;
492
+ /**
493
+ * Custom file label template.
494
+ * @param {FileUploadFileLabelTemplateContext} context - file label template context.
495
+ * @group Templates
496
+ */
497
+ fileLabelTemplate;
498
+ /**
499
+ * Custom upload icon template.
500
+ * @group Templates
501
+ */
502
+ uploadIconTemplate;
503
+ /**
504
+ * Custom cancel icon template.
505
+ * @group Templates
506
+ */
507
+ cancelIconTemplate;
508
+ /**
509
+ * Custom empty state template.
510
+ * @group Templates
511
+ */
512
+ emptyTemplate;
513
+ advancedFileInput;
514
+ basicFileInput;
515
+ content;
516
+ set files(files) {
517
+ this._files = [];
518
+ for (let i = 0; i < files.length; i++) {
519
+ let file = files[i];
520
+ if (this.validate(file)) {
521
+ if (this.isImage(file)) {
522
+ file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));
523
+ }
524
+ this._files.push(files[i]);
525
+ }
526
+ }
527
+ }
528
+ get files() {
529
+ return this._files;
530
+ }
531
+ get basicButtonLabel() {
532
+ if (this.auto || !this.hasFiles()) {
533
+ return this.chooseLabel;
534
+ }
535
+ return this.uploadLabel ?? this.files[0].name;
536
+ }
537
+ _files = [];
538
+ progress = 0;
539
+ dragHighlight;
540
+ msgs;
541
+ uploadedFileCount = 0;
542
+ focus;
543
+ uploading;
544
+ duplicateIEEvent; // flag to recognize duplicate onchange event for file input
545
+ translationSubscription;
546
+ dragOverListener;
547
+ uploadedFiles = [];
548
+ sanitizer = inject(DomSanitizer);
549
+ zone = inject(NgZone);
550
+ http = inject(HttpClient);
551
+ _componentStyle = inject(FileUploadStyle);
552
+ onInit() {
553
+ this.translationSubscription = this.config.translationObserver.subscribe(() => {
554
+ this.cd.markForCheck();
555
+ });
556
+ }
557
+ onAfterViewInit() {
558
+ if (isPlatformBrowser(this.platformId)) {
559
+ if (this.mode === 'advanced') {
560
+ this.zone.runOutsideAngular(() => {
561
+ if (this.content) {
562
+ this.dragOverListener = this.renderer.listen(this.content.nativeElement, 'dragover', this.onDragOver.bind(this));
563
+ }
564
+ });
565
+ }
566
+ }
567
+ }
568
+ _headerTemplate;
569
+ _contentTemplate;
570
+ _toolbarTemplate;
571
+ _chooseIconTemplate;
572
+ _uploadIconTemplate;
573
+ _cancelIconTemplate;
574
+ _emptyTemplate;
575
+ _fileTemplate;
576
+ _fileLabelTemplate;
577
+ templates;
578
+ onAfterContentInit() {
579
+ this.templates?.forEach((item) => {
580
+ switch (item.getType()) {
581
+ case 'header':
582
+ this._headerTemplate = item.template;
583
+ break;
584
+ case 'file':
585
+ this._fileTemplate = item.template;
586
+ break;
587
+ case 'content':
588
+ this._contentTemplate = item.template;
589
+ break;
590
+ case 'toolbar':
591
+ this._toolbarTemplate = item.template;
592
+ break;
593
+ case 'chooseicon':
594
+ this._chooseIconTemplate = item.template;
595
+ break;
596
+ case 'uploadicon':
597
+ this._uploadIconTemplate = item.template;
598
+ break;
599
+ case 'cancelicon':
600
+ this._cancelIconTemplate = item.template;
601
+ break;
602
+ case 'empty':
603
+ this._emptyTemplate = item.template;
604
+ break;
605
+ case 'filelabel':
606
+ this._fileLabelTemplate = item.template;
607
+ break;
608
+ default:
609
+ this._fileTemplate = item.template;
610
+ break;
611
+ }
612
+ });
613
+ }
614
+ basicFileChosenLabel() {
615
+ if (this.auto)
616
+ return this.chooseButtonLabel;
617
+ else if (this.hasFiles()) {
618
+ if (this.files && this.files.length === 1)
619
+ return this.files[0].name;
620
+ return this.config.getTranslation('fileChosenMessage')?.replace('{0}', this.files.length);
621
+ }
622
+ return this.config.getTranslation('noFileChosenMessage') || '';
623
+ }
624
+ completedLabel() {
625
+ return this.config.getTranslation('completed') || '';
626
+ }
627
+ getTranslation(option) {
628
+ return this.config.getTranslation(option);
629
+ }
630
+ choose() {
631
+ this.advancedFileInput?.nativeElement.click();
632
+ }
633
+ onFileSelect(event) {
634
+ if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {
635
+ this.duplicateIEEvent = false;
636
+ return;
637
+ }
638
+ if (!this.multiple) {
639
+ this.files = [];
640
+ }
641
+ this.msgs = [];
642
+ this.files = this.files || [];
643
+ let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;
644
+ for (let i = 0; i < files.length; i++) {
645
+ let file = files[i];
646
+ if (!this.isFileSelected(file)) {
647
+ if (this.validate(file)) {
648
+ if (this.isImage(file)) {
649
+ file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));
650
+ }
651
+ this.files.push(files[i]);
652
+ }
653
+ }
654
+ }
655
+ this.onSelect.emit({ originalEvent: event, files: files, currentFiles: this.files });
656
+ // this will check the fileLimit with the uploaded files
657
+ this.checkFileLimit(files);
658
+ if (this.hasFiles() && this.auto && (this.mode !== 'advanced' || !this.isFileLimitExceeded())) {
659
+ this.upload();
660
+ }
661
+ if (event.type !== 'drop' && this.isIE11()) {
662
+ this.clearIEInput();
663
+ }
664
+ else {
665
+ this.clearInputElement();
666
+ }
667
+ }
668
+ isFileSelected(file) {
669
+ for (let sFile of this.files) {
670
+ if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) {
671
+ return true;
672
+ }
673
+ }
674
+ return false;
675
+ }
676
+ isIE11() {
677
+ if (isPlatformBrowser(this.platformId)) {
678
+ return !!this.document.defaultView['MSInputMethodContext'] && !!this.document['documentMode'];
679
+ }
680
+ }
681
+ validate(file) {
682
+ this.msgs = this.msgs || [];
683
+ if (this.accept && !this.isFileTypeValid(file)) {
684
+ const text = `${this.invalidFileTypeMessageSummary.replace('{0}', file.name)} ${this.invalidFileTypeMessageDetail.replace('{0}', this.accept)}`;
685
+ this.msgs.push({
686
+ severity: 'error',
687
+ text: text
688
+ });
689
+ return false;
690
+ }
691
+ if (this.maxFileSize && file.size > this.maxFileSize) {
692
+ const text = `${this.invalidFileSizeMessageSummary.replace('{0}', file.name)} ${this.invalidFileSizeMessageDetail.replace('{0}', this.formatSize(this.maxFileSize))}`;
693
+ this.msgs.push({
694
+ severity: 'error',
695
+ text: text
696
+ });
697
+ return false;
698
+ }
699
+ return true;
700
+ }
701
+ isFileTypeValid(file) {
702
+ let acceptableTypes = this.accept?.split(',').map((type) => type.trim());
703
+ for (let type of acceptableTypes) {
704
+ let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();
705
+ if (acceptable) {
706
+ return true;
707
+ }
708
+ }
709
+ return false;
710
+ }
711
+ getTypeClass(fileType) {
712
+ return fileType.substring(0, fileType.indexOf('/'));
713
+ }
714
+ isWildcard(fileType) {
715
+ return fileType.indexOf('*') !== -1;
716
+ }
717
+ getFileExtension(file) {
718
+ return '.' + file.name.split('.').pop();
719
+ }
720
+ isImage(file) {
721
+ return /^image\//.test(file.type);
722
+ }
723
+ onImageLoad(img) {
724
+ window.URL.revokeObjectURL(img.src);
725
+ }
726
+ /**
727
+ * Uploads the selected files.
728
+ * @group Method
729
+ */
730
+ uploader() {
731
+ if (this.customUpload) {
732
+ if (this.fileLimit) {
733
+ this.uploadedFileCount += this.files.length;
734
+ }
735
+ this.uploadHandler.emit({
736
+ files: this.files
737
+ });
738
+ this.cd.markForCheck();
739
+ }
740
+ else {
741
+ this.uploading = true;
742
+ this.msgs = [];
743
+ let formData = new FormData();
744
+ this.onBeforeUpload.emit({
745
+ formData: formData
746
+ });
747
+ for (let i = 0; i < this.files.length; i++) {
748
+ formData.append(this.name, this.files[i], this.files[i].name);
749
+ }
750
+ this.http
751
+ .request(this.method, this.url, {
752
+ body: formData,
753
+ headers: this.headers,
754
+ reportProgress: true,
755
+ observe: 'events',
756
+ withCredentials: this.withCredentials
757
+ })
758
+ .subscribe((event) => {
759
+ switch (event.type) {
760
+ case HttpEventType.Sent:
761
+ this.onSend.emit({
762
+ originalEvent: event,
763
+ formData: formData
764
+ });
765
+ break;
766
+ case HttpEventType.Response:
767
+ this.uploading = false;
768
+ this.progress = 0;
769
+ if (event['status'] >= 200 && event['status'] < 300) {
770
+ if (this.fileLimit) {
771
+ this.uploadedFileCount += this.files.length;
772
+ }
773
+ this.onUpload.emit({ originalEvent: event, files: this.files });
774
+ }
775
+ else {
776
+ this.onError.emit({ files: this.files });
777
+ }
778
+ this.uploadedFiles = [...this.uploadedFiles, ...this.files];
779
+ this.clear();
780
+ break;
781
+ case HttpEventType.UploadProgress: {
782
+ if (event['loaded']) {
783
+ this.progress = Math.round((event['loaded'] * 100) / event['total']);
784
+ }
785
+ this.onProgress.emit({ originalEvent: event, progress: this.progress });
786
+ break;
787
+ }
788
+ }
789
+ this.cd.markForCheck();
790
+ }, (error) => {
791
+ this.uploading = false;
792
+ this.onError.emit({ files: this.files, error: error });
793
+ });
794
+ }
795
+ }
796
+ onRemoveClick(e) {
797
+ const { event, index } = e;
798
+ if (this.hasFiles()) {
799
+ this.remove(event, index);
800
+ }
801
+ }
802
+ onRemoveUploadedFileClick(e) {
803
+ const { index } = e;
804
+ if (this.hasUploadedFiles()) {
805
+ this.removeUploadedFile(index);
806
+ }
807
+ }
808
+ /**
809
+ * Clears the files list.
810
+ * @group Method
811
+ */
812
+ clear() {
813
+ this.files = [];
814
+ this.onClear.emit();
815
+ this.clearInputElement();
816
+ this.msgs = [];
817
+ this.cd.markForCheck();
818
+ }
819
+ /**
820
+ * Removes a single file.
821
+ * @param {Event} event - Browser event.
822
+ * @param {Number} index - Index of the file.
823
+ * @group Method
824
+ */
825
+ remove(event, index) {
826
+ this.clearInputElement();
827
+ this.onRemove.emit({ originalEvent: event, file: this.files[index] });
828
+ this.files.splice(index, 1);
829
+ this.checkFileLimit(this.files);
830
+ }
831
+ /**
832
+ * Removes uploaded file.
833
+ * @param {Number} index - Index of the file to be removed.
834
+ * @group Method
835
+ */
836
+ removeUploadedFile(index) {
837
+ let removedFile = this.uploadedFiles.splice(index, 1)[0];
838
+ this.uploadedFiles = [...this.uploadedFiles];
839
+ this.onRemoveUploadedFile.emit({ file: removedFile, files: this.uploadedFiles });
840
+ }
841
+ isFileLimitExceeded() {
842
+ const isAutoMode = this.auto;
843
+ const totalFileCount = isAutoMode ? this.files.length : this.files.length + this.uploadedFileCount;
844
+ if (this.fileLimit && this.fileLimit <= totalFileCount && this.focus) {
845
+ this.focus = false;
846
+ }
847
+ return this.fileLimit && this.fileLimit < totalFileCount;
848
+ }
849
+ isChooseDisabled() {
850
+ if (this.auto) {
851
+ return this.fileLimit && this.fileLimit <= this.files.length;
852
+ }
853
+ else {
854
+ return this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount;
855
+ }
856
+ }
857
+ checkFileLimit(files) {
858
+ this.msgs ??= [];
859
+ const hasExistingValidationMessages = this.msgs.length > 0 && this.fileLimit && this.fileLimit < files.length;
860
+ if (this.isFileLimitExceeded() || hasExistingValidationMessages) {
861
+ const text = `${this.invalidFileLimitMessageSummary.replace('{0}', this.fileLimit.toString())} ${this.invalidFileLimitMessageDetail.replace('{0}', this.fileLimit.toString())}`;
862
+ this.msgs.push({
863
+ severity: 'error',
864
+ text: text
865
+ });
866
+ }
867
+ else {
868
+ this.msgs = this.msgs.filter((msg) => !msg.text.includes(this.invalidFileLimitMessageSummary));
869
+ }
870
+ }
871
+ clearInputElement() {
872
+ if (this.advancedFileInput && this.advancedFileInput.nativeElement) {
873
+ this.advancedFileInput.nativeElement.value = '';
874
+ }
875
+ if (this.basicFileInput && this.basicFileInput.nativeElement) {
876
+ this.basicFileInput.nativeElement.value = '';
877
+ }
878
+ }
879
+ clearIEInput() {
880
+ if (this.advancedFileInput && this.advancedFileInput.nativeElement) {
881
+ this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again
882
+ this.advancedFileInput.nativeElement.value = '';
883
+ }
884
+ }
885
+ hasFiles() {
886
+ return this.files && this.files.length > 0;
887
+ }
888
+ hasUploadedFiles() {
889
+ return this.uploadedFiles && this.uploadedFiles.length > 0;
890
+ }
891
+ onDragEnter(e) {
892
+ if (!this.disabled) {
893
+ e.stopPropagation();
894
+ e.preventDefault();
895
+ }
896
+ }
897
+ onDragOver(e) {
898
+ if (!this.disabled) {
899
+ !this.$unstyled() && addClass(this.content?.nativeElement, 'p-fileupload-highlight');
900
+ this.content?.nativeElement.setAttribute('data-p-highlight', true);
901
+ this.dragHighlight = true;
902
+ e.stopPropagation();
903
+ e.preventDefault();
904
+ }
905
+ }
906
+ onDragLeave(event) {
907
+ if (!this.disabled) {
908
+ !this.$unstyled() && removeClass(this.content?.nativeElement, 'p-fileupload-highlight');
909
+ this.content?.nativeElement.setAttribute('data-p-highlight', false);
910
+ }
911
+ }
912
+ onDrop(event) {
913
+ if (!this.disabled) {
914
+ !this.$unstyled() && removeClass(this.content?.nativeElement, 'p-fileupload-highlight');
915
+ this.content?.nativeElement.setAttribute('data-p-highlight', false);
916
+ event.stopPropagation();
917
+ event.preventDefault();
918
+ let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;
919
+ let allowDrop = this.multiple || (files && files.length === 1);
920
+ if (allowDrop) {
921
+ this.onFileSelect(event);
922
+ }
923
+ }
924
+ }
925
+ onFocus() {
926
+ this.focus = true;
927
+ }
928
+ onBlur() {
929
+ this.focus = false;
930
+ }
931
+ formatSize(bytes) {
932
+ const k = 1024;
933
+ const dm = 3;
934
+ const sizes = this.getTranslation(TranslationKeys.FILE_SIZE_TYPES);
935
+ if (bytes === 0) {
936
+ return `0 ${sizes[0]}`;
937
+ }
938
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
939
+ const formattedSize = (bytes / Math.pow(k, i)).toFixed(dm);
940
+ return `${formattedSize} ${sizes[i]}`;
941
+ }
942
+ upload() {
943
+ if (this.hasFiles())
944
+ this.uploader();
945
+ }
946
+ onBasicUploaderClick() {
947
+ this.basicFileInput?.nativeElement.click();
948
+ }
949
+ onBasicKeydown(event) {
950
+ switch (event.code) {
951
+ case 'Space':
952
+ case 'Enter':
953
+ this.onBasicUploaderClick();
954
+ event.preventDefault();
955
+ break;
956
+ }
957
+ }
958
+ imageError(event) {
959
+ this.onImageError.emit(event);
960
+ }
961
+ getBlockableElement() {
962
+ return this.el.nativeElement.children[0];
963
+ }
964
+ get chooseButtonLabel() {
965
+ return this.chooseLabel || this.config.getTranslation(TranslationKeys.CHOOSE);
966
+ }
967
+ get uploadButtonLabel() {
968
+ return this.uploadLabel || this.config.getTranslation(TranslationKeys.UPLOAD);
969
+ }
970
+ get cancelButtonLabel() {
971
+ return this.cancelLabel || this.config.getTranslation(TranslationKeys.CANCEL);
972
+ }
973
+ get browseFilesLabel() {
974
+ return this.config.getTranslation(TranslationKeys.ARIA)[TranslationKeys.BROWSE_FILES];
975
+ }
976
+ get pendingLabel() {
977
+ return this.config.getTranslation(TranslationKeys.PENDING);
978
+ }
979
+ onDestroy() {
980
+ if (this.content && this.content.nativeElement) {
981
+ if (this.dragOverListener) {
982
+ this.dragOverListener();
983
+ this.dragOverListener = null;
984
+ }
985
+ }
986
+ if (this.translationSubscription) {
987
+ this.translationSubscription.unsubscribe();
988
+ }
989
+ }
990
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileUpload, deps: null, target: i0.ɵɵFactoryTarget.Component });
991
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: FileUpload, isStandalone: true, selector: "p-fileupload, 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, undefined)], uploadStyleClass: "uploadStyleClass", cancelStyleClass: "cancelStyleClass", removeStyleClass: "removeStyleClass", chooseStyleClass: "chooseStyleClass", chooseButtonProps: "chooseButtonProps", uploadButtonProps: "uploadButtonProps", cancelButtonProps: "cancelButtonProps", 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" }, providers: [FileUploadStyle, { provide: FILEUPLOAD_INSTANCE, useExisting: FileUpload }, { provide: PARENT_INSTANCE, useExisting: FileUpload }], queries: [{ propertyName: "fileTemplate", first: true, predicate: ["file"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "contentTemplate", first: true, predicate: ["content"] }, { propertyName: "toolbarTemplate", first: true, predicate: ["toolbar"] }, { propertyName: "chooseIconTemplate", first: true, predicate: ["chooseicon"] }, { propertyName: "fileLabelTemplate", first: true, predicate: ["filelabel"] }, { propertyName: "uploadIconTemplate", first: true, predicate: ["uploadicon"] }, { propertyName: "cancelIconTemplate", first: true, predicate: ["cancelicon"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { 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 }], usesInheritance: true, hostDirectives: [{ directive: i2.Bind }], ngImport: i0, template: `
992
+ <div [class]="cn(cx('root'), styleClass)" [ngStyle]="style" *ngIf="mode === 'advanced'" [pBind]="ptm('root')">
993
+ <input [attr.aria-label]="browseFilesLabel" #advancedfileinput type="file" (change)="onFileSelect($event)" [multiple]="multiple" [accept]="accept" [disabled]="disabled || isChooseDisabled()" [attr.title]="''" [pBind]="ptm('input')" />
994
+ <div [class]="cx('header')" [pBind]="ptm('header')">
995
+ <ng-container *ngIf="!headerTemplate && !_headerTemplate">
996
+ <p-button
997
+ [styleClass]="cn(cx('pcChooseButton'), chooseStyleClass)"
998
+ [disabled]="disabled || isChooseDisabled()"
999
+ (focus)="onFocus()"
1000
+ [label]="chooseButtonLabel"
1001
+ (blur)="onBlur()"
1002
+ (onClick)="choose()"
1003
+ (keydown.enter)="choose()"
1004
+ [buttonProps]="chooseButtonProps"
1005
+ [pt]="ptm('pcChooseButton')"
1006
+ [unstyled]="unstyled()"
1007
+ >
1008
+ <input
1009
+ [attr.aria-label]="browseFilesLabel"
1010
+ #advancedfileinput
1011
+ type="file"
1012
+ (change)="onFileSelect($event)"
1013
+ [multiple]="multiple"
1014
+ [accept]="accept"
1015
+ [disabled]="disabled || isChooseDisabled()"
1016
+ [attr.title]="''"
1017
+ [pBind]="ptm('input')"
1018
+ />
1019
+ <ng-template #icon>
1020
+ <span *ngIf="chooseIcon" [class]="chooseIcon" [attr.aria-label]="true" [pBind]="ptm('pcChooseButton')?.icon"></span>
1021
+ <ng-container *ngIf="!chooseIcon">
1022
+ <svg data-p-icon="plus" *ngIf="!chooseIconTemplate && !_chooseIconTemplate" [attr.aria-label]="true" [pBind]="ptm('pcChooseButton')?.icon" />
1023
+ <span *ngIf="chooseIconTemplate || _chooseIconTemplate" [attr.aria-label]="true" [pBind]="ptm('pcChooseButton')?.icon">
1024
+ <ng-template *ngTemplateOutlet="chooseIconTemplate || _chooseIconTemplate"></ng-template>
1025
+ </span>
1026
+ </ng-container>
1027
+ </ng-template>
1028
+ </p-button>
1029
+
1030
+ <p-button
1031
+ *ngIf="!auto && showUploadButton"
1032
+ [label]="uploadButtonLabel"
1033
+ (onClick)="upload()"
1034
+ [disabled]="!hasFiles() || isFileLimitExceeded()"
1035
+ [styleClass]="cn(cx('pcUploadButton'), uploadStyleClass)"
1036
+ [buttonProps]="uploadButtonProps"
1037
+ [pt]="ptm('pcUploadButton')"
1038
+ [unstyled]="unstyled()"
1039
+ >
1040
+ <ng-template #icon>
1041
+ <span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" [pBind]="ptm('pcUploadButton')?.icon"></span>
1042
+ <ng-container *ngIf="!uploadIcon">
1043
+ <svg data-p-icon="upload" *ngIf="!uploadIconTemplate && !_uploadIconTemplate" [pBind]="ptm('pcUploadButton')?.icon" />
1044
+ <span *ngIf="uploadIconTemplate || _uploadIconTemplate" [attr.aria-hidden]="true" [pBind]="ptm('pcUploadButton')?.icon">
1045
+ <ng-template *ngTemplateOutlet="uploadIconTemplate || _uploadIconTemplate"></ng-template>
1046
+ </span>
1047
+ </ng-container>
1048
+ </ng-template>
1049
+ </p-button>
1050
+ <p-button
1051
+ *ngIf="!auto && showCancelButton"
1052
+ [label]="cancelButtonLabel"
1053
+ (onClick)="clear()"
1054
+ [disabled]="!hasFiles() || uploading"
1055
+ [styleClass]="cn(cx('pcCancelButton'), cancelStyleClass)"
1056
+ [buttonProps]="cancelButtonProps"
1057
+ [pt]="ptm('pcCancelButton')"
1058
+ [unstyled]="unstyled()"
1059
+ >
1060
+ <ng-template #icon>
1061
+ <span *ngIf="cancelIcon" [ngClass]="cancelIcon"></span>
1062
+ <ng-container *ngIf="!cancelIcon">
1063
+ <svg data-p-icon="times" *ngIf="!cancelIconTemplate && !_cancelIconTemplate" [attr.aria-hidden]="true" />
1064
+ <span *ngIf="cancelIconTemplate || _cancelIconTemplate" [attr.aria-hidden]="true">
1065
+ <ng-template *ngTemplateOutlet="cancelIconTemplate || _cancelIconTemplate"></ng-template>
1066
+ </span>
1067
+ </ng-container>
1068
+ </ng-template>
1069
+ </p-button>
1070
+ </ng-container>
1071
+ <ng-container
1072
+ *ngTemplateOutlet="
1073
+ headerTemplate || _headerTemplate;
1074
+ context: {
1075
+ $implicit: files,
1076
+ uploadedFiles: uploadedFiles,
1077
+ chooseCallback: choose.bind(this),
1078
+ clearCallback: clear.bind(this),
1079
+ uploadCallback: upload.bind(this)
1080
+ }
1081
+ "
1082
+ ></ng-container>
1083
+ <ng-container *ngTemplateOutlet="toolbarTemplate || _toolbarTemplate"></ng-container>
1084
+ </div>
1085
+ <div #content [class]="cx('content')" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [pBind]="ptm('content')">
1086
+ @if (contentTemplate || _contentTemplate) {
1087
+ <ng-container
1088
+ *ngTemplateOutlet="
1089
+ contentTemplate || _contentTemplate;
1090
+ context: {
1091
+ $implicit: files,
1092
+ uploadedFiles: uploadedFiles,
1093
+ chooseCallback: choose.bind(this),
1094
+ clearCallback: clear.bind(this),
1095
+ removeUploadedFileCallback: removeUploadedFile.bind(this),
1096
+ removeFileCallback: remove.bind(this),
1097
+ progress: progress,
1098
+ messages: msgs
1099
+ }
1100
+ "
1101
+ ></ng-container>
1102
+ } @else {
1103
+ <p-progressbar [value]="progress" [showValue]="false" *ngIf="hasFiles()" [pt]="ptm('pcProgressBar')"></p-progressbar>
1104
+ @for (message of msgs; track message) {
1105
+ <p-message [severity]="message.severity" [text]="message.text" [pt]="ptm('pcMessage')" [unstyled]="unstyled()"></p-message>
1106
+ }
1107
+
1108
+ @if (hasFiles()) {
1109
+ <div [class]="cx('fileList')" [pBind]="ptm('fileList')">
1110
+ <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate || _fileTemplate"></ng-template>
1111
+ @if (!fileTemplate && !_fileTemplate) {
1112
+ <div
1113
+ pFileContent
1114
+ [unstyled]="unstyled()"
1115
+ [files]="files"
1116
+ (onRemove)="onRemoveClick($event)"
1117
+ [badgeValue]="pendingLabel"
1118
+ [previewWidth]="previewWidth"
1119
+ [fileRemoveIconTemplate]="cancelIconTemplate || _cancelIconTemplate"
1120
+ ></div>
1121
+ }
1122
+ </div>
1123
+ }
1124
+ @if (hasUploadedFiles()) {
1125
+ <div [class]="cx('fileList')" [pBind]="ptm('fileList')">
1126
+ <ng-template ngFor [ngForOf]="uploadedFiles" [ngForTemplate]="fileTemplate || _fileTemplate"></ng-template>
1127
+ @if (!fileTemplate && !_fileTemplate) {
1128
+ <div
1129
+ pFileContent
1130
+ [unstyled]="unstyled()"
1131
+ [files]="uploadedFiles"
1132
+ (onRemove)="onRemoveUploadedFileClick($event)"
1133
+ [badgeValue]="completedLabel()"
1134
+ badgeSeverity="success"
1135
+ [previewWidth]="previewWidth"
1136
+ [fileRemoveIconTemplate]="cancelIconTemplate || _cancelIconTemplate"
1137
+ ></div>
1138
+ }
1139
+ </div>
1140
+ }
1141
+ }
1142
+ @if ((emptyTemplate || _emptyTemplate) && !hasFiles() && !hasUploadedFiles()) {
1143
+ <ng-container *ngTemplateOutlet="emptyTemplate || _emptyTemplate" [pBind]="ptm('empty')"></ng-container>
1144
+ }
1145
+ </div>
1146
+ </div>
1147
+ <div [class]="cn(cx('root'), styleClass)" *ngIf="mode === 'basic'" [pBind]="ptm('root')">
1148
+ @for (message of msgs; track message) {
1149
+ <p-message [severity]="message.severity" [text]="message.text" [pt]="ptm('pcMessage')" [unstyled]="unstyled()"></p-message>
1150
+ }
1151
+
1152
+ <div [class]="cx('basicContent')" [pBind]="ptm('basicContent')">
1153
+ <p-button
1154
+ [styleClass]="cn(cx('pcChooseButton'), chooseStyleClass)"
1155
+ [disabled]="disabled"
1156
+ [label]="chooseButtonLabel"
1157
+ [style]="style"
1158
+ (onClick)="onBasicUploaderClick()"
1159
+ (keydown)="onBasicKeydown($event)"
1160
+ [buttonProps]="chooseButtonProps"
1161
+ [pt]="ptm('pcChooseButton')"
1162
+ [unstyled]="unstyled()"
1163
+ >
1164
+ <ng-template #icon>
1165
+ @if (hasFiles() && !auto) {
1166
+ <span *ngIf="uploadIcon" class="p-button-icon p-button-icon-left" [ngClass]="uploadIcon" [pBind]="ptm('pcChooseButton')?.icon"></span>
1167
+ <ng-container *ngIf="!uploadIcon">
1168
+ <svg data-p-icon="upload" *ngIf="!uploadIconTemplate && !_uploadIconTemplate" [class]="'p-button-icon p-button-icon-left'" [pBind]="ptm('pcChooseButton')?.icon" />
1169
+ <span *ngIf="_uploadIconTemplate || uploadIconTemplate" class="p-button-icon p-button-icon-left" [pBind]="ptm('pcChooseButton')?.icon">
1170
+ <ng-template *ngTemplateOutlet="_uploadIconTemplate || uploadIconTemplate"></ng-template>
1171
+ </span>
1172
+ </ng-container>
1173
+ } @else {
1174
+ <span *ngIf="chooseIcon" class="p-button-icon p-button-icon-left pi" [ngClass]="chooseIcon" [pBind]="ptm('pcChooseButton')?.icon"></span>
1175
+ <ng-container *ngIf="!chooseIcon">
1176
+ <svg data-p-icon="plus" *ngIf="!chooseIconTemplate && !_chooseIconTemplate" [pBind]="ptm('pcChooseButton')?.icon" />
1177
+ <ng-template *ngTemplateOutlet="chooseIconTemplate || _chooseIconTemplate"></ng-template>
1178
+ </ng-container>
1179
+ }
1180
+ </ng-template>
1181
+ <input [attr.aria-label]="browseFilesLabel" #basicfileinput type="file" [accept]="accept" [multiple]="multiple" [disabled]="disabled" (change)="onFileSelect($event)" (focus)="onFocus()" (blur)="onBlur()" [pBind]="ptm('input')" />
1182
+ </p-button>
1183
+ @if (!auto) {
1184
+ @if (!fileLabelTemplate && !_fileLabelTemplate) {
1185
+ <span>
1186
+ {{ basicFileChosenLabel() }}
1187
+ </span>
1188
+ } @else {
1189
+ <ng-container *ngTemplateOutlet="fileLabelTemplate || _fileLabelTemplate; context: { $implicit: files }"></ng-container>
1190
+ }
1191
+ }
1192
+ </div>
1193
+ </div>
1194
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ProgressBar, selector: "p-progressBar, p-progressbar, p-progress-bar", inputs: ["value", "showValue", "styleClass", "valueStyleClass", "unit", "mode", "color"] }, { kind: "component", type: Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant", "motionOptions"], outputs: ["onClose"] }, { kind: "component", type: PlusIcon, selector: "[data-p-icon=\"plus\"]" }, { kind: "component", type: UploadIcon, selector: "[data-p-icon=\"upload\"]" }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: FileContent, selector: "[pFileContent]", inputs: ["files", "badgeSeverity", "badgeValue", "previewWidth", "fileRemoveIconTemplate"], outputs: ["onRemove"] }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1195
+ }
1196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileUpload, decorators: [{
1197
+ type: Component,
1198
+ args: [{
1199
+ selector: 'p-fileupload, p-fileUpload',
1200
+ standalone: true,
1201
+ imports: [CommonModule, Button, ProgressBar, Message, PlusIcon, UploadIcon, TimesIcon, SharedModule, FileContent, Bind],
1202
+ template: `
1203
+ <div [class]="cn(cx('root'), styleClass)" [ngStyle]="style" *ngIf="mode === 'advanced'" [pBind]="ptm('root')">
1204
+ <input [attr.aria-label]="browseFilesLabel" #advancedfileinput type="file" (change)="onFileSelect($event)" [multiple]="multiple" [accept]="accept" [disabled]="disabled || isChooseDisabled()" [attr.title]="''" [pBind]="ptm('input')" />
1205
+ <div [class]="cx('header')" [pBind]="ptm('header')">
1206
+ <ng-container *ngIf="!headerTemplate && !_headerTemplate">
1207
+ <p-button
1208
+ [styleClass]="cn(cx('pcChooseButton'), chooseStyleClass)"
1209
+ [disabled]="disabled || isChooseDisabled()"
1210
+ (focus)="onFocus()"
1211
+ [label]="chooseButtonLabel"
1212
+ (blur)="onBlur()"
1213
+ (onClick)="choose()"
1214
+ (keydown.enter)="choose()"
1215
+ [buttonProps]="chooseButtonProps"
1216
+ [pt]="ptm('pcChooseButton')"
1217
+ [unstyled]="unstyled()"
1218
+ >
1219
+ <input
1220
+ [attr.aria-label]="browseFilesLabel"
1221
+ #advancedfileinput
1222
+ type="file"
1223
+ (change)="onFileSelect($event)"
1224
+ [multiple]="multiple"
1225
+ [accept]="accept"
1226
+ [disabled]="disabled || isChooseDisabled()"
1227
+ [attr.title]="''"
1228
+ [pBind]="ptm('input')"
1229
+ />
1230
+ <ng-template #icon>
1231
+ <span *ngIf="chooseIcon" [class]="chooseIcon" [attr.aria-label]="true" [pBind]="ptm('pcChooseButton')?.icon"></span>
1232
+ <ng-container *ngIf="!chooseIcon">
1233
+ <svg data-p-icon="plus" *ngIf="!chooseIconTemplate && !_chooseIconTemplate" [attr.aria-label]="true" [pBind]="ptm('pcChooseButton')?.icon" />
1234
+ <span *ngIf="chooseIconTemplate || _chooseIconTemplate" [attr.aria-label]="true" [pBind]="ptm('pcChooseButton')?.icon">
1235
+ <ng-template *ngTemplateOutlet="chooseIconTemplate || _chooseIconTemplate"></ng-template>
1236
+ </span>
1237
+ </ng-container>
1238
+ </ng-template>
1239
+ </p-button>
1240
+
1241
+ <p-button
1242
+ *ngIf="!auto && showUploadButton"
1243
+ [label]="uploadButtonLabel"
1244
+ (onClick)="upload()"
1245
+ [disabled]="!hasFiles() || isFileLimitExceeded()"
1246
+ [styleClass]="cn(cx('pcUploadButton'), uploadStyleClass)"
1247
+ [buttonProps]="uploadButtonProps"
1248
+ [pt]="ptm('pcUploadButton')"
1249
+ [unstyled]="unstyled()"
1250
+ >
1251
+ <ng-template #icon>
1252
+ <span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" [pBind]="ptm('pcUploadButton')?.icon"></span>
1253
+ <ng-container *ngIf="!uploadIcon">
1254
+ <svg data-p-icon="upload" *ngIf="!uploadIconTemplate && !_uploadIconTemplate" [pBind]="ptm('pcUploadButton')?.icon" />
1255
+ <span *ngIf="uploadIconTemplate || _uploadIconTemplate" [attr.aria-hidden]="true" [pBind]="ptm('pcUploadButton')?.icon">
1256
+ <ng-template *ngTemplateOutlet="uploadIconTemplate || _uploadIconTemplate"></ng-template>
1257
+ </span>
1258
+ </ng-container>
1259
+ </ng-template>
1260
+ </p-button>
1261
+ <p-button
1262
+ *ngIf="!auto && showCancelButton"
1263
+ [label]="cancelButtonLabel"
1264
+ (onClick)="clear()"
1265
+ [disabled]="!hasFiles() || uploading"
1266
+ [styleClass]="cn(cx('pcCancelButton'), cancelStyleClass)"
1267
+ [buttonProps]="cancelButtonProps"
1268
+ [pt]="ptm('pcCancelButton')"
1269
+ [unstyled]="unstyled()"
1270
+ >
1271
+ <ng-template #icon>
1272
+ <span *ngIf="cancelIcon" [ngClass]="cancelIcon"></span>
1273
+ <ng-container *ngIf="!cancelIcon">
1274
+ <svg data-p-icon="times" *ngIf="!cancelIconTemplate && !_cancelIconTemplate" [attr.aria-hidden]="true" />
1275
+ <span *ngIf="cancelIconTemplate || _cancelIconTemplate" [attr.aria-hidden]="true">
1276
+ <ng-template *ngTemplateOutlet="cancelIconTemplate || _cancelIconTemplate"></ng-template>
1277
+ </span>
1278
+ </ng-container>
1279
+ </ng-template>
1280
+ </p-button>
1281
+ </ng-container>
1282
+ <ng-container
1283
+ *ngTemplateOutlet="
1284
+ headerTemplate || _headerTemplate;
1285
+ context: {
1286
+ $implicit: files,
1287
+ uploadedFiles: uploadedFiles,
1288
+ chooseCallback: choose.bind(this),
1289
+ clearCallback: clear.bind(this),
1290
+ uploadCallback: upload.bind(this)
1291
+ }
1292
+ "
1293
+ ></ng-container>
1294
+ <ng-container *ngTemplateOutlet="toolbarTemplate || _toolbarTemplate"></ng-container>
1295
+ </div>
1296
+ <div #content [class]="cx('content')" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [pBind]="ptm('content')">
1297
+ @if (contentTemplate || _contentTemplate) {
1298
+ <ng-container
1299
+ *ngTemplateOutlet="
1300
+ contentTemplate || _contentTemplate;
1301
+ context: {
1302
+ $implicit: files,
1303
+ uploadedFiles: uploadedFiles,
1304
+ chooseCallback: choose.bind(this),
1305
+ clearCallback: clear.bind(this),
1306
+ removeUploadedFileCallback: removeUploadedFile.bind(this),
1307
+ removeFileCallback: remove.bind(this),
1308
+ progress: progress,
1309
+ messages: msgs
1310
+ }
1311
+ "
1312
+ ></ng-container>
1313
+ } @else {
1314
+ <p-progressbar [value]="progress" [showValue]="false" *ngIf="hasFiles()" [pt]="ptm('pcProgressBar')"></p-progressbar>
1315
+ @for (message of msgs; track message) {
1316
+ <p-message [severity]="message.severity" [text]="message.text" [pt]="ptm('pcMessage')" [unstyled]="unstyled()"></p-message>
1317
+ }
1318
+
1319
+ @if (hasFiles()) {
1320
+ <div [class]="cx('fileList')" [pBind]="ptm('fileList')">
1321
+ <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate || _fileTemplate"></ng-template>
1322
+ @if (!fileTemplate && !_fileTemplate) {
1323
+ <div
1324
+ pFileContent
1325
+ [unstyled]="unstyled()"
1326
+ [files]="files"
1327
+ (onRemove)="onRemoveClick($event)"
1328
+ [badgeValue]="pendingLabel"
1329
+ [previewWidth]="previewWidth"
1330
+ [fileRemoveIconTemplate]="cancelIconTemplate || _cancelIconTemplate"
1331
+ ></div>
1332
+ }
1333
+ </div>
1334
+ }
1335
+ @if (hasUploadedFiles()) {
1336
+ <div [class]="cx('fileList')" [pBind]="ptm('fileList')">
1337
+ <ng-template ngFor [ngForOf]="uploadedFiles" [ngForTemplate]="fileTemplate || _fileTemplate"></ng-template>
1338
+ @if (!fileTemplate && !_fileTemplate) {
1339
+ <div
1340
+ pFileContent
1341
+ [unstyled]="unstyled()"
1342
+ [files]="uploadedFiles"
1343
+ (onRemove)="onRemoveUploadedFileClick($event)"
1344
+ [badgeValue]="completedLabel()"
1345
+ badgeSeverity="success"
1346
+ [previewWidth]="previewWidth"
1347
+ [fileRemoveIconTemplate]="cancelIconTemplate || _cancelIconTemplate"
1348
+ ></div>
1349
+ }
1350
+ </div>
1351
+ }
1352
+ }
1353
+ @if ((emptyTemplate || _emptyTemplate) && !hasFiles() && !hasUploadedFiles()) {
1354
+ <ng-container *ngTemplateOutlet="emptyTemplate || _emptyTemplate" [pBind]="ptm('empty')"></ng-container>
1355
+ }
1356
+ </div>
1357
+ </div>
1358
+ <div [class]="cn(cx('root'), styleClass)" *ngIf="mode === 'basic'" [pBind]="ptm('root')">
1359
+ @for (message of msgs; track message) {
1360
+ <p-message [severity]="message.severity" [text]="message.text" [pt]="ptm('pcMessage')" [unstyled]="unstyled()"></p-message>
1361
+ }
1362
+
1363
+ <div [class]="cx('basicContent')" [pBind]="ptm('basicContent')">
1364
+ <p-button
1365
+ [styleClass]="cn(cx('pcChooseButton'), chooseStyleClass)"
1366
+ [disabled]="disabled"
1367
+ [label]="chooseButtonLabel"
1368
+ [style]="style"
1369
+ (onClick)="onBasicUploaderClick()"
1370
+ (keydown)="onBasicKeydown($event)"
1371
+ [buttonProps]="chooseButtonProps"
1372
+ [pt]="ptm('pcChooseButton')"
1373
+ [unstyled]="unstyled()"
1374
+ >
1375
+ <ng-template #icon>
1376
+ @if (hasFiles() && !auto) {
1377
+ <span *ngIf="uploadIcon" class="p-button-icon p-button-icon-left" [ngClass]="uploadIcon" [pBind]="ptm('pcChooseButton')?.icon"></span>
1378
+ <ng-container *ngIf="!uploadIcon">
1379
+ <svg data-p-icon="upload" *ngIf="!uploadIconTemplate && !_uploadIconTemplate" [class]="'p-button-icon p-button-icon-left'" [pBind]="ptm('pcChooseButton')?.icon" />
1380
+ <span *ngIf="_uploadIconTemplate || uploadIconTemplate" class="p-button-icon p-button-icon-left" [pBind]="ptm('pcChooseButton')?.icon">
1381
+ <ng-template *ngTemplateOutlet="_uploadIconTemplate || uploadIconTemplate"></ng-template>
1382
+ </span>
1383
+ </ng-container>
1384
+ } @else {
1385
+ <span *ngIf="chooseIcon" class="p-button-icon p-button-icon-left pi" [ngClass]="chooseIcon" [pBind]="ptm('pcChooseButton')?.icon"></span>
1386
+ <ng-container *ngIf="!chooseIcon">
1387
+ <svg data-p-icon="plus" *ngIf="!chooseIconTemplate && !_chooseIconTemplate" [pBind]="ptm('pcChooseButton')?.icon" />
1388
+ <ng-template *ngTemplateOutlet="chooseIconTemplate || _chooseIconTemplate"></ng-template>
1389
+ </ng-container>
1390
+ }
1391
+ </ng-template>
1392
+ <input [attr.aria-label]="browseFilesLabel" #basicfileinput type="file" [accept]="accept" [multiple]="multiple" [disabled]="disabled" (change)="onFileSelect($event)" (focus)="onFocus()" (blur)="onBlur()" [pBind]="ptm('input')" />
1393
+ </p-button>
1394
+ @if (!auto) {
1395
+ @if (!fileLabelTemplate && !_fileLabelTemplate) {
1396
+ <span>
1397
+ {{ basicFileChosenLabel() }}
1398
+ </span>
1399
+ } @else {
1400
+ <ng-container *ngTemplateOutlet="fileLabelTemplate || _fileLabelTemplate; context: { $implicit: files }"></ng-container>
1401
+ }
1402
+ }
1403
+ </div>
1404
+ </div>
1405
+ `,
1406
+ changeDetection: ChangeDetectionStrategy.OnPush,
1407
+ encapsulation: ViewEncapsulation.None,
1408
+ providers: [FileUploadStyle, { provide: FILEUPLOAD_INSTANCE, useExisting: FileUpload }, { provide: PARENT_INSTANCE, useExisting: FileUpload }],
1409
+ hostDirectives: [Bind]
1410
+ }]
1411
+ }], propDecorators: { name: [{
1412
+ type: Input
1413
+ }], url: [{
1414
+ type: Input
1415
+ }], method: [{
1416
+ type: Input
1417
+ }], multiple: [{
1418
+ type: Input,
1419
+ args: [{ transform: booleanAttribute }]
1420
+ }], accept: [{
1421
+ type: Input
1422
+ }], disabled: [{
1423
+ type: Input,
1424
+ args: [{ transform: booleanAttribute }]
1425
+ }], auto: [{
1426
+ type: Input,
1427
+ args: [{ transform: booleanAttribute }]
1428
+ }], withCredentials: [{
1429
+ type: Input,
1430
+ args: [{ transform: booleanAttribute }]
1431
+ }], maxFileSize: [{
1432
+ type: Input,
1433
+ args: [{ transform: numberAttribute }]
1434
+ }], invalidFileSizeMessageSummary: [{
1435
+ type: Input
1436
+ }], invalidFileSizeMessageDetail: [{
1437
+ type: Input
1438
+ }], invalidFileTypeMessageSummary: [{
1439
+ type: Input
1440
+ }], invalidFileTypeMessageDetail: [{
1441
+ type: Input
1442
+ }], invalidFileLimitMessageDetail: [{
1443
+ type: Input
1444
+ }], invalidFileLimitMessageSummary: [{
1445
+ type: Input
1446
+ }], style: [{
1447
+ type: Input
1448
+ }], styleClass: [{
1449
+ type: Input
1450
+ }], previewWidth: [{
1451
+ type: Input,
1452
+ args: [{ transform: numberAttribute }]
1453
+ }], chooseLabel: [{
1454
+ type: Input
1455
+ }], uploadLabel: [{
1456
+ type: Input
1457
+ }], cancelLabel: [{
1458
+ type: Input
1459
+ }], chooseIcon: [{
1460
+ type: Input
1461
+ }], uploadIcon: [{
1462
+ type: Input
1463
+ }], cancelIcon: [{
1464
+ type: Input
1465
+ }], showUploadButton: [{
1466
+ type: Input,
1467
+ args: [{ transform: booleanAttribute }]
1468
+ }], showCancelButton: [{
1469
+ type: Input,
1470
+ args: [{ transform: booleanAttribute }]
1471
+ }], mode: [{
1472
+ type: Input
1473
+ }], headers: [{
1474
+ type: Input
1475
+ }], customUpload: [{
1476
+ type: Input,
1477
+ args: [{ transform: booleanAttribute }]
1478
+ }], fileLimit: [{
1479
+ type: Input,
1480
+ args: [{ transform: (value) => numberAttribute(value, undefined) }]
1481
+ }], uploadStyleClass: [{
1482
+ type: Input
1483
+ }], cancelStyleClass: [{
1484
+ type: Input
1485
+ }], removeStyleClass: [{
1486
+ type: Input
1487
+ }], chooseStyleClass: [{
1488
+ type: Input
1489
+ }], chooseButtonProps: [{
1490
+ type: Input
1491
+ }], uploadButtonProps: [{
1492
+ type: Input
1493
+ }], cancelButtonProps: [{
1494
+ type: Input
1495
+ }], onBeforeUpload: [{
1496
+ type: Output
1497
+ }], onSend: [{
1498
+ type: Output
1499
+ }], onUpload: [{
1500
+ type: Output
1501
+ }], onError: [{
1502
+ type: Output
1503
+ }], onClear: [{
1504
+ type: Output
1505
+ }], onRemove: [{
1506
+ type: Output
1507
+ }], onSelect: [{
1508
+ type: Output
1509
+ }], onProgress: [{
1510
+ type: Output
1511
+ }], uploadHandler: [{
1512
+ type: Output
1513
+ }], onImageError: [{
1514
+ type: Output
1515
+ }], onRemoveUploadedFile: [{
1516
+ type: Output
1517
+ }], fileTemplate: [{
1518
+ type: ContentChild,
1519
+ args: ['file', { descendants: false }]
1520
+ }], headerTemplate: [{
1521
+ type: ContentChild,
1522
+ args: ['header', { descendants: false }]
1523
+ }], contentTemplate: [{
1524
+ type: ContentChild,
1525
+ args: ['content', { descendants: false }]
1526
+ }], toolbarTemplate: [{
1527
+ type: ContentChild,
1528
+ args: ['toolbar', { descendants: false }]
1529
+ }], chooseIconTemplate: [{
1530
+ type: ContentChild,
1531
+ args: ['chooseicon', { descendants: false }]
1532
+ }], fileLabelTemplate: [{
1533
+ type: ContentChild,
1534
+ args: ['filelabel', { descendants: false }]
1535
+ }], uploadIconTemplate: [{
1536
+ type: ContentChild,
1537
+ args: ['uploadicon', { descendants: false }]
1538
+ }], cancelIconTemplate: [{
1539
+ type: ContentChild,
1540
+ args: ['cancelicon', { descendants: false }]
1541
+ }], emptyTemplate: [{
1542
+ type: ContentChild,
1543
+ args: ['empty', { descendants: false }]
1544
+ }], advancedFileInput: [{
1545
+ type: ViewChild,
1546
+ args: ['advancedfileinput']
1547
+ }], basicFileInput: [{
1548
+ type: ViewChild,
1549
+ args: ['basicfileinput']
1550
+ }], content: [{
1551
+ type: ViewChild,
1552
+ args: ['content']
1553
+ }], files: [{
1554
+ type: Input
1555
+ }], templates: [{
1556
+ type: ContentChildren,
1557
+ args: [PrimeTemplate]
1558
+ }] } });
1559
+ class FileUploadModule {
1560
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1561
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: FileUploadModule, imports: [FileUpload, SharedModule], exports: [FileUpload, SharedModule] });
1562
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileUploadModule, imports: [FileUpload, SharedModule, SharedModule] });
1563
+ }
1564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: FileUploadModule, decorators: [{
1565
+ type: NgModule,
1566
+ args: [{
1567
+ imports: [FileUpload, SharedModule],
1568
+ exports: [FileUpload, SharedModule]
1569
+ }]
1570
+ }] });
1571
+
1572
+ /**
1573
+ * Generated bundle index. Do not edit.
1574
+ */
1575
+
1576
+ export { FileContent, FileUpload, FileUploadClasses, FileUploadModule, FileUploadStyle };
1577
+ //# sourceMappingURL=primeng-fileupload.mjs.map