primeng 22.1.1 → 22.1.2

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 (850) hide show
  1. package/fesm2022/primeng-accordion.mjs +998 -594
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +266 -174
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +888 -848
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +2534 -1631
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +114 -77
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +330 -189
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +178 -95
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +290 -156
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +95 -83
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +528 -478
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +131 -74
  22. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/primeng-baseinput.mjs +214 -99
  24. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  25. package/fesm2022/primeng-basemodelholder.mjs +39 -26
  26. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/primeng-bind.mjs +156 -97
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +360 -225
  30. package/fesm2022/primeng-blockui.mjs.map +1 -1
  31. package/fesm2022/primeng-breadcrumb.mjs +458 -220
  32. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/primeng-button.mjs +1568 -710
  34. package/fesm2022/primeng-button.mjs.map +1 -1
  35. package/fesm2022/primeng-buttongroup.mjs +125 -73
  36. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  37. package/fesm2022/primeng-card.mjs +389 -178
  38. package/fesm2022/primeng-card.mjs.map +1 -1
  39. package/fesm2022/primeng-carousel.mjs +2393 -1772
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +2373 -1399
  42. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/primeng-chart.mjs +402 -231
  44. package/fesm2022/primeng-chart.mjs.map +1 -1
  45. package/fesm2022/primeng-checkbox.mjs +650 -351
  46. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  47. package/fesm2022/primeng-chip.mjs +411 -224
  48. package/fesm2022/primeng-chip.mjs.map +1 -1
  49. package/fesm2022/primeng-classnames.mjs +95 -48
  50. package/fesm2022/primeng-classnames.mjs.map +1 -1
  51. package/fesm2022/primeng-colorpicker.mjs +890 -635
  52. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  53. package/fesm2022/primeng-commandmenu.mjs +568 -313
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +843 -481
  56. package/fesm2022/primeng-compare.mjs.map +1 -1
  57. package/fesm2022/primeng-config.mjs +415 -321
  58. package/fesm2022/primeng-config.mjs.map +1 -1
  59. package/fesm2022/primeng-confirmdialog.mjs +1188 -536
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +810 -518
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +1862 -1082
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +1130 -550
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +3750 -3356
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +1635 -975
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +272 -146
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +609 -391
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +599 -767
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +323 -312
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +913 -484
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +828 -917
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +547 -391
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +559 -271
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +1836 -1054
  88. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  89. package/fesm2022/primeng-floatlabel.mjs +187 -102
  90. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  91. package/fesm2022/primeng-fluid.mjs +156 -85
  92. package/fesm2022/primeng-fluid.mjs.map +1 -1
  93. package/fesm2022/primeng-focustrap.mjs +150 -112
  94. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  95. package/fesm2022/primeng-galleria.mjs +2589 -1410
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +2768 -1796
  98. package/fesm2022/primeng-gallery.mjs.map +1 -1
  99. package/fesm2022/primeng-iconfield.mjs +192 -93
  100. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angledoubledown.mjs +41 -23
  102. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angledoubleleft.mjs +41 -23
  104. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angledoubleright.mjs +41 -23
  106. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angledoubleup.mjs +41 -23
  108. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-angledown.mjs +41 -23
  110. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-angleleft.mjs +41 -23
  112. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-angleright.mjs +41 -23
  114. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-angleup.mjs +41 -23
  116. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-arrowdown.mjs +46 -28
  118. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowdownleft.mjs +41 -23
  120. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-arrowdownright.mjs +41 -23
  122. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-arrowleft.mjs +46 -28
  124. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-arrowright.mjs +41 -23
  126. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-arrowup.mjs +46 -28
  128. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-ban.mjs +46 -28
  130. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-bars.mjs +41 -23
  132. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-baseicon.mjs +111 -67
  134. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-blank.mjs +40 -22
  136. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-calendar.mjs +41 -23
  138. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-caretleft.mjs +41 -23
  140. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-caretright.mjs +41 -23
  142. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-check.mjs +41 -23
  144. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-chevrondown.mjs +41 -23
  146. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-chevronleft.mjs +41 -23
  148. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-chevronright.mjs +41 -23
  150. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-chevronup.mjs +41 -23
  152. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-exclamationtriangle.mjs +46 -28
  154. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-eye.mjs +41 -23
  156. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eyeslash.mjs +46 -28
  158. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-filter.mjs +46 -28
  160. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-filterfill.mjs +41 -23
  162. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-filterslash.mjs +46 -28
  164. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-home.mjs +46 -28
  166. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-infocircle.mjs +46 -28
  168. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-minus.mjs +41 -23
  170. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-pencil.mjs +46 -28
  172. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-plus.mjs +46 -28
  174. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-refresh.mjs +46 -28
  176. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-search.mjs +46 -28
  178. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-searchminus.mjs +46 -28
  180. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-searchplus.mjs +46 -28
  182. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-sortalt.mjs +46 -28
  184. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-sortamountdown.mjs +46 -28
  186. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortamountupalt.mjs +46 -28
  188. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-spinner.mjs +46 -28
  190. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-star.mjs +46 -28
  192. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-starfill.mjs +46 -28
  194. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-thlarge.mjs +46 -28
  196. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-times.mjs +41 -23
  198. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-timescircle.mjs +46 -28
  200. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-trash.mjs +46 -28
  202. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-undo.mjs +46 -28
  204. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-upload.mjs +46 -28
  206. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-windowmaximize.mjs +46 -28
  208. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-windowminimize.mjs +46 -28
  210. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  211. package/fesm2022/primeng-icons.mjs +53 -63
  212. package/fesm2022/primeng-iftalabel.mjs +153 -86
  213. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  214. package/fesm2022/primeng-image.mjs +1006 -532
  215. package/fesm2022/primeng-image.mjs.map +1 -1
  216. package/fesm2022/primeng-imagecompare.mjs +325 -165
  217. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  218. package/fesm2022/primeng-inplace.mjs +401 -199
  219. package/fesm2022/primeng-inplace.mjs.map +1 -1
  220. package/fesm2022/primeng-inputcolor.mjs +2631 -2189
  221. package/fesm2022/primeng-inputcolor.mjs.map +1 -1
  222. package/fesm2022/primeng-inputgroup.mjs +159 -91
  223. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  224. package/fesm2022/primeng-inputgroupaddon.mjs +153 -68
  225. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  226. package/fesm2022/primeng-inputicon.mjs +173 -72
  227. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  228. package/fesm2022/primeng-inputmask.mjs +1607 -1387
  229. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  230. package/fesm2022/primeng-inputnumber.mjs +1646 -1305
  231. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  232. package/fesm2022/primeng-inputotp.mjs +571 -376
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputpassword.mjs +179 -96
  235. package/fesm2022/primeng-inputpassword.mjs.map +1 -1
  236. package/fesm2022/primeng-inputtags.mjs +1212 -588
  237. package/fesm2022/primeng-inputtags.mjs.map +1 -1
  238. package/fesm2022/primeng-inputtext.mjs +325 -175
  239. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  240. package/fesm2022/primeng-keyfilter.mjs +268 -244
  241. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  242. package/fesm2022/primeng-knob.mjs +627 -405
  243. package/fesm2022/primeng-knob.mjs.map +1 -1
  244. package/fesm2022/primeng-label.mjs +143 -81
  245. package/fesm2022/primeng-label.mjs.map +1 -1
  246. package/fesm2022/primeng-license.mjs +10 -36
  247. package/fesm2022/primeng-license.mjs.map +1 -1
  248. package/fesm2022/primeng-listbox.mjs +2409 -1608
  249. package/fesm2022/primeng-listbox.mjs.map +1 -1
  250. package/fesm2022/primeng-megamenu.mjs +2006 -1137
  251. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  252. package/fesm2022/primeng-menu.mjs +1437 -848
  253. package/fesm2022/primeng-menu.mjs.map +1 -1
  254. package/fesm2022/primeng-menubar.mjs +1832 -994
  255. package/fesm2022/primeng-menubar.mjs.map +1 -1
  256. package/fesm2022/primeng-message.mjs +474 -239
  257. package/fesm2022/primeng-message.mjs.map +1 -1
  258. package/fesm2022/primeng-metergroup.mjs +663 -331
  259. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  260. package/fesm2022/primeng-motion.mjs +1179 -690
  261. package/fesm2022/primeng-motion.mjs.map +1 -1
  262. package/fesm2022/primeng-multiselect.mjs +3406 -1932
  263. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  264. package/fesm2022/primeng-orderlist.mjs +1308 -664
  265. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  266. package/fesm2022/primeng-organizationchart.mjs +912 -595
  267. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  268. package/fesm2022/primeng-overlay.mjs +929 -624
  269. package/fesm2022/primeng-overlay.mjs.map +1 -1
  270. package/fesm2022/primeng-overlaybadge.mjs +291 -107
  271. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  272. package/fesm2022/primeng-paginator.mjs +959 -503
  273. package/fesm2022/primeng-paginator.mjs.map +1 -1
  274. package/fesm2022/primeng-panel.mjs +668 -343
  275. package/fesm2022/primeng-panel.mjs.map +1 -1
  276. package/fesm2022/primeng-panelmenu.mjs +1842 -998
  277. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-passthrough.mjs +8 -16
  279. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  280. package/fesm2022/primeng-password.mjs +1518 -866
  281. package/fesm2022/primeng-password.mjs.map +1 -1
  282. package/fesm2022/primeng-picklist.mjs +2270 -1256
  283. package/fesm2022/primeng-picklist.mjs.map +1 -1
  284. package/fesm2022/primeng-popover.mjs +656 -436
  285. package/fesm2022/primeng-popover.mjs.map +1 -1
  286. package/fesm2022/primeng-progressbar.mjs +346 -168
  287. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  288. package/fesm2022/primeng-progressspinner.mjs +338 -188
  289. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  290. package/fesm2022/primeng-radiobutton.mjs +499 -292
  291. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  292. package/fesm2022/primeng-rating.mjs +583 -352
  293. package/fesm2022/primeng-rating.mjs.map +1 -1
  294. package/fesm2022/primeng-ripple.mjs +194 -184
  295. package/fesm2022/primeng-ripple.mjs.map +1 -1
  296. package/fesm2022/primeng-scrollarea.mjs +1018 -721
  297. package/fesm2022/primeng-scrollarea.mjs.map +1 -1
  298. package/fesm2022/primeng-scroller.mjs +1386 -1083
  299. package/fesm2022/primeng-scroller.mjs.map +1 -1
  300. package/fesm2022/primeng-scrollpanel.mjs +568 -480
  301. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  302. package/fesm2022/primeng-scrolltop.mjs +509 -260
  303. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  304. package/fesm2022/primeng-select.mjs +2948 -1765
  305. package/fesm2022/primeng-select.mjs.map +1 -1
  306. package/fesm2022/primeng-selectbutton.mjs +629 -339
  307. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  308. package/fesm2022/primeng-sidebar.mjs +2561 -1416
  309. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  310. package/fesm2022/primeng-skeleton.mjs +300 -157
  311. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  312. package/fesm2022/primeng-slider.mjs +841 -604
  313. package/fesm2022/primeng-slider.mjs.map +1 -1
  314. package/fesm2022/primeng-speeddial.mjs +1115 -717
  315. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  316. package/fesm2022/primeng-splitbutton.mjs +889 -339
  317. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  318. package/fesm2022/primeng-splitter.mjs +997 -759
  319. package/fesm2022/primeng-splitter.mjs.map +1 -1
  320. package/fesm2022/primeng-stepper.mjs +1355 -641
  321. package/fesm2022/primeng-stepper.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +397 -304
  323. package/fesm2022/primeng-steps.mjs.map +1 -1
  324. package/fesm2022/primeng-styleclass.mjs +446 -334
  325. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  326. package/fesm2022/primeng-table.mjs +9763 -5870
  327. package/fesm2022/primeng-table.mjs.map +1 -1
  328. package/fesm2022/primeng-tabs.mjs +1357 -831
  329. package/fesm2022/primeng-tabs.mjs.map +1 -1
  330. package/fesm2022/primeng-tag.mjs +305 -151
  331. package/fesm2022/primeng-tag.mjs.map +1 -1
  332. package/fesm2022/primeng-terminal.mjs +368 -216
  333. package/fesm2022/primeng-terminal.mjs.map +1 -1
  334. package/fesm2022/primeng-textarea.mjs +345 -208
  335. package/fesm2022/primeng-textarea.mjs.map +1 -1
  336. package/fesm2022/primeng-tieredmenu.mjs +1917 -1125
  337. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  338. package/fesm2022/primeng-timeline.mjs +304 -165
  339. package/fesm2022/primeng-timeline.mjs.map +1 -1
  340. package/fesm2022/primeng-toast.mjs +1369 -922
  341. package/fesm2022/primeng-toast.mjs.map +1 -1
  342. package/fesm2022/primeng-togglebutton.mjs +563 -309
  343. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  344. package/fesm2022/primeng-toggleswitch.mjs +464 -237
  345. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  346. package/fesm2022/primeng-toolbar.mjs +299 -129
  347. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  348. package/fesm2022/primeng-tooltip.mjs +1018 -778
  349. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  350. package/fesm2022/primeng-tree.mjs +2679 -1875
  351. package/fesm2022/primeng-tree.mjs.map +1 -1
  352. package/fesm2022/primeng-treeselect.mjs +1678 -939
  353. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  354. package/fesm2022/primeng-treetable.mjs +5849 -3754
  355. package/fesm2022/primeng-treetable.mjs.map +1 -1
  356. package/fesm2022/primeng-ts-helpers.mjs +0 -4
  357. package/fesm2022/primeng-types-accordion.mjs +0 -4
  358. package/fesm2022/primeng-types-autocomplete.mjs +0 -4
  359. package/fesm2022/primeng-types-avatar.mjs +0 -4
  360. package/fesm2022/primeng-types-avatargroup.mjs +0 -4
  361. package/fesm2022/primeng-types-badge.mjs +0 -4
  362. package/fesm2022/primeng-types-blockui.mjs +0 -4
  363. package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
  364. package/fesm2022/primeng-types-button.mjs +0 -4
  365. package/fesm2022/primeng-types-card.mjs +0 -4
  366. package/fesm2022/primeng-types-carousel.mjs +0 -4
  367. package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
  368. package/fesm2022/primeng-types-chart.mjs +0 -4
  369. package/fesm2022/primeng-types-checkbox.mjs +0 -4
  370. package/fesm2022/primeng-types-chip.mjs +0 -4
  371. package/fesm2022/primeng-types-colorpicker.mjs +0 -4
  372. package/fesm2022/primeng-types-commandmenu.mjs +0 -4
  373. package/fesm2022/primeng-types-compare.mjs +0 -4
  374. package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
  375. package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
  376. package/fesm2022/primeng-types-contextmenu.mjs +0 -4
  377. package/fesm2022/primeng-types-dataview.mjs +0 -4
  378. package/fesm2022/primeng-types-datepicker.mjs +0 -4
  379. package/fesm2022/primeng-types-dialog.mjs +0 -4
  380. package/fesm2022/primeng-types-divider.mjs +0 -4
  381. package/fesm2022/primeng-types-dock.mjs +0 -4
  382. package/fesm2022/primeng-types-drawer.mjs +0 -4
  383. package/fesm2022/primeng-types-editor.mjs +0 -4
  384. package/fesm2022/primeng-types-fieldset.mjs +0 -4
  385. package/fesm2022/primeng-types-fileupload.mjs +0 -4
  386. package/fesm2022/primeng-types-floatlabel.mjs +0 -4
  387. package/fesm2022/primeng-types-fluid.mjs +0 -4
  388. package/fesm2022/primeng-types-galleria.mjs +0 -4
  389. package/fesm2022/primeng-types-gallery.mjs +0 -4
  390. package/fesm2022/primeng-types-iconfield.mjs +0 -4
  391. package/fesm2022/primeng-types-iftalabel.mjs +0 -4
  392. package/fesm2022/primeng-types-image.mjs +0 -4
  393. package/fesm2022/primeng-types-imagecompare.mjs +0 -4
  394. package/fesm2022/primeng-types-inplace.mjs +0 -4
  395. package/fesm2022/primeng-types-inputcolor.mjs +0 -4
  396. package/fesm2022/primeng-types-inputgroup.mjs +0 -4
  397. package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
  398. package/fesm2022/primeng-types-inputicon.mjs +0 -4
  399. package/fesm2022/primeng-types-inputmask.mjs +0 -4
  400. package/fesm2022/primeng-types-inputnumber.mjs +0 -4
  401. package/fesm2022/primeng-types-inputotp.mjs +0 -4
  402. package/fesm2022/primeng-types-inputpassword.mjs +0 -4
  403. package/fesm2022/primeng-types-inputtags.mjs +0 -4
  404. package/fesm2022/primeng-types-inputtext.mjs +0 -4
  405. package/fesm2022/primeng-types-knob.mjs +0 -4
  406. package/fesm2022/primeng-types-label.mjs +0 -4
  407. package/fesm2022/primeng-types-listbox.mjs +0 -4
  408. package/fesm2022/primeng-types-megamenu.mjs +0 -4
  409. package/fesm2022/primeng-types-menu.mjs +0 -4
  410. package/fesm2022/primeng-types-menubar.mjs +0 -4
  411. package/fesm2022/primeng-types-message.mjs +0 -4
  412. package/fesm2022/primeng-types-metergroup.mjs +0 -4
  413. package/fesm2022/primeng-types-motion.mjs +0 -4
  414. package/fesm2022/primeng-types-multiselect.mjs +0 -4
  415. package/fesm2022/primeng-types-orderlist.mjs +0 -4
  416. package/fesm2022/primeng-types-organizationchart.mjs +0 -4
  417. package/fesm2022/primeng-types-overlay.mjs +0 -4
  418. package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
  419. package/fesm2022/primeng-types-paginator.mjs +0 -4
  420. package/fesm2022/primeng-types-panel.mjs +0 -4
  421. package/fesm2022/primeng-types-panelmenu.mjs +0 -4
  422. package/fesm2022/primeng-types-password.mjs +0 -4
  423. package/fesm2022/primeng-types-picklist.mjs +0 -4
  424. package/fesm2022/primeng-types-popover.mjs +0 -4
  425. package/fesm2022/primeng-types-progressbar.mjs +0 -4
  426. package/fesm2022/primeng-types-progressspinner.mjs +0 -4
  427. package/fesm2022/primeng-types-radiobutton.mjs +0 -4
  428. package/fesm2022/primeng-types-rating.mjs +0 -4
  429. package/fesm2022/primeng-types-scrollarea.mjs +0 -4
  430. package/fesm2022/primeng-types-scroller.mjs +0 -4
  431. package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
  432. package/fesm2022/primeng-types-scrolltop.mjs +0 -4
  433. package/fesm2022/primeng-types-select.mjs +0 -4
  434. package/fesm2022/primeng-types-selectbutton.mjs +0 -4
  435. package/fesm2022/primeng-types-shared.mjs +0 -4
  436. package/fesm2022/primeng-types-sidebar.mjs +0 -4
  437. package/fesm2022/primeng-types-skeleton.mjs +0 -4
  438. package/fesm2022/primeng-types-slider.mjs +0 -4
  439. package/fesm2022/primeng-types-speeddial.mjs +0 -4
  440. package/fesm2022/primeng-types-splitbutton.mjs +0 -4
  441. package/fesm2022/primeng-types-splitter.mjs +0 -4
  442. package/fesm2022/primeng-types-stepper.mjs +0 -4
  443. package/fesm2022/primeng-types-table.mjs +0 -4
  444. package/fesm2022/primeng-types-tabs.mjs +0 -4
  445. package/fesm2022/primeng-types-tag.mjs +0 -4
  446. package/fesm2022/primeng-types-terminal.mjs +0 -4
  447. package/fesm2022/primeng-types-textarea.mjs +0 -4
  448. package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
  449. package/fesm2022/primeng-types-timeline.mjs +0 -4
  450. package/fesm2022/primeng-types-toast.mjs +0 -4
  451. package/fesm2022/primeng-types-togglebutton.mjs +0 -4
  452. package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
  453. package/fesm2022/primeng-types-toolbar.mjs +0 -4
  454. package/fesm2022/primeng-types-tooltip.mjs +0 -4
  455. package/fesm2022/primeng-types-tree.mjs +0 -4
  456. package/fesm2022/primeng-types-treeselect.mjs +0 -4
  457. package/fesm2022/primeng-types-treetable.mjs +0 -4
  458. package/fesm2022/primeng-usestyle.mjs +105 -113
  459. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  460. package/fesm2022/primeng-utils.mjs +236 -317
  461. package/fesm2022/primeng-utils.mjs.map +1 -1
  462. package/fesm2022/primeng.mjs +1 -5
  463. package/fesm2022/primeng.mjs.map +1 -1
  464. package/package.json +6 -1
  465. package/types/primeng-accordion.d.ts +289 -219
  466. package/types/primeng-animateonscroll.d.ts +89 -61
  467. package/types/primeng-api.d.ts +1754 -1790
  468. package/types/primeng-autocomplete.d.ts +1053 -754
  469. package/types/primeng-autofocus.d.ts +27 -24
  470. package/types/primeng-avatar.d.ts +152 -114
  471. package/types/primeng-avatargroup.d.ts +45 -40
  472. package/types/primeng-badge.d.ts +104 -78
  473. package/types/primeng-base.d.ts +49 -52
  474. package/types/primeng-basecomponent.d.ts +191 -174
  475. package/types/primeng-baseeditableholder.d.ts +63 -45
  476. package/types/primeng-baseinput.d.ts +122 -74
  477. package/types/primeng-basemodelholder.d.ts +9 -12
  478. package/types/primeng-bind.d.ts +36 -32
  479. package/types/primeng-blockui.d.ts +99 -80
  480. package/types/primeng-breadcrumb.d.ts +159 -133
  481. package/types/primeng-button.d.ts +690 -425
  482. package/types/primeng-buttongroup.d.ts +26 -30
  483. package/types/primeng-card.d.ts +130 -119
  484. package/types/primeng-carousel.d.ts +799 -629
  485. package/types/primeng-cascadeselect.d.ts +753 -562
  486. package/types/primeng-chart.d.ts +158 -112
  487. package/types/primeng-checkbox.d.ts +298 -208
  488. package/types/primeng-chip.d.ts +187 -143
  489. package/types/primeng-classnames.d.ts +23 -21
  490. package/types/primeng-colorpicker.d.ts +324 -269
  491. package/types/primeng-commandmenu.d.ts +213 -165
  492. package/types/primeng-compare.d.ts +267 -189
  493. package/types/primeng-config.d.ts +294 -304
  494. package/types/primeng-confirmdialog.d.ts +504 -325
  495. package/types/primeng-confirmpopup.d.ts +253 -207
  496. package/types/primeng-contextmenu.d.ts +522 -366
  497. package/types/primeng-dataview.d.ts +497 -342
  498. package/types/primeng-datepicker.d.ts +1268 -969
  499. package/types/primeng-dialog.d.ts +667 -462
  500. package/types/primeng-divider.d.ts +112 -96
  501. package/types/primeng-dock.d.ts +206 -172
  502. package/types/primeng-dom.d.ts +97 -100
  503. package/types/primeng-dragdrop.d.ts +142 -107
  504. package/types/primeng-drawer.d.ts +354 -254
  505. package/types/primeng-dynamicdialog.d.ts +527 -535
  506. package/types/primeng-editor.d.ts +210 -162
  507. package/types/primeng-fieldset.d.ts +198 -163
  508. package/types/primeng-fileupload.d.ts +726 -523
  509. package/types/primeng-floatlabel.d.ts +54 -48
  510. package/types/primeng-fluid.d.ts +36 -36
  511. package/types/primeng-focustrap.d.ts +30 -27
  512. package/types/primeng-galleria.d.ts +569 -430
  513. package/types/primeng-gallery.d.ts +754 -552
  514. package/types/primeng-iconfield.d.ts +53 -42
  515. package/types/primeng-icons-angledoubledown.d.ts +6 -9
  516. package/types/primeng-icons-angledoubleleft.d.ts +6 -9
  517. package/types/primeng-icons-angledoubleright.d.ts +6 -9
  518. package/types/primeng-icons-angledoubleup.d.ts +6 -9
  519. package/types/primeng-icons-angledown.d.ts +6 -9
  520. package/types/primeng-icons-angleleft.d.ts +6 -9
  521. package/types/primeng-icons-angleright.d.ts +6 -9
  522. package/types/primeng-icons-angleup.d.ts +6 -9
  523. package/types/primeng-icons-arrowdown.d.ts +8 -11
  524. package/types/primeng-icons-arrowdownleft.d.ts +6 -9
  525. package/types/primeng-icons-arrowdownright.d.ts +6 -9
  526. package/types/primeng-icons-arrowleft.d.ts +8 -11
  527. package/types/primeng-icons-arrowright.d.ts +6 -9
  528. package/types/primeng-icons-arrowup.d.ts +8 -11
  529. package/types/primeng-icons-ban.d.ts +8 -11
  530. package/types/primeng-icons-bars.d.ts +6 -9
  531. package/types/primeng-icons-baseicon.d.ts +23 -22
  532. package/types/primeng-icons-blank.d.ts +6 -9
  533. package/types/primeng-icons-calendar.d.ts +6 -9
  534. package/types/primeng-icons-caretleft.d.ts +6 -9
  535. package/types/primeng-icons-caretright.d.ts +6 -9
  536. package/types/primeng-icons-check.d.ts +6 -9
  537. package/types/primeng-icons-chevrondown.d.ts +6 -9
  538. package/types/primeng-icons-chevronleft.d.ts +6 -9
  539. package/types/primeng-icons-chevronright.d.ts +6 -9
  540. package/types/primeng-icons-chevronup.d.ts +6 -9
  541. package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
  542. package/types/primeng-icons-eye.d.ts +6 -9
  543. package/types/primeng-icons-eyeslash.d.ts +8 -11
  544. package/types/primeng-icons-filter.d.ts +8 -11
  545. package/types/primeng-icons-filterfill.d.ts +6 -9
  546. package/types/primeng-icons-filterslash.d.ts +8 -11
  547. package/types/primeng-icons-home.d.ts +8 -11
  548. package/types/primeng-icons-infocircle.d.ts +8 -11
  549. package/types/primeng-icons-minus.d.ts +6 -9
  550. package/types/primeng-icons-pencil.d.ts +8 -11
  551. package/types/primeng-icons-plus.d.ts +8 -11
  552. package/types/primeng-icons-refresh.d.ts +8 -11
  553. package/types/primeng-icons-search.d.ts +8 -11
  554. package/types/primeng-icons-searchminus.d.ts +8 -11
  555. package/types/primeng-icons-searchplus.d.ts +8 -11
  556. package/types/primeng-icons-sortalt.d.ts +8 -11
  557. package/types/primeng-icons-sortamountdown.d.ts +8 -11
  558. package/types/primeng-icons-sortamountupalt.d.ts +8 -11
  559. package/types/primeng-icons-spinner.d.ts +8 -11
  560. package/types/primeng-icons-star.d.ts +8 -11
  561. package/types/primeng-icons-starfill.d.ts +8 -11
  562. package/types/primeng-icons-thlarge.d.ts +8 -11
  563. package/types/primeng-icons-times.d.ts +6 -9
  564. package/types/primeng-icons-timescircle.d.ts +8 -11
  565. package/types/primeng-icons-trash.d.ts +8 -11
  566. package/types/primeng-icons-undo.d.ts +8 -11
  567. package/types/primeng-icons-upload.d.ts +8 -11
  568. package/types/primeng-icons-windowmaximize.d.ts +8 -11
  569. package/types/primeng-icons-windowminimize.d.ts +8 -11
  570. package/types/primeng-icons.d.ts +53 -53
  571. package/types/primeng-iftalabel.d.ts +37 -37
  572. package/types/primeng-image.d.ts +403 -308
  573. package/types/primeng-imagecompare.d.ts +93 -77
  574. package/types/primeng-inplace.d.ts +125 -111
  575. package/types/primeng-inputcolor.d.ts +646 -507
  576. package/types/primeng-inputgroup.d.ts +41 -41
  577. package/types/primeng-inputgroupaddon.d.ts +31 -31
  578. package/types/primeng-inputicon.d.ts +38 -32
  579. package/types/primeng-inputmask.d.ts +519 -362
  580. package/types/primeng-inputnumber.d.ts +572 -405
  581. package/types/primeng-inputotp.d.ts +205 -156
  582. package/types/primeng-inputpassword.d.ts +59 -43
  583. package/types/primeng-inputtags.d.ts +451 -297
  584. package/types/primeng-inputtext.d.ts +129 -93
  585. package/types/primeng-keyfilter.d.ts +62 -53
  586. package/types/primeng-knob.d.ts +256 -183
  587. package/types/primeng-label.d.ts +36 -36
  588. package/types/primeng-license.d.ts +1 -3
  589. package/types/primeng-listbox.d.ts +1040 -786
  590. package/types/primeng-megamenu.d.ts +535 -383
  591. package/types/primeng-menu.d.ts +478 -361
  592. package/types/primeng-menubar.d.ts +495 -354
  593. package/types/primeng-message.d.ts +191 -148
  594. package/types/primeng-metergroup.d.ts +249 -187
  595. package/types/primeng-motion.d.ts +602 -384
  596. package/types/primeng-multiselect.d.ts +1192 -858
  597. package/types/primeng-orderlist.d.ts +538 -390
  598. package/types/primeng-organizationchart.d.ts +235 -192
  599. package/types/primeng-overlay.d.ts +394 -294
  600. package/types/primeng-overlaybadge.d.ts +95 -64
  601. package/types/primeng-paginator.d.ts +409 -309
  602. package/types/primeng-panel.d.ts +267 -217
  603. package/types/primeng-panelmenu.d.ts +254 -228
  604. package/types/primeng-passthrough.d.ts +5 -7
  605. package/types/primeng-password.d.ts +605 -430
  606. package/types/primeng-picklist.d.ts +1041 -756
  607. package/types/primeng-popover.d.ts +235 -176
  608. package/types/primeng-progressbar.d.ts +130 -99
  609. package/types/primeng-progressspinner.d.ts +144 -108
  610. package/types/primeng-radiobutton.d.ts +218 -168
  611. package/types/primeng-rating.d.ts +239 -189
  612. package/types/primeng-ripple.d.ts +38 -42
  613. package/types/primeng-scrollarea.d.ts +290 -239
  614. package/types/primeng-scroller.d.ts +522 -387
  615. package/types/primeng-scrollpanel.d.ts +134 -128
  616. package/types/primeng-scrolltop.d.ts +169 -123
  617. package/types/primeng-select.d.ts +1013 -738
  618. package/types/primeng-selectbutton.d.ts +238 -164
  619. package/types/primeng-sidebar.d.ts +794 -561
  620. package/types/primeng-skeleton.d.ts +114 -83
  621. package/types/primeng-slider.d.ts +375 -306
  622. package/types/primeng-speeddial.d.ts +492 -370
  623. package/types/primeng-splitbutton.d.ts +381 -240
  624. package/types/primeng-splitter.d.ts +392 -299
  625. package/types/primeng-stepper.d.ts +422 -250
  626. package/types/primeng-steps.d.ts +157 -134
  627. package/types/primeng-styleclass.d.ts +163 -105
  628. package/types/primeng-table.d.ts +2898 -1911
  629. package/types/primeng-tabs.d.ts +467 -301
  630. package/types/primeng-tag.d.ts +106 -85
  631. package/types/primeng-terminal.d.ts +131 -117
  632. package/types/primeng-textarea.d.ts +145 -107
  633. package/types/primeng-tieredmenu.d.ts +572 -398
  634. package/types/primeng-timeline.d.ts +125 -109
  635. package/types/primeng-toast.d.ts +310 -247
  636. package/types/primeng-togglebutton.d.ts +254 -182
  637. package/types/primeng-toggleswitch.d.ts +188 -140
  638. package/types/primeng-toolbar.d.ts +82 -76
  639. package/types/primeng-tooltip.d.ts +334 -232
  640. package/types/primeng-tree.d.ts +762 -559
  641. package/types/primeng-treeselect.d.ts +749 -547
  642. package/types/primeng-treetable.d.ts +1839 -1313
  643. package/types/primeng-ts-helpers.d.ts +4 -6
  644. package/types/primeng-types-accordion.d.ts +58 -62
  645. package/types/primeng-types-autocomplete.d.ts +230 -233
  646. package/types/primeng-types-avatar.d.ts +25 -28
  647. package/types/primeng-types-avatargroup.d.ts +11 -14
  648. package/types/primeng-types-badge.d.ts +13 -16
  649. package/types/primeng-types-blockui.d.ts +18 -21
  650. package/types/primeng-types-breadcrumb.d.ts +65 -68
  651. package/types/primeng-types-button.d.ts +106 -109
  652. package/types/primeng-types-card.d.ts +54 -57
  653. package/types/primeng-types-carousel.d.ts +143 -146
  654. package/types/primeng-types-cascadeselect.d.ts +186 -192
  655. package/types/primeng-types-chart.d.ts +34 -39
  656. package/types/primeng-types-checkbox.d.ts +52 -55
  657. package/types/primeng-types-chip.d.ts +48 -51
  658. package/types/primeng-types-colorpicker.d.ts +59 -62
  659. package/types/primeng-types-commandmenu.d.ts +98 -101
  660. package/types/primeng-types-compare.d.ts +33 -36
  661. package/types/primeng-types-confirmdialog.d.ts +124 -127
  662. package/types/primeng-types-confirmpopup.d.ts +75 -78
  663. package/types/primeng-types-contextmenu.d.ts +100 -103
  664. package/types/primeng-types-dataview.d.ts +180 -183
  665. package/types/primeng-types-datepicker.d.ts +442 -445
  666. package/types/primeng-types-dialog.d.ts +93 -96
  667. package/types/primeng-types-divider.d.ts +14 -17
  668. package/types/primeng-types-dock.d.ts +45 -48
  669. package/types/primeng-types-drawer.d.ts +62 -65
  670. package/types/primeng-types-editor.d.ts +143 -146
  671. package/types/primeng-types-fieldset.d.ts +83 -87
  672. package/types/primeng-types-fileupload.d.ts +296 -301
  673. package/types/primeng-types-floatlabel.d.ts +12 -15
  674. package/types/primeng-types-fluid.d.ts +11 -14
  675. package/types/primeng-types-galleria.d.ts +209 -212
  676. package/types/primeng-types-gallery.d.ts +195 -198
  677. package/types/primeng-types-iconfield.d.ts +12 -15
  678. package/types/primeng-types-iftalabel.d.ts +11 -14
  679. package/types/primeng-types-image.d.ts +118 -121
  680. package/types/primeng-types-imagecompare.d.ts +22 -25
  681. package/types/primeng-types-inplace.d.ts +46 -49
  682. package/types/primeng-types-inputcolor.d.ts +86 -89
  683. package/types/primeng-types-inputgroup.d.ts +11 -14
  684. package/types/primeng-types-inputgroupaddon.d.ts +11 -14
  685. package/types/primeng-types-inputicon.d.ts +11 -14
  686. package/types/primeng-types-inputmask.d.ts +30 -33
  687. package/types/primeng-types-inputnumber.d.ts +72 -75
  688. package/types/primeng-types-inputotp.d.ts +67 -70
  689. package/types/primeng-types-inputpassword.d.ts +7 -10
  690. package/types/primeng-types-inputtags.d.ts +122 -125
  691. package/types/primeng-types-inputtext.d.ts +7 -10
  692. package/types/primeng-types-knob.d.ts +23 -26
  693. package/types/primeng-types-label.d.ts +7 -10
  694. package/types/primeng-types-listbox.d.ts +262 -266
  695. package/types/primeng-types-megamenu.d.ts +135 -138
  696. package/types/primeng-types-menu.d.ts +98 -101
  697. package/types/primeng-types-menubar.d.ts +122 -125
  698. package/types/primeng-types-message.d.ts +69 -72
  699. package/types/primeng-types-metergroup.d.ts +137 -140
  700. package/types/primeng-types-motion.d.ts +11 -14
  701. package/types/primeng-types-multiselect.d.ts +329 -333
  702. package/types/primeng-types-orderlist.d.ts +126 -129
  703. package/types/primeng-types-organizationchart.d.ts +147 -153
  704. package/types/primeng-types-overlay.d.ts +31 -34
  705. package/types/primeng-types-overlaybadge.d.ts +17 -20
  706. package/types/primeng-types-paginator.d.ts +131 -134
  707. package/types/primeng-types-panel.d.ts +91 -95
  708. package/types/primeng-types-panelmenu.d.ts +150 -153
  709. package/types/primeng-types-password.d.ts +94 -97
  710. package/types/primeng-types-picklist.d.ts +250 -260
  711. package/types/primeng-types-popover.d.ts +33 -36
  712. package/types/primeng-types-progressbar.d.ts +33 -36
  713. package/types/primeng-types-progressspinner.d.ts +27 -30
  714. package/types/primeng-types-radiobutton.d.ts +29 -32
  715. package/types/primeng-types-rating.d.ts +62 -65
  716. package/types/primeng-types-scrollarea.d.ts +35 -38
  717. package/types/primeng-types-scroller.d.ts +142 -146
  718. package/types/primeng-types-scrollpanel.d.ts +31 -34
  719. package/types/primeng-types-scrolltop.d.ts +37 -40
  720. package/types/primeng-types-select.d.ts +251 -254
  721. package/types/primeng-types-selectbutton.d.ts +56 -59
  722. package/types/primeng-types-shared.d.ts +6 -9
  723. package/types/primeng-types-sidebar.d.ts +105 -108
  724. package/types/primeng-types-skeleton.d.ts +11 -14
  725. package/types/primeng-types-slider.d.ts +59 -62
  726. package/types/primeng-types-speeddial.d.ts +71 -74
  727. package/types/primeng-types-splitbutton.d.ts +35 -38
  728. package/types/primeng-types-splitter.d.ts +58 -63
  729. package/types/primeng-types-stepper.d.ts +77 -80
  730. package/types/primeng-types-table.d.ts +743 -749
  731. package/types/primeng-types-tabs.d.ts +48 -51
  732. package/types/primeng-types-tag.d.ts +27 -30
  733. package/types/primeng-types-terminal.d.ts +43 -46
  734. package/types/primeng-types-textarea.d.ts +11 -14
  735. package/types/primeng-types-tieredmenu.d.ts +154 -157
  736. package/types/primeng-types-timeline.d.ts +60 -63
  737. package/types/primeng-types-toast.d.ts +92 -95
  738. package/types/primeng-types-togglebutton.d.ts +52 -55
  739. package/types/primeng-types-toggleswitch.d.ts +41 -44
  740. package/types/primeng-types-toolbar.d.ts +34 -37
  741. package/types/primeng-types-tooltip.d.ts +17 -20
  742. package/types/primeng-types-tree.d.ts +237 -246
  743. package/types/primeng-types-treeselect.d.ts +198 -202
  744. package/types/primeng-types-treetable.d.ts +492 -497
  745. package/types/primeng-usestyle.d.ts +28 -31
  746. package/types/primeng-utils.d.ts +37 -40
  747. package/types/primeng.d.ts +2 -2
  748. package/fesm2022/primeng-icons.mjs.map +0 -1
  749. package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
  750. package/fesm2022/primeng-types-accordion.mjs.map +0 -1
  751. package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
  752. package/fesm2022/primeng-types-avatar.mjs.map +0 -1
  753. package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
  754. package/fesm2022/primeng-types-badge.mjs.map +0 -1
  755. package/fesm2022/primeng-types-blockui.mjs.map +0 -1
  756. package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
  757. package/fesm2022/primeng-types-button.mjs.map +0 -1
  758. package/fesm2022/primeng-types-card.mjs.map +0 -1
  759. package/fesm2022/primeng-types-carousel.mjs.map +0 -1
  760. package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
  761. package/fesm2022/primeng-types-chart.mjs.map +0 -1
  762. package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
  763. package/fesm2022/primeng-types-chip.mjs.map +0 -1
  764. package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
  765. package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
  766. package/fesm2022/primeng-types-compare.mjs.map +0 -1
  767. package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
  768. package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
  769. package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
  770. package/fesm2022/primeng-types-dataview.mjs.map +0 -1
  771. package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
  772. package/fesm2022/primeng-types-dialog.mjs.map +0 -1
  773. package/fesm2022/primeng-types-divider.mjs.map +0 -1
  774. package/fesm2022/primeng-types-dock.mjs.map +0 -1
  775. package/fesm2022/primeng-types-drawer.mjs.map +0 -1
  776. package/fesm2022/primeng-types-editor.mjs.map +0 -1
  777. package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
  778. package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
  779. package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
  780. package/fesm2022/primeng-types-fluid.mjs.map +0 -1
  781. package/fesm2022/primeng-types-galleria.mjs.map +0 -1
  782. package/fesm2022/primeng-types-gallery.mjs.map +0 -1
  783. package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
  784. package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
  785. package/fesm2022/primeng-types-image.mjs.map +0 -1
  786. package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
  787. package/fesm2022/primeng-types-inplace.mjs.map +0 -1
  788. package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
  789. package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
  790. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
  791. package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
  792. package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
  793. package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
  794. package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
  795. package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
  796. package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
  797. package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
  798. package/fesm2022/primeng-types-knob.mjs.map +0 -1
  799. package/fesm2022/primeng-types-label.mjs.map +0 -1
  800. package/fesm2022/primeng-types-listbox.mjs.map +0 -1
  801. package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
  802. package/fesm2022/primeng-types-menu.mjs.map +0 -1
  803. package/fesm2022/primeng-types-menubar.mjs.map +0 -1
  804. package/fesm2022/primeng-types-message.mjs.map +0 -1
  805. package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
  806. package/fesm2022/primeng-types-motion.mjs.map +0 -1
  807. package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
  808. package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
  809. package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
  810. package/fesm2022/primeng-types-overlay.mjs.map +0 -1
  811. package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
  812. package/fesm2022/primeng-types-paginator.mjs.map +0 -1
  813. package/fesm2022/primeng-types-panel.mjs.map +0 -1
  814. package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
  815. package/fesm2022/primeng-types-password.mjs.map +0 -1
  816. package/fesm2022/primeng-types-picklist.mjs.map +0 -1
  817. package/fesm2022/primeng-types-popover.mjs.map +0 -1
  818. package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
  819. package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
  820. package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
  821. package/fesm2022/primeng-types-rating.mjs.map +0 -1
  822. package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
  823. package/fesm2022/primeng-types-scroller.mjs.map +0 -1
  824. package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
  825. package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
  826. package/fesm2022/primeng-types-select.mjs.map +0 -1
  827. package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
  828. package/fesm2022/primeng-types-shared.mjs.map +0 -1
  829. package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
  830. package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
  831. package/fesm2022/primeng-types-slider.mjs.map +0 -1
  832. package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
  833. package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
  834. package/fesm2022/primeng-types-splitter.mjs.map +0 -1
  835. package/fesm2022/primeng-types-stepper.mjs.map +0 -1
  836. package/fesm2022/primeng-types-table.mjs.map +0 -1
  837. package/fesm2022/primeng-types-tabs.mjs.map +0 -1
  838. package/fesm2022/primeng-types-tag.mjs.map +0 -1
  839. package/fesm2022/primeng-types-terminal.mjs.map +0 -1
  840. package/fesm2022/primeng-types-textarea.mjs.map +0 -1
  841. package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
  842. package/fesm2022/primeng-types-timeline.mjs.map +0 -1
  843. package/fesm2022/primeng-types-toast.mjs.map +0 -1
  844. package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
  845. package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
  846. package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
  847. package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
  848. package/fesm2022/primeng-types-tree.mjs.map +0 -1
  849. package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
  850. package/fesm2022/primeng-types-treetable.mjs.map +0 -1
@@ -1,228 +1,298 @@
1
- export * from 'primeng/types/select';
2
- import { NgTemplateOutlet } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { InjectionToken, Injectable, inject, input, booleanAttribute, numberAttribute, computed, output, Component, forwardRef, viewChild, contentChild, signal, effect, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import { ChevronDown } from '@primeicons/angular/chevron-down';
7
- import { Search } from '@primeicons/angular/search';
8
- import { Times } from '@primeicons/angular/times';
9
- import { uuid, equals, isNotEmpty, isEmpty, deepEquals, findSingle, scrollInView, resolveFieldData, focus, isPrintableCharacter, findLastIndex, getFirstFocusableElement, getLastFocusableElement, getFocusableElements } from '@primeuix/utils';
10
- import { SharedModule, FilterService, TranslationKeys } from 'primeng/api';
11
- import { AutoFocus } from 'primeng/autofocus';
12
- import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
13
- import { BaseInput } from 'primeng/baseinput';
14
- import * as i1 from 'primeng/bind';
15
- import { BindModule, Bind } from 'primeng/bind';
16
- import { unblockBodyScroll } from 'primeng/dom';
17
- import { IconField } from 'primeng/iconfield';
18
- import { InputIcon } from 'primeng/inputicon';
19
- import { InputText } from 'primeng/inputtext';
20
- import { Overlay } from 'primeng/overlay';
21
- import { Scroller } from 'primeng/scroller';
22
- import { Tooltip } from 'primeng/tooltip';
23
- import { Check } from '@primeicons/angular/check';
24
- import { Blank } from '@primeicons/angular/blank';
25
- import { Ripple } from 'primeng/ripple';
26
- import { style } from '@primeuix/styles/select';
27
- import { BaseStyle } from 'primeng/base';
28
-
29
- const SELECT_INSTANCE = new InjectionToken('SELECT_INSTANCE');
30
- const SELECT_ITEM_INSTANCE = new InjectionToken('SELECT_ITEM_INSTANCE');
31
-
1
+ import { NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, Injectable, InjectionToken, NgModule, ViewEncapsulation, booleanAttribute, computed, contentChild, effect, forwardRef, inject, input, isDevMode, numberAttribute, output, signal, viewChild } from "@angular/core";
4
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
5
+ import { ChevronDown } from "@primeicons/angular/chevron-down";
6
+ import { Search } from "@primeicons/angular/search";
7
+ import { Times } from "@primeicons/angular/times";
8
+ import { deepEquals, equals, findLastIndex, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, isEmpty, isNotEmpty, isPrintableCharacter, resolveFieldData, scrollInView, uuid } from "@primeuix/utils";
9
+ import { FilterService, SharedModule, TranslationKeys } from "primeng/api";
10
+ import { AutoFocus } from "primeng/autofocus";
11
+ import { BaseComponent, PARENT_INSTANCE } from "primeng/basecomponent";
12
+ import { BaseInput } from "primeng/baseinput";
13
+ import * as i1 from "primeng/bind";
14
+ import { Bind, BindModule } from "primeng/bind";
15
+ import { unblockBodyScroll } from "primeng/dom";
16
+ import { IconField } from "primeng/iconfield";
17
+ import { InputIcon } from "primeng/inputicon";
18
+ import { InputText } from "primeng/inputtext";
19
+ import { Overlay } from "primeng/overlay";
20
+ import { Scroller } from "primeng/scroller";
21
+ import { Tooltip } from "primeng/tooltip";
22
+ import { Check } from "@primeicons/angular/check";
23
+ import { Blank } from "@primeicons/angular/blank";
24
+ import { Ripple } from "primeng/ripple";
25
+ import { style } from "@primeuix/styles/select";
26
+ import { BaseStyle } from "primeng/base";
27
+ export * from "primeng/types/select";
28
+ const SELECT_INSTANCE = new InjectionToken("SELECT_INSTANCE");
32
29
  const classes = {
33
- root: ({ instance }) => [
34
- 'p-select p-component p-inputwrapper',
35
- {
36
- 'p-disabled': instance.$disabled(),
37
- 'p-invalid': instance.invalid(),
38
- 'p-variant-filled': instance.$variant() === 'filled',
39
- 'p-focus': instance.focused(),
40
- 'p-inputwrapper-filled': instance.$filled(),
41
- 'p-inputwrapper-focus': instance.focused() || instance.overlayVisible(),
42
- 'p-select-open': instance.overlayVisible(),
43
- 'p-select-fluid': instance.hasFluid,
44
- 'p-select-sm p-inputfield-sm': instance.size() === 'small',
45
- 'p-select-lg p-inputfield-lg': instance.size() === 'large'
46
- }
47
- ],
48
- label: ({ instance }) => [
49
- 'p-select-label',
50
- {
51
- 'p-placeholder': instance.placeholder() && instance.label() === instance.placeholder(),
52
- 'p-select-label-empty': !instance.editable() && !instance.selectedItemTemplate() && (instance.label() === undefined || instance.label() === null || instance.label() === 'p-emptylabel' || instance.label().length === 0)
53
- }
54
- ],
55
- clearIcon: 'p-select-clear-icon',
56
- dropdown: 'p-select-dropdown',
57
- loadingIcon: 'p-select-loading-icon',
58
- dropdownIcon: 'p-select-dropdown-icon',
59
- overlay: 'p-select-overlay p-component-overlay p-component',
60
- header: 'p-select-header',
61
- pcFilter: 'p-select-filter',
62
- listContainer: 'p-select-list-container',
63
- list: 'p-select-list',
64
- optionGroup: 'p-select-option-group',
65
- optionGroupLabel: 'p-select-option-group-label',
66
- option: ({ instance }) => [
67
- 'p-select-option',
68
- {
69
- 'p-select-option-selected': instance.selected() && !instance.checkmark(),
70
- 'p-disabled': instance.disabled(),
71
- 'p-focus': instance.focused()
72
- }
73
- ],
74
- optionLabel: 'p-select-option-label',
75
- optionCheckIcon: 'p-select-option-check-icon',
76
- optionBlankIcon: 'p-select-option-blank-icon',
77
- emptyMessage: 'p-select-empty-message'
30
+ root: ({ instance }) => ["p-select p-component p-inputwrapper", {
31
+ "p-disabled": instance.$disabled(),
32
+ "p-invalid": instance.invalid(),
33
+ "p-variant-filled": instance.$variant() === "filled",
34
+ "p-focus": instance.focused(),
35
+ "p-inputwrapper-filled": instance.$filled(),
36
+ "p-inputwrapper-focus": instance.focused() || instance.overlayVisible(),
37
+ "p-select-open": instance.overlayVisible(),
38
+ "p-select-fluid": instance.hasFluid,
39
+ "p-select-sm p-inputfield-sm": instance.size() === "small",
40
+ "p-select-lg p-inputfield-lg": instance.size() === "large"
41
+ }],
42
+ label: ({ instance }) => ["p-select-label", {
43
+ "p-placeholder": instance.placeholder() && instance.label() === instance.placeholder(),
44
+ "p-select-label-empty": !instance.editable() && !instance.selectedItemTemplate() && (instance.label() === void 0 || instance.label() === null || instance.label() === "p-emptylabel" || instance.label().length === 0)
45
+ }],
46
+ clearIcon: "p-select-clear-icon",
47
+ dropdown: "p-select-dropdown",
48
+ loadingIcon: "p-select-loading-icon",
49
+ dropdownIcon: "p-select-dropdown-icon",
50
+ overlay: "p-select-overlay p-component-overlay p-component",
51
+ header: "p-select-header",
52
+ pcFilter: "p-select-filter",
53
+ listContainer: "p-select-list-container",
54
+ list: "p-select-list",
55
+ optionGroup: "p-select-option-group",
56
+ optionGroupLabel: "p-select-option-group-label",
57
+ option: ({ instance }) => ["p-select-option", {
58
+ "p-select-option-selected": instance.selected() && !instance.checkmark(),
59
+ "p-disabled": instance.disabled(),
60
+ "p-focus": instance.focused()
61
+ }],
62
+ optionLabel: "p-select-option-label",
63
+ optionCheckIcon: "p-select-option-check-icon",
64
+ optionBlankIcon: "p-select-option-blank-icon",
65
+ emptyMessage: "p-select-empty-message"
78
66
  };
79
- class SelectStyle extends BaseStyle {
80
- name = 'select';
81
- style = style;
82
- classes = classes;
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
84
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectStyle });
85
- }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectStyle, decorators: [{
87
- type: Injectable
88
- }] });
89
- /**
90
- *
91
- * Select also known as Select, is used to choose an item from a collection of options.
92
- *
93
- * [Live Demo](https://www.primeng.org/select/)
94
- *
95
- * @module selectstyle
96
- *
97
- */
67
+ var SelectStyle = class SelectStyle extends BaseStyle {
68
+ name = "select";
69
+ style = style;
70
+ classes = classes;
71
+ static ɵfac = i0.ɵɵngDeclareFactory({
72
+ minVersion: "12.0.0",
73
+ version: "22.2.0",
74
+ ngImport: i0,
75
+ type: SelectStyle,
76
+ deps: null,
77
+ target: i0.ɵɵFactoryTarget.Injectable
78
+ });
79
+ static ɵprov = i0.ɵɵngDeclareInjectable({
80
+ minVersion: "12.0.0",
81
+ version: "22.2.0",
82
+ ngImport: i0,
83
+ type: SelectStyle
84
+ });
85
+ };
86
+ i0.ɵɵngDeclareClassMetadata({
87
+ minVersion: "12.0.0",
88
+ version: "22.2.0",
89
+ ngImport: i0,
90
+ type: SelectStyle,
91
+ decorators: [{ type: Injectable }]
92
+ });
98
93
  var SelectClasses;
99
- (function (SelectClasses) {
100
- /**
101
- * Class name of the root element
102
- */
103
- SelectClasses["root"] = "p-select";
104
- /**
105
- * Class name of the label element
106
- */
107
- SelectClasses["label"] = "p-select-label";
108
- /**
109
- * Class name of the clear icon element
110
- */
111
- SelectClasses["clearIcon"] = "p-select-clear-icon";
112
- /**
113
- * Class name of the dropdown element
114
- */
115
- SelectClasses["dropdown"] = "p-select-dropdown";
116
- /**
117
- * Class name of the loadingicon element
118
- */
119
- SelectClasses["loadingIcon"] = "p-select-loading-icon";
120
- /**
121
- * Class name of the dropdown icon element
122
- */
123
- SelectClasses["dropdownIcon"] = "p-select-dropdown-icon";
124
- /**
125
- * Class name of the overlay element
126
- */
127
- SelectClasses["overlay"] = "p-select-overlay";
128
- /**
129
- * Class name of the header element
130
- */
131
- SelectClasses["header"] = "p-select-header";
132
- /**
133
- * Class name of the filter element
134
- */
135
- SelectClasses["pcFilter"] = "p-select-filter";
136
- /**
137
- * Class name of the list container element
138
- */
139
- SelectClasses["listContainer"] = "p-select-list-container";
140
- /**
141
- * Class name of the list element
142
- */
143
- SelectClasses["list"] = "p-select-list";
144
- /**
145
- * Class name of the option group element
146
- */
147
- SelectClasses["optionGroup"] = "p-select-option-group";
148
- /**
149
- * Class name of the option group label element
150
- */
151
- SelectClasses["optionGroupLabel"] = "p-select-option-group-label";
152
- /**
153
- * Class name of the option element
154
- */
155
- SelectClasses["option"] = "p-select-option";
156
- /**
157
- * Class name of the option label element
158
- */
159
- SelectClasses["optionLabel"] = "p-select-option-label";
160
- /**
161
- * Class name of the option check icon element
162
- */
163
- SelectClasses["optionCheckIcon"] = "p-select-option-check-icon";
164
- /**
165
- * Class name of the option blank icon element
166
- */
167
- SelectClasses["optionBlankIcon"] = "p-select-option-blank-icon";
168
- /**
169
- * Class name of the empty message element
170
- */
171
- SelectClasses["emptyMessage"] = "p-select-empty-message";
94
+ (function(SelectClasses) {
95
+ SelectClasses["root"] = "p-select";
96
+ SelectClasses["label"] = "p-select-label";
97
+ SelectClasses["clearIcon"] = "p-select-clear-icon";
98
+ SelectClasses["dropdown"] = "p-select-dropdown";
99
+ SelectClasses["loadingIcon"] = "p-select-loading-icon";
100
+ SelectClasses["dropdownIcon"] = "p-select-dropdown-icon";
101
+ SelectClasses["overlay"] = "p-select-overlay";
102
+ SelectClasses["header"] = "p-select-header";
103
+ SelectClasses["pcFilter"] = "p-select-filter";
104
+ SelectClasses["listContainer"] = "p-select-list-container";
105
+ SelectClasses["list"] = "p-select-list";
106
+ SelectClasses["optionGroup"] = "p-select-option-group";
107
+ SelectClasses["optionGroupLabel"] = "p-select-option-group-label";
108
+ SelectClasses["option"] = "p-select-option";
109
+ SelectClasses["optionLabel"] = "p-select-option-label";
110
+ SelectClasses["optionCheckIcon"] = "p-select-option-check-icon";
111
+ SelectClasses["optionBlankIcon"] = "p-select-option-blank-icon";
112
+ SelectClasses["emptyMessage"] = "p-select-empty-message";
172
113
  })(SelectClasses || (SelectClasses = {}));
173
-
174
- class SelectItem extends BaseComponent {
175
- hostName = 'select';
176
- $pcSelectItem = inject(SELECT_ITEM_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
177
- $pcSelect = inject(SELECT_INSTANCE, { optional: true, skipSelf: true });
178
- id = input(/* @ts-ignore */
179
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
180
- option = input(/* @ts-ignore */
181
- ...(ngDevMode ? [undefined, { debugName: "option" }] : /* istanbul ignore next */ []));
182
- selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
183
- focused = input(undefined, { ...(ngDevMode ? { debugName: "focused" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
184
- label = input(/* @ts-ignore */
185
- ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
186
- disabled = input(undefined, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
187
- visible = input(undefined, { ...(ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
188
- itemSize = input(undefined, { ...(ngDevMode ? { debugName: "itemSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
189
- ariaPosInset = input(/* @ts-ignore */
190
- ...(ngDevMode ? [undefined, { debugName: "ariaPosInset" }] : /* istanbul ignore next */ []));
191
- ariaSetSize = input(/* @ts-ignore */
192
- ...(ngDevMode ? [undefined, { debugName: "ariaSetSize" }] : /* istanbul ignore next */ []));
193
- template = input(/* @ts-ignore */
194
- ...(ngDevMode ? [undefined, { debugName: "template" }] : /* istanbul ignore next */ []));
195
- checkmark = input(false, { ...(ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
196
- index = input(/* @ts-ignore */
197
- ...(ngDevMode ? [undefined, { debugName: "index" }] : /* istanbul ignore next */ []));
198
- scrollerOptions = input(/* @ts-ignore */
199
- ...(ngDevMode ? [undefined, { debugName: "scrollerOptions" }] : /* istanbul ignore next */ []));
200
- templateContext = computed(() => ({ $implicit: this.option() }), /* @ts-ignore */
201
- ...(ngDevMode ? [{ debugName: "templateContext" }] : /* istanbul ignore next */ []));
202
- itemSizeStyle = computed(() => ({ height: this.scrollerOptions()?.itemSize + 'px' }), /* @ts-ignore */
203
- ...(ngDevMode ? [{ debugName: "itemSizeStyle" }] : /* istanbul ignore next */ []));
204
- onClick = output();
205
- onMouseEnter = output();
206
- _componentStyle = inject(SelectStyle);
207
- onOptionClick(event) {
208
- this.onClick.emit(event);
209
- }
210
- onOptionMouseEnter(event) {
211
- this.onMouseEnter.emit(event);
212
- }
213
- getPTOptions() {
214
- return (this.$pcSelect?.getPTItemOptions?.(this.option(), this.scrollerOptions(), this.index() ?? 0, 'option') ??
215
- this.$pcSelect?.ptm('option', {
216
- context: {
217
- option: this.option(),
218
- selected: this.selected(),
219
- focused: this.focused(),
220
- disabled: this.disabled()
221
- }
222
- }));
223
- }
224
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
225
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: SelectItem, isStandalone: true, selector: "p-select-item", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, focused: { classPropertyName: "focused", publicName: "focused", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, ariaPosInset: { classPropertyName: "ariaPosInset", publicName: "ariaPosInset", isSignal: true, isRequired: false, transformFunction: null }, ariaSetSize: { classPropertyName: "ariaSetSize", publicName: "ariaSetSize", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, scrollerOptions: { classPropertyName: "scrollerOptions", publicName: "scrollerOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }], usesInheritance: true, ngImport: i0, template: `
114
+ var SelectItem = class SelectItem extends BaseComponent {
115
+ hostName = "select";
116
+ $pcSelect = inject(SELECT_INSTANCE, {
117
+ optional: true,
118
+ skipSelf: true
119
+ });
120
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
121
+ option = input(...ngDevMode ? [void 0, { debugName: "option" }] : /* istanbul ignore next */ []);
122
+ selected = input(void 0, {
123
+ ...ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {},
124
+ transform: booleanAttribute
125
+ });
126
+ focused = input(void 0, {
127
+ ...ngDevMode ? { debugName: "focused" } : /* istanbul ignore next */ {},
128
+ transform: booleanAttribute
129
+ });
130
+ label = input(...ngDevMode ? [void 0, { debugName: "label" }] : /* istanbul ignore next */ []);
131
+ disabled = input(void 0, {
132
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
133
+ transform: booleanAttribute
134
+ });
135
+ visible = input(void 0, {
136
+ ...ngDevMode ? { debugName: "visible" } : /* istanbul ignore next */ {},
137
+ transform: booleanAttribute
138
+ });
139
+ itemSize = input(void 0, {
140
+ ...ngDevMode ? { debugName: "itemSize" } : /* istanbul ignore next */ {},
141
+ transform: numberAttribute
142
+ });
143
+ ariaPosInset = input(...ngDevMode ? [void 0, { debugName: "ariaPosInset" }] : /* istanbul ignore next */ []);
144
+ ariaSetSize = input(...ngDevMode ? [void 0, { debugName: "ariaSetSize" }] : /* istanbul ignore next */ []);
145
+ template = input(...ngDevMode ? [void 0, { debugName: "template" }] : /* istanbul ignore next */ []);
146
+ checkmark = input(false, {
147
+ ...ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {},
148
+ transform: booleanAttribute
149
+ });
150
+ index = input(...ngDevMode ? [void 0, { debugName: "index" }] : /* istanbul ignore next */ []);
151
+ scrollerOptions = input(...ngDevMode ? [void 0, { debugName: "scrollerOptions" }] : /* istanbul ignore next */ []);
152
+ templateContext = computed(() => ({ $implicit: this.option() }), ...ngDevMode ? [{ debugName: "templateContext" }] : /* istanbul ignore next */ []);
153
+ itemSizeStyle = computed(() => ({ height: this.scrollerOptions()?.itemSize + "px" }), ...ngDevMode ? [{ debugName: "itemSizeStyle" }] : /* istanbul ignore next */ []);
154
+ onClick = output();
155
+ onMouseEnter = output();
156
+ _componentStyle = inject(SelectStyle);
157
+ onOptionClick(event) {
158
+ this.onClick.emit(event);
159
+ }
160
+ onOptionMouseEnter(event) {
161
+ this.onMouseEnter.emit(event);
162
+ }
163
+ getPTOptions() {
164
+ return this.$pcSelect?.getPTItemOptions?.(this.option(), this.scrollerOptions(), this.index() ?? 0, "option") ?? this.$pcSelect?.ptm("option", { context: {
165
+ option: this.option(),
166
+ selected: this.selected(),
167
+ focused: this.focused(),
168
+ disabled: this.disabled()
169
+ } });
170
+ }
171
+ static ɵfac = i0.ɵɵngDeclareFactory({
172
+ minVersion: "12.0.0",
173
+ version: "22.2.0",
174
+ ngImport: i0,
175
+ type: SelectItem,
176
+ deps: null,
177
+ target: i0.ɵɵFactoryTarget.Component
178
+ });
179
+ static ɵcmp = i0.ɵɵngDeclareComponent({
180
+ minVersion: "17.0.0",
181
+ version: "22.2.0",
182
+ type: SelectItem,
183
+ isStandalone: true,
184
+ selector: "p-select-item",
185
+ inputs: {
186
+ id: {
187
+ classPropertyName: "id",
188
+ publicName: "id",
189
+ isSignal: true,
190
+ isRequired: false,
191
+ transformFunction: null
192
+ },
193
+ option: {
194
+ classPropertyName: "option",
195
+ publicName: "option",
196
+ isSignal: true,
197
+ isRequired: false,
198
+ transformFunction: null
199
+ },
200
+ selected: {
201
+ classPropertyName: "selected",
202
+ publicName: "selected",
203
+ isSignal: true,
204
+ isRequired: false,
205
+ transformFunction: null
206
+ },
207
+ focused: {
208
+ classPropertyName: "focused",
209
+ publicName: "focused",
210
+ isSignal: true,
211
+ isRequired: false,
212
+ transformFunction: null
213
+ },
214
+ label: {
215
+ classPropertyName: "label",
216
+ publicName: "label",
217
+ isSignal: true,
218
+ isRequired: false,
219
+ transformFunction: null
220
+ },
221
+ disabled: {
222
+ classPropertyName: "disabled",
223
+ publicName: "disabled",
224
+ isSignal: true,
225
+ isRequired: false,
226
+ transformFunction: null
227
+ },
228
+ visible: {
229
+ classPropertyName: "visible",
230
+ publicName: "visible",
231
+ isSignal: true,
232
+ isRequired: false,
233
+ transformFunction: null
234
+ },
235
+ itemSize: {
236
+ classPropertyName: "itemSize",
237
+ publicName: "itemSize",
238
+ isSignal: true,
239
+ isRequired: false,
240
+ transformFunction: null
241
+ },
242
+ ariaPosInset: {
243
+ classPropertyName: "ariaPosInset",
244
+ publicName: "ariaPosInset",
245
+ isSignal: true,
246
+ isRequired: false,
247
+ transformFunction: null
248
+ },
249
+ ariaSetSize: {
250
+ classPropertyName: "ariaSetSize",
251
+ publicName: "ariaSetSize",
252
+ isSignal: true,
253
+ isRequired: false,
254
+ transformFunction: null
255
+ },
256
+ template: {
257
+ classPropertyName: "template",
258
+ publicName: "template",
259
+ isSignal: true,
260
+ isRequired: false,
261
+ transformFunction: null
262
+ },
263
+ checkmark: {
264
+ classPropertyName: "checkmark",
265
+ publicName: "checkmark",
266
+ isSignal: true,
267
+ isRequired: false,
268
+ transformFunction: null
269
+ },
270
+ index: {
271
+ classPropertyName: "index",
272
+ publicName: "index",
273
+ isSignal: true,
274
+ isRequired: false,
275
+ transformFunction: null
276
+ },
277
+ scrollerOptions: {
278
+ classPropertyName: "scrollerOptions",
279
+ publicName: "scrollerOptions",
280
+ isSignal: true,
281
+ isRequired: false,
282
+ transformFunction: null
283
+ }
284
+ },
285
+ outputs: {
286
+ onClick: "onClick",
287
+ onMouseEnter: "onMouseEnter"
288
+ },
289
+ providers: [SelectStyle, {
290
+ provide: PARENT_INSTANCE,
291
+ useExisting: SelectItem
292
+ }],
293
+ usesInheritance: true,
294
+ ngImport: i0,
295
+ template: `
226
296
  <li
227
297
  [id]="id()"
228
298
  [pBind]="getPTOptions()"
@@ -253,15 +323,70 @@ class SelectItem extends BaseComponent {
253
323
  }
254
324
  <ng-container *ngTemplateOutlet="template(); context: templateContext()"></ng-container>
255
325
  </li>
256
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Check, selector: "svg[data-p-icon=\"check\"]" }, { kind: "component", type: Blank, selector: "svg[data-p-icon=\"blank\"]" }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }] });
257
- }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectItem, decorators: [{
259
- type: Component,
260
- args: [{
261
- selector: 'p-select-item',
262
- standalone: true,
263
- imports: [NgTemplateOutlet, SharedModule, Ripple, Check, Blank, BindModule],
264
- template: `
326
+ `,
327
+ isInline: true,
328
+ dependencies: [
329
+ {
330
+ kind: "directive",
331
+ type: NgTemplateOutlet,
332
+ selector: "[ngTemplateOutlet]",
333
+ inputs: [
334
+ "ngTemplateOutletContext",
335
+ "ngTemplateOutlet",
336
+ "ngTemplateOutletInjector"
337
+ ]
338
+ },
339
+ {
340
+ kind: "ngmodule",
341
+ type: SharedModule
342
+ },
343
+ {
344
+ kind: "directive",
345
+ type: Ripple,
346
+ selector: "[pRipple]"
347
+ },
348
+ {
349
+ kind: "component",
350
+ type: Check,
351
+ selector: "svg[data-p-icon=\"check\"]"
352
+ },
353
+ {
354
+ kind: "component",
355
+ type: Blank,
356
+ selector: "svg[data-p-icon=\"blank\"]"
357
+ },
358
+ {
359
+ kind: "ngmodule",
360
+ type: BindModule
361
+ },
362
+ {
363
+ kind: "directive",
364
+ type: i1.Bind,
365
+ selector: "[pBind]",
366
+ inputs: ["pBind"]
367
+ }
368
+ ]
369
+ });
370
+ };
371
+ i0.ɵɵngDeclareClassMetadata({
372
+ minVersion: "12.0.0",
373
+ version: "22.2.0",
374
+ ngImport: i0,
375
+ type: SelectItem,
376
+ decorators: [{
377
+ type: Component,
378
+ args: [{
379
+ selector: "p-select-item",
380
+ standalone: true,
381
+ imports: [
382
+ NgTemplateOutlet,
383
+ SharedModule,
384
+ Ripple,
385
+ Check,
386
+ Blank,
387
+ BindModule
388
+ ],
389
+ template: `
265
390
  <li
266
391
  [id]="id()"
267
392
  [pBind]="getPTOptions()"
@@ -293,1484 +418,1681 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
293
418
  <ng-container *ngTemplateOutlet="template(); context: templateContext()"></ng-container>
294
419
  </li>
295
420
  `,
296
- providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }]
297
- }]
298
- }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], focused: [{ type: i0.Input, args: [{ isSignal: true, alias: "focused", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }], itemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemSize", required: false }] }], ariaPosInset: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaPosInset", required: false }] }], ariaSetSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaSetSize", required: false }] }], template: [{ type: i0.Input, args: [{ isSignal: true, alias: "template", required: false }] }], checkmark: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkmark", required: false }] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }], scrollerOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollerOptions", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onMouseEnter: [{ type: i0.Output, args: ["onMouseEnter"] }] } });
299
-
421
+ providers: [SelectStyle, {
422
+ provide: PARENT_INSTANCE,
423
+ useExisting: SelectItem
424
+ }]
425
+ }]
426
+ }],
427
+ propDecorators: {
428
+ id: [{
429
+ type: i0.Input,
430
+ args: [{
431
+ isSignal: true,
432
+ alias: "id",
433
+ required: false
434
+ }]
435
+ }],
436
+ option: [{
437
+ type: i0.Input,
438
+ args: [{
439
+ isSignal: true,
440
+ alias: "option",
441
+ required: false
442
+ }]
443
+ }],
444
+ selected: [{
445
+ type: i0.Input,
446
+ args: [{
447
+ isSignal: true,
448
+ alias: "selected",
449
+ required: false
450
+ }]
451
+ }],
452
+ focused: [{
453
+ type: i0.Input,
454
+ args: [{
455
+ isSignal: true,
456
+ alias: "focused",
457
+ required: false
458
+ }]
459
+ }],
460
+ label: [{
461
+ type: i0.Input,
462
+ args: [{
463
+ isSignal: true,
464
+ alias: "label",
465
+ required: false
466
+ }]
467
+ }],
468
+ disabled: [{
469
+ type: i0.Input,
470
+ args: [{
471
+ isSignal: true,
472
+ alias: "disabled",
473
+ required: false
474
+ }]
475
+ }],
476
+ visible: [{
477
+ type: i0.Input,
478
+ args: [{
479
+ isSignal: true,
480
+ alias: "visible",
481
+ required: false
482
+ }]
483
+ }],
484
+ itemSize: [{
485
+ type: i0.Input,
486
+ args: [{
487
+ isSignal: true,
488
+ alias: "itemSize",
489
+ required: false
490
+ }]
491
+ }],
492
+ ariaPosInset: [{
493
+ type: i0.Input,
494
+ args: [{
495
+ isSignal: true,
496
+ alias: "ariaPosInset",
497
+ required: false
498
+ }]
499
+ }],
500
+ ariaSetSize: [{
501
+ type: i0.Input,
502
+ args: [{
503
+ isSignal: true,
504
+ alias: "ariaSetSize",
505
+ required: false
506
+ }]
507
+ }],
508
+ template: [{
509
+ type: i0.Input,
510
+ args: [{
511
+ isSignal: true,
512
+ alias: "template",
513
+ required: false
514
+ }]
515
+ }],
516
+ checkmark: [{
517
+ type: i0.Input,
518
+ args: [{
519
+ isSignal: true,
520
+ alias: "checkmark",
521
+ required: false
522
+ }]
523
+ }],
524
+ index: [{
525
+ type: i0.Input,
526
+ args: [{
527
+ isSignal: true,
528
+ alias: "index",
529
+ required: false
530
+ }]
531
+ }],
532
+ scrollerOptions: [{
533
+ type: i0.Input,
534
+ args: [{
535
+ isSignal: true,
536
+ alias: "scrollerOptions",
537
+ required: false
538
+ }]
539
+ }],
540
+ onClick: [{
541
+ type: i0.Output,
542
+ args: ["onClick"]
543
+ }],
544
+ onMouseEnter: [{
545
+ type: i0.Output,
546
+ args: ["onMouseEnter"]
547
+ }]
548
+ }
549
+ });
300
550
  const SELECT_VALUE_ACCESSOR = {
301
- provide: NG_VALUE_ACCESSOR,
302
- useExisting: forwardRef(() => Select),
303
- multi: true
551
+ provide: NG_VALUE_ACCESSOR,
552
+ useExisting: forwardRef(() => Select),
553
+ multi: true
304
554
  };
305
- /**
306
- * Select is used to choose an item from a collection of options.
307
- * @group Components
308
- */
309
- class Select extends BaseInput {
310
- componentName = 'Select';
311
- bindDirectiveInstance = inject(Bind, { self: true });
312
- filterService = inject(FilterService);
313
- /**
314
- * Unique identifier of the component
315
- * @group Props
316
- */
317
- id = input(/* @ts-ignore */
318
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
319
- _internalId = uuid('pn_id_');
320
- $id = computed(() => this.id() || this._internalId, /* @ts-ignore */
321
- ...(ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []));
322
- /**
323
- * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.
324
- * @group Props
325
- */
326
- scrollHeight = input('200px', /* @ts-ignore */
327
- ...(ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
328
- /**
329
- * When specified, displays an input field to filter the items on keyup.
330
- * @group Props
331
- */
332
- filter = input(undefined, { ...(ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
333
- /**
334
- * Inline style of the overlay panel element.
335
- * @group Props
336
- */
337
- panelStyle = input(/* @ts-ignore */
338
- ...(ngDevMode ? [undefined, { debugName: "panelStyle" }] : /* istanbul ignore next */ []));
339
- /**
340
- * Style class of the overlay panel element.
341
- * @group Props
342
- */
343
- panelStyleClass = input(/* @ts-ignore */
344
- ...(ngDevMode ? [undefined, { debugName: "panelStyleClass" }] : /* istanbul ignore next */ []));
345
- /**
346
- * When present, it specifies that the component cannot be edited.
347
- * @group Props
348
- */
349
- readonly = input(undefined, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
350
- /**
351
- * When present, custom value instead of predefined options can be entered using the editable input field.
352
- * @group Props
353
- */
354
- editable = input(undefined, { ...(ngDevMode ? { debugName: "editable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
355
- /**
356
- * Index of the element in tabbing order.
357
- * @group Props
358
- */
359
- tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
360
- /**
361
- * Default text to display when no option is selected.
362
- * @group Props
363
- */
364
- placeholder = input(/* @ts-ignore */
365
- ...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
366
- /**
367
- * Icon to display in loading state.
368
- * @group Props
369
- */
370
- loadingIcon = input(/* @ts-ignore */
371
- ...(ngDevMode ? [undefined, { debugName: "loadingIcon" }] : /* istanbul ignore next */ []));
372
- /**
373
- * Placeholder text to show when filter input is empty.
374
- * @group Props
375
- */
376
- filterPlaceholder = input(/* @ts-ignore */
377
- ...(ngDevMode ? [undefined, { debugName: "filterPlaceholder" }] : /* istanbul ignore next */ []));
378
- /**
379
- * Locale to use in filtering. The default locale is the host environment's current locale.
380
- * @group Props
381
- */
382
- filterLocale = input(/* @ts-ignore */
383
- ...(ngDevMode ? [undefined, { debugName: "filterLocale" }] : /* istanbul ignore next */ []));
384
- /**
385
- * Identifier of the accessible input element.
386
- * @group Props
387
- */
388
- inputId = input(/* @ts-ignore */
389
- ...(ngDevMode ? [undefined, { debugName: "inputId" }] : /* istanbul ignore next */ []));
390
- /**
391
- * A property to uniquely identify a value in options.
392
- * @group Props
393
- */
394
- dataKey = input(/* @ts-ignore */
395
- ...(ngDevMode ? [undefined, { debugName: "dataKey" }] : /* istanbul ignore next */ []));
396
- /**
397
- * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.
398
- * @group Props
399
- */
400
- filterBy = input(/* @ts-ignore */
401
- ...(ngDevMode ? [undefined, { debugName: "filterBy" }] : /* istanbul ignore next */ []));
402
- /**
403
- * Fields used when filtering the options, defaults to optionLabel.
404
- * @group Props
405
- */
406
- filterFields = input(/* @ts-ignore */
407
- ...(ngDevMode ? [undefined, { debugName: "filterFields" }] : /* istanbul ignore next */ []));
408
- /**
409
- * When present, it specifies that the component should automatically get focus on load.
410
- * @group Props
411
- */
412
- autofocus = input(undefined, { ...(ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
413
- /**
414
- * Clears the filter value when hiding the select.
415
- * @group Props
416
- */
417
- resetFilterOnHide = input(false, { ...(ngDevMode ? { debugName: "resetFilterOnHide" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
418
- /**
419
- * Whether the selected option will be shown with a check mark.
420
- * @group Props
421
- */
422
- checkmark = input(false, { ...(ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
423
- /**
424
- * Icon class of the select icon.
425
- * @group Props
426
- */
427
- dropdownIcon = input(/* @ts-ignore */
428
- ...(ngDevMode ? [undefined, { debugName: "dropdownIcon" }] : /* istanbul ignore next */ []));
429
- /**
430
- * Whether the select is in loading state.
431
- * @group Props
432
- */
433
- loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
434
- /**
435
- * Name of the label field of an option.
436
- * @group Props
437
- */
438
- optionLabel = input(/* @ts-ignore */
439
- ...(ngDevMode ? [undefined, { debugName: "optionLabel" }] : /* istanbul ignore next */ []));
440
- /**
441
- * Name of the value field of an option.
442
- * @group Props
443
- */
444
- optionValue = input(/* @ts-ignore */
445
- ...(ngDevMode ? [undefined, { debugName: "optionValue" }] : /* istanbul ignore next */ []));
446
- /**
447
- * Name of the disabled field of an option or function to determine disabled state.
448
- * @group Props
449
- */
450
- optionDisabled = input(/* @ts-ignore */
451
- ...(ngDevMode ? [undefined, { debugName: "optionDisabled" }] : /* istanbul ignore next */ []));
452
- /**
453
- * Name of the label field of an option group.
454
- * @group Props
455
- */
456
- optionGroupLabel = input('label', /* @ts-ignore */
457
- ...(ngDevMode ? [{ debugName: "optionGroupLabel" }] : /* istanbul ignore next */ []));
458
- /**
459
- * Name of the options field of an option group.
460
- * @group Props
461
- */
462
- optionGroupChildren = input('items', /* @ts-ignore */
463
- ...(ngDevMode ? [{ debugName: "optionGroupChildren" }] : /* istanbul ignore next */ []));
464
- /**
465
- * Whether to display options as grouped when nested options are provided.
466
- * @group Props
467
- */
468
- group = input(undefined, { ...(ngDevMode ? { debugName: "group" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
469
- /**
470
- * When enabled, a clear icon is displayed to clear the value.
471
- * @group Props
472
- */
473
- showClear = input(undefined, { ...(ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
474
- /**
475
- * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.
476
- * @group Props
477
- */
478
- emptyFilterMessage = input('', /* @ts-ignore */
479
- ...(ngDevMode ? [{ debugName: "emptyFilterMessage" }] : /* istanbul ignore next */ []));
480
- /**
481
- * Text to display when there is no data. Defaults to global value in i18n translation configuration.
482
- * @group Props
483
- */
484
- emptyMessage = input('', /* @ts-ignore */
485
- ...(ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []));
486
- /**
487
- * Defines if data is loaded and interacted with in lazy manner.
488
- * @group Props
489
- */
490
- lazy = input(false, { ...(ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
491
- /**
492
- * Whether the data should be loaded on demand during scroll.
493
- * @group Props
494
- */
495
- virtualScroll = input(undefined, { ...(ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
496
- /**
497
- * Height of an item in the list for VirtualScrolling.
498
- * @group Props
499
- */
500
- virtualScrollItemSize = input(undefined, { ...(ngDevMode ? { debugName: "virtualScrollItemSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
501
- /**
502
- * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.
503
- * @group Props
504
- */
505
- virtualScrollOptions = input(/* @ts-ignore */
506
- ...(ngDevMode ? [undefined, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []));
507
- /**
508
- * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.
509
- * @group Props
510
- */
511
- overlayOptions = input(/* @ts-ignore */
512
- ...(ngDevMode ? [undefined, { debugName: "overlayOptions" }] : /* istanbul ignore next */ []));
513
- /**
514
- * Defines a string that labels the filter input.
515
- * @group Props
516
- */
517
- ariaFilterLabel = input(/* @ts-ignore */
518
- ...(ngDevMode ? [undefined, { debugName: "ariaFilterLabel" }] : /* istanbul ignore next */ []));
519
- /**
520
- * Used to define a aria label attribute the current element.
521
- * @group Props
522
- */
523
- ariaLabel = input(/* @ts-ignore */
524
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
525
- /**
526
- * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
527
- * @group Props
528
- */
529
- ariaLabelledBy = input(/* @ts-ignore */
530
- ...(ngDevMode ? [undefined, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []));
531
- /**
532
- * Defines how the items are filtered.
533
- * @group Props
534
- */
535
- filterMatchMode = input('contains', /* @ts-ignore */
536
- ...(ngDevMode ? [{ debugName: "filterMatchMode" }] : /* istanbul ignore next */ []));
537
- /**
538
- * Advisory information to display in a tooltip on hover.
539
- * @group Props
540
- */
541
- tooltip = input('', /* @ts-ignore */
542
- ...(ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []));
543
- /**
544
- * Position of the tooltip.
545
- * @group Props
546
- */
547
- tooltipPosition = input('right', /* @ts-ignore */
548
- ...(ngDevMode ? [{ debugName: "tooltipPosition" }] : /* istanbul ignore next */ []));
549
- /**
550
- * Type of CSS position.
551
- * @group Props
552
- */
553
- tooltipPositionStyle = input('absolute', /* @ts-ignore */
554
- ...(ngDevMode ? [{ debugName: "tooltipPositionStyle" }] : /* istanbul ignore next */ []));
555
- /**
556
- * Style class of the tooltip.
557
- * @group Props
558
- */
559
- tooltipStyleClass = input(/* @ts-ignore */
560
- ...(ngDevMode ? [undefined, { debugName: "tooltipStyleClass" }] : /* istanbul ignore next */ []));
561
- /**
562
- * Fields used when filtering the options, defaults to optionLabel.
563
- * @group Props
564
- */
565
- focusOnHover = input(true, { ...(ngDevMode ? { debugName: "focusOnHover" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
566
- /**
567
- * Determines if the option will be selected on focus.
568
- * @group Props
569
- */
570
- selectOnFocus = input(false, { ...(ngDevMode ? { debugName: "selectOnFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
571
- /**
572
- * When enabled, allows multiple items to be selected.
573
- * @group Props
574
- */
575
- multiple = input(false, { ...(ngDevMode ? { debugName: "multiple" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
576
- /**
577
- * Whether to focus on the first visible or selected element when the overlay panel is shown.
578
- * @group Props
579
- */
580
- autoOptionFocus = input(false, { ...(ngDevMode ? { debugName: "autoOptionFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
581
- /**
582
- * Applies focus to the filter element when the overlay is shown.
583
- * @group Props
584
- */
585
- autofocusFilter = input(true, { ...(ngDevMode ? { debugName: "autofocusFilter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
586
- /**
587
- * When specified, filter displays with this value.
588
- * @group Props
589
- */
590
- filterValue = input(/* @ts-ignore */
591
- ...(ngDevMode ? [undefined, { debugName: "filterValue" }] : /* istanbul ignore next */ []));
592
- /**
593
- * An array of objects to display as the available options.
594
- * @group Props
595
- */
596
- options = input(/* @ts-ignore */
597
- ...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
598
- /**
599
- * 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).
600
- * @defaultValue 'self'
601
- * @group Props
602
- */
603
- appendTo = input(undefined, /* @ts-ignore */
604
- ...(ngDevMode ? [{ debugName: "appendTo" }] : /* istanbul ignore next */ []));
605
- /**
606
- * The motion options.
607
- * @group Props
608
- */
609
- motionOptions = input(undefined, /* @ts-ignore */
610
- ...(ngDevMode ? [{ debugName: "motionOptions" }] : /* istanbul ignore next */ []));
611
- /**
612
- * Callback to invoke when value of select changes.
613
- * @param {SelectChangeEvent} event - custom change event.
614
- * @group Emits
615
- */
616
- onChange = output();
617
- /**
618
- * Callback to invoke when data is filtered.
619
- * @param {SelectFilterEvent} event - custom filter event.
620
- * @group Emits
621
- */
622
- onFilter = output();
623
- /**
624
- * Callback to invoke when select gets focus.
625
- * @param {Event} event - Browser event.
626
- * @group Emits
627
- */
628
- onFocus = output();
629
- /**
630
- * Callback to invoke when select loses focus.
631
- * @param {Event} event - Browser event.
632
- * @group Emits
633
- */
634
- onBlur = output();
635
- /**
636
- * Callback to invoke when component is clicked.
637
- * @param {MouseEvent} event - Mouse event.
638
- * @group Emits
639
- */
640
- onClick = output();
641
- /**
642
- * Callback to invoke when select overlay gets visible.
643
- * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime.
644
- * @group Emits
645
- */
646
- onShow = output();
647
- /**
648
- * Callback to invoke when select overlay gets hidden.
649
- * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime.
650
- * @group Emits
651
- */
652
- onHide = output();
653
- /**
654
- * Callback to invoke when select clears the value.
655
- * @param {Event} event - Browser event.
656
- * @group Emits
657
- */
658
- onClear = output();
659
- /**
660
- * Callback to invoke in lazy mode to load new data.
661
- * @param {SelectLazyLoadEvent} event - Lazy load event.
662
- * @group Emits
663
- */
664
- onLazyLoad = output();
665
- _componentStyle = inject(SelectStyle);
666
- filterViewChild = viewChild('filter', /* @ts-ignore */
667
- ...(ngDevMode ? [{ debugName: "filterViewChild" }] : /* istanbul ignore next */ []));
668
- focusInputViewChild = viewChild('focusInput', /* @ts-ignore */
669
- ...(ngDevMode ? [{ debugName: "focusInputViewChild" }] : /* istanbul ignore next */ []));
670
- editableInputViewChild = viewChild('editableInput', /* @ts-ignore */
671
- ...(ngDevMode ? [{ debugName: "editableInputViewChild" }] : /* istanbul ignore next */ []));
672
- itemsViewChild = viewChild('items', /* @ts-ignore */
673
- ...(ngDevMode ? [{ debugName: "itemsViewChild" }] : /* istanbul ignore next */ []));
674
- scroller = viewChild('scroller', /* @ts-ignore */
675
- ...(ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []));
676
- overlayViewChild = viewChild('overlay', /* @ts-ignore */
677
- ...(ngDevMode ? [{ debugName: "overlayViewChild" }] : /* istanbul ignore next */ []));
678
- firstHiddenFocusableElementOnOverlay = viewChild('firstHiddenFocusableEl', /* @ts-ignore */
679
- ...(ngDevMode ? [{ debugName: "firstHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []));
680
- lastHiddenFocusableElementOnOverlay = viewChild('lastHiddenFocusableEl', /* @ts-ignore */
681
- ...(ngDevMode ? [{ debugName: "lastHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []));
682
- itemsWrapper;
683
- $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), /* @ts-ignore */
684
- ...(ngDevMode ? [{ debugName: "$appendTo" }] : /* istanbul ignore next */ []));
685
- /**
686
- * Custom item template.
687
- * @group Templates
688
- */
689
- itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
690
- /**
691
- * Custom group template.
692
- * @group Templates
693
- */
694
- groupTemplate = contentChild('group', { ...(ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {}), descendants: false });
695
- /**
696
- * Custom loader template.
697
- * @group Templates
698
- */
699
- loaderTemplate = contentChild('loader', { ...(ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {}), descendants: false });
700
- /**
701
- * Custom selected item template.
702
- * @group Templates
703
- */
704
- selectedItemTemplate = contentChild('selectedItem', { ...(ngDevMode ? { debugName: "selectedItemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
705
- /**
706
- * Custom header template.
707
- * @param {SelectHeaderTemplateContext} context - header context.
708
- * @group Templates
709
- */
710
- headerTemplate = contentChild('header', { ...(ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
711
- /**
712
- * Custom filter template.
713
- * @group Templates
714
- */
715
- filterTemplate = contentChild('filter', { ...(ngDevMode ? { debugName: "filterTemplate" } : /* istanbul ignore next */ {}), descendants: false });
716
- /**
717
- * Custom footer template.
718
- * @group Templates
719
- */
720
- footerTemplate = contentChild('footer', { ...(ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
721
- /**
722
- * Custom empty filter template.
723
- * @group Templates
724
- */
725
- emptyFilterTemplate = contentChild('emptyfilter', { ...(ngDevMode ? { debugName: "emptyFilterTemplate" } : /* istanbul ignore next */ {}), descendants: false });
726
- /**
727
- * Custom empty template.
728
- * @group Templates
729
- */
730
- emptyTemplate = contentChild('empty', { ...(ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {}), descendants: false });
731
- /**
732
- * Custom dropdown icon template.
733
- * @group Templates
734
- */
735
- dropdownIconTemplate = contentChild('dropdownicon', { ...(ngDevMode ? { debugName: "dropdownIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
736
- /**
737
- * Custom loading icon template.
738
- * @group Templates
739
- */
740
- loadingIconTemplate = contentChild('loadingicon', { ...(ngDevMode ? { debugName: "loadingIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
741
- /**
742
- * Custom clear icon template.
743
- * @group Templates
744
- */
745
- clearIconTemplate = contentChild('clearicon', { ...(ngDevMode ? { debugName: "clearIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
746
- /**
747
- * Custom filter icon template.
748
- * @group Templates
749
- */
750
- filterIconTemplate = contentChild('filtericon', { ...(ngDevMode ? { debugName: "filterIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
751
- /**
752
- * Custom on icon template.
753
- * @group Templates
754
- */
755
- onIconTemplate = contentChild('onicon', { ...(ngDevMode ? { debugName: "onIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
756
- /**
757
- * Custom off icon template.
758
- * @group Templates
759
- */
760
- offIconTemplate = contentChild('officon', { ...(ngDevMode ? { debugName: "offIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
761
- /**
762
- * Custom cancel icon template.
763
- * @group Templates
764
- */
765
- cancelIconTemplate = contentChild('cancelicon', { ...(ngDevMode ? { debugName: "cancelIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
766
- filterOptions;
767
- _filterValue = signal(null, /* @ts-ignore */
768
- ...(ngDevMode ? [{ debugName: "_filterValue" }] : /* istanbul ignore next */ []));
769
- _placeholder = signal(undefined, /* @ts-ignore */
770
- ...(ngDevMode ? [{ debugName: "_placeholder" }] : /* istanbul ignore next */ []));
771
- _options = signal(null, /* @ts-ignore */
772
- ...(ngDevMode ? [{ debugName: "_options" }] : /* istanbul ignore next */ []));
773
- value;
774
- hover;
775
- focused = signal(false, /* @ts-ignore */
776
- ...(ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []));
777
- overlayVisible = signal(false, /* @ts-ignore */
778
- ...(ngDevMode ? [{ debugName: "overlayVisible" }] : /* istanbul ignore next */ []));
779
- optionsChanged;
780
- panel;
781
- dimensionsUpdated;
782
- hoveredItem;
783
- selectedOptionUpdated;
784
- searchValue;
785
- searchIndex;
786
- searchTimeout;
787
- previousSearchChar;
788
- currentSearchChar;
789
- preventModelTouched;
790
- focusedOptionIndex = signal(-1, /* @ts-ignore */
791
- ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []));
792
- labelId;
793
- listId;
794
- clicked = signal(false, /* @ts-ignore */
795
- ...(ngDevMode ? [{ debugName: "clicked" }] : /* istanbul ignore next */ []));
796
- emptyMessageLabel = computed(() => this.emptyMessage() || this.translate(TranslationKeys.EMPTY_MESSAGE), /* @ts-ignore */
797
- ...(ngDevMode ? [{ debugName: "emptyMessageLabel" }] : /* istanbul ignore next */ []));
798
- emptyFilterMessageLabel = computed(() => this.emptyFilterMessage() || this.translate(TranslationKeys.EMPTY_FILTER_MESSAGE), /* @ts-ignore */
799
- ...(ngDevMode ? [{ debugName: "emptyFilterMessageLabel" }] : /* istanbul ignore next */ []));
800
- isVisibleClearIcon = computed(() => {
801
- if (!this.showClear() || this.$disabled())
802
- return false;
803
- const value = this.modelValue();
804
- if (this.multiple()) {
805
- return Array.isArray(value) && value.length > 0;
806
- }
807
- return value != null && this.hasSelectedOption();
808
- }, /* @ts-ignore */
809
- ...(ngDevMode ? [{ debugName: "isVisibleClearIcon" }] : /* istanbul ignore next */ []));
810
- get listLabel() {
811
- return this.translate(TranslationKeys.ARIA, 'listLabel');
812
- }
813
- focusedOptionId = computed(() => (this.focusedOptionIndex() !== -1 ? `${this.$id()}_${this.focusedOptionIndex()}` : null), /* @ts-ignore */
814
- ...(ngDevMode ? [{ debugName: "focusedOptionId" }] : /* istanbul ignore next */ []));
815
- visibleOptions = computed(() => {
816
- const options = this.getAllVisibleAndNonVisibleOptions();
817
- if (this._filterValue()) {
818
- const _filterBy = this.filterBy() || this.optionLabel();
819
- const filteredOptions = !_filterBy && !this.filterFields() && !this.optionValue()
820
- ? this._options()?.filter((option) => {
821
- if (option.label) {
822
- return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
823
- }
824
- return option.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
825
- })
826
- : this.filterService.filter(options, this.searchFields(), this._filterValue().trim(), this.filterMatchMode(), this.filterLocale());
827
- if (this.group()) {
828
- const optionGroups = this._options() || [];
829
- const filtered = [];
830
- optionGroups.forEach((group) => {
831
- const groupChildren = this.getOptionGroupChildren(group);
832
- const filteredItems = groupChildren.filter((item) => filteredOptions?.includes(item));
833
- if (filteredItems.length > 0)
834
- filtered.push({
835
- ...group,
836
- [typeof this.optionGroupChildren() === 'string' ? this.optionGroupChildren() : 'items']: [...filteredItems]
837
- });
838
- });
839
- return this.flatOptions(filtered);
840
- }
841
- return filteredOptions;
842
- }
843
- return options;
844
- }, /* @ts-ignore */
845
- ...(ngDevMode ? [{ debugName: "visibleOptions" }] : /* istanbul ignore next */ []));
846
- label = computed(() => {
847
- if (this.multiple()) {
848
- const currentValue = this.modelValue();
849
- if (!Array.isArray(currentValue) || currentValue.length === 0) {
850
- return this.placeholder() || 'p-emptylabel';
851
- }
852
- const options = this.getAllVisibleAndNonVisibleOptions();
853
- const labels = currentValue
854
- .map((val) => {
855
- const opt = options.find((o) => !this.isOptionGroup(o) && equals(val, this.getOptionValue(o), this.equalityKey()));
856
- return opt ? this.getOptionLabel(opt) : String(val);
857
- })
858
- .filter(Boolean);
859
- return labels.join(', ');
860
- }
861
- // use getAllVisibleAndNonVisibleOptions verses just visible options
862
- // this will find the selected option whether or not the user is currently filtering because the filtered (i.e. visible) options, are a subset of all the options
863
- const options = this.getAllVisibleAndNonVisibleOptions();
864
- // use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option
865
- const selectedOptionIndex = options.findIndex((option) => {
866
- const isEqual = this.isOptionValueEqualsModelValue(option);
867
- return isEqual;
868
- });
869
- if (selectedOptionIndex !== -1) {
870
- const selectedOption = options[selectedOptionIndex];
871
- // Always show the label for selected options, even if disabled
872
- return this.getOptionLabel(selectedOption);
873
- }
874
- return this.placeholder() || 'p-emptylabel';
875
- }, /* @ts-ignore */
876
- ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
877
- $ariaLabel = computed(() => this.ariaLabel() || (this.label() === 'p-emptylabel' ? undefined : this.label()), /* @ts-ignore */
878
- ...(ngDevMode ? [{ debugName: "$ariaLabel" }] : /* istanbul ignore next */ []));
879
- $ariaMultiselectable = computed(() => this.multiple() || undefined, /* @ts-ignore */
880
- ...(ngDevMode ? [{ debugName: "$ariaMultiselectable" }] : /* istanbul ignore next */ []));
881
- $placeholder = computed(() => {
882
- const modelVal = this.modelValue();
883
- return modelVal === undefined || modelVal === null ? this.placeholder() || this._placeholder() : undefined;
884
- }, /* @ts-ignore */
885
- ...(ngDevMode ? [{ debugName: "$placeholder" }] : /* istanbul ignore next */ []));
886
- $required = computed(() => (this.required() ? '' : undefined), /* @ts-ignore */
887
- ...(ngDevMode ? [{ debugName: "$required" }] : /* istanbul ignore next */ []));
888
- $readonly = computed(() => (this.readonly() ? '' : undefined), /* @ts-ignore */
889
- ...(ngDevMode ? [{ debugName: "$readonly" }] : /* istanbul ignore next */ []));
890
- $disabledAttr = computed(() => (this.$disabled() ? '' : undefined), /* @ts-ignore */
891
- ...(ngDevMode ? [{ debugName: "$disabledAttr" }] : /* istanbul ignore next */ []));
892
- $tabindex = computed(() => (!this.$disabled() ? this.tabindex() : -1), /* @ts-ignore */
893
- ...(ngDevMode ? [{ debugName: "$tabindex" }] : /* istanbul ignore next */ []));
894
- filterInputValue = computed(() => this._filterValue() || '', /* @ts-ignore */
895
- ...(ngDevMode ? [{ debugName: "filterInputValue" }] : /* istanbul ignore next */ []));
896
- get $ariaActivedescendant() {
897
- return this.focused() ? this.focusedOptionId() : undefined;
898
- }
899
- get $ariaExpanded() {
900
- return this.overlayVisible();
901
- }
902
- $ariaControls = computed(() => (this.overlayVisible() ? this.$id() + '_list' : null), /* @ts-ignore */
903
- ...(ngDevMode ? [{ debugName: "$ariaControls" }] : /* istanbul ignore next */ []));
904
- showEmptyFilterMessage = computed(() => this._filterValue() && this.isEmpty(), /* @ts-ignore */
905
- ...(ngDevMode ? [{ debugName: "showEmptyFilterMessage" }] : /* istanbul ignore next */ []));
906
- showEmptyMessage = computed(() => !this._filterValue() && this.isEmpty(), /* @ts-ignore */
907
- ...(ngDevMode ? [{ debugName: "showEmptyMessage" }] : /* istanbul ignore next */ []));
908
- hasEmptyTemplate = computed(() => this.emptyFilterTemplate() || this.emptyTemplate(), /* @ts-ignore */
909
- ...(ngDevMode ? [{ debugName: "hasEmptyTemplate" }] : /* istanbul ignore next */ []));
910
- $ariaOwns = computed(() => this.$id() + '_list', /* @ts-ignore */
911
- ...(ngDevMode ? [{ debugName: "$ariaOwns" }] : /* istanbul ignore next */ []));
912
- get selectedItemContext() {
913
- return { $implicit: this.selectedOption() };
914
- }
915
- get clearIconContext() {
916
- return { class: this.cx('clearIcon') ?? '' };
917
- }
918
- get dropdownIconContext() {
919
- return { class: this.cx('dropdownIcon') ?? '' };
920
- }
921
- get filterTemplateContext() {
922
- return { options: this.filterOptions ?? {} };
923
- }
924
- get defaultBuildInItemsContext() {
925
- return { $implicit: this.visibleOptions(), options: {} };
926
- }
927
- selectedOption = signal(null, /* @ts-ignore */
928
- ...(ngDevMode ? [{ debugName: "selectedOption" }] : /* istanbul ignore next */ []));
929
- constructor() {
930
- super();
931
- effect(() => {
932
- const modelValue = this.modelValue();
933
- const visibleOptions = this.visibleOptions();
934
- if (visibleOptions && isNotEmpty(visibleOptions)) {
935
- const selectedOptionIndex = this.findSelectedOptionIndex();
936
- if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable()) {
937
- this.selectedOption.set(visibleOptions[selectedOptionIndex]);
938
- }
939
- else {
940
- // If no valid selected option found but we have a model value,
941
- // try to find the option including disabled ones for template display
942
- const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));
943
- if (disabledSelectedIndex !== -1) {
944
- this.selectedOption.set(visibleOptions[disabledSelectedIndex]);
945
- }
946
- }
947
- }
948
- if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption())) {
949
- this.selectedOption.set(null);
950
- }
951
- if (modelValue !== undefined && this.editable()) {
952
- this.updateEditableLabel();
953
- }
954
- });
955
- // Handle filterValue input changes
956
- effect(() => {
957
- const filterVal = this.filterValue();
958
- if (filterVal !== undefined) {
959
- this._filterValue.set(filterVal);
960
- }
961
- });
962
- // Handle options input changes with deepEquals check
963
- effect(() => {
964
- const opts = this.options();
965
- if (!deepEquals(opts, this._options())) {
966
- this._options.set(opts ?? null);
967
- this.optionsChanged = true;
968
- }
969
- });
970
- }
971
- isModelValueNotSet() {
972
- return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption());
973
- }
974
- getAllVisibleAndNonVisibleOptions() {
975
- return this.group() ? this.flatOptions(this._options()) : this._options() || [];
976
- }
977
- virtualScrollerDisabled = computed(() => !this.virtualScroll(), /* @ts-ignore */
978
- ...(ngDevMode ? [{ debugName: "virtualScrollerDisabled" }] : /* istanbul ignore next */ []));
979
- getBuildInItemsContext(items, scrollerOptions) {
980
- return { $implicit: items, options: scrollerOptions };
981
- }
982
- getLoaderContext(scrollerOptions) {
983
- return { options: scrollerOptions };
984
- }
985
- getItemSizeStyle(scrollerOptions) {
986
- return { height: scrollerOptions.itemSize + 'px' };
987
- }
988
- getGroupContext(optionGroup) {
989
- return { $implicit: optionGroup };
990
- }
991
- onInit() {
992
- this.autoUpdateModel();
993
- if (this.filterBy()) {
994
- this.filterOptions = {
995
- filter: (value) => this.onFilterInputChange(value),
996
- reset: () => this.resetFilter()
997
- };
998
- }
999
- }
1000
- onAfterViewChecked() {
1001
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1002
- if (this.optionsChanged && this.overlayVisible()) {
1003
- this.optionsChanged = false;
1004
- setTimeout(() => {
1005
- if (this.overlayViewChild()) {
1006
- this.overlayViewChild()?.alignOverlay();
1007
- }
1008
- }, 1);
1009
- }
1010
- if (this.selectedOptionUpdated && this.itemsWrapper) {
1011
- if (!this.multiple()) {
1012
- let selectedItem = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, 'li[data-p-selected="true"]');
1013
- if (selectedItem) {
1014
- scrollInView(this.itemsWrapper, selectedItem);
1015
- }
1016
- }
1017
- this.selectedOptionUpdated = false;
1018
- }
1019
- }
1020
- flatOptions(options) {
1021
- return (options || []).reduce((result, option, index) => {
1022
- result.push({ optionGroup: option, group: true, index });
1023
- const optionGroupChildren = this.getOptionGroupChildren(option);
1024
- if (optionGroupChildren) {
1025
- optionGroupChildren.forEach((o) => result.push(o));
1026
- }
1027
- return result;
1028
- }, []);
1029
- }
1030
- autoUpdateModel() {
1031
- if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {
1032
- this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());
1033
- this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);
1034
- }
1035
- }
1036
- onOptionSelect(event, option, isHide = true, preventChange = false) {
1037
- // Check if option is disabled before proceeding
1038
- if (this.isOptionDisabled(option)) {
1039
- return;
1040
- }
1041
- if (this.multiple()) {
1042
- this.onOptionSelectMultiple(event, option, preventChange);
1043
- return;
1044
- }
1045
- if (!this.isSelected(option)) {
1046
- const value = this.getOptionValue(option);
1047
- this.updateModel(value, event);
1048
- this.focusedOptionIndex.set(this.findSelectedOptionIndex());
1049
- if (preventChange === false) {
1050
- this.onChange.emit({ originalEvent: event, value: value });
1051
- }
1052
- }
1053
- if (isHide) {
1054
- this.hide(true);
1055
- }
1056
- }
1057
- onOptionSelectMultiple(event, option, preventChange = false) {
1058
- const value = this.getOptionValue(option);
1059
- const currentValue = this.modelValue() ?? [];
1060
- const newValue = this.isSelected(option) ? currentValue.filter((v) => !equals(v, value, this.equalityKey())) : [...currentValue, value];
1061
- this.updateModel(newValue, event);
1062
- if (preventChange === false) {
1063
- this.onChange.emit({ originalEvent: event, value: newValue });
1064
- }
1065
- }
1066
- onOptionMouseEnter(event, index) {
1067
- if (this.focusOnHover()) {
1068
- this.changeFocusedOptionIndex(event, index);
1069
- }
1070
- }
1071
- updateModel(value, _event) {
1072
- this.value = value;
1073
- this.onModelChange(value);
1074
- this.writeModelValue(value);
1075
- this.selectedOptionUpdated = true;
1076
- }
1077
- allowModelChange() {
1078
- return !!this.modelValue() && !this.placeholder() && (this.modelValue() === undefined || this.modelValue() === null) && !this.editable() && this._options() && this._options().length;
1079
- }
1080
- isSelected(option) {
1081
- if (this.multiple()) {
1082
- const currentValue = this.modelValue();
1083
- if (!Array.isArray(currentValue))
1084
- return false;
1085
- const optionValue = this.getOptionValue(option);
1086
- return currentValue.some((v) => equals(v, optionValue, this.equalityKey()));
1087
- }
1088
- return this.isOptionValueEqualsModelValue(option);
1089
- }
1090
- isOptionValueEqualsModelValue(option) {
1091
- // Don't check isValidOption here since we need to match disabled options too
1092
- return option !== undefined && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
1093
- }
1094
- onAfterViewInit() {
1095
- if (this.editable()) {
1096
- this.updateEditableLabel();
1097
- }
1098
- this.updatePlaceHolderForFloatingLabel();
1099
- }
1100
- updatePlaceHolderForFloatingLabel() {
1101
- const parentElement = this.el.nativeElement.parentElement;
1102
- const isInFloatingLabel = parentElement?.classList.contains('p-float-label');
1103
- if (parentElement && isInFloatingLabel && !this.selectedOption()) {
1104
- const label = parentElement.querySelector('label');
1105
- if (label) {
1106
- this._placeholder.set(label.textContent);
1107
- }
1108
- }
1109
- }
1110
- updateEditableLabel() {
1111
- if (this.editableInputViewChild()) {
1112
- this.editableInputViewChild().nativeElement.value = this.getOptionLabel(this.selectedOption()) || this.modelValue() || '';
1113
- }
1114
- }
1115
- clearEditableLabel() {
1116
- if (this.editableInputViewChild()) {
1117
- this.editableInputViewChild().nativeElement.value = '';
1118
- }
1119
- }
1120
- getOptionIndex(index, scrollerOptions) {
1121
- return this.virtualScrollerDisabled() ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
1122
- }
1123
- getOptionLabel(option) {
1124
- return this.optionLabel() !== undefined && this.optionLabel() !== null ? resolveFieldData(option, this.optionLabel()) : option && option.label !== undefined ? option.label : option;
1125
- }
1126
- getOptionValue(option) {
1127
- return this.optionValue() && this.optionValue() !== null ? resolveFieldData(option, this.optionValue()) : !this.optionLabel() && option && option.value !== undefined ? option.value : option;
1128
- }
1129
- getPTItemOptions(option, itemOptions, index, key) {
1130
- return this.ptm(key, {
1131
- context: {
1132
- option,
1133
- index,
1134
- selected: this.isSelected(option),
1135
- focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1136
- disabled: this.isOptionDisabled(option)
1137
- }
1138
- });
1139
- }
1140
- isSelectedOptionEmpty() {
1141
- if (this.multiple()) {
1142
- const currentValue = this.modelValue();
1143
- return !Array.isArray(currentValue) || currentValue.length === 0;
1144
- }
1145
- return isEmpty(this.selectedOption());
1146
- }
1147
- isOptionDisabled(option) {
1148
- return this.optionDisabled() ? resolveFieldData(option, this.optionDisabled()) : option && option.disabled !== undefined ? option.disabled : false;
1149
- }
1150
- getOptionGroupLabel(optionGroup) {
1151
- return this.optionGroupLabel() !== undefined && this.optionGroupLabel() !== null ? resolveFieldData(optionGroup, this.optionGroupLabel()) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
1152
- }
1153
- getOptionGroupChildren(optionGroup) {
1154
- return this.optionGroupChildren() !== undefined && this.optionGroupChildren() !== null ? resolveFieldData(optionGroup, this.optionGroupChildren()) : optionGroup.items;
1155
- }
1156
- getAriaPosInset(index) {
1157
- return ((this.optionGroupLabel()
1158
- ? index -
1159
- this.visibleOptions()
1160
- .slice(0, index)
1161
- .filter((option) => this.isOptionGroup(option)).length
1162
- : index) + 1);
1163
- }
1164
- get ariaSetSize() {
1165
- return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;
1166
- }
1167
- /**
1168
- * Callback to invoke on filter reset.
1169
- * @group Method
1170
- */
1171
- resetFilter() {
1172
- this._filterValue.set(null);
1173
- if (this.filterViewChild() && this.filterViewChild().nativeElement) {
1174
- this.filterViewChild().nativeElement.value = '';
1175
- }
1176
- }
1177
- onContainerClick(event) {
1178
- if (this.$disabled() || this.readonly() || this.loading()) {
1179
- return;
1180
- }
1181
- if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section="clearicon"]')) {
1182
- return;
1183
- }
1184
- else if (!this.overlayViewChild() || !this.overlayViewChild().el.nativeElement.contains(event.target)) {
1185
- if (this.overlayVisible()) {
1186
- this.hide(true);
1187
- }
1188
- else {
1189
- this.show(true);
1190
- }
1191
- }
1192
- this.focusInputViewChild()?.nativeElement.focus({ preventScroll: true });
1193
- this.onClick.emit(event);
1194
- this.clicked.set(true);
1195
- }
1196
- isEmpty() {
1197
- return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);
1198
- }
1199
- onEditableInput(event) {
1200
- const value = event.target.value;
1201
- this.searchValue = '';
1202
- const matched = this.searchOptions(event, value);
1203
- if (!matched) {
1204
- this.focusedOptionIndex.set(-1);
1205
- }
1206
- this.onModelChange(value);
1207
- this.updateModel(value || null, event);
1208
- setTimeout(() => {
1209
- this.onChange.emit({ originalEvent: event, value: value });
1210
- }, 1);
1211
- if (!this.overlayVisible() && isNotEmpty(value)) {
1212
- this.show();
1213
- }
1214
- }
1215
- /**
1216
- * Displays the panel.
1217
- * @group Method
1218
- */
1219
- show(isFocus) {
1220
- this.overlayVisible.set(true);
1221
- this.focusedOptionIndex.set(this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.editable() ? -1 : this.findSelectedOptionIndex());
1222
- if (isFocus) {
1223
- focus(this.focusInputViewChild()?.nativeElement);
1224
- }
1225
- }
1226
- onOverlayBeforeEnter(event) {
1227
- this.itemsWrapper = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name="virtualscroller"]' : '[data-pc-section="listcontainer"]');
1228
- if (this.virtualScroll()) {
1229
- this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);
1230
- }
1231
- if (this._options() && this._options().length) {
1232
- if (this.virtualScroll()) {
1233
- const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;
1234
- if (selectedIndex !== -1) {
1235
- setTimeout(() => {
1236
- this.scroller()?.scrollToIndex(selectedIndex);
1237
- }, 10);
1238
- }
1239
- }
1240
- else {
1241
- let selectedListItem = findSingle(this.itemsWrapper, '[data-p-selected="true"]');
1242
- if (selectedListItem) {
1243
- selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1244
- }
1245
- }
1246
- }
1247
- if (this.filterViewChild() && this.filterViewChild().nativeElement) {
1248
- this.preventModelTouched = true;
1249
- if (this.autofocusFilter() && !this.editable()) {
1250
- this.filterViewChild().nativeElement.focus();
1251
- }
1252
- }
1253
- this.onShow.emit(event);
1254
- }
1255
- onOverlayAfterLeave(event) {
1256
- this.itemsWrapper = null;
1257
- this.onModelTouched();
1258
- this.onHide.emit(event);
1259
- }
1260
- /**
1261
- * Hides the panel.
1262
- * @group Method
1263
- */
1264
- hide(isFocus) {
1265
- this.overlayVisible.set(false);
1266
- this.focusedOptionIndex.set(-1);
1267
- this.clicked.set(false);
1268
- this.searchValue = '';
1269
- if (this.overlayOptions()?.mode === 'modal') {
1270
- unblockBodyScroll();
1271
- }
1272
- if (this.filter() && this.resetFilterOnHide()) {
1273
- this.resetFilter();
1274
- }
1275
- if (isFocus) {
1276
- if (this.focusInputViewChild()) {
1277
- focus(this.focusInputViewChild()?.nativeElement);
1278
- }
1279
- if (this.editable() && this.editableInputViewChild()) {
1280
- focus(this.editableInputViewChild()?.nativeElement);
1281
- }
1282
- }
1283
- }
1284
- onInputFocus(event) {
1285
- if (this.$disabled()) {
1286
- // For ScreenReaders
1287
- return;
1288
- }
1289
- this.focused.set(true);
1290
- const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
1291
- this.focusedOptionIndex.set(focusedOptionIndex);
1292
- if (this.overlayVisible()) {
1293
- this.scrollInView(this.focusedOptionIndex());
1294
- }
1295
- this.onFocus.emit(event);
1296
- }
1297
- onInputBlur(event) {
1298
- this.focused.set(false);
1299
- this.onBlur.emit(event);
1300
- if (!this.preventModelTouched && !this.overlayVisible()) {
1301
- this.onModelTouched();
1302
- }
1303
- this.preventModelTouched = false;
1304
- }
1305
- onKeyDown(event, search = false) {
1306
- if (this.$disabled() || this.readonly() || this.loading()) {
1307
- return;
1308
- }
1309
- switch (event.code) {
1310
- //down
1311
- case 'ArrowDown':
1312
- this.onArrowDownKey(event);
1313
- break;
1314
- //up
1315
- case 'ArrowUp':
1316
- this.onArrowUpKey(event, this.editable());
1317
- break;
1318
- case 'ArrowLeft':
1319
- case 'ArrowRight':
1320
- this.onArrowLeftKey(event, this.editable());
1321
- break;
1322
- case 'Delete':
1323
- this.onDeleteKey(event);
1324
- break;
1325
- case 'Home':
1326
- this.onHomeKey(event, this.editable());
1327
- break;
1328
- case 'End':
1329
- this.onEndKey(event, this.editable());
1330
- break;
1331
- case 'PageDown':
1332
- this.onPageDownKey(event);
1333
- break;
1334
- case 'PageUp':
1335
- this.onPageUpKey(event);
1336
- break;
1337
- //space
1338
- case 'Space':
1339
- this.onSpaceKey(event, search);
1340
- break;
1341
- //enter
1342
- case 'Enter':
1343
- case 'NumpadEnter':
1344
- this.onEnterKey(event);
1345
- break;
1346
- //escape and tab
1347
- case 'Escape':
1348
- this.onEscapeKey(event);
1349
- break;
1350
- case 'Tab':
1351
- this.onTabKey(event);
1352
- break;
1353
- case 'Backspace':
1354
- this.onBackspaceKey(event, this.editable());
1355
- break;
1356
- case 'ShiftLeft':
1357
- case 'ShiftRight':
1358
- //NOOP
1359
- break;
1360
- default:
1361
- if (!event.metaKey && isPrintableCharacter(event.key)) {
1362
- if (!this.overlayVisible()) {
1363
- this.show();
1364
- }
1365
- if (!this.editable()) {
1366
- this.searchOptions(event, event.key);
1367
- }
1368
- }
1369
- break;
1370
- }
1371
- this.clicked.set(false);
1372
- }
1373
- onFilterKeyDown(event) {
1374
- switch (event.code) {
1375
- case 'ArrowDown':
1376
- this.onArrowDownKey(event);
1377
- break;
1378
- case 'ArrowUp':
1379
- this.onArrowUpKey(event, true);
1380
- break;
1381
- case 'ArrowLeft':
1382
- case 'ArrowRight':
1383
- this.onArrowLeftKey(event, true);
1384
- break;
1385
- case 'Home':
1386
- this.onHomeKey(event, true);
1387
- break;
1388
- case 'End':
1389
- this.onEndKey(event, true);
1390
- break;
1391
- case 'Enter':
1392
- case 'NumpadEnter':
1393
- this.onEnterKey(event, true);
1394
- break;
1395
- case 'Escape':
1396
- this.onEscapeKey(event);
1397
- break;
1398
- case 'Tab':
1399
- this.onTabKey(event, true);
1400
- break;
1401
- default:
1402
- break;
1403
- }
1404
- }
1405
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1406
- onFilterBlur(event) {
1407
- this.focusedOptionIndex.set(-1);
1408
- }
1409
- onArrowDownKey(event) {
1410
- if (!this.overlayVisible()) {
1411
- this.show();
1412
- if (this.editable()) {
1413
- this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());
1414
- }
1415
- }
1416
- else {
1417
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
1418
- this.changeFocusedOptionIndex(event, optionIndex);
1419
- }
1420
- // const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
1421
- // this.changeFocusedOptionIndex(event, optionIndex);
1422
- // !this.overlayVisible() && this.show();
1423
- event.preventDefault();
1424
- event.stopPropagation();
1425
- }
1426
- changeFocusedOptionIndex(event, index) {
1427
- if (this.focusedOptionIndex() !== index) {
1428
- this.focusedOptionIndex.set(index);
1429
- this.scrollInView();
1430
- if (this.selectOnFocus() && !this.multiple()) {
1431
- const option = this.visibleOptions()[index];
1432
- this.onOptionSelect(event, option, false);
1433
- }
1434
- }
1435
- }
1436
- scrollInView(index = -1) {
1437
- const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId();
1438
- if (this.itemsViewChild() && this.itemsViewChild().nativeElement) {
1439
- const element = findSingle(this.itemsViewChild().nativeElement, `li[id="${id}"]`);
1440
- if (element) {
1441
- if (element.scrollIntoView) {
1442
- element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1443
- }
1444
- }
1445
- else if (!this.virtualScrollerDisabled()) {
1446
- setTimeout(() => {
1447
- if (this.virtualScroll()) {
1448
- this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
1449
- }
1450
- }, 0);
1451
- }
1452
- }
1453
- }
1454
- hasSelectedOption() {
1455
- return this.modelValue() !== undefined;
1456
- }
1457
- isValidSelectedOption(option) {
1458
- return this.isValidOption(option) && this.isSelected(option);
1459
- }
1460
- equalityKey() {
1461
- return this.optionValue() ? undefined : this.dataKey();
1462
- }
1463
- findFirstFocusedOptionIndex() {
1464
- const selectedIndex = this.findSelectedOptionIndex();
1465
- return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
1466
- }
1467
- findFirstOptionIndex() {
1468
- return this.visibleOptions().findIndex((option) => this.isValidOption(option));
1469
- }
1470
- findSelectedOptionIndex() {
1471
- return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
1472
- }
1473
- findNextOptionIndex(index) {
1474
- const matchedOptionIndex = index < this.visibleOptions().length - 1
1475
- ? this.visibleOptions()
1476
- .slice(index + 1)
1477
- .findIndex((option) => this.isValidOption(option))
1478
- : -1;
1479
- return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
1480
- }
1481
- findPrevOptionIndex(index) {
1482
- const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
1483
- return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1484
- }
1485
- findLastOptionIndex() {
1486
- return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
1487
- }
1488
- findLastFocusedOptionIndex() {
1489
- const selectedIndex = this.findSelectedOptionIndex();
1490
- return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1491
- }
1492
- isValidOption(option) {
1493
- return option !== undefined && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1494
- }
1495
- isOptionGroup(option) {
1496
- return this.optionGroupLabel() !== undefined && this.optionGroupLabel() !== null && option.optionGroup !== undefined && option.optionGroup !== null && option.group;
1497
- }
1498
- isOptionFocused(index, scrollerOptions) {
1499
- return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);
1500
- }
1501
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1502
- trackOption(option, index) {
1503
- if (this.isOptionGroup(option)) {
1504
- return `group_${option.index}`;
1505
- }
1506
- const dataKey = this.dataKey();
1507
- if (dataKey) {
1508
- return resolveFieldData(option, dataKey);
1509
- }
1510
- return this.getOptionValue(option);
1511
- }
1512
- onArrowUpKey(event, pressedInInputText = false) {
1513
- if (event.altKey && !pressedInInputText) {
1514
- if (this.focusedOptionIndex() !== -1) {
1515
- const option = this.visibleOptions()[this.focusedOptionIndex()];
1516
- this.onOptionSelect(event, option);
1517
- }
1518
- if (!this.multiple() && this.overlayVisible()) {
1519
- this.hide();
1520
- }
1521
- }
1522
- else {
1523
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
1524
- this.changeFocusedOptionIndex(event, optionIndex);
1525
- if (!this.overlayVisible()) {
1526
- this.show();
1527
- }
1528
- }
1529
- event.preventDefault();
1530
- event.stopPropagation();
1531
- }
1532
- onArrowLeftKey(event, pressedInInputText = false) {
1533
- if (pressedInInputText) {
1534
- this.focusedOptionIndex.set(-1);
1535
- }
1536
- }
1537
- onDeleteKey(event) {
1538
- if (this.showClear()) {
1539
- this.clear(event);
1540
- event.preventDefault();
1541
- }
1542
- }
1543
- onHomeKey(event, pressedInInputText = false) {
1544
- if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1545
- const target = event.currentTarget;
1546
- if (event.shiftKey) {
1547
- target.setSelectionRange(0, target.value.length);
1548
- }
1549
- else {
1550
- target.setSelectionRange(0, 0);
1551
- this.focusedOptionIndex.set(-1);
1552
- }
1553
- }
1554
- else {
1555
- this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());
1556
- if (!this.overlayVisible()) {
1557
- this.show();
1558
- }
1559
- }
1560
- event.preventDefault();
1561
- }
1562
- onEndKey(event, pressedInInputText = false) {
1563
- if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1564
- const target = event.currentTarget;
1565
- if (event.shiftKey) {
1566
- target.setSelectionRange(0, target.value.length);
1567
- }
1568
- else {
1569
- const len = target.value.length;
1570
- target.setSelectionRange(len, len);
1571
- this.focusedOptionIndex.set(-1);
1572
- }
1573
- }
1574
- else {
1575
- this.changeFocusedOptionIndex(event, this.findLastOptionIndex());
1576
- if (!this.overlayVisible()) {
1577
- this.show();
1578
- }
1579
- }
1580
- event.preventDefault();
1581
- }
1582
- onPageDownKey(event) {
1583
- this.scrollInView(this.visibleOptions().length - 1);
1584
- event.preventDefault();
1585
- }
1586
- onPageUpKey(event) {
1587
- this.scrollInView(0);
1588
- event.preventDefault();
1589
- }
1590
- onSpaceKey(event, pressedInInputText = false) {
1591
- if (!this.editable() && !pressedInInputText) {
1592
- this.onEnterKey(event);
1593
- }
1594
- }
1595
- onEnterKey(event, pressedInInput = false) {
1596
- if (!this.overlayVisible()) {
1597
- this.focusedOptionIndex.set(-1);
1598
- this.onArrowDownKey(event);
1599
- }
1600
- else {
1601
- if (this.focusedOptionIndex() !== -1) {
1602
- const option = this.visibleOptions()[this.focusedOptionIndex()];
1603
- this.onOptionSelect(event, option);
1604
- }
1605
- if (!pressedInInput && !this.multiple()) {
1606
- this.hide();
1607
- }
1608
- }
1609
- event.preventDefault();
1610
- }
1611
- onEscapeKey(event) {
1612
- if (this.overlayVisible()) {
1613
- this.hide(true);
1614
- event.preventDefault();
1615
- event.stopPropagation();
1616
- }
1617
- }
1618
- onTabKey(event, pressedInInputText = false) {
1619
- if (!pressedInInputText) {
1620
- if (this.overlayVisible() && this.hasFocusableElements()) {
1621
- focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);
1622
- event.preventDefault();
1623
- event.stopPropagation();
1624
- }
1625
- else {
1626
- const consumedByOverlay = this.overlayVisible();
1627
- if (this.focusedOptionIndex() !== -1 && consumedByOverlay) {
1628
- const option = this.visibleOptions()[this.focusedOptionIndex()];
1629
- this.onOptionSelect(event, option);
1630
- }
1631
- if (this.overlayVisible()) {
1632
- this.hide(this.filter());
1633
- }
1634
- if (consumedByOverlay) {
1635
- event.stopPropagation();
1636
- }
1637
- }
1638
- }
1639
- }
1640
- onFirstHiddenFocus(event) {
1641
- const focusableEl = event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getFirstFocusableElement(this.overlayViewChild()?.el?.nativeElement, ':not([data-p-hidden-focusable="true"])') : this.focusInputViewChild()?.nativeElement;
1642
- focus(focusableEl);
1643
- }
1644
- onLastHiddenFocus(event) {
1645
- const focusableEl = event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable="true"])') : this.focusInputViewChild()?.nativeElement;
1646
- focus(focusableEl);
1647
- }
1648
- hasFocusableElements() {
1649
- return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
1650
- }
1651
- onBackspaceKey(event, pressedInInputText = false) {
1652
- if (pressedInInputText) {
1653
- if (!this.overlayVisible()) {
1654
- this.show();
1655
- }
1656
- }
1657
- }
1658
- searchFields() {
1659
- return this.filterBy()?.split(',') || this.filterFields() || [this.optionLabel()];
1660
- }
1661
- searchOptions(event, char) {
1662
- this.searchValue = (this.searchValue || '') + char;
1663
- let optionIndex = -1;
1664
- let matched = false;
1665
- optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));
1666
- if (optionIndex !== -1) {
1667
- matched = true;
1668
- }
1669
- if (optionIndex === -1 && this.focusedOptionIndex() === -1) {
1670
- optionIndex = this.findFirstFocusedOptionIndex();
1671
- }
1672
- if (optionIndex !== -1) {
1673
- setTimeout(() => {
1674
- this.changeFocusedOptionIndex(event, optionIndex);
1675
- });
1676
- }
1677
- if (this.searchTimeout) {
1678
- clearTimeout(this.searchTimeout);
1679
- }
1680
- this.searchTimeout = setTimeout(() => {
1681
- this.searchValue = '';
1682
- this.searchTimeout = null;
1683
- }, 500);
1684
- return matched;
1685
- }
1686
- isOptionMatched(option) {
1687
- return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));
1688
- }
1689
- onFilterInputChange(event) {
1690
- let value = event.target.value;
1691
- this._filterValue.set(value);
1692
- this.focusedOptionIndex.set(-1);
1693
- this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
1694
- if (!this.virtualScrollerDisabled()) {
1695
- this.scroller()?.scrollToIndex(0);
1696
- }
1697
- setTimeout(() => {
1698
- this.overlayViewChild()?.alignOverlay();
1699
- });
1700
- }
1701
- applyFocus() {
1702
- if (this.editable())
1703
- findSingle(this.el.nativeElement, '[data-pc-section="label"]').focus();
1704
- else
1705
- focus(this.focusInputViewChild()?.nativeElement);
1706
- }
1707
- /**
1708
- * Applies focus.
1709
- * @group Method
1710
- */
1711
- focus() {
1712
- this.applyFocus();
1713
- }
1714
- /**
1715
- * Clears the model.
1716
- * @group Method
1717
- */
1718
- clear(event) {
1719
- this.updateModel(this.multiple() ? [] : null, event);
1720
- this.clearEditableLabel();
1721
- this.onModelTouched();
1722
- this.onChange.emit({ originalEvent: event, value: this.value });
1723
- this.onClear.emit(event);
1724
- this.resetFilter();
1725
- }
1726
- /**
1727
- * @override
1728
- *
1729
- * @see {@link BaseEditableHolder.writeControlValue}
1730
- * Writes the value to the control.
1731
- */
1732
- writeControlValue(value, setModelValue) {
1733
- if (this.filter()) {
1734
- this.resetFilter();
1735
- }
1736
- this.value = value;
1737
- if (this.allowModelChange()) {
1738
- this.onModelChange(value);
1739
- }
1740
- setModelValue(this.value);
1741
- this.updateEditableLabel();
1742
- }
1743
- get containerDataP() {
1744
- return this.cn({
1745
- invalid: this.invalid(),
1746
- disabled: this.$disabled(),
1747
- focus: this.focused(),
1748
- fluid: this.hasFluid,
1749
- filled: this.$variant() === 'filled',
1750
- [this.size()]: this.size()
1751
- });
1752
- }
1753
- get labelDataP() {
1754
- return this.cn({
1755
- placeholder: this.label() === this.placeholder(),
1756
- clearable: this.showClear(),
1757
- disabled: this.$disabled(),
1758
- [this.size()]: this.size(),
1759
- empty: !this.editable() && !this.selectedItemTemplate() && (!this.label() || this.label() === 'p-emptylabel' || this.label().length === 0)
1760
- });
1761
- }
1762
- get dropdownIconDataP() {
1763
- return this.cn({
1764
- [this.size()]: this.size()
1765
- });
1766
- }
1767
- get overlayDataP() {
1768
- return this.cn({
1769
- ['overlay-' + this.$appendTo()]: 'overlay-' + this.$appendTo()
1770
- });
1771
- }
1772
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Select, deps: [], target: i0.ɵɵFactoryTarget.Component });
1773
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: Select, isStandalone: true, selector: "p-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", 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 }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: true, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: true, isRequired: false, transformFunction: null }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: true, isRequired: false, transformFunction: null }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", 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 }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: true, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: true, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", 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 }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: true, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: true, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: true, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: true, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: true, isRequired: false, transformFunction: null }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: true, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", 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: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "class": "cx('root')", "attr.id": "$id()", "attr.data-p": "containerDataP" } }, providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], isSignal: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], isSignal: true }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selectedItem"], isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], isSignal: true }, { propertyName: "filterTemplate", first: true, predicate: ["filter"], isSignal: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], isSignal: true }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"], isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], isSignal: true }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"], isSignal: true }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"], isSignal: true }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"], isSignal: true }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"], isSignal: true }, { propertyName: "onIconTemplate", first: true, predicate: ["onicon"], isSignal: true }, { propertyName: "offIconTemplate", first: true, predicate: ["officon"], isSignal: true }, { propertyName: "cancelIconTemplate", first: true, predicate: ["cancelicon"], isSignal: true }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true, isSignal: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true, isSignal: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], 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 }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true, isSignal: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
555
+ var Select = class Select extends BaseInput {
556
+ componentName = "Select";
557
+ bindDirectiveInstance = inject(Bind, { self: true });
558
+ filterService = inject(FilterService);
559
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
560
+ _internalId = uuid("pn_id_");
561
+ $id = computed(() => this.id() || this._internalId, ...ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []);
562
+ scrollHeight = input("200px", ...ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []);
563
+ filter = input(void 0, {
564
+ ...ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {},
565
+ transform: booleanAttribute
566
+ });
567
+ panelStyle = input(...ngDevMode ? [void 0, { debugName: "panelStyle" }] : /* istanbul ignore next */ []);
568
+ panelStyleClass = input(...ngDevMode ? [void 0, { debugName: "panelStyleClass" }] : /* istanbul ignore next */ []);
569
+ readonly = input(void 0, {
570
+ ...ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {},
571
+ transform: booleanAttribute
572
+ });
573
+ editable = input(void 0, {
574
+ ...ngDevMode ? { debugName: "editable" } : /* istanbul ignore next */ {},
575
+ transform: booleanAttribute
576
+ });
577
+ tabindex = input(0, {
578
+ ...ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {},
579
+ transform: numberAttribute
580
+ });
581
+ placeholder = input(...ngDevMode ? [void 0, { debugName: "placeholder" }] : /* istanbul ignore next */ []);
582
+ loadingIcon = input(...ngDevMode ? [void 0, { debugName: "loadingIcon" }] : /* istanbul ignore next */ []);
583
+ filterPlaceholder = input(...ngDevMode ? [void 0, { debugName: "filterPlaceholder" }] : /* istanbul ignore next */ []);
584
+ filterLocale = input(...ngDevMode ? [void 0, { debugName: "filterLocale" }] : /* istanbul ignore next */ []);
585
+ inputId = input(...ngDevMode ? [void 0, { debugName: "inputId" }] : /* istanbul ignore next */ []);
586
+ dataKey = input(...ngDevMode ? [void 0, { debugName: "dataKey" }] : /* istanbul ignore next */ []);
587
+ filterBy = input(...ngDevMode ? [void 0, { debugName: "filterBy" }] : /* istanbul ignore next */ []);
588
+ filterFields = input(...ngDevMode ? [void 0, { debugName: "filterFields" }] : /* istanbul ignore next */ []);
589
+ autofocus = input(void 0, {
590
+ ...ngDevMode ? { debugName: "autofocus" } : /* istanbul ignore next */ {},
591
+ transform: booleanAttribute
592
+ });
593
+ resetFilterOnHide = input(false, {
594
+ ...ngDevMode ? { debugName: "resetFilterOnHide" } : /* istanbul ignore next */ {},
595
+ transform: booleanAttribute
596
+ });
597
+ checkmark = input(false, {
598
+ ...ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {},
599
+ transform: booleanAttribute
600
+ });
601
+ dropdownIcon = input(...ngDevMode ? [void 0, { debugName: "dropdownIcon" }] : /* istanbul ignore next */ []);
602
+ loading = input(false, {
603
+ ...ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {},
604
+ transform: booleanAttribute
605
+ });
606
+ optionLabel = input(...ngDevMode ? [void 0, { debugName: "optionLabel" }] : /* istanbul ignore next */ []);
607
+ optionValue = input(...ngDevMode ? [void 0, { debugName: "optionValue" }] : /* istanbul ignore next */ []);
608
+ optionDisabled = input(...ngDevMode ? [void 0, { debugName: "optionDisabled" }] : /* istanbul ignore next */ []);
609
+ optionGroupLabel = input("label", ...ngDevMode ? [{ debugName: "optionGroupLabel" }] : /* istanbul ignore next */ []);
610
+ optionGroupChildren = input("items", ...ngDevMode ? [{ debugName: "optionGroupChildren" }] : /* istanbul ignore next */ []);
611
+ group = input(void 0, {
612
+ ...ngDevMode ? { debugName: "group" } : /* istanbul ignore next */ {},
613
+ transform: booleanAttribute
614
+ });
615
+ showClear = input(void 0, {
616
+ ...ngDevMode ? { debugName: "showClear" } : /* istanbul ignore next */ {},
617
+ transform: booleanAttribute
618
+ });
619
+ emptyFilterMessage = input("", ...ngDevMode ? [{ debugName: "emptyFilterMessage" }] : /* istanbul ignore next */ []);
620
+ emptyMessage = input("", ...ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []);
621
+ lazy = input(false, {
622
+ ...ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {},
623
+ transform: booleanAttribute
624
+ });
625
+ virtualScroll = input(void 0, {
626
+ ...ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {},
627
+ transform: booleanAttribute
628
+ });
629
+ virtualScrollItemSize = input(void 0, {
630
+ ...ngDevMode ? { debugName: "virtualScrollItemSize" } : /* istanbul ignore next */ {},
631
+ transform: numberAttribute
632
+ });
633
+ virtualScrollOptions = input(...ngDevMode ? [void 0, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []);
634
+ overlayOptions = input(...ngDevMode ? [void 0, { debugName: "overlayOptions" }] : /* istanbul ignore next */ []);
635
+ ariaFilterLabel = input(...ngDevMode ? [void 0, { debugName: "ariaFilterLabel" }] : /* istanbul ignore next */ []);
636
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
637
+ ariaLabelledBy = input(...ngDevMode ? [void 0, { debugName: "ariaLabelledBy" }] : /* istanbul ignore next */ []);
638
+ filterMatchMode = input("contains", ...ngDevMode ? [{ debugName: "filterMatchMode" }] : /* istanbul ignore next */ []);
639
+ tooltip = input("", ...ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []);
640
+ tooltipPosition = input("right", ...ngDevMode ? [{ debugName: "tooltipPosition" }] : /* istanbul ignore next */ []);
641
+ tooltipPositionStyle = input("absolute", ...ngDevMode ? [{ debugName: "tooltipPositionStyle" }] : /* istanbul ignore next */ []);
642
+ tooltipStyleClass = input(...ngDevMode ? [void 0, { debugName: "tooltipStyleClass" }] : /* istanbul ignore next */ []);
643
+ focusOnHover = input(true, {
644
+ ...ngDevMode ? { debugName: "focusOnHover" } : /* istanbul ignore next */ {},
645
+ transform: booleanAttribute
646
+ });
647
+ selectOnFocus = input(false, {
648
+ ...ngDevMode ? { debugName: "selectOnFocus" } : /* istanbul ignore next */ {},
649
+ transform: booleanAttribute
650
+ });
651
+ multiple = input(false, {
652
+ ...ngDevMode ? { debugName: "multiple" } : /* istanbul ignore next */ {},
653
+ transform: booleanAttribute
654
+ });
655
+ autoOptionFocus = input(false, {
656
+ ...ngDevMode ? { debugName: "autoOptionFocus" } : /* istanbul ignore next */ {},
657
+ transform: booleanAttribute
658
+ });
659
+ autofocusFilter = input(true, {
660
+ ...ngDevMode ? { debugName: "autofocusFilter" } : /* istanbul ignore next */ {},
661
+ transform: booleanAttribute
662
+ });
663
+ filterValue = input(...ngDevMode ? [void 0, { debugName: "filterValue" }] : /* istanbul ignore next */ []);
664
+ options = input(...ngDevMode ? [void 0, { debugName: "options" }] : /* istanbul ignore next */ []);
665
+ appendTo = input(void 0, ...ngDevMode ? [{ debugName: "appendTo" }] : /* istanbul ignore next */ []);
666
+ motionOptions = input(void 0, ...ngDevMode ? [{ debugName: "motionOptions" }] : /* istanbul ignore next */ []);
667
+ onChange = output();
668
+ onFilter = output();
669
+ onFocus = output();
670
+ onBlur = output();
671
+ onClick = output();
672
+ onShow = output();
673
+ onHide = output();
674
+ onClear = output();
675
+ onLazyLoad = output();
676
+ _componentStyle = inject(SelectStyle);
677
+ filterViewChild = viewChild("filter", ...ngDevMode ? [{ debugName: "filterViewChild" }] : /* istanbul ignore next */ []);
678
+ focusInputViewChild = viewChild("focusInput", ...ngDevMode ? [{ debugName: "focusInputViewChild" }] : /* istanbul ignore next */ []);
679
+ editableInputViewChild = viewChild("editableInput", ...ngDevMode ? [{ debugName: "editableInputViewChild" }] : /* istanbul ignore next */ []);
680
+ itemsViewChild = viewChild("items", ...ngDevMode ? [{ debugName: "itemsViewChild" }] : /* istanbul ignore next */ []);
681
+ scroller = viewChild("scroller", ...ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []);
682
+ overlayViewChild = viewChild("overlay", ...ngDevMode ? [{ debugName: "overlayViewChild" }] : /* istanbul ignore next */ []);
683
+ firstHiddenFocusableElementOnOverlay = viewChild("firstHiddenFocusableEl", ...ngDevMode ? [{ debugName: "firstHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []);
684
+ lastHiddenFocusableElementOnOverlay = viewChild("lastHiddenFocusableEl", ...ngDevMode ? [{ debugName: "lastHiddenFocusableElementOnOverlay" }] : /* istanbul ignore next */ []);
685
+ itemsWrapper;
686
+ $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), ...ngDevMode ? [{ debugName: "$appendTo" }] : /* istanbul ignore next */ []);
687
+ itemTemplate = contentChild("item", {
688
+ ...ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {},
689
+ descendants: false
690
+ });
691
+ groupTemplate = contentChild("group", {
692
+ ...ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {},
693
+ descendants: false
694
+ });
695
+ loaderTemplate = contentChild("loader", {
696
+ ...ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {},
697
+ descendants: false
698
+ });
699
+ selectedItemTemplate = contentChild("selectedItem", {
700
+ ...ngDevMode ? { debugName: "selectedItemTemplate" } : /* istanbul ignore next */ {},
701
+ descendants: false
702
+ });
703
+ headerTemplate = contentChild("header", {
704
+ ...ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {},
705
+ descendants: false
706
+ });
707
+ filterTemplate = contentChild("filter", {
708
+ ...ngDevMode ? { debugName: "filterTemplate" } : /* istanbul ignore next */ {},
709
+ descendants: false
710
+ });
711
+ footerTemplate = contentChild("footer", {
712
+ ...ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {},
713
+ descendants: false
714
+ });
715
+ emptyFilterTemplate = contentChild("emptyfilter", {
716
+ ...ngDevMode ? { debugName: "emptyFilterTemplate" } : /* istanbul ignore next */ {},
717
+ descendants: false
718
+ });
719
+ emptyTemplate = contentChild("empty", {
720
+ ...ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {},
721
+ descendants: false
722
+ });
723
+ dropdownIconTemplate = contentChild("dropdownicon", {
724
+ ...ngDevMode ? { debugName: "dropdownIconTemplate" } : /* istanbul ignore next */ {},
725
+ descendants: false
726
+ });
727
+ loadingIconTemplate = contentChild("loadingicon", {
728
+ ...ngDevMode ? { debugName: "loadingIconTemplate" } : /* istanbul ignore next */ {},
729
+ descendants: false
730
+ });
731
+ clearIconTemplate = contentChild("clearicon", {
732
+ ...ngDevMode ? { debugName: "clearIconTemplate" } : /* istanbul ignore next */ {},
733
+ descendants: false
734
+ });
735
+ filterIconTemplate = contentChild("filtericon", {
736
+ ...ngDevMode ? { debugName: "filterIconTemplate" } : /* istanbul ignore next */ {},
737
+ descendants: false
738
+ });
739
+ onIconTemplate = contentChild("onicon", {
740
+ ...ngDevMode ? { debugName: "onIconTemplate" } : /* istanbul ignore next */ {},
741
+ descendants: false
742
+ });
743
+ offIconTemplate = contentChild("officon", {
744
+ ...ngDevMode ? { debugName: "offIconTemplate" } : /* istanbul ignore next */ {},
745
+ descendants: false
746
+ });
747
+ cancelIconTemplate = contentChild("cancelicon", {
748
+ ...ngDevMode ? { debugName: "cancelIconTemplate" } : /* istanbul ignore next */ {},
749
+ descendants: false
750
+ });
751
+ filterOptions;
752
+ _filterValue = signal(null, ...ngDevMode ? [{ debugName: "_filterValue" }] : /* istanbul ignore next */ []);
753
+ _placeholder = signal(void 0, ...ngDevMode ? [{ debugName: "_placeholder" }] : /* istanbul ignore next */ []);
754
+ _options = signal(null, ...ngDevMode ? [{ debugName: "_options" }] : /* istanbul ignore next */ []);
755
+ value;
756
+ hover;
757
+ focused = signal(false, ...ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []);
758
+ overlayVisible = signal(false, ...ngDevMode ? [{ debugName: "overlayVisible" }] : /* istanbul ignore next */ []);
759
+ optionsChanged;
760
+ panel;
761
+ dimensionsUpdated;
762
+ hoveredItem;
763
+ selectedOptionUpdated;
764
+ searchValue;
765
+ searchIndex;
766
+ searchTimeout;
767
+ previousSearchChar;
768
+ currentSearchChar;
769
+ preventModelTouched;
770
+ focusedOptionIndex = signal(-1, ...ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []);
771
+ labelId;
772
+ listId;
773
+ clicked = signal(false, ...ngDevMode ? [{ debugName: "clicked" }] : /* istanbul ignore next */ []);
774
+ emptyMessageLabel = computed(() => this.emptyMessage() || this.translate(TranslationKeys.EMPTY_MESSAGE), ...ngDevMode ? [{ debugName: "emptyMessageLabel" }] : /* istanbul ignore next */ []);
775
+ emptyFilterMessageLabel = computed(() => this.emptyFilterMessage() || this.translate(TranslationKeys.EMPTY_FILTER_MESSAGE), ...ngDevMode ? [{ debugName: "emptyFilterMessageLabel" }] : /* istanbul ignore next */ []);
776
+ largeListWarned = false;
777
+ isVisibleClearIcon = computed(() => {
778
+ if (!this.showClear() || this.$disabled() || this.readonly() || this.loading()) return false;
779
+ const value = this.modelValue();
780
+ if (this.multiple()) return Array.isArray(value) && value.length > 0;
781
+ return value != null && this.hasSelectedOption();
782
+ }, ...ngDevMode ? [{ debugName: "isVisibleClearIcon" }] : /* istanbul ignore next */ []);
783
+ listLabel = computed(() => this.translate(TranslationKeys.ARIA, "listLabel"), ...ngDevMode ? [{ debugName: "listLabel" }] : /* istanbul ignore next */ []);
784
+ focusedOptionId = computed(() => this.focusedOptionIndex() !== -1 ? `${this.$id()}_${this.focusedOptionIndex()}` : null, ...ngDevMode ? [{ debugName: "focusedOptionId" }] : /* istanbul ignore next */ []);
785
+ visibleOptions = computed(() => {
786
+ const options = this.getAllVisibleAndNonVisibleOptions();
787
+ if (this._filterValue()) {
788
+ const filteredOptions = !(this.filterBy() || this.optionLabel()) && !this.filterFields() && !this.optionValue() ? this._options()?.filter((option) => {
789
+ if (option.label) return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
790
+ return option.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
791
+ }) : this.filterService.filter(options, this.searchFields(), this._filterValue().trim(), this.filterMatchMode(), this.filterLocale());
792
+ if (this.group()) {
793
+ const optionGroups = this._options() || [];
794
+ const filtered = [];
795
+ optionGroups.forEach((group) => {
796
+ const filteredItems = this.getOptionGroupChildren(group).filter((item) => filteredOptions?.includes(item));
797
+ if (filteredItems.length > 0) filtered.push({
798
+ ...group,
799
+ [typeof this.optionGroupChildren() === "string" ? this.optionGroupChildren() : "items"]: [...filteredItems]
800
+ });
801
+ });
802
+ return this.flatOptions(filtered);
803
+ }
804
+ return filteredOptions;
805
+ }
806
+ return options;
807
+ }, ...ngDevMode ? [{ debugName: "visibleOptions" }] : /* istanbul ignore next */ []);
808
+ label = computed(() => {
809
+ if (this.multiple()) {
810
+ const currentValue = this.modelValue();
811
+ if (!Array.isArray(currentValue) || currentValue.length === 0) return this.placeholder() || "p-emptylabel";
812
+ const options = this.getAllVisibleAndNonVisibleOptions();
813
+ return currentValue.map((val) => {
814
+ const opt = options.find((o) => !this.isOptionGroup(o) && equals(val, this.getOptionValue(o), this.equalityKey()));
815
+ return opt ? this.getOptionLabel(opt) : String(val);
816
+ }).filter(Boolean).join(", ");
817
+ }
818
+ const options = this.getAllVisibleAndNonVisibleOptions();
819
+ const selectedOptionIndex = options.findIndex((option) => {
820
+ return this.isOptionValueEqualsModelValue(option);
821
+ });
822
+ if (selectedOptionIndex !== -1) {
823
+ const selectedOption = options[selectedOptionIndex];
824
+ return this.getOptionLabel(selectedOption);
825
+ }
826
+ return this.placeholder() || "p-emptylabel";
827
+ }, ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
828
+ $ariaLabel = computed(() => this.ariaLabel() || (this.label() === "p-emptylabel" ? void 0 : this.label()), ...ngDevMode ? [{ debugName: "$ariaLabel" }] : /* istanbul ignore next */ []);
829
+ $ariaMultiselectable = computed(() => this.multiple() || void 0, ...ngDevMode ? [{ debugName: "$ariaMultiselectable" }] : /* istanbul ignore next */ []);
830
+ $placeholder = computed(() => {
831
+ const modelVal = this.modelValue();
832
+ return modelVal === void 0 || modelVal === null ? this.placeholder() || this._placeholder() : void 0;
833
+ }, ...ngDevMode ? [{ debugName: "$placeholder" }] : /* istanbul ignore next */ []);
834
+ $required = computed(() => this.required() ? "" : void 0, ...ngDevMode ? [{ debugName: "$required" }] : /* istanbul ignore next */ []);
835
+ $readonly = computed(() => this.readonly() ? "" : void 0, ...ngDevMode ? [{ debugName: "$readonly" }] : /* istanbul ignore next */ []);
836
+ $disabledAttr = computed(() => this.$disabled() ? "" : void 0, ...ngDevMode ? [{ debugName: "$disabledAttr" }] : /* istanbul ignore next */ []);
837
+ $tabindex = computed(() => !this.$disabled() ? this.tabindex() : -1, ...ngDevMode ? [{ debugName: "$tabindex" }] : /* istanbul ignore next */ []);
838
+ filterInputValue = computed(() => this._filterValue() || "", ...ngDevMode ? [{ debugName: "filterInputValue" }] : /* istanbul ignore next */ []);
839
+ get $ariaActivedescendant() {
840
+ return this.focused() ? this.focusedOptionId() : void 0;
841
+ }
842
+ get $ariaExpanded() {
843
+ return this.overlayVisible();
844
+ }
845
+ $ariaControls = computed(() => this.overlayVisible() ? this.$id() + "_list" : null, ...ngDevMode ? [{ debugName: "$ariaControls" }] : /* istanbul ignore next */ []);
846
+ showEmptyFilterMessage = computed(() => this._filterValue() && this.isEmpty(), ...ngDevMode ? [{ debugName: "showEmptyFilterMessage" }] : /* istanbul ignore next */ []);
847
+ showEmptyMessage = computed(() => !this._filterValue() && this.isEmpty(), ...ngDevMode ? [{ debugName: "showEmptyMessage" }] : /* istanbul ignore next */ []);
848
+ hasEmptyTemplate = computed(() => this.emptyFilterTemplate() || this.emptyTemplate(), ...ngDevMode ? [{ debugName: "hasEmptyTemplate" }] : /* istanbul ignore next */ []);
849
+ $ariaOwns = computed(() => this.$id() + "_list", ...ngDevMode ? [{ debugName: "$ariaOwns" }] : /* istanbul ignore next */ []);
850
+ selectedItemContext = computed(() => ({ $implicit: this.selectedOption() }), ...ngDevMode ? [{ debugName: "selectedItemContext" }] : /* istanbul ignore next */ []);
851
+ clearIconContext = computed(() => ({ class: this.cx("clearIcon") ?? "" }), ...ngDevMode ? [{ debugName: "clearIconContext" }] : /* istanbul ignore next */ []);
852
+ dropdownIconContext = computed(() => ({ class: this.cx("dropdownIcon") ?? "" }), ...ngDevMode ? [{ debugName: "dropdownIconContext" }] : /* istanbul ignore next */ []);
853
+ filterTemplateContext = computed(() => ({ options: this.filterBy() ? this.filterOptions ?? this.createFilterOptions() : {} }), ...ngDevMode ? [{ debugName: "filterTemplateContext" }] : /* istanbul ignore next */ []);
854
+ defaultBuildInItemsContext = computed(() => ({
855
+ $implicit: this.visibleOptions(),
856
+ options: {}
857
+ }), ...ngDevMode ? [{ debugName: "defaultBuildInItemsContext" }] : /* istanbul ignore next */ []);
858
+ ariaSetSize = computed(() => this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length, ...ngDevMode ? [{ debugName: "ariaSetSize" }] : /* istanbul ignore next */ []);
859
+ containerDataP = computed(() => this.cn({
860
+ invalid: this.invalid(),
861
+ disabled: this.$disabled(),
862
+ focus: this.focused(),
863
+ fluid: this.hasFluid,
864
+ filled: this.$variant() === "filled",
865
+ [this.size()]: this.size()
866
+ }), ...ngDevMode ? [{ debugName: "containerDataP" }] : /* istanbul ignore next */ []);
867
+ labelDataP = computed(() => this.cn({
868
+ placeholder: this.label() === this.placeholder(),
869
+ clearable: this.showClear(),
870
+ disabled: this.$disabled(),
871
+ [this.size()]: this.size(),
872
+ empty: !this.editable() && !this.selectedItemTemplate() && (!this.label() || this.label() === "p-emptylabel" || this.label().length === 0)
873
+ }), ...ngDevMode ? [{ debugName: "labelDataP" }] : /* istanbul ignore next */ []);
874
+ dropdownIconDataP = computed(() => this.cn({ [this.size()]: this.size() }), ...ngDevMode ? [{ debugName: "dropdownIconDataP" }] : /* istanbul ignore next */ []);
875
+ overlayDataP = computed(() => this.cn({ ["overlay-" + this.$appendTo()]: "overlay-" + this.$appendTo() }), ...ngDevMode ? [{ debugName: "overlayDataP" }] : /* istanbul ignore next */ []);
876
+ selectedOption = signal(null, ...ngDevMode ? [{ debugName: "selectedOption" }] : /* istanbul ignore next */ []);
877
+ constructor() {
878
+ super();
879
+ effect(() => {
880
+ const modelValue = this.modelValue();
881
+ const visibleOptions = this.visibleOptions();
882
+ if (visibleOptions && isNotEmpty(visibleOptions)) {
883
+ const selectedOptionIndex = this.findSelectedOptionIndex();
884
+ if (selectedOptionIndex !== -1 || modelValue === void 0 || typeof modelValue === "string" && modelValue.length === 0 || this.isModelValueNotSet() || this.editable()) this.selectedOption.set(visibleOptions[selectedOptionIndex]);
885
+ else {
886
+ const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));
887
+ if (disabledSelectedIndex !== -1) this.selectedOption.set(visibleOptions[disabledSelectedIndex]);
888
+ }
889
+ }
890
+ if (isEmpty(visibleOptions) && (modelValue === void 0 || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption())) this.selectedOption.set(null);
891
+ if (modelValue !== void 0 && this.editable()) this.updateEditableLabel();
892
+ });
893
+ effect(() => {
894
+ const filterVal = this.filterValue();
895
+ if (filterVal !== void 0) this._filterValue.set(filterVal);
896
+ });
897
+ effect(() => {
898
+ const opts = this.options();
899
+ if (!deepEquals(opts, this._options())) {
900
+ this._options.set(opts ?? null);
901
+ this.optionsChanged = true;
902
+ }
903
+ });
904
+ }
905
+ isModelValueNotSet() {
906
+ return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption());
907
+ }
908
+ getAllVisibleAndNonVisibleOptions() {
909
+ return this.group() ? this.flatOptions(this._options()) : this._options() || [];
910
+ }
911
+ virtualScrollerDisabled = computed(() => !this.virtualScroll(), ...ngDevMode ? [{ debugName: "virtualScrollerDisabled" }] : /* istanbul ignore next */ []);
912
+ getBuildInItemsContext(items, scrollerOptions) {
913
+ return {
914
+ $implicit: items,
915
+ options: scrollerOptions
916
+ };
917
+ }
918
+ getLoaderContext(scrollerOptions) {
919
+ return { options: scrollerOptions };
920
+ }
921
+ getItemSizeStyle(scrollerOptions) {
922
+ return { height: scrollerOptions.itemSize + "px" };
923
+ }
924
+ getGroupContext(optionGroup) {
925
+ return { $implicit: optionGroup };
926
+ }
927
+ onInit() {
928
+ this.autoUpdateModel();
929
+ if (this.filterBy()) this.filterOptions = this.createFilterOptions();
930
+ }
931
+ createFilterOptions() {
932
+ return {
933
+ filter: (value) => this.onFilterInputChange(value),
934
+ reset: () => this.resetFilter()
935
+ };
936
+ }
937
+ onAfterViewChecked() {
938
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
939
+ if (this.optionsChanged && this.overlayVisible()) {
940
+ this.optionsChanged = false;
941
+ setTimeout(() => {
942
+ if (this.overlayViewChild()) this.overlayViewChild()?.alignOverlay();
943
+ }, 1);
944
+ }
945
+ if (this.selectedOptionUpdated && this.itemsWrapper) {
946
+ if (!this.multiple()) {
947
+ let selectedItem = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, "li[data-p-selected=\"true\"]");
948
+ if (selectedItem) scrollInView(this.itemsWrapper, selectedItem);
949
+ }
950
+ this.selectedOptionUpdated = false;
951
+ }
952
+ }
953
+ flatOptions(options) {
954
+ return (options || []).reduce((result, option, index) => {
955
+ result.push({
956
+ optionGroup: option,
957
+ group: true,
958
+ index
959
+ });
960
+ const optionGroupChildren = this.getOptionGroupChildren(option);
961
+ if (optionGroupChildren) optionGroupChildren.forEach((o) => result.push(o));
962
+ return result;
963
+ }, []);
964
+ }
965
+ autoUpdateModel() {
966
+ if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {
967
+ this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());
968
+ this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);
969
+ }
970
+ }
971
+ onOptionSelect(event, option, isHide = true, preventChange = false) {
972
+ if (this.isOptionDisabled(option)) return;
973
+ if (this.multiple()) {
974
+ this.onOptionSelectMultiple(event, option, preventChange);
975
+ return;
976
+ }
977
+ if (!this.isSelected(option)) {
978
+ const value = this.getOptionValue(option);
979
+ this.updateModel(value, event);
980
+ this.focusedOptionIndex.set(this.findSelectedOptionIndex());
981
+ if (preventChange === false) this.onChange.emit({
982
+ originalEvent: event,
983
+ value
984
+ });
985
+ }
986
+ if (isHide) this.hide(true);
987
+ }
988
+ onOptionSelectMultiple(event, option, preventChange = false) {
989
+ const value = this.getOptionValue(option);
990
+ const currentValue = this.modelValue() ?? [];
991
+ const newValue = this.isSelected(option) ? currentValue.filter((v) => !equals(v, value, this.equalityKey())) : [...currentValue, value];
992
+ this.updateModel(newValue, event);
993
+ if (preventChange === false) this.onChange.emit({
994
+ originalEvent: event,
995
+ value: newValue
996
+ });
997
+ }
998
+ onOptionMouseEnter(event, index) {
999
+ if (this.focusOnHover()) this.changeFocusedOptionIndex(event, index);
1000
+ }
1001
+ updateModel(value, _event) {
1002
+ this.value = value;
1003
+ this.onModelChange(value);
1004
+ this.writeModelValue(value);
1005
+ this.selectedOptionUpdated = true;
1006
+ }
1007
+ allowModelChange() {
1008
+ return !!this.modelValue() && !this.placeholder() && (this.modelValue() === void 0 || this.modelValue() === null) && !this.editable() && this._options() && this._options().length;
1009
+ }
1010
+ isSelected(option) {
1011
+ if (this.multiple()) {
1012
+ const currentValue = this.modelValue();
1013
+ if (!Array.isArray(currentValue)) return false;
1014
+ const optionValue = this.getOptionValue(option);
1015
+ return currentValue.some((v) => equals(v, optionValue, this.equalityKey()));
1016
+ }
1017
+ return this.isOptionValueEqualsModelValue(option);
1018
+ }
1019
+ isOptionValueEqualsModelValue(option) {
1020
+ return option !== void 0 && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
1021
+ }
1022
+ onAfterViewInit() {
1023
+ if (!isPlatformBrowser(this.platformId)) return;
1024
+ if (this.editable()) this.updateEditableLabel();
1025
+ this.updatePlaceHolderForFloatingLabel();
1026
+ }
1027
+ updatePlaceHolderForFloatingLabel() {
1028
+ const parentElement = this.el.nativeElement.parentElement;
1029
+ const isInFloatingLabel = parentElement?.classList.contains("p-float-label");
1030
+ if (parentElement && isInFloatingLabel && !this.selectedOption()) {
1031
+ const label = parentElement.querySelector("label");
1032
+ if (label) this._placeholder.set(label.textContent);
1033
+ }
1034
+ }
1035
+ updateEditableLabel() {
1036
+ if (this.editableInputViewChild()) this.editableInputViewChild().nativeElement.value = this.getOptionLabel(this.selectedOption()) || this.modelValue() || "";
1037
+ }
1038
+ clearEditableLabel() {
1039
+ if (this.editableInputViewChild()) this.editableInputViewChild().nativeElement.value = "";
1040
+ }
1041
+ getOptionIndex(index, scrollerOptions) {
1042
+ return this.virtualScrollerDisabled() ? index : scrollerOptions && scrollerOptions.getItemOptions(index)["index"];
1043
+ }
1044
+ getOptionLabel(option) {
1045
+ return this.optionLabel() !== void 0 && this.optionLabel() !== null ? resolveFieldData(option, this.optionLabel()) : option && option.label !== void 0 ? option.label : option;
1046
+ }
1047
+ getOptionValue(option) {
1048
+ return this.optionValue() && this.optionValue() !== null ? resolveFieldData(option, this.optionValue()) : !this.optionLabel() && option && option.value !== void 0 ? option.value : option;
1049
+ }
1050
+ getPTItemOptions(option, itemOptions, index, key) {
1051
+ return this.ptm(key, { context: {
1052
+ option,
1053
+ index,
1054
+ selected: this.isSelected(option),
1055
+ focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1056
+ disabled: this.isOptionDisabled(option)
1057
+ } });
1058
+ }
1059
+ isSelectedOptionEmpty() {
1060
+ if (this.multiple()) {
1061
+ const currentValue = this.modelValue();
1062
+ return !Array.isArray(currentValue) || currentValue.length === 0;
1063
+ }
1064
+ return isEmpty(this.selectedOption());
1065
+ }
1066
+ isOptionDisabled(option) {
1067
+ return this.optionDisabled() ? resolveFieldData(option, this.optionDisabled()) : option && option.disabled !== void 0 ? option.disabled : false;
1068
+ }
1069
+ getOptionGroupLabel(optionGroup) {
1070
+ return this.optionGroupLabel() !== void 0 && this.optionGroupLabel() !== null ? resolveFieldData(optionGroup, this.optionGroupLabel()) : optionGroup && optionGroup.label !== void 0 ? optionGroup.label : optionGroup;
1071
+ }
1072
+ getOptionGroupChildren(optionGroup) {
1073
+ return this.optionGroupChildren() !== void 0 && this.optionGroupChildren() !== null ? resolveFieldData(optionGroup, this.optionGroupChildren()) : optionGroup.items;
1074
+ }
1075
+ getAriaPosInset(index) {
1076
+ return (this.optionGroupLabel() ? index - this.visibleOptions().slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;
1077
+ }
1078
+ resetFilter() {
1079
+ this._filterValue.set(null);
1080
+ if (this.filterViewChild() && this.filterViewChild().nativeElement) this.filterViewChild().nativeElement.value = "";
1081
+ }
1082
+ onContainerClick(event) {
1083
+ if (this.$disabled() || this.readonly() || this.loading()) return;
1084
+ if (event.target.tagName === "INPUT" || event.target.getAttribute("data-pc-section") === "clearicon" || event.target.closest("[data-pc-section=\"clearicon\"]")) return;
1085
+ else if (!this.overlayViewChild() || !this.overlayViewChild().el.nativeElement.contains(event.target)) {
1086
+ if (this.overlayVisible()) this.hide(true);
1087
+ else this.show(true);
1088
+ }
1089
+ this.focusInputViewChild()?.nativeElement.focus({ preventScroll: true });
1090
+ this.onClick.emit(event);
1091
+ this.clicked.set(true);
1092
+ }
1093
+ isEmpty() {
1094
+ return !this._options() || this.visibleOptions() && this.visibleOptions().length === 0;
1095
+ }
1096
+ onEditableInput(event) {
1097
+ const value = event.target.value;
1098
+ this.searchValue = "";
1099
+ if (!this.searchOptions(event, value)) this.focusedOptionIndex.set(-1);
1100
+ this.onModelChange(value);
1101
+ this.updateModel(value || null, event);
1102
+ setTimeout(() => {
1103
+ this.onChange.emit({
1104
+ originalEvent: event,
1105
+ value
1106
+ });
1107
+ }, 1);
1108
+ if (!this.overlayVisible() && isNotEmpty(value)) this.show();
1109
+ }
1110
+ show(isFocus) {
1111
+ this.overlayVisible.set(true);
1112
+ this.focusedOptionIndex.set(this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.editable() ? -1 : this.findSelectedOptionIndex());
1113
+ this.warnLargeListWithoutVirtualScroll();
1114
+ if (isFocus) focus(this.focusInputViewChild()?.nativeElement);
1115
+ }
1116
+ warnLargeListWithoutVirtualScroll() {
1117
+ if (!isDevMode() || this.largeListWarned || this.virtualScroll()) return;
1118
+ const count = this.visibleOptions().length;
1119
+ if (count > 1e3) {
1120
+ this.largeListWarned = true;
1121
+ console.warn(`[PrimeNG] Select is rendering ${count} options without virtualScroll, which scales DOM nodes and memory linearly with the option count. Enable [virtualScroll]="true" with [virtualScrollItemSize] to keep the panel lightweight.`);
1122
+ }
1123
+ }
1124
+ onOverlayBeforeEnter(event) {
1125
+ this.itemsWrapper = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? "[data-pc-name=\"virtualscroller\"]" : "[data-pc-section=\"listcontainer\"]");
1126
+ if (this.virtualScroll()) this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);
1127
+ if (this._options() && this._options().length) {
1128
+ if (this.virtualScroll()) {
1129
+ const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;
1130
+ if (selectedIndex !== -1) setTimeout(() => {
1131
+ this.scroller()?.scrollToIndex(selectedIndex);
1132
+ }, 10);
1133
+ } else {
1134
+ let selectedListItem = findSingle(this.itemsWrapper, "[data-p-selected=\"true\"]");
1135
+ if (selectedListItem) selectedListItem.scrollIntoView({
1136
+ block: "nearest",
1137
+ inline: "nearest"
1138
+ });
1139
+ }
1140
+ }
1141
+ if (this.filterViewChild() && this.filterViewChild().nativeElement) {
1142
+ this.preventModelTouched = true;
1143
+ if (this.autofocusFilter() && !this.editable()) this.filterViewChild().nativeElement.focus();
1144
+ }
1145
+ this.onShow.emit(event);
1146
+ }
1147
+ onOverlayAfterLeave(event) {
1148
+ this.itemsWrapper = null;
1149
+ this.onModelTouched();
1150
+ this.onHide.emit(event);
1151
+ }
1152
+ hide(isFocus) {
1153
+ this.overlayVisible.set(false);
1154
+ this.focusedOptionIndex.set(-1);
1155
+ this.clicked.set(false);
1156
+ this.searchValue = "";
1157
+ if (this.overlayOptions()?.mode === "modal") unblockBodyScroll();
1158
+ if (this.filter() && this.resetFilterOnHide()) this.resetFilter();
1159
+ if (isFocus) {
1160
+ if (this.focusInputViewChild()) focus(this.focusInputViewChild()?.nativeElement);
1161
+ if (this.editable() && this.editableInputViewChild()) focus(this.editableInputViewChild()?.nativeElement);
1162
+ }
1163
+ }
1164
+ onInputFocus(event) {
1165
+ if (this.$disabled()) return;
1166
+ this.focused.set(true);
1167
+ const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
1168
+ this.focusedOptionIndex.set(focusedOptionIndex);
1169
+ if (this.overlayVisible()) this.scrollInView(this.focusedOptionIndex());
1170
+ this.onFocus.emit(event);
1171
+ }
1172
+ onInputBlur(event) {
1173
+ this.focused.set(false);
1174
+ this.onBlur.emit(event);
1175
+ if (!this.preventModelTouched && !this.overlayVisible()) this.onModelTouched();
1176
+ this.preventModelTouched = false;
1177
+ }
1178
+ onKeyDown(event, search = false) {
1179
+ if (this.$disabled() || this.readonly() || this.loading()) return;
1180
+ switch (event.code) {
1181
+ case "ArrowDown":
1182
+ this.onArrowDownKey(event);
1183
+ break;
1184
+ case "ArrowUp":
1185
+ this.onArrowUpKey(event, this.editable());
1186
+ break;
1187
+ case "ArrowLeft":
1188
+ case "ArrowRight":
1189
+ this.onArrowLeftKey(event, this.editable());
1190
+ break;
1191
+ case "Delete":
1192
+ this.onDeleteKey(event);
1193
+ break;
1194
+ case "Home":
1195
+ this.onHomeKey(event, this.editable());
1196
+ break;
1197
+ case "End":
1198
+ this.onEndKey(event, this.editable());
1199
+ break;
1200
+ case "PageDown":
1201
+ this.onPageDownKey(event);
1202
+ break;
1203
+ case "PageUp":
1204
+ this.onPageUpKey(event);
1205
+ break;
1206
+ case "Space":
1207
+ this.onSpaceKey(event, search);
1208
+ break;
1209
+ case "Enter":
1210
+ case "NumpadEnter":
1211
+ this.onEnterKey(event);
1212
+ break;
1213
+ case "Escape":
1214
+ this.onEscapeKey(event);
1215
+ break;
1216
+ case "Tab":
1217
+ this.onTabKey(event);
1218
+ break;
1219
+ case "Backspace":
1220
+ this.onBackspaceKey(event, this.editable());
1221
+ break;
1222
+ case "ShiftLeft":
1223
+ case "ShiftRight": break;
1224
+ default: if (!event.metaKey && isPrintableCharacter(event.key)) {
1225
+ if (!this.overlayVisible()) this.show();
1226
+ if (!this.editable()) this.searchOptions(event, event.key);
1227
+ }
1228
+ }
1229
+ this.clicked.set(false);
1230
+ }
1231
+ onFilterKeyDown(event) {
1232
+ switch (event.code) {
1233
+ case "ArrowDown":
1234
+ this.onArrowDownKey(event);
1235
+ break;
1236
+ case "ArrowUp":
1237
+ this.onArrowUpKey(event, true);
1238
+ break;
1239
+ case "ArrowLeft":
1240
+ case "ArrowRight":
1241
+ this.onArrowLeftKey(event, true);
1242
+ break;
1243
+ case "Home":
1244
+ this.onHomeKey(event, true);
1245
+ break;
1246
+ case "End":
1247
+ this.onEndKey(event, true);
1248
+ break;
1249
+ case "Enter":
1250
+ case "NumpadEnter":
1251
+ this.onEnterKey(event, true);
1252
+ break;
1253
+ case "Escape":
1254
+ this.onEscapeKey(event);
1255
+ break;
1256
+ case "Tab": this.onTabKey(event, true);
1257
+ }
1258
+ }
1259
+ onFilterBlur(event) {
1260
+ this.focusedOptionIndex.set(-1);
1261
+ }
1262
+ onArrowDownKey(event) {
1263
+ if (!this.overlayVisible()) {
1264
+ this.show();
1265
+ if (this.editable()) this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());
1266
+ } else {
1267
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
1268
+ this.changeFocusedOptionIndex(event, optionIndex);
1269
+ }
1270
+ event.preventDefault();
1271
+ event.stopPropagation();
1272
+ }
1273
+ changeFocusedOptionIndex(event, index) {
1274
+ if (this.focusedOptionIndex() !== index) {
1275
+ this.focusedOptionIndex.set(index);
1276
+ this.scrollInView();
1277
+ if (this.selectOnFocus() && !this.multiple()) {
1278
+ const option = this.visibleOptions()[index];
1279
+ this.onOptionSelect(event, option, false);
1280
+ }
1281
+ }
1282
+ }
1283
+ scrollInView(index = -1) {
1284
+ const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId();
1285
+ if (this.itemsViewChild() && this.itemsViewChild().nativeElement) {
1286
+ const element = findSingle(this.itemsViewChild().nativeElement, `li[id="${id}"]`);
1287
+ if (element) {
1288
+ if (element.scrollIntoView) element.scrollIntoView({
1289
+ block: "nearest",
1290
+ inline: "nearest"
1291
+ });
1292
+ } else if (!this.virtualScrollerDisabled()) setTimeout(() => {
1293
+ if (this.virtualScroll()) this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
1294
+ }, 0);
1295
+ }
1296
+ }
1297
+ hasSelectedOption() {
1298
+ return this.modelValue() !== void 0;
1299
+ }
1300
+ isValidSelectedOption(option) {
1301
+ return this.isValidOption(option) && this.isSelected(option);
1302
+ }
1303
+ equalityKey() {
1304
+ return this.optionValue() ? void 0 : this.dataKey();
1305
+ }
1306
+ findFirstFocusedOptionIndex() {
1307
+ const selectedIndex = this.findSelectedOptionIndex();
1308
+ return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
1309
+ }
1310
+ findFirstOptionIndex() {
1311
+ return this.visibleOptions().findIndex((option) => this.isValidOption(option));
1312
+ }
1313
+ findSelectedOptionIndex() {
1314
+ return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
1315
+ }
1316
+ findNextOptionIndex(index) {
1317
+ const matchedOptionIndex = index < this.visibleOptions().length - 1 ? this.visibleOptions().slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;
1318
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
1319
+ }
1320
+ findPrevOptionIndex(index) {
1321
+ const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
1322
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1323
+ }
1324
+ findLastOptionIndex() {
1325
+ return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
1326
+ }
1327
+ findLastFocusedOptionIndex() {
1328
+ const selectedIndex = this.findSelectedOptionIndex();
1329
+ return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1330
+ }
1331
+ isValidOption(option) {
1332
+ return option !== void 0 && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1333
+ }
1334
+ isOptionGroup(option) {
1335
+ return this.optionGroupLabel() !== void 0 && this.optionGroupLabel() !== null && option.optionGroup !== void 0 && option.optionGroup !== null && option.group;
1336
+ }
1337
+ isOptionFocused(index, scrollerOptions) {
1338
+ return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);
1339
+ }
1340
+ trackOption(option, index) {
1341
+ if (this.isOptionGroup(option)) return `group_${option.index}`;
1342
+ const dataKey = this.dataKey();
1343
+ if (dataKey) return resolveFieldData(option, dataKey);
1344
+ return this.getOptionValue(option);
1345
+ }
1346
+ onArrowUpKey(event, pressedInInputText = false) {
1347
+ if (event.altKey && !pressedInInputText) {
1348
+ if (this.focusedOptionIndex() !== -1) {
1349
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1350
+ this.onOptionSelect(event, option);
1351
+ }
1352
+ if (!this.multiple() && this.overlayVisible()) this.hide();
1353
+ } else {
1354
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
1355
+ this.changeFocusedOptionIndex(event, optionIndex);
1356
+ if (!this.overlayVisible()) this.show();
1357
+ }
1358
+ event.preventDefault();
1359
+ event.stopPropagation();
1360
+ }
1361
+ onArrowLeftKey(event, pressedInInputText = false) {
1362
+ if (pressedInInputText) this.focusedOptionIndex.set(-1);
1363
+ }
1364
+ onDeleteKey(event) {
1365
+ if (this.showClear()) {
1366
+ this.clear(event);
1367
+ event.preventDefault();
1368
+ }
1369
+ }
1370
+ onHomeKey(event, pressedInInputText = false) {
1371
+ if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1372
+ const target = event.currentTarget;
1373
+ if (event.shiftKey) target.setSelectionRange(0, target.value.length);
1374
+ else {
1375
+ target.setSelectionRange(0, 0);
1376
+ this.focusedOptionIndex.set(-1);
1377
+ }
1378
+ } else {
1379
+ this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());
1380
+ if (!this.overlayVisible()) this.show();
1381
+ }
1382
+ event.preventDefault();
1383
+ }
1384
+ onEndKey(event, pressedInInputText = false) {
1385
+ if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1386
+ const target = event.currentTarget;
1387
+ if (event.shiftKey) target.setSelectionRange(0, target.value.length);
1388
+ else {
1389
+ const len = target.value.length;
1390
+ target.setSelectionRange(len, len);
1391
+ this.focusedOptionIndex.set(-1);
1392
+ }
1393
+ } else {
1394
+ this.changeFocusedOptionIndex(event, this.findLastOptionIndex());
1395
+ if (!this.overlayVisible()) this.show();
1396
+ }
1397
+ event.preventDefault();
1398
+ }
1399
+ onPageDownKey(event) {
1400
+ this.scrollInView(this.visibleOptions().length - 1);
1401
+ event.preventDefault();
1402
+ }
1403
+ onPageUpKey(event) {
1404
+ this.scrollInView(0);
1405
+ event.preventDefault();
1406
+ }
1407
+ onSpaceKey(event, pressedInInputText = false) {
1408
+ if (!this.editable() && !pressedInInputText) this.onEnterKey(event);
1409
+ }
1410
+ onEnterKey(event, pressedInInput = false) {
1411
+ if (!this.overlayVisible()) {
1412
+ this.focusedOptionIndex.set(-1);
1413
+ this.onArrowDownKey(event);
1414
+ } else {
1415
+ if (this.focusedOptionIndex() !== -1) {
1416
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1417
+ this.onOptionSelect(event, option);
1418
+ }
1419
+ if (!pressedInInput && !this.multiple()) this.hide();
1420
+ }
1421
+ event.preventDefault();
1422
+ }
1423
+ onEscapeKey(event) {
1424
+ if (this.overlayVisible()) {
1425
+ this.hide(true);
1426
+ event.preventDefault();
1427
+ event.stopPropagation();
1428
+ }
1429
+ }
1430
+ onTabKey(event, pressedInInputText = false) {
1431
+ if (!pressedInInputText) {
1432
+ if (this.overlayVisible() && this.hasFocusableElements()) {
1433
+ focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);
1434
+ event.preventDefault();
1435
+ event.stopPropagation();
1436
+ } else {
1437
+ const consumedByOverlay = this.overlayVisible();
1438
+ if (this.focusedOptionIndex() !== -1 && consumedByOverlay) {
1439
+ const option = this.visibleOptions()[this.focusedOptionIndex()];
1440
+ this.onOptionSelect(event, option);
1441
+ }
1442
+ if (this.overlayVisible()) this.hide(this.filter());
1443
+ if (consumedByOverlay) event.stopPropagation();
1444
+ }
1445
+ }
1446
+ }
1447
+ onFirstHiddenFocus(event) {
1448
+ const focusableEl = event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getFirstFocusableElement(this.overlayViewChild()?.el?.nativeElement, ":not([data-p-hidden-focusable=\"true\"])") : this.focusInputViewChild()?.nativeElement;
1449
+ focus(focusableEl);
1450
+ }
1451
+ onLastHiddenFocus(event) {
1452
+ const focusableEl = event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ":not([data-p-hidden-focusable=\"true\"])") : this.focusInputViewChild()?.nativeElement;
1453
+ focus(focusableEl);
1454
+ }
1455
+ hasFocusableElements() {
1456
+ return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ":not([data-p-hidden-focusable=\"true\"])").length > 0;
1457
+ }
1458
+ onBackspaceKey(event, pressedInInputText = false) {
1459
+ if (pressedInInputText) {
1460
+ if (!this.overlayVisible()) this.show();
1461
+ }
1462
+ }
1463
+ searchFields() {
1464
+ return this.filterBy()?.split(",") || this.filterFields() || [this.optionLabel()];
1465
+ }
1466
+ searchOptions(event, char) {
1467
+ this.searchValue = (this.searchValue || "") + char;
1468
+ let optionIndex = -1;
1469
+ let matched = false;
1470
+ optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));
1471
+ if (optionIndex !== -1) matched = true;
1472
+ if (optionIndex === -1 && this.focusedOptionIndex() === -1) optionIndex = this.findFirstFocusedOptionIndex();
1473
+ if (optionIndex !== -1) setTimeout(() => {
1474
+ this.changeFocusedOptionIndex(event, optionIndex);
1475
+ });
1476
+ if (this.searchTimeout) clearTimeout(this.searchTimeout);
1477
+ this.searchTimeout = setTimeout(() => {
1478
+ this.searchValue = "";
1479
+ this.searchTimeout = null;
1480
+ }, 500);
1481
+ return matched;
1482
+ }
1483
+ isOptionMatched(option) {
1484
+ return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));
1485
+ }
1486
+ onFilterInputChange(event) {
1487
+ let value = event.target.value;
1488
+ this._filterValue.set(value);
1489
+ this.focusedOptionIndex.set(-1);
1490
+ this.onFilter.emit({
1491
+ originalEvent: event,
1492
+ filter: this._filterValue()
1493
+ });
1494
+ if (!this.virtualScrollerDisabled()) this.scroller()?.scrollToIndex(0);
1495
+ setTimeout(() => {
1496
+ this.overlayViewChild()?.alignOverlay();
1497
+ });
1498
+ }
1499
+ applyFocus() {
1500
+ if (this.editable()) findSingle(this.el.nativeElement, "[data-pc-section=\"label\"]").focus();
1501
+ else focus(this.focusInputViewChild()?.nativeElement);
1502
+ }
1503
+ focus() {
1504
+ this.applyFocus();
1505
+ }
1506
+ clear(event) {
1507
+ if (this.$disabled() || this.readonly() || this.loading()) return;
1508
+ this.updateModel(this.multiple() ? [] : null, event);
1509
+ this.clearEditableLabel();
1510
+ this.onModelTouched();
1511
+ this.onChange.emit({
1512
+ originalEvent: event,
1513
+ value: this.value
1514
+ });
1515
+ this.onClear.emit(event);
1516
+ this.resetFilter();
1517
+ }
1518
+ writeControlValue(value, setModelValue) {
1519
+ if (this.filter()) this.resetFilter();
1520
+ this.value = value;
1521
+ if (this.allowModelChange()) this.onModelChange(value);
1522
+ setModelValue(this.value);
1523
+ this.updateEditableLabel();
1524
+ }
1525
+ static ɵfac = i0.ɵɵngDeclareFactory({
1526
+ minVersion: "12.0.0",
1527
+ version: "22.2.0",
1528
+ ngImport: i0,
1529
+ type: Select,
1530
+ deps: [],
1531
+ target: i0.ɵɵFactoryTarget.Component
1532
+ });
1533
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1534
+ minVersion: "17.0.0",
1535
+ version: "22.2.0",
1536
+ type: Select,
1537
+ isStandalone: true,
1538
+ selector: "p-select",
1539
+ inputs: {
1540
+ id: {
1541
+ classPropertyName: "id",
1542
+ publicName: "id",
1543
+ isSignal: true,
1544
+ isRequired: false,
1545
+ transformFunction: null
1546
+ },
1547
+ scrollHeight: {
1548
+ classPropertyName: "scrollHeight",
1549
+ publicName: "scrollHeight",
1550
+ isSignal: true,
1551
+ isRequired: false,
1552
+ transformFunction: null
1553
+ },
1554
+ filter: {
1555
+ classPropertyName: "filter",
1556
+ publicName: "filter",
1557
+ isSignal: true,
1558
+ isRequired: false,
1559
+ transformFunction: null
1560
+ },
1561
+ panelStyle: {
1562
+ classPropertyName: "panelStyle",
1563
+ publicName: "panelStyle",
1564
+ isSignal: true,
1565
+ isRequired: false,
1566
+ transformFunction: null
1567
+ },
1568
+ panelStyleClass: {
1569
+ classPropertyName: "panelStyleClass",
1570
+ publicName: "panelStyleClass",
1571
+ isSignal: true,
1572
+ isRequired: false,
1573
+ transformFunction: null
1574
+ },
1575
+ readonly: {
1576
+ classPropertyName: "readonly",
1577
+ publicName: "readonly",
1578
+ isSignal: true,
1579
+ isRequired: false,
1580
+ transformFunction: null
1581
+ },
1582
+ editable: {
1583
+ classPropertyName: "editable",
1584
+ publicName: "editable",
1585
+ isSignal: true,
1586
+ isRequired: false,
1587
+ transformFunction: null
1588
+ },
1589
+ tabindex: {
1590
+ classPropertyName: "tabindex",
1591
+ publicName: "tabindex",
1592
+ isSignal: true,
1593
+ isRequired: false,
1594
+ transformFunction: null
1595
+ },
1596
+ placeholder: {
1597
+ classPropertyName: "placeholder",
1598
+ publicName: "placeholder",
1599
+ isSignal: true,
1600
+ isRequired: false,
1601
+ transformFunction: null
1602
+ },
1603
+ loadingIcon: {
1604
+ classPropertyName: "loadingIcon",
1605
+ publicName: "loadingIcon",
1606
+ isSignal: true,
1607
+ isRequired: false,
1608
+ transformFunction: null
1609
+ },
1610
+ filterPlaceholder: {
1611
+ classPropertyName: "filterPlaceholder",
1612
+ publicName: "filterPlaceholder",
1613
+ isSignal: true,
1614
+ isRequired: false,
1615
+ transformFunction: null
1616
+ },
1617
+ filterLocale: {
1618
+ classPropertyName: "filterLocale",
1619
+ publicName: "filterLocale",
1620
+ isSignal: true,
1621
+ isRequired: false,
1622
+ transformFunction: null
1623
+ },
1624
+ inputId: {
1625
+ classPropertyName: "inputId",
1626
+ publicName: "inputId",
1627
+ isSignal: true,
1628
+ isRequired: false,
1629
+ transformFunction: null
1630
+ },
1631
+ dataKey: {
1632
+ classPropertyName: "dataKey",
1633
+ publicName: "dataKey",
1634
+ isSignal: true,
1635
+ isRequired: false,
1636
+ transformFunction: null
1637
+ },
1638
+ filterBy: {
1639
+ classPropertyName: "filterBy",
1640
+ publicName: "filterBy",
1641
+ isSignal: true,
1642
+ isRequired: false,
1643
+ transformFunction: null
1644
+ },
1645
+ filterFields: {
1646
+ classPropertyName: "filterFields",
1647
+ publicName: "filterFields",
1648
+ isSignal: true,
1649
+ isRequired: false,
1650
+ transformFunction: null
1651
+ },
1652
+ autofocus: {
1653
+ classPropertyName: "autofocus",
1654
+ publicName: "autofocus",
1655
+ isSignal: true,
1656
+ isRequired: false,
1657
+ transformFunction: null
1658
+ },
1659
+ resetFilterOnHide: {
1660
+ classPropertyName: "resetFilterOnHide",
1661
+ publicName: "resetFilterOnHide",
1662
+ isSignal: true,
1663
+ isRequired: false,
1664
+ transformFunction: null
1665
+ },
1666
+ checkmark: {
1667
+ classPropertyName: "checkmark",
1668
+ publicName: "checkmark",
1669
+ isSignal: true,
1670
+ isRequired: false,
1671
+ transformFunction: null
1672
+ },
1673
+ dropdownIcon: {
1674
+ classPropertyName: "dropdownIcon",
1675
+ publicName: "dropdownIcon",
1676
+ isSignal: true,
1677
+ isRequired: false,
1678
+ transformFunction: null
1679
+ },
1680
+ loading: {
1681
+ classPropertyName: "loading",
1682
+ publicName: "loading",
1683
+ isSignal: true,
1684
+ isRequired: false,
1685
+ transformFunction: null
1686
+ },
1687
+ optionLabel: {
1688
+ classPropertyName: "optionLabel",
1689
+ publicName: "optionLabel",
1690
+ isSignal: true,
1691
+ isRequired: false,
1692
+ transformFunction: null
1693
+ },
1694
+ optionValue: {
1695
+ classPropertyName: "optionValue",
1696
+ publicName: "optionValue",
1697
+ isSignal: true,
1698
+ isRequired: false,
1699
+ transformFunction: null
1700
+ },
1701
+ optionDisabled: {
1702
+ classPropertyName: "optionDisabled",
1703
+ publicName: "optionDisabled",
1704
+ isSignal: true,
1705
+ isRequired: false,
1706
+ transformFunction: null
1707
+ },
1708
+ optionGroupLabel: {
1709
+ classPropertyName: "optionGroupLabel",
1710
+ publicName: "optionGroupLabel",
1711
+ isSignal: true,
1712
+ isRequired: false,
1713
+ transformFunction: null
1714
+ },
1715
+ optionGroupChildren: {
1716
+ classPropertyName: "optionGroupChildren",
1717
+ publicName: "optionGroupChildren",
1718
+ isSignal: true,
1719
+ isRequired: false,
1720
+ transformFunction: null
1721
+ },
1722
+ group: {
1723
+ classPropertyName: "group",
1724
+ publicName: "group",
1725
+ isSignal: true,
1726
+ isRequired: false,
1727
+ transformFunction: null
1728
+ },
1729
+ showClear: {
1730
+ classPropertyName: "showClear",
1731
+ publicName: "showClear",
1732
+ isSignal: true,
1733
+ isRequired: false,
1734
+ transformFunction: null
1735
+ },
1736
+ emptyFilterMessage: {
1737
+ classPropertyName: "emptyFilterMessage",
1738
+ publicName: "emptyFilterMessage",
1739
+ isSignal: true,
1740
+ isRequired: false,
1741
+ transformFunction: null
1742
+ },
1743
+ emptyMessage: {
1744
+ classPropertyName: "emptyMessage",
1745
+ publicName: "emptyMessage",
1746
+ isSignal: true,
1747
+ isRequired: false,
1748
+ transformFunction: null
1749
+ },
1750
+ lazy: {
1751
+ classPropertyName: "lazy",
1752
+ publicName: "lazy",
1753
+ isSignal: true,
1754
+ isRequired: false,
1755
+ transformFunction: null
1756
+ },
1757
+ virtualScroll: {
1758
+ classPropertyName: "virtualScroll",
1759
+ publicName: "virtualScroll",
1760
+ isSignal: true,
1761
+ isRequired: false,
1762
+ transformFunction: null
1763
+ },
1764
+ virtualScrollItemSize: {
1765
+ classPropertyName: "virtualScrollItemSize",
1766
+ publicName: "virtualScrollItemSize",
1767
+ isSignal: true,
1768
+ isRequired: false,
1769
+ transformFunction: null
1770
+ },
1771
+ virtualScrollOptions: {
1772
+ classPropertyName: "virtualScrollOptions",
1773
+ publicName: "virtualScrollOptions",
1774
+ isSignal: true,
1775
+ isRequired: false,
1776
+ transformFunction: null
1777
+ },
1778
+ overlayOptions: {
1779
+ classPropertyName: "overlayOptions",
1780
+ publicName: "overlayOptions",
1781
+ isSignal: true,
1782
+ isRequired: false,
1783
+ transformFunction: null
1784
+ },
1785
+ ariaFilterLabel: {
1786
+ classPropertyName: "ariaFilterLabel",
1787
+ publicName: "ariaFilterLabel",
1788
+ isSignal: true,
1789
+ isRequired: false,
1790
+ transformFunction: null
1791
+ },
1792
+ ariaLabel: {
1793
+ classPropertyName: "ariaLabel",
1794
+ publicName: "ariaLabel",
1795
+ isSignal: true,
1796
+ isRequired: false,
1797
+ transformFunction: null
1798
+ },
1799
+ ariaLabelledBy: {
1800
+ classPropertyName: "ariaLabelledBy",
1801
+ publicName: "ariaLabelledBy",
1802
+ isSignal: true,
1803
+ isRequired: false,
1804
+ transformFunction: null
1805
+ },
1806
+ filterMatchMode: {
1807
+ classPropertyName: "filterMatchMode",
1808
+ publicName: "filterMatchMode",
1809
+ isSignal: true,
1810
+ isRequired: false,
1811
+ transformFunction: null
1812
+ },
1813
+ tooltip: {
1814
+ classPropertyName: "tooltip",
1815
+ publicName: "tooltip",
1816
+ isSignal: true,
1817
+ isRequired: false,
1818
+ transformFunction: null
1819
+ },
1820
+ tooltipPosition: {
1821
+ classPropertyName: "tooltipPosition",
1822
+ publicName: "tooltipPosition",
1823
+ isSignal: true,
1824
+ isRequired: false,
1825
+ transformFunction: null
1826
+ },
1827
+ tooltipPositionStyle: {
1828
+ classPropertyName: "tooltipPositionStyle",
1829
+ publicName: "tooltipPositionStyle",
1830
+ isSignal: true,
1831
+ isRequired: false,
1832
+ transformFunction: null
1833
+ },
1834
+ tooltipStyleClass: {
1835
+ classPropertyName: "tooltipStyleClass",
1836
+ publicName: "tooltipStyleClass",
1837
+ isSignal: true,
1838
+ isRequired: false,
1839
+ transformFunction: null
1840
+ },
1841
+ focusOnHover: {
1842
+ classPropertyName: "focusOnHover",
1843
+ publicName: "focusOnHover",
1844
+ isSignal: true,
1845
+ isRequired: false,
1846
+ transformFunction: null
1847
+ },
1848
+ selectOnFocus: {
1849
+ classPropertyName: "selectOnFocus",
1850
+ publicName: "selectOnFocus",
1851
+ isSignal: true,
1852
+ isRequired: false,
1853
+ transformFunction: null
1854
+ },
1855
+ multiple: {
1856
+ classPropertyName: "multiple",
1857
+ publicName: "multiple",
1858
+ isSignal: true,
1859
+ isRequired: false,
1860
+ transformFunction: null
1861
+ },
1862
+ autoOptionFocus: {
1863
+ classPropertyName: "autoOptionFocus",
1864
+ publicName: "autoOptionFocus",
1865
+ isSignal: true,
1866
+ isRequired: false,
1867
+ transformFunction: null
1868
+ },
1869
+ autofocusFilter: {
1870
+ classPropertyName: "autofocusFilter",
1871
+ publicName: "autofocusFilter",
1872
+ isSignal: true,
1873
+ isRequired: false,
1874
+ transformFunction: null
1875
+ },
1876
+ filterValue: {
1877
+ classPropertyName: "filterValue",
1878
+ publicName: "filterValue",
1879
+ isSignal: true,
1880
+ isRequired: false,
1881
+ transformFunction: null
1882
+ },
1883
+ options: {
1884
+ classPropertyName: "options",
1885
+ publicName: "options",
1886
+ isSignal: true,
1887
+ isRequired: false,
1888
+ transformFunction: null
1889
+ },
1890
+ appendTo: {
1891
+ classPropertyName: "appendTo",
1892
+ publicName: "appendTo",
1893
+ isSignal: true,
1894
+ isRequired: false,
1895
+ transformFunction: null
1896
+ },
1897
+ motionOptions: {
1898
+ classPropertyName: "motionOptions",
1899
+ publicName: "motionOptions",
1900
+ isSignal: true,
1901
+ isRequired: false,
1902
+ transformFunction: null
1903
+ }
1904
+ },
1905
+ outputs: {
1906
+ onChange: "onChange",
1907
+ onFilter: "onFilter",
1908
+ onFocus: "onFocus",
1909
+ onBlur: "onBlur",
1910
+ onClick: "onClick",
1911
+ onShow: "onShow",
1912
+ onHide: "onHide",
1913
+ onClear: "onClear",
1914
+ onLazyLoad: "onLazyLoad"
1915
+ },
1916
+ host: {
1917
+ listeners: { "click": "onContainerClick($event)" },
1918
+ properties: {
1919
+ "class": "cx('root')",
1920
+ "attr.id": "$id()",
1921
+ "attr.data-p": "containerDataP()"
1922
+ }
1923
+ },
1924
+ providers: [
1925
+ SELECT_VALUE_ACCESSOR,
1926
+ SelectStyle,
1927
+ {
1928
+ provide: SELECT_INSTANCE,
1929
+ useExisting: Select
1930
+ },
1931
+ {
1932
+ provide: PARENT_INSTANCE,
1933
+ useExisting: Select
1934
+ }
1935
+ ],
1936
+ queries: [
1937
+ {
1938
+ propertyName: "itemTemplate",
1939
+ first: true,
1940
+ predicate: ["item"],
1941
+ isSignal: true
1942
+ },
1943
+ {
1944
+ propertyName: "groupTemplate",
1945
+ first: true,
1946
+ predicate: ["group"],
1947
+ isSignal: true
1948
+ },
1949
+ {
1950
+ propertyName: "loaderTemplate",
1951
+ first: true,
1952
+ predicate: ["loader"],
1953
+ isSignal: true
1954
+ },
1955
+ {
1956
+ propertyName: "selectedItemTemplate",
1957
+ first: true,
1958
+ predicate: ["selectedItem"],
1959
+ isSignal: true
1960
+ },
1961
+ {
1962
+ propertyName: "headerTemplate",
1963
+ first: true,
1964
+ predicate: ["header"],
1965
+ isSignal: true
1966
+ },
1967
+ {
1968
+ propertyName: "filterTemplate",
1969
+ first: true,
1970
+ predicate: ["filter"],
1971
+ isSignal: true
1972
+ },
1973
+ {
1974
+ propertyName: "footerTemplate",
1975
+ first: true,
1976
+ predicate: ["footer"],
1977
+ isSignal: true
1978
+ },
1979
+ {
1980
+ propertyName: "emptyFilterTemplate",
1981
+ first: true,
1982
+ predicate: ["emptyfilter"],
1983
+ isSignal: true
1984
+ },
1985
+ {
1986
+ propertyName: "emptyTemplate",
1987
+ first: true,
1988
+ predicate: ["empty"],
1989
+ isSignal: true
1990
+ },
1991
+ {
1992
+ propertyName: "dropdownIconTemplate",
1993
+ first: true,
1994
+ predicate: ["dropdownicon"],
1995
+ isSignal: true
1996
+ },
1997
+ {
1998
+ propertyName: "loadingIconTemplate",
1999
+ first: true,
2000
+ predicate: ["loadingicon"],
2001
+ isSignal: true
2002
+ },
2003
+ {
2004
+ propertyName: "clearIconTemplate",
2005
+ first: true,
2006
+ predicate: ["clearicon"],
2007
+ isSignal: true
2008
+ },
2009
+ {
2010
+ propertyName: "filterIconTemplate",
2011
+ first: true,
2012
+ predicate: ["filtericon"],
2013
+ isSignal: true
2014
+ },
2015
+ {
2016
+ propertyName: "onIconTemplate",
2017
+ first: true,
2018
+ predicate: ["onicon"],
2019
+ isSignal: true
2020
+ },
2021
+ {
2022
+ propertyName: "offIconTemplate",
2023
+ first: true,
2024
+ predicate: ["officon"],
2025
+ isSignal: true
2026
+ },
2027
+ {
2028
+ propertyName: "cancelIconTemplate",
2029
+ first: true,
2030
+ predicate: ["cancelicon"],
2031
+ isSignal: true
2032
+ }
2033
+ ],
2034
+ viewQueries: [
2035
+ {
2036
+ propertyName: "filterViewChild",
2037
+ first: true,
2038
+ predicate: ["filter"],
2039
+ descendants: true,
2040
+ isSignal: true
2041
+ },
2042
+ {
2043
+ propertyName: "focusInputViewChild",
2044
+ first: true,
2045
+ predicate: ["focusInput"],
2046
+ descendants: true,
2047
+ isSignal: true
2048
+ },
2049
+ {
2050
+ propertyName: "editableInputViewChild",
2051
+ first: true,
2052
+ predicate: ["editableInput"],
2053
+ descendants: true,
2054
+ isSignal: true
2055
+ },
2056
+ {
2057
+ propertyName: "itemsViewChild",
2058
+ first: true,
2059
+ predicate: ["items"],
2060
+ descendants: true,
2061
+ isSignal: true
2062
+ },
2063
+ {
2064
+ propertyName: "scroller",
2065
+ first: true,
2066
+ predicate: ["scroller"],
2067
+ descendants: true,
2068
+ isSignal: true
2069
+ },
2070
+ {
2071
+ propertyName: "overlayViewChild",
2072
+ first: true,
2073
+ predicate: ["overlay"],
2074
+ descendants: true,
2075
+ isSignal: true
2076
+ },
2077
+ {
2078
+ propertyName: "firstHiddenFocusableElementOnOverlay",
2079
+ first: true,
2080
+ predicate: ["firstHiddenFocusableEl"],
2081
+ descendants: true,
2082
+ isSignal: true
2083
+ },
2084
+ {
2085
+ propertyName: "lastHiddenFocusableElementOnOverlay",
2086
+ first: true,
2087
+ predicate: ["lastHiddenFocusableEl"],
2088
+ descendants: true,
2089
+ isSignal: true
2090
+ }
2091
+ ],
2092
+ usesInheritance: true,
2093
+ hostDirectives: [{ directive: i1.Bind }],
2094
+ ngImport: i0,
2095
+ template: `
1774
2096
  @if (!editable()) {
1775
2097
  <span
1776
2098
  #focusInput
@@ -1799,7 +2121,7 @@ class Select extends BaseInput {
1799
2121
  [attr.aria-required]="required()"
1800
2122
  [attr.required]="$required()"
1801
2123
  [attr.disabled]="$disabledAttr()"
1802
- [attr.data-p]="labelDataP"
2124
+ [attr.data-p]="labelDataP()"
1803
2125
  >
1804
2126
  @if (!selectedItemTemplate()) {
1805
2127
  {{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}
@@ -1807,7 +2129,7 @@ class Select extends BaseInput {
1807
2129
  @if (isSelectedOptionEmpty()) {
1808
2130
  <span>{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>
1809
2131
  } @else {
1810
- <ng-container *ngTemplateOutlet="selectedItemTemplate(); context: selectedItemContext"></ng-container>
2132
+ <ng-container *ngTemplateOutlet="selectedItemTemplate(); context: selectedItemContext()"></ng-container>
1811
2133
  }
1812
2134
  }
1813
2135
  </span>
@@ -1837,7 +2159,7 @@ class Select extends BaseInput {
1837
2159
  [attr.required]="$required()"
1838
2160
  [attr.readonly]="$readonly()"
1839
2161
  [attr.disabled]="$disabledAttr()"
1840
- [attr.data-p]="labelDataP"
2162
+ [attr.data-p]="labelDataP()"
1841
2163
  />
1842
2164
  }
1843
2165
  @if (isVisibleClearIcon()) {
@@ -1845,7 +2167,7 @@ class Select extends BaseInput {
1845
2167
  <svg data-p-icon="times" [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" />
1846
2168
  } @else {
1847
2169
  <span [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'">
1848
- <ng-template *ngTemplateOutlet="clearIconTemplate(); context: clearIconContext"></ng-template>
2170
+ <ng-template *ngTemplateOutlet="clearIconTemplate(); context: clearIconContext()"></ng-template>
1849
2171
  </span>
1850
2172
  }
1851
2173
  }
@@ -1870,7 +2192,7 @@ class Select extends BaseInput {
1870
2192
  }
1871
2193
  } @else {
1872
2194
  <span [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')">
1873
- <ng-template *ngTemplateOutlet="dropdownIconTemplate(); context: dropdownIconContext"></ng-template>
2195
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate(); context: dropdownIconContext()"></ng-template>
1874
2196
  </span>
1875
2197
  }
1876
2198
  }
@@ -1892,7 +2214,7 @@ class Select extends BaseInput {
1892
2214
  (onHide)="hide()"
1893
2215
  >
1894
2216
  <ng-template #content>
1895
- <div [class]="cn(cx('overlay'), panelStyleClass())" [style]="panelStyle()" [pBind]="ptm('overlay')" [attr.data-p]="overlayDataP">
2217
+ <div [class]="cn(cx('overlay'), panelStyleClass())" [style]="panelStyle()" [pBind]="ptm('overlay')" [attr.data-p]="overlayDataP()">
1896
2218
  <span
1897
2219
  #firstHiddenFocusableEl
1898
2220
  role="presentation"
@@ -1908,7 +2230,7 @@ class Select extends BaseInput {
1908
2230
  @if (filter()) {
1909
2231
  <div [class]="cx('header')" (click)="$event.stopPropagation()" [pBind]="ptm('header')">
1910
2232
  @if (filterTemplate()) {
1911
- <ng-container *ngTemplateOutlet="filterTemplate(); context: filterTemplateContext"></ng-container>
2233
+ <ng-container *ngTemplateOutlet="filterTemplate(); context: filterTemplateContext()"></ng-container>
1912
2234
  } @else {
1913
2235
  <p-iconfield [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
1914
2236
  <input
@@ -1968,11 +2290,11 @@ class Select extends BaseInput {
1968
2290
  }
1969
2291
  </p-scroller>
1970
2292
  } @else {
1971
- <ng-container *ngTemplateOutlet="buildInItems; context: defaultBuildInItemsContext"></ng-container>
2293
+ <ng-container *ngTemplateOutlet="buildInItems; context: defaultBuildInItemsContext()"></ng-container>
1972
2294
  }
1973
2295
 
1974
2296
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1975
- <ul #items [attr.id]="$id() + '_list'" [attr.aria-label]="listLabel" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [pBind]="ptm('list')">
2297
+ <ul #items [attr.id]="$id() + '_list'" [attr.aria-label]="listLabel()" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [pBind]="ptm('list')">
1976
2298
  @for (option of items; track trackOption(option, i); let i = $index) {
1977
2299
  @if (isOptionGroup(option)) {
1978
2300
  <li [class]="cx('optionGroup')" [attr.id]="$id() + '_' + getOptionIndex(i, scrollerOptions)" [style]="getItemSizeStyle(scrollerOptions)" role="option" [pBind]="ptm('optionGroup')">
@@ -1992,7 +2314,7 @@ class Select extends BaseInput {
1992
2314
  [template]="itemTemplate()"
1993
2315
  [focused]="isOptionFocused(i, scrollerOptions)"
1994
2316
  [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
1995
- [ariaSetSize]="ariaSetSize"
2317
+ [ariaSetSize]="ariaSetSize()"
1996
2318
  [index]="i"
1997
2319
  [unstyled]="unstyled()"
1998
2320
  [scrollerOptions]="scrollerOptions"
@@ -2036,15 +2358,239 @@ class Select extends BaseInput {
2036
2358
  </div>
2037
2359
  </ng-template>
2038
2360
  </p-overlay>
2039
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SelectItem, selector: "p-select-item", inputs: ["id", "option", "selected", "focused", "label", "disabled", "visible", "itemSize", "ariaPosInset", "ariaSetSize", "template", "checkmark", "index", "scrollerOptions"], outputs: ["onClick", "onMouseEnter"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["hostName", "visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "listener", "responsive", "options", "appendTo", "inline", "motionOptions", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "pTooltipPT", "pTooltipUnstyled"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: Times, selector: "svg[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDown, selector: "svg[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: Search, selector: "svg[data-p-icon=\"search\"]" }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: IconField, selector: "p-iconfield, p-icon-field", inputs: ["hostName", "iconPosition"] }, { kind: "component", type: InputIcon, selector: "p-inputicon", inputs: ["hostName"] }, { 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: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2040
- }
2041
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Select, decorators: [{
2042
- type: Component,
2043
- args: [{
2044
- selector: 'p-select',
2045
- standalone: true,
2046
- imports: [NgTemplateOutlet, SelectItem, Overlay, Tooltip, AutoFocus, Times, ChevronDown, Search, InputText, IconField, InputIcon, Scroller, SharedModule, BindModule],
2047
- template: `
2361
+ `,
2362
+ isInline: true,
2363
+ dependencies: [
2364
+ {
2365
+ kind: "directive",
2366
+ type: NgTemplateOutlet,
2367
+ selector: "[ngTemplateOutlet]",
2368
+ inputs: [
2369
+ "ngTemplateOutletContext",
2370
+ "ngTemplateOutlet",
2371
+ "ngTemplateOutletInjector"
2372
+ ]
2373
+ },
2374
+ {
2375
+ kind: "component",
2376
+ type: SelectItem,
2377
+ selector: "p-select-item",
2378
+ inputs: [
2379
+ "id",
2380
+ "option",
2381
+ "selected",
2382
+ "focused",
2383
+ "label",
2384
+ "disabled",
2385
+ "visible",
2386
+ "itemSize",
2387
+ "ariaPosInset",
2388
+ "ariaSetSize",
2389
+ "template",
2390
+ "checkmark",
2391
+ "index",
2392
+ "scrollerOptions"
2393
+ ],
2394
+ outputs: ["onClick", "onMouseEnter"]
2395
+ },
2396
+ {
2397
+ kind: "component",
2398
+ type: Overlay,
2399
+ selector: "p-overlay",
2400
+ inputs: [
2401
+ "hostName",
2402
+ "visible",
2403
+ "mode",
2404
+ "style",
2405
+ "styleClass",
2406
+ "contentStyle",
2407
+ "contentStyleClass",
2408
+ "target",
2409
+ "autoZIndex",
2410
+ "baseZIndex",
2411
+ "listener",
2412
+ "responsive",
2413
+ "options",
2414
+ "appendTo",
2415
+ "inline",
2416
+ "motionOptions",
2417
+ "hostAttrSelector"
2418
+ ],
2419
+ outputs: [
2420
+ "visibleChange",
2421
+ "onBeforeShow",
2422
+ "onShow",
2423
+ "onBeforeHide",
2424
+ "onHide",
2425
+ "onAnimationStart",
2426
+ "onAnimationDone",
2427
+ "onBeforeEnter",
2428
+ "onEnter",
2429
+ "onAfterEnter",
2430
+ "onBeforeLeave",
2431
+ "onLeave",
2432
+ "onAfterLeave"
2433
+ ]
2434
+ },
2435
+ {
2436
+ kind: "directive",
2437
+ type: Tooltip,
2438
+ selector: "[pTooltip]",
2439
+ inputs: [
2440
+ "tooltipPosition",
2441
+ "tooltipEvent",
2442
+ "positionStyle",
2443
+ "tooltipStyleClass",
2444
+ "tooltipZIndex",
2445
+ "escape",
2446
+ "showDelay",
2447
+ "hideDelay",
2448
+ "life",
2449
+ "positionTop",
2450
+ "positionLeft",
2451
+ "autoHide",
2452
+ "fitContent",
2453
+ "hideOnEscape",
2454
+ "showOnEllipsis",
2455
+ "pTooltip",
2456
+ "tooltipDisabled",
2457
+ "tooltipOptions",
2458
+ "appendTo",
2459
+ "pTooltipPT",
2460
+ "pTooltipUnstyled"
2461
+ ]
2462
+ },
2463
+ {
2464
+ kind: "directive",
2465
+ type: AutoFocus,
2466
+ selector: "[pAutoFocus]",
2467
+ inputs: ["pAutoFocus"]
2468
+ },
2469
+ {
2470
+ kind: "component",
2471
+ type: Times,
2472
+ selector: "svg[data-p-icon=\"times\"]"
2473
+ },
2474
+ {
2475
+ kind: "component",
2476
+ type: ChevronDown,
2477
+ selector: "svg[data-p-icon=\"chevron-down\"]"
2478
+ },
2479
+ {
2480
+ kind: "component",
2481
+ type: Search,
2482
+ selector: "svg[data-p-icon=\"search\"]"
2483
+ },
2484
+ {
2485
+ kind: "directive",
2486
+ type: InputText,
2487
+ selector: "[pInputText]",
2488
+ inputs: [
2489
+ "hostName",
2490
+ "pInputTextPT",
2491
+ "pInputTextUnstyled",
2492
+ "pSize",
2493
+ "variant",
2494
+ "fluid",
2495
+ "invalid"
2496
+ ]
2497
+ },
2498
+ {
2499
+ kind: "component",
2500
+ type: IconField,
2501
+ selector: "p-iconfield, p-icon-field",
2502
+ inputs: ["hostName", "iconPosition"]
2503
+ },
2504
+ {
2505
+ kind: "component",
2506
+ type: InputIcon,
2507
+ selector: "p-inputicon",
2508
+ inputs: ["hostName"]
2509
+ },
2510
+ {
2511
+ kind: "component",
2512
+ type: Scroller,
2513
+ selector: "p-scroller, p-virtualscroller, p-virtual-scroller",
2514
+ inputs: [
2515
+ "hostName",
2516
+ "id",
2517
+ "style",
2518
+ "styleClass",
2519
+ "tabindex",
2520
+ "items",
2521
+ "itemSize",
2522
+ "scrollHeight",
2523
+ "scrollWidth",
2524
+ "orientation",
2525
+ "step",
2526
+ "delay",
2527
+ "resizeDelay",
2528
+ "appendOnly",
2529
+ "inline",
2530
+ "lazy",
2531
+ "disabled",
2532
+ "loaderDisabled",
2533
+ "columns",
2534
+ "showSpacer",
2535
+ "showLoader",
2536
+ "numToleratedItems",
2537
+ "loading",
2538
+ "autoSize",
2539
+ "trackBy",
2540
+ "options"
2541
+ ],
2542
+ outputs: [
2543
+ "onLazyLoad",
2544
+ "onScroll",
2545
+ "onScrollIndexChange"
2546
+ ]
2547
+ },
2548
+ {
2549
+ kind: "ngmodule",
2550
+ type: SharedModule
2551
+ },
2552
+ {
2553
+ kind: "ngmodule",
2554
+ type: BindModule
2555
+ },
2556
+ {
2557
+ kind: "directive",
2558
+ type: i1.Bind,
2559
+ selector: "[pBind]",
2560
+ inputs: ["pBind"]
2561
+ }
2562
+ ],
2563
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2564
+ encapsulation: i0.ViewEncapsulation.None
2565
+ });
2566
+ };
2567
+ i0.ɵɵngDeclareClassMetadata({
2568
+ minVersion: "12.0.0",
2569
+ version: "22.2.0",
2570
+ ngImport: i0,
2571
+ type: Select,
2572
+ decorators: [{
2573
+ type: Component,
2574
+ args: [{
2575
+ selector: "p-select",
2576
+ standalone: true,
2577
+ imports: [
2578
+ NgTemplateOutlet,
2579
+ SelectItem,
2580
+ Overlay,
2581
+ Tooltip,
2582
+ AutoFocus,
2583
+ Times,
2584
+ ChevronDown,
2585
+ Search,
2586
+ InputText,
2587
+ IconField,
2588
+ InputIcon,
2589
+ Scroller,
2590
+ SharedModule,
2591
+ BindModule
2592
+ ],
2593
+ template: `
2048
2594
  @if (!editable()) {
2049
2595
  <span
2050
2596
  #focusInput
@@ -2073,7 +2619,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2073
2619
  [attr.aria-required]="required()"
2074
2620
  [attr.required]="$required()"
2075
2621
  [attr.disabled]="$disabledAttr()"
2076
- [attr.data-p]="labelDataP"
2622
+ [attr.data-p]="labelDataP()"
2077
2623
  >
2078
2624
  @if (!selectedItemTemplate()) {
2079
2625
  {{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}
@@ -2081,7 +2627,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2081
2627
  @if (isSelectedOptionEmpty()) {
2082
2628
  <span>{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>
2083
2629
  } @else {
2084
- <ng-container *ngTemplateOutlet="selectedItemTemplate(); context: selectedItemContext"></ng-container>
2630
+ <ng-container *ngTemplateOutlet="selectedItemTemplate(); context: selectedItemContext()"></ng-container>
2085
2631
  }
2086
2632
  }
2087
2633
  </span>
@@ -2111,7 +2657,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2111
2657
  [attr.required]="$required()"
2112
2658
  [attr.readonly]="$readonly()"
2113
2659
  [attr.disabled]="$disabledAttr()"
2114
- [attr.data-p]="labelDataP"
2660
+ [attr.data-p]="labelDataP()"
2115
2661
  />
2116
2662
  }
2117
2663
  @if (isVisibleClearIcon()) {
@@ -2119,7 +2665,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2119
2665
  <svg data-p-icon="times" [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" />
2120
2666
  } @else {
2121
2667
  <span [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'">
2122
- <ng-template *ngTemplateOutlet="clearIconTemplate(); context: clearIconContext"></ng-template>
2668
+ <ng-template *ngTemplateOutlet="clearIconTemplate(); context: clearIconContext()"></ng-template>
2123
2669
  </span>
2124
2670
  }
2125
2671
  }
@@ -2144,7 +2690,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2144
2690
  }
2145
2691
  } @else {
2146
2692
  <span [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')">
2147
- <ng-template *ngTemplateOutlet="dropdownIconTemplate(); context: dropdownIconContext"></ng-template>
2693
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate(); context: dropdownIconContext()"></ng-template>
2148
2694
  </span>
2149
2695
  }
2150
2696
  }
@@ -2166,7 +2712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2166
2712
  (onHide)="hide()"
2167
2713
  >
2168
2714
  <ng-template #content>
2169
- <div [class]="cn(cx('overlay'), panelStyleClass())" [style]="panelStyle()" [pBind]="ptm('overlay')" [attr.data-p]="overlayDataP">
2715
+ <div [class]="cn(cx('overlay'), panelStyleClass())" [style]="panelStyle()" [pBind]="ptm('overlay')" [attr.data-p]="overlayDataP()">
2170
2716
  <span
2171
2717
  #firstHiddenFocusableEl
2172
2718
  role="presentation"
@@ -2182,7 +2728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2182
2728
  @if (filter()) {
2183
2729
  <div [class]="cx('header')" (click)="$event.stopPropagation()" [pBind]="ptm('header')">
2184
2730
  @if (filterTemplate()) {
2185
- <ng-container *ngTemplateOutlet="filterTemplate(); context: filterTemplateContext"></ng-container>
2731
+ <ng-container *ngTemplateOutlet="filterTemplate(); context: filterTemplateContext()"></ng-container>
2186
2732
  } @else {
2187
2733
  <p-iconfield [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
2188
2734
  <input
@@ -2242,11 +2788,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2242
2788
  }
2243
2789
  </p-scroller>
2244
2790
  } @else {
2245
- <ng-container *ngTemplateOutlet="buildInItems; context: defaultBuildInItemsContext"></ng-container>
2791
+ <ng-container *ngTemplateOutlet="buildInItems; context: defaultBuildInItemsContext()"></ng-container>
2246
2792
  }
2247
2793
 
2248
2794
  <ng-template #buildInItems let-items let-scrollerOptions="options">
2249
- <ul #items [attr.id]="$id() + '_list'" [attr.aria-label]="listLabel" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [pBind]="ptm('list')">
2795
+ <ul #items [attr.id]="$id() + '_list'" [attr.aria-label]="listLabel()" [class]="cn(cx('list'), scrollerOptions.contentStyleClass)" [style]="scrollerOptions.contentStyle" role="listbox" [pBind]="ptm('list')">
2250
2796
  @for (option of items; track trackOption(option, i); let i = $index) {
2251
2797
  @if (isOptionGroup(option)) {
2252
2798
  <li [class]="cx('optionGroup')" [attr.id]="$id() + '_' + getOptionIndex(i, scrollerOptions)" [style]="getItemSizeStyle(scrollerOptions)" role="option" [pBind]="ptm('optionGroup')">
@@ -2266,7 +2812,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2266
2812
  [template]="itemTemplate()"
2267
2813
  [focused]="isOptionFocused(i, scrollerOptions)"
2268
2814
  [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2269
- [ariaSetSize]="ariaSetSize"
2815
+ [ariaSetSize]="ariaSetSize()"
2270
2816
  [index]="i"
2271
2817
  [unstyled]="unstyled()"
2272
2818
  [scrollerOptions]="scrollerOptions"
@@ -2311,34 +2857,671 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
2311
2857
  </ng-template>
2312
2858
  </p-overlay>
2313
2859
  `,
2314
- host: {
2315
- '[class]': "cx('root')",
2316
- '[attr.id]': '$id()',
2317
- '[attr.data-p]': 'containerDataP',
2318
- '(click)': 'onContainerClick($event)'
2319
- },
2320
- providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }],
2321
- changeDetection: ChangeDetectionStrategy.OnPush,
2322
- encapsulation: ViewEncapsulation.None,
2323
- hostDirectives: [Bind]
2324
- }]
2325
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], panelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyle", required: false }] }], panelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyleClass", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], editable: [{ type: i0.Input, args: [{ isSignal: true, alias: "editable", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], loadingIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingIcon", required: false }] }], filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: false }] }], filterLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterLocale", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], filterBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterBy", required: false }] }], filterFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFields", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], resetFilterOnHide: [{ type: i0.Input, args: [{ isSignal: true, alias: "resetFilterOnHide", required: false }] }], checkmark: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkmark", required: false }] }], dropdownIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownIcon", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], optionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionLabel", required: false }] }], optionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionValue", required: false }] }], optionDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionDisabled", required: false }] }], optionGroupLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupLabel", required: false }] }], optionGroupChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupChildren", required: false }] }], group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], emptyFilterMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyFilterMessage", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", 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 }] }], overlayOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayOptions", required: false }] }], ariaFilterLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaFilterLabel", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], filterMatchMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterMatchMode", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], tooltipPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipPosition", required: false }] }], tooltipPositionStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipPositionStyle", required: false }] }], tooltipStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipStyleClass", required: false }] }], focusOnHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusOnHover", required: false }] }], selectOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectOnFocus", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], autoOptionFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoOptionFocus", required: false }] }], autofocusFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocusFilter", required: false }] }], filterValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterValue", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], motionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionOptions", required: false }] }], onChange: [{ type: i0.Output, args: ["onChange"] }], onFilter: [{ type: i0.Output, args: ["onFilter"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onShow: [{ type: i0.Output, args: ["onShow"] }], onHide: [{ type: i0.Output, args: ["onHide"] }], onClear: [{ type: i0.Output, args: ["onClear"] }], onLazyLoad: [{ type: i0.Output, args: ["onLazyLoad"] }], filterViewChild: [{ type: i0.ViewChild, args: ['filter', { isSignal: true }] }], focusInputViewChild: [{ type: i0.ViewChild, args: ['focusInput', { isSignal: true }] }], editableInputViewChild: [{ type: i0.ViewChild, args: ['editableInput', { 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 }] }], firstHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['firstHiddenFocusableEl', { isSignal: true }] }], lastHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['lastHiddenFocusableEl', { isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], groupTemplate: [{ type: i0.ContentChild, args: ['group', { ...{ descendants: false }, isSignal: true }] }], loaderTemplate: [{ type: i0.ContentChild, args: ['loader', { ...{ descendants: false }, isSignal: true }] }], selectedItemTemplate: [{ type: i0.ContentChild, args: ['selectedItem', { ...{ descendants: false }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], filterTemplate: [{ type: i0.ContentChild, args: ['filter', { ...{ descendants: false }, isSignal: true }] }], footerTemplate: [{ type: i0.ContentChild, args: ['footer', { ...{ descendants: false }, isSignal: true }] }], emptyFilterTemplate: [{ type: i0.ContentChild, args: ['emptyfilter', { ...{ descendants: false }, isSignal: true }] }], emptyTemplate: [{ type: i0.ContentChild, args: ['empty', { ...{ descendants: false }, isSignal: true }] }], dropdownIconTemplate: [{ type: i0.ContentChild, args: ['dropdownicon', { ...{ descendants: false }, isSignal: true }] }], loadingIconTemplate: [{ type: i0.ContentChild, args: ['loadingicon', { ...{ descendants: false }, isSignal: true }] }], clearIconTemplate: [{ type: i0.ContentChild, args: ['clearicon', { ...{ descendants: false }, isSignal: true }] }], filterIconTemplate: [{ type: i0.ContentChild, args: ['filtericon', { ...{ descendants: false }, isSignal: true }] }], onIconTemplate: [{ type: i0.ContentChild, args: ['onicon', { ...{ descendants: false }, isSignal: true }] }], offIconTemplate: [{ type: i0.ContentChild, args: ['officon', { ...{ descendants: false }, isSignal: true }] }], cancelIconTemplate: [{ type: i0.ContentChild, args: ['cancelicon', { ...{ descendants: false }, isSignal: true }] }] } });
2326
- class SelectModule {
2327
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2328
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: SelectModule, imports: [Select, SharedModule], exports: [Select, SharedModule] });
2329
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectModule, imports: [Select, SharedModule, SharedModule] });
2330
- }
2331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: SelectModule, decorators: [{
2332
- type: NgModule,
2333
- args: [{
2334
- imports: [Select, SharedModule],
2335
- exports: [Select, SharedModule]
2336
- }]
2337
- }] });
2338
-
2339
- /**
2340
- * Generated bundle index. Do not edit.
2341
- */
2342
-
2860
+ host: {
2861
+ "[class]": "cx('root')",
2862
+ "[attr.id]": "$id()",
2863
+ "[attr.data-p]": "containerDataP()",
2864
+ "(click)": "onContainerClick($event)"
2865
+ },
2866
+ providers: [
2867
+ SELECT_VALUE_ACCESSOR,
2868
+ SelectStyle,
2869
+ {
2870
+ provide: SELECT_INSTANCE,
2871
+ useExisting: Select
2872
+ },
2873
+ {
2874
+ provide: PARENT_INSTANCE,
2875
+ useExisting: Select
2876
+ }
2877
+ ],
2878
+ changeDetection: ChangeDetectionStrategy.OnPush,
2879
+ encapsulation: ViewEncapsulation.None,
2880
+ hostDirectives: [Bind]
2881
+ }]
2882
+ }],
2883
+ ctorParameters: () => [],
2884
+ propDecorators: {
2885
+ id: [{
2886
+ type: i0.Input,
2887
+ args: [{
2888
+ isSignal: true,
2889
+ alias: "id",
2890
+ required: false
2891
+ }]
2892
+ }],
2893
+ scrollHeight: [{
2894
+ type: i0.Input,
2895
+ args: [{
2896
+ isSignal: true,
2897
+ alias: "scrollHeight",
2898
+ required: false
2899
+ }]
2900
+ }],
2901
+ filter: [{
2902
+ type: i0.Input,
2903
+ args: [{
2904
+ isSignal: true,
2905
+ alias: "filter",
2906
+ required: false
2907
+ }]
2908
+ }],
2909
+ panelStyle: [{
2910
+ type: i0.Input,
2911
+ args: [{
2912
+ isSignal: true,
2913
+ alias: "panelStyle",
2914
+ required: false
2915
+ }]
2916
+ }],
2917
+ panelStyleClass: [{
2918
+ type: i0.Input,
2919
+ args: [{
2920
+ isSignal: true,
2921
+ alias: "panelStyleClass",
2922
+ required: false
2923
+ }]
2924
+ }],
2925
+ readonly: [{
2926
+ type: i0.Input,
2927
+ args: [{
2928
+ isSignal: true,
2929
+ alias: "readonly",
2930
+ required: false
2931
+ }]
2932
+ }],
2933
+ editable: [{
2934
+ type: i0.Input,
2935
+ args: [{
2936
+ isSignal: true,
2937
+ alias: "editable",
2938
+ required: false
2939
+ }]
2940
+ }],
2941
+ tabindex: [{
2942
+ type: i0.Input,
2943
+ args: [{
2944
+ isSignal: true,
2945
+ alias: "tabindex",
2946
+ required: false
2947
+ }]
2948
+ }],
2949
+ placeholder: [{
2950
+ type: i0.Input,
2951
+ args: [{
2952
+ isSignal: true,
2953
+ alias: "placeholder",
2954
+ required: false
2955
+ }]
2956
+ }],
2957
+ loadingIcon: [{
2958
+ type: i0.Input,
2959
+ args: [{
2960
+ isSignal: true,
2961
+ alias: "loadingIcon",
2962
+ required: false
2963
+ }]
2964
+ }],
2965
+ filterPlaceholder: [{
2966
+ type: i0.Input,
2967
+ args: [{
2968
+ isSignal: true,
2969
+ alias: "filterPlaceholder",
2970
+ required: false
2971
+ }]
2972
+ }],
2973
+ filterLocale: [{
2974
+ type: i0.Input,
2975
+ args: [{
2976
+ isSignal: true,
2977
+ alias: "filterLocale",
2978
+ required: false
2979
+ }]
2980
+ }],
2981
+ inputId: [{
2982
+ type: i0.Input,
2983
+ args: [{
2984
+ isSignal: true,
2985
+ alias: "inputId",
2986
+ required: false
2987
+ }]
2988
+ }],
2989
+ dataKey: [{
2990
+ type: i0.Input,
2991
+ args: [{
2992
+ isSignal: true,
2993
+ alias: "dataKey",
2994
+ required: false
2995
+ }]
2996
+ }],
2997
+ filterBy: [{
2998
+ type: i0.Input,
2999
+ args: [{
3000
+ isSignal: true,
3001
+ alias: "filterBy",
3002
+ required: false
3003
+ }]
3004
+ }],
3005
+ filterFields: [{
3006
+ type: i0.Input,
3007
+ args: [{
3008
+ isSignal: true,
3009
+ alias: "filterFields",
3010
+ required: false
3011
+ }]
3012
+ }],
3013
+ autofocus: [{
3014
+ type: i0.Input,
3015
+ args: [{
3016
+ isSignal: true,
3017
+ alias: "autofocus",
3018
+ required: false
3019
+ }]
3020
+ }],
3021
+ resetFilterOnHide: [{
3022
+ type: i0.Input,
3023
+ args: [{
3024
+ isSignal: true,
3025
+ alias: "resetFilterOnHide",
3026
+ required: false
3027
+ }]
3028
+ }],
3029
+ checkmark: [{
3030
+ type: i0.Input,
3031
+ args: [{
3032
+ isSignal: true,
3033
+ alias: "checkmark",
3034
+ required: false
3035
+ }]
3036
+ }],
3037
+ dropdownIcon: [{
3038
+ type: i0.Input,
3039
+ args: [{
3040
+ isSignal: true,
3041
+ alias: "dropdownIcon",
3042
+ required: false
3043
+ }]
3044
+ }],
3045
+ loading: [{
3046
+ type: i0.Input,
3047
+ args: [{
3048
+ isSignal: true,
3049
+ alias: "loading",
3050
+ required: false
3051
+ }]
3052
+ }],
3053
+ optionLabel: [{
3054
+ type: i0.Input,
3055
+ args: [{
3056
+ isSignal: true,
3057
+ alias: "optionLabel",
3058
+ required: false
3059
+ }]
3060
+ }],
3061
+ optionValue: [{
3062
+ type: i0.Input,
3063
+ args: [{
3064
+ isSignal: true,
3065
+ alias: "optionValue",
3066
+ required: false
3067
+ }]
3068
+ }],
3069
+ optionDisabled: [{
3070
+ type: i0.Input,
3071
+ args: [{
3072
+ isSignal: true,
3073
+ alias: "optionDisabled",
3074
+ required: false
3075
+ }]
3076
+ }],
3077
+ optionGroupLabel: [{
3078
+ type: i0.Input,
3079
+ args: [{
3080
+ isSignal: true,
3081
+ alias: "optionGroupLabel",
3082
+ required: false
3083
+ }]
3084
+ }],
3085
+ optionGroupChildren: [{
3086
+ type: i0.Input,
3087
+ args: [{
3088
+ isSignal: true,
3089
+ alias: "optionGroupChildren",
3090
+ required: false
3091
+ }]
3092
+ }],
3093
+ group: [{
3094
+ type: i0.Input,
3095
+ args: [{
3096
+ isSignal: true,
3097
+ alias: "group",
3098
+ required: false
3099
+ }]
3100
+ }],
3101
+ showClear: [{
3102
+ type: i0.Input,
3103
+ args: [{
3104
+ isSignal: true,
3105
+ alias: "showClear",
3106
+ required: false
3107
+ }]
3108
+ }],
3109
+ emptyFilterMessage: [{
3110
+ type: i0.Input,
3111
+ args: [{
3112
+ isSignal: true,
3113
+ alias: "emptyFilterMessage",
3114
+ required: false
3115
+ }]
3116
+ }],
3117
+ emptyMessage: [{
3118
+ type: i0.Input,
3119
+ args: [{
3120
+ isSignal: true,
3121
+ alias: "emptyMessage",
3122
+ required: false
3123
+ }]
3124
+ }],
3125
+ lazy: [{
3126
+ type: i0.Input,
3127
+ args: [{
3128
+ isSignal: true,
3129
+ alias: "lazy",
3130
+ required: false
3131
+ }]
3132
+ }],
3133
+ virtualScroll: [{
3134
+ type: i0.Input,
3135
+ args: [{
3136
+ isSignal: true,
3137
+ alias: "virtualScroll",
3138
+ required: false
3139
+ }]
3140
+ }],
3141
+ virtualScrollItemSize: [{
3142
+ type: i0.Input,
3143
+ args: [{
3144
+ isSignal: true,
3145
+ alias: "virtualScrollItemSize",
3146
+ required: false
3147
+ }]
3148
+ }],
3149
+ virtualScrollOptions: [{
3150
+ type: i0.Input,
3151
+ args: [{
3152
+ isSignal: true,
3153
+ alias: "virtualScrollOptions",
3154
+ required: false
3155
+ }]
3156
+ }],
3157
+ overlayOptions: [{
3158
+ type: i0.Input,
3159
+ args: [{
3160
+ isSignal: true,
3161
+ alias: "overlayOptions",
3162
+ required: false
3163
+ }]
3164
+ }],
3165
+ ariaFilterLabel: [{
3166
+ type: i0.Input,
3167
+ args: [{
3168
+ isSignal: true,
3169
+ alias: "ariaFilterLabel",
3170
+ required: false
3171
+ }]
3172
+ }],
3173
+ ariaLabel: [{
3174
+ type: i0.Input,
3175
+ args: [{
3176
+ isSignal: true,
3177
+ alias: "ariaLabel",
3178
+ required: false
3179
+ }]
3180
+ }],
3181
+ ariaLabelledBy: [{
3182
+ type: i0.Input,
3183
+ args: [{
3184
+ isSignal: true,
3185
+ alias: "ariaLabelledBy",
3186
+ required: false
3187
+ }]
3188
+ }],
3189
+ filterMatchMode: [{
3190
+ type: i0.Input,
3191
+ args: [{
3192
+ isSignal: true,
3193
+ alias: "filterMatchMode",
3194
+ required: false
3195
+ }]
3196
+ }],
3197
+ tooltip: [{
3198
+ type: i0.Input,
3199
+ args: [{
3200
+ isSignal: true,
3201
+ alias: "tooltip",
3202
+ required: false
3203
+ }]
3204
+ }],
3205
+ tooltipPosition: [{
3206
+ type: i0.Input,
3207
+ args: [{
3208
+ isSignal: true,
3209
+ alias: "tooltipPosition",
3210
+ required: false
3211
+ }]
3212
+ }],
3213
+ tooltipPositionStyle: [{
3214
+ type: i0.Input,
3215
+ args: [{
3216
+ isSignal: true,
3217
+ alias: "tooltipPositionStyle",
3218
+ required: false
3219
+ }]
3220
+ }],
3221
+ tooltipStyleClass: [{
3222
+ type: i0.Input,
3223
+ args: [{
3224
+ isSignal: true,
3225
+ alias: "tooltipStyleClass",
3226
+ required: false
3227
+ }]
3228
+ }],
3229
+ focusOnHover: [{
3230
+ type: i0.Input,
3231
+ args: [{
3232
+ isSignal: true,
3233
+ alias: "focusOnHover",
3234
+ required: false
3235
+ }]
3236
+ }],
3237
+ selectOnFocus: [{
3238
+ type: i0.Input,
3239
+ args: [{
3240
+ isSignal: true,
3241
+ alias: "selectOnFocus",
3242
+ required: false
3243
+ }]
3244
+ }],
3245
+ multiple: [{
3246
+ type: i0.Input,
3247
+ args: [{
3248
+ isSignal: true,
3249
+ alias: "multiple",
3250
+ required: false
3251
+ }]
3252
+ }],
3253
+ autoOptionFocus: [{
3254
+ type: i0.Input,
3255
+ args: [{
3256
+ isSignal: true,
3257
+ alias: "autoOptionFocus",
3258
+ required: false
3259
+ }]
3260
+ }],
3261
+ autofocusFilter: [{
3262
+ type: i0.Input,
3263
+ args: [{
3264
+ isSignal: true,
3265
+ alias: "autofocusFilter",
3266
+ required: false
3267
+ }]
3268
+ }],
3269
+ filterValue: [{
3270
+ type: i0.Input,
3271
+ args: [{
3272
+ isSignal: true,
3273
+ alias: "filterValue",
3274
+ required: false
3275
+ }]
3276
+ }],
3277
+ options: [{
3278
+ type: i0.Input,
3279
+ args: [{
3280
+ isSignal: true,
3281
+ alias: "options",
3282
+ required: false
3283
+ }]
3284
+ }],
3285
+ appendTo: [{
3286
+ type: i0.Input,
3287
+ args: [{
3288
+ isSignal: true,
3289
+ alias: "appendTo",
3290
+ required: false
3291
+ }]
3292
+ }],
3293
+ motionOptions: [{
3294
+ type: i0.Input,
3295
+ args: [{
3296
+ isSignal: true,
3297
+ alias: "motionOptions",
3298
+ required: false
3299
+ }]
3300
+ }],
3301
+ onChange: [{
3302
+ type: i0.Output,
3303
+ args: ["onChange"]
3304
+ }],
3305
+ onFilter: [{
3306
+ type: i0.Output,
3307
+ args: ["onFilter"]
3308
+ }],
3309
+ onFocus: [{
3310
+ type: i0.Output,
3311
+ args: ["onFocus"]
3312
+ }],
3313
+ onBlur: [{
3314
+ type: i0.Output,
3315
+ args: ["onBlur"]
3316
+ }],
3317
+ onClick: [{
3318
+ type: i0.Output,
3319
+ args: ["onClick"]
3320
+ }],
3321
+ onShow: [{
3322
+ type: i0.Output,
3323
+ args: ["onShow"]
3324
+ }],
3325
+ onHide: [{
3326
+ type: i0.Output,
3327
+ args: ["onHide"]
3328
+ }],
3329
+ onClear: [{
3330
+ type: i0.Output,
3331
+ args: ["onClear"]
3332
+ }],
3333
+ onLazyLoad: [{
3334
+ type: i0.Output,
3335
+ args: ["onLazyLoad"]
3336
+ }],
3337
+ filterViewChild: [{
3338
+ type: i0.ViewChild,
3339
+ args: ["filter", { isSignal: true }]
3340
+ }],
3341
+ focusInputViewChild: [{
3342
+ type: i0.ViewChild,
3343
+ args: ["focusInput", { isSignal: true }]
3344
+ }],
3345
+ editableInputViewChild: [{
3346
+ type: i0.ViewChild,
3347
+ args: ["editableInput", { isSignal: true }]
3348
+ }],
3349
+ itemsViewChild: [{
3350
+ type: i0.ViewChild,
3351
+ args: ["items", { isSignal: true }]
3352
+ }],
3353
+ scroller: [{
3354
+ type: i0.ViewChild,
3355
+ args: ["scroller", { isSignal: true }]
3356
+ }],
3357
+ overlayViewChild: [{
3358
+ type: i0.ViewChild,
3359
+ args: ["overlay", { isSignal: true }]
3360
+ }],
3361
+ firstHiddenFocusableElementOnOverlay: [{
3362
+ type: i0.ViewChild,
3363
+ args: ["firstHiddenFocusableEl", { isSignal: true }]
3364
+ }],
3365
+ lastHiddenFocusableElementOnOverlay: [{
3366
+ type: i0.ViewChild,
3367
+ args: ["lastHiddenFocusableEl", { isSignal: true }]
3368
+ }],
3369
+ itemTemplate: [{
3370
+ type: i0.ContentChild,
3371
+ args: ["item", {
3372
+ descendants: false,
3373
+ isSignal: true
3374
+ }]
3375
+ }],
3376
+ groupTemplate: [{
3377
+ type: i0.ContentChild,
3378
+ args: ["group", {
3379
+ descendants: false,
3380
+ isSignal: true
3381
+ }]
3382
+ }],
3383
+ loaderTemplate: [{
3384
+ type: i0.ContentChild,
3385
+ args: ["loader", {
3386
+ descendants: false,
3387
+ isSignal: true
3388
+ }]
3389
+ }],
3390
+ selectedItemTemplate: [{
3391
+ type: i0.ContentChild,
3392
+ args: ["selectedItem", {
3393
+ descendants: false,
3394
+ isSignal: true
3395
+ }]
3396
+ }],
3397
+ headerTemplate: [{
3398
+ type: i0.ContentChild,
3399
+ args: ["header", {
3400
+ descendants: false,
3401
+ isSignal: true
3402
+ }]
3403
+ }],
3404
+ filterTemplate: [{
3405
+ type: i0.ContentChild,
3406
+ args: ["filter", {
3407
+ descendants: false,
3408
+ isSignal: true
3409
+ }]
3410
+ }],
3411
+ footerTemplate: [{
3412
+ type: i0.ContentChild,
3413
+ args: ["footer", {
3414
+ descendants: false,
3415
+ isSignal: true
3416
+ }]
3417
+ }],
3418
+ emptyFilterTemplate: [{
3419
+ type: i0.ContentChild,
3420
+ args: ["emptyfilter", {
3421
+ descendants: false,
3422
+ isSignal: true
3423
+ }]
3424
+ }],
3425
+ emptyTemplate: [{
3426
+ type: i0.ContentChild,
3427
+ args: ["empty", {
3428
+ descendants: false,
3429
+ isSignal: true
3430
+ }]
3431
+ }],
3432
+ dropdownIconTemplate: [{
3433
+ type: i0.ContentChild,
3434
+ args: ["dropdownicon", {
3435
+ descendants: false,
3436
+ isSignal: true
3437
+ }]
3438
+ }],
3439
+ loadingIconTemplate: [{
3440
+ type: i0.ContentChild,
3441
+ args: ["loadingicon", {
3442
+ descendants: false,
3443
+ isSignal: true
3444
+ }]
3445
+ }],
3446
+ clearIconTemplate: [{
3447
+ type: i0.ContentChild,
3448
+ args: ["clearicon", {
3449
+ descendants: false,
3450
+ isSignal: true
3451
+ }]
3452
+ }],
3453
+ filterIconTemplate: [{
3454
+ type: i0.ContentChild,
3455
+ args: ["filtericon", {
3456
+ descendants: false,
3457
+ isSignal: true
3458
+ }]
3459
+ }],
3460
+ onIconTemplate: [{
3461
+ type: i0.ContentChild,
3462
+ args: ["onicon", {
3463
+ descendants: false,
3464
+ isSignal: true
3465
+ }]
3466
+ }],
3467
+ offIconTemplate: [{
3468
+ type: i0.ContentChild,
3469
+ args: ["officon", {
3470
+ descendants: false,
3471
+ isSignal: true
3472
+ }]
3473
+ }],
3474
+ cancelIconTemplate: [{
3475
+ type: i0.ContentChild,
3476
+ args: ["cancelicon", {
3477
+ descendants: false,
3478
+ isSignal: true
3479
+ }]
3480
+ }]
3481
+ }
3482
+ });
3483
+ var SelectModule = class SelectModule {
3484
+ static ɵfac = i0.ɵɵngDeclareFactory({
3485
+ minVersion: "12.0.0",
3486
+ version: "22.2.0",
3487
+ ngImport: i0,
3488
+ type: SelectModule,
3489
+ deps: [],
3490
+ target: i0.ɵɵFactoryTarget.NgModule
3491
+ });
3492
+ static ɵmod = i0.ɵɵngDeclareNgModule({
3493
+ minVersion: "14.0.0",
3494
+ version: "22.2.0",
3495
+ ngImport: i0,
3496
+ type: SelectModule,
3497
+ imports: [Select, SharedModule],
3498
+ exports: [Select, SharedModule]
3499
+ });
3500
+ static ɵinj = i0.ɵɵngDeclareInjector({
3501
+ minVersion: "12.0.0",
3502
+ version: "22.2.0",
3503
+ ngImport: i0,
3504
+ type: SelectModule,
3505
+ imports: [
3506
+ Select,
3507
+ SharedModule,
3508
+ SharedModule
3509
+ ]
3510
+ });
3511
+ };
3512
+ i0.ɵɵngDeclareClassMetadata({
3513
+ minVersion: "12.0.0",
3514
+ version: "22.2.0",
3515
+ ngImport: i0,
3516
+ type: SelectModule,
3517
+ decorators: [{
3518
+ type: NgModule,
3519
+ args: [{
3520
+ imports: [Select, SharedModule],
3521
+ exports: [Select, SharedModule]
3522
+ }]
3523
+ }]
3524
+ });
2343
3525
  export { SELECT_VALUE_ACCESSOR, Select, SelectClasses, SelectModule, SelectStyle };
2344
- //# sourceMappingURL=primeng-select.mjs.map
3526
+
3527
+ //# sourceMappingURL=primeng-select.mjs.map