primeng 20.1.2 → 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 (720) hide show
  1. package/accordion/index.d.ts +33 -14
  2. package/animateonscroll/index.d.ts +7 -8
  3. package/api/index.d.ts +132 -5
  4. package/autocomplete/index.d.ts +59 -203
  5. package/autofocus/index.d.ts +2 -2
  6. package/avatar/index.d.ts +12 -5
  7. package/avatargroup/index.d.ts +11 -6
  8. package/badge/index.d.ts +23 -15
  9. package/base/index.d.ts +7 -12
  10. package/basecomponent/index.d.ts +148 -30
  11. package/baseeditableholder/index.d.ts +7 -7
  12. package/baseinput/index.d.ts +15 -15
  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 +16 -47
  17. package/button/index.d.ts +123 -163
  18. package/buttongroup/index.d.ts +1 -1
  19. package/card/index.d.ts +19 -37
  20. package/carousel/index.d.ts +24 -80
  21. package/cascadeselect/index.d.ts +32 -140
  22. package/chart/index.d.ts +13 -7
  23. package/checkbox/index.d.ts +19 -38
  24. package/chip/index.d.ts +28 -39
  25. package/classnames/index.d.ts +32 -0
  26. package/colorpicker/index.d.ts +15 -27
  27. package/config/index.d.ts +205 -26
  28. package/confirmdialog/index.d.ts +25 -52
  29. package/confirmpopup/index.d.ts +15 -36
  30. package/contextmenu/index.d.ts +23 -12
  31. package/dataview/index.d.ts +18 -185
  32. package/datepicker/index.d.ts +24 -216
  33. package/dialog/index.d.ts +20 -43
  34. package/divider/index.d.ts +12 -6
  35. package/dock/index.d.ts +19 -31
  36. package/dom/index.d.ts +4 -4
  37. package/drawer/index.d.ts +16 -37
  38. package/dynamicdialog/index.d.ts +75 -83
  39. package/editor/index.d.ts +16 -132
  40. package/fesm2022/primeng-accordion.mjs +107 -59
  41. package/fesm2022/primeng-accordion.mjs.map +1 -1
  42. package/fesm2022/primeng-animateonscroll.mjs +11 -14
  43. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  44. package/fesm2022/primeng-api.mjs +31 -31
  45. package/fesm2022/primeng-autocomplete.mjs +256 -96
  46. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  47. package/fesm2022/primeng-autofocus.mjs +9 -9
  48. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  49. package/fesm2022/primeng-avatar.mjs +33 -24
  50. package/fesm2022/primeng-avatar.mjs.map +1 -1
  51. package/fesm2022/primeng-avatargroup.mjs +24 -22
  52. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  53. package/fesm2022/primeng-badge.mjs +67 -49
  54. package/fesm2022/primeng-badge.mjs.map +1 -1
  55. package/fesm2022/primeng-base.mjs +10 -13
  56. package/fesm2022/primeng-base.mjs.map +1 -1
  57. package/fesm2022/primeng-basecomponent.mjs +345 -94
  58. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  59. package/fesm2022/primeng-baseeditableholder.mjs +3 -3
  60. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  61. package/fesm2022/primeng-baseinput.mjs +3 -3
  62. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  63. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  64. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  65. package/fesm2022/primeng-bind.mjs +94 -0
  66. package/fesm2022/primeng-bind.mjs.map +1 -0
  67. package/fesm2022/primeng-blockui.mjs +30 -24
  68. package/fesm2022/primeng-blockui.mjs.map +1 -1
  69. package/fesm2022/primeng-breadcrumb.mjs +97 -72
  70. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  71. package/fesm2022/primeng-button.mjs +248 -207
  72. package/fesm2022/primeng-button.mjs.map +1 -1
  73. package/fesm2022/primeng-buttongroup.mjs +14 -14
  74. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  75. package/fesm2022/primeng-card.mjs +58 -38
  76. package/fesm2022/primeng-card.mjs.map +1 -1
  77. package/fesm2022/primeng-carousel.mjs +154 -57
  78. package/fesm2022/primeng-carousel.mjs.map +1 -1
  79. package/fesm2022/primeng-cascadeselect.mjs +237 -203
  80. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  81. package/fesm2022/primeng-chart.mjs +43 -20
  82. package/fesm2022/primeng-chart.mjs.map +1 -1
  83. package/fesm2022/primeng-checkbox.mjs +50 -35
  84. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  85. package/fesm2022/primeng-chip.mjs +79 -41
  86. package/fesm2022/primeng-chip.mjs.map +1 -1
  87. package/fesm2022/primeng-classnames.mjs +48 -0
  88. package/fesm2022/primeng-classnames.mjs.map +1 -0
  89. package/fesm2022/primeng-colorpicker.mjs +49 -41
  90. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  91. package/fesm2022/primeng-config.mjs +25 -9
  92. package/fesm2022/primeng-config.mjs.map +1 -1
  93. package/fesm2022/primeng-confirmdialog.mjs +63 -33
  94. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  95. package/fesm2022/primeng-confirmpopup.mjs +59 -41
  96. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  97. package/fesm2022/primeng-contextmenu.mjs +140 -90
  98. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  99. package/fesm2022/primeng-dataview.mjs +52 -43
  100. package/fesm2022/primeng-dataview.mjs.map +1 -1
  101. package/fesm2022/primeng-datepicker.mjs +305 -199
  102. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  103. package/fesm2022/primeng-dialog.mjs +96 -44
  104. package/fesm2022/primeng-dialog.mjs.map +1 -1
  105. package/fesm2022/primeng-divider.mjs +29 -21
  106. package/fesm2022/primeng-divider.mjs.map +1 -1
  107. package/fesm2022/primeng-dock.mjs +73 -51
  108. package/fesm2022/primeng-dock.mjs.map +1 -1
  109. package/fesm2022/primeng-dom.mjs +13 -10
  110. package/fesm2022/primeng-dom.mjs.map +1 -1
  111. package/fesm2022/primeng-dragdrop.mjs +10 -10
  112. package/fesm2022/primeng-drawer.mjs +71 -51
  113. package/fesm2022/primeng-drawer.mjs.map +1 -1
  114. package/fesm2022/primeng-dynamicdialog.mjs +377 -571
  115. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  116. package/fesm2022/primeng-editor.mjs +102 -90
  117. package/fesm2022/primeng-editor.mjs.map +1 -1
  118. package/fesm2022/primeng-fieldset.mjs +66 -48
  119. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  120. package/fesm2022/primeng-fileupload.mjs +127 -122
  121. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  122. package/fesm2022/primeng-floatlabel.mjs +28 -19
  123. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  124. package/fesm2022/primeng-fluid.mjs +24 -16
  125. package/fesm2022/primeng-fluid.mjs.map +1 -1
  126. package/fesm2022/primeng-focustrap.mjs +9 -11
  127. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  128. package/fesm2022/primeng-galleria.mjs +368 -232
  129. package/fesm2022/primeng-galleria.mjs.map +1 -1
  130. package/fesm2022/primeng-iconfield.mjs +30 -18
  131. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  132. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  133. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  134. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  135. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  136. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  137. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  138. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  139. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  140. package/fesm2022/primeng-icons-arrowdown.mjs +4 -5
  141. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  142. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  143. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  144. package/fesm2022/primeng-icons-arrowleft.mjs +4 -5
  145. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  146. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  147. package/fesm2022/primeng-icons-arrowup.mjs +4 -5
  148. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-ban.mjs +4 -5
  150. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-bars.mjs +3 -3
  152. package/fesm2022/primeng-icons-baseicon.mjs +7 -6
  153. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  154. package/fesm2022/primeng-icons-blank.mjs +3 -3
  155. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  156. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  157. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  158. package/fesm2022/primeng-icons-check.mjs +3 -3
  159. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  160. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  161. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  162. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  163. package/fesm2022/primeng-icons-exclamationtriangle.mjs +4 -5
  164. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-eye.mjs +3 -3
  166. package/fesm2022/primeng-icons-eyeslash.mjs +4 -5
  167. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  168. package/fesm2022/primeng-icons-filter.mjs +4 -5
  169. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  170. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  171. package/fesm2022/primeng-icons-filterslash.mjs +4 -5
  172. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-home.mjs +4 -5
  174. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-infocircle.mjs +4 -5
  176. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-minus.mjs +3 -3
  178. package/fesm2022/primeng-icons-pencil.mjs +4 -5
  179. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  180. package/fesm2022/primeng-icons-plus.mjs +4 -5
  181. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  182. package/fesm2022/primeng-icons-refresh.mjs +4 -5
  183. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  184. package/fesm2022/primeng-icons-search.mjs +4 -5
  185. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  186. package/fesm2022/primeng-icons-searchminus.mjs +4 -5
  187. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  188. package/fesm2022/primeng-icons-searchplus.mjs +4 -5
  189. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  190. package/fesm2022/primeng-icons-sortalt.mjs +4 -5
  191. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  192. package/fesm2022/primeng-icons-sortamountdown.mjs +4 -5
  193. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  194. package/fesm2022/primeng-icons-sortamountupalt.mjs +4 -5
  195. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  196. package/fesm2022/primeng-icons-spinner.mjs +4 -5
  197. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  198. package/fesm2022/primeng-icons-star.mjs +4 -5
  199. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  200. package/fesm2022/primeng-icons-starfill.mjs +4 -5
  201. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  202. package/fesm2022/primeng-icons-thlarge.mjs +4 -5
  203. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  204. package/fesm2022/primeng-icons-times.mjs +3 -3
  205. package/fesm2022/primeng-icons-timescircle.mjs +4 -5
  206. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-trash.mjs +4 -5
  208. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-undo.mjs +4 -5
  210. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  211. package/fesm2022/primeng-icons-upload.mjs +4 -5
  212. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  213. package/fesm2022/primeng-icons-windowmaximize.mjs +4 -5
  214. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  215. package/fesm2022/primeng-icons-windowminimize.mjs +4 -5
  216. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  217. package/fesm2022/primeng-iftalabel.mjs +27 -17
  218. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  219. package/fesm2022/primeng-image.mjs +100 -47
  220. package/fesm2022/primeng-image.mjs.map +1 -1
  221. package/fesm2022/primeng-imagecompare.mjs +31 -24
  222. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  223. package/fesm2022/primeng-inplace.mjs +46 -36
  224. package/fesm2022/primeng-inplace.mjs.map +1 -1
  225. package/fesm2022/primeng-inputgroup.mjs +28 -21
  226. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  227. package/fesm2022/primeng-inputgroupaddon.mjs +25 -19
  228. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  229. package/fesm2022/primeng-inputicon.mjs +27 -15
  230. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  231. package/fesm2022/primeng-inputmask.mjs +50 -32
  232. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  233. package/fesm2022/primeng-inputnumber.mjs +109 -81
  234. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  235. package/fesm2022/primeng-inputotp.mjs +32 -20
  236. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  237. package/fesm2022/primeng-inputtext.mjs +39 -20
  238. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  239. package/fesm2022/primeng-keyfilter.mjs +19 -10
  240. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  241. package/fesm2022/primeng-knob.mjs +35 -27
  242. package/fesm2022/primeng-knob.mjs.map +1 -1
  243. package/fesm2022/primeng-listbox.mjs +254 -88
  244. package/fesm2022/primeng-listbox.mjs.map +1 -1
  245. package/fesm2022/primeng-megamenu.mjs +371 -351
  246. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  247. package/fesm2022/primeng-menu.mjs +126 -79
  248. package/fesm2022/primeng-menu.mjs.map +1 -1
  249. package/fesm2022/primeng-menubar.mjs +133 -96
  250. package/fesm2022/primeng-menubar.mjs.map +1 -1
  251. package/fesm2022/primeng-message.mjs +66 -55
  252. package/fesm2022/primeng-message.mjs.map +1 -1
  253. package/fesm2022/primeng-metergroup.mjs +67 -48
  254. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  255. package/fesm2022/primeng-multiselect.mjs +238 -179
  256. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  257. package/fesm2022/primeng-orderlist.mjs +218 -81
  258. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  259. package/fesm2022/primeng-organizationchart.mjs +93 -67
  260. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  261. package/fesm2022/primeng-overlay.mjs +72 -81
  262. package/fesm2022/primeng-overlay.mjs.map +1 -1
  263. package/fesm2022/primeng-overlaybadge.mjs +31 -22
  264. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  265. package/fesm2022/primeng-paginator.mjs +66 -54
  266. package/fesm2022/primeng-paginator.mjs.map +1 -1
  267. package/fesm2022/primeng-panel.mjs +109 -80
  268. package/fesm2022/primeng-panel.mjs.map +1 -1
  269. package/fesm2022/primeng-panelmenu.mjs +394 -316
  270. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  271. package/fesm2022/primeng-passthrough.mjs +21 -0
  272. package/fesm2022/primeng-passthrough.mjs.map +1 -0
  273. package/fesm2022/primeng-password.mjs +89 -72
  274. package/fesm2022/primeng-password.mjs.map +1 -1
  275. package/fesm2022/primeng-picklist.mjs +271 -132
  276. package/fesm2022/primeng-picklist.mjs.map +1 -1
  277. package/fesm2022/primeng-popover.mjs +45 -34
  278. package/fesm2022/primeng-popover.mjs.map +1 -1
  279. package/fesm2022/primeng-progressbar.mjs +37 -29
  280. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  281. package/fesm2022/primeng-progressspinner.mjs +30 -23
  282. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  283. package/fesm2022/primeng-radiobutton.mjs +43 -34
  284. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  285. package/fesm2022/primeng-rating.mjs +49 -39
  286. package/fesm2022/primeng-rating.mjs.map +1 -1
  287. package/fesm2022/primeng-ripple.mjs +17 -19
  288. package/fesm2022/primeng-ripple.mjs.map +1 -1
  289. package/fesm2022/primeng-scroller.mjs +50 -42
  290. package/fesm2022/primeng-scroller.mjs.map +1 -1
  291. package/fesm2022/primeng-scrollpanel.mjs +55 -48
  292. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  293. package/fesm2022/primeng-scrolltop.mjs +31 -21
  294. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  295. package/fesm2022/primeng-select.mjs +204 -107
  296. package/fesm2022/primeng-select.mjs.map +1 -1
  297. package/fesm2022/primeng-selectbutton.mjs +38 -27
  298. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  299. package/fesm2022/primeng-skeleton.mjs +24 -17
  300. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  301. package/fesm2022/primeng-slider.mjs +47 -27
  302. package/fesm2022/primeng-slider.mjs.map +1 -1
  303. package/fesm2022/primeng-speeddial.mjs +88 -56
  304. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  305. package/fesm2022/primeng-splitbutton.mjs +43 -26
  306. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  307. package/fesm2022/primeng-splitter.mjs +49 -45
  308. package/fesm2022/primeng-splitter.mjs.map +1 -1
  309. package/fesm2022/primeng-stepper.mjs +163 -88
  310. package/fesm2022/primeng-stepper.mjs.map +1 -1
  311. package/fesm2022/primeng-steps.mjs +19 -21
  312. package/fesm2022/primeng-steps.mjs.map +1 -1
  313. package/fesm2022/primeng-styleclass.mjs +8 -8
  314. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  315. package/fesm2022/primeng-table.mjs +766 -675
  316. package/fesm2022/primeng-table.mjs.map +1 -1
  317. package/fesm2022/primeng-tabs.mjs +242 -131
  318. package/fesm2022/primeng-tabs.mjs.map +1 -1
  319. package/fesm2022/primeng-tag.mjs +35 -25
  320. package/fesm2022/primeng-tag.mjs.map +1 -1
  321. package/fesm2022/primeng-terminal.mjs +51 -45
  322. package/fesm2022/primeng-terminal.mjs.map +1 -1
  323. package/fesm2022/primeng-textarea.mjs +29 -24
  324. package/fesm2022/primeng-textarea.mjs.map +1 -1
  325. package/fesm2022/primeng-tieredmenu.mjs +147 -83
  326. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  327. package/fesm2022/primeng-timeline.mjs +42 -34
  328. package/fesm2022/primeng-timeline.mjs.map +1 -1
  329. package/fesm2022/primeng-toast.mjs +67 -61
  330. package/fesm2022/primeng-toast.mjs.map +1 -1
  331. package/fesm2022/primeng-togglebutton.mjs +46 -29
  332. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  333. package/fesm2022/primeng-toggleswitch.mjs +39 -29
  334. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  335. package/fesm2022/primeng-toolbar.mjs +37 -29
  336. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  337. package/fesm2022/primeng-tooltip.mjs +37 -37
  338. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  339. package/fesm2022/primeng-tree.mjs +330 -310
  340. package/fesm2022/primeng-tree.mjs.map +1 -1
  341. package/fesm2022/primeng-treeselect.mjs +101 -55
  342. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  343. package/fesm2022/primeng-treetable.mjs +305 -264
  344. package/fesm2022/primeng-treetable.mjs.map +1 -1
  345. package/fesm2022/primeng-types-accordion.mjs +4 -0
  346. package/fesm2022/primeng-types-accordion.mjs.map +1 -0
  347. package/fesm2022/primeng-types-autocomplete.mjs +4 -0
  348. package/fesm2022/primeng-types-autocomplete.mjs.map +1 -0
  349. package/fesm2022/primeng-types-avatar.mjs +4 -0
  350. package/fesm2022/primeng-types-avatar.mjs.map +1 -0
  351. package/fesm2022/primeng-types-avatargroup.mjs +4 -0
  352. package/fesm2022/primeng-types-avatargroup.mjs.map +1 -0
  353. package/fesm2022/primeng-types-badge.mjs +4 -0
  354. package/fesm2022/primeng-types-badge.mjs.map +1 -0
  355. package/fesm2022/primeng-types-blockui.mjs +4 -0
  356. package/fesm2022/primeng-types-blockui.mjs.map +1 -0
  357. package/fesm2022/primeng-types-breadcrumb.mjs +4 -0
  358. package/fesm2022/primeng-types-breadcrumb.mjs.map +1 -0
  359. package/fesm2022/primeng-types-button.mjs +4 -0
  360. package/fesm2022/primeng-types-button.mjs.map +1 -0
  361. package/fesm2022/primeng-types-card.mjs +4 -0
  362. package/fesm2022/primeng-types-card.mjs.map +1 -0
  363. package/fesm2022/primeng-types-carousel.mjs +4 -0
  364. package/fesm2022/primeng-types-carousel.mjs.map +1 -0
  365. package/fesm2022/primeng-types-cascadeselect.mjs +4 -0
  366. package/fesm2022/primeng-types-cascadeselect.mjs.map +1 -0
  367. package/fesm2022/primeng-types-chart.mjs +4 -0
  368. package/fesm2022/primeng-types-chart.mjs.map +1 -0
  369. package/fesm2022/primeng-types-checkbox.mjs +4 -0
  370. package/fesm2022/primeng-types-checkbox.mjs.map +1 -0
  371. package/fesm2022/primeng-types-chip.mjs +4 -0
  372. package/fesm2022/primeng-types-chip.mjs.map +1 -0
  373. package/fesm2022/primeng-types-colorpicker.mjs +4 -0
  374. package/fesm2022/primeng-types-colorpicker.mjs.map +1 -0
  375. package/fesm2022/primeng-types-confirmdialog.mjs +4 -0
  376. package/fesm2022/primeng-types-confirmdialog.mjs.map +1 -0
  377. package/fesm2022/primeng-types-confirmpopup.mjs +4 -0
  378. package/fesm2022/primeng-types-confirmpopup.mjs.map +1 -0
  379. package/fesm2022/primeng-types-contextmenu.mjs +4 -0
  380. package/fesm2022/primeng-types-contextmenu.mjs.map +1 -0
  381. package/fesm2022/primeng-types-dataview.mjs +4 -0
  382. package/fesm2022/primeng-types-dataview.mjs.map +1 -0
  383. package/fesm2022/primeng-types-datepicker.mjs +4 -0
  384. package/fesm2022/primeng-types-datepicker.mjs.map +1 -0
  385. package/fesm2022/primeng-types-dialog.mjs +4 -0
  386. package/fesm2022/primeng-types-dialog.mjs.map +1 -0
  387. package/fesm2022/primeng-types-divider.mjs +4 -0
  388. package/fesm2022/primeng-types-divider.mjs.map +1 -0
  389. package/fesm2022/primeng-types-dock.mjs +4 -0
  390. package/fesm2022/primeng-types-dock.mjs.map +1 -0
  391. package/fesm2022/primeng-types-drawer.mjs +4 -0
  392. package/fesm2022/primeng-types-drawer.mjs.map +1 -0
  393. package/fesm2022/primeng-types-editor.mjs +4 -0
  394. package/fesm2022/primeng-types-editor.mjs.map +1 -0
  395. package/fesm2022/primeng-types-fieldset.mjs +4 -0
  396. package/fesm2022/primeng-types-fieldset.mjs.map +1 -0
  397. package/fesm2022/primeng-types-fileupload.mjs +4 -0
  398. package/fesm2022/primeng-types-fileupload.mjs.map +1 -0
  399. package/fesm2022/primeng-types-floatlabel.mjs +4 -0
  400. package/fesm2022/primeng-types-floatlabel.mjs.map +1 -0
  401. package/fesm2022/primeng-types-fluid.mjs +4 -0
  402. package/fesm2022/primeng-types-fluid.mjs.map +1 -0
  403. package/fesm2022/primeng-types-galleria.mjs +4 -0
  404. package/fesm2022/primeng-types-galleria.mjs.map +1 -0
  405. package/fesm2022/primeng-types-iconfield.mjs +4 -0
  406. package/fesm2022/primeng-types-iconfield.mjs.map +1 -0
  407. package/fesm2022/primeng-types-iftalabel.mjs +4 -0
  408. package/fesm2022/primeng-types-iftalabel.mjs.map +1 -0
  409. package/fesm2022/primeng-types-image.mjs +4 -0
  410. package/fesm2022/primeng-types-image.mjs.map +1 -0
  411. package/fesm2022/primeng-types-imagecompare.mjs +4 -0
  412. package/fesm2022/primeng-types-imagecompare.mjs.map +1 -0
  413. package/fesm2022/primeng-types-inplace.mjs +4 -0
  414. package/fesm2022/primeng-types-inplace.mjs.map +1 -0
  415. package/fesm2022/primeng-types-inputgroup.mjs +4 -0
  416. package/fesm2022/primeng-types-inputgroup.mjs.map +1 -0
  417. package/fesm2022/primeng-types-inputgroupaddon.mjs +4 -0
  418. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +1 -0
  419. package/fesm2022/primeng-types-inputicon.mjs +4 -0
  420. package/fesm2022/primeng-types-inputicon.mjs.map +1 -0
  421. package/fesm2022/primeng-types-inputmask.mjs +4 -0
  422. package/fesm2022/primeng-types-inputmask.mjs.map +1 -0
  423. package/fesm2022/primeng-types-inputnumber.mjs +4 -0
  424. package/fesm2022/primeng-types-inputnumber.mjs.map +1 -0
  425. package/fesm2022/primeng-types-inputotp.mjs +4 -0
  426. package/fesm2022/primeng-types-inputotp.mjs.map +1 -0
  427. package/fesm2022/primeng-types-inputtext.mjs +4 -0
  428. package/fesm2022/primeng-types-inputtext.mjs.map +1 -0
  429. package/fesm2022/primeng-types-knob.mjs +4 -0
  430. package/fesm2022/primeng-types-knob.mjs.map +1 -0
  431. package/fesm2022/primeng-types-listbox.mjs +4 -0
  432. package/fesm2022/primeng-types-listbox.mjs.map +1 -0
  433. package/fesm2022/primeng-types-megamenu.mjs +4 -0
  434. package/fesm2022/primeng-types-megamenu.mjs.map +1 -0
  435. package/fesm2022/primeng-types-menu.mjs +4 -0
  436. package/fesm2022/primeng-types-menu.mjs.map +1 -0
  437. package/fesm2022/primeng-types-menubar.mjs +4 -0
  438. package/fesm2022/primeng-types-menubar.mjs.map +1 -0
  439. package/fesm2022/primeng-types-message.mjs +4 -0
  440. package/fesm2022/primeng-types-message.mjs.map +1 -0
  441. package/fesm2022/primeng-types-metergroup.mjs +4 -0
  442. package/fesm2022/primeng-types-metergroup.mjs.map +1 -0
  443. package/fesm2022/primeng-types-multiselect.mjs +4 -0
  444. package/fesm2022/primeng-types-multiselect.mjs.map +1 -0
  445. package/fesm2022/primeng-types-orderlist.mjs +4 -0
  446. package/fesm2022/primeng-types-orderlist.mjs.map +1 -0
  447. package/fesm2022/primeng-types-organizationchart.mjs +4 -0
  448. package/fesm2022/primeng-types-organizationchart.mjs.map +1 -0
  449. package/fesm2022/primeng-types-overlay.mjs +4 -0
  450. package/fesm2022/primeng-types-overlay.mjs.map +1 -0
  451. package/fesm2022/primeng-types-overlaybadge.mjs +4 -0
  452. package/fesm2022/primeng-types-overlaybadge.mjs.map +1 -0
  453. package/fesm2022/primeng-types-paginator.mjs +4 -0
  454. package/fesm2022/primeng-types-paginator.mjs.map +1 -0
  455. package/fesm2022/primeng-types-panel.mjs +4 -0
  456. package/fesm2022/primeng-types-panel.mjs.map +1 -0
  457. package/fesm2022/primeng-types-panelmenu.mjs +4 -0
  458. package/fesm2022/primeng-types-panelmenu.mjs.map +1 -0
  459. package/fesm2022/primeng-types-password.mjs +4 -0
  460. package/fesm2022/primeng-types-password.mjs.map +1 -0
  461. package/fesm2022/primeng-types-picklist.mjs +4 -0
  462. package/fesm2022/primeng-types-picklist.mjs.map +1 -0
  463. package/fesm2022/primeng-types-popover.mjs +4 -0
  464. package/fesm2022/primeng-types-popover.mjs.map +1 -0
  465. package/fesm2022/primeng-types-progressbar.mjs +4 -0
  466. package/fesm2022/primeng-types-progressbar.mjs.map +1 -0
  467. package/fesm2022/primeng-types-progressspinner.mjs +4 -0
  468. package/fesm2022/primeng-types-progressspinner.mjs.map +1 -0
  469. package/fesm2022/primeng-types-radiobutton.mjs +4 -0
  470. package/fesm2022/primeng-types-radiobutton.mjs.map +1 -0
  471. package/fesm2022/primeng-types-rating.mjs +4 -0
  472. package/fesm2022/primeng-types-rating.mjs.map +1 -0
  473. package/fesm2022/primeng-types-scroller.mjs +4 -0
  474. package/fesm2022/primeng-types-scroller.mjs.map +1 -0
  475. package/fesm2022/primeng-types-scrollpanel.mjs +4 -0
  476. package/fesm2022/primeng-types-scrollpanel.mjs.map +1 -0
  477. package/fesm2022/primeng-types-scrolltop.mjs +4 -0
  478. package/fesm2022/primeng-types-scrolltop.mjs.map +1 -0
  479. package/fesm2022/primeng-types-select.mjs +4 -0
  480. package/fesm2022/primeng-types-select.mjs.map +1 -0
  481. package/fesm2022/primeng-types-selectbutton.mjs +4 -0
  482. package/fesm2022/primeng-types-selectbutton.mjs.map +1 -0
  483. package/fesm2022/primeng-types-skeleton.mjs +4 -0
  484. package/fesm2022/primeng-types-skeleton.mjs.map +1 -0
  485. package/fesm2022/primeng-types-slider.mjs +4 -0
  486. package/fesm2022/primeng-types-slider.mjs.map +1 -0
  487. package/fesm2022/primeng-types-speeddial.mjs +4 -0
  488. package/fesm2022/primeng-types-speeddial.mjs.map +1 -0
  489. package/fesm2022/primeng-types-splitbutton.mjs +4 -0
  490. package/fesm2022/primeng-types-splitbutton.mjs.map +1 -0
  491. package/fesm2022/primeng-types-splitter.mjs +4 -0
  492. package/fesm2022/primeng-types-splitter.mjs.map +1 -0
  493. package/fesm2022/primeng-types-stepper.mjs +4 -0
  494. package/fesm2022/primeng-types-stepper.mjs.map +1 -0
  495. package/fesm2022/primeng-types-table.mjs +4 -0
  496. package/fesm2022/primeng-types-table.mjs.map +1 -0
  497. package/fesm2022/primeng-types-tabs.mjs +4 -0
  498. package/fesm2022/primeng-types-tabs.mjs.map +1 -0
  499. package/fesm2022/primeng-types-tag.mjs +4 -0
  500. package/fesm2022/primeng-types-tag.mjs.map +1 -0
  501. package/fesm2022/primeng-types-terminal.mjs +4 -0
  502. package/fesm2022/primeng-types-terminal.mjs.map +1 -0
  503. package/fesm2022/primeng-types-textarea.mjs +4 -0
  504. package/fesm2022/primeng-types-textarea.mjs.map +1 -0
  505. package/fesm2022/primeng-types-tieredmenu.mjs +4 -0
  506. package/fesm2022/primeng-types-tieredmenu.mjs.map +1 -0
  507. package/fesm2022/primeng-types-timeline.mjs +4 -0
  508. package/fesm2022/primeng-types-timeline.mjs.map +1 -0
  509. package/fesm2022/primeng-types-toast.mjs +4 -0
  510. package/fesm2022/primeng-types-toast.mjs.map +1 -0
  511. package/fesm2022/primeng-types-togglebutton.mjs +4 -0
  512. package/fesm2022/primeng-types-togglebutton.mjs.map +1 -0
  513. package/fesm2022/primeng-types-toggleswitch.mjs +4 -0
  514. package/fesm2022/primeng-types-toggleswitch.mjs.map +1 -0
  515. package/fesm2022/primeng-types-toolbar.mjs +4 -0
  516. package/fesm2022/primeng-types-toolbar.mjs.map +1 -0
  517. package/fesm2022/primeng-types-tooltip.mjs +4 -0
  518. package/fesm2022/primeng-types-tooltip.mjs.map +1 -0
  519. package/fesm2022/primeng-types-tree.mjs +4 -0
  520. package/fesm2022/primeng-types-tree.mjs.map +1 -0
  521. package/fesm2022/primeng-types-treeselect.mjs +4 -0
  522. package/fesm2022/primeng-types-treeselect.mjs.map +1 -0
  523. package/fesm2022/primeng-types-treetable.mjs +4 -0
  524. package/fesm2022/primeng-types-treetable.mjs.map +1 -0
  525. package/fesm2022/primeng-usestyle.mjs +20 -18
  526. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  527. package/fesm2022/primeng-utils.mjs.map +1 -1
  528. package/fieldset/index.d.ts +19 -57
  529. package/fileupload/index.d.ts +24 -252
  530. package/floatlabel/index.d.ts +13 -6
  531. package/fluid/index.d.ts +9 -4
  532. package/focustrap/index.d.ts +2 -2
  533. package/galleria/index.d.ts +60 -142
  534. package/iconfield/index.d.ts +13 -5
  535. package/icons/arrowdown/index.d.ts +3 -4
  536. package/icons/arrowleft/index.d.ts +1 -1
  537. package/icons/arrowup/index.d.ts +1 -1
  538. package/icons/ban/index.d.ts +1 -1
  539. package/icons/baseicon/index.d.ts +1 -1
  540. package/icons/exclamationtriangle/index.d.ts +3 -4
  541. package/icons/eyeslash/index.d.ts +1 -1
  542. package/icons/filter/index.d.ts +1 -1
  543. package/icons/filterslash/index.d.ts +1 -1
  544. package/icons/home/index.d.ts +1 -1
  545. package/icons/infocircle/index.d.ts +1 -1
  546. package/icons/pencil/index.d.ts +1 -1
  547. package/icons/plus/index.d.ts +1 -1
  548. package/icons/refresh/index.d.ts +1 -1
  549. package/icons/search/index.d.ts +1 -1
  550. package/icons/searchminus/index.d.ts +1 -1
  551. package/icons/searchplus/index.d.ts +1 -1
  552. package/icons/sortalt/index.d.ts +1 -1
  553. package/icons/sortamountdown/index.d.ts +1 -1
  554. package/icons/sortamountupalt/index.d.ts +1 -1
  555. package/icons/spinner/index.d.ts +1 -1
  556. package/icons/star/index.d.ts +1 -1
  557. package/icons/starfill/index.d.ts +1 -1
  558. package/icons/thlarge/index.d.ts +1 -1
  559. package/icons/timescircle/index.d.ts +1 -1
  560. package/icons/trash/index.d.ts +1 -1
  561. package/icons/undo/index.d.ts +1 -1
  562. package/icons/upload/index.d.ts +1 -1
  563. package/icons/windowmaximize/index.d.ts +1 -1
  564. package/icons/windowminimize/index.d.ts +1 -1
  565. package/iftalabel/index.d.ts +15 -8
  566. package/image/index.d.ts +21 -78
  567. package/imagecompare/index.d.ts +15 -9
  568. package/inplace/index.d.ts +16 -29
  569. package/inputgroup/index.d.ts +12 -6
  570. package/inputgroupaddon/index.d.ts +11 -5
  571. package/inputicon/index.d.ts +11 -4
  572. package/inputmask/index.d.ts +21 -29
  573. package/inputnumber/index.d.ts +24 -56
  574. package/inputotp/index.d.ts +17 -11
  575. package/inputtext/index.d.ts +20 -12
  576. package/keyfilter/index.d.ts +2 -7
  577. package/knob/index.d.ts +11 -5
  578. package/listbox/index.d.ts +48 -194
  579. package/megamenu/index.d.ts +24 -45
  580. package/menu/index.d.ts +23 -12
  581. package/menubar/index.d.ts +22 -52
  582. package/message/index.d.ts +18 -11
  583. package/metergroup/index.d.ts +23 -138
  584. package/multiselect/index.d.ts +41 -276
  585. package/orderlist/index.d.ts +28 -126
  586. package/organizationchart/index.d.ts +20 -70
  587. package/overlay/index.d.ts +40 -12
  588. package/overlaybadge/index.d.ts +11 -5
  589. package/package.json +585 -213
  590. package/paginator/index.d.ts +17 -48
  591. package/panel/index.d.ts +34 -57
  592. package/panelmenu/index.d.ts +32 -43
  593. package/passthrough/index.d.ts +14 -0
  594. package/password/index.d.ts +28 -18
  595. package/picklist/index.d.ts +33 -263
  596. package/popover/index.d.ts +15 -8
  597. package/progressbar/index.d.ts +14 -7
  598. package/progressspinner/index.d.ts +11 -5
  599. package/radiobutton/index.d.ts +18 -28
  600. package/rating/index.d.ts +16 -44
  601. package/ripple/index.d.ts +5 -5
  602. package/scroller/index.d.ts +23 -193
  603. package/scrollpanel/index.d.ts +17 -22
  604. package/scrolltop/index.d.ts +16 -28
  605. package/select/index.d.ts +34 -176
  606. package/selectbutton/index.d.ts +17 -56
  607. package/skeleton/index.d.ts +11 -5
  608. package/slider/index.d.ts +16 -49
  609. package/speeddial/index.d.ts +28 -63
  610. package/splitbutton/index.d.ts +15 -39
  611. package/splitter/index.d.ts +16 -45
  612. package/stepper/index.d.ts +54 -26
  613. package/steps/index.d.ts +8 -8
  614. package/table/index.d.ts +200 -854
  615. package/tabs/index.d.ts +59 -26
  616. package/tag/index.d.ts +14 -19
  617. package/terminal/index.d.ts +14 -8
  618. package/textarea/index.d.ts +19 -14
  619. package/tieredmenu/index.d.ts +26 -42
  620. package/timeline/index.d.ts +14 -51
  621. package/toast/index.d.ts +25 -70
  622. package/togglebutton/index.d.ts +16 -60
  623. package/toggleswitch/index.d.ts +16 -25
  624. package/toolbar/index.d.ts +14 -27
  625. package/tooltip/index.d.ts +24 -19
  626. package/tree/index.d.ts +55 -259
  627. package/treeselect/index.d.ts +23 -124
  628. package/treetable/index.d.ts +106 -558
  629. package/types/accordion/index.d.ts +88 -0
  630. package/types/autocomplete/index.d.ts +299 -0
  631. package/types/avatar/index.d.ts +40 -0
  632. package/types/avatargroup/index.d.ts +28 -0
  633. package/types/badge/index.d.ts +26 -0
  634. package/types/blockui/index.d.ts +39 -0
  635. package/types/breadcrumb/index.d.ts +70 -0
  636. package/types/button/index.d.ts +105 -0
  637. package/types/card/index.d.ts +75 -0
  638. package/types/carousel/index.d.ts +140 -0
  639. package/types/cascadeselect/index.d.ts +198 -0
  640. package/types/chart/index.d.ts +32 -0
  641. package/types/checkbox/index.d.ts +62 -0
  642. package/types/chip/index.d.ts +71 -0
  643. package/types/colorpicker/index.d.ts +73 -0
  644. package/types/confirmdialog/index.d.ts +121 -0
  645. package/types/confirmpopup/index.d.ts +82 -0
  646. package/types/contextmenu/index.d.ts +89 -0
  647. package/types/dataview/index.d.ts +234 -0
  648. package/types/datepicker/index.d.ts +464 -0
  649. package/types/dialog/index.d.ts +98 -0
  650. package/types/divider/index.d.ts +28 -0
  651. package/types/dock/index.d.ts +67 -0
  652. package/types/drawer/index.d.ts +77 -0
  653. package/types/editor/index.d.ts +210 -0
  654. package/types/fieldset/index.d.ts +92 -0
  655. package/types/fileupload/index.d.ts +576 -0
  656. package/types/floatlabel/index.d.ts +26 -0
  657. package/types/fluid/index.d.ts +28 -0
  658. package/types/galleria/index.d.ts +233 -0
  659. package/types/iconfield/index.d.ts +26 -0
  660. package/types/iftalabel/index.d.ts +26 -0
  661. package/types/image/index.d.ts +193 -0
  662. package/types/imagecompare/index.d.ts +28 -0
  663. package/types/inplace/index.d.ts +61 -0
  664. package/types/inputgroup/index.d.ts +28 -0
  665. package/types/inputgroupaddon/index.d.ts +28 -0
  666. package/types/inputicon/index.d.ts +26 -0
  667. package/types/inputmask/index.d.ts +56 -0
  668. package/types/inputnumber/index.d.ts +95 -0
  669. package/types/inputotp/index.d.ts +31 -0
  670. package/types/inputtext/index.d.ts +24 -0
  671. package/types/knob/index.d.ts +40 -0
  672. package/types/listbox/index.d.ts +280 -0
  673. package/types/megamenu/index.d.ts +122 -0
  674. package/types/menu/index.d.ts +101 -0
  675. package/types/menubar/index.d.ts +121 -0
  676. package/types/message/index.d.ts +48 -0
  677. package/types/metergroup/index.d.ts +178 -0
  678. package/types/multiselect/index.d.ts +362 -0
  679. package/types/orderlist/index.d.ts +164 -0
  680. package/types/organizationchart/index.d.ts +138 -0
  681. package/types/overlay/index.d.ts +28 -0
  682. package/types/overlaybadge/index.d.ts +34 -0
  683. package/types/paginator/index.d.ts +131 -0
  684. package/types/panel/index.d.ts +92 -0
  685. package/types/panelmenu/index.d.ts +114 -0
  686. package/types/password/index.d.ts +97 -0
  687. package/types/picklist/index.d.ts +353 -0
  688. package/types/popover/index.d.ts +52 -0
  689. package/types/progressbar/index.d.ts +54 -0
  690. package/types/progressspinner/index.d.ts +36 -0
  691. package/types/radiobutton/index.d.ts +51 -0
  692. package/types/rating/index.d.ts +82 -0
  693. package/types/scroller/index.d.ts +221 -0
  694. package/types/scrollpanel/index.d.ts +51 -0
  695. package/types/scrolltop/index.d.ts +52 -0
  696. package/types/select/index.d.ts +288 -0
  697. package/types/selectbutton/index.d.ts +77 -0
  698. package/types/skeleton/index.d.ts +28 -0
  699. package/types/slider/index.d.ts +78 -0
  700. package/types/speeddial/index.d.ts +82 -0
  701. package/types/splitbutton/index.d.ts +70 -0
  702. package/types/splitter/index.d.ts +70 -0
  703. package/types/stepper/index.d.ts +153 -0
  704. package/types/table/index.d.ts +884 -0
  705. package/types/tabs/index.d.ts +119 -0
  706. package/types/tag/index.d.ts +47 -0
  707. package/types/terminal/index.d.ts +60 -0
  708. package/types/textarea/index.d.ts +28 -0
  709. package/types/tieredmenu/index.d.ts +87 -0
  710. package/types/timeline/index.d.ts +95 -0
  711. package/types/toast/index.d.ts +114 -0
  712. package/types/togglebutton/index.d.ts +85 -0
  713. package/types/toggleswitch/index.d.ts +51 -0
  714. package/types/toolbar/index.d.ts +55 -0
  715. package/types/tooltip/index.d.ts +32 -0
  716. package/types/tree/index.d.ts +308 -0
  717. package/types/treeselect/index.d.ts +224 -0
  718. package/types/treetable/index.d.ts +640 -0
  719. package/usestyle/index.d.ts +2 -2
  720. package/utils/index.d.ts +2 -2
@@ -1,14 +1,17 @@
1
+ export * from 'primeng/types/select';
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, Component, input, computed, signal, effect, ContentChildren, ContentChild, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
+ import { Injectable, InjectionToken, forwardRef, inject, EventEmitter, booleanAttribute, numberAttribute, Output, Input, Component, input, computed, signal, effect, ContentChildren, ContentChild, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
6
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
7
  import { deepEquals, isNotEmpty, isEmpty, uuid, findSingle, scrollInView, equals, resolveFieldData, focus, isPrintableCharacter, findLastIndex, getFirstFocusableElement, getLastFocusableElement, getFocusableElements } from '@primeuix/utils';
7
- import * as i2 from 'primeng/api';
8
+ import * as i3 from 'primeng/api';
8
9
  import { SharedModule, TranslationKeys, PrimeTemplate } from 'primeng/api';
9
10
  import { AutoFocus } from 'primeng/autofocus';
10
- import { BaseComponent } from 'primeng/basecomponent';
11
+ import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
11
12
  import { BaseInput } from 'primeng/baseinput';
13
+ import * as i2 from 'primeng/bind';
14
+ import { BindModule, Bind } from 'primeng/bind';
12
15
  import { unblockBodyScroll } from 'primeng/dom';
13
16
  import { IconField } from 'primeng/iconfield';
14
17
  import { CheckIcon, BlankIcon, TimesIcon, ChevronDownIcon, SearchIcon } from 'primeng/icons';
@@ -18,11 +21,11 @@ import { Overlay } from 'primeng/overlay';
18
21
  import { Ripple } from 'primeng/ripple';
19
22
  import { Scroller } from 'primeng/scroller';
20
23
  import { Tooltip } from 'primeng/tooltip';
21
- import { style } from '@primeuix/styles/select';
24
+ import { style as style$1 } from '@primeuix/styles/select';
22
25
  import { BaseStyle } from 'primeng/base';
23
26
 
24
- const theme = /*css*/ `
25
- ${style}
27
+ const style = /*css*/ `
28
+ ${style$1}
26
29
 
27
30
  /* For PrimeNG */
28
31
  .p-select-label.p-placeholder {
@@ -87,12 +90,12 @@ const classes = {
87
90
  };
88
91
  class SelectStyle extends BaseStyle {
89
92
  name = 'select';
90
- theme = theme;
93
+ style = style;
91
94
  classes = classes;
92
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
93
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SelectStyle });
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
96
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SelectStyle });
94
97
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SelectStyle, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SelectStyle, decorators: [{
96
99
  type: Injectable
97
100
  }] });
98
101
  /**
@@ -180,12 +183,17 @@ var SelectClasses;
180
183
  SelectClasses["emptyMessage"] = "p-select-empty-message";
181
184
  })(SelectClasses || (SelectClasses = {}));
182
185
 
186
+ const SELECT_INSTANCE = new InjectionToken('SELECT_INSTANCE');
187
+ const SELECT_ITEM_INSTANCE = new InjectionToken('SELECT_ITEM_INSTANCE');
183
188
  const SELECT_VALUE_ACCESSOR = {
184
189
  provide: NG_VALUE_ACCESSOR,
185
190
  useExisting: forwardRef(() => Select),
186
191
  multi: true
187
192
  };
188
193
  class SelectItem extends BaseComponent {
194
+ hostName = 'select';
195
+ $pcSelectItem = inject(SELECT_ITEM_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
196
+ $pcSelect = inject(SELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
189
197
  id;
190
198
  option;
191
199
  selected;
@@ -198,6 +206,8 @@ class SelectItem extends BaseComponent {
198
206
  ariaSetSize;
199
207
  template;
200
208
  checkmark;
209
+ index;
210
+ scrollerOptions;
201
211
  onClick = new EventEmitter();
202
212
  onMouseEnter = new EventEmitter();
203
213
  _componentStyle = inject(SelectStyle);
@@ -207,10 +217,22 @@ class SelectItem extends BaseComponent {
207
217
  onOptionMouseEnter(event) {
208
218
  this.onMouseEnter.emit(event);
209
219
  }
210
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
211
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.0", type: SelectItem, isStandalone: true, selector: "p-selectItem", inputs: { id: "id", option: "option", selected: ["selected", "selected", booleanAttribute], focused: ["focused", "focused", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], visible: ["visible", "visible", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", template: "template", checkmark: ["checkmark", "checkmark", booleanAttribute] }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, providers: [SelectStyle], usesInheritance: true, ngImport: i0, template: `
220
+ getPTOptions() {
221
+ return (this.$pcSelect?.getPTItemOptions?.(this.option, this.scrollerOptions, this.index ?? 0, 'option') ??
222
+ this.$pcSelect?.ptm('option', {
223
+ context: {
224
+ option: this.option,
225
+ selected: this.selected,
226
+ focused: this.focused,
227
+ disabled: this.disabled
228
+ }
229
+ }));
230
+ }
231
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
232
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.4", type: SelectItem, isStandalone: true, selector: "p-selectItem", inputs: { id: "id", option: "option", selected: ["selected", "selected", booleanAttribute], focused: ["focused", "focused", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], visible: ["visible", "visible", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", template: "template", checkmark: ["checkmark", "checkmark", booleanAttribute], index: "index", scrollerOptions: "scrollerOptions" }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }], usesInheritance: true, ngImport: i0, template: `
212
233
  <li
213
234
  [id]="id"
235
+ [pBind]="getPTOptions()"
214
236
  (click)="onOptionClick($event)"
215
237
  (mouseenter)="onOptionMouseEnter($event)"
216
238
  role="option"
@@ -226,23 +248,24 @@ class SelectItem extends BaseComponent {
226
248
  [class]="cx('option')"
227
249
  >
228
250
  <ng-container *ngIf="checkmark">
229
- <svg data-p-icon="check" *ngIf="selected" [class]="cx('optionCheckIcon')" />
230
- <svg data-p-icon="blank" *ngIf="!selected" [class]="cx('optionBlankIcon')" />
251
+ <svg data-p-icon="check" *ngIf="selected" [class]="cx('optionCheckIcon')" [pBind]="$pcSelect?.ptm('optionCheckIcon')" />
252
+ <svg data-p-icon="blank" *ngIf="!selected" [class]="cx('optionBlankIcon')" [pBind]="$pcSelect?.ptm('optionBlankIcon')" />
231
253
  </ng-container>
232
- <span *ngIf="!template">{{ label ?? 'empty' }}</span>
254
+ <span *ngIf="!template" [pBind]="$pcSelect?.ptm('optionLabel')">{{ label ?? 'empty' }}</span>
233
255
  <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
234
256
  </li>
235
- `, 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: "ngmodule", type: SharedModule }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: BlankIcon, selector: "[data-p-icon=\"blank\"]" }] });
257
+ `, 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: "ngmodule", type: SharedModule }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: BlankIcon, selector: "[data-p-icon=\"blank\"]" }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i2.Bind, selector: "[pBind]", inputs: ["pBind"] }] });
236
258
  }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SelectItem, decorators: [{
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SelectItem, decorators: [{
238
260
  type: Component,
239
261
  args: [{
240
262
  selector: 'p-selectItem',
241
263
  standalone: true,
242
- imports: [CommonModule, SharedModule, Ripple, CheckIcon, BlankIcon],
264
+ imports: [CommonModule, SharedModule, Ripple, CheckIcon, BlankIcon, BindModule],
243
265
  template: `
244
266
  <li
245
267
  [id]="id"
268
+ [pBind]="getPTOptions()"
246
269
  (click)="onOptionClick($event)"
247
270
  (mouseenter)="onOptionMouseEnter($event)"
248
271
  role="option"
@@ -258,14 +281,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
258
281
  [class]="cx('option')"
259
282
  >
260
283
  <ng-container *ngIf="checkmark">
261
- <svg data-p-icon="check" *ngIf="selected" [class]="cx('optionCheckIcon')" />
262
- <svg data-p-icon="blank" *ngIf="!selected" [class]="cx('optionBlankIcon')" />
284
+ <svg data-p-icon="check" *ngIf="selected" [class]="cx('optionCheckIcon')" [pBind]="$pcSelect?.ptm('optionCheckIcon')" />
285
+ <svg data-p-icon="blank" *ngIf="!selected" [class]="cx('optionBlankIcon')" [pBind]="$pcSelect?.ptm('optionBlankIcon')" />
263
286
  </ng-container>
264
- <span *ngIf="!template">{{ label ?? 'empty' }}</span>
287
+ <span *ngIf="!template" [pBind]="$pcSelect?.ptm('optionLabel')">{{ label ?? 'empty' }}</span>
265
288
  <ng-container *ngTemplateOutlet="template; context: { $implicit: option }"></ng-container>
266
289
  </li>
267
290
  `,
268
- providers: [SelectStyle]
291
+ providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }]
269
292
  }]
270
293
  }], propDecorators: { id: [{
271
294
  type: Input
@@ -297,6 +320,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
297
320
  }], checkmark: [{
298
321
  type: Input,
299
322
  args: [{ transform: booleanAttribute }]
323
+ }], index: [{
324
+ type: Input
325
+ }], scrollerOptions: [{
326
+ type: Input
300
327
  }], onClick: [{
301
328
  type: Output
302
329
  }], onMouseEnter: [{
@@ -309,6 +336,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
309
336
  class Select extends BaseInput {
310
337
  zone;
311
338
  filterService;
339
+ bindDirectiveInstance = inject(Bind, { self: true });
312
340
  /**
313
341
  * Unique identifier of the component
314
342
  * @group Props
@@ -791,7 +819,7 @@ class Select extends BaseInput {
791
819
  if (this._filterValue()) {
792
820
  const _filterBy = this.filterBy || this.optionLabel;
793
821
  const filteredOptions = !_filterBy && !this.filterFields && !this.optionValue
794
- ? this.options.filter((option) => {
822
+ ? this.options?.filter((option) => {
795
823
  if (option.label) {
796
824
  return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
797
825
  }
@@ -803,7 +831,7 @@ class Select extends BaseInput {
803
831
  const filtered = [];
804
832
  optionGroups.forEach((group) => {
805
833
  const groupChildren = this.getOptionGroupChildren(group);
806
- const filteredItems = groupChildren.filter((item) => filteredOptions.includes(item));
834
+ const filteredItems = groupChildren.filter((item) => filteredOptions?.includes(item));
807
835
  if (filteredItems.length > 0)
808
836
  filtered.push({
809
837
  ...group,
@@ -821,8 +849,16 @@ class Select extends BaseInput {
821
849
  // this will find the selected option whether or not the user is currently filtering because the filtered (i.e. visible) options, are a subset of all the options
822
850
  const options = this.getAllVisibleAndNonVisibleOptions();
823
851
  // use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option
824
- const selectedOptionIndex = options.findIndex((option) => this.isOptionValueEqualsModelValue(option));
825
- return selectedOptionIndex !== -1 ? this.getOptionLabel(options[selectedOptionIndex]) : this.placeholder() || 'p-emptylabel';
852
+ const selectedOptionIndex = options.findIndex((option) => {
853
+ const isEqual = this.isOptionValueEqualsModelValue(option);
854
+ return isEqual;
855
+ });
856
+ if (selectedOptionIndex !== -1) {
857
+ const selectedOption = options[selectedOptionIndex];
858
+ // Always show the label for selected options, even if disabled
859
+ return this.getOptionLabel(selectedOption);
860
+ }
861
+ return this.placeholder() || 'p-emptylabel';
826
862
  }, ...(ngDevMode ? [{ debugName: "label" }] : []));
827
863
  selectedOption;
828
864
  constructor(zone, filterService) {
@@ -837,6 +873,14 @@ class Select extends BaseInput {
837
873
  if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable) {
838
874
  this.selectedOption = visibleOptions[selectedOptionIndex];
839
875
  }
876
+ else {
877
+ // If no valid selected option found but we have a model value,
878
+ // try to find the option including disabled ones for template display
879
+ const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));
880
+ if (disabledSelectedIndex !== -1) {
881
+ this.selectedOption = visibleOptions[disabledSelectedIndex];
882
+ }
883
+ }
840
884
  }
841
885
  if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption)) {
842
886
  this.selectedOption = null;
@@ -853,8 +897,7 @@ class Select extends BaseInput {
853
897
  getAllVisibleAndNonVisibleOptions() {
854
898
  return this.group ? this.flatOptions(this.options) : this.options || [];
855
899
  }
856
- ngOnInit() {
857
- super.ngOnInit();
900
+ onInit() {
858
901
  this.id = this.id || uuid('pn_id_');
859
902
  this.autoUpdateModel();
860
903
  if (this.filterBy) {
@@ -864,7 +907,7 @@ class Select extends BaseInput {
864
907
  };
865
908
  }
866
909
  }
867
- ngAfterContentInit() {
910
+ onAfterContentInit() {
868
911
  this.templates.forEach((item) => {
869
912
  switch (item.getType()) {
870
913
  case 'item':
@@ -921,7 +964,8 @@ class Select extends BaseInput {
921
964
  }
922
965
  });
923
966
  }
924
- ngAfterViewChecked() {
967
+ onAfterViewChecked() {
968
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
925
969
  if (this.optionsChanged && this.overlayVisible) {
926
970
  this.optionsChanged = false;
927
971
  this.zone.runOutsideAngular(() => {
@@ -955,6 +999,10 @@ class Select extends BaseInput {
955
999
  }
956
1000
  }
957
1001
  onOptionSelect(event, option, isHide = true, preventChange = false) {
1002
+ // Check if option is disabled before proceeding
1003
+ if (this.isOptionDisabled(option)) {
1004
+ return;
1005
+ }
958
1006
  if (!this.isSelected(option)) {
959
1007
  const value = this.getOptionValue(option);
960
1008
  this.updateModel(value, event);
@@ -983,10 +1031,10 @@ class Select extends BaseInput {
983
1031
  return this.isOptionValueEqualsModelValue(option);
984
1032
  }
985
1033
  isOptionValueEqualsModelValue(option) {
986
- return this.isValidOption(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
1034
+ // Don't check isValidOption here since we need to match disabled options too
1035
+ return option !== undefined && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
987
1036
  }
988
- ngAfterViewInit() {
989
- super.ngAfterViewInit();
1037
+ onAfterViewInit() {
990
1038
  if (this.editable) {
991
1039
  this.updateEditableLabel();
992
1040
  }
@@ -1021,16 +1069,22 @@ class Select extends BaseInput {
1021
1069
  getOptionValue(option) {
1022
1070
  return this.optionValue && this.optionValue !== null ? resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;
1023
1071
  }
1072
+ getPTItemOptions(option, itemOptions, index, key) {
1073
+ return this.ptm(key, {
1074
+ context: {
1075
+ option,
1076
+ index,
1077
+ selected: this.isSelected(option),
1078
+ focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1079
+ disabled: this.isOptionDisabled(option)
1080
+ }
1081
+ });
1082
+ }
1024
1083
  isSelectedOptionEmpty() {
1025
1084
  return isEmpty(this.selectedOption);
1026
1085
  }
1027
1086
  isOptionDisabled(option) {
1028
- if (this.getOptionValue(this.modelValue()) === this.getOptionValue(option) || (this.getOptionLabel(this.modelValue() === this.getOptionLabel(option)) && option.disabled === false)) {
1029
- return false;
1030
- }
1031
- else {
1032
- return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
1033
- }
1087
+ return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
1034
1088
  }
1035
1089
  getOptionGroupLabel(optionGroup) {
1036
1090
  return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
@@ -1325,7 +1379,7 @@ class Select extends BaseInput {
1325
1379
  return this.isValidOption(option) && this.isSelected(option);
1326
1380
  }
1327
1381
  equalityKey() {
1328
- return this.optionValue ? null : this.dataKey;
1382
+ return this.optionValue ? undefined : this.dataKey;
1329
1383
  }
1330
1384
  findFirstFocusedOptionIndex() {
1331
1385
  const selectedIndex = this.findSelectedOptionIndex();
@@ -1388,7 +1442,7 @@ class Select extends BaseInput {
1388
1442
  }
1389
1443
  }
1390
1444
  onHomeKey(event, pressedInInputText = false) {
1391
- if (pressedInInputText) {
1445
+ if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1392
1446
  const target = event.currentTarget;
1393
1447
  if (event.shiftKey) {
1394
1448
  target.setSelectionRange(0, target.value.length);
@@ -1405,7 +1459,7 @@ class Select extends BaseInput {
1405
1459
  event.preventDefault();
1406
1460
  }
1407
1461
  onEndKey(event, pressedInInputText = false) {
1408
- if (pressedInInputText) {
1462
+ if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1409
1463
  const target = event.currentTarget;
1410
1464
  if (event.shiftKey) {
1411
1465
  target.setSelectionRange(0, target.value.length);
@@ -1448,14 +1502,16 @@ class Select extends BaseInput {
1448
1502
  event.preventDefault();
1449
1503
  }
1450
1504
  onEscapeKey(event) {
1451
- this.overlayVisible && this.hide(true);
1452
- event.preventDefault();
1453
- event.stopPropagation();
1505
+ if (this.overlayVisible) {
1506
+ this.hide(true);
1507
+ event.preventDefault();
1508
+ event.stopPropagation();
1509
+ }
1454
1510
  }
1455
1511
  onTabKey(event, pressedInInputText = false) {
1456
1512
  if (!pressedInInputText) {
1457
1513
  if (this.overlayVisible && this.hasFocusableElements()) {
1458
- focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay.nativeElement : this.firstHiddenFocusableElementOnOverlay.nativeElement);
1514
+ focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay?.nativeElement : this.firstHiddenFocusableElementOnOverlay?.nativeElement);
1459
1515
  event.preventDefault();
1460
1516
  }
1461
1517
  else {
@@ -1469,7 +1525,7 @@ class Select extends BaseInput {
1469
1525
  event.stopPropagation();
1470
1526
  }
1471
1527
  onFirstHiddenFocus(event) {
1472
- const focusableEl = event.relatedTarget === this.focusInputViewChild?.nativeElement ? getFirstFocusableElement(this.overlayViewChild.el?.nativeElement, ':not(.p-hidden-focusable)') : this.focusInputViewChild?.nativeElement;
1528
+ const focusableEl = event.relatedTarget === this.focusInputViewChild?.nativeElement ? getFirstFocusableElement(this.overlayViewChild?.el?.nativeElement, ':not(.p-hidden-focusable)') : this.focusInputViewChild?.nativeElement;
1473
1529
  focus(focusableEl);
1474
1530
  }
1475
1531
  onLastHiddenFocus(event) {
@@ -1477,7 +1533,7 @@ class Select extends BaseInput {
1477
1533
  focus(focusableEl);
1478
1534
  }
1479
1535
  hasFocusableElements() {
1480
- return getFocusableElements(this.overlayViewChild.overlayViewChild.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
1536
+ return getFocusableElements(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
1481
1537
  }
1482
1538
  onBackspaceKey(event, pressedInInputText = false) {
1483
1539
  if (pressedInInputText) {
@@ -1513,16 +1569,16 @@ class Select extends BaseInput {
1513
1569
  return matched;
1514
1570
  }
1515
1571
  isOptionMatched(option) {
1516
- return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));
1572
+ return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale));
1517
1573
  }
1518
1574
  onFilterInputChange(event) {
1519
1575
  let value = event.target.value;
1520
1576
  this._filterValue.set(value);
1521
1577
  this.focusedOptionIndex.set(-1);
1522
1578
  this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
1523
- !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0);
1579
+ !this.virtualScrollerDisabled && this.scroller?.scrollToIndex(0);
1524
1580
  setTimeout(() => {
1525
- this.overlayViewChild.alignOverlay();
1581
+ this.overlayViewChild?.alignOverlay();
1526
1582
  });
1527
1583
  this.cd.markForCheck();
1528
1584
  }
@@ -1567,12 +1623,13 @@ class Select extends BaseInput {
1567
1623
  this.updateEditableLabel();
1568
1624
  this.cd.markForCheck();
1569
1625
  }
1570
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: Select, deps: [{ token: i0.NgZone }, { token: i2.FilterService }], target: i0.ɵɵFactoryTarget.Component });
1571
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: Select, isStandalone: true, selector: "p-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, 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 }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showClear: { classPropertyName: "showClear", publicName: "showClear", 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 }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, 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 }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", 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 }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, 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", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "attr.id": "id" } }, providers: [SELECT_VALUE_ACCESSOR, SelectStyle], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selectedItem"] }, { 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: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "onIconTemplate", first: true, predicate: ["onicon"] }, { propertyName: "offIconTemplate", first: true, predicate: ["officon"] }, { propertyName: "cancelIconTemplate", first: true, predicate: ["cancelicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1626
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Select, deps: [{ token: i0.NgZone }, { token: i3.FilterService }], target: i0.ɵɵFactoryTarget.Component });
1627
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: Select, isStandalone: true, selector: "p-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, 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 }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showClear: { classPropertyName: "showClear", publicName: "showClear", 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 }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, 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 }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", 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 }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, 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", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "attr.id": "id" } }, providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selectedItem"] }, { 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: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "onIconTemplate", first: true, predicate: ["onicon"] }, { propertyName: "offIconTemplate", first: true, predicate: ["officon"] }, { propertyName: "cancelIconTemplate", first: true, predicate: ["cancelicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i2.Bind }], ngImport: i0, template: `
1572
1628
  <span
1573
1629
  #focusInput
1574
1630
  [class]="cx('label')"
1575
1631
  *ngIf="!editable"
1632
+ [pBind]="ptm('label')"
1576
1633
  [pTooltip]="tooltip"
1577
1634
  [tooltipPosition]="tooltipPosition"
1578
1635
  [positionStyle]="tooltipPositionStyle"
@@ -1607,6 +1664,7 @@ class Select extends BaseInput {
1607
1664
  type="text"
1608
1665
  [attr.id]="inputId"
1609
1666
  [class]="cx('label')"
1667
+ [pBind]="ptm('label')"
1610
1668
  [attr.aria-haspopup]="'listbox'"
1611
1669
  [attr.placeholder]="modelValue() === undefined || modelValue() === null ? placeholder() : undefined"
1612
1670
  [attr.aria-label]="ariaLabel || (label() === 'p-emptylabel' ? undefined : label())"
@@ -1628,37 +1686,48 @@ class Select extends BaseInput {
1628
1686
  [attr.disabled]="$disabled() ? '' : undefined"
1629
1687
  />
1630
1688
  <ng-container *ngIf="isVisibleClearIcon">
1631
- <svg data-p-icon="times" [class]="cx('clearIcon')" (click)="clear($event)" *ngIf="!clearIconTemplate && !_clearIconTemplate" [attr.data-pc-section]="'clearicon'" />
1632
- <span [class]="cx('clearIcon')" (click)="clear($event)" *ngIf="clearIconTemplate || _clearIconTemplate" [attr.data-pc-section]="'clearicon'">
1689
+ <svg data-p-icon="times" [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" *ngIf="!clearIconTemplate && !_clearIconTemplate" [attr.data-pc-section]="'clearicon'" />
1690
+ <span [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" *ngIf="clearIconTemplate || _clearIconTemplate" [attr.data-pc-section]="'clearicon'">
1633
1691
  <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate; context: { class: cx('clearIcon') }"></ng-template>
1634
1692
  </span>
1635
1693
  </ng-container>
1636
1694
 
1637
- <div [class]="cx('dropdown')" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'trigger'">
1695
+ <div [class]="cx('dropdown')" [pBind]="ptm('dropdown')" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'trigger'">
1638
1696
  <ng-container *ngIf="loading; else elseBlock">
1639
1697
  <ng-container *ngIf="loadingIconTemplate || _loadingIconTemplate">
1640
1698
  <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
1641
1699
  </ng-container>
1642
1700
  <ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
1643
- <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" aria-hidden="true"></span>
1644
- <span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" aria-hidden="true"></span>
1701
+ <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')" aria-hidden="true"></span>
1702
+ <span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [pBind]="ptm('loadingIcon')" aria-hidden="true"></span>
1645
1703
  </ng-container>
1646
1704
  </ng-container>
1647
1705
 
1648
1706
  <ng-template #elseBlock>
1649
1707
  <ng-container *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate">
1650
- <span [class]="cn(cx('dropdownIcon'), dropdownIcon)" *ngIf="dropdownIcon"></span>
1651
- <svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [class]="cx('dropdownIcon')" />
1708
+ <span [class]="cn(cx('dropdownIcon'), dropdownIcon)" [pBind]="ptm('dropdownIcon')" *ngIf="dropdownIcon"></span>
1709
+ <svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')" />
1652
1710
  </ng-container>
1653
- <span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [class]="cx('dropdownIcon')">
1711
+ <span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')">
1654
1712
  <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate; context: { class: cx('dropdownIcon') }"></ng-template>
1655
1713
  </span>
1656
1714
  </ng-template>
1657
1715
  </div>
1658
1716
 
1659
- <p-overlay #overlay [hostAttrSelector]="attrSelector" [(visible)]="overlayVisible" [options]="overlayOptions" [target]="'@parent'" [appendTo]="$appendTo()" (onAnimationStart)="onOverlayAnimationStart($event)" (onHide)="hide()">
1717
+ <p-overlay
1718
+ #overlay
1719
+ [hostAttrSelector]="$attrSelector"
1720
+ hostName="select"
1721
+ [pt]="ptm('pcOverlay')"
1722
+ [(visible)]="overlayVisible"
1723
+ [options]="overlayOptions"
1724
+ [target]="'@parent'"
1725
+ [appendTo]="$appendTo()"
1726
+ (onAnimationStart)="onOverlayAnimationStart($event)"
1727
+ (onHide)="hide()"
1728
+ >
1660
1729
  <ng-template #content>
1661
- <div [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
1730
+ <div [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle" [pBind]="ptm('overlay')">
1662
1731
  <span
1663
1732
  #firstHiddenFocusableEl
1664
1733
  role="presentation"
@@ -1667,15 +1736,16 @@ class Select extends BaseInput {
1667
1736
  (focus)="onFirstHiddenFocus($event)"
1668
1737
  [attr.data-p-hidden-accessible]="true"
1669
1738
  [attr.data-p-hidden-focusable]="true"
1739
+ [pBind]="ptm('hiddenFirstFocusableEl')"
1670
1740
  >
1671
1741
  </span>
1672
1742
  <ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
1673
- <div [class]="cx('header')" *ngIf="filter" (click)="$event.stopPropagation()">
1743
+ <div [class]="cx('header')" *ngIf="filter" (click)="$event.stopPropagation()" [pBind]="ptm('header')">
1674
1744
  <ng-container *ngIf="filterTemplate || _filterTemplate; else builtInFilterElement">
1675
1745
  <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
1676
1746
  </ng-container>
1677
1747
  <ng-template #builtInFilterElement>
1678
- <p-iconfield>
1748
+ <p-iconfield [pt]="ptm('pcFilterContainer')">
1679
1749
  <input
1680
1750
  #filter
1681
1751
  pInputText
@@ -1693,19 +1763,21 @@ class Select extends BaseInput {
1693
1763
  [attr.aria-activedescendant]="focusedOptionId"
1694
1764
  (keydown)="onFilterKeyDown($event)"
1695
1765
  (blur)="onFilterBlur($event)"
1766
+ [pt]="ptm('pcFilter')"
1696
1767
  />
1697
- <p-inputicon>
1698
- <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" />
1699
- <span *ngIf="filterIconTemplate || _filterIconTemplate">
1768
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')">
1769
+ <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [pBind]="ptm('filterIcon')" />
1770
+ <span *ngIf="filterIconTemplate || _filterIconTemplate" [pBind]="ptm('filterIcon')">
1700
1771
  <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
1701
1772
  </span>
1702
1773
  </p-inputicon>
1703
1774
  </p-iconfield>
1704
1775
  </ng-template>
1705
1776
  </div>
1706
- <div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
1777
+ <div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'" [pBind]="ptm('listContainer')">
1707
1778
  <p-scroller
1708
1779
  *ngIf="virtualScroll"
1780
+ hostName="select"
1709
1781
  #scroller
1710
1782
  [items]="visibleOptions()"
1711
1783
  [style]="{ height: scrollHeight }"
@@ -1714,6 +1786,7 @@ class Select extends BaseInput {
1714
1786
  [lazy]="lazy"
1715
1787
  (onLazyLoad)="onLazyLoad.emit($event)"
1716
1788
  [options]="virtualScrollOptions"
1789
+ [pt]="ptm('virtualScroller')"
1717
1790
  >
1718
1791
  <ng-template #content let-items let-scrollerOptions="options">
1719
1792
  <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"></ng-container>
@@ -1729,11 +1802,11 @@ class Select extends BaseInput {
1729
1802
  </ng-container>
1730
1803
 
1731
1804
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1732
- <ul #items [attr.id]="id + '_list'" [attr.aria-label]="listLabel" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox">
1805
+ <ul #items [attr.id]="id + '_list'" [attr.aria-label]="listLabel" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [pBind]="ptm('list')">
1733
1806
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1734
1807
  <ng-container *ngIf="isOptionGroup(option)">
1735
- <li [class]="cx('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1736
- <span *ngIf="!groupTemplate && !_groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1808
+ <li [class]="cx('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('optionGroup')">
1809
+ <span *ngIf="!groupTemplate && !_groupTemplate" [class]="cx('optionGroupLabel')" [pBind]="ptm('optionGroupLabel')">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1737
1810
  <ng-container *ngTemplateOutlet="groupTemplate || _groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1738
1811
  </li>
1739
1812
  </ng-container>
@@ -1749,21 +1822,23 @@ class Select extends BaseInput {
1749
1822
  [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
1750
1823
  [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
1751
1824
  [ariaSetSize]="ariaSetSize"
1825
+ [index]="i"
1826
+ [scrollerOptions]="scrollerOptions"
1752
1827
  (onClick)="onOptionSelect($event, option)"
1753
1828
  (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
1754
1829
  ></p-selectItem>
1755
1830
  </ng-container>
1756
1831
  </ng-template>
1757
- <li *ngIf="filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1832
+ <li *ngIf="filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('emptyMessage')">
1758
1833
  @if (!emptyFilterTemplate && !_emptyFilterTemplate && !emptyTemplate) {
1759
1834
  {{ emptyFilterMessageLabel }}
1760
1835
  } @else {
1761
1836
  <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || _emptyFilterTemplate || emptyTemplate || _emptyTemplate"></ng-container>
1762
1837
  }
1763
1838
  </li>
1764
- <li *ngIf="!filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1839
+ <li *ngIf="!filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('emptyMessage')">
1765
1840
  @if (!emptyTemplate && !_emptyTemplate) {
1766
- {{ emptyFilterMessageLabel || emptyMessageLabel }}
1841
+ {{ emptyMessageLabel || emptyFilterMessageLabel }}
1767
1842
  } @else {
1768
1843
  <ng-container #empty *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-container>
1769
1844
  }
@@ -1776,6 +1851,7 @@ class Select extends BaseInput {
1776
1851
  #lastHiddenFocusableEl
1777
1852
  role="presentation"
1778
1853
  class="p-hidden-accessible p-hidden-focusable"
1854
+ [pBind]="ptm('hiddenLastFocusableEl')"
1779
1855
  [attr.tabindex]="0"
1780
1856
  (focus)="onLastHiddenFocus($event)"
1781
1857
  [attr.data-p-hidden-accessible]="true"
@@ -1784,19 +1860,20 @@ class Select extends BaseInput {
1784
1860
  </div>
1785
1861
  </ng-template>
1786
1862
  </p-overlay>
1787
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: SelectItem, selector: "p-selectItem", inputs: ["id", "option", "selected", "focused", "label", "disabled", "visible", "itemSize", "ariaPosInset", "ariaSetSize", "template", "checkmark"], 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: "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: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { 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: "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: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1863
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: SelectItem, selector: "p-selectItem", inputs: ["id", "option", "selected", "focused", "label", "disabled", "visible", "itemSize", "ariaPosInset", "ariaSetSize", "template", "checkmark", "index", "scrollerOptions"], 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: "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: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { 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: "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: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i2.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1788
1864
  }
1789
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: Select, decorators: [{
1865
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Select, decorators: [{
1790
1866
  type: Component,
1791
1867
  args: [{
1792
1868
  selector: 'p-select',
1793
1869
  standalone: true,
1794
- imports: [CommonModule, SelectItem, Overlay, Tooltip, AutoFocus, TimesIcon, ChevronDownIcon, SearchIcon, InputText, IconField, InputIcon, Scroller, SharedModule],
1870
+ imports: [CommonModule, SelectItem, Overlay, Tooltip, AutoFocus, TimesIcon, ChevronDownIcon, SearchIcon, InputText, IconField, InputIcon, Scroller, SharedModule, BindModule],
1795
1871
  template: `
1796
1872
  <span
1797
1873
  #focusInput
1798
1874
  [class]="cx('label')"
1799
1875
  *ngIf="!editable"
1876
+ [pBind]="ptm('label')"
1800
1877
  [pTooltip]="tooltip"
1801
1878
  [tooltipPosition]="tooltipPosition"
1802
1879
  [positionStyle]="tooltipPositionStyle"
@@ -1831,6 +1908,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1831
1908
  type="text"
1832
1909
  [attr.id]="inputId"
1833
1910
  [class]="cx('label')"
1911
+ [pBind]="ptm('label')"
1834
1912
  [attr.aria-haspopup]="'listbox'"
1835
1913
  [attr.placeholder]="modelValue() === undefined || modelValue() === null ? placeholder() : undefined"
1836
1914
  [attr.aria-label]="ariaLabel || (label() === 'p-emptylabel' ? undefined : label())"
@@ -1852,37 +1930,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1852
1930
  [attr.disabled]="$disabled() ? '' : undefined"
1853
1931
  />
1854
1932
  <ng-container *ngIf="isVisibleClearIcon">
1855
- <svg data-p-icon="times" [class]="cx('clearIcon')" (click)="clear($event)" *ngIf="!clearIconTemplate && !_clearIconTemplate" [attr.data-pc-section]="'clearicon'" />
1856
- <span [class]="cx('clearIcon')" (click)="clear($event)" *ngIf="clearIconTemplate || _clearIconTemplate" [attr.data-pc-section]="'clearicon'">
1933
+ <svg data-p-icon="times" [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" *ngIf="!clearIconTemplate && !_clearIconTemplate" [attr.data-pc-section]="'clearicon'" />
1934
+ <span [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" *ngIf="clearIconTemplate || _clearIconTemplate" [attr.data-pc-section]="'clearicon'">
1857
1935
  <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate; context: { class: cx('clearIcon') }"></ng-template>
1858
1936
  </span>
1859
1937
  </ng-container>
1860
1938
 
1861
- <div [class]="cx('dropdown')" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'trigger'">
1939
+ <div [class]="cx('dropdown')" [pBind]="ptm('dropdown')" role="button" aria-label="dropdown trigger" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'trigger'">
1862
1940
  <ng-container *ngIf="loading; else elseBlock">
1863
1941
  <ng-container *ngIf="loadingIconTemplate || _loadingIconTemplate">
1864
1942
  <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
1865
1943
  </ng-container>
1866
1944
  <ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
1867
- <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" aria-hidden="true"></span>
1868
- <span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" aria-hidden="true"></span>
1945
+ <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')" aria-hidden="true"></span>
1946
+ <span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')" [pBind]="ptm('loadingIcon')" aria-hidden="true"></span>
1869
1947
  </ng-container>
1870
1948
  </ng-container>
1871
1949
 
1872
1950
  <ng-template #elseBlock>
1873
1951
  <ng-container *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate">
1874
- <span [class]="cn(cx('dropdownIcon'), dropdownIcon)" *ngIf="dropdownIcon"></span>
1875
- <svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [class]="cx('dropdownIcon')" />
1952
+ <span [class]="cn(cx('dropdownIcon'), dropdownIcon)" [pBind]="ptm('dropdownIcon')" *ngIf="dropdownIcon"></span>
1953
+ <svg data-p-icon="chevron-down" *ngIf="!dropdownIcon" [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')" />
1876
1954
  </ng-container>
1877
- <span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [class]="cx('dropdownIcon')">
1955
+ <span *ngIf="dropdownIconTemplate || _dropdownIconTemplate" [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')">
1878
1956
  <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate; context: { class: cx('dropdownIcon') }"></ng-template>
1879
1957
  </span>
1880
1958
  </ng-template>
1881
1959
  </div>
1882
1960
 
1883
- <p-overlay #overlay [hostAttrSelector]="attrSelector" [(visible)]="overlayVisible" [options]="overlayOptions" [target]="'@parent'" [appendTo]="$appendTo()" (onAnimationStart)="onOverlayAnimationStart($event)" (onHide)="hide()">
1961
+ <p-overlay
1962
+ #overlay
1963
+ [hostAttrSelector]="$attrSelector"
1964
+ hostName="select"
1965
+ [pt]="ptm('pcOverlay')"
1966
+ [(visible)]="overlayVisible"
1967
+ [options]="overlayOptions"
1968
+ [target]="'@parent'"
1969
+ [appendTo]="$appendTo()"
1970
+ (onAnimationStart)="onOverlayAnimationStart($event)"
1971
+ (onHide)="hide()"
1972
+ >
1884
1973
  <ng-template #content>
1885
- <div [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
1974
+ <div [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle" [pBind]="ptm('overlay')">
1886
1975
  <span
1887
1976
  #firstHiddenFocusableEl
1888
1977
  role="presentation"
@@ -1891,15 +1980,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1891
1980
  (focus)="onFirstHiddenFocus($event)"
1892
1981
  [attr.data-p-hidden-accessible]="true"
1893
1982
  [attr.data-p-hidden-focusable]="true"
1983
+ [pBind]="ptm('hiddenFirstFocusableEl')"
1894
1984
  >
1895
1985
  </span>
1896
1986
  <ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
1897
- <div [class]="cx('header')" *ngIf="filter" (click)="$event.stopPropagation()">
1987
+ <div [class]="cx('header')" *ngIf="filter" (click)="$event.stopPropagation()" [pBind]="ptm('header')">
1898
1988
  <ng-container *ngIf="filterTemplate || _filterTemplate; else builtInFilterElement">
1899
1989
  <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { options: filterOptions }"></ng-container>
1900
1990
  </ng-container>
1901
1991
  <ng-template #builtInFilterElement>
1902
- <p-iconfield>
1992
+ <p-iconfield [pt]="ptm('pcFilterContainer')">
1903
1993
  <input
1904
1994
  #filter
1905
1995
  pInputText
@@ -1917,19 +2007,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1917
2007
  [attr.aria-activedescendant]="focusedOptionId"
1918
2008
  (keydown)="onFilterKeyDown($event)"
1919
2009
  (blur)="onFilterBlur($event)"
2010
+ [pt]="ptm('pcFilter')"
1920
2011
  />
1921
- <p-inputicon>
1922
- <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" />
1923
- <span *ngIf="filterIconTemplate || _filterIconTemplate">
2012
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')">
2013
+ <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [pBind]="ptm('filterIcon')" />
2014
+ <span *ngIf="filterIconTemplate || _filterIconTemplate" [pBind]="ptm('filterIcon')">
1924
2015
  <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
1925
2016
  </span>
1926
2017
  </p-inputicon>
1927
2018
  </p-iconfield>
1928
2019
  </ng-template>
1929
2020
  </div>
1930
- <div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'">
2021
+ <div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight || 'auto'" [pBind]="ptm('listContainer')">
1931
2022
  <p-scroller
1932
2023
  *ngIf="virtualScroll"
2024
+ hostName="select"
1933
2025
  #scroller
1934
2026
  [items]="visibleOptions()"
1935
2027
  [style]="{ height: scrollHeight }"
@@ -1938,6 +2030,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1938
2030
  [lazy]="lazy"
1939
2031
  (onLazyLoad)="onLazyLoad.emit($event)"
1940
2032
  [options]="virtualScrollOptions"
2033
+ [pt]="ptm('virtualScroller')"
1941
2034
  >
1942
2035
  <ng-template #content let-items let-scrollerOptions="options">
1943
2036
  <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: items, options: scrollerOptions }"></ng-container>
@@ -1953,11 +2046,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1953
2046
  </ng-container>
1954
2047
 
1955
2048
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1956
- <ul #items [attr.id]="id + '_list'" [attr.aria-label]="listLabel" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox">
2049
+ <ul #items [attr.id]="id + '_list'" [attr.aria-label]="listLabel" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [pBind]="ptm('list')">
1957
2050
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1958
2051
  <ng-container *ngIf="isOptionGroup(option)">
1959
- <li [class]="cx('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1960
- <span *ngIf="!groupTemplate && !_groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
2052
+ <li [class]="cx('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('optionGroup')">
2053
+ <span *ngIf="!groupTemplate && !_groupTemplate" [class]="cx('optionGroupLabel')" [pBind]="ptm('optionGroupLabel')">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1961
2054
  <ng-container *ngTemplateOutlet="groupTemplate || _groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1962
2055
  </li>
1963
2056
  </ng-container>
@@ -1973,21 +2066,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1973
2066
  [focused]="focusedOptionIndex() === getOptionIndex(i, scrollerOptions)"
1974
2067
  [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
1975
2068
  [ariaSetSize]="ariaSetSize"
2069
+ [index]="i"
2070
+ [scrollerOptions]="scrollerOptions"
1976
2071
  (onClick)="onOptionSelect($event, option)"
1977
2072
  (onMouseEnter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
1978
2073
  ></p-selectItem>
1979
2074
  </ng-container>
1980
2075
  </ng-template>
1981
- <li *ngIf="filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2076
+ <li *ngIf="filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('emptyMessage')">
1982
2077
  @if (!emptyFilterTemplate && !_emptyFilterTemplate && !emptyTemplate) {
1983
2078
  {{ emptyFilterMessageLabel }}
1984
2079
  } @else {
1985
2080
  <ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || _emptyFilterTemplate || emptyTemplate || _emptyTemplate"></ng-container>
1986
2081
  }
1987
2082
  </li>
1988
- <li *ngIf="!filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
2083
+ <li *ngIf="!filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option" [pBind]="ptm('emptyMessage')">
1989
2084
  @if (!emptyTemplate && !_emptyTemplate) {
1990
- {{ emptyFilterMessageLabel || emptyMessageLabel }}
2085
+ {{ emptyMessageLabel || emptyFilterMessageLabel }}
1991
2086
  } @else {
1992
2087
  <ng-container #empty *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-container>
1993
2088
  }
@@ -2000,6 +2095,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
2000
2095
  #lastHiddenFocusableEl
2001
2096
  role="presentation"
2002
2097
  class="p-hidden-accessible p-hidden-focusable"
2098
+ [pBind]="ptm('hiddenLastFocusableEl')"
2003
2099
  [attr.tabindex]="0"
2004
2100
  (focus)="onLastHiddenFocus($event)"
2005
2101
  [attr.data-p-hidden-accessible]="true"
@@ -2014,11 +2110,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
2014
2110
  '[attr.id]': 'id',
2015
2111
  '(click)': 'onContainerClick($event)'
2016
2112
  },
2017
- providers: [SELECT_VALUE_ACCESSOR, SelectStyle],
2113
+ providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }],
2018
2114
  changeDetection: ChangeDetectionStrategy.OnPush,
2019
- encapsulation: ViewEncapsulation.None
2115
+ encapsulation: ViewEncapsulation.None,
2116
+ hostDirectives: [Bind]
2020
2117
  }]
2021
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i2.FilterService }], propDecorators: { id: [{
2118
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i3.FilterService }], propDecorators: { id: [{
2022
2119
  type: Input
2023
2120
  }], scrollHeight: [{
2024
2121
  type: Input
@@ -2230,11 +2327,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
2230
2327
  args: [PrimeTemplate]
2231
2328
  }] } });
2232
2329
  class SelectModule {
2233
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2234
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SelectModule, imports: [Select, SharedModule], exports: [Select, SharedModule] });
2235
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SelectModule, imports: [Select, SharedModule, SharedModule] });
2330
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2331
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: SelectModule, imports: [Select, SharedModule], exports: [Select, SharedModule] });
2332
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SelectModule, imports: [Select, SharedModule, SharedModule] });
2236
2333
  }
2237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SelectModule, decorators: [{
2334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SelectModule, decorators: [{
2238
2335
  type: NgModule,
2239
2336
  args: [{
2240
2337
  imports: [Select, SharedModule],