primeng 17.16.0 → 17.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/api/primeicons.d.ts +53 -0
  2. package/badge/badge.d.ts +2 -5
  3. package/button/button.d.ts +1 -1
  4. package/calendar/calendar.d.ts +5 -2
  5. package/dataview/dataview.d.ts +0 -1
  6. package/dropdown/dropdown.d.ts +1 -1
  7. package/esm2022/accordion/accordion.mjs +10 -10
  8. package/esm2022/animate/animate.mjs +7 -7
  9. package/esm2022/animateonscroll/animateonscroll.mjs +7 -7
  10. package/esm2022/api/confirmationservice.mjs +3 -3
  11. package/esm2022/api/contextmenuservice.mjs +3 -3
  12. package/esm2022/api/filterservice.mjs +3 -3
  13. package/esm2022/api/messageservice.mjs +3 -3
  14. package/esm2022/api/overlayservice.mjs +3 -3
  15. package/esm2022/api/primeicons.mjs +54 -1
  16. package/esm2022/api/primengconfig.mjs +3 -3
  17. package/esm2022/api/shared.mjs +13 -13
  18. package/esm2022/api/treedragdropservice.mjs +3 -3
  19. package/esm2022/autocomplete/autocomplete.mjs +7 -7
  20. package/esm2022/autofocus/autofocus.mjs +7 -7
  21. package/esm2022/avatar/avatar.mjs +7 -7
  22. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  23. package/esm2022/badge/badge.mjs +25 -18
  24. package/esm2022/baseicon/baseicon.mjs +3 -3
  25. package/esm2022/blockui/blockui.mjs +7 -7
  26. package/esm2022/breadcrumb/breadcrumb.mjs +7 -7
  27. package/esm2022/button/button.mjs +11 -11
  28. package/esm2022/buttongroup/buttongroup.mjs +7 -7
  29. package/esm2022/calendar/calendar.mjs +94 -22
  30. package/esm2022/card/card.mjs +7 -7
  31. package/esm2022/carousel/carousel.mjs +7 -7
  32. package/esm2022/cascadeselect/cascadeselect.mjs +10 -10
  33. package/esm2022/chart/chart.mjs +7 -7
  34. package/esm2022/checkbox/checkbox.mjs +7 -7
  35. package/esm2022/chip/chip.mjs +7 -7
  36. package/esm2022/chips/chips.mjs +7 -7
  37. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  38. package/esm2022/confirmdialog/confirmdialog.mjs +7 -7
  39. package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
  40. package/esm2022/contextmenu/contextmenu.mjs +10 -10
  41. package/esm2022/dataview/dataview.mjs +12 -13
  42. package/esm2022/defer/defer.mjs +7 -7
  43. package/esm2022/dialog/dialog.mjs +7 -7
  44. package/esm2022/divider/divider.mjs +7 -7
  45. package/esm2022/dock/dock.mjs +7 -7
  46. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  47. package/esm2022/dropdown/dropdown.mjs +28 -20
  48. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  49. package/esm2022/dynamicdialog/dynamicdialog.mjs +11 -8
  50. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  51. package/esm2022/editor/editor.mjs +7 -7
  52. package/esm2022/fieldset/fieldset.mjs +7 -7
  53. package/esm2022/fileupload/fileupload.interface.mjs +1 -1
  54. package/esm2022/fileupload/fileupload.mjs +62 -12
  55. package/esm2022/floatlabel/floatlabel.mjs +7 -7
  56. package/esm2022/focustrap/focustrap.mjs +7 -7
  57. package/esm2022/galleria/galleria.mjs +19 -19
  58. package/esm2022/iconfield/iconfield.mjs +7 -7
  59. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  60. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  61. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  62. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  63. package/esm2022/icons/angledown/angledown.mjs +3 -3
  64. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  65. package/esm2022/icons/angleright/angleright.mjs +3 -3
  66. package/esm2022/icons/angleup/angleup.mjs +3 -3
  67. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  68. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  69. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  70. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  71. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  72. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  73. package/esm2022/icons/ban/ban.mjs +3 -3
  74. package/esm2022/icons/bars/bars.mjs +3 -3
  75. package/esm2022/icons/blank/blank.mjs +3 -3
  76. package/esm2022/icons/calendar/calendar.mjs +3 -3
  77. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  78. package/esm2022/icons/caretright/caretright.mjs +3 -3
  79. package/esm2022/icons/check/check.mjs +3 -3
  80. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  81. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  82. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  83. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  84. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  85. package/esm2022/icons/eye/eye.mjs +3 -3
  86. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  87. package/esm2022/icons/filter/filter.mjs +3 -3
  88. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  89. package/esm2022/icons/home/home.mjs +3 -3
  90. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  91. package/esm2022/icons/minus/minus.mjs +3 -3
  92. package/esm2022/icons/pencil/pencil.mjs +3 -3
  93. package/esm2022/icons/plus/plus.mjs +3 -3
  94. package/esm2022/icons/refresh/refresh.mjs +3 -3
  95. package/esm2022/icons/search/search.mjs +3 -3
  96. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  97. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  98. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  99. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  100. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  101. package/esm2022/icons/spinner/spinner.mjs +3 -3
  102. package/esm2022/icons/star/star.mjs +3 -3
  103. package/esm2022/icons/starfill/starfill.mjs +3 -3
  104. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  105. package/esm2022/icons/times/times.mjs +3 -3
  106. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  107. package/esm2022/icons/trash/trash.mjs +3 -3
  108. package/esm2022/icons/undo/undo.mjs +3 -3
  109. package/esm2022/icons/upload/upload.mjs +3 -3
  110. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  111. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  112. package/esm2022/image/image.mjs +7 -7
  113. package/esm2022/inplace/inplace.mjs +13 -13
  114. package/esm2022/inputgroup/inputgroup.mjs +7 -7
  115. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +7 -7
  116. package/esm2022/inputicon/inputicon.mjs +7 -7
  117. package/esm2022/inputmask/inputmask.mjs +7 -7
  118. package/esm2022/inputnumber/inputnumber.mjs +23 -14
  119. package/esm2022/inputotp/inputotp.mjs +11 -8
  120. package/esm2022/inputswitch/inputswitch.mjs +8 -9
  121. package/esm2022/inputtext/inputtext.mjs +7 -7
  122. package/esm2022/inputtextarea/inputtextarea.mjs +7 -7
  123. package/esm2022/keyfilter/keyfilter.mjs +7 -7
  124. package/esm2022/knob/knob.mjs +7 -7
  125. package/esm2022/listbox/listbox.mjs +7 -7
  126. package/esm2022/megamenu/megamenu.mjs +10 -10
  127. package/esm2022/menu/menu.mjs +13 -13
  128. package/esm2022/menubar/menubar.mjs +13 -13
  129. package/esm2022/message/message.mjs +18 -36
  130. package/esm2022/messages/messages.mjs +7 -7
  131. package/esm2022/metergroup/metergroup.mjs +10 -10
  132. package/esm2022/multiselect/multiselect.mjs +10 -10
  133. package/esm2022/orderlist/orderlist.mjs +7 -7
  134. package/esm2022/organizationchart/organizationchart.mjs +10 -10
  135. package/esm2022/overlay/overlay.mjs +7 -7
  136. package/esm2022/overlaypanel/overlaypanel.mjs +7 -7
  137. package/esm2022/paginator/paginator.mjs +7 -7
  138. package/esm2022/panel/panel.mjs +7 -7
  139. package/esm2022/panelmenu/panelmenu.mjs +13 -13
  140. package/esm2022/password/password.mjs +13 -13
  141. package/esm2022/picklist/picklist.mjs +11 -10
  142. package/esm2022/progressbar/progressbar.mjs +7 -7
  143. package/esm2022/progressspinner/progressspinner.mjs +7 -7
  144. package/esm2022/radiobutton/radiobutton.mjs +10 -10
  145. package/esm2022/rating/rating.mjs +7 -7
  146. package/esm2022/ripple/ripple.mjs +7 -7
  147. package/esm2022/scroller/scroller.mjs +7 -7
  148. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  149. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  150. package/esm2022/selectbutton/selectbutton.mjs +7 -7
  151. package/esm2022/sidebar/sidebar.mjs +7 -7
  152. package/esm2022/skeleton/skeleton.mjs +12 -12
  153. package/esm2022/slidemenu/slidemenu.mjs +10 -10
  154. package/esm2022/slider/slider.mjs +7 -7
  155. package/esm2022/speeddial/speeddial.mjs +7 -7
  156. package/esm2022/spinner/spinner.mjs +7 -7
  157. package/esm2022/splitbutton/splitbutton.mjs +7 -7
  158. package/esm2022/splitter/splitter.mjs +7 -7
  159. package/esm2022/stepper/stepper.mjs +19 -19
  160. package/esm2022/steps/steps.mjs +7 -7
  161. package/esm2022/styleclass/styleclass.mjs +7 -7
  162. package/esm2022/table/table.mjs +106 -85
  163. package/esm2022/tabmenu/tabmenu.mjs +7 -7
  164. package/esm2022/tabview/tabview.mjs +10 -10
  165. package/esm2022/tag/tag.mjs +9 -12
  166. package/esm2022/terminal/terminal.mjs +7 -7
  167. package/esm2022/terminal/terminalservice.mjs +3 -3
  168. package/esm2022/tieredmenu/tieredmenu.mjs +26 -29
  169. package/esm2022/timeline/timeline.mjs +7 -7
  170. package/esm2022/toast/toast.mjs +10 -10
  171. package/esm2022/togglebutton/togglebutton.mjs +7 -7
  172. package/esm2022/toolbar/toolbar.mjs +7 -7
  173. package/esm2022/tooltip/tooltip.mjs +25 -15
  174. package/esm2022/tree/tree.mjs +10 -10
  175. package/esm2022/treeselect/treeselect.mjs +7 -7
  176. package/esm2022/treetable/treetable.mjs +55 -55
  177. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +7 -7
  178. package/esm2022/virtualscroller/virtualscroller.mjs +7 -7
  179. package/fesm2022/primeng-accordion.mjs +10 -10
  180. package/fesm2022/primeng-animate.mjs +7 -7
  181. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  182. package/fesm2022/primeng-api.mjs +87 -34
  183. package/fesm2022/primeng-api.mjs.map +1 -1
  184. package/fesm2022/primeng-autocomplete.mjs +7 -7
  185. package/fesm2022/primeng-autofocus.mjs +7 -7
  186. package/fesm2022/primeng-avatar.mjs +7 -7
  187. package/fesm2022/primeng-avatargroup.mjs +7 -7
  188. package/fesm2022/primeng-badge.mjs +24 -17
  189. package/fesm2022/primeng-badge.mjs.map +1 -1
  190. package/fesm2022/primeng-baseicon.mjs +3 -3
  191. package/fesm2022/primeng-blockui.mjs +7 -7
  192. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  193. package/fesm2022/primeng-button.mjs +10 -10
  194. package/fesm2022/primeng-button.mjs.map +1 -1
  195. package/fesm2022/primeng-buttongroup.mjs +7 -7
  196. package/fesm2022/primeng-calendar.mjs +93 -21
  197. package/fesm2022/primeng-calendar.mjs.map +1 -1
  198. package/fesm2022/primeng-card.mjs +7 -7
  199. package/fesm2022/primeng-carousel.mjs +7 -7
  200. package/fesm2022/primeng-cascadeselect.mjs +10 -10
  201. package/fesm2022/primeng-chart.mjs +7 -7
  202. package/fesm2022/primeng-checkbox.mjs +7 -7
  203. package/fesm2022/primeng-chip.mjs +7 -7
  204. package/fesm2022/primeng-chips.mjs +7 -7
  205. package/fesm2022/primeng-colorpicker.mjs +7 -7
  206. package/fesm2022/primeng-confirmdialog.mjs +7 -7
  207. package/fesm2022/primeng-confirmpopup.mjs +7 -7
  208. package/fesm2022/primeng-contextmenu.mjs +10 -10
  209. package/fesm2022/primeng-dataview.mjs +11 -12
  210. package/fesm2022/primeng-dataview.mjs.map +1 -1
  211. package/fesm2022/primeng-defer.mjs +7 -7
  212. package/fesm2022/primeng-dialog.mjs +7 -7
  213. package/fesm2022/primeng-divider.mjs +7 -7
  214. package/fesm2022/primeng-dock.mjs +7 -7
  215. package/fesm2022/primeng-dragdrop.mjs +10 -10
  216. package/fesm2022/primeng-dropdown.mjs +27 -19
  217. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  218. package/fesm2022/primeng-dynamicdialog.mjs +16 -13
  219. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  220. package/fesm2022/primeng-editor.mjs +7 -7
  221. package/fesm2022/primeng-fieldset.mjs +7 -7
  222. package/fesm2022/primeng-fileupload.mjs +61 -11
  223. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  224. package/fesm2022/primeng-floatlabel.mjs +7 -7
  225. package/fesm2022/primeng-focustrap.mjs +7 -7
  226. package/fesm2022/primeng-galleria.mjs +19 -19
  227. package/fesm2022/primeng-iconfield.mjs +7 -7
  228. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  229. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  230. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  231. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  232. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  233. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  234. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  235. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  236. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  237. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  238. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  239. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  240. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  241. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  242. package/fesm2022/primeng-icons-ban.mjs +3 -3
  243. package/fesm2022/primeng-icons-bars.mjs +3 -3
  244. package/fesm2022/primeng-icons-blank.mjs +3 -3
  245. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  246. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  247. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  248. package/fesm2022/primeng-icons-check.mjs +3 -3
  249. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  250. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  251. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  252. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  253. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  254. package/fesm2022/primeng-icons-eye.mjs +3 -3
  255. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  256. package/fesm2022/primeng-icons-filter.mjs +3 -3
  257. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  258. package/fesm2022/primeng-icons-home.mjs +3 -3
  259. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  260. package/fesm2022/primeng-icons-minus.mjs +3 -3
  261. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  262. package/fesm2022/primeng-icons-plus.mjs +3 -3
  263. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  264. package/fesm2022/primeng-icons-search.mjs +3 -3
  265. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  266. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  267. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  268. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  269. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  270. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  271. package/fesm2022/primeng-icons-star.mjs +3 -3
  272. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  273. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  274. package/fesm2022/primeng-icons-times.mjs +3 -3
  275. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  276. package/fesm2022/primeng-icons-trash.mjs +3 -3
  277. package/fesm2022/primeng-icons-undo.mjs +3 -3
  278. package/fesm2022/primeng-icons-upload.mjs +3 -3
  279. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  280. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  281. package/fesm2022/primeng-image.mjs +7 -7
  282. package/fesm2022/primeng-inplace.mjs +13 -13
  283. package/fesm2022/primeng-inputgroup.mjs +7 -7
  284. package/fesm2022/primeng-inputgroupaddon.mjs +7 -7
  285. package/fesm2022/primeng-inputicon.mjs +7 -7
  286. package/fesm2022/primeng-inputmask.mjs +7 -7
  287. package/fesm2022/primeng-inputnumber.mjs +23 -14
  288. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  289. package/fesm2022/primeng-inputotp.mjs +10 -7
  290. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  291. package/fesm2022/primeng-inputswitch.mjs +7 -8
  292. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  293. package/fesm2022/primeng-inputtext.mjs +7 -7
  294. package/fesm2022/primeng-inputtextarea.mjs +7 -7
  295. package/fesm2022/primeng-keyfilter.mjs +7 -7
  296. package/fesm2022/primeng-knob.mjs +7 -7
  297. package/fesm2022/primeng-listbox.mjs +7 -7
  298. package/fesm2022/primeng-megamenu.mjs +10 -10
  299. package/fesm2022/primeng-menu.mjs +13 -13
  300. package/fesm2022/primeng-menubar.mjs +13 -13
  301. package/fesm2022/primeng-message.mjs +17 -35
  302. package/fesm2022/primeng-message.mjs.map +1 -1
  303. package/fesm2022/primeng-messages.mjs +7 -7
  304. package/fesm2022/primeng-metergroup.mjs +10 -10
  305. package/fesm2022/primeng-multiselect.mjs +10 -10
  306. package/fesm2022/primeng-orderlist.mjs +7 -7
  307. package/fesm2022/primeng-organizationchart.mjs +10 -10
  308. package/fesm2022/primeng-overlay.mjs +7 -7
  309. package/fesm2022/primeng-overlaypanel.mjs +7 -7
  310. package/fesm2022/primeng-paginator.mjs +7 -7
  311. package/fesm2022/primeng-panel.mjs +7 -7
  312. package/fesm2022/primeng-panelmenu.mjs +13 -13
  313. package/fesm2022/primeng-password.mjs +13 -13
  314. package/fesm2022/primeng-picklist.mjs +10 -9
  315. package/fesm2022/primeng-picklist.mjs.map +1 -1
  316. package/fesm2022/primeng-progressbar.mjs +7 -7
  317. package/fesm2022/primeng-progressspinner.mjs +7 -7
  318. package/fesm2022/primeng-radiobutton.mjs +10 -10
  319. package/fesm2022/primeng-rating.mjs +7 -7
  320. package/fesm2022/primeng-ripple.mjs +7 -7
  321. package/fesm2022/primeng-scroller.mjs +7 -7
  322. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  323. package/fesm2022/primeng-scrolltop.mjs +7 -7
  324. package/fesm2022/primeng-selectbutton.mjs +7 -7
  325. package/fesm2022/primeng-sidebar.mjs +7 -7
  326. package/fesm2022/primeng-skeleton.mjs +11 -11
  327. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  328. package/fesm2022/primeng-slidemenu.mjs +10 -10
  329. package/fesm2022/primeng-slider.mjs +7 -7
  330. package/fesm2022/primeng-speeddial.mjs +7 -7
  331. package/fesm2022/primeng-spinner.mjs +7 -7
  332. package/fesm2022/primeng-splitbutton.mjs +7 -7
  333. package/fesm2022/primeng-splitter.mjs +7 -7
  334. package/fesm2022/primeng-stepper.mjs +19 -19
  335. package/fesm2022/primeng-steps.mjs +7 -7
  336. package/fesm2022/primeng-styleclass.mjs +7 -7
  337. package/fesm2022/primeng-table.mjs +105 -84
  338. package/fesm2022/primeng-table.mjs.map +1 -1
  339. package/fesm2022/primeng-tabmenu.mjs +7 -7
  340. package/fesm2022/primeng-tabview.mjs +10 -10
  341. package/fesm2022/primeng-tag.mjs +8 -11
  342. package/fesm2022/primeng-tag.mjs.map +1 -1
  343. package/fesm2022/primeng-terminal.mjs +10 -10
  344. package/fesm2022/primeng-tieredmenu.mjs +25 -28
  345. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  346. package/fesm2022/primeng-timeline.mjs +7 -7
  347. package/fesm2022/primeng-toast.mjs +10 -10
  348. package/fesm2022/primeng-togglebutton.mjs +7 -7
  349. package/fesm2022/primeng-toolbar.mjs +7 -7
  350. package/fesm2022/primeng-tooltip.mjs +24 -14
  351. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  352. package/fesm2022/primeng-tree.mjs +10 -10
  353. package/fesm2022/primeng-treeselect.mjs +7 -7
  354. package/fesm2022/primeng-treetable.mjs +55 -55
  355. package/fesm2022/primeng-tristatecheckbox.mjs +7 -7
  356. package/fesm2022/primeng-virtualscroller.mjs +7 -7
  357. package/fileupload/fileupload.d.ts +21 -2
  358. package/fileupload/fileupload.interface.d.ts +73 -3
  359. package/message/message.d.ts +6 -2
  360. package/package.json +203 -203
  361. package/resources/components/dropdown/dropdown.css +6 -2
  362. package/resources/themes/arya-blue/theme.css +0 -4
  363. package/resources/themes/arya-green/theme.css +0 -4
  364. package/resources/themes/arya-orange/theme.css +0 -4
  365. package/resources/themes/arya-purple/theme.css +0 -4
  366. package/resources/themes/aura-dark-amber/theme.css +56 -0
  367. package/resources/themes/aura-dark-blue/theme.css +56 -0
  368. package/resources/themes/aura-dark-cyan/theme.css +56 -0
  369. package/resources/themes/aura-dark-green/theme.css +56 -0
  370. package/resources/themes/aura-dark-indigo/theme.css +56 -0
  371. package/resources/themes/aura-dark-lime/theme.css +56 -0
  372. package/resources/themes/aura-dark-noir/theme.css +56 -0
  373. package/resources/themes/aura-dark-pink/theme.css +56 -0
  374. package/resources/themes/aura-dark-purple/theme.css +56 -0
  375. package/resources/themes/aura-dark-teal/theme.css +56 -0
  376. package/resources/themes/aura-light-amber/theme.css +56 -0
  377. package/resources/themes/aura-light-blue/theme.css +56 -0
  378. package/resources/themes/aura-light-cyan/theme.css +56 -0
  379. package/resources/themes/aura-light-green/theme.css +56 -0
  380. package/resources/themes/aura-light-indigo/theme.css +56 -0
  381. package/resources/themes/aura-light-lime/theme.css +56 -0
  382. package/resources/themes/aura-light-noir/theme.css +56 -0
  383. package/resources/themes/aura-light-pink/theme.css +56 -0
  384. package/resources/themes/aura-light-purple/theme.css +56 -0
  385. package/resources/themes/aura-light-teal/theme.css +56 -0
  386. package/resources/themes/bootstrap4-dark-blue/theme.css +49 -4
  387. package/resources/themes/bootstrap4-dark-purple/theme.css +49 -4
  388. package/resources/themes/bootstrap4-light-blue/theme.css +49 -4
  389. package/resources/themes/bootstrap4-light-purple/theme.css +49 -4
  390. package/resources/themes/fluent-light/theme.css +0 -4
  391. package/resources/themes/lara-dark-blue/theme.css +56 -0
  392. package/resources/themes/lara-dark-indigo/theme.css +56 -0
  393. package/resources/themes/lara-dark-purple/theme.css +56 -0
  394. package/resources/themes/lara-dark-teal/theme.css +56 -0
  395. package/resources/themes/lara-light-blue/theme.css +105 -0
  396. package/resources/themes/lara-light-indigo/theme.css +105 -0
  397. package/resources/themes/lara-light-purple/theme.css +105 -0
  398. package/resources/themes/lara-light-teal/theme.css +105 -0
  399. package/resources/themes/luna-amber/theme.css +0 -4
  400. package/resources/themes/luna-blue/theme.css +0 -4
  401. package/resources/themes/luna-green/theme.css +0 -4
  402. package/resources/themes/luna-pink/theme.css +0 -4
  403. package/resources/themes/md-dark-deeppurple/theme.css +56 -0
  404. package/resources/themes/md-dark-indigo/theme.css +56 -0
  405. package/resources/themes/md-light-deeppurple/theme.css +56 -0
  406. package/resources/themes/md-light-indigo/theme.css +56 -0
  407. package/resources/themes/mdc-dark-deeppurple/theme.css +56 -0
  408. package/resources/themes/mdc-dark-indigo/theme.css +56 -0
  409. package/resources/themes/mdc-light-deeppurple/theme.css +56 -0
  410. package/resources/themes/mdc-light-indigo/theme.css +56 -0
  411. package/resources/themes/mira/theme.css +0 -4
  412. package/resources/themes/nano/theme.css +0 -4
  413. package/resources/themes/nova/theme.css +0 -4
  414. package/resources/themes/nova-accent/theme.css +0 -4
  415. package/resources/themes/nova-alt/theme.css +0 -4
  416. package/resources/themes/rhea/theme.css +0 -4
  417. package/resources/themes/saga-blue/theme.css +0 -4
  418. package/resources/themes/saga-green/theme.css +0 -4
  419. package/resources/themes/saga-orange/theme.css +0 -4
  420. package/resources/themes/saga-purple/theme.css +0 -4
  421. package/resources/themes/soho-dark/theme.css +0 -4
  422. package/resources/themes/soho-light/theme.css +0 -4
  423. package/resources/themes/tailwind-light/theme.css +0 -4
  424. package/resources/themes/vela-blue/theme.css +0 -4
  425. package/resources/themes/vela-green/theme.css +0 -4
  426. package/resources/themes/vela-orange/theme.css +0 -4
  427. package/resources/themes/vela-purple/theme.css +0 -4
  428. package/resources/themes/viva-dark/theme.css +0 -4
  429. package/resources/themes/viva-light/theme.css +0 -4
  430. package/skeleton/skeleton.d.ts +3 -3
  431. package/table/table.d.ts +17 -1
  432. package/tag/tag.d.ts +2 -5
  433. package/tieredmenu/tieredmenu.d.ts +1 -1
  434. package/tooltip/tooltip.d.ts +1 -1
@@ -264,6 +264,12 @@ class FileUpload {
264
264
  * @group Emits
265
265
  */
266
266
  onImageError = new EventEmitter();
267
+ /**
268
+ * This event is triggered if an error occurs while loading an image file.
269
+ * @param {RemoveUploadedFileEvent} event - Remove event.
270
+ * @group Emits
271
+ */
272
+ onRemoveUploadedFile = new EventEmitter();
267
273
  templates;
268
274
  advancedFileInput;
269
275
  basicFileInput;
@@ -307,6 +313,7 @@ class FileUpload {
307
313
  duplicateIEEvent; // flag to recognize duplicate onchange event for file input
308
314
  translationSubscription;
309
315
  dragOverListener;
316
+ uploadedFiles = [];
310
317
  constructor(document, platformId, renderer, el, sanitizer, zone, http, cd, config) {
311
318
  this.document = document;
312
319
  this.platformId = platformId;
@@ -517,6 +524,7 @@ class FileUpload {
517
524
  else {
518
525
  this.onError.emit({ files: this.files });
519
526
  }
527
+ this.uploadedFiles.push(...this.files);
520
528
  this.clear();
521
529
  break;
522
530
  case HttpEventType.UploadProgress: {
@@ -545,12 +553,28 @@ class FileUpload {
545
553
  this.clearInputElement();
546
554
  this.cd.markForCheck();
547
555
  }
556
+ /**
557
+ * Removes a single file.
558
+ * @param {Event} event - Browser event.
559
+ * @param {Number} index - Index of the file.
560
+ * @group Method
561
+ */
548
562
  remove(event, index) {
549
563
  this.clearInputElement();
550
564
  this.onRemove.emit({ originalEvent: event, file: this.files[index] });
551
565
  this.files.splice(index, 1);
552
566
  this.checkFileLimit(this.files);
553
567
  }
568
+ /**
569
+ * Removes uploaded file.
570
+ * @param {Number} index - Index of the file to be removed.
571
+ * @group Method
572
+ */
573
+ removeUploadedFile(index) {
574
+ let removedFile = this.uploadedFiles.splice(index, 1)[0];
575
+ this.uploadedFiles = [...this.uploadedFiles];
576
+ this.onRemoveUploadedFile.emit({ file: removedFile, files: this.uploadedFiles });
577
+ }
554
578
  isFileLimitExceeded() {
555
579
  const isAutoMode = this.auto;
556
580
  const totalFileCount = isAutoMode ? this.files.length : this.files.length + this.uploadedFileCount;
@@ -687,9 +711,21 @@ class FileUpload {
687
711
  this.translationSubscription.unsubscribe();
688
712
  }
689
713
  }
690
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUpload, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i0.NgZone }, { token: i2.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
691
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: FileUpload, selector: "p-fileUpload", inputs: { name: "name", url: "url", method: "method", multiple: ["multiple", "multiple", booleanAttribute], accept: "accept", disabled: ["disabled", "disabled", booleanAttribute], auto: ["auto", "auto", booleanAttribute], withCredentials: ["withCredentials", "withCredentials", booleanAttribute], maxFileSize: ["maxFileSize", "maxFileSize", numberAttribute], invalidFileSizeMessageSummary: "invalidFileSizeMessageSummary", invalidFileSizeMessageDetail: "invalidFileSizeMessageDetail", invalidFileTypeMessageSummary: "invalidFileTypeMessageSummary", invalidFileTypeMessageDetail: "invalidFileTypeMessageDetail", invalidFileLimitMessageDetail: "invalidFileLimitMessageDetail", invalidFileLimitMessageSummary: "invalidFileLimitMessageSummary", style: "style", styleClass: "styleClass", previewWidth: ["previewWidth", "previewWidth", numberAttribute], chooseLabel: "chooseLabel", uploadLabel: "uploadLabel", cancelLabel: "cancelLabel", chooseIcon: "chooseIcon", uploadIcon: "uploadIcon", cancelIcon: "cancelIcon", showUploadButton: ["showUploadButton", "showUploadButton", booleanAttribute], showCancelButton: ["showCancelButton", "showCancelButton", booleanAttribute], mode: "mode", headers: "headers", customUpload: ["customUpload", "customUpload", booleanAttribute], fileLimit: ["fileLimit", "fileLimit", (value) => numberAttribute(value, null)], uploadStyleClass: "uploadStyleClass", cancelStyleClass: "cancelStyleClass", removeStyleClass: "removeStyleClass", chooseStyleClass: "chooseStyleClass", files: "files" }, outputs: { onBeforeUpload: "onBeforeUpload", onSend: "onSend", onUpload: "onUpload", onError: "onError", onClear: "onClear", onRemove: "onRemove", onSelect: "onSelect", onProgress: "onProgress", uploadHandler: "uploadHandler", onImageError: "onImageError" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "advancedFileInput", first: true, predicate: ["advancedfileinput"], descendants: true }, { propertyName: "basicFileInput", first: true, predicate: ["basicfileinput"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
714
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUpload, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i0.NgZone }, { token: i2.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
715
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.7", type: FileUpload, selector: "p-fileUpload", inputs: { name: "name", url: "url", method: "method", multiple: ["multiple", "multiple", booleanAttribute], accept: "accept", disabled: ["disabled", "disabled", booleanAttribute], auto: ["auto", "auto", booleanAttribute], withCredentials: ["withCredentials", "withCredentials", booleanAttribute], maxFileSize: ["maxFileSize", "maxFileSize", numberAttribute], invalidFileSizeMessageSummary: "invalidFileSizeMessageSummary", invalidFileSizeMessageDetail: "invalidFileSizeMessageDetail", invalidFileTypeMessageSummary: "invalidFileTypeMessageSummary", invalidFileTypeMessageDetail: "invalidFileTypeMessageDetail", invalidFileLimitMessageDetail: "invalidFileLimitMessageDetail", invalidFileLimitMessageSummary: "invalidFileLimitMessageSummary", style: "style", styleClass: "styleClass", previewWidth: ["previewWidth", "previewWidth", numberAttribute], chooseLabel: "chooseLabel", uploadLabel: "uploadLabel", cancelLabel: "cancelLabel", chooseIcon: "chooseIcon", uploadIcon: "uploadIcon", cancelIcon: "cancelIcon", showUploadButton: ["showUploadButton", "showUploadButton", booleanAttribute], showCancelButton: ["showCancelButton", "showCancelButton", booleanAttribute], mode: "mode", headers: "headers", customUpload: ["customUpload", "customUpload", booleanAttribute], fileLimit: ["fileLimit", "fileLimit", (value) => numberAttribute(value, null)], uploadStyleClass: "uploadStyleClass", cancelStyleClass: "cancelStyleClass", removeStyleClass: "removeStyleClass", chooseStyleClass: "chooseStyleClass", files: "files" }, outputs: { onBeforeUpload: "onBeforeUpload", onSend: "onSend", onUpload: "onUpload", onError: "onError", onClear: "onClear", onRemove: "onRemove", onSelect: "onSelect", onProgress: "onProgress", uploadHandler: "uploadHandler", onImageError: "onImageError", onRemoveUploadedFile: "onRemoveUploadedFile" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "advancedFileInput", first: true, predicate: ["advancedfileinput"], descendants: true }, { propertyName: "basicFileInput", first: true, predicate: ["basicfileinput"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
692
716
  <div [ngClass]="'p-fileupload p-fileupload-advanced p-component'" [ngStyle]="style" [class]="styleClass" *ngIf="mode === 'advanced'" [attr.data-pc-name]="'fileupload'" [attr.data-pc-section]="'root'">
717
+ <input
718
+ [attr.aria-label]="browseFilesLabel"
719
+ #advancedfileinput
720
+ type="file"
721
+ (change)="onFileSelect($event)"
722
+ [multiple]="multiple"
723
+ [accept]="accept"
724
+ [disabled]="disabled || isChooseDisabled()"
725
+ [attr.title]="''"
726
+ [attr.data-pc-section]="'input'"
727
+ [style.display]="'none'"
728
+ />
693
729
  <div class="p-fileupload-buttonbar" [attr.data-pc-section]="'buttonbar'">
694
730
  <ng-container *ngIf="!headerTemplate">
695
731
  <span
@@ -744,7 +780,7 @@ class FileUpload {
744
780
  </ng-container>
745
781
  </p-button>
746
782
  </ng-container>
747
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
783
+ <ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, chooseCallback: choose.bind(this), clearCallback: clear.bind(this), uploadCallback: upload.bind(this) }"></ng-container>
748
784
  <ng-container *ngTemplateOutlet="toolbarTemplate"></ng-container>
749
785
  </div>
750
786
  <div #content class="p-fileupload-content" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [attr.data-pc-section]="'content'">
@@ -770,7 +806,7 @@ class FileUpload {
770
806
  <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate"></ng-template>
771
807
  </div>
772
808
  </div>
773
- <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files }"></ng-container>
809
+ <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, removeUploadedFileCallback: removeUploadedFile.bind(this), progress: progress, messages: msgs }"></ng-container>
774
810
  <div *ngIf="emptyTemplate && !hasFiles() && !uploadedFileCount" class="p-fileupload-empty">
775
811
  <ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
776
812
  </div>
@@ -824,10 +860,22 @@ class FileUpload {
824
860
  </div>
825
861
  `, isInline: true, styles: ["@layer primeng{.p-fileupload-content{position:relative}.p-fileupload-row{display:flex;align-items:center}.p-fileupload-row>div{flex:1 1 auto;width:25%}.p-fileupload-row>div:last-child{text-align:right}.p-fileupload-content .p-progressbar{width:100%;position:absolute;top:0;left:0}.p-button.p-fileupload-choose{position:relative;overflow:hidden}.p-button.p-fileupload-choose input[type=file],.p-fileupload-choose.p-fileupload-choose-selected input[type=file]{display:none}.p-fluid .p-fileupload .p-button{width:auto}.p-fileupload-filename{word-break:break-all}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i4.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => i5.ButtonDirective), selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i0.forwardRef(() => i5.Button), selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i0.forwardRef(() => i6.ProgressBar), selector: "p-progressBar", inputs: ["value", "showValue", "styleClass", "style", "unit", "mode", "color"] }, { kind: "component", type: i0.forwardRef(() => i7.Messages), selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "directive", type: i0.forwardRef(() => i8.Ripple), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(() => PlusIcon), selector: "PlusIcon" }, { kind: "component", type: i0.forwardRef(() => UploadIcon), selector: "UploadIcon" }, { kind: "component", type: i0.forwardRef(() => TimesIcon), selector: "TimesIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
826
862
  }
827
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUpload, decorators: [{
863
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUpload, decorators: [{
828
864
  type: Component,
829
865
  args: [{ selector: 'p-fileUpload', template: `
830
866
  <div [ngClass]="'p-fileupload p-fileupload-advanced p-component'" [ngStyle]="style" [class]="styleClass" *ngIf="mode === 'advanced'" [attr.data-pc-name]="'fileupload'" [attr.data-pc-section]="'root'">
867
+ <input
868
+ [attr.aria-label]="browseFilesLabel"
869
+ #advancedfileinput
870
+ type="file"
871
+ (change)="onFileSelect($event)"
872
+ [multiple]="multiple"
873
+ [accept]="accept"
874
+ [disabled]="disabled || isChooseDisabled()"
875
+ [attr.title]="''"
876
+ [attr.data-pc-section]="'input'"
877
+ [style.display]="'none'"
878
+ />
831
879
  <div class="p-fileupload-buttonbar" [attr.data-pc-section]="'buttonbar'">
832
880
  <ng-container *ngIf="!headerTemplate">
833
881
  <span
@@ -882,7 +930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
882
930
  </ng-container>
883
931
  </p-button>
884
932
  </ng-container>
885
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
933
+ <ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, chooseCallback: choose.bind(this), clearCallback: clear.bind(this), uploadCallback: upload.bind(this) }"></ng-container>
886
934
  <ng-container *ngTemplateOutlet="toolbarTemplate"></ng-container>
887
935
  </div>
888
936
  <div #content class="p-fileupload-content" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [attr.data-pc-section]="'content'">
@@ -908,7 +956,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
908
956
  <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate"></ng-template>
909
957
  </div>
910
958
  </div>
911
- <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files }"></ng-container>
959
+ <ng-container *ngTemplateOutlet="contentTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, removeUploadedFileCallback: removeUploadedFile.bind(this), progress: progress, messages: msgs }"></ng-container>
912
960
  <div *ngIf="emptyTemplate && !hasFiles() && !uploadedFileCount" class="p-fileupload-empty">
913
961
  <ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
914
962
  </div>
@@ -1067,6 +1115,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1067
1115
  type: Output
1068
1116
  }], onImageError: [{
1069
1117
  type: Output
1118
+ }], onRemoveUploadedFile: [{
1119
+ type: Output
1070
1120
  }], templates: [{
1071
1121
  type: ContentChildren,
1072
1122
  args: [PrimeTemplate]
@@ -1083,11 +1133,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1083
1133
  type: Input
1084
1134
  }] } });
1085
1135
  class FileUploadModule {
1086
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1087
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FileUploadModule, declarations: [FileUpload], imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon], exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1088
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUploadModule, imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1137
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: FileUploadModule, declarations: [FileUpload], imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon], exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1138
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUploadModule, imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1089
1139
  }
1090
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileUploadModule, decorators: [{
1140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FileUploadModule, decorators: [{
1091
1141
  type: NgModule,
1092
1142
  args: [{
1093
1143
  imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon],
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-fileupload.mjs","sources":["../../src/app/components/fileupload/fileupload.ts","../../src/app/components/fileupload/primeng-fileupload.ts"],"sourcesContent":["import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { HttpClient, HttpEvent, HttpEventType, HttpHeaders } from '@angular/common/http';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { BlockableUI, Message, PrimeNGConfig, PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { DomHandler } from 'primeng/dom';\nimport { PlusIcon } from 'primeng/icons/plus';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { UploadIcon } from 'primeng/icons/upload';\nimport { MessagesModule } from 'primeng/messages';\nimport { ProgressBarModule } from 'primeng/progressbar';\nimport { RippleModule } from 'primeng/ripple';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { Subscription } from 'rxjs';\nimport { FileBeforeUploadEvent, FileProgressEvent, FileRemoveEvent, FileSelectEvent, FileSendEvent, FileUploadErrorEvent, FileUploadEvent, FileUploadHandlerEvent } from './fileupload.interface';\n/**\n * FileUpload is an advanced uploader with dragdrop support, multi file uploads, auto uploading, progress tracking and validations.\n * @group Components\n */\n@Component({\n selector: 'p-fileUpload',\n template: `\n <div [ngClass]=\"'p-fileupload p-fileupload-advanced p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"mode === 'advanced'\" [attr.data-pc-name]=\"'fileupload'\" [attr.data-pc-section]=\"'root'\">\n <div class=\"p-fileupload-buttonbar\" [attr.data-pc-section]=\"'buttonbar'\">\n <ng-container *ngIf=\"!headerTemplate\">\n <span\n class=\"p-button p-component p-fileupload-choose\"\n [ngClass]=\"{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n pRipple\n (click)=\"choose()\"\n (keydown.enter)=\"choose()\"\n tabindex=\"0\"\n [class]=\"chooseStyleClass\"\n [attr.data-pc-section]=\"'choosebutton'\"\n >\n <input\n [attr.aria-label]=\"browseFilesLabel\"\n #advancedfileinput\n type=\"file\"\n (change)=\"onFileSelect($event)\"\n [multiple]=\"multiple\"\n [accept]=\"accept\"\n [disabled]=\"disabled || isChooseDisabled()\"\n [attr.title]=\"''\"\n [attr.data-pc-section]=\"'input'\"\n />\n <span *ngIf=\"chooseIcon\" [ngClass]=\"'p-button-icon p-button-icon-left'\" [class]=\"chooseIcon\" [attr.aria-label]=\"true\" [attr.data-pc-section]=\"'chooseicon'\"></span>\n <ng-container *ngIf=\"!chooseIcon\">\n <PlusIcon *ngIf=\"!chooseIconTemplate\" [styleClass]=\"'p-button-icon p-button-icon-left'\" [attr.aria-label]=\"true\" [attr.data-pc-section]=\"'chooseicon'\" />\n <span *ngIf=\"chooseIconTemplate\" class=\"p-button-icon p-button-icon-left\" [attr.aria-label]=\"true\" [attr.data-pc-section]=\"'chooseicon'\">\n <ng-template *ngTemplateOutlet=\"chooseIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <span class=\"p-button-label\" [attr.data-pc-section]=\"'choosebuttonlabel'\">{{ chooseButtonLabel }}</span>\n </span>\n\n <p-button *ngIf=\"!auto && showUploadButton\" type=\"button\" [label]=\"uploadButtonLabel\" (onClick)=\"upload()\" [disabled]=\"!hasFiles() || isFileLimitExceeded()\" [styleClass]=\"uploadStyleClass\">\n <span *ngIf=\"uploadIcon\" [ngClass]=\"uploadIcon\" [attr.aria-hidden]=\"true\" class=\"p-button-icon p-button-icon-left\"></span>\n <ng-container *ngIf=\"!uploadIcon\">\n <UploadIcon *ngIf=\"!uploadIconTemplate\" [styleClass]=\"'p-button-icon p-button-icon-left'\" />\n <span *ngIf=\"uploadIconTemplate\" class=\"p-button-icon p-button-icon-left\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"uploadIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </p-button>\n <p-button *ngIf=\"!auto && showCancelButton\" type=\"button\" [label]=\"cancelButtonLabel\" (onClick)=\"clear()\" [disabled]=\"!hasFiles() || uploading\" [styleClass]=\"cancelStyleClass\">\n <span *ngIf=\"cancelIcon\" [ngClass]=\"cancelIcon\" class=\"p-button-icon p-button-icon-left\"></span>\n <ng-container *ngIf=\"!cancelIcon\">\n <TimesIcon *ngIf=\"!cancelIconTemplate\" [styleClass]=\"'p-button-icon p-button-icon-left'\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"cancelIconTemplate\" class=\"p-button-icon p-button-icon-left\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"cancelIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </p-button>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"toolbarTemplate\"></ng-container>\n </div>\n <div #content class=\"p-fileupload-content\" (dragenter)=\"onDragEnter($event)\" (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\" [attr.data-pc-section]=\"'content'\">\n <p-progressBar [value]=\"progress\" [showValue]=\"false\" *ngIf=\"hasFiles()\"></p-progressBar>\n\n <p-messages [value]=\"msgs\" [enableService]=\"false\"></p-messages>\n\n <div class=\"p-fileupload-files\" *ngIf=\"hasFiles()\">\n <div *ngIf=\"!fileTemplate\">\n <div class=\"p-fileupload-row\" *ngFor=\"let file of files; let i = index\">\n <div><img [src]=\"file.objectURL\" *ngIf=\"isImage(file)\" [width]=\"previewWidth\" (error)=\"imageError($event)\" /></div>\n <div class=\"p-fileupload-filename\">{{ file.name }}</div>\n <div>{{ formatSize(file.size) }}</div>\n <div>\n <button type=\"button\" pButton (click)=\"remove($event, i)\" [disabled]=\"uploading\" class=\"p-button-icon-only\" [class]=\"removeStyleClass\">\n <TimesIcon *ngIf=\"!cancelIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"cancelIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"fileTemplate\">\n <ng-template ngFor [ngForOf]=\"files\" [ngForTemplate]=\"fileTemplate\"></ng-template>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: files }\"></ng-container>\n <div *ngIf=\"emptyTemplate && !hasFiles() && !uploadedFileCount\" class=\"p-fileupload-empty\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n </div>\n </div>\n <div class=\"p-fileupload p-fileupload-basic p-component\" *ngIf=\"mode === 'basic'\" [attr.data-pc-name]=\"'fileupload'\">\n <p-messages [value]=\"msgs\" [enableService]=\"false\"></p-messages>\n <span\n [ngClass]=\"{ 'p-button p-component p-fileupload-choose': true, 'p-button-icon-only': !basicButtonLabel, 'p-fileupload-choose-selected': hasFiles(), 'p-focus': focus, 'p-disabled': disabled }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n (click)=\"onBasicUploaderClick()\"\n (keydown)=\"onBasicKeydown($event)\"\n tabindex=\"0\"\n pRipple\n [attr.data-pc-section]=\"'choosebutton'\"\n >\n <ng-container *ngIf=\"hasFiles() && !auto; else chooseSection\">\n <span *ngIf=\"uploadIcon\" class=\"p-button-icon p-button-icon-left\" [ngClass]=\"uploadIcon\"></span>\n <ng-container *ngIf=\"!uploadIcon\">\n <UploadIcon *ngIf=\"!uploadIconTemplate\" [styleClass]=\"'p-button-icon p-button-icon-left'\" />\n <span *ngIf=\"uploadIconTemplate\" class=\"p-button-icon p-button-icon-left\">\n <ng-template *ngTemplateOutlet=\"uploadIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </ng-container>\n <ng-template #chooseSection>\n <span *ngIf=\"chooseIcon\" class=\"p-button-icon p-button-icon-left pi\" [ngClass]=\"chooseIcon\"></span>\n <ng-container *ngIf=\"!chooseIcon\">\n <PlusIcon [styleClass]=\"'p-button-icon p-button-icon-left pi'\" *ngIf=\"!chooseIconTemplate\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'uploadicon'\" />\n <span *ngIf=\"chooseIconTemplate\" class=\"p-button-icon p-button-icon-left pi\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'uploadicon'\">\n <ng-template *ngTemplateOutlet=\"chooseIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </ng-template>\n <span *ngIf=\"basicButtonLabel\" class=\"p-button-label\" [attr.data-pc-section]=\"'label'\">{{ basicButtonLabel }}</span>\n <input\n [attr.aria-label]=\"browseFilesLabel\"\n #basicfileinput\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelect($event)\"\n *ngIf=\"!hasFiles()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [attr.data-pc-section]=\"'input'\"\n />\n </span>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./fileupload.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class FileUpload implements AfterViewInit, AfterContentInit, OnInit, OnDestroy, BlockableUI {\n /**\n * Name of the request parameter to identify the files at backend.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * Remote url to upload the files.\n * @group Props\n */\n @Input() url: string | undefined;\n /**\n * HTTP method to send the files to the url such as \"post\" and \"put\".\n * @group Props\n */\n @Input() method: 'post' | 'put' | undefined = 'post';\n /**\n * Used to select multiple files at once from file dialog.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * 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\").\n * @group Props\n */\n @Input() accept: string | undefined;\n /**\n * Disables the upload functionality.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When enabled, upload begins automatically after selection is completed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) auto: boolean | undefined;\n /**\n * Cross-site Access-Control requests should be made using credentials such as cookies, authorization headers or TLS client certificates.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) withCredentials: boolean | undefined;\n /**\n * Maximum file size allowed in bytes.\n * @group Props\n */\n @Input({ transform: numberAttribute }) maxFileSize: number | undefined;\n /**\n * Summary message of the invalid file size.\n * @group Props\n */\n @Input() invalidFileSizeMessageSummary: string = '{0}: Invalid file size, ';\n /**\n * Detail message of the invalid file size.\n * @group Props\n */\n @Input() invalidFileSizeMessageDetail: string = 'maximum upload size is {0}.';\n /**\n * Summary message of the invalid file type.\n * @group Props\n */\n @Input() invalidFileTypeMessageSummary: string = '{0}: Invalid file type, ';\n /**\n * Detail message of the invalid file type.\n * @group Props\n */\n @Input() invalidFileTypeMessageDetail: string = 'allowed file types: {0}.';\n /**\n * Detail message of the invalid file type.\n * @group Props\n */\n @Input() invalidFileLimitMessageDetail: string = 'limit is {0} at most.';\n /**\n * Summary message of the invalid file type.\n * @group Props\n */\n @Input() invalidFileLimitMessageSummary: string = 'Maximum number of files exceeded, ';\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Width of the image thumbnail in pixels.\n * @group Props\n */\n @Input({ transform: numberAttribute }) previewWidth: number = 50;\n /**\n * Label of the choose button. Defaults to PrimeNG Locale configuration.\n * @group Props\n */\n @Input() chooseLabel: string | undefined;\n /**\n * Label of the upload button. Defaults to PrimeNG Locale configuration.\n * @group Props\n */\n @Input() uploadLabel: string | undefined;\n /**\n * Label of the cancel button. Defaults to PrimeNG Locale configuration.\n * @group Props\n */\n @Input() cancelLabel: string | undefined;\n /**\n * Icon of the choose button.\n * @group Props\n */\n @Input() chooseIcon: string | undefined;\n /**\n * Icon of the upload button.\n * @group Props\n */\n @Input() uploadIcon: string | undefined;\n /**\n * Icon of the cancel button.\n * @group Props\n */\n @Input() cancelIcon: string | undefined;\n /**\n * Whether to show the upload button.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showUploadButton: boolean = true;\n /**\n * Whether to show the cancel button.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCancelButton: boolean = true;\n /**\n * Defines the UI of the component.\n * @group Props\n */\n @Input() mode: 'advanced' | 'basic' | undefined = 'advanced';\n /**\n * HttpHeaders class represents the header configuration options for an HTTP request.\n * @group Props\n */\n @Input() headers: HttpHeaders | undefined;\n /**\n * Whether to use the default upload or a manual implementation defined in uploadHandler callback. Defaults to PrimeNG Locale configuration.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) customUpload: boolean | undefined;\n /**\n * Maximum number of files that can be uploaded.\n * @group Props\n */\n @Input({ transform: (value: unknown) => numberAttribute(value, null) }) fileLimit: number | undefined;\n /**\n * Style class of the upload button.\n * @group Props\n */\n @Input() uploadStyleClass: string | undefined;\n /**\n * Style class of the cancel button.\n * @group Props\n */\n @Input() cancelStyleClass: string | undefined;\n /**\n * Style class of the remove button.\n * @group Props\n */\n @Input() removeStyleClass: string | undefined;\n /**\n * Style class of the choose button.\n * @group Props\n */\n @Input() chooseStyleClass: string | undefined;\n /**\n * Callback to invoke before file upload is initialized.\n * @param {FileBeforeUploadEvent} event - Custom upload event.\n * @group Emits\n */\n @Output() onBeforeUpload: EventEmitter<FileBeforeUploadEvent> = new EventEmitter<FileBeforeUploadEvent>();\n /**\n * 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.\n * @param {FileSendEvent} event - Custom send event.\n * @group Emits\n */\n @Output() onSend: EventEmitter<FileSendEvent> = new EventEmitter<FileSendEvent>();\n /**\n * Callback to invoke when file upload is complete.\n * @param {FileUploadEvent} event - Custom upload event.\n * @group Emits\n */\n @Output() onUpload: EventEmitter<FileUploadEvent> = new EventEmitter<FileUploadEvent>();\n /**\n * Callback to invoke if file upload fails.\n * @param {FileUploadErrorEvent} event - Custom error event.\n * @group Emits\n */\n @Output() onError: EventEmitter<FileUploadErrorEvent> = new EventEmitter<FileUploadErrorEvent>();\n /**\n * Callback to invoke when files in queue are removed without uploading using clear all button.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClear: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when a file is removed without uploading using clear button of a file.\n * @param {FileRemoveEvent} event - Remove event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<FileRemoveEvent> = new EventEmitter<FileRemoveEvent>();\n /**\n * Callback to invoke when files are selected.\n * @param {FileSelectEvent} event - Select event.\n * @group Emits\n */\n @Output() onSelect: EventEmitter<FileSelectEvent> = new EventEmitter<FileSelectEvent>();\n /**\n * Callback to invoke when files are being uploaded.\n * @param {FileProgressEvent} event - Progress event.\n * @group Emits\n */\n @Output() onProgress: EventEmitter<FileProgressEvent> = new EventEmitter<FileProgressEvent>();\n /**\n * Callback to invoke in custom upload mode to upload the files manually.\n * @param {FileUploadHandlerEvent} event - Upload handler event.\n * @group Emits\n */\n @Output() uploadHandler: EventEmitter<FileUploadHandlerEvent> = new EventEmitter<FileUploadHandlerEvent>();\n /**\n * This event is triggered if an error occurs while loading an image file.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onImageError: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n @ViewChild('advancedfileinput') advancedFileInput: ElementRef | undefined | any;\n\n @ViewChild('basicfileinput') basicFileInput: ElementRef | undefined;\n\n @ViewChild('content') content: ElementRef | undefined;\n\n @Input() set files(files) {\n this._files = [];\n\n for (let i = 0; i < files.length; i++) {\n let file = files[i];\n\n if (this.validate(file)) {\n if (this.isImage(file)) {\n (<any>file).objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n\n this._files.push(files[i]);\n }\n }\n }\n\n get files(): File[] {\n return this._files;\n }\n\n public get basicButtonLabel(): string {\n if (this.auto || !this.hasFiles()) {\n return this.chooseLabel as string;\n }\n\n return this.uploadLabel ?? this.files[0].name;\n }\n\n public _files: File[] = [];\n\n public progress: number = 0;\n\n public dragHighlight: boolean | undefined;\n\n public msgs: Message[] | undefined;\n\n public fileTemplate: TemplateRef<any> | undefined;\n\n public headerTemplate: TemplateRef<any> | undefined;\n\n public contentTemplate: TemplateRef<any> | undefined;\n\n public toolbarTemplate: TemplateRef<any> | undefined;\n\n chooseIconTemplate: TemplateRef<any> | undefined;\n\n uploadIconTemplate: TemplateRef<any> | undefined;\n\n cancelIconTemplate: TemplateRef<any> | undefined;\n\n emptyTemplate: TemplateRef<any> | undefined;\n\n public uploadedFileCount: number = 0;\n\n focus: boolean | undefined;\n\n uploading: boolean | undefined;\n\n duplicateIEEvent: boolean | undefined; // flag to recognize duplicate onchange event for file input\n\n translationSubscription: Subscription | undefined;\n\n dragOverListener: VoidListener;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n private renderer: Renderer2,\n private el: ElementRef,\n public sanitizer: DomSanitizer,\n public zone: NgZone,\n private http: HttpClient,\n public cd: ChangeDetectorRef,\n public config: PrimeNGConfig\n ) {}\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'file':\n this.fileTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'toolbar':\n this.toolbarTemplate = item.template;\n break;\n\n case 'chooseicon':\n this.chooseIconTemplate = item.template;\n break;\n\n case 'uploadicon':\n this.uploadIconTemplate = item.template;\n break;\n\n case 'cancelicon':\n this.cancelIconTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n default:\n this.fileTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnInit() {\n this.translationSubscription = this.config.translationObserver.subscribe(() => {\n this.cd.markForCheck();\n });\n }\n\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.mode === 'advanced') {\n this.zone.runOutsideAngular(() => {\n if (this.content) {\n this.dragOverListener = this.renderer.listen(this.content.nativeElement, 'dragover', this.onDragOver.bind(this));\n }\n });\n }\n }\n }\n\n getTranslation(option: string) {\n return this.config.getTranslation(option);\n }\n\n choose() {\n this.advancedFileInput?.nativeElement.click();\n }\n\n onFileSelect(event: any) {\n if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {\n this.duplicateIEEvent = false;\n return;\n }\n\n this.msgs = [];\n if (!this.multiple) {\n this.files = [];\n }\n\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n for (let i = 0; i < files.length; i++) {\n let file = files[i];\n\n if (!this.isFileSelected(file)) {\n if (this.validate(file)) {\n if (this.isImage(file)) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n\n this.files.push(files[i]);\n }\n }\n }\n\n this.onSelect.emit({ originalEvent: event, files: files, currentFiles: this.files });\n\n // this will check the fileLimit with the uploaded files\n this.checkFileLimit(files);\n\n if (this.hasFiles() && this.auto && (this.mode !== 'advanced' || !this.isFileLimitExceeded())) {\n this.upload();\n }\n\n if (event.type !== 'drop' && this.isIE11()) {\n this.clearIEInput();\n } else {\n this.clearInputElement();\n }\n }\n\n isFileSelected(file: File): boolean {\n for (let sFile of this.files) {\n if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) {\n return true;\n }\n }\n\n return false;\n }\n\n isIE11() {\n if (isPlatformBrowser(this.platformId)) {\n return !!(this.document.defaultView as any)['MSInputMethodContext'] && !!(this.document as any)['documentMode'];\n }\n }\n\n validate(file: File): boolean {\n this.msgs = this.msgs || [];\n if (this.accept && !this.isFileTypeValid(file)) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileTypeMessageSummary.replace('{0}', file.name),\n detail: this.invalidFileTypeMessageDetail.replace('{0}', this.accept)\n });\n return false;\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileSizeMessageSummary.replace('{0}', file.name),\n detail: this.invalidFileSizeMessageDetail.replace('{0}', this.formatSize(this.maxFileSize))\n });\n return false;\n }\n\n return true;\n }\n\n private isFileTypeValid(file: File): boolean {\n let acceptableTypes = this.accept?.split(',').map((type) => type.trim());\n for (let type of acceptableTypes!) {\n let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();\n\n if (acceptable) {\n return true;\n }\n }\n\n return false;\n }\n\n getTypeClass(fileType: string): string {\n return fileType.substring(0, fileType.indexOf('/'));\n }\n\n isWildcard(fileType: string): boolean {\n return fileType.indexOf('*') !== -1;\n }\n\n getFileExtension(file: File): string {\n return '.' + file.name.split('.').pop();\n }\n\n isImage(file: File): boolean {\n return /^image\\//.test(file.type);\n }\n\n onImageLoad(img: any) {\n window.URL.revokeObjectURL(img.src);\n }\n /**\n * Uploads the selected files.\n * @group Method\n */\n upload() {\n if (this.customUpload) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.uploadHandler.emit({\n files: this.files\n });\n\n this.cd.markForCheck();\n } else {\n this.uploading = true;\n this.msgs = [];\n let formData = new FormData();\n\n this.onBeforeUpload.emit({\n formData: formData\n });\n\n for (let i = 0; i < this.files.length; i++) {\n formData.append(this.name!, this.files[i], this.files[i].name);\n }\n\n this.http\n .request(<string>this.method, this.url as string, {\n body: formData,\n headers: this.headers,\n reportProgress: true,\n observe: 'events',\n withCredentials: this.withCredentials\n })\n .subscribe(\n (event: HttpEvent<any>) => {\n switch (event.type) {\n case HttpEventType.Sent:\n this.onSend.emit({\n originalEvent: event,\n formData: formData\n });\n break;\n case HttpEventType.Response:\n this.uploading = false;\n this.progress = 0;\n\n if (event['status'] >= 200 && event['status'] < 300) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.onUpload.emit({ originalEvent: event, files: this.files });\n } else {\n this.onError.emit({ files: this.files });\n }\n\n this.clear();\n break;\n case HttpEventType.UploadProgress: {\n if (event['loaded']) {\n this.progress = Math.round((event['loaded'] * 100) / event['total']!);\n }\n\n this.onProgress.emit({ originalEvent: event, progress: this.progress });\n break;\n }\n }\n\n this.cd.markForCheck();\n },\n (error: ErrorEvent) => {\n this.uploading = false;\n this.onError.emit({ files: this.files, error: error });\n }\n );\n }\n }\n /**\n * Clears the files list.\n * @group Method\n */\n clear() {\n this.files = [];\n this.uploadedFileCount = 0;\n this.onClear.emit();\n this.clearInputElement();\n this.cd.markForCheck();\n }\n\n remove(event: Event, index: number) {\n this.clearInputElement();\n this.onRemove.emit({ originalEvent: event, file: this.files[index] });\n this.files.splice(index, 1);\n this.checkFileLimit(this.files);\n }\n\n isFileLimitExceeded() {\n const isAutoMode = this.auto;\n const totalFileCount = isAutoMode ? this.files.length : this.files.length + this.uploadedFileCount;\n\n if (this.fileLimit && this.fileLimit <= totalFileCount && this.focus) {\n this.focus = false;\n }\n\n return this.fileLimit && this.fileLimit < totalFileCount;\n }\n\n isChooseDisabled() {\n if (this.auto) {\n return this.fileLimit && this.fileLimit <= this.files.length;\n } else {\n return this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount;\n }\n }\n\n checkFileLimit(files: File[]) {\n this.msgs ??= [];\n const hasExistingValidationMessages = this.msgs.length > 0 && this.fileLimit < files.length;\n if (this.isFileLimitExceeded() || hasExistingValidationMessages) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileLimitMessageSummary.replace('{0}', (this.fileLimit as number).toString()),\n detail: this.invalidFileLimitMessageDetail.replace('{0}', (this.fileLimit as number).toString())\n });\n }\n }\n\n clearInputElement() {\n if (this.advancedFileInput && this.advancedFileInput.nativeElement) {\n this.advancedFileInput.nativeElement.value = '';\n }\n\n if (this.basicFileInput && this.basicFileInput.nativeElement) {\n this.basicFileInput.nativeElement.value = '';\n }\n }\n\n clearIEInput() {\n if (this.advancedFileInput && this.advancedFileInput.nativeElement) {\n this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again\n this.advancedFileInput.nativeElement.value = '';\n }\n }\n\n hasFiles(): boolean {\n return this.files && this.files.length > 0;\n }\n\n onDragEnter(e: DragEvent) {\n if (!this.disabled) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n onDragOver(e: DragEvent) {\n if (!this.disabled) {\n DomHandler.addClass(this.content?.nativeElement, 'p-fileupload-highlight');\n this.dragHighlight = true;\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n onDragLeave(event: DragEvent) {\n if (!this.disabled) {\n DomHandler.removeClass(this.content?.nativeElement, 'p-fileupload-highlight');\n }\n }\n\n onDrop(event: any) {\n if (!this.disabled) {\n DomHandler.removeClass(this.content?.nativeElement, 'p-fileupload-highlight');\n event.stopPropagation();\n event.preventDefault();\n\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n let allowDrop = this.multiple || (files && files.length === 1);\n\n if (allowDrop) {\n this.onFileSelect(event);\n }\n }\n }\n\n onFocus() {\n this.focus = true;\n }\n\n onBlur() {\n this.focus = false;\n }\n\n formatSize(bytes: number) {\n const k = 1024;\n const dm = 3;\n const sizes = this.getTranslation(TranslationKeys.FILE_SIZE_TYPES);\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = (bytes / Math.pow(k, i)).toFixed(dm);\n\n return `${formattedSize} ${sizes[i]}`;\n }\n\n onBasicUploaderClick() {\n if (this.hasFiles()) this.upload();\n else this.basicFileInput?.nativeElement.click();\n }\n\n onBasicKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Space':\n case 'Enter':\n this.onBasicUploaderClick();\n\n event.preventDefault();\n break;\n }\n }\n\n imageError(event: Event) {\n this.onImageError.emit(event);\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n get chooseButtonLabel(): string {\n return this.chooseLabel || this.config.getTranslation(TranslationKeys.CHOOSE);\n }\n\n get uploadButtonLabel(): string {\n return this.uploadLabel || this.config.getTranslation(TranslationKeys.UPLOAD);\n }\n\n get cancelButtonLabel(): string {\n return this.cancelLabel || this.config.getTranslation(TranslationKeys.CANCEL);\n }\n\n get browseFilesLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)[TranslationKeys.BROWSE_FILES];\n }\n\n ngOnDestroy() {\n if (this.content && this.content.nativeElement) {\n if (this.dragOverListener) {\n this.dragOverListener();\n this.dragOverListener = null;\n }\n }\n\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon],\n exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule],\n declarations: [FileUpload]\n})\nexport class FileUploadModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-fileupload.mjs","sources":["../../src/app/components/fileupload/fileupload.ts","../../src/app/components/fileupload/primeng-fileupload.ts"],"sourcesContent":["import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { HttpClient, HttpEvent, HttpEventType, HttpHeaders } from '@angular/common/http';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { BlockableUI, Message, PrimeNGConfig, PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { DomHandler } from 'primeng/dom';\nimport { PlusIcon } from 'primeng/icons/plus';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { UploadIcon } from 'primeng/icons/upload';\nimport { MessagesModule } from 'primeng/messages';\nimport { ProgressBarModule } from 'primeng/progressbar';\nimport { RippleModule } from 'primeng/ripple';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { Subscription } from 'rxjs';\nimport { FileBeforeUploadEvent, FileProgressEvent, FileRemoveEvent, FileSelectEvent, FileSendEvent, FileUploadErrorEvent, FileUploadEvent, FileUploadHandlerEvent, RemoveUploadedFileEvent } from './fileupload.interface';\n/**\n * FileUpload is an advanced uploader with dragdrop support, multi file uploads, auto uploading, progress tracking and validations.\n * @group Components\n */\n@Component({\n selector: 'p-fileUpload',\n template: `\n <div [ngClass]=\"'p-fileupload p-fileupload-advanced p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"mode === 'advanced'\" [attr.data-pc-name]=\"'fileupload'\" [attr.data-pc-section]=\"'root'\">\n <input\n [attr.aria-label]=\"browseFilesLabel\"\n #advancedfileinput\n type=\"file\"\n (change)=\"onFileSelect($event)\"\n [multiple]=\"multiple\"\n [accept]=\"accept\"\n [disabled]=\"disabled || isChooseDisabled()\"\n [attr.title]=\"''\"\n [attr.data-pc-section]=\"'input'\"\n [style.display]=\"'none'\"\n />\n <div class=\"p-fileupload-buttonbar\" [attr.data-pc-section]=\"'buttonbar'\">\n <ng-container *ngIf=\"!headerTemplate\">\n <span\n class=\"p-button p-component p-fileupload-choose\"\n [ngClass]=\"{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n pRipple\n (click)=\"choose()\"\n (keydown.enter)=\"choose()\"\n tabindex=\"0\"\n [class]=\"chooseStyleClass\"\n [attr.data-pc-section]=\"'choosebutton'\"\n >\n <input\n [attr.aria-label]=\"browseFilesLabel\"\n #advancedfileinput\n type=\"file\"\n (change)=\"onFileSelect($event)\"\n [multiple]=\"multiple\"\n [accept]=\"accept\"\n [disabled]=\"disabled || isChooseDisabled()\"\n [attr.title]=\"''\"\n [attr.data-pc-section]=\"'input'\"\n />\n <span *ngIf=\"chooseIcon\" [ngClass]=\"'p-button-icon p-button-icon-left'\" [class]=\"chooseIcon\" [attr.aria-label]=\"true\" [attr.data-pc-section]=\"'chooseicon'\"></span>\n <ng-container *ngIf=\"!chooseIcon\">\n <PlusIcon *ngIf=\"!chooseIconTemplate\" [styleClass]=\"'p-button-icon p-button-icon-left'\" [attr.aria-label]=\"true\" [attr.data-pc-section]=\"'chooseicon'\" />\n <span *ngIf=\"chooseIconTemplate\" class=\"p-button-icon p-button-icon-left\" [attr.aria-label]=\"true\" [attr.data-pc-section]=\"'chooseicon'\">\n <ng-template *ngTemplateOutlet=\"chooseIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <span class=\"p-button-label\" [attr.data-pc-section]=\"'choosebuttonlabel'\">{{ chooseButtonLabel }}</span>\n </span>\n\n <p-button *ngIf=\"!auto && showUploadButton\" type=\"button\" [label]=\"uploadButtonLabel\" (onClick)=\"upload()\" [disabled]=\"!hasFiles() || isFileLimitExceeded()\" [styleClass]=\"uploadStyleClass\">\n <span *ngIf=\"uploadIcon\" [ngClass]=\"uploadIcon\" [attr.aria-hidden]=\"true\" class=\"p-button-icon p-button-icon-left\"></span>\n <ng-container *ngIf=\"!uploadIcon\">\n <UploadIcon *ngIf=\"!uploadIconTemplate\" [styleClass]=\"'p-button-icon p-button-icon-left'\" />\n <span *ngIf=\"uploadIconTemplate\" class=\"p-button-icon p-button-icon-left\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"uploadIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </p-button>\n <p-button *ngIf=\"!auto && showCancelButton\" type=\"button\" [label]=\"cancelButtonLabel\" (onClick)=\"clear()\" [disabled]=\"!hasFiles() || uploading\" [styleClass]=\"cancelStyleClass\">\n <span *ngIf=\"cancelIcon\" [ngClass]=\"cancelIcon\" class=\"p-button-icon p-button-icon-left\"></span>\n <ng-container *ngIf=\"!cancelIcon\">\n <TimesIcon *ngIf=\"!cancelIconTemplate\" [styleClass]=\"'p-button-icon p-button-icon-left'\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"cancelIconTemplate\" class=\"p-button-icon p-button-icon-left\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"cancelIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </p-button>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, chooseCallback: choose.bind(this), clearCallback: clear.bind(this), uploadCallback: upload.bind(this) }\"></ng-container>\n <ng-container *ngTemplateOutlet=\"toolbarTemplate\"></ng-container>\n </div>\n <div #content class=\"p-fileupload-content\" (dragenter)=\"onDragEnter($event)\" (dragleave)=\"onDragLeave($event)\" (drop)=\"onDrop($event)\" [attr.data-pc-section]=\"'content'\">\n <p-progressBar [value]=\"progress\" [showValue]=\"false\" *ngIf=\"hasFiles()\"></p-progressBar>\n\n <p-messages [value]=\"msgs\" [enableService]=\"false\"></p-messages>\n\n <div class=\"p-fileupload-files\" *ngIf=\"hasFiles()\">\n <div *ngIf=\"!fileTemplate\">\n <div class=\"p-fileupload-row\" *ngFor=\"let file of files; let i = index\">\n <div><img [src]=\"file.objectURL\" *ngIf=\"isImage(file)\" [width]=\"previewWidth\" (error)=\"imageError($event)\" /></div>\n <div class=\"p-fileupload-filename\">{{ file.name }}</div>\n <div>{{ formatSize(file.size) }}</div>\n <div>\n <button type=\"button\" pButton (click)=\"remove($event, i)\" [disabled]=\"uploading\" class=\"p-button-icon-only\" [class]=\"removeStyleClass\">\n <TimesIcon *ngIf=\"!cancelIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"cancelIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n </div>\n <div *ngIf=\"fileTemplate\">\n <ng-template ngFor [ngForOf]=\"files\" [ngForTemplate]=\"fileTemplate\"></ng-template>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, removeUploadedFileCallback: removeUploadedFile.bind(this), progress: progress, messages: msgs }\"></ng-container>\n <div *ngIf=\"emptyTemplate && !hasFiles() && !uploadedFileCount\" class=\"p-fileupload-empty\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </div>\n </div>\n </div>\n <div class=\"p-fileupload p-fileupload-basic p-component\" *ngIf=\"mode === 'basic'\" [attr.data-pc-name]=\"'fileupload'\">\n <p-messages [value]=\"msgs\" [enableService]=\"false\"></p-messages>\n <span\n [ngClass]=\"{ 'p-button p-component p-fileupload-choose': true, 'p-button-icon-only': !basicButtonLabel, 'p-fileupload-choose-selected': hasFiles(), 'p-focus': focus, 'p-disabled': disabled }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n (click)=\"onBasicUploaderClick()\"\n (keydown)=\"onBasicKeydown($event)\"\n tabindex=\"0\"\n pRipple\n [attr.data-pc-section]=\"'choosebutton'\"\n >\n <ng-container *ngIf=\"hasFiles() && !auto; else chooseSection\">\n <span *ngIf=\"uploadIcon\" class=\"p-button-icon p-button-icon-left\" [ngClass]=\"uploadIcon\"></span>\n <ng-container *ngIf=\"!uploadIcon\">\n <UploadIcon *ngIf=\"!uploadIconTemplate\" [styleClass]=\"'p-button-icon p-button-icon-left'\" />\n <span *ngIf=\"uploadIconTemplate\" class=\"p-button-icon p-button-icon-left\">\n <ng-template *ngTemplateOutlet=\"uploadIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </ng-container>\n <ng-template #chooseSection>\n <span *ngIf=\"chooseIcon\" class=\"p-button-icon p-button-icon-left pi\" [ngClass]=\"chooseIcon\"></span>\n <ng-container *ngIf=\"!chooseIcon\">\n <PlusIcon [styleClass]=\"'p-button-icon p-button-icon-left pi'\" *ngIf=\"!chooseIconTemplate\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'uploadicon'\" />\n <span *ngIf=\"chooseIconTemplate\" class=\"p-button-icon p-button-icon-left pi\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'uploadicon'\">\n <ng-template *ngTemplateOutlet=\"chooseIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </ng-template>\n <span *ngIf=\"basicButtonLabel\" class=\"p-button-label\" [attr.data-pc-section]=\"'label'\">{{ basicButtonLabel }}</span>\n <input\n [attr.aria-label]=\"browseFilesLabel\"\n #basicfileinput\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelect($event)\"\n *ngIf=\"!hasFiles()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [attr.data-pc-section]=\"'input'\"\n />\n </span>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./fileupload.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class FileUpload implements AfterViewInit, AfterContentInit, OnInit, OnDestroy, BlockableUI {\n /**\n * Name of the request parameter to identify the files at backend.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * Remote url to upload the files.\n * @group Props\n */\n @Input() url: string | undefined;\n /**\n * HTTP method to send the files to the url such as \"post\" and \"put\".\n * @group Props\n */\n @Input() method: 'post' | 'put' | undefined = 'post';\n /**\n * Used to select multiple files at once from file dialog.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * 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\").\n * @group Props\n */\n @Input() accept: string | undefined;\n /**\n * Disables the upload functionality.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When enabled, upload begins automatically after selection is completed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) auto: boolean | undefined;\n /**\n * Cross-site Access-Control requests should be made using credentials such as cookies, authorization headers or TLS client certificates.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) withCredentials: boolean | undefined;\n /**\n * Maximum file size allowed in bytes.\n * @group Props\n */\n @Input({ transform: numberAttribute }) maxFileSize: number | undefined;\n /**\n * Summary message of the invalid file size.\n * @group Props\n */\n @Input() invalidFileSizeMessageSummary: string = '{0}: Invalid file size, ';\n /**\n * Detail message of the invalid file size.\n * @group Props\n */\n @Input() invalidFileSizeMessageDetail: string = 'maximum upload size is {0}.';\n /**\n * Summary message of the invalid file type.\n * @group Props\n */\n @Input() invalidFileTypeMessageSummary: string = '{0}: Invalid file type, ';\n /**\n * Detail message of the invalid file type.\n * @group Props\n */\n @Input() invalidFileTypeMessageDetail: string = 'allowed file types: {0}.';\n /**\n * Detail message of the invalid file type.\n * @group Props\n */\n @Input() invalidFileLimitMessageDetail: string = 'limit is {0} at most.';\n /**\n * Summary message of the invalid file type.\n * @group Props\n */\n @Input() invalidFileLimitMessageSummary: string = 'Maximum number of files exceeded, ';\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Width of the image thumbnail in pixels.\n * @group Props\n */\n @Input({ transform: numberAttribute }) previewWidth: number = 50;\n /**\n * Label of the choose button. Defaults to PrimeNG Locale configuration.\n * @group Props\n */\n @Input() chooseLabel: string | undefined;\n /**\n * Label of the upload button. Defaults to PrimeNG Locale configuration.\n * @group Props\n */\n @Input() uploadLabel: string | undefined;\n /**\n * Label of the cancel button. Defaults to PrimeNG Locale configuration.\n * @group Props\n */\n @Input() cancelLabel: string | undefined;\n /**\n * Icon of the choose button.\n * @group Props\n */\n @Input() chooseIcon: string | undefined;\n /**\n * Icon of the upload button.\n * @group Props\n */\n @Input() uploadIcon: string | undefined;\n /**\n * Icon of the cancel button.\n * @group Props\n */\n @Input() cancelIcon: string | undefined;\n /**\n * Whether to show the upload button.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showUploadButton: boolean = true;\n /**\n * Whether to show the cancel button.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showCancelButton: boolean = true;\n /**\n * Defines the UI of the component.\n * @group Props\n */\n @Input() mode: 'advanced' | 'basic' | undefined = 'advanced';\n /**\n * HttpHeaders class represents the header configuration options for an HTTP request.\n * @group Props\n */\n @Input() headers: HttpHeaders | undefined;\n /**\n * Whether to use the default upload or a manual implementation defined in uploadHandler callback. Defaults to PrimeNG Locale configuration.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) customUpload: boolean | undefined;\n /**\n * Maximum number of files that can be uploaded.\n * @group Props\n */\n @Input({ transform: (value: unknown) => numberAttribute(value, null) }) fileLimit: number | undefined;\n /**\n * Style class of the upload button.\n * @group Props\n */\n @Input() uploadStyleClass: string | undefined;\n /**\n * Style class of the cancel button.\n * @group Props\n */\n @Input() cancelStyleClass: string | undefined;\n /**\n * Style class of the remove button.\n * @group Props\n */\n @Input() removeStyleClass: string | undefined;\n /**\n * Style class of the choose button.\n * @group Props\n */\n @Input() chooseStyleClass: string | undefined;\n /**\n * Callback to invoke before file upload is initialized.\n * @param {FileBeforeUploadEvent} event - Custom upload event.\n * @group Emits\n */\n @Output() onBeforeUpload: EventEmitter<FileBeforeUploadEvent> = new EventEmitter<FileBeforeUploadEvent>();\n /**\n * 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.\n * @param {FileSendEvent} event - Custom send event.\n * @group Emits\n */\n @Output() onSend: EventEmitter<FileSendEvent> = new EventEmitter<FileSendEvent>();\n /**\n * Callback to invoke when file upload is complete.\n * @param {FileUploadEvent} event - Custom upload event.\n * @group Emits\n */\n @Output() onUpload: EventEmitter<FileUploadEvent> = new EventEmitter<FileUploadEvent>();\n /**\n * Callback to invoke if file upload fails.\n * @param {FileUploadErrorEvent} event - Custom error event.\n * @group Emits\n */\n @Output() onError: EventEmitter<FileUploadErrorEvent> = new EventEmitter<FileUploadErrorEvent>();\n /**\n * Callback to invoke when files in queue are removed without uploading using clear all button.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClear: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when a file is removed without uploading using clear button of a file.\n * @param {FileRemoveEvent} event - Remove event.\n * @group Emits\n */\n @Output() onRemove: EventEmitter<FileRemoveEvent> = new EventEmitter<FileRemoveEvent>();\n /**\n * Callback to invoke when files are selected.\n * @param {FileSelectEvent} event - Select event.\n * @group Emits\n */\n @Output() onSelect: EventEmitter<FileSelectEvent> = new EventEmitter<FileSelectEvent>();\n /**\n * Callback to invoke when files are being uploaded.\n * @param {FileProgressEvent} event - Progress event.\n * @group Emits\n */\n @Output() onProgress: EventEmitter<FileProgressEvent> = new EventEmitter<FileProgressEvent>();\n /**\n * Callback to invoke in custom upload mode to upload the files manually.\n * @param {FileUploadHandlerEvent} event - Upload handler event.\n * @group Emits\n */\n @Output() uploadHandler: EventEmitter<FileUploadHandlerEvent> = new EventEmitter<FileUploadHandlerEvent>();\n /**\n * This event is triggered if an error occurs while loading an image file.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onImageError: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * This event is triggered if an error occurs while loading an image file.\n * @param {RemoveUploadedFileEvent} event - Remove event.\n * @group Emits\n */\n @Output() onRemoveUploadedFile: EventEmitter<RemoveUploadedFileEvent> = new EventEmitter<RemoveUploadedFileEvent>();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n @ViewChild('advancedfileinput') advancedFileInput: ElementRef | undefined | any;\n\n @ViewChild('basicfileinput') basicFileInput: ElementRef | undefined;\n\n @ViewChild('content') content: ElementRef | undefined;\n\n @Input() set files(files) {\n this._files = [];\n\n for (let i = 0; i < files.length; i++) {\n let file = files[i];\n\n if (this.validate(file)) {\n if (this.isImage(file)) {\n (<any>file).objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n\n this._files.push(files[i]);\n }\n }\n }\n\n get files(): File[] {\n return this._files;\n }\n\n public get basicButtonLabel(): string {\n if (this.auto || !this.hasFiles()) {\n return this.chooseLabel as string;\n }\n\n return this.uploadLabel ?? this.files[0].name;\n }\n\n public _files: File[] = [];\n\n public progress: number = 0;\n\n public dragHighlight: boolean | undefined;\n\n public msgs: Message[] | undefined;\n\n public fileTemplate: TemplateRef<any> | undefined;\n\n public headerTemplate: TemplateRef<any> | undefined;\n\n public contentTemplate: TemplateRef<any> | undefined;\n\n public toolbarTemplate: TemplateRef<any> | undefined;\n\n chooseIconTemplate: TemplateRef<any> | undefined;\n\n uploadIconTemplate: TemplateRef<any> | undefined;\n\n cancelIconTemplate: TemplateRef<any> | undefined;\n\n emptyTemplate: TemplateRef<any> | undefined;\n\n public uploadedFileCount: number = 0;\n\n focus: boolean | undefined;\n\n uploading: boolean | undefined;\n\n duplicateIEEvent: boolean | undefined; // flag to recognize duplicate onchange event for file input\n\n translationSubscription: Subscription | undefined;\n\n dragOverListener: VoidListener;\n\n public uploadedFiles = [];\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n private renderer: Renderer2,\n private el: ElementRef,\n public sanitizer: DomSanitizer,\n public zone: NgZone,\n private http: HttpClient,\n public cd: ChangeDetectorRef,\n public config: PrimeNGConfig\n ) {}\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'file':\n this.fileTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'toolbar':\n this.toolbarTemplate = item.template;\n break;\n\n case 'chooseicon':\n this.chooseIconTemplate = item.template;\n break;\n\n case 'uploadicon':\n this.uploadIconTemplate = item.template;\n break;\n\n case 'cancelicon':\n this.cancelIconTemplate = item.template;\n break;\n\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n\n default:\n this.fileTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnInit() {\n this.translationSubscription = this.config.translationObserver.subscribe(() => {\n this.cd.markForCheck();\n });\n }\n\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.mode === 'advanced') {\n this.zone.runOutsideAngular(() => {\n if (this.content) {\n this.dragOverListener = this.renderer.listen(this.content.nativeElement, 'dragover', this.onDragOver.bind(this));\n }\n });\n }\n }\n }\n\n getTranslation(option: string) {\n return this.config.getTranslation(option);\n }\n\n choose() {\n this.advancedFileInput?.nativeElement.click();\n }\n\n onFileSelect(event: any) {\n if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {\n this.duplicateIEEvent = false;\n return;\n }\n\n this.msgs = [];\n if (!this.multiple) {\n this.files = [];\n }\n\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n for (let i = 0; i < files.length; i++) {\n let file = files[i];\n\n if (!this.isFileSelected(file)) {\n if (this.validate(file)) {\n if (this.isImage(file)) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n\n this.files.push(files[i]);\n }\n }\n }\n\n this.onSelect.emit({ originalEvent: event, files: files, currentFiles: this.files });\n\n // this will check the fileLimit with the uploaded files\n this.checkFileLimit(files);\n\n if (this.hasFiles() && this.auto && (this.mode !== 'advanced' || !this.isFileLimitExceeded())) {\n this.upload();\n }\n\n if (event.type !== 'drop' && this.isIE11()) {\n this.clearIEInput();\n } else {\n this.clearInputElement();\n }\n }\n\n isFileSelected(file: File): boolean {\n for (let sFile of this.files) {\n if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) {\n return true;\n }\n }\n\n return false;\n }\n\n isIE11() {\n if (isPlatformBrowser(this.platformId)) {\n return !!(this.document.defaultView as any)['MSInputMethodContext'] && !!(this.document as any)['documentMode'];\n }\n }\n\n validate(file: File): boolean {\n this.msgs = this.msgs || [];\n if (this.accept && !this.isFileTypeValid(file)) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileTypeMessageSummary.replace('{0}', file.name),\n detail: this.invalidFileTypeMessageDetail.replace('{0}', this.accept)\n });\n return false;\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileSizeMessageSummary.replace('{0}', file.name),\n detail: this.invalidFileSizeMessageDetail.replace('{0}', this.formatSize(this.maxFileSize))\n });\n return false;\n }\n\n return true;\n }\n\n private isFileTypeValid(file: File): boolean {\n let acceptableTypes = this.accept?.split(',').map((type) => type.trim());\n for (let type of acceptableTypes!) {\n let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();\n\n if (acceptable) {\n return true;\n }\n }\n\n return false;\n }\n\n getTypeClass(fileType: string): string {\n return fileType.substring(0, fileType.indexOf('/'));\n }\n\n isWildcard(fileType: string): boolean {\n return fileType.indexOf('*') !== -1;\n }\n\n getFileExtension(file: File): string {\n return '.' + file.name.split('.').pop();\n }\n\n isImage(file: File): boolean {\n return /^image\\//.test(file.type);\n }\n\n onImageLoad(img: any) {\n window.URL.revokeObjectURL(img.src);\n }\n /**\n * Uploads the selected files.\n * @group Method\n */\n upload() {\n if (this.customUpload) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.uploadHandler.emit({\n files: this.files\n });\n\n this.cd.markForCheck();\n } else {\n this.uploading = true;\n this.msgs = [];\n let formData = new FormData();\n\n this.onBeforeUpload.emit({\n formData: formData\n });\n\n for (let i = 0; i < this.files.length; i++) {\n formData.append(this.name!, this.files[i], this.files[i].name);\n }\n\n this.http\n .request(<string>this.method, this.url as string, {\n body: formData,\n headers: this.headers,\n reportProgress: true,\n observe: 'events',\n withCredentials: this.withCredentials\n })\n .subscribe(\n (event: HttpEvent<any>) => {\n switch (event.type) {\n case HttpEventType.Sent:\n this.onSend.emit({\n originalEvent: event,\n formData: formData\n });\n break;\n case HttpEventType.Response:\n this.uploading = false;\n this.progress = 0;\n\n if (event['status'] >= 200 && event['status'] < 300) {\n if (this.fileLimit) {\n this.uploadedFileCount += this.files.length;\n }\n\n this.onUpload.emit({ originalEvent: event, files: this.files });\n } else {\n this.onError.emit({ files: this.files });\n }\n this.uploadedFiles.push(...this.files);\n this.clear();\n break;\n case HttpEventType.UploadProgress: {\n if (event['loaded']) {\n this.progress = Math.round((event['loaded'] * 100) / event['total']!);\n }\n\n this.onProgress.emit({ originalEvent: event, progress: this.progress });\n break;\n }\n }\n\n this.cd.markForCheck();\n },\n (error: ErrorEvent) => {\n this.uploading = false;\n this.onError.emit({ files: this.files, error: error });\n }\n );\n }\n }\n /**\n * Clears the files list.\n * @group Method\n */\n clear() {\n this.files = [];\n this.uploadedFileCount = 0;\n this.onClear.emit();\n this.clearInputElement();\n this.cd.markForCheck();\n }\n /**\n * Removes a single file.\n * @param {Event} event - Browser event.\n * @param {Number} index - Index of the file.\n * @group Method\n */\n remove(event: Event, index: number) {\n this.clearInputElement();\n this.onRemove.emit({ originalEvent: event, file: this.files[index] });\n this.files.splice(index, 1);\n this.checkFileLimit(this.files);\n }\n /**\n * Removes uploaded file.\n * @param {Number} index - Index of the file to be removed.\n * @group Method\n */\n removeUploadedFile(index) {\n let removedFile = this.uploadedFiles.splice(index, 1)[0];\n this.uploadedFiles = [...this.uploadedFiles];\n this.onRemoveUploadedFile.emit({ file: removedFile, files: this.uploadedFiles });\n }\n\n isFileLimitExceeded() {\n const isAutoMode = this.auto;\n const totalFileCount = isAutoMode ? this.files.length : this.files.length + this.uploadedFileCount;\n\n if (this.fileLimit && this.fileLimit <= totalFileCount && this.focus) {\n this.focus = false;\n }\n\n return this.fileLimit && this.fileLimit < totalFileCount;\n }\n\n isChooseDisabled() {\n if (this.auto) {\n return this.fileLimit && this.fileLimit <= this.files.length;\n } else {\n return this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount;\n }\n }\n\n checkFileLimit(files: File[]) {\n this.msgs ??= [];\n const hasExistingValidationMessages = this.msgs.length > 0 && this.fileLimit < files.length;\n if (this.isFileLimitExceeded() || hasExistingValidationMessages) {\n this.msgs.push({\n severity: 'error',\n summary: this.invalidFileLimitMessageSummary.replace('{0}', (this.fileLimit as number).toString()),\n detail: this.invalidFileLimitMessageDetail.replace('{0}', (this.fileLimit as number).toString())\n });\n }\n }\n\n clearInputElement() {\n if (this.advancedFileInput && this.advancedFileInput.nativeElement) {\n this.advancedFileInput.nativeElement.value = '';\n }\n\n if (this.basicFileInput && this.basicFileInput.nativeElement) {\n this.basicFileInput.nativeElement.value = '';\n }\n }\n\n clearIEInput() {\n if (this.advancedFileInput && this.advancedFileInput.nativeElement) {\n this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again\n this.advancedFileInput.nativeElement.value = '';\n }\n }\n\n hasFiles(): boolean {\n return this.files && this.files.length > 0;\n }\n\n onDragEnter(e: DragEvent) {\n if (!this.disabled) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n onDragOver(e: DragEvent) {\n if (!this.disabled) {\n DomHandler.addClass(this.content?.nativeElement, 'p-fileupload-highlight');\n this.dragHighlight = true;\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n onDragLeave(event: DragEvent) {\n if (!this.disabled) {\n DomHandler.removeClass(this.content?.nativeElement, 'p-fileupload-highlight');\n }\n }\n\n onDrop(event: any) {\n if (!this.disabled) {\n DomHandler.removeClass(this.content?.nativeElement, 'p-fileupload-highlight');\n event.stopPropagation();\n event.preventDefault();\n\n let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;\n let allowDrop = this.multiple || (files && files.length === 1);\n\n if (allowDrop) {\n this.onFileSelect(event);\n }\n }\n }\n\n onFocus() {\n this.focus = true;\n }\n\n onBlur() {\n this.focus = false;\n }\n\n formatSize(bytes: number) {\n const k = 1024;\n const dm = 3;\n const sizes = this.getTranslation(TranslationKeys.FILE_SIZE_TYPES);\n\n if (bytes === 0) {\n return `0 ${sizes[0]}`;\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const formattedSize = (bytes / Math.pow(k, i)).toFixed(dm);\n\n return `${formattedSize} ${sizes[i]}`;\n }\n\n onBasicUploaderClick() {\n if (this.hasFiles()) this.upload();\n else this.basicFileInput?.nativeElement.click();\n }\n\n onBasicKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Space':\n case 'Enter':\n this.onBasicUploaderClick();\n\n event.preventDefault();\n break;\n }\n }\n\n imageError(event: Event) {\n this.onImageError.emit(event);\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n get chooseButtonLabel(): string {\n return this.chooseLabel || this.config.getTranslation(TranslationKeys.CHOOSE);\n }\n\n get uploadButtonLabel(): string {\n return this.uploadLabel || this.config.getTranslation(TranslationKeys.UPLOAD);\n }\n\n get cancelButtonLabel(): string {\n return this.cancelLabel || this.config.getTranslation(TranslationKeys.CANCEL);\n }\n\n get browseFilesLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)[TranslationKeys.BROWSE_FILES];\n }\n\n ngOnDestroy() {\n if (this.content && this.content.nativeElement) {\n if (this.dragOverListener) {\n this.dragOverListener();\n this.dragOverListener = null;\n }\n }\n\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon],\n exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule],\n declarations: [FileUpload]\n})\nexport class FileUploadModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -9,14 +9,14 @@ import { RouterModule } from '@angular/router';
9
9
  * @group Components
10
10
  */
11
11
  class FloatLabel {
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FloatLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FloatLabel, selector: "p-floatLabel", ngImport: i0, template: `
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FloatLabel, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: FloatLabel, selector: "p-floatLabel", ngImport: i0, template: `
14
14
  <span class="p-float-label">
15
15
  <ng-content></ng-content>
16
16
  </span>
17
17
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FloatLabel, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FloatLabel, decorators: [{
20
20
  type: Component,
21
21
  args: [{
22
22
  selector: 'p-floatLabel',
@@ -30,11 +30,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
30
30
  }]
31
31
  }] });
32
32
  class FloatLabelModule {
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FloatLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FloatLabelModule, declarations: [FloatLabel], imports: [CommonModule, SharedModule, RouterModule], exports: [FloatLabel, SharedModule] });
35
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FloatLabelModule, imports: [CommonModule, SharedModule, RouterModule, SharedModule] });
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FloatLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: FloatLabelModule, declarations: [FloatLabel], imports: [CommonModule, SharedModule, RouterModule], exports: [FloatLabel, SharedModule] });
35
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FloatLabelModule, imports: [CommonModule, SharedModule, RouterModule, SharedModule] });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FloatLabelModule, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FloatLabelModule, decorators: [{
38
38
  type: NgModule,
39
39
  args: [{
40
40
  imports: [CommonModule, SharedModule, RouterModule],
@@ -24,10 +24,10 @@ class FocusTrap {
24
24
  }
25
25
  }
26
26
  }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FocusTrap, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.1", type: FocusTrap, selector: "[pFocusTrap]", inputs: { pFocusTrapDisabled: ["pFocusTrapDisabled", "pFocusTrapDisabled", booleanAttribute] }, host: { listeners: { "keydown.tab": "onkeydown($event)", "keydown.shift.tab": "onkeydown($event)" }, classAttribute: "p-element" }, ngImport: i0 });
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FocusTrap, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.7", type: FocusTrap, selector: "[pFocusTrap]", inputs: { pFocusTrapDisabled: ["pFocusTrapDisabled", "pFocusTrapDisabled", booleanAttribute] }, host: { listeners: { "keydown.tab": "onkeydown($event)", "keydown.shift.tab": "onkeydown($event)" }, classAttribute: "p-element" }, ngImport: i0 });
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FocusTrap, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FocusTrap, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: '[pFocusTrap]',
@@ -46,11 +46,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
46
46
  args: ['keydown.shift.tab', ['$event']]
47
47
  }] } });
48
48
  class FocusTrapModule {
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FocusTrapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
50
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: FocusTrapModule, declarations: [FocusTrap], imports: [CommonModule], exports: [FocusTrap] });
51
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FocusTrapModule, imports: [CommonModule] });
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FocusTrapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
50
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: FocusTrapModule, declarations: [FocusTrap], imports: [CommonModule], exports: [FocusTrap] });
51
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FocusTrapModule, imports: [CommonModule] });
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FocusTrapModule, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FocusTrapModule, decorators: [{
54
54
  type: NgModule,
55
55
  args: [{
56
56
  imports: [CommonModule],