primenglab 22.0.0-beta.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 (852) hide show
  1. package/LICENSE.md +77 -0
  2. package/README.md +11 -0
  3. package/fesm2022/primenglab-accordion.mjs +656 -0
  4. package/fesm2022/primenglab-accordion.mjs.map +1 -0
  5. package/fesm2022/primenglab-animateonscroll.mjs +166 -0
  6. package/fesm2022/primenglab-animateonscroll.mjs.map +1 -0
  7. package/fesm2022/primenglab-api.mjs +850 -0
  8. package/fesm2022/primenglab-api.mjs.map +1 -0
  9. package/fesm2022/primenglab-autocomplete.mjs +2140 -0
  10. package/fesm2022/primenglab-autocomplete.mjs.map +1 -0
  11. package/fesm2022/primenglab-autofocus.mjs +78 -0
  12. package/fesm2022/primenglab-autofocus.mjs.map +1 -0
  13. package/fesm2022/primenglab-avatar.mjs +211 -0
  14. package/fesm2022/primenglab-avatar.mjs.map +1 -0
  15. package/fesm2022/primenglab-avatargroup.mjs +99 -0
  16. package/fesm2022/primenglab-avatargroup.mjs.map +1 -0
  17. package/fesm2022/primenglab-badge.mjs +161 -0
  18. package/fesm2022/primenglab-badge.mjs.map +1 -0
  19. package/fesm2022/primenglab-base.mjs +124 -0
  20. package/fesm2022/primenglab-base.mjs.map +1 -0
  21. package/fesm2022/primenglab-basecomponent.mjs +477 -0
  22. package/fesm2022/primenglab-basecomponent.mjs.map +1 -0
  23. package/fesm2022/primenglab-baseeditableholder.mjs +70 -0
  24. package/fesm2022/primenglab-baseeditableholder.mjs.map +1 -0
  25. package/fesm2022/primenglab-baseinput.mjs +100 -0
  26. package/fesm2022/primenglab-baseinput.mjs.map +1 -0
  27. package/fesm2022/primenglab-basemodelholder.mjs +27 -0
  28. package/fesm2022/primenglab-basemodelholder.mjs.map +1 -0
  29. package/fesm2022/primenglab-bind.mjs +97 -0
  30. package/fesm2022/primenglab-bind.mjs.map +1 -0
  31. package/fesm2022/primenglab-blockui.mjs +240 -0
  32. package/fesm2022/primenglab-blockui.mjs.map +1 -0
  33. package/fesm2022/primenglab-breadcrumb.mjs +582 -0
  34. package/fesm2022/primenglab-breadcrumb.mjs.map +1 -0
  35. package/fesm2022/primenglab-button.mjs +799 -0
  36. package/fesm2022/primenglab-button.mjs.map +1 -0
  37. package/fesm2022/primenglab-buttongroup.mjs +110 -0
  38. package/fesm2022/primenglab-buttongroup.mjs.map +1 -0
  39. package/fesm2022/primenglab-card.mjs +252 -0
  40. package/fesm2022/primenglab-card.mjs.map +1 -0
  41. package/fesm2022/primenglab-carousel.mjs +2052 -0
  42. package/fesm2022/primenglab-carousel.mjs.map +1 -0
  43. package/fesm2022/primenglab-cascadeselect.mjs +1756 -0
  44. package/fesm2022/primenglab-cascadeselect.mjs.map +1 -0
  45. package/fesm2022/primenglab-chart.mjs +235 -0
  46. package/fesm2022/primenglab-chart.mjs.map +1 -0
  47. package/fesm2022/primenglab-checkbox.mjs +441 -0
  48. package/fesm2022/primenglab-checkbox.mjs.map +1 -0
  49. package/fesm2022/primenglab-chip.mjs +304 -0
  50. package/fesm2022/primenglab-chip.mjs.map +1 -0
  51. package/fesm2022/primenglab-classnames.mjs +49 -0
  52. package/fesm2022/primenglab-classnames.mjs.map +1 -0
  53. package/fesm2022/primenglab-colorpicker.mjs +741 -0
  54. package/fesm2022/primenglab-colorpicker.mjs.map +1 -0
  55. package/fesm2022/primenglab-commandmenu.mjs +419 -0
  56. package/fesm2022/primenglab-commandmenu.mjs.map +1 -0
  57. package/fesm2022/primenglab-compare.mjs +520 -0
  58. package/fesm2022/primenglab-compare.mjs.map +1 -0
  59. package/fesm2022/primenglab-config.mjs +322 -0
  60. package/fesm2022/primenglab-config.mjs.map +1 -0
  61. package/fesm2022/primenglab-confirmdialog.mjs +746 -0
  62. package/fesm2022/primenglab-confirmdialog.mjs.map +1 -0
  63. package/fesm2022/primenglab-confirmpopup.mjs +685 -0
  64. package/fesm2022/primenglab-confirmpopup.mjs.map +1 -0
  65. package/fesm2022/primenglab-contextmenu.mjs +1485 -0
  66. package/fesm2022/primenglab-contextmenu.mjs.map +1 -0
  67. package/fesm2022/primenglab-dataview.mjs +765 -0
  68. package/fesm2022/primenglab-dataview.mjs.map +1 -0
  69. package/fesm2022/primenglab-datepicker.mjs +4373 -0
  70. package/fesm2022/primenglab-datepicker.mjs.map +1 -0
  71. package/fesm2022/primenglab-dialog.mjs +1234 -0
  72. package/fesm2022/primenglab-dialog.mjs.map +1 -0
  73. package/fesm2022/primenglab-divider.mjs +160 -0
  74. package/fesm2022/primenglab-divider.mjs.map +1 -0
  75. package/fesm2022/primenglab-dock.mjs +580 -0
  76. package/fesm2022/primenglab-dock.mjs.map +1 -0
  77. package/fesm2022/primenglab-dom.mjs +778 -0
  78. package/fesm2022/primenglab-dom.mjs.map +1 -0
  79. package/fesm2022/primenglab-dragdrop.mjs +312 -0
  80. package/fesm2022/primenglab-dragdrop.mjs.map +1 -0
  81. package/fesm2022/primenglab-drawer.mjs +708 -0
  82. package/fesm2022/primenglab-drawer.mjs.map +1 -0
  83. package/fesm2022/primenglab-dynamicdialog.mjs +1096 -0
  84. package/fesm2022/primenglab-dynamicdialog.mjs.map +1 -0
  85. package/fesm2022/primenglab-editor.mjs +496 -0
  86. package/fesm2022/primenglab-editor.mjs.map +1 -0
  87. package/fesm2022/primenglab-fieldset.mjs +418 -0
  88. package/fesm2022/primenglab-fieldset.mjs.map +1 -0
  89. package/fesm2022/primenglab-fileupload.mjs +1486 -0
  90. package/fesm2022/primenglab-fileupload.mjs.map +1 -0
  91. package/fesm2022/primenglab-floatlabel.mjs +106 -0
  92. package/fesm2022/primenglab-floatlabel.mjs.map +1 -0
  93. package/fesm2022/primenglab-fluid.mjs +89 -0
  94. package/fesm2022/primenglab-fluid.mjs.map +1 -0
  95. package/fesm2022/primenglab-focustrap.mjs +113 -0
  96. package/fesm2022/primenglab-focustrap.mjs.map +1 -0
  97. package/fesm2022/primenglab-galleria.mjs +1854 -0
  98. package/fesm2022/primenglab-galleria.mjs.map +1 -0
  99. package/fesm2022/primenglab-gallery.mjs +1859 -0
  100. package/fesm2022/primenglab-gallery.mjs.map +1 -0
  101. package/fesm2022/primenglab-iconfield.mjs +97 -0
  102. package/fesm2022/primenglab-iconfield.mjs.map +1 -0
  103. package/fesm2022/primenglab-icons-angledoubledown.mjs +37 -0
  104. package/fesm2022/primenglab-icons-angledoubledown.mjs.map +1 -0
  105. package/fesm2022/primenglab-icons-angledoubleleft.mjs +37 -0
  106. package/fesm2022/primenglab-icons-angledoubleleft.mjs.map +1 -0
  107. package/fesm2022/primenglab-icons-angledoubleright.mjs +37 -0
  108. package/fesm2022/primenglab-icons-angledoubleright.mjs.map +1 -0
  109. package/fesm2022/primenglab-icons-angledoubleup.mjs +37 -0
  110. package/fesm2022/primenglab-icons-angledoubleup.mjs.map +1 -0
  111. package/fesm2022/primenglab-icons-angledown.mjs +33 -0
  112. package/fesm2022/primenglab-icons-angledown.mjs.map +1 -0
  113. package/fesm2022/primenglab-icons-angleleft.mjs +33 -0
  114. package/fesm2022/primenglab-icons-angleleft.mjs.map +1 -0
  115. package/fesm2022/primenglab-icons-angleright.mjs +33 -0
  116. package/fesm2022/primenglab-icons-angleright.mjs.map +1 -0
  117. package/fesm2022/primenglab-icons-angleup.mjs +33 -0
  118. package/fesm2022/primenglab-icons-angleup.mjs.map +1 -0
  119. package/fesm2022/primenglab-icons-arrowdown.mjs +56 -0
  120. package/fesm2022/primenglab-icons-arrowdown.mjs.map +1 -0
  121. package/fesm2022/primenglab-icons-arrowdownleft.mjs +33 -0
  122. package/fesm2022/primenglab-icons-arrowdownleft.mjs.map +1 -0
  123. package/fesm2022/primenglab-icons-arrowdownright.mjs +33 -0
  124. package/fesm2022/primenglab-icons-arrowdownright.mjs.map +1 -0
  125. package/fesm2022/primenglab-icons-arrowleft.mjs +56 -0
  126. package/fesm2022/primenglab-icons-arrowleft.mjs.map +1 -0
  127. package/fesm2022/primenglab-icons-arrowright.mjs +37 -0
  128. package/fesm2022/primenglab-icons-arrowright.mjs.map +1 -0
  129. package/fesm2022/primenglab-icons-arrowup.mjs +56 -0
  130. package/fesm2022/primenglab-icons-arrowup.mjs.map +1 -0
  131. package/fesm2022/primenglab-icons-ban.mjs +52 -0
  132. package/fesm2022/primenglab-icons-ban.mjs.map +1 -0
  133. package/fesm2022/primenglab-icons-bars.mjs +37 -0
  134. package/fesm2022/primenglab-icons-bars.mjs.map +1 -0
  135. package/fesm2022/primenglab-icons-baseicon.mjs +103 -0
  136. package/fesm2022/primenglab-icons-baseicon.mjs.map +1 -0
  137. package/fesm2022/primenglab-icons-blank.mjs +23 -0
  138. package/fesm2022/primenglab-icons-blank.mjs.map +1 -0
  139. package/fesm2022/primenglab-icons-calendar.mjs +33 -0
  140. package/fesm2022/primenglab-icons-calendar.mjs.map +1 -0
  141. package/fesm2022/primenglab-icons-caretleft.mjs +33 -0
  142. package/fesm2022/primenglab-icons-caretleft.mjs.map +1 -0
  143. package/fesm2022/primenglab-icons-caretright.mjs +33 -0
  144. package/fesm2022/primenglab-icons-caretright.mjs.map +1 -0
  145. package/fesm2022/primenglab-icons-check.mjs +33 -0
  146. package/fesm2022/primenglab-icons-check.mjs.map +1 -0
  147. package/fesm2022/primenglab-icons-chevrondown.mjs +33 -0
  148. package/fesm2022/primenglab-icons-chevrondown.mjs.map +1 -0
  149. package/fesm2022/primenglab-icons-chevronleft.mjs +33 -0
  150. package/fesm2022/primenglab-icons-chevronleft.mjs.map +1 -0
  151. package/fesm2022/primenglab-icons-chevronright.mjs +33 -0
  152. package/fesm2022/primenglab-icons-chevronright.mjs.map +1 -0
  153. package/fesm2022/primenglab-icons-chevronup.mjs +33 -0
  154. package/fesm2022/primenglab-icons-chevronup.mjs.map +1 -0
  155. package/fesm2022/primenglab-icons-exclamationtriangle.mjs +68 -0
  156. package/fesm2022/primenglab-icons-exclamationtriangle.mjs.map +1 -0
  157. package/fesm2022/primenglab-icons-eye.mjs +37 -0
  158. package/fesm2022/primenglab-icons-eye.mjs.map +1 -0
  159. package/fesm2022/primenglab-icons-eyeslash.mjs +56 -0
  160. package/fesm2022/primenglab-icons-eyeslash.mjs.map +1 -0
  161. package/fesm2022/primenglab-icons-filter.mjs +52 -0
  162. package/fesm2022/primenglab-icons-filter.mjs.map +1 -0
  163. package/fesm2022/primenglab-icons-filterfill.mjs +33 -0
  164. package/fesm2022/primenglab-icons-filterfill.mjs.map +1 -0
  165. package/fesm2022/primenglab-icons-filterslash.mjs +56 -0
  166. package/fesm2022/primenglab-icons-filterslash.mjs.map +1 -0
  167. package/fesm2022/primenglab-icons-home.mjs +56 -0
  168. package/fesm2022/primenglab-icons-home.mjs.map +1 -0
  169. package/fesm2022/primenglab-icons-infocircle.mjs +56 -0
  170. package/fesm2022/primenglab-icons-infocircle.mjs.map +1 -0
  171. package/fesm2022/primenglab-icons-minus.mjs +33 -0
  172. package/fesm2022/primenglab-icons-minus.mjs.map +1 -0
  173. package/fesm2022/primenglab-icons-pencil.mjs +52 -0
  174. package/fesm2022/primenglab-icons-pencil.mjs.map +1 -0
  175. package/fesm2022/primenglab-icons-plus.mjs +52 -0
  176. package/fesm2022/primenglab-icons-plus.mjs.map +1 -0
  177. package/fesm2022/primenglab-icons-refresh.mjs +56 -0
  178. package/fesm2022/primenglab-icons-refresh.mjs.map +1 -0
  179. package/fesm2022/primenglab-icons-search.mjs +56 -0
  180. package/fesm2022/primenglab-icons-search.mjs.map +1 -0
  181. package/fesm2022/primenglab-icons-searchminus.mjs +56 -0
  182. package/fesm2022/primenglab-icons-searchminus.mjs.map +1 -0
  183. package/fesm2022/primenglab-icons-searchplus.mjs +56 -0
  184. package/fesm2022/primenglab-icons-searchplus.mjs.map +1 -0
  185. package/fesm2022/primenglab-icons-sortalt.mjs +64 -0
  186. package/fesm2022/primenglab-icons-sortalt.mjs.map +1 -0
  187. package/fesm2022/primenglab-icons-sortamountdown.mjs +52 -0
  188. package/fesm2022/primenglab-icons-sortamountdown.mjs.map +1 -0
  189. package/fesm2022/primenglab-icons-sortamountupalt.mjs +52 -0
  190. package/fesm2022/primenglab-icons-sortamountupalt.mjs.map +1 -0
  191. package/fesm2022/primenglab-icons-spinner.mjs +52 -0
  192. package/fesm2022/primenglab-icons-spinner.mjs.map +1 -0
  193. package/fesm2022/primenglab-icons-star.mjs +52 -0
  194. package/fesm2022/primenglab-icons-star.mjs.map +1 -0
  195. package/fesm2022/primenglab-icons-starfill.mjs +52 -0
  196. package/fesm2022/primenglab-icons-starfill.mjs.map +1 -0
  197. package/fesm2022/primenglab-icons-thlarge.mjs +56 -0
  198. package/fesm2022/primenglab-icons-thlarge.mjs.map +1 -0
  199. package/fesm2022/primenglab-icons-times.mjs +33 -0
  200. package/fesm2022/primenglab-icons-times.mjs.map +1 -0
  201. package/fesm2022/primenglab-icons-timescircle.mjs +56 -0
  202. package/fesm2022/primenglab-icons-timescircle.mjs.map +1 -0
  203. package/fesm2022/primenglab-icons-trash.mjs +56 -0
  204. package/fesm2022/primenglab-icons-trash.mjs.map +1 -0
  205. package/fesm2022/primenglab-icons-undo.mjs +56 -0
  206. package/fesm2022/primenglab-icons-undo.mjs.map +1 -0
  207. package/fesm2022/primenglab-icons-upload.mjs +56 -0
  208. package/fesm2022/primenglab-icons-upload.mjs.map +1 -0
  209. package/fesm2022/primenglab-icons-windowmaximize.mjs +56 -0
  210. package/fesm2022/primenglab-icons-windowmaximize.mjs.map +1 -0
  211. package/fesm2022/primenglab-icons-windowminimize.mjs +56 -0
  212. package/fesm2022/primenglab-icons-windowminimize.mjs.map +1 -0
  213. package/fesm2022/primenglab-icons.mjs +63 -0
  214. package/fesm2022/primenglab-icons.mjs.map +1 -0
  215. package/fesm2022/primenglab-iftalabel.mjs +90 -0
  216. package/fesm2022/primenglab-iftalabel.mjs.map +1 -0
  217. package/fesm2022/primenglab-image.mjs +728 -0
  218. package/fesm2022/primenglab-image.mjs.map +1 -0
  219. package/fesm2022/primenglab-imagecompare.mjs +177 -0
  220. package/fesm2022/primenglab-imagecompare.mjs.map +1 -0
  221. package/fesm2022/primenglab-inplace.mjs +237 -0
  222. package/fesm2022/primenglab-inplace.mjs.map +1 -0
  223. package/fesm2022/primenglab-inputcolor.mjs +2262 -0
  224. package/fesm2022/primenglab-inputcolor.mjs.map +1 -0
  225. package/fesm2022/primenglab-inputgroup.mjs +121 -0
  226. package/fesm2022/primenglab-inputgroup.mjs.map +1 -0
  227. package/fesm2022/primenglab-inputgroupaddon.mjs +70 -0
  228. package/fesm2022/primenglab-inputgroupaddon.mjs.map +1 -0
  229. package/fesm2022/primenglab-inputicon.mjs +74 -0
  230. package/fesm2022/primenglab-inputicon.mjs.map +1 -0
  231. package/fesm2022/primenglab-inputmask.mjs +1495 -0
  232. package/fesm2022/primenglab-inputmask.mjs.map +1 -0
  233. package/fesm2022/primenglab-inputnumber.mjs +1624 -0
  234. package/fesm2022/primenglab-inputnumber.mjs.map +1 -0
  235. package/fesm2022/primenglab-inputotp.mjs +445 -0
  236. package/fesm2022/primenglab-inputotp.mjs.map +1 -0
  237. package/fesm2022/primenglab-inputpassword.mjs +102 -0
  238. package/fesm2022/primenglab-inputpassword.mjs.map +1 -0
  239. package/fesm2022/primenglab-inputtags.mjs +748 -0
  240. package/fesm2022/primenglab-inputtags.mjs.map +1 -0
  241. package/fesm2022/primenglab-inputtext.mjs +174 -0
  242. package/fesm2022/primenglab-inputtext.mjs.map +1 -0
  243. package/fesm2022/primenglab-keyfilter.mjs +252 -0
  244. package/fesm2022/primenglab-keyfilter.mjs.map +1 -0
  245. package/fesm2022/primenglab-knob.mjs +467 -0
  246. package/fesm2022/primenglab-knob.mjs.map +1 -0
  247. package/fesm2022/primenglab-label.mjs +85 -0
  248. package/fesm2022/primenglab-label.mjs.map +1 -0
  249. package/fesm2022/primenglab-license.mjs +39 -0
  250. package/fesm2022/primenglab-license.mjs.map +1 -0
  251. package/fesm2022/primenglab-listbox.mjs +2108 -0
  252. package/fesm2022/primenglab-listbox.mjs.map +1 -0
  253. package/fesm2022/primenglab-megamenu.mjs +1595 -0
  254. package/fesm2022/primenglab-megamenu.mjs.map +1 -0
  255. package/fesm2022/primenglab-menu.mjs +1224 -0
  256. package/fesm2022/primenglab-menu.mjs.map +1 -0
  257. package/fesm2022/primenglab-menubar.mjs +1448 -0
  258. package/fesm2022/primenglab-menubar.mjs.map +1 -0
  259. package/fesm2022/primenglab-message.mjs +306 -0
  260. package/fesm2022/primenglab-message.mjs.map +1 -0
  261. package/fesm2022/primenglab-metergroup.mjs +412 -0
  262. package/fesm2022/primenglab-metergroup.mjs.map +1 -0
  263. package/fesm2022/primenglab-motion.mjs +719 -0
  264. package/fesm2022/primenglab-motion.mjs.map +1 -0
  265. package/fesm2022/primenglab-multiselect.mjs +2543 -0
  266. package/fesm2022/primenglab-multiselect.mjs.map +1 -0
  267. package/fesm2022/primenglab-orderlist.mjs +868 -0
  268. package/fesm2022/primenglab-orderlist.mjs.map +1 -0
  269. package/fesm2022/primenglab-organizationchart.mjs +617 -0
  270. package/fesm2022/primenglab-organizationchart.mjs.map +1 -0
  271. package/fesm2022/primenglab-overlay.mjs +751 -0
  272. package/fesm2022/primenglab-overlay.mjs.map +1 -0
  273. package/fesm2022/primenglab-overlaybadge.mjs +134 -0
  274. package/fesm2022/primenglab-overlaybadge.mjs.map +1 -0
  275. package/fesm2022/primenglab-paginator.mjs +759 -0
  276. package/fesm2022/primenglab-paginator.mjs.map +1 -0
  277. package/fesm2022/primenglab-panel.mjs +487 -0
  278. package/fesm2022/primenglab-panel.mjs.map +1 -0
  279. package/fesm2022/primenglab-panelmenu.mjs +1599 -0
  280. package/fesm2022/primenglab-panelmenu.mjs.map +1 -0
  281. package/fesm2022/primenglab-passthrough.mjs +21 -0
  282. package/fesm2022/primenglab-passthrough.mjs.map +1 -0
  283. package/fesm2022/primenglab-password.mjs +1089 -0
  284. package/fesm2022/primenglab-password.mjs.map +1 -0
  285. package/fesm2022/primenglab-picklist.mjs +1992 -0
  286. package/fesm2022/primenglab-picklist.mjs.map +1 -0
  287. package/fesm2022/primenglab-popover.mjs +488 -0
  288. package/fesm2022/primenglab-popover.mjs.map +1 -0
  289. package/fesm2022/primenglab-progressbar.mjs +200 -0
  290. package/fesm2022/primenglab-progressbar.mjs.map +1 -0
  291. package/fesm2022/primenglab-progressspinner.mjs +313 -0
  292. package/fesm2022/primenglab-progressspinner.mjs.map +1 -0
  293. package/fesm2022/primenglab-radiobutton.mjs +347 -0
  294. package/fesm2022/primenglab-radiobutton.mjs.map +1 -0
  295. package/fesm2022/primenglab-rating.mjs +488 -0
  296. package/fesm2022/primenglab-rating.mjs.map +1 -0
  297. package/fesm2022/primenglab-ripple.mjs +192 -0
  298. package/fesm2022/primenglab-ripple.mjs.map +1 -0
  299. package/fesm2022/primenglab-scrollarea.mjs +730 -0
  300. package/fesm2022/primenglab-scrollarea.mjs.map +1 -0
  301. package/fesm2022/primenglab-scroller.mjs +1183 -0
  302. package/fesm2022/primenglab-scroller.mjs.map +1 -0
  303. package/fesm2022/primenglab-scrollpanel.mjs +543 -0
  304. package/fesm2022/primenglab-scrollpanel.mjs.map +1 -0
  305. package/fesm2022/primenglab-scrolltop.mjs +323 -0
  306. package/fesm2022/primenglab-scrolltop.mjs.map +1 -0
  307. package/fesm2022/primenglab-select.mjs +2287 -0
  308. package/fesm2022/primenglab-select.mjs.map +1 -0
  309. package/fesm2022/primenglab-selectbutton.mjs +390 -0
  310. package/fesm2022/primenglab-selectbutton.mjs.map +1 -0
  311. package/fesm2022/primenglab-sidebar.mjs +1461 -0
  312. package/fesm2022/primenglab-sidebar.mjs.map +1 -0
  313. package/fesm2022/primenglab-skeleton.mjs +161 -0
  314. package/fesm2022/primenglab-skeleton.mjs.map +1 -0
  315. package/fesm2022/primenglab-slider.mjs +776 -0
  316. package/fesm2022/primenglab-slider.mjs.map +1 -0
  317. package/fesm2022/primenglab-speeddial.mjs +892 -0
  318. package/fesm2022/primenglab-speeddial.mjs.map +1 -0
  319. package/fesm2022/primenglab-splitbutton.mjs +544 -0
  320. package/fesm2022/primenglab-splitbutton.mjs.map +1 -0
  321. package/fesm2022/primenglab-splitter.mjs +853 -0
  322. package/fesm2022/primenglab-splitter.mjs.map +1 -0
  323. package/fesm2022/primenglab-stepper.mjs +724 -0
  324. package/fesm2022/primenglab-stepper.mjs.map +1 -0
  325. package/fesm2022/primenglab-steps.mjs +425 -0
  326. package/fesm2022/primenglab-steps.mjs.map +1 -0
  327. package/fesm2022/primenglab-styleclass.mjs +331 -0
  328. package/fesm2022/primenglab-styleclass.mjs.map +1 -0
  329. package/fesm2022/primenglab-table.mjs +7125 -0
  330. package/fesm2022/primenglab-table.mjs.map +1 -0
  331. package/fesm2022/primenglab-tabs.mjs +932 -0
  332. package/fesm2022/primenglab-tabs.mjs.map +1 -0
  333. package/fesm2022/primenglab-tag.mjs +179 -0
  334. package/fesm2022/primenglab-tag.mjs.map +1 -0
  335. package/fesm2022/primenglab-terminal.mjs +253 -0
  336. package/fesm2022/primenglab-terminal.mjs.map +1 -0
  337. package/fesm2022/primenglab-textarea.mjs +208 -0
  338. package/fesm2022/primenglab-textarea.mjs.map +1 -0
  339. package/fesm2022/primenglab-tieredmenu.mjs +1547 -0
  340. package/fesm2022/primenglab-tieredmenu.mjs.map +1 -0
  341. package/fesm2022/primenglab-timeline.mjs +211 -0
  342. package/fesm2022/primenglab-timeline.mjs.map +1 -0
  343. package/fesm2022/primenglab-toast.mjs +1140 -0
  344. package/fesm2022/primenglab-toast.mjs.map +1 -0
  345. package/fesm2022/primenglab-togglebutton.mjs +343 -0
  346. package/fesm2022/primenglab-togglebutton.mjs.map +1 -0
  347. package/fesm2022/primenglab-toggleswitch.mjs +296 -0
  348. package/fesm2022/primenglab-toggleswitch.mjs.map +1 -0
  349. package/fesm2022/primenglab-toolbar.mjs +167 -0
  350. package/fesm2022/primenglab-toolbar.mjs.map +1 -0
  351. package/fesm2022/primenglab-tooltip.mjs +770 -0
  352. package/fesm2022/primenglab-tooltip.mjs.map +1 -0
  353. package/fesm2022/primenglab-tree.mjs +2332 -0
  354. package/fesm2022/primenglab-tree.mjs.map +1 -0
  355. package/fesm2022/primenglab-treeselect.mjs +1263 -0
  356. package/fesm2022/primenglab-treeselect.mjs.map +1 -0
  357. package/fesm2022/primenglab-treetable.mjs +4817 -0
  358. package/fesm2022/primenglab-treetable.mjs.map +1 -0
  359. package/fesm2022/primenglab-ts-helpers.mjs +4 -0
  360. package/fesm2022/primenglab-ts-helpers.mjs.map +1 -0
  361. package/fesm2022/primenglab-types-accordion.mjs +4 -0
  362. package/fesm2022/primenglab-types-accordion.mjs.map +1 -0
  363. package/fesm2022/primenglab-types-autocomplete.mjs +4 -0
  364. package/fesm2022/primenglab-types-autocomplete.mjs.map +1 -0
  365. package/fesm2022/primenglab-types-avatar.mjs +4 -0
  366. package/fesm2022/primenglab-types-avatar.mjs.map +1 -0
  367. package/fesm2022/primenglab-types-avatargroup.mjs +4 -0
  368. package/fesm2022/primenglab-types-avatargroup.mjs.map +1 -0
  369. package/fesm2022/primenglab-types-badge.mjs +4 -0
  370. package/fesm2022/primenglab-types-badge.mjs.map +1 -0
  371. package/fesm2022/primenglab-types-blockui.mjs +4 -0
  372. package/fesm2022/primenglab-types-blockui.mjs.map +1 -0
  373. package/fesm2022/primenglab-types-breadcrumb.mjs +4 -0
  374. package/fesm2022/primenglab-types-breadcrumb.mjs.map +1 -0
  375. package/fesm2022/primenglab-types-button.mjs +4 -0
  376. package/fesm2022/primenglab-types-button.mjs.map +1 -0
  377. package/fesm2022/primenglab-types-card.mjs +4 -0
  378. package/fesm2022/primenglab-types-card.mjs.map +1 -0
  379. package/fesm2022/primenglab-types-carousel.mjs +4 -0
  380. package/fesm2022/primenglab-types-carousel.mjs.map +1 -0
  381. package/fesm2022/primenglab-types-cascadeselect.mjs +4 -0
  382. package/fesm2022/primenglab-types-cascadeselect.mjs.map +1 -0
  383. package/fesm2022/primenglab-types-chart.mjs +4 -0
  384. package/fesm2022/primenglab-types-chart.mjs.map +1 -0
  385. package/fesm2022/primenglab-types-checkbox.mjs +4 -0
  386. package/fesm2022/primenglab-types-checkbox.mjs.map +1 -0
  387. package/fesm2022/primenglab-types-chip.mjs +4 -0
  388. package/fesm2022/primenglab-types-chip.mjs.map +1 -0
  389. package/fesm2022/primenglab-types-colorpicker.mjs +4 -0
  390. package/fesm2022/primenglab-types-colorpicker.mjs.map +1 -0
  391. package/fesm2022/primenglab-types-commandmenu.mjs +4 -0
  392. package/fesm2022/primenglab-types-commandmenu.mjs.map +1 -0
  393. package/fesm2022/primenglab-types-compare.mjs +4 -0
  394. package/fesm2022/primenglab-types-compare.mjs.map +1 -0
  395. package/fesm2022/primenglab-types-confirmdialog.mjs +4 -0
  396. package/fesm2022/primenglab-types-confirmdialog.mjs.map +1 -0
  397. package/fesm2022/primenglab-types-confirmpopup.mjs +4 -0
  398. package/fesm2022/primenglab-types-confirmpopup.mjs.map +1 -0
  399. package/fesm2022/primenglab-types-contextmenu.mjs +4 -0
  400. package/fesm2022/primenglab-types-contextmenu.mjs.map +1 -0
  401. package/fesm2022/primenglab-types-dataview.mjs +4 -0
  402. package/fesm2022/primenglab-types-dataview.mjs.map +1 -0
  403. package/fesm2022/primenglab-types-datepicker.mjs +4 -0
  404. package/fesm2022/primenglab-types-datepicker.mjs.map +1 -0
  405. package/fesm2022/primenglab-types-dialog.mjs +4 -0
  406. package/fesm2022/primenglab-types-dialog.mjs.map +1 -0
  407. package/fesm2022/primenglab-types-divider.mjs +4 -0
  408. package/fesm2022/primenglab-types-divider.mjs.map +1 -0
  409. package/fesm2022/primenglab-types-dock.mjs +4 -0
  410. package/fesm2022/primenglab-types-dock.mjs.map +1 -0
  411. package/fesm2022/primenglab-types-drawer.mjs +4 -0
  412. package/fesm2022/primenglab-types-drawer.mjs.map +1 -0
  413. package/fesm2022/primenglab-types-editor.mjs +4 -0
  414. package/fesm2022/primenglab-types-editor.mjs.map +1 -0
  415. package/fesm2022/primenglab-types-fieldset.mjs +4 -0
  416. package/fesm2022/primenglab-types-fieldset.mjs.map +1 -0
  417. package/fesm2022/primenglab-types-fileupload.mjs +4 -0
  418. package/fesm2022/primenglab-types-fileupload.mjs.map +1 -0
  419. package/fesm2022/primenglab-types-floatlabel.mjs +4 -0
  420. package/fesm2022/primenglab-types-floatlabel.mjs.map +1 -0
  421. package/fesm2022/primenglab-types-fluid.mjs +4 -0
  422. package/fesm2022/primenglab-types-fluid.mjs.map +1 -0
  423. package/fesm2022/primenglab-types-galleria.mjs +4 -0
  424. package/fesm2022/primenglab-types-galleria.mjs.map +1 -0
  425. package/fesm2022/primenglab-types-gallery.mjs +4 -0
  426. package/fesm2022/primenglab-types-gallery.mjs.map +1 -0
  427. package/fesm2022/primenglab-types-iconfield.mjs +4 -0
  428. package/fesm2022/primenglab-types-iconfield.mjs.map +1 -0
  429. package/fesm2022/primenglab-types-iftalabel.mjs +4 -0
  430. package/fesm2022/primenglab-types-iftalabel.mjs.map +1 -0
  431. package/fesm2022/primenglab-types-image.mjs +4 -0
  432. package/fesm2022/primenglab-types-image.mjs.map +1 -0
  433. package/fesm2022/primenglab-types-imagecompare.mjs +4 -0
  434. package/fesm2022/primenglab-types-imagecompare.mjs.map +1 -0
  435. package/fesm2022/primenglab-types-inplace.mjs +4 -0
  436. package/fesm2022/primenglab-types-inplace.mjs.map +1 -0
  437. package/fesm2022/primenglab-types-inputcolor.mjs +4 -0
  438. package/fesm2022/primenglab-types-inputcolor.mjs.map +1 -0
  439. package/fesm2022/primenglab-types-inputgroup.mjs +4 -0
  440. package/fesm2022/primenglab-types-inputgroup.mjs.map +1 -0
  441. package/fesm2022/primenglab-types-inputgroupaddon.mjs +4 -0
  442. package/fesm2022/primenglab-types-inputgroupaddon.mjs.map +1 -0
  443. package/fesm2022/primenglab-types-inputicon.mjs +4 -0
  444. package/fesm2022/primenglab-types-inputicon.mjs.map +1 -0
  445. package/fesm2022/primenglab-types-inputmask.mjs +4 -0
  446. package/fesm2022/primenglab-types-inputmask.mjs.map +1 -0
  447. package/fesm2022/primenglab-types-inputnumber.mjs +4 -0
  448. package/fesm2022/primenglab-types-inputnumber.mjs.map +1 -0
  449. package/fesm2022/primenglab-types-inputotp.mjs +4 -0
  450. package/fesm2022/primenglab-types-inputotp.mjs.map +1 -0
  451. package/fesm2022/primenglab-types-inputpassword.mjs +4 -0
  452. package/fesm2022/primenglab-types-inputpassword.mjs.map +1 -0
  453. package/fesm2022/primenglab-types-inputtags.mjs +4 -0
  454. package/fesm2022/primenglab-types-inputtags.mjs.map +1 -0
  455. package/fesm2022/primenglab-types-inputtext.mjs +4 -0
  456. package/fesm2022/primenglab-types-inputtext.mjs.map +1 -0
  457. package/fesm2022/primenglab-types-knob.mjs +4 -0
  458. package/fesm2022/primenglab-types-knob.mjs.map +1 -0
  459. package/fesm2022/primenglab-types-label.mjs +4 -0
  460. package/fesm2022/primenglab-types-label.mjs.map +1 -0
  461. package/fesm2022/primenglab-types-listbox.mjs +4 -0
  462. package/fesm2022/primenglab-types-listbox.mjs.map +1 -0
  463. package/fesm2022/primenglab-types-megamenu.mjs +4 -0
  464. package/fesm2022/primenglab-types-megamenu.mjs.map +1 -0
  465. package/fesm2022/primenglab-types-menu.mjs +4 -0
  466. package/fesm2022/primenglab-types-menu.mjs.map +1 -0
  467. package/fesm2022/primenglab-types-menubar.mjs +4 -0
  468. package/fesm2022/primenglab-types-menubar.mjs.map +1 -0
  469. package/fesm2022/primenglab-types-message.mjs +4 -0
  470. package/fesm2022/primenglab-types-message.mjs.map +1 -0
  471. package/fesm2022/primenglab-types-metergroup.mjs +4 -0
  472. package/fesm2022/primenglab-types-metergroup.mjs.map +1 -0
  473. package/fesm2022/primenglab-types-motion.mjs +4 -0
  474. package/fesm2022/primenglab-types-motion.mjs.map +1 -0
  475. package/fesm2022/primenglab-types-multiselect.mjs +4 -0
  476. package/fesm2022/primenglab-types-multiselect.mjs.map +1 -0
  477. package/fesm2022/primenglab-types-orderlist.mjs +4 -0
  478. package/fesm2022/primenglab-types-orderlist.mjs.map +1 -0
  479. package/fesm2022/primenglab-types-organizationchart.mjs +4 -0
  480. package/fesm2022/primenglab-types-organizationchart.mjs.map +1 -0
  481. package/fesm2022/primenglab-types-overlay.mjs +4 -0
  482. package/fesm2022/primenglab-types-overlay.mjs.map +1 -0
  483. package/fesm2022/primenglab-types-overlaybadge.mjs +4 -0
  484. package/fesm2022/primenglab-types-overlaybadge.mjs.map +1 -0
  485. package/fesm2022/primenglab-types-paginator.mjs +4 -0
  486. package/fesm2022/primenglab-types-paginator.mjs.map +1 -0
  487. package/fesm2022/primenglab-types-panel.mjs +4 -0
  488. package/fesm2022/primenglab-types-panel.mjs.map +1 -0
  489. package/fesm2022/primenglab-types-panelmenu.mjs +4 -0
  490. package/fesm2022/primenglab-types-panelmenu.mjs.map +1 -0
  491. package/fesm2022/primenglab-types-password.mjs +4 -0
  492. package/fesm2022/primenglab-types-password.mjs.map +1 -0
  493. package/fesm2022/primenglab-types-picklist.mjs +4 -0
  494. package/fesm2022/primenglab-types-picklist.mjs.map +1 -0
  495. package/fesm2022/primenglab-types-popover.mjs +4 -0
  496. package/fesm2022/primenglab-types-popover.mjs.map +1 -0
  497. package/fesm2022/primenglab-types-progressbar.mjs +4 -0
  498. package/fesm2022/primenglab-types-progressbar.mjs.map +1 -0
  499. package/fesm2022/primenglab-types-progressspinner.mjs +4 -0
  500. package/fesm2022/primenglab-types-progressspinner.mjs.map +1 -0
  501. package/fesm2022/primenglab-types-radiobutton.mjs +4 -0
  502. package/fesm2022/primenglab-types-radiobutton.mjs.map +1 -0
  503. package/fesm2022/primenglab-types-rating.mjs +4 -0
  504. package/fesm2022/primenglab-types-rating.mjs.map +1 -0
  505. package/fesm2022/primenglab-types-scrollarea.mjs +4 -0
  506. package/fesm2022/primenglab-types-scrollarea.mjs.map +1 -0
  507. package/fesm2022/primenglab-types-scroller.mjs +4 -0
  508. package/fesm2022/primenglab-types-scroller.mjs.map +1 -0
  509. package/fesm2022/primenglab-types-scrollpanel.mjs +4 -0
  510. package/fesm2022/primenglab-types-scrollpanel.mjs.map +1 -0
  511. package/fesm2022/primenglab-types-scrolltop.mjs +4 -0
  512. package/fesm2022/primenglab-types-scrolltop.mjs.map +1 -0
  513. package/fesm2022/primenglab-types-select.mjs +4 -0
  514. package/fesm2022/primenglab-types-select.mjs.map +1 -0
  515. package/fesm2022/primenglab-types-selectbutton.mjs +4 -0
  516. package/fesm2022/primenglab-types-selectbutton.mjs.map +1 -0
  517. package/fesm2022/primenglab-types-shared.mjs +4 -0
  518. package/fesm2022/primenglab-types-shared.mjs.map +1 -0
  519. package/fesm2022/primenglab-types-sidebar.mjs +4 -0
  520. package/fesm2022/primenglab-types-sidebar.mjs.map +1 -0
  521. package/fesm2022/primenglab-types-skeleton.mjs +4 -0
  522. package/fesm2022/primenglab-types-skeleton.mjs.map +1 -0
  523. package/fesm2022/primenglab-types-slider.mjs +4 -0
  524. package/fesm2022/primenglab-types-slider.mjs.map +1 -0
  525. package/fesm2022/primenglab-types-speeddial.mjs +4 -0
  526. package/fesm2022/primenglab-types-speeddial.mjs.map +1 -0
  527. package/fesm2022/primenglab-types-splitbutton.mjs +4 -0
  528. package/fesm2022/primenglab-types-splitbutton.mjs.map +1 -0
  529. package/fesm2022/primenglab-types-splitter.mjs +4 -0
  530. package/fesm2022/primenglab-types-splitter.mjs.map +1 -0
  531. package/fesm2022/primenglab-types-stepper.mjs +4 -0
  532. package/fesm2022/primenglab-types-stepper.mjs.map +1 -0
  533. package/fesm2022/primenglab-types-table.mjs +4 -0
  534. package/fesm2022/primenglab-types-table.mjs.map +1 -0
  535. package/fesm2022/primenglab-types-tabs.mjs +4 -0
  536. package/fesm2022/primenglab-types-tabs.mjs.map +1 -0
  537. package/fesm2022/primenglab-types-tag.mjs +4 -0
  538. package/fesm2022/primenglab-types-tag.mjs.map +1 -0
  539. package/fesm2022/primenglab-types-terminal.mjs +4 -0
  540. package/fesm2022/primenglab-types-terminal.mjs.map +1 -0
  541. package/fesm2022/primenglab-types-textarea.mjs +4 -0
  542. package/fesm2022/primenglab-types-textarea.mjs.map +1 -0
  543. package/fesm2022/primenglab-types-tieredmenu.mjs +4 -0
  544. package/fesm2022/primenglab-types-tieredmenu.mjs.map +1 -0
  545. package/fesm2022/primenglab-types-timeline.mjs +4 -0
  546. package/fesm2022/primenglab-types-timeline.mjs.map +1 -0
  547. package/fesm2022/primenglab-types-toast.mjs +4 -0
  548. package/fesm2022/primenglab-types-toast.mjs.map +1 -0
  549. package/fesm2022/primenglab-types-togglebutton.mjs +4 -0
  550. package/fesm2022/primenglab-types-togglebutton.mjs.map +1 -0
  551. package/fesm2022/primenglab-types-toggleswitch.mjs +4 -0
  552. package/fesm2022/primenglab-types-toggleswitch.mjs.map +1 -0
  553. package/fesm2022/primenglab-types-toolbar.mjs +4 -0
  554. package/fesm2022/primenglab-types-toolbar.mjs.map +1 -0
  555. package/fesm2022/primenglab-types-tooltip.mjs +4 -0
  556. package/fesm2022/primenglab-types-tooltip.mjs.map +1 -0
  557. package/fesm2022/primenglab-types-tree.mjs +4 -0
  558. package/fesm2022/primenglab-types-tree.mjs.map +1 -0
  559. package/fesm2022/primenglab-types-treeselect.mjs +4 -0
  560. package/fesm2022/primenglab-types-treeselect.mjs.map +1 -0
  561. package/fesm2022/primenglab-types-treetable.mjs +4 -0
  562. package/fesm2022/primenglab-types-treetable.mjs.map +1 -0
  563. package/fesm2022/primenglab-usestyle.mjs +54 -0
  564. package/fesm2022/primenglab-usestyle.mjs.map +1 -0
  565. package/fesm2022/primenglab-utils.mjs +332 -0
  566. package/fesm2022/primenglab-utils.mjs.map +1 -0
  567. package/fesm2022/primenglab.mjs +6 -0
  568. package/fesm2022/primenglab.mjs.map +1 -0
  569. package/package.json +1188 -0
  570. package/types/primenglab-accordion.d.ts +252 -0
  571. package/types/primenglab-animateonscroll.d.ts +68 -0
  572. package/types/primenglab-api.d.ts +2000 -0
  573. package/types/primenglab-autocomplete.d.ts +774 -0
  574. package/types/primenglab-autofocus.d.ts +29 -0
  575. package/types/primenglab-avatar.d.ts +133 -0
  576. package/types/primenglab-avatargroup.d.ts +58 -0
  577. package/types/primenglab-badge.d.ts +96 -0
  578. package/types/primenglab-base.d.ts +58 -0
  579. package/types/primenglab-basecomponent.d.ts +178 -0
  580. package/types/primenglab-baseeditableholder.d.ts +45 -0
  581. package/types/primenglab-baseinput.d.ts +74 -0
  582. package/types/primenglab-basemodelholder.d.ts +12 -0
  583. package/types/primenglab-bind.d.ts +37 -0
  584. package/types/primenglab-blockui.d.ts +97 -0
  585. package/types/primenglab-breadcrumb.d.ts +150 -0
  586. package/types/primenglab-button.d.ts +468 -0
  587. package/types/primenglab-buttongroup.d.ts +44 -0
  588. package/types/primenglab-card.d.ts +138 -0
  589. package/types/primenglab-carousel.d.ts +687 -0
  590. package/types/primenglab-cascadeselect.d.ts +581 -0
  591. package/types/primenglab-chart.d.ts +133 -0
  592. package/types/primenglab-checkbox.d.ts +227 -0
  593. package/types/primenglab-chip.d.ts +159 -0
  594. package/types/primenglab-classnames.d.ts +32 -0
  595. package/types/primenglab-colorpicker.d.ts +295 -0
  596. package/types/primenglab-commandmenu.d.ts +182 -0
  597. package/types/primenglab-compare.d.ts +225 -0
  598. package/types/primenglab-config.d.ts +313 -0
  599. package/types/primenglab-confirmdialog.d.ts +344 -0
  600. package/types/primenglab-confirmpopup.d.ts +230 -0
  601. package/types/primenglab-contextmenu.d.ts +388 -0
  602. package/types/primenglab-dataview.d.ts +361 -0
  603. package/types/primenglab-datepicker.d.ts +967 -0
  604. package/types/primenglab-dialog.d.ts +481 -0
  605. package/types/primenglab-divider.d.ts +116 -0
  606. package/types/primenglab-dock.d.ts +189 -0
  607. package/types/primenglab-dom.d.ts +109 -0
  608. package/types/primenglab-dragdrop.d.ts +117 -0
  609. package/types/primenglab-drawer.d.ts +272 -0
  610. package/types/primenglab-dynamicdialog.d.ts +576 -0
  611. package/types/primenglab-editor.d.ts +182 -0
  612. package/types/primenglab-fieldset.d.ts +182 -0
  613. package/types/primenglab-fileupload.d.ts +542 -0
  614. package/types/primenglab-floatlabel.d.ts +67 -0
  615. package/types/primenglab-fluid.d.ts +54 -0
  616. package/types/primenglab-focustrap.d.ts +32 -0
  617. package/types/primenglab-galleria.d.ts +450 -0
  618. package/types/primenglab-gallery.d.ts +653 -0
  619. package/types/primenglab-iconfield.d.ts +61 -0
  620. package/types/primenglab-icons-angledoubledown.d.ts +9 -0
  621. package/types/primenglab-icons-angledoubleleft.d.ts +9 -0
  622. package/types/primenglab-icons-angledoubleright.d.ts +9 -0
  623. package/types/primenglab-icons-angledoubleup.d.ts +9 -0
  624. package/types/primenglab-icons-angledown.d.ts +9 -0
  625. package/types/primenglab-icons-angleleft.d.ts +9 -0
  626. package/types/primenglab-icons-angleright.d.ts +9 -0
  627. package/types/primenglab-icons-angleup.d.ts +9 -0
  628. package/types/primenglab-icons-arrowdown.d.ts +11 -0
  629. package/types/primenglab-icons-arrowdownleft.d.ts +9 -0
  630. package/types/primenglab-icons-arrowdownright.d.ts +9 -0
  631. package/types/primenglab-icons-arrowleft.d.ts +11 -0
  632. package/types/primenglab-icons-arrowright.d.ts +9 -0
  633. package/types/primenglab-icons-arrowup.d.ts +11 -0
  634. package/types/primenglab-icons-ban.d.ts +11 -0
  635. package/types/primenglab-icons-bars.d.ts +9 -0
  636. package/types/primenglab-icons-baseicon.d.ts +33 -0
  637. package/types/primenglab-icons-blank.d.ts +9 -0
  638. package/types/primenglab-icons-calendar.d.ts +9 -0
  639. package/types/primenglab-icons-caretleft.d.ts +9 -0
  640. package/types/primenglab-icons-caretright.d.ts +9 -0
  641. package/types/primenglab-icons-check.d.ts +9 -0
  642. package/types/primenglab-icons-chevrondown.d.ts +9 -0
  643. package/types/primenglab-icons-chevronleft.d.ts +9 -0
  644. package/types/primenglab-icons-chevronright.d.ts +9 -0
  645. package/types/primenglab-icons-chevronup.d.ts +9 -0
  646. package/types/primenglab-icons-exclamationtriangle.d.ts +11 -0
  647. package/types/primenglab-icons-eye.d.ts +9 -0
  648. package/types/primenglab-icons-eyeslash.d.ts +11 -0
  649. package/types/primenglab-icons-filter.d.ts +11 -0
  650. package/types/primenglab-icons-filterfill.d.ts +9 -0
  651. package/types/primenglab-icons-filterslash.d.ts +11 -0
  652. package/types/primenglab-icons-home.d.ts +11 -0
  653. package/types/primenglab-icons-infocircle.d.ts +11 -0
  654. package/types/primenglab-icons-minus.d.ts +9 -0
  655. package/types/primenglab-icons-pencil.d.ts +11 -0
  656. package/types/primenglab-icons-plus.d.ts +11 -0
  657. package/types/primenglab-icons-refresh.d.ts +11 -0
  658. package/types/primenglab-icons-search.d.ts +11 -0
  659. package/types/primenglab-icons-searchminus.d.ts +11 -0
  660. package/types/primenglab-icons-searchplus.d.ts +11 -0
  661. package/types/primenglab-icons-sortalt.d.ts +11 -0
  662. package/types/primenglab-icons-sortamountdown.d.ts +11 -0
  663. package/types/primenglab-icons-sortamountupalt.d.ts +11 -0
  664. package/types/primenglab-icons-spinner.d.ts +11 -0
  665. package/types/primenglab-icons-star.d.ts +11 -0
  666. package/types/primenglab-icons-starfill.d.ts +11 -0
  667. package/types/primenglab-icons-thlarge.d.ts +11 -0
  668. package/types/primenglab-icons-times.d.ts +9 -0
  669. package/types/primenglab-icons-timescircle.d.ts +11 -0
  670. package/types/primenglab-icons-trash.d.ts +11 -0
  671. package/types/primenglab-icons-undo.d.ts +11 -0
  672. package/types/primenglab-icons-upload.d.ts +11 -0
  673. package/types/primenglab-icons-windowmaximize.d.ts +11 -0
  674. package/types/primenglab-icons-windowminimize.d.ts +11 -0
  675. package/types/primenglab-icons.d.ts +53 -0
  676. package/types/primenglab-iftalabel.d.ts +56 -0
  677. package/types/primenglab-image.d.ts +336 -0
  678. package/types/primenglab-imagecompare.d.ts +97 -0
  679. package/types/primenglab-inplace.d.ts +132 -0
  680. package/types/primenglab-inputcolor.d.ts +568 -0
  681. package/types/primenglab-inputgroup.d.ts +59 -0
  682. package/types/primenglab-inputgroupaddon.d.ts +37 -0
  683. package/types/primenglab-inputicon.d.ts +38 -0
  684. package/types/primenglab-inputmask.d.ts +385 -0
  685. package/types/primenglab-inputnumber.d.ts +424 -0
  686. package/types/primenglab-inputotp.d.ts +177 -0
  687. package/types/primenglab-inputpassword.d.ts +63 -0
  688. package/types/primenglab-inputtags.d.ts +315 -0
  689. package/types/primenglab-inputtext.d.ts +112 -0
  690. package/types/primenglab-keyfilter.d.ts +58 -0
  691. package/types/primenglab-knob.d.ts +202 -0
  692. package/types/primenglab-label.d.ts +55 -0
  693. package/types/primenglab-license.d.ts +23 -0
  694. package/types/primenglab-listbox.d.ts +775 -0
  695. package/types/primenglab-megamenu.d.ts +402 -0
  696. package/types/primenglab-menu.d.ts +382 -0
  697. package/types/primenglab-menubar.d.ts +374 -0
  698. package/types/primenglab-message.d.ts +166 -0
  699. package/types/primenglab-metergroup.d.ts +209 -0
  700. package/types/primenglab-motion.d.ts +398 -0
  701. package/types/primenglab-multiselect.d.ts +877 -0
  702. package/types/primenglab-orderlist.d.ts +390 -0
  703. package/types/primenglab-organizationchart.d.ts +189 -0
  704. package/types/primenglab-overlay.d.ts +300 -0
  705. package/types/primenglab-overlaybadge.d.ts +70 -0
  706. package/types/primenglab-paginator.d.ts +330 -0
  707. package/types/primenglab-panel.d.ts +234 -0
  708. package/types/primenglab-panelmenu.d.ts +248 -0
  709. package/types/primenglab-passthrough.d.ts +14 -0
  710. package/types/primenglab-password.d.ts +459 -0
  711. package/types/primenglab-picklist.d.ts +751 -0
  712. package/types/primenglab-popover.d.ts +183 -0
  713. package/types/primenglab-progressbar.d.ts +118 -0
  714. package/types/primenglab-progressspinner.d.ts +126 -0
  715. package/types/primenglab-radiobutton.d.ts +188 -0
  716. package/types/primenglab-rating.d.ts +210 -0
  717. package/types/primenglab-ripple.d.ts +60 -0
  718. package/types/primenglab-scrollarea.d.ts +286 -0
  719. package/types/primenglab-scroller.d.ts +462 -0
  720. package/types/primenglab-scrollpanel.d.ts +147 -0
  721. package/types/primenglab-scrolltop.d.ts +143 -0
  722. package/types/primenglab-select.d.ts +757 -0
  723. package/types/primenglab-selectbutton.d.ts +184 -0
  724. package/types/primenglab-sidebar.d.ts +669 -0
  725. package/types/primenglab-skeleton.d.ts +103 -0
  726. package/types/primenglab-slider.d.ts +327 -0
  727. package/types/primenglab-speeddial.d.ts +394 -0
  728. package/types/primenglab-splitbutton.d.ts +259 -0
  729. package/types/primenglab-splitter.d.ts +334 -0
  730. package/types/primenglab-stepper.d.ts +311 -0
  731. package/types/primenglab-steps.d.ts +153 -0
  732. package/types/primenglab-styleclass.d.ts +110 -0
  733. package/types/primenglab-table.d.ts +1953 -0
  734. package/types/primenglab-tabs.d.ts +356 -0
  735. package/types/primenglab-tag.d.ts +104 -0
  736. package/types/primenglab-terminal.d.ts +137 -0
  737. package/types/primenglab-textarea.d.ts +126 -0
  738. package/types/primenglab-tieredmenu.d.ts +419 -0
  739. package/types/primenglab-timeline.d.ts +128 -0
  740. package/types/primenglab-toast.d.ts +268 -0
  741. package/types/primenglab-togglebutton.d.ts +200 -0
  742. package/types/primenglab-toggleswitch.d.ts +161 -0
  743. package/types/primenglab-toolbar.d.ts +95 -0
  744. package/types/primenglab-tooltip.d.ts +251 -0
  745. package/types/primenglab-tree.d.ts +571 -0
  746. package/types/primenglab-treeselect.d.ts +560 -0
  747. package/types/primenglab-treetable.d.ts +1290 -0
  748. package/types/primenglab-ts-helpers.d.ts +6 -0
  749. package/types/primenglab-types-accordion.d.ts +135 -0
  750. package/types/primenglab-types-autocomplete.d.ts +312 -0
  751. package/types/primenglab-types-avatar.d.ts +50 -0
  752. package/types/primenglab-types-avatargroup.d.ts +28 -0
  753. package/types/primenglab-types-badge.d.ts +36 -0
  754. package/types/primenglab-types-blockui.d.ts +39 -0
  755. package/types/primenglab-types-breadcrumb.d.ts +96 -0
  756. package/types/primenglab-types-button.d.ts +140 -0
  757. package/types/primenglab-types-card.d.ts +75 -0
  758. package/types/primenglab-types-carousel.d.ts +244 -0
  759. package/types/primenglab-types-cascadeselect.d.ts +278 -0
  760. package/types/primenglab-types-chart.d.ts +57 -0
  761. package/types/primenglab-types-checkbox.d.ts +85 -0
  762. package/types/primenglab-types-chip.d.ts +70 -0
  763. package/types/primenglab-types-colorpicker.d.ts +83 -0
  764. package/types/primenglab-types-commandmenu.d.ts +154 -0
  765. package/types/primenglab-types-compare.d.ts +55 -0
  766. package/types/primenglab-types-confirmdialog.d.ts +161 -0
  767. package/types/primenglab-types-confirmpopup.d.ts +110 -0
  768. package/types/primenglab-types-contextmenu.d.ts +135 -0
  769. package/types/primenglab-types-dataview.d.ts +263 -0
  770. package/types/primenglab-types-datepicker.d.ts +535 -0
  771. package/types/primenglab-types-dialog.d.ts +124 -0
  772. package/types/primenglab-types-divider.d.ts +43 -0
  773. package/types/primenglab-types-dock.d.ts +75 -0
  774. package/types/primenglab-types-drawer.d.ts +83 -0
  775. package/types/primenglab-types-editor.d.ts +210 -0
  776. package/types/primenglab-types-fieldset.d.ts +120 -0
  777. package/types/primenglab-types-fileupload.d.ts +416 -0
  778. package/types/primenglab-types-floatlabel.d.ts +27 -0
  779. package/types/primenglab-types-fluid.d.ts +28 -0
  780. package/types/primenglab-types-galleria.d.ts +259 -0
  781. package/types/primenglab-types-gallery.d.ts +434 -0
  782. package/types/primenglab-types-iconfield.d.ts +27 -0
  783. package/types/primenglab-types-iftalabel.d.ts +26 -0
  784. package/types/primenglab-types-image.d.ts +149 -0
  785. package/types/primenglab-types-imagecompare.d.ts +43 -0
  786. package/types/primenglab-types-inplace.d.ts +72 -0
  787. package/types/primenglab-types-inputcolor.d.ts +206 -0
  788. package/types/primenglab-types-inputgroup.d.ts +28 -0
  789. package/types/primenglab-types-inputgroupaddon.d.ts +28 -0
  790. package/types/primenglab-types-inputicon.d.ts +26 -0
  791. package/types/primenglab-types-inputmask.d.ts +56 -0
  792. package/types/primenglab-types-inputnumber.d.ts +115 -0
  793. package/types/primenglab-types-inputotp.d.ts +101 -0
  794. package/types/primenglab-types-inputpassword.d.ts +24 -0
  795. package/types/primenglab-types-inputtags.d.ts +178 -0
  796. package/types/primenglab-types-inputtext.d.ts +24 -0
  797. package/types/primenglab-types-knob.d.ts +40 -0
  798. package/types/primenglab-types-label.d.ts +24 -0
  799. package/types/primenglab-types-listbox.d.ts +359 -0
  800. package/types/primenglab-types-megamenu.d.ts +183 -0
  801. package/types/primenglab-types-menu.d.ts +135 -0
  802. package/types/primenglab-types-menubar.d.ts +171 -0
  803. package/types/primenglab-types-message.d.ts +112 -0
  804. package/types/primenglab-types-metergroup.d.ts +178 -0
  805. package/types/primenglab-types-motion.d.ts +26 -0
  806. package/types/primenglab-types-multiselect.d.ts +454 -0
  807. package/types/primenglab-types-orderlist.d.ts +177 -0
  808. package/types/primenglab-types-organizationchart.d.ts +187 -0
  809. package/types/primenglab-types-overlay.d.ts +60 -0
  810. package/types/primenglab-types-overlaybadge.d.ts +34 -0
  811. package/types/primenglab-types-paginator.d.ts +167 -0
  812. package/types/primenglab-types-panel.d.ts +139 -0
  813. package/types/primenglab-types-panelmenu.d.ts +180 -0
  814. package/types/primenglab-types-password.d.ts +120 -0
  815. package/types/primenglab-types-picklist.d.ts +358 -0
  816. package/types/primenglab-types-popover.d.ts +59 -0
  817. package/types/primenglab-types-progressbar.d.ts +63 -0
  818. package/types/primenglab-types-progressspinner.d.ts +44 -0
  819. package/types/primenglab-types-radiobutton.d.ts +51 -0
  820. package/types/primenglab-types-rating.d.ts +94 -0
  821. package/types/primenglab-types-scrollarea.d.ts +60 -0
  822. package/types/primenglab-types-scroller.d.ts +231 -0
  823. package/types/primenglab-types-scrollpanel.d.ts +56 -0
  824. package/types/primenglab-types-scrolltop.d.ts +71 -0
  825. package/types/primenglab-types-select.d.ts +330 -0
  826. package/types/primenglab-types-selectbutton.d.ts +92 -0
  827. package/types/primenglab-types-shared.d.ts +27 -0
  828. package/types/primenglab-types-sidebar.d.ts +108 -0
  829. package/types/primenglab-types-skeleton.d.ts +28 -0
  830. package/types/primenglab-types-slider.d.ts +91 -0
  831. package/types/primenglab-types-speeddial.d.ts +110 -0
  832. package/types/primenglab-types-splitbutton.d.ts +60 -0
  833. package/types/primenglab-types-splitter.d.ts +127 -0
  834. package/types/primenglab-types-stepper.d.ts +186 -0
  835. package/types/primenglab-types-table.d.ts +902 -0
  836. package/types/primenglab-types-tabs.d.ts +120 -0
  837. package/types/primenglab-types-tag.d.ts +48 -0
  838. package/types/primenglab-types-terminal.d.ts +60 -0
  839. package/types/primenglab-types-textarea.d.ts +28 -0
  840. package/types/primenglab-types-tieredmenu.d.ts +203 -0
  841. package/types/primenglab-types-timeline.d.ts +93 -0
  842. package/types/primenglab-types-toast.d.ts +148 -0
  843. package/types/primenglab-types-togglebutton.d.ts +91 -0
  844. package/types/primenglab-types-toggleswitch.d.ts +73 -0
  845. package/types/primenglab-types-toolbar.d.ts +55 -0
  846. package/types/primenglab-types-tooltip.d.ts +42 -0
  847. package/types/primenglab-types-tree.d.ts +355 -0
  848. package/types/primenglab-types-treeselect.d.ts +266 -0
  849. package/types/primenglab-types-treetable.d.ts +659 -0
  850. package/types/primenglab-usestyle.d.ts +15 -0
  851. package/types/primenglab-utils.d.ts +43 -0
  852. package/types/primenglab.d.ts +2 -0
@@ -0,0 +1,2140 @@
1
+ export * from 'primenglab/types/autocomplete';
2
+ import { NgTemplateOutlet } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Injectable, InjectionToken, forwardRef, inject, input, numberAttribute, booleanAttribute, output, viewChild, contentChild, signal, computed, effect, HostListener, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import { ChevronDown } from '@primeicons/angular/chevron-down';
7
+ import { Spinner } from '@primeicons/angular/spinner';
8
+ import { Times } from '@primeicons/angular/times';
9
+ import { TimesCircle } from '@primeicons/angular/times-circle';
10
+ import { uuid, equals, isNotEmpty, findLastIndex, resolveFieldData, focus, isEmpty, findSingle } from '@primeuix/utils';
11
+ import { OverlayService, TranslationKeys, SharedModule } from 'primenglab/api';
12
+ import { AutoFocus } from 'primenglab/autofocus';
13
+ import { PARENT_INSTANCE } from 'primenglab/basecomponent';
14
+ import { BaseInput } from 'primenglab/baseinput';
15
+ import * as i1 from 'primenglab/bind';
16
+ import { Bind, BindModule } from 'primenglab/bind';
17
+ import { Chip } from 'primenglab/chip';
18
+ import { InputText } from 'primenglab/inputtext';
19
+ import { Overlay } from 'primenglab/overlay';
20
+ import { Ripple } from 'primenglab/ripple';
21
+ import { Scroller } from 'primenglab/scroller';
22
+ import { style } from '@primeuix/styles/autocomplete';
23
+ import { BaseStyle } from 'primenglab/base';
24
+
25
+ const inlineStyles = {
26
+ root: { position: 'relative' }
27
+ };
28
+ const classes = {
29
+ root: ({ instance }) => [
30
+ 'p-autocomplete p-component p-inputwrapper',
31
+ {
32
+ 'p-invalid': instance.invalid(),
33
+ 'p-focus': instance.focused(),
34
+ 'p-inputwrapper-filled': instance.$filled(),
35
+ 'p-inputwrapper-focus': (instance.focused() && !instance.$disabled()) || instance.autofocus() || instance.overlayVisible(),
36
+ 'p-autocomplete-open': instance.overlayVisible(),
37
+ 'p-autocomplete-fluid': instance.hasFluid
38
+ }
39
+ ],
40
+ pcInputText: 'p-autocomplete-input',
41
+ inputMultiple: ({ instance }) => [
42
+ 'p-autocomplete-input-multiple',
43
+ {
44
+ 'p-disabled': instance.$disabled(),
45
+ 'p-variant-filled': instance.$variant() === 'filled'
46
+ }
47
+ ],
48
+ clearIcon: 'p-autocomplete-clear-icon',
49
+ chipItem: ({ instance, i }) => [
50
+ 'p-autocomplete-chip-item',
51
+ {
52
+ 'p-focus': instance.focusedMultipleOptionIndex() === i
53
+ }
54
+ ],
55
+ pcChip: 'p-autocomplete-chip',
56
+ chipIcon: 'p-autocomplete-chip-icon',
57
+ inputChip: 'p-autocomplete-input-chip',
58
+ loader: 'p-autocomplete-loader',
59
+ dropdown: 'p-autocomplete-dropdown',
60
+ overlay: ({ instance }) => ['p-autocomplete-overlay p-component-overlay p-component', { 'p-input-filled': instance.$variant() === 'filled', 'p-ripple-disabled': instance.config.ripple() === false }],
61
+ listContainer: 'p-autocomplete-list-container',
62
+ list: 'p-autocomplete-list',
63
+ optionGroup: 'p-autocomplete-option-group',
64
+ option: ({ instance, option, i, scrollerOptions }) => ({
65
+ 'p-autocomplete-option': true,
66
+ 'p-autocomplete-option-selected': instance.isSelected(option),
67
+ 'p-focus': instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),
68
+ 'p-disabled': instance.isOptionDisabled(option)
69
+ }),
70
+ emptyMessage: 'p-autocomplete-empty-message'
71
+ };
72
+ class AutoCompleteStyle extends BaseStyle {
73
+ name = 'autocomplete';
74
+ style = style;
75
+ classes = classes;
76
+ inlineStyles = inlineStyles;
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: AutoCompleteStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
78
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: AutoCompleteStyle });
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: AutoCompleteStyle, decorators: [{
81
+ type: Injectable
82
+ }] });
83
+ /**
84
+ *
85
+ * AutoComplete is an input component that provides real-time suggestions while being typed.
86
+ *
87
+ * [Live Demo](https://www.primeng.org/autocomplete/)
88
+ *
89
+ * @module autocompletestyle
90
+ *
91
+ */
92
+ var AutoCompleteClasses;
93
+ (function (AutoCompleteClasses) {
94
+ /**
95
+ * Class name of the root element
96
+ */
97
+ AutoCompleteClasses["root"] = "p-autocomplete";
98
+ /**
99
+ * Class name of the input element
100
+ */
101
+ AutoCompleteClasses["pcInputText"] = "p-autocomplete-input";
102
+ /**
103
+ * Class name of the input multiple element
104
+ */
105
+ AutoCompleteClasses["inputMultiple"] = "p-autocomplete-input-multiple";
106
+ /**
107
+ * Class name of the chip item element
108
+ */
109
+ AutoCompleteClasses["chipItem"] = "p-autocomplete-chip-item";
110
+ /**
111
+ * Class name of the chip element
112
+ */
113
+ AutoCompleteClasses["pcChip"] = "p-autocomplete-chip";
114
+ /**
115
+ * Class name of the chip icon element
116
+ */
117
+ AutoCompleteClasses["chipIcon"] = "p-autocomplete-chip-icon";
118
+ /**
119
+ * Class name of the input chip element
120
+ */
121
+ AutoCompleteClasses["inputChip"] = "p-autocomplete-input-chip";
122
+ /**
123
+ * Class name of the loader element
124
+ */
125
+ AutoCompleteClasses["loader"] = "p-autocomplete-loader";
126
+ /**
127
+ * Class name of the dropdown element
128
+ */
129
+ AutoCompleteClasses["dropdown"] = "p-autocomplete-dropdown";
130
+ /**
131
+ * Class name of the panel element
132
+ */
133
+ AutoCompleteClasses["panel"] = "p-autocomplete-overlay";
134
+ /**
135
+ * Class name of the list element
136
+ */
137
+ AutoCompleteClasses["list"] = "p-autocomplete-list";
138
+ /**
139
+ * Class name of the option group element
140
+ */
141
+ AutoCompleteClasses["optionGroup"] = "p-autocomplete-option-group";
142
+ /**
143
+ * Class name of the option element
144
+ */
145
+ AutoCompleteClasses["option"] = "p-autocomplete-option";
146
+ /**
147
+ * Class name of the empty message element
148
+ */
149
+ AutoCompleteClasses["emptyMessage"] = "p-autocomplete-empty-message";
150
+ /**
151
+ * Class name of the clear icon
152
+ */
153
+ AutoCompleteClasses["clearIcon"] = "p-autocomplete-clear-icon";
154
+ })(AutoCompleteClasses || (AutoCompleteClasses = {}));
155
+
156
+ const AUTOCOMPLETE_INSTANCE = new InjectionToken('AUTOCOMPLETE_INSTANCE');
157
+ const AUTOCOMPLETE_VALUE_ACCESSOR = {
158
+ provide: NG_VALUE_ACCESSOR,
159
+ useExisting: forwardRef(() => AutoComplete),
160
+ multi: true
161
+ };
162
+ /**
163
+ * AutoComplete is an input component that provides real-time suggestions when being typed.
164
+ * @group Components
165
+ */
166
+ class AutoComplete extends BaseInput {
167
+ componentName = 'AutoComplete';
168
+ $pcAutoComplete = inject(AUTOCOMPLETE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
169
+ bindDirectiveInstance = inject(Bind, { self: true });
170
+ /**
171
+ * Minimum number of characters to initiate a search.
172
+ * @group Props
173
+ */
174
+ minQueryLength = input(/* @ts-ignore */
175
+ ...(ngDevMode ? [undefined, { debugName: "minQueryLength" }] : /* istanbul ignore next */ []));
176
+ /**
177
+ * Delay between keystrokes to wait before sending a query.
178
+ * @group Props
179
+ */
180
+ delay = input(300, { ...(ngDevMode ? { debugName: "delay" } : /* istanbul ignore next */ {}), transform: numberAttribute });
181
+ /**
182
+ * Inline style of the overlay panel element.
183
+ * @group Props
184
+ */
185
+ panelStyle = input(/* @ts-ignore */
186
+ ...(ngDevMode ? [undefined, { debugName: "panelStyle" }] : /* istanbul ignore next */ []));
187
+ /**
188
+ * Style class of the overlay panel element.
189
+ * @group Props
190
+ */
191
+ panelStyleClass = input(/* @ts-ignore */
192
+ ...(ngDevMode ? [undefined, { debugName: "panelStyleClass" }] : /* istanbul ignore next */ []));
193
+ /**
194
+ * Inline style of the input field.
195
+ * @group Props
196
+ */
197
+ inputStyle = input(/* @ts-ignore */
198
+ ...(ngDevMode ? [undefined, { debugName: "inputStyle" }] : /* istanbul ignore next */ []));
199
+ /**
200
+ * Identifier of the focus input to match a label defined for the component.
201
+ * @group Props
202
+ */
203
+ inputId = input(/* @ts-ignore */
204
+ ...(ngDevMode ? [undefined, { debugName: "inputId" }] : /* istanbul ignore next */ []));
205
+ /**
206
+ * Inline style of the input field.
207
+ * @group Props
208
+ */
209
+ inputStyleClass = input(/* @ts-ignore */
210
+ ...(ngDevMode ? [undefined, { debugName: "inputStyleClass" }] : /* istanbul ignore next */ []));
211
+ /**
212
+ * Hint text for the input field.
213
+ * @group Props
214
+ */
215
+ placeholder = input(/* @ts-ignore */
216
+ ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
217
+ /**
218
+ * When present, it specifies that the input cannot be typed.
219
+ * @group Props
220
+ */
221
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
222
+ /**
223
+ * Maximum height of the suggestions panel.
224
+ * @group Props
225
+ */
226
+ scrollHeight = input('200px', /* @ts-ignore */
227
+ ...(ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
228
+ /**
229
+ * Defines if data is loaded and interacted with in lazy manner.
230
+ * @group Props
231
+ */
232
+ lazy = input(false, { ...(ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
233
+ /**
234
+ * Whether the data should be loaded on demand during scroll.
235
+ * @group Props
236
+ */
237
+ virtualScroll = input(false, { ...(ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
238
+ /**
239
+ * Height of an item in the list for VirtualScrolling.
240
+ * @group Props
241
+ */
242
+ virtualScrollItemSize = input(/* @ts-ignore */
243
+ ...(ngDevMode ? [undefined, { debugName: "virtualScrollItemSize" }] : /* istanbul ignore next */ []));
244
+ /**
245
+ * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.
246
+ * @group Props
247
+ */
248
+ virtualScrollOptions = input(/* @ts-ignore */
249
+ ...(ngDevMode ? [undefined, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []));
250
+ /**
251
+ * When enabled, highlights the first item in the list by default.
252
+ * @group Props
253
+ */
254
+ autoHighlight = input(false, { ...(ngDevMode ? { debugName: "autoHighlight" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
255
+ /**
256
+ * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.
257
+ * @group Props
258
+ */
259
+ forceSelection = input(false, { ...(ngDevMode ? { debugName: "forceSelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
260
+ /**
261
+ * Type of the input, defaults to "text".
262
+ * @group Props
263
+ */
264
+ type = input('text', /* @ts-ignore */
265
+ ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
266
+ /**
267
+ * Whether to automatically manage layering.
268
+ * @group Props
269
+ */
270
+ autoZIndex = input(true, { ...(ngDevMode ? { debugName: "autoZIndex" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
271
+ /**
272
+ * Base zIndex value to use in layering.
273
+ * @group Props
274
+ */
275
+ baseZIndex = input(0, { ...(ngDevMode ? { debugName: "baseZIndex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
276
+ /**
277
+ * Defines a string that labels the input for accessibility.
278
+ * @group Props
279
+ */
280
+ ariaLabel = input(/* @ts-ignore */
281
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
282
+ /**
283
+ * Defines a string that labels the dropdown button for accessibility.
284
+ * @group Props
285
+ */
286
+ dropdownAriaLabel = input(/* @ts-ignore */
287
+ ...(ngDevMode ? [undefined, { debugName: "dropdownAriaLabel" }] : /* istanbul ignore next */ []));
288
+ /**
289
+ * Specifies one or more IDs in the DOM that labels the input field.
290
+ * @group Props
291
+ */
292
+ ariaLabelledBy = input(/* @ts-ignore */
293
+ ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
294
+ /**
295
+ * Icon class of the dropdown icon.
296
+ * @group Props
297
+ */
298
+ dropdownIcon = input(/* @ts-ignore */
299
+ ...(ngDevMode ? [undefined, { debugName: "dropdownIcon" }] : /* istanbul ignore next */ []));
300
+ /**
301
+ * Ensures uniqueness of selected items on multiple mode.
302
+ * @group Props
303
+ */
304
+ unique = input(true, { ...(ngDevMode ? { debugName: "unique" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
305
+ /**
306
+ * Whether to display options as grouped when nested options are provided.
307
+ * @group Props
308
+ */
309
+ group = input(false, { ...(ngDevMode ? { debugName: "group" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
310
+ /**
311
+ * Whether to run a query when input receives focus.
312
+ * @group Props
313
+ */
314
+ completeOnFocus = input(false, { ...(ngDevMode ? { debugName: "completeOnFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
315
+ /**
316
+ * When enabled, a clear icon is displayed to clear the value.
317
+ * @group Props
318
+ */
319
+ showClear = input(false, { ...(ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
320
+ /**
321
+ * Displays a button next to the input field when enabled.
322
+ * @group Props
323
+ */
324
+ dropdown = input(false, { ...(ngDevMode ? { debugName: "dropdown" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
325
+ /**
326
+ * Whether to show the empty message or not.
327
+ * @group Props
328
+ */
329
+ showEmptyMessage = input(true, { ...(ngDevMode ? { debugName: "showEmptyMessage" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
330
+ /**
331
+ * Specifies the behavior dropdown button. Default "blank" mode sends an empty string and "current" mode sends the input value.
332
+ * @group Props
333
+ */
334
+ dropdownMode = input('blank', /* @ts-ignore */
335
+ ...(ngDevMode ? [{ debugName: "dropdownMode" }] : /* istanbul ignore next */ []));
336
+ /**
337
+ * Specifies if multiple values can be selected.
338
+ * @deprecated Use InputTags component instead for chips/tags input functionality.
339
+ * @group Props
340
+ */
341
+ multiple = input(false, { ...(ngDevMode ? { debugName: "multiple" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
342
+ /**
343
+ * When enabled, the input value is added to the selected items on tab key press when multiple is true and typeahead is false.
344
+ * @deprecated Use InputTags component instead for chips/tags input functionality.
345
+ * @group Props
346
+ */
347
+ addOnTab = input(false, { ...(ngDevMode ? { debugName: "addOnTab" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
348
+ /**
349
+ * Index of the element in tabbing order.
350
+ * @group Props
351
+ */
352
+ tabindex = input(/* @ts-ignore */
353
+ ...(ngDevMode ? [undefined, { debugName: "tabindex" }] : /* istanbul ignore next */ []));
354
+ /**
355
+ * A property to uniquely identify a value in options.
356
+ * @group Props
357
+ */
358
+ dataKey = input(/* @ts-ignore */
359
+ ...(ngDevMode ? [undefined, { debugName: "dataKey" }] : /* istanbul ignore next */ []));
360
+ /**
361
+ * Text to display when there is no data. Defaults to global value in i18n translation configuration.
362
+ * @group Props
363
+ */
364
+ emptyMessage = input(/* @ts-ignore */
365
+ ...(ngDevMode ? [undefined, { debugName: "emptyMessage" }] : /* istanbul ignore next */ []));
366
+ /**
367
+ * When present, it specifies that the component should automatically get focus on load.
368
+ * @group Props
369
+ */
370
+ autofocus = input(false, { ...(ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
371
+ /**
372
+ * Used to define a string that autocomplete attribute the current element.
373
+ * @group Props
374
+ */
375
+ autocomplete = input('off', /* @ts-ignore */
376
+ ...(ngDevMode ? [{ debugName: "autocomplete" }] : /* istanbul ignore next */ []));
377
+ /**
378
+ * Name of the options field of an option group.
379
+ * @group Props
380
+ */
381
+ optionGroupChildren = input('items', /* @ts-ignore */
382
+ ...(ngDevMode ? [{ debugName: "optionGroupChildren" }] : /* istanbul ignore next */ []));
383
+ /**
384
+ * Name of the label field of an option group.
385
+ * @group Props
386
+ */
387
+ optionGroupLabel = input('label', /* @ts-ignore */
388
+ ...(ngDevMode ? [{ debugName: "optionGroupLabel" }] : /* istanbul ignore next */ []));
389
+ /**
390
+ * Options for the overlay element.
391
+ * @group Props
392
+ */
393
+ overlayOptions = input(/* @ts-ignore */
394
+ ...(ngDevMode ? [undefined, { debugName: "overlayOptions" }] : /* istanbul ignore next */ []));
395
+ /**
396
+ * An array of suggestions to display.
397
+ * @group Props
398
+ */
399
+ suggestions = input([], /* @ts-ignore */
400
+ ...(ngDevMode ? [{ debugName: "suggestions" }] : /* istanbul ignore next */ []));
401
+ /**
402
+ * Property name or getter function to use as the label of an option.
403
+ * @group Props
404
+ */
405
+ optionLabel = input(/* @ts-ignore */
406
+ ...(ngDevMode ? [undefined, { debugName: "optionLabel" }] : /* istanbul ignore next */ []));
407
+ /**
408
+ * Property name or getter function to use as the value of an option.
409
+ * @group Props
410
+ */
411
+ optionValue = input(/* @ts-ignore */
412
+ ...(ngDevMode ? [undefined, { debugName: "optionValue" }] : /* istanbul ignore next */ []));
413
+ /**
414
+ * Unique identifier of the component.
415
+ * @group Props
416
+ */
417
+ id = input(/* @ts-ignore */
418
+ ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
419
+ /**
420
+ * Text to display when the search is active. Defaults to global value in i18n translation configuration.
421
+ * @group Props
422
+ * @defaultValue '{0} results are available'
423
+ */
424
+ searchMessage = input(/* @ts-ignore */
425
+ ...(ngDevMode ? [undefined, { debugName: "searchMessage" }] : /* istanbul ignore next */ []));
426
+ /**
427
+ * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.
428
+ * @group Props
429
+ * @defaultValue 'No selected item'
430
+ */
431
+ emptySelectionMessage = input(/* @ts-ignore */
432
+ ...(ngDevMode ? [undefined, { debugName: "emptySelectionMessage" }] : /* istanbul ignore next */ []));
433
+ /**
434
+ * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.
435
+ * @group Props
436
+ * @defaultValue '{0} items selected'
437
+ */
438
+ selectionMessage = input(/* @ts-ignore */
439
+ ...(ngDevMode ? [undefined, { debugName: "selectionMessage" }] : /* istanbul ignore next */ []));
440
+ /**
441
+ * Whether to focus on the first visible or selected element when the overlay panel is shown.
442
+ * @group Props
443
+ */
444
+ autoOptionFocus = input(false, { ...(ngDevMode ? { debugName: "autoOptionFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
445
+ /**
446
+ * When enabled, the focused option is selected.
447
+ * @group Props
448
+ */
449
+ selectOnFocus = input(false, { ...(ngDevMode ? { debugName: "selectOnFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
450
+ /**
451
+ * Locale to use in searching. The default locale is the host environment's current locale.
452
+ * @group Props
453
+ */
454
+ searchLocale = input(/* @ts-ignore */
455
+ ...(ngDevMode ? [undefined, { debugName: "searchLocale" }] : /* istanbul ignore next */ []));
456
+ /**
457
+ * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.
458
+ * @group Props
459
+ */
460
+ optionDisabled = input(/* @ts-ignore */
461
+ ...(ngDevMode ? [undefined, { debugName: "optionDisabled" }] : /* istanbul ignore next */ []));
462
+ /**
463
+ * When enabled, the hovered option will be focused.
464
+ * @group Props
465
+ */
466
+ focusOnHover = input(true, { ...(ngDevMode ? { debugName: "focusOnHover" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
467
+ /**
468
+ * Whether typeahead is active or not.
469
+ * @defaultValue true
470
+ * @group Props
471
+ */
472
+ typeahead = input(true, { ...(ngDevMode ? { debugName: "typeahead" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
473
+ /**
474
+ * Whether to add an item on blur event if the input has value and typeahead is false with multiple mode.
475
+ * @deprecated Use InputTags component instead for chips/tags input functionality.
476
+ * @defaultValue false
477
+ * @group Props
478
+ */
479
+ addOnBlur = input(false, { ...(ngDevMode ? { debugName: "addOnBlur" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
480
+ /**
481
+ * Separator char to add item when typeahead is false and multiple mode is enabled.
482
+ * @deprecated Use InputTags component instead for chips/tags input functionality.
483
+ * @group Props
484
+ */
485
+ separator = input(/* @ts-ignore */
486
+ ...(ngDevMode ? [undefined, { debugName: "separator" }] : /* istanbul ignore next */ []));
487
+ /**
488
+ * 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).
489
+ * @defaultValue 'self'
490
+ * @group Props
491
+ */
492
+ appendTo = input(undefined, /* @ts-ignore */
493
+ ...(ngDevMode ? [{ debugName: "appendTo" }] : /* istanbul ignore next */ []));
494
+ /**
495
+ * The motion options.
496
+ * @group Props
497
+ */
498
+ motionOptions = input(undefined, /* @ts-ignore */
499
+ ...(ngDevMode ? [{ debugName: "motionOptions" }] : /* istanbul ignore next */ []));
500
+ /**
501
+ * Callback to invoke to search for suggestions.
502
+ * @param {AutoCompleteCompleteEvent} event - Custom complete event.
503
+ * @group Emits
504
+ */
505
+ completeMethod = output();
506
+ /**
507
+ * Callback to invoke when a suggestion is selected.
508
+ * @param {AutoCompleteSelectEvent} event - custom select event.
509
+ * @group Emits
510
+ */
511
+ onSelect = output();
512
+ /**
513
+ * Callback to invoke when a selected value is removed.
514
+ * @param {AutoCompleteUnselectEvent} event - custom unselect event.
515
+ * @group Emits
516
+ */
517
+ onUnselect = output();
518
+ /**
519
+ * Callback to invoke when an item is added via addOnBlur or separator features.
520
+ * @param {AutoCompleteAddEvent} event - Custom add event.
521
+ * @group Emits
522
+ */
523
+ onAdd = output();
524
+ /**
525
+ * Callback to invoke when the component receives focus.
526
+ * @param {Event} event - Browser event.
527
+ * @group Emits
528
+ */
529
+ onFocus = output();
530
+ /**
531
+ * Callback to invoke when the component loses focus.
532
+ * @param {Event} event - Browser event.
533
+ * @group Emits
534
+ */
535
+ onBlur = output();
536
+ /**
537
+ * Callback to invoke to when dropdown button is clicked.
538
+ * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.
539
+ * @group Emits
540
+ */
541
+ onDropdownClick = output();
542
+ /**
543
+ * Callback to invoke when clear button is clicked.
544
+ * @group Emits
545
+ */
546
+ onClear = output();
547
+ /**
548
+ * Callback to invoke on input key down.
549
+ * @param {KeyboardEvent} event - Keyboard event.
550
+ * @group Emits
551
+ */
552
+ onInputKeydown = output();
553
+ /**
554
+ * Callback to invoke on input key up.
555
+ * @param {KeyboardEvent} event - Keyboard event.
556
+ * @group Emits
557
+ */
558
+ onKeyUp = output();
559
+ /**
560
+ * Callback to invoke on overlay is shown.
561
+ * @group Emits
562
+ */
563
+ onShow = output();
564
+ /**
565
+ * Callback to invoke on overlay is hidden.
566
+ * @group Emits
567
+ */
568
+ onHide = output();
569
+ /**
570
+ * Callback to invoke on lazy load data.
571
+ * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.
572
+ * @group Emits
573
+ */
574
+ onLazyLoad = output();
575
+ inputEL = viewChild('focusInput', /* @ts-ignore */
576
+ ...(ngDevMode ? [{ debugName: "inputEL" }] : /* istanbul ignore next */ []));
577
+ multiInputEl = viewChild('multiIn', /* @ts-ignore */
578
+ ...(ngDevMode ? [{ debugName: "multiInputEl" }] : /* istanbul ignore next */ []));
579
+ multiContainerEL = viewChild('multiContainer', /* @ts-ignore */
580
+ ...(ngDevMode ? [{ debugName: "multiContainerEL" }] : /* istanbul ignore next */ []));
581
+ dropdownButton = viewChild('ddBtn', /* @ts-ignore */
582
+ ...(ngDevMode ? [{ debugName: "dropdownButton" }] : /* istanbul ignore next */ []));
583
+ itemsViewChild = viewChild('items', /* @ts-ignore */
584
+ ...(ngDevMode ? [{ debugName: "itemsViewChild" }] : /* istanbul ignore next */ []));
585
+ scroller = viewChild('scroller', /* @ts-ignore */
586
+ ...(ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []));
587
+ overlayViewChild = viewChild('overlay', /* @ts-ignore */
588
+ ...(ngDevMode ? [{ debugName: "overlayViewChild" }] : /* istanbul ignore next */ []));
589
+ itemsWrapper;
590
+ /**
591
+ * Custom item template.
592
+ * @group Templates
593
+ */
594
+ itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
595
+ /**
596
+ * Custom empty message template.
597
+ * @group Templates
598
+ */
599
+ emptyTemplate = contentChild('empty', { ...(ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {}), descendants: false });
600
+ /**
601
+ * Custom header template.
602
+ * @group Templates
603
+ */
604
+ headerTemplate = contentChild('header', { ...(ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
605
+ /**
606
+ * Custom footer template.
607
+ * @group Templates
608
+ */
609
+ footerTemplate = contentChild('footer', { ...(ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
610
+ /**
611
+ * Custom selected item template.
612
+ * @group Templates
613
+ */
614
+ selectedItemTemplate = contentChild('selecteditem', { ...(ngDevMode ? { debugName: "selectedItemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
615
+ /**
616
+ * Custom group template.
617
+ * @group Templates
618
+ */
619
+ groupTemplate = contentChild('group', { ...(ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {}), descendants: false });
620
+ /**
621
+ * Custom loader template.
622
+ * @group Templates
623
+ */
624
+ loaderTemplate = contentChild('loader', { ...(ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {}), descendants: false });
625
+ /**
626
+ * Custom remove icon template.
627
+ * @group Templates
628
+ */
629
+ removeIconTemplate = contentChild('removeicon', { ...(ngDevMode ? { debugName: "removeIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
630
+ /**
631
+ * Custom loading icon template.
632
+ * @group Templates
633
+ */
634
+ loadingIconTemplate = contentChild('loadingicon', { ...(ngDevMode ? { debugName: "loadingIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
635
+ /**
636
+ * Custom clear icon template.
637
+ * @group Templates
638
+ */
639
+ clearIconTemplate = contentChild('clearicon', { ...(ngDevMode ? { debugName: "clearIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
640
+ /**
641
+ * Custom dropdown icon template.
642
+ * @group Templates
643
+ */
644
+ dropdownIconTemplate = contentChild('dropdownicon', { ...(ngDevMode ? { debugName: "dropdownIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
645
+ onHostClick(event) {
646
+ this.onContainerClick(event);
647
+ }
648
+ value;
649
+ timeout = null;
650
+ overlayVisible = signal(false, /* @ts-ignore */
651
+ ...(ngDevMode ? [{ debugName: "overlayVisible" }] : /* istanbul ignore next */ []));
652
+ suggestionsUpdated;
653
+ highlightOption;
654
+ highlightOptionChanged;
655
+ focused = signal(false, /* @ts-ignore */
656
+ ...(ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []));
657
+ loading = signal(false, /* @ts-ignore */
658
+ ...(ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []));
659
+ scrollHandler;
660
+ listId;
661
+ searchTimeout = null;
662
+ dirty = false;
663
+ focusedMultipleOptionIndex = signal(-1, /* @ts-ignore */
664
+ ...(ngDevMode ? [{ debugName: "focusedMultipleOptionIndex" }] : /* istanbul ignore next */ []));
665
+ focusedOptionIndex = signal(-1, /* @ts-ignore */
666
+ ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []));
667
+ _componentStyle = inject(AutoCompleteStyle);
668
+ overlayService = inject(OverlayService);
669
+ _internalId = uuid('pn_id_');
670
+ $id = computed(() => this.id() || this._internalId, /* @ts-ignore */
671
+ ...(ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []));
672
+ $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), /* @ts-ignore */
673
+ ...(ngDevMode ? [{ debugName: "$appendTo" }] : /* istanbul ignore next */ []));
674
+ get $overlayTarget() {
675
+ return this.el?.nativeElement?.closest('[data-pc-name="inputtags"]') ? '@grandparent' : '@parent';
676
+ }
677
+ visibleOptions = computed(() => {
678
+ return this.group() ? this.flatOptions(this.suggestions()) : this.suggestions() || [];
679
+ }, /* @ts-ignore */
680
+ ...(ngDevMode ? [{ debugName: "visibleOptions" }] : /* istanbul ignore next */ []));
681
+ inputValue = computed(() => {
682
+ const modelValue = this.modelValue();
683
+ const selectedOption = this.optionValueSelected ? (this.suggestions() || []).find((option) => equals(option, modelValue, this.equalityKey())) : modelValue;
684
+ if (isNotEmpty(modelValue)) {
685
+ if (typeof modelValue === 'object' || this.optionValueSelected) {
686
+ const label = this.getOptionLabel(selectedOption);
687
+ return label != null ? label : modelValue;
688
+ }
689
+ else {
690
+ return modelValue;
691
+ }
692
+ }
693
+ else {
694
+ return '';
695
+ }
696
+ }, /* @ts-ignore */
697
+ ...(ngDevMode ? [{ debugName: "inputValue" }] : /* istanbul ignore next */ []));
698
+ $showClear = computed(() => this.$filled() && !this.$disabled() && this.showClear() && !this.loading(), /* @ts-ignore */
699
+ ...(ngDevMode ? [{ debugName: "$showClear" }] : /* istanbul ignore next */ []));
700
+ scrollerStyle = computed(() => ({ height: this.scrollHeight() }), /* @ts-ignore */
701
+ ...(ngDevMode ? [{ debugName: "scrollerStyle" }] : /* istanbul ignore next */ []));
702
+ $tabindex = computed(() => (!this.$disabled() ? this.tabindex() : -1), /* @ts-ignore */
703
+ ...(ngDevMode ? [{ debugName: "$tabindex" }] : /* istanbul ignore next */ []));
704
+ requiredAttr = computed(() => (this.required() ? '' : undefined), /* @ts-ignore */
705
+ ...(ngDevMode ? [{ debugName: "requiredAttr" }] : /* istanbul ignore next */ []));
706
+ readonlyAttr = computed(() => (this.readonly() ? '' : undefined), /* @ts-ignore */
707
+ ...(ngDevMode ? [{ debugName: "readonlyAttr" }] : /* istanbul ignore next */ []));
708
+ disabledAttr = computed(() => (this.$disabled() ? '' : undefined), /* @ts-ignore */
709
+ ...(ngDevMode ? [{ debugName: "disabledAttr" }] : /* istanbul ignore next */ []));
710
+ $listId = computed(() => this.$id() + '_list', /* @ts-ignore */
711
+ ...(ngDevMode ? [{ debugName: "$listId" }] : /* istanbul ignore next */ []));
712
+ get focusedMultipleOptionId() {
713
+ return this.focusedMultipleOptionIndex() !== -1 ? `${this.$id()}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;
714
+ }
715
+ get focusedOptionId() {
716
+ return this.focusedOptionIndex() !== -1 ? `${this.$id()}_${this.focusedOptionIndex()}` : null;
717
+ }
718
+ get searchResultMessageText() {
719
+ return isNotEmpty(this.visibleOptions()) && this.overlayVisible() ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;
720
+ }
721
+ get searchMessageText() {
722
+ return this.searchMessage() || this.config.translation.searchMessage || '';
723
+ }
724
+ get emptySearchMessageText() {
725
+ return this.emptyMessage() || this.config.translation.emptySearchMessage || '';
726
+ }
727
+ get selectionMessageText() {
728
+ return this.selectionMessage() || this.config.translation.selectionMessage || '';
729
+ }
730
+ get emptySelectionMessageText() {
731
+ return this.emptySelectionMessage() || this.config.translation.emptySelectionMessage || '';
732
+ }
733
+ get selectedMessageText() {
734
+ return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple() ? this.modelValue()?.length : '1') : this.emptySelectionMessageText;
735
+ }
736
+ get ariaSetSize() {
737
+ return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;
738
+ }
739
+ get listLabel() {
740
+ return this.translate(TranslationKeys.ARIA, 'listLabel');
741
+ }
742
+ get virtualScrollerDisabled() {
743
+ return !this.virtualScroll();
744
+ }
745
+ get optionValueSelected() {
746
+ return typeof this.modelValue() === 'string' && this.optionValue();
747
+ }
748
+ chipItemClass(index) {
749
+ return this._componentStyle.classes.chipItem({ instance: this, i: index });
750
+ }
751
+ constructor() {
752
+ super();
753
+ effect(() => {
754
+ const value = this.suggestions();
755
+ if (value) {
756
+ this.handleSuggestionsChange();
757
+ }
758
+ });
759
+ }
760
+ onAfterViewChecked() {
761
+ this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
762
+ //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated
763
+ if (this.suggestionsUpdated && this.overlayViewChild()) {
764
+ setTimeout(() => {
765
+ if (this.overlayViewChild()) {
766
+ this.overlayViewChild().alignOverlay();
767
+ }
768
+ }, 1);
769
+ this.suggestionsUpdated = false;
770
+ }
771
+ }
772
+ handleSuggestionsChange() {
773
+ if (this.loading()) {
774
+ this.suggestions()?.length > 0 || this.showEmptyMessage() || !!this.emptyTemplate() ? this.show() : this.hide();
775
+ const focusedOptionIndex = this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
776
+ this.focusedOptionIndex.set(focusedOptionIndex);
777
+ this.suggestionsUpdated = true;
778
+ this.loading.set(false);
779
+ }
780
+ }
781
+ flatOptions(options) {
782
+ return (options || []).reduce((result, option, index) => {
783
+ result.push({ optionGroup: option, group: true, index });
784
+ const optionGroupChildren = this.getOptionGroupChildren(option);
785
+ optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
786
+ return result;
787
+ }, []);
788
+ }
789
+ isOptionGroup(option) {
790
+ return this.optionGroupLabel() && option.optionGroup && option.group;
791
+ }
792
+ findFirstOptionIndex() {
793
+ return this.visibleOptions().findIndex((option) => this.isValidOption(option));
794
+ }
795
+ findLastOptionIndex() {
796
+ return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
797
+ }
798
+ findFirstFocusedOptionIndex() {
799
+ const selectedIndex = this.findSelectedOptionIndex();
800
+ return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
801
+ }
802
+ findLastFocusedOptionIndex() {
803
+ const selectedIndex = this.findSelectedOptionIndex();
804
+ return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
805
+ }
806
+ findSelectedOptionIndex() {
807
+ return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
808
+ }
809
+ findNextOptionIndex(index) {
810
+ const matchedOptionIndex = index < this.visibleOptions().length - 1
811
+ ? this.visibleOptions()
812
+ .slice(index + 1)
813
+ .findIndex((option) => this.isValidOption(option))
814
+ : -1;
815
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
816
+ }
817
+ findPrevOptionIndex(index) {
818
+ const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
819
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
820
+ }
821
+ isValidSelectedOption(option) {
822
+ return this.isValidOption(option) && this.isSelected(option);
823
+ }
824
+ isValidOption(option) {
825
+ return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
826
+ }
827
+ isOptionDisabled(option) {
828
+ return this.optionDisabled() ? resolveFieldData(option, this.optionDisabled()) : false;
829
+ }
830
+ isSelected(option) {
831
+ if (this.multiple()) {
832
+ return this.unique() ? this.modelValue()?.some((model) => equals(model, option, this.equalityKey())) : false;
833
+ }
834
+ return equals(this.modelValue(), option, this.equalityKey());
835
+ }
836
+ isOptionMatched(option, value) {
837
+ return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale()) === value.toLocaleLowerCase(this.searchLocale());
838
+ }
839
+ isInputClicked(event) {
840
+ return event.target === this.inputEL()?.nativeElement;
841
+ }
842
+ isDropdownClicked(event) {
843
+ return this.dropdownButton()?.nativeElement ? event.target === this.dropdownButton().nativeElement || this.dropdownButton().nativeElement.contains(event.target) : false;
844
+ }
845
+ equalityKey() {
846
+ return this.optionValue() ? undefined : this.dataKey();
847
+ }
848
+ onContainerClick(event) {
849
+ if (this.$disabled() || this.loading() || this.isInputClicked(event) || this.isDropdownClicked(event)) {
850
+ return;
851
+ }
852
+ if (!this.overlayViewChild() || !this.overlayViewChild().overlayViewChild()?.nativeElement.contains(event.target)) {
853
+ focus(this.inputEL()?.nativeElement);
854
+ }
855
+ }
856
+ handleDropdownClick(event) {
857
+ let query = undefined;
858
+ if (this.overlayVisible()) {
859
+ this.hide(true);
860
+ }
861
+ else {
862
+ focus(this.inputEL()?.nativeElement);
863
+ query = this.inputEL()?.nativeElement?.value;
864
+ if (this.dropdownMode() === 'blank')
865
+ this.search(event, '', 'dropdown');
866
+ else if (this.dropdownMode() === 'current')
867
+ this.search(event, query, 'dropdown');
868
+ }
869
+ this.onDropdownClick.emit({ originalEvent: event, query });
870
+ }
871
+ onInput(event) {
872
+ if (this.typeahead()) {
873
+ const _minLength = this.minQueryLength() || 1;
874
+ if (this.searchTimeout) {
875
+ clearTimeout(this.searchTimeout);
876
+ }
877
+ let query = event.target.value;
878
+ const maxLen = this.maxlength();
879
+ if (maxLen != null) {
880
+ query = query.split('').slice(0, maxLen).join('');
881
+ }
882
+ if (!this.multiple() && !this.forceSelection()) {
883
+ this.updateModel(query);
884
+ }
885
+ if (query.length === 0 && !this.multiple()) {
886
+ this.onClear.emit();
887
+ setTimeout(() => {
888
+ this.hide();
889
+ }, this.delay() / 2);
890
+ }
891
+ else {
892
+ if (query.length >= _minLength) {
893
+ this.focusedOptionIndex.set(-1);
894
+ this.searchTimeout = setTimeout(() => {
895
+ this.search(event, query, 'input');
896
+ }, this.delay());
897
+ }
898
+ else {
899
+ this.hide();
900
+ }
901
+ }
902
+ }
903
+ }
904
+ onInputChange(event) {
905
+ this.updateInputWithForceSelection(event);
906
+ }
907
+ onInputFocus(event) {
908
+ if (this.$disabled()) {
909
+ // For ScreenReaders
910
+ return;
911
+ }
912
+ if (!this.dirty && this.completeOnFocus()) {
913
+ this.search(event, event.target.value, 'focus');
914
+ }
915
+ this.dirty = true;
916
+ this.focused.set(true);
917
+ const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
918
+ this.focusedOptionIndex.set(focusedOptionIndex);
919
+ this.overlayVisible() && this.scrollInView(this.focusedOptionIndex());
920
+ this.onFocus.emit(event);
921
+ }
922
+ onMultipleContainerFocus(event) {
923
+ if (this.$disabled()) {
924
+ // For ScreenReaders
925
+ return;
926
+ }
927
+ this.focused.set(true);
928
+ }
929
+ onMultipleContainerBlur(event) {
930
+ this.focusedMultipleOptionIndex.set(-1);
931
+ this.focused.set(false);
932
+ }
933
+ onMultipleContainerKeyDown(event) {
934
+ if (this.$disabled()) {
935
+ event.preventDefault();
936
+ return;
937
+ }
938
+ switch (event.code) {
939
+ case 'ArrowLeft':
940
+ this.onArrowLeftKeyOnMultiple(event);
941
+ break;
942
+ case 'ArrowRight':
943
+ this.onArrowRightKeyOnMultiple(event);
944
+ break;
945
+ case 'Backspace':
946
+ this.onBackspaceKeyOnMultiple(event);
947
+ break;
948
+ default:
949
+ break;
950
+ }
951
+ }
952
+ onInputBlur(event) {
953
+ this.dirty = false;
954
+ this.focused.set(false);
955
+ this.focusedOptionIndex.set(-1);
956
+ if (this.addOnBlur() && this.multiple() && !this.typeahead()) {
957
+ const inputValue = (this.multiInputEl()?.nativeElement?.value || event.target.value || '').trim();
958
+ if (inputValue && !this.isSelected(inputValue)) {
959
+ this.updateModel([...(this.modelValue() || []), inputValue]);
960
+ this.onAdd.emit({ originalEvent: event, value: inputValue });
961
+ if (this.multiInputEl()?.nativeElement) {
962
+ this.multiInputEl().nativeElement.value = '';
963
+ }
964
+ else {
965
+ event.target.value = '';
966
+ }
967
+ }
968
+ }
969
+ this.onModelTouched();
970
+ this.onBlur.emit(event);
971
+ }
972
+ onInputPaste(event) {
973
+ if (this.separator() && this.multiple() && !this.typeahead()) {
974
+ const pastedData = event.clipboardData?.getData('Text');
975
+ if (pastedData) {
976
+ const values = pastedData.split(this.separator());
977
+ const newValues = [...(this.modelValue() || [])];
978
+ values.forEach((value) => {
979
+ const trimmedValue = value.trim();
980
+ if (trimmedValue && !this.isSelected(trimmedValue)) {
981
+ newValues.push(trimmedValue);
982
+ }
983
+ });
984
+ if (newValues.length > (this.modelValue() || []).length) {
985
+ const addedValues = newValues.slice((this.modelValue() || []).length);
986
+ this.updateModel(newValues);
987
+ addedValues.forEach((addedValue) => {
988
+ this.onAdd.emit({ originalEvent: event, value: addedValue });
989
+ });
990
+ if (this.multiInputEl()?.nativeElement) {
991
+ this.multiInputEl().nativeElement.value = '';
992
+ }
993
+ else {
994
+ event.target.value = '';
995
+ }
996
+ event.preventDefault();
997
+ }
998
+ }
999
+ }
1000
+ else {
1001
+ this.onKeyDown(event);
1002
+ }
1003
+ }
1004
+ onInputKeyUp(event) {
1005
+ this.onKeyUp.emit(event);
1006
+ }
1007
+ onKeyDown(event) {
1008
+ if (this.$disabled()) {
1009
+ event.preventDefault();
1010
+ return;
1011
+ }
1012
+ // Emit keydown event for external handling
1013
+ this.onInputKeydown.emit(event);
1014
+ switch (event.code) {
1015
+ case 'ArrowDown':
1016
+ this.onArrowDownKey(event);
1017
+ break;
1018
+ case 'ArrowUp':
1019
+ this.onArrowUpKey(event);
1020
+ break;
1021
+ case 'ArrowLeft':
1022
+ this.onArrowLeftKey(event);
1023
+ break;
1024
+ case 'ArrowRight':
1025
+ this.onArrowRightKey(event);
1026
+ break;
1027
+ case 'Home':
1028
+ this.onHomeKey(event);
1029
+ break;
1030
+ case 'End':
1031
+ this.onEndKey(event);
1032
+ break;
1033
+ case 'PageDown':
1034
+ this.onPageDownKey(event);
1035
+ break;
1036
+ case 'PageUp':
1037
+ this.onPageUpKey(event);
1038
+ break;
1039
+ case 'Enter':
1040
+ case 'NumpadEnter':
1041
+ this.onEnterKey(event);
1042
+ break;
1043
+ case 'Escape':
1044
+ this.onEscapeKey(event);
1045
+ if (this.overlayVisible()) {
1046
+ event.stopPropagation();
1047
+ }
1048
+ break;
1049
+ case 'Tab':
1050
+ this.onTabKey(event);
1051
+ break;
1052
+ case 'Backspace':
1053
+ this.onBackspaceKey(event);
1054
+ break;
1055
+ case 'ShiftLeft':
1056
+ case 'ShiftRight':
1057
+ //NOOP
1058
+ break;
1059
+ default:
1060
+ this.handleSeparatorKey(event);
1061
+ break;
1062
+ }
1063
+ }
1064
+ handleSeparatorKey(event) {
1065
+ const separator = this.separator();
1066
+ if (separator && this.multiple() && !this.typeahead()) {
1067
+ if (separator === event.key || (typeof separator === 'string' && event.key === separator) || (separator instanceof RegExp && event.key.match(separator))) {
1068
+ const inputValue = (this.multiInputEl()?.nativeElement?.value || event.target.value || '').trim();
1069
+ if (inputValue && !this.isSelected(inputValue)) {
1070
+ this.updateModel([...(this.modelValue() || []), inputValue]);
1071
+ this.onAdd.emit({ originalEvent: event, value: inputValue });
1072
+ if (this.multiInputEl()?.nativeElement) {
1073
+ this.multiInputEl().nativeElement.value = '';
1074
+ }
1075
+ else {
1076
+ event.target.value = '';
1077
+ }
1078
+ event.preventDefault();
1079
+ }
1080
+ }
1081
+ }
1082
+ }
1083
+ onArrowDownKey(event) {
1084
+ if (!this.overlayVisible()) {
1085
+ return;
1086
+ }
1087
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
1088
+ this.changeFocusedOptionIndex(event, optionIndex);
1089
+ event.preventDefault();
1090
+ event.stopPropagation();
1091
+ }
1092
+ onArrowUpKey(event) {
1093
+ if (!this.overlayVisible()) {
1094
+ return;
1095
+ }
1096
+ if (event.altKey) {
1097
+ if (this.focusedOptionIndex() !== -1) {
1098
+ this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);
1099
+ }
1100
+ this.overlayVisible() && this.hide();
1101
+ event.preventDefault();
1102
+ }
1103
+ else {
1104
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();
1105
+ this.changeFocusedOptionIndex(event, optionIndex);
1106
+ event.preventDefault();
1107
+ event.stopPropagation();
1108
+ }
1109
+ }
1110
+ onArrowLeftKey(event) {
1111
+ const target = event.currentTarget;
1112
+ this.focusedOptionIndex.set(-1);
1113
+ if (this.multiple()) {
1114
+ if (isEmpty(target.value) && this.hasSelectedOption()) {
1115
+ focus(this.multiContainerEL()?.nativeElement);
1116
+ this.focusedMultipleOptionIndex.set(this.modelValue().length);
1117
+ }
1118
+ else {
1119
+ event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method
1120
+ }
1121
+ }
1122
+ }
1123
+ onArrowRightKey(event) {
1124
+ this.focusedOptionIndex.set(-1);
1125
+ this.multiple() && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method
1126
+ }
1127
+ onHomeKey(event) {
1128
+ const currentTarget = event.currentTarget;
1129
+ const len = currentTarget.value.length;
1130
+ currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);
1131
+ this.focusedOptionIndex.set(-1);
1132
+ event.preventDefault();
1133
+ }
1134
+ onEndKey(event) {
1135
+ const currentTarget = event.currentTarget;
1136
+ const len = currentTarget.value.length;
1137
+ currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);
1138
+ this.focusedOptionIndex.set(-1);
1139
+ event.preventDefault();
1140
+ }
1141
+ onPageDownKey(event) {
1142
+ this.scrollInView(this.visibleOptions().length - 1);
1143
+ event.preventDefault();
1144
+ }
1145
+ onPageUpKey(event) {
1146
+ this.scrollInView(0);
1147
+ event.preventDefault();
1148
+ }
1149
+ onEnterKey(event) {
1150
+ if (!this.typeahead() && !this.forceSelection()) {
1151
+ if (this.multiple()) {
1152
+ const inputValue = event.target.value?.trim();
1153
+ if (inputValue && !this.isSelected(inputValue)) {
1154
+ this.updateModel([...(this.modelValue() || []), inputValue]);
1155
+ this.onAdd.emit({ originalEvent: event, value: inputValue });
1156
+ this.inputEL()?.nativeElement && (this.inputEL().nativeElement.value = '');
1157
+ }
1158
+ }
1159
+ }
1160
+ if (!this.overlayVisible()) {
1161
+ return;
1162
+ }
1163
+ else {
1164
+ if (this.focusedOptionIndex() !== -1) {
1165
+ this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);
1166
+ }
1167
+ this.hide();
1168
+ }
1169
+ event.preventDefault();
1170
+ }
1171
+ onEscapeKey(event) {
1172
+ this.overlayVisible() && this.hide(true);
1173
+ event.preventDefault();
1174
+ }
1175
+ onTabKey(event) {
1176
+ // If there's a focused option in the dropdown, select it
1177
+ if (this.focusedOptionIndex() !== -1) {
1178
+ this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);
1179
+ return;
1180
+ }
1181
+ // Handle tab key behavior for multiple mode without typeahead
1182
+ if (this.multiple() && !this.typeahead()) {
1183
+ const inputValue = (this.multiInputEl()?.nativeElement?.value || this.inputEL()?.nativeElement?.value || '').trim();
1184
+ if (this.addOnTab()) {
1185
+ if (inputValue && !this.isSelected(inputValue)) {
1186
+ // Add the value and keep focus
1187
+ this.updateModel([...(this.modelValue() || []), inputValue]);
1188
+ this.onAdd.emit({ originalEvent: event, value: inputValue });
1189
+ if (this.multiInputEl()?.nativeElement) {
1190
+ this.multiInputEl().nativeElement.value = '';
1191
+ }
1192
+ else if (this.inputEL()?.nativeElement) {
1193
+ this.inputEL().nativeElement.value = '';
1194
+ }
1195
+ this.updateInputValue();
1196
+ event.preventDefault(); // Keep focus on the component
1197
+ this.overlayVisible() && this.hide();
1198
+ return;
1199
+ }
1200
+ // If no value or already selected, allow normal tab behavior (blur)
1201
+ }
1202
+ // If addOnTab is false or no value to add, allow normal tab behavior
1203
+ // which will trigger blur and potentially addOnBlur
1204
+ }
1205
+ this.overlayVisible() && this.hide();
1206
+ }
1207
+ onBackspaceKey(event) {
1208
+ if (this.multiple()) {
1209
+ if (isNotEmpty(this.modelValue()) && !this.inputEL()?.nativeElement?.value) {
1210
+ const removedValue = this.modelValue()[this.modelValue().length - 1];
1211
+ const newValue = this.modelValue().slice(0, -1);
1212
+ this.updateModel(newValue);
1213
+ this.onUnselect.emit({ originalEvent: event, value: removedValue });
1214
+ }
1215
+ event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method
1216
+ }
1217
+ }
1218
+ onArrowLeftKeyOnMultiple(event) {
1219
+ const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;
1220
+ this.focusedMultipleOptionIndex.set(optionIndex);
1221
+ }
1222
+ onArrowRightKeyOnMultiple(event) {
1223
+ let optionIndex = this.focusedMultipleOptionIndex();
1224
+ optionIndex++;
1225
+ this.focusedMultipleOptionIndex.set(optionIndex);
1226
+ if (optionIndex > this.modelValue().length - 1) {
1227
+ this.focusedMultipleOptionIndex.set(-1);
1228
+ focus(this.inputEL()?.nativeElement);
1229
+ }
1230
+ }
1231
+ onBackspaceKeyOnMultiple(event) {
1232
+ if (this.focusedMultipleOptionIndex() !== -1) {
1233
+ this.removeOption(event, this.focusedMultipleOptionIndex());
1234
+ }
1235
+ }
1236
+ onOptionSelect(event, option, isHide = true) {
1237
+ if (this.multiple()) {
1238
+ this.inputEL()?.nativeElement && (this.inputEL().nativeElement.value = '');
1239
+ if (!this.isSelected(option)) {
1240
+ this.updateModel([...(this.modelValue() || []), option]);
1241
+ }
1242
+ }
1243
+ else {
1244
+ this.updateModel(option);
1245
+ }
1246
+ if (event) {
1247
+ this.onSelect.emit({ originalEvent: event, value: option });
1248
+ }
1249
+ isHide && this.hide(true);
1250
+ }
1251
+ onOptionMouseEnter(event, index) {
1252
+ if (this.focusOnHover()) {
1253
+ this.changeFocusedOptionIndex(event, index);
1254
+ }
1255
+ }
1256
+ search(event, query, source) {
1257
+ //allow empty string but not undefined or null
1258
+ if (query === undefined || query === null) {
1259
+ return;
1260
+ }
1261
+ //do not search blank values on input change
1262
+ if (source === 'input' && query.trim().length === 0) {
1263
+ return;
1264
+ }
1265
+ this.loading.set(true);
1266
+ this.completeMethod.emit({ originalEvent: event, query });
1267
+ }
1268
+ removeOption(event, index) {
1269
+ event.stopPropagation();
1270
+ const removedOption = this.modelValue()[index];
1271
+ const value = this.modelValue().filter((_, i) => i !== index);
1272
+ this.updateModel(value);
1273
+ this.onUnselect.emit({ originalEvent: event, value: removedOption });
1274
+ focus(this.inputEL()?.nativeElement);
1275
+ }
1276
+ updateModel(options) {
1277
+ let value = null;
1278
+ if (options) {
1279
+ value = this.multiple() ? options.map((option) => this.getOptionValue(option)) : this.getOptionValue(options);
1280
+ }
1281
+ this.value = value;
1282
+ this.writeModelValue(options);
1283
+ this.onModelChange(value);
1284
+ this.updateInputValue();
1285
+ }
1286
+ updateInputValue() {
1287
+ const inputEl = this.inputEL();
1288
+ if (inputEl && inputEl.nativeElement) {
1289
+ if (!this.multiple()) {
1290
+ inputEl.nativeElement.value = this.inputValue();
1291
+ }
1292
+ else {
1293
+ inputEl.nativeElement.value = '';
1294
+ }
1295
+ }
1296
+ }
1297
+ updateInputWithForceSelection(event) {
1298
+ const input = this.inputEL()?.nativeElement;
1299
+ const inputCleared = !input?.value && isNotEmpty(this.modelValue());
1300
+ if (!this.forceSelection() || this.overlayVisible() || (!input?.value && !inputCleared)) {
1301
+ return;
1302
+ }
1303
+ const _minLength = this.minQueryLength();
1304
+ if (!inputCleared && _minLength != null && input.value.length < _minLength) {
1305
+ return;
1306
+ }
1307
+ const matchedOption = this.visibleOptions()?.find((option) => this.isOptionMatched(option, input.value));
1308
+ if (!matchedOption) {
1309
+ input.value = '';
1310
+ if (!this.multiple()) {
1311
+ this.clear();
1312
+ }
1313
+ return;
1314
+ }
1315
+ if (matchedOption && !this.isSelected(matchedOption)) {
1316
+ this.onOptionSelect(event, matchedOption);
1317
+ }
1318
+ }
1319
+ autoUpdateModel() {
1320
+ if ((this.selectOnFocus() || this.autoHighlight()) && this.autoOptionFocus() && !this.hasSelectedOption()) {
1321
+ const focusedOptionIndex = this.findFirstFocusedOptionIndex();
1322
+ this.focusedOptionIndex.set(focusedOptionIndex);
1323
+ this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);
1324
+ }
1325
+ }
1326
+ scrollInView(index = -1) {
1327
+ const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId;
1328
+ const itemsViewChild = this.itemsViewChild();
1329
+ if (itemsViewChild && itemsViewChild.nativeElement) {
1330
+ const element = findSingle(itemsViewChild.nativeElement, `li[id="${id}"]`);
1331
+ if (element) {
1332
+ element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1333
+ }
1334
+ else if (!this.virtualScrollerDisabled) {
1335
+ setTimeout(() => {
1336
+ this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
1337
+ }, 0);
1338
+ }
1339
+ }
1340
+ }
1341
+ changeFocusedOptionIndex(event, index) {
1342
+ if (this.focusedOptionIndex() !== index) {
1343
+ this.focusedOptionIndex.set(index);
1344
+ this.scrollInView();
1345
+ if (this.selectOnFocus()) {
1346
+ this.onOptionSelect(event, this.visibleOptions()[index], false);
1347
+ }
1348
+ }
1349
+ }
1350
+ show(isFocus = false) {
1351
+ this.dirty = true;
1352
+ this.overlayVisible.set(true);
1353
+ const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
1354
+ this.focusedOptionIndex.set(focusedOptionIndex);
1355
+ isFocus && focus(this.inputEL()?.nativeElement);
1356
+ if (isFocus) {
1357
+ focus(this.inputEL()?.nativeElement);
1358
+ }
1359
+ this.onShow.emit();
1360
+ }
1361
+ hide(isFocus = false) {
1362
+ const _hide = () => {
1363
+ this.dirty = isFocus;
1364
+ this.overlayVisible.set(false);
1365
+ this.focusedOptionIndex.set(-1);
1366
+ isFocus && focus(this.inputEL()?.nativeElement);
1367
+ this.onHide.emit();
1368
+ this.updateInputWithForceSelection(null);
1369
+ };
1370
+ if (this.timeout) {
1371
+ clearTimeout(this.timeout);
1372
+ }
1373
+ this.timeout = setTimeout(() => {
1374
+ _hide();
1375
+ }, 0); // For ScreenReaders
1376
+ }
1377
+ clear() {
1378
+ this.updateModel(null);
1379
+ this.inputEL()?.nativeElement && (this.inputEL().nativeElement.value = '');
1380
+ this.onClear.emit();
1381
+ this.overlayVisible() && this.hide();
1382
+ }
1383
+ hasSelectedOption() {
1384
+ return isNotEmpty(this.modelValue());
1385
+ }
1386
+ getAriaPosInset(index) {
1387
+ return ((this.optionGroupLabel()
1388
+ ? index -
1389
+ this.visibleOptions()
1390
+ .slice(0, index)
1391
+ .filter((option) => this.isOptionGroup(option)).length
1392
+ : index) + 1);
1393
+ }
1394
+ getOptionLabel(option) {
1395
+ const optionLabel = this.optionLabel();
1396
+ return optionLabel ? resolveFieldData(option, optionLabel) : option && option.label != undefined ? option.label : option;
1397
+ }
1398
+ getOptionValue(option) {
1399
+ const optionValue = this.optionValue();
1400
+ return optionValue ? resolveFieldData(option, optionValue) : option && option.value != undefined ? option.value : option;
1401
+ }
1402
+ getChipTrackKey(option) {
1403
+ return option != null && typeof option === 'object' ? this.getOptionValue(option) : option;
1404
+ }
1405
+ getOptionIndex(index, scrollerOptions) {
1406
+ return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
1407
+ }
1408
+ getOptionGroupLabel(optionGroup) {
1409
+ const optionGroupLabel = this.optionGroupLabel();
1410
+ return optionGroupLabel ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;
1411
+ }
1412
+ getOptionGroupChildren(optionGroup) {
1413
+ const optionGroupChildren = this.optionGroupChildren();
1414
+ return optionGroupChildren ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items;
1415
+ }
1416
+ getPTOptions(option, scrollerOptions, index, key) {
1417
+ return this.ptm(key, {
1418
+ context: {
1419
+ option,
1420
+ index: this.getOptionIndex(index, scrollerOptions),
1421
+ selected: this.isSelected(option),
1422
+ focused: this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions),
1423
+ disabled: this.isOptionDisabled(option)
1424
+ }
1425
+ });
1426
+ }
1427
+ getSelectedItemContext(option) {
1428
+ return { $implicit: option };
1429
+ }
1430
+ getRemoveIconContext(index) {
1431
+ return { removeCallback: this.removeOption.bind(this), index, class: this.cx('chipIcon') };
1432
+ }
1433
+ getGroupContext(optionGroup) {
1434
+ return { $implicit: optionGroup };
1435
+ }
1436
+ getItemContext(option, index, scrollerOptions) {
1437
+ return {
1438
+ $implicit: option,
1439
+ index: scrollerOptions.getOptions ? scrollerOptions.getOptions(index) : index
1440
+ };
1441
+ }
1442
+ getLoaderContext(scrollerOptions) {
1443
+ return { options: scrollerOptions };
1444
+ }
1445
+ getBuildInItemsContext(items, scrollerOptions) {
1446
+ return { $implicit: items, options: scrollerOptions };
1447
+ }
1448
+ shouldShowEmptyMessage(items) {
1449
+ return !items || (items.length === 0 && this.showEmptyMessage());
1450
+ }
1451
+ getItemStyle(scrollerOptions) {
1452
+ return { height: scrollerOptions.itemSize + 'px' };
1453
+ }
1454
+ getChipLabel(option) {
1455
+ return !this.selectedItemTemplate() && this.getOptionLabel(option);
1456
+ }
1457
+ getMultipleOptionId(index) {
1458
+ return this.$id() + '_multiple_option_' + index;
1459
+ }
1460
+ getOptionElementId(index, scrollerOptions) {
1461
+ return this.$id() + '_' + this.getOptionIndex(index, scrollerOptions);
1462
+ }
1463
+ isOptionFocused(index, scrollerOptions) {
1464
+ return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);
1465
+ }
1466
+ getAriaControls() {
1467
+ return this.overlayVisible() ? this.$listId() : null;
1468
+ }
1469
+ getAriaActiveDescendant() {
1470
+ return this.focused() ? this.focusedOptionId : undefined;
1471
+ }
1472
+ getMultipleAriaActiveDescendant() {
1473
+ return this.focused() ? this.focusedMultipleOptionId : undefined;
1474
+ }
1475
+ getMultiplePlaceholder() {
1476
+ return !this.$filled() ? this.placeholder() : null;
1477
+ }
1478
+ getListContainerMaxHeight() {
1479
+ return this.virtualScroll() ? 'auto' : this.scrollHeight();
1480
+ }
1481
+ onOverlayBeforeEnter() {
1482
+ this.itemsWrapper = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name="virtualscroller"]' : '[data-pc-name="pcoverlay"]');
1483
+ if (this.virtualScroll()) {
1484
+ this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);
1485
+ this.scroller()?.viewInit();
1486
+ }
1487
+ if (this.visibleOptions() && this.visibleOptions().length) {
1488
+ if (this.virtualScroll()) {
1489
+ const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;
1490
+ if (selectedIndex !== -1) {
1491
+ this.scroller()?.scrollToIndex(selectedIndex);
1492
+ }
1493
+ }
1494
+ else {
1495
+ let selectedListItem = findSingle(this.itemsWrapper, '[data-pc-section="option"][data-p-selected="true"]');
1496
+ if (selectedListItem) {
1497
+ selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });
1498
+ }
1499
+ }
1500
+ }
1501
+ }
1502
+ get containerDataP() {
1503
+ return this.cn({
1504
+ fluid: this.hasFluid
1505
+ });
1506
+ }
1507
+ get overlayDataP() {
1508
+ return this.cn({
1509
+ [`overlay-${this.$appendTo()}`]: true
1510
+ });
1511
+ }
1512
+ get inputMultipleDataP() {
1513
+ return this.cn({
1514
+ invalid: this.invalid(),
1515
+ disabled: this.$disabled(),
1516
+ focus: this.focused(),
1517
+ fluid: this.hasFluid,
1518
+ filled: this.$variant() === 'filled',
1519
+ empty: !this.$filled(),
1520
+ [this.size()]: this.size()
1521
+ });
1522
+ }
1523
+ /**
1524
+ * @override
1525
+ *
1526
+ * @see {@link BaseEditableHolder.writeControlValue}
1527
+ * Writes the value to the control.
1528
+ */
1529
+ writeControlValue(value, setModelValue) {
1530
+ if (this.multiple()) {
1531
+ const resolved = (value || []).map((val) => {
1532
+ const match = this.visibleOptions().find((option) => equals(val, option, this.equalityKey()));
1533
+ return match ?? val;
1534
+ });
1535
+ setModelValue(isEmpty(value) ? value : resolved);
1536
+ }
1537
+ else {
1538
+ const option = this.visibleOptions().find((option) => equals(value, option, this.equalityKey()));
1539
+ setModelValue(isEmpty(option) ? value : option);
1540
+ }
1541
+ this.value = value;
1542
+ this.updateInputValue();
1543
+ }
1544
+ onDestroy() {
1545
+ if (this.searchTimeout) {
1546
+ clearTimeout(this.searchTimeout);
1547
+ }
1548
+ if (this.timeout) {
1549
+ clearTimeout(this.timeout);
1550
+ }
1551
+ if (this.scrollHandler) {
1552
+ this.scrollHandler.destroy();
1553
+ this.scrollHandler = null;
1554
+ }
1555
+ }
1556
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: AutoComplete, deps: [], target: i0.ɵɵFactoryTarget.Component });
1557
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.3", type: AutoComplete, isStandalone: true, selector: "p-autocomplete, p-auto-complete", inputs: { minQueryLength: { classPropertyName: "minQueryLength", publicName: "minQueryLength", isSignal: true, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, inputStyleClass: { classPropertyName: "inputStyleClass", publicName: "inputStyleClass", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: true, isRequired: false, transformFunction: null }, autoHighlight: { classPropertyName: "autoHighlight", publicName: "autoHighlight", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, autoZIndex: { classPropertyName: "autoZIndex", publicName: "autoZIndex", isSignal: true, isRequired: false, transformFunction: null }, baseZIndex: { classPropertyName: "baseZIndex", publicName: "baseZIndex", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, dropdownAriaLabel: { classPropertyName: "dropdownAriaLabel", publicName: "dropdownAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: true, isRequired: false, transformFunction: null }, unique: { classPropertyName: "unique", publicName: "unique", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, completeOnFocus: { classPropertyName: "completeOnFocus", publicName: "completeOnFocus", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, dropdown: { classPropertyName: "dropdown", publicName: "dropdown", isSignal: true, isRequired: false, transformFunction: null }, showEmptyMessage: { classPropertyName: "showEmptyMessage", publicName: "showEmptyMessage", isSignal: true, isRequired: false, transformFunction: null }, dropdownMode: { classPropertyName: "dropdownMode", publicName: "dropdownMode", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, addOnTab: { classPropertyName: "addOnTab", publicName: "addOnTab", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: true, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: true, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: true, isRequired: false, transformFunction: null }, suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: true, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, searchMessage: { classPropertyName: "searchMessage", publicName: "searchMessage", isSignal: true, isRequired: false, transformFunction: null }, emptySelectionMessage: { classPropertyName: "emptySelectionMessage", publicName: "emptySelectionMessage", isSignal: true, isRequired: false, transformFunction: null }, selectionMessage: { classPropertyName: "selectionMessage", publicName: "selectionMessage", isSignal: true, isRequired: false, transformFunction: null }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: true, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: true, isRequired: false, transformFunction: null }, searchLocale: { classPropertyName: "searchLocale", publicName: "searchLocale", isSignal: true, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: true, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: true, isRequired: false, transformFunction: null }, typeahead: { classPropertyName: "typeahead", publicName: "typeahead", isSignal: true, isRequired: false, transformFunction: null }, addOnBlur: { classPropertyName: "addOnBlur", publicName: "addOnBlur", isSignal: true, isRequired: false, transformFunction: null }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", 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": "cx('root')", "style": "sx('root')", "attr.data-p": "containerDataP" } }, providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle, { provide: AUTOCOMPLETE_INSTANCE, useExisting: AutoComplete }, { provide: PARENT_INSTANCE, useExisting: AutoComplete }], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], isSignal: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], isSignal: true }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selecteditem"], isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], isSignal: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], isSignal: true }, { propertyName: "removeIconTemplate", first: true, predicate: ["removeicon"], isSignal: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], isSignal: true }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"], isSignal: true }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"], isSignal: true }], viewQueries: [{ propertyName: "inputEL", first: true, predicate: ["focusInput"], descendants: true, isSignal: true }, { propertyName: "multiInputEl", first: true, predicate: ["multiIn"], descendants: true, isSignal: true }, { propertyName: "multiContainerEL", first: true, predicate: ["multiContainer"], descendants: true, isSignal: true }, { propertyName: "dropdownButton", first: true, predicate: ["ddBtn"], descendants: true, isSignal: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true, isSignal: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true, isSignal: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
1558
+ @if (!multiple()) {
1559
+ <input
1560
+ #focusInput
1561
+ [pAutoFocus]="autofocus()"
1562
+ pInputText
1563
+ [pt]="ptm('pcInputText')"
1564
+ [class]="cn(cx('pcInputText'), inputStyleClass())"
1565
+ [style]="inputStyle()"
1566
+ [attr.type]="type()"
1567
+ [attr.value]="inputValue()"
1568
+ [variant]="$variant()"
1569
+ [invalid]="invalid()"
1570
+ [attr.id]="inputId()"
1571
+ [attr.autocomplete]="autocomplete()"
1572
+ aria-autocomplete="list"
1573
+ role="combobox"
1574
+ [attr.placeholder]="placeholder()"
1575
+ [attr.name]="name()"
1576
+ [attr.minlength]="minlength()"
1577
+ [pSize]="size()"
1578
+ [attr.min]="min()"
1579
+ [attr.max]="max()"
1580
+ [attr.pattern]="$pattern()"
1581
+ [attr.size]="inputSize()"
1582
+ [attr.maxlength]="maxlength()"
1583
+ [attr.tabindex]="$tabindex()"
1584
+ [attr.required]="requiredAttr()"
1585
+ [attr.readonly]="readonlyAttr()"
1586
+ [attr.disabled]="disabledAttr()"
1587
+ [attr.aria-label]="ariaLabel()"
1588
+ [attr.aria-labelledby]="ariaLabelledBy()"
1589
+ [attr.aria-required]="required()"
1590
+ [attr.aria-expanded]="overlayVisible()"
1591
+ [attr.aria-controls]="getAriaControls()"
1592
+ [attr.aria-activedescendant]="getAriaActiveDescendant()"
1593
+ (input)="onInput($event)"
1594
+ (keydown)="onKeyDown($event)"
1595
+ (change)="onInputChange($event)"
1596
+ (focus)="onInputFocus($event)"
1597
+ (blur)="onInputBlur($event)"
1598
+ (paste)="onInputPaste($event)"
1599
+ (keyup)="onInputKeyUp($event)"
1600
+ [fluid]="hasFluid"
1601
+ [pInputTextUnstyled]="unstyled()"
1602
+ />
1603
+ }
1604
+ @if ($showClear()) {
1605
+ @if (!clearIconTemplate()) {
1606
+ <svg data-p-icon="times" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true" />
1607
+ } @else {
1608
+ <span [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true">
1609
+ <ng-container [ngTemplateOutlet]="clearIconTemplate()!"></ng-container>
1610
+ </span>
1611
+ }
1612
+ }
1613
+
1614
+ @if (multiple()) {
1615
+ <ul
1616
+ #multiContainer
1617
+ [pBind]="ptm('inputMultiple')"
1618
+ [class]="cx('inputMultiple')"
1619
+ [attr.data-p]="inputMultipleDataP"
1620
+ [tabindex]="-1"
1621
+ role="listbox"
1622
+ [attr.aria-orientation]="'horizontal'"
1623
+ [attr.aria-activedescendant]="getMultipleAriaActiveDescendant()"
1624
+ (focus)="onMultipleContainerFocus($event)"
1625
+ (blur)="onMultipleContainerBlur($event)"
1626
+ (keydown)="onMultipleContainerKeyDown($event)"
1627
+ >
1628
+ @for (option of modelValue(); track getChipTrackKey(option); let i = $index) {
1629
+ <li
1630
+ #token
1631
+ [pBind]="ptm('chipItem')"
1632
+ [class]="cx('chipItem', { i })"
1633
+ [attr.id]="getMultipleOptionId(i)"
1634
+ role="option"
1635
+ [attr.aria-label]="getOptionLabel(option)"
1636
+ [attr.aria-setsize]="modelValue().length"
1637
+ [attr.aria-posinset]="i + 1"
1638
+ [attr.aria-selected]="true"
1639
+ >
1640
+ <p-chip [pt]="ptm('pcChip')" [class]="cx('pcChip')" [label]="getChipLabel(option)" [disabled]="$disabled()" [removable]="true" (onRemove)="!readonly() ? removeOption($event, i) : ''" [unstyled]="unstyled()">
1641
+ @if (selectedItemTemplate()) {
1642
+ <ng-container [ngTemplateOutlet]="selectedItemTemplate()!" [ngTemplateOutletContext]="getSelectedItemContext(option)"></ng-container>
1643
+ }
1644
+ <ng-template #removeicon>
1645
+ @if (!removeIconTemplate()) {
1646
+ <span [pBind]="ptm('chipIcon')" [class]="cx('chipIcon')" (click)="!readonly() && !$disabled() ? removeOption($event, i) : ''">
1647
+ <svg data-p-icon="times-circle" [class]="cx('chipIcon')" [attr.aria-hidden]="true" />
1648
+ </span>
1649
+ } @else {
1650
+ <span [pBind]="ptm('chipIcon')" [attr.aria-hidden]="true">
1651
+ <ng-container [ngTemplateOutlet]="removeIconTemplate()!" [ngTemplateOutletContext]="getRemoveIconContext(i)"></ng-container>
1652
+ </span>
1653
+ }
1654
+ </ng-template>
1655
+ </p-chip>
1656
+ </li>
1657
+ }
1658
+ <li [pBind]="ptm('inputChip')" [class]="cx('inputChip')" role="option">
1659
+ <input
1660
+ #focusInput
1661
+ #multiIn
1662
+ [pAutoFocus]="autofocus()"
1663
+ [pBind]="ptm('input')"
1664
+ [class]="cx('pcInputText')"
1665
+ [style]="inputStyle()"
1666
+ [attr.type]="type()"
1667
+ [attr.id]="inputId()"
1668
+ [attr.autocomplete]="autocomplete()"
1669
+ [attr.name]="name()"
1670
+ [attr.minlength]="minlength()"
1671
+ [attr.maxlength]="maxlength()"
1672
+ [attr.size]="size()"
1673
+ [attr.min]="min()"
1674
+ [attr.max]="max()"
1675
+ [attr.pattern]="$pattern()"
1676
+ role="combobox"
1677
+ [attr.placeholder]="getMultiplePlaceholder()"
1678
+ aria-autocomplete="list"
1679
+ [attr.tabindex]="$tabindex()"
1680
+ [attr.required]="requiredAttr()"
1681
+ [attr.readonly]="readonlyAttr()"
1682
+ [attr.disabled]="disabledAttr()"
1683
+ [attr.aria-label]="ariaLabel()"
1684
+ [attr.aria-labelledby]="ariaLabelledBy()"
1685
+ [attr.aria-required]="required()"
1686
+ [attr.aria-expanded]="overlayVisible()"
1687
+ [attr.aria-controls]="getAriaControls()"
1688
+ [attr.aria-activedescendant]="getAriaActiveDescendant()"
1689
+ (input)="onInput($event)"
1690
+ (keydown)="onKeyDown($event)"
1691
+ (change)="onInputChange($event)"
1692
+ (focus)="onInputFocus($event)"
1693
+ (blur)="onInputBlur($event)"
1694
+ (paste)="onInputPaste($event)"
1695
+ (keyup)="onInputKeyUp($event)"
1696
+ />
1697
+ </li>
1698
+ </ul>
1699
+ }
1700
+ @if (loading()) {
1701
+ @if (!loadingIconTemplate()) {
1702
+ <svg data-p-icon="spinner" [pBind]="ptm('loader')" [class]="cn(cx('loader'), 'animate-spin')" [attr.aria-hidden]="true" />
1703
+ } @else {
1704
+ <span [pBind]="ptm('loader')" [class]="cx('loader')" [attr.aria-hidden]="true">
1705
+ <ng-container [ngTemplateOutlet]="loadingIconTemplate()!"></ng-container>
1706
+ </span>
1707
+ }
1708
+ }
1709
+ @if (dropdown()) {
1710
+ <button #ddBtn type="button" [pBind]="ptm('dropdown')" [attr.aria-label]="dropdownAriaLabel()" [class]="cx('dropdown')" [disabled]="$disabled()" pRipple (click)="handleDropdownClick($event)" [attr.tabindex]="tabindex()">
1711
+ @if (dropdownIcon()) {
1712
+ <span [class]="dropdownIcon()" [attr.aria-hidden]="true"></span>
1713
+ } @else {
1714
+ @if (!dropdownIconTemplate()) {
1715
+ <svg data-p-icon="chevron-down" [pBind]="ptm('dropdown')" />
1716
+ } @else {
1717
+ <ng-container [ngTemplateOutlet]="dropdownIconTemplate()!"></ng-container>
1718
+ }
1719
+ }
1720
+ </button>
1721
+ }
1722
+ <p-overlay
1723
+ #overlay
1724
+ [hostAttrSelector]="$attrSelector"
1725
+ [visible]="overlayVisible()"
1726
+ (visibleChange)="overlayVisible.set($event)"
1727
+ [options]="overlayOptions()"
1728
+ [target]="$overlayTarget"
1729
+ [appendTo]="$appendTo()"
1730
+ [unstyled]="unstyled()"
1731
+ [pt]="ptm('pcOverlay')"
1732
+ [motionOptions]="motionOptions()"
1733
+ (onBeforeEnter)="onOverlayBeforeEnter()"
1734
+ (onHide)="hide()"
1735
+ [attr.data-p]="overlayDataP"
1736
+ >
1737
+ <ng-template #content>
1738
+ <div [pBind]="ptm('overlay')" [class]="cn(cx('overlay'), panelStyleClass())" [style]="panelStyle()">
1739
+ @if (headerTemplate()) {
1740
+ <ng-container [ngTemplateOutlet]="headerTemplate()!"></ng-container>
1741
+ }
1742
+ <div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="getListContainerMaxHeight()" [tabindex]="-1">
1743
+ @if (virtualScroll()) {
1744
+ <p-scroller
1745
+ #scroller
1746
+ [tabindex]="-1"
1747
+ [pt]="ptm('virtualScroller')"
1748
+ [items]="visibleOptions()"
1749
+ [style]="scrollerStyle()"
1750
+ [itemSize]="virtualScrollItemSize()"
1751
+ [autoSize]="true"
1752
+ [lazy]="lazy()"
1753
+ (onLazyLoad)="onLazyLoad.emit($event)"
1754
+ [options]="virtualScrollOptions()"
1755
+ >
1756
+ <ng-template #content let-items let-scrollerOptions="options">
1757
+ <ng-container [ngTemplateOutlet]="buildInItems" [ngTemplateOutletContext]="getBuildInItemsContext(items, scrollerOptions)"></ng-container>
1758
+ </ng-template>
1759
+ @if (loaderTemplate()) {
1760
+ <ng-template #loader let-scrollerOptions="options">
1761
+ <ng-container [ngTemplateOutlet]="loaderTemplate()!" [ngTemplateOutletContext]="getLoaderContext(scrollerOptions)"></ng-container>
1762
+ </ng-template>
1763
+ }
1764
+ </p-scroller>
1765
+ } @else {
1766
+ <ng-container [ngTemplateOutlet]="buildInItems" [ngTemplateOutletContext]="getBuildInItemsContext(visibleOptions(), {})"></ng-container>
1767
+ }
1768
+ </div>
1769
+
1770
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
1771
+ <ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [attr.id]="$listId()" [attr.aria-label]="listLabel">
1772
+ @for (option of items; track getOptionValue(option); let i = $index) {
1773
+ @if (isOptionGroup(option)) {
1774
+ <li [pBind]="ptm('optionGroup')" [attr.id]="getOptionElementId(i, scrollerOptions)" [class]="cx('optionGroup')" [style]="getItemStyle(scrollerOptions)" role="option">
1775
+ @if (!groupTemplate()) {
1776
+ <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>
1777
+ }
1778
+ @if (groupTemplate()) {
1779
+ <ng-container [ngTemplateOutlet]="groupTemplate()!" [ngTemplateOutletContext]="getGroupContext(option.optionGroup)"></ng-container>
1780
+ }
1781
+ </li>
1782
+ } @else {
1783
+ <li
1784
+ pRipple
1785
+ [pBind]="getPTOptions(option, scrollerOptions, i, 'option')"
1786
+ [style]="getItemStyle(scrollerOptions)"
1787
+ [class]="cx('option', { option, i, scrollerOptions })"
1788
+ [attr.id]="getOptionElementId(i, scrollerOptions)"
1789
+ role="option"
1790
+ [attr.aria-label]="getOptionLabel(option)"
1791
+ [attr.aria-selected]="isSelected(option)"
1792
+ [attr.data-p-selected]="isSelected(option)"
1793
+ [attr.aria-disabled]="isOptionDisabled(option)"
1794
+ [attr.data-p-focused]="isOptionFocused(i, scrollerOptions)"
1795
+ [attr.aria-setsize]="ariaSetSize"
1796
+ [attr.aria-posinset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
1797
+ (click)="onOptionSelect($event, option)"
1798
+ (mouseenter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
1799
+ >
1800
+ @if (!itemTemplate()) {
1801
+ <span>{{ getOptionLabel(option) }}</span>
1802
+ } @else {
1803
+ <ng-container [ngTemplateOutlet]="itemTemplate()!" [ngTemplateOutletContext]="getItemContext(option, i, scrollerOptions)"></ng-container>
1804
+ }
1805
+ </li>
1806
+ }
1807
+ }
1808
+ @if (shouldShowEmptyMessage(items)) {
1809
+ <li [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [style]="getItemStyle(scrollerOptions)" role="option">
1810
+ @if (!emptyTemplate()) {
1811
+ {{ searchResultMessageText }}
1812
+ } @else {
1813
+ <ng-container [ngTemplateOutlet]="emptyTemplate()!"></ng-container>
1814
+ }
1815
+ </li>
1816
+ }
1817
+ </ul>
1818
+ </ng-template>
1819
+ @if (footerTemplate()) {
1820
+ <ng-container [ngTemplateOutlet]="footerTemplate()!"></ng-container>
1821
+ }
1822
+ </div>
1823
+ <span role="status" aria-live="polite" class="p-hidden-accessible">
1824
+ {{ selectedMessageText }}
1825
+ </span>
1826
+ </ng-template>
1827
+ </p-overlay>
1828
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["hostName", "visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "listener", "responsive", "options", "appendTo", "inline", "motionOptions", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller", 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: TimesCircle, selector: "svg[data-p-icon=\"times-circle\"]" }, { kind: "component", type: Spinner, selector: "svg[data-p-icon=\"spinner\"]" }, { kind: "component", type: ChevronDown, selector: "svg[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: Times, selector: "svg[data-p-icon=\"times\"]" }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1829
+ }
1830
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: AutoComplete, decorators: [{
1831
+ type: Component,
1832
+ args: [{
1833
+ selector: 'p-autocomplete, p-auto-complete',
1834
+ standalone: true,
1835
+ imports: [NgTemplateOutlet, Overlay, InputText, Ripple, Scroller, AutoFocus, TimesCircle, Spinner, ChevronDown, Chip, SharedModule, Times, BindModule],
1836
+ template: `
1837
+ @if (!multiple()) {
1838
+ <input
1839
+ #focusInput
1840
+ [pAutoFocus]="autofocus()"
1841
+ pInputText
1842
+ [pt]="ptm('pcInputText')"
1843
+ [class]="cn(cx('pcInputText'), inputStyleClass())"
1844
+ [style]="inputStyle()"
1845
+ [attr.type]="type()"
1846
+ [attr.value]="inputValue()"
1847
+ [variant]="$variant()"
1848
+ [invalid]="invalid()"
1849
+ [attr.id]="inputId()"
1850
+ [attr.autocomplete]="autocomplete()"
1851
+ aria-autocomplete="list"
1852
+ role="combobox"
1853
+ [attr.placeholder]="placeholder()"
1854
+ [attr.name]="name()"
1855
+ [attr.minlength]="minlength()"
1856
+ [pSize]="size()"
1857
+ [attr.min]="min()"
1858
+ [attr.max]="max()"
1859
+ [attr.pattern]="$pattern()"
1860
+ [attr.size]="inputSize()"
1861
+ [attr.maxlength]="maxlength()"
1862
+ [attr.tabindex]="$tabindex()"
1863
+ [attr.required]="requiredAttr()"
1864
+ [attr.readonly]="readonlyAttr()"
1865
+ [attr.disabled]="disabledAttr()"
1866
+ [attr.aria-label]="ariaLabel()"
1867
+ [attr.aria-labelledby]="ariaLabelledBy()"
1868
+ [attr.aria-required]="required()"
1869
+ [attr.aria-expanded]="overlayVisible()"
1870
+ [attr.aria-controls]="getAriaControls()"
1871
+ [attr.aria-activedescendant]="getAriaActiveDescendant()"
1872
+ (input)="onInput($event)"
1873
+ (keydown)="onKeyDown($event)"
1874
+ (change)="onInputChange($event)"
1875
+ (focus)="onInputFocus($event)"
1876
+ (blur)="onInputBlur($event)"
1877
+ (paste)="onInputPaste($event)"
1878
+ (keyup)="onInputKeyUp($event)"
1879
+ [fluid]="hasFluid"
1880
+ [pInputTextUnstyled]="unstyled()"
1881
+ />
1882
+ }
1883
+ @if ($showClear()) {
1884
+ @if (!clearIconTemplate()) {
1885
+ <svg data-p-icon="times" [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true" />
1886
+ } @else {
1887
+ <span [pBind]="ptm('clearIcon')" [class]="cx('clearIcon')" (click)="clear()" [attr.aria-hidden]="true">
1888
+ <ng-container [ngTemplateOutlet]="clearIconTemplate()!"></ng-container>
1889
+ </span>
1890
+ }
1891
+ }
1892
+
1893
+ @if (multiple()) {
1894
+ <ul
1895
+ #multiContainer
1896
+ [pBind]="ptm('inputMultiple')"
1897
+ [class]="cx('inputMultiple')"
1898
+ [attr.data-p]="inputMultipleDataP"
1899
+ [tabindex]="-1"
1900
+ role="listbox"
1901
+ [attr.aria-orientation]="'horizontal'"
1902
+ [attr.aria-activedescendant]="getMultipleAriaActiveDescendant()"
1903
+ (focus)="onMultipleContainerFocus($event)"
1904
+ (blur)="onMultipleContainerBlur($event)"
1905
+ (keydown)="onMultipleContainerKeyDown($event)"
1906
+ >
1907
+ @for (option of modelValue(); track getChipTrackKey(option); let i = $index) {
1908
+ <li
1909
+ #token
1910
+ [pBind]="ptm('chipItem')"
1911
+ [class]="cx('chipItem', { i })"
1912
+ [attr.id]="getMultipleOptionId(i)"
1913
+ role="option"
1914
+ [attr.aria-label]="getOptionLabel(option)"
1915
+ [attr.aria-setsize]="modelValue().length"
1916
+ [attr.aria-posinset]="i + 1"
1917
+ [attr.aria-selected]="true"
1918
+ >
1919
+ <p-chip [pt]="ptm('pcChip')" [class]="cx('pcChip')" [label]="getChipLabel(option)" [disabled]="$disabled()" [removable]="true" (onRemove)="!readonly() ? removeOption($event, i) : ''" [unstyled]="unstyled()">
1920
+ @if (selectedItemTemplate()) {
1921
+ <ng-container [ngTemplateOutlet]="selectedItemTemplate()!" [ngTemplateOutletContext]="getSelectedItemContext(option)"></ng-container>
1922
+ }
1923
+ <ng-template #removeicon>
1924
+ @if (!removeIconTemplate()) {
1925
+ <span [pBind]="ptm('chipIcon')" [class]="cx('chipIcon')" (click)="!readonly() && !$disabled() ? removeOption($event, i) : ''">
1926
+ <svg data-p-icon="times-circle" [class]="cx('chipIcon')" [attr.aria-hidden]="true" />
1927
+ </span>
1928
+ } @else {
1929
+ <span [pBind]="ptm('chipIcon')" [attr.aria-hidden]="true">
1930
+ <ng-container [ngTemplateOutlet]="removeIconTemplate()!" [ngTemplateOutletContext]="getRemoveIconContext(i)"></ng-container>
1931
+ </span>
1932
+ }
1933
+ </ng-template>
1934
+ </p-chip>
1935
+ </li>
1936
+ }
1937
+ <li [pBind]="ptm('inputChip')" [class]="cx('inputChip')" role="option">
1938
+ <input
1939
+ #focusInput
1940
+ #multiIn
1941
+ [pAutoFocus]="autofocus()"
1942
+ [pBind]="ptm('input')"
1943
+ [class]="cx('pcInputText')"
1944
+ [style]="inputStyle()"
1945
+ [attr.type]="type()"
1946
+ [attr.id]="inputId()"
1947
+ [attr.autocomplete]="autocomplete()"
1948
+ [attr.name]="name()"
1949
+ [attr.minlength]="minlength()"
1950
+ [attr.maxlength]="maxlength()"
1951
+ [attr.size]="size()"
1952
+ [attr.min]="min()"
1953
+ [attr.max]="max()"
1954
+ [attr.pattern]="$pattern()"
1955
+ role="combobox"
1956
+ [attr.placeholder]="getMultiplePlaceholder()"
1957
+ aria-autocomplete="list"
1958
+ [attr.tabindex]="$tabindex()"
1959
+ [attr.required]="requiredAttr()"
1960
+ [attr.readonly]="readonlyAttr()"
1961
+ [attr.disabled]="disabledAttr()"
1962
+ [attr.aria-label]="ariaLabel()"
1963
+ [attr.aria-labelledby]="ariaLabelledBy()"
1964
+ [attr.aria-required]="required()"
1965
+ [attr.aria-expanded]="overlayVisible()"
1966
+ [attr.aria-controls]="getAriaControls()"
1967
+ [attr.aria-activedescendant]="getAriaActiveDescendant()"
1968
+ (input)="onInput($event)"
1969
+ (keydown)="onKeyDown($event)"
1970
+ (change)="onInputChange($event)"
1971
+ (focus)="onInputFocus($event)"
1972
+ (blur)="onInputBlur($event)"
1973
+ (paste)="onInputPaste($event)"
1974
+ (keyup)="onInputKeyUp($event)"
1975
+ />
1976
+ </li>
1977
+ </ul>
1978
+ }
1979
+ @if (loading()) {
1980
+ @if (!loadingIconTemplate()) {
1981
+ <svg data-p-icon="spinner" [pBind]="ptm('loader')" [class]="cn(cx('loader'), 'animate-spin')" [attr.aria-hidden]="true" />
1982
+ } @else {
1983
+ <span [pBind]="ptm('loader')" [class]="cx('loader')" [attr.aria-hidden]="true">
1984
+ <ng-container [ngTemplateOutlet]="loadingIconTemplate()!"></ng-container>
1985
+ </span>
1986
+ }
1987
+ }
1988
+ @if (dropdown()) {
1989
+ <button #ddBtn type="button" [pBind]="ptm('dropdown')" [attr.aria-label]="dropdownAriaLabel()" [class]="cx('dropdown')" [disabled]="$disabled()" pRipple (click)="handleDropdownClick($event)" [attr.tabindex]="tabindex()">
1990
+ @if (dropdownIcon()) {
1991
+ <span [class]="dropdownIcon()" [attr.aria-hidden]="true"></span>
1992
+ } @else {
1993
+ @if (!dropdownIconTemplate()) {
1994
+ <svg data-p-icon="chevron-down" [pBind]="ptm('dropdown')" />
1995
+ } @else {
1996
+ <ng-container [ngTemplateOutlet]="dropdownIconTemplate()!"></ng-container>
1997
+ }
1998
+ }
1999
+ </button>
2000
+ }
2001
+ <p-overlay
2002
+ #overlay
2003
+ [hostAttrSelector]="$attrSelector"
2004
+ [visible]="overlayVisible()"
2005
+ (visibleChange)="overlayVisible.set($event)"
2006
+ [options]="overlayOptions()"
2007
+ [target]="$overlayTarget"
2008
+ [appendTo]="$appendTo()"
2009
+ [unstyled]="unstyled()"
2010
+ [pt]="ptm('pcOverlay')"
2011
+ [motionOptions]="motionOptions()"
2012
+ (onBeforeEnter)="onOverlayBeforeEnter()"
2013
+ (onHide)="hide()"
2014
+ [attr.data-p]="overlayDataP"
2015
+ >
2016
+ <ng-template #content>
2017
+ <div [pBind]="ptm('overlay')" [class]="cn(cx('overlay'), panelStyleClass())" [style]="panelStyle()">
2018
+ @if (headerTemplate()) {
2019
+ <ng-container [ngTemplateOutlet]="headerTemplate()!"></ng-container>
2020
+ }
2021
+ <div [pBind]="ptm('listContainer')" [class]="cx('listContainer')" [style.max-height]="getListContainerMaxHeight()" [tabindex]="-1">
2022
+ @if (virtualScroll()) {
2023
+ <p-scroller
2024
+ #scroller
2025
+ [tabindex]="-1"
2026
+ [pt]="ptm('virtualScroller')"
2027
+ [items]="visibleOptions()"
2028
+ [style]="scrollerStyle()"
2029
+ [itemSize]="virtualScrollItemSize()"
2030
+ [autoSize]="true"
2031
+ [lazy]="lazy()"
2032
+ (onLazyLoad)="onLazyLoad.emit($event)"
2033
+ [options]="virtualScrollOptions()"
2034
+ >
2035
+ <ng-template #content let-items let-scrollerOptions="options">
2036
+ <ng-container [ngTemplateOutlet]="buildInItems" [ngTemplateOutletContext]="getBuildInItemsContext(items, scrollerOptions)"></ng-container>
2037
+ </ng-template>
2038
+ @if (loaderTemplate()) {
2039
+ <ng-template #loader let-scrollerOptions="options">
2040
+ <ng-container [ngTemplateOutlet]="loaderTemplate()!" [ngTemplateOutletContext]="getLoaderContext(scrollerOptions)"></ng-container>
2041
+ </ng-template>
2042
+ }
2043
+ </p-scroller>
2044
+ } @else {
2045
+ <ng-container [ngTemplateOutlet]="buildInItems" [ngTemplateOutletContext]="getBuildInItemsContext(visibleOptions(), {})"></ng-container>
2046
+ }
2047
+ </div>
2048
+
2049
+ <ng-template #buildInItems let-items let-scrollerOptions="options">
2050
+ <ul #items [pBind]="ptm('list')" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [attr.id]="$listId()" [attr.aria-label]="listLabel">
2051
+ @for (option of items; track getOptionValue(option); let i = $index) {
2052
+ @if (isOptionGroup(option)) {
2053
+ <li [pBind]="ptm('optionGroup')" [attr.id]="getOptionElementId(i, scrollerOptions)" [class]="cx('optionGroup')" [style]="getItemStyle(scrollerOptions)" role="option">
2054
+ @if (!groupTemplate()) {
2055
+ <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>
2056
+ }
2057
+ @if (groupTemplate()) {
2058
+ <ng-container [ngTemplateOutlet]="groupTemplate()!" [ngTemplateOutletContext]="getGroupContext(option.optionGroup)"></ng-container>
2059
+ }
2060
+ </li>
2061
+ } @else {
2062
+ <li
2063
+ pRipple
2064
+ [pBind]="getPTOptions(option, scrollerOptions, i, 'option')"
2065
+ [style]="getItemStyle(scrollerOptions)"
2066
+ [class]="cx('option', { option, i, scrollerOptions })"
2067
+ [attr.id]="getOptionElementId(i, scrollerOptions)"
2068
+ role="option"
2069
+ [attr.aria-label]="getOptionLabel(option)"
2070
+ [attr.aria-selected]="isSelected(option)"
2071
+ [attr.data-p-selected]="isSelected(option)"
2072
+ [attr.aria-disabled]="isOptionDisabled(option)"
2073
+ [attr.data-p-focused]="isOptionFocused(i, scrollerOptions)"
2074
+ [attr.aria-setsize]="ariaSetSize"
2075
+ [attr.aria-posinset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2076
+ (click)="onOptionSelect($event, option)"
2077
+ (mouseenter)="onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))"
2078
+ >
2079
+ @if (!itemTemplate()) {
2080
+ <span>{{ getOptionLabel(option) }}</span>
2081
+ } @else {
2082
+ <ng-container [ngTemplateOutlet]="itemTemplate()!" [ngTemplateOutletContext]="getItemContext(option, i, scrollerOptions)"></ng-container>
2083
+ }
2084
+ </li>
2085
+ }
2086
+ }
2087
+ @if (shouldShowEmptyMessage(items)) {
2088
+ <li [pBind]="ptm('emptyMessage')" [class]="cx('emptyMessage')" [style]="getItemStyle(scrollerOptions)" role="option">
2089
+ @if (!emptyTemplate()) {
2090
+ {{ searchResultMessageText }}
2091
+ } @else {
2092
+ <ng-container [ngTemplateOutlet]="emptyTemplate()!"></ng-container>
2093
+ }
2094
+ </li>
2095
+ }
2096
+ </ul>
2097
+ </ng-template>
2098
+ @if (footerTemplate()) {
2099
+ <ng-container [ngTemplateOutlet]="footerTemplate()!"></ng-container>
2100
+ }
2101
+ </div>
2102
+ <span role="status" aria-live="polite" class="p-hidden-accessible">
2103
+ {{ selectedMessageText }}
2104
+ </span>
2105
+ </ng-template>
2106
+ </p-overlay>
2107
+ `,
2108
+ providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle, { provide: AUTOCOMPLETE_INSTANCE, useExisting: AutoComplete }, { provide: PARENT_INSTANCE, useExisting: AutoComplete }],
2109
+ changeDetection: ChangeDetectionStrategy.OnPush,
2110
+ encapsulation: ViewEncapsulation.None,
2111
+ host: {
2112
+ '[class]': "cx('root')",
2113
+ '[style]': "sx('root')",
2114
+ '[attr.data-p]': 'containerDataP'
2115
+ },
2116
+ hostDirectives: [Bind]
2117
+ }]
2118
+ }], ctorParameters: () => [], propDecorators: { minQueryLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "minQueryLength", required: false }] }], delay: [{ type: i0.Input, args: [{ isSignal: true, alias: "delay", required: false }] }], panelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyle", required: false }] }], panelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyleClass", required: false }] }], inputStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputStyle", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], inputStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputStyleClass", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], lazy: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazy", required: false }] }], virtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScroll", required: false }] }], virtualScrollItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollItemSize", required: false }] }], virtualScrollOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollOptions", required: false }] }], autoHighlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoHighlight", required: false }] }], forceSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "forceSelection", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], autoZIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoZIndex", required: false }] }], baseZIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseZIndex", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], dropdownAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownAriaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], dropdownIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownIcon", required: false }] }], unique: [{ type: i0.Input, args: [{ isSignal: true, alias: "unique", required: false }] }], group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], completeOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "completeOnFocus", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], dropdown: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdown", required: false }] }], showEmptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "showEmptyMessage", required: false }] }], dropdownMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownMode", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], addOnTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "addOnTab", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], optionGroupChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupChildren", required: false }] }], optionGroupLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupLabel", required: false }] }], overlayOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayOptions", required: false }] }], suggestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "suggestions", required: false }] }], optionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionLabel", required: false }] }], optionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionValue", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], searchMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchMessage", required: false }] }], emptySelectionMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptySelectionMessage", required: false }] }], selectionMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMessage", required: false }] }], autoOptionFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoOptionFocus", required: false }] }], selectOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectOnFocus", required: false }] }], searchLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchLocale", required: false }] }], optionDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionDisabled", required: false }] }], focusOnHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusOnHover", required: false }] }], typeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeahead", required: false }] }], addOnBlur: [{ type: i0.Input, args: [{ isSignal: true, alias: "addOnBlur", required: false }] }], separator: [{ type: i0.Input, args: [{ isSignal: true, alias: "separator", required: false }] }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], motionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionOptions", required: false }] }], completeMethod: [{ type: i0.Output, args: ["completeMethod"] }], onSelect: [{ type: i0.Output, args: ["onSelect"] }], onUnselect: [{ type: i0.Output, args: ["onUnselect"] }], onAdd: [{ type: i0.Output, args: ["onAdd"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], onDropdownClick: [{ type: i0.Output, args: ["onDropdownClick"] }], onClear: [{ type: i0.Output, args: ["onClear"] }], onInputKeydown: [{ type: i0.Output, args: ["onInputKeydown"] }], onKeyUp: [{ type: i0.Output, args: ["onKeyUp"] }], onShow: [{ type: i0.Output, args: ["onShow"] }], onHide: [{ type: i0.Output, args: ["onHide"] }], onLazyLoad: [{ type: i0.Output, args: ["onLazyLoad"] }], inputEL: [{ type: i0.ViewChild, args: ['focusInput', { isSignal: true }] }], multiInputEl: [{ type: i0.ViewChild, args: ['multiIn', { isSignal: true }] }], multiContainerEL: [{ type: i0.ViewChild, args: ['multiContainer', { isSignal: true }] }], dropdownButton: [{ type: i0.ViewChild, args: ['ddBtn', { isSignal: true }] }], itemsViewChild: [{ type: i0.ViewChild, args: ['items', { isSignal: true }] }], scroller: [{ type: i0.ViewChild, args: ['scroller', { isSignal: true }] }], overlayViewChild: [{ type: i0.ViewChild, args: ['overlay', { isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], emptyTemplate: [{ type: i0.ContentChild, args: ['empty', { ...{ descendants: false }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], footerTemplate: [{ type: i0.ContentChild, args: ['footer', { ...{ descendants: false }, isSignal: true }] }], selectedItemTemplate: [{ type: i0.ContentChild, args: ['selecteditem', { ...{ descendants: false }, isSignal: true }] }], groupTemplate: [{ type: i0.ContentChild, args: ['group', { ...{ descendants: false }, isSignal: true }] }], loaderTemplate: [{ type: i0.ContentChild, args: ['loader', { ...{ descendants: false }, isSignal: true }] }], removeIconTemplate: [{ type: i0.ContentChild, args: ['removeicon', { ...{ descendants: false }, isSignal: true }] }], loadingIconTemplate: [{ type: i0.ContentChild, args: ['loadingicon', { ...{ descendants: false }, isSignal: true }] }], clearIconTemplate: [{ type: i0.ContentChild, args: ['clearicon', { ...{ descendants: false }, isSignal: true }] }], dropdownIconTemplate: [{ type: i0.ContentChild, args: ['dropdownicon', { ...{ descendants: false }, isSignal: true }] }], onHostClick: [{
2119
+ type: HostListener,
2120
+ args: ['click', ['$event']]
2121
+ }] } });
2122
+ class AutoCompleteModule {
2123
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: AutoCompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2124
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.3", ngImport: i0, type: AutoCompleteModule, imports: [AutoComplete, SharedModule], exports: [AutoComplete, SharedModule] });
2125
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: AutoCompleteModule, imports: [AutoComplete, SharedModule, SharedModule] });
2126
+ }
2127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: AutoCompleteModule, decorators: [{
2128
+ type: NgModule,
2129
+ args: [{
2130
+ imports: [AutoComplete, SharedModule],
2131
+ exports: [AutoComplete, SharedModule]
2132
+ }]
2133
+ }] });
2134
+
2135
+ /**
2136
+ * Generated bundle index. Do not edit.
2137
+ */
2138
+
2139
+ export { AUTOCOMPLETE_VALUE_ACCESSOR, AutoComplete, AutoCompleteClasses, AutoCompleteModule, AutoCompleteStyle };
2140
+ //# sourceMappingURL=primenglab-autocomplete.mjs.map