primeng 19.1.3 → 20.0.0-rc.1

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 (1097) hide show
  1. package/accordion/index.d.ts +255 -3
  2. package/animateonscroll/index.d.ts +69 -3
  3. package/api/index.d.ts +1818 -3
  4. package/autocomplete/index.d.ts +922 -3
  5. package/autofocus/index.d.ts +29 -3
  6. package/avatar/index.d.ts +113 -3
  7. package/avatargroup/index.d.ts +58 -3
  8. package/badge/index.d.ts +154 -3
  9. package/base/index.d.ts +63 -5
  10. package/basecomponent/index.d.ts +54 -5
  11. package/baseeditableholder/index.d.ts +36 -0
  12. package/baseinput/index.d.ts +73 -0
  13. package/blockui/index.d.ts +112 -3
  14. package/breadcrumb/index.d.ts +177 -3
  15. package/button/index.d.ts +479 -3
  16. package/buttongroup/index.d.ts +41 -3
  17. package/card/index.d.ts +152 -3
  18. package/carousel/index.d.ts +441 -3
  19. package/cascadeselect/index.d.ts +725 -3
  20. package/chart/index.d.ts +125 -3
  21. package/checkbox/index.d.ts +244 -3
  22. package/chip/index.d.ts +163 -3
  23. package/colorpicker/index.d.ts +326 -3
  24. package/config/index.d.ts +89 -5
  25. package/confirmdialog/index.d.ts +356 -3
  26. package/confirmpopup/index.d.ts +216 -3
  27. package/contextmenu/index.d.ts +354 -3
  28. package/dataview/index.d.ts +537 -3
  29. package/datepicker/index.d.ts +1188 -3
  30. package/dialog/index.d.ts +528 -3
  31. package/divider/index.d.ts +112 -3
  32. package/dock/index.d.ts +199 -3
  33. package/dom/index.d.ts +107 -3
  34. package/dragdrop/index.d.ts +119 -3
  35. package/drawer/index.d.ts +307 -3
  36. package/dynamicdialog/index.d.ts +542 -3
  37. package/editor/index.d.ts +224 -3
  38. package/fesm2022/primeng-accordion.mjs +85 -748
  39. package/fesm2022/primeng-accordion.mjs.map +1 -1
  40. package/fesm2022/primeng-animateonscroll.mjs +10 -10
  41. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  42. package/fesm2022/primeng-api.mjs +31 -31
  43. package/fesm2022/primeng-api.mjs.map +1 -1
  44. package/fesm2022/primeng-autocomplete.mjs +562 -915
  45. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  46. package/fesm2022/primeng-autofocus.mjs +9 -18
  47. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  48. package/fesm2022/primeng-avatar.mjs +25 -123
  49. package/fesm2022/primeng-avatar.mjs.map +1 -1
  50. package/fesm2022/primeng-avatargroup.mjs +10 -10
  51. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  52. package/fesm2022/primeng-badge.mjs +45 -154
  53. package/fesm2022/primeng-badge.mjs.map +1 -1
  54. package/fesm2022/primeng-base.mjs +9 -9
  55. package/fesm2022/primeng-base.mjs.map +1 -1
  56. package/fesm2022/primeng-basecomponent.mjs +20 -27
  57. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  58. package/fesm2022/primeng-baseeditableholder.mjs +49 -0
  59. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -0
  60. package/fesm2022/primeng-baseinput.mjs +85 -0
  61. package/fesm2022/primeng-baseinput.mjs.map +1 -0
  62. package/fesm2022/primeng-blockui.mjs +47 -73
  63. package/fesm2022/primeng-blockui.mjs.map +1 -1
  64. package/fesm2022/primeng-breadcrumb.mjs +137 -213
  65. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  66. package/fesm2022/primeng-button.mjs +71 -748
  67. package/fesm2022/primeng-button.mjs.map +1 -1
  68. package/fesm2022/primeng-buttongroup.mjs +39 -96
  69. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  70. package/fesm2022/primeng-card.mjs +63 -84
  71. package/fesm2022/primeng-card.mjs.map +1 -1
  72. package/fesm2022/primeng-carousel.mjs +162 -339
  73. package/fesm2022/primeng-carousel.mjs.map +1 -1
  74. package/fesm2022/primeng-cascadeselect.mjs +144 -451
  75. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  76. package/fesm2022/primeng-chart.mjs +59 -58
  77. package/fesm2022/primeng-chart.mjs.map +1 -1
  78. package/fesm2022/primeng-checkbox.mjs +106 -276
  79. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  80. package/fesm2022/primeng-chip.mjs +27 -94
  81. package/fesm2022/primeng-chip.mjs.map +1 -1
  82. package/fesm2022/primeng-colorpicker.mjs +128 -315
  83. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  84. package/fesm2022/primeng-config.mjs +14 -7
  85. package/fesm2022/primeng-config.mjs.map +1 -1
  86. package/fesm2022/primeng-confirmdialog.mjs +22 -42
  87. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  88. package/fesm2022/primeng-confirmpopup.mjs +51 -160
  89. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  90. package/fesm2022/primeng-contextmenu.mjs +84 -267
  91. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  92. package/fesm2022/primeng-dataview.mjs +211 -253
  93. package/fesm2022/primeng-dataview.mjs.map +1 -1
  94. package/fesm2022/primeng-datepicker.mjs +861 -1445
  95. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  96. package/fesm2022/primeng-dialog.mjs +84 -337
  97. package/fesm2022/primeng-dialog.mjs.map +1 -1
  98. package/fesm2022/primeng-divider.mjs +34 -139
  99. package/fesm2022/primeng-divider.mjs.map +1 -1
  100. package/fesm2022/primeng-dock.mjs +195 -315
  101. package/fesm2022/primeng-dock.mjs.map +1 -1
  102. package/fesm2022/primeng-dom.mjs +11 -1
  103. package/fesm2022/primeng-dom.mjs.map +1 -1
  104. package/fesm2022/primeng-dragdrop.mjs +10 -10
  105. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  106. package/fesm2022/primeng-drawer.mjs +102 -258
  107. package/fesm2022/primeng-drawer.mjs.map +1 -1
  108. package/fesm2022/primeng-dynamicdialog.mjs +16 -16
  109. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  110. package/fesm2022/primeng-editor.mjs +113 -1075
  111. package/fesm2022/primeng-editor.mjs.map +1 -1
  112. package/fesm2022/primeng-fieldset.mjs +48 -138
  113. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  114. package/fesm2022/primeng-fileupload.mjs +310 -286
  115. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  116. package/fesm2022/primeng-floatlabel.mjs +23 -109
  117. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  118. package/fesm2022/primeng-fluid.mjs +13 -17
  119. package/fesm2022/primeng-fluid.mjs.map +1 -1
  120. package/fesm2022/primeng-focustrap.mjs +7 -7
  121. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  122. package/fesm2022/primeng-galleria.mjs +119 -674
  123. package/fesm2022/primeng-galleria.mjs.map +1 -1
  124. package/fesm2022/primeng-iconfield.mjs +22 -66
  125. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  126. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  127. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  128. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  129. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  130. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  131. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  132. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  133. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  134. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  135. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  136. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  137. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  138. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  139. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  140. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  141. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  142. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  143. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  144. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  145. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  146. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  147. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  148. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  149. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  150. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  151. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  152. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  153. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  154. package/fesm2022/primeng-icons-ban.mjs +3 -3
  155. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  156. package/fesm2022/primeng-icons-bars.mjs +3 -3
  157. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  158. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  159. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  160. package/fesm2022/primeng-icons-blank.mjs +3 -3
  161. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  162. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  163. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  164. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  165. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  166. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  167. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  168. package/fesm2022/primeng-icons-check.mjs +3 -3
  169. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  170. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  171. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  172. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  173. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  174. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  175. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  176. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  177. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  178. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  179. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  180. package/fesm2022/primeng-icons-eye.mjs +3 -3
  181. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  182. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  183. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  184. package/fesm2022/primeng-icons-filter.mjs +3 -3
  185. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  186. package/fesm2022/primeng-icons-filterfill.mjs +37 -0
  187. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -0
  188. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  189. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  190. package/fesm2022/primeng-icons-home.mjs +3 -3
  191. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  192. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  193. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  194. package/fesm2022/primeng-icons-minus.mjs +3 -3
  195. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  196. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  197. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  198. package/fesm2022/primeng-icons-plus.mjs +3 -3
  199. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  200. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  201. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  202. package/fesm2022/primeng-icons-search.mjs +3 -3
  203. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  204. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  205. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  206. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  207. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  208. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  209. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  210. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  211. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  212. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  213. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  214. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  215. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  216. package/fesm2022/primeng-icons-star.mjs +3 -3
  217. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  218. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  219. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  220. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  221. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  222. package/fesm2022/primeng-icons-times.mjs +3 -3
  223. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  224. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  225. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  226. package/fesm2022/primeng-icons-trash.mjs +3 -3
  227. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  228. package/fesm2022/primeng-icons-undo.mjs +3 -3
  229. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  230. package/fesm2022/primeng-icons-upload.mjs +3 -3
  231. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  232. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  233. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  234. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  235. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  236. package/fesm2022/primeng-iftalabel.mjs +19 -78
  237. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  238. package/fesm2022/primeng-image.mjs +153 -284
  239. package/fesm2022/primeng-image.mjs.map +1 -1
  240. package/fesm2022/primeng-imagecompare.mjs +14 -99
  241. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  242. package/fesm2022/primeng-inplace.mjs +56 -86
  243. package/fesm2022/primeng-inplace.mjs.map +1 -1
  244. package/fesm2022/primeng-inputgroup.mjs +48 -130
  245. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  246. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  247. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  248. package/fesm2022/primeng-inputicon.mjs +13 -19
  249. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  250. package/fesm2022/primeng-inputmask.mjs +93 -142
  251. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  252. package/fesm2022/primeng-inputnumber.mjs +152 -438
  253. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  254. package/fesm2022/primeng-inputotp.mjs +58 -87
  255. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  256. package/fesm2022/primeng-inputtext.mjs +52 -136
  257. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  258. package/fesm2022/primeng-keyfilter.mjs +7 -7
  259. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  260. package/fesm2022/primeng-knob.mjs +93 -152
  261. package/fesm2022/primeng-knob.mjs.map +1 -1
  262. package/fesm2022/primeng-listbox.mjs +518 -625
  263. package/fesm2022/primeng-listbox.mjs.map +1 -1
  264. package/fesm2022/primeng-megamenu.mjs +174 -587
  265. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  266. package/fesm2022/primeng-menu.mjs +171 -296
  267. package/fesm2022/primeng-menu.mjs.map +1 -1
  268. package/fesm2022/primeng-menubar.mjs +386 -694
  269. package/fesm2022/primeng-menubar.mjs.map +1 -1
  270. package/fesm2022/primeng-message.mjs +32 -336
  271. package/fesm2022/primeng-message.mjs.map +1 -1
  272. package/fesm2022/primeng-metergroup.mjs +106 -212
  273. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  274. package/fesm2022/primeng-multiselect.mjs +247 -696
  275. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  276. package/fesm2022/primeng-orderlist.mjs +156 -417
  277. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  278. package/fesm2022/primeng-organizationchart.mjs +66 -198
  279. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  280. package/fesm2022/primeng-overlay.mjs +25 -30
  281. package/fesm2022/primeng-overlay.mjs.map +1 -1
  282. package/fesm2022/primeng-overlaybadge.mjs +11 -11
  283. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  284. package/fesm2022/primeng-paginator.mjs +199 -338
  285. package/fesm2022/primeng-paginator.mjs.map +1 -1
  286. package/fesm2022/primeng-panel.mjs +182 -262
  287. package/fesm2022/primeng-panel.mjs.map +1 -1
  288. package/fesm2022/primeng-panelmenu.mjs +291 -450
  289. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  290. package/fesm2022/primeng-password.mjs +260 -389
  291. package/fesm2022/primeng-password.mjs.map +1 -1
  292. package/fesm2022/primeng-picklist.mjs +44 -272
  293. package/fesm2022/primeng-picklist.mjs.map +1 -1
  294. package/fesm2022/primeng-popover.mjs +15 -17
  295. package/fesm2022/primeng-popover.mjs.map +1 -1
  296. package/fesm2022/primeng-progressbar.mjs +36 -186
  297. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  298. package/fesm2022/primeng-progressspinner.mjs +30 -104
  299. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  300. package/fesm2022/primeng-radiobutton.mjs +101 -307
  301. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  302. package/fesm2022/primeng-rating.mjs +115 -196
  303. package/fesm2022/primeng-rating.mjs.map +1 -1
  304. package/fesm2022/primeng-ripple.mjs +27 -36
  305. package/fesm2022/primeng-ripple.mjs.map +1 -1
  306. package/fesm2022/primeng-scroller.mjs +41 -51
  307. package/fesm2022/primeng-scroller.mjs.map +1 -1
  308. package/fesm2022/primeng-scrollpanel.mjs +97 -165
  309. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  310. package/fesm2022/primeng-scrolltop.mjs +27 -68
  311. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  312. package/fesm2022/primeng-select.mjs +152 -587
  313. package/fesm2022/primeng-select.mjs.map +1 -1
  314. package/fesm2022/primeng-selectbutton.mjs +52 -87
  315. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  316. package/fesm2022/primeng-skeleton.mjs +27 -83
  317. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  318. package/fesm2022/primeng-slider.mjs +229 -353
  319. package/fesm2022/primeng-slider.mjs.map +1 -1
  320. package/fesm2022/primeng-speeddial.mjs +43 -142
  321. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  322. package/fesm2022/primeng-splitbutton.mjs +172 -241
  323. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  324. package/fesm2022/primeng-splitter.mjs +92 -243
  325. package/fesm2022/primeng-splitter.mjs.map +1 -1
  326. package/fesm2022/primeng-stepper.mjs +259 -261
  327. package/fesm2022/primeng-stepper.mjs.map +1 -1
  328. package/fesm2022/primeng-steps.mjs +40 -162
  329. package/fesm2022/primeng-steps.mjs.map +1 -1
  330. package/fesm2022/primeng-styleclass.mjs +15 -43
  331. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  332. package/fesm2022/primeng-table.mjs +804 -1266
  333. package/fesm2022/primeng-table.mjs.map +1 -1
  334. package/fesm2022/primeng-tabs.mjs +213 -196
  335. package/fesm2022/primeng-tabs.mjs.map +1 -1
  336. package/fesm2022/primeng-tag.mjs +29 -109
  337. package/fesm2022/primeng-tag.mjs.map +1 -1
  338. package/fesm2022/primeng-terminal.mjs +53 -89
  339. package/fesm2022/primeng-terminal.mjs.map +1 -1
  340. package/fesm2022/primeng-textarea.mjs +53 -150
  341. package/fesm2022/primeng-textarea.mjs.map +1 -1
  342. package/fesm2022/primeng-tieredmenu.mjs +75 -230
  343. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  344. package/fesm2022/primeng-timeline.mjs +28 -202
  345. package/fesm2022/primeng-timeline.mjs.map +1 -1
  346. package/fesm2022/primeng-toast.mjs +88 -350
  347. package/fesm2022/primeng-toast.mjs.map +1 -1
  348. package/fesm2022/primeng-togglebutton.mjs +71 -202
  349. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  350. package/fesm2022/primeng-toggleswitch.mjs +108 -220
  351. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  352. package/fesm2022/primeng-toolbar.mjs +42 -65
  353. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  354. package/fesm2022/primeng-tooltip.mjs +50 -89
  355. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  356. package/fesm2022/primeng-tree.mjs +286 -501
  357. package/fesm2022/primeng-tree.mjs.map +1 -1
  358. package/fesm2022/primeng-treeselect.mjs +351 -562
  359. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  360. package/fesm2022/primeng-treetable.mjs +619 -483
  361. package/fesm2022/primeng-treetable.mjs.map +1 -1
  362. package/fesm2022/primeng-usestyle.mjs +3 -3
  363. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  364. package/fesm2022/primeng-utils.mjs.map +1 -1
  365. package/fieldset/index.d.ts +215 -3
  366. package/fileupload/index.d.ts +784 -3
  367. package/floatlabel/index.d.ts +57 -3
  368. package/fluid/index.d.ts +46 -3
  369. package/focustrap/index.d.ts +34 -3
  370. package/galleria/index.d.ts +708 -3
  371. package/iconfield/index.d.ts +62 -3
  372. package/icons/angledoubledown/index.d.ts +9 -5
  373. package/icons/angledoubleleft/index.d.ts +9 -5
  374. package/icons/angledoubleright/index.d.ts +9 -5
  375. package/icons/angledoubleup/index.d.ts +9 -5
  376. package/icons/angledown/index.d.ts +9 -5
  377. package/icons/angleleft/index.d.ts +9 -5
  378. package/icons/angleright/index.d.ts +9 -5
  379. package/icons/angleup/index.d.ts +9 -5
  380. package/icons/arrowdown/index.d.ts +12 -5
  381. package/icons/arrowdownleft/index.d.ts +9 -5
  382. package/icons/arrowdownright/index.d.ts +9 -5
  383. package/icons/arrowleft/index.d.ts +11 -5
  384. package/icons/arrowright/index.d.ts +9 -5
  385. package/icons/arrowup/index.d.ts +11 -5
  386. package/icons/ban/index.d.ts +11 -5
  387. package/icons/bars/index.d.ts +9 -5
  388. package/icons/baseicon/index.d.ts +38 -3
  389. package/icons/blank/index.d.ts +9 -5
  390. package/icons/calendar/index.d.ts +9 -5
  391. package/icons/caretleft/index.d.ts +9 -5
  392. package/icons/caretright/index.d.ts +9 -5
  393. package/icons/check/index.d.ts +9 -5
  394. package/icons/chevrondown/index.d.ts +9 -5
  395. package/icons/chevronleft/index.d.ts +9 -5
  396. package/icons/chevronright/index.d.ts +9 -5
  397. package/icons/chevronup/index.d.ts +9 -5
  398. package/icons/exclamationtriangle/index.d.ts +12 -5
  399. package/icons/eye/index.d.ts +9 -5
  400. package/icons/eyeslash/index.d.ts +11 -5
  401. package/icons/filter/index.d.ts +11 -5
  402. package/icons/filterfill/index.d.ts +9 -0
  403. package/icons/filterslash/index.d.ts +11 -5
  404. package/icons/home/index.d.ts +11 -5
  405. package/icons/index.d.ts +53 -5
  406. package/icons/infocircle/index.d.ts +11 -5
  407. package/icons/minus/index.d.ts +9 -5
  408. package/icons/pencil/index.d.ts +11 -5
  409. package/icons/plus/index.d.ts +11 -5
  410. package/icons/refresh/index.d.ts +11 -5
  411. package/icons/search/index.d.ts +11 -5
  412. package/icons/searchminus/index.d.ts +11 -5
  413. package/icons/searchplus/index.d.ts +11 -5
  414. package/icons/sortalt/index.d.ts +11 -5
  415. package/icons/sortamountdown/index.d.ts +11 -5
  416. package/icons/sortamountupalt/index.d.ts +11 -5
  417. package/icons/spinner/index.d.ts +11 -5
  418. package/icons/star/index.d.ts +11 -5
  419. package/icons/starfill/index.d.ts +11 -5
  420. package/icons/thlarge/index.d.ts +11 -5
  421. package/icons/times/index.d.ts +9 -5
  422. package/icons/timescircle/index.d.ts +11 -5
  423. package/icons/trash/index.d.ts +11 -5
  424. package/icons/undo/index.d.ts +11 -5
  425. package/icons/upload/index.d.ts +11 -5
  426. package/icons/windowmaximize/index.d.ts +11 -5
  427. package/icons/windowminimize/index.d.ts +11 -5
  428. package/iftalabel/index.d.ts +48 -3
  429. package/image/index.d.ts +374 -3
  430. package/imagecompare/index.d.ts +91 -3
  431. package/index.d.ts +2 -5
  432. package/inplace/index.d.ts +180 -3
  433. package/inputgroup/index.d.ts +56 -3
  434. package/inputgroupaddon/index.d.ts +43 -3
  435. package/inputicon/index.d.ts +34 -3
  436. package/inputmask/index.d.ts +281 -3
  437. package/inputnumber/index.d.ts +463 -3
  438. package/inputotp/index.d.ts +205 -3
  439. package/inputtext/index.d.ts +81 -3
  440. package/keyfilter/index.d.ts +64 -3
  441. package/knob/index.d.ts +202 -3
  442. package/listbox/index.d.ts +801 -3
  443. package/megamenu/index.d.ts +406 -3
  444. package/menu/index.d.ts +338 -3
  445. package/menubar/index.d.ts +418 -3
  446. package/message/index.d.ts +193 -3
  447. package/metergroup/index.d.ts +289 -3
  448. package/multiselect/index.d.ts +1057 -3
  449. package/orderlist/index.d.ts +462 -3
  450. package/organizationchart/index.d.ts +283 -3
  451. package/overlay/index.d.ts +255 -3
  452. package/overlaybadge/index.d.ts +73 -3
  453. package/package.json +179 -210
  454. package/paginator/index.d.ts +391 -3
  455. package/panel/index.d.ts +264 -3
  456. package/panelmenu/index.d.ts +378 -3
  457. package/password/index.d.ts +432 -3
  458. package/picklist/index.d.ts +894 -3
  459. package/popover/index.d.ts +176 -3
  460. package/progressbar/index.d.ts +110 -3
  461. package/progressspinner/index.d.ts +83 -3
  462. package/radiobutton/index.d.ts +197 -3
  463. package/rating/index.d.ts +215 -3
  464. package/ripple/index.d.ts +62 -3
  465. package/scroller/index.d.ts +610 -3
  466. package/scrollpanel/index.d.ts +159 -3
  467. package/scrolltop/index.d.ts +156 -3
  468. package/select/index.d.ts +920 -3
  469. package/selectbutton/index.d.ts +218 -3
  470. package/skeleton/index.d.ts +94 -3
  471. package/slider/index.d.ts +252 -3
  472. package/speeddial/index.d.ts +452 -3
  473. package/splitbutton/index.d.ts +304 -3
  474. package/splitter/index.d.ts +237 -3
  475. package/stepper/index.d.ts +291 -3
  476. package/steps/index.d.ts +150 -3
  477. package/styleclass/index.d.ts +94 -3
  478. package/table/index.d.ts +2919 -3
  479. package/tabs/index.d.ts +323 -3
  480. package/tag/index.d.ts +112 -3
  481. package/terminal/index.d.ts +132 -3
  482. package/textarea/index.d.ts +102 -3
  483. package/tieredmenu/index.d.ts +424 -3
  484. package/timeline/index.d.ts +168 -3
  485. package/toast/index.d.ts +318 -3
  486. package/togglebutton/index.d.ts +240 -3
  487. package/toggleswitch/index.d.ts +184 -3
  488. package/toolbar/index.d.ts +116 -3
  489. package/tooltip/index.d.ts +245 -3
  490. package/tree/index.d.ts +845 -3
  491. package/treeselect/index.d.ts +646 -3
  492. package/treetable/index.d.ts +1727 -3
  493. package/ts-helpers/index.d.ts +6 -5
  494. package/usestyle/index.d.ts +15 -5
  495. package/utils/index.d.ts +43 -5
  496. package/accordion/accordion.d.ts +0 -368
  497. package/accordion/public_api.d.ts +0 -2
  498. package/accordion/style/accordionstyle.d.ts +0 -50
  499. package/animateonscroll/animateonscroll.d.ts +0 -69
  500. package/animateonscroll/public_api.d.ts +0 -1
  501. package/api/blockableui.d.ts +0 -10
  502. package/api/confirmaeventtype.d.ts +0 -8
  503. package/api/confirmation.d.ts +0 -96
  504. package/api/confirmationservice.d.ts +0 -30
  505. package/api/contextmenuservice.d.ts +0 -11
  506. package/api/filtermatchmode.d.ts +0 -22
  507. package/api/filtermetadata.d.ts +0 -18
  508. package/api/filteroperator.d.ts +0 -4
  509. package/api/filterservice.d.ts +0 -10
  510. package/api/lazyloadevent.d.ts +0 -47
  511. package/api/lazyloadmeta.d.ts +0 -19
  512. package/api/megamenuitem.d.ts +0 -130
  513. package/api/menuitem.d.ts +0 -176
  514. package/api/messageservice.d.ts +0 -32
  515. package/api/overlayoptions.d.ts +0 -188
  516. package/api/overlayservice.d.ts +0 -8
  517. package/api/primeicons.d.ts +0 -313
  518. package/api/public_api.d.ts +0 -32
  519. package/api/scrolleroptions.d.ts +0 -126
  520. package/api/selectitem.d.ts +0 -12
  521. package/api/selectitemgroup.d.ts +0 -10
  522. package/api/shared.d.ts +0 -25
  523. package/api/sortevent.d.ts +0 -12
  524. package/api/sortmeta.d.ts +0 -8
  525. package/api/tablestate.d.ts +0 -60
  526. package/api/toastmessage.d.ts +0 -20
  527. package/api/tooltipoptions.d.ts +0 -69
  528. package/api/translation.d.ts +0 -137
  529. package/api/translationkeys.d.ts +0 -50
  530. package/api/treedragdropservice.d.ts +0 -12
  531. package/api/treenode.d.ts +0 -82
  532. package/api/treenodedragevent.d.ts +0 -27
  533. package/api/treetablenode.d.ts +0 -36
  534. package/autocomplete/autocomplete.d.ts +0 -688
  535. package/autocomplete/autocomplete.interface.d.ts +0 -181
  536. package/autocomplete/public_api.d.ts +0 -3
  537. package/autocomplete/style/autocompletestyle.d.ts +0 -131
  538. package/autofocus/autofocus.d.ts +0 -35
  539. package/autofocus/public_api.d.ts +0 -1
  540. package/avatar/avatar.d.ts +0 -74
  541. package/avatar/public_api.d.ts +0 -2
  542. package/avatar/style/avatarstyle.d.ts +0 -47
  543. package/avatargroup/avatargroup.d.ts +0 -34
  544. package/avatargroup/public_api.d.ts +0 -2
  545. package/avatargroup/style/avatargroupstyle.d.ts +0 -24
  546. package/badge/badge.d.ts +0 -123
  547. package/badge/public_api.d.ts +0 -2
  548. package/badge/style/badgestyle.d.ts +0 -45
  549. package/base/base.d.ts +0 -9
  550. package/base/public_api.d.ts +0 -2
  551. package/base/style/basestyle.d.ts +0 -51
  552. package/basecomponent/basecomponent.d.ts +0 -43
  553. package/basecomponent/public_api.d.ts +0 -2
  554. package/basecomponent/style/basecomponentstyle.d.ts +0 -7
  555. package/blockui/blockui.d.ts +0 -67
  556. package/blockui/blockui.interface.d.ts +0 -11
  557. package/blockui/public_api.d.ts +0 -3
  558. package/blockui/style/blockuistyle.d.ts +0 -30
  559. package/breadcrumb/breadcrumb.d.ts +0 -72
  560. package/breadcrumb/breadcrumb.interface.d.ts +0 -38
  561. package/breadcrumb/public_api.d.ts +0 -3
  562. package/breadcrumb/style/breadcrumbstyle.d.ts +0 -69
  563. package/button/button.d.ts +0 -372
  564. package/button/button.interface.d.ts +0 -60
  565. package/button/public_api.d.ts +0 -3
  566. package/button/style/buttonstyle.d.ts +0 -66
  567. package/buttongroup/buttongroup.d.ts +0 -13
  568. package/buttongroup/public_api.d.ts +0 -2
  569. package/buttongroup/style/buttongroupstyle.d.ts +0 -30
  570. package/calendar/calendar.d.ts +0 -792
  571. package/calendar/calendar.interface.d.ts +0 -204
  572. package/calendar/index.d.ts +0 -5
  573. package/calendar/public_api.d.ts +0 -3
  574. package/calendar/style/calendarstyle.d.ts +0 -100
  575. package/card/card.d.ts +0 -60
  576. package/card/card.interface.d.ts +0 -27
  577. package/card/public_api.d.ts +0 -3
  578. package/card/style/cardstyle.d.ts +0 -65
  579. package/carousel/carousel.d.ts +0 -254
  580. package/carousel/carousel.interface.d.ts +0 -63
  581. package/carousel/public_api.d.ts +0 -3
  582. package/carousel/style/carouselstyle.d.ts +0 -129
  583. package/cascadeselect/cascadeselect.d.ts +0 -526
  584. package/cascadeselect/cascadeselect.interface.d.ts +0 -115
  585. package/cascadeselect/public_api.d.ts +0 -3
  586. package/cascadeselect/style/cascadeselectstyle.d.ts +0 -130
  587. package/chart/chart.d.ts +0 -87
  588. package/chart/public_api.d.ts +0 -2
  589. package/chart/style/chartstyle.d.ts +0 -32
  590. package/checkbox/checkbox.d.ts +0 -196
  591. package/checkbox/checkbox.interface.d.ts +0 -26
  592. package/checkbox/public_api.d.ts +0 -3
  593. package/checkbox/style/checkboxstyle.d.ts +0 -53
  594. package/chip/chip.d.ts +0 -94
  595. package/chip/chip.interface.d.ts +0 -27
  596. package/chip/public_api.d.ts +0 -3
  597. package/chip/style/chipstyle.d.ts +0 -50
  598. package/chips/chips.d.ts +0 -237
  599. package/chips/chips.interface.d.ts +0 -66
  600. package/chips/index.d.ts +0 -5
  601. package/chips/public_api.d.ts +0 -2
  602. package/chips/style/chipsstyle.d.ts +0 -69
  603. package/colorpicker/colorpicker.d.ts +0 -243
  604. package/colorpicker/colorpicker.interface.d.ts +0 -15
  605. package/colorpicker/public_api.d.ts +0 -3
  606. package/colorpicker/style/colorpickerstyle.d.ts +0 -75
  607. package/config/primeng.d.ts +0 -45
  608. package/config/provideprimeng.d.ts +0 -4
  609. package/config/public_api.d.ts +0 -3
  610. package/config/themeprovider.d.ts +0 -28
  611. package/confirmdialog/confirmdialog.d.ts +0 -268
  612. package/confirmdialog/confirmdialog.interface.d.ts +0 -39
  613. package/confirmdialog/public_api.d.ts +0 -3
  614. package/confirmdialog/style/confirmdialogstyle.d.ts +0 -50
  615. package/confirmpopup/confirmpopup.d.ts +0 -126
  616. package/confirmpopup/confirmpopup.interface.d.ts +0 -27
  617. package/confirmpopup/public_api.d.ts +0 -3
  618. package/confirmpopup/style/confirmpopupstyle.d.ts +0 -60
  619. package/contextmenu/contextmenu.d.ts +0 -267
  620. package/contextmenu/public_api.d.ts +0 -2
  621. package/contextmenu/style/contextmenustyle.d.ts +0 -83
  622. package/dataview/dataview.d.ts +0 -294
  623. package/dataview/dataview.interface.d.ts +0 -173
  624. package/dataview/public_api.d.ts +0 -3
  625. package/dataview/style/dataviewstyle.d.ts +0 -62
  626. package/datepicker/datepicker.d.ts +0 -802
  627. package/datepicker/datepicker.interface.d.ts +0 -204
  628. package/datepicker/public_api.d.ts +0 -3
  629. package/datepicker/style/datepickerstyle.d.ts +0 -266
  630. package/defer/defer.d.ts +0 -34
  631. package/defer/index.d.ts +0 -5
  632. package/defer/public_api.d.ts +0 -1
  633. package/dialog/dialog.d.ts +0 -424
  634. package/dialog/dialog.interface.d.ts +0 -31
  635. package/dialog/public_api.d.ts +0 -3
  636. package/dialog/style/dialogstyle.d.ts +0 -102
  637. package/divider/divider.d.ts +0 -45
  638. package/divider/public_api.d.ts +0 -2
  639. package/divider/style/dividerstyle.d.ts +0 -75
  640. package/dock/dock.d.ts +0 -110
  641. package/dock/dock.interface.d.ts +0 -19
  642. package/dock/public_api.d.ts +0 -3
  643. package/dock/style/dockstyle.d.ts +0 -72
  644. package/dom/connectedoverlayscrollhandler.d.ts +0 -9
  645. package/dom/domhandler.d.ts +0 -95
  646. package/dom/public_api.d.ts +0 -2
  647. package/dragdrop/dragdrop.d.ts +0 -118
  648. package/dragdrop/public_api.d.ts +0 -1
  649. package/drawer/drawer.d.ts +0 -212
  650. package/drawer/drawer.interface.d.ts +0 -27
  651. package/drawer/public_api.d.ts +0 -3
  652. package/drawer/style/drawerstyle.d.ts +0 -83
  653. package/dropdown/dropdown.d.ts +0 -649
  654. package/dropdown/dropdown.interface.d.ts +0 -154
  655. package/dropdown/index.d.ts +0 -5
  656. package/dropdown/public_api.d.ts +0 -3
  657. package/dropdown/style/dropdownstyle.d.ts +0 -72
  658. package/dynamicdialog/dialogservice.d.ts +0 -35
  659. package/dynamicdialog/dynamicdialog-config.d.ts +0 -221
  660. package/dynamicdialog/dynamicdialog-injector.d.ts +0 -7
  661. package/dynamicdialog/dynamicdialog-ref.d.ts +0 -101
  662. package/dynamicdialog/dynamicdialog.d.ts +0 -120
  663. package/dynamicdialog/dynamicdialogcontent.d.ts +0 -8
  664. package/dynamicdialog/public_api.d.ts +0 -7
  665. package/dynamicdialog/style/dynamicdialogstyle.d.ts +0 -56
  666. package/editor/editor.d.ts +0 -116
  667. package/editor/editor.interface.d.ts +0 -64
  668. package/editor/public_api.d.ts +0 -3
  669. package/editor/style/editorstyle.d.ts +0 -40
  670. package/fesm2022/primeng-calendar.mjs +0 -4647
  671. package/fesm2022/primeng-calendar.mjs.map +0 -1
  672. package/fesm2022/primeng-chips.mjs +0 -930
  673. package/fesm2022/primeng-chips.mjs.map +0 -1
  674. package/fesm2022/primeng-defer.mjs +0 -101
  675. package/fesm2022/primeng-defer.mjs.map +0 -1
  676. package/fesm2022/primeng-dropdown.mjs +0 -2429
  677. package/fesm2022/primeng-dropdown.mjs.map +0 -1
  678. package/fesm2022/primeng-inputswitch.mjs +0 -370
  679. package/fesm2022/primeng-inputswitch.mjs.map +0 -1
  680. package/fesm2022/primeng-inputtextarea.mjs +0 -262
  681. package/fesm2022/primeng-inputtextarea.mjs.map +0 -1
  682. package/fesm2022/primeng-messages.mjs +0 -655
  683. package/fesm2022/primeng-messages.mjs.map +0 -1
  684. package/fesm2022/primeng-overlaypanel.mjs +0 -657
  685. package/fesm2022/primeng-overlaypanel.mjs.map +0 -1
  686. package/fesm2022/primeng-sidebar.mjs +0 -690
  687. package/fesm2022/primeng-sidebar.mjs.map +0 -1
  688. package/fesm2022/primeng-tabmenu.mjs +0 -807
  689. package/fesm2022/primeng-tabmenu.mjs.map +0 -1
  690. package/fesm2022/primeng-tabview.mjs +0 -1184
  691. package/fesm2022/primeng-tabview.mjs.map +0 -1
  692. package/fieldset/fieldset.d.ts +0 -110
  693. package/fieldset/fieldset.interface.d.ts +0 -46
  694. package/fieldset/public_api.d.ts +0 -3
  695. package/fieldset/style/fieldsetstyle.d.ts +0 -60
  696. package/fileupload/fileupload.d.ts +0 -428
  697. package/fileupload/fileupload.interface.d.ts +0 -235
  698. package/fileupload/public_api.d.ts +0 -3
  699. package/fileupload/style/fileuploadstyle.d.ts +0 -102
  700. package/floatlabel/floatlabel.d.ts +0 -23
  701. package/floatlabel/public_api.d.ts +0 -2
  702. package/floatlabel/style/floatlabelstyle.d.ts +0 -37
  703. package/fluid/fluid.d.ts +0 -17
  704. package/fluid/public_api.d.ts +0 -2
  705. package/fluid/style/fluidstyle.d.ts +0 -30
  706. package/focustrap/focustrap.d.ts +0 -33
  707. package/focustrap/public_api.d.ts +0 -1
  708. package/galleria/galleria.d.ts +0 -417
  709. package/galleria/galleria.interface.d.ts +0 -97
  710. package/galleria/public_api.d.ts +0 -3
  711. package/galleria/style/galleriastyle.d.ts +0 -197
  712. package/iconfield/iconfield.d.ts +0 -28
  713. package/iconfield/public_api.d.ts +0 -2
  714. package/iconfield/style/iconfieldstyle.d.ts +0 -30
  715. package/icons/angledoubledown/angledoubledown.d.ts +0 -6
  716. package/icons/angledoubledown/public_api.d.ts +0 -1
  717. package/icons/angledoubleleft/angledoubleleft.d.ts +0 -6
  718. package/icons/angledoubleleft/public_api.d.ts +0 -1
  719. package/icons/angledoubleright/angledoubleright.d.ts +0 -6
  720. package/icons/angledoubleright/public_api.d.ts +0 -1
  721. package/icons/angledoubleup/angledoubleup.d.ts +0 -6
  722. package/icons/angledoubleup/public_api.d.ts +0 -1
  723. package/icons/angledown/angledown.d.ts +0 -6
  724. package/icons/angledown/public_api.d.ts +0 -1
  725. package/icons/angleleft/angleleft.d.ts +0 -6
  726. package/icons/angleleft/public_api.d.ts +0 -1
  727. package/icons/angleright/angleright.d.ts +0 -6
  728. package/icons/angleright/public_api.d.ts +0 -1
  729. package/icons/angleup/angleup.d.ts +0 -6
  730. package/icons/angleup/public_api.d.ts +0 -1
  731. package/icons/arrowdown/arrowdown.d.ts +0 -9
  732. package/icons/arrowdown/public_api.d.ts +0 -1
  733. package/icons/arrowdownleft/arrowdownleft.d.ts +0 -6
  734. package/icons/arrowdownleft/public_api.d.ts +0 -1
  735. package/icons/arrowdownright/arrowdownright.d.ts +0 -6
  736. package/icons/arrowdownright/public_api.d.ts +0 -1
  737. package/icons/arrowleft/arrowleft.d.ts +0 -8
  738. package/icons/arrowleft/public_api.d.ts +0 -1
  739. package/icons/arrowright/arrowright.d.ts +0 -6
  740. package/icons/arrowright/public_api.d.ts +0 -1
  741. package/icons/arrowup/arrowup.d.ts +0 -8
  742. package/icons/arrowup/public_api.d.ts +0 -1
  743. package/icons/ban/ban.d.ts +0 -8
  744. package/icons/ban/public_api.d.ts +0 -1
  745. package/icons/bars/bars.d.ts +0 -6
  746. package/icons/bars/public_api.d.ts +0 -1
  747. package/icons/baseicon/baseicon.d.ts +0 -17
  748. package/icons/baseicon/public_api.d.ts +0 -2
  749. package/icons/baseicon/style/baseiconstyle.d.ts +0 -20
  750. package/icons/blank/blank.d.ts +0 -6
  751. package/icons/blank/public_api.d.ts +0 -1
  752. package/icons/calendar/calendar.d.ts +0 -6
  753. package/icons/calendar/public_api.d.ts +0 -1
  754. package/icons/caretleft/caretleft.d.ts +0 -6
  755. package/icons/caretleft/public_api.d.ts +0 -1
  756. package/icons/caretright/caretright.d.ts +0 -6
  757. package/icons/caretright/public_api.d.ts +0 -1
  758. package/icons/check/check.d.ts +0 -6
  759. package/icons/check/public_api.d.ts +0 -1
  760. package/icons/chevrondown/chevrondown.d.ts +0 -6
  761. package/icons/chevrondown/public_api.d.ts +0 -1
  762. package/icons/chevronleft/chevronleft.d.ts +0 -6
  763. package/icons/chevronleft/public_api.d.ts +0 -1
  764. package/icons/chevronright/chevronright.d.ts +0 -6
  765. package/icons/chevronright/public_api.d.ts +0 -1
  766. package/icons/chevronup/chevronup.d.ts +0 -6
  767. package/icons/chevronup/public_api.d.ts +0 -1
  768. package/icons/exclamationtriangle/exclamationtriangle.d.ts +0 -9
  769. package/icons/exclamationtriangle/public_api.d.ts +0 -1
  770. package/icons/eye/eye.d.ts +0 -6
  771. package/icons/eye/public_api.d.ts +0 -1
  772. package/icons/eyeslash/eyeslash.d.ts +0 -8
  773. package/icons/eyeslash/public_api.d.ts +0 -1
  774. package/icons/filter/filter.d.ts +0 -8
  775. package/icons/filter/public_api.d.ts +0 -1
  776. package/icons/filterslash/filterslash.d.ts +0 -8
  777. package/icons/filterslash/public_api.d.ts +0 -1
  778. package/icons/home/home.d.ts +0 -8
  779. package/icons/home/public_api.d.ts +0 -1
  780. package/icons/infocircle/infocircle.d.ts +0 -8
  781. package/icons/infocircle/public_api.d.ts +0 -1
  782. package/icons/minus/minus.d.ts +0 -6
  783. package/icons/minus/public_api.d.ts +0 -1
  784. package/icons/pencil/pencil.d.ts +0 -8
  785. package/icons/pencil/public_api.d.ts +0 -1
  786. package/icons/plus/plus.d.ts +0 -8
  787. package/icons/plus/public_api.d.ts +0 -1
  788. package/icons/public_api.d.ts +0 -57
  789. package/icons/refresh/public_api.d.ts +0 -1
  790. package/icons/refresh/refresh.d.ts +0 -8
  791. package/icons/search/public_api.d.ts +0 -1
  792. package/icons/search/search.d.ts +0 -8
  793. package/icons/searchminus/public_api.d.ts +0 -1
  794. package/icons/searchminus/searchminus.d.ts +0 -8
  795. package/icons/searchplus/public_api.d.ts +0 -1
  796. package/icons/searchplus/searchplus.d.ts +0 -8
  797. package/icons/sortalt/public_api.d.ts +0 -1
  798. package/icons/sortalt/sortalt.d.ts +0 -8
  799. package/icons/sortamountdown/public_api.d.ts +0 -1
  800. package/icons/sortamountdown/sortamountdown.d.ts +0 -8
  801. package/icons/sortamountupalt/public_api.d.ts +0 -1
  802. package/icons/sortamountupalt/sortamountupalt.d.ts +0 -8
  803. package/icons/spinner/public_api.d.ts +0 -1
  804. package/icons/spinner/spinner.d.ts +0 -8
  805. package/icons/star/public_api.d.ts +0 -1
  806. package/icons/star/star.d.ts +0 -8
  807. package/icons/starfill/public_api.d.ts +0 -1
  808. package/icons/starfill/starfill.d.ts +0 -8
  809. package/icons/thlarge/public_api.d.ts +0 -1
  810. package/icons/thlarge/thlarge.d.ts +0 -8
  811. package/icons/times/public_api.d.ts +0 -1
  812. package/icons/times/times.d.ts +0 -6
  813. package/icons/timescircle/public_api.d.ts +0 -1
  814. package/icons/timescircle/timescircle.d.ts +0 -8
  815. package/icons/trash/public_api.d.ts +0 -1
  816. package/icons/trash/trash.d.ts +0 -8
  817. package/icons/undo/public_api.d.ts +0 -1
  818. package/icons/undo/undo.d.ts +0 -8
  819. package/icons/upload/public_api.d.ts +0 -1
  820. package/icons/upload/upload.d.ts +0 -8
  821. package/icons/windowmaximize/public_api.d.ts +0 -1
  822. package/icons/windowmaximize/windowmaximize.d.ts +0 -8
  823. package/icons/windowminimize/public_api.d.ts +0 -1
  824. package/icons/windowminimize/windowminimize.d.ts +0 -8
  825. package/iftalabel/iftalabel.d.ts +0 -20
  826. package/iftalabel/public_api.d.ts +0 -2
  827. package/iftalabel/style/iftalabelstyle.d.ts +0 -30
  828. package/image/image.d.ts +0 -227
  829. package/image/image.interface.d.ts +0 -63
  830. package/image/public_api.d.ts +0 -3
  831. package/image/style/imagestyle.d.ts +0 -92
  832. package/imagecompare/imagecompare.d.ts +0 -57
  833. package/imagecompare/public_api.d.ts +0 -2
  834. package/imagecompare/style/imagecomparestyle.d.ts +0 -35
  835. package/inplace/inplace.d.ts +0 -122
  836. package/inplace/inplace.interface.d.ts +0 -19
  837. package/inplace/public_api.d.ts +0 -3
  838. package/inplace/style/inplacestyle.d.ts +0 -44
  839. package/inputgroup/inputgroup.d.ts +0 -30
  840. package/inputgroup/public_api.d.ts +0 -2
  841. package/inputgroup/style/inputgroupstyle.d.ts +0 -34
  842. package/inputgroupaddon/inputgroupaddon.d.ts +0 -33
  843. package/inputgroupaddon/public_api.d.ts +0 -2
  844. package/inputgroupaddon/style/inputgroupaddonstyle.d.ts +0 -10
  845. package/inputicon/inputicon.d.ts +0 -24
  846. package/inputicon/public_api.d.ts +0 -2
  847. package/inputicon/style/inputiconstyle.d.ts +0 -10
  848. package/inputmask/inputmask.d.ts +0 -270
  849. package/inputmask/inputmask.interface.d.ts +0 -19
  850. package/inputmask/public_api.d.ts +0 -3
  851. package/inputmask/style/inputmaskstyle.d.ts +0 -35
  852. package/inputnumber/inputnumber.d.ts +0 -440
  853. package/inputnumber/inputnumber.interface.d.ts +0 -38
  854. package/inputnumber/public_api.d.ts +0 -3
  855. package/inputnumber/style/inputnumberstyle.d.ts +0 -70
  856. package/inputotp/inputotp.d.ts +0 -176
  857. package/inputotp/public_api.d.ts +0 -2
  858. package/inputotp/style/inputotpstyle.d.ts +0 -35
  859. package/inputswitch/index.d.ts +0 -5
  860. package/inputswitch/inputswitch.d.ts +0 -106
  861. package/inputswitch/inputswitch.interface.d.ts +0 -15
  862. package/inputswitch/public_api.d.ts +0 -3
  863. package/inputswitch/style/inputswitchstyle.d.ts +0 -27
  864. package/inputtext/inputtext.d.ts +0 -44
  865. package/inputtext/public_api.d.ts +0 -2
  866. package/inputtext/style/inputtextstyle.d.ts +0 -40
  867. package/inputtextarea/index.d.ts +0 -5
  868. package/inputtextarea/inputtextarea.d.ts +0 -59
  869. package/inputtextarea/public_api.d.ts +0 -2
  870. package/inputtextarea/style/textareastyle.d.ts +0 -39
  871. package/keyfilter/keyfilter.d.ts +0 -57
  872. package/keyfilter/keyfilter.interface.d.ts +0 -5
  873. package/keyfilter/public_api.d.ts +0 -2
  874. package/knob/knob.d.ts +0 -176
  875. package/knob/public_api.d.ts +0 -2
  876. package/knob/style/knobstyle.d.ts +0 -49
  877. package/listbox/listbox.d.ts +0 -556
  878. package/listbox/listbox.interface.d.ts +0 -167
  879. package/listbox/public_api.d.ts +0 -3
  880. package/listbox/style/listboxstyle.d.ts +0 -91
  881. package/megamenu/megamenu.d.ts +0 -250
  882. package/megamenu/megamenu.interface.d.ts +0 -31
  883. package/megamenu/public_api.d.ts +0 -3
  884. package/megamenu/style/megamenustyle.d.ts +0 -132
  885. package/menu/menu.d.ts +0 -239
  886. package/menu/public_api.d.ts +0 -2
  887. package/menu/style/menustyle.d.ts +0 -89
  888. package/menubar/menubar.d.ts +0 -275
  889. package/menubar/menubar.interface.d.ts +0 -40
  890. package/menubar/public_api.d.ts +0 -3
  891. package/menubar/style/menubarstyle.d.ts +0 -102
  892. package/message/message.d.ts +0 -134
  893. package/message/public_api.d.ts +0 -2
  894. package/message/style/messagestyle.d.ts +0 -59
  895. package/messages/index.d.ts +0 -5
  896. package/messages/messages.d.ts +0 -110
  897. package/messages/messages.interface.d.ts +0 -11
  898. package/messages/public_api.d.ts +0 -3
  899. package/messages/style/messagesstyle.d.ts +0 -23
  900. package/metergroup/metergroup.d.ts +0 -107
  901. package/metergroup/metergroup.interface.d.ts +0 -122
  902. package/metergroup/public_api.d.ts +0 -3
  903. package/metergroup/style/metergroupstyle.d.ts +0 -75
  904. package/multiselect/multiselect.d.ts +0 -750
  905. package/multiselect/multiselect.interface.d.ts +0 -247
  906. package/multiselect/public_api.d.ts +0 -3
  907. package/multiselect/style/multiselectstyle.d.ts +0 -153
  908. package/orderlist/orderlist.d.ts +0 -346
  909. package/orderlist/orderlist.interface.d.ts +0 -110
  910. package/orderlist/public_api.d.ts +0 -3
  911. package/orderlist/style/orderliststyle.d.ts +0 -35
  912. package/organizationchart/organizationchart.d.ts +0 -136
  913. package/organizationchart/organizationchart.interface.d.ts +0 -59
  914. package/organizationchart/public_api.d.ts +0 -3
  915. package/organizationchart/style/organizationchartstyle.d.ts +0 -89
  916. package/overlay/overlay.d.ts +0 -245
  917. package/overlay/public_api.d.ts +0 -2
  918. package/overlay/style/overlaystyle.d.ts +0 -10
  919. package/overlaybadge/overlaybadge.d.ts +0 -60
  920. package/overlaybadge/public_api.d.ts +0 -2
  921. package/overlaybadge/style/overlaybadgestyle.d.ts +0 -13
  922. package/overlaypanel/index.d.ts +0 -5
  923. package/overlaypanel/overlaypanel.d.ts +0 -170
  924. package/overlaypanel/public_api.d.ts +0 -2
  925. package/overlaypanel/style/popoverstyle.d.ts +0 -35
  926. package/paginator/paginator.d.ts +0 -223
  927. package/paginator/paginator.interface.d.ts +0 -37
  928. package/paginator/public_api.d.ts +0 -3
  929. package/paginator/style/paginatorstyle.d.ts +0 -138
  930. package/panel/panel.d.ts +0 -204
  931. package/panel/public_api.d.ts +0 -2
  932. package/panel/style/panelstyle.d.ts +0 -67
  933. package/panelmenu/panelmenu.d.ts +0 -226
  934. package/panelmenu/panelmenu.interface.d.ts +0 -23
  935. package/panelmenu/public_api.d.ts +0 -3
  936. package/panelmenu/style/panelmenustyle.d.ts +0 -124
  937. package/password/password.d.ts +0 -372
  938. package/password/public_api.d.ts +0 -2
  939. package/password/style/passwordstyle.d.ts +0 -83
  940. package/picklist/picklist.d.ts +0 -616
  941. package/picklist/picklist.interface.d.ts +0 -242
  942. package/picklist/public_api.d.ts +0 -3
  943. package/picklist/style/pickliststyle.d.ts +0 -55
  944. package/popover/popover.d.ts +0 -162
  945. package/popover/public_api.d.ts +0 -2
  946. package/popover/style/popoverstyle.d.ts +0 -14
  947. package/progressbar/progressbar.d.ts +0 -72
  948. package/progressbar/public_api.d.ts +0 -2
  949. package/progressbar/style/progressbarstyle.d.ts +0 -45
  950. package/progressspinner/progressspinner.d.ts +0 -50
  951. package/progressspinner/public_api.d.ts +0 -2
  952. package/progressspinner/style/progressspinnerstyle.d.ts +0 -40
  953. package/public_api.d.ts +0 -2
  954. package/radiobutton/public_api.d.ts +0 -3
  955. package/radiobutton/radiobutton.d.ts +0 -151
  956. package/radiobutton/radiobutton.interface.d.ts +0 -15
  957. package/radiobutton/style/radiobuttonstyle.d.ts +0 -53
  958. package/rating/public_api.d.ts +0 -3
  959. package/rating/rating.d.ts +0 -137
  960. package/rating/rating.interface.d.ts +0 -34
  961. package/rating/style/ratingstyle.d.ts +0 -57
  962. package/ripple/public_api.d.ts +0 -2
  963. package/ripple/ripple.d.ts +0 -32
  964. package/ripple/style/ripplestyle.d.ts +0 -30
  965. package/scroller/public_api.d.ts +0 -3
  966. package/scroller/scroller.d.ts +0 -373
  967. package/scroller/scroller.interface.d.ts +0 -177
  968. package/scroller/style/scrollerstyle.d.ts +0 -43
  969. package/scrollpanel/public_api.d.ts +0 -3
  970. package/scrollpanel/scrollpanel.d.ts +0 -106
  971. package/scrollpanel/scrollpanel.interface.d.ts +0 -11
  972. package/scrollpanel/style/scrollpanelstyle.d.ts +0 -50
  973. package/scrolltop/public_api.d.ts +0 -3
  974. package/scrolltop/scrolltop.d.ts +0 -100
  975. package/scrolltop/scrolltop.interface.d.ts +0 -18
  976. package/scrolltop/style/scrolltopstyle.d.ts +0 -39
  977. package/select/public_api.d.ts +0 -3
  978. package/select/select.d.ts +0 -749
  979. package/select/select.interface.d.ts +0 -154
  980. package/select/style/selectstyle.d.ts +0 -143
  981. package/selectbutton/public_api.d.ts +0 -3
  982. package/selectbutton/selectbutton.d.ts +0 -145
  983. package/selectbutton/selectbutton.interface.d.ts +0 -45
  984. package/selectbutton/style/selectbuttonstyle.d.ts +0 -34
  985. package/sidebar/index.d.ts +0 -5
  986. package/sidebar/public_api.d.ts +0 -3
  987. package/sidebar/sidebar.d.ts +0 -189
  988. package/sidebar/sidebar.interface.d.ts +0 -27
  989. package/sidebar/style/drawerstyle.d.ts +0 -46
  990. package/skeleton/public_api.d.ts +0 -2
  991. package/skeleton/skeleton.d.ts +0 -66
  992. package/skeleton/style/skeletonstyle.d.ts +0 -40
  993. package/slider/public_api.d.ts +0 -3
  994. package/slider/slider.d.ts +0 -170
  995. package/slider/slider.interface.d.ts +0 -38
  996. package/slider/style/sliderstyle.d.ts +0 -54
  997. package/speeddial/public_api.d.ts +0 -3
  998. package/speeddial/speeddial.d.ts +0 -322
  999. package/speeddial/speeddial.interface.d.ts +0 -44
  1000. package/speeddial/style/speeddialstyle.d.ts +0 -89
  1001. package/splitbutton/public_api.d.ts +0 -3
  1002. package/splitbutton/splitbutton.d.ts +0 -243
  1003. package/splitbutton/splitbutton.interface.d.ts +0 -30
  1004. package/splitbutton/style/splitbuttonstyle.d.ts +0 -46
  1005. package/splitter/public_api.d.ts +0 -3
  1006. package/splitter/splitter.d.ts +0 -166
  1007. package/splitter/splitter.interface.d.ts +0 -34
  1008. package/splitter/style/splitterstyle.d.ts +0 -42
  1009. package/stepper/public_api.d.ts +0 -2
  1010. package/stepper/stepper.d.ts +0 -175
  1011. package/stepper/style/stepperstyle.d.ts +0 -39
  1012. package/steps/public_api.d.ts +0 -2
  1013. package/steps/steps.d.ts +0 -84
  1014. package/steps/style/stepsstyle.d.ts +0 -66
  1015. package/styleclass/public_api.d.ts +0 -1
  1016. package/styleclass/styleclass.d.ts +0 -107
  1017. package/table/columnfilter.interface.d.ts +0 -247
  1018. package/table/public_api.d.ts +0 -4
  1019. package/table/style/tablestyle.d.ts +0 -327
  1020. package/table/table.d.ts +0 -1662
  1021. package/table/table.interface.d.ts +0 -671
  1022. package/tabmenu/index.d.ts +0 -5
  1023. package/tabmenu/public_api.d.ts +0 -3
  1024. package/tabmenu/style/tabmenustyle.d.ts +0 -51
  1025. package/tabmenu/tabmenu.d.ts +0 -136
  1026. package/tabmenu/tabmenu.interface.d.ts +0 -32
  1027. package/tabs/public_api.d.ts +0 -6
  1028. package/tabs/style/tabsstyle.d.ts +0 -66
  1029. package/tabs/tab.d.ts +0 -54
  1030. package/tabs/tablist.d.ts +0 -53
  1031. package/tabs/tabpanel.d.ts +0 -20
  1032. package/tabs/tabpanels.d.ts +0 -10
  1033. package/tabs/tabs.d.ts +0 -64
  1034. package/tabview/index.d.ts +0 -5
  1035. package/tabview/public_api.d.ts +0 -3
  1036. package/tabview/style/tabsstyle.d.ts +0 -66
  1037. package/tabview/tabview.d.ts +0 -278
  1038. package/tabview/tabview.interface.d.ts +0 -49
  1039. package/tag/public_api.d.ts +0 -3
  1040. package/tag/style/tagstyle.d.ts +0 -50
  1041. package/tag/tag.d.ts +0 -64
  1042. package/tag/tag.interface.d.ts +0 -11
  1043. package/terminal/public_api.d.ts +0 -3
  1044. package/terminal/style/terminalstyle.d.ts +0 -70
  1045. package/terminal/terminal.d.ts +0 -56
  1046. package/terminal/terminalservice.d.ts +0 -11
  1047. package/textarea/public_api.d.ts +0 -2
  1048. package/textarea/style/textareastyle.d.ts +0 -39
  1049. package/textarea/textarea.d.ts +0 -64
  1050. package/tieredmenu/public_api.d.ts +0 -3
  1051. package/tieredmenu/style/tieredmenustyle.d.ts +0 -97
  1052. package/tieredmenu/tieredmenu.d.ts +0 -292
  1053. package/tieredmenu/tieredmenu.interface.d.ts +0 -27
  1054. package/timeline/public_api.d.ts +0 -3
  1055. package/timeline/style/timelinestyle.d.ts +0 -62
  1056. package/timeline/timeline.d.ts +0 -70
  1057. package/timeline/timeline.interface.d.ts +0 -43
  1058. package/toast/public_api.d.ts +0 -3
  1059. package/toast/style/toaststyle.d.ts +0 -106
  1060. package/toast/toast.d.ts +0 -172
  1061. package/toast/toast.interface.d.ts +0 -52
  1062. package/togglebutton/public_api.d.ts +0 -3
  1063. package/togglebutton/style/togglebuttonstyle.d.ts +0 -49
  1064. package/togglebutton/togglebutton.d.ts +0 -137
  1065. package/togglebutton/togglebutton.interface.d.ts +0 -51
  1066. package/toggleswitch/public_api.d.ts +0 -3
  1067. package/toggleswitch/style/toggleswitchstyle.d.ts +0 -53
  1068. package/toggleswitch/toggleswitch.d.ts +0 -129
  1069. package/toggleswitch/toggleswitch.interface.d.ts +0 -15
  1070. package/toolbar/public_api.d.ts +0 -3
  1071. package/toolbar/style/toolbarstyle.d.ts +0 -45
  1072. package/toolbar/toolbar.d.ts +0 -58
  1073. package/toolbar/toolbar.interface.d.ts +0 -19
  1074. package/tooltip/public_api.d.ts +0 -2
  1075. package/tooltip/style/tooltipstyle.d.ts +0 -40
  1076. package/tooltip/tooltip.d.ts +0 -203
  1077. package/tree/public_api.d.ts +0 -3
  1078. package/tree/style/treestyle.d.ts +0 -116
  1079. package/tree/tree.d.ts +0 -541
  1080. package/tree/tree.interface.d.ts +0 -200
  1081. package/treeselect/public_api.d.ts +0 -3
  1082. package/treeselect/style/treeselectstyle.d.ts +0 -104
  1083. package/treeselect/treeselect.d.ts +0 -482
  1084. package/treeselect/treeselect.interface.d.ts +0 -108
  1085. package/treetable/public_api.d.ts +0 -3
  1086. package/treetable/style/treetablestyle.d.ts +0 -194
  1087. package/treetable/treetable.d.ts +0 -1006
  1088. package/treetable/treetable.interface.d.ts +0 -472
  1089. package/ts-helpers/public_api.d.ts +0 -1
  1090. package/ts-helpers/ts-helpers.d.ts +0 -4
  1091. package/usestyle/public_api.d.ts +0 -1
  1092. package/usestyle/usestyle.d.ts +0 -12
  1093. package/utils/inpututils.d.ts +0 -2
  1094. package/utils/objectutils.d.ts +0 -27
  1095. package/utils/public_api.d.ts +0 -5
  1096. package/utils/uniquecomponentid.d.ts +0 -2
  1097. package/utils/zindexutils.d.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-picklist.mjs","sources":["../../src/picklist/style/pickliststyle.ts","../../src/picklist/picklist.ts","../../src/picklist/primeng-picklist.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-picklist {\n display: flex;\n gap: ${dt('picklist.gap')};\n}\n\n.p-picklist-controls {\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: ${dt('picklist.controls.gap')};\n}\n\n.p-picklist-list-container {\n flex: 1 1 50%;\n}\n\n.p-picklist .p-listbox {\n height: 100%;\n}\n`;\n\nconst classes = {\n root: 'p-picklist p-component',\n sourceControls: 'p-picklist-controls p-picklist-source-controls',\n sourceListContainer: 'p-picklist-list-container p-picklist-source-list-container',\n transferControls: 'p-picklist-controls p-picklist-transfer-controls',\n targetListContainer: 'p-picklist-list-container p-picklist-target-list-container',\n targetControls: 'p-picklist-controls p-picklist-target-controls'\n};\n\n@Injectable()\nexport class PickListStyle extends BaseStyle {\n name = 'picklist';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * PickList is used to reorder items between different lists.\n *\n * [Live Demo](https://www.primeng.org/picklist)\n *\n * @module pickliststyle\n *\n */\n\nexport enum PickListClasses {\n /**\n * Class name of the root element\n */\n root = 'p-picklist',\n /**\n * Class name of the source controls element\n */\n sourceControls = 'p-picklist-source-controls',\n /**\n * Class name of the source list container element\n */\n sourceListContainer = 'p-picklist-source-list-container',\n /**\n * Class name of the transfer controls element\n */\n transferControls = 'p-picklist-transfer-controls',\n /**\n * Class name of the target list container element\n */\n targetListContainer = 'p-picklist-target-list-container',\n /**\n * Class name of the target controls element\n */\n targetControls = 'p-picklist-target-controls'\n}\n\nexport interface PickListStyle extends BaseStyle {}\n","import { CdkDragDrop, DragDropModule, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n NgModule,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { find, findIndexInList, findSingle, isEmpty, scrollInView, setAttribute, uuid } from '@primeuix/utils';\nimport { FilterService, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ButtonDirective, ButtonProps } from 'primeng/button';\nimport { AngleDoubleDownIcon, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleDoubleUpIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon } from 'primeng/icons';\nimport { Listbox, ListboxFilterEvent } from 'primeng/listbox';\nimport { Ripple } from 'primeng/ripple';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport {\n PickListFilterOptions,\n PickListMoveAllToSourceEvent,\n PickListMoveAllToTargetEvent,\n PickListMoveToSourceEvent,\n PickListMoveToTargetEvent,\n PickListSourceFilterEvent,\n PickListSourceReorderEvent,\n PickListSourceSelectEvent,\n PickListTargetFilterEvent,\n PickListTargetReorderEvent,\n PickListTargetSelectEvent\n} from './picklist.interface';\nimport { PickListStyle } from './style/pickliststyle';\n\n/**\n * PickList is used to reorder items between different lists.\n * @group Components\n */\n@Component({\n selector: 'p-pickList, p-picklist, p-pick-list',\n standalone: true,\n imports: [CommonModule, ButtonDirective, Ripple, DragDropModule, AngleDoubleDownIcon, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleDoubleUpIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, Listbox, FormsModule, SharedModule],\n template: `\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"{ 'p-picklist p-component': true }\" cdkDropListGroup [attr.data-pc-name]=\"'picklist'\" [attr.data-pc-section]=\"'root'\">\n <div class=\"p-picklist-controls p-picklist-source-controls\" *ngIf=\"showSourceControls\" [attr.data-pc-section]=\"'sourceControls'\" [attr.data-pc-group-section]=\"'controls'\">\n <button\n type=\"button\"\n [attr.aria-label]=\"moveUpAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveUp(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n [attr.data-pc-section]=\"'sourceMoveUpButton'\"\n [buttonProps]=\"getButtonProps('moveup')\"\n >\n <AngleUpIcon *ngIf=\"!moveUpIconTemplate && !_moveUpIconTemplate\" [attr.data-pc-section]=\"'moveupicon'\" />\n <ng-template *ngTemplateOutlet=\"moveUpIconTemplate || _moveUpIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveTopAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveTop(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n [attr.data-pc-section]=\"'sourceMoveTopButton'\"\n [buttonProps]=\"getButtonProps('movetop')\"\n >\n <AngleDoubleUpIcon *ngIf=\"!moveTopIconTemplate && !_moveTopIconTemplate\" [attr.data-pc-section]=\"'movetopicon'\" />\n <ng-template *ngTemplateOutlet=\"moveTopIconTemplate || _moveTopIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveDownAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveDown(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n [attr.data-pc-section]=\"'sourceMoveDownButton'\"\n [buttonProps]=\"getButtonProps('movedown')\"\n >\n <AngleDownIcon *ngIf=\"!moveDownIconTemplate && !_moveDownIconTemplate\" [attr.data-pc-section]=\"'movedownicon'\" />\n <ng-template *ngTemplateOutlet=\"moveDownIconTemplate || _moveDownIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveBottomAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveBottom(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n [attr.data-pc-section]=\"'sourceMoveBottomButton'\"\n [buttonProps]=\"getButtonProps('movebottom')\"\n >\n <AngleDoubleDownIcon *ngIf=\"!moveBottomIconTemplate || _moveBottomIconTemplate\" [attr.data-pc-section]=\"'movebottomicon'\" />\n <ng-template *ngTemplateOutlet=\"moveBottomIconTemplate || _moveBottomIconTemplate\"></ng-template>\n </button>\n </div>\n <div class=\"p-picklist-list-container p-picklist-source-list-container\" [attr.data-pc-section]=\"'sourceWrapper'\" [attr.data-pc-group-section]=\"'listWrapper'\">\n <p-listbox\n #sourcelist\n [multiple]=\"true\"\n [options]=\"source\"\n [(ngModel)]=\"selectedItemsSource\"\n optionLabel=\"name\"\n [id]=\"idSource + '_list'\"\n [ngStyle]=\"sourceStyle\"\n [striped]=\"stripedRows\"\n [tabindex]=\"tabindex\"\n (onFocus)=\"onListFocus($event, SOURCE_LIST)\"\n (onBlur)=\"onListBlur($event, SOURCE_LIST)\"\n (keydown)=\"onItemKeyDown($event, selectedItemsSource, onSourceSelect, SOURCE_LIST)\"\n (onDblClick)=\"onSourceItemDblClick()\"\n [disabled]=\"disabled\"\n [optionDisabled]=\"sourceOptionDisabled\"\n [metaKeySelection]=\"metaKeySelection\"\n [scrollHeight]=\"scrollHeight\"\n [autoOptionFocus]=\"autoOptionFocus\"\n [filter]=\"filterBy\"\n [filterBy]=\"filterBy\"\n [filterLocale]=\"filterLocale\"\n [filterMatchMode]=\"filterMatchMode\"\n [filterPlaceHolder]=\"sourceFilterPlaceholder\"\n [dragdrop]=\"dragdrop\"\n (onDrop)=\"onDrop($event, SOURCE_LIST)\"\n (onFilter)=\"onFilter($event.originalEvent, SOURCE_LIST)\"\n >\n <ng-container *ngIf=\"sourceHeaderTemplate || _sourceHeaderTemplate || sourceHeader\">\n <ng-template #header>\n <div class=\"p-picklist-title\" *ngIf=\"!sourceHeaderTemplate && !_sourceHeaderTemplate\">{{ sourceHeader }}</div>\n <ng-template *ngTemplateOutlet=\"sourceHeaderTemplate || _sourceHeaderTemplate\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"sourceFilterTemplate || _sourceFilterTemplate\">\n <ng-template #filter>\n <ng-template *ngTemplateOutlet=\"sourceFilterTemplate || _sourceFilterTemplate; context: { options: sourceFilterOptions }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"sourceFilterIconTemplate || _sourceFilterIconTemplate\">\n <ng-container *ngTemplateOutlet=\"sourceFilterIconTemplate || _sourceFilterIconTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"itemTemplate || _itemTemplate\">\n <ng-template #item let-item let-index=\"index\" let-selected=\"selected\" let-disabled=\"disabled\">\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item, index: index, selected: selected, disabled: disabled }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageSourceTemplate || _emptyMessageSourceTemplate\">\n <ng-template #empty>\n <ng-container *ngTemplateOutlet=\"emptyMessageSourceTemplate || _emptyMessageSourceTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyFilterMessageSourceTemplate || _emptyFilterMessageSourceTemplate\">\n <ng-template #emptyfilter>\n <ng-container *ngTemplateOutlet=\"emptyFilterMessageSourceTemplate || _emptyFilterMessageSourceTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </p-listbox>\n </div>\n <div class=\"p-picklist-controls p-picklist-transfer-controls\" [attr.data-pc-section]=\"'buttons'\" [attr.data-pc-group-section]=\"'controls'\">\n <button\n type=\"button\"\n [attr.aria-label]=\"moveToTargetAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"moveRightDisabled()\"\n (click)=\"moveRight()\"\n [attr.data-pc-section]=\"'moveToTargetButton'\"\n [buttonProps]=\"getButtonProps('movetotarget')\"\n >\n <ng-container *ngIf=\"!moveToTargetIconTemplate && !_moveToTargetIconTemplate\">\n <AngleRightIcon *ngIf=\"!viewChanged\" [attr.data-pc-section]=\"'movetotargeticon'\" />\n <AngleDownIcon *ngIf=\"viewChanged\" [attr.data-pc-section]=\"'movetotargeticon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"moveToTargetIconTemplate || _moveToTargetIconTemplate; context: { $implicit: viewChanged }\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveAllToTargetAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"moveAllRightDisabled()\"\n (click)=\"moveAllRight()\"\n [attr.data-pc-section]=\"'moveAllToTargetButton'\"\n [buttonProps]=\"getButtonProps('movealltotarget')\"\n >\n <ng-container *ngIf=\"!moveAllToTargetIconTemplate && !_moveAllToTargetIconTemplate\">\n <AngleDoubleRightIcon *ngIf=\"!viewChanged\" [attr.data-pc-section]=\"'movealltotargeticon'\" />\n <AngleDoubleDownIcon *ngIf=\"viewChanged\" [attr.data-pc-section]=\"'movealltotargeticon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"moveAllToTargetIconTemplate || _moveAllToTargetIconTemplate; context: { $implicit: viewChanged }\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveToSourceAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"moveLeftDisabled()\"\n (click)=\"moveLeft()\"\n [attr.data-pc-section]=\"'moveToSourceButton'\"\n [buttonProps]=\"getButtonProps('movetosource')\"\n >\n <ng-container *ngIf=\"!moveToSourceIconTemplate && !_moveToSourceIconTemplate\">\n <AngleLeftIcon *ngIf=\"!viewChanged\" [attr.data-pc-section]=\"'movedownsourceticon'\" />\n <AngleUpIcon *ngIf=\"viewChanged\" [attr.data-pc-section]=\"'movedownsourceticon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"moveToSourceIconTemplate || _moveToSourceIconTemplate; context: { $implicit: viewChanged }\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveAllToSourceAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"moveAllLeftDisabled()\"\n (click)=\"moveAllLeft()\"\n [attr.data-pc-section]=\"'moveAllToSourceButton'\"\n [buttonProps]=\"getButtonProps('movealltosource')\"\n >\n <ng-container *ngIf=\"!moveAllToSourceIconTemplate && !_moveAllToSourceIconTemplate\">\n <AngleDoubleLeftIcon *ngIf=\"!viewChanged\" [attr.data-pc-section]=\"'movealltosourceticon'\" />\n <AngleDoubleUpIcon *ngIf=\"viewChanged\" [attr.data-pc-section]=\"'movealltosourceticon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"moveAllToSourceIconTemplate || _moveAllToSourceIconTemplate; context: { $implicit: viewChanged }\"></ng-template>\n </button>\n </div>\n <div class=\"p-picklist-list-container p-picklist-target-list-container\" [attr.data-pc-section]=\"'targetWrapper'\" [attr.data-pc-group-section]=\"'listwrapper'\">\n <p-listbox\n #targetlist\n [multiple]=\"true\"\n [options]=\"target\"\n [(ngModel)]=\"selectedItemsTarget\"\n optionLabel=\"name\"\n [id]=\"idTarget + '_list'\"\n [ngStyle]=\"targetStyle\"\n [striped]=\"stripedRows\"\n [tabindex]=\"tabindex\"\n (onFocus)=\"onListFocus($event, TARGET_LIST)\"\n (onBlur)=\"onListBlur($event, TARGET_LIST)\"\n (keydown)=\"onItemKeyDown($event, selectedItemsTarget, onTargetSelect, TARGET_LIST)\"\n (onDblClick)=\"onTargetItemDblClick()\"\n [disabled]=\"disabled\"\n [optionDisabled]=\"targetOptionDisabled\"\n [metaKeySelection]=\"metaKeySelection\"\n [scrollHeight]=\"scrollHeight\"\n [autoOptionFocus]=\"autoOptionFocus\"\n [filter]=\"filterBy\"\n [filterBy]=\"filterBy\"\n [filterLocale]=\"filterLocale\"\n [filterMatchMode]=\"filterMatchMode\"\n [filterPlaceHolder]=\"targetFilterPlaceholder\"\n [dragdrop]=\"dragdrop\"\n (onDrop)=\"onDrop($event, TARGET_LIST)\"\n (onFilter)=\"onFilter($event.originalEvent, TARGET_LIST)\"\n >\n <ng-container *ngIf=\"targetHeaderTemplate || _targetHeaderTemplate || targetHeader\">\n <ng-template #header>\n <div class=\"p-picklist-title\" *ngIf=\"!targetHeaderTemplate && !_targetHeaderTemplate\">{{ targetHeader }}</div>\n <ng-template *ngTemplateOutlet=\"targetHeaderTemplate || _targetHeaderTemplate\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"targetFilterTemplate || _targetFilterTemplate\">\n <ng-template #filter>\n <ng-template *ngTemplateOutlet=\"targetFilterTemplate || _targetFilterTemplate; context: { options: targetFilterOptions }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"targetFilterIconTemplate || _targetFilterIconTemplate\">\n <ng-container *ngTemplateOutlet=\"targetFilterIconTemplate || _targetFilterIconTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"itemTemplate || _itemTemplate\">\n <ng-template #item let-item let-index=\"index\" let-selected=\"selected\" let-disabled=\"disabled\">\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item, index: index, selected: selected, disabled: disabled }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTargetTemplate || _emptyMessageTargetTemplate\">\n <ng-template #empty>\n <ng-container *ngTemplateOutlet=\"emptyMessageTargetTemplate || _emptyMessageTargetTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyFilterMessageTargetTemplate || _emptyFilterMessageTargetTemplate\">\n <ng-template #emptyfilter>\n <ng-container *ngTemplateOutlet=\"emptyFilterMessageTargetTemplate || _emptyFilterMessageTargetTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </p-listbox>\n </div>\n <div class=\"p-picklist-controls p-picklist-target-controls\" *ngIf=\"showTargetControls\" [attr.data-pc-section]=\"'targetControls'\" [attr.data-pc-group-section]=\"'controls'\">\n <button\n type=\"button\"\n [attr.aria-label]=\"moveUpAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveUp(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n [attr.data-pc-section]=\"'targetMoveUpButton'\"\n [buttonProps]=\"getButtonProps('moveup')\"\n >\n <AngleUpIcon *ngIf=\"!moveUpIconTemplate && !_moveUpIconTemplate\" [attr.data-pc-section]=\"'moveupicon'\" />\n <ng-template *ngTemplateOutlet=\"moveUpIconTemplate || _moveUpIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveTopAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveTop(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n [attr.data-pc-section]=\"'targetMoveTopButton'\"\n [buttonProps]=\"getButtonProps('movetop')\"\n >\n <AngleDoubleUpIcon *ngIf=\"!moveTopIconTemplate && !_moveTopIconTemplate\" [attr.data-pc-section]=\"'movetopicon'\" />\n <ng-template *ngTemplateOutlet=\"moveTopIconTemplate || moveTopIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveDownAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveDown(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n [attr.data-pc-section]=\"'targetMoveDownButton'\"\n [buttonProps]=\"getButtonProps('movedown')\"\n >\n <AngleDownIcon *ngIf=\"!moveDownIconTemplate && !_moveDownIconTemplate\" [attr.data-pc-section]=\"'movedownicon'\" />\n <ng-template *ngTemplateOutlet=\"moveDownIconTemplate || _moveDownIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveBottomAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveBottom(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n [attr.data-pc-section]=\"'targetMoveBottomButton'\"\n [buttonProps]=\"getButtonProps('movebottom')\"\n >\n <AngleDoubleDownIcon *ngIf=\"!moveBottomIconTemplate && !_moveBottomIconTemplate\" [attr.data-pc-section]=\"'movebottomicon'\" />\n <ng-template *ngTemplateOutlet=\"moveBottomIconTemplate || _moveBottomIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [PickListStyle]\n})\nexport class PickList extends BaseComponent implements AfterViewChecked, AfterContentInit {\n /**\n * An array of objects for the source list.\n * @group Props\n */\n @Input() source: any[] | undefined;\n /**\n * An array of objects for the target list.\n * @group Props\n */\n @Input() target: any[] | undefined;\n /**\n * Text for the source list caption\n * @group Props\n */\n @Input() sourceHeader: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Defines a string that labels the move to right button for accessibility.\n * @group Props\n */\n @Input() rightButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to left button for accessibility.\n * @group Props\n */\n @Input() leftButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to all right button for accessibility.\n * @group Props\n */\n @Input() allRightButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to all left button for accessibility.\n * @group Props\n */\n @Input() allLeftButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to up button for accessibility.\n * @group Props\n */\n @Input() upButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to down button for accessibility.\n * @group Props\n */\n @Input() downButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to top button for accessibility.\n * @group Props\n */\n @Input() topButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to bottom button for accessibility.\n * @group Props\n */\n @Input() bottomButtonAriaLabel: string | undefined;\n /**\n * Text for the target list caption\n * @group Props\n */\n @Input() targetHeader: string | undefined;\n /**\n * When enabled orderlist adjusts its controls based on screen size.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) responsive: boolean | undefined;\n /**\n * When specified displays an input field to filter the items on keyup and decides which field to search (Accepts multiple fields with a comma).\n * @group Props\n */\n @Input() filterBy: string | undefined;\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy, default algorithm checks for object identity. Use sourceTrackBy or targetTrackBy in case different algorithms are needed per list.\n * @group Props\n */\n @Input() trackBy: Function = (index: number, item: any) => item;\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy in source list, default algorithm checks for object identity.\n * @group Props\n */\n @Input() sourceTrackBy: Function | undefined;\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy in target list, default algorithm checks for object identity.\n * @group Props\n */\n @Input() targetTrackBy: Function | undefined;\n /**\n * Whether to show filter input for source list when filterBy is enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showSourceFilter: boolean = true;\n /**\n * Whether to show filter input for target list when filterBy is enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showTargetFilter: boolean = true;\n /**\n * 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.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) metaKeySelection: boolean = false;\n /**\n * Whether to enable dragdrop based reordering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dragdrop: boolean = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the source list element.\n * @group Props\n */\n @Input() sourceStyle: any;\n /**\n * Inline style of the target list element.\n * @group Props\n */\n @Input() targetStyle: any;\n /**\n * Whether to show buttons of source list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showSourceControls: boolean = true;\n /**\n * Whether to show buttons of target list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showTargetControls: boolean = true;\n /**\n * Placeholder text on source filter input.\n * @group Props\n */\n @Input() sourceFilterPlaceholder: string | undefined;\n /**\n * Placeholder text on target filter input.\n * @group Props\n */\n @Input() targetFilterPlaceholder: string | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n\n /**\n * Name of the disabled field of a target option or function to determine disabled state.\n * @group Props\n */\n @Input() sourceOptionDisabled: string | ((item: any) => boolean) | undefined;\n\n /**\n * Name of the disabled field of a target option or function to determine disabled state.\n * @group Props\n */\n @Input() targetOptionDisabled: string | ((item: any) => boolean) | undefined;\n\n /**\n * Defines a string that labels the filter input of source list.\n * @group Props\n */\n @Input() ariaSourceFilterLabel: string | undefined;\n /**\n * Defines a string that labels the filter input of target list.\n * @group Props\n */\n @Input() ariaTargetFilterLabel: string | undefined;\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n @Input() filterMatchMode: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | string = 'contains';\n /**\n * Whether to displays rows with alternating colors.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) stripedRows: boolean | undefined;\n /**\n * Keeps selection on the transfer list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) keepSelection: boolean = false;\n /**\n * Height of the viewport, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() scrollHeight: string = '14rem';\n /**\n * Whether to focus on the first visible or selected element.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean = true;\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n @Input() buttonProps: ButtonProps = { severity: 'secondary' };\n /**\n * Used to pass all properties of the ButtonProps to the move up button inside the component.\n * @group Props\n */\n @Input() moveUpButtonProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move top button inside the component.\n * @group Props\n */\n @Input() moveTopButtonProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move down button inside the component.\n * @group Props\n */\n @Input() moveDownButtonProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move bottom button inside the component.\n * @group Props\n */\n @Input() moveBottomButtonProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move to target button inside the component.\n * @group Props\n */\n @Input() moveToTargetProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move all to target button inside the component.\n * @group Props\n */\n @Input() moveAllToTargetProps: ButtonProps;\n /**\n * Used to pass all properties of the ButtonProps to the move to source button inside the component.\n * @group Props\n */\n @Input() moveToSourceProps: ButtonProps;\n /**\n * Used to pass all properties of the ButtonProps to the move all to source button inside the component.\n * @group Props\n */\n @Input() moveAllToSourceProps: ButtonProps;\n\n /**\n * Indicates the width of the screen at which the component should change its behavior.\n * @group Props\n */\n @Input() get breakpoint(): string {\n return this._breakpoint;\n }\n set breakpoint(value: string) {\n if (value !== this._breakpoint) {\n this._breakpoint = value;\n if (isPlatformBrowser(this.platformId)) {\n this.destroyMedia();\n this.initMedia();\n }\n }\n }\n /**\n * Callback to invoke when items are moved from target to source.\n * @param {PickListMoveToSourceEvent} event - Custom move to source event.\n * @group Emits\n */\n @Output() onMoveToSource: EventEmitter<PickListMoveToSourceEvent> = new EventEmitter<PickListMoveToSourceEvent>();\n /**\n * Callback to invoke when all items are moved from target to source.\n * @param {PickListMoveAllToSourceEvent} event - Custom move all to source event.\n * @group Emits\n */\n @Output() onMoveAllToSource: EventEmitter<PickListMoveAllToSourceEvent> = new EventEmitter<PickListMoveAllToSourceEvent>();\n /**\n * Callback to invoke when all items are moved from source to target.\n * @param {PickListMoveAllToTargetEvent} event - Custom move all to target event.\n * @group Emits\n */\n @Output() onMoveAllToTarget: EventEmitter<PickListMoveAllToTargetEvent> = new EventEmitter<PickListMoveAllToTargetEvent>();\n /**\n * Callback to invoke when items are moved from source to target.\n * @param {PickListMoveToTargetEvent} event - Custom move to target event.\n * @group Emits\n */\n @Output() onMoveToTarget: EventEmitter<PickListMoveToTargetEvent> = new EventEmitter<PickListMoveToTargetEvent>();\n /**\n * Callback to invoke when items are reordered within source list.\n * @param {PickListSourceReorderEvent} event - Custom source reorder event.\n * @group Emits\n */\n @Output() onSourceReorder: EventEmitter<PickListSourceReorderEvent> = new EventEmitter<PickListSourceReorderEvent>();\n /**\n * Callback to invoke when items are reordered within target list.\n * @param {PickListTargetReorderEvent} event - Custom target reorder event.\n * @group Emits\n */\n @Output() onTargetReorder: EventEmitter<PickListTargetReorderEvent> = new EventEmitter<PickListTargetReorderEvent>();\n /**\n * Callback to invoke when items are selected within source list.\n * @param {PickListSourceSelectEvent} event - Custom source select event.\n * @group Emits\n */\n @Output() onSourceSelect: EventEmitter<PickListSourceSelectEvent> = new EventEmitter<PickListSourceSelectEvent>();\n /**\n * Callback to invoke when items are selected within target list.\n * @param {PickListTargetSelectEvent} event - Custom target select event.\n * @group Emits\n */\n @Output() onTargetSelect: EventEmitter<PickListTargetSelectEvent> = new EventEmitter<PickListTargetSelectEvent>();\n /**\n * Callback to invoke when the source list is filtered\n * @param {PickListSourceFilterEvent} event - Custom source filter event.\n * @group Emits\n */\n @Output() onSourceFilter: EventEmitter<PickListSourceFilterEvent> = new EventEmitter<PickListSourceFilterEvent>();\n /**\n * Callback to invoke when the target list is filtered\n * @param {PickListTargetFilterEvent} event - Custom target filter event.\n * @group Emits\n */\n @Output() onTargetFilter: EventEmitter<PickListTargetFilterEvent> = new EventEmitter<PickListTargetFilterEvent>();\n\n /**\n * Callback to invoke when the list is focused\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * Callback to invoke when the list is blurred\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('sourcelist') listViewSourceChild: Listbox;\n\n @ViewChild('targetlist') listViewTargetChild: Listbox;\n\n @ViewChild('sourceFilter') sourceFilterViewChild: Nullable<ElementRef>;\n\n @ViewChild('targetFilter') targetFilterViewChild: Nullable<ElementRef>;\n\n getButtonProps(direction: string) {\n switch (direction) {\n case 'moveup':\n return { ...this.buttonProps, ...this.moveUpButtonProps };\n case 'movetop':\n return { ...this.buttonProps, ...this.moveTopButtonProps };\n case 'movedown':\n return { ...this.buttonProps, ...this.moveDownButtonProps };\n case 'movebottom':\n return { ...this.buttonProps, ...this.moveBottomButtonProps };\n case 'movetotarget':\n return { ...this.buttonProps, ...this.moveToTargetProps };\n case 'movealltotarget':\n return { ...this.buttonProps, ...this.moveAllToTargetProps };\n case 'movetosource':\n return { ...this.buttonProps, ...this.moveToSourceProps };\n case 'movealltosource':\n return { ...this.buttonProps, ...this.moveAllToSourceProps };\n default:\n return this.buttonProps;\n }\n }\n\n get moveUpAriaLabel() {\n return this.upButtonAriaLabel ? this.upButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveUp : undefined;\n }\n\n get moveTopAriaLabel() {\n return this.topButtonAriaLabel ? this.topButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveTop : undefined;\n }\n\n get moveDownAriaLabel() {\n return this.downButtonAriaLabel ? this.downButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveDown : undefined;\n }\n\n get moveBottomAriaLabel() {\n return this.bottomButtonAriaLabel ? this.bottomButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveDown : undefined;\n }\n\n get moveToTargetAriaLabel() {\n return this.rightButtonAriaLabel ? this.rightButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveToTarget : undefined;\n }\n\n get moveAllToTargetAriaLabel() {\n return this.allRightButtonAriaLabel ? this.allRightButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveAllToTarget : undefined;\n }\n\n get moveToSourceAriaLabel() {\n return this.leftButtonAriaLabel ? this.leftButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveToSource : undefined;\n }\n\n get moveAllToSourceAriaLabel() {\n return this.allLeftButtonAriaLabel ? this.allLeftButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveAllToSource : undefined;\n }\n\n get idSource() {\n return this.id + '_source';\n }\n\n get idTarget() {\n return this.id + '_target';\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n }\n\n _breakpoint: string = '960px';\n\n public visibleOptionsSource: any[] | undefined | null;\n\n public visibleOptionsTarget: any[] | undefined | null;\n\n selectedItemsSource: any[] = [];\n\n selectedItemsTarget: any[] = [];\n\n reorderedListElement: any;\n\n movedUp: Nullable<boolean>;\n\n movedDown: Nullable<boolean>;\n\n itemTouched: Nullable<boolean>;\n\n styleElement: any;\n\n id: string = uuid('pn_id_');\n\n filterValueSource: Nullable<string>;\n\n filterValueTarget: Nullable<string>;\n\n fromListType: Nullable<number>;\n\n sourceFilterOptions: Nullable<PickListFilterOptions>;\n\n targetFilterOptions: Nullable<PickListFilterOptions>;\n\n readonly SOURCE_LIST: number = -1;\n\n readonly TARGET_LIST: number = 1;\n\n window: Window;\n\n media: MediaQueryList | null | undefined;\n\n viewChanged: boolean | undefined;\n\n focusedOptionIndex: any = -1;\n\n focusedOption: any | undefined;\n\n focused: any = {\n sourceList: false,\n targetList: false\n };\n\n _componentStyle = inject(PickListStyle);\n\n mediaChangeListener: VoidListener;\n\n filterService = inject(FilterService);\n\n ngOnInit() {\n super.ngOnInit();\n if (this.responsive) {\n this.createStyle();\n this.initMedia();\n }\n\n if (this.filterBy) {\n this.sourceFilterOptions = {\n filter: (value) => this.filterSource(value),\n reset: () => this.resetSourceFilter()\n };\n\n this.targetFilterOptions = {\n filter: (value) => this.filterTarget(value),\n reset: () => this.resetTargetFilter()\n };\n }\n }\n\n /**\n * Custom item template.\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: TemplateRef<any>;\n\n /**\n * Custom source header template.\n * @group Templates\n */\n @ContentChild('sourceHeader', { descendants: false }) sourceHeaderTemplate: TemplateRef<any>;\n\n /**\n * Custom target header template.\n * @group Templates\n */\n @ContentChild('targetHeader', { descendants: false }) targetHeaderTemplate: TemplateRef<any>;\n\n /**\n * Custom source filter template.\n * @group Templates\n */\n @ContentChild('sourceFilter', { descendants: false }) sourceFilterTemplate: TemplateRef<{ options: PickListFilterOptions }>;\n\n /**\n * Custom target filter template.\n * @group Templates\n */\n @ContentChild('targetFilter', { descendants: false }) targetFilterTemplate: TemplateRef<{ options: PickListFilterOptions }>;\n\n /**\n * Custom empty message when source is empty template.\n * @group Templates\n */\n @ContentChild('emptymessagesource', { descendants: false }) emptyMessageSourceTemplate: TemplateRef<any>;\n\n /**\n * Custom empty filter message when source is empty template.\n * @group Templates\n */\n @ContentChild('emptyfiltermessagesource', { descendants: false }) emptyFilterMessageSourceTemplate: TemplateRef<any>;\n\n /**\n * Custom empty message when target is empty template.\n * @group Templates\n */\n @ContentChild('emptymessagetarget', { descendants: false }) emptyMessageTargetTemplate: TemplateRef<any>;\n\n /**\n * Custom empty filter message when target is empty template.\n * @group Templates\n */\n @ContentChild('emptyfiltermessagetarget', { descendants: false }) emptyFilterMessageTargetTemplate: TemplateRef<any>;\n\n /**\n * Custom move up icon template.\n * @group Templates\n */\n @ContentChild('moveupicon', { descendants: false }) moveUpIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move top icon template.\n * @group Templates\n */\n @ContentChild('movetopicon', { descendants: false }) moveTopIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move down icon template.\n * @group Templates\n */\n @ContentChild('movedownicon', { descendants: false }) moveDownIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move bottom icon template.\n * @group Templates\n */\n @ContentChild('movebottomicon', { descendants: false }) moveBottomIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move to target icon template.\n * @group Templates\n */\n @ContentChild('movetotargeticon', { descendants: false }) moveToTargetIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move all to target icon template.\n * @group Templates\n */\n @ContentChild('movealltotargeticon', { descendants: false }) moveAllToTargetIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move to source icon template.\n * @group Templates\n */\n @ContentChild('movetosourceicon', { descendants: false }) moveToSourceIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move all to source icon template.\n * @group Templates\n */\n @ContentChild('movealltosourceicon', { descendants: false }) moveAllToSourceIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom target filter icon template.\n * @group Templates\n */\n @ContentChild('targetfiltericon', { descendants: false }) targetFilterIconTemplate: TemplateRef<{ options: PickListFilterOptions }>;\n\n /**\n * Custom source filter icon template.\n * @group Templates\n */\n @ContentChild('sourcefiltericon', { descendants: false }) sourceFilterIconTemplate: TemplateRef<{ options: PickListFilterOptions }>;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n _itemTemplate: TemplateRef<any> | undefined;\n\n _sourceHeaderTemplate: TemplateRef<any> | undefined;\n\n _targetHeaderTemplate: TemplateRef<any> | undefined;\n\n _sourceFilterTemplate: TemplateRef<any> | undefined;\n\n _targetFilterTemplate: TemplateRef<any> | undefined;\n\n _emptyMessageSourceTemplate: TemplateRef<any> | undefined;\n\n _emptyFilterMessageSourceTemplate: TemplateRef<any> | undefined;\n\n _emptyMessageTargetTemplate: TemplateRef<any> | undefined;\n\n _emptyFilterMessageTargetTemplate: TemplateRef<any> | undefined;\n\n _moveUpIconTemplate: TemplateRef<any> | undefined;\n\n _moveTopIconTemplate: TemplateRef<any> | undefined;\n\n _moveDownIconTemplate: TemplateRef<any> | undefined;\n\n _moveBottomIconTemplate: TemplateRef<any> | undefined;\n\n _moveToTargetIconTemplate: TemplateRef<any> | undefined;\n\n _moveAllToTargetIconTemplate: TemplateRef<any> | undefined;\n\n _moveToSourceIconTemplate: TemplateRef<any> | undefined;\n\n _moveAllToSourceIconTemplate: TemplateRef<any> | undefined;\n\n _targetFilterIconTemplate: TemplateRef<any> | undefined;\n\n _sourceFilterIconTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'option':\n this._itemTemplate = item.template;\n break;\n\n case 'sourceHeader':\n this._sourceHeaderTemplate = item.template;\n break;\n\n case 'targetHeader':\n this._targetHeaderTemplate = item.template;\n break;\n\n case 'sourceFilter':\n this._sourceFilterTemplate = item.template;\n break;\n\n case 'targetFilter':\n this._targetFilterTemplate = item.template;\n break;\n\n case 'emptymessagesource':\n this._emptyMessageSourceTemplate = item.template;\n break;\n\n case 'emptyfiltermessagesource':\n this._emptyFilterMessageSourceTemplate = item.template;\n break;\n\n case 'emptymessagetarget':\n this._emptyMessageTargetTemplate = item.template;\n break;\n\n case 'emptyfiltermessagetarget':\n this._emptyFilterMessageTargetTemplate = item.template;\n break;\n\n case 'moveupicon':\n this._moveUpIconTemplate = item.template;\n break;\n\n case 'movetopicon':\n this._moveTopIconTemplate = item.template;\n break;\n\n case 'movedownicon':\n this._moveDownIconTemplate = item.template;\n break;\n\n case 'movebottomicon':\n this._moveBottomIconTemplate = item.template;\n break;\n\n case 'movetotargeticon':\n this._moveToTargetIconTemplate = item.template;\n break;\n\n case 'movealltotargeticon':\n this._moveAllToTargetIconTemplate = item.template;\n break;\n\n case 'movetosourceicon':\n this._moveToSourceIconTemplate = item.template;\n break;\n\n case 'movealltosourceicon':\n this._moveAllToSourceIconTemplate = item.template;\n break;\n\n case 'targetfiltericon':\n this._targetFilterIconTemplate = item.template;\n break;\n\n case 'sourcefiltericon':\n this._sourceFilterIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewChecked() {\n if (this.movedUp || this.movedDown) {\n let listItems = find(this.reorderedListElement?.el.nativeElement, 'li.p-listbox-option-selected');\n\n let listItem;\n\n if (listItems.length > 0) {\n if (this.movedUp) listItem = listItems[0];\n else listItem = listItems[listItems.length - 1];\n\n scrollInView(this.reorderedListElement?.el.nativeElement, listItem);\n }\n this.movedUp = false;\n this.movedDown = false;\n this.reorderedListElement = null;\n }\n }\n\n onItemClick(event: Event | any, item: any, selectedItems: any[], listType: number, callback: EventEmitter<any>, itemId?: string) {\n if (this.disabled) {\n return;\n }\n\n let index = this.findIndexInList(item, selectedItems);\n if (itemId) this.focusedOptionIndex = itemId;\n let selected = index != -1;\n let metaSelection = this.itemTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (<KeyboardEvent>event).metaKey || (<KeyboardEvent>event).ctrlKey || (<KeyboardEvent>event).shiftKey;\n\n if (selected && metaKey) {\n selectedItems = selectedItems.filter((_, i) => i !== index);\n } else {\n if (!metaKey) {\n selectedItems = [];\n }\n selectedItems.push(item);\n }\n } else {\n if (selected) {\n selectedItems = selectedItems.filter((_, i) => i !== index); // Creating a new array without the selected item\n } else {\n selectedItems.push(item);\n }\n }\n this.setSelectionList(listType, selectedItems);\n callback.emit({ originalEvent: event, items: selectedItems });\n\n this.itemTouched = false;\n }\n\n onOptionMouseDown(index, listType: number) {\n this.focused[listType === this.SOURCE_LIST ? 'sourceList' : 'targetList'] = true;\n this.focusedOptionIndex = index;\n }\n\n onSourceItemDblClick() {\n if (this.disabled) {\n return;\n }\n\n this.moveRight();\n this.triggerChangeDetection();\n }\n\n onTargetItemDblClick() {\n if (this.disabled) {\n return;\n }\n\n this.moveLeft();\n this.triggerChangeDetection();\n }\n\n onFilter(event: KeyboardEvent, listType: number) {\n let query = (<HTMLInputElement>event.target).value;\n if (listType === this.SOURCE_LIST) this.filterSource(query);\n else if (listType === this.TARGET_LIST) this.filterTarget(query);\n }\n\n filterSource(value: any = '') {\n this.filterValueSource = value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter(<any[]>this.source, this.SOURCE_LIST);\n this.onSourceFilter.emit({ query: this.filterValueSource, value: this.visibleOptionsSource });\n }\n\n filterTarget(value: any = '') {\n this.filterValueTarget = value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter(<any[]>this.target, this.TARGET_LIST);\n this.onTargetFilter.emit({ query: this.filterValueTarget, value: this.visibleOptionsTarget });\n }\n\n filter(data: any[], listType: number) {\n let searchFields = (<string>this.filterBy).split(',');\n\n if (listType === this.SOURCE_LIST) {\n this.visibleOptionsSource = this.filterService.filter(data, searchFields, this.filterValueSource, this.filterMatchMode, this.filterLocale);\n this.onSourceFilter.emit({ query: this.filterValueSource, value: this.visibleOptionsSource });\n } else if (listType === this.TARGET_LIST) {\n this.visibleOptionsTarget = this.filterService.filter(data, searchFields, this.filterValueTarget, this.filterMatchMode, this.filterLocale);\n this.onTargetFilter.emit({ query: this.filterValueTarget, value: this.visibleOptionsTarget });\n }\n }\n\n isItemVisible(item: any, listType: number): boolean | undefined {\n if (listType == this.SOURCE_LIST) return this.isVisibleInList(<any[]>this.visibleOptionsSource, item, <string>this.filterValueSource);\n else return this.isVisibleInList(<any[]>this.visibleOptionsTarget, item, <string>this.filterValueTarget);\n }\n\n isEmpty(listType: number) {\n if (listType == this.SOURCE_LIST) return this.filterValueSource ? !this.visibleOptionsSource || this.visibleOptionsSource.length === 0 : !this.source || this.source.length === 0;\n else return this.filterValueTarget ? !this.visibleOptionsTarget || this.visibleOptionsTarget.length === 0 : !this.target || this.target.length === 0;\n }\n\n isVisibleInList(data: any[], item: any, filterValue: string): boolean | undefined {\n if (filterValue && filterValue.trim().length) {\n for (let i = 0; i < data.length; i++) {\n if (item == data[i]) {\n return true;\n }\n }\n } else {\n return true;\n }\n }\n\n onItemTouchEnd() {\n if (this.disabled) {\n return;\n }\n\n this.itemTouched = true;\n }\n\n private sortByIndexInList(items: any[], list: any) {\n return items.sort((item1, item2) => findIndexInList(item1, list) - findIndexInList(item2, list));\n }\n\n triggerChangeDetection() {\n this.source = [...this.source];\n this.target = [...this.target];\n }\n\n moveUp(listElement: any, list: any[], selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = 0; i < selectedItems.length; i++) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != 0) {\n let movedItem = list[selectedItemIndex];\n let temp = list[selectedItemIndex - 1];\n list[selectedItemIndex - 1] = movedItem;\n list[selectedItemIndex] = temp;\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n this.movedUp = true;\n this.reorderedListElement = listElement;\n callback.emit({ items: selectedItems });\n this.triggerChangeDetection();\n }\n }\n\n moveTop(listElement: any, list: any[], selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = 0; i < selectedItems.length; i++) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != 0) {\n let movedItem = list.splice(selectedItemIndex, 1)[0];\n list.unshift(movedItem);\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n listElement.scrollTop = 0;\n callback.emit({ items: selectedItems });\n this.triggerChangeDetection();\n }\n }\n\n moveDown(listElement: any, list: any[], selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = selectedItems.length - 1; i >= 0; i--) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != list.length - 1) {\n let movedItem = list[selectedItemIndex];\n let temp = list[selectedItemIndex + 1];\n list[selectedItemIndex + 1] = movedItem;\n list[selectedItemIndex] = temp;\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n this.movedDown = true;\n this.reorderedListElement = listElement;\n callback.emit({ items: selectedItems });\n this.triggerChangeDetection();\n }\n }\n\n moveBottom(listElement: any, list: any[], selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = selectedItems.length - 1; i >= 0; i--) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != list.length - 1) {\n let movedItem = list.splice(selectedItemIndex, 1)[0];\n list.push(movedItem);\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n listElement.scrollTop = listElement.scrollHeight;\n callback.emit({ items: selectedItems });\n this.triggerChangeDetection();\n }\n }\n\n moveRight() {\n if (this.selectedItemsSource && this.selectedItemsSource.length) {\n let itemsToMove = [...this.selectedItemsSource];\n for (let i = 0; i < itemsToMove.length; i++) {\n let selectedItem = itemsToMove[i];\n if (findIndexInList(selectedItem, this.target) == -1) {\n this.target?.push(this.source?.splice(findIndexInList(selectedItem, this.source), 1)[0]);\n\n if (this.visibleOptionsSource?.includes(selectedItem)) {\n this.visibleOptionsSource.splice(findIndexInList(selectedItem, this.visibleOptionsSource), 1);\n }\n }\n }\n\n this.onMoveToTarget.emit({\n items: itemsToMove\n });\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...itemsToMove];\n }\n\n itemsToMove = [];\n this.selectedItemsSource = [];\n\n if (this.filterValueTarget) {\n this.filter(<any[]>this.target, this.TARGET_LIST);\n }\n this.triggerChangeDetection();\n }\n }\n\n moveAllRight() {\n if (this.source) {\n let movedItems = [];\n\n for (let i = 0; i < this.source.length; i++) {\n if (this.isItemVisible(this.source[i], this.SOURCE_LIST)) {\n let removedItem = this.source.splice(i, 1)[0];\n this.target?.push(removedItem);\n movedItems.push(removedItem);\n i--;\n }\n }\n this.onMoveAllToTarget.emit({\n items: movedItems\n });\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...this.selectedItemsSource];\n }\n\n this.selectedItemsSource = [];\n\n if (this.filterValueTarget) {\n this.filter(<any[]>this.target, this.TARGET_LIST);\n }\n\n this.visibleOptionsSource = [];\n this.triggerChangeDetection();\n }\n }\n\n moveLeft() {\n if (this.selectedItemsTarget && this.selectedItemsTarget.length) {\n let itemsToMove = [...this.selectedItemsTarget];\n for (let i = 0; i < itemsToMove.length; i++) {\n let selectedItem = itemsToMove[i];\n if (findIndexInList(selectedItem, this.source) == -1) {\n this.source?.push(this.target?.splice(findIndexInList(selectedItem, this.target), 1)[0]);\n\n if (this.visibleOptionsTarget?.includes(selectedItem)) {\n this.visibleOptionsTarget.splice(findIndexInList(selectedItem, this.visibleOptionsTarget), 1)[0];\n }\n }\n }\n\n this.onMoveToSource.emit({\n items: itemsToMove\n });\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, itemsToMove];\n }\n\n itemsToMove = [];\n this.selectedItemsTarget = [];\n\n if (this.filterValueSource) {\n this.filter(<any[]>this.source, this.SOURCE_LIST);\n }\n this.triggerChangeDetection();\n }\n }\n\n moveAllLeft() {\n if (this.target) {\n let movedItems = [];\n\n for (let i = 0; i < this.target.length; i++) {\n if (this.isItemVisible(this.target[i], this.TARGET_LIST)) {\n let removedItem = this.target.splice(i, 1)[0];\n this.source?.push(removedItem);\n movedItems.push(removedItem);\n i--;\n }\n }\n\n this.onMoveAllToSource.emit({\n items: movedItems\n });\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, ...this.selectedItemsTarget];\n }\n\n this.selectedItemsTarget = [];\n\n if (this.filterValueSource) {\n this.filter(<any[]>this.source, this.SOURCE_LIST);\n }\n\n this.visibleOptionsTarget = [];\n this.triggerChangeDetection();\n }\n }\n\n isSelected(item: any, selectedItems: any[]) {\n return this.findIndexInList(item, selectedItems) != -1;\n }\n\n findIndexInList(item: any, selectedItems: any[]): number {\n return findIndexInList(item, selectedItems);\n }\n\n onDrop(event: CdkDragDrop<string[]>, listType: number) {\n let isTransfer = event.previousContainer !== event.container;\n let dropIndexes = this.getDropIndexes(event.previousIndex, event.currentIndex, listType, isTransfer, event.item.data);\n\n if (listType === this.SOURCE_LIST) {\n if (isTransfer) {\n transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n let selectedItemIndex = findIndexInList(event.item.data, this.selectedItemsTarget);\n\n if (selectedItemIndex != -1) {\n this.selectedItemsTarget.splice(selectedItemIndex, 1);\n\n if (this.keepSelection) {\n this.selectedItemsTarget.push(event.item.data);\n }\n }\n\n if (this.visibleOptionsTarget) this.visibleOptionsTarget.splice(event.previousIndex, 1);\n\n this.onMoveToSource.emit({ items: [event.item.data] });\n } else {\n moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n this.onSourceReorder.emit({ items: [event.item.data] });\n }\n\n if (this.filterValueSource) {\n this.filter(<any[]>this.source, this.SOURCE_LIST);\n }\n } else {\n if (isTransfer) {\n transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n\n let selectedItemIndex = findIndexInList(event.item.data, this.selectedItemsSource);\n\n if (selectedItemIndex != -1) {\n this.selectedItemsSource.splice(selectedItemIndex, 1);\n\n if (this.keepSelection) {\n this.selectedItemsTarget.push(event.item.data);\n }\n }\n\n if (this.visibleOptionsSource) this.visibleOptionsSource.splice(event.previousIndex, 1);\n\n this.onMoveToTarget.emit({ items: [event.item.data] });\n } else {\n moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n this.onTargetReorder.emit({ items: [event.item.data] });\n }\n\n if (this.filterValueTarget) {\n this.filter(<any[]>this.target, this.TARGET_LIST);\n }\n }\n }\n\n onListFocus(event, listType) {\n this.onFocus.emit(event);\n }\n\n onListBlur(event, listType) {\n this.onBlur.emit(event);\n }\n\n getListElement(listType: number) {\n return listType === this.SOURCE_LIST ? this.listViewSourceChild?.el.nativeElement : this.listViewTargetChild?.el.nativeElement;\n }\n\n getListItems(listType: number) {\n let listElemet = this.getListElement(listType);\n\n return find(listElemet, 'li.p-picklist-item');\n }\n\n getLatestSelectedVisibleOptionIndex(visibleList: any[], selectedItems: any[]): number {\n const latestSelectedItem = [...selectedItems].reverse().find((item) => visibleList.includes(item));\n return latestSelectedItem !== undefined ? visibleList.indexOf(latestSelectedItem) : -1;\n }\n\n getVisibleList(listType: number) {\n if (listType === this.SOURCE_LIST) {\n return this.visibleOptionsSource && this.visibleOptionsSource.length > 0 ? this.visibleOptionsSource : this.source && this.source.length > 0 ? this.source : null;\n }\n\n return this.visibleOptionsTarget && this.visibleOptionsTarget.length > 0 ? this.visibleOptionsTarget : this.target && this.target.length > 0 ? this.target : null;\n }\n\n setSelectionList(listType: number, selectedItems: any[]) {\n if (listType === this.SOURCE_LIST) {\n this.selectedItemsSource = selectedItems;\n } else {\n this.selectedItemsTarget = selectedItems;\n }\n }\n\n findNextOptionIndex(index: number, listType: number) {\n const items = this.getListItems(listType);\n\n const matchedOptionIndex = [...items].findIndex((link: any) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n }\n\n findPrevOptionIndex(index: number, listType: number) {\n const items = this.getListItems(listType);\n const matchedOptionIndex = [...items].findIndex((link: any) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n }\n\n onItemKeyDown(event: Event | any, selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event, selectedItems, callback, listType);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event, selectedItems, callback, listType);\n break;\n\n case 'Home':\n this.onHomeKey(event, selectedItems, callback, listType);\n break;\n\n case 'End':\n this.onEndKey(event, selectedItems, callback, listType);\n break;\n\n case 'Enter':\n this.onEnterKey(event, selectedItems, callback, listType);\n break;\n\n case 'Space':\n this.onSpaceKey(event, selectedItems, callback, listType);\n break;\n\n case 'KeyA':\n if (event.ctrlKey) {\n this.setSelectionList(listType, this.getVisibleList(listType));\n callback.emit({ items: selectedItems });\n event.preventDefault();\n }\n\n default:\n break;\n }\n }\n\n getFocusedOption(index: number, listType: number) {\n if (index === -1) return null;\n\n if (listType === this.SOURCE_LIST) {\n return this.visibleOptionsSource && this.visibleOptionsSource.length ? this.visibleOptionsSource[index] : this.source && this.source.length ? this.source[index] : null;\n }\n\n return this.visibleOptionsTarget && this.visibleOptionsTarget.length ? this.visibleOptionsTarget[index] : this.target && this.target.length ? this.target[index] : null;\n }\n\n changeFocusedOptionIndex(index, listType) {\n const items = this.getListItems(listType);\n if (items?.length > 0) {\n let order = index >= items.length ? items.length - 1 : index < 0 ? 0 : index;\n\n this.focusedOptionIndex = items[order].getAttribute('id');\n this.focusedOption = this.getFocusedOption(order, listType);\n this.scrollInView(items[order].getAttribute('id'), listType);\n }\n }\n\n scrollInView(id, listType) {\n const element = findSingle(this.getListElement(listType), `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n\n onArrowDownKey(event: Event | any, selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex, listType);\n\n this.changeFocusedOptionIndex(optionIndex, listType);\n\n if (event.shiftKey) {\n this.onEnterKey(event, selectedItems, callback, listType);\n }\n\n event.preventDefault();\n }\n\n onArrowUpKey(event: Event | any, selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex, listType);\n\n this.changeFocusedOptionIndex(optionIndex, listType);\n\n if (event.shiftKey) {\n this.onEnterKey(event, selectedItems, callback, listType);\n }\n\n event.preventDefault();\n }\n\n onEnterKey(event: Event | any, selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n this.onItemClick(event, this.focusedOption, selectedItems, listType, callback);\n event.preventDefault();\n }\n\n onSpaceKey(event: Event | any, selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (event.target.tagName === 'INPUT') return;\n event.preventDefault();\n\n if (event.shiftKey && selectedItems && selectedItems.length > 0) {\n let visibleList = this.getVisibleList(listType);\n let lastSelectedIndex = this.getLatestSelectedVisibleOptionIndex(visibleList, selectedItems);\n\n if (lastSelectedIndex !== -1) {\n let focusedIndex = findIndexInList(this.focusedOption, visibleList);\n\n selectedItems = [...visibleList.slice(Math.min(lastSelectedIndex, focusedIndex), Math.max(lastSelectedIndex, focusedIndex) + 1)];\n this.setSelectionList(listType, selectedItems);\n\n callback.emit({ items: selectedItems });\n return;\n }\n }\n\n this.onEnterKey(event, selectedItems, callback, listType);\n }\n\n onHomeKey(event: Event | any, selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (event.ctrlKey && event.shiftKey) {\n let visibleList = this.getVisibleList(listType);\n let focusedIndex = findIndexInList(this.focusedOption, visibleList);\n\n selectedItems = [...visibleList.slice(0, focusedIndex + 1)];\n this.setSelectionList(listType, selectedItems);\n callback.emit({ items: selectedItems });\n } else {\n this.changeFocusedOptionIndex(0, listType);\n }\n\n event.preventDefault();\n }\n\n onEndKey(event: Event | any, selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n let visibleList = this.getVisibleList(listType);\n let lastIndex = visibleList && visibleList.length > 0 ? visibleList.length - 1 : null;\n if (lastIndex === null) return;\n\n if (event.ctrlKey && event.shiftKey) {\n let focusedIndex = findIndexInList(this.focusedOption, visibleList);\n selectedItems = [...visibleList.slice(focusedIndex, lastIndex)];\n\n this.setSelectionList(listType, selectedItems);\n callback.emit({ items: selectedItems });\n } else {\n this.changeFocusedOptionIndex(lastIndex, listType);\n }\n\n event.preventDefault();\n }\n\n getDropIndexes(fromIndex: number, toIndex: number, droppedList: number, isTransfer: boolean, data: any[] | any) {\n let previousIndex, currentIndex;\n\n if (droppedList === this.SOURCE_LIST) {\n previousIndex = isTransfer ? (this.filterValueTarget ? findIndexInList(data, this.target) : fromIndex) : this.filterValueSource ? findIndexInList(data, this.source) : fromIndex;\n currentIndex = this.filterValueSource ? this.findFilteredCurrentIndex(<any[]>this.visibleOptionsSource, toIndex, this.source) : toIndex;\n } else {\n previousIndex = isTransfer ? (this.filterValueSource ? findIndexInList(data, this.source) : fromIndex) : this.filterValueTarget ? findIndexInList(data, this.target) : fromIndex;\n currentIndex = this.filterValueTarget ? this.findFilteredCurrentIndex(<any[]>this.visibleOptionsTarget, toIndex, this.target) : toIndex;\n }\n\n return { previousIndex, currentIndex };\n }\n\n findFilteredCurrentIndex(visibleOptions: any[], index: number, options: any) {\n if (visibleOptions.length === index) {\n let toIndex = findIndexInList(visibleOptions[index - 1], options);\n\n return toIndex + 1;\n } else {\n return findIndexInList(visibleOptions[index], options);\n }\n }\n\n resetSourceFilter() {\n this.visibleOptionsSource = null;\n this.filterValueSource = null;\n this.sourceFilterViewChild && ((<HTMLInputElement>this.sourceFilterViewChild.nativeElement).value = '');\n }\n\n resetTargetFilter() {\n this.visibleOptionsTarget = null;\n this.filterValueTarget = null;\n this.targetFilterViewChild && ((<HTMLInputElement>this.targetFilterViewChild.nativeElement).value = '');\n }\n\n resetFilter() {\n this.resetSourceFilter();\n this.resetTargetFilter();\n }\n\n initMedia() {\n if (isPlatformBrowser(this.platformId)) {\n this.media = this.document.defaultView.matchMedia(`(max-width: ${this.breakpoint})`);\n this.viewChanged = this.media.matches;\n this.bindMediaChangeListener();\n }\n }\n\n destroyMedia() {\n this.unbindMediaChangeListener();\n }\n\n bindMediaChangeListener() {\n if (this.media && !this.mediaChangeListener) {\n this.mediaChangeListener = this.renderer.listen(this.media, 'change', (event) => {\n this.viewChanged = event.matches;\n\n this.cd.markForCheck();\n });\n }\n }\n\n unbindMediaChangeListener() {\n if (this.mediaChangeListener) {\n this.mediaChangeListener();\n this.mediaChangeListener = null;\n }\n }\n\n createStyle() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.styleElement) {\n this.renderer.setAttribute(this.el.nativeElement.children[0], this.id, '');\n this.styleElement = this.renderer.createElement('style');\n this.renderer.setAttribute(this.styleElement, 'type', 'text/css');\n this.renderer.appendChild(this.document.head, this.styleElement);\n\n let innerHTML = `\n @media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.id}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.id}] .p-picklist-controls {\n flex-direction: row;\n }\n }`;\n\n this.renderer.setProperty(this.styleElement, 'innerHTML', innerHTML);\n setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\n }\n }\n }\n\n sourceMoveDisabled() {\n if (this.disabled || !this.selectedItemsSource.length) {\n return true;\n }\n }\n\n targetMoveDisabled() {\n if (this.disabled || !this.selectedItemsTarget.length) {\n return true;\n }\n }\n\n moveRightDisabled() {\n return this.disabled || isEmpty(this.selectedItemsSource);\n }\n\n moveLeftDisabled() {\n return this.disabled || isEmpty(this.selectedItemsTarget);\n }\n\n moveAllRightDisabled() {\n return this.disabled || isEmpty(this.source);\n }\n\n moveAllLeftDisabled() {\n return this.disabled || isEmpty(this.target);\n }\n\n destroyStyle() {\n if (this.styleElement) {\n this.renderer.removeChild(this.document.head, this.styleElement);\n this.styleElement = null;\n ``;\n }\n }\n\n ngOnDestroy() {\n this.destroyStyle();\n this.destroyMedia();\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [PickList, SharedModule],\n exports: [PickList, SharedModule]\n})\nexport class PickListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-picklist.mjs","sources":["../../src/picklist/style/pickliststyle.ts","../../src/picklist/picklist.ts","../../src/picklist/primeng-picklist.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\nimport { style } from '@primeuix/styles/picklist';\n\nconst classes = {\n root: () => ['p-picklist p-component'],\n sourceControls: 'p-picklist-controls p-picklist-source-controls',\n sourceListContainer: 'p-picklist-list-container p-picklist-source-list-container',\n transferControls: 'p-picklist-controls p-picklist-transfer-controls',\n targetListContainer: 'p-picklist-list-container p-picklist-target-list-container',\n targetControls: 'p-picklist-controls p-picklist-target-controls'\n};\n\n@Injectable()\nexport class PickListStyle extends BaseStyle {\n name = 'picklist';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * PickList is used to reorder items between different lists.\n *\n * [Live Demo](https://www.primeng.org/picklist)\n *\n * @module pickliststyle\n *\n */\n\nexport enum PickListClasses {\n /**\n * Class name of the root element\n */\n root = 'p-picklist',\n /**\n * Class name of the source controls element\n */\n sourceControls = 'p-picklist-source-controls',\n /**\n * Class name of the source list container element\n */\n sourceListContainer = 'p-picklist-source-list-container',\n /**\n * Class name of the transfer controls element\n */\n transferControls = 'p-picklist-transfer-controls',\n /**\n * Class name of the target list container element\n */\n targetListContainer = 'p-picklist-target-list-container',\n /**\n * Class name of the target controls element\n */\n targetControls = 'p-picklist-target-controls'\n}\n\nexport interface PickListStyle extends BaseStyle {}\n","import { CdkDragDrop, DragDropModule, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgModule,\n numberAttribute,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { find, findIndexInList, isEmpty, setAttribute, uuid } from '@primeuix/utils';\nimport { FilterService, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ButtonDirective, ButtonProps } from 'primeng/button';\nimport { AngleDoubleDownIcon, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleDoubleUpIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon } from 'primeng/icons';\nimport { Listbox, ListboxChangeEvent } from 'primeng/listbox';\nimport { Ripple } from 'primeng/ripple';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport {\n PickListFilterOptions,\n PickListMoveAllToSourceEvent,\n PickListMoveAllToTargetEvent,\n PickListMoveToSourceEvent,\n PickListMoveToTargetEvent,\n PickListSourceFilterEvent,\n PickListSourceReorderEvent,\n PickListSourceSelectEvent,\n PickListTargetFilterEvent,\n PickListTargetReorderEvent,\n PickListTargetSelectEvent\n} from './picklist.interface';\nimport { PickListStyle } from './style/pickliststyle';\n\n/**\n * PickList is used to reorder items between different lists.\n * @group Components\n */\n@Component({\n selector: 'p-pickList, p-picklist, p-pick-list',\n standalone: true,\n imports: [CommonModule, ButtonDirective, Ripple, DragDropModule, AngleDoubleDownIcon, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleDoubleUpIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, Listbox, FormsModule, SharedModule],\n template: `\n <div [ngStyle]=\"style\" [class]=\"cn(cx('root'), styleClass)\" cdkDropListGroup [attr.data-pc-name]=\"'picklist'\" [attr.data-pc-section]=\"'root'\">\n <div [class]=\"cx('sourceControls')\" *ngIf=\"showSourceControls\" [attr.data-pc-section]=\"'sourceControls'\" [attr.data-pc-group-section]=\"'controls'\">\n <button\n type=\"button\"\n [attr.aria-label]=\"moveUpAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveUp(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n [attr.data-pc-section]=\"'sourceMoveUpButton'\"\n [buttonProps]=\"getButtonProps('moveup')\"\n >\n <AngleUpIcon *ngIf=\"!moveUpIconTemplate && !_moveUpIconTemplate\" [attr.data-pc-section]=\"'moveupicon'\" />\n <ng-template *ngTemplateOutlet=\"moveUpIconTemplate || _moveUpIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveTopAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveTop(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n [attr.data-pc-section]=\"'sourceMoveTopButton'\"\n [buttonProps]=\"getButtonProps('movetop')\"\n >\n <AngleDoubleUpIcon *ngIf=\"!moveTopIconTemplate && !_moveTopIconTemplate\" [attr.data-pc-section]=\"'movetopicon'\" />\n <ng-template *ngTemplateOutlet=\"moveTopIconTemplate || _moveTopIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveDownAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveDown(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n [attr.data-pc-section]=\"'sourceMoveDownButton'\"\n [buttonProps]=\"getButtonProps('movedown')\"\n >\n <AngleDownIcon *ngIf=\"!moveDownIconTemplate && !_moveDownIconTemplate\" [attr.data-pc-section]=\"'movedownicon'\" />\n <ng-template *ngTemplateOutlet=\"moveDownIconTemplate || _moveDownIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveBottomAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveBottom(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n [attr.data-pc-section]=\"'sourceMoveBottomButton'\"\n [buttonProps]=\"getButtonProps('movebottom')\"\n >\n <AngleDoubleDownIcon *ngIf=\"!moveBottomIconTemplate || _moveBottomIconTemplate\" [attr.data-pc-section]=\"'movebottomicon'\" />\n <ng-template *ngTemplateOutlet=\"moveBottomIconTemplate || _moveBottomIconTemplate\"></ng-template>\n </button>\n </div>\n <div [class]=\"cx('sourceListContainer')\" [attr.data-pc-section]=\"'sourceWrapper'\" [attr.data-pc-group-section]=\"'listWrapper'\">\n <p-listbox\n #sourcelist\n [multiple]=\"true\"\n [options]=\"source\"\n [(ngModel)]=\"selectedItemsSource\"\n optionLabel=\"name\"\n [id]=\"idSource + '_list'\"\n [listStyle]=\"sourceStyle\"\n [striped]=\"stripedRows\"\n [tabindex]=\"tabindex\"\n (onFocus)=\"onListFocus($event, SOURCE_LIST)\"\n (onBlur)=\"onListBlur($event, SOURCE_LIST)\"\n (onChange)=\"onChangeSelection($event, SOURCE_LIST)\"\n (onDblClick)=\"onSourceItemDblClick()\"\n [disabled]=\"disabled\"\n [optionDisabled]=\"sourceOptionDisabled\"\n [metaKeySelection]=\"metaKeySelection\"\n [scrollHeight]=\"scrollHeight\"\n [autoOptionFocus]=\"autoOptionFocus\"\n [filter]=\"filterBy\"\n [filterBy]=\"filterBy\"\n [filterLocale]=\"filterLocale\"\n [filterMatchMode]=\"filterMatchMode\"\n [filterPlaceHolder]=\"sourceFilterPlaceholder\"\n [dragdrop]=\"dragdrop\"\n (onDrop)=\"onDrop($event, SOURCE_LIST)\"\n (onFilter)=\"onFilter($event.originalEvent, SOURCE_LIST)\"\n >\n <ng-container *ngIf=\"sourceHeaderTemplate || _sourceHeaderTemplate || sourceHeader\">\n <ng-template #header>\n <div *ngIf=\"!sourceHeaderTemplate && !_sourceHeaderTemplate\">{{ sourceHeader }}</div>\n <ng-template *ngTemplateOutlet=\"sourceHeaderTemplate || _sourceHeaderTemplate\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"sourceFilterTemplate || _sourceFilterTemplate\">\n <ng-template #filter>\n <ng-template *ngTemplateOutlet=\"sourceFilterTemplate || _sourceFilterTemplate; context: { options: sourceFilterOptions }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"sourceFilterIconTemplate || _sourceFilterIconTemplate\">\n <ng-container *ngTemplateOutlet=\"sourceFilterIconTemplate || _sourceFilterIconTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"itemTemplate || _itemTemplate\">\n <ng-template #item let-item let-index=\"index\" let-selected=\"selected\" let-disabled=\"disabled\">\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item, index: index, selected: selected, disabled: disabled }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageSourceTemplate || _emptyMessageSourceTemplate\">\n <ng-template #empty>\n <ng-container *ngTemplateOutlet=\"emptyMessageSourceTemplate || _emptyMessageSourceTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyFilterMessageSourceTemplate || _emptyFilterMessageSourceTemplate\">\n <ng-template #emptyfilter>\n <ng-container *ngTemplateOutlet=\"emptyFilterMessageSourceTemplate || _emptyFilterMessageSourceTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </p-listbox>\n </div>\n <div [class]=\"cx('targetControls')\" [attr.data-pc-section]=\"'buttons'\" [attr.data-pc-group-section]=\"'controls'\">\n <button\n type=\"button\"\n [attr.aria-label]=\"moveToTargetAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"moveRightDisabled()\"\n (click)=\"moveRight()\"\n [attr.data-pc-section]=\"'moveToTargetButton'\"\n [buttonProps]=\"getButtonProps('movetotarget')\"\n >\n <ng-container *ngIf=\"!moveToTargetIconTemplate && !_moveToTargetIconTemplate\">\n <AngleRightIcon *ngIf=\"!viewChanged\" [attr.data-pc-section]=\"'movetotargeticon'\" />\n <AngleDownIcon *ngIf=\"viewChanged\" [attr.data-pc-section]=\"'movetotargeticon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"moveToTargetIconTemplate || _moveToTargetIconTemplate; context: { $implicit: viewChanged }\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveAllToTargetAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"moveAllRightDisabled()\"\n (click)=\"moveAllRight()\"\n [attr.data-pc-section]=\"'moveAllToTargetButton'\"\n [buttonProps]=\"getButtonProps('movealltotarget')\"\n >\n <ng-container *ngIf=\"!moveAllToTargetIconTemplate && !_moveAllToTargetIconTemplate\">\n <AngleDoubleRightIcon *ngIf=\"!viewChanged\" [attr.data-pc-section]=\"'movealltotargeticon'\" />\n <AngleDoubleDownIcon *ngIf=\"viewChanged\" [attr.data-pc-section]=\"'movealltotargeticon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"moveAllToTargetIconTemplate || _moveAllToTargetIconTemplate; context: { $implicit: viewChanged }\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveToSourceAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"moveLeftDisabled()\"\n (click)=\"moveLeft()\"\n [attr.data-pc-section]=\"'moveToSourceButton'\"\n [buttonProps]=\"getButtonProps('movetosource')\"\n >\n <ng-container *ngIf=\"!moveToSourceIconTemplate && !_moveToSourceIconTemplate\">\n <AngleLeftIcon *ngIf=\"!viewChanged\" [attr.data-pc-section]=\"'movedownsourceticon'\" />\n <AngleUpIcon *ngIf=\"viewChanged\" [attr.data-pc-section]=\"'movedownsourceticon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"moveToSourceIconTemplate || _moveToSourceIconTemplate; context: { $implicit: viewChanged }\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveAllToSourceAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"moveAllLeftDisabled()\"\n (click)=\"moveAllLeft()\"\n [attr.data-pc-section]=\"'moveAllToSourceButton'\"\n [buttonProps]=\"getButtonProps('movealltosource')\"\n >\n <ng-container *ngIf=\"!moveAllToSourceIconTemplate && !_moveAllToSourceIconTemplate\">\n <AngleDoubleLeftIcon *ngIf=\"!viewChanged\" [attr.data-pc-section]=\"'movealltosourceticon'\" />\n <AngleDoubleUpIcon *ngIf=\"viewChanged\" [attr.data-pc-section]=\"'movealltosourceticon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"moveAllToSourceIconTemplate || _moveAllToSourceIconTemplate; context: { $implicit: viewChanged }\"></ng-template>\n </button>\n </div>\n <div [class]=\"cx('targetListContainer')\" [attr.data-pc-section]=\"'targetWrapper'\" [attr.data-pc-group-section]=\"'listwrapper'\">\n <p-listbox\n #targetlist\n [multiple]=\"true\"\n [options]=\"target\"\n [(ngModel)]=\"selectedItemsTarget\"\n optionLabel=\"name\"\n [id]=\"idTarget + '_list'\"\n [listStyle]=\"targetStyle\"\n [striped]=\"stripedRows\"\n [tabindex]=\"tabindex\"\n (onFocus)=\"onListFocus($event, TARGET_LIST)\"\n (onBlur)=\"onListBlur($event, TARGET_LIST)\"\n (onChange)=\"onChangeSelection($event, TARGET_LIST)\"\n (onDblClick)=\"onTargetItemDblClick()\"\n [disabled]=\"disabled\"\n [optionDisabled]=\"targetOptionDisabled\"\n [metaKeySelection]=\"metaKeySelection\"\n [scrollHeight]=\"scrollHeight\"\n [autoOptionFocus]=\"autoOptionFocus\"\n [filter]=\"filterBy\"\n [filterBy]=\"filterBy\"\n [filterLocale]=\"filterLocale\"\n [filterMatchMode]=\"filterMatchMode\"\n [filterPlaceHolder]=\"targetFilterPlaceholder\"\n [dragdrop]=\"dragdrop\"\n (onDrop)=\"onDrop($event, TARGET_LIST)\"\n (onFilter)=\"onFilter($event.originalEvent, TARGET_LIST)\"\n >\n <ng-container *ngIf=\"targetHeaderTemplate || _targetHeaderTemplate || targetHeader\">\n <ng-template #header>\n <div *ngIf=\"!targetHeaderTemplate && !_targetHeaderTemplate\">{{ targetHeader }}</div>\n <ng-template *ngTemplateOutlet=\"targetHeaderTemplate || _targetHeaderTemplate\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"targetFilterTemplate || _targetFilterTemplate\">\n <ng-template #filter>\n <ng-template *ngTemplateOutlet=\"targetFilterTemplate || _targetFilterTemplate; context: { options: targetFilterOptions }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"targetFilterIconTemplate || _targetFilterIconTemplate\">\n <ng-container *ngTemplateOutlet=\"targetFilterIconTemplate || _targetFilterIconTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"itemTemplate || _itemTemplate\">\n <ng-template #item let-item let-index=\"index\" let-selected=\"selected\" let-disabled=\"disabled\">\n <ng-container *ngTemplateOutlet=\"itemTemplate || _itemTemplate; context: { $implicit: item, index: index, selected: selected, disabled: disabled }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTargetTemplate || _emptyMessageTargetTemplate\">\n <ng-template #empty>\n <ng-container *ngTemplateOutlet=\"emptyMessageTargetTemplate || _emptyMessageTargetTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyFilterMessageTargetTemplate || _emptyFilterMessageTargetTemplate\">\n <ng-template #emptyfilter>\n <ng-container *ngTemplateOutlet=\"emptyFilterMessageTargetTemplate || _emptyFilterMessageTargetTemplate\"></ng-container>\n </ng-template>\n </ng-container>\n </p-listbox>\n </div>\n <div [class]=\"cx('targetControls')\" *ngIf=\"showTargetControls\" [attr.data-pc-section]=\"'targetControls'\" [attr.data-pc-group-section]=\"'controls'\">\n <button\n type=\"button\"\n [attr.aria-label]=\"moveUpAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n class=\"p-button-icon-only\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveUp(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n [attr.data-pc-section]=\"'targetMoveUpButton'\"\n [buttonProps]=\"getButtonProps('moveup')\"\n >\n <AngleUpIcon *ngIf=\"!moveUpIconTemplate && !_moveUpIconTemplate\" [attr.data-pc-section]=\"'moveupicon'\" />\n <ng-template *ngTemplateOutlet=\"moveUpIconTemplate || _moveUpIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveTopAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveTop(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n [attr.data-pc-section]=\"'targetMoveTopButton'\"\n [buttonProps]=\"getButtonProps('movetop')\"\n >\n <AngleDoubleUpIcon *ngIf=\"!moveTopIconTemplate && !_moveTopIconTemplate\" [attr.data-pc-section]=\"'movetopicon'\" />\n <ng-template *ngTemplateOutlet=\"moveTopIconTemplate || moveTopIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveDownAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveDown(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n [attr.data-pc-section]=\"'targetMoveDownButton'\"\n [buttonProps]=\"getButtonProps('movedown')\"\n >\n <AngleDownIcon *ngIf=\"!moveDownIconTemplate && !_moveDownIconTemplate\" [attr.data-pc-section]=\"'movedownicon'\" />\n <ng-template *ngTemplateOutlet=\"moveDownIconTemplate || _moveDownIconTemplate\"></ng-template>\n </button>\n <button\n type=\"button\"\n [attr.aria-label]=\"moveBottomAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveBottom(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n [attr.data-pc-section]=\"'targetMoveBottomButton'\"\n [buttonProps]=\"getButtonProps('movebottom')\"\n >\n <AngleDoubleDownIcon *ngIf=\"!moveBottomIconTemplate && !_moveBottomIconTemplate\" [attr.data-pc-section]=\"'movebottomicon'\" />\n <ng-template *ngTemplateOutlet=\"moveBottomIconTemplate || _moveBottomIconTemplate\"></ng-template>\n </button>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [PickListStyle]\n})\nexport class PickList extends BaseComponent implements AfterContentInit {\n /**\n * An array of objects for the source list.\n * @group Props\n */\n @Input() source: any[] | undefined;\n /**\n * An array of objects for the target list.\n * @group Props\n */\n @Input() target: any[] | undefined;\n /**\n * Text for the source list caption\n * @group Props\n */\n @Input() sourceHeader: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Defines a string that labels the move to right button for accessibility.\n * @group Props\n */\n @Input() rightButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to left button for accessibility.\n * @group Props\n */\n @Input() leftButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to all right button for accessibility.\n * @group Props\n */\n @Input() allRightButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to all left button for accessibility.\n * @group Props\n */\n @Input() allLeftButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to up button for accessibility.\n * @group Props\n */\n @Input() upButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to down button for accessibility.\n * @group Props\n */\n @Input() downButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to top button for accessibility.\n * @group Props\n */\n @Input() topButtonAriaLabel: string | undefined;\n /**\n * Defines a string that labels the move to bottom button for accessibility.\n * @group Props\n */\n @Input() bottomButtonAriaLabel: string | undefined;\n /**\n * Text for the target list caption\n * @group Props\n */\n @Input() targetHeader: string | undefined;\n /**\n * When enabled orderlist adjusts its controls based on screen size.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) responsive: boolean | undefined;\n /**\n * When specified displays an input field to filter the items on keyup and decides which field to search (Accepts multiple fields with a comma).\n * @group Props\n */\n @Input() filterBy: string | undefined;\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() filterLocale: string | undefined;\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy, default algorithm checks for object identity. Use sourceTrackBy or targetTrackBy in case different algorithms are needed per list.\n * @group Props\n */\n @Input() trackBy: Function = (index: number, item: any) => item;\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy in source list, default algorithm checks for object identity.\n * @group Props\n */\n @Input() sourceTrackBy: Function | undefined;\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy in target list, default algorithm checks for object identity.\n * @group Props\n */\n @Input() targetTrackBy: Function | undefined;\n /**\n * Whether to show filter input for source list when filterBy is enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showSourceFilter: boolean = true;\n /**\n * Whether to show filter input for target list when filterBy is enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showTargetFilter: boolean = true;\n /**\n * 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.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) metaKeySelection: boolean = false;\n /**\n * Whether to enable dragdrop based reordering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dragdrop: boolean = false;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the source list element.\n * @group Props\n */\n @Input() sourceStyle: any;\n /**\n * Inline style of the target list element.\n * @group Props\n */\n @Input() targetStyle: any;\n /**\n * Whether to show buttons of source list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showSourceControls: boolean = true;\n /**\n * Whether to show buttons of target list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showTargetControls: boolean = true;\n /**\n * Placeholder text on source filter input.\n * @group Props\n */\n @Input() sourceFilterPlaceholder: string | undefined;\n /**\n * Placeholder text on target filter input.\n * @group Props\n */\n @Input() targetFilterPlaceholder: string | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean;\n\n /**\n * Name of the disabled field of a target option or function to determine disabled state.\n * @group Props\n */\n @Input() sourceOptionDisabled: string | ((item: any) => boolean) | undefined;\n\n /**\n * Name of the disabled field of a target option or function to determine disabled state.\n * @group Props\n */\n @Input() targetOptionDisabled: string | ((item: any) => boolean) | undefined;\n\n /**\n * Defines a string that labels the filter input of source list.\n * @group Props\n */\n @Input() ariaSourceFilterLabel: string | undefined;\n /**\n * Defines a string that labels the filter input of target list.\n * @group Props\n */\n @Input() ariaTargetFilterLabel: string | undefined;\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n @Input() filterMatchMode: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | string = 'contains';\n /**\n * Whether to displays rows with alternating colors.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) stripedRows: boolean | undefined;\n /**\n * Keeps selection on the transfer list.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) keepSelection: boolean = false;\n /**\n * Height of the viewport, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n @Input() scrollHeight: string = '14rem';\n /**\n * Whether to focus on the first visible or selected element.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean = true;\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n @Input() buttonProps: ButtonProps = { severity: 'secondary' };\n /**\n * Used to pass all properties of the ButtonProps to the move up button inside the component.\n * @group Props\n */\n @Input() moveUpButtonProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move top button inside the component.\n * @group Props\n */\n @Input() moveTopButtonProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move down button inside the component.\n * @group Props\n */\n @Input() moveDownButtonProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move bottom button inside the component.\n * @group Props\n */\n @Input() moveBottomButtonProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move to target button inside the component.\n * @group Props\n */\n @Input() moveToTargetProps: ButtonProps;\n /**\n * \tUsed to pass all properties of the ButtonProps to the move all to target button inside the component.\n * @group Props\n */\n @Input() moveAllToTargetProps: ButtonProps;\n /**\n * Used to pass all properties of the ButtonProps to the move to source button inside the component.\n * @group Props\n */\n @Input() moveToSourceProps: ButtonProps;\n /**\n * Used to pass all properties of the ButtonProps to the move all to source button inside the component.\n * @group Props\n */\n @Input() moveAllToSourceProps: ButtonProps;\n\n /**\n * Indicates the width of the screen at which the component should change its behavior.\n * @group Props\n */\n @Input() get breakpoint(): string {\n return this._breakpoint;\n }\n set breakpoint(value: string) {\n if (value !== this._breakpoint) {\n this._breakpoint = value;\n if (isPlatformBrowser(this.platformId)) {\n this.destroyMedia();\n this.initMedia();\n }\n }\n }\n /**\n * Callback to invoke when items are moved from target to source.\n * @param {PickListMoveToSourceEvent} event - Custom move to source event.\n * @group Emits\n */\n @Output() onMoveToSource: EventEmitter<PickListMoveToSourceEvent> = new EventEmitter<PickListMoveToSourceEvent>();\n /**\n * Callback to invoke when all items are moved from target to source.\n * @param {PickListMoveAllToSourceEvent} event - Custom move all to source event.\n * @group Emits\n */\n @Output() onMoveAllToSource: EventEmitter<PickListMoveAllToSourceEvent> = new EventEmitter<PickListMoveAllToSourceEvent>();\n /**\n * Callback to invoke when all items are moved from source to target.\n * @param {PickListMoveAllToTargetEvent} event - Custom move all to target event.\n * @group Emits\n */\n @Output() onMoveAllToTarget: EventEmitter<PickListMoveAllToTargetEvent> = new EventEmitter<PickListMoveAllToTargetEvent>();\n /**\n * Callback to invoke when items are moved from source to target.\n * @param {PickListMoveToTargetEvent} event - Custom move to target event.\n * @group Emits\n */\n @Output() onMoveToTarget: EventEmitter<PickListMoveToTargetEvent> = new EventEmitter<PickListMoveToTargetEvent>();\n /**\n * Callback to invoke when items are reordered within source list.\n * @param {PickListSourceReorderEvent} event - Custom source reorder event.\n * @group Emits\n */\n @Output() onSourceReorder: EventEmitter<PickListSourceReorderEvent> = new EventEmitter<PickListSourceReorderEvent>();\n /**\n * Callback to invoke when items are reordered within target list.\n * @param {PickListTargetReorderEvent} event - Custom target reorder event.\n * @group Emits\n */\n @Output() onTargetReorder: EventEmitter<PickListTargetReorderEvent> = new EventEmitter<PickListTargetReorderEvent>();\n /**\n * Callback to invoke when items are selected within source list.\n * @param {PickListSourceSelectEvent} event - Custom source select event.\n * @group Emits\n */\n @Output() onSourceSelect: EventEmitter<PickListSourceSelectEvent> = new EventEmitter<PickListSourceSelectEvent>();\n /**\n * Callback to invoke when items are selected within target list.\n * @param {PickListTargetSelectEvent} event - Custom target select event.\n * @group Emits\n */\n @Output() onTargetSelect: EventEmitter<PickListTargetSelectEvent> = new EventEmitter<PickListTargetSelectEvent>();\n /**\n * Callback to invoke when the source list is filtered\n * @param {PickListSourceFilterEvent} event - Custom source filter event.\n * @group Emits\n */\n @Output() onSourceFilter: EventEmitter<PickListSourceFilterEvent> = new EventEmitter<PickListSourceFilterEvent>();\n /**\n * Callback to invoke when the target list is filtered\n * @param {PickListTargetFilterEvent} event - Custom target filter event.\n * @group Emits\n */\n @Output() onTargetFilter: EventEmitter<PickListTargetFilterEvent> = new EventEmitter<PickListTargetFilterEvent>();\n\n /**\n * Callback to invoke when the list is focused\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n\n /**\n * Callback to invoke when the list is blurred\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('sourcelist') listViewSourceChild: Listbox;\n\n @ViewChild('targetlist') listViewTargetChild: Listbox;\n\n @ViewChild('sourceFilter') sourceFilterViewChild: Nullable<ElementRef>;\n\n @ViewChild('targetFilter') targetFilterViewChild: Nullable<ElementRef>;\n\n getButtonProps(direction: string) {\n switch (direction) {\n case 'moveup':\n return { ...this.buttonProps, ...this.moveUpButtonProps };\n case 'movetop':\n return { ...this.buttonProps, ...this.moveTopButtonProps };\n case 'movedown':\n return { ...this.buttonProps, ...this.moveDownButtonProps };\n case 'movebottom':\n return { ...this.buttonProps, ...this.moveBottomButtonProps };\n case 'movetotarget':\n return { ...this.buttonProps, ...this.moveToTargetProps };\n case 'movealltotarget':\n return { ...this.buttonProps, ...this.moveAllToTargetProps };\n case 'movetosource':\n return { ...this.buttonProps, ...this.moveToSourceProps };\n case 'movealltosource':\n return { ...this.buttonProps, ...this.moveAllToSourceProps };\n default:\n return this.buttonProps;\n }\n }\n\n get moveUpAriaLabel() {\n return this.upButtonAriaLabel ? this.upButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveUp : undefined;\n }\n\n get moveTopAriaLabel() {\n return this.topButtonAriaLabel ? this.topButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveTop : undefined;\n }\n\n get moveDownAriaLabel() {\n return this.downButtonAriaLabel ? this.downButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveDown : undefined;\n }\n\n get moveBottomAriaLabel() {\n return this.bottomButtonAriaLabel ? this.bottomButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveDown : undefined;\n }\n\n get moveToTargetAriaLabel() {\n return this.rightButtonAriaLabel ? this.rightButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveToTarget : undefined;\n }\n\n get moveAllToTargetAriaLabel() {\n return this.allRightButtonAriaLabel ? this.allRightButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveAllToTarget : undefined;\n }\n\n get moveToSourceAriaLabel() {\n return this.leftButtonAriaLabel ? this.leftButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveToSource : undefined;\n }\n\n get moveAllToSourceAriaLabel() {\n return this.allLeftButtonAriaLabel ? this.allLeftButtonAriaLabel : this.config.translation.aria ? this.config.translation.aria.moveAllToSource : undefined;\n }\n\n get idSource() {\n return this.id + '_source';\n }\n\n get idTarget() {\n return this.id + '_target';\n }\n\n _breakpoint: string = '960px';\n\n public visibleOptionsSource: any[] | undefined | null;\n\n public visibleOptionsTarget: any[] | undefined | null;\n\n selectedItemsSource: any[] = [];\n\n selectedItemsTarget: any[] = [];\n\n reorderedListElement: any;\n\n movedUp: Nullable<boolean>;\n\n movedDown: Nullable<boolean>;\n\n itemTouched: Nullable<boolean>;\n\n styleElement: any;\n\n id: string = uuid('pn_id_');\n\n filterValueSource: Nullable<string>;\n\n filterValueTarget: Nullable<string>;\n\n fromListType: Nullable<number>;\n\n sourceFilterOptions: Nullable<PickListFilterOptions>;\n\n targetFilterOptions: Nullable<PickListFilterOptions>;\n\n readonly SOURCE_LIST: number = -1;\n\n readonly TARGET_LIST: number = 1;\n\n window: Window;\n\n media: MediaQueryList | null | undefined;\n\n viewChanged: boolean | undefined;\n\n _componentStyle = inject(PickListStyle);\n\n mediaChangeListener: VoidListener;\n\n filterService = inject(FilterService);\n\n ngOnInit() {\n super.ngOnInit();\n if (this.responsive) {\n this.createStyle();\n this.initMedia();\n }\n\n if (this.filterBy) {\n this.sourceFilterOptions = {\n filter: (value) => this.filterSource(value),\n reset: () => this.resetSourceFilter()\n };\n\n this.targetFilterOptions = {\n filter: (value) => this.filterTarget(value),\n reset: () => this.resetTargetFilter()\n };\n }\n }\n\n /**\n * Custom item template.\n * @group Templates\n */\n @ContentChild('item', { descendants: false }) itemTemplate: TemplateRef<any>;\n\n /**\n * Custom source header template.\n * @group Templates\n */\n @ContentChild('sourceHeader', { descendants: false }) sourceHeaderTemplate: TemplateRef<any>;\n\n /**\n * Custom target header template.\n * @group Templates\n */\n @ContentChild('targetHeader', { descendants: false }) targetHeaderTemplate: TemplateRef<any>;\n\n /**\n * Custom source filter template.\n * @group Templates\n */\n @ContentChild('sourceFilter', { descendants: false }) sourceFilterTemplate: TemplateRef<{ options: PickListFilterOptions }>;\n\n /**\n * Custom target filter template.\n * @group Templates\n */\n @ContentChild('targetFilter', { descendants: false }) targetFilterTemplate: TemplateRef<{ options: PickListFilterOptions }>;\n\n /**\n * Custom empty message when source is empty template.\n * @group Templates\n */\n @ContentChild('emptymessagesource', { descendants: false }) emptyMessageSourceTemplate: TemplateRef<any>;\n\n /**\n * Custom empty filter message when source is empty template.\n * @group Templates\n */\n @ContentChild('emptyfiltermessagesource', { descendants: false }) emptyFilterMessageSourceTemplate: TemplateRef<any>;\n\n /**\n * Custom empty message when target is empty template.\n * @group Templates\n */\n @ContentChild('emptymessagetarget', { descendants: false }) emptyMessageTargetTemplate: TemplateRef<any>;\n\n /**\n * Custom empty filter message when target is empty template.\n * @group Templates\n */\n @ContentChild('emptyfiltermessagetarget', { descendants: false }) emptyFilterMessageTargetTemplate: TemplateRef<any>;\n\n /**\n * Custom move up icon template.\n * @group Templates\n */\n @ContentChild('moveupicon', { descendants: false }) moveUpIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move top icon template.\n * @group Templates\n */\n @ContentChild('movetopicon', { descendants: false }) moveTopIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move down icon template.\n * @group Templates\n */\n @ContentChild('movedownicon', { descendants: false }) moveDownIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move bottom icon template.\n * @group Templates\n */\n @ContentChild('movebottomicon', { descendants: false }) moveBottomIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move to target icon template.\n * @group Templates\n */\n @ContentChild('movetotargeticon', { descendants: false }) moveToTargetIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move all to target icon template.\n * @group Templates\n */\n @ContentChild('movealltotargeticon', { descendants: false }) moveAllToTargetIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move to source icon template.\n * @group Templates\n */\n @ContentChild('movetosourceicon', { descendants: false }) moveToSourceIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom move all to source icon template.\n * @group Templates\n */\n @ContentChild('movealltosourceicon', { descendants: false }) moveAllToSourceIconTemplate: TemplateRef<{ $implicit: boolean }>;\n\n /**\n * Custom target filter icon template.\n * @group Templates\n */\n @ContentChild('targetfiltericon', { descendants: false }) targetFilterIconTemplate: TemplateRef<{ options: PickListFilterOptions }>;\n\n /**\n * Custom source filter icon template.\n * @group Templates\n */\n @ContentChild('sourcefiltericon', { descendants: false }) sourceFilterIconTemplate: TemplateRef<{ options: PickListFilterOptions }>;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n _itemTemplate: TemplateRef<any> | undefined;\n\n _sourceHeaderTemplate: TemplateRef<any> | undefined;\n\n _targetHeaderTemplate: TemplateRef<any> | undefined;\n\n _sourceFilterTemplate: TemplateRef<any> | undefined;\n\n _targetFilterTemplate: TemplateRef<any> | undefined;\n\n _emptyMessageSourceTemplate: TemplateRef<any> | undefined;\n\n _emptyFilterMessageSourceTemplate: TemplateRef<any> | undefined;\n\n _emptyMessageTargetTemplate: TemplateRef<any> | undefined;\n\n _emptyFilterMessageTargetTemplate: TemplateRef<any> | undefined;\n\n _moveUpIconTemplate: TemplateRef<any> | undefined;\n\n _moveTopIconTemplate: TemplateRef<any> | undefined;\n\n _moveDownIconTemplate: TemplateRef<any> | undefined;\n\n _moveBottomIconTemplate: TemplateRef<any> | undefined;\n\n _moveToTargetIconTemplate: TemplateRef<any> | undefined;\n\n _moveAllToTargetIconTemplate: TemplateRef<any> | undefined;\n\n _moveToSourceIconTemplate: TemplateRef<any> | undefined;\n\n _moveAllToSourceIconTemplate: TemplateRef<any> | undefined;\n\n _targetFilterIconTemplate: TemplateRef<any> | undefined;\n\n _sourceFilterIconTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'option':\n this._itemTemplate = item.template;\n break;\n\n case 'sourceHeader':\n this._sourceHeaderTemplate = item.template;\n break;\n\n case 'targetHeader':\n this._targetHeaderTemplate = item.template;\n break;\n\n case 'sourceFilter':\n this._sourceFilterTemplate = item.template;\n break;\n\n case 'targetFilter':\n this._targetFilterTemplate = item.template;\n break;\n\n case 'emptymessagesource':\n this._emptyMessageSourceTemplate = item.template;\n break;\n\n case 'emptyfiltermessagesource':\n this._emptyFilterMessageSourceTemplate = item.template;\n break;\n\n case 'emptymessagetarget':\n this._emptyMessageTargetTemplate = item.template;\n break;\n\n case 'emptyfiltermessagetarget':\n this._emptyFilterMessageTargetTemplate = item.template;\n break;\n\n case 'moveupicon':\n this._moveUpIconTemplate = item.template;\n break;\n\n case 'movetopicon':\n this._moveTopIconTemplate = item.template;\n break;\n\n case 'movedownicon':\n this._moveDownIconTemplate = item.template;\n break;\n\n case 'movebottomicon':\n this._moveBottomIconTemplate = item.template;\n break;\n\n case 'movetotargeticon':\n this._moveToTargetIconTemplate = item.template;\n break;\n\n case 'movealltotargeticon':\n this._moveAllToTargetIconTemplate = item.template;\n break;\n\n case 'movetosourceicon':\n this._moveToSourceIconTemplate = item.template;\n break;\n\n case 'movealltosourceicon':\n this._moveAllToSourceIconTemplate = item.template;\n break;\n\n case 'targetfiltericon':\n this._targetFilterIconTemplate = item.template;\n break;\n\n case 'sourcefiltericon':\n this._sourceFilterIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n onChangeSelection(e: ListboxChangeEvent, listType: number) {\n this.setSelectionList(listType, e.value);\n const callback = listType === this.SOURCE_LIST ? this.onSourceSelect : this.onTargetSelect;\n\n callback.emit({ originalEvent: e.originalEvent, items: e.value });\n }\n\n onSourceItemDblClick() {\n if (this.disabled) {\n return;\n }\n\n this.moveRight();\n this.triggerChangeDetection();\n }\n\n onTargetItemDblClick() {\n if (this.disabled) {\n return;\n }\n\n this.moveLeft();\n this.triggerChangeDetection();\n }\n\n onFilter(event: KeyboardEvent, listType: number) {\n let query = (<HTMLInputElement>event.target).value;\n if (listType === this.SOURCE_LIST) this.filterSource(query);\n else if (listType === this.TARGET_LIST) this.filterTarget(query);\n }\n\n filterSource(value: any = '') {\n this.filterValueSource = value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter(<any[]>this.source, this.SOURCE_LIST);\n this.onSourceFilter.emit({ query: this.filterValueSource, value: this.visibleOptionsSource });\n }\n\n filterTarget(value: any = '') {\n this.filterValueTarget = value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter(<any[]>this.target, this.TARGET_LIST);\n this.onTargetFilter.emit({ query: this.filterValueTarget, value: this.visibleOptionsTarget });\n }\n\n filter(data: any[], listType: number) {\n let searchFields = (<string>this.filterBy).split(',');\n\n if (listType === this.SOURCE_LIST) {\n this.visibleOptionsSource = this.filterService.filter(data, searchFields, this.filterValueSource, this.filterMatchMode, this.filterLocale);\n this.onSourceFilter.emit({ query: this.filterValueSource, value: this.visibleOptionsSource });\n } else if (listType === this.TARGET_LIST) {\n this.visibleOptionsTarget = this.filterService.filter(data, searchFields, this.filterValueTarget, this.filterMatchMode, this.filterLocale);\n this.onTargetFilter.emit({ query: this.filterValueTarget, value: this.visibleOptionsTarget });\n }\n }\n\n isItemVisible(item: any, listType: number): boolean | undefined {\n if (listType == this.SOURCE_LIST) return this.isVisibleInList(<any[]>this.visibleOptionsSource, item, <string>this.filterValueSource);\n else return this.isVisibleInList(<any[]>this.visibleOptionsTarget, item, <string>this.filterValueTarget);\n }\n\n isEmpty(listType: number) {\n if (listType == this.SOURCE_LIST) return this.filterValueSource ? !this.visibleOptionsSource || this.visibleOptionsSource.length === 0 : !this.source || this.source.length === 0;\n else return this.filterValueTarget ? !this.visibleOptionsTarget || this.visibleOptionsTarget.length === 0 : !this.target || this.target.length === 0;\n }\n\n isVisibleInList(data: any[], item: any, filterValue: string): boolean | undefined {\n if (filterValue && filterValue.trim().length) {\n for (let i = 0; i < data.length; i++) {\n if (item == data[i]) {\n return true;\n }\n }\n } else {\n return true;\n }\n }\n\n onItemTouchEnd() {\n if (this.disabled) {\n return;\n }\n\n this.itemTouched = true;\n }\n\n private sortByIndexInList(items: any[], list: any) {\n return items.sort((item1, item2) => findIndexInList(item1, list) - findIndexInList(item2, list));\n }\n\n triggerChangeDetection() {\n this.source = [...this.source];\n this.target = [...this.target];\n }\n\n moveUp(listElement: any, list: any[], selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = 0; i < selectedItems.length; i++) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != 0) {\n let movedItem = list[selectedItemIndex];\n let temp = list[selectedItemIndex - 1];\n list[selectedItemIndex - 1] = movedItem;\n list[selectedItemIndex] = temp;\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n this.movedUp = true;\n this.reorderedListElement = listElement;\n callback.emit({ items: selectedItems });\n this.triggerChangeDetection();\n }\n }\n\n moveTop(listElement: any, list: any[], selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = 0; i < selectedItems.length; i++) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != 0) {\n let movedItem = list.splice(selectedItemIndex, 1)[0];\n list.unshift(movedItem);\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n listElement.scrollTop = 0;\n callback.emit({ items: selectedItems });\n this.triggerChangeDetection();\n }\n }\n\n moveDown(listElement: any, list: any[], selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = selectedItems.length - 1; i >= 0; i--) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != list.length - 1) {\n let movedItem = list[selectedItemIndex];\n let temp = list[selectedItemIndex + 1];\n list[selectedItemIndex + 1] = movedItem;\n list[selectedItemIndex] = temp;\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n this.movedDown = true;\n this.reorderedListElement = listElement;\n callback.emit({ items: selectedItems });\n this.triggerChangeDetection();\n }\n }\n\n moveBottom(listElement: any, list: any[], selectedItems: any[], callback: EventEmitter<any>, listType: number) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = selectedItems.length - 1; i >= 0; i--) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != list.length - 1) {\n let movedItem = list.splice(selectedItemIndex, 1)[0];\n list.push(movedItem);\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n listElement.scrollTop = listElement.scrollHeight;\n callback.emit({ items: selectedItems });\n this.triggerChangeDetection();\n }\n }\n\n moveRight() {\n if (this.selectedItemsSource && this.selectedItemsSource.length) {\n let itemsToMove = [...this.selectedItemsSource];\n for (let i = 0; i < itemsToMove.length; i++) {\n let selectedItem = itemsToMove[i];\n if (findIndexInList(selectedItem, this.target) == -1) {\n this.target?.push(this.source?.splice(findIndexInList(selectedItem, this.source), 1)[0]);\n\n if (this.visibleOptionsSource?.includes(selectedItem)) {\n this.visibleOptionsSource.splice(findIndexInList(selectedItem, this.visibleOptionsSource), 1);\n }\n }\n }\n\n this.onMoveToTarget.emit({\n items: itemsToMove\n });\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...itemsToMove];\n }\n\n itemsToMove = [];\n this.selectedItemsSource = [];\n\n if (this.filterValueTarget) {\n this.filter(<any[]>this.target, this.TARGET_LIST);\n }\n this.triggerChangeDetection();\n }\n }\n\n moveAllRight() {\n if (this.source) {\n let movedItems = [];\n\n for (let i = 0; i < this.source.length; i++) {\n if (this.isItemVisible(this.source[i], this.SOURCE_LIST)) {\n let removedItem = this.source.splice(i, 1)[0];\n this.target?.push(removedItem);\n movedItems.push(removedItem);\n i--;\n }\n }\n this.onMoveAllToTarget.emit({\n items: movedItems\n });\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...this.selectedItemsSource];\n }\n\n this.selectedItemsSource = [];\n\n if (this.filterValueTarget) {\n this.filter(<any[]>this.target, this.TARGET_LIST);\n }\n\n this.visibleOptionsSource = [];\n this.triggerChangeDetection();\n }\n }\n\n moveLeft() {\n if (this.selectedItemsTarget && this.selectedItemsTarget.length) {\n let itemsToMove = [...this.selectedItemsTarget];\n for (let i = 0; i < itemsToMove.length; i++) {\n let selectedItem = itemsToMove[i];\n if (findIndexInList(selectedItem, this.source) == -1) {\n this.source?.push(this.target?.splice(findIndexInList(selectedItem, this.target), 1)[0]);\n\n if (this.visibleOptionsTarget?.includes(selectedItem)) {\n this.visibleOptionsTarget.splice(findIndexInList(selectedItem, this.visibleOptionsTarget), 1)[0];\n }\n }\n }\n\n this.onMoveToSource.emit({\n items: itemsToMove\n });\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, itemsToMove];\n }\n\n itemsToMove = [];\n this.selectedItemsTarget = [];\n\n if (this.filterValueSource) {\n this.filter(<any[]>this.source, this.SOURCE_LIST);\n }\n this.triggerChangeDetection();\n }\n }\n\n moveAllLeft() {\n if (this.target) {\n let movedItems = [];\n\n for (let i = 0; i < this.target.length; i++) {\n if (this.isItemVisible(this.target[i], this.TARGET_LIST)) {\n let removedItem = this.target.splice(i, 1)[0];\n this.source?.push(removedItem);\n movedItems.push(removedItem);\n i--;\n }\n }\n\n this.onMoveAllToSource.emit({\n items: movedItems\n });\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, ...this.selectedItemsTarget];\n }\n\n this.selectedItemsTarget = [];\n\n if (this.filterValueSource) {\n this.filter(<any[]>this.source, this.SOURCE_LIST);\n }\n\n this.visibleOptionsTarget = [];\n this.triggerChangeDetection();\n }\n }\n\n isSelected(item: any, selectedItems: any[]) {\n return this.findIndexInList(item, selectedItems) != -1;\n }\n\n findIndexInList(item: any, selectedItems: any[]): number {\n return findIndexInList(item, selectedItems);\n }\n\n onDrop(event: CdkDragDrop<string[]>, listType: number) {\n let isTransfer = event.previousContainer !== event.container;\n let dropIndexes = this.getDropIndexes(event.previousIndex, event.currentIndex, listType, isTransfer, event.item.data);\n\n if (listType === this.SOURCE_LIST) {\n if (isTransfer) {\n transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n let selectedItemIndex = findIndexInList(event.item.data, this.selectedItemsTarget);\n\n if (selectedItemIndex != -1) {\n this.selectedItemsTarget.splice(selectedItemIndex, 1);\n\n if (this.keepSelection) {\n this.selectedItemsTarget.push(event.item.data);\n }\n }\n\n if (this.visibleOptionsTarget) this.visibleOptionsTarget.splice(event.previousIndex, 1);\n\n this.onMoveToSource.emit({ items: [event.item.data] });\n } else {\n moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n this.onSourceReorder.emit({ items: [event.item.data] });\n }\n\n if (this.filterValueSource) {\n this.filter(<any[]>this.source, this.SOURCE_LIST);\n }\n } else {\n if (isTransfer) {\n transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n\n let selectedItemIndex = findIndexInList(event.item.data, this.selectedItemsSource);\n\n if (selectedItemIndex != -1) {\n this.selectedItemsSource.splice(selectedItemIndex, 1);\n\n if (this.keepSelection) {\n this.selectedItemsTarget.push(event.item.data);\n }\n }\n\n if (this.visibleOptionsSource) this.visibleOptionsSource.splice(event.previousIndex, 1);\n\n this.onMoveToTarget.emit({ items: [event.item.data] });\n } else {\n moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n this.onTargetReorder.emit({ items: [event.item.data] });\n }\n\n if (this.filterValueTarget) {\n this.filter(<any[]>this.target, this.TARGET_LIST);\n }\n }\n }\n\n onListFocus(event, listType) {\n this.onFocus.emit(event);\n }\n\n onListBlur(event, listType) {\n this.onBlur.emit(event);\n }\n\n getListElement(listType: number) {\n return listType === this.SOURCE_LIST ? this.listViewSourceChild?.el.nativeElement : this.listViewTargetChild?.el.nativeElement;\n }\n\n getListItems(listType: number) {\n let listElemet = this.getListElement(listType);\n\n return find(listElemet, 'li.p-picklist-item');\n }\n\n getLatestSelectedVisibleOptionIndex(visibleList: any[], selectedItems: any[]): number {\n const latestSelectedItem = [...selectedItems].reverse().find((item) => visibleList.includes(item));\n return latestSelectedItem !== undefined ? visibleList.indexOf(latestSelectedItem) : -1;\n }\n\n getVisibleList(listType: number) {\n if (listType === this.SOURCE_LIST) {\n return this.visibleOptionsSource && this.visibleOptionsSource.length > 0 ? this.visibleOptionsSource : this.source && this.source.length > 0 ? this.source : null;\n }\n\n return this.visibleOptionsTarget && this.visibleOptionsTarget.length > 0 ? this.visibleOptionsTarget : this.target && this.target.length > 0 ? this.target : null;\n }\n\n setSelectionList(listType: number, selectedItems: any[]) {\n if (listType === this.SOURCE_LIST) {\n this.selectedItemsSource = selectedItems;\n } else {\n this.selectedItemsTarget = selectedItems;\n }\n }\n\n getDropIndexes(fromIndex: number, toIndex: number, droppedList: number, isTransfer: boolean, data: any[] | any) {\n let previousIndex, currentIndex;\n\n if (droppedList === this.SOURCE_LIST) {\n previousIndex = isTransfer ? (this.filterValueTarget ? findIndexInList(data, this.target) : fromIndex) : this.filterValueSource ? findIndexInList(data, this.source) : fromIndex;\n currentIndex = this.filterValueSource ? this.findFilteredCurrentIndex(<any[]>this.visibleOptionsSource, toIndex, this.source) : toIndex;\n } else {\n previousIndex = isTransfer ? (this.filterValueSource ? findIndexInList(data, this.source) : fromIndex) : this.filterValueTarget ? findIndexInList(data, this.target) : fromIndex;\n currentIndex = this.filterValueTarget ? this.findFilteredCurrentIndex(<any[]>this.visibleOptionsTarget, toIndex, this.target) : toIndex;\n }\n\n return { previousIndex, currentIndex };\n }\n\n findFilteredCurrentIndex(visibleOptions: any[], index: number, options: any) {\n if (visibleOptions.length === index) {\n let toIndex = findIndexInList(visibleOptions[index - 1], options);\n\n return toIndex + 1;\n } else {\n return findIndexInList(visibleOptions[index], options);\n }\n }\n\n resetSourceFilter() {\n this.visibleOptionsSource = null;\n this.filterValueSource = null;\n this.sourceFilterViewChild && ((<HTMLInputElement>this.sourceFilterViewChild.nativeElement).value = '');\n }\n\n resetTargetFilter() {\n this.visibleOptionsTarget = null;\n this.filterValueTarget = null;\n this.targetFilterViewChild && ((<HTMLInputElement>this.targetFilterViewChild.nativeElement).value = '');\n }\n\n resetFilter() {\n this.resetSourceFilter();\n this.resetTargetFilter();\n }\n\n initMedia() {\n if (isPlatformBrowser(this.platformId)) {\n this.media = this.document.defaultView.matchMedia(`(max-width: ${this.breakpoint})`);\n this.viewChanged = this.media.matches;\n this.bindMediaChangeListener();\n }\n }\n\n destroyMedia() {\n this.unbindMediaChangeListener();\n }\n\n bindMediaChangeListener() {\n if (this.media && !this.mediaChangeListener) {\n this.mediaChangeListener = this.renderer.listen(this.media, 'change', (event) => {\n this.viewChanged = event.matches;\n\n this.cd.markForCheck();\n });\n }\n }\n\n unbindMediaChangeListener() {\n if (this.mediaChangeListener) {\n this.mediaChangeListener();\n this.mediaChangeListener = null;\n }\n }\n\n createStyle() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.styleElement) {\n this.renderer.setAttribute(this.el.nativeElement.children[0], this.id, '');\n this.styleElement = this.renderer.createElement('style');\n this.renderer.setAttribute(this.styleElement, 'type', 'text/css');\n this.renderer.appendChild(this.document.head, this.styleElement);\n\n let innerHTML = `\n @media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.id}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.id}] .p-picklist-controls {\n flex-direction: row;\n }\n }`;\n\n this.renderer.setProperty(this.styleElement, 'innerHTML', innerHTML);\n setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\n }\n }\n }\n\n sourceMoveDisabled() {\n if (this.disabled || !this.selectedItemsSource.length) {\n return true;\n }\n }\n\n targetMoveDisabled() {\n if (this.disabled || !this.selectedItemsTarget.length) {\n return true;\n }\n }\n\n moveRightDisabled() {\n return this.disabled || isEmpty(this.selectedItemsSource);\n }\n\n moveLeftDisabled() {\n return this.disabled || isEmpty(this.selectedItemsTarget);\n }\n\n moveAllRightDisabled() {\n return this.disabled || isEmpty(this.source);\n }\n\n moveAllLeftDisabled() {\n return this.disabled || isEmpty(this.target);\n }\n\n destroyStyle() {\n if (this.styleElement) {\n this.renderer.removeChild(this.document.head, this.styleElement);\n this.styleElement = null;\n ``;\n }\n }\n\n ngOnDestroy() {\n this.destroyStyle();\n this.destroyMedia();\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [PickList, SharedModule],\n exports: [PickList, SharedModule]\n})\nexport class PickListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}