@wawjs/ngx-prime 22.0.4 → 22.0.6

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 (375) hide show
  1. package/fesm2022/wawjs-ngx-prime-accordion.mjs +68 -210
  2. package/fesm2022/wawjs-ngx-prime-accordion.mjs.map +1 -1
  3. package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs +7 -7
  4. package/fesm2022/wawjs-ngx-prime-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/wawjs-ngx-prime-api.mjs +31 -31
  6. package/fesm2022/wawjs-ngx-prime-api.mjs.map +1 -1
  7. package/fesm2022/wawjs-ngx-prime-autocomplete.mjs +10 -10
  8. package/fesm2022/wawjs-ngx-prime-autocomplete.mjs.map +1 -1
  9. package/fesm2022/wawjs-ngx-prime-autofocus.mjs +7 -7
  10. package/fesm2022/wawjs-ngx-prime-autofocus.mjs.map +1 -1
  11. package/fesm2022/wawjs-ngx-prime-avatar.mjs +14 -14
  12. package/fesm2022/wawjs-ngx-prime-avatar.mjs.map +1 -1
  13. package/fesm2022/wawjs-ngx-prime-avatargroup.mjs +27 -12
  14. package/fesm2022/wawjs-ngx-prime-avatargroup.mjs.map +1 -1
  15. package/fesm2022/wawjs-ngx-prime-badge.mjs +58 -16
  16. package/fesm2022/wawjs-ngx-prime-badge.mjs.map +1 -1
  17. package/fesm2022/wawjs-ngx-prime-base.mjs +3 -3
  18. package/fesm2022/wawjs-ngx-prime-base.mjs.map +1 -1
  19. package/fesm2022/wawjs-ngx-prime-basecomponent.mjs +6 -6
  20. package/fesm2022/wawjs-ngx-prime-basecomponent.mjs.map +1 -1
  21. package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs +3 -3
  22. package/fesm2022/wawjs-ngx-prime-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/wawjs-ngx-prime-baseinput.mjs +3 -3
  24. package/fesm2022/wawjs-ngx-prime-baseinput.mjs.map +1 -1
  25. package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs +3 -3
  26. package/fesm2022/wawjs-ngx-prime-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/wawjs-ngx-prime-bind.mjs +7 -7
  28. package/fesm2022/wawjs-ngx-prime-bind.mjs.map +1 -1
  29. package/fesm2022/wawjs-ngx-prime-blockui.mjs +28 -10
  30. package/fesm2022/wawjs-ngx-prime-blockui.mjs.map +1 -1
  31. package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs +25 -21
  32. package/fesm2022/wawjs-ngx-prime-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/wawjs-ngx-prime-button.mjs +30 -20
  34. package/fesm2022/wawjs-ngx-prime-button.mjs.map +1 -1
  35. package/fesm2022/wawjs-ngx-prime-buttongroup.mjs +26 -14
  36. package/fesm2022/wawjs-ngx-prime-buttongroup.mjs.map +1 -1
  37. package/fesm2022/wawjs-ngx-prime-buylicense.mjs +11 -11
  38. package/fesm2022/wawjs-ngx-prime-buylicense.mjs.map +1 -1
  39. package/fesm2022/wawjs-ngx-prime-card.mjs +10 -10
  40. package/fesm2022/wawjs-ngx-prime-card.mjs.map +1 -1
  41. package/fesm2022/wawjs-ngx-prime-carousel.mjs +49 -11
  42. package/fesm2022/wawjs-ngx-prime-carousel.mjs.map +1 -1
  43. package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs +13 -13
  44. package/fesm2022/wawjs-ngx-prime-cascadeselect.mjs.map +1 -1
  45. package/fesm2022/wawjs-ngx-prime-chart.mjs +67 -10
  46. package/fesm2022/wawjs-ngx-prime-chart.mjs.map +1 -1
  47. package/fesm2022/wawjs-ngx-prime-checkbox.mjs +21 -19
  48. package/fesm2022/wawjs-ngx-prime-checkbox.mjs.map +1 -1
  49. package/fesm2022/wawjs-ngx-prime-chip.mjs +16 -10
  50. package/fesm2022/wawjs-ngx-prime-chip.mjs.map +1 -1
  51. package/fesm2022/wawjs-ngx-prime-classnames.mjs +7 -7
  52. package/fesm2022/wawjs-ngx-prime-classnames.mjs.map +1 -1
  53. package/fesm2022/wawjs-ngx-prime-colorpicker.mjs +153 -20
  54. package/fesm2022/wawjs-ngx-prime-colorpicker.mjs.map +1 -1
  55. package/fesm2022/wawjs-ngx-prime-config.mjs +9 -9
  56. package/fesm2022/wawjs-ngx-prime-config.mjs.map +1 -1
  57. package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs +14 -14
  58. package/fesm2022/wawjs-ngx-prime-confirmdialog.mjs.map +1 -1
  59. package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs +13 -10
  60. package/fesm2022/wawjs-ngx-prime-confirmpopup.mjs.map +1 -1
  61. package/fesm2022/wawjs-ngx-prime-contextmenu.mjs +14 -14
  62. package/fesm2022/wawjs-ngx-prime-contextmenu.mjs.map +1 -1
  63. package/fesm2022/wawjs-ngx-prime-dataview.mjs +10 -10
  64. package/fesm2022/wawjs-ngx-prime-dataview.mjs.map +1 -1
  65. package/fesm2022/wawjs-ngx-prime-datepicker.mjs +16 -16
  66. package/fesm2022/wawjs-ngx-prime-datepicker.mjs.map +1 -1
  67. package/fesm2022/wawjs-ngx-prime-dialog.mjs +21 -10
  68. package/fesm2022/wawjs-ngx-prime-dialog.mjs.map +1 -1
  69. package/fesm2022/wawjs-ngx-prime-divider.mjs +10 -10
  70. package/fesm2022/wawjs-ngx-prime-divider.mjs.map +1 -1
  71. package/fesm2022/wawjs-ngx-prime-dock.mjs +11 -11
  72. package/fesm2022/wawjs-ngx-prime-dock.mjs.map +1 -1
  73. package/fesm2022/wawjs-ngx-prime-dom.mjs.map +1 -1
  74. package/fesm2022/wawjs-ngx-prime-dragdrop.mjs +10 -10
  75. package/fesm2022/wawjs-ngx-prime-dragdrop.mjs.map +1 -1
  76. package/fesm2022/wawjs-ngx-prime-drawer.mjs +40 -13
  77. package/fesm2022/wawjs-ngx-prime-drawer.mjs.map +1 -1
  78. package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs +16 -16
  79. package/fesm2022/wawjs-ngx-prime-dynamicdialog.mjs.map +1 -1
  80. package/fesm2022/wawjs-ngx-prime-editor.mjs +29 -11
  81. package/fesm2022/wawjs-ngx-prime-editor.mjs.map +1 -1
  82. package/fesm2022/wawjs-ngx-prime-fieldset.mjs +12 -12
  83. package/fesm2022/wawjs-ngx-prime-fieldset.mjs.map +1 -1
  84. package/fesm2022/wawjs-ngx-prime-fileupload.mjs +40 -40
  85. package/fesm2022/wawjs-ngx-prime-fileupload.mjs.map +1 -1
  86. package/fesm2022/wawjs-ngx-prime-floatlabel.mjs +10 -10
  87. package/fesm2022/wawjs-ngx-prime-floatlabel.mjs.map +1 -1
  88. package/fesm2022/wawjs-ngx-prime-fluid.mjs +10 -10
  89. package/fesm2022/wawjs-ngx-prime-fluid.mjs.map +1 -1
  90. package/fesm2022/wawjs-ngx-prime-focustrap.mjs +7 -7
  91. package/fesm2022/wawjs-ngx-prime-focustrap.mjs.map +1 -1
  92. package/fesm2022/wawjs-ngx-prime-galleria.mjs +51 -24
  93. package/fesm2022/wawjs-ngx-prime-galleria.mjs.map +1 -1
  94. package/fesm2022/wawjs-ngx-prime-icon.mjs +11 -11
  95. package/fesm2022/wawjs-ngx-prime-icon.mjs.map +1 -1
  96. package/fesm2022/wawjs-ngx-prime-iconfield.mjs +10 -10
  97. package/fesm2022/wawjs-ngx-prime-iconfield.mjs.map +1 -1
  98. package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs +3 -3
  99. package/fesm2022/wawjs-ngx-prime-icons-angledoubledown.mjs.map +1 -1
  100. package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs +3 -3
  101. package/fesm2022/wawjs-ngx-prime-icons-angledoubleleft.mjs.map +1 -1
  102. package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs +3 -3
  103. package/fesm2022/wawjs-ngx-prime-icons-angledoubleright.mjs.map +1 -1
  104. package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs +3 -3
  105. package/fesm2022/wawjs-ngx-prime-icons-angledoubleup.mjs.map +1 -1
  106. package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs +3 -3
  107. package/fesm2022/wawjs-ngx-prime-icons-angledown.mjs.map +1 -1
  108. package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs +3 -3
  109. package/fesm2022/wawjs-ngx-prime-icons-angleleft.mjs.map +1 -1
  110. package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs +3 -3
  111. package/fesm2022/wawjs-ngx-prime-icons-angleright.mjs.map +1 -1
  112. package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs +3 -3
  113. package/fesm2022/wawjs-ngx-prime-icons-angleup.mjs.map +1 -1
  114. package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs +3 -3
  115. package/fesm2022/wawjs-ngx-prime-icons-arrowdown.mjs.map +1 -1
  116. package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs +3 -3
  117. package/fesm2022/wawjs-ngx-prime-icons-arrowdownleft.mjs.map +1 -1
  118. package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs +3 -3
  119. package/fesm2022/wawjs-ngx-prime-icons-arrowdownright.mjs.map +1 -1
  120. package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs +3 -3
  121. package/fesm2022/wawjs-ngx-prime-icons-arrowleft.mjs.map +1 -1
  122. package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs +3 -3
  123. package/fesm2022/wawjs-ngx-prime-icons-arrowright.mjs.map +1 -1
  124. package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs +3 -3
  125. package/fesm2022/wawjs-ngx-prime-icons-arrowup.mjs.map +1 -1
  126. package/fesm2022/wawjs-ngx-prime-icons-ban.mjs +3 -3
  127. package/fesm2022/wawjs-ngx-prime-icons-ban.mjs.map +1 -1
  128. package/fesm2022/wawjs-ngx-prime-icons-bars.mjs +3 -3
  129. package/fesm2022/wawjs-ngx-prime-icons-bars.mjs.map +1 -1
  130. package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs +6 -6
  131. package/fesm2022/wawjs-ngx-prime-icons-baseicon.mjs.map +1 -1
  132. package/fesm2022/wawjs-ngx-prime-icons-blank.mjs +3 -3
  133. package/fesm2022/wawjs-ngx-prime-icons-blank.mjs.map +1 -1
  134. package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs +3 -3
  135. package/fesm2022/wawjs-ngx-prime-icons-calendar.mjs.map +1 -1
  136. package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs +3 -3
  137. package/fesm2022/wawjs-ngx-prime-icons-caretleft.mjs.map +1 -1
  138. package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs +3 -3
  139. package/fesm2022/wawjs-ngx-prime-icons-caretright.mjs.map +1 -1
  140. package/fesm2022/wawjs-ngx-prime-icons-check.mjs +3 -3
  141. package/fesm2022/wawjs-ngx-prime-icons-check.mjs.map +1 -1
  142. package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs +3 -3
  143. package/fesm2022/wawjs-ngx-prime-icons-chevrondown.mjs.map +1 -1
  144. package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs +3 -3
  145. package/fesm2022/wawjs-ngx-prime-icons-chevronleft.mjs.map +1 -1
  146. package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs +3 -3
  147. package/fesm2022/wawjs-ngx-prime-icons-chevronright.mjs.map +1 -1
  148. package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs +3 -3
  149. package/fesm2022/wawjs-ngx-prime-icons-chevronup.mjs.map +1 -1
  150. package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs +3 -3
  151. package/fesm2022/wawjs-ngx-prime-icons-exclamationtriangle.mjs.map +1 -1
  152. package/fesm2022/wawjs-ngx-prime-icons-eye.mjs +3 -3
  153. package/fesm2022/wawjs-ngx-prime-icons-eye.mjs.map +1 -1
  154. package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs +3 -3
  155. package/fesm2022/wawjs-ngx-prime-icons-eyeslash.mjs.map +1 -1
  156. package/fesm2022/wawjs-ngx-prime-icons-filter.mjs +3 -3
  157. package/fesm2022/wawjs-ngx-prime-icons-filter.mjs.map +1 -1
  158. package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs +3 -3
  159. package/fesm2022/wawjs-ngx-prime-icons-filterfill.mjs.map +1 -1
  160. package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs +3 -3
  161. package/fesm2022/wawjs-ngx-prime-icons-filterslash.mjs.map +1 -1
  162. package/fesm2022/wawjs-ngx-prime-icons-home.mjs +3 -3
  163. package/fesm2022/wawjs-ngx-prime-icons-home.mjs.map +1 -1
  164. package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs +3 -3
  165. package/fesm2022/wawjs-ngx-prime-icons-infocircle.mjs.map +1 -1
  166. package/fesm2022/wawjs-ngx-prime-icons-minus.mjs +3 -3
  167. package/fesm2022/wawjs-ngx-prime-icons-minus.mjs.map +1 -1
  168. package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs +3 -3
  169. package/fesm2022/wawjs-ngx-prime-icons-pencil.mjs.map +1 -1
  170. package/fesm2022/wawjs-ngx-prime-icons-plus.mjs +3 -3
  171. package/fesm2022/wawjs-ngx-prime-icons-plus.mjs.map +1 -1
  172. package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs +3 -3
  173. package/fesm2022/wawjs-ngx-prime-icons-refresh.mjs.map +1 -1
  174. package/fesm2022/wawjs-ngx-prime-icons-search.mjs +3 -3
  175. package/fesm2022/wawjs-ngx-prime-icons-search.mjs.map +1 -1
  176. package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs +3 -3
  177. package/fesm2022/wawjs-ngx-prime-icons-searchminus.mjs.map +1 -1
  178. package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs +3 -3
  179. package/fesm2022/wawjs-ngx-prime-icons-searchplus.mjs.map +1 -1
  180. package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs +3 -3
  181. package/fesm2022/wawjs-ngx-prime-icons-sortalt.mjs.map +1 -1
  182. package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs +3 -3
  183. package/fesm2022/wawjs-ngx-prime-icons-sortamountdown.mjs.map +1 -1
  184. package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs +3 -3
  185. package/fesm2022/wawjs-ngx-prime-icons-sortamountupalt.mjs.map +1 -1
  186. package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs +3 -3
  187. package/fesm2022/wawjs-ngx-prime-icons-spinner.mjs.map +1 -1
  188. package/fesm2022/wawjs-ngx-prime-icons-star.mjs +3 -3
  189. package/fesm2022/wawjs-ngx-prime-icons-star.mjs.map +1 -1
  190. package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs +3 -3
  191. package/fesm2022/wawjs-ngx-prime-icons-starfill.mjs.map +1 -1
  192. package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs +3 -3
  193. package/fesm2022/wawjs-ngx-prime-icons-thlarge.mjs.map +1 -1
  194. package/fesm2022/wawjs-ngx-prime-icons-times.mjs +3 -3
  195. package/fesm2022/wawjs-ngx-prime-icons-times.mjs.map +1 -1
  196. package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs +3 -3
  197. package/fesm2022/wawjs-ngx-prime-icons-timescircle.mjs.map +1 -1
  198. package/fesm2022/wawjs-ngx-prime-icons-trash.mjs +3 -3
  199. package/fesm2022/wawjs-ngx-prime-icons-trash.mjs.map +1 -1
  200. package/fesm2022/wawjs-ngx-prime-icons-undo.mjs +3 -3
  201. package/fesm2022/wawjs-ngx-prime-icons-undo.mjs.map +1 -1
  202. package/fesm2022/wawjs-ngx-prime-icons-upload.mjs +3 -3
  203. package/fesm2022/wawjs-ngx-prime-icons-upload.mjs.map +1 -1
  204. package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs +3 -3
  205. package/fesm2022/wawjs-ngx-prime-icons-windowmaximize.mjs.map +1 -1
  206. package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs +3 -3
  207. package/fesm2022/wawjs-ngx-prime-icons-windowminimize.mjs.map +1 -1
  208. package/fesm2022/wawjs-ngx-prime-iftalabel.mjs +10 -10
  209. package/fesm2022/wawjs-ngx-prime-iftalabel.mjs.map +1 -1
  210. package/fesm2022/wawjs-ngx-prime-image.mjs +12 -10
  211. package/fesm2022/wawjs-ngx-prime-image.mjs.map +1 -1
  212. package/fesm2022/wawjs-ngx-prime-imagecompare.mjs +35 -16
  213. package/fesm2022/wawjs-ngx-prime-imagecompare.mjs.map +1 -1
  214. package/fesm2022/wawjs-ngx-prime-inplace.mjs +19 -19
  215. package/fesm2022/wawjs-ngx-prime-inplace.mjs.map +1 -1
  216. package/fesm2022/wawjs-ngx-prime-inputgroup.mjs +10 -10
  217. package/fesm2022/wawjs-ngx-prime-inputgroup.mjs.map +1 -1
  218. package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs +10 -10
  219. package/fesm2022/wawjs-ngx-prime-inputgroupaddon.mjs.map +1 -1
  220. package/fesm2022/wawjs-ngx-prime-inputicon.mjs +10 -10
  221. package/fesm2022/wawjs-ngx-prime-inputicon.mjs.map +1 -1
  222. package/fesm2022/wawjs-ngx-prime-inputmask.mjs +24 -14
  223. package/fesm2022/wawjs-ngx-prime-inputmask.mjs.map +1 -1
  224. package/fesm2022/wawjs-ngx-prime-inputnumber.mjs +16 -13
  225. package/fesm2022/wawjs-ngx-prime-inputnumber.mjs.map +1 -1
  226. package/fesm2022/wawjs-ngx-prime-inputotp.mjs +42 -12
  227. package/fesm2022/wawjs-ngx-prime-inputotp.mjs.map +1 -1
  228. package/fesm2022/wawjs-ngx-prime-inputtext.mjs +11 -10
  229. package/fesm2022/wawjs-ngx-prime-inputtext.mjs.map +1 -1
  230. package/fesm2022/wawjs-ngx-prime-keyfilter.mjs +7 -7
  231. package/fesm2022/wawjs-ngx-prime-keyfilter.mjs.map +1 -1
  232. package/fesm2022/wawjs-ngx-prime-knob.mjs +16 -10
  233. package/fesm2022/wawjs-ngx-prime-knob.mjs.map +1 -1
  234. package/fesm2022/wawjs-ngx-prime-link.mjs +6 -6
  235. package/fesm2022/wawjs-ngx-prime-link.mjs.map +1 -1
  236. package/fesm2022/wawjs-ngx-prime-listbox.mjs +340 -122
  237. package/fesm2022/wawjs-ngx-prime-listbox.mjs.map +1 -1
  238. package/fesm2022/wawjs-ngx-prime-megamenu.mjs +14 -14
  239. package/fesm2022/wawjs-ngx-prime-megamenu.mjs.map +1 -1
  240. package/fesm2022/wawjs-ngx-prime-menu.mjs +94 -133
  241. package/fesm2022/wawjs-ngx-prime-menu.mjs.map +1 -1
  242. package/fesm2022/wawjs-ngx-prime-menubar.mjs +17 -17
  243. package/fesm2022/wawjs-ngx-prime-menubar.mjs.map +1 -1
  244. package/fesm2022/wawjs-ngx-prime-message.mjs +10 -10
  245. package/fesm2022/wawjs-ngx-prime-message.mjs.map +1 -1
  246. package/fesm2022/wawjs-ngx-prime-metergroup.mjs +29 -14
  247. package/fesm2022/wawjs-ngx-prime-metergroup.mjs.map +1 -1
  248. package/fesm2022/wawjs-ngx-prime-motion.mjs +53 -16
  249. package/fesm2022/wawjs-ngx-prime-motion.mjs.map +1 -1
  250. package/fesm2022/wawjs-ngx-prime-multiselect.mjs +13 -13
  251. package/fesm2022/wawjs-ngx-prime-multiselect.mjs.map +1 -1
  252. package/fesm2022/wawjs-ngx-prime-orderlist.mjs +10 -10
  253. package/fesm2022/wawjs-ngx-prime-orderlist.mjs.map +1 -1
  254. package/fesm2022/wawjs-ngx-prime-organizationchart.mjs +91 -49
  255. package/fesm2022/wawjs-ngx-prime-organizationchart.mjs.map +1 -1
  256. package/fesm2022/wawjs-ngx-prime-overlay.mjs +10 -10
  257. package/fesm2022/wawjs-ngx-prime-overlay.mjs.map +1 -1
  258. package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs +40 -14
  259. package/fesm2022/wawjs-ngx-prime-overlaybadge.mjs.map +1 -1
  260. package/fesm2022/wawjs-ngx-prime-paginator.mjs +13 -11
  261. package/fesm2022/wawjs-ngx-prime-paginator.mjs.map +1 -1
  262. package/fesm2022/wawjs-ngx-prime-panel.mjs +10 -12
  263. package/fesm2022/wawjs-ngx-prime-panel.mjs.map +1 -1
  264. package/fesm2022/wawjs-ngx-prime-panelmenu.mjs +16 -16
  265. package/fesm2022/wawjs-ngx-prime-panelmenu.mjs.map +1 -1
  266. package/fesm2022/wawjs-ngx-prime-passthrough.mjs.map +1 -1
  267. package/fesm2022/wawjs-ngx-prime-password.mjs +95 -36
  268. package/fesm2022/wawjs-ngx-prime-password.mjs.map +1 -1
  269. package/fesm2022/wawjs-ngx-prime-picklist.mjs +14 -14
  270. package/fesm2022/wawjs-ngx-prime-picklist.mjs.map +1 -1
  271. package/fesm2022/wawjs-ngx-prime-popover.mjs +20 -13
  272. package/fesm2022/wawjs-ngx-prime-popover.mjs.map +1 -1
  273. package/fesm2022/wawjs-ngx-prime-progressbar.mjs +29 -15
  274. package/fesm2022/wawjs-ngx-prime-progressbar.mjs.map +1 -1
  275. package/fesm2022/wawjs-ngx-prime-progressspinner.mjs +11 -11
  276. package/fesm2022/wawjs-ngx-prime-progressspinner.mjs.map +1 -1
  277. package/fesm2022/wawjs-ngx-prime-radiobutton.mjs +16 -16
  278. package/fesm2022/wawjs-ngx-prime-radiobutton.mjs.map +1 -1
  279. package/fesm2022/wawjs-ngx-prime-rating.mjs +21 -21
  280. package/fesm2022/wawjs-ngx-prime-rating.mjs.map +1 -1
  281. package/fesm2022/wawjs-ngx-prime-ripple.mjs +10 -10
  282. package/fesm2022/wawjs-ngx-prime-ripple.mjs.map +1 -1
  283. package/fesm2022/wawjs-ngx-prime-scroller.mjs +10 -10
  284. package/fesm2022/wawjs-ngx-prime-scroller.mjs.map +1 -1
  285. package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs +20 -12
  286. package/fesm2022/wawjs-ngx-prime-scrollpanel.mjs.map +1 -1
  287. package/fesm2022/wawjs-ngx-prime-scrolltop.mjs +14 -14
  288. package/fesm2022/wawjs-ngx-prime-scrolltop.mjs.map +1 -1
  289. package/fesm2022/wawjs-ngx-prime-select.mjs +13 -13
  290. package/fesm2022/wawjs-ngx-prime-select.mjs.map +1 -1
  291. package/fesm2022/wawjs-ngx-prime-selectbutton.mjs +75 -71
  292. package/fesm2022/wawjs-ngx-prime-selectbutton.mjs.map +1 -1
  293. package/fesm2022/wawjs-ngx-prime-skeleton.mjs +22 -12
  294. package/fesm2022/wawjs-ngx-prime-skeleton.mjs.map +1 -1
  295. package/fesm2022/wawjs-ngx-prime-slider.mjs +26 -13
  296. package/fesm2022/wawjs-ngx-prime-slider.mjs.map +1 -1
  297. package/fesm2022/wawjs-ngx-prime-speeddial.mjs +10 -10
  298. package/fesm2022/wawjs-ngx-prime-speeddial.mjs.map +1 -1
  299. package/fesm2022/wawjs-ngx-prime-splitbutton.mjs +10 -10
  300. package/fesm2022/wawjs-ngx-prime-splitbutton.mjs.map +1 -1
  301. package/fesm2022/wawjs-ngx-prime-splitter.mjs +16 -12
  302. package/fesm2022/wawjs-ngx-prime-splitter.mjs.map +1 -1
  303. package/fesm2022/wawjs-ngx-prime-stepper.mjs +45 -43
  304. package/fesm2022/wawjs-ngx-prime-stepper.mjs.map +1 -1
  305. package/fesm2022/wawjs-ngx-prime-steps.mjs +14 -14
  306. package/fesm2022/wawjs-ngx-prime-steps.mjs.map +1 -1
  307. package/fesm2022/wawjs-ngx-prime-styleclass.mjs +7 -7
  308. package/fesm2022/wawjs-ngx-prime-styleclass.mjs.map +1 -1
  309. package/fesm2022/wawjs-ngx-prime-table.mjs +86 -86
  310. package/fesm2022/wawjs-ngx-prime-table.mjs.map +1 -1
  311. package/fesm2022/wawjs-ngx-prime-tabs.mjs +74 -185
  312. package/fesm2022/wawjs-ngx-prime-tabs.mjs.map +1 -1
  313. package/fesm2022/wawjs-ngx-prime-tag.mjs +14 -14
  314. package/fesm2022/wawjs-ngx-prime-tag.mjs.map +1 -1
  315. package/fesm2022/wawjs-ngx-prime-terminal.mjs +50 -16
  316. package/fesm2022/wawjs-ngx-prime-terminal.mjs.map +1 -1
  317. package/fesm2022/wawjs-ngx-prime-textarea.mjs +19 -11
  318. package/fesm2022/wawjs-ngx-prime-textarea.mjs.map +1 -1
  319. package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs +13 -13
  320. package/fesm2022/wawjs-ngx-prime-tieredmenu.mjs.map +1 -1
  321. package/fesm2022/wawjs-ngx-prime-timeline.mjs +29 -14
  322. package/fesm2022/wawjs-ngx-prime-timeline.mjs.map +1 -1
  323. package/fesm2022/wawjs-ngx-prime-toast.mjs +13 -13
  324. package/fesm2022/wawjs-ngx-prime-toast.mjs.map +1 -1
  325. package/fesm2022/wawjs-ngx-prime-togglebutton.mjs +16 -13
  326. package/fesm2022/wawjs-ngx-prime-togglebutton.mjs.map +1 -1
  327. package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs +29 -15
  328. package/fesm2022/wawjs-ngx-prime-toggleswitch.mjs.map +1 -1
  329. package/fesm2022/wawjs-ngx-prime-toolbar.mjs +15 -14
  330. package/fesm2022/wawjs-ngx-prime-toolbar.mjs.map +1 -1
  331. package/fesm2022/wawjs-ngx-prime-tooltip.mjs +13 -10
  332. package/fesm2022/wawjs-ngx-prime-tooltip.mjs.map +1 -1
  333. package/fesm2022/wawjs-ngx-prime-tree.mjs +13 -13
  334. package/fesm2022/wawjs-ngx-prime-tree.mjs.map +1 -1
  335. package/fesm2022/wawjs-ngx-prime-treeselect.mjs +10 -10
  336. package/fesm2022/wawjs-ngx-prime-treeselect.mjs.map +1 -1
  337. package/fesm2022/wawjs-ngx-prime-treetable.mjs +59 -59
  338. package/fesm2022/wawjs-ngx-prime-treetable.mjs.map +1 -1
  339. package/fesm2022/wawjs-ngx-prime-usestyle.mjs +3 -3
  340. package/fesm2022/wawjs-ngx-prime-usestyle.mjs.map +1 -1
  341. package/fesm2022/wawjs-ngx-prime-utils.mjs +19 -2
  342. package/fesm2022/wawjs-ngx-prime-utils.mjs.map +1 -1
  343. package/package.json +8 -7
  344. package/types/wawjs-ngx-prime-accordion.d.ts +31 -43
  345. package/types/wawjs-ngx-prime-avatargroup.d.ts +11 -1
  346. package/types/wawjs-ngx-prime-badge.d.ts +22 -2
  347. package/types/wawjs-ngx-prime-blockui.d.ts +4 -0
  348. package/types/wawjs-ngx-prime-buttongroup.d.ts +12 -2
  349. package/types/wawjs-ngx-prime-carousel.d.ts +4 -0
  350. package/types/wawjs-ngx-prime-chart.d.ts +1 -0
  351. package/types/wawjs-ngx-prime-chip.d.ts +1 -1
  352. package/types/wawjs-ngx-prime-colorpicker.d.ts +2 -0
  353. package/types/wawjs-ngx-prime-dialog.d.ts +4 -0
  354. package/types/wawjs-ngx-prime-drawer.d.ts +15 -1
  355. package/types/wawjs-ngx-prime-editor.d.ts +11 -1
  356. package/types/wawjs-ngx-prime-galleria.d.ts +3 -0
  357. package/types/wawjs-ngx-prime-inputmask.d.ts +6 -1
  358. package/types/wawjs-ngx-prime-inputotp.d.ts +14 -1
  359. package/types/wawjs-ngx-prime-listbox.d.ts +15 -0
  360. package/types/wawjs-ngx-prime-menu.d.ts +10 -11
  361. package/types/wawjs-ngx-prime-metergroup.d.ts +11 -1
  362. package/types/wawjs-ngx-prime-motion.d.ts +16 -0
  363. package/types/wawjs-ngx-prime-organizationchart.d.ts +11 -1
  364. package/types/wawjs-ngx-prime-overlaybadge.d.ts +6 -1
  365. package/types/wawjs-ngx-prime-password.d.ts +7 -0
  366. package/types/wawjs-ngx-prime-progressbar.d.ts +11 -1
  367. package/types/wawjs-ngx-prime-selectbutton.d.ts +26 -7
  368. package/types/wawjs-ngx-prime-skeleton.d.ts +7 -1
  369. package/types/wawjs-ngx-prime-tabs.d.ts +16 -42
  370. package/types/wawjs-ngx-prime-terminal.d.ts +11 -1
  371. package/types/wawjs-ngx-prime-textarea.d.ts +6 -1
  372. package/types/wawjs-ngx-prime-timeline.d.ts +11 -1
  373. package/types/wawjs-ngx-prime-toggleswitch.d.ts +8 -2
  374. package/types/wawjs-ngx-prime-toolbar.d.ts +4 -3
  375. package/types/wawjs-ngx-prime-utils.d.ts +14 -1
@@ -7,6 +7,7 @@ import * as i0 from '@angular/core';
7
7
  import { Injectable, InjectionToken, forwardRef, inject, input, booleanAttribute, numberAttribute, computed, output, viewChild, contentChild, contentChildren, signal, effect, ContentChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
8
8
  import * as i3 from '@angular/forms';
9
9
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
10
+ import { Listbox as Listbox$1, Option } from '@angular/aria/listbox';
10
11
  import { uuid, isNotEmpty, equals, focus, getFirstFocusableElement, isEmpty, isPrintableCharacter, resolveFieldData, findSingle, findLastIndex, isFunction } from '@wawjs/css-prime-utils';
11
12
  import { FilterService, Header, Footer, PrimeTemplate, SharedModule } from '@wawjs/ngx-prime/api';
12
13
  import { PARENT_INSTANCE } from '@wawjs/ngx-prime/basecomponent';
@@ -94,10 +95,10 @@ class ListBoxStyle extends BaseStyle {
94
95
  name = 'listbox';
95
96
  style = style;
96
97
  classes = classes;
97
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListBoxStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
98
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListBoxStyle });
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ListBoxStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
99
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ListBoxStyle });
99
100
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListBoxStyle, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ListBoxStyle, decorators: [{
101
102
  type: Injectable
102
103
  }] });
103
104
  /**
@@ -679,6 +680,49 @@ class Listbox extends BaseEditableHolder {
679
680
  ...(ngDevMode ? [{ debugName: "focusedOptionIndex" }] : /* istanbul ignore next */ []));
680
681
  isDragging = signal(false, /* @ts-ignore */
681
682
  ...(ngDevMode ? [{ debugName: "isDragging" }] : /* istanbul ignore next */ []));
683
+ /**
684
+ * The `ngListbox` instance, present only when `!virtualScroll()` (virtualized lists only
685
+ * mount their visible items, which is incompatible with `@angular/aria`'s DOM-based item
686
+ * discovery, so the manual `onListKeyDown` implementation is kept for that case).
687
+ */
688
+ ariaListboxRef = viewChild(Listbox$1, /* @ts-ignore */
689
+ ...(ngDevMode ? [{ debugName: "ariaListboxRef" }] : /* istanbul ignore next */ []));
690
+ /** Mirrors `modelValue()` into the aria listbox's array-shaped `value`, when present. */
691
+ syncAriaValueEffect = effect(() => {
692
+ const ariaListbox = this.ariaListboxRef();
693
+ if (!ariaListbox) {
694
+ return;
695
+ }
696
+ const modelValue = this.modelValue();
697
+ const arr = this.multiple() ? (modelValue ?? []) : modelValue == null ? [] : [modelValue];
698
+ const current = ariaListbox.value();
699
+ if (current.length !== arr.length || !current.every((val, i) => equals(val, arr[i], this.equalityKey() || ''))) {
700
+ ariaListbox.value.set(arr);
701
+ }
702
+ }, /* @ts-ignore */
703
+ ...(ngDevMode ? [{ debugName: "syncAriaValueEffect" }] : /* istanbul ignore next */ []));
704
+ /**
705
+ * Propagates keyboard-driven selection changes (arrow-key "follow focus" in single-select
706
+ * mode, Shift+range selection, Ctrl/Cmd+A) from the aria listbox's own `value` model back
707
+ * through our existing `onOptionSelect`-derived state, since `ngListbox` mutates its `value`
708
+ * model directly rather than calling our selection methods.
709
+ */
710
+ syncFromAriaEffect = effect(() => {
711
+ const ariaListbox = this.ariaListboxRef();
712
+ if (!ariaListbox) {
713
+ return;
714
+ }
715
+ const ariaArr = ariaListbox.value();
716
+ const nextValue = this.multiple() ? ariaArr : ariaArr.length ? ariaArr[0] : null;
717
+ const currentValue = this.modelValue();
718
+ const changed = this.multiple() ? !equals(nextValue, currentValue ?? [], this.equalityKey() || '') || nextValue.length !== (currentValue ?? []).length : !equals(nextValue, currentValue, this.equalityKey() || '');
719
+ if (changed) {
720
+ this.writeModelValue(nextValue);
721
+ this.onModelChange(nextValue);
722
+ this.onChange.emit({ originalEvent: undefined, value: nextValue });
723
+ }
724
+ }, /* @ts-ignore */
725
+ ...(ngDevMode ? [{ debugName: "syncFromAriaEffect" }] : /* istanbul ignore next */ []));
682
726
  onHostFocusOut(event) {
683
727
  this.onFocusout(event);
684
728
  }
@@ -1390,8 +1434,8 @@ class Listbox extends BaseEditableHolder {
1390
1434
  this.translationSubscription.unsubscribe();
1391
1435
  }
1392
1436
  }
1393
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Listbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
1394
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: Listbox, isStandalone: true, selector: "p-listbox, 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 }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", 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": "resolvedId", "class": "cn(cx('root'), styleClass())", "attr.data-p": "containerDataP" } }, providers: [
1437
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Listbox, deps: [], target: i0.ɵɵFactoryTarget.Component });
1438
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: Listbox, isStandalone: true, selector: "p-listbox, 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 }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", 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": "resolvedId", "class": "cn(cx('root'), styleClass())", "attr.data-p": "containerDataP" } }, providers: [
1395
1439
  LISTBOX_VALUE_ACCESSOR,
1396
1440
  ListBoxStyle,
1397
1441
  {
@@ -1402,7 +1446,7 @@ class Listbox extends BaseEditableHolder {
1402
1446
  },
1403
1447
  { provide: LISTBOX_INSTANCE, useExisting: Listbox },
1404
1448
  { provide: PARENT_INSTANCE, useExisting: Listbox }
1405
- ], queries: [{ propertyName: "headerFacet", first: true, predicate: Header, descendants: true, isSignal: true }, { propertyName: "footerFacet", first: true, predicate: Footer, descendants: true, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], isSignal: true }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"], isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], isSignal: true }, { propertyName: "checkmarkTemplate", first: true, predicate: ["checkmark"], isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "checkIconTemplate", first: true, predicate: ["checkicon"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }], viewQueries: [{ propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerchkbox"], descendants: true, isSignal: true }, { propertyName: "filterViewChild", first: true, predicate: ["filter"], 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: `
1449
+ ], queries: [{ propertyName: "headerFacet", first: true, predicate: Header, descendants: true, isSignal: true }, { propertyName: "footerFacet", first: true, predicate: Footer, descendants: true, isSignal: true }, { propertyName: "itemTemplate", first: true, predicate: ["item"], isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: ["group"], isSignal: true }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"], isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"], isSignal: true }, { propertyName: "checkmarkTemplate", first: true, predicate: ["checkmark"], isSignal: true }, { propertyName: "templates", predicate: PrimeTemplate, isSignal: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "checkIconTemplate", first: true, predicate: ["checkicon"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }], viewQueries: [{ propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerchkbox"], descendants: true, isSignal: true }, { propertyName: "filterViewChild", first: true, predicate: ["filter"], 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 }, { propertyName: "ariaListboxRef", first: true, predicate: Listbox$1, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
1406
1450
  <span
1407
1451
  #firstHiddenFocusableElement
1408
1452
  role="presentation"
@@ -1539,9 +1583,70 @@ class Listbox extends BaseEditableHolder {
1539
1583
  </p-scroller>
1540
1584
  }
1541
1585
  @if (!virtualScroll()) {
1542
- <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"></ng-container>
1586
+ <ng-container *ngTemplateOutlet="buildInItemsAria; context: { $implicit: visibleOptions(), options: {} }"></ng-container>
1543
1587
  }
1544
1588
 
1589
+ <ng-template #optionGroupItem let-option let-scrollerOptions="options" let-i="i">
1590
+ <li
1591
+ [attr.id]="resolvedId + '_' + getOptionIndex(i, scrollerOptions)"
1592
+ [class]="cx('optionGroup')"
1593
+ [pBind]="getPTOptions(option.optionGroup, scrollerOptions, i, 'optionGroup')"
1594
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
1595
+ role="option"
1596
+ cdkDrag
1597
+ [cdkDragData]="option"
1598
+ [cdkDragDisabled]="!dragdrop()"
1599
+ (cdkDragStarted)="isDragging.set(true)"
1600
+ (cdkDragEnded)="isDragging.set(false)"
1601
+ >
1602
+ @if (!groupTemplate() && !_groupTemplate) {
1603
+ <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>
1604
+ }
1605
+ <ng-container *ngTemplateOutlet="groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1606
+ </li>
1607
+ </ng-template>
1608
+
1609
+ <ng-template #optionItemContent let-option>
1610
+ @if (checkbox() && multiple()) {
1611
+ <p-checkbox
1612
+ [class]="cx('optionCheckIcon')"
1613
+ [ngModel]="isSelected(option)"
1614
+ [readonly]="true"
1615
+ [disabled]="$disabled() || isOptionDisabled(option)"
1616
+ [tabindex]="-1"
1617
+ [variant]="config.inputStyle() === 'filled' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'"
1618
+ [binary]="true"
1619
+ [pt]="ptm('pcCheckbox')"
1620
+ hostName="listbox"
1621
+ [unstyled]="unstyled()"
1622
+ >
1623
+ @if (checkIconTemplate || _checkIconTemplate) {
1624
+ <ng-template #icon>
1625
+ <ng-template *ngTemplateOutlet="checkIconTemplate || _checkIconTemplate; context: { $implicit: isSelected(option) }"></ng-template>
1626
+ </ng-template>
1627
+ }
1628
+ </p-checkbox>
1629
+ }
1630
+ @if (checkmark()) {
1631
+ <ng-container>
1632
+ @if (!checkmarkTemplate() && !_checkmarkTemplate) {
1633
+ <ng-container>
1634
+ @if (!isSelected(option)) {
1635
+ <svg data-p-icon="blank" [class]="cx('optionBlankIcon')" [pBind]="ptm('optionBlankIcon')" />
1636
+ }
1637
+ @if (isSelected(option)) {
1638
+ <svg data-p-icon="check" [class]="cx('optionCheckIcon')" [pBind]="ptm('optionCheckIcon')" />
1639
+ }
1640
+ </ng-container>
1641
+ }
1642
+ <ng-container *ngTemplateOutlet="checkmarkTemplate() || _checkmarkTemplate; context: { implicit: isSelected(option) }"></ng-container>
1643
+ </ng-container>
1644
+ }
1645
+ @if (!itemTemplate() && !_itemTemplate) {
1646
+ <span>{{ getOptionLabel(option) }}</span>
1647
+ }
1648
+ </ng-template>
1649
+
1545
1650
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1546
1651
  <ul
1547
1652
  #list
@@ -1562,23 +1667,7 @@ class Listbox extends BaseEditableHolder {
1562
1667
  >
1563
1668
  @for (option of items; track option; let i = $index) {
1564
1669
  @if (isOptionGroup(option)) {
1565
- <li
1566
- [attr.id]="resolvedId + '_' + getOptionIndex(i, scrollerOptions)"
1567
- [class]="cx('optionGroup')"
1568
- [pBind]="getPTOptions(option.optionGroup, scrollerOptions, i, 'optionGroup')"
1569
- [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
1570
- role="option"
1571
- cdkDrag
1572
- [cdkDragData]="option"
1573
- [cdkDragDisabled]="!dragdrop()"
1574
- (cdkDragStarted)="isDragging.set(true)"
1575
- (cdkDragEnded)="isDragging.set(false)"
1576
- >
1577
- @if (!groupTemplate() && !_groupTemplate) {
1578
- <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>
1579
- }
1580
- <ng-container *ngTemplateOutlet="groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1581
- </li>
1670
+ <ng-container *ngTemplateOutlet="optionGroupItem; context: { $implicit: option, options: scrollerOptions, i }"></ng-container>
1582
1671
  }
1583
1672
  @if (!isOptionGroup(option)) {
1584
1673
  <li
@@ -1607,44 +1696,86 @@ class Listbox extends BaseEditableHolder {
1607
1696
  (cdkDragStarted)="isDragging.set(true)"
1608
1697
  (cdkDragEnded)="isDragging.set(false)"
1609
1698
  >
1610
- @if (checkbox() && multiple()) {
1611
- <p-checkbox
1612
- [class]="cx('optionCheckIcon')"
1613
- [ngModel]="isSelected(option)"
1614
- [readonly]="true"
1615
- [disabled]="$disabled() || isOptionDisabled(option)"
1616
- [tabindex]="-1"
1617
- [variant]="config.inputStyle() === 'filled' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'"
1618
- [binary]="true"
1619
- [pt]="ptm('pcCheckbox')"
1620
- hostName="listbox"
1621
- [unstyled]="unstyled()"
1622
- >
1623
- @if (checkIconTemplate || _checkIconTemplate) {
1624
- <ng-template #icon>
1625
- <ng-template *ngTemplateOutlet="checkIconTemplate || _checkIconTemplate; context: { $implicit: isSelected(option) }"></ng-template>
1626
- </ng-template>
1699
+ <ng-container
1700
+ *ngTemplateOutlet="
1701
+ optionItemContent;
1702
+ context: {
1703
+ $implicit: option,
1704
+ index: getOptionIndex(i, scrollerOptions),
1705
+ selected: isSelected(option),
1706
+ disabled: isOptionDisabled(option)
1627
1707
  }
1628
- </p-checkbox>
1629
- }
1630
- @if (checkmark()) {
1631
- <ng-container>
1632
- @if (!checkmarkTemplate() && !_checkmarkTemplate) {
1633
- <ng-container>
1634
- @if (!isSelected(option)) {
1635
- <svg data-p-icon="blank" [class]="cx('optionBlankIcon')" [pBind]="ptm('optionBlankIcon')" />
1636
- }
1637
- @if (isSelected(option)) {
1638
- <svg data-p-icon="check" [class]="cx('optionCheckIcon')" [pBind]="ptm('optionCheckIcon')" />
1639
- }
1640
- </ng-container>
1708
+ "
1709
+ ></ng-container>
1710
+ <ng-container
1711
+ *ngTemplateOutlet="
1712
+ itemTemplate() || _itemTemplate;
1713
+ context: {
1714
+ $implicit: option,
1715
+ index: getOptionIndex(i, scrollerOptions),
1716
+ selected: isSelected(option),
1717
+ disabled: isOptionDisabled(option)
1641
1718
  }
1642
- <ng-container *ngTemplateOutlet="checkmarkTemplate() || _checkmarkTemplate; context: { implicit: isSelected(option) }"></ng-container>
1643
- </ng-container>
1644
- }
1645
- @if (!itemTemplate() && !_itemTemplate) {
1646
- <span>{{ getOptionLabel(option) }}</span>
1647
- }
1719
+ "
1720
+ ></ng-container>
1721
+ </li>
1722
+ }
1723
+ }
1724
+ </ul>
1725
+ </ng-template>
1726
+
1727
+ <ng-template #buildInItemsAria let-items let-scrollerOptions="options">
1728
+ <ul
1729
+ #ariaList
1730
+ ngListbox
1731
+ [multi]="multiple()"
1732
+ [readonly]="readonly()"
1733
+ [disabled]="$disabled()"
1734
+ [id]="resolvedId + '_list'"
1735
+ [class]="cx('list')"
1736
+ [ngClass]="scrollerOptions.contentStyleClass"
1737
+ [style]="scrollerOptions.contentStyle"
1738
+ [attr.aria-label]="ariaLabel()"
1739
+ (focus)="onListFocus($event)"
1740
+ (blur)="onListBlur($event)"
1741
+ [pBind]="ptm('list')"
1742
+ >
1743
+ @for (option of items; track option; let i = $index) {
1744
+ @if (isOptionGroup(option)) {
1745
+ <ng-container *ngTemplateOutlet="optionGroupItem; context: { $implicit: option, options: scrollerOptions, i }"></ng-container>
1746
+ }
1747
+ @if (!isOptionGroup(option)) {
1748
+ <li
1749
+ ngOption
1750
+ pRipple
1751
+ [value]="getOptionValue(option)"
1752
+ [disabled]="isOptionDisabled(option)"
1753
+ [label]="getOptionLabel(option)"
1754
+ [class]="cx('option', { option, i, scrollerOptions })"
1755
+ [attr.id]="resolvedId + '_' + getOptionIndex(i, scrollerOptions)"
1756
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
1757
+ [attr.data-p-selected]="isSelected(option)"
1758
+ [attr.data-p-disabled]="isOptionDisabled(option)"
1759
+ [pBind]="getPTOptions(option, scrollerOptions, i, 'option')"
1760
+ (click)="onOptionSelect($event, option, getOptionIndex(i, scrollerOptions))"
1761
+ (dblclick)="onOptionDoubleClick($event, option)"
1762
+ cdkDrag
1763
+ [cdkDragData]="option"
1764
+ [cdkDragDisabled]="!dragdrop()"
1765
+ (cdkDragStarted)="isDragging.set(true)"
1766
+ (cdkDragEnded)="isDragging.set(false)"
1767
+ >
1768
+ <ng-container
1769
+ *ngTemplateOutlet="
1770
+ optionItemContent;
1771
+ context: {
1772
+ $implicit: option,
1773
+ index: getOptionIndex(i, scrollerOptions),
1774
+ selected: isSelected(option),
1775
+ disabled: isOptionDisabled(option)
1776
+ }
1777
+ "
1778
+ ></ng-container>
1648
1779
  <ng-container
1649
1780
  *ngTemplateOutlet="
1650
1781
  itemTemplate() || _itemTemplate;
@@ -1685,14 +1816,14 @@ class Listbox extends BaseEditableHolder {
1685
1816
  [pBind]="ptm('hiddenLastFocusableEl')"
1686
1817
  >
1687
1818
  </span>
1688
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["hostName", "id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["hostName", "styleClass"] }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: BlankIcon, selector: "[data-p-icon=\"blank\"]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.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: i4.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: i4.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: "ngmodule", type: BindModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1819
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["hostName", "id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["hostName", "styleClass"] }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: BlankIcon, selector: "[data-p-icon=\"blank\"]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.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: i4.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: i4.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: "ngmodule", type: BindModule }, { kind: "directive", type: i1.Bind, selector: "[pBind]", inputs: ["pBind"] }, { kind: "directive", type: Listbox$1, selector: "[ngListbox]", inputs: ["id", "orientation", "multi", "wrap", "softDisabled", "focusMode", "selectionMode", "typeaheadDelay", "disabled", "readonly", "tabindex", "value"], outputs: ["valueChange"], exportAs: ["ngListbox"] }, { kind: "directive", type: Option, selector: "[ngOption]", inputs: ["id", "value", "disabled", "label"], exportAs: ["ngOption"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1689
1820
  }
1690
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: Listbox, decorators: [{
1821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Listbox, decorators: [{
1691
1822
  type: Component,
1692
1823
  args: [{
1693
1824
  selector: 'p-listbox, p-listBox, p-list-box',
1694
1825
  standalone: true,
1695
- imports: [CommonModule, Ripple, Scroller, InputIcon, SearchIcon, Checkbox, CheckIcon, IconField, InputText, BlankIcon, FormsModule, SharedModule, DragDropModule, BindModule],
1826
+ imports: [CommonModule, Ripple, Scroller, InputIcon, SearchIcon, Checkbox, CheckIcon, IconField, InputText, BlankIcon, FormsModule, SharedModule, DragDropModule, BindModule, Listbox$1, Option],
1696
1827
  template: `
1697
1828
  <span
1698
1829
  #firstHiddenFocusableElement
@@ -1830,9 +1961,70 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
1830
1961
  </p-scroller>
1831
1962
  }
1832
1963
  @if (!virtualScroll()) {
1833
- <ng-container *ngTemplateOutlet="buildInItems; context: { $implicit: visibleOptions(), options: {} }"></ng-container>
1964
+ <ng-container *ngTemplateOutlet="buildInItemsAria; context: { $implicit: visibleOptions(), options: {} }"></ng-container>
1834
1965
  }
1835
1966
 
1967
+ <ng-template #optionGroupItem let-option let-scrollerOptions="options" let-i="i">
1968
+ <li
1969
+ [attr.id]="resolvedId + '_' + getOptionIndex(i, scrollerOptions)"
1970
+ [class]="cx('optionGroup')"
1971
+ [pBind]="getPTOptions(option.optionGroup, scrollerOptions, i, 'optionGroup')"
1972
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
1973
+ role="option"
1974
+ cdkDrag
1975
+ [cdkDragData]="option"
1976
+ [cdkDragDisabled]="!dragdrop()"
1977
+ (cdkDragStarted)="isDragging.set(true)"
1978
+ (cdkDragEnded)="isDragging.set(false)"
1979
+ >
1980
+ @if (!groupTemplate() && !_groupTemplate) {
1981
+ <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>
1982
+ }
1983
+ <ng-container *ngTemplateOutlet="groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1984
+ </li>
1985
+ </ng-template>
1986
+
1987
+ <ng-template #optionItemContent let-option>
1988
+ @if (checkbox() && multiple()) {
1989
+ <p-checkbox
1990
+ [class]="cx('optionCheckIcon')"
1991
+ [ngModel]="isSelected(option)"
1992
+ [readonly]="true"
1993
+ [disabled]="$disabled() || isOptionDisabled(option)"
1994
+ [tabindex]="-1"
1995
+ [variant]="config.inputStyle() === 'filled' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'"
1996
+ [binary]="true"
1997
+ [pt]="ptm('pcCheckbox')"
1998
+ hostName="listbox"
1999
+ [unstyled]="unstyled()"
2000
+ >
2001
+ @if (checkIconTemplate || _checkIconTemplate) {
2002
+ <ng-template #icon>
2003
+ <ng-template *ngTemplateOutlet="checkIconTemplate || _checkIconTemplate; context: { $implicit: isSelected(option) }"></ng-template>
2004
+ </ng-template>
2005
+ }
2006
+ </p-checkbox>
2007
+ }
2008
+ @if (checkmark()) {
2009
+ <ng-container>
2010
+ @if (!checkmarkTemplate() && !_checkmarkTemplate) {
2011
+ <ng-container>
2012
+ @if (!isSelected(option)) {
2013
+ <svg data-p-icon="blank" [class]="cx('optionBlankIcon')" [pBind]="ptm('optionBlankIcon')" />
2014
+ }
2015
+ @if (isSelected(option)) {
2016
+ <svg data-p-icon="check" [class]="cx('optionCheckIcon')" [pBind]="ptm('optionCheckIcon')" />
2017
+ }
2018
+ </ng-container>
2019
+ }
2020
+ <ng-container *ngTemplateOutlet="checkmarkTemplate() || _checkmarkTemplate; context: { implicit: isSelected(option) }"></ng-container>
2021
+ </ng-container>
2022
+ }
2023
+ @if (!itemTemplate() && !_itemTemplate) {
2024
+ <span>{{ getOptionLabel(option) }}</span>
2025
+ }
2026
+ </ng-template>
2027
+
1836
2028
  <ng-template #buildInItems let-items let-scrollerOptions="options">
1837
2029
  <ul
1838
2030
  #list
@@ -1853,23 +2045,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
1853
2045
  >
1854
2046
  @for (option of items; track option; let i = $index) {
1855
2047
  @if (isOptionGroup(option)) {
1856
- <li
1857
- [attr.id]="resolvedId + '_' + getOptionIndex(i, scrollerOptions)"
1858
- [class]="cx('optionGroup')"
1859
- [pBind]="getPTOptions(option.optionGroup, scrollerOptions, i, 'optionGroup')"
1860
- [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
1861
- role="option"
1862
- cdkDrag
1863
- [cdkDragData]="option"
1864
- [cdkDragDisabled]="!dragdrop()"
1865
- (cdkDragStarted)="isDragging.set(true)"
1866
- (cdkDragEnded)="isDragging.set(false)"
1867
- >
1868
- @if (!groupTemplate() && !_groupTemplate) {
1869
- <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>
1870
- }
1871
- <ng-container *ngTemplateOutlet="groupTemplate() || _groupTemplate; context: { $implicit: option.optionGroup }"></ng-container>
1872
- </li>
2048
+ <ng-container *ngTemplateOutlet="optionGroupItem; context: { $implicit: option, options: scrollerOptions, i }"></ng-container>
1873
2049
  }
1874
2050
  @if (!isOptionGroup(option)) {
1875
2051
  <li
@@ -1898,44 +2074,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
1898
2074
  (cdkDragStarted)="isDragging.set(true)"
1899
2075
  (cdkDragEnded)="isDragging.set(false)"
1900
2076
  >
1901
- @if (checkbox() && multiple()) {
1902
- <p-checkbox
1903
- [class]="cx('optionCheckIcon')"
1904
- [ngModel]="isSelected(option)"
1905
- [readonly]="true"
1906
- [disabled]="$disabled() || isOptionDisabled(option)"
1907
- [tabindex]="-1"
1908
- [variant]="config.inputStyle() === 'filled' || config.inputVariant() === 'filled' ? 'filled' : 'outlined'"
1909
- [binary]="true"
1910
- [pt]="ptm('pcCheckbox')"
1911
- hostName="listbox"
1912
- [unstyled]="unstyled()"
1913
- >
1914
- @if (checkIconTemplate || _checkIconTemplate) {
1915
- <ng-template #icon>
1916
- <ng-template *ngTemplateOutlet="checkIconTemplate || _checkIconTemplate; context: { $implicit: isSelected(option) }"></ng-template>
1917
- </ng-template>
2077
+ <ng-container
2078
+ *ngTemplateOutlet="
2079
+ optionItemContent;
2080
+ context: {
2081
+ $implicit: option,
2082
+ index: getOptionIndex(i, scrollerOptions),
2083
+ selected: isSelected(option),
2084
+ disabled: isOptionDisabled(option)
1918
2085
  }
1919
- </p-checkbox>
1920
- }
1921
- @if (checkmark()) {
1922
- <ng-container>
1923
- @if (!checkmarkTemplate() && !_checkmarkTemplate) {
1924
- <ng-container>
1925
- @if (!isSelected(option)) {
1926
- <svg data-p-icon="blank" [class]="cx('optionBlankIcon')" [pBind]="ptm('optionBlankIcon')" />
1927
- }
1928
- @if (isSelected(option)) {
1929
- <svg data-p-icon="check" [class]="cx('optionCheckIcon')" [pBind]="ptm('optionCheckIcon')" />
1930
- }
1931
- </ng-container>
2086
+ "
2087
+ ></ng-container>
2088
+ <ng-container
2089
+ *ngTemplateOutlet="
2090
+ itemTemplate() || _itemTemplate;
2091
+ context: {
2092
+ $implicit: option,
2093
+ index: getOptionIndex(i, scrollerOptions),
2094
+ selected: isSelected(option),
2095
+ disabled: isOptionDisabled(option)
1932
2096
  }
1933
- <ng-container *ngTemplateOutlet="checkmarkTemplate() || _checkmarkTemplate; context: { implicit: isSelected(option) }"></ng-container>
1934
- </ng-container>
1935
- }
1936
- @if (!itemTemplate() && !_itemTemplate) {
1937
- <span>{{ getOptionLabel(option) }}</span>
1938
- }
2097
+ "
2098
+ ></ng-container>
2099
+ </li>
2100
+ }
2101
+ }
2102
+ </ul>
2103
+ </ng-template>
2104
+
2105
+ <ng-template #buildInItemsAria let-items let-scrollerOptions="options">
2106
+ <ul
2107
+ #ariaList
2108
+ ngListbox
2109
+ [multi]="multiple()"
2110
+ [readonly]="readonly()"
2111
+ [disabled]="$disabled()"
2112
+ [id]="resolvedId + '_list'"
2113
+ [class]="cx('list')"
2114
+ [ngClass]="scrollerOptions.contentStyleClass"
2115
+ [style]="scrollerOptions.contentStyle"
2116
+ [attr.aria-label]="ariaLabel()"
2117
+ (focus)="onListFocus($event)"
2118
+ (blur)="onListBlur($event)"
2119
+ [pBind]="ptm('list')"
2120
+ >
2121
+ @for (option of items; track option; let i = $index) {
2122
+ @if (isOptionGroup(option)) {
2123
+ <ng-container *ngTemplateOutlet="optionGroupItem; context: { $implicit: option, options: scrollerOptions, i }"></ng-container>
2124
+ }
2125
+ @if (!isOptionGroup(option)) {
2126
+ <li
2127
+ ngOption
2128
+ pRipple
2129
+ [value]="getOptionValue(option)"
2130
+ [disabled]="isOptionDisabled(option)"
2131
+ [label]="getOptionLabel(option)"
2132
+ [class]="cx('option', { option, i, scrollerOptions })"
2133
+ [attr.id]="resolvedId + '_' + getOptionIndex(i, scrollerOptions)"
2134
+ [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }"
2135
+ [attr.data-p-selected]="isSelected(option)"
2136
+ [attr.data-p-disabled]="isOptionDisabled(option)"
2137
+ [pBind]="getPTOptions(option, scrollerOptions, i, 'option')"
2138
+ (click)="onOptionSelect($event, option, getOptionIndex(i, scrollerOptions))"
2139
+ (dblclick)="onOptionDoubleClick($event, option)"
2140
+ cdkDrag
2141
+ [cdkDragData]="option"
2142
+ [cdkDragDisabled]="!dragdrop()"
2143
+ (cdkDragStarted)="isDragging.set(true)"
2144
+ (cdkDragEnded)="isDragging.set(false)"
2145
+ >
2146
+ <ng-container
2147
+ *ngTemplateOutlet="
2148
+ optionItemContent;
2149
+ context: {
2150
+ $implicit: option,
2151
+ index: getOptionIndex(i, scrollerOptions),
2152
+ selected: isSelected(option),
2153
+ disabled: isOptionDisabled(option)
2154
+ }
2155
+ "
2156
+ ></ng-container>
1939
2157
  <ng-container
1940
2158
  *ngTemplateOutlet="
1941
2159
  itemTemplate() || _itemTemplate;
@@ -2017,13 +2235,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
2017
2235
  }], checkmarkTemplate: [{ type: i0.ContentChild, args: ['checkmark', { ...{ descendants: false }, isSignal: true }] }], loaderTemplate: [{
2018
2236
  type: ContentChild,
2019
2237
  args: ['loader', { descendants: false }]
2020
- }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }] } });
2238
+ }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => PrimeTemplate), { isSignal: true }] }], ariaListboxRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => Listbox$1), { isSignal: true }] }] } });
2021
2239
  class ListboxModule {
2022
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2023
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: ListboxModule, imports: [Listbox, SharedModule], exports: [Listbox, SharedModule] });
2024
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListboxModule, imports: [Listbox, SharedModule, SharedModule] });
2240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ListboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2241
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: ListboxModule, imports: [Listbox, SharedModule], exports: [Listbox, SharedModule] });
2242
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ListboxModule, imports: [Listbox, SharedModule, SharedModule] });
2025
2243
  }
2026
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: ListboxModule, decorators: [{
2244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: ListboxModule, decorators: [{
2027
2245
  type: NgModule,
2028
2246
  args: [{
2029
2247
  imports: [Listbox, SharedModule],