primeng 18.0.0-beta.1 → 18.0.0-beta.3

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 (783) hide show
  1. package/README.md +1 -1
  2. package/accordion/accordion.d.ts +148 -23
  3. package/accordion/public_api.d.ts +1 -1
  4. package/accordion/style/accordionstyle.d.ts +37 -0
  5. package/api/translation.d.ts +2 -0
  6. package/autocomplete/autocomplete.d.ts +2 -3
  7. package/autocomplete/public_api.d.ts +1 -0
  8. package/autocomplete/style/autocompletestyle.d.ts +69 -0
  9. package/avatar/public_api.d.ts +1 -0
  10. package/avatar/style/avatarstyle.d.ts +25 -0
  11. package/avatargroup/avatargroup.d.ts +1 -1
  12. package/avatargroup/public_api.d.ts +1 -0
  13. package/avatargroup/style/avatargroupstyle.d.ts +14 -0
  14. package/badge/badge.d.ts +20 -26
  15. package/badge/public_api.d.ts +1 -0
  16. package/badge/style/badgestyle.d.ts +17 -0
  17. package/base/style/basestyle.d.ts +8 -0
  18. package/blockui/blockui.d.ts +1 -1
  19. package/blockui/public_api.d.ts +1 -0
  20. package/blockui/style/blockuistyle.d.ts +17 -0
  21. package/breadcrumb/breadcrumb.d.ts +0 -1
  22. package/breadcrumb/public_api.d.ts +1 -0
  23. package/breadcrumb/style/breadcrumbstyle.d.ts +45 -0
  24. package/button/button.d.ts +0 -1
  25. package/button/public_api.d.ts +1 -0
  26. package/button/style/buttonstyle.d.ts +29 -0
  27. package/buttongroup/buttongroup.d.ts +1 -1
  28. package/buttongroup/public_api.d.ts +1 -0
  29. package/buttongroup/style/buttongroupstyle.d.ts +17 -0
  30. package/calendar/public_api.d.ts +1 -0
  31. package/card/public_api.d.ts +1 -0
  32. package/card/style/cardstyle.d.ts +45 -0
  33. package/carousel/public_api.d.ts +1 -0
  34. package/carousel/style/carouselstyle.d.ts +69 -0
  35. package/cascadeselect/cascadeselect.d.ts +2 -2
  36. package/cascadeselect/public_api.d.ts +1 -0
  37. package/cascadeselect/style/cascadeselectstyle.d.ts +65 -0
  38. package/chart/public_api.d.ts +1 -0
  39. package/chart/style/chartstyle.d.ts +32 -0
  40. package/checkbox/public_api.d.ts +1 -0
  41. package/checkbox/style/checkboxstyle.d.ts +29 -0
  42. package/chip/public_api.d.ts +1 -0
  43. package/chip/style/chipstyle.d.ts +33 -0
  44. package/colorpicker/colorpicker.d.ts +1 -1
  45. package/colorpicker/public_api.d.ts +1 -0
  46. package/colorpicker/style/colorpickerstyle.d.ts +45 -0
  47. package/confirmdialog/confirmdialog.d.ts +1 -1
  48. package/confirmdialog/public_api.d.ts +1 -0
  49. package/confirmdialog/style/confirmdialogstyle.d.ts +33 -0
  50. package/confirmpopup/confirmpopup.d.ts +3 -3
  51. package/confirmpopup/public_api.d.ts +1 -0
  52. package/confirmpopup/style/confirmpopupstyle.d.ts +41 -0
  53. package/contextmenu/contextmenu.d.ts +2 -2
  54. package/contextmenu/public_api.d.ts +1 -0
  55. package/contextmenu/style/contextmenustyle.d.ts +54 -0
  56. package/dataview/dataview.d.ts +1 -1
  57. package/dataview/public_api.d.ts +1 -0
  58. package/dataview/style/dataviewstyle.d.ts +37 -0
  59. package/datepicker/datepicker.d.ts +1 -1
  60. package/datepicker/public_api.d.ts +1 -0
  61. package/datepicker/style/datepickerstyle.d.ts +165 -0
  62. package/dialog/style/dialogstyle.d.ts +49 -0
  63. package/divider/style/dividerstyle.d.ts +21 -0
  64. package/dock/public_api.d.ts +1 -0
  65. package/dock/style/dockstyle.d.ts +41 -0
  66. package/drawer/public_api.d.ts +1 -0
  67. package/drawer/style/drawerstyle.d.ts +37 -0
  68. package/dropdown/public_api.d.ts +1 -0
  69. package/dropdown/style/dropdownstyle.d.ts +14 -0
  70. package/dynamicdialog/dynamicdialog.d.ts +5 -0
  71. package/dynamicdialog/public_api.d.ts +1 -0
  72. package/dynamicdialog/style/dynamicdialogstyle.d.ts +49 -0
  73. package/editor/public_api.d.ts +1 -0
  74. package/editor/style/editorstyle.d.ts +25 -0
  75. package/esm2022/accordion/accordion.mjs +431 -81
  76. package/esm2022/accordion/public_api.mjs +2 -2
  77. package/esm2022/accordion/style/accordionstyle.mjs +39 -2
  78. package/esm2022/api/primengconfig.mjs +3 -1
  79. package/esm2022/api/translation.mjs +1 -1
  80. package/esm2022/autocomplete/autocomplete.mjs +6 -6
  81. package/esm2022/autocomplete/public_api.mjs +2 -1
  82. package/esm2022/autocomplete/style/autocompletestyle.mjs +69 -1
  83. package/esm2022/avatar/avatar.mjs +3 -2
  84. package/esm2022/avatar/public_api.mjs +2 -1
  85. package/esm2022/avatar/style/avatarstyle.mjs +25 -1
  86. package/esm2022/avatargroup/avatargroup.mjs +3 -3
  87. package/esm2022/avatargroup/public_api.mjs +2 -1
  88. package/esm2022/avatargroup/style/avatargroupstyle.mjs +14 -1
  89. package/esm2022/badge/badge.mjs +39 -51
  90. package/esm2022/badge/public_api.mjs +2 -1
  91. package/esm2022/badge/style/badgestyle.mjs +17 -1
  92. package/esm2022/basecomponent/basecomponent.mjs +3 -4
  93. package/esm2022/blockui/blockui.mjs +3 -3
  94. package/esm2022/blockui/public_api.mjs +2 -1
  95. package/esm2022/blockui/style/blockuistyle.mjs +17 -1
  96. package/esm2022/breadcrumb/breadcrumb.mjs +98 -119
  97. package/esm2022/breadcrumb/public_api.mjs +2 -1
  98. package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +45 -1
  99. package/esm2022/button/button.mjs +3 -7
  100. package/esm2022/button/public_api.mjs +2 -1
  101. package/esm2022/button/style/buttonstyle.mjs +29 -1
  102. package/esm2022/buttongroup/buttongroup.mjs +3 -3
  103. package/esm2022/buttongroup/public_api.mjs +2 -1
  104. package/esm2022/buttongroup/style/buttongroupstyle.mjs +17 -1
  105. package/esm2022/calendar/calendar.mjs +2 -2
  106. package/esm2022/calendar/public_api.mjs +2 -1
  107. package/esm2022/card/public_api.mjs +2 -1
  108. package/esm2022/card/style/cardstyle.mjs +45 -1
  109. package/esm2022/carousel/public_api.mjs +2 -1
  110. package/esm2022/carousel/style/carouselstyle.mjs +69 -1
  111. package/esm2022/cascadeselect/cascadeselect.mjs +15 -19
  112. package/esm2022/cascadeselect/public_api.mjs +2 -1
  113. package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +65 -1
  114. package/esm2022/chart/public_api.mjs +2 -1
  115. package/esm2022/chart/style/chartstyle.mjs +36 -0
  116. package/esm2022/checkbox/checkbox.mjs +1 -1
  117. package/esm2022/checkbox/public_api.mjs +2 -1
  118. package/esm2022/checkbox/style/checkboxstyle.mjs +29 -1
  119. package/esm2022/chip/public_api.mjs +2 -1
  120. package/esm2022/chip/style/chipstyle.mjs +33 -1
  121. package/esm2022/colorpicker/colorpicker.mjs +3 -3
  122. package/esm2022/colorpicker/public_api.mjs +2 -1
  123. package/esm2022/colorpicker/style/colorpickerstyle.mjs +45 -1
  124. package/esm2022/confirmdialog/confirmdialog.mjs +3 -3
  125. package/esm2022/confirmdialog/public_api.mjs +2 -1
  126. package/esm2022/confirmdialog/style/confirmdialogstyle.mjs +33 -1
  127. package/esm2022/confirmpopup/confirmpopup.mjs +11 -11
  128. package/esm2022/confirmpopup/public_api.mjs +2 -1
  129. package/esm2022/confirmpopup/style/confirmpopupstyle.mjs +41 -1
  130. package/esm2022/contextmenu/contextmenu.mjs +15 -15
  131. package/esm2022/contextmenu/public_api.mjs +2 -1
  132. package/esm2022/contextmenu/style/contextmenustyle.mjs +54 -1
  133. package/esm2022/dataview/dataview.mjs +3 -3
  134. package/esm2022/dataview/public_api.mjs +2 -1
  135. package/esm2022/dataview/style/dataviewstyle.mjs +37 -1
  136. package/esm2022/datepicker/datepicker.mjs +20 -8
  137. package/esm2022/datepicker/public_api.mjs +2 -1
  138. package/esm2022/datepicker/style/datepickerstyle.mjs +165 -1
  139. package/esm2022/dialog/dialog.mjs +21 -16
  140. package/esm2022/dialog/style/dialogstyle.mjs +49 -1
  141. package/esm2022/divider/divider.mjs +4 -4
  142. package/esm2022/divider/style/dividerstyle.mjs +21 -1
  143. package/esm2022/dock/public_api.mjs +2 -1
  144. package/esm2022/dock/style/dockstyle.mjs +41 -1
  145. package/esm2022/drawer/drawer.mjs +17 -13
  146. package/esm2022/drawer/public_api.mjs +2 -1
  147. package/esm2022/drawer/style/drawerstyle.mjs +37 -1
  148. package/esm2022/dropdown/dropdown.mjs +10 -10
  149. package/esm2022/dropdown/public_api.mjs +2 -1
  150. package/esm2022/dropdown/style/dropdownstyle.mjs +5 -2
  151. package/esm2022/dynamicdialog/dynamicdialog.mjs +94 -24
  152. package/esm2022/dynamicdialog/public_api.mjs +2 -1
  153. package/esm2022/dynamicdialog/style/dynamicdialogstyle.mjs +49 -1
  154. package/esm2022/editor/editor.mjs +6 -5
  155. package/esm2022/editor/public_api.mjs +2 -1
  156. package/esm2022/editor/style/editorstyle.mjs +25 -1
  157. package/esm2022/fieldset/fieldset.mjs +11 -21
  158. package/esm2022/fieldset/public_api.mjs +2 -1
  159. package/esm2022/fieldset/style/fieldsetstyle.mjs +37 -1
  160. package/esm2022/fileupload/fileupload.interface.mjs +1 -1
  161. package/esm2022/fileupload/fileupload.mjs +46 -13
  162. package/esm2022/fileupload/public_api.mjs +2 -1
  163. package/esm2022/fileupload/style/fileuploadstyle.mjs +73 -1
  164. package/esm2022/floatlabel/floatlabel.mjs +18 -13
  165. package/esm2022/floatlabel/public_api.mjs +2 -1
  166. package/esm2022/floatlabel/style/floatlabelstyle.mjs +79 -28
  167. package/esm2022/fluid/public_api.mjs +2 -1
  168. package/esm2022/fluid/style/fluidstyle.mjs +17 -1
  169. package/esm2022/galleria/galleria.mjs +113 -124
  170. package/esm2022/galleria/public_api.mjs +2 -1
  171. package/esm2022/galleria/style/galleriastyle.mjs +125 -1
  172. package/esm2022/iconfield/iconfield.mjs +4 -4
  173. package/esm2022/iconfield/public_api.mjs +2 -1
  174. package/esm2022/iconfield/style/iconfieldstyle.mjs +26 -17
  175. package/esm2022/iftalabel/iftalabel.mjs +43 -0
  176. package/esm2022/iftalabel/primeng-iftalabel.mjs +5 -0
  177. package/esm2022/iftalabel/public_api.mjs +3 -0
  178. package/esm2022/iftalabel/style/iftalabelstyle.mjs +96 -0
  179. package/esm2022/image/image.interface.mjs +1 -1
  180. package/esm2022/image/image.mjs +86 -42
  181. package/esm2022/image/public_api.mjs +2 -1
  182. package/esm2022/image/style/imagestyle.mjs +57 -1
  183. package/esm2022/inplace/inplace.mjs +3 -3
  184. package/esm2022/inplace/public_api.mjs +2 -1
  185. package/esm2022/inplace/style/inplacestyle.mjs +25 -1
  186. package/esm2022/inputgroup/public_api.mjs +2 -1
  187. package/esm2022/inputgroup/style/inputgroupstyle.mjs +46 -17
  188. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +15 -13
  189. package/esm2022/inputgroupaddon/public_api.mjs +2 -1
  190. package/esm2022/inputicon/inputicon.mjs +7 -4
  191. package/esm2022/inputicon/public_api.mjs +2 -1
  192. package/esm2022/inputmask/inputmask.mjs +2 -2
  193. package/esm2022/inputmask/public_api.mjs +2 -1
  194. package/esm2022/inputmask/style/inputmaskstyle.mjs +17 -1
  195. package/esm2022/inputnumber/inputnumber.mjs +219 -221
  196. package/esm2022/inputnumber/public_api.mjs +2 -1
  197. package/esm2022/inputnumber/style/inputnumberstyle.mjs +38 -1
  198. package/esm2022/inputotp/inputotp.mjs +4 -4
  199. package/esm2022/inputotp/public_api.mjs +2 -1
  200. package/esm2022/inputotp/style/inputotpstyle.mjs +21 -1
  201. package/esm2022/inputswitch/public_api.mjs +2 -1
  202. package/esm2022/inputtext/inputtext.mjs +11 -2
  203. package/esm2022/inputtext/public_api.mjs +2 -1
  204. package/esm2022/inputtext/style/inputtextstyle.mjs +17 -1
  205. package/esm2022/inputtextarea/public_api.mjs +2 -1
  206. package/esm2022/inputtextarea/style/textareastyle.mjs +17 -1
  207. package/esm2022/knob/public_api.mjs +2 -1
  208. package/esm2022/knob/style/knobstyle.mjs +29 -1
  209. package/esm2022/listbox/listbox.mjs +45 -20
  210. package/esm2022/listbox/public_api.mjs +2 -1
  211. package/esm2022/listbox/style/listboxstyle.mjs +53 -1
  212. package/esm2022/megamenu/megamenu.mjs +15 -15
  213. package/esm2022/megamenu/public_api.mjs +2 -1
  214. package/esm2022/megamenu/style/megamenustyle.mjs +81 -1
  215. package/esm2022/menu/menu.mjs +5 -3
  216. package/esm2022/menu/public_api.mjs +2 -1
  217. package/esm2022/menu/style/menustyle.mjs +57 -1
  218. package/esm2022/menubar/menubar.mjs +3 -3
  219. package/esm2022/menubar/public_api.mjs +2 -1
  220. package/esm2022/menubar/style/menubarstyle.mjs +65 -1
  221. package/esm2022/message/message.mjs +2 -34
  222. package/esm2022/message/style/messagestyle.mjs +38 -2
  223. package/esm2022/messages/public_api.mjs +2 -1
  224. package/esm2022/metergroup/metergroup.mjs +10 -10
  225. package/esm2022/metergroup/public_api.mjs +2 -1
  226. package/esm2022/metergroup/style/metergroupstyle.mjs +45 -1
  227. package/esm2022/multiselect/multiselect.mjs +683 -677
  228. package/esm2022/multiselect/public_api.mjs +2 -1
  229. package/esm2022/multiselect/style/multiselectstyle.mjs +85 -1
  230. package/esm2022/orderlist/orderlist.mjs +89 -17
  231. package/esm2022/orderlist/public_api.mjs +2 -1
  232. package/esm2022/orderlist/style/orderliststyle.mjs +21 -1
  233. package/esm2022/organizationchart/organizationchart.mjs +5 -5
  234. package/esm2022/organizationchart/public_api.mjs +2 -1
  235. package/esm2022/organizationchart/style/organizationchartstyle.mjs +53 -1
  236. package/esm2022/overlay/overlay.mjs +1 -1
  237. package/esm2022/overlay/public_api.mjs +2 -1
  238. package/esm2022/overlaybadge/overlaybadge.mjs +4 -6
  239. package/esm2022/overlaybadge/public_api.mjs +2 -1
  240. package/esm2022/overlaypanel/public_api.mjs +2 -1
  241. package/esm2022/overlaypanel/style/popoverstyle.mjs +21 -1
  242. package/esm2022/paginator/paginator.mjs +6 -6
  243. package/esm2022/paginator/public_api.mjs +2 -1
  244. package/esm2022/paginator/style/paginatorstyle.mjs +81 -1
  245. package/esm2022/panel/style/panelstyle.mjs +45 -1
  246. package/esm2022/panelmenu/panelmenu.mjs +30 -22
  247. package/esm2022/panelmenu/public_api.mjs +2 -1
  248. package/esm2022/panelmenu/style/panelmenustyle.mjs +83 -2
  249. package/esm2022/password/password.mjs +5 -3
  250. package/esm2022/password/public_api.mjs +2 -1
  251. package/esm2022/password/style/passwordstyle.mjs +45 -1
  252. package/esm2022/picklist/picklist.mjs +187 -17
  253. package/esm2022/picklist/public_api.mjs +2 -1
  254. package/esm2022/picklist/style/pickliststyle.mjs +37 -1
  255. package/esm2022/popover/public_api.mjs +2 -1
  256. package/esm2022/progressbar/progressbar.mjs +3 -3
  257. package/esm2022/progressbar/public_api.mjs +2 -1
  258. package/esm2022/progressbar/style/progressbarstyle.mjs +25 -1
  259. package/esm2022/progressspinner/progressspinner.mjs +3 -3
  260. package/esm2022/progressspinner/public_api.mjs +2 -1
  261. package/esm2022/progressspinner/style/progressspinnerstyle.mjs +25 -1
  262. package/esm2022/radiobutton/public_api.mjs +2 -1
  263. package/esm2022/radiobutton/radiobutton.mjs +4 -4
  264. package/esm2022/radiobutton/style/radiobuttonstyle.mjs +29 -1
  265. package/esm2022/rating/public_api.mjs +2 -1
  266. package/esm2022/rating/rating.mjs +11 -108
  267. package/esm2022/rating/style/ratingstyle.mjs +29 -1
  268. package/esm2022/ripple/public_api.mjs +2 -1
  269. package/esm2022/ripple/ripple.mjs +17 -12
  270. package/esm2022/ripple/style/ripplestyle.mjs +17 -1
  271. package/esm2022/scroller/public_api.mjs +2 -1
  272. package/esm2022/scroller/scroller.mjs +6 -6
  273. package/esm2022/scroller/style/scrollerstyle.mjs +104 -0
  274. package/esm2022/scrollpanel/public_api.mjs +2 -1
  275. package/esm2022/scrollpanel/scrollpanel.mjs +3 -3
  276. package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +33 -1
  277. package/esm2022/scrolltop/public_api.mjs +2 -1
  278. package/esm2022/scrolltop/scrolltop.mjs +21 -16
  279. package/esm2022/scrolltop/style/scrolltopstyle.mjs +21 -1
  280. package/esm2022/select/public_api.mjs +2 -1
  281. package/esm2022/select/select.mjs +17 -25
  282. package/esm2022/select/style/selectstyle.mjs +86 -2
  283. package/esm2022/selectbutton/public_api.mjs +2 -1
  284. package/esm2022/selectbutton/selectbutton.mjs +8 -8
  285. package/esm2022/selectbutton/style/selectbuttonstyle.mjs +19 -3
  286. package/esm2022/sidebar/public_api.mjs +2 -1
  287. package/esm2022/skeleton/public_api.mjs +2 -1
  288. package/esm2022/skeleton/style/skeletonstyle.mjs +17 -1
  289. package/esm2022/slider/public_api.mjs +2 -1
  290. package/esm2022/slider/style/sliderstyle.mjs +25 -1
  291. package/esm2022/speeddial/public_api.mjs +2 -1
  292. package/esm2022/speeddial/speeddial.interface.mjs +1 -1
  293. package/esm2022/speeddial/speeddial.mjs +74 -50
  294. package/esm2022/speeddial/style/speeddialstyle.mjs +42 -2
  295. package/esm2022/splitbutton/public_api.mjs +2 -1
  296. package/esm2022/splitbutton/splitbutton.mjs +25 -12
  297. package/esm2022/splitbutton/style/splitbuttonstyle.mjs +25 -1
  298. package/esm2022/splitter/public_api.mjs +2 -1
  299. package/esm2022/splitter/style/splitterstyle.mjs +25 -1
  300. package/esm2022/stepper/public_api.mjs +2 -2
  301. package/esm2022/stepper/stepper.mjs +367 -660
  302. package/esm2022/stepper/style/stepperstyle.mjs +21 -2
  303. package/esm2022/steps/public_api.mjs +2 -1
  304. package/esm2022/steps/style/stepsstyle.mjs +37 -1
  305. package/esm2022/table/public_api.mjs +2 -1
  306. package/esm2022/table/style/tablestyle.mjs +899 -0
  307. package/esm2022/table/table.mjs +46 -42
  308. package/esm2022/tabmenu/public_api.mjs +2 -1
  309. package/esm2022/tabmenu/style/tabmenustyle.mjs +42 -2
  310. package/esm2022/tabmenu/tabmenu.mjs +11 -7
  311. package/esm2022/tabs/public_api.mjs +6 -2
  312. package/esm2022/tabs/style/tabsstyle.mjs +49 -1
  313. package/esm2022/tabs/tab.mjs +171 -0
  314. package/esm2022/tabs/tablist.mjs +256 -0
  315. package/esm2022/tabs/tabpanel.mjs +49 -0
  316. package/esm2022/tabs/tabpanels.mjs +30 -0
  317. package/esm2022/tabs/tabs.mjs +45 -948
  318. package/esm2022/tabview/public_api.mjs +2 -1
  319. package/esm2022/tabview/style/tabsstyle.mjs +49 -1
  320. package/esm2022/tag/public_api.mjs +2 -1
  321. package/esm2022/tag/style/tagstyle.mjs +25 -1
  322. package/esm2022/terminal/public_api.mjs +2 -1
  323. package/esm2022/terminal/style/terminalstyle.mjs +49 -1
  324. package/esm2022/textarea/public_api.mjs +2 -1
  325. package/esm2022/textarea/style/textareastyle.mjs +17 -1
  326. package/esm2022/textarea/textarea.mjs +1 -2
  327. package/esm2022/themes/aura/aura.mjs +7 -3
  328. package/esm2022/themes/aura/floatlabel/index.mjs +29 -1
  329. package/esm2022/themes/aura/iftalabel/index.mjs +16 -0
  330. package/esm2022/themes/lara/floatlabel/index.mjs +27 -1
  331. package/esm2022/themes/lara/iftalabel/index.mjs +16 -0
  332. package/esm2022/themes/lara/lara.mjs +7 -3
  333. package/esm2022/themes/nora/floatlabel/index.mjs +27 -1
  334. package/esm2022/themes/nora/iftalabel/index.mjs +16 -0
  335. package/esm2022/themes/nora/nora.mjs +7 -3
  336. package/esm2022/tieredmenu/public_api.mjs +2 -1
  337. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +61 -1
  338. package/esm2022/tieredmenu/tieredmenu.mjs +15 -15
  339. package/esm2022/timeline/public_api.mjs +2 -1
  340. package/esm2022/timeline/style/timelinestyle.mjs +41 -1
  341. package/esm2022/timeline/timeline.mjs +54 -68
  342. package/esm2022/toast/public_api.mjs +2 -1
  343. package/esm2022/toast/style/toaststyle.mjs +49 -1
  344. package/esm2022/togglebutton/public_api.mjs +2 -1
  345. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +26 -2
  346. package/esm2022/togglebutton/togglebutton.mjs +84 -77
  347. package/esm2022/toggleswitch/public_api.mjs +2 -1
  348. package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +32 -5
  349. package/esm2022/toggleswitch/toggleswitch.mjs +44 -48
  350. package/esm2022/toolbar/public_api.mjs +2 -1
  351. package/esm2022/toolbar/style/toolbarstyle.mjs +29 -1
  352. package/esm2022/tooltip/public_api.mjs +2 -1
  353. package/esm2022/tooltip/style/tooltipstyle.mjs +25 -1
  354. package/esm2022/tree/public_api.mjs +2 -1
  355. package/esm2022/tree/style/treestyle.mjs +69 -1
  356. package/esm2022/tree/tree.mjs +15 -12
  357. package/esm2022/treeselect/public_api.mjs +2 -1
  358. package/esm2022/treeselect/style/treeselectstyle.mjs +53 -1
  359. package/esm2022/treeselect/treeselect.mjs +9 -58
  360. package/esm2022/treetable/public_api.mjs +2 -1
  361. package/esm2022/treetable/style/treetablestyle.mjs +98 -2
  362. package/esm2022/treetable/treetable.mjs +6 -6
  363. package/esm2022/utils/inpututils.mjs +7 -0
  364. package/esm2022/utils/public_api.mjs +3 -2
  365. package/fesm2022/primeng-accordion.mjs +470 -83
  366. package/fesm2022/primeng-accordion.mjs.map +1 -1
  367. package/fesm2022/primeng-api.mjs +2 -0
  368. package/fesm2022/primeng-api.mjs.map +1 -1
  369. package/fesm2022/primeng-autocomplete.mjs +74 -6
  370. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  371. package/fesm2022/primeng-avatar.mjs +27 -2
  372. package/fesm2022/primeng-avatar.mjs.map +1 -1
  373. package/fesm2022/primeng-avatargroup.mjs +16 -3
  374. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  375. package/fesm2022/primeng-badge.mjs +55 -51
  376. package/fesm2022/primeng-badge.mjs.map +1 -1
  377. package/fesm2022/primeng-basecomponent.mjs +2 -3
  378. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  379. package/fesm2022/primeng-blockui.mjs +19 -3
  380. package/fesm2022/primeng-blockui.mjs.map +1 -1
  381. package/fesm2022/primeng-breadcrumb.mjs +142 -119
  382. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  383. package/fesm2022/primeng-button.mjs +31 -7
  384. package/fesm2022/primeng-button.mjs.map +1 -1
  385. package/fesm2022/primeng-buttongroup.mjs +19 -3
  386. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  387. package/fesm2022/primeng-calendar.mjs +2 -2
  388. package/fesm2022/primeng-calendar.mjs.map +1 -1
  389. package/fesm2022/primeng-card.mjs +45 -1
  390. package/fesm2022/primeng-card.mjs.map +1 -1
  391. package/fesm2022/primeng-carousel.mjs +69 -1
  392. package/fesm2022/primeng-carousel.mjs.map +1 -1
  393. package/fesm2022/primeng-cascadeselect.mjs +79 -19
  394. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  395. package/fesm2022/primeng-chart.mjs +36 -2
  396. package/fesm2022/primeng-chart.mjs.map +1 -1
  397. package/fesm2022/primeng-checkbox.mjs +29 -1
  398. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  399. package/fesm2022/primeng-chip.mjs +33 -1
  400. package/fesm2022/primeng-chip.mjs.map +1 -1
  401. package/fesm2022/primeng-colorpicker.mjs +47 -3
  402. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  403. package/fesm2022/primeng-confirmdialog.mjs +35 -3
  404. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  405. package/fesm2022/primeng-confirmpopup.mjs +50 -10
  406. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  407. package/fesm2022/primeng-contextmenu.mjs +68 -15
  408. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  409. package/fesm2022/primeng-dataview.mjs +39 -3
  410. package/fesm2022/primeng-dataview.mjs.map +1 -1
  411. package/fesm2022/primeng-datepicker.mjs +184 -8
  412. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  413. package/fesm2022/primeng-dialog.mjs +69 -16
  414. package/fesm2022/primeng-dialog.mjs.map +1 -1
  415. package/fesm2022/primeng-divider.mjs +24 -4
  416. package/fesm2022/primeng-divider.mjs.map +1 -1
  417. package/fesm2022/primeng-dock.mjs +41 -1
  418. package/fesm2022/primeng-dock.mjs.map +1 -1
  419. package/fesm2022/primeng-drawer.mjs +53 -13
  420. package/fesm2022/primeng-drawer.mjs.map +1 -1
  421. package/fesm2022/primeng-dropdown.mjs +14 -11
  422. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  423. package/fesm2022/primeng-dynamicdialog.mjs +142 -24
  424. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  425. package/fesm2022/primeng-editor.mjs +29 -4
  426. package/fesm2022/primeng-editor.mjs.map +1 -1
  427. package/fesm2022/primeng-fieldset.mjs +47 -21
  428. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  429. package/fesm2022/primeng-fileupload.mjs +118 -13
  430. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  431. package/fesm2022/primeng-floatlabel.mjs +96 -40
  432. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  433. package/fesm2022/primeng-fluid.mjs +17 -1
  434. package/fesm2022/primeng-fluid.mjs.map +1 -1
  435. package/fesm2022/primeng-galleria.mjs +237 -124
  436. package/fesm2022/primeng-galleria.mjs.map +1 -1
  437. package/fesm2022/primeng-iconfield.mjs +29 -20
  438. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  439. package/fesm2022/primeng-iftalabel.mjs +143 -0
  440. package/fesm2022/primeng-iftalabel.mjs.map +1 -0
  441. package/fesm2022/primeng-image.mjs +141 -41
  442. package/fesm2022/primeng-image.mjs.map +1 -1
  443. package/fesm2022/primeng-inplace.mjs +27 -3
  444. package/fesm2022/primeng-inplace.mjs.map +1 -1
  445. package/fesm2022/primeng-inputgroup.mjs +46 -17
  446. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  447. package/fesm2022/primeng-inputgroupaddon.mjs +15 -13
  448. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  449. package/fesm2022/primeng-inputicon.mjs +7 -4
  450. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  451. package/fesm2022/primeng-inputmask.mjs +18 -2
  452. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  453. package/fesm2022/primeng-inputnumber.mjs +256 -221
  454. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  455. package/fesm2022/primeng-inputotp.mjs +24 -4
  456. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  457. package/fesm2022/primeng-inputswitch.mjs +1 -1
  458. package/fesm2022/primeng-inputtext.mjs +27 -2
  459. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  460. package/fesm2022/primeng-inputtextarea.mjs +17 -1
  461. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  462. package/fesm2022/primeng-knob.mjs +29 -1
  463. package/fesm2022/primeng-knob.mjs.map +1 -1
  464. package/fesm2022/primeng-listbox.mjs +97 -20
  465. package/fesm2022/primeng-listbox.mjs.map +1 -1
  466. package/fesm2022/primeng-megamenu.mjs +95 -15
  467. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  468. package/fesm2022/primeng-menu.mjs +60 -2
  469. package/fesm2022/primeng-menu.mjs.map +1 -1
  470. package/fesm2022/primeng-menubar.mjs +67 -3
  471. package/fesm2022/primeng-menubar.mjs.map +1 -1
  472. package/fesm2022/primeng-message.mjs +39 -35
  473. package/fesm2022/primeng-message.mjs.map +1 -1
  474. package/fesm2022/primeng-messages.mjs +1 -1
  475. package/fesm2022/primeng-metergroup.mjs +54 -10
  476. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  477. package/fesm2022/primeng-multiselect.mjs +767 -677
  478. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  479. package/fesm2022/primeng-orderlist.mjs +108 -16
  480. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  481. package/fesm2022/primeng-organizationchart.mjs +57 -5
  482. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  483. package/fesm2022/primeng-overlay.mjs +1 -1
  484. package/fesm2022/primeng-overlay.mjs.map +1 -1
  485. package/fesm2022/primeng-overlaybadge.mjs +4 -6
  486. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  487. package/fesm2022/primeng-overlaypanel.mjs +21 -1
  488. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  489. package/fesm2022/primeng-paginator.mjs +86 -6
  490. package/fesm2022/primeng-paginator.mjs.map +1 -1
  491. package/fesm2022/primeng-panel.mjs +45 -1
  492. package/fesm2022/primeng-panel.mjs.map +1 -1
  493. package/fesm2022/primeng-panelmenu.mjs +111 -22
  494. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  495. package/fesm2022/primeng-password.mjs +48 -2
  496. package/fesm2022/primeng-password.mjs.map +1 -1
  497. package/fesm2022/primeng-picklist.mjs +222 -16
  498. package/fesm2022/primeng-picklist.mjs.map +1 -1
  499. package/fesm2022/primeng-popover.mjs +1 -1
  500. package/fesm2022/primeng-progressbar.mjs +27 -3
  501. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  502. package/fesm2022/primeng-progressspinner.mjs +27 -3
  503. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  504. package/fesm2022/primeng-radiobutton.mjs +32 -4
  505. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  506. package/fesm2022/primeng-rating.mjs +39 -108
  507. package/fesm2022/primeng-rating.mjs.map +1 -1
  508. package/fesm2022/primeng-ripple.mjs +33 -12
  509. package/fesm2022/primeng-ripple.mjs.map +1 -1
  510. package/fesm2022/primeng-scroller.mjs +41 -9
  511. package/fesm2022/primeng-scroller.mjs.map +1 -1
  512. package/fesm2022/primeng-scrollpanel.mjs +35 -3
  513. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  514. package/fesm2022/primeng-scrolltop.mjs +41 -16
  515. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  516. package/fesm2022/primeng-select.mjs +102 -26
  517. package/fesm2022/primeng-select.mjs.map +1 -1
  518. package/fesm2022/primeng-selectbutton.mjs +26 -10
  519. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  520. package/fesm2022/primeng-sidebar.mjs +1 -1
  521. package/fesm2022/primeng-skeleton.mjs +17 -1
  522. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  523. package/fesm2022/primeng-slider.mjs +25 -1
  524. package/fesm2022/primeng-slider.mjs.map +1 -1
  525. package/fesm2022/primeng-speeddial.mjs +114 -50
  526. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  527. package/fesm2022/primeng-splitbutton.mjs +49 -12
  528. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  529. package/fesm2022/primeng-splitter.mjs +25 -1
  530. package/fesm2022/primeng-splitter.mjs.map +1 -1
  531. package/fesm2022/primeng-stepper.mjs +388 -662
  532. package/fesm2022/primeng-stepper.mjs.map +1 -1
  533. package/fesm2022/primeng-steps.mjs +37 -1
  534. package/fesm2022/primeng-steps.mjs.map +1 -1
  535. package/fesm2022/primeng-table.mjs +253 -75
  536. package/fesm2022/primeng-table.mjs.map +1 -1
  537. package/fesm2022/primeng-tabmenu.mjs +51 -7
  538. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  539. package/fesm2022/primeng-tabs.mjs +494 -872
  540. package/fesm2022/primeng-tabs.mjs.map +1 -1
  541. package/fesm2022/primeng-tabview.mjs +49 -1
  542. package/fesm2022/primeng-tabview.mjs.map +1 -1
  543. package/fesm2022/primeng-tag.mjs +25 -1
  544. package/fesm2022/primeng-tag.mjs.map +1 -1
  545. package/fesm2022/primeng-terminal.mjs +49 -1
  546. package/fesm2022/primeng-terminal.mjs.map +1 -1
  547. package/fesm2022/primeng-textarea.mjs +17 -2
  548. package/fesm2022/primeng-textarea.mjs.map +1 -1
  549. package/fesm2022/primeng-themes-aura.mjs +49 -2
  550. package/fesm2022/primeng-themes-aura.mjs.map +1 -1
  551. package/fesm2022/primeng-themes-lara.mjs +47 -2
  552. package/fesm2022/primeng-themes-lara.mjs.map +1 -1
  553. package/fesm2022/primeng-themes-nora.mjs +47 -2
  554. package/fesm2022/primeng-themes-nora.mjs.map +1 -1
  555. package/fesm2022/primeng-tieredmenu.mjs +75 -15
  556. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  557. package/fesm2022/primeng-timeline.mjs +94 -68
  558. package/fesm2022/primeng-timeline.mjs.map +1 -1
  559. package/fesm2022/primeng-toast.mjs +49 -1
  560. package/fesm2022/primeng-toast.mjs.map +1 -1
  561. package/fesm2022/primeng-togglebutton.mjs +109 -78
  562. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  563. package/fesm2022/primeng-toggleswitch.mjs +74 -51
  564. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  565. package/fesm2022/primeng-toolbar.mjs +29 -1
  566. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  567. package/fesm2022/primeng-tooltip.mjs +25 -1
  568. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  569. package/fesm2022/primeng-tree.mjs +83 -12
  570. package/fesm2022/primeng-tree.mjs.map +1 -1
  571. package/fesm2022/primeng-treeselect.mjs +61 -58
  572. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  573. package/fesm2022/primeng-treetable.mjs +102 -6
  574. package/fesm2022/primeng-treetable.mjs.map +1 -1
  575. package/fesm2022/primeng-utils.mjs +8 -1
  576. package/fesm2022/primeng-utils.mjs.map +1 -1
  577. package/fieldset/fieldset.d.ts +1 -6
  578. package/fieldset/public_api.d.ts +1 -0
  579. package/fieldset/style/fieldsetstyle.d.ts +37 -0
  580. package/fileupload/fileupload.d.ts +4 -1
  581. package/fileupload/fileupload.interface.d.ts +9 -0
  582. package/fileupload/public_api.d.ts +1 -0
  583. package/fileupload/style/fileuploadstyle.d.ts +73 -0
  584. package/floatlabel/floatlabel.d.ts +6 -1
  585. package/floatlabel/public_api.d.ts +1 -0
  586. package/floatlabel/style/floatlabelstyle.d.ts +20 -6
  587. package/fluid/public_api.d.ts +1 -0
  588. package/fluid/style/fluidstyle.d.ts +17 -0
  589. package/galleria/public_api.d.ts +1 -0
  590. package/galleria/style/galleriastyle.d.ts +125 -0
  591. package/iconfield/iconfield.d.ts +1 -1
  592. package/iconfield/public_api.d.ts +1 -0
  593. package/iconfield/style/iconfieldstyle.d.ts +17 -0
  594. package/iftalabel/iftalabel.d.ts +20 -0
  595. package/iftalabel/index.d.ts +5 -0
  596. package/iftalabel/public_api.d.ts +2 -0
  597. package/iftalabel/style/iftalabelstyle.d.ts +30 -0
  598. package/image/image.d.ts +2 -0
  599. package/image/image.interface.d.ts +32 -0
  600. package/image/public_api.d.ts +1 -0
  601. package/image/style/imagestyle.d.ts +57 -0
  602. package/inplace/public_api.d.ts +1 -0
  603. package/inplace/style/inplacestyle.d.ts +25 -0
  604. package/inputgroup/public_api.d.ts +1 -0
  605. package/inputgroup/style/inputgroupstyle.d.ts +17 -0
  606. package/inputgroupaddon/inputgroupaddon.d.ts +3 -0
  607. package/inputgroupaddon/public_api.d.ts +1 -0
  608. package/inputicon/public_api.d.ts +1 -0
  609. package/inputmask/public_api.d.ts +1 -0
  610. package/inputmask/style/inputmaskstyle.d.ts +17 -0
  611. package/inputnumber/inputnumber.d.ts +2 -1
  612. package/inputnumber/public_api.d.ts +1 -0
  613. package/inputnumber/style/inputnumberstyle.d.ts +33 -0
  614. package/inputotp/inputotp.d.ts +1 -1
  615. package/inputotp/public_api.d.ts +1 -0
  616. package/inputotp/style/inputotpstyle.d.ts +21 -0
  617. package/inputswitch/public_api.d.ts +1 -0
  618. package/inputtext/inputtext.d.ts +6 -1
  619. package/inputtext/public_api.d.ts +1 -0
  620. package/inputtext/style/inputtextstyle.d.ts +17 -0
  621. package/inputtextarea/public_api.d.ts +1 -0
  622. package/inputtextarea/style/textareastyle.d.ts +17 -0
  623. package/knob/public_api.d.ts +1 -0
  624. package/knob/style/knobstyle.d.ts +29 -0
  625. package/listbox/listbox.d.ts +14 -6
  626. package/listbox/public_api.d.ts +1 -0
  627. package/listbox/style/listboxstyle.d.ts +53 -0
  628. package/megamenu/megamenu.d.ts +2 -2
  629. package/megamenu/public_api.d.ts +1 -0
  630. package/megamenu/style/megamenustyle.d.ts +81 -0
  631. package/menu/public_api.d.ts +1 -0
  632. package/menu/style/menustyle.d.ts +57 -0
  633. package/menubar/public_api.d.ts +1 -0
  634. package/menubar/style/menubarstyle.d.ts +65 -0
  635. package/message/style/messagestyle.d.ts +37 -0
  636. package/messages/public_api.d.ts +1 -0
  637. package/metergroup/metergroup.d.ts +2 -2
  638. package/metergroup/public_api.d.ts +1 -0
  639. package/metergroup/style/metergroupstyle.d.ts +45 -0
  640. package/multiselect/multiselect.d.ts +5 -6
  641. package/multiselect/public_api.d.ts +1 -0
  642. package/multiselect/style/multiselectstyle.d.ts +85 -0
  643. package/orderlist/orderlist.d.ts +28 -1
  644. package/orderlist/public_api.d.ts +1 -0
  645. package/orderlist/style/orderliststyle.d.ts +21 -0
  646. package/organizationchart/organizationchart.d.ts +1 -1
  647. package/organizationchart/public_api.d.ts +1 -0
  648. package/organizationchart/style/organizationchartstyle.d.ts +53 -0
  649. package/overlay/public_api.d.ts +1 -0
  650. package/overlaybadge/overlaybadge.d.ts +2 -2
  651. package/overlaybadge/public_api.d.ts +1 -0
  652. package/overlaypanel/public_api.d.ts +1 -0
  653. package/overlaypanel/style/popoverstyle.d.ts +21 -0
  654. package/package.json +371 -365
  655. package/paginator/public_api.d.ts +1 -0
  656. package/paginator/style/paginatorstyle.d.ts +81 -0
  657. package/panel/style/panelstyle.d.ts +43 -0
  658. package/panelmenu/panelmenu.d.ts +4 -4
  659. package/panelmenu/public_api.d.ts +1 -0
  660. package/panelmenu/style/panelmenustyle.d.ts +82 -0
  661. package/password/password.d.ts +1 -1
  662. package/password/public_api.d.ts +1 -0
  663. package/password/style/passwordstyle.d.ts +45 -0
  664. package/picklist/picklist.d.ts +52 -5
  665. package/picklist/public_api.d.ts +1 -0
  666. package/picklist/style/pickliststyle.d.ts +37 -0
  667. package/popover/public_api.d.ts +1 -0
  668. package/progressbar/progressbar.d.ts +1 -1
  669. package/progressbar/public_api.d.ts +1 -0
  670. package/progressbar/style/progressbarstyle.d.ts +25 -0
  671. package/progressspinner/progressspinner.d.ts +1 -1
  672. package/progressspinner/public_api.d.ts +1 -0
  673. package/progressspinner/style/progressspinnerstyle.d.ts +25 -0
  674. package/radiobutton/public_api.d.ts +1 -0
  675. package/radiobutton/radiobutton.d.ts +1 -1
  676. package/radiobutton/style/radiobuttonstyle.d.ts +29 -0
  677. package/rating/public_api.d.ts +1 -0
  678. package/rating/rating.d.ts +1 -20
  679. package/rating/style/ratingstyle.d.ts +29 -0
  680. package/ripple/public_api.d.ts +1 -0
  681. package/ripple/ripple.d.ts +1 -0
  682. package/ripple/style/ripplestyle.d.ts +17 -0
  683. package/scroller/public_api.d.ts +1 -0
  684. package/scroller/scroller.d.ts +2 -2
  685. package/scroller/style/scrollerstyle.d.ts +43 -0
  686. package/scrollpanel/public_api.d.ts +1 -0
  687. package/scrollpanel/scrollpanel.d.ts +1 -1
  688. package/scrollpanel/style/scrollpanelstyle.d.ts +33 -0
  689. package/scrolltop/public_api.d.ts +1 -0
  690. package/scrolltop/scrolltop.d.ts +1 -1
  691. package/scrolltop/style/scrolltopstyle.d.ts +21 -0
  692. package/select/public_api.d.ts +1 -0
  693. package/select/style/selectstyle.d.ts +85 -0
  694. package/selectbutton/public_api.d.ts +1 -0
  695. package/selectbutton/selectbutton.d.ts +1 -1
  696. package/selectbutton/style/selectbuttonstyle.d.ts +17 -0
  697. package/sidebar/public_api.d.ts +1 -0
  698. package/skeleton/public_api.d.ts +1 -0
  699. package/skeleton/style/skeletonstyle.d.ts +17 -0
  700. package/slider/public_api.d.ts +1 -0
  701. package/slider/style/sliderstyle.d.ts +25 -0
  702. package/speeddial/public_api.d.ts +1 -0
  703. package/speeddial/speeddial.d.ts +25 -2
  704. package/speeddial/speeddial.interface.d.ts +17 -1
  705. package/speeddial/style/speeddialstyle.d.ts +41 -0
  706. package/splitbutton/public_api.d.ts +1 -0
  707. package/splitbutton/splitbutton.d.ts +6 -1
  708. package/splitbutton/style/splitbuttonstyle.d.ts +25 -0
  709. package/splitter/public_api.d.ts +1 -0
  710. package/splitter/style/splitterstyle.d.ts +25 -0
  711. package/stepper/public_api.d.ts +1 -1
  712. package/stepper/stepper.d.ts +140 -88
  713. package/stepper/style/stepperstyle.d.ts +21 -0
  714. package/steps/public_api.d.ts +1 -0
  715. package/steps/style/stepsstyle.d.ts +37 -0
  716. package/table/public_api.d.ts +1 -0
  717. package/table/style/tablestyle.d.ts +327 -0
  718. package/table/table.d.ts +5 -5
  719. package/tabmenu/public_api.d.ts +1 -0
  720. package/tabmenu/style/tabmenustyle.d.ts +41 -0
  721. package/tabmenu/tabmenu.d.ts +2 -1
  722. package/tabs/public_api.d.ts +5 -1
  723. package/tabs/style/tabsstyle.d.ts +49 -0
  724. package/tabs/tab.d.ts +47 -0
  725. package/tabs/tablist.d.ts +51 -0
  726. package/tabs/tabpanel.d.ts +20 -0
  727. package/tabs/tabpanels.d.ts +10 -0
  728. package/tabs/tabs.d.ts +31 -237
  729. package/tabview/public_api.d.ts +1 -0
  730. package/tabview/style/tabsstyle.d.ts +49 -0
  731. package/tag/public_api.d.ts +1 -0
  732. package/tag/style/tagstyle.d.ts +25 -0
  733. package/terminal/public_api.d.ts +1 -0
  734. package/terminal/style/terminalstyle.d.ts +49 -0
  735. package/textarea/public_api.d.ts +1 -0
  736. package/textarea/style/textareastyle.d.ts +17 -0
  737. package/themes/aura/aura.d.ts +45 -0
  738. package/themes/aura/floatlabel/index.d.ts +28 -0
  739. package/themes/aura/iftalabel/index.d.ts +16 -0
  740. package/themes/lara/floatlabel/index.d.ts +26 -0
  741. package/themes/lara/iftalabel/index.d.ts +16 -0
  742. package/themes/lara/lara.d.ts +43 -0
  743. package/themes/nora/floatlabel/index.d.ts +26 -0
  744. package/themes/nora/iftalabel/index.d.ts +16 -0
  745. package/themes/nora/nora.d.ts +43 -0
  746. package/tieredmenu/public_api.d.ts +1 -0
  747. package/tieredmenu/style/tieredmenustyle.d.ts +61 -0
  748. package/tieredmenu/tieredmenu.d.ts +2 -2
  749. package/timeline/public_api.d.ts +1 -0
  750. package/timeline/style/timelinestyle.d.ts +41 -0
  751. package/timeline/timeline.d.ts +1 -0
  752. package/toast/public_api.d.ts +1 -0
  753. package/toast/style/toaststyle.d.ts +49 -0
  754. package/togglebutton/public_api.d.ts +1 -0
  755. package/togglebutton/style/togglebuttonstyle.d.ts +25 -0
  756. package/togglebutton/togglebutton.d.ts +6 -7
  757. package/toggleswitch/public_api.d.ts +1 -0
  758. package/toggleswitch/style/toggleswitchstyle.d.ts +25 -0
  759. package/toolbar/public_api.d.ts +1 -0
  760. package/toolbar/style/toolbarstyle.d.ts +29 -0
  761. package/tooltip/public_api.d.ts +1 -0
  762. package/tooltip/style/tooltipstyle.d.ts +25 -0
  763. package/tree/public_api.d.ts +1 -0
  764. package/tree/style/treestyle.d.ts +69 -0
  765. package/tree/tree.d.ts +1 -0
  766. package/treeselect/public_api.d.ts +1 -0
  767. package/treeselect/style/treeselectstyle.d.ts +53 -0
  768. package/treeselect/treeselect.d.ts +1 -1
  769. package/treetable/public_api.d.ts +1 -0
  770. package/treetable/style/treetablestyle.d.ts +97 -0
  771. package/treetable/treetable.d.ts +1 -1
  772. package/utils/inpututils.d.ts +2 -0
  773. package/utils/public_api.d.ts +2 -1
  774. package/accordion/accordion.interface.d.ts +0 -49
  775. package/esm2022/accordion/accordion.interface.mjs +0 -2
  776. package/esm2022/scroller/style/virtualscrollerstyle.mjs +0 -72
  777. package/esm2022/stepper/stepper.interface.mjs +0 -2
  778. package/esm2022/table/style/datatablestyle.mjs +0 -725
  779. package/esm2022/tabs/tabs.interface.mjs +0 -2
  780. package/scroller/style/virtualscrollerstyle.d.ts +0 -10
  781. package/stepper/stepper.interface.d.ts +0 -26
  782. package/table/style/datatablestyle.d.ts +0 -124
  783. package/tabs/tabs.interface.d.ts +0 -49
@@ -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 { Injectable, forwardRef, EventEmitter, booleanAttribute, numberAttribute, Component, ViewEncapsulation, Input, Output, inject, signal, computed, effect, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, NgModule } from '@angular/core';
4
+ import { Injectable, forwardRef, EventEmitter, booleanAttribute, numberAttribute, Component, ViewEncapsulation, Input, Output, inject, signal, computed, effect, ChangeDetectionStrategy, ViewChild, ContentChild, ContentChildren, HostBinding, NgModule } from '@angular/core';
5
5
  import * as i5 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
7
7
  import * as i2 from 'primeng/api';
@@ -294,6 +294,90 @@ class MultiSelectStyle extends BaseStyle {
294
294
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MultiSelectStyle, decorators: [{
295
295
  type: Injectable
296
296
  }] });
297
+ /**
298
+ *
299
+ * MultiSelect is used to select multiple items from a collection.
300
+ *
301
+ * [Live Demo](https://www.primeng.org/multiselect/)
302
+ *
303
+ * @module multiselectstyle
304
+ *
305
+ */
306
+ var MultiSelectClasses;
307
+ (function (MultiSelectClasses) {
308
+ /**
309
+ * Class name of the root element
310
+ */
311
+ MultiSelectClasses["root"] = "p-multiselect";
312
+ /**
313
+ * Class name of the label container element
314
+ */
315
+ MultiSelectClasses["labelContainer"] = "p-multiselect-label-container";
316
+ /**
317
+ * Class name of the label element
318
+ */
319
+ MultiSelectClasses["label"] = "p-multiselect-label";
320
+ /**
321
+ * Class name of the chip item element
322
+ */
323
+ MultiSelectClasses["chipItem"] = "p-multiselect-chip-item";
324
+ /**
325
+ * Class name of the chip element
326
+ */
327
+ MultiSelectClasses["pcChip"] = "p-multiselect-chip";
328
+ /**
329
+ * Class name of the chip icon element
330
+ */
331
+ MultiSelectClasses["chipIcon"] = "p-multiselect-chip-icon";
332
+ /**
333
+ * Class name of the dropdown element
334
+ */
335
+ MultiSelectClasses["dropdown"] = "p-multiselect-dropdown";
336
+ /**
337
+ * Class name of the loading icon element
338
+ */
339
+ MultiSelectClasses["loadingIcon"] = "p-multiselect-loading-icon";
340
+ /**
341
+ * Class name of the dropdown icon element
342
+ */
343
+ MultiSelectClasses["dropdownIcon"] = "p-multiselect-dropdown-icon";
344
+ /**
345
+ * Class name of the overlay element
346
+ */
347
+ MultiSelectClasses["overlay"] = "p-multiselect-overlay";
348
+ /**
349
+ * Class name of the header element
350
+ */
351
+ MultiSelectClasses["header"] = "p-multiselect-header";
352
+ /**
353
+ * Class name of the filter container element
354
+ */
355
+ MultiSelectClasses["pcFilterContainer"] = "p-multiselect-filter-container";
356
+ /**
357
+ * Class name of the filter element
358
+ */
359
+ MultiSelectClasses["pcFilter"] = "p-multiselect-filter";
360
+ /**
361
+ * Class name of the list container element
362
+ */
363
+ MultiSelectClasses["listContainer"] = "p-multiselect-list-container";
364
+ /**
365
+ * Class name of the list element
366
+ */
367
+ MultiSelectClasses["list"] = "p-multiselect-list";
368
+ /**
369
+ * Class name of the option group element
370
+ */
371
+ MultiSelectClasses["optionGroup"] = "p-multiselect-option-group";
372
+ /**
373
+ * Class name of the option element
374
+ */
375
+ MultiSelectClasses["option"] = "p-multiselect-option";
376
+ /**
377
+ * Class name of the empty message element
378
+ */
379
+ MultiSelectClasses["emptyMessage"] = "p-multiselect-empty-message";
380
+ })(MultiSelectClasses || (MultiSelectClasses = {}));
297
381
 
298
382
  const MULTISELECT_VALUE_ACCESSOR = {
299
383
  provide: NG_VALUE_ACCESSOR,
@@ -333,14 +417,13 @@ class MultiSelectItem extends BaseComponent {
333
417
  });
334
418
  }
335
419
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MultiSelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
336
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.2", type: MultiSelectItem, selector: "p-multiSelectItem", inputs: { id: "id", option: "option", selected: ["selected", "selected", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], focused: ["focused", "focused", booleanAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", variant: "variant", template: "template", checkIconTemplate: "checkIconTemplate", itemCheckboxIconTemplate: "itemCheckboxIconTemplate" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, usesInheritance: true, ngImport: i0, template: `
420
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.2", type: MultiSelectItem, selector: "p-multiSelectItem, p-multiselect-item", inputs: { id: "id", option: "option", selected: ["selected", "selected", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], focused: ["focused", "focused", booleanAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", variant: "variant", template: "template", checkIconTemplate: "checkIconTemplate", itemCheckboxIconTemplate: "itemCheckboxIconTemplate" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, usesInheritance: true, ngImport: i0, template: `
337
421
  <li
338
422
  pRipple
339
423
  role="option"
340
424
  [ngStyle]="{ height: itemSize + 'px' }"
341
425
  [ngClass]="{
342
426
  'p-multiselect-option': true,
343
- 'p-multiselect-option-selected': selected,
344
427
  'p-disabled': disabled,
345
428
  'p-focus': focused,
346
429
  }"
@@ -373,7 +456,7 @@ class MultiSelectItem extends BaseComponent {
373
456
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MultiSelectItem, decorators: [{
374
457
  type: Component,
375
458
  args: [{
376
- selector: 'p-multiSelectItem',
459
+ selector: 'p-multiSelectItem, p-multiselect-item',
377
460
  template: `
378
461
  <li
379
462
  pRipple
@@ -381,7 +464,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
381
464
  [ngStyle]="{ height: itemSize + 'px' }"
382
465
  [ngClass]="{
383
466
  'p-multiselect-option': true,
384
- 'p-multiselect-option-selected': selected,
385
467
  'p-disabled': disabled,
386
468
  'p-focus': focused,
387
469
  }"
@@ -732,7 +814,7 @@ class MultiSelect extends BaseComponent {
732
814
  * Applies focus to the filter element when the overlay is shown.
733
815
  * @group Props
734
816
  */
735
- autofocusFilter = true;
817
+ autofocusFilter = false;
736
818
  /**
737
819
  * Defines how the selected items are displayed.
738
820
  * @group Props
@@ -872,7 +954,7 @@ class MultiSelect extends BaseComponent {
872
954
  * Indicates whether to focus on options when hovering over them, defaults to optionLabel.
873
955
  * @group Props
874
956
  */
875
- focusOnHover = false;
957
+ focusOnHover = true;
876
958
  /**
877
959
  * Fields used when filtering the options, defaults to optionLabel.
878
960
  * @group Props
@@ -951,7 +1033,6 @@ class MultiSelect extends BaseComponent {
951
1033
  * @group Emits
952
1034
  */
953
1035
  onSelectAllChange = new EventEmitter();
954
- containerViewChild;
955
1036
  overlayViewChild;
956
1037
  filterInputChild;
957
1038
  focusInputViewChild;
@@ -1016,6 +1097,24 @@ class MultiSelect extends BaseComponent {
1016
1097
  focusedOptionIndex = signal(-1);
1017
1098
  selectedOptions;
1018
1099
  clickInProgress = false;
1100
+ get hostClasses() {
1101
+ const classes = [];
1102
+ if (typeof this.rootClass === 'string') {
1103
+ classes.push(this.rootClass);
1104
+ }
1105
+ else if (Array.isArray(this.rootClass)) {
1106
+ classes.push(...this.rootClass);
1107
+ }
1108
+ else if (typeof this.rootClass === 'object') {
1109
+ Object.keys(this.rootClass)
1110
+ .filter((key) => this.rootClass[key])
1111
+ .forEach((key) => classes.push(key));
1112
+ }
1113
+ if (this.styleClass) {
1114
+ classes.push(this.styleClass);
1115
+ }
1116
+ return classes.join(' ');
1117
+ }
1019
1118
  get rootClass() {
1020
1119
  return this._componentStyle.classes.root({ instance: this });
1021
1120
  }
@@ -1763,8 +1862,6 @@ class MultiSelect extends BaseComponent {
1763
1862
  this.onChange.emit({ originalEvent: event, value: this.value });
1764
1863
  DomHandler.focus(this.headerCheckboxViewChild?.nativeElement);
1765
1864
  this.headerCheckboxFocus = true;
1766
- event.preventDefault();
1767
- event.stopPropagation();
1768
1865
  }
1769
1866
  changeFocusedOptionIndex(event, index) {
1770
1867
  if (this.focusedOptionIndex() !== index) {
@@ -2022,720 +2119,713 @@ class MultiSelect extends BaseComponent {
2022
2119
  return this._filterValue() && this._filterValue().trim().length > 0;
2023
2120
  }
2024
2121
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MultiSelect, deps: [{ token: i0.NgZone }, { token: i2.FilterService }, { token: i2.PrimeNGConfig }, { token: i2.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
2025
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.2", type: MultiSelect, selector: "p-multiSelect", inputs: { id: "id", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", inputId: "inputId", disabled: ["disabled", "disabled", booleanAttribute], fluid: ["fluid", "fluid", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], group: ["group", "group", booleanAttribute], filter: ["filter", "filter", booleanAttribute], filterPlaceHolder: "filterPlaceHolder", filterLocale: "filterLocale", overlayVisible: ["overlayVisible", "overlayVisible", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], variant: "variant", appendTo: "appendTo", dataKey: "dataKey", name: "name", ariaLabelledBy: "ariaLabelledBy", displaySelectedLabel: "displaySelectedLabel", maxSelectedLabels: "maxSelectedLabels", selectionLimit: ["selectionLimit", "selectionLimit", numberAttribute], selectedItemsLabel: "selectedItemsLabel", showToggleAll: ["showToggleAll", "showToggleAll", booleanAttribute], emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", resetFilterOnHide: ["resetFilterOnHide", "resetFilterOnHide", booleanAttribute], dropdownIcon: "dropdownIcon", chipIcon: "chipIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", showHeader: ["showHeader", "showHeader", booleanAttribute], filterBy: "filterBy", scrollHeight: "scrollHeight", lazy: ["lazy", "lazy", booleanAttribute], virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], loading: ["loading", "loading", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], loadingIcon: "loadingIcon", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", filterMatchMode: "filterMatchMode", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: ["autofocusFilter", "autofocusFilter", booleanAttribute], display: "display", autocomplete: "autocomplete", showClear: ["showClear", "showClear", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", defaultLabel: "defaultLabel", placeholder: "placeholder", options: "options", filterValue: "filterValue", itemSize: "itemSize", selectAll: "selectAll", focusOnHover: ["focusOnHover", "focusOnHover", booleanAttribute], filterFields: "filterFields", selectOnFocus: ["selectOnFocus", "selectOnFocus", booleanAttribute], autoOptionFocus: ["autoOptionFocus", "autoOptionFocus", booleanAttribute] }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle], 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 }], usesInheritance: true, ngImport: i0, template: `
2026
- <div #container [attr.id]="id" [ngClass]="rootClass" [ngStyle]="style" [class]="styleClass" (click)="onContainerClick($event)">
2027
- <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
2028
- <input
2029
- #focusInput
2030
- [pTooltip]="tooltip"
2031
- [tooltipPosition]="tooltipPosition"
2032
- [positionStyle]="tooltipPositionStyle"
2033
- [tooltipStyleClass]="tooltipStyleClass"
2034
- [attr.aria-disabled]="disabled"
2035
- [attr.id]="inputId"
2036
- role="combobox"
2037
- [attr.aria-label]="ariaLabel"
2038
- [attr.aria-labelledby]="ariaLabelledBy"
2039
- [attr.aria-haspopup]="'listbox'"
2040
- [attr.aria-expanded]="overlayVisible ?? false"
2041
- [attr.aria-controls]="overlayVisible ? id + '_list' : null"
2042
- [attr.tabindex]="!disabled ? tabindex : -1"
2043
- [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
2044
- (focus)="onInputFocus($event)"
2045
- (blur)="onInputBlur($event)"
2046
- (keydown)="onKeyDown($event)"
2047
- pAutoFocus
2048
- [autofocus]="autofocus"
2049
- />
2050
- </div>
2051
- <div
2052
- class="p-multiselect-label-container"
2122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.2", type: MultiSelect, selector: "p-multiSelect, p-multiselect", inputs: { id: "id", ariaLabel: "ariaLabel", style: "style", styleClass: "styleClass", panelStyle: "panelStyle", panelStyleClass: "panelStyleClass", inputId: "inputId", disabled: ["disabled", "disabled", booleanAttribute], fluid: ["fluid", "fluid", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], group: ["group", "group", booleanAttribute], filter: ["filter", "filter", booleanAttribute], filterPlaceHolder: "filterPlaceHolder", filterLocale: "filterLocale", overlayVisible: ["overlayVisible", "overlayVisible", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], variant: "variant", appendTo: "appendTo", dataKey: "dataKey", name: "name", ariaLabelledBy: "ariaLabelledBy", displaySelectedLabel: "displaySelectedLabel", maxSelectedLabels: "maxSelectedLabels", selectionLimit: ["selectionLimit", "selectionLimit", numberAttribute], selectedItemsLabel: "selectedItemsLabel", showToggleAll: ["showToggleAll", "showToggleAll", booleanAttribute], emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", resetFilterOnHide: ["resetFilterOnHide", "resetFilterOnHide", booleanAttribute], dropdownIcon: "dropdownIcon", chipIcon: "chipIcon", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", showHeader: ["showHeader", "showHeader", booleanAttribute], filterBy: "filterBy", scrollHeight: "scrollHeight", lazy: ["lazy", "lazy", booleanAttribute], virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], loading: ["loading", "loading", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], loadingIcon: "loadingIcon", virtualScrollOptions: "virtualScrollOptions", overlayOptions: "overlayOptions", ariaFilterLabel: "ariaFilterLabel", filterMatchMode: "filterMatchMode", tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", autofocusFilter: ["autofocusFilter", "autofocusFilter", booleanAttribute], display: "display", autocomplete: "autocomplete", showClear: ["showClear", "showClear", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", defaultLabel: "defaultLabel", placeholder: "placeholder", options: "options", filterValue: "filterValue", itemSize: "itemSize", selectAll: "selectAll", focusOnHover: ["focusOnHover", "focusOnHover", booleanAttribute], filterFields: "filterFields", selectOnFocus: ["selectOnFocus", "selectOnFocus", booleanAttribute], autoOptionFocus: ["autoOptionFocus", "autoOptionFocus", booleanAttribute] }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onClear: "onClear", onPanelShow: "onPanelShow", onPanelHide: "onPanelHide", onLazyLoad: "onLazyLoad", onRemove: "onRemove", onSelectAllChange: "onSelectAllChange" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "attr.id": "id", "style": "style", "class": "this.hostClasses" } }, providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ 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 }], usesInheritance: true, ngImport: i0, template: `
2123
+ <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
2124
+ <input
2125
+ #focusInput
2053
2126
  [pTooltip]="tooltip"
2054
- (mouseleave)="labelContainerMouseLeave()"
2055
- [tooltipDisabled]="_disableTooltip"
2056
2127
  [tooltipPosition]="tooltipPosition"
2057
2128
  [positionStyle]="tooltipPositionStyle"
2058
2129
  [tooltipStyleClass]="tooltipStyleClass"
2059
- >
2060
- <div [ngClass]="labelClass">
2061
- <ng-container *ngIf="!selectedItemsTemplate">
2062
- <ng-container *ngIf="display === 'comma'">{{ label() || 'empty' }}</ng-container>
2063
- <ng-container *ngIf="display === 'chip'">
2064
- <div #token *ngFor="let item of chipSelectedItems(); let i = index" class="p-multiselect-chip-item">
2065
- <p-chip
2066
- styleClass="p-multiselect-chip"
2067
- [label]="getLabelByValue(item)"
2068
- [removable]="true"
2069
- (onRemove)="removeOption(item, $event)"
2070
- [removeIcon]="chipIcon"
2071
- >
2072
- <ng-container *ngIf="chipIconTemplate || removeTokenIconTemplate">
2073
- <ng-template pTemplate="removeicon">
2074
- <ng-container *ngIf="!disabled">
2075
- <span
2076
- class="p-multiselect-chip-icon"
2077
- *ngIf="chipIconTemplate || removeTokenIconTemplate"
2078
- (click)="removeOption(item, event)"
2079
- [attr.data-pc-section]="'clearicon'"
2080
- [attr.aria-hidden]="true"
2081
- >
2082
- <ng-container
2083
- *ngTemplateOutlet="
2084
- chipIconTemplate || removeTokenIconTemplate;
2085
- context: { class: 'p-multiselect-chip-icon' }
2086
- "
2087
- ></ng-container>
2088
- </span>
2089
- </ng-container>
2090
- </ng-template>
2091
- </ng-container>
2092
- </p-chip>
2093
- </div>
2094
- <ng-container *ngIf="!modelValue() || modelValue().length === 0">{{
2095
- placeholder() || defaultLabel || 'empty'
2096
- }}</ng-container>
2097
- </ng-container>
2130
+ [attr.aria-disabled]="disabled"
2131
+ [attr.id]="inputId"
2132
+ role="combobox"
2133
+ [attr.aria-label]="ariaLabel"
2134
+ [attr.aria-labelledby]="ariaLabelledBy"
2135
+ [attr.aria-haspopup]="'listbox'"
2136
+ [attr.aria-expanded]="overlayVisible ?? false"
2137
+ [attr.aria-controls]="overlayVisible ? id + '_list' : null"
2138
+ [attr.tabindex]="!disabled ? tabindex : -1"
2139
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
2140
+ (focus)="onInputFocus($event)"
2141
+ (blur)="onInputBlur($event)"
2142
+ (keydown)="onKeyDown($event)"
2143
+ pAutoFocus
2144
+ [autofocus]="autofocus"
2145
+ />
2146
+ </div>
2147
+ <div
2148
+ class="p-multiselect-label-container"
2149
+ [pTooltip]="tooltip"
2150
+ (mouseleave)="labelContainerMouseLeave()"
2151
+ [tooltipDisabled]="_disableTooltip"
2152
+ [tooltipPosition]="tooltipPosition"
2153
+ [positionStyle]="tooltipPositionStyle"
2154
+ [tooltipStyleClass]="tooltipStyleClass"
2155
+ >
2156
+ <div [ngClass]="labelClass">
2157
+ <ng-container *ngIf="!selectedItemsTemplate">
2158
+ <ng-container *ngIf="display === 'comma'">{{ label() || 'empty' }}</ng-container>
2159
+ <ng-container *ngIf="display === 'chip'">
2160
+ <div #token *ngFor="let item of chipSelectedItems(); let i = index" class="p-multiselect-chip-item">
2161
+ <p-chip
2162
+ styleClass="p-multiselect-chip"
2163
+ [label]="getLabelByValue(item)"
2164
+ [removable]="true"
2165
+ (onRemove)="removeOption(item, $event)"
2166
+ [removeIcon]="chipIcon"
2167
+ >
2168
+ <ng-container *ngIf="chipIconTemplate || removeTokenIconTemplate">
2169
+ <ng-template pTemplate="removeicon">
2170
+ <ng-container *ngIf="!disabled">
2171
+ <span
2172
+ class="p-multiselect-chip-icon"
2173
+ *ngIf="chipIconTemplate || removeTokenIconTemplate"
2174
+ (click)="removeOption(item, event)"
2175
+ [attr.data-pc-section]="'clearicon'"
2176
+ [attr.aria-hidden]="true"
2177
+ >
2178
+ <ng-container
2179
+ *ngTemplateOutlet="
2180
+ chipIconTemplate || removeTokenIconTemplate;
2181
+ context: { class: 'p-multiselect-chip-icon' }
2182
+ "
2183
+ ></ng-container>
2184
+ </span>
2185
+ </ng-container>
2186
+ </ng-template>
2187
+ </ng-container>
2188
+ </p-chip>
2189
+ </div>
2190
+ <ng-container *ngIf="!modelValue() || modelValue().length === 0">{{
2191
+ placeholder() || defaultLabel || 'empty'
2192
+ }}</ng-container>
2098
2193
  </ng-container>
2099
- <ng-container
2100
- *ngTemplateOutlet="
2101
- selectedItemsTemplate;
2102
- context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }
2103
- "
2104
- ></ng-container>
2105
- </div>
2194
+ </ng-container>
2195
+ <ng-container
2196
+ *ngTemplateOutlet="selectedItemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }"
2197
+ ></ng-container>
2106
2198
  </div>
2107
- <ng-container *ngIf="isVisibleClearIcon">
2108
- <TimesIcon
2109
- *ngIf="!clearIconTemplate"
2110
- class="p-multiselect-clear-icon"
2111
- (click)="clear($event)"
2112
- [attr.data-pc-section]="'clearicon'"
2113
- [attr.aria-hidden]="true"
2114
- />
2115
- <span
2116
- *ngIf="clearIconTemplate"
2117
- class="p-multiselect-clear-icon"
2118
- (click)="clear($event)"
2119
- [attr.data-pc-section]="'clearicon'"
2120
- [attr.aria-hidden]="true"
2121
- >
2122
- <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
2123
- </span>
2124
- </ng-container>
2125
- <div class="p-multiselect-dropdown">
2126
- <ng-container *ngIf="loading; else elseBlock">
2127
- <ng-container *ngIf="loadingIconTemplate">
2128
- <ng-container *ngTemplateOutlet="loadingIconTemplate"></ng-container>
2129
- </ng-container>
2130
- <ng-container *ngIf="!loadingIconTemplate">
2131
- <span *ngIf="loadingIcon" [ngClass]="'p-multiselect-loading-icon pi-spin ' + loadingIcon" aria-hidden="true"></span>
2132
- <span *ngIf="!loadingIcon" [class]="'p-multiselect-loading-icon pi pi-spinner pi-spin'" aria-hidden="true"></span>
2133
- </ng-container>
2199
+ </div>
2200
+ <ng-container *ngIf="isVisibleClearIcon">
2201
+ <TimesIcon
2202
+ *ngIf="!clearIconTemplate"
2203
+ class="p-multiselect-clear-icon"
2204
+ (click)="clear($event)"
2205
+ [attr.data-pc-section]="'clearicon'"
2206
+ [attr.aria-hidden]="true"
2207
+ />
2208
+ <span
2209
+ *ngIf="clearIconTemplate"
2210
+ class="p-multiselect-clear-icon"
2211
+ (click)="clear($event)"
2212
+ [attr.data-pc-section]="'clearicon'"
2213
+ [attr.aria-hidden]="true"
2214
+ >
2215
+ <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
2216
+ </span>
2217
+ </ng-container>
2218
+ <div class="p-multiselect-dropdown">
2219
+ <ng-container *ngIf="loading; else elseBlock">
2220
+ <ng-container *ngIf="loadingIconTemplate">
2221
+ <ng-container *ngTemplateOutlet="loadingIconTemplate"></ng-container>
2134
2222
  </ng-container>
2135
- <ng-template #elseBlock>
2136
- <ng-container *ngIf="!dropdownIconTemplate">
2137
- <span
2138
- *ngIf="dropdownIcon"
2139
- class="p-multiselect-dropdown-icon"
2140
- [ngClass]="dropdownIcon"
2141
- [attr.data-pc-section]="'triggericon'"
2142
- [attr.aria-hidden]="true"
2143
- ></span>
2144
- <ChevronDownIcon
2145
- *ngIf="!dropdownIcon"
2146
- [styleClass]="'p-multiselect-dropdown-icon'"
2147
- [attr.data-pc-section]="'triggericon'"
2148
- [attr.aria-hidden]="true"
2149
- />
2150
- </ng-container>
2223
+ <ng-container *ngIf="!loadingIconTemplate">
2224
+ <span *ngIf="loadingIcon" [ngClass]="'p-multiselect-loading-icon pi-spin ' + loadingIcon" aria-hidden="true"></span>
2225
+ <span *ngIf="!loadingIcon" [class]="'p-multiselect-loading-icon pi pi-spinner pi-spin'" aria-hidden="true"></span>
2226
+ </ng-container>
2227
+ </ng-container>
2228
+ <ng-template #elseBlock>
2229
+ <ng-container *ngIf="!dropdownIconTemplate">
2151
2230
  <span
2152
- *ngIf="dropdownIconTemplate"
2231
+ *ngIf="dropdownIcon"
2153
2232
  class="p-multiselect-dropdown-icon"
2233
+ [ngClass]="dropdownIcon"
2154
2234
  [attr.data-pc-section]="'triggericon'"
2155
2235
  [attr.aria-hidden]="true"
2236
+ ></span>
2237
+ <ChevronDownIcon
2238
+ *ngIf="!dropdownIcon"
2239
+ [styleClass]="'p-multiselect-dropdown-icon'"
2240
+ [attr.data-pc-section]="'triggericon'"
2241
+ [attr.aria-hidden]="true"
2242
+ />
2243
+ </ng-container>
2244
+ <span
2245
+ *ngIf="dropdownIconTemplate"
2246
+ class="p-multiselect-dropdown-icon"
2247
+ [attr.data-pc-section]="'triggericon'"
2248
+ [attr.aria-hidden]="true"
2249
+ >
2250
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
2251
+ </span>
2252
+ </ng-template>
2253
+ </div>
2254
+ <p-overlay
2255
+ #overlay
2256
+ [(visible)]="overlayVisible"
2257
+ [options]="overlayOptions"
2258
+ [target]="'@parent'"
2259
+ [appendTo]="appendTo"
2260
+ [autoZIndex]="autoZIndex"
2261
+ [baseZIndex]="baseZIndex"
2262
+ [showTransitionOptions]="showTransitionOptions"
2263
+ [hideTransitionOptions]="hideTransitionOptions"
2264
+ (onAnimationStart)="onOverlayAnimationStart($event)"
2265
+ (onHide)="hide()"
2266
+ >
2267
+ <ng-template pTemplate="content">
2268
+ <div
2269
+ [attr.id]="id + '_list'"
2270
+ [ngClass]="'p-multiselect-overlay p-component'"
2271
+ [ngStyle]="panelStyle"
2272
+ [class]="panelStyleClass"
2273
+ >
2274
+ <span
2275
+ #firstHiddenFocusableEl
2276
+ role="presentation"
2277
+ class="p-hidden-accessible p-hidden-focusable"
2278
+ [attr.tabindex]="0"
2279
+ (focus)="onFirstHiddenFocus($event)"
2280
+ [attr.data-p-hidden-accessible]="true"
2281
+ [attr.data-p-hidden-focusable]="true"
2156
2282
  >
2157
- <ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
2158
2283
  </span>
2159
- </ng-template>
2160
- </div>
2161
- <p-overlay
2162
- #overlay
2163
- [(visible)]="overlayVisible"
2164
- [options]="overlayOptions"
2165
- [target]="'@parent'"
2166
- [appendTo]="appendTo"
2167
- [autoZIndex]="autoZIndex"
2168
- [baseZIndex]="baseZIndex"
2169
- [showTransitionOptions]="showTransitionOptions"
2170
- [hideTransitionOptions]="hideTransitionOptions"
2171
- (onAnimationStart)="onOverlayAnimationStart($event)"
2172
- (onHide)="hide()"
2173
- >
2174
- <ng-template pTemplate="content">
2175
- <div
2176
- [attr.id]="id + '_list'"
2177
- [ngClass]="'p-multiselect-overlay p-component'"
2178
- [ngStyle]="panelStyle"
2179
- [class]="panelStyleClass"
2180
- >
2181
- <span
2182
- #firstHiddenFocusableEl
2183
- role="presentation"
2184
- class="p-hidden-accessible p-hidden-focusable"
2185
- [attr.tabindex]="0"
2186
- (focus)="onFirstHiddenFocus($event)"
2187
- [attr.data-p-hidden-accessible]="true"
2188
- [attr.data-p-hidden-focusable]="true"
2189
- >
2190
- </span>
2191
- <div class="p-multiselect-header" *ngIf="showHeader">
2192
- <ng-content select="p-header"></ng-content>
2193
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
2194
- <ng-container *ngIf="filterTemplate; else builtInFilterElement">
2195
- <ng-container *ngTemplateOutlet="filterTemplate; context: { options: filterOptions }"></ng-container>
2196
- </ng-container>
2197
- <ng-template #builtInFilterElement>
2198
- <p-checkbox
2199
- [ngModel]="allSelected()"
2200
- [binary]="true"
2201
- (onChange)="onToggleAll($event)"
2202
- *ngIf="showToggleAll && !selectionLimit"
2203
- [variant]="variant"
2204
- [disabled]="disabled || toggleAllDisabled"
2205
- >
2206
- <ng-container *ngIf="allSelected() || partialSelected()">
2207
- <ng-template pTemplate="icon" let-class="class">
2208
- <span *ngIf="headerCheckboxIconTemplate">
2209
- <ng-template
2210
- *ngTemplateOutlet="
2211
- headerCheckboxIconTemplate;
2212
- context: {
2213
- checked: allSelected(),
2214
- partialSelected: partialSelected(),
2215
- class: class,
2216
- }
2217
- "
2218
- ></ng-template>
2219
- </span>
2220
- </ng-template>
2221
- </ng-container>
2222
- </p-checkbox>
2223
-
2224
- <div class="p-multiselect-filter-container" *ngIf="filter">
2225
- <p-iconField>
2226
- <input
2227
- #filterInput
2228
- pInputText
2229
- [variant]="variant"
2230
- type="text"
2231
- role="searchbox"
2232
- [attr.autocomplete]="autocomplete"
2233
- [attr.placeholder]="filterPlaceHolder"
2234
- role="searchbox"
2235
- [attr.aria-owns]="id + '_list'"
2236
- [attr.aria-activedescendant]="focusedOptionId"
2237
- [value]="_filterValue() || ''"
2238
- (input)="onFilterInputChange($event)"
2239
- (keydown)="onFilterKeyDown($event)"
2240
- (click)="onInputClick($event)"
2241
- (blur)="onFilterBlur($event)"
2242
- class="p-multiselect-filter"
2243
- [disabled]="disabled"
2244
- [attr.placeholder]="filterPlaceHolder"
2245
- [attr.aria-label]="ariaFilterLabel"
2246
- />
2247
- <p-inputIcon>
2248
- <SearchIcon [styleClass]="'p-multiselect-filter-icon'" *ngIf="!filterIconTemplate" />
2249
- <span *ngIf="filterIconTemplate" class="p-multiselect-filter-icon">
2250
- <ng-template *ngTemplateOutlet="filterIconTemplate"></ng-template>
2251
- </span>
2252
- </p-inputIcon>
2253
- </p-iconField>
2254
- </div>
2255
- </ng-template>
2256
- </div>
2257
- <div class="p-multiselect-list-container" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
2258
- <p-scroller
2259
- *ngIf="virtualScroll"
2260
- #scroller
2261
- [items]="visibleOptions()"
2262
- [style]="{ height: scrollHeight }"
2263
- [itemSize]="virtualScrollItemSize || _itemSize"
2264
- [autoSize]="true"
2265
- [tabindex]="-1"
2266
- [lazy]="lazy"
2267
- (onLazyLoad)="onLazyLoad.emit($event)"
2268
- [options]="virtualScrollOptions"
2284
+ <div class="p-multiselect-header" *ngIf="showHeader">
2285
+ <ng-content select="p-header"></ng-content>
2286
+ <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
2287
+ <ng-container *ngIf="filterTemplate; else builtInFilterElement">
2288
+ <ng-container *ngTemplateOutlet="filterTemplate; context: { options: filterOptions }"></ng-container>
2289
+ </ng-container>
2290
+ <ng-template #builtInFilterElement>
2291
+ <p-checkbox
2292
+ [ngModel]="allSelected()"
2293
+ [binary]="true"
2294
+ (onChange)="onToggleAll($event)"
2295
+ *ngIf="showToggleAll && !selectionLimit"
2296
+ [variant]="variant"
2297
+ [disabled]="disabled || toggleAllDisabled"
2269
2298
  >
2270
- <ng-template pTemplate="content" let-items let-scrollerOptions="options">
2271
- <ng-container
2272
- *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"
2273
- ></ng-container>
2299
+ <ng-template pTemplate="icon" let-class="class">
2300
+ <CheckIcon
2301
+ *ngIf="!headerCheckboxIconTemplate && allSelected()"
2302
+ [styleClass]="class"
2303
+ [attr.data-pc-section]="'icon'"
2304
+ />
2305
+ <ng-template
2306
+ *ngTemplateOutlet="
2307
+ headerCheckboxIconTemplate;
2308
+ context: {
2309
+ checked: allSelected(),
2310
+ partialSelected: partialSelected(),
2311
+ class: class,
2312
+ }
2313
+ "
2314
+ ></ng-template>
2274
2315
  </ng-template>
2275
- <ng-container *ngIf="loaderTemplate">
2276
- <ng-template pTemplate="loader" let-scrollerOptions="options">
2277
- <ng-container
2278
- *ngTemplateOutlet="loaderTemplate; context: { options: scrollerOptions }"
2279
- ></ng-container>
2280
- </ng-template>
2281
- </ng-container>
2282
- </p-scroller>
2283
- <ng-container *ngIf="!virtualScroll">
2316
+ </p-checkbox>
2317
+
2318
+ <div class="p-multiselect-filter-container" *ngIf="filter">
2319
+ <p-iconfield>
2320
+ <input
2321
+ #filterInput
2322
+ pInputText
2323
+ [variant]="variant"
2324
+ type="text"
2325
+ role="searchbox"
2326
+ [attr.autocomplete]="autocomplete"
2327
+ [attr.placeholder]="filterPlaceHolder"
2328
+ role="searchbox"
2329
+ [attr.aria-owns]="id + '_list'"
2330
+ [attr.aria-activedescendant]="focusedOptionId"
2331
+ [value]="_filterValue() || ''"
2332
+ (input)="onFilterInputChange($event)"
2333
+ (keydown)="onFilterKeyDown($event)"
2334
+ (click)="onInputClick($event)"
2335
+ (blur)="onFilterBlur($event)"
2336
+ class="p-multiselect-filter"
2337
+ [disabled]="disabled"
2338
+ [attr.placeholder]="filterPlaceHolder"
2339
+ [attr.aria-label]="ariaFilterLabel"
2340
+ />
2341
+ <p-inputicon>
2342
+ <SearchIcon [styleClass]="'p-multiselect-filter-icon'" *ngIf="!filterIconTemplate" />
2343
+ <span *ngIf="filterIconTemplate" class="p-multiselect-filter-icon">
2344
+ <ng-template *ngTemplateOutlet="filterIconTemplate"></ng-template>
2345
+ </span>
2346
+ </p-inputicon>
2347
+ </p-iconfield>
2348
+ </div>
2349
+ </ng-template>
2350
+ </div>
2351
+ <div class="p-multiselect-list-container" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
2352
+ <p-scroller
2353
+ *ngIf="virtualScroll"
2354
+ #scroller
2355
+ [items]="visibleOptions()"
2356
+ [style]="{ height: scrollHeight }"
2357
+ [itemSize]="virtualScrollItemSize || _itemSize"
2358
+ [autoSize]="true"
2359
+ [tabindex]="-1"
2360
+ [lazy]="lazy"
2361
+ (onLazyLoad)="onLazyLoad.emit($event)"
2362
+ [options]="virtualScrollOptions"
2363
+ >
2364
+ <ng-template pTemplate="content" let-items let-scrollerOptions="options">
2284
2365
  <ng-container
2285
- *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"
2366
+ *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"
2286
2367
  ></ng-container>
2368
+ </ng-template>
2369
+ <ng-container *ngIf="loaderTemplate">
2370
+ <ng-template pTemplate="loader" let-scrollerOptions="options">
2371
+ <ng-container *ngTemplateOutlet="loaderTemplate; context: { options: scrollerOptions }"></ng-container>
2372
+ </ng-template>
2287
2373
  </ng-container>
2374
+ </p-scroller>
2375
+ <ng-container *ngIf="!virtualScroll">
2376
+ <ng-container
2377
+ *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"
2378
+ ></ng-container>
2379
+ </ng-container>
2288
2380
 
2289
- <ng-template #buildInItems let-items let-scrollerOptions="options">
2290
- <ul
2291
- #items
2292
- class="p-multiselect-list"
2293
- [ngClass]="scrollerOptions.contentStyleClass"
2294
- [style]="scrollerOptions.contentStyle"
2295
- role="listbox"
2296
- aria-multiselectable="true"
2297
- [attr.aria-label]="listLabel"
2298
- >
2299
- <ng-template ngFor let-option [ngForOf]="items" let-i="index">
2300
- <ng-container *ngIf="isOptionGroup(option)">
2301
- <li
2302
- [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)"
2303
- class="p-multiselect-option-group"
2304
- [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2305
- role="option"
2306
- >
2307
- <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
2308
- <ng-container
2309
- *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"
2310
- ></ng-container>
2311
- </li>
2312
- </ng-container>
2313
- <ng-container *ngIf="!isOptionGroup(option)">
2314
- <p-multiSelectItem
2315
- [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
2316
- [option]="option"
2317
- [selected]="isSelected(option)"
2318
- [label]="getOptionLabel(option)"
2319
- [disabled]="isOptionDisabled(option)"
2320
- [template]="itemTemplate"
2321
- [checkIconTemplate]="checkIconTemplate"
2322
- [itemCheckboxIconTemplate]="itemCheckboxIconTemplate"
2323
- [itemSize]="scrollerOptions.itemSize"
2324
- [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
2325
- [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2326
- [ariaSetSize]="ariaSetSize"
2327
- [variant]="variant"
2328
- (onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
2329
- (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
2330
- ></p-multiSelectItem>
2331
- </ng-container>
2332
- </ng-template>
2333
-
2334
- <li
2335
- *ngIf="hasFilter() && isEmpty()"
2336
- class="p-multiselect-empty-message"
2337
- [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2338
- role="option"
2339
- >
2340
- <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
2341
- {{ emptyFilterMessageLabel }}
2342
- </ng-container>
2343
- <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
2344
- </li>
2345
- <li
2346
- *ngIf="!hasFilter() && isEmpty()"
2347
- class="p-multiselect-empty-message"
2348
- [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2349
- role="option"
2350
- >
2351
- <ng-container *ngIf="!emptyTemplate; else empty">
2352
- {{ emptyMessageLabel }}
2353
- </ng-container>
2354
- <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
2355
- </li>
2356
- </ul>
2357
- </ng-template>
2358
- </div>
2359
- <div *ngIf="footerFacet || footerTemplate">
2360
- <ng-content select="p-footer"></ng-content>
2361
- <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
2362
- </div>
2381
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
2382
+ <ul
2383
+ #items
2384
+ class="p-multiselect-list"
2385
+ [ngClass]="scrollerOptions.contentStyleClass"
2386
+ [style]="scrollerOptions.contentStyle"
2387
+ role="listbox"
2388
+ aria-multiselectable="true"
2389
+ [attr.aria-label]="listLabel"
2390
+ >
2391
+ <ng-template ngFor let-option [ngForOf]="items" let-i="index">
2392
+ <ng-container *ngIf="isOptionGroup(option)">
2393
+ <li
2394
+ [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)"
2395
+ class="p-multiselect-option-group"
2396
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2397
+ role="option"
2398
+ >
2399
+ <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
2400
+ <ng-container
2401
+ *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"
2402
+ ></ng-container>
2403
+ </li>
2404
+ </ng-container>
2405
+ <ng-container *ngIf="!isOptionGroup(option)">
2406
+ <p-multiselect-item
2407
+ [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
2408
+ [option]="option"
2409
+ [selected]="isSelected(option)"
2410
+ [label]="getOptionLabel(option)"
2411
+ [disabled]="isOptionDisabled(option)"
2412
+ [template]="itemTemplate"
2413
+ [checkIconTemplate]="checkIconTemplate"
2414
+ [itemCheckboxIconTemplate]="itemCheckboxIconTemplate"
2415
+ [itemSize]="scrollerOptions.itemSize"
2416
+ [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
2417
+ [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2418
+ [ariaSetSize]="ariaSetSize"
2419
+ [variant]="variant"
2420
+ (onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
2421
+ (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
2422
+ ></p-multiselect-item>
2423
+ </ng-container>
2424
+ </ng-template>
2363
2425
 
2364
- <span
2365
- #lastHiddenFocusableEl
2366
- role="presentation"
2367
- class="p-hidden-accessible p-hidden-focusable"
2368
- [attr.tabindex]="0"
2369
- (focus)="onLastHiddenFocus($event)"
2370
- [attr.data-p-hidden-accessible]="true"
2371
- [attr.data-p-hidden-focusable]="true"
2372
- ></span>
2426
+ <li
2427
+ *ngIf="hasFilter() && isEmpty()"
2428
+ class="p-multiselect-empty-message"
2429
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2430
+ role="option"
2431
+ >
2432
+ <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
2433
+ {{ emptyFilterMessageLabel }}
2434
+ </ng-container>
2435
+ <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
2436
+ </li>
2437
+ <li
2438
+ *ngIf="!hasFilter() && isEmpty()"
2439
+ class="p-multiselect-empty-message"
2440
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2441
+ role="option"
2442
+ >
2443
+ <ng-container *ngIf="!emptyTemplate; else empty">
2444
+ {{ emptyMessageLabel }}
2445
+ </ng-container>
2446
+ <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
2447
+ </li>
2448
+ </ul>
2449
+ </ng-template>
2373
2450
  </div>
2374
- </ng-template>
2375
- </p-overlay>
2376
- </div>
2377
- `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => i6.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(() => i2.PrimeTemplate), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i7.Tooltip), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(() => i8.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: "directive", type: i0.forwardRef(() => i9.AutoFocus), selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: i0.forwardRef(() => SearchIcon), selector: "SearchIcon" }, { kind: "component", type: i0.forwardRef(() => TimesIcon), selector: "TimesIcon" }, { kind: "component", type: i0.forwardRef(() => ChevronDownIcon), selector: "ChevronDownIcon" }, { kind: "component", type: i0.forwardRef(() => i10.IconField), selector: "p-iconfield, p-iconField", inputs: ["iconPosition", "styleClass"] }, { kind: "component", type: i0.forwardRef(() => i11.InputIcon), selector: "p-inputicon, p-inputIcon", inputs: ["styleClass"] }, { kind: "directive", type: i0.forwardRef(() => i12.InputText), selector: "[pInputText]", inputs: ["variant", "fluid"] }, { kind: "component", type: i0.forwardRef(() => i13.Chip), selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "component", type: i0.forwardRef(() => i4.Checkbox), selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i0.forwardRef(() => i5.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i5.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i0.forwardRef(() => MultiSelectItem), selector: "p-multiSelectItem", inputs: ["id", "option", "selected", "label", "disabled", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant", "template", "checkIconTemplate", "itemCheckboxIconTemplate"], outputs: ["onClick", "onMouseEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2451
+ <div *ngIf="footerFacet || footerTemplate">
2452
+ <ng-content select="p-footer"></ng-content>
2453
+ <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
2454
+ </div>
2455
+
2456
+ <span
2457
+ #lastHiddenFocusableEl
2458
+ role="presentation"
2459
+ class="p-hidden-accessible p-hidden-focusable"
2460
+ [attr.tabindex]="0"
2461
+ (focus)="onLastHiddenFocus($event)"
2462
+ [attr.data-p-hidden-accessible]="true"
2463
+ [attr.data-p-hidden-focusable]="true"
2464
+ ></span>
2465
+ </div>
2466
+ </ng-template>
2467
+ </p-overlay>
2468
+ `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => i6.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(() => i2.PrimeTemplate), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i7.Tooltip), selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i0.forwardRef(() => i8.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: "directive", type: i0.forwardRef(() => i9.AutoFocus), selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: i0.forwardRef(() => CheckIcon), selector: "CheckIcon" }, { kind: "component", type: i0.forwardRef(() => SearchIcon), selector: "SearchIcon" }, { kind: "component", type: i0.forwardRef(() => TimesIcon), selector: "TimesIcon" }, { kind: "component", type: i0.forwardRef(() => ChevronDownIcon), selector: "ChevronDownIcon" }, { kind: "component", type: i0.forwardRef(() => i10.IconField), selector: "p-iconfield, p-iconField", inputs: ["iconPosition", "styleClass"] }, { kind: "component", type: i0.forwardRef(() => i11.InputIcon), selector: "p-inputicon, p-inputIcon", inputs: ["styleClass"] }, { kind: "directive", type: i0.forwardRef(() => i12.InputText), selector: "[pInputText]", inputs: ["variant", "fluid", "size"] }, { kind: "component", type: i0.forwardRef(() => i13.Chip), selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "component", type: i0.forwardRef(() => i4.Checkbox), selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i0.forwardRef(() => i5.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i5.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i0.forwardRef(() => MultiSelectItem), selector: "p-multiSelectItem, p-multiselect-item", inputs: ["id", "option", "selected", "label", "disabled", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant", "template", "checkIconTemplate", "itemCheckboxIconTemplate"], outputs: ["onClick", "onMouseEnter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2378
2469
  }
2379
2470
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MultiSelect, decorators: [{
2380
2471
  type: Component,
2381
2472
  args: [{
2382
- selector: 'p-multiSelect',
2473
+ selector: 'p-multiSelect, p-multiselect',
2383
2474
  template: `
2384
- <div #container [attr.id]="id" [ngClass]="rootClass" [ngStyle]="style" [class]="styleClass" (click)="onContainerClick($event)">
2385
- <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
2386
- <input
2387
- #focusInput
2388
- [pTooltip]="tooltip"
2389
- [tooltipPosition]="tooltipPosition"
2390
- [positionStyle]="tooltipPositionStyle"
2391
- [tooltipStyleClass]="tooltipStyleClass"
2392
- [attr.aria-disabled]="disabled"
2393
- [attr.id]="inputId"
2394
- role="combobox"
2395
- [attr.aria-label]="ariaLabel"
2396
- [attr.aria-labelledby]="ariaLabelledBy"
2397
- [attr.aria-haspopup]="'listbox'"
2398
- [attr.aria-expanded]="overlayVisible ?? false"
2399
- [attr.aria-controls]="overlayVisible ? id + '_list' : null"
2400
- [attr.tabindex]="!disabled ? tabindex : -1"
2401
- [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
2402
- (focus)="onInputFocus($event)"
2403
- (blur)="onInputBlur($event)"
2404
- (keydown)="onKeyDown($event)"
2405
- pAutoFocus
2406
- [autofocus]="autofocus"
2407
- />
2408
- </div>
2409
- <div
2410
- class="p-multiselect-label-container"
2475
+ <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
2476
+ <input
2477
+ #focusInput
2411
2478
  [pTooltip]="tooltip"
2412
- (mouseleave)="labelContainerMouseLeave()"
2413
- [tooltipDisabled]="_disableTooltip"
2414
2479
  [tooltipPosition]="tooltipPosition"
2415
2480
  [positionStyle]="tooltipPositionStyle"
2416
2481
  [tooltipStyleClass]="tooltipStyleClass"
2417
- >
2418
- <div [ngClass]="labelClass">
2419
- <ng-container *ngIf="!selectedItemsTemplate">
2420
- <ng-container *ngIf="display === 'comma'">{{ label() || 'empty' }}</ng-container>
2421
- <ng-container *ngIf="display === 'chip'">
2422
- <div #token *ngFor="let item of chipSelectedItems(); let i = index" class="p-multiselect-chip-item">
2423
- <p-chip
2424
- styleClass="p-multiselect-chip"
2425
- [label]="getLabelByValue(item)"
2426
- [removable]="true"
2427
- (onRemove)="removeOption(item, $event)"
2428
- [removeIcon]="chipIcon"
2429
- >
2430
- <ng-container *ngIf="chipIconTemplate || removeTokenIconTemplate">
2431
- <ng-template pTemplate="removeicon">
2432
- <ng-container *ngIf="!disabled">
2433
- <span
2434
- class="p-multiselect-chip-icon"
2435
- *ngIf="chipIconTemplate || removeTokenIconTemplate"
2436
- (click)="removeOption(item, event)"
2437
- [attr.data-pc-section]="'clearicon'"
2438
- [attr.aria-hidden]="true"
2439
- >
2440
- <ng-container
2441
- *ngTemplateOutlet="
2442
- chipIconTemplate || removeTokenIconTemplate;
2443
- context: { class: 'p-multiselect-chip-icon' }
2444
- "
2445
- ></ng-container>
2446
- </span>
2447
- </ng-container>
2448
- </ng-template>
2449
- </ng-container>
2450
- </p-chip>
2451
- </div>
2452
- <ng-container *ngIf="!modelValue() || modelValue().length === 0">{{
2453
- placeholder() || defaultLabel || 'empty'
2454
- }}</ng-container>
2455
- </ng-container>
2482
+ [attr.aria-disabled]="disabled"
2483
+ [attr.id]="inputId"
2484
+ role="combobox"
2485
+ [attr.aria-label]="ariaLabel"
2486
+ [attr.aria-labelledby]="ariaLabelledBy"
2487
+ [attr.aria-haspopup]="'listbox'"
2488
+ [attr.aria-expanded]="overlayVisible ?? false"
2489
+ [attr.aria-controls]="overlayVisible ? id + '_list' : null"
2490
+ [attr.tabindex]="!disabled ? tabindex : -1"
2491
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
2492
+ (focus)="onInputFocus($event)"
2493
+ (blur)="onInputBlur($event)"
2494
+ (keydown)="onKeyDown($event)"
2495
+ pAutoFocus
2496
+ [autofocus]="autofocus"
2497
+ />
2498
+ </div>
2499
+ <div
2500
+ class="p-multiselect-label-container"
2501
+ [pTooltip]="tooltip"
2502
+ (mouseleave)="labelContainerMouseLeave()"
2503
+ [tooltipDisabled]="_disableTooltip"
2504
+ [tooltipPosition]="tooltipPosition"
2505
+ [positionStyle]="tooltipPositionStyle"
2506
+ [tooltipStyleClass]="tooltipStyleClass"
2507
+ >
2508
+ <div [ngClass]="labelClass">
2509
+ <ng-container *ngIf="!selectedItemsTemplate">
2510
+ <ng-container *ngIf="display === 'comma'">{{ label() || 'empty' }}</ng-container>
2511
+ <ng-container *ngIf="display === 'chip'">
2512
+ <div #token *ngFor="let item of chipSelectedItems(); let i = index" class="p-multiselect-chip-item">
2513
+ <p-chip
2514
+ styleClass="p-multiselect-chip"
2515
+ [label]="getLabelByValue(item)"
2516
+ [removable]="true"
2517
+ (onRemove)="removeOption(item, $event)"
2518
+ [removeIcon]="chipIcon"
2519
+ >
2520
+ <ng-container *ngIf="chipIconTemplate || removeTokenIconTemplate">
2521
+ <ng-template pTemplate="removeicon">
2522
+ <ng-container *ngIf="!disabled">
2523
+ <span
2524
+ class="p-multiselect-chip-icon"
2525
+ *ngIf="chipIconTemplate || removeTokenIconTemplate"
2526
+ (click)="removeOption(item, event)"
2527
+ [attr.data-pc-section]="'clearicon'"
2528
+ [attr.aria-hidden]="true"
2529
+ >
2530
+ <ng-container
2531
+ *ngTemplateOutlet="
2532
+ chipIconTemplate || removeTokenIconTemplate;
2533
+ context: { class: 'p-multiselect-chip-icon' }
2534
+ "
2535
+ ></ng-container>
2536
+ </span>
2537
+ </ng-container>
2538
+ </ng-template>
2539
+ </ng-container>
2540
+ </p-chip>
2541
+ </div>
2542
+ <ng-container *ngIf="!modelValue() || modelValue().length === 0">{{
2543
+ placeholder() || defaultLabel || 'empty'
2544
+ }}</ng-container>
2456
2545
  </ng-container>
2457
- <ng-container
2458
- *ngTemplateOutlet="
2459
- selectedItemsTemplate;
2460
- context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }
2461
- "
2462
- ></ng-container>
2463
- </div>
2546
+ </ng-container>
2547
+ <ng-container
2548
+ *ngTemplateOutlet="selectedItemsTemplate; context: { $implicit: selectedOptions, removeChip: removeOption.bind(this) }"
2549
+ ></ng-container>
2464
2550
  </div>
2465
- <ng-container *ngIf="isVisibleClearIcon">
2466
- <TimesIcon
2467
- *ngIf="!clearIconTemplate"
2468
- class="p-multiselect-clear-icon"
2469
- (click)="clear($event)"
2470
- [attr.data-pc-section]="'clearicon'"
2471
- [attr.aria-hidden]="true"
2472
- />
2473
- <span
2474
- *ngIf="clearIconTemplate"
2475
- class="p-multiselect-clear-icon"
2476
- (click)="clear($event)"
2477
- [attr.data-pc-section]="'clearicon'"
2478
- [attr.aria-hidden]="true"
2479
- >
2480
- <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
2481
- </span>
2482
- </ng-container>
2483
- <div class="p-multiselect-dropdown">
2484
- <ng-container *ngIf="loading; else elseBlock">
2485
- <ng-container *ngIf="loadingIconTemplate">
2486
- <ng-container *ngTemplateOutlet="loadingIconTemplate"></ng-container>
2487
- </ng-container>
2488
- <ng-container *ngIf="!loadingIconTemplate">
2489
- <span *ngIf="loadingIcon" [ngClass]="'p-multiselect-loading-icon pi-spin ' + loadingIcon" aria-hidden="true"></span>
2490
- <span *ngIf="!loadingIcon" [class]="'p-multiselect-loading-icon pi pi-spinner pi-spin'" aria-hidden="true"></span>
2491
- </ng-container>
2551
+ </div>
2552
+ <ng-container *ngIf="isVisibleClearIcon">
2553
+ <TimesIcon
2554
+ *ngIf="!clearIconTemplate"
2555
+ class="p-multiselect-clear-icon"
2556
+ (click)="clear($event)"
2557
+ [attr.data-pc-section]="'clearicon'"
2558
+ [attr.aria-hidden]="true"
2559
+ />
2560
+ <span
2561
+ *ngIf="clearIconTemplate"
2562
+ class="p-multiselect-clear-icon"
2563
+ (click)="clear($event)"
2564
+ [attr.data-pc-section]="'clearicon'"
2565
+ [attr.aria-hidden]="true"
2566
+ >
2567
+ <ng-template *ngTemplateOutlet="clearIconTemplate"></ng-template>
2568
+ </span>
2569
+ </ng-container>
2570
+ <div class="p-multiselect-dropdown">
2571
+ <ng-container *ngIf="loading; else elseBlock">
2572
+ <ng-container *ngIf="loadingIconTemplate">
2573
+ <ng-container *ngTemplateOutlet="loadingIconTemplate"></ng-container>
2492
2574
  </ng-container>
2493
- <ng-template #elseBlock>
2494
- <ng-container *ngIf="!dropdownIconTemplate">
2495
- <span
2496
- *ngIf="dropdownIcon"
2497
- class="p-multiselect-dropdown-icon"
2498
- [ngClass]="dropdownIcon"
2499
- [attr.data-pc-section]="'triggericon'"
2500
- [attr.aria-hidden]="true"
2501
- ></span>
2502
- <ChevronDownIcon
2503
- *ngIf="!dropdownIcon"
2504
- [styleClass]="'p-multiselect-dropdown-icon'"
2505
- [attr.data-pc-section]="'triggericon'"
2506
- [attr.aria-hidden]="true"
2507
- />
2508
- </ng-container>
2575
+ <ng-container *ngIf="!loadingIconTemplate">
2576
+ <span *ngIf="loadingIcon" [ngClass]="'p-multiselect-loading-icon pi-spin ' + loadingIcon" aria-hidden="true"></span>
2577
+ <span *ngIf="!loadingIcon" [class]="'p-multiselect-loading-icon pi pi-spinner pi-spin'" aria-hidden="true"></span>
2578
+ </ng-container>
2579
+ </ng-container>
2580
+ <ng-template #elseBlock>
2581
+ <ng-container *ngIf="!dropdownIconTemplate">
2509
2582
  <span
2510
- *ngIf="dropdownIconTemplate"
2583
+ *ngIf="dropdownIcon"
2511
2584
  class="p-multiselect-dropdown-icon"
2585
+ [ngClass]="dropdownIcon"
2512
2586
  [attr.data-pc-section]="'triggericon'"
2513
2587
  [attr.aria-hidden]="true"
2588
+ ></span>
2589
+ <ChevronDownIcon
2590
+ *ngIf="!dropdownIcon"
2591
+ [styleClass]="'p-multiselect-dropdown-icon'"
2592
+ [attr.data-pc-section]="'triggericon'"
2593
+ [attr.aria-hidden]="true"
2594
+ />
2595
+ </ng-container>
2596
+ <span
2597
+ *ngIf="dropdownIconTemplate"
2598
+ class="p-multiselect-dropdown-icon"
2599
+ [attr.data-pc-section]="'triggericon'"
2600
+ [attr.aria-hidden]="true"
2601
+ >
2602
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
2603
+ </span>
2604
+ </ng-template>
2605
+ </div>
2606
+ <p-overlay
2607
+ #overlay
2608
+ [(visible)]="overlayVisible"
2609
+ [options]="overlayOptions"
2610
+ [target]="'@parent'"
2611
+ [appendTo]="appendTo"
2612
+ [autoZIndex]="autoZIndex"
2613
+ [baseZIndex]="baseZIndex"
2614
+ [showTransitionOptions]="showTransitionOptions"
2615
+ [hideTransitionOptions]="hideTransitionOptions"
2616
+ (onAnimationStart)="onOverlayAnimationStart($event)"
2617
+ (onHide)="hide()"
2618
+ >
2619
+ <ng-template pTemplate="content">
2620
+ <div
2621
+ [attr.id]="id + '_list'"
2622
+ [ngClass]="'p-multiselect-overlay p-component'"
2623
+ [ngStyle]="panelStyle"
2624
+ [class]="panelStyleClass"
2625
+ >
2626
+ <span
2627
+ #firstHiddenFocusableEl
2628
+ role="presentation"
2629
+ class="p-hidden-accessible p-hidden-focusable"
2630
+ [attr.tabindex]="0"
2631
+ (focus)="onFirstHiddenFocus($event)"
2632
+ [attr.data-p-hidden-accessible]="true"
2633
+ [attr.data-p-hidden-focusable]="true"
2514
2634
  >
2515
- <ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
2516
2635
  </span>
2517
- </ng-template>
2518
- </div>
2519
- <p-overlay
2520
- #overlay
2521
- [(visible)]="overlayVisible"
2522
- [options]="overlayOptions"
2523
- [target]="'@parent'"
2524
- [appendTo]="appendTo"
2525
- [autoZIndex]="autoZIndex"
2526
- [baseZIndex]="baseZIndex"
2527
- [showTransitionOptions]="showTransitionOptions"
2528
- [hideTransitionOptions]="hideTransitionOptions"
2529
- (onAnimationStart)="onOverlayAnimationStart($event)"
2530
- (onHide)="hide()"
2531
- >
2532
- <ng-template pTemplate="content">
2533
- <div
2534
- [attr.id]="id + '_list'"
2535
- [ngClass]="'p-multiselect-overlay p-component'"
2536
- [ngStyle]="panelStyle"
2537
- [class]="panelStyleClass"
2538
- >
2539
- <span
2540
- #firstHiddenFocusableEl
2541
- role="presentation"
2542
- class="p-hidden-accessible p-hidden-focusable"
2543
- [attr.tabindex]="0"
2544
- (focus)="onFirstHiddenFocus($event)"
2545
- [attr.data-p-hidden-accessible]="true"
2546
- [attr.data-p-hidden-focusable]="true"
2547
- >
2548
- </span>
2549
- <div class="p-multiselect-header" *ngIf="showHeader">
2550
- <ng-content select="p-header"></ng-content>
2551
- <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
2552
- <ng-container *ngIf="filterTemplate; else builtInFilterElement">
2553
- <ng-container *ngTemplateOutlet="filterTemplate; context: { options: filterOptions }"></ng-container>
2554
- </ng-container>
2555
- <ng-template #builtInFilterElement>
2556
- <p-checkbox
2557
- [ngModel]="allSelected()"
2558
- [binary]="true"
2559
- (onChange)="onToggleAll($event)"
2560
- *ngIf="showToggleAll && !selectionLimit"
2561
- [variant]="variant"
2562
- [disabled]="disabled || toggleAllDisabled"
2563
- >
2564
- <ng-container *ngIf="allSelected() || partialSelected()">
2565
- <ng-template pTemplate="icon" let-class="class">
2566
- <span *ngIf="headerCheckboxIconTemplate">
2567
- <ng-template
2568
- *ngTemplateOutlet="
2569
- headerCheckboxIconTemplate;
2570
- context: {
2571
- checked: allSelected(),
2572
- partialSelected: partialSelected(),
2573
- class: class,
2574
- }
2575
- "
2576
- ></ng-template>
2577
- </span>
2578
- </ng-template>
2579
- </ng-container>
2580
- </p-checkbox>
2581
-
2582
- <div class="p-multiselect-filter-container" *ngIf="filter">
2583
- <p-iconField>
2584
- <input
2585
- #filterInput
2586
- pInputText
2587
- [variant]="variant"
2588
- type="text"
2589
- role="searchbox"
2590
- [attr.autocomplete]="autocomplete"
2591
- [attr.placeholder]="filterPlaceHolder"
2592
- role="searchbox"
2593
- [attr.aria-owns]="id + '_list'"
2594
- [attr.aria-activedescendant]="focusedOptionId"
2595
- [value]="_filterValue() || ''"
2596
- (input)="onFilterInputChange($event)"
2597
- (keydown)="onFilterKeyDown($event)"
2598
- (click)="onInputClick($event)"
2599
- (blur)="onFilterBlur($event)"
2600
- class="p-multiselect-filter"
2601
- [disabled]="disabled"
2602
- [attr.placeholder]="filterPlaceHolder"
2603
- [attr.aria-label]="ariaFilterLabel"
2604
- />
2605
- <p-inputIcon>
2606
- <SearchIcon [styleClass]="'p-multiselect-filter-icon'" *ngIf="!filterIconTemplate" />
2607
- <span *ngIf="filterIconTemplate" class="p-multiselect-filter-icon">
2608
- <ng-template *ngTemplateOutlet="filterIconTemplate"></ng-template>
2609
- </span>
2610
- </p-inputIcon>
2611
- </p-iconField>
2612
- </div>
2613
- </ng-template>
2614
- </div>
2615
- <div class="p-multiselect-list-container" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
2616
- <p-scroller
2617
- *ngIf="virtualScroll"
2618
- #scroller
2619
- [items]="visibleOptions()"
2620
- [style]="{ height: scrollHeight }"
2621
- [itemSize]="virtualScrollItemSize || _itemSize"
2622
- [autoSize]="true"
2623
- [tabindex]="-1"
2624
- [lazy]="lazy"
2625
- (onLazyLoad)="onLazyLoad.emit($event)"
2626
- [options]="virtualScrollOptions"
2636
+ <div class="p-multiselect-header" *ngIf="showHeader">
2637
+ <ng-content select="p-header"></ng-content>
2638
+ <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
2639
+ <ng-container *ngIf="filterTemplate; else builtInFilterElement">
2640
+ <ng-container *ngTemplateOutlet="filterTemplate; context: { options: filterOptions }"></ng-container>
2641
+ </ng-container>
2642
+ <ng-template #builtInFilterElement>
2643
+ <p-checkbox
2644
+ [ngModel]="allSelected()"
2645
+ [binary]="true"
2646
+ (onChange)="onToggleAll($event)"
2647
+ *ngIf="showToggleAll && !selectionLimit"
2648
+ [variant]="variant"
2649
+ [disabled]="disabled || toggleAllDisabled"
2627
2650
  >
2628
- <ng-template pTemplate="content" let-items let-scrollerOptions="options">
2629
- <ng-container
2630
- *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"
2631
- ></ng-container>
2651
+ <ng-template pTemplate="icon" let-class="class">
2652
+ <CheckIcon
2653
+ *ngIf="!headerCheckboxIconTemplate && allSelected()"
2654
+ [styleClass]="class"
2655
+ [attr.data-pc-section]="'icon'"
2656
+ />
2657
+ <ng-template
2658
+ *ngTemplateOutlet="
2659
+ headerCheckboxIconTemplate;
2660
+ context: {
2661
+ checked: allSelected(),
2662
+ partialSelected: partialSelected(),
2663
+ class: class,
2664
+ }
2665
+ "
2666
+ ></ng-template>
2632
2667
  </ng-template>
2633
- <ng-container *ngIf="loaderTemplate">
2634
- <ng-template pTemplate="loader" let-scrollerOptions="options">
2635
- <ng-container
2636
- *ngTemplateOutlet="loaderTemplate; context: { options: scrollerOptions }"
2637
- ></ng-container>
2638
- </ng-template>
2639
- </ng-container>
2640
- </p-scroller>
2641
- <ng-container *ngIf="!virtualScroll">
2668
+ </p-checkbox>
2669
+
2670
+ <div class="p-multiselect-filter-container" *ngIf="filter">
2671
+ <p-iconfield>
2672
+ <input
2673
+ #filterInput
2674
+ pInputText
2675
+ [variant]="variant"
2676
+ type="text"
2677
+ role="searchbox"
2678
+ [attr.autocomplete]="autocomplete"
2679
+ [attr.placeholder]="filterPlaceHolder"
2680
+ role="searchbox"
2681
+ [attr.aria-owns]="id + '_list'"
2682
+ [attr.aria-activedescendant]="focusedOptionId"
2683
+ [value]="_filterValue() || ''"
2684
+ (input)="onFilterInputChange($event)"
2685
+ (keydown)="onFilterKeyDown($event)"
2686
+ (click)="onInputClick($event)"
2687
+ (blur)="onFilterBlur($event)"
2688
+ class="p-multiselect-filter"
2689
+ [disabled]="disabled"
2690
+ [attr.placeholder]="filterPlaceHolder"
2691
+ [attr.aria-label]="ariaFilterLabel"
2692
+ />
2693
+ <p-inputicon>
2694
+ <SearchIcon [styleClass]="'p-multiselect-filter-icon'" *ngIf="!filterIconTemplate" />
2695
+ <span *ngIf="filterIconTemplate" class="p-multiselect-filter-icon">
2696
+ <ng-template *ngTemplateOutlet="filterIconTemplate"></ng-template>
2697
+ </span>
2698
+ </p-inputicon>
2699
+ </p-iconfield>
2700
+ </div>
2701
+ </ng-template>
2702
+ </div>
2703
+ <div class="p-multiselect-list-container" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
2704
+ <p-scroller
2705
+ *ngIf="virtualScroll"
2706
+ #scroller
2707
+ [items]="visibleOptions()"
2708
+ [style]="{ height: scrollHeight }"
2709
+ [itemSize]="virtualScrollItemSize || _itemSize"
2710
+ [autoSize]="true"
2711
+ [tabindex]="-1"
2712
+ [lazy]="lazy"
2713
+ (onLazyLoad)="onLazyLoad.emit($event)"
2714
+ [options]="virtualScrollOptions"
2715
+ >
2716
+ <ng-template pTemplate="content" let-items let-scrollerOptions="options">
2642
2717
  <ng-container
2643
- *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"
2718
+ *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"
2644
2719
  ></ng-container>
2720
+ </ng-template>
2721
+ <ng-container *ngIf="loaderTemplate">
2722
+ <ng-template pTemplate="loader" let-scrollerOptions="options">
2723
+ <ng-container *ngTemplateOutlet="loaderTemplate; context: { options: scrollerOptions }"></ng-container>
2724
+ </ng-template>
2645
2725
  </ng-container>
2726
+ </p-scroller>
2727
+ <ng-container *ngIf="!virtualScroll">
2728
+ <ng-container
2729
+ *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"
2730
+ ></ng-container>
2731
+ </ng-container>
2646
2732
 
2647
- <ng-template #buildInItems let-items let-scrollerOptions="options">
2648
- <ul
2649
- #items
2650
- class="p-multiselect-list"
2651
- [ngClass]="scrollerOptions.contentStyleClass"
2652
- [style]="scrollerOptions.contentStyle"
2653
- role="listbox"
2654
- aria-multiselectable="true"
2655
- [attr.aria-label]="listLabel"
2656
- >
2657
- <ng-template ngFor let-option [ngForOf]="items" let-i="index">
2658
- <ng-container *ngIf="isOptionGroup(option)">
2659
- <li
2660
- [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)"
2661
- class="p-multiselect-option-group"
2662
- [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2663
- role="option"
2664
- >
2665
- <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
2666
- <ng-container
2667
- *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"
2668
- ></ng-container>
2669
- </li>
2670
- </ng-container>
2671
- <ng-container *ngIf="!isOptionGroup(option)">
2672
- <p-multiSelectItem
2673
- [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
2674
- [option]="option"
2675
- [selected]="isSelected(option)"
2676
- [label]="getOptionLabel(option)"
2677
- [disabled]="isOptionDisabled(option)"
2678
- [template]="itemTemplate"
2679
- [checkIconTemplate]="checkIconTemplate"
2680
- [itemCheckboxIconTemplate]="itemCheckboxIconTemplate"
2681
- [itemSize]="scrollerOptions.itemSize"
2682
- [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
2683
- [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2684
- [ariaSetSize]="ariaSetSize"
2685
- [variant]="variant"
2686
- (onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
2687
- (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
2688
- ></p-multiSelectItem>
2689
- </ng-container>
2690
- </ng-template>
2691
-
2692
- <li
2693
- *ngIf="hasFilter() && isEmpty()"
2694
- class="p-multiselect-empty-message"
2695
- [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2696
- role="option"
2697
- >
2698
- <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
2699
- {{ emptyFilterMessageLabel }}
2700
- </ng-container>
2701
- <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
2702
- </li>
2703
- <li
2704
- *ngIf="!hasFilter() && isEmpty()"
2705
- class="p-multiselect-empty-message"
2706
- [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2707
- role="option"
2708
- >
2709
- <ng-container *ngIf="!emptyTemplate; else empty">
2710
- {{ emptyMessageLabel }}
2711
- </ng-container>
2712
- <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
2713
- </li>
2714
- </ul>
2715
- </ng-template>
2716
- </div>
2717
- <div *ngIf="footerFacet || footerTemplate">
2718
- <ng-content select="p-footer"></ng-content>
2719
- <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
2720
- </div>
2733
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
2734
+ <ul
2735
+ #items
2736
+ class="p-multiselect-list"
2737
+ [ngClass]="scrollerOptions.contentStyleClass"
2738
+ [style]="scrollerOptions.contentStyle"
2739
+ role="listbox"
2740
+ aria-multiselectable="true"
2741
+ [attr.aria-label]="listLabel"
2742
+ >
2743
+ <ng-template ngFor let-option [ngForOf]="items" let-i="index">
2744
+ <ng-container *ngIf="isOptionGroup(option)">
2745
+ <li
2746
+ [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)"
2747
+ class="p-multiselect-option-group"
2748
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2749
+ role="option"
2750
+ >
2751
+ <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
2752
+ <ng-container
2753
+ *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"
2754
+ ></ng-container>
2755
+ </li>
2756
+ </ng-container>
2757
+ <ng-container *ngIf="!isOptionGroup(option)">
2758
+ <p-multiselect-item
2759
+ [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
2760
+ [option]="option"
2761
+ [selected]="isSelected(option)"
2762
+ [label]="getOptionLabel(option)"
2763
+ [disabled]="isOptionDisabled(option)"
2764
+ [template]="itemTemplate"
2765
+ [checkIconTemplate]="checkIconTemplate"
2766
+ [itemCheckboxIconTemplate]="itemCheckboxIconTemplate"
2767
+ [itemSize]="scrollerOptions.itemSize"
2768
+ [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
2769
+ [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2770
+ [ariaSetSize]="ariaSetSize"
2771
+ [variant]="variant"
2772
+ (onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
2773
+ (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
2774
+ ></p-multiselect-item>
2775
+ </ng-container>
2776
+ </ng-template>
2721
2777
 
2722
- <span
2723
- #lastHiddenFocusableEl
2724
- role="presentation"
2725
- class="p-hidden-accessible p-hidden-focusable"
2726
- [attr.tabindex]="0"
2727
- (focus)="onLastHiddenFocus($event)"
2728
- [attr.data-p-hidden-accessible]="true"
2729
- [attr.data-p-hidden-focusable]="true"
2730
- ></span>
2778
+ <li
2779
+ *ngIf="hasFilter() && isEmpty()"
2780
+ class="p-multiselect-empty-message"
2781
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2782
+ role="option"
2783
+ >
2784
+ <ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
2785
+ {{ emptyFilterMessageLabel }}
2786
+ </ng-container>
2787
+ <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
2788
+ </li>
2789
+ <li
2790
+ *ngIf="!hasFilter() && isEmpty()"
2791
+ class="p-multiselect-empty-message"
2792
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2793
+ role="option"
2794
+ >
2795
+ <ng-container *ngIf="!emptyTemplate; else empty">
2796
+ {{ emptyMessageLabel }}
2797
+ </ng-container>
2798
+ <ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
2799
+ </li>
2800
+ </ul>
2801
+ </ng-template>
2731
2802
  </div>
2732
- </ng-template>
2733
- </p-overlay>
2734
- </div>
2803
+ <div *ngIf="footerFacet || footerTemplate">
2804
+ <ng-content select="p-footer"></ng-content>
2805
+ <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
2806
+ </div>
2807
+
2808
+ <span
2809
+ #lastHiddenFocusableEl
2810
+ role="presentation"
2811
+ class="p-hidden-accessible p-hidden-focusable"
2812
+ [attr.tabindex]="0"
2813
+ (focus)="onLastHiddenFocus($event)"
2814
+ [attr.data-p-hidden-accessible]="true"
2815
+ [attr.data-p-hidden-focusable]="true"
2816
+ ></span>
2817
+ </div>
2818
+ </ng-template>
2819
+ </p-overlay>
2735
2820
  `,
2736
2821
  providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle],
2737
2822
  changeDetection: ChangeDetectionStrategy.OnPush,
2738
2823
  encapsulation: ViewEncapsulation.None,
2824
+ host: {
2825
+ '[attr.id]': 'id',
2826
+ '[style]': 'style',
2827
+ '(click)': 'onContainerClick($event)',
2828
+ },
2739
2829
  }]
2740
2830
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i2.FilterService }, { type: i2.PrimeNGConfig }, { type: i2.OverlayService }], propDecorators: { id: [{
2741
2831
  type: Input
@@ -2922,9 +3012,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
2922
3012
  type: Output
2923
3013
  }], onSelectAllChange: [{
2924
3014
  type: Output
2925
- }], containerViewChild: [{
2926
- type: ViewChild,
2927
- args: ['container']
2928
3015
  }], overlayViewChild: [{
2929
3016
  type: ViewChild,
2930
3017
  args: ['overlay']
@@ -2958,6 +3045,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
2958
3045
  }], templates: [{
2959
3046
  type: ContentChildren,
2960
3047
  args: [PrimeTemplate]
3048
+ }], hostClasses: [{
3049
+ type: HostBinding,
3050
+ args: ['class']
2961
3051
  }] } });
2962
3052
  class MultiSelectModule {
2963
3053
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -3036,5 +3126,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
3036
3126
  * Generated bundle index. Do not edit.
3037
3127
  */
3038
3128
 
3039
- export { MULTISELECT_VALUE_ACCESSOR, MultiSelect, MultiSelectItem, MultiSelectModule };
3129
+ export { MULTISELECT_VALUE_ACCESSOR, MultiSelect, MultiSelectClasses, MultiSelectItem, MultiSelectModule, MultiSelectStyle };
3040
3130
  //# sourceMappingURL=primeng-multiselect.mjs.map