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,32 +1,31 @@
1
- export * from 'primeng/types/listbox';
2
- import * as i3 from '@angular/cdk/drag-drop';
3
- import { moveItemInArray, DragDropModule, CDK_DRAG_CONFIG } from '@angular/cdk/drag-drop';
4
- import { NgTemplateOutlet } from '@angular/common';
5
- import * as i0 from '@angular/core';
6
- import { Injectable, InjectionToken, forwardRef, input, inject, booleanAttribute, numberAttribute, output, viewChild, contentChild, signal, computed, effect, HostListener, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
7
- import { toSignal } from '@angular/core/rxjs-interop';
8
- import * as i2 from '@angular/forms';
9
- import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
10
- import { Blank } from '@primeicons/angular/blank';
11
- import { Check } from '@primeicons/angular/check';
12
- import { Search } from '@primeicons/angular/search';
13
- import { uuid, isNotEmpty, equals, focus, getFirstFocusableElement, isEmpty, isPrintableCharacter, resolveFieldData, findSingle, findLastIndex, isFunction } from '@primeuix/utils';
14
- import { FilterService, Header, Footer, SharedModule } from 'primeng/api';
15
- import { PARENT_INSTANCE } from 'primeng/basecomponent';
16
- import { BaseEditableHolder } from 'primeng/baseeditableholder';
17
- import * as i1 from 'primeng/bind';
18
- import { Bind, BindModule } from 'primeng/bind';
19
- import { Checkbox } from 'primeng/checkbox';
20
- import { IconField } from 'primeng/iconfield';
21
- import { InputIcon } from 'primeng/inputicon';
22
- import { InputText } from 'primeng/inputtext';
23
- import { Ripple } from 'primeng/ripple';
24
- import { Scroller } from 'primeng/scroller';
25
- import { style as style$1 } from '@primeuix/styles/listbox';
26
- import { BaseStyle } from 'primeng/base';
27
-
28
- const style = /*css*/ `
29
- ${style$1}
1
+ import * as i3 from "@angular/cdk/drag-drop";
2
+ import { CDK_DRAG_CONFIG, DragDropModule, moveItemInArray } from "@angular/cdk/drag-drop";
3
+ import { NgTemplateOutlet } from "@angular/common";
4
+ import * as i0 from "@angular/core";
5
+ import { ChangeDetectionStrategy, Component, HostListener, Injectable, InjectionToken, NgModule, ViewEncapsulation, booleanAttribute, computed, contentChild, effect, forwardRef, inject, input, numberAttribute, output, signal, viewChild } from "@angular/core";
6
+ import { toSignal } from "@angular/core/rxjs-interop";
7
+ import * as i2 from "@angular/forms";
8
+ import { FormsModule, NG_VALUE_ACCESSOR } from "@angular/forms";
9
+ import { Blank } from "@primeicons/angular/blank";
10
+ import { Check } from "@primeicons/angular/check";
11
+ import { Search } from "@primeicons/angular/search";
12
+ import { equals, findLastIndex, findSingle, focus, getFirstFocusableElement, isEmpty, isFunction, isNotEmpty, isPrintableCharacter, resolveFieldData, uuid } from "@primeuix/utils";
13
+ import { FilterService, Footer, Header, SharedModule } from "primeng/api";
14
+ import { PARENT_INSTANCE } from "primeng/basecomponent";
15
+ import { BaseEditableHolder } from "primeng/baseeditableholder";
16
+ import * as i1 from "primeng/bind";
17
+ import { Bind, BindModule } from "primeng/bind";
18
+ import { Checkbox } from "primeng/checkbox";
19
+ import { IconField } from "primeng/iconfield";
20
+ import { InputIcon } from "primeng/inputicon";
21
+ import { InputText } from "primeng/inputtext";
22
+ import { Ripple } from "primeng/ripple";
23
+ import { Scroller } from "primeng/scroller";
24
+ import { style } from "@primeuix/styles/listbox";
25
+ import { BaseStyle } from "primeng/base";
26
+ export * from "primeng/types/listbox";
27
+ const style$1 = `
28
+ ${style}
30
29
 
31
30
  /* For PrimeNG */
32
31
  .p-listbox.ng-invalid.ng-dirty {
@@ -46,9 +45,6 @@ const style = /*css*/ `
46
45
  height: 100%;
47
46
  }
48
47
 
49
- /* scrollHeight="flex": the root fills its flex-constrained parent and lays out
50
- as a column so the header/filter keep their natural height and the scrollable
51
- list shrinks to the remaining space instead of overflowing the container. */
52
48
  .p-listbox-flex-scrollable {
53
49
  display: flex;
54
50
  flex-direction: column;
@@ -60,19 +56,11 @@ const style = /*css*/ `
60
56
  }
61
57
 
62
58
  /* CDK Drag & Drop styles */
63
- /* The single-item ghost and the rows inside the multi-selection preview both
64
- use the plain list background, so a multi-drag looks like several copies of
65
- the single-drag ghost rather than a block of highlighted (selected) rows. */
66
59
  .p-listbox-option.cdk-drag-preview,
67
60
  .p-listbox-drag-preview .p-listbox-option {
68
61
  background: dt('listbox.background');
69
62
  }
70
63
 
71
- /* Multi-selection drag preview: dragging an option that is part of a
72
- multi-selection previews the whole selection. The preview mirrors the
73
- listbox DOM so the theme styles the rows, but the container card chrome
74
- (background, border, shadow) is stripped so the floating copy reads as a
75
- bare silhouette of the dragged rows rather than a detached panel. */
76
64
  .p-listbox.p-listbox-drag-preview {
77
65
  max-width: 20rem;
78
66
  pointer-events: none;
@@ -103,1512 +91,1508 @@ const style = /*css*/ `
103
91
  }
104
92
  `;
105
93
  const classes = {
106
- root: ({ instance }) => [
107
- 'p-listbox p-component',
108
- {
109
- 'p-listbox-striped': instance.striped(),
110
- 'p-disabled': instance.$disabled(),
111
- 'p-invalid': instance.invalid(),
112
- 'p-listbox-fluid': instance.fluid(),
113
- 'p-listbox-dragging': instance.isDragging(),
114
- 'p-listbox-flex-scrollable': instance.scrollHeight() === 'flex'
115
- }
116
- ],
117
- header: 'p-listbox-header',
118
- pcFilter: 'p-listbox-filter',
119
- listContainer: 'p-listbox-list-container',
120
- list: 'p-listbox-list',
121
- optionGroup: 'p-listbox-option-group',
122
- option: ({ instance, option, i, scrollerOptions }) => [
123
- 'p-listbox-option',
124
- {
125
- 'p-listbox-option-selected': instance.isSelected(option) && instance.highlightOnSelect(),
126
- 'p-focus': instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),
127
- 'p-disabled': instance.isOptionDisabled(option)
128
- }
129
- ],
130
- optionCheckIcon: 'p-listbox-option-check-icon',
131
- optionBlankIcon: 'p-listbox-option-blank-icon',
132
- emptyMessage: 'p-listbox-empty-message',
133
- // Root + list + option classes mirror the listbox DOM so the theme styles the preview.
134
- // Options are intentionally NOT marked selected, so the preview rows match the plain
135
- // single-item drag ghost instead of the highlighted selected background.
136
- dragPreview: 'p-listbox p-component p-listbox-drag-preview',
137
- dragPreviewOption: 'p-listbox-option',
138
- dragPreviewMore: 'p-listbox-option p-listbox-drag-preview-more'
94
+ root: ({ instance }) => ["p-listbox p-component", {
95
+ "p-listbox-striped": instance.striped(),
96
+ "p-disabled": instance.$disabled(),
97
+ "p-invalid": instance.invalid(),
98
+ "p-listbox-fluid": instance.fluid(),
99
+ "p-listbox-dragging": instance.isDragging(),
100
+ "p-listbox-flex-scrollable": instance.scrollHeight() === "flex"
101
+ }],
102
+ header: "p-listbox-header",
103
+ pcFilter: "p-listbox-filter",
104
+ listContainer: "p-listbox-list-container",
105
+ list: "p-listbox-list",
106
+ optionGroup: "p-listbox-option-group",
107
+ option: ({ instance, option, i, scrollerOptions }) => ["p-listbox-option", {
108
+ "p-listbox-option-selected": instance.isSelected(option) && instance.highlightOnSelect(),
109
+ "p-focus": instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),
110
+ "p-disabled": instance.isOptionDisabled(option)
111
+ }],
112
+ optionCheckIcon: "p-listbox-option-check-icon",
113
+ optionBlankIcon: "p-listbox-option-blank-icon",
114
+ emptyMessage: "p-listbox-empty-message",
115
+ dragPreview: "p-listbox p-component p-listbox-drag-preview",
116
+ dragPreviewOption: "p-listbox-option",
117
+ dragPreviewMore: "p-listbox-option p-listbox-drag-preview-more"
139
118
  };
140
- class ListBoxStyle extends BaseStyle {
141
- name = 'listbox';
142
- style = style;
143
- classes = classes;
144
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListBoxStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
145
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListBoxStyle });
146
- }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListBoxStyle, decorators: [{
148
- type: Injectable
149
- }] });
150
- /**
151
- *
152
- * ListBox is used to select one or more values from a list of items.
153
- *
154
- * [Live Demo](https://www.primeng.org/listbox/)
155
- *
156
- * @module listboxstyle
157
- *
158
- */
119
+ var ListBoxStyle = class ListBoxStyle extends BaseStyle {
120
+ name = "listbox";
121
+ style = style$1;
122
+ classes = classes;
123
+ static ɵfac = i0.ɵɵngDeclareFactory({
124
+ minVersion: "12.0.0",
125
+ version: "22.2.0",
126
+ ngImport: i0,
127
+ type: ListBoxStyle,
128
+ deps: null,
129
+ target: i0.ɵɵFactoryTarget.Injectable
130
+ });
131
+ static ɵprov = i0.ɵɵngDeclareInjectable({
132
+ minVersion: "12.0.0",
133
+ version: "22.2.0",
134
+ ngImport: i0,
135
+ type: ListBoxStyle
136
+ });
137
+ };
138
+ i0.ɵɵngDeclareClassMetadata({
139
+ minVersion: "12.0.0",
140
+ version: "22.2.0",
141
+ ngImport: i0,
142
+ type: ListBoxStyle,
143
+ decorators: [{ type: Injectable }]
144
+ });
159
145
  var ListboxClasses;
160
- (function (ListboxClasses) {
161
- /**
162
- * Class name of the root element
163
- */
164
- ListboxClasses["root"] = "p-listbox";
165
- /**
166
- * Class name of the header element
167
- */
168
- ListboxClasses["header"] = "p-listbox-header";
169
- /**
170
- * Class name of the filter element
171
- */
172
- ListboxClasses["pcFilter"] = "p-listbox-filter";
173
- /**
174
- * Class name of the list container element
175
- */
176
- ListboxClasses["listContainer"] = "p-listbox-list-container";
177
- /**
178
- * Class name of the list element
179
- */
180
- ListboxClasses["list"] = "p-listbox-list";
181
- /**
182
- * Class name of the option group element
183
- */
184
- ListboxClasses["optionGroup"] = "p-listbox-option-group";
185
- /**
186
- * Class name of the option element
187
- */
188
- ListboxClasses["option"] = "p-listbox-option";
189
- /**
190
- * Class name of the option check icon element
191
- */
192
- ListboxClasses["optionCheckIcon"] = "p-listbox-option-check-icon";
193
- /**
194
- * Class name of the option blank icon element
195
- */
196
- ListboxClasses["optionBlankIcon"] = "p-listbox-option-blank-icon";
197
- /**
198
- * Class name of the empty message element
199
- */
200
- ListboxClasses["emptyMessage"] = "p-listbox-empty-message";
201
- /**
202
- * Class name of the multi-selection drag preview container
203
- */
204
- ListboxClasses["dragPreview"] = "p-listbox-drag-preview";
205
- /**
206
- * Class name of the overflow row in the multi-selection drag preview
207
- */
208
- ListboxClasses["dragPreviewMore"] = "p-listbox-drag-preview-more";
146
+ (function(ListboxClasses) {
147
+ ListboxClasses["root"] = "p-listbox";
148
+ ListboxClasses["header"] = "p-listbox-header";
149
+ ListboxClasses["pcFilter"] = "p-listbox-filter";
150
+ ListboxClasses["listContainer"] = "p-listbox-list-container";
151
+ ListboxClasses["list"] = "p-listbox-list";
152
+ ListboxClasses["optionGroup"] = "p-listbox-option-group";
153
+ ListboxClasses["option"] = "p-listbox-option";
154
+ ListboxClasses["optionCheckIcon"] = "p-listbox-option-check-icon";
155
+ ListboxClasses["optionBlankIcon"] = "p-listbox-option-blank-icon";
156
+ ListboxClasses["emptyMessage"] = "p-listbox-empty-message";
157
+ ListboxClasses["dragPreview"] = "p-listbox-drag-preview";
158
+ ListboxClasses["dragPreviewMore"] = "p-listbox-drag-preview-more";
209
159
  })(ListboxClasses || (ListboxClasses = {}));
210
-
211
- const LISTBOX_INSTANCE = new InjectionToken('LISTBOX_INSTANCE');
160
+ const LISTBOX_INSTANCE = new InjectionToken("LISTBOX_INSTANCE");
212
161
  const LISTBOX_VALUE_ACCESSOR = {
213
- provide: NG_VALUE_ACCESSOR,
214
- useExisting: forwardRef(() => Listbox),
215
- multi: true
162
+ provide: NG_VALUE_ACCESSOR,
163
+ useExisting: forwardRef(() => Listbox),
164
+ multi: true
216
165
  };
217
- /**
218
- * ListBox is used to select one or more values from a list of items.
219
- * @group Components
220
- */
221
- class Listbox extends BaseEditableHolder {
222
- componentName = 'Listbox';
223
- hostName = input('', /* @ts-ignore */
224
- ...(ngDevMode ? [{ debugName: "hostName" }] : /* istanbul ignore next */ []));
225
- bindDirectiveInstance = inject(Bind, { self: true });
226
- $pcListbox = inject(LISTBOX_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
227
- filterService = inject(FilterService);
228
- onAfterViewChecked() {
229
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
230
- }
231
- /**
232
- * Unique identifier of the component.
233
- * @group Props
234
- */
235
- id = input(/* @ts-ignore */
236
- ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
237
- /**
238
- * Text to display when the search is active. Defaults to global value in i18n translation configuration.
239
- * @group Props
240
- * @defaultValue '{0} results are available'
241
- */
242
- searchMessage = input(/* @ts-ignore */
243
- ...(ngDevMode ? [undefined, { debugName: "searchMessage" }] : /* istanbul ignore next */ []));
244
- /**
245
- * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.
246
- * @group Props
247
- * @defaultValue 'No selected item'
248
- */
249
- emptySelectionMessage = input(/* @ts-ignore */
250
- ...(ngDevMode ? [undefined, { debugName: "emptySelectionMessage" }] : /* istanbul ignore next */ []));
251
- /**
252
- * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.
253
- * @group Props
254
- * @defaultValue '{0} items selected'
255
- */
256
- selectionMessage = input(/* @ts-ignore */
257
- ...(ngDevMode ? [undefined, { debugName: "selectionMessage" }] : /* istanbul ignore next */ []));
258
- /**
259
- * Whether to focus on the first visible or selected element when the overlay panel is shown.
260
- * @group Props
261
- */
262
- autoOptionFocus = input(true, { ...(ngDevMode ? { debugName: "autoOptionFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
263
- /**
264
- * Defines a string that labels the input for accessibility.
265
- * @group Props
266
- */
267
- ariaLabel = input(/* @ts-ignore */
268
- ...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
269
- /**
270
- * When enabled, the focused option is selected.
271
- * @group Props
272
- */
273
- selectOnFocus = input(undefined, { ...(ngDevMode ? { debugName: "selectOnFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
274
- /**
275
- * Locale to use in searching. The default locale is the host environment's current locale.
276
- * @group Props
277
- */
278
- searchLocale = input(undefined, { ...(ngDevMode ? { debugName: "searchLocale" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
279
- /**
280
- * When enabled, the hovered option will be focused.
281
- * @group Props
282
- */
283
- focusOnHover = input(true, { ...(ngDevMode ? { debugName: "focusOnHover" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
284
- /**
285
- * Text to display when filtering.
286
- * @group Props
287
- */
288
- filterMessage = input(/* @ts-ignore */
289
- ...(ngDevMode ? [undefined, { debugName: "filterMessage" }] : /* istanbul ignore next */ []));
290
- /**
291
- * Fields used when filtering the options, defaults to optionLabel.
292
- * @group Props
293
- */
294
- filterFields = input(/* @ts-ignore */
295
- ...(ngDevMode ? [undefined, { debugName: "filterFields" }] : /* istanbul ignore next */ []));
296
- /**
297
- * Defines if data is loaded and interacted with in lazy manner.
298
- * @group Props
299
- */
300
- lazy = input(false, { ...(ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
301
- /**
302
- * Whether the data should be loaded on demand during scroll.
303
- * @group Props
304
- */
305
- virtualScroll = input(undefined, { ...(ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
306
- /**
307
- * Height of an item in the list for VirtualScrolling.
308
- * @group Props
309
- */
310
- virtualScrollItemSize = input(undefined, { ...(ngDevMode ? { debugName: "virtualScrollItemSize" } : /* istanbul ignore next */ {}), transform: numberAttribute });
311
- /**
312
- * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.
313
- * @group Props
314
- */
315
- virtualScrollOptions = input(/* @ts-ignore */
316
- ...(ngDevMode ? [undefined, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []));
317
- /**
318
- * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.
319
- * @group Props
320
- */
321
- scrollHeight = input('14rem', /* @ts-ignore */
322
- ...(ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []));
323
- /**
324
- * Index of the element in tabbing order.
325
- * @group Props
326
- */
327
- tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
328
- /**
329
- * When specified, allows selecting multiple values.
330
- * @group Props
331
- */
332
- multiple = input(undefined, { ...(ngDevMode ? { debugName: "multiple" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
333
- /**
334
- * Inline style of the list element.
335
- * @group Props
336
- */
337
- listStyle = input(/* @ts-ignore */
338
- ...(ngDevMode ? [undefined, { debugName: "listStyle" }] : /* istanbul ignore next */ []));
339
- /**
340
- * Style class of the list element.
341
- * @group Props
342
- */
343
- listStyleClass = input(/* @ts-ignore */
344
- ...(ngDevMode ? [undefined, { debugName: "listStyleClass" }] : /* istanbul ignore next */ []));
345
- /**
346
- * When present, it specifies that the element value cannot be changed.
347
- * @group Props
348
- */
349
- readonly = input(undefined, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
350
- /**
351
- * When specified, allows selecting items with checkboxes.
352
- * @group Props
353
- */
354
- checkbox = input(false, { ...(ngDevMode ? { debugName: "checkbox" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
355
- /**
356
- * When specified, displays a filter input at header.
357
- * @group Props
358
- */
359
- filter = input(false, { ...(ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
360
- /**
361
- * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.
362
- * @group Props
363
- */
364
- filterBy = input(/* @ts-ignore */
365
- ...(ngDevMode ? [undefined, { debugName: "filterBy" }] : /* istanbul ignore next */ []));
366
- /**
367
- * Defines how the items are filtered.
368
- * @group Props
369
- */
370
- filterMatchMode = input('contains', /* @ts-ignore */
371
- ...(ngDevMode ? [{ debugName: "filterMatchMode" }] : /* istanbul ignore next */ []));
372
- /**
373
- * Locale to use in filtering. The default locale is the host environment's current locale.
374
- * @group Props
375
- */
376
- filterLocale = input(/* @ts-ignore */
377
- ...(ngDevMode ? [undefined, { debugName: "filterLocale" }] : /* istanbul ignore next */ []));
378
- /**
379
- * Defines how multiple items can be selected, when true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.
380
- * @group Props
381
- */
382
- metaKeySelection = input(false, { ...(ngDevMode ? { debugName: "metaKeySelection" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
383
- /**
384
- * A property to uniquely identify a value in options.
385
- * @group Props
386
- */
387
- dataKey = input(/* @ts-ignore */
388
- ...(ngDevMode ? [undefined, { debugName: "dataKey" }] : /* istanbul ignore next */ []));
389
- /**
390
- * Whether header checkbox is shown in multiple mode.
391
- * @group Props
392
- */
393
- showToggleAll = input(true, { ...(ngDevMode ? { debugName: "showToggleAll" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
394
- /**
395
- * Name of the label field of an option.
396
- * @group Props
397
- */
398
- optionLabel = input(/* @ts-ignore */
399
- ...(ngDevMode ? [undefined, { debugName: "optionLabel" }] : /* istanbul ignore next */ []));
400
- /**
401
- * Name of the value field of an option.
402
- * @group Props
403
- */
404
- optionValue = input(/* @ts-ignore */
405
- ...(ngDevMode ? [undefined, { debugName: "optionValue" }] : /* istanbul ignore next */ []));
406
- /**
407
- * Name of the options field of an option group.
408
- * @group Props
409
- */
410
- optionGroupChildren = input('items', /* @ts-ignore */
411
- ...(ngDevMode ? [{ debugName: "optionGroupChildren" }] : /* istanbul ignore next */ []));
412
- /**
413
- * Name of the label field of an option group.
414
- * @group Props
415
- */
416
- optionGroupLabel = input('label', /* @ts-ignore */
417
- ...(ngDevMode ? [{ debugName: "optionGroupLabel" }] : /* istanbul ignore next */ []));
418
- /**
419
- * Name of the disabled field of an option or function to determine disabled state.
420
- * @group Props
421
- */
422
- optionDisabled = input(/* @ts-ignore */
423
- ...(ngDevMode ? [undefined, { debugName: "optionDisabled" }] : /* istanbul ignore next */ []));
424
- /**
425
- * Defines a string that labels the filter input.
426
- * @group Props
427
- */
428
- ariaFilterLabel = input(/* @ts-ignore */
429
- ...(ngDevMode ? [undefined, { debugName: "ariaFilterLabel" }] : /* istanbul ignore next */ []));
430
- /**
431
- * Defines placeholder of the filter input.
432
- * @group Props
433
- */
434
- filterPlaceHolder = input(/* @ts-ignore */
435
- ...(ngDevMode ? [undefined, { debugName: "filterPlaceHolder" }] : /* istanbul ignore next */ []));
436
- /**
437
- * Text to display when filtering does not return any results.
438
- * @group Props
439
- */
440
- emptyFilterMessage = input(/* @ts-ignore */
441
- ...(ngDevMode ? [undefined, { debugName: "emptyFilterMessage" }] : /* istanbul ignore next */ []));
442
- /**
443
- * Text to display when there is no data. Defaults to global value in i18n translation configuration.
444
- * @group Props
445
- */
446
- emptyMessage = input(/* @ts-ignore */
447
- ...(ngDevMode ? [undefined, { debugName: "emptyMessage" }] : /* istanbul ignore next */ []));
448
- /**
449
- * Whether to display options as grouped when nested options are provided.
450
- * @group Props
451
- */
452
- group = input(undefined, { ...(ngDevMode ? { debugName: "group" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
453
- /**
454
- * An array of selectitems to display as the available options.
455
- * @group Props
456
- */
457
- options = input(/* @ts-ignore */
458
- ...(ngDevMode ? [undefined, { debugName: "options" }] : /* istanbul ignore next */ []));
459
- /**
460
- * When specified, filter displays with this value.
461
- * @group Props
462
- */
463
- filterValue = input(/* @ts-ignore */
464
- ...(ngDevMode ? [undefined, { debugName: "filterValue" }] : /* istanbul ignore next */ []));
465
- /**
466
- * Whether all data is selected.
467
- * @group Props
468
- */
469
- selectAll = input(/* @ts-ignore */
470
- ...(ngDevMode ? [undefined, { debugName: "selectAll" }] : /* istanbul ignore next */ []));
471
- /**
472
- * Whether to displays rows with alternating colors.
473
- * @group Props
474
- * @defaultValue false
475
- */
476
- striped = input(false, { ...(ngDevMode ? { debugName: "striped" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
477
- /**
478
- * Whether the selected option will be add highlight class.
479
- * @group Props
480
- * @defaultValue true
481
- */
482
- highlightOnSelect = input(true, { ...(ngDevMode ? { debugName: "highlightOnSelect" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
483
- /**
484
- * Whether the selected option will be shown with a check mark.
485
- * @group Props
486
- * @defaultValue false
487
- */
488
- checkmark = input(false, { ...(ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
489
- /**
490
- * Whether to enable dragdrop based reordering.
491
- * @group Props
492
- */
493
- dragdrop = input(false, { ...(ngDevMode ? { debugName: "dragdrop" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
494
- /**
495
- * Array to use for CDK drop list data binding. When not provided, uses options array.
496
- * @group Props
497
- */
498
- dropListData = input(/* @ts-ignore */
499
- ...(ngDevMode ? [undefined, { debugName: "dropListData" }] : /* istanbul ignore next */ []));
500
- /**
501
- * Spans 100% width of the container when enabled.
502
- * @defaultValue undefined
503
- * @group Props
504
- */
505
- fluid = input(undefined, { ...(ngDevMode ? { debugName: "fluid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
506
- /**
507
- * Callback to invoke on value change.
508
- * @param {ListboxChangeEvent} event - Custom change event.
509
- * @group Emits
510
- */
511
- onChange = output();
512
- /**
513
- * Callback to invoke when option is clicked.
514
- * @param {ListboxClickEvent} event - Custom click event.
515
- * @group Emits
516
- */
517
- onClick = output();
518
- /**
519
- * Callback to invoke when option is double clicked.
520
- * @param {ListboxDoubleClickEvent} event - Custom double click event.
521
- * @group Emits
522
- */
523
- onDblClick = output();
524
- /**
525
- * Callback to invoke when data is filtered.
526
- * @param {ListboxFilterEvent} event - Custom filter event.
527
- * @group Emits
528
- */
529
- onFilter = output();
530
- /**
531
- * Callback to invoke when component receives focus.
532
- * @param {FocusEvent} event - Focus event.
533
- * @group Emits
534
- */
535
- onFocus = output();
536
- /**
537
- * Callback to invoke when component loses focus.
538
- * @param {FocusEvent} event - Blur event.
539
- * @group Emits
540
- */
541
- onBlur = output();
542
- /**
543
- * Callback to invoke when all data is selected.
544
- * @param {ListboxSelectAllChangeEvent} event - Custom select event.
545
- * @group Emits
546
- */
547
- onSelectAllChange = output();
548
- /**
549
- * Emits on lazy load.
550
- * @param {ScrollerLazyLoadEvent} event - Scroller lazy load event.
551
- * @group Emits
552
- */
553
- onLazyLoad = output();
554
- /**
555
- * Emits on item is dropped.
556
- * @param {CdkDragDrop<string[]>} event - Scroller lazy load event.
557
- * @group Emits
558
- */
559
- onDrop = output();
560
- headerCheckboxViewChild = viewChild('headerchkbox', /* @ts-ignore */
561
- ...(ngDevMode ? [{ debugName: "headerCheckboxViewChild" }] : /* istanbul ignore next */ []));
562
- filterViewChild = viewChild('filterInput', /* @ts-ignore */
563
- ...(ngDevMode ? [{ debugName: "filterViewChild" }] : /* istanbul ignore next */ []));
564
- lastHiddenFocusableElement = viewChild('lastHiddenFocusableElement', /* @ts-ignore */
565
- ...(ngDevMode ? [{ debugName: "lastHiddenFocusableElement" }] : /* istanbul ignore next */ []));
566
- firstHiddenFocusableElement = viewChild('firstHiddenFocusableElement', /* @ts-ignore */
567
- ...(ngDevMode ? [{ debugName: "firstHiddenFocusableElement" }] : /* istanbul ignore next */ []));
568
- scroller = viewChild('scroller', /* @ts-ignore */
569
- ...(ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []));
570
- listViewChild = viewChild('list', /* @ts-ignore */
571
- ...(ngDevMode ? [{ debugName: "listViewChild" }] : /* istanbul ignore next */ []));
572
- containerViewChild = viewChild('container', /* @ts-ignore */
573
- ...(ngDevMode ? [{ debugName: "containerViewChild" }] : /* istanbul ignore next */ []));
574
- headerFacet = contentChild(Header, { ...(ngDevMode ? { debugName: "headerFacet" } : /* istanbul ignore next */ {}), descendants: false });
575
- footerFacet = contentChild(Footer, { ...(ngDevMode ? { debugName: "footerFacet" } : /* istanbul ignore next */ {}), descendants: false });
576
- /**
577
- * Custom item template.
578
- * @param {ListboxItemTemplateContext} context - item context.
579
- * @see {@link ListboxItemTemplateContext}
580
- * @group Templates
581
- */
582
- itemTemplate = contentChild('item', { ...(ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {}), descendants: false });
583
- /**
584
- * Custom group template.
585
- * @param {ListboxGroupTemplateContext} context - group context.
586
- * @see {@link ListboxGroupTemplateContext}
587
- * @group Templates
588
- */
589
- groupTemplate = contentChild('group', { ...(ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {}), descendants: false });
590
- /**
591
- * Custom header template.
592
- * @param {ListboxHeaderTemplateContext} context - header context.
593
- * @see {@link ListboxHeaderTemplateContext}
594
- * @group Templates
595
- */
596
- headerTemplate = contentChild('header', { ...(ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
597
- /**
598
- * Custom filter template.
599
- * @param {ListboxFilterTemplateContext} context - filter context.
600
- * @see {@link ListboxFilterTemplateContext}
601
- * @group Templates
602
- */
603
- filterTemplate = contentChild('filter', { ...(ngDevMode ? { debugName: "filterTemplate" } : /* istanbul ignore next */ {}), descendants: false });
604
- /**
605
- * Custom footer template.
606
- * @param {ListboxFooterTemplateContext} context - footer context.
607
- * @see {@link ListboxFooterTemplateContext}
608
- * @group Templates
609
- */
610
- footerTemplate = contentChild('footer', { ...(ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {}), descendants: false });
611
- /**
612
- * Custom empty filter message template.
613
- * @group Templates
614
- */
615
- emptyFilterTemplate = contentChild('emptyfilter', { ...(ngDevMode ? { debugName: "emptyFilterTemplate" } : /* istanbul ignore next */ {}), descendants: false });
616
- /**
617
- * Custom empty message template.
618
- * @group Templates
619
- */
620
- emptyTemplate = contentChild('empty', { ...(ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {}), descendants: false });
621
- /**
622
- * Custom filter icon template.
623
- * @group Templates
624
- */
625
- filterIconTemplate = contentChild('filtericon', { ...(ngDevMode ? { debugName: "filterIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
626
- /**
627
- * Custom check icon template.
628
- * @param {ListboxCheckIconTemplateContext} context - check icon context.
629
- * @see {@link ListboxCheckIconTemplateContext}
630
- * @group Templates
631
- */
632
- checkIconTemplate = contentChild('checkicon', { ...(ngDevMode ? { debugName: "checkIconTemplate" } : /* istanbul ignore next */ {}), descendants: false });
633
- /**
634
- * Custom checkmark icon template.
635
- * @param {ListboxCheckmarkTemplateContext} context - checkmark context.
636
- * @see {@link ListboxCheckmarkTemplateContext}
637
- * @group Templates
638
- */
639
- checkmarkTemplate = contentChild('checkmark', { ...(ngDevMode ? { debugName: "checkmarkTemplate" } : /* istanbul ignore next */ {}), descendants: false });
640
- /**
641
- * Custom loader template.
642
- * @param {ListboxLoaderTemplateContext} context - loader context.
643
- * @see {@link ListboxLoaderTemplateContext}
644
- * @group Templates
645
- */
646
- loaderTemplate = contentChild('loader', { ...(ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {}), descendants: false });
647
- _filterValue = signal(null, /* @ts-ignore */
648
- ...(ngDevMode ? [{ debugName: "_filterValue" }] : /* istanbul ignore next */ []));
649
- _filteredOptions;
650
- filterOptions;
651
- filtered;
652
- value;
653
- optionTouched;
654
- focus;
655
- headerCheckboxFocus;
656
- translation = toSignal(this.config.translationObserver, { initialValue: this.config.translation });
657
- focused;
658
- scrollerTabIndex = 0;
659
- _componentStyle = inject(ListBoxStyle);
660
- _options = signal(null, /* @ts-ignore */
661
- ...(ngDevMode ? [{ debugName: "_options" }] : /* istanbul ignore next */ []));
662
- startRangeIndex = signal(-1, /* @ts-ignore */
663
- ...(ngDevMode ? [{ debugName: "startRangeIndex" }] : /* istanbul ignore next */ []));
664
- focusedOptionIndex = signal(-1, /* @ts-ignore */
665
- ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []));
666
- isDragging = signal(false, /* @ts-ignore */
667
- ...(ngDevMode ? [{ debugName: "isDragging" }] : /* istanbul ignore next */ []));
668
- searchValue;
669
- searchTimeout;
670
- _internalId = uuid('pn_id_');
671
- $id = computed(() => this.id() || this._internalId, /* @ts-ignore */
672
- ...(ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []));
673
- $tabindex = computed(() => this.tabindex() ?? 0, /* @ts-ignore */
674
- ...(ngDevMode ? [{ debugName: "$tabindex" }] : /* istanbul ignore next */ []));
675
- /**
676
- * Computed property for hidden focusable element tabindex
677
- */
678
- hiddenFocusableTabindex = computed(() => (!this.$disabled() ? this.$tabindex() : -1), /* @ts-ignore */
679
- ...(ngDevMode ? [{ debugName: "hiddenFocusableTabindex" }] : /* istanbul ignore next */ []));
680
- /**
681
- * Computed property for header section visibility
682
- */
683
- hasHeader = computed(() => !!this.headerFacet() || !!this.headerTemplate(), /* @ts-ignore */
684
- ...(ngDevMode ? [{ debugName: "hasHeader" }] : /* istanbul ignore next */ []));
685
- /**
686
- * Computed property for footer section visibility
687
- */
688
- hasFooter = computed(() => !!this.footerFacet() || !!this.footerTemplate(), /* @ts-ignore */
689
- ...(ngDevMode ? [{ debugName: "hasFooter" }] : /* istanbul ignore next */ []));
690
- /**
691
- * Computed property for checkbox/filter header visibility
692
- */
693
- hasCheckboxOrFilter = computed(() => (this.checkbox() && this.multiple() && this.showToggleAll()) || this.filter(), /* @ts-ignore */
694
- ...(ngDevMode ? [{ debugName: "hasCheckboxOrFilter" }] : /* istanbul ignore next */ []));
695
- /**
696
- * Computed property for showing checkbox toggle all
697
- */
698
- showCheckboxToggleAll = computed(() => this.checkbox() && this.multiple() && this.showToggleAll(), /* @ts-ignore */
699
- ...(ngDevMode ? [{ debugName: "showCheckboxToggleAll" }] : /* istanbul ignore next */ []));
700
- /**
701
- * Computed property for showing option checkbox
702
- */
703
- showOptionCheckbox = computed(() => this.checkbox() && this.multiple(), /* @ts-ignore */
704
- ...(ngDevMode ? [{ debugName: "showOptionCheckbox" }] : /* istanbul ignore next */ []));
705
- /**
706
- * Computed property for showing filtered empty message
707
- */
708
- showFilteredEmptyMessage = computed(() => this.hasFilter() && this.isEmpty(), /* @ts-ignore */
709
- ...(ngDevMode ? [{ debugName: "showFilteredEmptyMessage" }] : /* istanbul ignore next */ []));
710
- /**
711
- * Computed property for showing empty message
712
- */
713
- showEmptyMessage = computed(() => !this.hasFilter() && this.isEmpty(), /* @ts-ignore */
714
- ...(ngDevMode ? [{ debugName: "showEmptyMessage" }] : /* istanbul ignore next */ []));
715
- /**
716
- * Computed property for aria-activedescendant
717
- */
718
- ariaActiveDescendant = computed(() => (this.focused ? this.focusedOptionId() : undefined), /* @ts-ignore */
719
- ...(ngDevMode ? [{ debugName: "ariaActiveDescendant" }] : /* istanbul ignore next */ []));
720
- /**
721
- * Computed property for header template context
722
- */
723
- headerTemplateContext = computed(() => ({ $implicit: this.modelValue(), options: this.visibleOptions() }), /* @ts-ignore */
724
- ...(ngDevMode ? [{ debugName: "headerTemplateContext" }] : /* istanbul ignore next */ []));
725
- /**
726
- * Computed property for footer template context
727
- */
728
- footerTemplateContext = computed(() => ({ $implicit: this.modelValue(), options: this.visibleOptions() }), /* @ts-ignore */
729
- ...(ngDevMode ? [{ debugName: "footerTemplateContext" }] : /* istanbul ignore next */ []));
730
- /**
731
- * Computed property for filter input value
732
- */
733
- filterInputValue = computed(() => this._filterValue() || '', /* @ts-ignore */
734
- ...(ngDevMode ? [{ debugName: "filterInputValue" }] : /* istanbul ignore next */ []));
735
- /**
736
- * Computed property for disabled attribute
737
- */
738
- disabledAttr = computed(() => (this.$disabled() ? '' : undefined), /* @ts-ignore */
739
- ...(ngDevMode ? [{ debugName: "disabledAttr" }] : /* istanbul ignore next */ []));
740
- /**
741
- * Computed property for list id
742
- */
743
- listId = computed(() => `${this.$id()}_list`, /* @ts-ignore */
744
- ...(ngDevMode ? [{ debugName: "listId" }] : /* istanbul ignore next */ []));
745
- /**
746
- * Computed property for scroller style
747
- */
748
- scrollerStyle = computed(() => ({ height: this.scrollHeight() === 'flex' ? '100%' : this.scrollHeight() }), /* @ts-ignore */
749
- ...(ngDevMode ? [{ debugName: "scrollerStyle" }] : /* istanbul ignore next */ []));
750
- /**
751
- * Computed property for showing default filter empty message
752
- */
753
- showDefaultFilterEmptyMessage = computed(() => !this.emptyFilterTemplate() && !this.emptyTemplate(), /* @ts-ignore */
754
- ...(ngDevMode ? [{ debugName: "showDefaultFilterEmptyMessage" }] : /* istanbul ignore next */ []));
755
- /**
756
- * Computed property for empty or filter template
757
- */
758
- emptyOrFilterTemplate = computed(() => this.emptyFilterTemplate() || this.emptyTemplate(), /* @ts-ignore */
759
- ...(ngDevMode ? [{ debugName: "emptyOrFilterTemplate" }] : /* istanbul ignore next */ []));
760
- /**
761
- * Computed property for build in items context
762
- */
763
- buildInItemsContext = computed(() => ({ $implicit: this.visibleOptions(), options: {} }), /* @ts-ignore */
764
- ...(ngDevMode ? [{ debugName: "buildInItemsContext" }] : /* istanbul ignore next */ []));
765
- /**
766
- * Computed property for dragdrop disabled
767
- */
768
- dragdropDisabled = computed(() => !this.dragdrop(), /* @ts-ignore */
769
- ...(ngDevMode ? [{ debugName: "dragdropDisabled" }] : /* istanbul ignore next */ []));
770
- /**
771
- * Computed property for check icon context
772
- */
773
- allSelectedContext = computed(() => ({ $implicit: this.allSelected() }), /* @ts-ignore */
774
- ...(ngDevMode ? [{ debugName: "allSelectedContext" }] : /* istanbul ignore next */ []));
775
- /**
776
- * Computed property for showing default checkmark
777
- */
778
- showDefaultCheckmark = computed(() => !this.checkmarkTemplate(), /* @ts-ignore */
779
- ...(ngDevMode ? [{ debugName: "showDefaultCheckmark" }] : /* istanbul ignore next */ []));
780
- /**
781
- * Computed property for showing default item label
782
- */
783
- showDefaultItemLabel = computed(() => !this.itemTemplate(), /* @ts-ignore */
784
- ...(ngDevMode ? [{ debugName: "showDefaultItemLabel" }] : /* istanbul ignore next */ []));
785
- /**
786
- * Computed property for showing default group label
787
- */
788
- showDefaultGroupLabel = computed(() => !this.groupTemplate(), /* @ts-ignore */
789
- ...(ngDevMode ? [{ debugName: "showDefaultGroupLabel" }] : /* istanbul ignore next */ []));
790
- /**
791
- * Computed property for showing filter icon
792
- */
793
- showDefaultFilterIcon = computed(() => !this.filterIconTemplate(), /* @ts-ignore */
794
- ...(ngDevMode ? [{ debugName: "showDefaultFilterIcon" }] : /* istanbul ignore next */ []));
795
- /**
796
- * Computed property for stable CDK drop list data reference
797
- */
798
- cdkDropData = computed(() => this.dropListData() || this._options(), /* @ts-ignore */
799
- ...(ngDevMode ? [{ debugName: "cdkDropData" }] : /* istanbul ignore next */ []));
800
- checkboxVariant = computed(() => (this.config.inputVariant() === 'filled' ? 'filled' : 'outlined'), /* @ts-ignore */
801
- ...(ngDevMode ? [{ debugName: "checkboxVariant" }] : /* istanbul ignore next */ []));
802
- listContainerStyle = computed(() => {
803
- const listStyle = this.listStyle();
804
- const scrollHeight = this.scrollHeight();
805
- const maxHeight = this.virtualScroll() || scrollHeight === 'flex' ? 'auto' : scrollHeight || 'auto';
806
- return { ...listStyle, 'max-height': maxHeight };
807
- }, /* @ts-ignore */
808
- ...(ngDevMode ? [{ debugName: "listContainerStyle" }] : /* istanbul ignore next */ []));
809
- focusedOptionId = computed(() => (this.focusedOptionIndex() !== -1 ? `${this.$id()}_${this.focusedOptionIndex()}` : null), /* @ts-ignore */
810
- ...(ngDevMode ? [{ debugName: "focusedOptionId" }] : /* istanbul ignore next */ []));
811
- filterTabindex = computed(() => (!this.$disabled() && !this.focused ? this.$tabindex() : -1), /* @ts-ignore */
812
- ...(ngDevMode ? [{ debugName: "filterTabindex" }] : /* istanbul ignore next */ []));
813
- filterResultMessageText = computed(() => {
814
- return isNotEmpty(this.visibleOptions()) ? this.filterMessageText().replaceAll('{0}', String(this.visibleOptions().length)) : this.emptyFilterMessageText();
815
- }, /* @ts-ignore */
816
- ...(ngDevMode ? [{ debugName: "filterResultMessageText" }] : /* istanbul ignore next */ []));
817
- filterMessageText = computed(() => {
818
- const t = this.translation();
819
- return this.filterMessage() || t?.searchMessage || '';
820
- }, /* @ts-ignore */
821
- ...(ngDevMode ? [{ debugName: "filterMessageText" }] : /* istanbul ignore next */ []));
822
- searchMessageText = computed(() => {
823
- const t = this.translation();
824
- return this.searchMessage() || t?.searchMessage || '';
825
- }, /* @ts-ignore */
826
- ...(ngDevMode ? [{ debugName: "searchMessageText" }] : /* istanbul ignore next */ []));
827
- emptyFilterMessageText = computed(() => {
828
- const t = this.translation();
829
- return this.emptyFilterMessage() || t?.emptySearchMessage || t?.emptyFilterMessage || '';
830
- }, /* @ts-ignore */
831
- ...(ngDevMode ? [{ debugName: "emptyFilterMessageText" }] : /* istanbul ignore next */ []));
832
- selectionMessageText = computed(() => {
833
- const t = this.translation();
834
- return this.selectionMessage() || t?.selectionMessage || '';
835
- }, /* @ts-ignore */
836
- ...(ngDevMode ? [{ debugName: "selectionMessageText" }] : /* istanbul ignore next */ []));
837
- emptySelectionMessageText = computed(() => {
838
- const t = this.translation();
839
- return this.emptySelectionMessage() || t?.emptySelectionMessage || '';
840
- }, /* @ts-ignore */
841
- ...(ngDevMode ? [{ debugName: "emptySelectionMessageText" }] : /* istanbul ignore next */ []));
842
- selectedMessageText = computed(() => {
843
- return this.hasSelectedOption() ? this.selectionMessageText().replaceAll('{0}', this.multiple() ? String(this.modelValue().length) : '1') : this.emptySelectionMessageText();
844
- }, /* @ts-ignore */
845
- ...(ngDevMode ? [{ debugName: "selectedMessageText" }] : /* istanbul ignore next */ []));
846
- ariaSetSize = computed(() => this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length, /* @ts-ignore */
847
- ...(ngDevMode ? [{ debugName: "ariaSetSize" }] : /* istanbul ignore next */ []));
848
- virtualScrollerDisabled = computed(() => !this.virtualScroll(), /* @ts-ignore */
849
- ...(ngDevMode ? [{ debugName: "virtualScrollerDisabled" }] : /* istanbul ignore next */ []));
850
- searchFields = computed(() => this.filterBy()?.split(',') || this.filterFields() || [this.optionLabel()], /* @ts-ignore */
851
- ...(ngDevMode ? [{ debugName: "searchFields" }] : /* istanbul ignore next */ []));
852
- toggleAllAriaLabel = computed(() => {
853
- const t = this.translation();
854
- return t?.aria ? t.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;
855
- }, /* @ts-ignore */
856
- ...(ngDevMode ? [{ debugName: "toggleAllAriaLabel" }] : /* istanbul ignore next */ []));
857
- onHostFocusOut(event) {
858
- this.onFocusout(event);
859
- }
860
- visibleOptions = computed(() => {
861
- const options = this.group() ? this.flatOptions(this._options()) : this._options() || [];
862
- return this._filterValue() ? this.filterService.filter(options, this.searchFields(), this._filterValue(), this.filterMatchMode(), this.filterLocale()) : options;
863
- }, /* @ts-ignore */
864
- ...(ngDevMode ? [{ debugName: "visibleOptions" }] : /* istanbul ignore next */ []));
865
- constructor() {
866
- super();
867
- // Sync options input to internal signal
868
- effect(() => {
869
- const opts = this.options();
870
- if (opts !== undefined) {
871
- this._options.set(opts);
872
- }
873
- });
874
- // Sync filterValue input to internal signal
875
- effect(() => {
876
- const fv = this.filterValue();
877
- if (fv !== undefined) {
878
- this._filterValue.set(fv);
879
- }
880
- });
881
- }
882
- onInit() {
883
- this.autoUpdateModel();
884
- if (this.filterBy()) {
885
- this.filterOptions = {
886
- filter: (value) => this.onFilterChange(value),
887
- reset: () => this.resetFilter()
888
- };
889
- }
890
- }
891
- flatOptions(options) {
892
- return (options || []).reduce((result, option, index) => {
893
- result.push({ optionGroup: option, group: true, index });
894
- const optionGroupChildren = this.getOptionGroupChildren(option);
895
- optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));
896
- return result;
897
- }, []);
898
- }
899
- autoUpdateModel() {
900
- if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption() && !this.multiple()) {
901
- const focusedOptionIndex = this.findFirstFocusedOptionIndex();
902
- this.focusedOptionIndex.set(focusedOptionIndex);
903
- this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()]);
904
- }
905
- }
906
- /**
907
- * Updates the model value.
908
- * @group Method
909
- */
910
- updateModel(value, event) {
911
- this.value = value;
912
- this.writeModelValue(value);
913
- this.onModelChange(value);
914
- this.onChange.emit({ originalEvent: event, value: this.value });
915
- }
916
- removeOption(option) {
917
- return this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey() || ''));
918
- }
919
- onOptionSelect(event, option, index = -1) {
920
- if (this.$disabled() || this.isOptionDisabled(option) || this.readonly()) {
921
- return;
922
- }
923
- event && this.onClick.emit({ originalEvent: event, option, value: this.value });
924
- this.multiple() ? this.onOptionSelectMultiple(event, option) : this.onOptionSelectSingle(event, option);
925
- this.optionTouched = false;
926
- index !== -1 && this.focusedOptionIndex.set(index);
927
- }
928
- onOptionSelectMultiple(event, option) {
929
- let selected = this.isSelected(option);
930
- let value = [];
931
- let metaSelection = this.optionTouched ? false : this.metaKeySelection();
932
- if (metaSelection) {
933
- let metaKey = event.metaKey || event.ctrlKey;
934
- if (selected) {
935
- value = metaKey ? this.removeOption(option) : [this.getOptionValue(option)];
936
- }
937
- else {
938
- value = metaKey ? this.modelValue() || [] : [];
939
- value = [...(value || []), this.getOptionValue(option)];
940
- }
941
- }
942
- else {
943
- value = selected ? this.removeOption(option) : [...(this.modelValue() || []), this.getOptionValue(option)];
944
- }
945
- this.updateModel(value, event);
946
- }
947
- onOptionSelectSingle(event, option) {
948
- let selected = this.isSelected(option);
949
- let valueChanged = false;
950
- let value = null;
951
- let metaSelection = this.optionTouched ? false : this.metaKeySelection();
952
- if (metaSelection) {
953
- let metaKey = event.metaKey || event.ctrlKey;
954
- if (selected) {
955
- if (metaKey) {
956
- value = null;
957
- valueChanged = true;
958
- }
959
- }
960
- else {
961
- value = this.getOptionValue(option);
962
- valueChanged = true;
963
- }
964
- }
965
- else {
966
- value = selected ? null : this.getOptionValue(option);
967
- valueChanged = true;
968
- }
969
- if (valueChanged) {
970
- this.updateModel(value, event);
971
- }
972
- }
973
- onOptionSelectRange(event, start = -1, end = -1) {
974
- start === -1 && (start = this.findNearestSelectedOptionIndex(end, true));
975
- end === -1 && (end = this.findNearestSelectedOptionIndex(start));
976
- if (start !== -1 && end !== -1) {
977
- const rangeStart = Math.min(start, end);
978
- const rangeEnd = Math.max(start, end);
979
- const value = this.visibleOptions()
980
- .slice(rangeStart, rangeEnd + 1)
981
- .filter((option) => this.isValidOption(option))
982
- .map((option) => this.getOptionValue(option));
983
- this.updateModel(value, event);
984
- }
985
- }
986
- onToggleAll(event) {
987
- if (this.$disabled() || this.readonly()) {
988
- return;
989
- }
990
- focus(this.headerCheckboxViewChild()?.nativeElement);
991
- if (this.selectAll() !== null && this.selectAll() !== undefined) {
992
- this.onSelectAllChange.emit({
993
- originalEvent: event,
994
- checked: !this.allSelected()
995
- });
996
- }
997
- else {
998
- const value = this.allSelected()
999
- ? []
1000
- : this.visibleOptions()
1001
- .filter((option) => this.isValidOption(option))
1002
- .map((option) => this.getOptionValue(option));
1003
- this.updateModel(value, event);
1004
- }
1005
- }
1006
- allSelected() {
1007
- const selectAllValue = this.selectAll();
1008
- return selectAllValue !== null && selectAllValue !== undefined
1009
- ? selectAllValue
1010
- : isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));
1011
- }
1012
- onOptionTouchEnd() {
1013
- if (this.$disabled()) {
1014
- return;
1015
- }
1016
- this.optionTouched = true;
1017
- }
1018
- onOptionMouseDown(event, index) {
1019
- this.changeFocusedOptionIndex(event, index);
1020
- }
1021
- onOptionMouseEnter(event, index) {
1022
- if (this.focusOnHover() && this.focused) {
1023
- this.changeFocusedOptionIndex(event, index);
1024
- }
1025
- }
1026
- onOptionDoubleClick(event, option) {
1027
- if (this.$disabled() || this.isOptionDisabled(option) || this.readonly()) {
1028
- return;
1029
- }
1030
- this.onDblClick.emit({
1031
- originalEvent: event,
1032
- option: option,
1033
- value: this.value
1034
- });
1035
- }
1036
- onFirstHiddenFocus(event) {
1037
- focus(this.listViewChild()?.nativeElement);
1038
- const firstFocusableEl = getFirstFocusableElement(this.el?.nativeElement, ':not([data-p-hidden-focusable="true"])');
1039
- const lastEl = this.lastHiddenFocusableElement();
1040
- const firstEl = this.firstHiddenFocusableElement();
1041
- lastEl?.nativeElement && (lastEl.nativeElement.tabIndex = isEmpty(firstFocusableEl) ? -1 : undefined);
1042
- firstEl?.nativeElement && (firstEl.nativeElement.tabIndex = -1);
1043
- }
1044
- onLastHiddenFocus(event) {
1045
- const relatedTarget = event.relatedTarget;
1046
- const lastEl = this.lastHiddenFocusableElement();
1047
- const firstEl = this.firstHiddenFocusableElement();
1048
- if (relatedTarget === this.listViewChild()?.nativeElement) {
1049
- const firstFocusableEl = getFirstFocusableElement(this.el?.nativeElement, ':not([data-p-hidden-focusable="true"])');
1050
- focus(firstFocusableEl);
1051
- firstEl?.nativeElement && (firstEl.nativeElement.tabIndex = undefined);
1052
- }
1053
- else {
1054
- focus(firstEl?.nativeElement);
1055
- }
1056
- lastEl?.nativeElement && (lastEl.nativeElement.tabIndex = -1);
1057
- }
1058
- onFocusout(event) {
1059
- const lastEl = this.lastHiddenFocusableElement();
1060
- const firstEl = this.firstHiddenFocusableElement();
1061
- if (!this.el.nativeElement.contains(event.relatedTarget) && lastEl && firstEl) {
1062
- firstEl.nativeElement.tabIndex = lastEl.nativeElement.tabIndex = undefined;
1063
- this.scrollerTabIndex = 0;
1064
- }
1065
- }
1066
- onListFocus(event) {
1067
- this.focused = true;
1068
- const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex();
1069
- this.focusedOptionIndex.set(focusedOptionIndex);
1070
- this.scrollInView(focusedOptionIndex);
1071
- this.onFocus.emit(event);
1072
- this.scrollerTabIndex = -1;
1073
- }
1074
- onListBlur(event) {
1075
- this.focused = false;
1076
- this.focusedOptionIndex.set(-1);
1077
- this.startRangeIndex.set(-1);
1078
- this.searchValue = '';
1079
- this.onBlur.emit(event);
1080
- }
1081
- onHeaderCheckboxKeyDown(event) {
1082
- if (this.$disabled()) {
1083
- event.preventDefault();
1084
- return;
1085
- }
1086
- switch (event.code) {
1087
- case 'Space':
1088
- this.onToggleAll(event);
1089
- break;
1090
- case 'Enter':
1091
- this.onToggleAll(event);
1092
- break;
1093
- case 'Tab':
1094
- this.onHeaderCheckboxTabKeyDown(event);
1095
- break;
1096
- default:
1097
- break;
1098
- }
1099
- }
1100
- onHeaderCheckboxTabKeyDown(event) {
1101
- focus(this.listViewChild()?.nativeElement);
1102
- event.preventDefault();
1103
- }
1104
- onFilterChange(event) {
1105
- let value = event.target.value?.trim();
1106
- this._filterValue.set(value);
1107
- this.focusedOptionIndex.set(-1);
1108
- this.startRangeIndex.set(-1);
1109
- this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
1110
- !this.virtualScrollerDisabled() && this.scroller()?.scrollToIndex(0);
1111
- }
1112
- onFilterBlur(event) {
1113
- this.focusedOptionIndex.set(-1);
1114
- this.startRangeIndex.set(-1);
1115
- }
1116
- onListKeyDown(event) {
1117
- const metaKey = event.metaKey || event.ctrlKey;
1118
- switch (event.code) {
1119
- case 'ArrowDown':
1120
- this.onArrowDownKey(event);
1121
- break;
1122
- case 'ArrowUp':
1123
- this.onArrowUpKey(event);
1124
- break;
1125
- case 'Home':
1126
- this.onHomeKey(event);
1127
- break;
1128
- case 'End':
1129
- this.onEndKey(event);
1130
- break;
1131
- case 'PageDown':
1132
- this.onPageDownKey(event);
1133
- break;
1134
- case 'PageUp':
1135
- this.onPageUpKey(event);
1136
- break;
1137
- case 'Enter':
1138
- case 'Space':
1139
- case 'NumpadEnter':
1140
- this.onSpaceKey(event);
1141
- break;
1142
- case 'Tab':
1143
- //NOOP
1144
- break;
1145
- case 'ShiftLeft':
1146
- case 'ShiftRight':
1147
- this.onShiftKey();
1148
- break;
1149
- default:
1150
- if (this.multiple() && event.code === 'KeyA' && metaKey) {
1151
- const value = this.visibleOptions()
1152
- .filter((option) => this.isValidOption(option))
1153
- .map((option) => this.getOptionValue(option));
1154
- this.updateModel(value, event);
1155
- event.preventDefault();
1156
- break;
1157
- }
1158
- if (!metaKey && isPrintableCharacter(event.key)) {
1159
- this.searchOptions(event, event.key);
1160
- event.preventDefault();
1161
- }
1162
- break;
1163
- }
1164
- }
1165
- onFilterKeyDown(event) {
1166
- switch (event.code) {
1167
- case 'ArrowDown':
1168
- this.onArrowDownKey(event);
1169
- break;
1170
- case 'ArrowUp':
1171
- this.onArrowUpKey(event);
1172
- break;
1173
- case 'ArrowLeft':
1174
- case 'ArrowRight':
1175
- this.onArrowLeftKey(event, true);
1176
- break;
1177
- case 'Home':
1178
- this.onHomeKey(event, true);
1179
- break;
1180
- case 'End':
1181
- this.onEndKey(event, true);
1182
- break;
1183
- case 'Enter':
1184
- this.onEnterKey(event);
1185
- break;
1186
- case 'ShiftLeft':
1187
- case 'ShiftRight':
1188
- this.onShiftKey();
1189
- break;
1190
- default:
1191
- break;
1192
- }
1193
- }
1194
- onArrowDownKey(event) {
1195
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
1196
- if (this.multiple() && event.shiftKey) {
1197
- this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);
1198
- }
1199
- this.changeFocusedOptionIndex(event, optionIndex);
1200
- event.preventDefault();
1201
- }
1202
- onArrowUpKey(event) {
1203
- const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();
1204
- if (this.multiple() && event.shiftKey) {
1205
- this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());
1206
- }
1207
- this.changeFocusedOptionIndex(event, optionIndex);
1208
- event.preventDefault();
1209
- }
1210
- onArrowLeftKey(event, pressedInInputText = false) {
1211
- pressedInInputText && this.focusedOptionIndex.set(-1);
1212
- }
1213
- onHomeKey(event, pressedInInputText = false) {
1214
- if (pressedInInputText) {
1215
- if (event.shiftKey) {
1216
- return;
1217
- }
1218
- event.currentTarget.setSelectionRange(0, 0);
1219
- this.focusedOptionIndex.set(-1);
1220
- }
1221
- else {
1222
- let metaKey = event.metaKey || event.ctrlKey;
1223
- let optionIndex = this.findFirstOptionIndex();
1224
- if (this.multiple() && event.shiftKey && metaKey) {
1225
- this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());
1226
- }
1227
- this.changeFocusedOptionIndex(event, optionIndex);
1228
- }
1229
- event.preventDefault();
1230
- }
1231
- onEndKey(event, pressedInInputText = false) {
1232
- if (pressedInInputText) {
1233
- if (event.shiftKey) {
1234
- return;
1235
- }
1236
- const target = event.currentTarget;
1237
- const len = target.value.length;
1238
- target.setSelectionRange(len, len);
1239
- this.focusedOptionIndex.set(-1);
1240
- }
1241
- else {
1242
- let metaKey = event.metaKey || event.ctrlKey;
1243
- let optionIndex = this.findLastOptionIndex();
1244
- if (this.multiple() && event.shiftKey && metaKey) {
1245
- this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);
1246
- }
1247
- this.changeFocusedOptionIndex(event, optionIndex);
1248
- }
1249
- event.preventDefault();
1250
- }
1251
- onPageDownKey(event) {
1252
- this.scrollInView(0);
1253
- event.preventDefault();
1254
- }
1255
- onPageUpKey(event) {
1256
- this.scrollInView(this.visibleOptions().length - 1);
1257
- event.preventDefault();
1258
- }
1259
- onEnterKey(event) {
1260
- if (this.focusedOptionIndex() !== -1) {
1261
- if (this.multiple() && event.shiftKey)
1262
- this.onOptionSelectRange(event, this.focusedOptionIndex());
1263
- else
1264
- this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);
1265
- }
1266
- event.preventDefault();
1267
- }
1268
- onSpaceKey(event) {
1269
- this.onEnterKey(event);
1270
- }
1271
- onShiftKey() {
1272
- const focusedOptionIndex = this.focusedOptionIndex();
1273
- this.startRangeIndex.set(focusedOptionIndex);
1274
- }
1275
- getOptionGroupChildren(optionGroup) {
1276
- return this.optionGroupChildren() ? resolveFieldData(optionGroup, this.optionGroupChildren()) : optionGroup.items;
1277
- }
1278
- getOptionGroupLabel(optionGroup) {
1279
- return this.optionGroupLabel() ? resolveFieldData(optionGroup, this.optionGroupLabel()) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
1280
- }
1281
- getOptionLabel(option) {
1282
- return this.optionLabel() ? resolveFieldData(option, this.optionLabel()) : option.label != undefined ? option.label : option;
1283
- }
1284
- getOptionIndex(index, scrollerOptions) {
1285
- return this.virtualScrollerDisabled() ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];
1286
- }
1287
- getOptionValue(option) {
1288
- return this.optionValue() ? resolveFieldData(option, this.optionValue()) : !this.optionLabel() && option && option.value !== undefined ? option.value : option;
1289
- }
1290
- getOptionTrackKey(option, index) {
1291
- const key = this.isOptionGroup(option) ? this.getOptionGroupLabel(option.optionGroup) : this.getOptionValue(option);
1292
- return `${key ?? ''}_${index}`;
1293
- }
1294
- getAriaPosInset(index) {
1295
- return ((this.optionGroupLabel()
1296
- ? index -
1297
- this.visibleOptions()
1298
- .slice(0, index)
1299
- .filter((option) => this.isOptionGroup(option)).length
1300
- : index) + 1);
1301
- }
1302
- getPTOptions(option, itemOptions, index, key) {
1303
- return this.ptm(key, {
1304
- context: {
1305
- selected: this.isSelected(option),
1306
- focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
1307
- disabled: this.isOptionDisabled(option)
1308
- }
1309
- });
1310
- }
1311
- getOptionId(index, scrollerOptions) {
1312
- return `${this.$id()}_${this.getOptionIndex(index, scrollerOptions)}`;
1313
- }
1314
- getOptionCheckboxDisabled(option) {
1315
- return this.$disabled() || this.isOptionDisabled(option);
1316
- }
1317
- getCheckIconContext(option) {
1318
- return { $implicit: this.isSelected(option) };
1319
- }
1320
- getCheckmarkContext(option) {
1321
- return { implicit: this.isSelected(option) };
1322
- }
1323
- getGroupTemplateContext(optionGroup) {
1324
- return { $implicit: optionGroup };
1325
- }
1326
- getItemTemplateContext(option, index, scrollerOptions) {
1327
- return {
1328
- $implicit: option,
1329
- index: this.getOptionIndex(index, scrollerOptions),
1330
- selected: this.isSelected(option),
1331
- disabled: this.isOptionDisabled(option)
1332
- };
1333
- }
1334
- /** Options shown in the multi-drag preview before collapsing into a "+N" row. */
1335
- dragPreviewLimit = 4;
1336
- /**
1337
- * The options a multi-drag would carry: this list's selected options, in list order.
1338
- * Drives the drag preview when an option inside a multi-selection is dragged.
1339
- */
1340
- dragPreviewOptions() {
1341
- return this.visibleOptions().filter((option) => !this.isOptionGroup(option) && this.isSelected(option));
1342
- }
1343
- /** True when dragging this option effectively drags the whole multi-selection. */
1344
- isMultiDrag(option) {
1345
- return this.isSelected(option) && this.dragPreviewOptions().length > 1;
1346
- }
1347
- getDragPreviewTemplateContext(option) {
1348
- return {
1349
- $implicit: option,
1350
- index: this.visibleOptions().indexOf(option),
1351
- selected: true,
1352
- disabled: this.isOptionDisabled(option)
1353
- };
1354
- }
1355
- getFilterTemplateContext() {
1356
- return { options: this.filterOptions };
1357
- }
1358
- getBuildInItemsContext(items, scrollerOptions) {
1359
- return { $implicit: items, options: scrollerOptions };
1360
- }
1361
- getLoaderTemplateContext(scrollerOptions) {
1362
- return { options: scrollerOptions };
1363
- }
1364
- isOptionFocused(index, scrollerOptions) {
1365
- return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);
1366
- }
1367
- hasSelectedOption() {
1368
- return isNotEmpty(this.modelValue());
1369
- }
1370
- isOptionGroup(option) {
1371
- return this.optionGroupLabel() && option.optionGroup && option.group;
1372
- }
1373
- changeFocusedOptionIndex(event, index) {
1374
- if (this.focusedOptionIndex() !== index) {
1375
- this.focusedOptionIndex.set(index);
1376
- this.scrollInView();
1377
- if (this.selectOnFocus() && !this.multiple()) {
1378
- this.onOptionSelect(event, this.visibleOptions()[index]);
1379
- }
1380
- }
1381
- }
1382
- searchOptions(event, char) {
1383
- this.searchValue = (this.searchValue || '') + char;
1384
- let optionIndex = -1;
1385
- let matched = false;
1386
- if (this.focusedOptionIndex() !== -1) {
1387
- optionIndex = this.visibleOptions()
1388
- .slice(this.focusedOptionIndex())
1389
- .findIndex((option) => this.isOptionMatched(option));
1390
- optionIndex =
1391
- optionIndex === -1
1392
- ? this.visibleOptions()
1393
- .slice(0, this.focusedOptionIndex())
1394
- .findIndex((option) => this.isOptionMatched(option))
1395
- : optionIndex + this.focusedOptionIndex();
1396
- }
1397
- else {
1398
- optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));
1399
- }
1400
- if (optionIndex !== -1) {
1401
- matched = true;
1402
- }
1403
- if (optionIndex === -1 && this.focusedOptionIndex() === -1) {
1404
- optionIndex = this.findFirstFocusedOptionIndex();
1405
- }
1406
- if (optionIndex !== -1) {
1407
- this.changeFocusedOptionIndex(event, optionIndex);
1408
- }
1409
- if (this.searchTimeout) {
1410
- clearTimeout(this.searchTimeout);
1411
- }
1412
- this.searchTimeout = setTimeout(() => {
1413
- this.searchValue = '';
1414
- this.searchTimeout = null;
1415
- }, 500);
1416
- return matched;
1417
- }
1418
- isOptionMatched(option) {
1419
- return this.isValidOption(option) && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));
1420
- }
1421
- scrollInView(index = -1) {
1422
- const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId();
1423
- const element = findSingle(this.listViewChild()?.nativeElement, `li[id="${id}"]`);
1424
- if (element) {
1425
- element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
1426
- }
1427
- else if (!this.virtualScrollerDisabled()) {
1428
- this.virtualScroll() && this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
1429
- }
1430
- }
1431
- findFirstOptionIndex() {
1432
- return this.visibleOptions().findIndex((option) => this.isValidOption(option));
1433
- }
1434
- findLastOptionIndex() {
1435
- return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
1436
- }
1437
- findFirstFocusedOptionIndex() {
1438
- const selectedIndex = this.findFirstSelectedOptionIndex();
1439
- return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
1440
- }
1441
- findLastFocusedOptionIndex() {
1442
- const selectedIndex = this.findLastSelectedOptionIndex();
1443
- return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1444
- }
1445
- findLastSelectedOptionIndex() {
1446
- return this.hasSelectedOption() ? findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;
1447
- }
1448
- findNextOptionIndex(index) {
1449
- const matchedOptionIndex = index < this.visibleOptions().length - 1
1450
- ? this.visibleOptions()
1451
- .slice(index + 1)
1452
- .findIndex((option) => this.isValidOption(option))
1453
- : -1;
1454
- return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
1455
- }
1456
- findNextSelectedOptionIndex(index) {
1457
- const matchedOptionIndex = this.hasSelectedOption() && index < this.visibleOptions().length - 1
1458
- ? this.visibleOptions()
1459
- .slice(index + 1)
1460
- .findIndex((option) => this.isValidSelectedOption(option))
1461
- : -1;
1462
- return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
1463
- }
1464
- findPrevSelectedOptionIndex(index) {
1465
- const matchedOptionIndex = this.hasSelectedOption() && index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;
1466
- return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
1467
- }
1468
- findFirstSelectedOptionIndex() {
1469
- return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
1470
- }
1471
- findPrevOptionIndex(index) {
1472
- const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
1473
- return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1474
- }
1475
- findSelectedOptionIndex() {
1476
- if (this.$filled()) {
1477
- if (this.multiple()) {
1478
- for (let index = this.modelValue().length - 1; index >= 0; index--) {
1479
- const value = this.modelValue()[index];
1480
- const matchedOptionIndex = this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option) && this.isEquals(value, this.getOptionValue(option)));
1481
- if (matchedOptionIndex > -1)
1482
- return matchedOptionIndex;
1483
- }
1484
- }
1485
- else {
1486
- return this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option));
1487
- }
1488
- }
1489
- return -1;
1490
- }
1491
- findNearestSelectedOptionIndex(index, firstCheckUp = false) {
1492
- let matchedOptionIndex = -1;
1493
- if (this.hasSelectedOption()) {
1494
- if (firstCheckUp) {
1495
- matchedOptionIndex = this.findPrevSelectedOptionIndex(index);
1496
- matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;
1497
- }
1498
- else {
1499
- matchedOptionIndex = this.findNextSelectedOptionIndex(index);
1500
- matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;
1501
- }
1502
- }
1503
- return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1504
- }
1505
- equalityKey() {
1506
- return this.optionValue() ? null : this.dataKey();
1507
- }
1508
- isValidSelectedOption(option) {
1509
- return this.isValidOption(option) && this.isSelected(option);
1510
- }
1511
- isOptionDisabled(option) {
1512
- const optionDisabledValue = this.optionDisabled();
1513
- if (isFunction(optionDisabledValue)) {
1514
- return optionDisabledValue(option);
1515
- }
1516
- return optionDisabledValue ? resolveFieldData(option, optionDisabledValue) : false;
1517
- }
1518
- isEquals(value1, value2) {
1519
- return equals(value1, value2, this.equalityKey() || '');
1520
- }
1521
- isSelected(option) {
1522
- const optionValue = this.getOptionValue(option);
1523
- if (this.multiple())
1524
- return (this.modelValue() || []).some((value) => this.isEquals(value, optionValue));
1525
- else
1526
- return this.isEquals(this.modelValue(), optionValue);
1527
- }
1528
- isValidOption(option) {
1529
- return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1530
- }
1531
- isEmpty() {
1532
- return !this._options()?.length || !this.visibleOptions()?.length;
1533
- }
1534
- hasFilter() {
1535
- return this._filterValue() && (this._filterValue()?.trim().length || 0) > 0;
1536
- }
1537
- resetFilter() {
1538
- const filterEl = this.filterViewChild();
1539
- if (filterEl && filterEl.nativeElement) {
1540
- filterEl.nativeElement.value = '';
1541
- }
1542
- this._filterValue.set(null);
1543
- }
1544
- onDragEntered() {
1545
- this.isDragging.set(true);
1546
- this.el.nativeElement.setAttribute('p-listbox-dragging', 'true');
1547
- }
1548
- onDragExited() {
1549
- this.isDragging.set(false);
1550
- this.el.nativeElement.setAttribute('p-listbox-dragging', 'false');
1551
- }
1552
- drop(event) {
1553
- this.isDragging.set(false);
1554
- if (event) {
1555
- // If dragdrop is enabled and same container (reordering), automatically handle reordering
1556
- if (this.dragdrop() && event.previousContainer === event.container) {
1557
- const currentOptions = [...this._options()];
1558
- if (this._filterValue()) {
1559
- const visible = this.visibleOptions();
1560
- const fromItem = visible[event.previousIndex];
1561
- const toItem = visible[event.currentIndex];
1562
- const realFrom = currentOptions.indexOf(fromItem);
1563
- const realTo = currentOptions.indexOf(toItem);
1564
- if (realFrom !== -1 && realTo !== -1) {
1565
- moveItemInArray(currentOptions, realFrom, realTo);
1566
- }
1567
- }
1568
- else {
1569
- moveItemInArray(currentOptions, event.previousIndex, event.currentIndex);
1570
- }
1571
- this._options.set(currentOptions);
1572
- this.changeFocusedOptionIndex(event, event.currentIndex);
1573
- // Update model value if needed for selection preservation
1574
- if (this.modelValue()) {
1575
- this.writeModelValue(this.modelValue());
1576
- this.onModelChange(this.modelValue());
1577
- }
1578
- }
1579
- // Always emit the event for custom handling
1580
- this.onDrop.emit(event);
1581
- }
1582
- }
1583
- get containerDataP() {
1584
- return this.cn({
1585
- invalid: this.invalid(),
1586
- disabled: this.$disabled()
1587
- });
1588
- }
1589
- /**
1590
- * @override
1591
- *
1592
- * @see {@link BaseEditableHolder.writeControlValue}
1593
- * Writes the value to the control.
1594
- */
1595
- writeControlValue(value, setModelValue) {
1596
- this.value = value;
1597
- setModelValue(this.value);
1598
- }
1599
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Listbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
1600
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: Listbox, isStandalone: true, selector: "p-listbox, p-list-box", inputs: { hostName: { classPropertyName: "hostName", publicName: "hostName", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, searchMessage: { classPropertyName: "searchMessage", publicName: "searchMessage", isSignal: true, isRequired: false, transformFunction: null }, emptySelectionMessage: { classPropertyName: "emptySelectionMessage", publicName: "emptySelectionMessage", isSignal: true, isRequired: false, transformFunction: null }, selectionMessage: { classPropertyName: "selectionMessage", publicName: "selectionMessage", isSignal: true, isRequired: false, transformFunction: null }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: true, isRequired: false, transformFunction: null }, searchLocale: { classPropertyName: "searchLocale", publicName: "searchLocale", isSignal: true, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: true, isRequired: false, transformFunction: null }, filterMessage: { classPropertyName: "filterMessage", publicName: "filterMessage", isSignal: true, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", 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 }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, listStyle: { classPropertyName: "listStyle", publicName: "listStyle", isSignal: true, isRequired: false, transformFunction: null }, listStyleClass: { classPropertyName: "listStyleClass", publicName: "listStyleClass", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: true, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: true, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: true, isRequired: false, transformFunction: null }, metaKeySelection: { classPropertyName: "metaKeySelection", publicName: "metaKeySelection", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", 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 }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: true, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: true, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: true, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceHolder: { classPropertyName: "filterPlaceHolder", publicName: "filterPlaceHolder", 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 }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, striped: { classPropertyName: "striped", publicName: "striped", isSignal: true, isRequired: false, transformFunction: null }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: true, isRequired: false, transformFunction: null }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: true, isRequired: false, transformFunction: null }, dragdrop: { classPropertyName: "dragdrop", publicName: "dragdrop", isSignal: true, isRequired: false, transformFunction: null }, dropListData: { classPropertyName: "dropListData", publicName: "dropListData", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onClick: "onClick", onDblClick: "onDblClick", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onSelectAllChange: "onSelectAllChange", onLazyLoad: "onLazyLoad", onDrop: "onDrop" }, host: { listeners: { "focusout": "onHostFocusOut($event)" }, properties: { "attr.id": "$id()", "class": "cx('root')", "attr.data-p": "containerDataP" } }, providers: [
1601
- LISTBOX_VALUE_ACCESSOR,
1602
- ListBoxStyle,
1603
- {
1604
- provide: CDK_DRAG_CONFIG,
1605
- useValue: {
1606
- zIndex: 1200
1607
- }
1608
- },
1609
- { provide: LISTBOX_INSTANCE, useExisting: Listbox },
1610
- { provide: PARENT_INSTANCE, useExisting: Listbox }
1611
- ], queries: [{ propertyName: "headerFacet", first: true, predicate: Header, isSignal: true }, { propertyName: "footerFacet", first: true, predicate: Footer, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], 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: "filterIconTemplate", first: true, predicate: ["filtericon"], isSignal: true }, { propertyName: "checkIconTemplate", first: true, predicate: ["checkicon"], isSignal: true }, { propertyName: "checkmarkTemplate", first: true, predicate: ["checkmark"], isSignal: true }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"], isSignal: true }], viewQueries: [{ propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerchkbox"], descendants: true, isSignal: true }, { propertyName: "filterViewChild", first: true, predicate: ["filterInput"], descendants: true, isSignal: true }, { propertyName: "lastHiddenFocusableElement", first: true, predicate: ["lastHiddenFocusableElement"], descendants: true, isSignal: true }, { propertyName: "firstHiddenFocusableElement", first: true, predicate: ["firstHiddenFocusableElement"], descendants: true, isSignal: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true, isSignal: true }, { propertyName: "listViewChild", first: true, predicate: ["list"], descendants: true, isSignal: true }, { propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
166
+ var Listbox = class Listbox extends BaseEditableHolder {
167
+ componentName = "Listbox";
168
+ hostName = input("", ...ngDevMode ? [{ debugName: "hostName" }] : /* istanbul ignore next */ []);
169
+ bindDirectiveInstance = inject(Bind, { self: true });
170
+ $pcListbox = inject(LISTBOX_INSTANCE, {
171
+ optional: true,
172
+ skipSelf: true
173
+ }) ?? void 0;
174
+ filterService = inject(FilterService);
175
+ id = input(...ngDevMode ? [void 0, { debugName: "id" }] : /* istanbul ignore next */ []);
176
+ searchMessage = input(...ngDevMode ? [void 0, { debugName: "searchMessage" }] : /* istanbul ignore next */ []);
177
+ emptySelectionMessage = input(...ngDevMode ? [void 0, { debugName: "emptySelectionMessage" }] : /* istanbul ignore next */ []);
178
+ selectionMessage = input(...ngDevMode ? [void 0, { debugName: "selectionMessage" }] : /* istanbul ignore next */ []);
179
+ autoOptionFocus = input(true, {
180
+ ...ngDevMode ? { debugName: "autoOptionFocus" } : /* istanbul ignore next */ {},
181
+ transform: booleanAttribute
182
+ });
183
+ ariaLabel = input(...ngDevMode ? [void 0, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
184
+ selectOnFocus = input(void 0, {
185
+ ...ngDevMode ? { debugName: "selectOnFocus" } : /* istanbul ignore next */ {},
186
+ transform: booleanAttribute
187
+ });
188
+ searchLocale = input(void 0, {
189
+ ...ngDevMode ? { debugName: "searchLocale" } : /* istanbul ignore next */ {},
190
+ transform: booleanAttribute
191
+ });
192
+ focusOnHover = input(true, {
193
+ ...ngDevMode ? { debugName: "focusOnHover" } : /* istanbul ignore next */ {},
194
+ transform: booleanAttribute
195
+ });
196
+ filterMessage = input(...ngDevMode ? [void 0, { debugName: "filterMessage" }] : /* istanbul ignore next */ []);
197
+ filterFields = input(...ngDevMode ? [void 0, { debugName: "filterFields" }] : /* istanbul ignore next */ []);
198
+ lazy = input(false, {
199
+ ...ngDevMode ? { debugName: "lazy" } : /* istanbul ignore next */ {},
200
+ transform: booleanAttribute
201
+ });
202
+ virtualScroll = input(void 0, {
203
+ ...ngDevMode ? { debugName: "virtualScroll" } : /* istanbul ignore next */ {},
204
+ transform: booleanAttribute
205
+ });
206
+ virtualScrollItemSize = input(void 0, {
207
+ ...ngDevMode ? { debugName: "virtualScrollItemSize" } : /* istanbul ignore next */ {},
208
+ transform: numberAttribute
209
+ });
210
+ virtualScrollOptions = input(...ngDevMode ? [void 0, { debugName: "virtualScrollOptions" }] : /* istanbul ignore next */ []);
211
+ scrollHeight = input("14rem", ...ngDevMode ? [{ debugName: "scrollHeight" }] : /* istanbul ignore next */ []);
212
+ tabindex = input(0, {
213
+ ...ngDevMode ? { debugName: "tabindex" } : /* istanbul ignore next */ {},
214
+ transform: numberAttribute
215
+ });
216
+ multiple = input(void 0, {
217
+ ...ngDevMode ? { debugName: "multiple" } : /* istanbul ignore next */ {},
218
+ transform: booleanAttribute
219
+ });
220
+ listStyle = input(...ngDevMode ? [void 0, { debugName: "listStyle" }] : /* istanbul ignore next */ []);
221
+ listStyleClass = input(...ngDevMode ? [void 0, { debugName: "listStyleClass" }] : /* istanbul ignore next */ []);
222
+ readonly = input(void 0, {
223
+ ...ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {},
224
+ transform: booleanAttribute
225
+ });
226
+ checkbox = input(false, {
227
+ ...ngDevMode ? { debugName: "checkbox" } : /* istanbul ignore next */ {},
228
+ transform: booleanAttribute
229
+ });
230
+ filter = input(false, {
231
+ ...ngDevMode ? { debugName: "filter" } : /* istanbul ignore next */ {},
232
+ transform: booleanAttribute
233
+ });
234
+ filterBy = input(...ngDevMode ? [void 0, { debugName: "filterBy" }] : /* istanbul ignore next */ []);
235
+ filterMatchMode = input("contains", ...ngDevMode ? [{ debugName: "filterMatchMode" }] : /* istanbul ignore next */ []);
236
+ filterLocale = input(...ngDevMode ? [void 0, { debugName: "filterLocale" }] : /* istanbul ignore next */ []);
237
+ metaKeySelection = input(false, {
238
+ ...ngDevMode ? { debugName: "metaKeySelection" } : /* istanbul ignore next */ {},
239
+ transform: booleanAttribute
240
+ });
241
+ dataKey = input(...ngDevMode ? [void 0, { debugName: "dataKey" }] : /* istanbul ignore next */ []);
242
+ showToggleAll = input(true, {
243
+ ...ngDevMode ? { debugName: "showToggleAll" } : /* istanbul ignore next */ {},
244
+ transform: booleanAttribute
245
+ });
246
+ optionLabel = input(...ngDevMode ? [void 0, { debugName: "optionLabel" }] : /* istanbul ignore next */ []);
247
+ optionValue = input(...ngDevMode ? [void 0, { debugName: "optionValue" }] : /* istanbul ignore next */ []);
248
+ optionGroupChildren = input("items", ...ngDevMode ? [{ debugName: "optionGroupChildren" }] : /* istanbul ignore next */ []);
249
+ optionGroupLabel = input("label", ...ngDevMode ? [{ debugName: "optionGroupLabel" }] : /* istanbul ignore next */ []);
250
+ optionDisabled = input(...ngDevMode ? [void 0, { debugName: "optionDisabled" }] : /* istanbul ignore next */ []);
251
+ ariaFilterLabel = input(...ngDevMode ? [void 0, { debugName: "ariaFilterLabel" }] : /* istanbul ignore next */ []);
252
+ filterPlaceHolder = input(...ngDevMode ? [void 0, { debugName: "filterPlaceHolder" }] : /* istanbul ignore next */ []);
253
+ emptyFilterMessage = input(...ngDevMode ? [void 0, { debugName: "emptyFilterMessage" }] : /* istanbul ignore next */ []);
254
+ emptyMessage = input(...ngDevMode ? [void 0, { debugName: "emptyMessage" }] : /* istanbul ignore next */ []);
255
+ group = input(void 0, {
256
+ ...ngDevMode ? { debugName: "group" } : /* istanbul ignore next */ {},
257
+ transform: booleanAttribute
258
+ });
259
+ options = input(...ngDevMode ? [void 0, { debugName: "options" }] : /* istanbul ignore next */ []);
260
+ filterValue = input(...ngDevMode ? [void 0, { debugName: "filterValue" }] : /* istanbul ignore next */ []);
261
+ selectAll = input(...ngDevMode ? [void 0, { debugName: "selectAll" }] : /* istanbul ignore next */ []);
262
+ striped = input(false, {
263
+ ...ngDevMode ? { debugName: "striped" } : /* istanbul ignore next */ {},
264
+ transform: booleanAttribute
265
+ });
266
+ highlightOnSelect = input(true, {
267
+ ...ngDevMode ? { debugName: "highlightOnSelect" } : /* istanbul ignore next */ {},
268
+ transform: booleanAttribute
269
+ });
270
+ checkmark = input(false, {
271
+ ...ngDevMode ? { debugName: "checkmark" } : /* istanbul ignore next */ {},
272
+ transform: booleanAttribute
273
+ });
274
+ dragdrop = input(false, {
275
+ ...ngDevMode ? { debugName: "dragdrop" } : /* istanbul ignore next */ {},
276
+ transform: booleanAttribute
277
+ });
278
+ dropListData = input(...ngDevMode ? [void 0, { debugName: "dropListData" }] : /* istanbul ignore next */ []);
279
+ fluid = input(void 0, {
280
+ ...ngDevMode ? { debugName: "fluid" } : /* istanbul ignore next */ {},
281
+ transform: booleanAttribute
282
+ });
283
+ onChange = output();
284
+ onClick = output();
285
+ onDblClick = output();
286
+ onFilter = output();
287
+ onFocus = output();
288
+ onBlur = output();
289
+ onSelectAllChange = output();
290
+ onLazyLoad = output();
291
+ onDrop = output();
292
+ headerCheckboxViewChild = viewChild("headerchkbox", ...ngDevMode ? [{ debugName: "headerCheckboxViewChild" }] : /* istanbul ignore next */ []);
293
+ filterViewChild = viewChild("filterInput", ...ngDevMode ? [{ debugName: "filterViewChild" }] : /* istanbul ignore next */ []);
294
+ lastHiddenFocusableElement = viewChild("lastHiddenFocusableElement", ...ngDevMode ? [{ debugName: "lastHiddenFocusableElement" }] : /* istanbul ignore next */ []);
295
+ firstHiddenFocusableElement = viewChild("firstHiddenFocusableElement", ...ngDevMode ? [{ debugName: "firstHiddenFocusableElement" }] : /* istanbul ignore next */ []);
296
+ scroller = viewChild("scroller", ...ngDevMode ? [{ debugName: "scroller" }] : /* istanbul ignore next */ []);
297
+ listViewChild = viewChild("list", ...ngDevMode ? [{ debugName: "listViewChild" }] : /* istanbul ignore next */ []);
298
+ containerViewChild = viewChild("container", ...ngDevMode ? [{ debugName: "containerViewChild" }] : /* istanbul ignore next */ []);
299
+ headerFacet = contentChild(Header, {
300
+ ...ngDevMode ? { debugName: "headerFacet" } : /* istanbul ignore next */ {},
301
+ descendants: false
302
+ });
303
+ footerFacet = contentChild(Footer, {
304
+ ...ngDevMode ? { debugName: "footerFacet" } : /* istanbul ignore next */ {},
305
+ descendants: false
306
+ });
307
+ itemTemplate = contentChild("item", {
308
+ ...ngDevMode ? { debugName: "itemTemplate" } : /* istanbul ignore next */ {},
309
+ descendants: false
310
+ });
311
+ groupTemplate = contentChild("group", {
312
+ ...ngDevMode ? { debugName: "groupTemplate" } : /* istanbul ignore next */ {},
313
+ descendants: false
314
+ });
315
+ headerTemplate = contentChild("header", {
316
+ ...ngDevMode ? { debugName: "headerTemplate" } : /* istanbul ignore next */ {},
317
+ descendants: false
318
+ });
319
+ filterTemplate = contentChild("filter", {
320
+ ...ngDevMode ? { debugName: "filterTemplate" } : /* istanbul ignore next */ {},
321
+ descendants: false
322
+ });
323
+ footerTemplate = contentChild("footer", {
324
+ ...ngDevMode ? { debugName: "footerTemplate" } : /* istanbul ignore next */ {},
325
+ descendants: false
326
+ });
327
+ emptyFilterTemplate = contentChild("emptyfilter", {
328
+ ...ngDevMode ? { debugName: "emptyFilterTemplate" } : /* istanbul ignore next */ {},
329
+ descendants: false
330
+ });
331
+ emptyTemplate = contentChild("empty", {
332
+ ...ngDevMode ? { debugName: "emptyTemplate" } : /* istanbul ignore next */ {},
333
+ descendants: false
334
+ });
335
+ filterIconTemplate = contentChild("filtericon", {
336
+ ...ngDevMode ? { debugName: "filterIconTemplate" } : /* istanbul ignore next */ {},
337
+ descendants: false
338
+ });
339
+ checkIconTemplate = contentChild("checkicon", {
340
+ ...ngDevMode ? { debugName: "checkIconTemplate" } : /* istanbul ignore next */ {},
341
+ descendants: false
342
+ });
343
+ checkmarkTemplate = contentChild("checkmark", {
344
+ ...ngDevMode ? { debugName: "checkmarkTemplate" } : /* istanbul ignore next */ {},
345
+ descendants: false
346
+ });
347
+ loaderTemplate = contentChild("loader", {
348
+ ...ngDevMode ? { debugName: "loaderTemplate" } : /* istanbul ignore next */ {},
349
+ descendants: false
350
+ });
351
+ _filterValue = signal(null, ...ngDevMode ? [{ debugName: "_filterValue" }] : /* istanbul ignore next */ []);
352
+ _filteredOptions;
353
+ filterOptions;
354
+ filtered;
355
+ value;
356
+ optionTouched;
357
+ focus;
358
+ headerCheckboxFocus;
359
+ translation = toSignal(this.config.translationObserver, { initialValue: this.config.translation });
360
+ focused;
361
+ scrollerTabIndex = 0;
362
+ _componentStyle = inject(ListBoxStyle);
363
+ _options = signal(null, ...ngDevMode ? [{ debugName: "_options" }] : /* istanbul ignore next */ []);
364
+ startRangeIndex = signal(-1, ...ngDevMode ? [{ debugName: "startRangeIndex" }] : /* istanbul ignore next */ []);
365
+ focusedOptionIndex = signal(-1, ...ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []);
366
+ isDragging = signal(false, ...ngDevMode ? [{ debugName: "isDragging" }] : /* istanbul ignore next */ []);
367
+ searchValue;
368
+ searchTimeout;
369
+ _internalId = uuid("pn_id_");
370
+ $id = computed(() => this.id() || this._internalId, ...ngDevMode ? [{ debugName: "$id" }] : /* istanbul ignore next */ []);
371
+ $tabindex = computed(() => this.tabindex() ?? 0, ...ngDevMode ? [{ debugName: "$tabindex" }] : /* istanbul ignore next */ []);
372
+ hiddenFocusableTabindex = computed(() => !this.$disabled() ? this.$tabindex() : -1, ...ngDevMode ? [{ debugName: "hiddenFocusableTabindex" }] : /* istanbul ignore next */ []);
373
+ hasHeader = computed(() => !!this.headerFacet() || !!this.headerTemplate(), ...ngDevMode ? [{ debugName: "hasHeader" }] : /* istanbul ignore next */ []);
374
+ hasFooter = computed(() => !!this.footerFacet() || !!this.footerTemplate(), ...ngDevMode ? [{ debugName: "hasFooter" }] : /* istanbul ignore next */ []);
375
+ hasCheckboxOrFilter = computed(() => this.checkbox() && this.multiple() && this.showToggleAll() || this.filter(), ...ngDevMode ? [{ debugName: "hasCheckboxOrFilter" }] : /* istanbul ignore next */ []);
376
+ showCheckboxToggleAll = computed(() => this.checkbox() && this.multiple() && this.showToggleAll(), ...ngDevMode ? [{ debugName: "showCheckboxToggleAll" }] : /* istanbul ignore next */ []);
377
+ showOptionCheckbox = computed(() => this.checkbox() && this.multiple(), ...ngDevMode ? [{ debugName: "showOptionCheckbox" }] : /* istanbul ignore next */ []);
378
+ showFilteredEmptyMessage = computed(() => this.hasFilter() && this.isEmpty(), ...ngDevMode ? [{ debugName: "showFilteredEmptyMessage" }] : /* istanbul ignore next */ []);
379
+ showEmptyMessage = computed(() => !this.hasFilter() && this.isEmpty(), ...ngDevMode ? [{ debugName: "showEmptyMessage" }] : /* istanbul ignore next */ []);
380
+ ariaActiveDescendant = computed(() => this.focused ? this.focusedOptionId() : void 0, ...ngDevMode ? [{ debugName: "ariaActiveDescendant" }] : /* istanbul ignore next */ []);
381
+ headerTemplateContext = computed(() => ({
382
+ $implicit: this.modelValue(),
383
+ options: this.visibleOptions()
384
+ }), ...ngDevMode ? [{ debugName: "headerTemplateContext" }] : /* istanbul ignore next */ []);
385
+ footerTemplateContext = computed(() => ({
386
+ $implicit: this.modelValue(),
387
+ options: this.visibleOptions()
388
+ }), ...ngDevMode ? [{ debugName: "footerTemplateContext" }] : /* istanbul ignore next */ []);
389
+ filterInputValue = computed(() => this._filterValue() || "", ...ngDevMode ? [{ debugName: "filterInputValue" }] : /* istanbul ignore next */ []);
390
+ disabledAttr = computed(() => this.$disabled() ? "" : void 0, ...ngDevMode ? [{ debugName: "disabledAttr" }] : /* istanbul ignore next */ []);
391
+ listId = computed(() => `${this.$id()}_list`, ...ngDevMode ? [{ debugName: "listId" }] : /* istanbul ignore next */ []);
392
+ scrollerStyle = computed(() => ({ height: this.scrollHeight() === "flex" ? "100%" : this.scrollHeight() }), ...ngDevMode ? [{ debugName: "scrollerStyle" }] : /* istanbul ignore next */ []);
393
+ showDefaultFilterEmptyMessage = computed(() => !this.emptyFilterTemplate() && !this.emptyTemplate(), ...ngDevMode ? [{ debugName: "showDefaultFilterEmptyMessage" }] : /* istanbul ignore next */ []);
394
+ emptyOrFilterTemplate = computed(() => this.emptyFilterTemplate() || this.emptyTemplate(), ...ngDevMode ? [{ debugName: "emptyOrFilterTemplate" }] : /* istanbul ignore next */ []);
395
+ buildInItemsContext = computed(() => ({
396
+ $implicit: this.visibleOptions(),
397
+ options: {}
398
+ }), ...ngDevMode ? [{ debugName: "buildInItemsContext" }] : /* istanbul ignore next */ []);
399
+ dragdropDisabled = computed(() => !this.dragdrop(), ...ngDevMode ? [{ debugName: "dragdropDisabled" }] : /* istanbul ignore next */ []);
400
+ allSelectedContext = computed(() => ({ $implicit: this.allSelected() }), ...ngDevMode ? [{ debugName: "allSelectedContext" }] : /* istanbul ignore next */ []);
401
+ showDefaultCheckmark = computed(() => !this.checkmarkTemplate(), ...ngDevMode ? [{ debugName: "showDefaultCheckmark" }] : /* istanbul ignore next */ []);
402
+ showDefaultItemLabel = computed(() => !this.itemTemplate(), ...ngDevMode ? [{ debugName: "showDefaultItemLabel" }] : /* istanbul ignore next */ []);
403
+ showDefaultGroupLabel = computed(() => !this.groupTemplate(), ...ngDevMode ? [{ debugName: "showDefaultGroupLabel" }] : /* istanbul ignore next */ []);
404
+ showDefaultFilterIcon = computed(() => !this.filterIconTemplate(), ...ngDevMode ? [{ debugName: "showDefaultFilterIcon" }] : /* istanbul ignore next */ []);
405
+ cdkDropData = computed(() => this.dropListData() || this._options(), ...ngDevMode ? [{ debugName: "cdkDropData" }] : /* istanbul ignore next */ []);
406
+ checkboxVariant = computed(() => this.config.inputVariant() === "filled" ? "filled" : "outlined", ...ngDevMode ? [{ debugName: "checkboxVariant" }] : /* istanbul ignore next */ []);
407
+ listContainerStyle = computed(() => {
408
+ const listStyle = this.listStyle();
409
+ const scrollHeight = this.scrollHeight();
410
+ const maxHeight = this.virtualScroll() || scrollHeight === "flex" ? "auto" : scrollHeight || "auto";
411
+ return {
412
+ ...listStyle,
413
+ "max-height": maxHeight
414
+ };
415
+ }, ...ngDevMode ? [{ debugName: "listContainerStyle" }] : /* istanbul ignore next */ []);
416
+ focusedOptionId = computed(() => this.focusedOptionIndex() !== -1 ? `${this.$id()}_${this.focusedOptionIndex()}` : null, ...ngDevMode ? [{ debugName: "focusedOptionId" }] : /* istanbul ignore next */ []);
417
+ filterTabindex = computed(() => !this.$disabled() && !this.focused ? this.$tabindex() : -1, ...ngDevMode ? [{ debugName: "filterTabindex" }] : /* istanbul ignore next */ []);
418
+ filterResultMessageText = computed(() => isNotEmpty(this.visibleOptions()) ? this.filterMessageText().replaceAll("{0}", String(this.visibleOptions().length)) : this.emptyFilterMessageText(), ...ngDevMode ? [{ debugName: "filterResultMessageText" }] : /* istanbul ignore next */ []);
419
+ filterMessageText = computed(() => {
420
+ const t = this.translation();
421
+ return this.filterMessage() || t?.searchMessage || "";
422
+ }, ...ngDevMode ? [{ debugName: "filterMessageText" }] : /* istanbul ignore next */ []);
423
+ searchMessageText = computed(() => {
424
+ const t = this.translation();
425
+ return this.searchMessage() || t?.searchMessage || "";
426
+ }, ...ngDevMode ? [{ debugName: "searchMessageText" }] : /* istanbul ignore next */ []);
427
+ emptyFilterMessageText = computed(() => {
428
+ const t = this.translation();
429
+ return this.emptyFilterMessage() || t?.emptySearchMessage || t?.emptyFilterMessage || "";
430
+ }, ...ngDevMode ? [{ debugName: "emptyFilterMessageText" }] : /* istanbul ignore next */ []);
431
+ selectionMessageText = computed(() => {
432
+ const t = this.translation();
433
+ return this.selectionMessage() || t?.selectionMessage || "";
434
+ }, ...ngDevMode ? [{ debugName: "selectionMessageText" }] : /* istanbul ignore next */ []);
435
+ emptySelectionMessageText = computed(() => {
436
+ const t = this.translation();
437
+ return this.emptySelectionMessage() || t?.emptySelectionMessage || "";
438
+ }, ...ngDevMode ? [{ debugName: "emptySelectionMessageText" }] : /* istanbul ignore next */ []);
439
+ selectedMessageText = computed(() => this.hasSelectedOption() ? this.selectionMessageText().replaceAll("{0}", this.multiple() ? String(this.modelValue().length) : "1") : this.emptySelectionMessageText(), ...ngDevMode ? [{ debugName: "selectedMessageText" }] : /* istanbul ignore next */ []);
440
+ ariaSetSize = computed(() => this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length, ...ngDevMode ? [{ debugName: "ariaSetSize" }] : /* istanbul ignore next */ []);
441
+ virtualScrollerDisabled = computed(() => !this.virtualScroll(), ...ngDevMode ? [{ debugName: "virtualScrollerDisabled" }] : /* istanbul ignore next */ []);
442
+ searchFields = computed(() => this.filterBy()?.split(",") || this.filterFields() || [this.optionLabel()], ...ngDevMode ? [{ debugName: "searchFields" }] : /* istanbul ignore next */ []);
443
+ toggleAllAriaLabel = computed(() => {
444
+ const t = this.translation();
445
+ return t?.aria ? t.aria[this.allSelected() ? "selectAll" : "unselectAll"] : void 0;
446
+ }, ...ngDevMode ? [{ debugName: "toggleAllAriaLabel" }] : /* istanbul ignore next */ []);
447
+ visibleOptions = computed(() => {
448
+ const options = this.group() ? this.flatOptions(this._options()) : this._options() || [];
449
+ return this._filterValue() ? this.filterService.filter(options, this.searchFields(), this._filterValue(), this.filterMatchMode(), this.filterLocale()) : options;
450
+ }, ...ngDevMode ? [{ debugName: "visibleOptions" }] : /* istanbul ignore next */ []);
451
+ constructor() {
452
+ super();
453
+ effect(() => {
454
+ const opts = this.options();
455
+ if (opts !== void 0) this._options.set(opts);
456
+ });
457
+ effect(() => {
458
+ const fv = this.filterValue();
459
+ if (fv !== void 0) this._filterValue.set(fv);
460
+ });
461
+ }
462
+ dragPreviewLimit = 4;
463
+ onAfterViewChecked() {
464
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
465
+ }
466
+ onHostFocusOut(event) {
467
+ this.onFocusout(event);
468
+ }
469
+ onInit() {
470
+ this.autoUpdateModel();
471
+ if (this.filterBy()) this.filterOptions = {
472
+ filter: (value) => this.onFilterChange(value),
473
+ reset: () => this.resetFilter()
474
+ };
475
+ }
476
+ flatOptions(options) {
477
+ return (options || []).reduce((result, option, index) => {
478
+ result.push({
479
+ optionGroup: option,
480
+ group: true,
481
+ index
482
+ });
483
+ const optionGroupChildren = this.getOptionGroupChildren(option);
484
+ if (optionGroupChildren) optionGroupChildren.forEach((o) => result.push(o));
485
+ return result;
486
+ }, []);
487
+ }
488
+ autoUpdateModel() {
489
+ if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption() && !this.multiple()) {
490
+ const focusedOptionIndex = this.findFirstFocusedOptionIndex();
491
+ this.focusedOptionIndex.set(focusedOptionIndex);
492
+ this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()]);
493
+ }
494
+ }
495
+ updateModel(value, event) {
496
+ this.value = value;
497
+ this.writeModelValue(value);
498
+ this.onModelChange(value);
499
+ this.onChange.emit({
500
+ originalEvent: event,
501
+ value: this.value
502
+ });
503
+ }
504
+ removeOption(option) {
505
+ return this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey() || ""));
506
+ }
507
+ onOptionSelect(event, option, index = -1) {
508
+ if (this.$disabled() || this.isOptionDisabled(option) || this.readonly()) return;
509
+ if (event) this.onClick.emit({
510
+ originalEvent: event,
511
+ option,
512
+ value: this.value
513
+ });
514
+ if (this.multiple()) this.onOptionSelectMultiple(event, option);
515
+ else this.onOptionSelectSingle(event, option);
516
+ this.optionTouched = false;
517
+ if (index !== -1) this.focusedOptionIndex.set(index);
518
+ }
519
+ onOptionSelectMultiple(event, option) {
520
+ let selected = this.isSelected(option);
521
+ let value = [];
522
+ if (this.optionTouched ? false : this.metaKeySelection()) {
523
+ let metaKey = event.metaKey || event.ctrlKey;
524
+ if (selected) value = metaKey ? this.removeOption(option) : [this.getOptionValue(option)];
525
+ else {
526
+ value = metaKey ? this.modelValue() || [] : [];
527
+ value = [...value || [], this.getOptionValue(option)];
528
+ }
529
+ } else value = selected ? this.removeOption(option) : [...this.modelValue() || [], this.getOptionValue(option)];
530
+ this.updateModel(value, event);
531
+ }
532
+ onOptionSelectSingle(event, option) {
533
+ let selected = this.isSelected(option);
534
+ let valueChanged = false;
535
+ let value = null;
536
+ if (this.optionTouched ? false : this.metaKeySelection()) {
537
+ let metaKey = event.metaKey || event.ctrlKey;
538
+ if (selected) {
539
+ if (metaKey) {
540
+ value = null;
541
+ valueChanged = true;
542
+ }
543
+ } else {
544
+ value = this.getOptionValue(option);
545
+ valueChanged = true;
546
+ }
547
+ } else {
548
+ value = selected ? null : this.getOptionValue(option);
549
+ valueChanged = true;
550
+ }
551
+ if (valueChanged) this.updateModel(value, event);
552
+ }
553
+ onOptionSelectRange(event, start = -1, end = -1) {
554
+ if (start === -1) start = this.findNearestSelectedOptionIndex(end, true);
555
+ if (end === -1) end = this.findNearestSelectedOptionIndex(start);
556
+ if (start !== -1 && end !== -1) {
557
+ const rangeStart = Math.min(start, end);
558
+ const rangeEnd = Math.max(start, end);
559
+ const value = this.visibleOptions().slice(rangeStart, rangeEnd + 1).filter((option) => this.isValidOption(option)).map((option) => this.getOptionValue(option));
560
+ this.updateModel(value, event);
561
+ }
562
+ }
563
+ onToggleAll(event) {
564
+ if (this.$disabled() || this.readonly()) return;
565
+ focus(this.headerCheckboxViewChild()?.nativeElement);
566
+ if (this.selectAll() !== null && this.selectAll() !== void 0) this.onSelectAllChange.emit({
567
+ originalEvent: event,
568
+ checked: !this.allSelected()
569
+ });
570
+ else {
571
+ const value = this.allSelected() ? [] : this.visibleOptions().filter((option) => this.isValidOption(option)).map((option) => this.getOptionValue(option));
572
+ this.updateModel(value, event);
573
+ }
574
+ }
575
+ allSelected() {
576
+ const selectAllValue = this.selectAll();
577
+ return selectAllValue !== null && selectAllValue !== void 0 ? selectAllValue : isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));
578
+ }
579
+ onOptionTouchEnd() {
580
+ if (this.$disabled()) return;
581
+ this.optionTouched = true;
582
+ }
583
+ onOptionMouseDown(event, index) {
584
+ this.changeFocusedOptionIndex(event, index);
585
+ }
586
+ onOptionMouseEnter(event, index) {
587
+ if (this.focusOnHover() && this.focused) this.changeFocusedOptionIndex(event, index);
588
+ }
589
+ onOptionDoubleClick(event, option) {
590
+ if (this.$disabled() || this.isOptionDisabled(option) || this.readonly()) return;
591
+ this.onDblClick.emit({
592
+ originalEvent: event,
593
+ option,
594
+ value: this.value
595
+ });
596
+ }
597
+ onFirstHiddenFocus(event) {
598
+ focus(this.listViewChild()?.nativeElement);
599
+ const firstFocusableEl = getFirstFocusableElement(this.el?.nativeElement, ":not([data-p-hidden-focusable=\"true\"])");
600
+ const lastEl = this.lastHiddenFocusableElement();
601
+ const firstEl = this.firstHiddenFocusableElement();
602
+ if (lastEl?.nativeElement) lastEl.nativeElement.tabIndex = isEmpty(firstFocusableEl) ? -1 : void 0;
603
+ if (firstEl?.nativeElement) firstEl.nativeElement.tabIndex = -1;
604
+ }
605
+ onLastHiddenFocus(event) {
606
+ const relatedTarget = event.relatedTarget;
607
+ const lastEl = this.lastHiddenFocusableElement();
608
+ const firstEl = this.firstHiddenFocusableElement();
609
+ if (relatedTarget === this.listViewChild()?.nativeElement) {
610
+ const firstFocusableEl = getFirstFocusableElement(this.el?.nativeElement, ":not([data-p-hidden-focusable=\"true\"])");
611
+ focus(firstFocusableEl);
612
+ if (firstEl?.nativeElement) firstEl.nativeElement.tabIndex = void 0;
613
+ } else focus(firstEl?.nativeElement);
614
+ if (lastEl?.nativeElement) lastEl.nativeElement.tabIndex = -1;
615
+ }
616
+ onFocusout(event) {
617
+ const lastEl = this.lastHiddenFocusableElement();
618
+ const firstEl = this.firstHiddenFocusableElement();
619
+ if (!this.el.nativeElement.contains(event.relatedTarget) && lastEl && firstEl) {
620
+ firstEl.nativeElement.tabIndex = lastEl.nativeElement.tabIndex = void 0;
621
+ this.scrollerTabIndex = 0;
622
+ }
623
+ }
624
+ onListFocus(event) {
625
+ this.focused = true;
626
+ const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex();
627
+ this.focusedOptionIndex.set(focusedOptionIndex);
628
+ this.scrollInView(focusedOptionIndex);
629
+ this.onFocus.emit(event);
630
+ this.scrollerTabIndex = -1;
631
+ }
632
+ onListBlur(event) {
633
+ this.focused = false;
634
+ this.focusedOptionIndex.set(-1);
635
+ this.startRangeIndex.set(-1);
636
+ this.searchValue = "";
637
+ this.onBlur.emit(event);
638
+ }
639
+ onHeaderCheckboxKeyDown(event) {
640
+ if (this.$disabled()) {
641
+ event.preventDefault();
642
+ return;
643
+ }
644
+ switch (event.code) {
645
+ case "Space":
646
+ this.onToggleAll(event);
647
+ break;
648
+ case "Enter":
649
+ this.onToggleAll(event);
650
+ break;
651
+ case "Tab": this.onHeaderCheckboxTabKeyDown(event);
652
+ }
653
+ }
654
+ onHeaderCheckboxTabKeyDown(event) {
655
+ focus(this.listViewChild()?.nativeElement);
656
+ event.preventDefault();
657
+ }
658
+ onFilterChange(event) {
659
+ let value = event.target.value?.trim();
660
+ this._filterValue.set(value);
661
+ this.focusedOptionIndex.set(-1);
662
+ this.startRangeIndex.set(-1);
663
+ this.onFilter.emit({
664
+ originalEvent: event,
665
+ filter: this._filterValue()
666
+ });
667
+ if (!this.virtualScrollerDisabled()) this.scroller()?.scrollToIndex(0);
668
+ }
669
+ onFilterBlur(event) {
670
+ this.focusedOptionIndex.set(-1);
671
+ this.startRangeIndex.set(-1);
672
+ }
673
+ onListKeyDown(event) {
674
+ const metaKey = event.metaKey || event.ctrlKey;
675
+ switch (event.code) {
676
+ case "ArrowDown":
677
+ this.onArrowDownKey(event);
678
+ break;
679
+ case "ArrowUp":
680
+ this.onArrowUpKey(event);
681
+ break;
682
+ case "Home":
683
+ this.onHomeKey(event);
684
+ break;
685
+ case "End":
686
+ this.onEndKey(event);
687
+ break;
688
+ case "PageDown":
689
+ this.onPageDownKey(event);
690
+ break;
691
+ case "PageUp":
692
+ this.onPageUpKey(event);
693
+ break;
694
+ case "Enter":
695
+ case "Space":
696
+ case "NumpadEnter":
697
+ this.onSpaceKey(event);
698
+ break;
699
+ case "Tab": break;
700
+ case "ShiftLeft":
701
+ case "ShiftRight":
702
+ this.onShiftKey();
703
+ break;
704
+ default:
705
+ if (this.multiple() && event.code === "KeyA" && metaKey) {
706
+ const value = this.visibleOptions().filter((option) => this.isValidOption(option)).map((option) => this.getOptionValue(option));
707
+ this.updateModel(value, event);
708
+ event.preventDefault();
709
+ break;
710
+ }
711
+ if (!metaKey && isPrintableCharacter(event.key)) {
712
+ this.searchOptions(event, event.key);
713
+ event.preventDefault();
714
+ }
715
+ }
716
+ }
717
+ onFilterKeyDown(event) {
718
+ switch (event.code) {
719
+ case "ArrowDown":
720
+ this.onArrowDownKey(event);
721
+ break;
722
+ case "ArrowUp":
723
+ this.onArrowUpKey(event);
724
+ break;
725
+ case "ArrowLeft":
726
+ case "ArrowRight":
727
+ this.onArrowLeftKey(event, true);
728
+ break;
729
+ case "Home":
730
+ this.onHomeKey(event, true);
731
+ break;
732
+ case "End":
733
+ this.onEndKey(event, true);
734
+ break;
735
+ case "Enter":
736
+ this.onEnterKey(event);
737
+ break;
738
+ case "ShiftLeft":
739
+ case "ShiftRight": this.onShiftKey();
740
+ }
741
+ }
742
+ onArrowDownKey(event) {
743
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();
744
+ if (this.multiple() && event.shiftKey) this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);
745
+ this.changeFocusedOptionIndex(event, optionIndex);
746
+ event.preventDefault();
747
+ }
748
+ onArrowUpKey(event) {
749
+ const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();
750
+ if (this.multiple() && event.shiftKey) this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());
751
+ this.changeFocusedOptionIndex(event, optionIndex);
752
+ event.preventDefault();
753
+ }
754
+ onArrowLeftKey(event, pressedInInputText = false) {
755
+ if (pressedInInputText) this.focusedOptionIndex.set(-1);
756
+ }
757
+ onHomeKey(event, pressedInInputText = false) {
758
+ if (pressedInInputText) {
759
+ if (event.shiftKey) return;
760
+ event.currentTarget.setSelectionRange(0, 0);
761
+ this.focusedOptionIndex.set(-1);
762
+ } else {
763
+ let metaKey = event.metaKey || event.ctrlKey;
764
+ let optionIndex = this.findFirstOptionIndex();
765
+ if (this.multiple() && event.shiftKey && metaKey) this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());
766
+ this.changeFocusedOptionIndex(event, optionIndex);
767
+ }
768
+ event.preventDefault();
769
+ }
770
+ onEndKey(event, pressedInInputText = false) {
771
+ if (pressedInInputText) {
772
+ if (event.shiftKey) return;
773
+ const target = event.currentTarget;
774
+ const len = target.value.length;
775
+ target.setSelectionRange(len, len);
776
+ this.focusedOptionIndex.set(-1);
777
+ } else {
778
+ let metaKey = event.metaKey || event.ctrlKey;
779
+ let optionIndex = this.findLastOptionIndex();
780
+ if (this.multiple() && event.shiftKey && metaKey) this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);
781
+ this.changeFocusedOptionIndex(event, optionIndex);
782
+ }
783
+ event.preventDefault();
784
+ }
785
+ onPageDownKey(event) {
786
+ this.scrollInView(0);
787
+ event.preventDefault();
788
+ }
789
+ onPageUpKey(event) {
790
+ this.scrollInView(this.visibleOptions().length - 1);
791
+ event.preventDefault();
792
+ }
793
+ onEnterKey(event) {
794
+ if (this.focusedOptionIndex() !== -1) {
795
+ if (this.multiple() && event.shiftKey) this.onOptionSelectRange(event, this.focusedOptionIndex());
796
+ else this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);
797
+ }
798
+ event.preventDefault();
799
+ }
800
+ onSpaceKey(event) {
801
+ this.onEnterKey(event);
802
+ }
803
+ onShiftKey() {
804
+ const focusedOptionIndex = this.focusedOptionIndex();
805
+ this.startRangeIndex.set(focusedOptionIndex);
806
+ }
807
+ getOptionGroupChildren(optionGroup) {
808
+ return this.optionGroupChildren() ? resolveFieldData(optionGroup, this.optionGroupChildren()) : optionGroup.items;
809
+ }
810
+ getOptionGroupLabel(optionGroup) {
811
+ return this.optionGroupLabel() ? resolveFieldData(optionGroup, this.optionGroupLabel()) : optionGroup && optionGroup.label !== void 0 ? optionGroup.label : optionGroup;
812
+ }
813
+ getOptionLabel(option) {
814
+ return this.optionLabel() ? resolveFieldData(option, this.optionLabel()) : option.label != void 0 ? option.label : option;
815
+ }
816
+ getOptionIndex(index, scrollerOptions) {
817
+ return this.virtualScrollerDisabled() ? index : scrollerOptions && scrollerOptions.getItemOptions(index)["index"];
818
+ }
819
+ getOptionValue(option) {
820
+ return this.optionValue() ? resolveFieldData(option, this.optionValue()) : !this.optionLabel() && option && option.value !== void 0 ? option.value : option;
821
+ }
822
+ getOptionTrackKey(option, index) {
823
+ return `${(this.isOptionGroup(option) ? this.getOptionGroupLabel(option.optionGroup) : this.getOptionValue(option)) ?? ""}_${index}`;
824
+ }
825
+ getAriaPosInset(index) {
826
+ return (this.optionGroupLabel() ? index - this.visibleOptions().slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;
827
+ }
828
+ getPTOptions(option, itemOptions, index, key) {
829
+ return this.ptm(key, { context: {
830
+ selected: this.isSelected(option),
831
+ focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),
832
+ disabled: this.isOptionDisabled(option)
833
+ } });
834
+ }
835
+ getOptionId(index, scrollerOptions) {
836
+ return `${this.$id()}_${this.getOptionIndex(index, scrollerOptions)}`;
837
+ }
838
+ getOptionCheckboxDisabled(option) {
839
+ return this.$disabled() || this.isOptionDisabled(option);
840
+ }
841
+ getCheckIconContext(option) {
842
+ return { $implicit: this.isSelected(option) };
843
+ }
844
+ getCheckmarkContext(option) {
845
+ return { implicit: this.isSelected(option) };
846
+ }
847
+ getGroupTemplateContext(optionGroup) {
848
+ return { $implicit: optionGroup };
849
+ }
850
+ getItemTemplateContext(option, index, scrollerOptions) {
851
+ return {
852
+ $implicit: option,
853
+ index: this.getOptionIndex(index, scrollerOptions),
854
+ selected: this.isSelected(option),
855
+ disabled: this.isOptionDisabled(option)
856
+ };
857
+ }
858
+ dragPreviewOptions() {
859
+ return this.visibleOptions().filter((option) => !this.isOptionGroup(option) && this.isSelected(option));
860
+ }
861
+ isMultiDrag(option) {
862
+ return this.isSelected(option) && this.dragPreviewOptions().length > 1;
863
+ }
864
+ getDragPreviewTemplateContext(option) {
865
+ return {
866
+ $implicit: option,
867
+ index: this.visibleOptions().indexOf(option),
868
+ selected: true,
869
+ disabled: this.isOptionDisabled(option)
870
+ };
871
+ }
872
+ getFilterTemplateContext() {
873
+ return { options: this.filterOptions };
874
+ }
875
+ getBuildInItemsContext(items, scrollerOptions) {
876
+ return {
877
+ $implicit: items,
878
+ options: scrollerOptions
879
+ };
880
+ }
881
+ getLoaderTemplateContext(scrollerOptions) {
882
+ return { options: scrollerOptions };
883
+ }
884
+ isOptionFocused(index, scrollerOptions) {
885
+ return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);
886
+ }
887
+ hasSelectedOption() {
888
+ return isNotEmpty(this.modelValue());
889
+ }
890
+ isOptionGroup(option) {
891
+ return this.optionGroupLabel() && option.optionGroup && option.group;
892
+ }
893
+ changeFocusedOptionIndex(event, index) {
894
+ if (this.focusedOptionIndex() !== index) {
895
+ this.focusedOptionIndex.set(index);
896
+ this.scrollInView();
897
+ if (this.selectOnFocus() && !this.multiple()) this.onOptionSelect(event, this.visibleOptions()[index]);
898
+ }
899
+ }
900
+ searchOptions(event, char) {
901
+ this.searchValue = (this.searchValue || "") + char;
902
+ let optionIndex = -1;
903
+ let matched = false;
904
+ if (this.focusedOptionIndex() !== -1) {
905
+ optionIndex = this.visibleOptions().slice(this.focusedOptionIndex()).findIndex((option) => this.isOptionMatched(option));
906
+ optionIndex = optionIndex === -1 ? this.visibleOptions().slice(0, this.focusedOptionIndex()).findIndex((option) => this.isOptionMatched(option)) : optionIndex + this.focusedOptionIndex();
907
+ } else optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));
908
+ if (optionIndex !== -1) matched = true;
909
+ if (optionIndex === -1 && this.focusedOptionIndex() === -1) optionIndex = this.findFirstFocusedOptionIndex();
910
+ if (optionIndex !== -1) this.changeFocusedOptionIndex(event, optionIndex);
911
+ if (this.searchTimeout) clearTimeout(this.searchTimeout);
912
+ this.searchTimeout = setTimeout(() => {
913
+ this.searchValue = "";
914
+ this.searchTimeout = null;
915
+ }, 500);
916
+ return matched;
917
+ }
918
+ isOptionMatched(option) {
919
+ return this.isValidOption(option) && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));
920
+ }
921
+ scrollInView(index = -1) {
922
+ const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId();
923
+ const element = findSingle(this.listViewChild()?.nativeElement, `li[id="${id}"]`);
924
+ if (element) {
925
+ if (element.scrollIntoView) element.scrollIntoView({
926
+ block: "nearest",
927
+ inline: "nearest"
928
+ });
929
+ } else if (!this.virtualScrollerDisabled()) {
930
+ if (this.virtualScroll()) this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());
931
+ }
932
+ }
933
+ findFirstOptionIndex() {
934
+ return this.visibleOptions().findIndex((option) => this.isValidOption(option));
935
+ }
936
+ findLastOptionIndex() {
937
+ return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));
938
+ }
939
+ findFirstFocusedOptionIndex() {
940
+ const selectedIndex = this.findFirstSelectedOptionIndex();
941
+ return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
942
+ }
943
+ findLastFocusedOptionIndex() {
944
+ const selectedIndex = this.findLastSelectedOptionIndex();
945
+ return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
946
+ }
947
+ findLastSelectedOptionIndex() {
948
+ return this.hasSelectedOption() ? findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;
949
+ }
950
+ findNextOptionIndex(index) {
951
+ const matchedOptionIndex = index < this.visibleOptions().length - 1 ? this.visibleOptions().slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;
952
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
953
+ }
954
+ findNextSelectedOptionIndex(index) {
955
+ const matchedOptionIndex = this.hasSelectedOption() && index < this.visibleOptions().length - 1 ? this.visibleOptions().slice(index + 1).findIndex((option) => this.isValidSelectedOption(option)) : -1;
956
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
957
+ }
958
+ findPrevSelectedOptionIndex(index) {
959
+ const matchedOptionIndex = this.hasSelectedOption() && index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;
960
+ return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
961
+ }
962
+ findFirstSelectedOptionIndex() {
963
+ return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;
964
+ }
965
+ findPrevOptionIndex(index) {
966
+ const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;
967
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
968
+ }
969
+ findSelectedOptionIndex() {
970
+ if (this.$filled()) {
971
+ if (this.multiple()) for (let index = this.modelValue().length - 1; index >= 0; index--) {
972
+ const value = this.modelValue()[index];
973
+ const matchedOptionIndex = this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option) && this.isEquals(value, this.getOptionValue(option)));
974
+ if (matchedOptionIndex > -1) return matchedOptionIndex;
975
+ }
976
+ else return this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option));
977
+ }
978
+ return -1;
979
+ }
980
+ findNearestSelectedOptionIndex(index, firstCheckUp = false) {
981
+ let matchedOptionIndex = -1;
982
+ if (this.hasSelectedOption()) {
983
+ if (firstCheckUp) {
984
+ matchedOptionIndex = this.findPrevSelectedOptionIndex(index);
985
+ matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;
986
+ } else {
987
+ matchedOptionIndex = this.findNextSelectedOptionIndex(index);
988
+ matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;
989
+ }
990
+ }
991
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
992
+ }
993
+ equalityKey() {
994
+ return this.optionValue() ? null : this.dataKey();
995
+ }
996
+ isValidSelectedOption(option) {
997
+ return this.isValidOption(option) && this.isSelected(option);
998
+ }
999
+ isOptionDisabled(option) {
1000
+ const optionDisabledValue = this.optionDisabled();
1001
+ if (isFunction(optionDisabledValue)) return optionDisabledValue(option);
1002
+ return optionDisabledValue ? resolveFieldData(option, optionDisabledValue) : false;
1003
+ }
1004
+ isEquals(value1, value2) {
1005
+ return equals(value1, value2, this.equalityKey() || "");
1006
+ }
1007
+ isSelected(option) {
1008
+ const optionValue = this.getOptionValue(option);
1009
+ if (this.multiple()) return (this.modelValue() || []).some((value) => this.isEquals(value, optionValue));
1010
+ else return this.isEquals(this.modelValue(), optionValue);
1011
+ }
1012
+ isValidOption(option) {
1013
+ return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
1014
+ }
1015
+ isEmpty() {
1016
+ return !this._options()?.length || !this.visibleOptions()?.length;
1017
+ }
1018
+ hasFilter() {
1019
+ return this._filterValue() && (this._filterValue()?.trim().length || 0) > 0;
1020
+ }
1021
+ resetFilter() {
1022
+ const filterEl = this.filterViewChild();
1023
+ if (filterEl && filterEl.nativeElement) filterEl.nativeElement.value = "";
1024
+ this._filterValue.set(null);
1025
+ }
1026
+ onDragEntered() {
1027
+ this.isDragging.set(true);
1028
+ this.el.nativeElement.setAttribute("p-listbox-dragging", "true");
1029
+ }
1030
+ onDragExited() {
1031
+ this.isDragging.set(false);
1032
+ this.el.nativeElement.setAttribute("p-listbox-dragging", "false");
1033
+ }
1034
+ drop(event) {
1035
+ this.isDragging.set(false);
1036
+ if (event) {
1037
+ if (this.dragdrop() && event.previousContainer === event.container) {
1038
+ const currentOptions = [...this._options()];
1039
+ if (this._filterValue()) {
1040
+ const visible = this.visibleOptions();
1041
+ const fromItem = visible[event.previousIndex];
1042
+ const toItem = visible[event.currentIndex];
1043
+ const realFrom = currentOptions.indexOf(fromItem);
1044
+ const realTo = currentOptions.indexOf(toItem);
1045
+ if (realFrom !== -1 && realTo !== -1) moveItemInArray(currentOptions, realFrom, realTo);
1046
+ } else moveItemInArray(currentOptions, event.previousIndex, event.currentIndex);
1047
+ this._options.set(currentOptions);
1048
+ this.changeFocusedOptionIndex(event, event.currentIndex);
1049
+ if (this.modelValue()) {
1050
+ this.writeModelValue(this.modelValue());
1051
+ this.onModelChange(this.modelValue());
1052
+ }
1053
+ }
1054
+ this.onDrop.emit(event);
1055
+ }
1056
+ }
1057
+ get containerDataP() {
1058
+ return this.cn({
1059
+ invalid: this.invalid(),
1060
+ disabled: this.$disabled()
1061
+ });
1062
+ }
1063
+ writeControlValue(value, setModelValue) {
1064
+ this.value = value;
1065
+ setModelValue(this.value);
1066
+ }
1067
+ static ɵfac = i0.ɵɵngDeclareFactory({
1068
+ minVersion: "12.0.0",
1069
+ version: "22.2.0",
1070
+ ngImport: i0,
1071
+ type: Listbox,
1072
+ deps: [],
1073
+ target: i0.ɵɵFactoryTarget.Component
1074
+ });
1075
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1076
+ minVersion: "17.0.0",
1077
+ version: "22.2.0",
1078
+ type: Listbox,
1079
+ isStandalone: true,
1080
+ selector: "p-listbox, p-list-box",
1081
+ inputs: {
1082
+ hostName: {
1083
+ classPropertyName: "hostName",
1084
+ publicName: "hostName",
1085
+ isSignal: true,
1086
+ isRequired: false,
1087
+ transformFunction: null
1088
+ },
1089
+ id: {
1090
+ classPropertyName: "id",
1091
+ publicName: "id",
1092
+ isSignal: true,
1093
+ isRequired: false,
1094
+ transformFunction: null
1095
+ },
1096
+ searchMessage: {
1097
+ classPropertyName: "searchMessage",
1098
+ publicName: "searchMessage",
1099
+ isSignal: true,
1100
+ isRequired: false,
1101
+ transformFunction: null
1102
+ },
1103
+ emptySelectionMessage: {
1104
+ classPropertyName: "emptySelectionMessage",
1105
+ publicName: "emptySelectionMessage",
1106
+ isSignal: true,
1107
+ isRequired: false,
1108
+ transformFunction: null
1109
+ },
1110
+ selectionMessage: {
1111
+ classPropertyName: "selectionMessage",
1112
+ publicName: "selectionMessage",
1113
+ isSignal: true,
1114
+ isRequired: false,
1115
+ transformFunction: null
1116
+ },
1117
+ autoOptionFocus: {
1118
+ classPropertyName: "autoOptionFocus",
1119
+ publicName: "autoOptionFocus",
1120
+ isSignal: true,
1121
+ isRequired: false,
1122
+ transformFunction: null
1123
+ },
1124
+ ariaLabel: {
1125
+ classPropertyName: "ariaLabel",
1126
+ publicName: "ariaLabel",
1127
+ isSignal: true,
1128
+ isRequired: false,
1129
+ transformFunction: null
1130
+ },
1131
+ selectOnFocus: {
1132
+ classPropertyName: "selectOnFocus",
1133
+ publicName: "selectOnFocus",
1134
+ isSignal: true,
1135
+ isRequired: false,
1136
+ transformFunction: null
1137
+ },
1138
+ searchLocale: {
1139
+ classPropertyName: "searchLocale",
1140
+ publicName: "searchLocale",
1141
+ isSignal: true,
1142
+ isRequired: false,
1143
+ transformFunction: null
1144
+ },
1145
+ focusOnHover: {
1146
+ classPropertyName: "focusOnHover",
1147
+ publicName: "focusOnHover",
1148
+ isSignal: true,
1149
+ isRequired: false,
1150
+ transformFunction: null
1151
+ },
1152
+ filterMessage: {
1153
+ classPropertyName: "filterMessage",
1154
+ publicName: "filterMessage",
1155
+ isSignal: true,
1156
+ isRequired: false,
1157
+ transformFunction: null
1158
+ },
1159
+ filterFields: {
1160
+ classPropertyName: "filterFields",
1161
+ publicName: "filterFields",
1162
+ isSignal: true,
1163
+ isRequired: false,
1164
+ transformFunction: null
1165
+ },
1166
+ lazy: {
1167
+ classPropertyName: "lazy",
1168
+ publicName: "lazy",
1169
+ isSignal: true,
1170
+ isRequired: false,
1171
+ transformFunction: null
1172
+ },
1173
+ virtualScroll: {
1174
+ classPropertyName: "virtualScroll",
1175
+ publicName: "virtualScroll",
1176
+ isSignal: true,
1177
+ isRequired: false,
1178
+ transformFunction: null
1179
+ },
1180
+ virtualScrollItemSize: {
1181
+ classPropertyName: "virtualScrollItemSize",
1182
+ publicName: "virtualScrollItemSize",
1183
+ isSignal: true,
1184
+ isRequired: false,
1185
+ transformFunction: null
1186
+ },
1187
+ virtualScrollOptions: {
1188
+ classPropertyName: "virtualScrollOptions",
1189
+ publicName: "virtualScrollOptions",
1190
+ isSignal: true,
1191
+ isRequired: false,
1192
+ transformFunction: null
1193
+ },
1194
+ scrollHeight: {
1195
+ classPropertyName: "scrollHeight",
1196
+ publicName: "scrollHeight",
1197
+ isSignal: true,
1198
+ isRequired: false,
1199
+ transformFunction: null
1200
+ },
1201
+ tabindex: {
1202
+ classPropertyName: "tabindex",
1203
+ publicName: "tabindex",
1204
+ isSignal: true,
1205
+ isRequired: false,
1206
+ transformFunction: null
1207
+ },
1208
+ multiple: {
1209
+ classPropertyName: "multiple",
1210
+ publicName: "multiple",
1211
+ isSignal: true,
1212
+ isRequired: false,
1213
+ transformFunction: null
1214
+ },
1215
+ listStyle: {
1216
+ classPropertyName: "listStyle",
1217
+ publicName: "listStyle",
1218
+ isSignal: true,
1219
+ isRequired: false,
1220
+ transformFunction: null
1221
+ },
1222
+ listStyleClass: {
1223
+ classPropertyName: "listStyleClass",
1224
+ publicName: "listStyleClass",
1225
+ isSignal: true,
1226
+ isRequired: false,
1227
+ transformFunction: null
1228
+ },
1229
+ readonly: {
1230
+ classPropertyName: "readonly",
1231
+ publicName: "readonly",
1232
+ isSignal: true,
1233
+ isRequired: false,
1234
+ transformFunction: null
1235
+ },
1236
+ checkbox: {
1237
+ classPropertyName: "checkbox",
1238
+ publicName: "checkbox",
1239
+ isSignal: true,
1240
+ isRequired: false,
1241
+ transformFunction: null
1242
+ },
1243
+ filter: {
1244
+ classPropertyName: "filter",
1245
+ publicName: "filter",
1246
+ isSignal: true,
1247
+ isRequired: false,
1248
+ transformFunction: null
1249
+ },
1250
+ filterBy: {
1251
+ classPropertyName: "filterBy",
1252
+ publicName: "filterBy",
1253
+ isSignal: true,
1254
+ isRequired: false,
1255
+ transformFunction: null
1256
+ },
1257
+ filterMatchMode: {
1258
+ classPropertyName: "filterMatchMode",
1259
+ publicName: "filterMatchMode",
1260
+ isSignal: true,
1261
+ isRequired: false,
1262
+ transformFunction: null
1263
+ },
1264
+ filterLocale: {
1265
+ classPropertyName: "filterLocale",
1266
+ publicName: "filterLocale",
1267
+ isSignal: true,
1268
+ isRequired: false,
1269
+ transformFunction: null
1270
+ },
1271
+ metaKeySelection: {
1272
+ classPropertyName: "metaKeySelection",
1273
+ publicName: "metaKeySelection",
1274
+ isSignal: true,
1275
+ isRequired: false,
1276
+ transformFunction: null
1277
+ },
1278
+ dataKey: {
1279
+ classPropertyName: "dataKey",
1280
+ publicName: "dataKey",
1281
+ isSignal: true,
1282
+ isRequired: false,
1283
+ transformFunction: null
1284
+ },
1285
+ showToggleAll: {
1286
+ classPropertyName: "showToggleAll",
1287
+ publicName: "showToggleAll",
1288
+ isSignal: true,
1289
+ isRequired: false,
1290
+ transformFunction: null
1291
+ },
1292
+ optionLabel: {
1293
+ classPropertyName: "optionLabel",
1294
+ publicName: "optionLabel",
1295
+ isSignal: true,
1296
+ isRequired: false,
1297
+ transformFunction: null
1298
+ },
1299
+ optionValue: {
1300
+ classPropertyName: "optionValue",
1301
+ publicName: "optionValue",
1302
+ isSignal: true,
1303
+ isRequired: false,
1304
+ transformFunction: null
1305
+ },
1306
+ optionGroupChildren: {
1307
+ classPropertyName: "optionGroupChildren",
1308
+ publicName: "optionGroupChildren",
1309
+ isSignal: true,
1310
+ isRequired: false,
1311
+ transformFunction: null
1312
+ },
1313
+ optionGroupLabel: {
1314
+ classPropertyName: "optionGroupLabel",
1315
+ publicName: "optionGroupLabel",
1316
+ isSignal: true,
1317
+ isRequired: false,
1318
+ transformFunction: null
1319
+ },
1320
+ optionDisabled: {
1321
+ classPropertyName: "optionDisabled",
1322
+ publicName: "optionDisabled",
1323
+ isSignal: true,
1324
+ isRequired: false,
1325
+ transformFunction: null
1326
+ },
1327
+ ariaFilterLabel: {
1328
+ classPropertyName: "ariaFilterLabel",
1329
+ publicName: "ariaFilterLabel",
1330
+ isSignal: true,
1331
+ isRequired: false,
1332
+ transformFunction: null
1333
+ },
1334
+ filterPlaceHolder: {
1335
+ classPropertyName: "filterPlaceHolder",
1336
+ publicName: "filterPlaceHolder",
1337
+ isSignal: true,
1338
+ isRequired: false,
1339
+ transformFunction: null
1340
+ },
1341
+ emptyFilterMessage: {
1342
+ classPropertyName: "emptyFilterMessage",
1343
+ publicName: "emptyFilterMessage",
1344
+ isSignal: true,
1345
+ isRequired: false,
1346
+ transformFunction: null
1347
+ },
1348
+ emptyMessage: {
1349
+ classPropertyName: "emptyMessage",
1350
+ publicName: "emptyMessage",
1351
+ isSignal: true,
1352
+ isRequired: false,
1353
+ transformFunction: null
1354
+ },
1355
+ group: {
1356
+ classPropertyName: "group",
1357
+ publicName: "group",
1358
+ isSignal: true,
1359
+ isRequired: false,
1360
+ transformFunction: null
1361
+ },
1362
+ options: {
1363
+ classPropertyName: "options",
1364
+ publicName: "options",
1365
+ isSignal: true,
1366
+ isRequired: false,
1367
+ transformFunction: null
1368
+ },
1369
+ filterValue: {
1370
+ classPropertyName: "filterValue",
1371
+ publicName: "filterValue",
1372
+ isSignal: true,
1373
+ isRequired: false,
1374
+ transformFunction: null
1375
+ },
1376
+ selectAll: {
1377
+ classPropertyName: "selectAll",
1378
+ publicName: "selectAll",
1379
+ isSignal: true,
1380
+ isRequired: false,
1381
+ transformFunction: null
1382
+ },
1383
+ striped: {
1384
+ classPropertyName: "striped",
1385
+ publicName: "striped",
1386
+ isSignal: true,
1387
+ isRequired: false,
1388
+ transformFunction: null
1389
+ },
1390
+ highlightOnSelect: {
1391
+ classPropertyName: "highlightOnSelect",
1392
+ publicName: "highlightOnSelect",
1393
+ isSignal: true,
1394
+ isRequired: false,
1395
+ transformFunction: null
1396
+ },
1397
+ checkmark: {
1398
+ classPropertyName: "checkmark",
1399
+ publicName: "checkmark",
1400
+ isSignal: true,
1401
+ isRequired: false,
1402
+ transformFunction: null
1403
+ },
1404
+ dragdrop: {
1405
+ classPropertyName: "dragdrop",
1406
+ publicName: "dragdrop",
1407
+ isSignal: true,
1408
+ isRequired: false,
1409
+ transformFunction: null
1410
+ },
1411
+ dropListData: {
1412
+ classPropertyName: "dropListData",
1413
+ publicName: "dropListData",
1414
+ isSignal: true,
1415
+ isRequired: false,
1416
+ transformFunction: null
1417
+ },
1418
+ fluid: {
1419
+ classPropertyName: "fluid",
1420
+ publicName: "fluid",
1421
+ isSignal: true,
1422
+ isRequired: false,
1423
+ transformFunction: null
1424
+ }
1425
+ },
1426
+ outputs: {
1427
+ onChange: "onChange",
1428
+ onClick: "onClick",
1429
+ onDblClick: "onDblClick",
1430
+ onFilter: "onFilter",
1431
+ onFocus: "onFocus",
1432
+ onBlur: "onBlur",
1433
+ onSelectAllChange: "onSelectAllChange",
1434
+ onLazyLoad: "onLazyLoad",
1435
+ onDrop: "onDrop"
1436
+ },
1437
+ host: {
1438
+ listeners: { "focusout": "onHostFocusOut($event)" },
1439
+ properties: {
1440
+ "attr.id": "$id()",
1441
+ "class": "cx('root')",
1442
+ "attr.data-p": "containerDataP"
1443
+ }
1444
+ },
1445
+ providers: [
1446
+ LISTBOX_VALUE_ACCESSOR,
1447
+ ListBoxStyle,
1448
+ {
1449
+ provide: CDK_DRAG_CONFIG,
1450
+ useValue: { zIndex: 1200 }
1451
+ },
1452
+ {
1453
+ provide: LISTBOX_INSTANCE,
1454
+ useExisting: Listbox
1455
+ },
1456
+ {
1457
+ provide: PARENT_INSTANCE,
1458
+ useExisting: Listbox
1459
+ }
1460
+ ],
1461
+ queries: [
1462
+ {
1463
+ propertyName: "headerFacet",
1464
+ first: true,
1465
+ predicate: Header,
1466
+ isSignal: true
1467
+ },
1468
+ {
1469
+ propertyName: "footerFacet",
1470
+ first: true,
1471
+ predicate: Footer,
1472
+ isSignal: true
1473
+ },
1474
+ {
1475
+ propertyName: "itemTemplate",
1476
+ first: true,
1477
+ predicate: ["item"],
1478
+ isSignal: true
1479
+ },
1480
+ {
1481
+ propertyName: "groupTemplate",
1482
+ first: true,
1483
+ predicate: ["group"],
1484
+ isSignal: true
1485
+ },
1486
+ {
1487
+ propertyName: "headerTemplate",
1488
+ first: true,
1489
+ predicate: ["header"],
1490
+ isSignal: true
1491
+ },
1492
+ {
1493
+ propertyName: "filterTemplate",
1494
+ first: true,
1495
+ predicate: ["filter"],
1496
+ isSignal: true
1497
+ },
1498
+ {
1499
+ propertyName: "footerTemplate",
1500
+ first: true,
1501
+ predicate: ["footer"],
1502
+ isSignal: true
1503
+ },
1504
+ {
1505
+ propertyName: "emptyFilterTemplate",
1506
+ first: true,
1507
+ predicate: ["emptyfilter"],
1508
+ isSignal: true
1509
+ },
1510
+ {
1511
+ propertyName: "emptyTemplate",
1512
+ first: true,
1513
+ predicate: ["empty"],
1514
+ isSignal: true
1515
+ },
1516
+ {
1517
+ propertyName: "filterIconTemplate",
1518
+ first: true,
1519
+ predicate: ["filtericon"],
1520
+ isSignal: true
1521
+ },
1522
+ {
1523
+ propertyName: "checkIconTemplate",
1524
+ first: true,
1525
+ predicate: ["checkicon"],
1526
+ isSignal: true
1527
+ },
1528
+ {
1529
+ propertyName: "checkmarkTemplate",
1530
+ first: true,
1531
+ predicate: ["checkmark"],
1532
+ isSignal: true
1533
+ },
1534
+ {
1535
+ propertyName: "loaderTemplate",
1536
+ first: true,
1537
+ predicate: ["loader"],
1538
+ isSignal: true
1539
+ }
1540
+ ],
1541
+ viewQueries: [
1542
+ {
1543
+ propertyName: "headerCheckboxViewChild",
1544
+ first: true,
1545
+ predicate: ["headerchkbox"],
1546
+ descendants: true,
1547
+ isSignal: true
1548
+ },
1549
+ {
1550
+ propertyName: "filterViewChild",
1551
+ first: true,
1552
+ predicate: ["filterInput"],
1553
+ descendants: true,
1554
+ isSignal: true
1555
+ },
1556
+ {
1557
+ propertyName: "lastHiddenFocusableElement",
1558
+ first: true,
1559
+ predicate: ["lastHiddenFocusableElement"],
1560
+ descendants: true,
1561
+ isSignal: true
1562
+ },
1563
+ {
1564
+ propertyName: "firstHiddenFocusableElement",
1565
+ first: true,
1566
+ predicate: ["firstHiddenFocusableElement"],
1567
+ descendants: true,
1568
+ isSignal: true
1569
+ },
1570
+ {
1571
+ propertyName: "scroller",
1572
+ first: true,
1573
+ predicate: ["scroller"],
1574
+ descendants: true,
1575
+ isSignal: true
1576
+ },
1577
+ {
1578
+ propertyName: "listViewChild",
1579
+ first: true,
1580
+ predicate: ["list"],
1581
+ descendants: true,
1582
+ isSignal: true
1583
+ },
1584
+ {
1585
+ propertyName: "containerViewChild",
1586
+ first: true,
1587
+ predicate: ["container"],
1588
+ descendants: true,
1589
+ isSignal: true
1590
+ }
1591
+ ],
1592
+ usesInheritance: true,
1593
+ hostDirectives: [{ directive: i1.Bind }],
1594
+ ngImport: i0,
1595
+ template: `
1612
1596
  <span
1613
1597
  #firstHiddenFocusableElement
1614
1598
  role="presentation"
@@ -1892,15 +1876,265 @@ class Listbox extends BaseEditableHolder {
1892
1876
  [pBind]="ptm('hiddenLastFocusableEl')"
1893
1877
  >
1894
1878
  </span>
1895
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller", inputs: ["hostName", "id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "component", type: InputIcon, selector: "p-inputicon", inputs: ["hostName"] }, { kind: "component", type: Search, selector: "svg[data-p-icon=\"search\"]" }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "component", type: Check, selector: "svg[data-p-icon=\"check\"]" }, { kind: "component", type: IconField, selector: "p-iconfield, p-icon-field", inputs: ["hostName", "iconPosition"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: Blank, selector: "svg[data-p-icon=\"blank\"]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1896
- }
1897
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Listbox, decorators: [{
1898
- type: Component,
1899
- args: [{
1900
- selector: 'p-listbox, p-list-box',
1901
- standalone: true,
1902
- imports: [NgTemplateOutlet, Ripple, Scroller, InputIcon, Search, Checkbox, Check, IconField, InputText, Blank, FormsModule, SharedModule, DragDropModule, BindModule],
1903
- template: `
1879
+ `,
1880
+ isInline: true,
1881
+ dependencies: [
1882
+ {
1883
+ kind: "directive",
1884
+ type: NgTemplateOutlet,
1885
+ selector: "[ngTemplateOutlet]",
1886
+ inputs: [
1887
+ "ngTemplateOutletContext",
1888
+ "ngTemplateOutlet",
1889
+ "ngTemplateOutletInjector"
1890
+ ]
1891
+ },
1892
+ {
1893
+ kind: "directive",
1894
+ type: Ripple,
1895
+ selector: "[pRipple]"
1896
+ },
1897
+ {
1898
+ kind: "component",
1899
+ type: Scroller,
1900
+ selector: "p-scroller, p-virtualscroller, p-virtual-scroller",
1901
+ inputs: [
1902
+ "hostName",
1903
+ "id",
1904
+ "style",
1905
+ "styleClass",
1906
+ "tabindex",
1907
+ "items",
1908
+ "itemSize",
1909
+ "scrollHeight",
1910
+ "scrollWidth",
1911
+ "orientation",
1912
+ "step",
1913
+ "delay",
1914
+ "resizeDelay",
1915
+ "appendOnly",
1916
+ "inline",
1917
+ "lazy",
1918
+ "disabled",
1919
+ "loaderDisabled",
1920
+ "columns",
1921
+ "showSpacer",
1922
+ "showLoader",
1923
+ "numToleratedItems",
1924
+ "loading",
1925
+ "autoSize",
1926
+ "trackBy",
1927
+ "options"
1928
+ ],
1929
+ outputs: [
1930
+ "onLazyLoad",
1931
+ "onScroll",
1932
+ "onScrollIndexChange"
1933
+ ]
1934
+ },
1935
+ {
1936
+ kind: "component",
1937
+ type: InputIcon,
1938
+ selector: "p-inputicon",
1939
+ inputs: ["hostName"]
1940
+ },
1941
+ {
1942
+ kind: "component",
1943
+ type: Search,
1944
+ selector: "svg[data-p-icon=\"search\"]"
1945
+ },
1946
+ {
1947
+ kind: "component",
1948
+ type: Checkbox,
1949
+ selector: "p-checkbox, p-check-box",
1950
+ inputs: [
1951
+ "value",
1952
+ "binary",
1953
+ "ariaLabelledBy",
1954
+ "ariaLabel",
1955
+ "tabindex",
1956
+ "inputId",
1957
+ "inputStyle",
1958
+ "inputClass",
1959
+ "indeterminate",
1960
+ "formControl",
1961
+ "checkboxIcon",
1962
+ "readonly",
1963
+ "autofocus",
1964
+ "trueValue",
1965
+ "falseValue",
1966
+ "variant",
1967
+ "size"
1968
+ ],
1969
+ outputs: [
1970
+ "onChange",
1971
+ "onFocus",
1972
+ "onBlur"
1973
+ ]
1974
+ },
1975
+ {
1976
+ kind: "component",
1977
+ type: Check,
1978
+ selector: "svg[data-p-icon=\"check\"]"
1979
+ },
1980
+ {
1981
+ kind: "component",
1982
+ type: IconField,
1983
+ selector: "p-iconfield, p-icon-field",
1984
+ inputs: ["hostName", "iconPosition"]
1985
+ },
1986
+ {
1987
+ kind: "directive",
1988
+ type: InputText,
1989
+ selector: "[pInputText]",
1990
+ inputs: [
1991
+ "hostName",
1992
+ "pInputTextPT",
1993
+ "pInputTextUnstyled",
1994
+ "pSize",
1995
+ "variant",
1996
+ "fluid",
1997
+ "invalid"
1998
+ ]
1999
+ },
2000
+ {
2001
+ kind: "component",
2002
+ type: Blank,
2003
+ selector: "svg[data-p-icon=\"blank\"]"
2004
+ },
2005
+ {
2006
+ kind: "ngmodule",
2007
+ type: FormsModule
2008
+ },
2009
+ {
2010
+ kind: "directive",
2011
+ type: i2.NgControlStatus,
2012
+ selector: "[formControlName],[ngModel],[formControl]"
2013
+ },
2014
+ {
2015
+ kind: "directive",
2016
+ type: i2.NgModel,
2017
+ selector: "[ngModel]:not([formControlName]):not([formControl])",
2018
+ inputs: [
2019
+ "name",
2020
+ "disabled",
2021
+ "ngModel",
2022
+ "ngModelOptions"
2023
+ ],
2024
+ outputs: ["ngModelChange"],
2025
+ exportAs: ["ngModel"]
2026
+ },
2027
+ {
2028
+ kind: "ngmodule",
2029
+ type: SharedModule
2030
+ },
2031
+ {
2032
+ kind: "ngmodule",
2033
+ type: DragDropModule
2034
+ },
2035
+ {
2036
+ kind: "directive",
2037
+ type: i3.CdkDropList,
2038
+ selector: "[cdkDropList], cdk-drop-list",
2039
+ inputs: [
2040
+ "cdkDropListConnectedTo",
2041
+ "cdkDropListData",
2042
+ "cdkDropListOrientation",
2043
+ "id",
2044
+ "cdkDropListLockAxis",
2045
+ "cdkDropListDisabled",
2046
+ "cdkDropListSortingDisabled",
2047
+ "cdkDropListEnterPredicate",
2048
+ "cdkDropListSortPredicate",
2049
+ "cdkDropListAutoScrollDisabled",
2050
+ "cdkDropListAutoScrollStep",
2051
+ "cdkDropListElementContainer",
2052
+ "cdkDropListHasAnchor"
2053
+ ],
2054
+ outputs: [
2055
+ "cdkDropListDropped",
2056
+ "cdkDropListEntered",
2057
+ "cdkDropListExited",
2058
+ "cdkDropListSorted"
2059
+ ],
2060
+ exportAs: ["cdkDropList"]
2061
+ },
2062
+ {
2063
+ kind: "directive",
2064
+ type: i3.CdkDrag,
2065
+ selector: "[cdkDrag]",
2066
+ inputs: [
2067
+ "cdkDragData",
2068
+ "cdkDragLockAxis",
2069
+ "cdkDragRootElement",
2070
+ "cdkDragBoundary",
2071
+ "cdkDragStartDelay",
2072
+ "cdkDragFreeDragPosition",
2073
+ "cdkDragDisabled",
2074
+ "cdkDragConstrainPosition",
2075
+ "cdkDragPreviewClass",
2076
+ "cdkDragPreviewContainer",
2077
+ "cdkDragScale"
2078
+ ],
2079
+ outputs: [
2080
+ "cdkDragStarted",
2081
+ "cdkDragReleased",
2082
+ "cdkDragEnded",
2083
+ "cdkDragEntered",
2084
+ "cdkDragExited",
2085
+ "cdkDragDropped",
2086
+ "cdkDragMoved"
2087
+ ],
2088
+ exportAs: ["cdkDrag"]
2089
+ },
2090
+ {
2091
+ kind: "directive",
2092
+ type: i3.CdkDragPreview,
2093
+ selector: "ng-template[cdkDragPreview]",
2094
+ inputs: ["data", "matchSize"]
2095
+ },
2096
+ {
2097
+ kind: "ngmodule",
2098
+ type: BindModule
2099
+ },
2100
+ {
2101
+ kind: "directive",
2102
+ type: i1.Bind,
2103
+ selector: "[pBind]",
2104
+ inputs: ["pBind"]
2105
+ }
2106
+ ],
2107
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2108
+ encapsulation: i0.ViewEncapsulation.None
2109
+ });
2110
+ };
2111
+ i0.ɵɵngDeclareClassMetadata({
2112
+ minVersion: "12.0.0",
2113
+ version: "22.2.0",
2114
+ ngImport: i0,
2115
+ type: Listbox,
2116
+ decorators: [{
2117
+ type: Component,
2118
+ args: [{
2119
+ selector: "p-listbox, p-list-box",
2120
+ standalone: true,
2121
+ imports: [
2122
+ NgTemplateOutlet,
2123
+ Ripple,
2124
+ Scroller,
2125
+ InputIcon,
2126
+ Search,
2127
+ Checkbox,
2128
+ Check,
2129
+ IconField,
2130
+ InputText,
2131
+ Blank,
2132
+ FormsModule,
2133
+ SharedModule,
2134
+ DragDropModule,
2135
+ BindModule
2136
+ ],
2137
+ template: `
1904
2138
  <span
1905
2139
  #firstHiddenFocusableElement
1906
2140
  role="presentation"
@@ -2185,47 +2419,629 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2185
2419
  >
2186
2420
  </span>
2187
2421
  `,
2188
- providers: [
2189
- LISTBOX_VALUE_ACCESSOR,
2190
- ListBoxStyle,
2191
- {
2192
- provide: CDK_DRAG_CONFIG,
2193
- useValue: {
2194
- zIndex: 1200
2195
- }
2196
- },
2197
- { provide: LISTBOX_INSTANCE, useExisting: Listbox },
2198
- { provide: PARENT_INSTANCE, useExisting: Listbox }
2199
- ],
2200
- changeDetection: ChangeDetectionStrategy.OnPush,
2201
- encapsulation: ViewEncapsulation.None,
2202
- host: {
2203
- '[attr.id]': '$id()',
2204
- '[class]': "cx('root')",
2205
- '[attr.data-p]': 'containerDataP'
2206
- },
2207
- hostDirectives: [Bind]
2208
- }]
2209
- }], ctorParameters: () => [], propDecorators: { hostName: [{ type: i0.Input, args: [{ isSignal: true, alias: "hostName", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], searchMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchMessage", required: false }] }], emptySelectionMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptySelectionMessage", required: false }] }], selectionMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMessage", required: false }] }], autoOptionFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoOptionFocus", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], selectOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectOnFocus", required: false }] }], searchLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchLocale", required: false }] }], focusOnHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusOnHover", required: false }] }], filterMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterMessage", required: false }] }], filterFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterFields", 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 }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], listStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "listStyle", required: false }] }], listStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "listStyleClass", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], checkbox: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkbox", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], filterBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterBy", required: false }] }], filterMatchMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterMatchMode", required: false }] }], filterLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterLocale", required: false }] }], metaKeySelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "metaKeySelection", required: false }] }], dataKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataKey", required: false }] }], showToggleAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "showToggleAll", required: false }] }], optionLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionLabel", required: false }] }], optionValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionValue", required: false }] }], optionGroupChildren: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupChildren", required: false }] }], optionGroupLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionGroupLabel", required: false }] }], optionDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionDisabled", required: false }] }], ariaFilterLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaFilterLabel", required: false }] }], filterPlaceHolder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceHolder", required: false }] }], emptyFilterMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyFilterMessage", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], filterValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterValue", required: false }] }], selectAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectAll", required: false }] }], striped: [{ type: i0.Input, args: [{ isSignal: true, alias: "striped", required: false }] }], highlightOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightOnSelect", required: false }] }], checkmark: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkmark", required: false }] }], dragdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragdrop", required: false }] }], dropListData: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropListData", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], onChange: [{ type: i0.Output, args: ["onChange"] }], onClick: [{ type: i0.Output, args: ["onClick"] }], onDblClick: [{ type: i0.Output, args: ["onDblClick"] }], onFilter: [{ type: i0.Output, args: ["onFilter"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], onSelectAllChange: [{ type: i0.Output, args: ["onSelectAllChange"] }], onLazyLoad: [{ type: i0.Output, args: ["onLazyLoad"] }], onDrop: [{ type: i0.Output, args: ["onDrop"] }], headerCheckboxViewChild: [{ type: i0.ViewChild, args: ['headerchkbox', { isSignal: true }] }], filterViewChild: [{ type: i0.ViewChild, args: ['filterInput', { isSignal: true }] }], lastHiddenFocusableElement: [{ type: i0.ViewChild, args: ['lastHiddenFocusableElement', { isSignal: true }] }], firstHiddenFocusableElement: [{ type: i0.ViewChild, args: ['firstHiddenFocusableElement', { isSignal: true }] }], scroller: [{ type: i0.ViewChild, args: ['scroller', { isSignal: true }] }], listViewChild: [{ type: i0.ViewChild, args: ['list', { isSignal: true }] }], containerViewChild: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], headerFacet: [{ type: i0.ContentChild, args: [i0.forwardRef(() => Header), { ...{ descendants: false }, isSignal: true }] }], footerFacet: [{ type: i0.ContentChild, args: [i0.forwardRef(() => Footer), { ...{ descendants: false }, isSignal: true }] }], itemTemplate: [{ type: i0.ContentChild, args: ['item', { ...{ descendants: false }, isSignal: true }] }], groupTemplate: [{ type: i0.ContentChild, args: ['group', { ...{ 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 }] }], filterIconTemplate: [{ type: i0.ContentChild, args: ['filtericon', { ...{ descendants: false }, isSignal: true }] }], checkIconTemplate: [{ type: i0.ContentChild, args: ['checkicon', { ...{ descendants: false }, isSignal: true }] }], checkmarkTemplate: [{ type: i0.ContentChild, args: ['checkmark', { ...{ descendants: false }, isSignal: true }] }], loaderTemplate: [{ type: i0.ContentChild, args: ['loader', { ...{ descendants: false }, isSignal: true }] }], onHostFocusOut: [{
2210
- type: HostListener,
2211
- args: ['focusout', ['$event']]
2212
- }] } });
2213
- class ListboxModule {
2214
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2215
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: ListboxModule, imports: [Listbox, SharedModule], exports: [Listbox, SharedModule] });
2216
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListboxModule, imports: [Listbox, SharedModule, SharedModule] });
2217
- }
2218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListboxModule, decorators: [{
2219
- type: NgModule,
2220
- args: [{
2221
- imports: [Listbox, SharedModule],
2222
- exports: [Listbox, SharedModule]
2223
- }]
2224
- }] });
2225
-
2226
- /**
2227
- * Generated bundle index. Do not edit.
2228
- */
2229
-
2422
+ providers: [
2423
+ LISTBOX_VALUE_ACCESSOR,
2424
+ ListBoxStyle,
2425
+ {
2426
+ provide: CDK_DRAG_CONFIG,
2427
+ useValue: { zIndex: 1200 }
2428
+ },
2429
+ {
2430
+ provide: LISTBOX_INSTANCE,
2431
+ useExisting: Listbox
2432
+ },
2433
+ {
2434
+ provide: PARENT_INSTANCE,
2435
+ useExisting: Listbox
2436
+ }
2437
+ ],
2438
+ changeDetection: ChangeDetectionStrategy.OnPush,
2439
+ encapsulation: ViewEncapsulation.None,
2440
+ host: {
2441
+ "[attr.id]": "$id()",
2442
+ "[class]": "cx('root')",
2443
+ "[attr.data-p]": "containerDataP"
2444
+ },
2445
+ hostDirectives: [Bind]
2446
+ }]
2447
+ }],
2448
+ ctorParameters: () => [],
2449
+ propDecorators: {
2450
+ hostName: [{
2451
+ type: i0.Input,
2452
+ args: [{
2453
+ isSignal: true,
2454
+ alias: "hostName",
2455
+ required: false
2456
+ }]
2457
+ }],
2458
+ id: [{
2459
+ type: i0.Input,
2460
+ args: [{
2461
+ isSignal: true,
2462
+ alias: "id",
2463
+ required: false
2464
+ }]
2465
+ }],
2466
+ searchMessage: [{
2467
+ type: i0.Input,
2468
+ args: [{
2469
+ isSignal: true,
2470
+ alias: "searchMessage",
2471
+ required: false
2472
+ }]
2473
+ }],
2474
+ emptySelectionMessage: [{
2475
+ type: i0.Input,
2476
+ args: [{
2477
+ isSignal: true,
2478
+ alias: "emptySelectionMessage",
2479
+ required: false
2480
+ }]
2481
+ }],
2482
+ selectionMessage: [{
2483
+ type: i0.Input,
2484
+ args: [{
2485
+ isSignal: true,
2486
+ alias: "selectionMessage",
2487
+ required: false
2488
+ }]
2489
+ }],
2490
+ autoOptionFocus: [{
2491
+ type: i0.Input,
2492
+ args: [{
2493
+ isSignal: true,
2494
+ alias: "autoOptionFocus",
2495
+ required: false
2496
+ }]
2497
+ }],
2498
+ ariaLabel: [{
2499
+ type: i0.Input,
2500
+ args: [{
2501
+ isSignal: true,
2502
+ alias: "ariaLabel",
2503
+ required: false
2504
+ }]
2505
+ }],
2506
+ selectOnFocus: [{
2507
+ type: i0.Input,
2508
+ args: [{
2509
+ isSignal: true,
2510
+ alias: "selectOnFocus",
2511
+ required: false
2512
+ }]
2513
+ }],
2514
+ searchLocale: [{
2515
+ type: i0.Input,
2516
+ args: [{
2517
+ isSignal: true,
2518
+ alias: "searchLocale",
2519
+ required: false
2520
+ }]
2521
+ }],
2522
+ focusOnHover: [{
2523
+ type: i0.Input,
2524
+ args: [{
2525
+ isSignal: true,
2526
+ alias: "focusOnHover",
2527
+ required: false
2528
+ }]
2529
+ }],
2530
+ filterMessage: [{
2531
+ type: i0.Input,
2532
+ args: [{
2533
+ isSignal: true,
2534
+ alias: "filterMessage",
2535
+ required: false
2536
+ }]
2537
+ }],
2538
+ filterFields: [{
2539
+ type: i0.Input,
2540
+ args: [{
2541
+ isSignal: true,
2542
+ alias: "filterFields",
2543
+ required: false
2544
+ }]
2545
+ }],
2546
+ lazy: [{
2547
+ type: i0.Input,
2548
+ args: [{
2549
+ isSignal: true,
2550
+ alias: "lazy",
2551
+ required: false
2552
+ }]
2553
+ }],
2554
+ virtualScroll: [{
2555
+ type: i0.Input,
2556
+ args: [{
2557
+ isSignal: true,
2558
+ alias: "virtualScroll",
2559
+ required: false
2560
+ }]
2561
+ }],
2562
+ virtualScrollItemSize: [{
2563
+ type: i0.Input,
2564
+ args: [{
2565
+ isSignal: true,
2566
+ alias: "virtualScrollItemSize",
2567
+ required: false
2568
+ }]
2569
+ }],
2570
+ virtualScrollOptions: [{
2571
+ type: i0.Input,
2572
+ args: [{
2573
+ isSignal: true,
2574
+ alias: "virtualScrollOptions",
2575
+ required: false
2576
+ }]
2577
+ }],
2578
+ scrollHeight: [{
2579
+ type: i0.Input,
2580
+ args: [{
2581
+ isSignal: true,
2582
+ alias: "scrollHeight",
2583
+ required: false
2584
+ }]
2585
+ }],
2586
+ tabindex: [{
2587
+ type: i0.Input,
2588
+ args: [{
2589
+ isSignal: true,
2590
+ alias: "tabindex",
2591
+ required: false
2592
+ }]
2593
+ }],
2594
+ multiple: [{
2595
+ type: i0.Input,
2596
+ args: [{
2597
+ isSignal: true,
2598
+ alias: "multiple",
2599
+ required: false
2600
+ }]
2601
+ }],
2602
+ listStyle: [{
2603
+ type: i0.Input,
2604
+ args: [{
2605
+ isSignal: true,
2606
+ alias: "listStyle",
2607
+ required: false
2608
+ }]
2609
+ }],
2610
+ listStyleClass: [{
2611
+ type: i0.Input,
2612
+ args: [{
2613
+ isSignal: true,
2614
+ alias: "listStyleClass",
2615
+ required: false
2616
+ }]
2617
+ }],
2618
+ readonly: [{
2619
+ type: i0.Input,
2620
+ args: [{
2621
+ isSignal: true,
2622
+ alias: "readonly",
2623
+ required: false
2624
+ }]
2625
+ }],
2626
+ checkbox: [{
2627
+ type: i0.Input,
2628
+ args: [{
2629
+ isSignal: true,
2630
+ alias: "checkbox",
2631
+ required: false
2632
+ }]
2633
+ }],
2634
+ filter: [{
2635
+ type: i0.Input,
2636
+ args: [{
2637
+ isSignal: true,
2638
+ alias: "filter",
2639
+ required: false
2640
+ }]
2641
+ }],
2642
+ filterBy: [{
2643
+ type: i0.Input,
2644
+ args: [{
2645
+ isSignal: true,
2646
+ alias: "filterBy",
2647
+ required: false
2648
+ }]
2649
+ }],
2650
+ filterMatchMode: [{
2651
+ type: i0.Input,
2652
+ args: [{
2653
+ isSignal: true,
2654
+ alias: "filterMatchMode",
2655
+ required: false
2656
+ }]
2657
+ }],
2658
+ filterLocale: [{
2659
+ type: i0.Input,
2660
+ args: [{
2661
+ isSignal: true,
2662
+ alias: "filterLocale",
2663
+ required: false
2664
+ }]
2665
+ }],
2666
+ metaKeySelection: [{
2667
+ type: i0.Input,
2668
+ args: [{
2669
+ isSignal: true,
2670
+ alias: "metaKeySelection",
2671
+ required: false
2672
+ }]
2673
+ }],
2674
+ dataKey: [{
2675
+ type: i0.Input,
2676
+ args: [{
2677
+ isSignal: true,
2678
+ alias: "dataKey",
2679
+ required: false
2680
+ }]
2681
+ }],
2682
+ showToggleAll: [{
2683
+ type: i0.Input,
2684
+ args: [{
2685
+ isSignal: true,
2686
+ alias: "showToggleAll",
2687
+ required: false
2688
+ }]
2689
+ }],
2690
+ optionLabel: [{
2691
+ type: i0.Input,
2692
+ args: [{
2693
+ isSignal: true,
2694
+ alias: "optionLabel",
2695
+ required: false
2696
+ }]
2697
+ }],
2698
+ optionValue: [{
2699
+ type: i0.Input,
2700
+ args: [{
2701
+ isSignal: true,
2702
+ alias: "optionValue",
2703
+ required: false
2704
+ }]
2705
+ }],
2706
+ optionGroupChildren: [{
2707
+ type: i0.Input,
2708
+ args: [{
2709
+ isSignal: true,
2710
+ alias: "optionGroupChildren",
2711
+ required: false
2712
+ }]
2713
+ }],
2714
+ optionGroupLabel: [{
2715
+ type: i0.Input,
2716
+ args: [{
2717
+ isSignal: true,
2718
+ alias: "optionGroupLabel",
2719
+ required: false
2720
+ }]
2721
+ }],
2722
+ optionDisabled: [{
2723
+ type: i0.Input,
2724
+ args: [{
2725
+ isSignal: true,
2726
+ alias: "optionDisabled",
2727
+ required: false
2728
+ }]
2729
+ }],
2730
+ ariaFilterLabel: [{
2731
+ type: i0.Input,
2732
+ args: [{
2733
+ isSignal: true,
2734
+ alias: "ariaFilterLabel",
2735
+ required: false
2736
+ }]
2737
+ }],
2738
+ filterPlaceHolder: [{
2739
+ type: i0.Input,
2740
+ args: [{
2741
+ isSignal: true,
2742
+ alias: "filterPlaceHolder",
2743
+ required: false
2744
+ }]
2745
+ }],
2746
+ emptyFilterMessage: [{
2747
+ type: i0.Input,
2748
+ args: [{
2749
+ isSignal: true,
2750
+ alias: "emptyFilterMessage",
2751
+ required: false
2752
+ }]
2753
+ }],
2754
+ emptyMessage: [{
2755
+ type: i0.Input,
2756
+ args: [{
2757
+ isSignal: true,
2758
+ alias: "emptyMessage",
2759
+ required: false
2760
+ }]
2761
+ }],
2762
+ group: [{
2763
+ type: i0.Input,
2764
+ args: [{
2765
+ isSignal: true,
2766
+ alias: "group",
2767
+ required: false
2768
+ }]
2769
+ }],
2770
+ options: [{
2771
+ type: i0.Input,
2772
+ args: [{
2773
+ isSignal: true,
2774
+ alias: "options",
2775
+ required: false
2776
+ }]
2777
+ }],
2778
+ filterValue: [{
2779
+ type: i0.Input,
2780
+ args: [{
2781
+ isSignal: true,
2782
+ alias: "filterValue",
2783
+ required: false
2784
+ }]
2785
+ }],
2786
+ selectAll: [{
2787
+ type: i0.Input,
2788
+ args: [{
2789
+ isSignal: true,
2790
+ alias: "selectAll",
2791
+ required: false
2792
+ }]
2793
+ }],
2794
+ striped: [{
2795
+ type: i0.Input,
2796
+ args: [{
2797
+ isSignal: true,
2798
+ alias: "striped",
2799
+ required: false
2800
+ }]
2801
+ }],
2802
+ highlightOnSelect: [{
2803
+ type: i0.Input,
2804
+ args: [{
2805
+ isSignal: true,
2806
+ alias: "highlightOnSelect",
2807
+ required: false
2808
+ }]
2809
+ }],
2810
+ checkmark: [{
2811
+ type: i0.Input,
2812
+ args: [{
2813
+ isSignal: true,
2814
+ alias: "checkmark",
2815
+ required: false
2816
+ }]
2817
+ }],
2818
+ dragdrop: [{
2819
+ type: i0.Input,
2820
+ args: [{
2821
+ isSignal: true,
2822
+ alias: "dragdrop",
2823
+ required: false
2824
+ }]
2825
+ }],
2826
+ dropListData: [{
2827
+ type: i0.Input,
2828
+ args: [{
2829
+ isSignal: true,
2830
+ alias: "dropListData",
2831
+ required: false
2832
+ }]
2833
+ }],
2834
+ fluid: [{
2835
+ type: i0.Input,
2836
+ args: [{
2837
+ isSignal: true,
2838
+ alias: "fluid",
2839
+ required: false
2840
+ }]
2841
+ }],
2842
+ onChange: [{
2843
+ type: i0.Output,
2844
+ args: ["onChange"]
2845
+ }],
2846
+ onClick: [{
2847
+ type: i0.Output,
2848
+ args: ["onClick"]
2849
+ }],
2850
+ onDblClick: [{
2851
+ type: i0.Output,
2852
+ args: ["onDblClick"]
2853
+ }],
2854
+ onFilter: [{
2855
+ type: i0.Output,
2856
+ args: ["onFilter"]
2857
+ }],
2858
+ onFocus: [{
2859
+ type: i0.Output,
2860
+ args: ["onFocus"]
2861
+ }],
2862
+ onBlur: [{
2863
+ type: i0.Output,
2864
+ args: ["onBlur"]
2865
+ }],
2866
+ onSelectAllChange: [{
2867
+ type: i0.Output,
2868
+ args: ["onSelectAllChange"]
2869
+ }],
2870
+ onLazyLoad: [{
2871
+ type: i0.Output,
2872
+ args: ["onLazyLoad"]
2873
+ }],
2874
+ onDrop: [{
2875
+ type: i0.Output,
2876
+ args: ["onDrop"]
2877
+ }],
2878
+ headerCheckboxViewChild: [{
2879
+ type: i0.ViewChild,
2880
+ args: ["headerchkbox", { isSignal: true }]
2881
+ }],
2882
+ filterViewChild: [{
2883
+ type: i0.ViewChild,
2884
+ args: ["filterInput", { isSignal: true }]
2885
+ }],
2886
+ lastHiddenFocusableElement: [{
2887
+ type: i0.ViewChild,
2888
+ args: ["lastHiddenFocusableElement", { isSignal: true }]
2889
+ }],
2890
+ firstHiddenFocusableElement: [{
2891
+ type: i0.ViewChild,
2892
+ args: ["firstHiddenFocusableElement", { isSignal: true }]
2893
+ }],
2894
+ scroller: [{
2895
+ type: i0.ViewChild,
2896
+ args: ["scroller", { isSignal: true }]
2897
+ }],
2898
+ listViewChild: [{
2899
+ type: i0.ViewChild,
2900
+ args: ["list", { isSignal: true }]
2901
+ }],
2902
+ containerViewChild: [{
2903
+ type: i0.ViewChild,
2904
+ args: ["container", { isSignal: true }]
2905
+ }],
2906
+ headerFacet: [{
2907
+ type: i0.ContentChild,
2908
+ args: [i0.forwardRef(() => Header), {
2909
+ descendants: false,
2910
+ isSignal: true
2911
+ }]
2912
+ }],
2913
+ footerFacet: [{
2914
+ type: i0.ContentChild,
2915
+ args: [i0.forwardRef(() => Footer), {
2916
+ descendants: false,
2917
+ isSignal: true
2918
+ }]
2919
+ }],
2920
+ itemTemplate: [{
2921
+ type: i0.ContentChild,
2922
+ args: ["item", {
2923
+ descendants: false,
2924
+ isSignal: true
2925
+ }]
2926
+ }],
2927
+ groupTemplate: [{
2928
+ type: i0.ContentChild,
2929
+ args: ["group", {
2930
+ descendants: false,
2931
+ isSignal: true
2932
+ }]
2933
+ }],
2934
+ headerTemplate: [{
2935
+ type: i0.ContentChild,
2936
+ args: ["header", {
2937
+ descendants: false,
2938
+ isSignal: true
2939
+ }]
2940
+ }],
2941
+ filterTemplate: [{
2942
+ type: i0.ContentChild,
2943
+ args: ["filter", {
2944
+ descendants: false,
2945
+ isSignal: true
2946
+ }]
2947
+ }],
2948
+ footerTemplate: [{
2949
+ type: i0.ContentChild,
2950
+ args: ["footer", {
2951
+ descendants: false,
2952
+ isSignal: true
2953
+ }]
2954
+ }],
2955
+ emptyFilterTemplate: [{
2956
+ type: i0.ContentChild,
2957
+ args: ["emptyfilter", {
2958
+ descendants: false,
2959
+ isSignal: true
2960
+ }]
2961
+ }],
2962
+ emptyTemplate: [{
2963
+ type: i0.ContentChild,
2964
+ args: ["empty", {
2965
+ descendants: false,
2966
+ isSignal: true
2967
+ }]
2968
+ }],
2969
+ filterIconTemplate: [{
2970
+ type: i0.ContentChild,
2971
+ args: ["filtericon", {
2972
+ descendants: false,
2973
+ isSignal: true
2974
+ }]
2975
+ }],
2976
+ checkIconTemplate: [{
2977
+ type: i0.ContentChild,
2978
+ args: ["checkicon", {
2979
+ descendants: false,
2980
+ isSignal: true
2981
+ }]
2982
+ }],
2983
+ checkmarkTemplate: [{
2984
+ type: i0.ContentChild,
2985
+ args: ["checkmark", {
2986
+ descendants: false,
2987
+ isSignal: true
2988
+ }]
2989
+ }],
2990
+ loaderTemplate: [{
2991
+ type: i0.ContentChild,
2992
+ args: ["loader", {
2993
+ descendants: false,
2994
+ isSignal: true
2995
+ }]
2996
+ }],
2997
+ onHostFocusOut: [{
2998
+ type: HostListener,
2999
+ args: ["focusout", ["$event"]]
3000
+ }]
3001
+ }
3002
+ });
3003
+ var ListboxModule = class ListboxModule {
3004
+ static ɵfac = i0.ɵɵngDeclareFactory({
3005
+ minVersion: "12.0.0",
3006
+ version: "22.2.0",
3007
+ ngImport: i0,
3008
+ type: ListboxModule,
3009
+ deps: [],
3010
+ target: i0.ɵɵFactoryTarget.NgModule
3011
+ });
3012
+ static ɵmod = i0.ɵɵngDeclareNgModule({
3013
+ minVersion: "14.0.0",
3014
+ version: "22.2.0",
3015
+ ngImport: i0,
3016
+ type: ListboxModule,
3017
+ imports: [Listbox, SharedModule],
3018
+ exports: [Listbox, SharedModule]
3019
+ });
3020
+ static ɵinj = i0.ɵɵngDeclareInjector({
3021
+ minVersion: "12.0.0",
3022
+ version: "22.2.0",
3023
+ ngImport: i0,
3024
+ type: ListboxModule,
3025
+ imports: [
3026
+ Listbox,
3027
+ SharedModule,
3028
+ SharedModule
3029
+ ]
3030
+ });
3031
+ };
3032
+ i0.ɵɵngDeclareClassMetadata({
3033
+ minVersion: "12.0.0",
3034
+ version: "22.2.0",
3035
+ ngImport: i0,
3036
+ type: ListboxModule,
3037
+ decorators: [{
3038
+ type: NgModule,
3039
+ args: [{
3040
+ imports: [Listbox, SharedModule],
3041
+ exports: [Listbox, SharedModule]
3042
+ }]
3043
+ }]
3044
+ });
2230
3045
  export { LISTBOX_VALUE_ACCESSOR, ListBoxStyle, Listbox, ListboxClasses, ListboxModule };
2231
- //# sourceMappingURL=primeng-listbox.mjs.map
3046
+
3047
+ //# sourceMappingURL=primeng-listbox.mjs.map