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,25 +1,28 @@
1
- import * as i2 from '@angular/common';
1
+ export * from 'primeng/types/autocomplete';
2
+ import * as i3 from '@angular/common';
2
3
  import { CommonModule } from '@angular/common';
3
4
  import * as i0 from '@angular/core';
4
- import { Injectable, forwardRef, input, EventEmitter, inject, signal, computed, booleanAttribute, numberAttribute, ContentChildren, HostListener, ContentChild, ViewChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
+ import { Injectable, InjectionToken, forwardRef, inject, input, EventEmitter, signal, computed, booleanAttribute, numberAttribute, ContentChildren, HostListener, ContentChild, ViewChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
6
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import { resolveFieldData, isNotEmpty, uuid, findLastIndex, equals, focus, isEmpty, findSingle } from '@primeuix/utils';
7
+ import { equals, isNotEmpty, uuid, findLastIndex, resolveFieldData, focus, isEmpty, findSingle } from '@primeuix/utils';
7
8
  import * as i1 from 'primeng/api';
8
9
  import { TranslationKeys, SharedModule, PrimeTemplate } from 'primeng/api';
9
10
  import { AutoFocus } from 'primeng/autofocus';
11
+ import { PARENT_INSTANCE } from 'primeng/basecomponent';
10
12
  import { BaseInput } from 'primeng/baseinput';
13
+ import * as i2 from 'primeng/bind';
14
+ import { Bind, BindModule } from 'primeng/bind';
11
15
  import { Chip } from 'primeng/chip';
12
- import { PrimeNG } from 'primeng/config';
13
16
  import { TimesCircleIcon, SpinnerIcon, ChevronDownIcon, TimesIcon } from 'primeng/icons';
14
17
  import { InputText } from 'primeng/inputtext';
15
18
  import { Overlay } from 'primeng/overlay';
16
19
  import { Ripple } from 'primeng/ripple';
17
20
  import { Scroller } from 'primeng/scroller';
18
- import { style } from '@primeuix/styles/autocomplete';
21
+ import { style as style$1 } from '@primeuix/styles/autocomplete';
19
22
  import { BaseStyle } from 'primeng/base';
20
23
 
21
- const theme = /*css*/ `
22
- ${style}
24
+ const style = /*css*/ `
25
+ ${style$1}
23
26
 
24
27
  /* For PrimeNG */
25
28
  p-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input,
@@ -101,13 +104,13 @@ const classes = {
101
104
  };
102
105
  class AutoCompleteStyle extends BaseStyle {
103
106
  name = 'autocomplete';
104
- theme = theme;
107
+ style = style;
105
108
  classes = classes;
106
109
  inlineStyles = inlineStyles;
107
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AutoCompleteStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
108
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AutoCompleteStyle });
110
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AutoCompleteStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
111
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AutoCompleteStyle });
109
112
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AutoCompleteStyle, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AutoCompleteStyle, decorators: [{
111
114
  type: Injectable
112
115
  }] });
113
116
  /**
@@ -183,6 +186,7 @@ var AutoCompleteClasses;
183
186
  AutoCompleteClasses["clearIcon"] = "p-autocomplete-clear-icon";
184
187
  })(AutoCompleteClasses || (AutoCompleteClasses = {}));
185
188
 
189
+ const AUTOCOMPLETE_INSTANCE = new InjectionToken('AUTOCOMPLETE_INSTANCE');
186
190
  const AUTOCOMPLETE_VALUE_ACCESSOR = {
187
191
  provide: NG_VALUE_ACCESSOR,
188
192
  useExisting: forwardRef(() => AutoComplete),
@@ -195,6 +199,8 @@ const AUTOCOMPLETE_VALUE_ACCESSOR = {
195
199
  class AutoComplete extends BaseInput {
196
200
  overlayService;
197
201
  zone;
202
+ $pcAutoComplete = inject(AUTOCOMPLETE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
203
+ bindDirectiveInstance = inject(Bind, { self: true });
198
204
  /**
199
205
  * Minimum number of characters to initiate a search.
200
206
  * @deprecated since v20.0.0, use `minQueryLength` instead.
@@ -362,6 +368,11 @@ class AutoComplete extends BaseInput {
362
368
  * @group Props
363
369
  */
364
370
  multiple;
371
+ /**
372
+ * When enabled, the input value is added to the selected items on tab key press when multiple is true and typeahead is false.
373
+ * @group Props
374
+ */
375
+ addOnTab = false;
365
376
  /**
366
377
  * Index of the element in tabbing order.
367
378
  * @group Props
@@ -487,6 +498,17 @@ class AutoComplete extends BaseInput {
487
498
  * @group Props
488
499
  */
489
500
  typeahead = true;
501
+ /**
502
+ * Whether to add an item on blur event if the input has value and typeahead is false with multiple mode.
503
+ * @defaultValue false
504
+ * @group Props
505
+ */
506
+ addOnBlur = false;
507
+ /**
508
+ * Separator char to add item when typeahead is false and multiple mode is enabled.
509
+ * @group Props
510
+ */
511
+ separator;
490
512
  /**
491
513
  * Target element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name).
492
514
  * @defaultValue 'self'
@@ -511,6 +533,12 @@ class AutoComplete extends BaseInput {
511
533
  * @group Emits
512
534
  */
513
535
  onUnselect = new EventEmitter();
536
+ /**
537
+ * Callback to invoke when an item is added via addOnBlur or separator features.
538
+ * @param {AutoCompleteAddEvent} event - Custom add event.
539
+ * @group Emits
540
+ */
541
+ onAdd = new EventEmitter();
514
542
  /**
515
543
  * Callback to invoke when the component receives focus.
516
544
  * @param {Event} event - Browser event.
@@ -535,6 +563,12 @@ class AutoComplete extends BaseInput {
535
563
  * @group Emits
536
564
  */
537
565
  onClear = new EventEmitter();
566
+ /**
567
+ * Callback to invoke on input key down.
568
+ * @param {KeyboardEvent} event - Keyboard event.
569
+ * @group Emits
570
+ */
571
+ onInputKeydown = new EventEmitter();
538
572
  /**
539
573
  * Callback to invoke on input key up.
540
574
  * @param {KeyboardEvent} event - Keyboard event.
@@ -625,7 +659,6 @@ class AutoComplete extends BaseInput {
625
659
  onHostClick(event) {
626
660
  this.onContainerClick(event);
627
661
  }
628
- primeng = inject(PrimeNG);
629
662
  value;
630
663
  _suggestions = signal(null, ...(ngDevMode ? [{ debugName: "_suggestions" }] : []));
631
664
  timeout;
@@ -659,7 +692,7 @@ class AutoComplete extends BaseInput {
659
692
  }, ...(ngDevMode ? [{ debugName: "visibleOptions" }] : []));
660
693
  inputValue = computed(() => {
661
694
  const modelValue = this.modelValue();
662
- const selectedOption = this.optionValueSelected ? (this.suggestions || []).find((item) => resolveFieldData(item, this.optionValue) === modelValue) : modelValue;
695
+ const selectedOption = this.optionValueSelected ? (this.suggestions || []).find((option) => equals(option, modelValue, this.equalityKey())) : modelValue;
663
696
  if (isNotEmpty(modelValue)) {
664
697
  if (typeof modelValue === 'object' || this.optionValueSelected) {
665
698
  const label = this.getOptionLabel(selectedOption);
@@ -717,13 +750,12 @@ class AutoComplete extends BaseInput {
717
750
  this.overlayService = overlayService;
718
751
  this.zone = zone;
719
752
  }
720
- ngOnInit() {
721
- super.ngOnInit();
753
+ onInit() {
722
754
  this.id = this.id || uuid('pn_id_');
723
755
  this.cd.detectChanges();
724
756
  }
725
757
  templates;
726
- ngAfterContentInit() {
758
+ onAfterContentInit() {
727
759
  this.templates.forEach((item) => {
728
760
  switch (item.getType()) {
729
761
  case 'item':
@@ -768,7 +800,8 @@ class AutoComplete extends BaseInput {
768
800
  }
769
801
  });
770
802
  }
771
- ngAfterViewChecked() {
803
+ onAfterViewChecked() {
804
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
772
805
  //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated
773
806
  if (this.suggestionsUpdated && this.overlayViewChild) {
774
807
  this.zone.runOutsideAngular(() => {
@@ -842,28 +875,28 @@ class AutoComplete extends BaseInput {
842
875
  }
843
876
  isSelected(option) {
844
877
  if (this.multiple) {
845
- return this.unique ? this.modelValue()?.find((model) => equals(model, this.getOptionValue(option), this.equalityKey())) : false;
878
+ return this.unique ? this.modelValue()?.some((model) => equals(model, option, this.equalityKey())) : false;
846
879
  }
847
- return equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
880
+ return equals(this.modelValue(), option, this.equalityKey());
848
881
  }
849
882
  isOptionMatched(option, value) {
850
883
  return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);
851
884
  }
852
885
  isInputClicked(event) {
853
- return event.target === this.inputEL.nativeElement;
886
+ return event.target === this.inputEL?.nativeElement;
854
887
  }
855
888
  isDropdownClicked(event) {
856
889
  return this.dropdownButton?.nativeElement ? event.target === this.dropdownButton.nativeElement || this.dropdownButton.nativeElement.contains(event.target) : false;
857
890
  }
858
891
  equalityKey() {
859
- return this.dataKey; // TODO: The 'optionValue' properties can be added.
892
+ return this.optionValue ? undefined : this.dataKey;
860
893
  }
861
894
  onContainerClick(event) {
862
895
  if (this.$disabled() || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {
863
896
  return;
864
897
  }
865
898
  if (!this.overlayViewChild || !this.overlayViewChild.overlayViewChild?.nativeElement.contains(event.target)) {
866
- focus(this.inputEL.nativeElement);
899
+ focus(this.inputEL?.nativeElement);
867
900
  }
868
901
  }
869
902
  handleDropdownClick(event) {
@@ -872,8 +905,8 @@ class AutoComplete extends BaseInput {
872
905
  this.hide(true);
873
906
  }
874
907
  else {
875
- focus(this.inputEL.nativeElement);
876
- query = this.inputEL.nativeElement.value;
908
+ focus(this.inputEL?.nativeElement);
909
+ query = this.inputEL?.nativeElement?.value;
877
910
  if (this.dropdownMode === 'blank')
878
911
  this.search(event, '', 'dropdown');
879
912
  else if (this.dropdownMode === 'current')
@@ -917,14 +950,14 @@ class AutoComplete extends BaseInput {
917
950
  if (this.forceSelection) {
918
951
  let valid = false;
919
952
  if (this.visibleOptions()) {
920
- const matchedValue = this.visibleOptions().find((option) => this.isOptionMatched(option, this.inputEL.nativeElement.value || ''));
953
+ const matchedValue = this.visibleOptions().find((option) => this.isOptionMatched(option, this.inputEL?.nativeElement?.value || ''));
921
954
  if (matchedValue !== undefined) {
922
955
  valid = true;
923
956
  !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);
924
957
  }
925
958
  }
926
959
  if (!valid) {
927
- this.inputEL.nativeElement.value = '';
960
+ this.inputEL?.nativeElement && (this.inputEL.nativeElement.value = '');
928
961
  !this.multiple && this.updateModel(null);
929
962
  }
930
963
  }
@@ -978,11 +1011,53 @@ class AutoComplete extends BaseInput {
978
1011
  this.dirty = false;
979
1012
  this.focused = false;
980
1013
  this.focusedOptionIndex.set(-1);
1014
+ if (this.addOnBlur && this.multiple && !this.typeahead) {
1015
+ const inputValue = (this.multiInputEl?.nativeElement?.value || event.target.value || '').trim();
1016
+ if (inputValue && !this.isSelected(inputValue)) {
1017
+ this.updateModel([...(this.modelValue() || []), inputValue]);
1018
+ this.onAdd.emit({ originalEvent: event, value: inputValue });
1019
+ if (this.multiInputEl?.nativeElement) {
1020
+ this.multiInputEl.nativeElement.value = '';
1021
+ }
1022
+ else {
1023
+ event.target.value = '';
1024
+ }
1025
+ }
1026
+ }
981
1027
  this.onModelTouched();
982
1028
  this.onBlur.emit(event);
983
1029
  }
984
1030
  onInputPaste(event) {
985
- this.onKeyDown(event);
1031
+ if (this.separator && this.multiple && !this.typeahead) {
1032
+ const pastedData = (event.clipboardData || window['clipboardData'])?.getData('Text');
1033
+ if (pastedData) {
1034
+ const values = pastedData.split(this.separator);
1035
+ const newValues = [...(this.modelValue() || [])];
1036
+ values.forEach((value) => {
1037
+ const trimmedValue = value.trim();
1038
+ if (trimmedValue && !this.isSelected(trimmedValue)) {
1039
+ newValues.push(trimmedValue);
1040
+ }
1041
+ });
1042
+ if (newValues.length > (this.modelValue() || []).length) {
1043
+ const addedValues = newValues.slice((this.modelValue() || []).length);
1044
+ this.updateModel(newValues);
1045
+ addedValues.forEach((addedValue) => {
1046
+ this.onAdd.emit({ originalEvent: event, value: addedValue });
1047
+ });
1048
+ if (this.multiInputEl?.nativeElement) {
1049
+ this.multiInputEl.nativeElement.value = '';
1050
+ }
1051
+ else {
1052
+ event.target.value = '';
1053
+ }
1054
+ event.preventDefault();
1055
+ }
1056
+ }
1057
+ }
1058
+ else {
1059
+ this.onKeyDown(event);
1060
+ }
986
1061
  }
987
1062
  onInputKeyUp(event) {
988
1063
  this.onKeyUp.emit(event);
@@ -992,6 +1067,8 @@ class AutoComplete extends BaseInput {
992
1067
  event.preventDefault();
993
1068
  return;
994
1069
  }
1070
+ // Emit keydown event for external handling
1071
+ this.onInputKeydown.emit(event);
995
1072
  switch (event.code) {
996
1073
  case 'ArrowDown':
997
1074
  this.onArrowDownKey(event);
@@ -1035,9 +1112,28 @@ class AutoComplete extends BaseInput {
1035
1112
  //NOOP
1036
1113
  break;
1037
1114
  default:
1115
+ this.handleSeparatorKey(event);
1038
1116
  break;
1039
1117
  }
1040
1118
  }
1119
+ handleSeparatorKey(event) {
1120
+ if (this.separator && this.multiple && !this.typeahead) {
1121
+ if (this.separator === event.key || (typeof this.separator === 'string' && event.key === this.separator) || (this.separator instanceof RegExp && event.key.match(this.separator))) {
1122
+ const inputValue = (this.multiInputEl?.nativeElement?.value || event.target.value || '').trim();
1123
+ if (inputValue && !this.isSelected(inputValue)) {
1124
+ this.updateModel([...(this.modelValue() || []), inputValue]);
1125
+ this.onAdd.emit({ originalEvent: event, value: inputValue });
1126
+ if (this.multiInputEl?.nativeElement) {
1127
+ this.multiInputEl.nativeElement.value = '';
1128
+ }
1129
+ else {
1130
+ event.target.value = '';
1131
+ }
1132
+ event.preventDefault();
1133
+ }
1134
+ }
1135
+ }
1136
+ }
1041
1137
  onArrowDownKey(event) {
1042
1138
  if (!this.overlayVisible) {
1043
1139
  return;
@@ -1070,7 +1166,7 @@ class AutoComplete extends BaseInput {
1070
1166
  this.focusedOptionIndex.set(-1);
1071
1167
  if (this.multiple) {
1072
1168
  if (isEmpty(target.value) && this.hasSelectedOption()) {
1073
- focus(this.multiContainerEL.nativeElement);
1169
+ focus(this.multiContainerEL?.nativeElement);
1074
1170
  this.focusedMultipleOptionIndex.set(this.modelValue().length);
1075
1171
  }
1076
1172
  else {
@@ -1105,11 +1201,12 @@ class AutoComplete extends BaseInput {
1105
1201
  event.preventDefault();
1106
1202
  }
1107
1203
  onEnterKey(event) {
1108
- if (!this.typeahead) {
1204
+ if (!this.typeahead && !this.forceSelection) {
1109
1205
  if (this.multiple) {
1110
- if (!this.isSelected(event.target.value)) {
1111
- this.updateModel([...(this.modelValue() || []), event.target.value]);
1112
- this.inputEL.nativeElement.value = '';
1206
+ const inputValue = event.target.value?.trim();
1207
+ if (inputValue && !this.isSelected(inputValue)) {
1208
+ this.updateModel([...(this.modelValue() || []), inputValue]);
1209
+ this.inputEL?.nativeElement && (this.inputEL.nativeElement.value = '');
1113
1210
  }
1114
1211
  }
1115
1212
  }
@@ -1129,14 +1226,40 @@ class AutoComplete extends BaseInput {
1129
1226
  event.preventDefault();
1130
1227
  }
1131
1228
  onTabKey(event) {
1229
+ // If there's a focused option in the dropdown, select it
1132
1230
  if (this.focusedOptionIndex() !== -1) {
1133
1231
  this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);
1232
+ return;
1233
+ }
1234
+ // Handle tab key behavior for multiple mode without typeahead
1235
+ if (this.multiple && !this.typeahead) {
1236
+ const inputValue = (this.multiInputEl?.nativeElement?.value || this.inputEL?.nativeElement?.value || '').trim();
1237
+ if (this.addOnTab) {
1238
+ if (inputValue && !this.isSelected(inputValue)) {
1239
+ // Add the value and keep focus
1240
+ this.updateModel([...(this.modelValue() || []), inputValue]);
1241
+ this.onAdd.emit({ originalEvent: event, value: inputValue });
1242
+ if (this.multiInputEl?.nativeElement) {
1243
+ this.multiInputEl.nativeElement.value = '';
1244
+ }
1245
+ else if (this.inputEL?.nativeElement) {
1246
+ this.inputEL.nativeElement.value = '';
1247
+ }
1248
+ this.updateInputValue();
1249
+ event.preventDefault(); // Keep focus on the component
1250
+ this.overlayVisible && this.hide();
1251
+ return;
1252
+ }
1253
+ // If no value or already selected, allow normal tab behavior (blur)
1254
+ }
1255
+ // If addOnTab is false or no value to add, allow normal tab behavior
1256
+ // which will trigger blur and potentially addOnBlur
1134
1257
  }
1135
1258
  this.overlayVisible && this.hide();
1136
1259
  }
1137
1260
  onBackspaceKey(event) {
1138
1261
  if (this.multiple) {
1139
- if (isNotEmpty(this.modelValue()) && !this.inputEL.nativeElement.value) {
1262
+ if (isNotEmpty(this.modelValue()) && !this.inputEL?.nativeElement?.value) {
1140
1263
  const removedValue = this.modelValue()[this.modelValue().length - 1];
1141
1264
  const newValue = this.modelValue().slice(0, -1);
1142
1265
  this.updateModel(newValue);
@@ -1144,9 +1267,6 @@ class AutoComplete extends BaseInput {
1144
1267
  }
1145
1268
  event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method
1146
1269
  }
1147
- if (!this.multiple && this.showClear && this.findSelectedOptionIndex() != -1) {
1148
- this.clear();
1149
- }
1150
1270
  }
1151
1271
  onArrowLeftKeyOnMultiple(event) {
1152
1272
  const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;
@@ -1158,7 +1278,7 @@ class AutoComplete extends BaseInput {
1158
1278
  this.focusedMultipleOptionIndex.set(optionIndex);
1159
1279
  if (optionIndex > this.modelValue().length - 1) {
1160
1280
  this.focusedMultipleOptionIndex.set(-1);
1161
- focus(this.inputEL.nativeElement);
1281
+ focus(this.inputEL?.nativeElement);
1162
1282
  }
1163
1283
  }
1164
1284
  onBackspaceKeyOnMultiple(event) {
@@ -1167,15 +1287,14 @@ class AutoComplete extends BaseInput {
1167
1287
  }
1168
1288
  }
1169
1289
  onOptionSelect(event, option, isHide = true) {
1170
- const value = this.getOptionValue(option);
1171
1290
  if (this.multiple) {
1172
- this.inputEL.nativeElement.value = '';
1291
+ this.inputEL?.nativeElement && (this.inputEL.nativeElement.value = '');
1173
1292
  if (!this.isSelected(option)) {
1174
- this.updateModel([...(this.modelValue() || []), value]);
1293
+ this.updateModel([...(this.modelValue() || []), option]);
1175
1294
  }
1176
1295
  }
1177
1296
  else {
1178
- this.updateModel(value);
1297
+ this.updateModel(option);
1179
1298
  }
1180
1299
  this.onSelect.emit({ originalEvent: event, value: option });
1181
1300
  isHide && this.hide(true);
@@ -1203,11 +1322,12 @@ class AutoComplete extends BaseInput {
1203
1322
  const value = this.modelValue().filter((_, i) => i !== index);
1204
1323
  this.updateModel(value);
1205
1324
  this.onUnselect.emit({ originalEvent: event, value: removedOption });
1206
- focus(this.inputEL.nativeElement);
1325
+ focus(this.inputEL?.nativeElement);
1207
1326
  }
1208
- updateModel(value) {
1327
+ updateModel(options) {
1328
+ const value = this.multiple ? options.map((option) => this.getOptionValue(option)) : this.getOptionValue(options);
1209
1329
  this.value = value;
1210
- this.writeModelValue(value);
1330
+ this.writeModelValue(options);
1211
1331
  this.onModelChange(value);
1212
1332
  this.updateInputValue();
1213
1333
  this.cd.markForCheck();
@@ -1257,9 +1377,9 @@ class AutoComplete extends BaseInput {
1257
1377
  this.overlayVisible = true;
1258
1378
  const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
1259
1379
  this.focusedOptionIndex.set(focusedOptionIndex);
1260
- isFocus && focus(this.inputEL.nativeElement);
1380
+ isFocus && focus(this.inputEL?.nativeElement);
1261
1381
  if (isFocus) {
1262
- focus(this.inputEL.nativeElement);
1382
+ focus(this.inputEL?.nativeElement);
1263
1383
  }
1264
1384
  this.onShow.emit();
1265
1385
  this.cd.markForCheck();
@@ -1269,7 +1389,7 @@ class AutoComplete extends BaseInput {
1269
1389
  this.dirty = isFocus;
1270
1390
  this.overlayVisible = false;
1271
1391
  this.focusedOptionIndex.set(-1);
1272
- isFocus && focus(this.inputEL.nativeElement);
1392
+ isFocus && focus(this.inputEL?.nativeElement);
1273
1393
  this.onHide.emit();
1274
1394
  this.cd.markForCheck();
1275
1395
  };
@@ -1279,7 +1399,7 @@ class AutoComplete extends BaseInput {
1279
1399
  }
1280
1400
  clear() {
1281
1401
  this.updateModel(null);
1282
- this.inputEL.nativeElement.value = '';
1402
+ this.inputEL?.nativeElement && (this.inputEL.nativeElement.value = '');
1283
1403
  this.onClear.emit();
1284
1404
  }
1285
1405
  hasSelectedOption() {
@@ -1308,12 +1428,23 @@ class AutoComplete extends BaseInput {
1308
1428
  getOptionGroupChildren(optionGroup) {
1309
1429
  return this.optionGroupChildren ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;
1310
1430
  }
1431
+ getPTOptions(option, scrollerOptions, index, key) {
1432
+ return this.ptm(key, {
1433
+ context: {
1434
+ option,
1435
+ index: this.getOptionIndex(index, scrollerOptions),
1436
+ selected: this.isSelected(option),
1437
+ focused: this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions),
1438
+ disabled: this.isOptionDisabled(option)
1439
+ }
1440
+ });
1441
+ }
1311
1442
  onOverlayAnimationStart(event) {
1312
1443
  if (event.toState === 'visible') {
1313
1444
  this.itemsWrapper = findSingle(this.overlayViewChild.overlayViewChild?.nativeElement, this.virtualScroll ? '.p-scroller' : '.p-autocomplete-panel');
1314
1445
  if (this.virtualScroll) {
1315
1446
  this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);
1316
- this.scroller.viewInit();
1447
+ this.scroller?.viewInit();
1317
1448
  }
1318
1449
  if (this.visibleOptions() && this.visibleOptions().length) {
1319
1450
  if (this.virtualScroll) {
@@ -1338,25 +1469,26 @@ class AutoComplete extends BaseInput {
1338
1469
  * Writes the value to the control.
1339
1470
  */
1340
1471
  writeControlValue(value, setModelValue) {
1472
+ const options = this.multiple ? this.visibleOptions().filter((option) => value?.some((val) => equals(val, option, this.equalityKey()))) : this.visibleOptions().find((option) => equals(value, option, this.equalityKey()));
1341
1473
  this.value = value;
1342
- setModelValue(value);
1474
+ setModelValue(isEmpty(options) ? value : options);
1343
1475
  this.updateInputValue();
1344
1476
  this.cd.markForCheck();
1345
1477
  }
1346
- ngOnDestroy() {
1478
+ onDestroy() {
1347
1479
  if (this.scrollHandler) {
1348
1480
  this.scrollHandler.destroy();
1349
1481
  this.scrollHandler = null;
1350
1482
  }
1351
- super.ngOnDestroy();
1352
1483
  }
1353
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AutoComplete, deps: [{ token: i1.OverlayService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1354
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.0", type: AutoComplete, isStandalone: true, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: { minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: false, isRequired: false, transformFunction: numberAttribute }, minQueryLength: { classPropertyName: "minQueryLength", publicName: "minQueryLength", isSignal: false, isRequired: false, transformFunction: numberAttribute }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, 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 }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, inputStyleClass: { classPropertyName: "inputStyleClass", publicName: "inputStyleClass", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, autoHighlight: { classPropertyName: "autoHighlight", publicName: "autoHighlight", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, dropdownAriaLabel: { classPropertyName: "dropdownAriaLabel", publicName: "dropdownAriaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, unique: { classPropertyName: "unique", publicName: "unique", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, completeOnFocus: { classPropertyName: "completeOnFocus", publicName: "completeOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdown: { classPropertyName: "dropdown", publicName: "dropdown", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showEmptyMessage: { classPropertyName: "showEmptyMessage", publicName: "showEmptyMessage", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownMode: { classPropertyName: "dropdownMode", publicName: "dropdownMode", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, searchMessage: { classPropertyName: "searchMessage", publicName: "searchMessage", isSignal: false, isRequired: false, transformFunction: null }, emptySelectionMessage: { classPropertyName: "emptySelectionMessage", publicName: "emptySelectionMessage", isSignal: false, isRequired: false, transformFunction: null }, selectionMessage: { classPropertyName: "selectionMessage", publicName: "selectionMessage", isSignal: false, isRequired: false, transformFunction: null }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, searchLocale: { classPropertyName: "searchLocale", publicName: "searchLocale", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, typeahead: { classPropertyName: "typeahead", publicName: "typeahead", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onUnselect: "onUnselect", onFocus: "onFocus", onBlur: "onBlur", onDropdownClick: "onDropdownClick", onClear: "onClear", onKeyUp: "onKeyUp", onShow: "onShow", onHide: "onHide", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], descendants: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], descendants: true }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selecteditem"], descendants: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], descendants: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], descendants: true }, { propertyName: "removeIconTemplate", first: true, predicate: ["removeicon"], descendants: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], descendants: true }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"], descendants: true }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputEL", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "multiInputEl", first: true, predicate: ["multiIn"], descendants: true }, { propertyName: "multiContainerEL", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["ddBtn"], 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 }], usesInheritance: true, ngImport: i0, template: `
1484
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AutoComplete, deps: [{ token: i1.OverlayService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1485
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.4", type: AutoComplete, isStandalone: true, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: { minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: false, isRequired: false, transformFunction: numberAttribute }, minQueryLength: { classPropertyName: "minQueryLength", publicName: "minQueryLength", isSignal: false, isRequired: false, transformFunction: numberAttribute }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, 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 }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, inputStyleClass: { classPropertyName: "inputStyleClass", publicName: "inputStyleClass", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, autoHighlight: { classPropertyName: "autoHighlight", publicName: "autoHighlight", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, dropdownAriaLabel: { classPropertyName: "dropdownAriaLabel", publicName: "dropdownAriaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, unique: { classPropertyName: "unique", publicName: "unique", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, completeOnFocus: { classPropertyName: "completeOnFocus", publicName: "completeOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdown: { classPropertyName: "dropdown", publicName: "dropdown", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showEmptyMessage: { classPropertyName: "showEmptyMessage", publicName: "showEmptyMessage", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownMode: { classPropertyName: "dropdownMode", publicName: "dropdownMode", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, addOnTab: { classPropertyName: "addOnTab", publicName: "addOnTab", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, showTransitionOptions: { classPropertyName: "showTransitionOptions", publicName: "showTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, hideTransitionOptions: { classPropertyName: "hideTransitionOptions", publicName: "hideTransitionOptions", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, searchMessage: { classPropertyName: "searchMessage", publicName: "searchMessage", isSignal: false, isRequired: false, transformFunction: null }, emptySelectionMessage: { classPropertyName: "emptySelectionMessage", publicName: "emptySelectionMessage", isSignal: false, isRequired: false, transformFunction: null }, selectionMessage: { classPropertyName: "selectionMessage", publicName: "selectionMessage", isSignal: false, isRequired: false, transformFunction: null }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, searchLocale: { classPropertyName: "searchLocale", publicName: "searchLocale", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, typeahead: { classPropertyName: "typeahead", publicName: "typeahead", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, addOnBlur: { classPropertyName: "addOnBlur", publicName: "addOnBlur", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onUnselect: "onUnselect", onAdd: "onAdd", onFocus: "onFocus", onBlur: "onBlur", onDropdownClick: "onDropdownClick", onClear: "onClear", onInputKeydown: "onInputKeydown", onKeyUp: "onKeyUp", onShow: "onShow", onHide: "onHide", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "style": "sx('root')" } }, providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle, { provide: AUTOCOMPLETE_INSTANCE, useExisting: AutoComplete }, { provide: PARENT_INSTANCE, useExisting: AutoComplete }], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], descendants: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], descendants: true }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selecteditem"], descendants: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], descendants: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], descendants: true }, { propertyName: "removeIconTemplate", first: true, predicate: ["removeicon"], descendants: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], descendants: true }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"], descendants: true }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"], descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputEL", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "multiInputEl", first: true, predicate: ["multiIn"], descendants: true }, { propertyName: "multiContainerEL", first: true, predicate: ["multiContainer"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["ddBtn"], 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 }], usesInheritance: true, hostDirectives: [{ directive: i2.Bind }], ngImport: i0, template: `
1355
1486
  <input
1356
1487
  *ngIf="!multiple"
1357
1488
  #focusInput
1358
1489
  [pAutoFocus]="autofocus"
1359
1490
  pInputText
1491
+ [pt]="ptm('pcInputText')"
1360
1492
  [class]="cn(cx('pcInputText'), inputStyleClass)"
1361
1493
  [ngStyle]="inputStyle"
1362
1494
  [attr.type]="type"
@@ -1396,8 +1528,8 @@ class AutoComplete extends BaseInput {
1396
1528
  [fluid]="hasFluid"
1397
1529
  />
1398
1530
  <ng-container *ngIf="$filled() && !$disabled() && showClear && !loading">
1399
- <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true" />
1400
- <span *ngIf="clearIconTemplate || _clearIconTemplate" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true">
1531
+ <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true" />
1532
+ <span *ngIf="clearIconTemplate || _clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true">
1401
1533
  <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
1402
1534
  </span>
1403
1535
  </ng-container>
@@ -1405,6 +1537,7 @@ class AutoComplete extends BaseInput {
1405
1537
  <ul
1406
1538
  *ngIf="multiple"
1407
1539
  #multiContainer
1540
+ [pBind]="ptm('inputMultiple')"
1408
1541
  [class]="cx('inputMultiple')"
1409
1542
  [tabindex]="-1"
1410
1543
  role="listbox"
@@ -1417,6 +1550,7 @@ class AutoComplete extends BaseInput {
1417
1550
  <li
1418
1551
  #token
1419
1552
  *ngFor="let option of modelValue(); let i = index"
1553
+ [pBind]="ptm('chipItem')"
1420
1554
  [class]="cx('chipItem', { i })"
1421
1555
  [attr.id]="id + '_multiple_option_' + i"
1422
1556
  role="option"
@@ -1425,22 +1559,24 @@ class AutoComplete extends BaseInput {
1425
1559
  [attr.aria-posinset]="i + 1"
1426
1560
  [attr.aria-selected]="true"
1427
1561
  >
1428
- <p-chip [class]="cx('pcChip')" [label]="!selectedItemTemplate && !_selectedItemTemplate && getOptionLabel(option)" [removable]="true" (onRemove)="!readonly ? removeOption($event, i) : ''">
1562
+ <p-chip [pt]="ptm('pcChip')" [class]="cx('pcChip')" [label]="!selectedItemTemplate && !_selectedItemTemplate && getOptionLabel(option)" [disabled]="$disabled()" [removable]="true" (onRemove)="!readonly ? removeOption($event, i) : ''">
1429
1563
  <ng-container *ngTemplateOutlet="selectedItemTemplate || _selectedItemTemplate; context: { $implicit: option }"></ng-container>
1430
1564
  <ng-template #removeicon>
1431
- <span *ngIf="!removeIconTemplate && !_removeIconTemplate" [class]="cx('chipIcon')" (click)="!readonly ? removeOption($event, i) : ''">
1565
+ <span *ngIf="!removeIconTemplate && !_removeIconTemplate" [pBind]="ptm('chipIcon')" [class]="cx('chipIcon')" (click)="!readonly && !$disabled() ? removeOption($event, i) : ''">
1432
1566
  <svg data-p-icon="times-circle" [class]="cx('chipIcon')" [attr.aria-hidden]="true" />
1433
1567
  </span>
1434
- <span *ngIf="removeIconTemplate || _removeIconTemplate" [attr.aria-hidden]="true">
1568
+ <span *ngIf="removeIconTemplate || _removeIconTemplate" [pBind]="ptm('chipIcon')" [attr.aria-hidden]="true">
1435
1569
  <ng-template *ngTemplateOutlet="removeIconTemplate || _removeIconTemplate; context: { removeCallback: removeOption.bind(this), index: i, class: cx('chipIcon') }"></ng-template>
1436
1570
  </span>
1437
1571
  </ng-template>
1438
1572
  </p-chip>
1439
1573
  </li>
1440
- <li [class]="cx('inputChip')" role="option">
1574
+ <li [pBind]="ptm('inputChip')" [class]="cx('inputChip')" role="option">
1441
1575
  <input
1442
1576
  #focusInput
1577
+ #multiIn
1443
1578
  [pAutoFocus]="autofocus"
1579
+ [pBind]="ptm('input')"
1444
1580
  [class]="cx('pcInputText')"
1445
1581
  [ngStyle]="inputStyle"
1446
1582
  [attr.type]="type"
@@ -1477,21 +1613,22 @@ class AutoComplete extends BaseInput {
1477
1613
  </li>
1478
1614
  </ul>
1479
1615
  <ng-container *ngIf="loading">
1480
- <svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" [class]="cx('loader')" [spin]="true" [attr.aria-hidden]="true" />
1481
- <span *ngIf="loadingIconTemplate || _loadingIconTemplate" [class]="cx('loader')" [attr.aria-hidden]="true">
1616
+ <svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" [pBind]="ptm('loader')" [class]="cx('loader')" [spin]="true" [attr.aria-hidden]="true" />
1617
+ <span *ngIf="loadingIconTemplate || _loadingIconTemplate" [pBind]="ptm('loader')" [class]="cx('loader')" [attr.aria-hidden]="true">
1482
1618
  <ng-template *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-template>
1483
1619
  </span>
1484
1620
  </ng-container>
1485
- <button #ddBtn type="button" [attr.aria-label]="dropdownAriaLabel" [class]="cx('dropdown')" [disabled]="$disabled()" pRipple (click)="handleDropdownClick($event)" *ngIf="dropdown" [attr.tabindex]="tabindex">
1621
+ <button #ddBtn type="button" [pBind]="ptm('dropdown')" [attr.aria-label]="dropdownAriaLabel" [class]="cx('dropdown')" [disabled]="$disabled()" pRipple (click)="handleDropdownClick($event)" *ngIf="dropdown" [attr.tabindex]="tabindex">
1486
1622
  <span *ngIf="dropdownIcon" [ngClass]="dropdownIcon" [attr.aria-hidden]="true"></span>
1487
1623
  <ng-container *ngIf="!dropdownIcon">
1488
- <svg data-p-icon="chevron-down" *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate" />
1624
+ <svg data-p-icon="chevron-down" [pBind]="ptm('dropdown')" *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate" />
1489
1625
  <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate"></ng-template>
1490
1626
  </ng-container>
1491
1627
  </button>
1492
1628
  <p-overlay
1493
1629
  #overlay
1494
- [hostAttrSelector]="attrSelector"
1630
+ [pt]="ptm('pcOverlay')"
1631
+ [hostAttrSelector]="$attrSelector"
1495
1632
  [(visible)]="overlayVisible"
1496
1633
  [options]="overlayOptions"
1497
1634
  [target]="'@parent'"
@@ -1502,12 +1639,13 @@ class AutoComplete extends BaseInput {
1502
1639
  (onHide)="hide()"
1503
1640
  >
1504
1641
  <ng-template #content>
1505
- <div [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
1642
+ <div [pBind]="ptm('overlay')" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
1506
1643
  <ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
1507
- <div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight">
1644
+ <div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight">
1508
1645
  <p-scroller
1509
1646
  *ngIf="virtualScroll"
1510
1647
  #scroller
1648
+ [pt]="ptm('virtualScroller')"
1511
1649
  [items]="visibleOptions()"
1512
1650
  [style]="{ height: scrollHeight }"
1513
1651
  [itemSize]="virtualScrollItemSize"
@@ -1531,10 +1669,10 @@ class AutoComplete extends BaseInput {
1531
1669
  </div>
1532
1670
 
1533
1671
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1534
- <ul #items [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [attr.id]="id + '_list'" [attr.aria-label]="listLabel">
1672
+ <ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [attr.id]="id + '_list'" [attr.aria-label]="listLabel">
1535
1673
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1536
1674
  <ng-container *ngIf="isOptionGroup(option)">
1537
- <li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1675
+ <li [pBind]="ptm('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1538
1676
  <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1539
1677
  <ng-container *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1540
1678
  </li>
@@ -1542,6 +1680,7 @@ class AutoComplete extends BaseInput {
1542
1680
  <ng-container *ngIf="!isOptionGroup(option)">
1543
1681
  <li
1544
1682
  pRipple
1683
+ [pBind]="getPTOptions(option, scrollerOptions, i, 'option')"
1545
1684
  [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
1546
1685
  [class]="cx('option', { option, i, scrollerOptions })"
1547
1686
  [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)"
@@ -1568,7 +1707,7 @@ class AutoComplete extends BaseInput {
1568
1707
  </li>
1569
1708
  </ng-container>
1570
1709
  </ng-template>
1571
- <li *ngIf="!items || (items && items.length === 0 && showEmptyMessage)" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1710
+ <li *ngIf="!items || (items && items.length === 0 && showEmptyMessage)" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1572
1711
  <ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else empty">
1573
1712
  {{ searchResultMessageText }}
1574
1713
  </ng-container>
@@ -1583,20 +1722,21 @@ class AutoComplete extends BaseInput {
1583
1722
  </span>
1584
1723
  </ng-template>
1585
1724
  </p-overlay>
1586
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesCircleIcon, selector: "[data-p-icon=\"times-circle\"]" }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1725
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["hostName", "id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesCircleIcon, selector: "[data-p-icon=\"times-circle\"]" }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "styleClass", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i2.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1587
1726
  }
1588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AutoComplete, decorators: [{
1727
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AutoComplete, decorators: [{
1589
1728
  type: Component,
1590
1729
  args: [{
1591
1730
  selector: 'p-autoComplete, p-autocomplete, p-auto-complete',
1592
1731
  standalone: true,
1593
- imports: [CommonModule, Overlay, InputText, Ripple, Scroller, AutoFocus, TimesCircleIcon, SpinnerIcon, ChevronDownIcon, Chip, SharedModule, TimesIcon],
1732
+ imports: [CommonModule, Overlay, InputText, Ripple, Scroller, AutoFocus, TimesCircleIcon, SpinnerIcon, ChevronDownIcon, Chip, SharedModule, TimesIcon, BindModule],
1594
1733
  template: `
1595
1734
  <input
1596
1735
  *ngIf="!multiple"
1597
1736
  #focusInput
1598
1737
  [pAutoFocus]="autofocus"
1599
1738
  pInputText
1739
+ [pt]="ptm('pcInputText')"
1600
1740
  [class]="cn(cx('pcInputText'), inputStyleClass)"
1601
1741
  [ngStyle]="inputStyle"
1602
1742
  [attr.type]="type"
@@ -1636,8 +1776,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1636
1776
  [fluid]="hasFluid"
1637
1777
  />
1638
1778
  <ng-container *ngIf="$filled() && !$disabled() && showClear && !loading">
1639
- <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true" />
1640
- <span *ngIf="clearIconTemplate || _clearIconTemplate" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true">
1779
+ <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true" />
1780
+ <span *ngIf="clearIconTemplate || _clearIconTemplate" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true">
1641
1781
  <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
1642
1782
  </span>
1643
1783
  </ng-container>
@@ -1645,6 +1785,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1645
1785
  <ul
1646
1786
  *ngIf="multiple"
1647
1787
  #multiContainer
1788
+ [pBind]="ptm('inputMultiple')"
1648
1789
  [class]="cx('inputMultiple')"
1649
1790
  [tabindex]="-1"
1650
1791
  role="listbox"
@@ -1657,6 +1798,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1657
1798
  <li
1658
1799
  #token
1659
1800
  *ngFor="let option of modelValue(); let i = index"
1801
+ [pBind]="ptm('chipItem')"
1660
1802
  [class]="cx('chipItem', { i })"
1661
1803
  [attr.id]="id + '_multiple_option_' + i"
1662
1804
  role="option"
@@ -1665,22 +1807,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1665
1807
  [attr.aria-posinset]="i + 1"
1666
1808
  [attr.aria-selected]="true"
1667
1809
  >
1668
- <p-chip [class]="cx('pcChip')" [label]="!selectedItemTemplate && !_selectedItemTemplate && getOptionLabel(option)" [removable]="true" (onRemove)="!readonly ? removeOption($event, i) : ''">
1810
+ <p-chip [pt]="ptm('pcChip')" [class]="cx('pcChip')" [label]="!selectedItemTemplate && !_selectedItemTemplate && getOptionLabel(option)" [disabled]="$disabled()" [removable]="true" (onRemove)="!readonly ? removeOption($event, i) : ''">
1669
1811
  <ng-container *ngTemplateOutlet="selectedItemTemplate || _selectedItemTemplate; context: { $implicit: option }"></ng-container>
1670
1812
  <ng-template #removeicon>
1671
- <span *ngIf="!removeIconTemplate && !_removeIconTemplate" [class]="cx('chipIcon')" (click)="!readonly ? removeOption($event, i) : ''">
1813
+ <span *ngIf="!removeIconTemplate && !_removeIconTemplate" [pBind]="ptm('chipIcon')" [class]="cx('chipIcon')" (click)="!readonly && !$disabled() ? removeOption($event, i) : ''">
1672
1814
  <svg data-p-icon="times-circle" [class]="cx('chipIcon')" [attr.aria-hidden]="true" />
1673
1815
  </span>
1674
- <span *ngIf="removeIconTemplate || _removeIconTemplate" [attr.aria-hidden]="true">
1816
+ <span *ngIf="removeIconTemplate || _removeIconTemplate" [pBind]="ptm('chipIcon')" [attr.aria-hidden]="true">
1675
1817
  <ng-template *ngTemplateOutlet="removeIconTemplate || _removeIconTemplate; context: { removeCallback: removeOption.bind(this), index: i, class: cx('chipIcon') }"></ng-template>
1676
1818
  </span>
1677
1819
  </ng-template>
1678
1820
  </p-chip>
1679
1821
  </li>
1680
- <li [class]="cx('inputChip')" role="option">
1822
+ <li [pBind]="ptm('inputChip')" [class]="cx('inputChip')" role="option">
1681
1823
  <input
1682
1824
  #focusInput
1825
+ #multiIn
1683
1826
  [pAutoFocus]="autofocus"
1827
+ [pBind]="ptm('input')"
1684
1828
  [class]="cx('pcInputText')"
1685
1829
  [ngStyle]="inputStyle"
1686
1830
  [attr.type]="type"
@@ -1717,21 +1861,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1717
1861
  </li>
1718
1862
  </ul>
1719
1863
  <ng-container *ngIf="loading">
1720
- <svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" [class]="cx('loader')" [spin]="true" [attr.aria-hidden]="true" />
1721
- <span *ngIf="loadingIconTemplate || _loadingIconTemplate" [class]="cx('loader')" [attr.aria-hidden]="true">
1864
+ <svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" [pBind]="ptm('loader')" [class]="cx('loader')" [spin]="true" [attr.aria-hidden]="true" />
1865
+ <span *ngIf="loadingIconTemplate || _loadingIconTemplate" [pBind]="ptm('loader')" [class]="cx('loader')" [attr.aria-hidden]="true">
1722
1866
  <ng-template *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-template>
1723
1867
  </span>
1724
1868
  </ng-container>
1725
- <button #ddBtn type="button" [attr.aria-label]="dropdownAriaLabel" [class]="cx('dropdown')" [disabled]="$disabled()" pRipple (click)="handleDropdownClick($event)" *ngIf="dropdown" [attr.tabindex]="tabindex">
1869
+ <button #ddBtn type="button" [pBind]="ptm('dropdown')" [attr.aria-label]="dropdownAriaLabel" [class]="cx('dropdown')" [disabled]="$disabled()" pRipple (click)="handleDropdownClick($event)" *ngIf="dropdown" [attr.tabindex]="tabindex">
1726
1870
  <span *ngIf="dropdownIcon" [ngClass]="dropdownIcon" [attr.aria-hidden]="true"></span>
1727
1871
  <ng-container *ngIf="!dropdownIcon">
1728
- <svg data-p-icon="chevron-down" *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate" />
1872
+ <svg data-p-icon="chevron-down" [pBind]="ptm('dropdown')" *ngIf="!dropdownIconTemplate && !_dropdownIconTemplate" />
1729
1873
  <ng-template *ngTemplateOutlet="dropdownIconTemplate || _dropdownIconTemplate"></ng-template>
1730
1874
  </ng-container>
1731
1875
  </button>
1732
1876
  <p-overlay
1733
1877
  #overlay
1734
- [hostAttrSelector]="attrSelector"
1878
+ [pt]="ptm('pcOverlay')"
1879
+ [hostAttrSelector]="$attrSelector"
1735
1880
  [(visible)]="overlayVisible"
1736
1881
  [options]="overlayOptions"
1737
1882
  [target]="'@parent'"
@@ -1742,12 +1887,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1742
1887
  (onHide)="hide()"
1743
1888
  >
1744
1889
  <ng-template #content>
1745
- <div [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
1890
+ <div [pBind]="ptm('overlay')" [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle">
1746
1891
  <ng-container *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-container>
1747
- <div [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight">
1892
+ <div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="virtualScroll ? 'auto' : scrollHeight">
1748
1893
  <p-scroller
1749
1894
  *ngIf="virtualScroll"
1750
1895
  #scroller
1896
+ [pt]="ptm('virtualScroller')"
1751
1897
  [items]="visibleOptions()"
1752
1898
  [style]="{ height: scrollHeight }"
1753
1899
  [itemSize]="virtualScrollItemSize"
@@ -1771,10 +1917,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1771
1917
  </div>
1772
1918
 
1773
1919
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1774
- <ul #items [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [attr.id]="id + '_list'" [attr.aria-label]="listLabel">
1920
+ <ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [attr.id]="id + '_list'" [attr.aria-label]="listLabel">
1775
1921
  <ng-template ngFor let-option [ngForOf]="items" let-i="index">
1776
1922
  <ng-container *ngIf="isOptionGroup(option)">
1777
- <li [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1923
+ <li [pBind]="ptm('optionGroup')" [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)" [class]="cx('optionGroup')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1778
1924
  <span *ngIf="!groupTemplate">{{ getOptionGroupLabel(option.optionGroup) }}</span>
1779
1925
  <ng-container *ngTemplateOutlet="groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1780
1926
  </li>
@@ -1782,6 +1928,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1782
1928
  <ng-container *ngIf="!isOptionGroup(option)">
1783
1929
  <li
1784
1930
  pRipple
1931
+ [pBind]="getPTOptions(option, scrollerOptions, i, 'option')"
1785
1932
  [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
1786
1933
  [class]="cx('option', { option, i, scrollerOptions })"
1787
1934
  [attr.id]="id + '_' + getOptionIndex(i, scrollerOptions)"
@@ -1808,7 +1955,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1808
1955
  </li>
1809
1956
  </ng-container>
1810
1957
  </ng-template>
1811
- <li *ngIf="!items || (items && items.length === 0 && showEmptyMessage)" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1958
+ <li *ngIf="!items || (items && items.length === 0 && showEmptyMessage)" [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
1812
1959
  <ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else empty">
1813
1960
  {{ searchResultMessageText }}
1814
1961
  </ng-container>
@@ -1824,13 +1971,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1824
1971
  </ng-template>
1825
1972
  </p-overlay>
1826
1973
  `,
1827
- providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle],
1974
+ providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle, { provide: AUTOCOMPLETE_INSTANCE, useExisting: AutoComplete }, { provide: PARENT_INSTANCE, useExisting: AutoComplete }],
1828
1975
  changeDetection: ChangeDetectionStrategy.OnPush,
1829
1976
  encapsulation: ViewEncapsulation.None,
1830
1977
  host: {
1831
1978
  '[class]': "cn(cx('root'), styleClass)",
1832
1979
  '[style]': "sx('root')"
1833
- }
1980
+ },
1981
+ hostDirectives: [Bind]
1834
1982
  }]
1835
1983
  }], ctorParameters: () => [{ type: i1.OverlayService }, { type: i0.NgZone }], propDecorators: { minLength: [{
1836
1984
  type: Input,
@@ -1916,6 +2064,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1916
2064
  }], multiple: [{
1917
2065
  type: Input,
1918
2066
  args: [{ transform: booleanAttribute }]
2067
+ }], addOnTab: [{
2068
+ type: Input,
2069
+ args: [{ transform: booleanAttribute }]
1919
2070
  }], tabindex: [{
1920
2071
  type: Input,
1921
2072
  args: [{ transform: numberAttribute }]
@@ -1969,12 +2120,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1969
2120
  }], typeahead: [{
1970
2121
  type: Input,
1971
2122
  args: [{ transform: booleanAttribute }]
2123
+ }], addOnBlur: [{
2124
+ type: Input,
2125
+ args: [{ transform: booleanAttribute }]
2126
+ }], separator: [{
2127
+ type: Input
1972
2128
  }], completeMethod: [{
1973
2129
  type: Output
1974
2130
  }], onSelect: [{
1975
2131
  type: Output
1976
2132
  }], onUnselect: [{
1977
2133
  type: Output
2134
+ }], onAdd: [{
2135
+ type: Output
1978
2136
  }], onFocus: [{
1979
2137
  type: Output
1980
2138
  }], onBlur: [{
@@ -1983,6 +2141,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
1983
2141
  type: Output
1984
2142
  }], onClear: [{
1985
2143
  type: Output
2144
+ }], onInputKeydown: [{
2145
+ type: Output
1986
2146
  }], onKeyUp: [{
1987
2147
  type: Output
1988
2148
  }], onShow: [{
@@ -2053,14 +2213,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
2053
2213
  args: [PrimeTemplate]
2054
2214
  }] } });
2055
2215
  class AutoCompleteModule {
2056
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AutoCompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2057
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: AutoCompleteModule, imports: [AutoComplete], exports: [AutoComplete, SharedModule] });
2058
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AutoCompleteModule, imports: [AutoComplete, SharedModule] });
2216
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AutoCompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2217
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: AutoCompleteModule, imports: [AutoComplete, SharedModule], exports: [AutoComplete, SharedModule] });
2218
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AutoCompleteModule, imports: [AutoComplete, SharedModule, SharedModule] });
2059
2219
  }
2060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: AutoCompleteModule, decorators: [{
2220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AutoCompleteModule, decorators: [{
2061
2221
  type: NgModule,
2062
2222
  args: [{
2063
- imports: [AutoComplete],
2223
+ imports: [AutoComplete, SharedModule],
2064
2224
  exports: [AutoComplete, SharedModule]
2065
2225
  }]
2066
2226
  }] });