primeng 20.2.0 → 20.3.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) hide show
  1. package/accordion/index.d.ts +31 -12
  2. package/animateonscroll/index.d.ts +5 -6
  3. package/api/index.d.ts +128 -2
  4. package/autocomplete/index.d.ts +18 -208
  5. package/autofocus/index.d.ts +2 -2
  6. package/avatar/index.d.ts +12 -5
  7. package/avatargroup/index.d.ts +10 -5
  8. package/badge/index.d.ts +18 -10
  9. package/base/index.d.ts +4 -9
  10. package/basecomponent/index.d.ts +147 -29
  11. package/baseeditableholder/index.d.ts +3 -3
  12. package/baseinput/index.d.ts +3 -3
  13. package/basemodelholder/index.d.ts +3 -3
  14. package/bind/index.d.ts +38 -0
  15. package/blockui/index.d.ts +17 -21
  16. package/breadcrumb/index.d.ts +15 -45
  17. package/button/index.d.ts +113 -153
  18. package/buttongroup/index.d.ts +1 -1
  19. package/card/index.d.ts +18 -36
  20. package/carousel/index.d.ts +18 -74
  21. package/cascadeselect/index.d.ts +23 -131
  22. package/chart/index.d.ts +13 -7
  23. package/checkbox/index.d.ts +16 -35
  24. package/chip/index.d.ts +15 -36
  25. package/classnames/index.d.ts +3 -9
  26. package/colorpicker/index.d.ts +15 -27
  27. package/config/index.d.ts +203 -24
  28. package/confirmdialog/index.d.ts +22 -49
  29. package/confirmpopup/index.d.ts +15 -36
  30. package/contextmenu/index.d.ts +19 -8
  31. package/dataview/index.d.ts +17 -184
  32. package/datepicker/index.d.ts +23 -215
  33. package/dialog/index.d.ts +16 -40
  34. package/divider/index.d.ts +10 -4
  35. package/dock/index.d.ts +17 -29
  36. package/drawer/index.d.ts +16 -37
  37. package/dynamicdialog/index.d.ts +67 -75
  38. package/editor/index.d.ts +16 -132
  39. package/fesm2022/primeng-accordion.mjs +93 -57
  40. package/fesm2022/primeng-accordion.mjs.map +1 -1
  41. package/fesm2022/primeng-animateonscroll.mjs +10 -13
  42. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  43. package/fesm2022/primeng-api.mjs +31 -31
  44. package/fesm2022/primeng-autocomplete.mjs +91 -61
  45. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  46. package/fesm2022/primeng-autofocus.mjs +9 -9
  47. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  48. package/fesm2022/primeng-avatar.mjs +33 -24
  49. package/fesm2022/primeng-avatar.mjs.map +1 -1
  50. package/fesm2022/primeng-avatargroup.mjs +24 -22
  51. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  52. package/fesm2022/primeng-badge.mjs +65 -47
  53. package/fesm2022/primeng-badge.mjs.map +1 -1
  54. package/fesm2022/primeng-base.mjs +10 -13
  55. package/fesm2022/primeng-base.mjs.map +1 -1
  56. package/fesm2022/primeng-basecomponent.mjs +345 -94
  57. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  58. package/fesm2022/primeng-baseeditableholder.mjs +3 -3
  59. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  60. package/fesm2022/primeng-baseinput.mjs +3 -3
  61. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  62. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  63. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  64. package/fesm2022/primeng-bind.mjs +94 -0
  65. package/fesm2022/primeng-bind.mjs.map +1 -0
  66. package/fesm2022/primeng-blockui.mjs +30 -24
  67. package/fesm2022/primeng-blockui.mjs.map +1 -1
  68. package/fesm2022/primeng-breadcrumb.mjs +91 -66
  69. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  70. package/fesm2022/primeng-button.mjs +247 -207
  71. package/fesm2022/primeng-button.mjs.map +1 -1
  72. package/fesm2022/primeng-buttongroup.mjs +14 -14
  73. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  74. package/fesm2022/primeng-card.mjs +58 -38
  75. package/fesm2022/primeng-card.mjs.map +1 -1
  76. package/fesm2022/primeng-carousel.mjs +142 -45
  77. package/fesm2022/primeng-carousel.mjs.map +1 -1
  78. package/fesm2022/primeng-cascadeselect.mjs +221 -193
  79. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  80. package/fesm2022/primeng-chart.mjs +43 -20
  81. package/fesm2022/primeng-chart.mjs.map +1 -1
  82. package/fesm2022/primeng-checkbox.mjs +47 -33
  83. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  84. package/fesm2022/primeng-chip.mjs +43 -36
  85. package/fesm2022/primeng-chip.mjs.map +1 -1
  86. package/fesm2022/primeng-classnames.mjs +15 -40
  87. package/fesm2022/primeng-classnames.mjs.map +1 -1
  88. package/fesm2022/primeng-colorpicker.mjs +49 -41
  89. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  90. package/fesm2022/primeng-config.mjs +23 -8
  91. package/fesm2022/primeng-config.mjs.map +1 -1
  92. package/fesm2022/primeng-confirmdialog.mjs +57 -33
  93. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  94. package/fesm2022/primeng-confirmpopup.mjs +45 -29
  95. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  96. package/fesm2022/primeng-contextmenu.mjs +131 -83
  97. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  98. package/fesm2022/primeng-dataview.mjs +51 -42
  99. package/fesm2022/primeng-dataview.mjs.map +1 -1
  100. package/fesm2022/primeng-datepicker.mjs +292 -186
  101. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  102. package/fesm2022/primeng-dialog.mjs +73 -40
  103. package/fesm2022/primeng-dialog.mjs.map +1 -1
  104. package/fesm2022/primeng-divider.mjs +29 -21
  105. package/fesm2022/primeng-divider.mjs.map +1 -1
  106. package/fesm2022/primeng-dock.mjs +63 -43
  107. package/fesm2022/primeng-dock.mjs.map +1 -1
  108. package/fesm2022/primeng-dragdrop.mjs +10 -10
  109. package/fesm2022/primeng-drawer.mjs +54 -43
  110. package/fesm2022/primeng-drawer.mjs.map +1 -1
  111. package/fesm2022/primeng-dynamicdialog.mjs +361 -564
  112. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  113. package/fesm2022/primeng-editor.mjs +101 -89
  114. package/fesm2022/primeng-editor.mjs.map +1 -1
  115. package/fesm2022/primeng-fieldset.mjs +64 -47
  116. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  117. package/fesm2022/primeng-fileupload.mjs +125 -120
  118. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  119. package/fesm2022/primeng-floatlabel.mjs +28 -19
  120. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  121. package/fesm2022/primeng-fluid.mjs +24 -14
  122. package/fesm2022/primeng-fluid.mjs.map +1 -1
  123. package/fesm2022/primeng-focustrap.mjs +9 -11
  124. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  125. package/fesm2022/primeng-galleria.mjs +346 -214
  126. package/fesm2022/primeng-galleria.mjs.map +1 -1
  127. package/fesm2022/primeng-iconfield.mjs +30 -18
  128. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  130. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  131. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  132. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  133. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  134. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  135. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  136. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  137. package/fesm2022/primeng-icons-arrowdown.mjs +4 -5
  138. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  140. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  141. package/fesm2022/primeng-icons-arrowleft.mjs +4 -5
  142. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  144. package/fesm2022/primeng-icons-arrowup.mjs +4 -5
  145. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  146. package/fesm2022/primeng-icons-ban.mjs +4 -5
  147. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  148. package/fesm2022/primeng-icons-bars.mjs +3 -3
  149. package/fesm2022/primeng-icons-baseicon.mjs +7 -6
  150. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-blank.mjs +3 -3
  152. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  153. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  154. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  155. package/fesm2022/primeng-icons-check.mjs +3 -3
  156. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  157. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  158. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  159. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  160. package/fesm2022/primeng-icons-exclamationtriangle.mjs +4 -5
  161. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  162. package/fesm2022/primeng-icons-eye.mjs +3 -3
  163. package/fesm2022/primeng-icons-eyeslash.mjs +4 -5
  164. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-filter.mjs +4 -5
  166. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  168. package/fesm2022/primeng-icons-filterslash.mjs +4 -5
  169. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  170. package/fesm2022/primeng-icons-home.mjs +4 -5
  171. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  172. package/fesm2022/primeng-icons-infocircle.mjs +4 -5
  173. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  174. package/fesm2022/primeng-icons-minus.mjs +3 -3
  175. package/fesm2022/primeng-icons-pencil.mjs +4 -5
  176. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-plus.mjs +4 -5
  178. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-refresh.mjs +4 -5
  180. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-search.mjs +4 -5
  182. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-searchminus.mjs +4 -5
  184. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-searchplus.mjs +4 -5
  186. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortalt.mjs +4 -5
  188. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-sortamountdown.mjs +4 -5
  190. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-sortamountupalt.mjs +4 -5
  192. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-spinner.mjs +4 -5
  194. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-star.mjs +4 -5
  196. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-starfill.mjs +4 -5
  198. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-thlarge.mjs +4 -5
  200. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-times.mjs +3 -3
  202. package/fesm2022/primeng-icons-timescircle.mjs +4 -5
  203. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  204. package/fesm2022/primeng-icons-trash.mjs +4 -5
  205. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  206. package/fesm2022/primeng-icons-undo.mjs +4 -5
  207. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  208. package/fesm2022/primeng-icons-upload.mjs +4 -5
  209. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  210. package/fesm2022/primeng-icons-windowmaximize.mjs +4 -5
  211. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  212. package/fesm2022/primeng-icons-windowminimize.mjs +4 -5
  213. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  214. package/fesm2022/primeng-iftalabel.mjs +27 -17
  215. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  216. package/fesm2022/primeng-image.mjs +92 -42
  217. package/fesm2022/primeng-image.mjs.map +1 -1
  218. package/fesm2022/primeng-imagecompare.mjs +31 -24
  219. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  220. package/fesm2022/primeng-inplace.mjs +46 -36
  221. package/fesm2022/primeng-inplace.mjs.map +1 -1
  222. package/fesm2022/primeng-inputgroup.mjs +28 -21
  223. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  224. package/fesm2022/primeng-inputgroupaddon.mjs +25 -19
  225. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  226. package/fesm2022/primeng-inputicon.mjs +27 -15
  227. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  228. package/fesm2022/primeng-inputmask.mjs +38 -29
  229. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  230. package/fesm2022/primeng-inputnumber.mjs +67 -60
  231. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  232. package/fesm2022/primeng-inputotp.mjs +31 -19
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputtext.mjs +39 -20
  235. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  236. package/fesm2022/primeng-keyfilter.mjs +7 -7
  237. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  238. package/fesm2022/primeng-knob.mjs +35 -27
  239. package/fesm2022/primeng-knob.mjs.map +1 -1
  240. package/fesm2022/primeng-listbox.mjs +146 -61
  241. package/fesm2022/primeng-listbox.mjs.map +1 -1
  242. package/fesm2022/primeng-megamenu.mjs +363 -345
  243. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  244. package/fesm2022/primeng-menu.mjs +116 -60
  245. package/fesm2022/primeng-menu.mjs.map +1 -1
  246. package/fesm2022/primeng-menubar.mjs +122 -86
  247. package/fesm2022/primeng-menubar.mjs.map +1 -1
  248. package/fesm2022/primeng-message.mjs +47 -39
  249. package/fesm2022/primeng-message.mjs.map +1 -1
  250. package/fesm2022/primeng-metergroup.mjs +53 -43
  251. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  252. package/fesm2022/primeng-multiselect.mjs +196 -147
  253. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  254. package/fesm2022/primeng-orderlist.mjs +80 -49
  255. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  256. package/fesm2022/primeng-organizationchart.mjs +93 -67
  257. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  258. package/fesm2022/primeng-overlay.mjs +67 -80
  259. package/fesm2022/primeng-overlay.mjs.map +1 -1
  260. package/fesm2022/primeng-overlaybadge.mjs +31 -22
  261. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  262. package/fesm2022/primeng-paginator.mjs +65 -53
  263. package/fesm2022/primeng-paginator.mjs.map +1 -1
  264. package/fesm2022/primeng-panel.mjs +108 -79
  265. package/fesm2022/primeng-panel.mjs.map +1 -1
  266. package/fesm2022/primeng-panelmenu.mjs +385 -308
  267. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  268. package/fesm2022/primeng-passthrough.mjs +21 -0
  269. package/fesm2022/primeng-passthrough.mjs.map +1 -0
  270. package/fesm2022/primeng-password.mjs +80 -67
  271. package/fesm2022/primeng-password.mjs.map +1 -1
  272. package/fesm2022/primeng-picklist.mjs +153 -95
  273. package/fesm2022/primeng-picklist.mjs.map +1 -1
  274. package/fesm2022/primeng-popover.mjs +44 -33
  275. package/fesm2022/primeng-popover.mjs.map +1 -1
  276. package/fesm2022/primeng-progressbar.mjs +37 -29
  277. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  278. package/fesm2022/primeng-progressspinner.mjs +30 -23
  279. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  280. package/fesm2022/primeng-radiobutton.mjs +41 -32
  281. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  282. package/fesm2022/primeng-rating.mjs +48 -38
  283. package/fesm2022/primeng-rating.mjs.map +1 -1
  284. package/fesm2022/primeng-ripple.mjs +17 -19
  285. package/fesm2022/primeng-ripple.mjs.map +1 -1
  286. package/fesm2022/primeng-scroller.mjs +50 -42
  287. package/fesm2022/primeng-scroller.mjs.map +1 -1
  288. package/fesm2022/primeng-scrollpanel.mjs +46 -39
  289. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  290. package/fesm2022/primeng-scrolltop.mjs +31 -21
  291. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  292. package/fesm2022/primeng-select.mjs +161 -82
  293. package/fesm2022/primeng-select.mjs.map +1 -1
  294. package/fesm2022/primeng-selectbutton.mjs +36 -25
  295. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  296. package/fesm2022/primeng-skeleton.mjs +24 -17
  297. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  298. package/fesm2022/primeng-slider.mjs +43 -23
  299. package/fesm2022/primeng-slider.mjs.map +1 -1
  300. package/fesm2022/primeng-speeddial.mjs +70 -46
  301. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  302. package/fesm2022/primeng-splitbutton.mjs +38 -21
  303. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  304. package/fesm2022/primeng-splitter.mjs +38 -34
  305. package/fesm2022/primeng-splitter.mjs.map +1 -1
  306. package/fesm2022/primeng-stepper.mjs +163 -88
  307. package/fesm2022/primeng-stepper.mjs.map +1 -1
  308. package/fesm2022/primeng-steps.mjs +14 -16
  309. package/fesm2022/primeng-steps.mjs.map +1 -1
  310. package/fesm2022/primeng-styleclass.mjs +7 -7
  311. package/fesm2022/primeng-table.mjs +714 -643
  312. package/fesm2022/primeng-table.mjs.map +1 -1
  313. package/fesm2022/primeng-tabs.mjs +183 -116
  314. package/fesm2022/primeng-tabs.mjs.map +1 -1
  315. package/fesm2022/primeng-tag.mjs +35 -25
  316. package/fesm2022/primeng-tag.mjs.map +1 -1
  317. package/fesm2022/primeng-terminal.mjs +51 -45
  318. package/fesm2022/primeng-terminal.mjs.map +1 -1
  319. package/fesm2022/primeng-textarea.mjs +28 -23
  320. package/fesm2022/primeng-textarea.mjs.map +1 -1
  321. package/fesm2022/primeng-tieredmenu.mjs +136 -73
  322. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  323. package/fesm2022/primeng-timeline.mjs +42 -34
  324. package/fesm2022/primeng-timeline.mjs.map +1 -1
  325. package/fesm2022/primeng-toast.mjs +66 -61
  326. package/fesm2022/primeng-toast.mjs.map +1 -1
  327. package/fesm2022/primeng-togglebutton.mjs +39 -29
  328. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  329. package/fesm2022/primeng-toggleswitch.mjs +39 -29
  330. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  331. package/fesm2022/primeng-toolbar.mjs +37 -29
  332. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  333. package/fesm2022/primeng-tooltip.mjs +32 -33
  334. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  335. package/fesm2022/primeng-tree.mjs +185 -114
  336. package/fesm2022/primeng-tree.mjs.map +1 -1
  337. package/fesm2022/primeng-treeselect.mjs +95 -49
  338. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  339. package/fesm2022/primeng-treetable.mjs +283 -249
  340. package/fesm2022/primeng-treetable.mjs.map +1 -1
  341. package/fesm2022/primeng-types-accordion.mjs +4 -0
  342. package/fesm2022/primeng-types-accordion.mjs.map +1 -0
  343. package/fesm2022/primeng-types-autocomplete.mjs +4 -0
  344. package/fesm2022/primeng-types-autocomplete.mjs.map +1 -0
  345. package/fesm2022/primeng-types-avatar.mjs +4 -0
  346. package/fesm2022/primeng-types-avatar.mjs.map +1 -0
  347. package/fesm2022/primeng-types-avatargroup.mjs +4 -0
  348. package/fesm2022/primeng-types-avatargroup.mjs.map +1 -0
  349. package/fesm2022/primeng-types-badge.mjs +4 -0
  350. package/fesm2022/primeng-types-badge.mjs.map +1 -0
  351. package/fesm2022/primeng-types-blockui.mjs +4 -0
  352. package/fesm2022/primeng-types-blockui.mjs.map +1 -0
  353. package/fesm2022/primeng-types-breadcrumb.mjs +4 -0
  354. package/fesm2022/primeng-types-breadcrumb.mjs.map +1 -0
  355. package/fesm2022/primeng-types-button.mjs +4 -0
  356. package/fesm2022/primeng-types-button.mjs.map +1 -0
  357. package/fesm2022/primeng-types-card.mjs +4 -0
  358. package/fesm2022/primeng-types-card.mjs.map +1 -0
  359. package/fesm2022/primeng-types-carousel.mjs +4 -0
  360. package/fesm2022/primeng-types-carousel.mjs.map +1 -0
  361. package/fesm2022/primeng-types-cascadeselect.mjs +4 -0
  362. package/fesm2022/primeng-types-cascadeselect.mjs.map +1 -0
  363. package/fesm2022/primeng-types-chart.mjs +4 -0
  364. package/fesm2022/primeng-types-chart.mjs.map +1 -0
  365. package/fesm2022/primeng-types-checkbox.mjs +4 -0
  366. package/fesm2022/primeng-types-checkbox.mjs.map +1 -0
  367. package/fesm2022/primeng-types-chip.mjs +4 -0
  368. package/fesm2022/primeng-types-chip.mjs.map +1 -0
  369. package/fesm2022/primeng-types-colorpicker.mjs +4 -0
  370. package/fesm2022/primeng-types-colorpicker.mjs.map +1 -0
  371. package/fesm2022/primeng-types-confirmdialog.mjs +4 -0
  372. package/fesm2022/primeng-types-confirmdialog.mjs.map +1 -0
  373. package/fesm2022/primeng-types-confirmpopup.mjs +4 -0
  374. package/fesm2022/primeng-types-confirmpopup.mjs.map +1 -0
  375. package/fesm2022/primeng-types-contextmenu.mjs +4 -0
  376. package/fesm2022/primeng-types-contextmenu.mjs.map +1 -0
  377. package/fesm2022/primeng-types-dataview.mjs +4 -0
  378. package/fesm2022/primeng-types-dataview.mjs.map +1 -0
  379. package/fesm2022/primeng-types-datepicker.mjs +4 -0
  380. package/fesm2022/primeng-types-datepicker.mjs.map +1 -0
  381. package/fesm2022/primeng-types-dialog.mjs +4 -0
  382. package/fesm2022/primeng-types-dialog.mjs.map +1 -0
  383. package/fesm2022/primeng-types-divider.mjs +4 -0
  384. package/fesm2022/primeng-types-divider.mjs.map +1 -0
  385. package/fesm2022/primeng-types-dock.mjs +4 -0
  386. package/fesm2022/primeng-types-dock.mjs.map +1 -0
  387. package/fesm2022/primeng-types-drawer.mjs +4 -0
  388. package/fesm2022/primeng-types-drawer.mjs.map +1 -0
  389. package/fesm2022/primeng-types-editor.mjs +4 -0
  390. package/fesm2022/primeng-types-editor.mjs.map +1 -0
  391. package/fesm2022/primeng-types-fieldset.mjs +4 -0
  392. package/fesm2022/primeng-types-fieldset.mjs.map +1 -0
  393. package/fesm2022/primeng-types-fileupload.mjs +4 -0
  394. package/fesm2022/primeng-types-fileupload.mjs.map +1 -0
  395. package/fesm2022/primeng-types-floatlabel.mjs +4 -0
  396. package/fesm2022/primeng-types-floatlabel.mjs.map +1 -0
  397. package/fesm2022/primeng-types-fluid.mjs +4 -0
  398. package/fesm2022/primeng-types-fluid.mjs.map +1 -0
  399. package/fesm2022/primeng-types-galleria.mjs +4 -0
  400. package/fesm2022/primeng-types-galleria.mjs.map +1 -0
  401. package/fesm2022/primeng-types-iconfield.mjs +4 -0
  402. package/fesm2022/primeng-types-iconfield.mjs.map +1 -0
  403. package/fesm2022/primeng-types-iftalabel.mjs +4 -0
  404. package/fesm2022/primeng-types-iftalabel.mjs.map +1 -0
  405. package/fesm2022/primeng-types-image.mjs +4 -0
  406. package/fesm2022/primeng-types-image.mjs.map +1 -0
  407. package/fesm2022/primeng-types-imagecompare.mjs +4 -0
  408. package/fesm2022/primeng-types-imagecompare.mjs.map +1 -0
  409. package/fesm2022/primeng-types-inplace.mjs +4 -0
  410. package/fesm2022/primeng-types-inplace.mjs.map +1 -0
  411. package/fesm2022/primeng-types-inputgroup.mjs +4 -0
  412. package/fesm2022/primeng-types-inputgroup.mjs.map +1 -0
  413. package/fesm2022/primeng-types-inputgroupaddon.mjs +4 -0
  414. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +1 -0
  415. package/fesm2022/primeng-types-inputicon.mjs +4 -0
  416. package/fesm2022/primeng-types-inputicon.mjs.map +1 -0
  417. package/fesm2022/primeng-types-inputmask.mjs +4 -0
  418. package/fesm2022/primeng-types-inputmask.mjs.map +1 -0
  419. package/fesm2022/primeng-types-inputnumber.mjs +4 -0
  420. package/fesm2022/primeng-types-inputnumber.mjs.map +1 -0
  421. package/fesm2022/primeng-types-inputotp.mjs +4 -0
  422. package/fesm2022/primeng-types-inputotp.mjs.map +1 -0
  423. package/fesm2022/primeng-types-inputtext.mjs +4 -0
  424. package/fesm2022/primeng-types-inputtext.mjs.map +1 -0
  425. package/fesm2022/primeng-types-knob.mjs +4 -0
  426. package/fesm2022/primeng-types-knob.mjs.map +1 -0
  427. package/fesm2022/primeng-types-listbox.mjs +4 -0
  428. package/fesm2022/primeng-types-listbox.mjs.map +1 -0
  429. package/fesm2022/primeng-types-megamenu.mjs +4 -0
  430. package/fesm2022/primeng-types-megamenu.mjs.map +1 -0
  431. package/fesm2022/primeng-types-menu.mjs +4 -0
  432. package/fesm2022/primeng-types-menu.mjs.map +1 -0
  433. package/fesm2022/primeng-types-menubar.mjs +4 -0
  434. package/fesm2022/primeng-types-menubar.mjs.map +1 -0
  435. package/fesm2022/primeng-types-message.mjs +4 -0
  436. package/fesm2022/primeng-types-message.mjs.map +1 -0
  437. package/fesm2022/primeng-types-metergroup.mjs +4 -0
  438. package/fesm2022/primeng-types-metergroup.mjs.map +1 -0
  439. package/fesm2022/primeng-types-multiselect.mjs +4 -0
  440. package/fesm2022/primeng-types-multiselect.mjs.map +1 -0
  441. package/fesm2022/primeng-types-orderlist.mjs +4 -0
  442. package/fesm2022/primeng-types-orderlist.mjs.map +1 -0
  443. package/fesm2022/primeng-types-organizationchart.mjs +4 -0
  444. package/fesm2022/primeng-types-organizationchart.mjs.map +1 -0
  445. package/fesm2022/primeng-types-overlay.mjs +4 -0
  446. package/fesm2022/primeng-types-overlay.mjs.map +1 -0
  447. package/fesm2022/primeng-types-overlaybadge.mjs +4 -0
  448. package/fesm2022/primeng-types-overlaybadge.mjs.map +1 -0
  449. package/fesm2022/primeng-types-paginator.mjs +4 -0
  450. package/fesm2022/primeng-types-paginator.mjs.map +1 -0
  451. package/fesm2022/primeng-types-panel.mjs +4 -0
  452. package/fesm2022/primeng-types-panel.mjs.map +1 -0
  453. package/fesm2022/primeng-types-panelmenu.mjs +4 -0
  454. package/fesm2022/primeng-types-panelmenu.mjs.map +1 -0
  455. package/fesm2022/primeng-types-password.mjs +4 -0
  456. package/fesm2022/primeng-types-password.mjs.map +1 -0
  457. package/fesm2022/primeng-types-picklist.mjs +4 -0
  458. package/fesm2022/primeng-types-picklist.mjs.map +1 -0
  459. package/fesm2022/primeng-types-popover.mjs +4 -0
  460. package/fesm2022/primeng-types-popover.mjs.map +1 -0
  461. package/fesm2022/primeng-types-progressbar.mjs +4 -0
  462. package/fesm2022/primeng-types-progressbar.mjs.map +1 -0
  463. package/fesm2022/primeng-types-progressspinner.mjs +4 -0
  464. package/fesm2022/primeng-types-progressspinner.mjs.map +1 -0
  465. package/fesm2022/primeng-types-radiobutton.mjs +4 -0
  466. package/fesm2022/primeng-types-radiobutton.mjs.map +1 -0
  467. package/fesm2022/primeng-types-rating.mjs +4 -0
  468. package/fesm2022/primeng-types-rating.mjs.map +1 -0
  469. package/fesm2022/primeng-types-scroller.mjs +4 -0
  470. package/fesm2022/primeng-types-scroller.mjs.map +1 -0
  471. package/fesm2022/primeng-types-scrollpanel.mjs +4 -0
  472. package/fesm2022/primeng-types-scrollpanel.mjs.map +1 -0
  473. package/fesm2022/primeng-types-scrolltop.mjs +4 -0
  474. package/fesm2022/primeng-types-scrolltop.mjs.map +1 -0
  475. package/fesm2022/primeng-types-select.mjs +4 -0
  476. package/fesm2022/primeng-types-select.mjs.map +1 -0
  477. package/fesm2022/primeng-types-selectbutton.mjs +4 -0
  478. package/fesm2022/primeng-types-selectbutton.mjs.map +1 -0
  479. package/fesm2022/primeng-types-skeleton.mjs +4 -0
  480. package/fesm2022/primeng-types-skeleton.mjs.map +1 -0
  481. package/fesm2022/primeng-types-slider.mjs +4 -0
  482. package/fesm2022/primeng-types-slider.mjs.map +1 -0
  483. package/fesm2022/primeng-types-speeddial.mjs +4 -0
  484. package/fesm2022/primeng-types-speeddial.mjs.map +1 -0
  485. package/fesm2022/primeng-types-splitbutton.mjs +4 -0
  486. package/fesm2022/primeng-types-splitbutton.mjs.map +1 -0
  487. package/fesm2022/primeng-types-splitter.mjs +4 -0
  488. package/fesm2022/primeng-types-splitter.mjs.map +1 -0
  489. package/fesm2022/primeng-types-stepper.mjs +4 -0
  490. package/fesm2022/primeng-types-stepper.mjs.map +1 -0
  491. package/fesm2022/primeng-types-table.mjs +4 -0
  492. package/fesm2022/primeng-types-table.mjs.map +1 -0
  493. package/fesm2022/primeng-types-tabs.mjs +4 -0
  494. package/fesm2022/primeng-types-tabs.mjs.map +1 -0
  495. package/fesm2022/primeng-types-tag.mjs +4 -0
  496. package/fesm2022/primeng-types-tag.mjs.map +1 -0
  497. package/fesm2022/primeng-types-terminal.mjs +4 -0
  498. package/fesm2022/primeng-types-terminal.mjs.map +1 -0
  499. package/fesm2022/primeng-types-textarea.mjs +4 -0
  500. package/fesm2022/primeng-types-textarea.mjs.map +1 -0
  501. package/fesm2022/primeng-types-tieredmenu.mjs +4 -0
  502. package/fesm2022/primeng-types-tieredmenu.mjs.map +1 -0
  503. package/fesm2022/primeng-types-timeline.mjs +4 -0
  504. package/fesm2022/primeng-types-timeline.mjs.map +1 -0
  505. package/fesm2022/primeng-types-toast.mjs +4 -0
  506. package/fesm2022/primeng-types-toast.mjs.map +1 -0
  507. package/fesm2022/primeng-types-togglebutton.mjs +4 -0
  508. package/fesm2022/primeng-types-togglebutton.mjs.map +1 -0
  509. package/fesm2022/primeng-types-toggleswitch.mjs +4 -0
  510. package/fesm2022/primeng-types-toggleswitch.mjs.map +1 -0
  511. package/fesm2022/primeng-types-toolbar.mjs +4 -0
  512. package/fesm2022/primeng-types-toolbar.mjs.map +1 -0
  513. package/fesm2022/primeng-types-tooltip.mjs +4 -0
  514. package/fesm2022/primeng-types-tooltip.mjs.map +1 -0
  515. package/fesm2022/primeng-types-tree.mjs +4 -0
  516. package/fesm2022/primeng-types-tree.mjs.map +1 -0
  517. package/fesm2022/primeng-types-treeselect.mjs +4 -0
  518. package/fesm2022/primeng-types-treeselect.mjs.map +1 -0
  519. package/fesm2022/primeng-types-treetable.mjs +4 -0
  520. package/fesm2022/primeng-types-treetable.mjs.map +1 -0
  521. package/fesm2022/primeng-usestyle.mjs +3 -3
  522. package/fieldset/index.d.ts +16 -55
  523. package/fileupload/index.d.ts +18 -246
  524. package/floatlabel/index.d.ts +13 -6
  525. package/fluid/index.d.ts +9 -2
  526. package/focustrap/index.d.ts +2 -2
  527. package/galleria/index.d.ts +50 -132
  528. package/iconfield/index.d.ts +13 -5
  529. package/icons/arrowdown/index.d.ts +3 -4
  530. package/icons/arrowleft/index.d.ts +1 -1
  531. package/icons/arrowup/index.d.ts +1 -1
  532. package/icons/ban/index.d.ts +1 -1
  533. package/icons/exclamationtriangle/index.d.ts +3 -4
  534. package/icons/eyeslash/index.d.ts +1 -1
  535. package/icons/filter/index.d.ts +1 -1
  536. package/icons/filterslash/index.d.ts +1 -1
  537. package/icons/home/index.d.ts +1 -1
  538. package/icons/infocircle/index.d.ts +1 -1
  539. package/icons/pencil/index.d.ts +1 -1
  540. package/icons/plus/index.d.ts +1 -1
  541. package/icons/refresh/index.d.ts +1 -1
  542. package/icons/search/index.d.ts +1 -1
  543. package/icons/searchminus/index.d.ts +1 -1
  544. package/icons/searchplus/index.d.ts +1 -1
  545. package/icons/sortalt/index.d.ts +1 -1
  546. package/icons/sortamountdown/index.d.ts +1 -1
  547. package/icons/sortamountupalt/index.d.ts +1 -1
  548. package/icons/spinner/index.d.ts +1 -1
  549. package/icons/star/index.d.ts +1 -1
  550. package/icons/starfill/index.d.ts +1 -1
  551. package/icons/thlarge/index.d.ts +1 -1
  552. package/icons/timescircle/index.d.ts +1 -1
  553. package/icons/trash/index.d.ts +1 -1
  554. package/icons/undo/index.d.ts +1 -1
  555. package/icons/upload/index.d.ts +1 -1
  556. package/icons/windowmaximize/index.d.ts +1 -1
  557. package/icons/windowminimize/index.d.ts +1 -1
  558. package/iftalabel/index.d.ts +15 -8
  559. package/image/index.d.ts +14 -71
  560. package/imagecompare/index.d.ts +15 -9
  561. package/inplace/index.d.ts +16 -29
  562. package/inputgroup/index.d.ts +12 -6
  563. package/inputgroupaddon/index.d.ts +11 -5
  564. package/inputicon/index.d.ts +11 -4
  565. package/inputmask/index.d.ts +21 -29
  566. package/inputnumber/index.d.ts +17 -49
  567. package/inputotp/index.d.ts +14 -8
  568. package/inputtext/index.d.ts +14 -6
  569. package/keyfilter/index.d.ts +0 -5
  570. package/knob/index.d.ts +11 -5
  571. package/listbox/index.d.ts +19 -177
  572. package/megamenu/index.d.ts +23 -44
  573. package/menu/index.d.ts +22 -10
  574. package/menubar/index.d.ts +22 -52
  575. package/message/index.d.ts +15 -9
  576. package/metergroup/index.d.ts +17 -132
  577. package/multiselect/index.d.ts +23 -259
  578. package/orderlist/index.d.ts +16 -120
  579. package/organizationchart/index.d.ts +18 -68
  580. package/overlay/index.d.ts +36 -8
  581. package/overlaybadge/index.d.ts +11 -5
  582. package/package.json +582 -214
  583. package/paginator/index.d.ts +16 -47
  584. package/panel/index.d.ts +32 -55
  585. package/panelmenu/index.d.ts +24 -35
  586. package/passthrough/index.d.ts +14 -0
  587. package/password/index.d.ts +22 -12
  588. package/picklist/index.d.ts +17 -252
  589. package/popover/index.d.ts +15 -8
  590. package/progressbar/index.d.ts +14 -7
  591. package/progressspinner/index.d.ts +11 -5
  592. package/radiobutton/index.d.ts +15 -25
  593. package/rating/index.d.ts +15 -43
  594. package/ripple/index.d.ts +5 -5
  595. package/scroller/index.d.ts +20 -190
  596. package/scrollpanel/index.d.ts +17 -22
  597. package/scrolltop/index.d.ts +16 -28
  598. package/select/index.d.ts +24 -166
  599. package/selectbutton/index.d.ts +14 -53
  600. package/skeleton/index.d.ts +11 -5
  601. package/slider/index.d.ts +14 -47
  602. package/speeddial/index.d.ts +19 -54
  603. package/splitbutton/index.d.ts +15 -39
  604. package/splitter/index.d.ts +15 -44
  605. package/stepper/index.d.ts +50 -22
  606. package/steps/index.d.ts +5 -5
  607. package/table/index.d.ts +167 -829
  608. package/tabs/index.d.ts +37 -19
  609. package/tag/index.d.ts +13 -18
  610. package/terminal/index.d.ts +14 -8
  611. package/textarea/index.d.ts +13 -8
  612. package/tieredmenu/index.d.ts +25 -41
  613. package/timeline/index.d.ts +14 -51
  614. package/toast/index.d.ts +20 -65
  615. package/togglebutton/index.d.ts +15 -60
  616. package/toggleswitch/index.d.ts +15 -24
  617. package/toolbar/index.d.ts +14 -27
  618. package/tooltip/index.d.ts +13 -8
  619. package/tree/index.d.ts +24 -213
  620. package/treeselect/index.d.ts +17 -118
  621. package/treetable/index.d.ts +96 -548
  622. package/types/accordion/index.d.ts +88 -0
  623. package/types/autocomplete/index.d.ts +299 -0
  624. package/types/avatar/index.d.ts +40 -0
  625. package/types/avatargroup/index.d.ts +28 -0
  626. package/types/badge/index.d.ts +26 -0
  627. package/types/blockui/index.d.ts +39 -0
  628. package/types/breadcrumb/index.d.ts +70 -0
  629. package/types/button/index.d.ts +105 -0
  630. package/types/card/index.d.ts +75 -0
  631. package/types/carousel/index.d.ts +140 -0
  632. package/types/cascadeselect/index.d.ts +198 -0
  633. package/types/chart/index.d.ts +32 -0
  634. package/types/checkbox/index.d.ts +62 -0
  635. package/types/chip/index.d.ts +71 -0
  636. package/types/colorpicker/index.d.ts +73 -0
  637. package/types/confirmdialog/index.d.ts +121 -0
  638. package/types/confirmpopup/index.d.ts +82 -0
  639. package/types/contextmenu/index.d.ts +89 -0
  640. package/types/dataview/index.d.ts +234 -0
  641. package/types/datepicker/index.d.ts +464 -0
  642. package/types/dialog/index.d.ts +98 -0
  643. package/types/divider/index.d.ts +28 -0
  644. package/types/dock/index.d.ts +67 -0
  645. package/types/drawer/index.d.ts +77 -0
  646. package/types/editor/index.d.ts +210 -0
  647. package/types/fieldset/index.d.ts +92 -0
  648. package/types/fileupload/index.d.ts +576 -0
  649. package/types/floatlabel/index.d.ts +26 -0
  650. package/types/fluid/index.d.ts +28 -0
  651. package/types/galleria/index.d.ts +233 -0
  652. package/types/iconfield/index.d.ts +26 -0
  653. package/types/iftalabel/index.d.ts +26 -0
  654. package/types/image/index.d.ts +193 -0
  655. package/types/imagecompare/index.d.ts +28 -0
  656. package/types/inplace/index.d.ts +61 -0
  657. package/types/inputgroup/index.d.ts +28 -0
  658. package/types/inputgroupaddon/index.d.ts +28 -0
  659. package/types/inputicon/index.d.ts +26 -0
  660. package/types/inputmask/index.d.ts +56 -0
  661. package/types/inputnumber/index.d.ts +95 -0
  662. package/types/inputotp/index.d.ts +31 -0
  663. package/types/inputtext/index.d.ts +24 -0
  664. package/types/knob/index.d.ts +40 -0
  665. package/types/listbox/index.d.ts +280 -0
  666. package/types/megamenu/index.d.ts +122 -0
  667. package/types/menu/index.d.ts +101 -0
  668. package/types/menubar/index.d.ts +121 -0
  669. package/types/message/index.d.ts +48 -0
  670. package/types/metergroup/index.d.ts +178 -0
  671. package/types/multiselect/index.d.ts +362 -0
  672. package/types/orderlist/index.d.ts +164 -0
  673. package/types/organizationchart/index.d.ts +138 -0
  674. package/types/overlay/index.d.ts +28 -0
  675. package/types/overlaybadge/index.d.ts +34 -0
  676. package/types/paginator/index.d.ts +131 -0
  677. package/types/panel/index.d.ts +92 -0
  678. package/types/panelmenu/index.d.ts +114 -0
  679. package/types/password/index.d.ts +97 -0
  680. package/types/picklist/index.d.ts +353 -0
  681. package/types/popover/index.d.ts +52 -0
  682. package/types/progressbar/index.d.ts +54 -0
  683. package/types/progressspinner/index.d.ts +36 -0
  684. package/types/radiobutton/index.d.ts +51 -0
  685. package/types/rating/index.d.ts +82 -0
  686. package/types/scroller/index.d.ts +221 -0
  687. package/types/scrollpanel/index.d.ts +51 -0
  688. package/types/scrolltop/index.d.ts +52 -0
  689. package/types/select/index.d.ts +288 -0
  690. package/types/selectbutton/index.d.ts +77 -0
  691. package/types/skeleton/index.d.ts +28 -0
  692. package/types/slider/index.d.ts +78 -0
  693. package/types/speeddial/index.d.ts +82 -0
  694. package/types/splitbutton/index.d.ts +70 -0
  695. package/types/splitter/index.d.ts +70 -0
  696. package/types/stepper/index.d.ts +153 -0
  697. package/types/table/index.d.ts +884 -0
  698. package/types/tabs/index.d.ts +119 -0
  699. package/types/tag/index.d.ts +47 -0
  700. package/types/terminal/index.d.ts +60 -0
  701. package/types/textarea/index.d.ts +28 -0
  702. package/types/tieredmenu/index.d.ts +87 -0
  703. package/types/timeline/index.d.ts +95 -0
  704. package/types/toast/index.d.ts +114 -0
  705. package/types/togglebutton/index.d.ts +85 -0
  706. package/types/toggleswitch/index.d.ts +51 -0
  707. package/types/toolbar/index.d.ts +55 -0
  708. package/types/tooltip/index.d.ts +32 -0
  709. package/types/tree/index.d.ts +308 -0
  710. package/types/treeselect/index.d.ts +224 -0
  711. package/types/treetable/index.d.ts +640 -0
@@ -1,15 +1,18 @@
1
+ export * from 'primeng/types/multiselect';
1
2
  import * as i1 from '@angular/common';
2
3
  import { CommonModule } from '@angular/common';
3
4
  import * as i0 from '@angular/core';
4
- import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, Output, Input, ViewEncapsulation, Component, input, signal, computed, effect, ContentChildren, ContentChild, ViewChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
+ import { Injectable, InjectionToken, forwardRef, inject, EventEmitter, booleanAttribute, numberAttribute, Output, Input, ViewEncapsulation, Component, input, signal, computed, effect, ContentChildren, ContentChild, ViewChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
6
  import * as i2 from '@angular/forms';
6
7
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
7
8
  import { deepEquals, isNotEmpty, isArray, uuid, equals, focus, findLastIndex, resolveFieldData, isPrintableCharacter, getFirstFocusableElement, getLastFocusableElement, findSingle, getFocusableElements } from '@primeuix/utils';
8
9
  import * as i3 from 'primeng/api';
9
10
  import { SharedModule, TranslationKeys, Footer, Header, PrimeTemplate } from 'primeng/api';
10
11
  import { AutoFocus } from 'primeng/autofocus';
11
- import { BaseComponent } from 'primeng/basecomponent';
12
+ import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
12
13
  import { BaseEditableHolder } from 'primeng/baseeditableholder';
14
+ import * as i4 from 'primeng/bind';
15
+ import { Bind, BindModule } from 'primeng/bind';
13
16
  import { Checkbox } from 'primeng/checkbox';
14
17
  import { Chip } from 'primeng/chip';
15
18
  import { DomHandler, unblockBodyScroll } from 'primeng/dom';
@@ -19,15 +22,14 @@ import { CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon } from 'primeng/icons
19
22
  import { InputIcon } from 'primeng/inputicon';
20
23
  import { InputText } from 'primeng/inputtext';
21
24
  import { Overlay } from 'primeng/overlay';
22
- import { Ripple } from 'primeng/ripple';
23
25
  import { Scroller } from 'primeng/scroller';
24
26
  import { Tooltip } from 'primeng/tooltip';
25
27
  import { ObjectUtils } from 'primeng/utils';
26
- import { style } from '@primeuix/styles/multiselect';
28
+ import { style as style$1 } from '@primeuix/styles/multiselect';
27
29
  import { BaseStyle } from 'primeng/base';
28
30
 
29
- const theme = /*css*/ `
30
- ${style}
31
+ const style = /*css*/ `
32
+ ${style$1}
31
33
 
32
34
  /* For PrimeNG */
33
35
  .p-multiselect.ng-invalid.ng-dirty {
@@ -90,13 +92,13 @@ const classes = {
90
92
  };
91
93
  class MultiSelectStyle extends BaseStyle {
92
94
  name = 'multiselect';
93
- theme = theme;
95
+ style = style;
94
96
  classes = classes;
95
97
  inlineStyles = inlineStyles;
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
97
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectStyle });
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
99
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectStyle });
98
100
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectStyle, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectStyle, decorators: [{
100
102
  type: Injectable
101
103
  }] });
102
104
  /**
@@ -188,13 +190,25 @@ var MultiSelectClasses;
188
190
  MultiSelectClasses["clearIcon"] = "p-autocomplete-clear-icon";
189
191
  })(MultiSelectClasses || (MultiSelectClasses = {}));
190
192
 
193
+ const MULTISELECT_INSTANCE = new InjectionToken('MULTISELECT_INSTANCE');
194
+ const MULTISELECT_ITEM_INSTANCE = new InjectionToken('MULTISELECT_ITEM_INSTANCE');
191
195
  const MULTISELECT_VALUE_ACCESSOR = {
192
196
  provide: NG_VALUE_ACCESSOR,
193
197
  useExisting: forwardRef(() => MultiSelect),
194
198
  multi: true
195
199
  };
196
200
  class MultiSelectItem extends BaseComponent {
197
- id;
201
+ $pcMultiSelectItem = inject(MULTISELECT_ITEM_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
202
+ hostName = 'MultiSelect';
203
+ getPTOptions(key) {
204
+ return this.ptm(key, {
205
+ context: {
206
+ selected: this.selected,
207
+ focused: this.focused,
208
+ disabled: this.disabled
209
+ }
210
+ });
211
+ }
198
212
  option;
199
213
  selected;
200
214
  label;
@@ -227,78 +241,55 @@ class MultiSelectItem extends BaseComponent {
227
241
  selected: this.selected
228
242
  });
229
243
  }
230
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
231
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: MultiSelectItem, isStandalone: true, 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", highlightOnSelect: ["highlightOnSelect", "highlightOnSelect", booleanAttribute] }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, providers: [MultiSelectStyle], usesInheritance: true, ngImport: i0, template: `
232
- <li
233
- pRipple
234
- [class]="cx('option')"
235
- role="option"
236
- [ngStyle]="{ height: itemSize + 'px' }"
237
- [id]="id"
238
- [attr.aria-label]="label"
239
- [attr.aria-setsize]="ariaSetSize"
240
- [attr.aria-posinset]="ariaPosInset"
241
- [attr.aria-selected]="selected"
242
- [attr.data-p-focused]="focused"
243
- [attr.data-p-highlight]="selected"
244
- [attr.data-p-disabled]="disabled"
245
- [attr.aria-checked]="selected"
246
- (click)="onOptionClick($event)"
247
- (mouseenter)="onOptionMouseEnter($event)"
248
- >
249
- <p-checkbox [ngModel]="selected" [binary]="true" [tabindex]="-1" [variant]="variant" [ariaLabel]="label">
250
- <ng-container *ngIf="itemCheckboxIconTemplate">
251
- <ng-template #icon let-klass="class">
252
- <ng-template *ngTemplateOutlet="itemCheckboxIconTemplate; context: { checked: selected, class: klass }"></ng-template>
253
- </ng-template>
254
- </ng-container>
255
- </p-checkbox>
256
- <span *ngIf="!template">{{ label ?? 'empty' }}</span>
257
- <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
258
- </li>
259
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: SharedModule }], encapsulation: i0.ViewEncapsulation.None });
244
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
245
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.4", type: MultiSelectItem, isStandalone: true, selector: "li[pMultiSelectItem]", inputs: { 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", highlightOnSelect: ["highlightOnSelect", "highlightOnSelect", booleanAttribute] }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, host: { attributes: { "role": "option" }, listeners: { "click": "onOptionClick($event)", "mouseenter": "onOptionMouseEnter($event)" }, properties: { "style.height.px": "itemSize", "attr.aria-label": "label", "attr.aria-setsize": "ariaSetSize", "attr.aria-posinset": "ariaPosInset", "attr.aria-selected": "selected", "attr.data-p-focused": "focused", "attr.data-p-highlight": "selected", "attr.data-p-disabled": "disabled", "attr.aria-checked": "selected", "class": "cx('option')" } }, providers: [MultiSelectStyle], usesInheritance: true, ngImport: i0, template: `
246
+ <p-checkbox [ngModel]="selected" [binary]="true" [tabindex]="-1" [variant]="variant" [ariaLabel]="label" [pt]="getPTOptions('pcOptionCheckbox')">
247
+ <ng-container *ngIf="itemCheckboxIconTemplate">
248
+ <ng-template #icon let-klass="class">
249
+ <ng-template *ngTemplateOutlet="itemCheckboxIconTemplate; context: { checked: selected, class: klass }"></ng-template>
250
+ </ng-template>
251
+ </ng-container>
252
+ </p-checkbox>
253
+ <span *ngIf="!template">{{ label ?? 'empty' }}</span>
254
+ <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
255
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedModule }], encapsulation: i0.ViewEncapsulation.None });
260
256
  }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectItem, decorators: [{
257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectItem, decorators: [{
262
258
  type: Component,
263
259
  args: [{
264
- selector: 'p-multiSelectItem, p-multiselect-item',
260
+ selector: 'li[pMultiSelectItem]',
265
261
  standalone: true,
266
- imports: [CommonModule, Checkbox, FormsModule, Ripple, SharedModule],
262
+ imports: [CommonModule, Checkbox, FormsModule, SharedModule],
267
263
  template: `
268
- <li
269
- pRipple
270
- [class]="cx('option')"
271
- role="option"
272
- [ngStyle]="{ height: itemSize + 'px' }"
273
- [id]="id"
274
- [attr.aria-label]="label"
275
- [attr.aria-setsize]="ariaSetSize"
276
- [attr.aria-posinset]="ariaPosInset"
277
- [attr.aria-selected]="selected"
278
- [attr.data-p-focused]="focused"
279
- [attr.data-p-highlight]="selected"
280
- [attr.data-p-disabled]="disabled"
281
- [attr.aria-checked]="selected"
282
- (click)="onOptionClick($event)"
283
- (mouseenter)="onOptionMouseEnter($event)"
284
- >
285
- <p-checkbox [ngModel]="selected" [binary]="true" [tabindex]="-1" [variant]="variant" [ariaLabel]="label">
286
- <ng-container *ngIf="itemCheckboxIconTemplate">
287
- <ng-template #icon let-klass="class">
288
- <ng-template *ngTemplateOutlet="itemCheckboxIconTemplate; context: { checked: selected, class: klass }"></ng-template>
289
- </ng-template>
290
- </ng-container>
291
- </p-checkbox>
292
- <span *ngIf="!template">{{ label ?? 'empty' }}</span>
293
- <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
294
- </li>
264
+ <p-checkbox [ngModel]="selected" [binary]="true" [tabindex]="-1" [variant]="variant" [ariaLabel]="label" [pt]="getPTOptions('pcOptionCheckbox')">
265
+ <ng-container *ngIf="itemCheckboxIconTemplate">
266
+ <ng-template #icon let-klass="class">
267
+ <ng-template *ngTemplateOutlet="itemCheckboxIconTemplate; context: { checked: selected, class: klass }"></ng-template>
268
+ </ng-template>
269
+ </ng-container>
270
+ </p-checkbox>
271
+ <span *ngIf="!template">{{ label ?? 'empty' }}</span>
272
+ <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
295
273
  `,
296
274
  encapsulation: ViewEncapsulation.None,
297
- providers: [MultiSelectStyle]
275
+ providers: [MultiSelectStyle],
276
+ host: {
277
+ '[style.height.px]': 'itemSize',
278
+ '[attr.aria-label]': 'label',
279
+ role: 'option',
280
+ '[attr.aria-setsize]': 'ariaSetSize',
281
+ '[attr.aria-posinset]': 'ariaPosInset',
282
+ '[attr.aria-selected]': 'selected',
283
+ '[attr.data-p-focused]': 'focused',
284
+ '[attr.data-p-highlight]': 'selected',
285
+ '[attr.data-p-disabled]': 'disabled',
286
+ '[attr.aria-checked]': 'selected',
287
+ '(click)': 'onOptionClick($event)',
288
+ '(mouseenter)': 'onOptionMouseEnter($event)',
289
+ '[class]': "cx('option')"
290
+ }
298
291
  }]
299
- }], propDecorators: { id: [{
300
- type: Input
301
- }], option: [{
292
+ }], propDecorators: { option: [{
302
293
  type: Input
303
294
  }], selected: [{
304
295
  type: Input,
@@ -777,6 +768,7 @@ class MultiSelect extends BaseEditableHolder {
777
768
  footerFacet;
778
769
  headerFacet;
779
770
  _componentStyle = inject(MultiSelectStyle);
771
+ bindDirectiveInstance = inject(Bind, { self: true });
780
772
  searchValue;
781
773
  searchTimeout;
782
774
  _selectAll = null;
@@ -823,11 +815,12 @@ class MultiSelect extends BaseEditableHolder {
823
815
  _headerCheckboxIconTemplate;
824
816
  $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant(), ...(ngDevMode ? [{ debugName: "$variant" }] : []));
825
817
  $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), ...(ngDevMode ? [{ debugName: "$appendTo" }] : []));
818
+ $pcMultiSelect = inject(MULTISELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
826
819
  pcFluid = inject(Fluid, { optional: true, host: true, skipSelf: true });
827
820
  get hasFluid() {
828
821
  return this.fluid() ?? !!this.pcFluid;
829
822
  }
830
- ngAfterContentInit() {
823
+ onAfterContentInit() {
831
824
  this.templates.forEach((item) => {
832
825
  switch (item.getType()) {
833
826
  case 'item':
@@ -993,8 +986,7 @@ class MultiSelect extends BaseEditableHolder {
993
986
  }
994
987
  });
995
988
  }
996
- ngOnInit() {
997
- super.ngOnInit();
989
+ onInit() {
998
990
  this.id = this.id || uuid('pn_id_');
999
991
  this.autoUpdateModel();
1000
992
  if (this.filterBy) {
@@ -1007,13 +999,13 @@ class MultiSelect extends BaseEditableHolder {
1007
999
  maxSelectionLimitReached() {
1008
1000
  return this.selectionLimit && this.modelValue() && this.modelValue().length === this.selectionLimit;
1009
1001
  }
1010
- ngAfterViewInit() {
1011
- super.ngAfterViewInit();
1002
+ onAfterViewInit() {
1012
1003
  if (this.overlayVisible) {
1013
1004
  this.show();
1014
1005
  }
1015
1006
  }
1016
- ngAfterViewChecked() {
1007
+ onAfterViewChecked() {
1008
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1017
1009
  if (this.filtered) {
1018
1010
  this.zone.runOutsideAngular(() => {
1019
1011
  setTimeout(() => {
@@ -1715,9 +1707,25 @@ class MultiSelect extends BaseEditableHolder {
1715
1707
  setModelValue(value);
1716
1708
  this.cd.markForCheck();
1717
1709
  }
1718
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelect, deps: [{ token: i0.NgZone }, { token: i3.FilterService }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1719
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: MultiSelect, isStandalone: true, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterPlaceHolder: { classPropertyName: "filterPlaceHolder", publicName: "filterPlaceHolder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, overlayVisible: { classPropertyName: "overlayVisible", publicName: "overlayVisible", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, displaySelectedLabel: { classPropertyName: "displaySelectedLabel", publicName: "displaySelectedLabel", isSignal: false, isRequired: false, transformFunction: null }, maxSelectedLabels: { classPropertyName: "maxSelectedLabels", publicName: "maxSelectedLabels", isSignal: false, isRequired: false, transformFunction: null }, selectionLimit: { classPropertyName: "selectionLimit", publicName: "selectionLimit", isSignal: false, isRequired: false, transformFunction: numberAttribute }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: false, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, chipIcon: { classPropertyName: "chipIcon", publicName: "chipIcon", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: false, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: false, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, display: { classPropertyName: "display", publicName: "display", isSignal: false, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, 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", "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { propertyName: "selectedItemsTemplate", first: true, predicate: ["selecteditems"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "removeTokenIconTemplate", first: true, predicate: ["removetokenicon"] }, { propertyName: "chipIconTemplate", first: true, predicate: ["chipicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "itemCheckboxIconTemplate", first: true, predicate: ["itemcheckboxicon"] }, { propertyName: "headerCheckboxIconTemplate", first: true, predicate: ["headercheckboxicon"] }, { 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: `
1720
- <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
1710
+ getHeaderCheckboxPTOptions(key) {
1711
+ return this.ptm(key, {
1712
+ context: {
1713
+ selected: this.allSelected()
1714
+ }
1715
+ });
1716
+ }
1717
+ getPTOptions(option, itemOptions, index, key) {
1718
+ return this.ptm(key, {
1719
+ context: {
1720
+ selected: this.isSelected(option),
1721
+ focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1722
+ disabled: this.isOptionDisabled(option)
1723
+ }
1724
+ });
1725
+ }
1726
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelect, deps: [{ token: i0.NgZone }, { token: i3.FilterService }, { token: i3.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1727
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: MultiSelect, isStandalone: true, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterPlaceHolder: { classPropertyName: "filterPlaceHolder", publicName: "filterPlaceHolder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, overlayVisible: { classPropertyName: "overlayVisible", publicName: "overlayVisible", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, displaySelectedLabel: { classPropertyName: "displaySelectedLabel", publicName: "displaySelectedLabel", isSignal: false, isRequired: false, transformFunction: null }, maxSelectedLabels: { classPropertyName: "maxSelectedLabels", publicName: "maxSelectedLabels", isSignal: false, isRequired: false, transformFunction: null }, selectionLimit: { classPropertyName: "selectionLimit", publicName: "selectionLimit", isSignal: false, isRequired: false, transformFunction: numberAttribute }, selectedItemsLabel: { classPropertyName: "selectedItemsLabel", publicName: "selectedItemsLabel", isSignal: false, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, chipIcon: { classPropertyName: "chipIcon", publicName: "chipIcon", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: false, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: false, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, display: { classPropertyName: "display", publicName: "display", isSignal: false, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, 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", "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle, { provide: MULTISELECT_INSTANCE, useExisting: MultiSelect }, { provide: PARENT_INSTANCE, useExisting: MultiSelect }], queries: [{ propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { propertyName: "selectedItemsTemplate", first: true, predicate: ["selecteditems"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "removeTokenIconTemplate", first: true, predicate: ["removetokenicon"] }, { propertyName: "chipIconTemplate", first: true, predicate: ["chipicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "itemCheckboxIconTemplate", first: true, predicate: ["itemcheckboxicon"] }, { propertyName: "headerCheckboxIconTemplate", first: true, predicate: ["headercheckboxicon"] }, { 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, hostDirectives: [{ directive: i4.Bind }], ngImport: i0, template: `
1728
+ <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true" [pBind]="ptm('hiddenInputContainer')">
1721
1729
  <input
1722
1730
  #focusInput
1723
1731
  [pTooltip]="tooltip"
@@ -1742,9 +1750,11 @@ class MultiSelect extends BaseEditableHolder {
1742
1750
  [attr.name]="name()"
1743
1751
  [attr.required]="required() ? '' : undefined"
1744
1752
  [attr.disabled]="$disabled() ? '' : undefined"
1753
+ [pBind]="ptm('hiddenInput')"
1745
1754
  />
1746
1755
  </div>
1747
1756
  <div
1757
+ [pBind]="ptm('labelContainer')"
1748
1758
  [class]="cx('labelContainer')"
1749
1759
  [pTooltip]="tooltip"
1750
1760
  (mouseleave)="labelContainerMouseLeave()"
@@ -1753,15 +1763,15 @@ class MultiSelect extends BaseEditableHolder {
1753
1763
  [positionStyle]="tooltipPositionStyle"
1754
1764
  [tooltipStyleClass]="tooltipStyleClass"
1755
1765
  >
1756
- <div [class]="cx('label')">
1766
+ <div [pBind]="ptm('label')" [class]="cx('label')">
1757
1767
  <ng-container *ngIf="!selectedItemsTemplate && !_selectedItemsTemplate">
1758
1768
  <ng-container *ngIf="display === 'comma'">{{ label() || 'empty' }}</ng-container>
1759
1769
  <ng-container *ngIf="display === 'chip'">
1760
1770
  @if (chipSelectedItems() && chipSelectedItems().length === maxSelectedLabels) {
1761
1771
  {{ getSelectedItemsLabel() }}
1762
1772
  } @else {
1763
- <div #token *ngFor="let item of chipSelectedItems(); let i = index" [class]="cx('chipItem')">
1764
- <p-chip [class]="cx('pcChip')" [label]="getLabelByValue(item)" [removable]="!$disabled() && !readonly" (onRemove)="removeOption(item, $event)" [removeIcon]="chipIcon">
1773
+ <div #token *ngFor="let item of chipSelectedItems(); let i = index" [pBind]="ptm('chipItem')" [class]="cx('chipItem')">
1774
+ <p-chip [pt]="ptm('pcChip')" [class]="cx('pcChip')" [label]="getLabelByValue(item)" [removable]="!$disabled() && !readonly" (onRemove)="removeOption(item, $event)" [removeIcon]="chipIcon">
1765
1775
  <ng-container *ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate">
1766
1776
  <ng-template #removeicon>
1767
1777
  <ng-container *ngIf="!$disabled() && !readonly">
@@ -1769,8 +1779,8 @@ class MultiSelect extends BaseEditableHolder {
1769
1779
  [class]="cx('chipIcon')"
1770
1780
  *ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate"
1771
1781
  (click)="removeOption(item, $event)"
1772
- [attr.data-pc-section]="'clearicon'"
1773
1782
  [attr.aria-hidden]="true"
1783
+ [pBind]="ptm('chipIcon')"
1774
1784
  >
1775
1785
  <ng-container *ngTemplateOutlet="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate; context: { class: 'p-multiselect-chip-icon' }"></ng-container>
1776
1786
  </span>
@@ -1790,34 +1800,44 @@ class MultiSelect extends BaseEditableHolder {
1790
1800
  </div>
1791
1801
  </div>
1792
1802
  <ng-container *ngIf="isVisibleClearIcon">
1793
- <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true" />
1794
- <span *ngIf="clearIconTemplate || _clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true">
1803
+ <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true" />
1804
+ <span *ngIf="clearIconTemplate || _clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true">
1795
1805
  <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
1796
1806
  </span>
1797
1807
  </ng-container>
1798
- <div [class]="cx('dropdown')">
1808
+ <div [pBind]="ptm('dropdown')" [class]="cx('dropdown')">
1799
1809
  <ng-container *ngIf="loading; else elseBlock">
1800
1810
  <ng-container *ngIf="loadingIconTemplate || _loadingIconTemplate">
1801
1811
  <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
1802
1812
  </ng-container>
1803
1813
  <ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
1804
- <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon)" [attr.aria-hidden]="true"></span>
1805
- <span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
1814
+ <span *ngIf="loadingIcon" [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon)" [attr.aria-hidden]="true"></span>
1815
+ <span *ngIf="!loadingIcon" [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
1806
1816
  </ng-container>
1807
1817
  </ng-container>
1808
1818
  <ng-template #elseBlock>
1809
1819
  <ng-container *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate">
1810
- <span *ngIf="dropdownIcon" [class]="cx('dropdownIcon')" [ngClass]="dropdownIcon" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true"></span>
1811
- <svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [class]="cx('dropdownIcon')" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true" />
1820
+ <span *ngIf="dropdownIcon" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [ngClass]="dropdownIcon" [attr.aria-hidden]="true"></span>
1821
+ <svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true" />
1812
1822
  </ng-container>
1813
- <span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [class]="cx('dropdownIcon')" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true">
1823
+ <span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true">
1814
1824
  <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate"></ng-template>
1815
1825
  </span>
1816
1826
  </ng-template>
1817
1827
  </div>
1818
- <p-overlay #overlay [hostAttrSelector]="attrSelector" [(visible)]="overlayVisible" [options]="overlayOptions" [target]="'@parent'" [appendTo]="$appendTo()" (onAnimationStart)="onOverlayAnimationStart($event)" (onHide)="onOverlayHide($event)">
1828
+ <p-overlay
1829
+ #overlay
1830
+ [hostAttrSelector]="$attrSelector"
1831
+ [(visible)]="overlayVisible"
1832
+ [options]="overlayOptions"
1833
+ [target]="'@parent'"
1834
+ [appendTo]="$appendTo()"
1835
+ (onAnimationStart)="onOverlayAnimationStart($event)"
1836
+ (onHide)="onOverlayHide($event)"
1837
+ [pt]="ptm('pcOverlay')"
1838
+ >
1819
1839
  <ng-template #content>
1820
- <div [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
1840
+ <div [pBind]="ptm('overlay')" [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
1821
1841
  <span
1822
1842
  #firstHiddenFocusableEl
1823
1843
  role="presentation"
@@ -1826,16 +1846,18 @@ class MultiSelect extends BaseEditableHolder {
1826
1846
  (focus)="onFirstHiddenFocus($event)"
1827
1847
  [attr.data-p-hidden-accessible]="true"
1828
1848
  [attr.data-p-hidden-focusable]="true"
1849
+ [pBind]="ptm('firstHiddenFocusableEl')"
1829
1850
  >
1830
1851
  </span>
1831
1852
  <ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
1832
- <div [class]="cx('header')" *ngIf="showHeader">
1853
+ <div [pBind]="ptm('header')" [class]="cx('header')" *ngIf="showHeader">
1833
1854
  <ng-content select="p-header"></ng-content>
1834
1855
  <ng-container *ngIf="filterTemplate || _filterTemplate; else builtInFilterElement">
1835
1856
  <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
1836
1857
  </ng-container>
1837
1858
  <ng-template #builtInFilterElement>
1838
1859
  <p-checkbox
1860
+ [pt]="getHeaderCheckboxPTOptions('pcHeaderCheckbox')"
1839
1861
  [ngModel]="allSelected()"
1840
1862
  [ariaLabel]="toggleAllAriaLabel"
1841
1863
  [binary]="true"
@@ -1846,7 +1868,7 @@ class MultiSelect extends BaseEditableHolder {
1846
1868
  #headerCheckbox
1847
1869
  >
1848
1870
  <ng-template #icon let-klass="class">
1849
- <svg data-p-icon="check" *ngIf="!headerCheckboxIconTemplate && !_headerCheckboxIconTemplate && allSelected()" [class]="klass" [attr.data-pc-section]="'icon'" />
1871
+ <svg data-p-icon="check" *ngIf="!headerCheckboxIconTemplate && !_headerCheckboxIconTemplate && allSelected()" [class]="klass" [pBind]="getHeaderCheckboxPTOptions('pcHeaderCheckbox.icon')" />
1850
1872
  <ng-template
1851
1873
  *ngTemplateOutlet="
1852
1874
  headerCheckboxIconTemplate || _headerCheckboxIconTemplate;
@@ -1860,10 +1882,11 @@ class MultiSelect extends BaseEditableHolder {
1860
1882
  </ng-template>
1861
1883
  </p-checkbox>
1862
1884
 
1863
- <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')">
1885
+ <p-iconfield *ngIf="filter" [pt]="ptm('pcFilterContainer')" [class]="cx('pcFilterContainer')">
1864
1886
  <input
1865
1887
  #filterInput
1866
1888
  pInputText
1889
+ [pt]="ptm('pcFilter')"
1867
1890
  [variant]="$variant()"
1868
1891
  type="text"
1869
1892
  [attr.autocomplete]="autocomplete"
@@ -1880,16 +1903,16 @@ class MultiSelect extends BaseEditableHolder {
1880
1903
  [attr.placeholder]="filterPlaceHolder"
1881
1904
  [attr.aria-label]="ariaFilterLabel"
1882
1905
  />
1883
- <p-inputicon>
1884
- <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" />
1885
- <span *ngIf="filterIconTemplate || _filterIconTemplate" class="p-multiselect-filter-icon">
1906
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')">
1907
+ <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [pBind]="ptm('filterIcon')" />
1908
+ <span *ngIf="filterIconTemplate || _filterIconTemplate" [pBind]="ptm('filterIcon')" class="p-multiselect-filter-icon">
1886
1909
  <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
1887
1910
  </span>
1888
1911
  </p-inputicon>
1889
1912
  </p-iconfield>
1890
1913
  </ng-template>
1891
1914
  </div>
1892
- <div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
1915
+ <div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
1893
1916
  <p-scroller
1894
1917
  *ngIf="virtualScroll"
1895
1918
  #scroller
@@ -1916,16 +1939,19 @@ class MultiSelect extends BaseEditableHolder {
1916
1939
  </ng-container>
1917
1940
 
1918
1941
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1919
- <ul #items [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
1942
+ <ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
1920
1943
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1921
1944
  <ng-container *ngIf="isOptionGroup(option)">
1922
- <li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1945
+ <li [pBind]="ptm('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1923
1946
  <span *ngIf="!groupTemplate && option.optionGroup">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1924
1947
  <ng-container *ngIf="option.optionGroup && groupTemplate" [ngTemplateOutlet]="groupTemplate" [ngTemplateOutletContext]="{ $implicit: option.optionGroup }"></ng-container>
1925
1948
  </li>
1926
1949
  </ng-container>
1927
1950
  <ng-container *ngIf="!isOptionGroup(option)">
1928
- <p-multiselect-item
1951
+ <li
1952
+ pMultiSelectItem
1953
+ pRipple
1954
+ [pBind]="getPTOptions(option, getItemOptions, i, 'option')"
1929
1955
  [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
1930
1956
  [option]="option"
1931
1957
  [selected]="isSelected(option)"
@@ -1941,18 +1967,19 @@ class MultiSelect extends BaseEditableHolder {
1941
1967
  [highlightOnSelect]="highlightOnSelect"
1942
1968
  (onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
1943
1969
  (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
1944
- ></p-multiselect-item>
1970
+ [pt]="pt"
1971
+ ></li>
1945
1972
  </ng-container>
1946
1973
  </ng-template>
1947
1974
 
1948
- <li *ngIf="hasFilter() && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1975
+ <li *ngIf="hasFilter() && isEmpty()" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1949
1976
  @if (!emptyFilterTemplate && !_emptyFilterTemplate && !emptyTemplate && !_emptyTemplate) {
1950
1977
  {{ emptyFilterMessageLabel }}
1951
1978
  } @else {
1952
1979
  <ng-container *ngTemplateOutlet="emptyFilterTemplate || _emptyFilterTemplate || emptyTemplate || _emptyFilterTemplate"></ng-container>
1953
1980
  }
1954
1981
  </li>
1955
- <li *ngIf="!hasFilter() && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1982
+ <li *ngIf="!hasFilter() && isEmpty()" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1956
1983
  @if (!emptyTemplate && !_emptyTemplate) {
1957
1984
  {{ emptyMessageLabel }}
1958
1985
  } @else {
@@ -1975,20 +2002,22 @@ class MultiSelect extends BaseEditableHolder {
1975
2002
  (focus)="onLastHiddenFocus($event)"
1976
2003
  [attr.data-p-hidden-accessible]="true"
1977
2004
  [attr.data-p-hidden-focusable]="true"
2005
+ [pBind]="ptm('lastHiddenFocusableEl')"
1978
2006
  ></span>
1979
2007
  </div>
1980
2008
  </ng-template>
1981
2009
  </p-overlay>
1982
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MultiSelectItem, selector: "p-multiSelectItem, p-multiselect-item", inputs: ["id", "option", "selected", "label", "disabled", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant", "template", "checkIconTemplate", "itemCheckboxIconTemplate", "highlightOnSelect"], outputs: ["onClick", "onMouseEnter"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", 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: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["styleClass"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2010
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: MultiSelectItem, selector: "li[pMultiSelectItem]", inputs: ["option", "selected", "label", "disabled", "itemSize", "focused", "ariaPosInset", "ariaSetSize", "variant", "template", "checkIconTemplate", "itemCheckboxIconTemplate", "highlightOnSelect"], outputs: ["onClick", "onMouseEnter"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["hostName", "visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["hostName", "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: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["hostName", "styleClass"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i4.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1983
2011
  }
1984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelect, decorators: [{
2012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelect, decorators: [{
1985
2013
  type: Component,
1986
2014
  args: [{
1987
2015
  selector: 'p-multiSelect, p-multiselect, p-multi-select',
1988
2016
  standalone: true,
1989
- imports: [CommonModule, MultiSelectItem, Overlay, SharedModule, Tooltip, Scroller, AutoFocus, CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon, IconField, InputIcon, InputText, Chip, Checkbox, FormsModule],
2017
+ imports: [CommonModule, MultiSelectItem, Overlay, SharedModule, Tooltip, Scroller, AutoFocus, CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon, IconField, InputIcon, InputText, Chip, Checkbox, FormsModule, BindModule],
2018
+ hostDirectives: [Bind],
1990
2019
  template: `
1991
- <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true">
2020
+ <div class="p-hidden-accessible" [attr.data-p-hidden-accessible]="true" [pBind]="ptm('hiddenInputContainer')">
1992
2021
  <input
1993
2022
  #focusInput
1994
2023
  [pTooltip]="tooltip"
@@ -2013,9 +2042,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2013
2042
  [attr.name]="name()"
2014
2043
  [attr.required]="required() ? '' : undefined"
2015
2044
  [attr.disabled]="$disabled() ? '' : undefined"
2045
+ [pBind]="ptm('hiddenInput')"
2016
2046
  />
2017
2047
  </div>
2018
2048
  <div
2049
+ [pBind]="ptm('labelContainer')"
2019
2050
  [class]="cx('labelContainer')"
2020
2051
  [pTooltip]="tooltip"
2021
2052
  (mouseleave)="labelContainerMouseLeave()"
@@ -2024,15 +2055,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2024
2055
  [positionStyle]="tooltipPositionStyle"
2025
2056
  [tooltipStyleClass]="tooltipStyleClass"
2026
2057
  >
2027
- <div [class]="cx('label')">
2058
+ <div [pBind]="ptm('label')" [class]="cx('label')">
2028
2059
  <ng-container *ngIf="!selectedItemsTemplate && !_selectedItemsTemplate">
2029
2060
  <ng-container *ngIf="display === 'comma'">{{ label() || 'empty' }}</ng-container>
2030
2061
  <ng-container *ngIf="display === 'chip'">
2031
2062
  @if (chipSelectedItems() && chipSelectedItems().length === maxSelectedLabels) {
2032
2063
  {{ getSelectedItemsLabel() }}
2033
2064
  } @else {
2034
- <div #token *ngFor="let item of chipSelectedItems(); let i = index" [class]="cx('chipItem')">
2035
- <p-chip [class]="cx('pcChip')" [label]="getLabelByValue(item)" [removable]="!$disabled() && !readonly" (onRemove)="removeOption(item, $event)" [removeIcon]="chipIcon">
2065
+ <div #token *ngFor="let item of chipSelectedItems(); let i = index" [pBind]="ptm('chipItem')" [class]="cx('chipItem')">
2066
+ <p-chip [pt]="ptm('pcChip')" [class]="cx('pcChip')" [label]="getLabelByValue(item)" [removable]="!$disabled() && !readonly" (onRemove)="removeOption(item, $event)" [removeIcon]="chipIcon">
2036
2067
  <ng-container *ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate">
2037
2068
  <ng-template #removeicon>
2038
2069
  <ng-container *ngIf="!$disabled() && !readonly">
@@ -2040,8 +2071,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2040
2071
  [class]="cx('chipIcon')"
2041
2072
  *ngIf="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate"
2042
2073
  (click)="removeOption(item, $event)"
2043
- [attr.data-pc-section]="'clearicon'"
2044
2074
  [attr.aria-hidden]="true"
2075
+ [pBind]="ptm('chipIcon')"
2045
2076
  >
2046
2077
  <ng-container *ngTemplateOutlet="chipIconTemplate || _chipIconTemplate || removeTokenIconTemplate || _removeTokenIconTemplate; context: { class: 'p-multiselect-chip-icon' }"></ng-container>
2047
2078
  </span>
@@ -2061,34 +2092,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2061
2092
  </div>
2062
2093
  </div>
2063
2094
  <ng-container *ngIf="isVisibleClearIcon">
2064
- <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true" />
2065
- <span *ngIf="clearIconTemplate || _clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true">
2095
+ <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true" />
2096
+ <span *ngIf="clearIconTemplate || _clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear($event)" [attr.aria-hidden]="true">
2066
2097
  <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
2067
2098
  </span>
2068
2099
  </ng-container>
2069
- <div [class]="cx('dropdown')">
2100
+ <div [pBind]="ptm('dropdown')" [class]="cx('dropdown')">
2070
2101
  <ng-container *ngIf="loading; else elseBlock">
2071
2102
  <ng-container *ngIf="loadingIconTemplate || _loadingIconTemplate">
2072
2103
  <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
2073
2104
  </ng-container>
2074
2105
  <ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
2075
- <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon)" [attr.aria-hidden]="true"></span>
2076
- <span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
2106
+ <span *ngIf="loadingIcon" [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon)" [attr.aria-hidden]="true"></span>
2107
+ <span *ngIf="!loadingIcon" [pBind]="ptm('loadingIcon')" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [attr.aria-hidden]="true"></span>
2077
2108
  </ng-container>
2078
2109
  </ng-container>
2079
2110
  <ng-template #elseBlock>
2080
2111
  <ng-container *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate">
2081
- <span *ngIf="dropdownIcon" [class]="cx('dropdownIcon')" [ngClass]="dropdownIcon" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true"></span>
2082
- <svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [class]="cx('dropdownIcon')" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true" />
2112
+ <span *ngIf="dropdownIcon" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [ngClass]="dropdownIcon" [attr.aria-hidden]="true"></span>
2113
+ <svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true" />
2083
2114
  </ng-container>
2084
- <span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [class]="cx('dropdownIcon')" [attr.data-pc-section]="'triggericon'" [attr.aria-hidden]="true">
2115
+ <span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [pBind]="ptm('dropdownIcon')" [class]="cx('dropdownIcon')" [attr.aria-hidden]="true">
2085
2116
  <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate"></ng-template>
2086
2117
  </span>
2087
2118
  </ng-template>
2088
2119
  </div>
2089
- <p-overlay #overlay [hostAttrSelector]="attrSelector" [(visible)]="overlayVisible" [options]="overlayOptions" [target]="'@parent'" [appendTo]="$appendTo()" (onAnimationStart)="onOverlayAnimationStart($event)" (onHide)="onOverlayHide($event)">
2120
+ <p-overlay
2121
+ #overlay
2122
+ [hostAttrSelector]="$attrSelector"
2123
+ [(visible)]="overlayVisible"
2124
+ [options]="overlayOptions"
2125
+ [target]="'@parent'"
2126
+ [appendTo]="$appendTo()"
2127
+ (onAnimationStart)="onOverlayAnimationStart($event)"
2128
+ (onHide)="onOverlayHide($event)"
2129
+ [pt]="ptm('pcOverlay')"
2130
+ >
2090
2131
  <ng-template #content>
2091
- <div [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
2132
+ <div [pBind]="ptm('overlay')" [attr.id]="id + '_list'" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
2092
2133
  <span
2093
2134
  #firstHiddenFocusableEl
2094
2135
  role="presentation"
@@ -2097,16 +2138,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2097
2138
  (focus)="onFirstHiddenFocus($event)"
2098
2139
  [attr.data-p-hidden-accessible]="true"
2099
2140
  [attr.data-p-hidden-focusable]="true"
2141
+ [pBind]="ptm('firstHiddenFocusableEl')"
2100
2142
  >
2101
2143
  </span>
2102
2144
  <ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
2103
- <div [class]="cx('header')" *ngIf="showHeader">
2145
+ <div [pBind]="ptm('header')" [class]="cx('header')" *ngIf="showHeader">
2104
2146
  <ng-content select="p-header"></ng-content>
2105
2147
  <ng-container *ngIf="filterTemplate || _filterTemplate; else builtInFilterElement">
2106
2148
  <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
2107
2149
  </ng-container>
2108
2150
  <ng-template #builtInFilterElement>
2109
2151
  <p-checkbox
2152
+ [pt]="getHeaderCheckboxPTOptions('pcHeaderCheckbox')"
2110
2153
  [ngModel]="allSelected()"
2111
2154
  [ariaLabel]="toggleAllAriaLabel"
2112
2155
  [binary]="true"
@@ -2117,7 +2160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2117
2160
  #headerCheckbox
2118
2161
  >
2119
2162
  <ng-template #icon let-klass="class">
2120
- <svg data-p-icon="check" *ngIf="!headerCheckboxIconTemplate && !_headerCheckboxIconTemplate && allSelected()" [class]="klass" [attr.data-pc-section]="'icon'" />
2163
+ <svg data-p-icon="check" *ngIf="!headerCheckboxIconTemplate && !_headerCheckboxIconTemplate && allSelected()" [class]="klass" [pBind]="getHeaderCheckboxPTOptions('pcHeaderCheckbox.icon')" />
2121
2164
  <ng-template
2122
2165
  *ngTemplateOutlet="
2123
2166
  headerCheckboxIconTemplate || _headerCheckboxIconTemplate;
@@ -2131,10 +2174,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2131
2174
  </ng-template>
2132
2175
  </p-checkbox>
2133
2176
 
2134
- <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')">
2177
+ <p-iconfield *ngIf="filter" [pt]="ptm('pcFilterContainer')" [class]="cx('pcFilterContainer')">
2135
2178
  <input
2136
2179
  #filterInput
2137
2180
  pInputText
2181
+ [pt]="ptm('pcFilter')"
2138
2182
  [variant]="$variant()"
2139
2183
  type="text"
2140
2184
  [attr.autocomplete]="autocomplete"
@@ -2151,16 +2195,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2151
2195
  [attr.placeholder]="filterPlaceHolder"
2152
2196
  [attr.aria-label]="ariaFilterLabel"
2153
2197
  />
2154
- <p-inputicon>
2155
- <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" />
2156
- <span *ngIf="filterIconTemplate || _filterIconTemplate" class="p-multiselect-filter-icon">
2198
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')">
2199
+ <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [pBind]="ptm('filterIcon')" />
2200
+ <span *ngIf="filterIconTemplate || _filterIconTemplate" [pBind]="ptm('filterIcon')" class="p-multiselect-filter-icon">
2157
2201
  <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
2158
2202
  </span>
2159
2203
  </p-inputicon>
2160
2204
  </p-iconfield>
2161
2205
  </ng-template>
2162
2206
  </div>
2163
- <div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
2207
+ <div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
2164
2208
  <p-scroller
2165
2209
  *ngIf="virtualScroll"
2166
2210
  #scroller
@@ -2187,16 +2231,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2187
2231
  </ng-container>
2188
2232
 
2189
2233
  <ng-template #buildInItems let-items let-scrollerOptions="options">
2190
- <ul #items [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
2234
+ <ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" aria-multiselectable="true" [attr.aria-label]="listLabel">
2191
2235
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
2192
2236
  <ng-container *ngIf="isOptionGroup(option)">
2193
- <li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2237
+ <li [pBind]="ptm('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2194
2238
  <span *ngIf="!groupTemplate && option.optionGroup">{{ getOptionGroupLabel(option.optionGroup) }}</span>
2195
2239
  <ng-container *ngIf="option.optionGroup && groupTemplate" [ngTemplateOutlet]="groupTemplate" [ngTemplateOutletContext]="{ $implicit: option.optionGroup }"></ng-container>
2196
2240
  </li>
2197
2241
  </ng-container>
2198
2242
  <ng-container *ngIf="!isOptionGroup(option)">
2199
- <p-multiselect-item
2243
+ <li
2244
+ pMultiSelectItem
2245
+ pRipple
2246
+ [pBind]="getPTOptions(option, getItemOptions, i, 'option')"
2200
2247
  [id]="id + '_' + getOptionIndex(i, scrollerOptions)"
2201
2248
  [option]="option"
2202
2249
  [selected]="isSelected(option)"
@@ -2212,18 +2259,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2212
2259
  [highlightOnSelect]="highlightOnSelect"
2213
2260
  (onClick)="onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))"
2214
2261
  (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
2215
- ></p-multiselect-item>
2262
+ [pt]="pt"
2263
+ ></li>
2216
2264
  </ng-container>
2217
2265
  </ng-template>
2218
2266
 
2219
- <li *ngIf="hasFilter() && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2267
+ <li *ngIf="hasFilter() && isEmpty()" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2220
2268
  @if (!emptyFilterTemplate && !_emptyFilterTemplate && !emptyTemplate && !_emptyTemplate) {
2221
2269
  {{ emptyFilterMessageLabel }}
2222
2270
  } @else {
2223
2271
  <ng-container *ngTemplateOutlet="emptyFilterTemplate || _emptyFilterTemplate || emptyTemplate || _emptyFilterTemplate"></ng-container>
2224
2272
  }
2225
2273
  </li>
2226
- <li *ngIf="!hasFilter() && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2274
+ <li *ngIf="!hasFilter() && isEmpty()" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2227
2275
  @if (!emptyTemplate && !_emptyTemplate) {
2228
2276
  {{ emptyMessageLabel }}
2229
2277
  } @else {
@@ -2246,12 +2294,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2246
2294
  (focus)="onLastHiddenFocus($event)"
2247
2295
  [attr.data-p-hidden-accessible]="true"
2248
2296
  [attr.data-p-hidden-focusable]="true"
2297
+ [pBind]="ptm('lastHiddenFocusableEl')"
2249
2298
  ></span>
2250
2299
  </div>
2251
2300
  </ng-template>
2252
2301
  </p-overlay>
2253
2302
  `,
2254
- providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle],
2303
+ providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle, { provide: MULTISELECT_INSTANCE, useExisting: MultiSelect }, { provide: PARENT_INSTANCE, useExisting: MultiSelect }],
2255
2304
  changeDetection: ChangeDetectionStrategy.OnPush,
2256
2305
  encapsulation: ViewEncapsulation.None,
2257
2306
  host: {
@@ -2509,11 +2558,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
2509
2558
  args: [PrimeTemplate]
2510
2559
  }] } });
2511
2560
  class MultiSelectModule {
2512
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2513
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule], exports: [MultiSelect, SharedModule] });
2514
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule, SharedModule] });
2561
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2562
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule], exports: [MultiSelect, SharedModule] });
2563
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectModule, imports: [MultiSelect, SharedModule, SharedModule] });
2515
2564
  }
2516
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MultiSelectModule, decorators: [{
2565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: MultiSelectModule, decorators: [{
2517
2566
  type: NgModule,
2518
2567
  args: [{
2519
2568
  imports: [MultiSelect, SharedModule],