primeng 16.7.2 → 16.9.0

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 (417) hide show
  1. package/breadcrumb/breadcrumb.interface.d.ts +2 -2
  2. package/calendar/calendar.d.ts +10 -1
  3. package/chart/chart.d.ts +11 -1
  4. package/chips/chips.d.ts +1 -2
  5. package/dropdown/dropdown.d.ts +7 -3
  6. package/esm2022/accordion/accordion.mjs +10 -10
  7. package/esm2022/animate/animate.mjs +7 -7
  8. package/esm2022/animateonscroll/animateonscroll.mjs +7 -7
  9. package/esm2022/api/confirmationservice.mjs +3 -3
  10. package/esm2022/api/contextmenuservice.mjs +3 -3
  11. package/esm2022/api/filterservice.mjs +3 -3
  12. package/esm2022/api/messageservice.mjs +3 -3
  13. package/esm2022/api/overlayservice.mjs +3 -3
  14. package/esm2022/api/primengconfig.mjs +3 -3
  15. package/esm2022/api/shared.mjs +13 -13
  16. package/esm2022/api/treedragdropservice.mjs +3 -3
  17. package/esm2022/autocomplete/autocomplete.mjs +38 -18
  18. package/esm2022/autofocus/autofocus.mjs +7 -7
  19. package/esm2022/avatar/avatar.mjs +7 -7
  20. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  21. package/esm2022/badge/badge.mjs +10 -10
  22. package/esm2022/baseicon/baseicon.mjs +3 -3
  23. package/esm2022/blockui/blockui.mjs +7 -7
  24. package/esm2022/breadcrumb/breadcrumb.interface.mjs +1 -1
  25. package/esm2022/breadcrumb/breadcrumb.mjs +7 -7
  26. package/esm2022/button/button.mjs +10 -10
  27. package/esm2022/calendar/calendar.mjs +180 -34
  28. package/esm2022/card/card.mjs +7 -7
  29. package/esm2022/carousel/carousel.mjs +7 -7
  30. package/esm2022/cascadeselect/cascadeselect.mjs +10 -10
  31. package/esm2022/chart/chart.mjs +24 -10
  32. package/esm2022/checkbox/checkbox.mjs +7 -7
  33. package/esm2022/chip/chip.mjs +7 -7
  34. package/esm2022/chips/chips.mjs +15 -18
  35. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  36. package/esm2022/confirmdialog/confirmdialog.mjs +7 -7
  37. package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
  38. package/esm2022/contextmenu/contextmenu.mjs +18 -14
  39. package/esm2022/dataview/dataview.mjs +10 -10
  40. package/esm2022/defer/defer.mjs +7 -7
  41. package/esm2022/dialog/dialog.mjs +7 -7
  42. package/esm2022/divider/divider.mjs +7 -7
  43. package/esm2022/dock/dock.mjs +7 -7
  44. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  45. package/esm2022/dropdown/dropdown.mjs +90 -51
  46. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  47. package/esm2022/dynamicdialog/dynamicdialog.mjs +7 -7
  48. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  49. package/esm2022/editor/editor.mjs +7 -7
  50. package/esm2022/fieldset/fieldset.mjs +7 -7
  51. package/esm2022/fileupload/fileupload.mjs +18 -11
  52. package/esm2022/focustrap/focustrap.mjs +7 -7
  53. package/esm2022/galleria/galleria.mjs +19 -19
  54. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  55. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  56. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  57. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  58. package/esm2022/icons/angledown/angledown.mjs +3 -3
  59. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  60. package/esm2022/icons/angleright/angleright.mjs +3 -3
  61. package/esm2022/icons/angleup/angleup.mjs +3 -3
  62. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  63. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  64. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  65. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  66. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  67. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  68. package/esm2022/icons/ban/ban.mjs +3 -3
  69. package/esm2022/icons/bars/bars.mjs +3 -3
  70. package/esm2022/icons/calendar/calendar.mjs +3 -3
  71. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  72. package/esm2022/icons/caretright/caretright.mjs +3 -3
  73. package/esm2022/icons/check/check.mjs +3 -3
  74. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  75. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  76. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  77. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  78. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  79. package/esm2022/icons/eye/eye.mjs +3 -3
  80. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  81. package/esm2022/icons/filter/filter.mjs +3 -3
  82. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  83. package/esm2022/icons/home/home.mjs +3 -3
  84. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  85. package/esm2022/icons/minus/minus.mjs +3 -3
  86. package/esm2022/icons/pencil/pencil.mjs +3 -3
  87. package/esm2022/icons/plus/plus.mjs +3 -3
  88. package/esm2022/icons/refresh/refresh.mjs +3 -3
  89. package/esm2022/icons/search/search.mjs +3 -3
  90. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  91. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  92. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  93. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  94. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  95. package/esm2022/icons/spinner/spinner.mjs +3 -3
  96. package/esm2022/icons/star/star.mjs +3 -3
  97. package/esm2022/icons/starfill/starfill.mjs +3 -3
  98. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  99. package/esm2022/icons/times/times.mjs +3 -3
  100. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  101. package/esm2022/icons/trash/trash.mjs +3 -3
  102. package/esm2022/icons/undo/undo.mjs +3 -3
  103. package/esm2022/icons/upload/upload.mjs +3 -3
  104. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  105. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  106. package/esm2022/image/image.mjs +7 -7
  107. package/esm2022/inplace/inplace.mjs +13 -13
  108. package/esm2022/inputmask/inputmask.mjs +7 -7
  109. package/esm2022/inputnumber/inputnumber.mjs +7 -7
  110. package/esm2022/inputswitch/inputswitch.mjs +7 -7
  111. package/esm2022/inputtext/inputtext.mjs +7 -7
  112. package/esm2022/inputtextarea/inputtextarea.mjs +7 -7
  113. package/esm2022/keyfilter/keyfilter.mjs +7 -7
  114. package/esm2022/knob/knob.mjs +7 -7
  115. package/esm2022/listbox/listbox.interface.mjs +1 -1
  116. package/esm2022/listbox/listbox.mjs +52 -18
  117. package/esm2022/megamenu/megamenu.mjs +12 -14
  118. package/esm2022/menu/menu.mjs +13 -13
  119. package/esm2022/menubar/menubar.mjs +15 -15
  120. package/esm2022/message/message.mjs +7 -7
  121. package/esm2022/messages/messages.mjs +10 -10
  122. package/esm2022/multiselect/multiselect.interface.mjs +1 -1
  123. package/esm2022/multiselect/multiselect.mjs +110 -44
  124. package/esm2022/orderlist/orderlist.mjs +331 -103
  125. package/esm2022/organizationchart/organizationchart.mjs +54 -53
  126. package/esm2022/overlay/overlay.mjs +9 -9
  127. package/esm2022/overlaypanel/overlaypanel.mjs +7 -7
  128. package/esm2022/paginator/paginator.mjs +76 -25
  129. package/esm2022/panel/panel.mjs +10 -8
  130. package/esm2022/panelmenu/panelmenu.mjs +13 -13
  131. package/esm2022/password/password.mjs +13 -13
  132. package/esm2022/picklist/picklist.mjs +601 -135
  133. package/esm2022/progressbar/progressbar.mjs +7 -7
  134. package/esm2022/progressspinner/progressspinner.mjs +7 -7
  135. package/esm2022/radiobutton/radiobutton.mjs +10 -10
  136. package/esm2022/rating/rating.mjs +7 -7
  137. package/esm2022/ripple/ripple.mjs +7 -7
  138. package/esm2022/scroller/scroller.mjs +20 -16
  139. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  140. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  141. package/esm2022/selectbutton/selectbutton.mjs +7 -7
  142. package/esm2022/sidebar/sidebar.mjs +11 -11
  143. package/esm2022/skeleton/skeleton.mjs +7 -7
  144. package/esm2022/slidemenu/slidemenu.mjs +10 -10
  145. package/esm2022/slider/slider.mjs +7 -7
  146. package/esm2022/speeddial/speeddial.mjs +7 -7
  147. package/esm2022/spinner/spinner.mjs +7 -7
  148. package/esm2022/splitbutton/splitbutton.mjs +7 -7
  149. package/esm2022/splitter/splitter.mjs +10 -10
  150. package/esm2022/steps/steps.mjs +7 -7
  151. package/esm2022/styleclass/styleclass.mjs +7 -7
  152. package/esm2022/table/table.mjs +284 -154
  153. package/esm2022/tabmenu/tabmenu.mjs +7 -7
  154. package/esm2022/tabview/tabview.mjs +77 -32
  155. package/esm2022/tag/tag.mjs +7 -7
  156. package/esm2022/terminal/terminal.mjs +7 -7
  157. package/esm2022/terminal/terminalservice.mjs +3 -3
  158. package/esm2022/tieredmenu/tieredmenu.mjs +10 -10
  159. package/esm2022/timeline/timeline.mjs +25 -21
  160. package/esm2022/toast/toast.mjs +13 -13
  161. package/esm2022/togglebutton/togglebutton.mjs +7 -7
  162. package/esm2022/toolbar/toolbar.mjs +7 -7
  163. package/esm2022/tooltip/tooltip.mjs +9 -9
  164. package/esm2022/tree/tree.mjs +172 -92
  165. package/esm2022/treeselect/treeselect.mjs +134 -37
  166. package/esm2022/treetable/treetable.mjs +242 -128
  167. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +7 -7
  168. package/esm2022/virtualscroller/virtualscroller.mjs +14 -14
  169. package/fesm2022/primeng-accordion.mjs +10 -10
  170. package/fesm2022/primeng-animate.mjs +7 -7
  171. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  172. package/fesm2022/primeng-api.mjs +34 -34
  173. package/fesm2022/primeng-autocomplete.mjs +37 -17
  174. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  175. package/fesm2022/primeng-autofocus.mjs +7 -7
  176. package/fesm2022/primeng-avatar.mjs +7 -7
  177. package/fesm2022/primeng-avatargroup.mjs +7 -7
  178. package/fesm2022/primeng-badge.mjs +10 -10
  179. package/fesm2022/primeng-baseicon.mjs +3 -3
  180. package/fesm2022/primeng-blockui.mjs +7 -7
  181. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  182. package/fesm2022/primeng-button.mjs +10 -10
  183. package/fesm2022/primeng-calendar.mjs +179 -33
  184. package/fesm2022/primeng-calendar.mjs.map +1 -1
  185. package/fesm2022/primeng-card.mjs +7 -7
  186. package/fesm2022/primeng-carousel.mjs +7 -7
  187. package/fesm2022/primeng-cascadeselect.mjs +10 -10
  188. package/fesm2022/primeng-chart.mjs +23 -9
  189. package/fesm2022/primeng-chart.mjs.map +1 -1
  190. package/fesm2022/primeng-checkbox.mjs +7 -7
  191. package/fesm2022/primeng-chip.mjs +7 -7
  192. package/fesm2022/primeng-chips.mjs +14 -17
  193. package/fesm2022/primeng-chips.mjs.map +1 -1
  194. package/fesm2022/primeng-colorpicker.mjs +7 -7
  195. package/fesm2022/primeng-confirmdialog.mjs +7 -7
  196. package/fesm2022/primeng-confirmpopup.mjs +7 -7
  197. package/fesm2022/primeng-contextmenu.mjs +17 -13
  198. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  199. package/fesm2022/primeng-dataview.mjs +10 -10
  200. package/fesm2022/primeng-defer.mjs +7 -7
  201. package/fesm2022/primeng-dialog.mjs +7 -7
  202. package/fesm2022/primeng-divider.mjs +7 -7
  203. package/fesm2022/primeng-dock.mjs +7 -7
  204. package/fesm2022/primeng-dragdrop.mjs +10 -10
  205. package/fesm2022/primeng-dropdown.mjs +89 -50
  206. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  207. package/fesm2022/primeng-dynamicdialog.mjs +13 -13
  208. package/fesm2022/primeng-editor.mjs +7 -7
  209. package/fesm2022/primeng-fieldset.mjs +7 -7
  210. package/fesm2022/primeng-fileupload.mjs +17 -10
  211. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  212. package/fesm2022/primeng-focustrap.mjs +7 -7
  213. package/fesm2022/primeng-galleria.mjs +19 -19
  214. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  215. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  216. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  217. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  218. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  219. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  220. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  221. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  222. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  223. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  224. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  225. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  226. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  227. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  228. package/fesm2022/primeng-icons-ban.mjs +3 -3
  229. package/fesm2022/primeng-icons-bars.mjs +3 -3
  230. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  231. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  232. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  233. package/fesm2022/primeng-icons-check.mjs +3 -3
  234. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  235. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  236. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  237. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  238. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  239. package/fesm2022/primeng-icons-eye.mjs +3 -3
  240. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  241. package/fesm2022/primeng-icons-filter.mjs +3 -3
  242. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  243. package/fesm2022/primeng-icons-home.mjs +3 -3
  244. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  245. package/fesm2022/primeng-icons-minus.mjs +3 -3
  246. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  247. package/fesm2022/primeng-icons-plus.mjs +3 -3
  248. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  249. package/fesm2022/primeng-icons-search.mjs +3 -3
  250. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  251. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  252. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  253. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  254. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  255. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  256. package/fesm2022/primeng-icons-star.mjs +3 -3
  257. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  258. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  259. package/fesm2022/primeng-icons-times.mjs +3 -3
  260. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  261. package/fesm2022/primeng-icons-trash.mjs +3 -3
  262. package/fesm2022/primeng-icons-undo.mjs +3 -3
  263. package/fesm2022/primeng-icons-upload.mjs +3 -3
  264. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  265. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  266. package/fesm2022/primeng-image.mjs +7 -7
  267. package/fesm2022/primeng-inplace.mjs +13 -13
  268. package/fesm2022/primeng-inputmask.mjs +7 -7
  269. package/fesm2022/primeng-inputnumber.mjs +7 -7
  270. package/fesm2022/primeng-inputswitch.mjs +7 -7
  271. package/fesm2022/primeng-inputtext.mjs +7 -7
  272. package/fesm2022/primeng-inputtextarea.mjs +7 -7
  273. package/fesm2022/primeng-keyfilter.mjs +7 -7
  274. package/fesm2022/primeng-knob.mjs +7 -7
  275. package/fesm2022/primeng-listbox.mjs +51 -17
  276. package/fesm2022/primeng-listbox.mjs.map +1 -1
  277. package/fesm2022/primeng-megamenu.mjs +11 -13
  278. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  279. package/fesm2022/primeng-menu.mjs +13 -13
  280. package/fesm2022/primeng-menubar.mjs +14 -14
  281. package/fesm2022/primeng-menubar.mjs.map +1 -1
  282. package/fesm2022/primeng-message.mjs +7 -7
  283. package/fesm2022/primeng-messages.mjs +9 -9
  284. package/fesm2022/primeng-messages.mjs.map +1 -1
  285. package/fesm2022/primeng-multiselect.mjs +109 -43
  286. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  287. package/fesm2022/primeng-orderlist.mjs +334 -106
  288. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  289. package/fesm2022/primeng-organizationchart.mjs +52 -50
  290. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  291. package/fesm2022/primeng-overlay.mjs +8 -8
  292. package/fesm2022/primeng-overlay.mjs.map +1 -1
  293. package/fesm2022/primeng-overlaypanel.mjs +7 -7
  294. package/fesm2022/primeng-paginator.mjs +79 -27
  295. package/fesm2022/primeng-paginator.mjs.map +1 -1
  296. package/fesm2022/primeng-panel.mjs +9 -7
  297. package/fesm2022/primeng-panel.mjs.map +1 -1
  298. package/fesm2022/primeng-panelmenu.mjs +13 -13
  299. package/fesm2022/primeng-password.mjs +13 -13
  300. package/fesm2022/primeng-picklist.mjs +604 -138
  301. package/fesm2022/primeng-picklist.mjs.map +1 -1
  302. package/fesm2022/primeng-progressbar.mjs +7 -7
  303. package/fesm2022/primeng-progressspinner.mjs +7 -7
  304. package/fesm2022/primeng-radiobutton.mjs +10 -10
  305. package/fesm2022/primeng-rating.mjs +7 -7
  306. package/fesm2022/primeng-ripple.mjs +7 -7
  307. package/fesm2022/primeng-scroller.mjs +19 -15
  308. package/fesm2022/primeng-scroller.mjs.map +1 -1
  309. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  310. package/fesm2022/primeng-scrolltop.mjs +7 -7
  311. package/fesm2022/primeng-selectbutton.mjs +7 -7
  312. package/fesm2022/primeng-sidebar.mjs +10 -10
  313. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  314. package/fesm2022/primeng-skeleton.mjs +7 -7
  315. package/fesm2022/primeng-slidemenu.mjs +10 -10
  316. package/fesm2022/primeng-slider.mjs +7 -7
  317. package/fesm2022/primeng-speeddial.mjs +7 -7
  318. package/fesm2022/primeng-spinner.mjs +7 -7
  319. package/fesm2022/primeng-splitbutton.mjs +7 -7
  320. package/fesm2022/primeng-splitter.mjs +9 -9
  321. package/fesm2022/primeng-splitter.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +7 -7
  323. package/fesm2022/primeng-styleclass.mjs +7 -7
  324. package/fesm2022/primeng-table.mjs +283 -153
  325. package/fesm2022/primeng-table.mjs.map +1 -1
  326. package/fesm2022/primeng-tabmenu.mjs +7 -7
  327. package/fesm2022/primeng-tabview.mjs +76 -31
  328. package/fesm2022/primeng-tabview.mjs.map +1 -1
  329. package/fesm2022/primeng-tag.mjs +7 -7
  330. package/fesm2022/primeng-terminal.mjs +10 -10
  331. package/fesm2022/primeng-tieredmenu.mjs +10 -10
  332. package/fesm2022/primeng-timeline.mjs +25 -21
  333. package/fesm2022/primeng-timeline.mjs.map +1 -1
  334. package/fesm2022/primeng-toast.mjs +12 -12
  335. package/fesm2022/primeng-toast.mjs.map +1 -1
  336. package/fesm2022/primeng-togglebutton.mjs +7 -7
  337. package/fesm2022/primeng-toolbar.mjs +7 -7
  338. package/fesm2022/primeng-tooltip.mjs +8 -8
  339. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  340. package/fesm2022/primeng-tree.mjs +171 -91
  341. package/fesm2022/primeng-tree.mjs.map +1 -1
  342. package/fesm2022/primeng-treeselect.mjs +133 -36
  343. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  344. package/fesm2022/primeng-treetable.mjs +241 -127
  345. package/fesm2022/primeng-treetable.mjs.map +1 -1
  346. package/fesm2022/primeng-tristatecheckbox.mjs +7 -7
  347. package/fesm2022/primeng-virtualscroller.mjs +13 -13
  348. package/fesm2022/primeng-virtualscroller.mjs.map +1 -1
  349. package/listbox/listbox.d.ts +19 -2
  350. package/listbox/listbox.interface.d.ts +16 -1
  351. package/multiselect/multiselect.d.ts +31 -5
  352. package/multiselect/multiselect.interface.d.ts +15 -0
  353. package/orderlist/orderlist.d.ts +59 -7
  354. package/organizationchart/organizationchart.d.ts +3 -4
  355. package/package.json +54 -54
  356. package/paginator/paginator.d.ts +3 -3
  357. package/picklist/picklist.d.ts +64 -7
  358. package/resources/components/dropdown/dropdown.css +1 -7
  359. package/resources/components/messages/messages.css +1 -0
  360. package/resources/components/table/table.css +3 -3
  361. package/resources/components/toast/toast.css +1 -0
  362. package/resources/themes/arya-blue/theme.css +40 -14
  363. package/resources/themes/arya-green/theme.css +40 -14
  364. package/resources/themes/arya-orange/theme.css +40 -14
  365. package/resources/themes/arya-purple/theme.css +40 -14
  366. package/resources/themes/bootstrap4-dark-blue/theme.css +40 -14
  367. package/resources/themes/bootstrap4-dark-purple/theme.css +40 -14
  368. package/resources/themes/bootstrap4-light-blue/theme.css +40 -14
  369. package/resources/themes/bootstrap4-light-purple/theme.css +40 -14
  370. package/resources/themes/fluent-light/theme.css +40 -14
  371. package/resources/themes/lara-dark-blue/theme.css +40 -14
  372. package/resources/themes/lara-dark-indigo/theme.css +40 -14
  373. package/resources/themes/lara-dark-purple/theme.css +40 -14
  374. package/resources/themes/lara-dark-teal/theme.css +40 -14
  375. package/resources/themes/lara-light-blue/theme.css +40 -14
  376. package/resources/themes/lara-light-indigo/theme.css +40 -14
  377. package/resources/themes/lara-light-purple/theme.css +40 -14
  378. package/resources/themes/lara-light-teal/theme.css +40 -14
  379. package/resources/themes/luna-amber/theme.css +40 -14
  380. package/resources/themes/luna-blue/theme.css +40 -14
  381. package/resources/themes/luna-green/theme.css +40 -14
  382. package/resources/themes/luna-pink/theme.css +40 -14
  383. package/resources/themes/md-dark-deeppurple/theme.css +40 -14
  384. package/resources/themes/md-dark-indigo/theme.css +40 -14
  385. package/resources/themes/md-light-deeppurple/theme.css +40 -14
  386. package/resources/themes/md-light-indigo/theme.css +40 -14
  387. package/resources/themes/mdc-dark-deeppurple/theme.css +40 -14
  388. package/resources/themes/mdc-dark-indigo/theme.css +40 -14
  389. package/resources/themes/mdc-light-deeppurple/theme.css +40 -14
  390. package/resources/themes/mdc-light-indigo/theme.css +40 -14
  391. package/resources/themes/mira/theme.css +40 -14
  392. package/resources/themes/nano/theme.css +40 -14
  393. package/resources/themes/nova/theme.css +40 -14
  394. package/resources/themes/nova-accent/theme.css +40 -14
  395. package/resources/themes/nova-alt/theme.css +40 -14
  396. package/resources/themes/rhea/theme.css +40 -14
  397. package/resources/themes/saga-blue/theme.css +40 -14
  398. package/resources/themes/saga-green/theme.css +40 -14
  399. package/resources/themes/saga-orange/theme.css +40 -14
  400. package/resources/themes/saga-purple/theme.css +40 -14
  401. package/resources/themes/soho-dark/theme.css +40 -14
  402. package/resources/themes/soho-light/theme.css +40 -14
  403. package/resources/themes/tailwind-light/theme.css +40 -14
  404. package/resources/themes/vela-blue/theme.css +40 -14
  405. package/resources/themes/vela-green/theme.css +40 -14
  406. package/resources/themes/vela-orange/theme.css +40 -14
  407. package/resources/themes/vela-purple/theme.css +40 -14
  408. package/resources/themes/viva-dark/theme.css +40 -14
  409. package/resources/themes/viva-light/theme.css +40 -14
  410. package/scroller/scroller.d.ts +2 -3
  411. package/table/table.d.ts +20 -9
  412. package/tabview/tabview.d.ts +19 -2
  413. package/timeline/timeline.d.ts +1 -1
  414. package/tree/tree.d.ts +12 -1
  415. package/treeselect/treeselect.d.ts +14 -1
  416. package/treetable/treetable.d.ts +16 -2
  417. package/virtualscroller/virtualscroller.d.ts +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-messages.mjs","sources":["../../src/app/components/messages/messages.ts","../../src/app/components/messages/primeng-messages.ts"],"sourcesContent":["import { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgModule, OnDestroy, Optional, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { Message, MessageService, PrimeTemplate } from 'primeng/api';\nimport { CheckIcon } from 'primeng/icons/check';\nimport { ExclamationTriangleIcon } from 'primeng/icons/exclamationtriangle';\nimport { InfoCircleIcon } from 'primeng/icons/infocircle';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { TimesCircleIcon } from 'primeng/icons/timescircle';\nimport { RippleModule } from 'primeng/ripple';\nimport { Subscription, timer } from 'rxjs';\n/**\n * Messages is used to display alerts inline.\n * @group Components\n */\n@Component({\n selector: 'p-messages',\n template: `\n <div class=\"p-messages p-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\n <div\n *ngFor=\"let msg of messages; let i = index\"\n [class]=\"'p-message p-message-' + msg.severity\"\n role=\"alert\"\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n >\n <div class=\"p-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\">\n <span *ngIf=\"msg.icon\" [class]=\"'p-message-icon pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\n <span class=\"p-message-icon\" *ngIf=\"!msg.icon\">\n <ng-container>\n <CheckIcon *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\" />\n <InfoCircleIcon *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\" />\n <TimesCircleIcon *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\" />\n <ExclamationTriangleIcon *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n </span>\n <ng-container *ngIf=\"!escape; else escapeOut\">\n <span *ngIf=\"msg.summary\" class=\"p-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\n <span *ngIf=\"msg.detail\" class=\"p-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\n </ng-container>\n <ng-template #escapeOut>\n <span *ngIf=\"msg.summary\" class=\"p-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\n <span *ngIf=\"msg.detail\" class=\"p-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\n </ng-template>\n <button class=\"p-message-close p-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable\" type=\"button\" pRipple [attr.aria-label]=\"'Close'\" [attr.data-pc-section]=\"'closebutton'\">\n <TimesIcon [styleClass]=\"'p-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\n </button>\n </div>\n </div>\n </ng-container>\n <ng-template #staticMessage>\n <div [ngClass]=\"'p-message p-message-' + severity\" role=\"alert\">\n <div class=\"p-message-wrapper\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n </div>\n </ng-template>\n </div>\n `,\n animations: [\n trigger('messageAnimation', [\n transition(':enter', [style({ opacity: 0, transform: 'translateY(-25%)' }), animate('{{showTransitionParams}}')]),\n transition(':leave', [animate('{{hideTransitionParams}}', style({ height: 0, marginTop: 0, marginBottom: 0, marginLeft: 0, marginRight: 0, opacity: 0 }))])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./messages.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Messages implements AfterContentInit, OnDestroy {\n /**\n * An array of messages to display.\n * @group Props\n */\n @Input() set value(messages: Message[]) {\n this.messages = messages;\n this.startMessageLifes(this.messages);\n }\n /**\n * Defines if message box can be closed by the click icon.\n * @group Props\n */\n @Input() closable: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether displaying services messages are enabled.\n * @group Props\n */\n @Input() enableService: boolean = true;\n /**\n * Id to match the key of the message to enable scoping in service based messaging.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Whether displaying messages would be escaped or not.\n * @group Props\n */\n @Input() escape: boolean = true;\n /**\n * Severity level of the message.\n * @group Props\n */\n @Input() severity: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '300ms ease-out';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '200ms cubic-bezier(0.86, 0, 0.07, 1)';\n /**\n * This function is executed when the value changes.\n * @param {Message[]} value - messages value.\n * @group Emits\n */\n @Output() valueChange: EventEmitter<Message[]> = new EventEmitter<Message[]>();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n messages: Message[] | null | undefined;\n\n messageSubscription: Subscription | undefined;\n\n clearSubscription: Subscription | undefined;\n\n timerSubscriptions: Subscription[] = [];\n\n contentTemplate: TemplateRef<any> | undefined;\n\n constructor(@Optional() public messageService: MessageService, public el: ElementRef, public cd: ChangeDetectorRef) {}\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n\n if (this.messageService && this.enableService && !this.contentTemplate) {\n this.messageSubscription = this.messageService.messageObserver.subscribe((messages: Message | Message[]) => {\n if (messages) {\n if (!Array.isArray(messages)) {\n messages = [messages];\n }\n\n const filteredMessages = messages.filter((m) => this.key === m.key);\n this.messages = this.messages ? [...this.messages, ...filteredMessages] : [...filteredMessages];\n this.startMessageLifes(filteredMessages);\n this.cd.markForCheck();\n }\n });\n\n this.clearSubscription = this.messageService.clearObserver.subscribe((key) => {\n if (key) {\n if (this.key === key) {\n this.messages = null;\n }\n } else {\n this.messages = null;\n }\n\n this.cd.markForCheck();\n });\n }\n }\n\n hasMessages() {\n let parentEl = this.el.nativeElement.parentElement;\n if (parentEl && parentEl.offsetParent) {\n return this.contentTemplate != null || (this.messages && this.messages.length > 0);\n }\n\n return false;\n }\n\n clear() {\n this.messages = [];\n this.valueChange.emit(this.messages);\n }\n\n removeMessage(i: number) {\n this.messages = this.messages?.filter((msg, index) => index !== i);\n this.valueChange.emit(this.messages);\n }\n\n get icon(): string | null {\n const severity = this.severity || (this.hasMessages() ? this.messages![0].severity : null);\n\n if (this.hasMessages()) {\n switch (severity) {\n case 'success':\n return 'pi-check';\n\n case 'info':\n return 'pi-info-circle';\n\n case 'error':\n return 'pi-times';\n\n case 'warn':\n return 'pi-exclamation-triangle';\n\n default:\n return 'pi-info-circle';\n }\n }\n\n return null;\n }\n\n ngOnDestroy() {\n if (this.messageSubscription) {\n this.messageSubscription.unsubscribe();\n }\n\n if (this.clearSubscription) {\n this.clearSubscription.unsubscribe();\n }\n\n this.timerSubscriptions?.forEach((subscription) => subscription.unsubscribe());\n }\n\n private startMessageLifes(messages: Message[]): void {\n messages?.forEach((message) => message.life && this.startMessageLife(message));\n }\n\n private startMessageLife(message: Message): void {\n const timerSubsctiption = timer(message.life!).subscribe(() => {\n this.messages = this.messages?.filter((msgEl) => msgEl !== message);\n this.timerSubscriptions = this.timerSubscriptions?.filter((timerEl) => timerEl !== timerSubsctiption);\n this.valueChange.emit(this.messages);\n this.cd.markForCheck();\n });\n this.timerSubscriptions.push(timerSubsctiption);\n }\n}\n\n@NgModule({\n imports: [CommonModule, RippleModule, CheckIcon, InfoCircleIcon, TimesCircleIcon, ExclamationTriangleIcon, TimesIcon],\n exports: [Messages],\n declarations: [Messages]\n})\nexport class MessagesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAWA;;;AAGG;AACH,MAyDa,QAAQ,CAAA;AAyEc,IAAA,cAAA,CAAA;AAAuC,IAAA,EAAA,CAAA;AAAuB,IAAA,EAAA,CAAA;AAxE7F;;;AAGG;IACH,IAAa,KAAK,CAAC,QAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACzC;AACD;;;AAGG;IACM,QAAQ,GAAY,IAAI,CAAC;AAClC;;;AAGG;AACM,IAAA,KAAK,CAA8C;AAC5D;;;AAGG;AACM,IAAA,UAAU,CAAqB;AACxC;;;AAGG;IACM,aAAa,GAAY,IAAI,CAAC;AACvC;;;AAGG;AACM,IAAA,GAAG,CAAqB;AACjC;;;AAGG;IACM,MAAM,GAAY,IAAI,CAAC;AAChC;;;AAGG;AACM,IAAA,QAAQ,CAAqB;AACtC;;;AAGG;IACM,qBAAqB,GAAW,gBAAgB,CAAC;AAC1D;;;AAGG;IACM,qBAAqB,GAAW,sCAAsC,CAAC;AAChF;;;;AAIG;AACO,IAAA,WAAW,GAA4B,IAAI,YAAY,EAAa,CAAC;AAE/C,IAAA,SAAS,CAAuC;AAEhF,IAAA,QAAQ,CAA+B;AAEvC,IAAA,mBAAmB,CAA2B;AAE9C,IAAA,iBAAiB,CAA2B;IAE5C,kBAAkB,GAAmB,EAAE,CAAC;AAExC,IAAA,eAAe,CAA+B;AAE9C,IAAA,WAAA,CAA+B,cAA8B,EAAS,EAAc,EAAS,EAAqB,EAAA;QAAnF,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAAS,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAAS,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;KAAI;IAEtH,kBAAkB,GAAA;QACd,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AAC7B,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,SAAS;AACV,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrC,MAAM;AAEV,gBAAA;AACI,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrC,MAAM;AACb,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACpE,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,QAA6B,KAAI;AACvG,gBAAA,IAAI,QAAQ,EAAE;AACV,oBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC1B,wBAAA,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzB,qBAAA;AAED,oBAAA,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;oBACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;AAChG,oBAAA,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AACzC,oBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC1B,iBAAA;AACL,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AACzE,gBAAA,IAAI,GAAG,EAAE;AACL,oBAAA,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE;AAClB,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,qBAAA;AACJ,iBAAA;AAAM,qBAAA;AACH,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,iBAAA;AAED,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3B,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;IAED,WAAW,GAAA;QACP,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC;AACnD,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtF,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KAChB;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACxC;AAED,IAAA,aAAa,CAAC,CAAS,EAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,IAAI,GAAA;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAE3F,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACpB,YAAA,QAAQ,QAAQ;AACZ,gBAAA,KAAK,SAAS;AACV,oBAAA,OAAO,UAAU,CAAC;AAEtB,gBAAA,KAAK,MAAM;AACP,oBAAA,OAAO,gBAAgB,CAAC;AAE5B,gBAAA,KAAK,OAAO;AACR,oBAAA,OAAO,UAAU,CAAC;AAEtB,gBAAA,KAAK,MAAM;AACP,oBAAA,OAAO,yBAAyB,CAAC;AAErC,gBAAA;AACI,oBAAA,OAAO,gBAAgB,CAAC;AAC/B,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;IAED,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC1B,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;AAC1C,SAAA;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;AACxC,SAAA;AAED,QAAA,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;KAClF;AAEO,IAAA,iBAAiB,CAAC,QAAmB,EAAA;AACzC,QAAA,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;KAClF;AAEO,IAAA,gBAAgB,CAAC,OAAgB,EAAA;AACrC,QAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAK,CAAC,CAAC,SAAS,CAAC,MAAK;AAC1D,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,OAAO,CAAC,CAAC;AACpE,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,KAAK,iBAAiB,CAAC,CAAC;YACtG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACnD;uGAxLQ,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAR,QAAQ,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EA6DA,aAAa,EApHpB,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyCT,EA0MqC,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,SAAS,6FAAE,cAAc,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAE,eAAe,CAAE,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,uBAAuB,CAAE,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,SAAS,CAzMxG,EAAA,CAAA,EAAA,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACR,OAAO,CAAC,kBAAkB,EAAE;gBACxB,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACjH,gBAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9J,CAAC;AACL,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQQ,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAzDpB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyCT,EACW,UAAA,EAAA;wBACR,OAAO,CAAC,kBAAkB,EAAE;4BACxB,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACjH,4BAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;yBAC9J,CAAC;AACL,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAE/B,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,WAAW;AACrB,qBAAA,EAAA,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA,CAAA;;0BA2EY,QAAQ;qGApER,KAAK,EAAA,CAAA;sBAAjB,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBAKG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBAMI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAEyB,SAAS,EAAA,CAAA;sBAAxC,eAAe;uBAAC,aAAa,CAAA;;AA8HlC,MAKa,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAhMd,QAAQ,CAAA,EAAA,OAAA,EAAA,CA4LP,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,SAAS,aA5L3G,QAAQ,CAAA,EAAA,CAAA,CAAA;AAgMR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAJb,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,SAAS,CAAA,EAAA,CAAA,CAAA;;2FAI3G,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAuB,EAAE,SAAS,CAAC;oBACrH,OAAO,EAAE,CAAC,QAAQ,CAAC;oBACnB,YAAY,EAAE,CAAC,QAAQ,CAAC;AAC3B,iBAAA,CAAA;;;ACvQD;;AAEG;;;;"}
1
+ {"version":3,"file":"primeng-messages.mjs","sources":["../../src/app/components/messages/messages.ts","../../src/app/components/messages/primeng-messages.ts"],"sourcesContent":["import { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, NgModule, OnDestroy, Optional, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { Message, MessageService, PrimeTemplate } from 'primeng/api';\nimport { CheckIcon } from 'primeng/icons/check';\nimport { ExclamationTriangleIcon } from 'primeng/icons/exclamationtriangle';\nimport { InfoCircleIcon } from 'primeng/icons/infocircle';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { TimesCircleIcon } from 'primeng/icons/timescircle';\nimport { RippleModule } from 'primeng/ripple';\nimport { Subscription, timer } from 'rxjs';\n/**\n * Messages is used to display alerts inline.\n * @group Components\n */\n@Component({\n selector: 'p-messages',\n template: `\n <div class=\"p-messages p-component\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.aria-atomic]=\"true\" [attr.aria-live]=\"'assertive'\" [attr.data-pc-name]=\"'message'\">\n <ng-container *ngIf=\"!contentTemplate; else staticMessage\">\n <div\n *ngFor=\"let msg of messages; let i = index\"\n [class]=\"'p-message p-message-' + msg.severity\"\n role=\"alert\"\n [@messageAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n >\n <div class=\"p-message-wrapper\" [attr.data-pc-section]=\"'wrapper'\">\n <span *ngIf=\"msg.icon\" [class]=\"'p-message-icon pi ' + msg.icon\" [attr.data-pc-section]=\"'icon'\"> </span>\n <span class=\"p-message-icon\" *ngIf=\"!msg.icon\">\n <ng-container>\n <CheckIcon *ngIf=\"msg.severity === 'success'\" [attr.data-pc-section]=\"'icon'\" />\n <InfoCircleIcon *ngIf=\"msg.severity === 'info'\" [attr.data-pc-section]=\"'icon'\" />\n <TimesCircleIcon *ngIf=\"msg.severity === 'error'\" [attr.data-pc-section]=\"'icon'\" />\n <ExclamationTriangleIcon *ngIf=\"msg.severity === 'warn'\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n </span>\n <ng-container *ngIf=\"!escape; else escapeOut\">\n <span *ngIf=\"msg.summary\" class=\"p-message-summary\" [innerHTML]=\"msg.summary\" [attr.data-pc-section]=\"'summary'\"></span>\n <span *ngIf=\"msg.detail\" class=\"p-message-detail\" [innerHTML]=\"msg.detail\" [attr.data-pc-section]=\"'detail'\"></span>\n </ng-container>\n <ng-template #escapeOut>\n <span *ngIf=\"msg.summary\" class=\"p-message-summary\" [attr.data-pc-section]=\"'summary'\">{{ msg.summary }}</span>\n <span *ngIf=\"msg.detail\" class=\"p-message-detail\" [attr.data-pc-section]=\"'detail'\">{{ msg.detail }}</span>\n </ng-template>\n <button class=\"p-message-close p-link\" (click)=\"removeMessage(i)\" *ngIf=\"closable\" type=\"button\" pRipple [attr.aria-label]=\"'Close'\" [attr.data-pc-section]=\"'closebutton'\">\n <TimesIcon [styleClass]=\"'p-message-close-icon'\" [attr.data-pc-section]=\"'closeicon'\" />\n </button>\n </div>\n </div>\n </ng-container>\n <ng-template #staticMessage>\n <div [ngClass]=\"'p-message p-message-' + severity\" role=\"alert\">\n <div class=\"p-message-wrapper\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n </div>\n </ng-template>\n </div>\n `,\n animations: [\n trigger('messageAnimation', [\n transition(':enter', [style({ opacity: 0, transform: 'translateY(-25%)' }), animate('{{showTransitionParams}}')]),\n transition(':leave', [animate('{{hideTransitionParams}}', style({ height: 0, marginTop: 0, marginBottom: 0, marginLeft: 0, marginRight: 0, opacity: 0 }))])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./messages.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Messages implements AfterContentInit, OnDestroy {\n /**\n * An array of messages to display.\n * @group Props\n */\n @Input() set value(messages: Message[]) {\n this.messages = messages;\n this.startMessageLifes(this.messages);\n }\n /**\n * Defines if message box can be closed by the click icon.\n * @group Props\n */\n @Input() closable: boolean = true;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether displaying services messages are enabled.\n * @group Props\n */\n @Input() enableService: boolean = true;\n /**\n * Id to match the key of the message to enable scoping in service based messaging.\n * @group Props\n */\n @Input() key: string | undefined;\n /**\n * Whether displaying messages would be escaped or not.\n * @group Props\n */\n @Input() escape: boolean = true;\n /**\n * Severity level of the message.\n * @group Props\n */\n @Input() severity: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '300ms ease-out';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '200ms cubic-bezier(0.86, 0, 0.07, 1)';\n /**\n * This function is executed when the value changes.\n * @param {Message[]} value - messages value.\n * @group Emits\n */\n @Output() valueChange: EventEmitter<Message[]> = new EventEmitter<Message[]>();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n messages: Message[] | null | undefined;\n\n messageSubscription: Subscription | undefined;\n\n clearSubscription: Subscription | undefined;\n\n timerSubscriptions: Subscription[] = [];\n\n contentTemplate: TemplateRef<any> | undefined;\n\n constructor(@Optional() public messageService: MessageService, public el: ElementRef, public cd: ChangeDetectorRef) {}\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n\n if (this.messageService && this.enableService && !this.contentTemplate) {\n this.messageSubscription = this.messageService.messageObserver.subscribe((messages: Message | Message[]) => {\n if (messages) {\n if (!Array.isArray(messages)) {\n messages = [messages];\n }\n\n const filteredMessages = messages.filter((m) => this.key === m.key);\n this.messages = this.messages ? [...this.messages, ...filteredMessages] : [...filteredMessages];\n this.startMessageLifes(filteredMessages);\n this.cd.markForCheck();\n }\n });\n\n this.clearSubscription = this.messageService.clearObserver.subscribe((key) => {\n if (key) {\n if (this.key === key) {\n this.messages = null;\n }\n } else {\n this.messages = null;\n }\n\n this.cd.markForCheck();\n });\n }\n }\n\n hasMessages() {\n let parentEl = this.el.nativeElement.parentElement;\n if (parentEl && parentEl.offsetParent) {\n return this.contentTemplate != null || (this.messages && this.messages.length > 0);\n }\n\n return false;\n }\n\n clear() {\n this.messages = [];\n this.valueChange.emit(this.messages);\n }\n\n removeMessage(i: number) {\n this.messages = this.messages?.filter((msg, index) => index !== i);\n this.valueChange.emit(this.messages);\n }\n\n get icon(): string | null {\n const severity = this.severity || (this.hasMessages() ? this.messages![0].severity : null);\n\n if (this.hasMessages()) {\n switch (severity) {\n case 'success':\n return 'pi-check';\n\n case 'info':\n return 'pi-info-circle';\n\n case 'error':\n return 'pi-times';\n\n case 'warn':\n return 'pi-exclamation-triangle';\n\n default:\n return 'pi-info-circle';\n }\n }\n\n return null;\n }\n\n ngOnDestroy() {\n if (this.messageSubscription) {\n this.messageSubscription.unsubscribe();\n }\n\n if (this.clearSubscription) {\n this.clearSubscription.unsubscribe();\n }\n\n this.timerSubscriptions?.forEach((subscription) => subscription.unsubscribe());\n }\n\n private startMessageLifes(messages: Message[]): void {\n messages?.forEach((message) => message.life && this.startMessageLife(message));\n }\n\n private startMessageLife(message: Message): void {\n const timerSubsctiption = timer(message.life!).subscribe(() => {\n this.messages = this.messages?.filter((msgEl) => msgEl !== message);\n this.timerSubscriptions = this.timerSubscriptions?.filter((timerEl) => timerEl !== timerSubsctiption);\n this.valueChange.emit(this.messages);\n this.cd.markForCheck();\n });\n this.timerSubscriptions.push(timerSubsctiption);\n }\n}\n\n@NgModule({\n imports: [CommonModule, RippleModule, CheckIcon, InfoCircleIcon, TimesCircleIcon, ExclamationTriangleIcon, TimesIcon],\n exports: [Messages],\n declarations: [Messages]\n})\nexport class MessagesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { forwardRef, EventEmitter, Component, ViewEncapsulation, Input, Output, signal, computed, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, NgModule } from '@angular/core';
4
+ import { forwardRef, EventEmitter, Component, ViewEncapsulation, Input, Output, signal, computed, effect, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
6
  import * as i3 from 'primeng/api';
7
7
  import { TranslationKeys, Footer, Header, PrimeTemplate, SharedModule } from 'primeng/api';
@@ -54,8 +54,8 @@ class MultiSelectItem {
54
54
  selected: this.selected
55
55
  });
56
56
  }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MultiSelectItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: MultiSelectItem, selector: "p-multiSelectItem", inputs: { id: "id", option: "option", selected: "selected", label: "label", disabled: "disabled", itemSize: "itemSize", focused: "focused", ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", template: "template", checkIconTemplate: "checkIconTemplate" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MultiSelectItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: MultiSelectItem, selector: "p-multiSelectItem", inputs: { id: "id", option: "option", selected: "selected", label: "label", disabled: "disabled", itemSize: "itemSize", focused: "focused", ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", template: "template", checkIconTemplate: "checkIconTemplate" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
59
59
  <li
60
60
  pRipple
61
61
  [ngStyle]="{ height: itemSize + 'px' }"
@@ -87,7 +87,7 @@ class MultiSelectItem {
87
87
  </li>
88
88
  `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return CheckIcon; }), selector: "CheckIcon" }], encapsulation: i0.ViewEncapsulation.None });
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MultiSelectItem, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MultiSelectItem, decorators: [{
91
91
  type: Component,
92
92
  args: [{
93
93
  selector: 'p-multiSelectItem',
@@ -264,13 +264,25 @@ class MultiSelect {
264
264
  /**
265
265
  * Whether to show labels of selected item labels or use default label.
266
266
  * @group Props
267
+ * @defaultValue true
267
268
  */
268
- displaySelectedLabel = true;
269
+ set displaySelectedLabel(val) {
270
+ this._displaySelectedLabel = val;
271
+ }
272
+ get displaySelectedLabel() {
273
+ return this._displaySelectedLabel;
274
+ }
269
275
  /**
270
276
  * Decides how many selected item labels to show at most.
271
277
  * @group Props
278
+ * @defaultValue 3
272
279
  */
273
- maxSelectedLabels = 3;
280
+ set maxSelectedLabels(val) {
281
+ this._maxSelectedLabels = val;
282
+ }
283
+ get maxSelectedLabels() {
284
+ return this._maxSelectedLabels;
285
+ }
274
286
  /**
275
287
  * Decides how many selected item labels to show at most.
276
288
  * @group Props
@@ -524,6 +536,16 @@ class MultiSelect {
524
536
  this._itemSize = val;
525
537
  console.warn('The itemSize property is deprecated, use virtualScrollItemSize property instead.');
526
538
  }
539
+ /**
540
+ * Whether all data is selected.
541
+ * @group Props
542
+ */
543
+ get selectAll() {
544
+ return this._selectAll;
545
+ }
546
+ set selectAll(value) {
547
+ this._selectAll = value;
548
+ }
527
549
  /**
528
550
  * Fields used when filtering the options, defaults to optionLabel.
529
551
  * @group Props
@@ -601,6 +623,12 @@ class MultiSelect {
601
623
  * @group Emits
602
624
  */
603
625
  onRemove = new EventEmitter();
626
+ /**
627
+ * Callback to invoke when all data is selected.
628
+ * @param {MultiSelectSelectAllChangeEvent} event - Custom select event.
629
+ * @group Emits
630
+ */
631
+ onSelectAllChange = new EventEmitter();
604
632
  containerViewChild;
605
633
  overlayViewChild;
606
634
  filterInputChild;
@@ -615,6 +643,7 @@ class MultiSelect {
615
643
  templates;
616
644
  searchValue;
617
645
  searchTimeout;
646
+ _selectAll = null;
618
647
  _autoZIndex;
619
648
  _baseZIndex;
620
649
  _showTransitionOptions;
@@ -652,11 +681,14 @@ class MultiSelect {
652
681
  preventDocumentDefault;
653
682
  focused = false;
654
683
  itemsWrapper;
684
+ _displaySelectedLabel = true;
685
+ _maxSelectedLabels = 3;
655
686
  modelValue = signal(null);
656
687
  _filterValue = signal(null);
657
688
  _options = signal(null);
658
689
  startRangeIndex = signal(-1);
659
690
  focusedOptionIndex = signal(-1);
691
+ selectedOptions;
660
692
  get containerClass() {
661
693
  return {
662
694
  'p-multiselect p-component p-inputwrapper': true,
@@ -701,7 +733,7 @@ class MultiSelect {
701
733
  return this.modelValue() || this.modelValue() != null || this.modelValue() != undefined;
702
734
  }
703
735
  get isVisibleClearIcon() {
704
- return this.modelValue() != null && this.modelValue() !== '' && this.showClear && !this.disabled;
736
+ return this.modelValue() != null && this.modelValue() !== '' && ObjectUtils.isNotEmpty(this.modelValue()) && this.showClear && !this.disabled && this.filled;
705
737
  }
706
738
  get toggleAllAriaLabel() {
707
739
  return this.config.translation.aria ? this.config.translation.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;
@@ -731,7 +763,7 @@ class MultiSelect {
731
763
  label = computed(() => {
732
764
  let label;
733
765
  const modelValue = this.modelValue();
734
- if (modelValue && modelValue.length) {
766
+ if (modelValue && modelValue.length && this.displaySelectedLabel) {
735
767
  if (ObjectUtils.isNotEmpty(this.maxSelectedLabels) && modelValue.length > this.maxSelectedLabels) {
736
768
  return this.getSelectedItemsLabel();
737
769
  }
@@ -761,6 +793,13 @@ class MultiSelect {
761
793
  this.filterService = filterService;
762
794
  this.config = config;
763
795
  this.overlayService = overlayService;
796
+ effect(() => {
797
+ const modelValue = this.modelValue();
798
+ const visibleOptions = this.visibleOptions();
799
+ if (visibleOptions && ObjectUtils.isNotEmpty(visibleOptions) && modelValue) {
800
+ this.selectedOptions = visibleOptions.filter((option) => modelValue.includes(option[this.optionLabel]) || modelValue.includes(option[this.optionValue]));
801
+ }
802
+ });
764
803
  }
765
804
  ngOnInit() {
766
805
  this.id = this.id || UniqueComponentId();
@@ -856,14 +895,19 @@ class MultiSelect {
856
895
  this.onOptionSelect({ originalEvent: null, option: [value] });
857
896
  }
858
897
  }
898
+ /**
899
+ * Updates the model value.
900
+ * @group Method
901
+ */
859
902
  updateModel(value, event) {
860
903
  this.value = value;
861
904
  this.onModelChange(value);
862
905
  this.modelValue.set(value);
863
- this.onChange.emit({
864
- originalEvent: event,
865
- value: value
866
- });
906
+ }
907
+ onInputClick(event) {
908
+ event.stopPropagation();
909
+ event.preventDefault();
910
+ this.focusedOptionIndex.set(-1);
867
911
  }
868
912
  onOptionSelect(event, isFocus = false, index = -1) {
869
913
  const { originalEvent, option } = event;
@@ -881,6 +925,14 @@ class MultiSelect {
881
925
  this.updateModel(value, originalEvent);
882
926
  index !== -1 && this.focusedOptionIndex.set(index);
883
927
  isFocus && DomHandler.focus(this.focusInputViewChild?.nativeElement);
928
+ this.onChange.emit({
929
+ originalEvent: event,
930
+ value: value,
931
+ itemValue: option
932
+ });
933
+ }
934
+ findSelectedOptionIndex() {
935
+ return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
884
936
  }
885
937
  onOptionSelectRange(event, start = -1, end = -1) {
886
938
  start === -1 && (start = this.findNearestSelectedOptionIndex(end, true));
@@ -961,7 +1013,7 @@ class MultiSelect {
961
1013
  return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));
962
1014
  }
963
1015
  isEmpty() {
964
- return !this._options() || (this._options() && this._options().length === 0);
1016
+ return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);
965
1017
  }
966
1018
  getOptionIndex(index, scrollerOptions) {
967
1019
  return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
@@ -1099,6 +1151,7 @@ class MultiSelect {
1099
1151
  this.changeFocusedOptionIndex(event, optionIndex);
1100
1152
  !this.overlayVisible && this.show();
1101
1153
  event.preventDefault();
1154
+ event.stopPropagation();
1102
1155
  }
1103
1156
  onArrowUpKey(event, pressedInInputText = false) {
1104
1157
  if (event.altKey && !pressedInInputText) {
@@ -1117,6 +1170,7 @@ class MultiSelect {
1117
1170
  !this.overlayVisible && this.show();
1118
1171
  event.preventDefault();
1119
1172
  }
1173
+ event.stopPropagation();
1120
1174
  }
1121
1175
  onHomeKey(event, pressedInInputText = false) {
1122
1176
  const { currentTarget } = event;
@@ -1288,14 +1342,21 @@ class MultiSelect {
1288
1342
  if (this.disabled || this.readonly) {
1289
1343
  return;
1290
1344
  }
1345
+ if (this.selectAll !== null) {
1346
+ this.onSelectAllChange.emit({
1347
+ originalEvent: event,
1348
+ checked: !this.allSelected()
1349
+ });
1350
+ }
1351
+ else {
1352
+ const value = this.allSelected()
1353
+ ? []
1354
+ : this.visibleOptions()
1355
+ .filter((option) => this.isValidOption(option))
1356
+ .map((option) => this.getOptionValue(option));
1357
+ this.updateModel(value, event);
1358
+ }
1291
1359
  DomHandler.focus(this.headerCheckboxViewChild.nativeElement);
1292
- const value = this.allSelected()
1293
- ? []
1294
- : this.visibleOptions()
1295
- .filter((option) => this.isValidOption(option))
1296
- .map((option) => this.getOptionValue(option));
1297
- this.updateModel(value, event);
1298
- this.onChange.emit({ originalEvent: event, value: this.value });
1299
1360
  this.headerCheckboxFocus = true;
1300
1361
  event.preventDefault();
1301
1362
  event.stopPropagation();
@@ -1337,7 +1398,6 @@ class MultiSelect {
1337
1398
  writeValue(value) {
1338
1399
  this.value = value;
1339
1400
  this.modelValue.set(this.value);
1340
- this.updateModel(this.value);
1341
1401
  this.checkSelectionLimit();
1342
1402
  this.cd.markForCheck();
1343
1403
  }
@@ -1352,8 +1412,7 @@ class MultiSelect {
1352
1412
  this.cd.markForCheck();
1353
1413
  }
1354
1414
  allSelected() {
1355
- const allSelected = this.visibleOptions().length > 0 && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));
1356
- return ObjectUtils.isNotEmpty(this.visibleOptions()) && allSelected;
1415
+ return this.selectAll !== null ? this.selectAll : ObjectUtils.isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));
1357
1416
  }
1358
1417
  /**
1359
1418
  * Displays the panel.
@@ -1391,7 +1450,7 @@ class MultiSelect {
1391
1450
  if (this.virtualScroll) {
1392
1451
  const selectedIndex = ObjectUtils.isNotEmpty(this.modelValue()) ? this.focusedOptionIndex() : -1;
1393
1452
  if (selectedIndex !== -1) {
1394
- this.scroller?.scrollToIndex(0);
1453
+ this.scroller?.scrollToIndex(selectedIndex);
1395
1454
  }
1396
1455
  }
1397
1456
  else {
@@ -1400,8 +1459,8 @@ class MultiSelect {
1400
1459
  selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });
1401
1460
  }
1402
1461
  }
1403
- this.onPanelShow.emit();
1404
1462
  }
1463
+ this.onPanelShow.emit();
1405
1464
  case 'void':
1406
1465
  this.itemsWrapper = null;
1407
1466
  this.onModelTouched();
@@ -1412,7 +1471,7 @@ class MultiSelect {
1412
1471
  if (this.filterInputChild && this.filterInputChild.nativeElement) {
1413
1472
  this.filterInputChild.nativeElement.value = '';
1414
1473
  }
1415
- this._filterValue = null;
1474
+ this._filterValue.set(null);
1416
1475
  this._filteredOptions = null;
1417
1476
  }
1418
1477
  close(event) {
@@ -1424,6 +1483,7 @@ class MultiSelect {
1424
1483
  this.value = null;
1425
1484
  this.checkSelectionLimit();
1426
1485
  this.updateModel(null, event);
1486
+ this.selectedOptions = null;
1427
1487
  this.onClear.emit();
1428
1488
  event.stopPropagation();
1429
1489
  }
@@ -1531,8 +1591,8 @@ class MultiSelect {
1531
1591
  hasFilter() {
1532
1592
  return this._filterValue() && this._filterValue().trim().length > 0;
1533
1593
  }
1534
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MultiSelect, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1535
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: MultiSelect, selector: "p-multiSelect", inputs: { id: "id", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", inputId: "inputId", disabled: "disabled", readonly: "readonly", group: "group", filter: "filter", filterPlaceHolder: "filterPlaceHolder", filterLocale: "filterLocale", overlayVisible: "overlayVisible", tabindex: "tabindex", appendTo: "appendTo", dataKey: "dataKey", name: "name", ariaLabelledBy: "ariaLabelledBy", displaySelectedLabel: "displaySelectedLabel", maxSelectedLabels: "maxSelectedLabels", selectionLimit: "selectionLimit", selectedItemsLabel: "selectedItemsLabel", showToggleAll: "showToggleAll", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", showHeader: "showHeader", filterBy: "filterBy", scrollHeight: "scrollHeight", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", filterMatchMode: "filterMatchMode", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", display: "display", autocomplete: "autocomplete", showClear: "showClear", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", defaultLabel: "defaultLabel", placeholder: "placeholder", options: "options", filterValue: "filterValue", itemSize: "itemSize", focusOnHover: "focusOnHover", filterFields: "filterFields", selectOnFocus: "selectOnFocus", autoOptionFocus: "autoOptionFocus" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused || overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [MULTISELECT_VALUE_ACCESSOR], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "filterInputChild", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerCheckbox"], descendants: true }], ngImport: i0, template: `
1594
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MultiSelect, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.FilterService }, { token: i3.PrimeNGConfig }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1595
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: MultiSelect, selector: "p-multiSelect", inputs: { id: "id", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", inputId: "inputId", disabled: "disabled", readonly: "readonly", group: "group", filter: "filter", filterPlaceHolder: "filterPlaceHolder", filterLocale: "filterLocale", overlayVisible: "overlayVisible", tabindex: "tabindex", appendTo: "appendTo", dataKey: "dataKey", name: "name", ariaLabelledBy: "ariaLabelledBy", displaySelectedLabel: "displaySelectedLabel", maxSelectedLabels: "maxSelectedLabels", selectionLimit: "selectionLimit", selectedItemsLabel: "selectedItemsLabel", showToggleAll: "showToggleAll", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", resetFilterOnHide: "resetFilterOnHide", dropdownIcon: "dropdownIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", showHeader: "showHeader", filterBy: "filterBy", scrollHeight: "scrollHeight", lazy: "lazy", virtualScroll: "virtualScroll", virtualScrollItemSize: "virtualScrollItemSize", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", filterMatchMode: "filterMatchMode", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: "autofocusFilter", display: "display", autocomplete: "autocomplete", showClear: "showClear", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", defaultLabel: "defaultLabel", placeholder: "placeholder", options: "options", filterValue: "filterValue", itemSize: "itemSize", selectAll: "selectAll", focusOnHover: "focusOnHover", filterFields: "filterFields", selectOnFocus: "selectOnFocus", autoOptionFocus: "autoOptionFocus" }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, host: { properties: { "class.p-inputwrapper-filled": "filled", "class.p-inputwrapper-focus": "focused || overlayVisible" }, classAttribute: "p-element p-inputwrapper" }, providers: [MULTISELECT_VALUE_ACCESSOR], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "filterInputChild", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerCheckbox"], descendants: true }], ngImport: i0, template: `
1536
1596
  <div #container [attr.id]="id" [ngClass]="containerClass" [ngStyle]="style" [class]="styleClass" (click)="onContainerClick($event)">
1537
1597
  <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
1538
1598
  <input
@@ -1573,9 +1633,9 @@ class MultiSelect {
1573
1633
  <ng-container *ngIf="!modelValue() || modelValue().length === 0">{{ placeholder || defaultLabel || 'empty' }}</ng-container>
1574
1634
  </ng-container>
1575
1635
  </ng-container>
1576
- <ng-container *ngTemplateOutlet="selectedItemsTemplate; context: { $implicit: modelValue(), removeChip: removeOption.bind(this) }"></ng-container>
1636
+ <ng-container *ngTemplateOutlet="selectedItemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }"></ng-container>
1577
1637
  </div>
1578
- <ng-container *ngIf="modelValue() != null && filled && !disabled && showClear">
1638
+ <ng-container *ngIf="isVisibleClearIcon">
1579
1639
  <TimesIcon *ngIf="!clearIconTemplate" [styleClass]="'p-multiselect-clear-icon'" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true" />
1580
1640
  <span *ngIf="clearIconTemplate" class="p-multiselect-clear-icon" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true">
1581
1641
  <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
@@ -1647,7 +1707,7 @@ class MultiSelect {
1647
1707
  <ng-container *ngIf="allSelected()">
1648
1708
  <CheckIcon [styleClass]="'p-checkbox-icon'" *ngIf="!checkIconTemplate" [attr.aria-hidden]="true" />
1649
1709
  <span *ngIf="checkIconTemplate" class="p-checkbox-icon" [attr.aria-hidden]="true">
1650
- <ng-template *ngTemplateOutlet="checkIconTemplate"></ng-template>
1710
+ <ng-template *ngTemplateOutlet="checkIconTemplate; context: { $implicit: allSelected() }"></ng-template>
1651
1711
  </span>
1652
1712
  </ng-container>
1653
1713
  </div>
@@ -1664,6 +1724,7 @@ class MultiSelect {
1664
1724
  [value]="_filterValue() || ''"
1665
1725
  (input)="onFilterInputChange($event)"
1666
1726
  (keydown)="onFilterKeyDown($event)"
1727
+ (click)="onInputClick($event)"
1667
1728
  (blur)="onFilterBlur($event)"
1668
1729
  class="p-multiselect-filter p-inputtext p-component"
1669
1730
  [disabled]="disabled"
@@ -1713,13 +1774,13 @@ class MultiSelect {
1713
1774
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1714
1775
  <ul #items class="p-multiselect-items p-component" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true">
1715
1776
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1716
- <ng-container *ngIf="option.group">
1777
+ <ng-container *ngIf="isOptionGroup(option)">
1717
1778
  <li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" class="p-multiselect-item-group" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1718
1779
  <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1719
1780
  <ng-container *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1720
1781
  </li>
1721
1782
  </ng-container>
1722
- <ng-container *ngIf="!option.group">
1783
+ <ng-container *ngIf="!isOptionGroup(option)">
1723
1784
  <p-multiSelectItem
1724
1785
  [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
1725
1786
  [option]="option"
@@ -1774,7 +1835,7 @@ class MultiSelect {
1774
1835
  </div>
1775
1836
  `, isInline: true, styles: ["@layer primeng{.p-multiselect{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-multiselect-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-multiselect-label-container{overflow:hidden;flex:1 1 auto;cursor:pointer;display:flex}.p-multiselect-label{display:block;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.p-multiselect-label-empty{overflow:hidden;visibility:hidden}.p-multiselect-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto}.p-multiselect-token-icon{cursor:pointer}.p-multiselect-token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.p-multiselect-items-wrapper{overflow:auto}.p-multiselect-items{margin:0;padding:0;list-style-type:none}.p-multiselect-item{cursor:pointer;display:flex;align-items:center;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-multiselect-header{display:flex;align-items:center;justify-content:space-between}.p-multiselect-filter-container{position:relative;flex:1 1 auto}.p-multiselect-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-multiselect-filter-container .p-inputtext{width:100%}.p-multiselect-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative}.p-fluid .p-multiselect{display:flex}.p-multiselect-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-multiselect-clearable{position:relative}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(function () { return i4.Overlay; }), selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.PrimeTemplate; }), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i5.Tooltip; }), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return i6.Scroller; }), selector: "p-scroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "component", type: i0.forwardRef(function () { return CheckIcon; }), selector: "CheckIcon" }, { kind: "component", type: i0.forwardRef(function () { return SearchIcon; }), selector: "SearchIcon" }, { kind: "component", type: i0.forwardRef(function () { return TimesCircleIcon; }), selector: "TimesCircleIcon" }, { kind: "component", type: i0.forwardRef(function () { return TimesIcon; }), selector: "TimesIcon" }, { kind: "component", type: i0.forwardRef(function () { return ChevronDownIcon; }), selector: "ChevronDownIcon" }, { kind: "component", type: i0.forwardRef(function () { return MultiSelectItem; }), selector: "p-multiSelectItem", inputs: ["id", "option", "selected", "label", "disabled", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "template", "checkIconTemplate"], outputs: ["onClick", "onMouseEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1776
1837
  }
1777
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MultiSelect, decorators: [{
1838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MultiSelect, decorators: [{
1778
1839
  type: Component,
1779
1840
  args: [{ selector: 'p-multiSelect', template: `
1780
1841
  <div #container [attr.id]="id" [ngClass]="containerClass" [ngStyle]="style" [class]="styleClass" (click)="onContainerClick($event)">
@@ -1817,9 +1878,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1817
1878
  <ng-container *ngIf="!modelValue() || modelValue().length === 0">{{ placeholder || defaultLabel || 'empty' }}</ng-container>
1818
1879
  </ng-container>
1819
1880
  </ng-container>
1820
- <ng-container *ngTemplateOutlet="selectedItemsTemplate; context: { $implicit: modelValue(), removeChip: removeOption.bind(this) }"></ng-container>
1881
+ <ng-container *ngTemplateOutlet="selectedItemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }"></ng-container>
1821
1882
  </div>
1822
- <ng-container *ngIf="modelValue() != null && filled && !disabled && showClear">
1883
+ <ng-container *ngIf="isVisibleClearIcon">
1823
1884
  <TimesIcon *ngIf="!clearIconTemplate" [styleClass]="'p-multiselect-clear-icon'" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true" />
1824
1885
  <span *ngIf="clearIconTemplate" class="p-multiselect-clear-icon" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true">
1825
1886
  <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
@@ -1891,7 +1952,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1891
1952
  <ng-container *ngIf="allSelected()">
1892
1953
  <CheckIcon [styleClass]="'p-checkbox-icon'" *ngIf="!checkIconTemplate" [attr.aria-hidden]="true" />
1893
1954
  <span *ngIf="checkIconTemplate" class="p-checkbox-icon" [attr.aria-hidden]="true">
1894
- <ng-template *ngTemplateOutlet="checkIconTemplate"></ng-template>
1955
+ <ng-template *ngTemplateOutlet="checkIconTemplate; context: { $implicit: allSelected() }"></ng-template>
1895
1956
  </span>
1896
1957
  </ng-container>
1897
1958
  </div>
@@ -1908,6 +1969,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1908
1969
  [value]="_filterValue() || ''"
1909
1970
  (input)="onFilterInputChange($event)"
1910
1971
  (keydown)="onFilterKeyDown($event)"
1972
+ (click)="onInputClick($event)"
1911
1973
  (blur)="onFilterBlur($event)"
1912
1974
  class="p-multiselect-filter p-inputtext p-component"
1913
1975
  [disabled]="disabled"
@@ -1957,13 +2019,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1957
2019
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1958
2020
  <ul #items class="p-multiselect-items p-component" [ngClass]="scrollerOptions.contentStyleClass" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true">
1959
2021
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1960
- <ng-container *ngIf="option.group">
2022
+ <ng-container *ngIf="isOptionGroup(option)">
1961
2023
  <li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" class="p-multiselect-item-group" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1962
2024
  <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1963
2025
  <ng-container *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1964
2026
  </li>
1965
2027
  </ng-container>
1966
- <ng-container *ngIf="!option.group">
2028
+ <ng-container *ngIf="!isOptionGroup(option)">
1967
2029
  <p-multiSelectItem
1968
2030
  [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
1969
2031
  [option]="option"
@@ -2141,6 +2203,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
2141
2203
  type: Input
2142
2204
  }], itemSize: [{
2143
2205
  type: Input
2206
+ }], selectAll: [{
2207
+ type: Input
2144
2208
  }], focusOnHover: [{
2145
2209
  type: Input
2146
2210
  }], filterFields: [{
@@ -2169,6 +2233,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
2169
2233
  type: Output
2170
2234
  }], onRemove: [{
2171
2235
  type: Output
2236
+ }], onSelectAllChange: [{
2237
+ type: Output
2172
2238
  }], containerViewChild: [{
2173
2239
  type: ViewChild,
2174
2240
  args: ['container']
@@ -2207,11 +2273,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
2207
2273
  args: [PrimeTemplate]
2208
2274
  }] } });
2209
2275
  class MultiSelectModule {
2210
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2211
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: MultiSelectModule, declarations: [MultiSelect, MultiSelectItem], imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, CheckIcon, SearchIcon, TimesCircleIcon, TimesIcon, ChevronDownIcon, CheckIcon], exports: [MultiSelect, OverlayModule, SharedModule, ScrollerModule] });
2212
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MultiSelectModule, imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, CheckIcon, SearchIcon, TimesCircleIcon, TimesIcon, ChevronDownIcon, CheckIcon, OverlayModule, SharedModule, ScrollerModule] });
2276
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2277
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: MultiSelectModule, declarations: [MultiSelect, MultiSelectItem], imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, CheckIcon, SearchIcon, TimesCircleIcon, TimesIcon, ChevronDownIcon, CheckIcon], exports: [MultiSelect, OverlayModule, SharedModule, ScrollerModule] });
2278
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MultiSelectModule, imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, CheckIcon, SearchIcon, TimesCircleIcon, TimesIcon, ChevronDownIcon, CheckIcon, OverlayModule, SharedModule, ScrollerModule] });
2213
2279
  }
2214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MultiSelectModule, decorators: [{
2280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MultiSelectModule, decorators: [{
2215
2281
  type: NgModule,
2216
2282
  args: [{
2217
2283
  imports: [CommonModule, OverlayModule, SharedModule, TooltipModule, RippleModule, ScrollerModule, CheckIcon, SearchIcon, TimesCircleIcon, TimesIcon, ChevronDownIcon, CheckIcon],