primeng 22.1.0 → 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 -578
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +266 -165
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +888 -847
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +2534 -1592
  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 -101
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +528 -489
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +131 -69
  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 -96
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +360 -228
  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 -703
  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 -1773
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +2373 -1364
  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 -353
  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 -315
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +843 -480
  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 -540
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +810 -531
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +1862 -1051
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +1130 -549
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +3750 -3354
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +1635 -968
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +272 -148
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +609 -385
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +599 -761
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +323 -311
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +913 -482
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +828 -928
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +547 -390
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +559 -274
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +1836 -1047
  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 -1406
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +2768 -1798
  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 -534
  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 -2180
  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 -1379
  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 -375
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputpassword.mjs +179 -98
  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 -170
  239. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  240. package/fesm2022/primeng-keyfilter.mjs +268 -243
  241. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  242. package/fesm2022/primeng-knob.mjs +627 -403
  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 -1593
  249. package/fesm2022/primeng-listbox.mjs.map +1 -1
  250. package/fesm2022/primeng-megamenu.mjs +2006 -1117
  251. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  252. package/fesm2022/primeng-menu.mjs +1437 -845
  253. package/fesm2022/primeng-menu.mjs.map +1 -1
  254. package/fesm2022/primeng-menubar.mjs +1832 -972
  255. package/fesm2022/primeng-menubar.mjs.map +1 -1
  256. package/fesm2022/primeng-message.mjs +474 -243
  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 -1898
  263. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  264. package/fesm2022/primeng-orderlist.mjs +1308 -678
  265. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  266. package/fesm2022/primeng-organizationchart.mjs +912 -597
  267. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  268. package/fesm2022/primeng-overlay.mjs +929 -610
  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 +961 -505
  273. package/fesm2022/primeng-paginator.mjs.map +1 -1
  274. package/fesm2022/primeng-panel.mjs +668 -347
  275. package/fesm2022/primeng-panel.mjs.map +1 -1
  276. package/fesm2022/primeng-panelmenu.mjs +1842 -966
  277. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-passthrough.mjs +10 -20
  279. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  280. package/fesm2022/primeng-password.mjs +1518 -858
  281. package/fesm2022/primeng-password.mjs.map +1 -1
  282. package/fesm2022/primeng-picklist.mjs +2270 -1253
  283. package/fesm2022/primeng-picklist.mjs.map +1 -1
  284. package/fesm2022/primeng-popover.mjs +656 -434
  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 -294
  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 -170
  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 -1047
  299. package/fesm2022/primeng-scroller.mjs.map +1 -1
  300. package/fesm2022/primeng-scrollpanel.mjs +568 -454
  301. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  302. package/fesm2022/primeng-scrolltop.mjs +509 -261
  303. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  304. package/fesm2022/primeng-select.mjs +2948 -1714
  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 -1413
  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 -704
  315. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  316. package/fesm2022/primeng-splitbutton.mjs +889 -340
  317. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  318. package/fesm2022/primeng-splitter.mjs +997 -762
  319. package/fesm2022/primeng-splitter.mjs.map +1 -1
  320. package/fesm2022/primeng-stepper.mjs +1355 -645
  321. package/fesm2022/primeng-stepper.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +523 -407
  323. package/fesm2022/primeng-steps.mjs.map +1 -1
  324. package/fesm2022/primeng-styleclass.mjs +446 -330
  325. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  326. package/fesm2022/primeng-table.mjs +9765 -5849
  327. package/fesm2022/primeng-table.mjs.map +1 -1
  328. package/fesm2022/primeng-tabs.mjs +1357 -815
  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 -204
  335. package/fesm2022/primeng-textarea.mjs.map +1 -1
  336. package/fesm2022/primeng-tieredmenu.mjs +1917 -1094
  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 -928
  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 -765
  349. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  350. package/fesm2022/primeng-tree.mjs +2681 -1888
  351. package/fesm2022/primeng-tree.mjs.map +1 -1
  352. package/fesm2022/primeng-treeselect.mjs +1678 -927
  353. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  354. package/fesm2022/primeng-treetable.mjs +5849 -3742
  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 -109
  459. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  460. package/fesm2022/primeng-utils.mjs +238 -328
  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 +7 -2
  465. package/types/primeng-accordion.d.ts +289 -221
  466. package/types/primeng-animateonscroll.d.ts +89 -61
  467. package/types/primeng-api.d.ts +1760 -1790
  468. package/types/primeng-autocomplete.d.ts +1054 -757
  469. package/types/primeng-autofocus.d.ts +27 -24
  470. package/types/primeng-avatar.d.ts +153 -117
  471. package/types/primeng-avatargroup.d.ts +46 -43
  472. package/types/primeng-badge.d.ts +105 -81
  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 -427
  482. package/types/primeng-buttongroup.d.ts +27 -33
  483. package/types/primeng-card.d.ts +131 -122
  484. package/types/primeng-carousel.d.ts +800 -632
  485. package/types/primeng-cascadeselect.d.ts +754 -565
  486. package/types/primeng-chart.d.ts +160 -116
  487. package/types/primeng-checkbox.d.ts +299 -211
  488. package/types/primeng-chip.d.ts +189 -147
  489. package/types/primeng-classnames.d.ts +23 -21
  490. package/types/primeng-colorpicker.d.ts +325 -272
  491. package/types/primeng-commandmenu.d.ts +213 -165
  492. package/types/primeng-compare.d.ts +267 -191
  493. package/types/primeng-config.d.ts +294 -304
  494. package/types/primeng-confirmdialog.d.ts +505 -328
  495. package/types/primeng-confirmpopup.d.ts +254 -214
  496. package/types/primeng-contextmenu.d.ts +522 -368
  497. package/types/primeng-dataview.d.ts +498 -345
  498. package/types/primeng-datepicker.d.ts +1269 -972
  499. package/types/primeng-dialog.d.ts +668 -465
  500. package/types/primeng-divider.d.ts +114 -100
  501. package/types/primeng-dock.d.ts +207 -175
  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 +355 -257
  505. package/types/primeng-dynamicdialog.d.ts +528 -540
  506. package/types/primeng-editor.d.ts +211 -165
  507. package/types/primeng-fieldset.d.ts +199 -166
  508. package/types/primeng-fileupload.d.ts +727 -526
  509. package/types/primeng-floatlabel.d.ts +55 -51
  510. package/types/primeng-fluid.d.ts +37 -39
  511. package/types/primeng-focustrap.d.ts +30 -27
  512. package/types/primeng-galleria.d.ts +570 -433
  513. package/types/primeng-gallery.d.ts +754 -552
  514. package/types/primeng-iconfield.d.ts +54 -45
  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 +24 -25
  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 +38 -40
  572. package/types/primeng-image.d.ts +404 -311
  573. package/types/primeng-imagecompare.d.ts +94 -80
  574. package/types/primeng-inplace.d.ts +126 -114
  575. package/types/primeng-inputcolor.d.ts +645 -508
  576. package/types/primeng-inputgroup.d.ts +42 -44
  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 +520 -365
  580. package/types/primeng-inputnumber.d.ts +573 -408
  581. package/types/primeng-inputotp.d.ts +206 -159
  582. package/types/primeng-inputpassword.d.ts +60 -47
  583. package/types/primeng-inputtags.d.ts +453 -301
  584. package/types/primeng-inputtext.d.ts +130 -96
  585. package/types/primeng-keyfilter.d.ts +62 -53
  586. package/types/primeng-knob.d.ts +257 -186
  587. package/types/primeng-label.d.ts +37 -39
  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 +536 -386
  591. package/types/primeng-menu.d.ts +478 -363
  592. package/types/primeng-menubar.d.ts +495 -354
  593. package/types/primeng-message.d.ts +192 -151
  594. package/types/primeng-metergroup.d.ts +249 -189
  595. package/types/primeng-motion.d.ts +601 -385
  596. package/types/primeng-multiselect.d.ts +1193 -861
  597. package/types/primeng-orderlist.d.ts +539 -393
  598. package/types/primeng-organizationchart.d.ts +236 -195
  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 +410 -314
  602. package/types/primeng-panel.d.ts +267 -217
  603. package/types/primeng-panelmenu.d.ts +255 -231
  604. package/types/primeng-passthrough.d.ts +5 -7
  605. package/types/primeng-password.d.ts +606 -433
  606. package/types/primeng-picklist.d.ts +1042 -759
  607. package/types/primeng-popover.d.ts +235 -176
  608. package/types/primeng-progressbar.d.ts +131 -102
  609. package/types/primeng-progressspinner.d.ts +145 -111
  610. package/types/primeng-radiobutton.d.ts +219 -171
  611. package/types/primeng-rating.d.ts +240 -192
  612. package/types/primeng-ripple.d.ts +39 -45
  613. package/types/primeng-scrollarea.d.ts +292 -243
  614. package/types/primeng-scroller.d.ts +523 -390
  615. package/types/primeng-scrollpanel.d.ts +135 -131
  616. package/types/primeng-scrolltop.d.ts +170 -126
  617. package/types/primeng-select.d.ts +1014 -741
  618. package/types/primeng-selectbutton.d.ts +239 -167
  619. package/types/primeng-sidebar.d.ts +793 -562
  620. package/types/primeng-skeleton.d.ts +116 -87
  621. package/types/primeng-slider.d.ts +378 -311
  622. package/types/primeng-speeddial.d.ts +495 -375
  623. package/types/primeng-splitbutton.d.ts +382 -243
  624. package/types/primeng-splitter.d.ts +392 -301
  625. package/types/primeng-stepper.d.ts +417 -257
  626. package/types/primeng-steps.d.ts +158 -137
  627. package/types/primeng-styleclass.d.ts +163 -105
  628. package/types/primeng-table.d.ts +2898 -1912
  629. package/types/primeng-tabs.d.ts +463 -307
  630. package/types/primeng-tag.d.ts +107 -88
  631. package/types/primeng-terminal.d.ts +132 -120
  632. package/types/primeng-textarea.d.ts +146 -110
  633. package/types/primeng-tieredmenu.d.ts +573 -401
  634. package/types/primeng-timeline.d.ts +126 -112
  635. package/types/primeng-toast.d.ts +313 -252
  636. package/types/primeng-togglebutton.d.ts +255 -185
  637. package/types/primeng-toggleswitch.d.ts +190 -144
  638. package/types/primeng-toolbar.d.ts +83 -79
  639. package/types/primeng-tooltip.d.ts +335 -235
  640. package/types/primeng-tree.d.ts +763 -562
  641. package/types/primeng-treeselect.d.ts +750 -544
  642. package/types/primeng-treetable.d.ts +1839 -1315
  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"
66
+ };
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
+ });
78
85
  };
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.2", ngImport: i0, type: SelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
84
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectStyle });
85
- }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", 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
- */
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.2", ngImport: i0, type: SelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
225
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", 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.2", 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,1433 +418,1681 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", 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
- getBuildInItemsContext(items, scrollerOptions) {
928
- return { $implicit: items, options: scrollerOptions };
929
- }
930
- getLoaderContext(scrollerOptions) {
931
- return { options: scrollerOptions };
932
- }
933
- getItemSizeStyle(scrollerOptions) {
934
- return { height: scrollerOptions.itemSize + 'px' };
935
- }
936
- getGroupContext(optionGroup) {
937
- return { $implicit: optionGroup };
938
- }
939
- selectedOption = signal(null, /* @ts-ignore */
940
- ...(ngDevMode ? [{ debugName: "selectedOption" }] : /* istanbul ignore next */ []));
941
- constructor() {
942
- super();
943
- effect(() => {
944
- const modelValue = this.modelValue();
945
- const visibleOptions = this.visibleOptions();
946
- if (visibleOptions && isNotEmpty(visibleOptions)) {
947
- const selectedOptionIndex = this.findSelectedOptionIndex();
948
- if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable()) {
949
- this.selectedOption.set(visibleOptions[selectedOptionIndex]);
950
- }
951
- else {
952
- // If no valid selected option found but we have a model value,
953
- // try to find the option including disabled ones for template display
954
- const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));
955
- if (disabledSelectedIndex !== -1) {
956
- this.selectedOption.set(visibleOptions[disabledSelectedIndex]);
957
- }
958
- }
959
- }
960
- if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption())) {
961
- this.selectedOption.set(null);
962
- }
963
- if (modelValue !== undefined && this.editable()) {
964
- this.updateEditableLabel();
965
- }
966
- });
967
- // Handle filterValue input changes
968
- effect(() => {
969
- const filterVal = this.filterValue();
970
- if (filterVal !== undefined) {
971
- this._filterValue.set(filterVal);
972
- }
973
- });
974
- // Handle options input changes with deepEquals check
975
- effect(() => {
976
- const opts = this.options();
977
- if (!deepEquals(opts, this._options())) {
978
- this._options.set(opts ?? null);
979
- this.optionsChanged = true;
980
- }
981
- });
982
- }
983
- isModelValueNotSet() {
984
- return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption());
985
- }
986
- getAllVisibleAndNonVisibleOptions() {
987
- return this.group() ? this.flatOptions(this._options()) : this._options() || [];
988
- }
989
- onInit() {
990
- this.autoUpdateModel();
991
- if (this.filterBy()) {
992
- this.filterOptions = {
993
- filter: (value) => this.onFilterInputChange(value),
994
- reset: () => this.resetFilter()
995
- };
996
- }
997
- }
998
- onAfterViewChecked() {
999
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1000
- if (this.optionsChanged && this.overlayVisible()) {
1001
- this.optionsChanged = false;
1002
- setTimeout(() => {
1003
- if (this.overlayViewChild()) {
1004
- this.overlayViewChild()?.alignOverlay();
1005
- }
1006
- }, 1);
1007
- }
1008
- if (this.selectedOptionUpdated && this.itemsWrapper) {
1009
- if (!this.multiple()) {
1010
- let selectedItem = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, 'li[data-p-selected="true"]');
1011
- if (selectedItem) {
1012
- scrollInView(this.itemsWrapper, selectedItem);
1013
- }
1014
- }
1015
- this.selectedOptionUpdated = false;
1016
- }
1017
- }
1018
- flatOptions(options) {
1019
- return (options || []).reduce((result, option, index) => {
1020
- result.push({ optionGroup: option, group: true, index });
1021
- const optionGroupChildren = this.getOptionGroupChildren(option);
1022
- optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
1023
- return result;
1024
- }, []);
1025
- }
1026
- autoUpdateModel() {
1027
- if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {
1028
- this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());
1029
- this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);
1030
- }
1031
- }
1032
- onOptionSelect(event, option, isHide = true, preventChange = false) {
1033
- // Check if option is disabled before proceeding
1034
- if (this.isOptionDisabled(option)) {
1035
- return;
1036
- }
1037
- if (this.multiple()) {
1038
- this.onOptionSelectMultiple(event, option, preventChange);
1039
- return;
1040
- }
1041
- if (!this.isSelected(option)) {
1042
- const value = this.getOptionValue(option);
1043
- this.updateModel(value, event);
1044
- this.focusedOptionIndex.set(this.findSelectedOptionIndex());
1045
- preventChange === false && this.onChange.emit({ originalEvent: event, value: value });
1046
- }
1047
- if (isHide) {
1048
- this.hide(true);
1049
- }
1050
- }
1051
- onOptionSelectMultiple(event, option, preventChange = false) {
1052
- const value = this.getOptionValue(option);
1053
- const currentValue = this.modelValue() ?? [];
1054
- const newValue = this.isSelected(option) ? currentValue.filter((v) => !equals(v, value, this.equalityKey())) : [...currentValue, value];
1055
- this.updateModel(newValue, event);
1056
- preventChange === false && this.onChange.emit({ originalEvent: event, value: newValue });
1057
- }
1058
- onOptionMouseEnter(event, index) {
1059
- if (this.focusOnHover()) {
1060
- this.changeFocusedOptionIndex(event, index);
1061
- }
1062
- }
1063
- updateModel(value, event) {
1064
- this.value = value;
1065
- this.onModelChange(value);
1066
- this.writeModelValue(value);
1067
- this.selectedOptionUpdated = true;
1068
- }
1069
- allowModelChange() {
1070
- return !!this.modelValue() && !this.placeholder() && (this.modelValue() === undefined || this.modelValue() === null) && !this.editable() && this._options() && this._options().length;
1071
- }
1072
- isSelected(option) {
1073
- if (this.multiple()) {
1074
- const currentValue = this.modelValue();
1075
- if (!Array.isArray(currentValue))
1076
- return false;
1077
- const optionValue = this.getOptionValue(option);
1078
- return currentValue.some((v) => equals(v, optionValue, this.equalityKey()));
1079
- }
1080
- return this.isOptionValueEqualsModelValue(option);
1081
- }
1082
- isOptionValueEqualsModelValue(option) {
1083
- // Don't check isValidOption here since we need to match disabled options too
1084
- return option !== undefined && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
1085
- }
1086
- onAfterViewInit() {
1087
- if (this.editable()) {
1088
- this.updateEditableLabel();
1089
- }
1090
- this.updatePlaceHolderForFloatingLabel();
1091
- }
1092
- updatePlaceHolderForFloatingLabel() {
1093
- const parentElement = this.el.nativeElement.parentElement;
1094
- const isInFloatingLabel = parentElement?.classList.contains('p-float-label');
1095
- if (parentElement && isInFloatingLabel && !this.selectedOption()) {
1096
- const label = parentElement.querySelector('label');
1097
- if (label) {
1098
- this._placeholder.set(label.textContent);
1099
- }
1100
- }
1101
- }
1102
- updateEditableLabel() {
1103
- if (this.editableInputViewChild()) {
1104
- this.editableInputViewChild().nativeElement.value = this.getOptionLabel(this.selectedOption()) || this.modelValue() || '';
1105
- }
1106
- }
1107
- clearEditableLabel() {
1108
- if (this.editableInputViewChild()) {
1109
- this.editableInputViewChild().nativeElement.value = '';
1110
- }
1111
- }
1112
- getOptionIndex(index, scrollerOptions) {
1113
- return this.virtualScrollerDisabled() ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
1114
- }
1115
- getOptionLabel(option) {
1116
- return this.optionLabel() !== undefined && this.optionLabel() !== null ? resolveFieldData(option, this.optionLabel()) : option && option.label !== undefined ? option.label : option;
1117
- }
1118
- getOptionValue(option) {
1119
- return this.optionValue() && this.optionValue() !== null ? resolveFieldData(option, this.optionValue()) : !this.optionLabel() && option && option.value !== undefined ? option.value : option;
1120
- }
1121
- getPTItemOptions(option, itemOptions, index, key) {
1122
- return this.ptm(key, {
1123
- context: {
1124
- option,
1125
- index,
1126
- selected: this.isSelected(option),
1127
- focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1128
- disabled: this.isOptionDisabled(option)
1129
- }
1130
- });
1131
- }
1132
- isSelectedOptionEmpty() {
1133
- if (this.multiple()) {
1134
- const currentValue = this.modelValue();
1135
- return !Array.isArray(currentValue) || currentValue.length === 0;
1136
- }
1137
- return isEmpty(this.selectedOption());
1138
- }
1139
- isOptionDisabled(option) {
1140
- return this.optionDisabled() ? resolveFieldData(option, this.optionDisabled()) : option && option.disabled !== undefined ? option.disabled : false;
1141
- }
1142
- getOptionGroupLabel(optionGroup) {
1143
- return this.optionGroupLabel() !== undefined && this.optionGroupLabel() !== null ? resolveFieldData(optionGroup, this.optionGroupLabel()) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
1144
- }
1145
- getOptionGroupChildren(optionGroup) {
1146
- return this.optionGroupChildren() !== undefined && this.optionGroupChildren() !== null ? resolveFieldData(optionGroup, this.optionGroupChildren()) : optionGroup.items;
1147
- }
1148
- getAriaPosInset(index) {
1149
- return ((this.optionGroupLabel()
1150
- ? index -
1151
- this.visibleOptions()
1152
- .slice(0, index)
1153
- .filter((option) => this.isOptionGroup(option)).length
1154
- : index) + 1);
1155
- }
1156
- get ariaSetSize() {
1157
- return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;
1158
- }
1159
- /**
1160
- * Callback to invoke on filter reset.
1161
- * @group Method
1162
- */
1163
- resetFilter() {
1164
- this._filterValue.set(null);
1165
- if (this.filterViewChild() && this.filterViewChild().nativeElement) {
1166
- this.filterViewChild().nativeElement.value = '';
1167
- }
1168
- }
1169
- onContainerClick(event) {
1170
- if (this.$disabled() || this.readonly() || this.loading()) {
1171
- return;
1172
- }
1173
- if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section="clearicon"]')) {
1174
- return;
1175
- }
1176
- else if (!this.overlayViewChild() || !this.overlayViewChild().el.nativeElement.contains(event.target)) {
1177
- this.overlayVisible() ? this.hide(true) : this.show(true);
1178
- }
1179
- this.focusInputViewChild()?.nativeElement.focus({ preventScroll: true });
1180
- this.onClick.emit(event);
1181
- this.clicked.set(true);
1182
- }
1183
- isEmpty() {
1184
- return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);
1185
- }
1186
- onEditableInput(event) {
1187
- const value = event.target.value;
1188
- this.searchValue = '';
1189
- const matched = this.searchOptions(event, value);
1190
- !matched && this.focusedOptionIndex.set(-1);
1191
- this.onModelChange(value);
1192
- this.updateModel(value || null, event);
1193
- setTimeout(() => {
1194
- this.onChange.emit({ originalEvent: event, value: value });
1195
- }, 1);
1196
- !this.overlayVisible() && isNotEmpty(value) && this.show();
1197
- }
1198
- /**
1199
- * Displays the panel.
1200
- * @group Method
1201
- */
1202
- show(isFocus) {
1203
- this.overlayVisible.set(true);
1204
- this.focusedOptionIndex.set(this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.editable() ? -1 : this.findSelectedOptionIndex());
1205
- if (isFocus) {
1206
- focus(this.focusInputViewChild()?.nativeElement);
1207
- }
1208
- }
1209
- onOverlayBeforeEnter(event) {
1210
- this.itemsWrapper = findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name="virtualscroller"]' : '[data-pc-section="listcontainer"]');
1211
- this.virtualScroll() && this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);
1212
- if (this._options() && this._options().length) {
1213
- if (this.virtualScroll()) {
1214
- const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;
1215
- if (selectedIndex !== -1) {
1216
- setTimeout(() => {
1217
- this.scroller()?.scrollToIndex(selectedIndex);
1218
- }, 10);
1219
- }
1220
- }
1221
- else {
1222
- let selectedListItem = findSingle(this.itemsWrapper, '[data-p-selected="true"]');
1223
- if (selectedListItem) {
1224
- selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1225
- }
1226
- }
1227
- }
1228
- if (this.filterViewChild() && this.filterViewChild().nativeElement) {
1229
- this.preventModelTouched = true;
1230
- if (this.autofocusFilter() && !this.editable()) {
1231
- this.filterViewChild().nativeElement.focus();
1232
- }
1233
- }
1234
- this.onShow.emit(event);
1235
- }
1236
- onOverlayAfterLeave(event) {
1237
- this.itemsWrapper = null;
1238
- this.onModelTouched();
1239
- this.onHide.emit(event);
1240
- }
1241
- /**
1242
- * Hides the panel.
1243
- * @group Method
1244
- */
1245
- hide(isFocus) {
1246
- this.overlayVisible.set(false);
1247
- this.focusedOptionIndex.set(-1);
1248
- this.clicked.set(false);
1249
- this.searchValue = '';
1250
- if (this.overlayOptions()?.mode === 'modal') {
1251
- unblockBodyScroll();
1252
- }
1253
- if (this.filter() && this.resetFilterOnHide()) {
1254
- this.resetFilter();
1255
- }
1256
- if (isFocus) {
1257
- if (this.focusInputViewChild()) {
1258
- focus(this.focusInputViewChild()?.nativeElement);
1259
- }
1260
- if (this.editable() && this.editableInputViewChild()) {
1261
- focus(this.editableInputViewChild()?.nativeElement);
1262
- }
1263
- }
1264
- }
1265
- onInputFocus(event) {
1266
- if (this.$disabled()) {
1267
- // For ScreenReaders
1268
- return;
1269
- }
1270
- this.focused.set(true);
1271
- const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;
1272
- this.focusedOptionIndex.set(focusedOptionIndex);
1273
- this.overlayVisible() && this.scrollInView(this.focusedOptionIndex());
1274
- this.onFocus.emit(event);
1275
- }
1276
- onInputBlur(event) {
1277
- this.focused.set(false);
1278
- this.onBlur.emit(event);
1279
- if (!this.preventModelTouched && !this.overlayVisible()) {
1280
- this.onModelTouched();
1281
- }
1282
- this.preventModelTouched = false;
1283
- }
1284
- onKeyDown(event, search = false) {
1285
- if (this.$disabled() || this.readonly() || this.loading()) {
1286
- return;
1287
- }
1288
- switch (event.code) {
1289
- //down
1290
- case 'ArrowDown':
1291
- this.onArrowDownKey(event);
1292
- break;
1293
- //up
1294
- case 'ArrowUp':
1295
- this.onArrowUpKey(event, this.editable());
1296
- break;
1297
- case 'ArrowLeft':
1298
- case 'ArrowRight':
1299
- this.onArrowLeftKey(event, this.editable());
1300
- break;
1301
- case 'Delete':
1302
- this.onDeleteKey(event);
1303
- break;
1304
- case 'Home':
1305
- this.onHomeKey(event, this.editable());
1306
- break;
1307
- case 'End':
1308
- this.onEndKey(event, this.editable());
1309
- break;
1310
- case 'PageDown':
1311
- this.onPageDownKey(event);
1312
- break;
1313
- case 'PageUp':
1314
- this.onPageUpKey(event);
1315
- break;
1316
- //space
1317
- case 'Space':
1318
- this.onSpaceKey(event, search);
1319
- break;
1320
- //enter
1321
- case 'Enter':
1322
- case 'NumpadEnter':
1323
- this.onEnterKey(event);
1324
- break;
1325
- //escape and tab
1326
- case 'Escape':
1327
- this.onEscapeKey(event);
1328
- break;
1329
- case 'Tab':
1330
- this.onTabKey(event);
1331
- break;
1332
- case 'Backspace':
1333
- this.onBackspaceKey(event, this.editable());
1334
- break;
1335
- case 'ShiftLeft':
1336
- case 'ShiftRight':
1337
- //NOOP
1338
- break;
1339
- default:
1340
- if (!event.metaKey && isPrintableCharacter(event.key)) {
1341
- !this.overlayVisible() && this.show();
1342
- !this.editable() && this.searchOptions(event, event.key);
1343
- }
1344
- break;
1345
- }
1346
- this.clicked.set(false);
1347
- }
1348
- onFilterKeyDown(event) {
1349
- switch (event.code) {
1350
- case 'ArrowDown':
1351
- this.onArrowDownKey(event);
1352
- break;
1353
- case 'ArrowUp':
1354
- this.onArrowUpKey(event, true);
1355
- break;
1356
- case 'ArrowLeft':
1357
- case 'ArrowRight':
1358
- this.onArrowLeftKey(event, true);
1359
- break;
1360
- case 'Home':
1361
- this.onHomeKey(event, true);
1362
- break;
1363
- case 'End':
1364
- this.onEndKey(event, true);
1365
- break;
1366
- case 'Enter':
1367
- case 'NumpadEnter':
1368
- this.onEnterKey(event, true);
1369
- break;
1370
- case 'Escape':
1371
- this.onEscapeKey(event);
1372
- break;
1373
- case 'Tab':
1374
- this.onTabKey(event, true);
1375
- break;
1376
- default:
1377
- break;
1378
- }
1379
- }
1380
- onFilterBlur(event) {
1381
- this.focusedOptionIndex.set(-1);
1382
- }
1383
- onArrowDownKey(event) {
1384
- if (!this.overlayVisible()) {
1385
- this.show();
1386
- this.editable() && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());
1387
- }
1388
- else {
1389
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
1390
- this.changeFocusedOptionIndex(event, optionIndex);
1391
- }
1392
- // const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
1393
- // this.changeFocusedOptionIndex(event, optionIndex);
1394
- // !this.overlayVisible() && this.show();
1395
- event.preventDefault();
1396
- event.stopPropagation();
1397
- }
1398
- changeFocusedOptionIndex(event, index) {
1399
- if (this.focusedOptionIndex() !== index) {
1400
- this.focusedOptionIndex.set(index);
1401
- this.scrollInView();
1402
- if (this.selectOnFocus() && !this.multiple()) {
1403
- const option = this.visibleOptions()[index];
1404
- this.onOptionSelect(event, option, false);
1405
- }
1406
- }
1407
- }
1408
- virtualScrollerDisabled = computed(() => !this.virtualScroll(), /* @ts-ignore */
1409
- ...(ngDevMode ? [{ debugName: "virtualScrollerDisabled" }] : /* istanbul ignore next */ []));
1410
- scrollInView(index = -1) {
1411
- const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId();
1412
- if (this.itemsViewChild() && this.itemsViewChild().nativeElement) {
1413
- const element = findSingle(this.itemsViewChild().nativeElement, `li[id="${id}"]`);
1414
- if (element) {
1415
- element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1416
- }
1417
- else if (!this.virtualScrollerDisabled()) {
1418
- setTimeout(() => {
1419
- this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
1420
- }, 0);
1421
- }
1422
- }
1423
- }
1424
- hasSelectedOption() {
1425
- return this.modelValue() !== undefined;
1426
- }
1427
- isValidSelectedOption(option) {
1428
- return this.isValidOption(option) && this.isSelected(option);
1429
- }
1430
- equalityKey() {
1431
- return this.optionValue() ? undefined : this.dataKey();
1432
- }
1433
- findFirstFocusedOptionIndex() {
1434
- const selectedIndex = this.findSelectedOptionIndex();
1435
- return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
1436
- }
1437
- findFirstOptionIndex() {
1438
- return this.visibleOptions().findIndex((option) => this.isValidOption(option));
1439
- }
1440
- findSelectedOptionIndex() {
1441
- return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
1442
- }
1443
- findNextOptionIndex(index) {
1444
- const matchedOptionIndex = index < this.visibleOptions().length - 1
1445
- ? this.visibleOptions()
1446
- .slice(index + 1)
1447
- .findIndex((option) => this.isValidOption(option))
1448
- : -1;
1449
- return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
1450
- }
1451
- findPrevOptionIndex(index) {
1452
- const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
1453
- return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1454
- }
1455
- findLastOptionIndex() {
1456
- return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
1457
- }
1458
- findLastFocusedOptionIndex() {
1459
- const selectedIndex = this.findSelectedOptionIndex();
1460
- return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1461
- }
1462
- isValidOption(option) {
1463
- return option !== undefined && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1464
- }
1465
- isOptionGroup(option) {
1466
- return this.optionGroupLabel() !== undefined && this.optionGroupLabel() !== null && option.optionGroup !== undefined && option.optionGroup !== null && option.group;
1467
- }
1468
- isOptionFocused(index, scrollerOptions) {
1469
- return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);
1470
- }
1471
- trackOption(option, index) {
1472
- if (this.isOptionGroup(option)) {
1473
- return `group_${option.index}`;
1474
- }
1475
- const dataKey = this.dataKey();
1476
- if (dataKey) {
1477
- return resolveFieldData(option, dataKey);
1478
- }
1479
- return this.getOptionValue(option);
1480
- }
1481
- onArrowUpKey(event, pressedInInputText = false) {
1482
- if (event.altKey && !pressedInInputText) {
1483
- if (this.focusedOptionIndex() !== -1) {
1484
- const option = this.visibleOptions()[this.focusedOptionIndex()];
1485
- this.onOptionSelect(event, option);
1486
- }
1487
- !this.multiple() && this.overlayVisible() && this.hide();
1488
- }
1489
- else {
1490
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
1491
- this.changeFocusedOptionIndex(event, optionIndex);
1492
- !this.overlayVisible() && this.show();
1493
- }
1494
- event.preventDefault();
1495
- event.stopPropagation();
1496
- }
1497
- onArrowLeftKey(event, pressedInInputText = false) {
1498
- pressedInInputText && this.focusedOptionIndex.set(-1);
1499
- }
1500
- onDeleteKey(event) {
1501
- if (this.showClear()) {
1502
- this.clear(event);
1503
- event.preventDefault();
1504
- }
1505
- }
1506
- onHomeKey(event, pressedInInputText = false) {
1507
- if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1508
- const target = event.currentTarget;
1509
- if (event.shiftKey) {
1510
- target.setSelectionRange(0, target.value.length);
1511
- }
1512
- else {
1513
- target.setSelectionRange(0, 0);
1514
- this.focusedOptionIndex.set(-1);
1515
- }
1516
- }
1517
- else {
1518
- this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());
1519
- !this.overlayVisible() && this.show();
1520
- }
1521
- event.preventDefault();
1522
- }
1523
- onEndKey(event, pressedInInputText = false) {
1524
- if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
1525
- const target = event.currentTarget;
1526
- if (event.shiftKey) {
1527
- target.setSelectionRange(0, target.value.length);
1528
- }
1529
- else {
1530
- const len = target.value.length;
1531
- target.setSelectionRange(len, len);
1532
- this.focusedOptionIndex.set(-1);
1533
- }
1534
- }
1535
- else {
1536
- this.changeFocusedOptionIndex(event, this.findLastOptionIndex());
1537
- !this.overlayVisible() && this.show();
1538
- }
1539
- event.preventDefault();
1540
- }
1541
- onPageDownKey(event) {
1542
- this.scrollInView(this.visibleOptions().length - 1);
1543
- event.preventDefault();
1544
- }
1545
- onPageUpKey(event) {
1546
- this.scrollInView(0);
1547
- event.preventDefault();
1548
- }
1549
- onSpaceKey(event, pressedInInputText = false) {
1550
- !this.editable() && !pressedInInputText && this.onEnterKey(event);
1551
- }
1552
- onEnterKey(event, pressedInInput = false) {
1553
- if (!this.overlayVisible()) {
1554
- this.focusedOptionIndex.set(-1);
1555
- this.onArrowDownKey(event);
1556
- }
1557
- else {
1558
- if (this.focusedOptionIndex() !== -1) {
1559
- const option = this.visibleOptions()[this.focusedOptionIndex()];
1560
- this.onOptionSelect(event, option);
1561
- }
1562
- !pressedInInput && !this.multiple() && this.hide();
1563
- }
1564
- event.preventDefault();
1565
- }
1566
- onEscapeKey(event) {
1567
- if (this.overlayVisible()) {
1568
- this.hide(true);
1569
- event.preventDefault();
1570
- event.stopPropagation();
1571
- }
1572
- }
1573
- onTabKey(event, pressedInInputText = false) {
1574
- if (!pressedInInputText) {
1575
- if (this.overlayVisible() && this.hasFocusableElements()) {
1576
- focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);
1577
- event.preventDefault();
1578
- event.stopPropagation();
1579
- }
1580
- else {
1581
- const consumedByOverlay = this.overlayVisible();
1582
- if (this.focusedOptionIndex() !== -1 && consumedByOverlay) {
1583
- const option = this.visibleOptions()[this.focusedOptionIndex()];
1584
- this.onOptionSelect(event, option);
1585
- }
1586
- if (this.overlayVisible()) {
1587
- this.hide(this.filter());
1588
- }
1589
- if (consumedByOverlay) {
1590
- event.stopPropagation();
1591
- }
1592
- }
1593
- }
1594
- }
1595
- onFirstHiddenFocus(event) {
1596
- const focusableEl = event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getFirstFocusableElement(this.overlayViewChild()?.el?.nativeElement, ':not([data-p-hidden-focusable="true"])') : this.focusInputViewChild()?.nativeElement;
1597
- focus(focusableEl);
1598
- }
1599
- onLastHiddenFocus(event) {
1600
- const focusableEl = event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable="true"])') : this.focusInputViewChild()?.nativeElement;
1601
- focus(focusableEl);
1602
- }
1603
- hasFocusableElements() {
1604
- return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
1605
- }
1606
- onBackspaceKey(event, pressedInInputText = false) {
1607
- if (pressedInInputText) {
1608
- !this.overlayVisible() && this.show();
1609
- }
1610
- }
1611
- searchFields() {
1612
- return this.filterBy()?.split(',') || this.filterFields() || [this.optionLabel()];
1613
- }
1614
- searchOptions(event, char) {
1615
- this.searchValue = (this.searchValue || '') + char;
1616
- let optionIndex = -1;
1617
- let matched = false;
1618
- optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));
1619
- if (optionIndex !== -1) {
1620
- matched = true;
1621
- }
1622
- if (optionIndex === -1 && this.focusedOptionIndex() === -1) {
1623
- optionIndex = this.findFirstFocusedOptionIndex();
1624
- }
1625
- if (optionIndex !== -1) {
1626
- setTimeout(() => {
1627
- this.changeFocusedOptionIndex(event, optionIndex);
1628
- });
1629
- }
1630
- if (this.searchTimeout) {
1631
- clearTimeout(this.searchTimeout);
1632
- }
1633
- this.searchTimeout = setTimeout(() => {
1634
- this.searchValue = '';
1635
- this.searchTimeout = null;
1636
- }, 500);
1637
- return matched;
1638
- }
1639
- isOptionMatched(option) {
1640
- return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));
1641
- }
1642
- onFilterInputChange(event) {
1643
- let value = event.target.value;
1644
- this._filterValue.set(value);
1645
- this.focusedOptionIndex.set(-1);
1646
- this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
1647
- !this.virtualScrollerDisabled() && this.scroller()?.scrollToIndex(0);
1648
- setTimeout(() => {
1649
- this.overlayViewChild()?.alignOverlay();
1650
- });
1651
- }
1652
- applyFocus() {
1653
- if (this.editable())
1654
- findSingle(this.el.nativeElement, '[data-pc-section="label"]').focus();
1655
- else
1656
- focus(this.focusInputViewChild()?.nativeElement);
1657
- }
1658
- /**
1659
- * Applies focus.
1660
- * @group Method
1661
- */
1662
- focus() {
1663
- this.applyFocus();
1664
- }
1665
- /**
1666
- * Clears the model.
1667
- * @group Method
1668
- */
1669
- clear(event) {
1670
- this.updateModel(this.multiple() ? [] : null, event);
1671
- this.clearEditableLabel();
1672
- this.onModelTouched();
1673
- this.onChange.emit({ originalEvent: event, value: this.value });
1674
- this.onClear.emit(event);
1675
- this.resetFilter();
1676
- }
1677
- /**
1678
- * @override
1679
- *
1680
- * @see {@link BaseEditableHolder.writeControlValue}
1681
- * Writes the value to the control.
1682
- */
1683
- writeControlValue(value, setModelValue) {
1684
- if (this.filter()) {
1685
- this.resetFilter();
1686
- }
1687
- this.value = value;
1688
- this.allowModelChange() && this.onModelChange(value);
1689
- setModelValue(this.value);
1690
- this.updateEditableLabel();
1691
- }
1692
- get containerDataP() {
1693
- return this.cn({
1694
- invalid: this.invalid(),
1695
- disabled: this.$disabled(),
1696
- focus: this.focused(),
1697
- fluid: this.hasFluid,
1698
- filled: this.$variant() === 'filled',
1699
- [this.size()]: this.size()
1700
- });
1701
- }
1702
- get labelDataP() {
1703
- return this.cn({
1704
- placeholder: this.label() === this.placeholder(),
1705
- clearable: this.showClear(),
1706
- disabled: this.$disabled(),
1707
- [this.size()]: this.size(),
1708
- empty: !this.editable() && !this.selectedItemTemplate() && (!this.label() || this.label() === 'p-emptylabel' || this.label().length === 0)
1709
- });
1710
- }
1711
- get dropdownIconDataP() {
1712
- return this.cn({
1713
- [this.size()]: this.size()
1714
- });
1715
- }
1716
- get overlayDataP() {
1717
- return this.cn({
1718
- ['overlay-' + this.$appendTo()]: 'overlay-' + this.$appendTo()
1719
- });
1720
- }
1721
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Select, deps: [], target: i0.ɵɵFactoryTarget.Component });
1722
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", 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: `
1723
2096
  @if (!editable()) {
1724
2097
  <span
1725
2098
  #focusInput
@@ -1748,7 +2121,7 @@ class Select extends BaseInput {
1748
2121
  [attr.aria-required]="required()"
1749
2122
  [attr.required]="$required()"
1750
2123
  [attr.disabled]="$disabledAttr()"
1751
- [attr.data-p]="labelDataP"
2124
+ [attr.data-p]="labelDataP()"
1752
2125
  >
1753
2126
  @if (!selectedItemTemplate()) {
1754
2127
  {{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}
@@ -1756,7 +2129,7 @@ class Select extends BaseInput {
1756
2129
  @if (isSelectedOptionEmpty()) {
1757
2130
  <span>{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>
1758
2131
  } @else {
1759
- <ng-container *ngTemplateOutlet="selectedItemTemplate(); context: selectedItemContext"></ng-container>
2132
+ <ng-container *ngTemplateOutlet="selectedItemTemplate(); context: selectedItemContext()"></ng-container>
1760
2133
  }
1761
2134
  }
1762
2135
  </span>
@@ -1786,7 +2159,7 @@ class Select extends BaseInput {
1786
2159
  [attr.required]="$required()"
1787
2160
  [attr.readonly]="$readonly()"
1788
2161
  [attr.disabled]="$disabledAttr()"
1789
- [attr.data-p]="labelDataP"
2162
+ [attr.data-p]="labelDataP()"
1790
2163
  />
1791
2164
  }
1792
2165
  @if (isVisibleClearIcon()) {
@@ -1794,7 +2167,7 @@ class Select extends BaseInput {
1794
2167
  <svg data-p-icon="times" [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" />
1795
2168
  } @else {
1796
2169
  <span [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'">
1797
- <ng-template *ngTemplateOutlet="clearIconTemplate(); context: clearIconContext"></ng-template>
2170
+ <ng-template *ngTemplateOutlet="clearIconTemplate(); context: clearIconContext()"></ng-template>
1798
2171
  </span>
1799
2172
  }
1800
2173
  }
@@ -1819,7 +2192,7 @@ class Select extends BaseInput {
1819
2192
  }
1820
2193
  } @else {
1821
2194
  <span [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')">
1822
- <ng-template *ngTemplateOutlet="dropdownIconTemplate(); context: dropdownIconContext"></ng-template>
2195
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate(); context: dropdownIconContext()"></ng-template>
1823
2196
  </span>
1824
2197
  }
1825
2198
  }
@@ -1841,7 +2214,7 @@ class Select extends BaseInput {
1841
2214
  (onHide)="hide()"
1842
2215
  >
1843
2216
  <ng-template #content>
1844
- <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()">
1845
2218
  <span
1846
2219
  #firstHiddenFocusableEl
1847
2220
  role="presentation"
@@ -1857,7 +2230,7 @@ class Select extends BaseInput {
1857
2230
  @if (filter()) {
1858
2231
  <div [class]="cx('header')" (click)="$event.stopPropagation()" [pBind]="ptm('header')">
1859
2232
  @if (filterTemplate()) {
1860
- <ng-container *ngTemplateOutlet="filterTemplate(); context: filterTemplateContext"></ng-container>
2233
+ <ng-container *ngTemplateOutlet="filterTemplate(); context: filterTemplateContext()"></ng-container>
1861
2234
  } @else {
1862
2235
  <p-iconfield [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
1863
2236
  <input
@@ -1917,11 +2290,11 @@ class Select extends BaseInput {
1917
2290
  }
1918
2291
  </p-scroller>
1919
2292
  } @else {
1920
- <ng-container *ngTemplateOutlet="buildInItems; context: defaultBuildInItemsContext"></ng-container>
2293
+ <ng-container *ngTemplateOutlet="buildInItems; context: defaultBuildInItemsContext()"></ng-container>
1921
2294
  }
1922
2295
 
1923
2296
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1924
- <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')">
1925
2298
  @for (option of items; track trackOption(option, i); let i = $index) {
1926
2299
  @if (isOptionGroup(option)) {
1927
2300
  <li [class]="cx('optionGroup')" [attr.id]="$id() + '_' + getOptionIndex(i, scrollerOptions)" [style]="getItemSizeStyle(scrollerOptions)" role="option" [pBind]="ptm('optionGroup')">
@@ -1941,7 +2314,7 @@ class Select extends BaseInput {
1941
2314
  [template]="itemTemplate()"
1942
2315
  [focused]="isOptionFocused(i, scrollerOptions)"
1943
2316
  [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
1944
- [ariaSetSize]="ariaSetSize"
2317
+ [ariaSetSize]="ariaSetSize()"
1945
2318
  [index]="i"
1946
2319
  [unstyled]="unstyled()"
1947
2320
  [scrollerOptions]="scrollerOptions"
@@ -1985,15 +2358,239 @@ class Select extends BaseInput {
1985
2358
  </div>
1986
2359
  </ng-template>
1987
2360
  </p-overlay>
1988
- `, 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 });
1989
- }
1990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Select, decorators: [{
1991
- type: Component,
1992
- args: [{
1993
- selector: 'p-select',
1994
- standalone: true,
1995
- imports: [NgTemplateOutlet, SelectItem, Overlay, Tooltip, AutoFocus, Times, ChevronDown, Search, InputText, IconField, InputIcon, Scroller, SharedModule, BindModule],
1996
- 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: `
1997
2594
  @if (!editable()) {
1998
2595
  <span
1999
2596
  #focusInput
@@ -2022,7 +2619,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2022
2619
  [attr.aria-required]="required()"
2023
2620
  [attr.required]="$required()"
2024
2621
  [attr.disabled]="$disabledAttr()"
2025
- [attr.data-p]="labelDataP"
2622
+ [attr.data-p]="labelDataP()"
2026
2623
  >
2027
2624
  @if (!selectedItemTemplate()) {
2028
2625
  {{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}
@@ -2030,7 +2627,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2030
2627
  @if (isSelectedOptionEmpty()) {
2031
2628
  <span>{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>
2032
2629
  } @else {
2033
- <ng-container *ngTemplateOutlet="selectedItemTemplate(); context: selectedItemContext"></ng-container>
2630
+ <ng-container *ngTemplateOutlet="selectedItemTemplate(); context: selectedItemContext()"></ng-container>
2034
2631
  }
2035
2632
  }
2036
2633
  </span>
@@ -2060,7 +2657,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2060
2657
  [attr.required]="$required()"
2061
2658
  [attr.readonly]="$readonly()"
2062
2659
  [attr.disabled]="$disabledAttr()"
2063
- [attr.data-p]="labelDataP"
2660
+ [attr.data-p]="labelDataP()"
2064
2661
  />
2065
2662
  }
2066
2663
  @if (isVisibleClearIcon()) {
@@ -2068,7 +2665,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2068
2665
  <svg data-p-icon="times" [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" />
2069
2666
  } @else {
2070
2667
  <span [class]="cx('clearIcon')" [pBind]="ptm('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'">
2071
- <ng-template *ngTemplateOutlet="clearIconTemplate(); context: clearIconContext"></ng-template>
2668
+ <ng-template *ngTemplateOutlet="clearIconTemplate(); context: clearIconContext()"></ng-template>
2072
2669
  </span>
2073
2670
  }
2074
2671
  }
@@ -2093,7 +2690,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2093
2690
  }
2094
2691
  } @else {
2095
2692
  <span [class]="cx('dropdownIcon')" [pBind]="ptm('dropdownIcon')">
2096
- <ng-template *ngTemplateOutlet="dropdownIconTemplate(); context: dropdownIconContext"></ng-template>
2693
+ <ng-template *ngTemplateOutlet="dropdownIconTemplate(); context: dropdownIconContext()"></ng-template>
2097
2694
  </span>
2098
2695
  }
2099
2696
  }
@@ -2115,7 +2712,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2115
2712
  (onHide)="hide()"
2116
2713
  >
2117
2714
  <ng-template #content>
2118
- <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()">
2119
2716
  <span
2120
2717
  #firstHiddenFocusableEl
2121
2718
  role="presentation"
@@ -2131,7 +2728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2131
2728
  @if (filter()) {
2132
2729
  <div [class]="cx('header')" (click)="$event.stopPropagation()" [pBind]="ptm('header')">
2133
2730
  @if (filterTemplate()) {
2134
- <ng-container *ngTemplateOutlet="filterTemplate(); context: filterTemplateContext"></ng-container>
2731
+ <ng-container *ngTemplateOutlet="filterTemplate(); context: filterTemplateContext()"></ng-container>
2135
2732
  } @else {
2136
2733
  <p-iconfield [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
2137
2734
  <input
@@ -2191,11 +2788,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2191
2788
  }
2192
2789
  </p-scroller>
2193
2790
  } @else {
2194
- <ng-container *ngTemplateOutlet="buildInItems; context: defaultBuildInItemsContext"></ng-container>
2791
+ <ng-container *ngTemplateOutlet="buildInItems; context: defaultBuildInItemsContext()"></ng-container>
2195
2792
  }
2196
2793
 
2197
2794
  <ng-template #buildInItems let-items let-scrollerOptions="options">
2198
- <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')">
2199
2796
  @for (option of items; track trackOption(option, i); let i = $index) {
2200
2797
  @if (isOptionGroup(option)) {
2201
2798
  <li [class]="cx('optionGroup')" [attr.id]="$id() + '_' + getOptionIndex(i, scrollerOptions)" [style]="getItemSizeStyle(scrollerOptions)" role="option" [pBind]="ptm('optionGroup')">
@@ -2215,7 +2812,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2215
2812
  [template]="itemTemplate()"
2216
2813
  [focused]="isOptionFocused(i, scrollerOptions)"
2217
2814
  [ariaPosInset]="getAriaPosInset(getOptionIndex(i, scrollerOptions))"
2218
- [ariaSetSize]="ariaSetSize"
2815
+ [ariaSetSize]="ariaSetSize()"
2219
2816
  [index]="i"
2220
2817
  [unstyled]="unstyled()"
2221
2818
  [scrollerOptions]="scrollerOptions"
@@ -2260,34 +2857,671 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2260
2857
  </ng-template>
2261
2858
  </p-overlay>
2262
2859
  `,
2263
- host: {
2264
- '[class]': "cx('root')",
2265
- '[attr.id]': '$id()',
2266
- '[attr.data-p]': 'containerDataP',
2267
- '(click)': 'onContainerClick($event)'
2268
- },
2269
- providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }],
2270
- changeDetection: ChangeDetectionStrategy.OnPush,
2271
- encapsulation: ViewEncapsulation.None,
2272
- hostDirectives: [Bind]
2273
- }]
2274
- }], 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 }] }] } });
2275
- class SelectModule {
2276
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2277
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: SelectModule, imports: [Select, SharedModule], exports: [Select, SharedModule] });
2278
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectModule, imports: [Select, SharedModule, SharedModule] });
2279
- }
2280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: SelectModule, decorators: [{
2281
- type: NgModule,
2282
- args: [{
2283
- imports: [Select, SharedModule],
2284
- exports: [Select, SharedModule]
2285
- }]
2286
- }] });
2287
-
2288
- /**
2289
- * Generated bundle index. Do not edit.
2290
- */
2291
-
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
+ });
2292
3525
  export { SELECT_VALUE_ACCESSOR, Select, SelectClasses, SelectModule, SelectStyle };
2293
- //# sourceMappingURL=primeng-select.mjs.map
3526
+
3527
+ //# sourceMappingURL=primeng-select.mjs.map