primeng 22.1.1 → 22.1.3

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