primeng 20.3.0 → 21.0.0-beta.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 (537) hide show
  1. package/fesm2022/primeng-accordion.mjs +88 -99
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +31 -31
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +95 -41
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +7 -7
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +24 -17
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +10 -10
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +49 -17
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +3 -3
  18. package/fesm2022/primeng-basecomponent.mjs +17 -14
  19. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  20. package/fesm2022/primeng-baseeditableholder.mjs +4 -4
  21. package/fesm2022/primeng-baseinput.mjs +4 -4
  22. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  23. package/fesm2022/primeng-bind.mjs +8 -8
  24. package/fesm2022/primeng-bind.mjs.map +1 -1
  25. package/fesm2022/primeng-blockui.mjs +44 -24
  26. package/fesm2022/primeng-blockui.mjs.map +1 -1
  27. package/fesm2022/primeng-breadcrumb.mjs +15 -13
  28. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  29. package/fesm2022/primeng-button.mjs +198 -79
  30. package/fesm2022/primeng-button.mjs.map +1 -1
  31. package/fesm2022/primeng-buttongroup.mjs +10 -10
  32. package/fesm2022/primeng-card.mjs +10 -10
  33. package/fesm2022/primeng-card.mjs.map +1 -1
  34. package/fesm2022/primeng-carousel.mjs +18 -12
  35. package/fesm2022/primeng-carousel.mjs.map +1 -1
  36. package/fesm2022/primeng-cascadeselect.mjs +34 -25
  37. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  38. package/fesm2022/primeng-chart.mjs +10 -10
  39. package/fesm2022/primeng-chart.mjs.map +1 -1
  40. package/fesm2022/primeng-checkbox.mjs +32 -22
  41. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  42. package/fesm2022/primeng-chip.mjs +24 -12
  43. package/fesm2022/primeng-chip.mjs.map +1 -1
  44. package/fesm2022/primeng-classnames.mjs +8 -8
  45. package/fesm2022/primeng-classnames.mjs.map +1 -1
  46. package/fesm2022/primeng-colorpicker.mjs +118 -187
  47. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  48. package/fesm2022/primeng-config.mjs +6 -12
  49. package/fesm2022/primeng-config.mjs.map +1 -1
  50. package/fesm2022/primeng-confirmdialog.mjs +28 -56
  51. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  52. package/fesm2022/primeng-confirmpopup.mjs +242 -219
  53. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  54. package/fesm2022/primeng-contextmenu.mjs +493 -433
  55. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  56. package/fesm2022/primeng-dataview.mjs +14 -10
  57. package/fesm2022/primeng-dataview.mjs.map +1 -1
  58. package/fesm2022/primeng-datepicker.mjs +808 -858
  59. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  60. package/fesm2022/primeng-dialog.mjs +352 -304
  61. package/fesm2022/primeng-dialog.mjs.map +1 -1
  62. package/fesm2022/primeng-divider.mjs +19 -11
  63. package/fesm2022/primeng-divider.mjs.map +1 -1
  64. package/fesm2022/primeng-dock.mjs +16 -13
  65. package/fesm2022/primeng-dock.mjs.map +1 -1
  66. package/fesm2022/primeng-dragdrop.mjs +10 -10
  67. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  68. package/fesm2022/primeng-drawer.mjs +272 -256
  69. package/fesm2022/primeng-drawer.mjs.map +1 -1
  70. package/fesm2022/primeng-dynamicdialog.mjs +34 -19
  71. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  72. package/fesm2022/primeng-editor.mjs +12 -12
  73. package/fesm2022/primeng-editor.mjs.map +1 -1
  74. package/fesm2022/primeng-fieldset.mjs +104 -86
  75. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  76. package/fesm2022/primeng-fileupload.mjs +59 -52
  77. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  78. package/fesm2022/primeng-floatlabel.mjs +10 -10
  79. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  80. package/fesm2022/primeng-fluid.mjs +10 -10
  81. package/fesm2022/primeng-focustrap.mjs +7 -7
  82. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  83. package/fesm2022/primeng-galleria.mjs +208 -131
  84. package/fesm2022/primeng-galleria.mjs.map +1 -1
  85. package/fesm2022/primeng-iconfield.mjs +10 -10
  86. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  87. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  88. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  89. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  90. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  91. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  92. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  93. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  94. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  95. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  96. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  97. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  98. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  99. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  100. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  101. package/fesm2022/primeng-icons-ban.mjs +3 -3
  102. package/fesm2022/primeng-icons-bars.mjs +3 -3
  103. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  104. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-blank.mjs +3 -3
  106. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  107. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  108. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  109. package/fesm2022/primeng-icons-check.mjs +3 -3
  110. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  111. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  112. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  113. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  114. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  115. package/fesm2022/primeng-icons-eye.mjs +3 -3
  116. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  117. package/fesm2022/primeng-icons-filter.mjs +3 -3
  118. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  119. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  120. package/fesm2022/primeng-icons-home.mjs +3 -3
  121. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  122. package/fesm2022/primeng-icons-minus.mjs +3 -3
  123. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  124. package/fesm2022/primeng-icons-plus.mjs +3 -3
  125. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  126. package/fesm2022/primeng-icons-search.mjs +3 -3
  127. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  128. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  129. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  130. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  131. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  132. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  133. package/fesm2022/primeng-icons-star.mjs +3 -3
  134. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  135. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  136. package/fesm2022/primeng-icons-times.mjs +3 -3
  137. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  138. package/fesm2022/primeng-icons-trash.mjs +3 -3
  139. package/fesm2022/primeng-icons-undo.mjs +3 -3
  140. package/fesm2022/primeng-icons-upload.mjs +3 -3
  141. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  142. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  143. package/fesm2022/primeng-iftalabel.mjs +10 -10
  144. package/fesm2022/primeng-image.mjs +215 -172
  145. package/fesm2022/primeng-image.mjs.map +1 -1
  146. package/fesm2022/primeng-imagecompare.mjs +10 -10
  147. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  148. package/fesm2022/primeng-inplace.mjs +19 -19
  149. package/fesm2022/primeng-inplace.mjs.map +1 -1
  150. package/fesm2022/primeng-inputgroup.mjs +10 -10
  151. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  152. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  153. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  154. package/fesm2022/primeng-inputicon.mjs +10 -10
  155. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  156. package/fesm2022/primeng-inputmask.mjs +13 -11
  157. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  158. package/fesm2022/primeng-inputnumber.mjs +39 -14
  159. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  160. package/fesm2022/primeng-inputotp.mjs +16 -12
  161. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  162. package/fesm2022/primeng-inputtext.mjs +46 -15
  163. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  164. package/fesm2022/primeng-keyfilter.mjs +7 -7
  165. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  166. package/fesm2022/primeng-knob.mjs +10 -10
  167. package/fesm2022/primeng-knob.mjs.map +1 -1
  168. package/fesm2022/primeng-listbox.mjs +35 -19
  169. package/fesm2022/primeng-listbox.mjs.map +1 -1
  170. package/fesm2022/primeng-megamenu.mjs +24 -18
  171. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  172. package/fesm2022/primeng-menu.mjs +265 -254
  173. package/fesm2022/primeng-menu.mjs.map +1 -1
  174. package/fesm2022/primeng-menubar.mjs +53 -23
  175. package/fesm2022/primeng-menubar.mjs.map +1 -1
  176. package/fesm2022/primeng-message.mjs +118 -144
  177. package/fesm2022/primeng-message.mjs.map +1 -1
  178. package/fesm2022/primeng-metergroup.mjs +78 -25
  179. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  180. package/fesm2022/primeng-motion.mjs +660 -0
  181. package/fesm2022/primeng-motion.mjs.map +1 -0
  182. package/fesm2022/primeng-multiselect.mjs +113 -62
  183. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  184. package/fesm2022/primeng-orderlist.mjs +65 -19
  185. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  186. package/fesm2022/primeng-organizationchart.mjs +25 -27
  187. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  188. package/fesm2022/primeng-overlay.mjs +201 -110
  189. package/fesm2022/primeng-overlay.mjs.map +1 -1
  190. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  191. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  192. package/fesm2022/primeng-paginator.mjs +18 -14
  193. package/fesm2022/primeng-paginator.mjs.map +1 -1
  194. package/fesm2022/primeng-panel.mjs +70 -127
  195. package/fesm2022/primeng-panel.mjs.map +1 -1
  196. package/fesm2022/primeng-panelmenu.mjs +156 -170
  197. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  198. package/fesm2022/primeng-password.mjs +151 -178
  199. package/fesm2022/primeng-password.mjs.map +1 -1
  200. package/fesm2022/primeng-picklist.mjs +119 -95
  201. package/fesm2022/primeng-picklist.mjs.map +1 -1
  202. package/fesm2022/primeng-popover.mjs +149 -246
  203. package/fesm2022/primeng-popover.mjs.map +1 -1
  204. package/fesm2022/primeng-progressbar.mjs +25 -17
  205. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  206. package/fesm2022/primeng-progressspinner.mjs +10 -10
  207. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  208. package/fesm2022/primeng-radiobutton.mjs +27 -15
  209. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  210. package/fesm2022/primeng-rating.mjs +18 -11
  211. package/fesm2022/primeng-rating.mjs.map +1 -1
  212. package/fesm2022/primeng-ripple.mjs +22 -15
  213. package/fesm2022/primeng-ripple.mjs.map +1 -1
  214. package/fesm2022/primeng-scroller.mjs +13 -12
  215. package/fesm2022/primeng-scroller.mjs.map +1 -1
  216. package/fesm2022/primeng-scrollpanel.mjs +25 -21
  217. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  218. package/fesm2022/primeng-scrolltop.mjs +104 -109
  219. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  220. package/fesm2022/primeng-select.mjs +104 -55
  221. package/fesm2022/primeng-select.mjs.map +1 -1
  222. package/fesm2022/primeng-selectbutton.mjs +20 -12
  223. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  224. package/fesm2022/primeng-skeleton.mjs +23 -15
  225. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  226. package/fesm2022/primeng-slider.mjs +50 -25
  227. package/fesm2022/primeng-slider.mjs.map +1 -1
  228. package/fesm2022/primeng-speeddial.mjs +21 -17
  229. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  230. package/fesm2022/primeng-splitbutton.mjs +52 -28
  231. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  232. package/fesm2022/primeng-splitter.mjs +25 -16
  233. package/fesm2022/primeng-splitter.mjs.map +1 -1
  234. package/fesm2022/primeng-stepper.mjs +109 -125
  235. package/fesm2022/primeng-stepper.mjs.map +1 -1
  236. package/fesm2022/primeng-steps.mjs +13 -11
  237. package/fesm2022/primeng-steps.mjs.map +1 -1
  238. package/fesm2022/primeng-styleclass.mjs +8 -8
  239. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  240. package/fesm2022/primeng-table.mjs +656 -527
  241. package/fesm2022/primeng-table.mjs.map +1 -1
  242. package/fesm2022/primeng-tabs.mjs +37 -37
  243. package/fesm2022/primeng-tabs.mjs.map +1 -1
  244. package/fesm2022/primeng-tag.mjs +18 -11
  245. package/fesm2022/primeng-tag.mjs.map +1 -1
  246. package/fesm2022/primeng-terminal.mjs +14 -15
  247. package/fesm2022/primeng-terminal.mjs.map +1 -1
  248. package/fesm2022/primeng-textarea.mjs +35 -13
  249. package/fesm2022/primeng-textarea.mjs.map +1 -1
  250. package/fesm2022/primeng-tieredmenu.mjs +142 -156
  251. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  252. package/fesm2022/primeng-timeline.mjs +30 -23
  253. package/fesm2022/primeng-timeline.mjs.map +1 -1
  254. package/fesm2022/primeng-toast.mjs +150 -128
  255. package/fesm2022/primeng-toast.mjs.map +1 -1
  256. package/fesm2022/primeng-togglebutton.mjs +23 -13
  257. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  258. package/fesm2022/primeng-toggleswitch.mjs +25 -16
  259. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  260. package/fesm2022/primeng-toolbar.mjs +10 -10
  261. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  262. package/fesm2022/primeng-tooltip.mjs +37 -14
  263. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  264. package/fesm2022/primeng-tree.mjs +54 -26
  265. package/fesm2022/primeng-tree.mjs.map +1 -1
  266. package/fesm2022/primeng-treeselect.mjs +44 -36
  267. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  268. package/fesm2022/primeng-treetable.mjs +136 -99
  269. package/fesm2022/primeng-treetable.mjs.map +1 -1
  270. package/fesm2022/primeng-types-motion.mjs +4 -0
  271. package/fesm2022/primeng-types-motion.mjs.map +1 -0
  272. package/fesm2022/primeng-usestyle.mjs +3 -3
  273. package/package.json +653 -645
  274. package/{accordion/index.d.ts → types/primeng-accordion.d.ts} +37 -26
  275. package/{api/index.d.ts → types/primeng-api.d.ts} +7 -1
  276. package/{autocomplete/index.d.ts → types/primeng-autocomplete.d.ts} +13 -3
  277. package/{avatar/index.d.ts → types/primeng-avatar.d.ts} +1 -0
  278. package/{badge/index.d.ts → types/primeng-badge.d.ts} +36 -17
  279. package/{basecomponent/index.d.ts → types/primeng-basecomponent.d.ts} +6 -5
  280. package/{bind/index.d.ts → types/primeng-bind.d.ts} +2 -2
  281. package/{button/index.d.ts → types/primeng-button.d.ts} +80 -31
  282. package/{cascadeselect/index.d.ts → types/primeng-cascadeselect.d.ts} +8 -2
  283. package/{checkbox/index.d.ts → types/primeng-checkbox.d.ts} +1 -0
  284. package/{chip/index.d.ts → types/primeng-chip.d.ts} +8 -0
  285. package/{classnames/index.d.ts → types/primeng-classnames.d.ts} +1 -1
  286. package/{colorpicker/index.d.ts → types/primeng-colorpicker.d.ts} +28 -29
  287. package/{config/index.d.ts → types/primeng-config.d.ts} +0 -6
  288. package/{confirmdialog/index.d.ts → types/primeng-confirmdialog.d.ts} +7 -8
  289. package/{confirmpopup/index.d.ts → types/primeng-confirmpopup.d.ts} +39 -17
  290. package/{contextmenu/index.d.ts → types/primeng-contextmenu.d.ts} +38 -25
  291. package/{datepicker/index.d.ts → types/primeng-datepicker.d.ts} +19 -8
  292. package/{dialog/index.d.ts → types/primeng-dialog.d.ts} +36 -19
  293. package/{divider/index.d.ts → types/primeng-divider.d.ts} +1 -0
  294. package/{drawer/index.d.ts → types/primeng-drawer.d.ts} +36 -22
  295. package/{dynamicdialog/index.d.ts → types/primeng-dynamicdialog.d.ts} +14 -2
  296. package/{fieldset/index.d.ts → types/primeng-fieldset.d.ts} +31 -12
  297. package/{galleria/index.d.ts → types/primeng-galleria.d.ts} +26 -6
  298. package/{image/index.d.ts → types/primeng-image.d.ts} +44 -15
  299. package/{inputnumber/index.d.ts → types/primeng-inputnumber.d.ts} +1 -0
  300. package/types/primeng-inputtext.d.ts +116 -0
  301. package/{listbox/index.d.ts → types/primeng-listbox.d.ts} +2 -0
  302. package/{menu/index.d.ts → types/primeng-menu.d.ts} +14 -7
  303. package/{message/index.d.ts → types/primeng-message.d.ts} +13 -5
  304. package/{metergroup/index.d.ts → types/primeng-metergroup.d.ts} +2 -0
  305. package/types/primeng-motion.d.ts +396 -0
  306. package/{multiselect/index.d.ts → types/primeng-multiselect.d.ts} +13 -3
  307. package/{overlay/index.d.ts → types/primeng-overlay.d.ts} +80 -15
  308. package/{panel/index.d.ts → types/primeng-panel.d.ts} +19 -6
  309. package/{panelmenu/index.d.ts → types/primeng-panelmenu.d.ts} +14 -19
  310. package/{password/index.d.ts → types/primeng-password.d.ts} +33 -14
  311. package/{picklist/index.d.ts → types/primeng-picklist.d.ts} +6 -4
  312. package/{popover/index.d.ts → types/primeng-popover.d.ts} +27 -11
  313. package/{progressbar/index.d.ts → types/primeng-progressbar.d.ts} +3 -1
  314. package/{radiobutton/index.d.ts → types/primeng-radiobutton.d.ts} +1 -0
  315. package/{rating/index.d.ts → types/primeng-rating.d.ts} +1 -0
  316. package/{scrolltop/index.d.ts → types/primeng-scrolltop.d.ts} +15 -5
  317. package/{select/index.d.ts → types/primeng-select.d.ts} +13 -3
  318. package/{selectbutton/index.d.ts → types/primeng-selectbutton.d.ts} +1 -0
  319. package/{skeleton/index.d.ts → types/primeng-skeleton.d.ts} +1 -0
  320. package/{slider/index.d.ts → types/primeng-slider.d.ts} +1 -0
  321. package/{speeddial/index.d.ts → types/primeng-speeddial.d.ts} +2 -2
  322. package/{splitbutton/index.d.ts → types/primeng-splitbutton.d.ts} +17 -6
  323. package/{splitter/index.d.ts → types/primeng-splitter.d.ts} +1 -0
  324. package/{stepper/index.d.ts → types/primeng-stepper.d.ts} +12 -7
  325. package/{table/index.d.ts → types/primeng-table.d.ts} +50 -10
  326. package/{tag/index.d.ts → types/primeng-tag.d.ts} +1 -0
  327. package/{textarea/index.d.ts → types/primeng-textarea.d.ts} +14 -1
  328. package/{tieredmenu/index.d.ts → types/primeng-tieredmenu.d.ts} +14 -8
  329. package/{timeline/index.d.ts → types/primeng-timeline.d.ts} +1 -0
  330. package/{toast/index.d.ts → types/primeng-toast.d.ts} +28 -5
  331. package/{togglebutton/index.d.ts → types/primeng-togglebutton.d.ts} +1 -0
  332. package/{toggleswitch/index.d.ts → types/primeng-toggleswitch.d.ts} +1 -0
  333. package/{tooltip/index.d.ts → types/primeng-tooltip.d.ts} +21 -3
  334. package/{tree/index.d.ts → types/primeng-tree.d.ts} +2 -0
  335. package/{treeselect/index.d.ts → types/primeng-treeselect.d.ts} +22 -17
  336. package/{treetable/index.d.ts → types/primeng-treetable.d.ts} +2 -0
  337. package/types/{accordion/index.d.ts → primeng-types-accordion.d.ts} +9 -0
  338. package/types/{autocomplete/index.d.ts → primeng-types-autocomplete.d.ts} +1 -1
  339. package/types/{checkbox/index.d.ts → primeng-types-checkbox.d.ts} +18 -1
  340. package/types/{colorpicker/index.d.ts → primeng-types-colorpicker.d.ts} +5 -0
  341. package/types/{confirmpopup/index.d.ts → primeng-types-confirmpopup.d.ts} +5 -0
  342. package/types/{contextmenu/index.d.ts → primeng-types-contextmenu.d.ts} +5 -0
  343. package/types/{datepicker/index.d.ts → primeng-types-datepicker.d.ts} +5 -0
  344. package/types/{dialog/index.d.ts → primeng-types-dialog.d.ts} +5 -0
  345. package/types/{drawer/index.d.ts → primeng-types-drawer.d.ts} +5 -0
  346. package/types/{fieldset/index.d.ts → primeng-types-fieldset.d.ts} +9 -0
  347. package/types/{galleria/index.d.ts → primeng-types-galleria.d.ts} +5 -0
  348. package/types/{image/index.d.ts → primeng-types-image.d.ts} +5 -0
  349. package/types/{menu/index.d.ts → primeng-types-menu.d.ts} +5 -0
  350. package/types/{message/index.d.ts → primeng-types-message.d.ts} +5 -0
  351. package/types/{metergroup/index.d.ts → primeng-types-metergroup.d.ts} +27 -4
  352. package/types/primeng-types-motion.d.ts +26 -0
  353. package/types/{multiselect/index.d.ts → primeng-types-multiselect.d.ts} +8 -1
  354. package/types/{overlay/index.d.ts → primeng-types-overlay.d.ts} +5 -0
  355. package/types/{panel/index.d.ts → primeng-types-panel.d.ts} +9 -0
  356. package/types/{panelmenu/index.d.ts → primeng-types-panelmenu.d.ts} +9 -0
  357. package/types/{password/index.d.ts → primeng-types-password.d.ts} +11 -0
  358. package/types/{popover/index.d.ts → primeng-types-popover.d.ts} +5 -0
  359. package/types/{scrolltop/index.d.ts → primeng-types-scrolltop.d.ts} +5 -0
  360. package/types/{stepper/index.d.ts → primeng-types-stepper.d.ts} +9 -0
  361. package/types/{table/index.d.ts → primeng-types-table.d.ts} +20 -11
  362. package/types/{tieredmenu/index.d.ts → primeng-types-tieredmenu.d.ts} +5 -0
  363. package/types/{toast/index.d.ts → primeng-types-toast.d.ts} +5 -0
  364. package/inputtext/index.d.ts +0 -97
  365. /package/{animateonscroll/index.d.ts → types/primeng-animateonscroll.d.ts} +0 -0
  366. /package/{autofocus/index.d.ts → types/primeng-autofocus.d.ts} +0 -0
  367. /package/{avatargroup/index.d.ts → types/primeng-avatargroup.d.ts} +0 -0
  368. /package/{base/index.d.ts → types/primeng-base.d.ts} +0 -0
  369. /package/{baseeditableholder/index.d.ts → types/primeng-baseeditableholder.d.ts} +0 -0
  370. /package/{baseinput/index.d.ts → types/primeng-baseinput.d.ts} +0 -0
  371. /package/{basemodelholder/index.d.ts → types/primeng-basemodelholder.d.ts} +0 -0
  372. /package/{blockui/index.d.ts → types/primeng-blockui.d.ts} +0 -0
  373. /package/{breadcrumb/index.d.ts → types/primeng-breadcrumb.d.ts} +0 -0
  374. /package/{buttongroup/index.d.ts → types/primeng-buttongroup.d.ts} +0 -0
  375. /package/{card/index.d.ts → types/primeng-card.d.ts} +0 -0
  376. /package/{carousel/index.d.ts → types/primeng-carousel.d.ts} +0 -0
  377. /package/{chart/index.d.ts → types/primeng-chart.d.ts} +0 -0
  378. /package/{dataview/index.d.ts → types/primeng-dataview.d.ts} +0 -0
  379. /package/{dock/index.d.ts → types/primeng-dock.d.ts} +0 -0
  380. /package/{dom/index.d.ts → types/primeng-dom.d.ts} +0 -0
  381. /package/{dragdrop/index.d.ts → types/primeng-dragdrop.d.ts} +0 -0
  382. /package/{editor/index.d.ts → types/primeng-editor.d.ts} +0 -0
  383. /package/{fileupload/index.d.ts → types/primeng-fileupload.d.ts} +0 -0
  384. /package/{floatlabel/index.d.ts → types/primeng-floatlabel.d.ts} +0 -0
  385. /package/{fluid/index.d.ts → types/primeng-fluid.d.ts} +0 -0
  386. /package/{focustrap/index.d.ts → types/primeng-focustrap.d.ts} +0 -0
  387. /package/{iconfield/index.d.ts → types/primeng-iconfield.d.ts} +0 -0
  388. /package/{icons/angledoubledown/index.d.ts → types/primeng-icons-angledoubledown.d.ts} +0 -0
  389. /package/{icons/angledoubleleft/index.d.ts → types/primeng-icons-angledoubleleft.d.ts} +0 -0
  390. /package/{icons/angledoubleright/index.d.ts → types/primeng-icons-angledoubleright.d.ts} +0 -0
  391. /package/{icons/angledoubleup/index.d.ts → types/primeng-icons-angledoubleup.d.ts} +0 -0
  392. /package/{icons/angledown/index.d.ts → types/primeng-icons-angledown.d.ts} +0 -0
  393. /package/{icons/angleleft/index.d.ts → types/primeng-icons-angleleft.d.ts} +0 -0
  394. /package/{icons/angleright/index.d.ts → types/primeng-icons-angleright.d.ts} +0 -0
  395. /package/{icons/angleup/index.d.ts → types/primeng-icons-angleup.d.ts} +0 -0
  396. /package/{icons/arrowdown/index.d.ts → types/primeng-icons-arrowdown.d.ts} +0 -0
  397. /package/{icons/arrowdownleft/index.d.ts → types/primeng-icons-arrowdownleft.d.ts} +0 -0
  398. /package/{icons/arrowdownright/index.d.ts → types/primeng-icons-arrowdownright.d.ts} +0 -0
  399. /package/{icons/arrowleft/index.d.ts → types/primeng-icons-arrowleft.d.ts} +0 -0
  400. /package/{icons/arrowright/index.d.ts → types/primeng-icons-arrowright.d.ts} +0 -0
  401. /package/{icons/arrowup/index.d.ts → types/primeng-icons-arrowup.d.ts} +0 -0
  402. /package/{icons/ban/index.d.ts → types/primeng-icons-ban.d.ts} +0 -0
  403. /package/{icons/bars/index.d.ts → types/primeng-icons-bars.d.ts} +0 -0
  404. /package/{icons/baseicon/index.d.ts → types/primeng-icons-baseicon.d.ts} +0 -0
  405. /package/{icons/blank/index.d.ts → types/primeng-icons-blank.d.ts} +0 -0
  406. /package/{icons/calendar/index.d.ts → types/primeng-icons-calendar.d.ts} +0 -0
  407. /package/{icons/caretleft/index.d.ts → types/primeng-icons-caretleft.d.ts} +0 -0
  408. /package/{icons/caretright/index.d.ts → types/primeng-icons-caretright.d.ts} +0 -0
  409. /package/{icons/check/index.d.ts → types/primeng-icons-check.d.ts} +0 -0
  410. /package/{icons/chevrondown/index.d.ts → types/primeng-icons-chevrondown.d.ts} +0 -0
  411. /package/{icons/chevronleft/index.d.ts → types/primeng-icons-chevronleft.d.ts} +0 -0
  412. /package/{icons/chevronright/index.d.ts → types/primeng-icons-chevronright.d.ts} +0 -0
  413. /package/{icons/chevronup/index.d.ts → types/primeng-icons-chevronup.d.ts} +0 -0
  414. /package/{icons/exclamationtriangle/index.d.ts → types/primeng-icons-exclamationtriangle.d.ts} +0 -0
  415. /package/{icons/eye/index.d.ts → types/primeng-icons-eye.d.ts} +0 -0
  416. /package/{icons/eyeslash/index.d.ts → types/primeng-icons-eyeslash.d.ts} +0 -0
  417. /package/{icons/filter/index.d.ts → types/primeng-icons-filter.d.ts} +0 -0
  418. /package/{icons/filterfill/index.d.ts → types/primeng-icons-filterfill.d.ts} +0 -0
  419. /package/{icons/filterslash/index.d.ts → types/primeng-icons-filterslash.d.ts} +0 -0
  420. /package/{icons/home/index.d.ts → types/primeng-icons-home.d.ts} +0 -0
  421. /package/{icons/infocircle/index.d.ts → types/primeng-icons-infocircle.d.ts} +0 -0
  422. /package/{icons/minus/index.d.ts → types/primeng-icons-minus.d.ts} +0 -0
  423. /package/{icons/pencil/index.d.ts → types/primeng-icons-pencil.d.ts} +0 -0
  424. /package/{icons/plus/index.d.ts → types/primeng-icons-plus.d.ts} +0 -0
  425. /package/{icons/refresh/index.d.ts → types/primeng-icons-refresh.d.ts} +0 -0
  426. /package/{icons/search/index.d.ts → types/primeng-icons-search.d.ts} +0 -0
  427. /package/{icons/searchminus/index.d.ts → types/primeng-icons-searchminus.d.ts} +0 -0
  428. /package/{icons/searchplus/index.d.ts → types/primeng-icons-searchplus.d.ts} +0 -0
  429. /package/{icons/sortalt/index.d.ts → types/primeng-icons-sortalt.d.ts} +0 -0
  430. /package/{icons/sortamountdown/index.d.ts → types/primeng-icons-sortamountdown.d.ts} +0 -0
  431. /package/{icons/sortamountupalt/index.d.ts → types/primeng-icons-sortamountupalt.d.ts} +0 -0
  432. /package/{icons/spinner/index.d.ts → types/primeng-icons-spinner.d.ts} +0 -0
  433. /package/{icons/star/index.d.ts → types/primeng-icons-star.d.ts} +0 -0
  434. /package/{icons/starfill/index.d.ts → types/primeng-icons-starfill.d.ts} +0 -0
  435. /package/{icons/thlarge/index.d.ts → types/primeng-icons-thlarge.d.ts} +0 -0
  436. /package/{icons/times/index.d.ts → types/primeng-icons-times.d.ts} +0 -0
  437. /package/{icons/timescircle/index.d.ts → types/primeng-icons-timescircle.d.ts} +0 -0
  438. /package/{icons/trash/index.d.ts → types/primeng-icons-trash.d.ts} +0 -0
  439. /package/{icons/undo/index.d.ts → types/primeng-icons-undo.d.ts} +0 -0
  440. /package/{icons/upload/index.d.ts → types/primeng-icons-upload.d.ts} +0 -0
  441. /package/{icons/windowmaximize/index.d.ts → types/primeng-icons-windowmaximize.d.ts} +0 -0
  442. /package/{icons/windowminimize/index.d.ts → types/primeng-icons-windowminimize.d.ts} +0 -0
  443. /package/{icons/index.d.ts → types/primeng-icons.d.ts} +0 -0
  444. /package/{iftalabel/index.d.ts → types/primeng-iftalabel.d.ts} +0 -0
  445. /package/{imagecompare/index.d.ts → types/primeng-imagecompare.d.ts} +0 -0
  446. /package/{inplace/index.d.ts → types/primeng-inplace.d.ts} +0 -0
  447. /package/{inputgroup/index.d.ts → types/primeng-inputgroup.d.ts} +0 -0
  448. /package/{inputgroupaddon/index.d.ts → types/primeng-inputgroupaddon.d.ts} +0 -0
  449. /package/{inputicon/index.d.ts → types/primeng-inputicon.d.ts} +0 -0
  450. /package/{inputmask/index.d.ts → types/primeng-inputmask.d.ts} +0 -0
  451. /package/{inputotp/index.d.ts → types/primeng-inputotp.d.ts} +0 -0
  452. /package/{keyfilter/index.d.ts → types/primeng-keyfilter.d.ts} +0 -0
  453. /package/{knob/index.d.ts → types/primeng-knob.d.ts} +0 -0
  454. /package/{megamenu/index.d.ts → types/primeng-megamenu.d.ts} +0 -0
  455. /package/{menubar/index.d.ts → types/primeng-menubar.d.ts} +0 -0
  456. /package/{orderlist/index.d.ts → types/primeng-orderlist.d.ts} +0 -0
  457. /package/{organizationchart/index.d.ts → types/primeng-organizationchart.d.ts} +0 -0
  458. /package/{overlaybadge/index.d.ts → types/primeng-overlaybadge.d.ts} +0 -0
  459. /package/{paginator/index.d.ts → types/primeng-paginator.d.ts} +0 -0
  460. /package/{passthrough/index.d.ts → types/primeng-passthrough.d.ts} +0 -0
  461. /package/{progressspinner/index.d.ts → types/primeng-progressspinner.d.ts} +0 -0
  462. /package/{ripple/index.d.ts → types/primeng-ripple.d.ts} +0 -0
  463. /package/{scroller/index.d.ts → types/primeng-scroller.d.ts} +0 -0
  464. /package/{scrollpanel/index.d.ts → types/primeng-scrollpanel.d.ts} +0 -0
  465. /package/{steps/index.d.ts → types/primeng-steps.d.ts} +0 -0
  466. /package/{styleclass/index.d.ts → types/primeng-styleclass.d.ts} +0 -0
  467. /package/{tabs/index.d.ts → types/primeng-tabs.d.ts} +0 -0
  468. /package/{terminal/index.d.ts → types/primeng-terminal.d.ts} +0 -0
  469. /package/{toolbar/index.d.ts → types/primeng-toolbar.d.ts} +0 -0
  470. /package/{ts-helpers/index.d.ts → types/primeng-ts-helpers.d.ts} +0 -0
  471. /package/types/{avatar/index.d.ts → primeng-types-avatar.d.ts} +0 -0
  472. /package/types/{avatargroup/index.d.ts → primeng-types-avatargroup.d.ts} +0 -0
  473. /package/types/{badge/index.d.ts → primeng-types-badge.d.ts} +0 -0
  474. /package/types/{blockui/index.d.ts → primeng-types-blockui.d.ts} +0 -0
  475. /package/types/{breadcrumb/index.d.ts → primeng-types-breadcrumb.d.ts} +0 -0
  476. /package/types/{button/index.d.ts → primeng-types-button.d.ts} +0 -0
  477. /package/types/{card/index.d.ts → primeng-types-card.d.ts} +0 -0
  478. /package/types/{carousel/index.d.ts → primeng-types-carousel.d.ts} +0 -0
  479. /package/types/{cascadeselect/index.d.ts → primeng-types-cascadeselect.d.ts} +0 -0
  480. /package/types/{chart/index.d.ts → primeng-types-chart.d.ts} +0 -0
  481. /package/types/{chip/index.d.ts → primeng-types-chip.d.ts} +0 -0
  482. /package/types/{confirmdialog/index.d.ts → primeng-types-confirmdialog.d.ts} +0 -0
  483. /package/types/{dataview/index.d.ts → primeng-types-dataview.d.ts} +0 -0
  484. /package/types/{divider/index.d.ts → primeng-types-divider.d.ts} +0 -0
  485. /package/types/{dock/index.d.ts → primeng-types-dock.d.ts} +0 -0
  486. /package/types/{editor/index.d.ts → primeng-types-editor.d.ts} +0 -0
  487. /package/types/{fileupload/index.d.ts → primeng-types-fileupload.d.ts} +0 -0
  488. /package/types/{floatlabel/index.d.ts → primeng-types-floatlabel.d.ts} +0 -0
  489. /package/types/{fluid/index.d.ts → primeng-types-fluid.d.ts} +0 -0
  490. /package/types/{iconfield/index.d.ts → primeng-types-iconfield.d.ts} +0 -0
  491. /package/types/{iftalabel/index.d.ts → primeng-types-iftalabel.d.ts} +0 -0
  492. /package/types/{imagecompare/index.d.ts → primeng-types-imagecompare.d.ts} +0 -0
  493. /package/types/{inplace/index.d.ts → primeng-types-inplace.d.ts} +0 -0
  494. /package/types/{inputgroup/index.d.ts → primeng-types-inputgroup.d.ts} +0 -0
  495. /package/types/{inputgroupaddon/index.d.ts → primeng-types-inputgroupaddon.d.ts} +0 -0
  496. /package/types/{inputicon/index.d.ts → primeng-types-inputicon.d.ts} +0 -0
  497. /package/types/{inputmask/index.d.ts → primeng-types-inputmask.d.ts} +0 -0
  498. /package/types/{inputnumber/index.d.ts → primeng-types-inputnumber.d.ts} +0 -0
  499. /package/types/{inputotp/index.d.ts → primeng-types-inputotp.d.ts} +0 -0
  500. /package/types/{inputtext/index.d.ts → primeng-types-inputtext.d.ts} +0 -0
  501. /package/types/{knob/index.d.ts → primeng-types-knob.d.ts} +0 -0
  502. /package/types/{listbox/index.d.ts → primeng-types-listbox.d.ts} +0 -0
  503. /package/types/{megamenu/index.d.ts → primeng-types-megamenu.d.ts} +0 -0
  504. /package/types/{menubar/index.d.ts → primeng-types-menubar.d.ts} +0 -0
  505. /package/types/{orderlist/index.d.ts → primeng-types-orderlist.d.ts} +0 -0
  506. /package/types/{organizationchart/index.d.ts → primeng-types-organizationchart.d.ts} +0 -0
  507. /package/types/{overlaybadge/index.d.ts → primeng-types-overlaybadge.d.ts} +0 -0
  508. /package/types/{paginator/index.d.ts → primeng-types-paginator.d.ts} +0 -0
  509. /package/types/{picklist/index.d.ts → primeng-types-picklist.d.ts} +0 -0
  510. /package/types/{progressbar/index.d.ts → primeng-types-progressbar.d.ts} +0 -0
  511. /package/types/{progressspinner/index.d.ts → primeng-types-progressspinner.d.ts} +0 -0
  512. /package/types/{radiobutton/index.d.ts → primeng-types-radiobutton.d.ts} +0 -0
  513. /package/types/{rating/index.d.ts → primeng-types-rating.d.ts} +0 -0
  514. /package/types/{scroller/index.d.ts → primeng-types-scroller.d.ts} +0 -0
  515. /package/types/{scrollpanel/index.d.ts → primeng-types-scrollpanel.d.ts} +0 -0
  516. /package/types/{select/index.d.ts → primeng-types-select.d.ts} +0 -0
  517. /package/types/{selectbutton/index.d.ts → primeng-types-selectbutton.d.ts} +0 -0
  518. /package/types/{skeleton/index.d.ts → primeng-types-skeleton.d.ts} +0 -0
  519. /package/types/{slider/index.d.ts → primeng-types-slider.d.ts} +0 -0
  520. /package/types/{speeddial/index.d.ts → primeng-types-speeddial.d.ts} +0 -0
  521. /package/types/{splitbutton/index.d.ts → primeng-types-splitbutton.d.ts} +0 -0
  522. /package/types/{splitter/index.d.ts → primeng-types-splitter.d.ts} +0 -0
  523. /package/types/{tabs/index.d.ts → primeng-types-tabs.d.ts} +0 -0
  524. /package/types/{tag/index.d.ts → primeng-types-tag.d.ts} +0 -0
  525. /package/types/{terminal/index.d.ts → primeng-types-terminal.d.ts} +0 -0
  526. /package/types/{textarea/index.d.ts → primeng-types-textarea.d.ts} +0 -0
  527. /package/types/{timeline/index.d.ts → primeng-types-timeline.d.ts} +0 -0
  528. /package/types/{togglebutton/index.d.ts → primeng-types-togglebutton.d.ts} +0 -0
  529. /package/types/{toggleswitch/index.d.ts → primeng-types-toggleswitch.d.ts} +0 -0
  530. /package/types/{toolbar/index.d.ts → primeng-types-toolbar.d.ts} +0 -0
  531. /package/types/{tooltip/index.d.ts → primeng-types-tooltip.d.ts} +0 -0
  532. /package/types/{tree/index.d.ts → primeng-types-tree.d.ts} +0 -0
  533. /package/types/{treeselect/index.d.ts → primeng-types-treeselect.d.ts} +0 -0
  534. /package/types/{treetable/index.d.ts → primeng-types-treetable.d.ts} +0 -0
  535. /package/{usestyle/index.d.ts → types/primeng-usestyle.d.ts} +0 -0
  536. /package/{utils/index.d.ts → types/primeng-utils.d.ts} +0 -0
  537. /package/{index.d.ts → types/primeng.d.ts} +0 -0
@@ -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 { style } from '@primeuix/styles/picklist';\nimport { BaseStyle } from 'primeng/base';\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 style = 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 } from '@angular/cdk/drag-drop';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n InjectionToken,\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, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ButtonModule, 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 'primeng/types/picklist';\nimport { PickListStyle } from './style/pickliststyle';\n\nconst PICKLIST_INSTANCE = new InjectionToken<PickList>('PICKLIST_INSTANCE');\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: [\n CommonModule,\n ButtonModule,\n Ripple,\n DragDropModule,\n AngleDoubleDownIcon,\n AngleDoubleLeftIcon,\n AngleDoubleRightIcon,\n AngleDoubleUpIcon,\n AngleDownIcon,\n AngleLeftIcon,\n AngleRightIcon,\n AngleUpIcon,\n Listbox,\n FormsModule,\n SharedModule,\n BindModule\n ],\n template: `\n <div [ngStyle]=\"style\" [class]=\"cn(cx('root'), styleClass)\" cdkDropListGroup [pBind]=\"ptm('root')\">\n <div [class]=\"cx('sourceControls')\" *ngIf=\"showSourceControls\" [pBind]=\"ptm('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 [buttonProps]=\"getButtonProps('moveup')\"\n [pt]=\"ptm('pcSourceMoveUpButton')\"\n >\n <svg data-p-icon=\"angle-up\" *ngIf=\"!moveUpIconTemplate && !_moveUpIconTemplate\" [pt]=\"ptm('pcSourceMoveUpButton')['icon']\" pButtonIcon />\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 [buttonProps]=\"getButtonProps('movetop')\"\n [pt]=\"ptm('pcSourceMoveTopButton')\"\n >\n <svg data-p-icon=\"angle-double-up\" *ngIf=\"!moveTopIconTemplate && !_moveTopIconTemplate\" pButtonIcon [pt]=\"ptm('pcSourceMoveTopButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movedown')\"\n [pt]=\"ptm('pcSourceMoveDownButton')\"\n hostName=\"picklist\"\n >\n <svg data-p-icon=\"angle-down\" *ngIf=\"!moveDownIconTemplate && !_moveDownIconTemplate\" pButtonIcon [pt]=\"ptm('pcSourceMoveDownButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movebottom')\"\n [pt]=\"ptm('pcSourceMoveBottomButton')\"\n hostName=\"picklist\"\n >\n <svg data-p-icon=\"angle-double-down\" *ngIf=\"!moveBottomIconTemplate || _moveBottomIconTemplate\" pButtonIcon [pt]=\"ptm('pcSourceMoveBottomButton')['icon']\" />\n <ng-template *ngTemplateOutlet=\"moveBottomIconTemplate || _moveBottomIconTemplate\"></ng-template>\n </button>\n </div>\n <div [class]=\"cx('sourceListContainer')\" [attr.data-pc-group-section]=\"'listcontainer'\" [pBind]=\"ptm('sourceListContainer')\">\n <p-listbox\n #sourcelist\n [ariaLabel]=\"sourceAriaLabel\"\n [multiple]=\"true\"\n [options]=\"source\"\n [(ngModel)]=\"selectedItemsSource\"\n [optionLabel]=\"dataKey ?? '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 [dropListData]=\"source\"\n (onDrop)=\"onDrop($event, SOURCE_LIST)\"\n (onFilter)=\"onFilter($event.originalEvent, SOURCE_LIST)\"\n [pt]=\"ptm('pcListbox')\"\n hostName=\"picklist\"\n [attr.data-pc-group-section]=\"'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('transferControls')\" [attr.data-pc-group-section]=\"'controls'\" [pBind]=\"ptm('transferControls')\">\n <button\n type=\"button\"\n [attr.aria-label]=\"moveToTargetAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"moveRightDisabled()\"\n (click)=\"moveRight()\"\n [buttonProps]=\"getButtonProps('movetotarget')\"\n [pt]=\"ptm('pcMoveToTargetButton')\"\n hostName=\"picklist\"\n >\n <ng-container *ngIf=\"!moveToTargetIconTemplate && !_moveToTargetIconTemplate\">\n <svg data-p-icon=\"angle-right\" *ngIf=\"!viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveToTargetButton')['icon']\" />\n <svg data-p-icon=\"angle-down\" *ngIf=\"viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveToTargetButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movealltotarget')\"\n [pt]=\"ptm('pcMoveAllToTargetButton')\"\n >\n <ng-container *ngIf=\"!moveAllToTargetIconTemplate && !_moveAllToTargetIconTemplate\">\n <svg data-p-icon=\"angle-double-right\" *ngIf=\"!viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveAllToTargetButton')['icon']\" />\n <svg data-p-icon=\"angle-double-down\" *ngIf=\"viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveAllToTargetButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movetosource')\"\n [pt]=\"ptm('pcMoveToSourceButton')\"\n hostName=\"picklist\"\n >\n <ng-container *ngIf=\"!moveToSourceIconTemplate && !_moveToSourceIconTemplate\">\n <svg data-p-icon=\"angle-left\" *ngIf=\"!viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveToSourceButton')['icon']\" />\n <svg data-p-icon=\"angle-up\" *ngIf=\"viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveToSourceButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movealltosource')\"\n [pt]=\"ptm('pcMoveAllToSourceButton')\"\n hostName=\"picklist\"\n >\n <ng-container *ngIf=\"!moveAllToSourceIconTemplate && !_moveAllToSourceIconTemplate\">\n <svg data-p-icon=\"angle-double-left\" *ngIf=\"!viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveAllToSourceButton')['icon']\" />\n <svg data-p-icon=\"angle-double-up\" *ngIf=\"viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveAllToSourceButton')['icon']\" />\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-group-section]=\"'listcontainer'\" [pBind]=\"ptm('targetListContainer')\">\n <p-listbox\n #targetlist\n [ariaLabel]=\"targetAriaLabel\"\n [multiple]=\"true\"\n [options]=\"target\"\n [(ngModel)]=\"selectedItemsTarget\"\n [optionLabel]=\"dataKey ?? '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 [dropListData]=\"target\"\n (onDrop)=\"onDrop($event, TARGET_LIST)\"\n (onFilter)=\"onFilter($event.originalEvent, TARGET_LIST)\"\n [pt]=\"ptm('pcListbox')\"\n [attr.data-pc-group-section]=\"'list'\"\n hostName=\"picklist\"\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-group-section]=\"'controls'\" [pBind]=\"ptm('targetControls')\">\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 [buttonProps]=\"getButtonProps('moveup')\"\n [pt]=\"ptm('pcTargetMoveUpButton')\"\n hostName=\"picklist\"\n >\n <svg data-p-icon=\"angle-up\" *ngIf=\"!moveUpIconTemplate && !_moveUpIconTemplate\" pButtonIcon [pt]=\"ptm('pcTargetMoveUpButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movetop')\"\n [pt]=\"ptm('pcTargetMoveTopButton')\"\n hostName=\"picklist\"\n >\n <svg data-p-icon=\"angle-double-up\" *ngIf=\"!moveTopIconTemplate && !_moveTopIconTemplate\" pButtonIcon [pt]=\"ptm('pcTargetMoveTopButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movedown')\"\n [pt]=\"ptm('pcTargetMoveDownButton')\"\n hostName=\"picklist\"\n >\n <svg data-p-icon=\"angle-down\" *ngIf=\"!moveDownIconTemplate && !_moveDownIconTemplate\" pButtonIcon [pt]=\"ptm('pcTargetMoveDownButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movebottom')\"\n [pt]=\"ptm('pcTargetMoveBottomButton')\"\n hostName=\"picklist\"\n >\n <svg data-p-icon=\"angle-double-down\" *ngIf=\"!moveBottomIconTemplate && !_moveBottomIconTemplate\" pButtonIcon [pt]=\"ptm('pcTargetMoveBottomButton')['icon']\" />\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, { provide: PARENT_INSTANCE, useExisting: PickList }, { provide: PICKLIST_INSTANCE, useExisting: PickList }],\n hostDirectives: [Bind]\n})\nexport class PickList extends BaseComponent {\n @Input() hostName: any = '';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcPickList: PickList | undefined = inject(PICKLIST_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n }\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 * Name of the field that uniquely identifies the options.\n * @group Props\n */\n @Input() dataKey: string | 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 * Defines a string that labels the source list.\n * @group Props\n */\n @Input() sourceAriaLabel: string | undefined;\n /**\n * Defines a string that labels the target list.\n * @group Props\n */\n @Input() targetAriaLabel: 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 onInit() {\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 onAfterContentInit() {\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: any = [];\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 if (this.target) {\n this.target = [...this.target, removedItem];\n }\n\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: any = [];\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 if (this.source) {\n this.source = [...this.source, removedItem];\n }\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\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 // Moving from target to source\n let itemsToMove: any[] = [];\n\n // Check if dragged item is in selected items\n if (this.selectedItemsTarget && this.selectedItemsTarget.length > 0 && findIndexInList(event.item.data, this.selectedItemsTarget) !== -1) {\n // Move all selected items\n itemsToMove = [...this.selectedItemsTarget];\n } else {\n // Move only the dragged item\n itemsToMove = [event.item.data];\n }\n\n // Sort items by their index in target (to maintain order)\n const sortedItems = this.sortByIndexInList(itemsToMove, this.target || []);\n\n // Remove all items from target\n for (let item of sortedItems) {\n const itemIndex = findIndexInList(item, this.target || []);\n if (itemIndex !== -1) {\n this.target?.splice(itemIndex, 1);\n }\n }\n\n // Add all items to source at the drop position\n for (let i = 0; i < sortedItems.length; i++) {\n this.source?.splice(dropIndexes.currentIndex + i, 0, sortedItems[i]);\n }\n\n // Clear target selection\n this.selectedItemsTarget = [];\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, ...itemsToMove];\n }\n\n if (this.visibleOptionsTarget) {\n // Update visible options\n for (let item of itemsToMove) {\n const visibleIndex = findIndexInList(item, this.visibleOptionsTarget);\n if (visibleIndex !== -1) {\n this.visibleOptionsTarget.splice(visibleIndex, 1);\n }\n }\n }\n\n this.onMoveToSource.emit({ items: itemsToMove });\n } else {\n if (this.source) {\n moveItemInArray(this.source, dropIndexes.previousIndex, dropIndexes.currentIndex);\n }\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 // Moving from source to target\n let itemsToMove: any[] = [];\n\n // Check if dragged item is in selected items\n if (this.selectedItemsSource && this.selectedItemsSource.length > 0 && findIndexInList(event.item.data, this.selectedItemsSource) !== -1) {\n // Move all selected items\n itemsToMove = [...this.selectedItemsSource];\n } else {\n // Move only the dragged item\n itemsToMove = [event.item.data];\n }\n\n // Sort items by their index in source (to maintain order)\n const sortedItems = this.sortByIndexInList(itemsToMove, this.source || []);\n\n // Remove all items from source\n for (let item of sortedItems) {\n const itemIndex = findIndexInList(item, this.source || []);\n if (itemIndex !== -1) {\n this.source?.splice(itemIndex, 1);\n }\n }\n\n // Add all items to target at the drop position\n for (let i = 0; i < sortedItems.length; i++) {\n this.target?.splice(dropIndexes.currentIndex + i, 0, sortedItems[i]);\n }\n\n // Clear source selection\n this.selectedItemsSource = [];\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...itemsToMove];\n }\n\n if (this.visibleOptionsSource) {\n // Update visible options\n for (let item of itemsToMove) {\n const visibleIndex = findIndexInList(item, this.visibleOptionsSource);\n if (visibleIndex !== -1) {\n this.visibleOptionsSource.splice(visibleIndex, 1);\n }\n }\n }\n\n this.onMoveToTarget.emit({ items: itemsToMove });\n } else {\n if (this.target) {\n moveItemInArray(this.target, dropIndexes.previousIndex, dropIndexes.currentIndex);\n }\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 // Only trigger change detection for transfers, not reordering\n // Reordering modifies arrays in-place and triggerChangeDetection() would override changes\n if (isTransfer) {\n this.triggerChangeDetection();\n }\n this.cd.markForCheck();\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(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(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})`) || null;\n this.viewChanged = this.media?.matches || false;\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 setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\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 onDestroy() {\n this.destroyStyle();\n this.destroyMedia();\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 { style } from '@primeuix/styles/picklist';\nimport { BaseStyle } from 'primeng/base';\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 style = 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 } from '@angular/cdk/drag-drop';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n InjectionToken,\n Input,\n model,\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, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ButtonModule, 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 'primeng/types/picklist';\nimport { PickListStyle } from './style/pickliststyle';\n\nconst PICKLIST_INSTANCE = new InjectionToken<PickList>('PICKLIST_INSTANCE');\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: [\n CommonModule,\n ButtonModule,\n Ripple,\n DragDropModule,\n AngleDoubleDownIcon,\n AngleDoubleLeftIcon,\n AngleDoubleRightIcon,\n AngleDoubleUpIcon,\n AngleDownIcon,\n AngleLeftIcon,\n AngleRightIcon,\n AngleUpIcon,\n Listbox,\n FormsModule,\n SharedModule,\n BindModule\n ],\n template: `\n <div [ngStyle]=\"style\" [class]=\"cn(cx('root'), styleClass)\" cdkDropListGroup [pBind]=\"ptm('root')\">\n <div [class]=\"cx('sourceControls')\" *ngIf=\"showSourceControls\" [pBind]=\"ptm('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 [buttonProps]=\"getButtonProps('moveup')\"\n [pt]=\"ptm('pcSourceMoveUpButton')\"\n [unstyled]=\"unstyled()\"\n >\n <svg data-p-icon=\"angle-up\" *ngIf=\"!moveUpIconTemplate && !_moveUpIconTemplate\" [pt]=\"ptm('pcSourceMoveUpButton')['icon']\" pButtonIcon />\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 [buttonProps]=\"getButtonProps('movetop')\"\n [pt]=\"ptm('pcSourceMoveTopButton')\"\n [unstyled]=\"unstyled()\"\n >\n <svg data-p-icon=\"angle-double-up\" *ngIf=\"!moveTopIconTemplate && !_moveTopIconTemplate\" pButtonIcon [pt]=\"ptm('pcSourceMoveTopButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movedown')\"\n [pt]=\"ptm('pcSourceMoveDownButton')\"\n [unstyled]=\"unstyled()\"\n hostName=\"picklist\"\n >\n <svg data-p-icon=\"angle-down\" *ngIf=\"!moveDownIconTemplate && !_moveDownIconTemplate\" pButtonIcon [pt]=\"ptm('pcSourceMoveDownButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movebottom')\"\n [pt]=\"ptm('pcSourceMoveBottomButton')\"\n [unstyled]=\"unstyled()\"\n hostName=\"picklist\"\n >\n <svg data-p-icon=\"angle-double-down\" *ngIf=\"!moveBottomIconTemplate || _moveBottomIconTemplate\" pButtonIcon [pt]=\"ptm('pcSourceMoveBottomButton')['icon']\" />\n <ng-template *ngTemplateOutlet=\"moveBottomIconTemplate || _moveBottomIconTemplate\"></ng-template>\n </button>\n </div>\n <div [class]=\"cx('sourceListContainer')\" [attr.data-pc-group-section]=\"'listcontainer'\" [pBind]=\"ptm('sourceListContainer')\">\n <p-listbox\n #sourcelist\n [ariaLabel]=\"sourceAriaLabel\"\n [multiple]=\"true\"\n [options]=\"sourceOptions\"\n [(ngModel)]=\"selectedItemsSource\"\n [optionLabel]=\"dataKey ?? '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 [dropListData]=\"source()\"\n (onDrop)=\"onDrop($event, SOURCE_LIST)\"\n (onFilter)=\"onFilter($event.originalEvent, SOURCE_LIST)\"\n [pt]=\"ptm('pcListbox')\"\n hostName=\"picklist\"\n [attr.data-pc-group-section]=\"'list'\"\n [unstyled]=\"unstyled()\"\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('transferControls')\" [attr.data-pc-group-section]=\"'controls'\" [pBind]=\"ptm('transferControls')\">\n <button\n type=\"button\"\n [attr.aria-label]=\"moveToTargetAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"moveRightDisabled()\"\n (click)=\"moveRight()\"\n [buttonProps]=\"getButtonProps('movetotarget')\"\n [pt]=\"ptm('pcMoveToTargetButton')\"\n hostName=\"picklist\"\n [unstyled]=\"unstyled()\"\n >\n <ng-container *ngIf=\"!moveToTargetIconTemplate && !_moveToTargetIconTemplate\">\n <svg data-p-icon=\"angle-right\" *ngIf=\"!viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveToTargetButton')['icon']\" />\n <svg data-p-icon=\"angle-down\" *ngIf=\"viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveToTargetButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movealltotarget')\"\n [pt]=\"ptm('pcMoveAllToTargetButton')\"\n [unstyled]=\"unstyled()\"\n >\n <ng-container *ngIf=\"!moveAllToTargetIconTemplate && !_moveAllToTargetIconTemplate\">\n <svg data-p-icon=\"angle-double-right\" *ngIf=\"!viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveAllToTargetButton')['icon']\" />\n <svg data-p-icon=\"angle-double-down\" *ngIf=\"viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveAllToTargetButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movetosource')\"\n [pt]=\"ptm('pcMoveToSourceButton')\"\n hostName=\"picklist\"\n [unstyled]=\"unstyled()\"\n >\n <ng-container *ngIf=\"!moveToSourceIconTemplate && !_moveToSourceIconTemplate\">\n <svg data-p-icon=\"angle-left\" *ngIf=\"!viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveToSourceButton')['icon']\" />\n <svg data-p-icon=\"angle-up\" *ngIf=\"viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveToSourceButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movealltosource')\"\n [pt]=\"ptm('pcMoveAllToSourceButton')\"\n hostName=\"picklist\"\n [unstyled]=\"unstyled()\"\n >\n <ng-container *ngIf=\"!moveAllToSourceIconTemplate && !_moveAllToSourceIconTemplate\">\n <svg data-p-icon=\"angle-double-left\" *ngIf=\"!viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveAllToSourceButton')['icon']\" />\n <svg data-p-icon=\"angle-double-up\" *ngIf=\"viewChanged\" pButtonIcon [pt]=\"ptm('pcMoveAllToSourceButton')['icon']\" />\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-group-section]=\"'listcontainer'\" [pBind]=\"ptm('targetListContainer')\">\n <p-listbox\n #targetlist\n [ariaLabel]=\"targetAriaLabel\"\n [multiple]=\"true\"\n [options]=\"targetOptions\"\n [(ngModel)]=\"selectedItemsTarget\"\n [optionLabel]=\"dataKey ?? '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 [dropListData]=\"target()\"\n (onDrop)=\"onDrop($event, TARGET_LIST)\"\n (onFilter)=\"onFilter($event.originalEvent, TARGET_LIST)\"\n [pt]=\"ptm('pcListbox')\"\n [attr.data-pc-group-section]=\"'list'\"\n hostName=\"picklist\"\n [unstyled]=\"unstyled()\"\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-group-section]=\"'controls'\" [pBind]=\"ptm('targetControls')\">\n <button\n type=\"button\"\n [attr.aria-label]=\"moveUpAriaLabel\"\n pButton\n pRipple\n severity=\"secondary\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveUp(targetlist, target(), selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n [buttonProps]=\"getButtonProps('moveup')\"\n [pt]=\"ptm('pcTargetMoveUpButton')\"\n hostName=\"picklist\"\n [unstyled]=\"unstyled()\"\n >\n <svg data-p-icon=\"angle-up\" *ngIf=\"!moveUpIconTemplate && !_moveUpIconTemplate\" pButtonIcon [pt]=\"ptm('pcTargetMoveUpButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movetop')\"\n [pt]=\"ptm('pcTargetMoveTopButton')\"\n hostName=\"picklist\"\n [unstyled]=\"unstyled()\"\n >\n <svg data-p-icon=\"angle-double-up\" *ngIf=\"!moveTopIconTemplate && !_moveTopIconTemplate\" pButtonIcon [pt]=\"ptm('pcTargetMoveTopButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movedown')\"\n [pt]=\"ptm('pcTargetMoveDownButton')\"\n hostName=\"picklist\"\n [unstyled]=\"unstyled()\"\n >\n <svg data-p-icon=\"angle-down\" *ngIf=\"!moveDownIconTemplate && !_moveDownIconTemplate\" pButtonIcon [pt]=\"ptm('pcTargetMoveDownButton')['icon']\" />\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 [buttonProps]=\"getButtonProps('movebottom')\"\n [pt]=\"ptm('pcTargetMoveBottomButton')\"\n hostName=\"picklist\"\n [unstyled]=\"unstyled()\"\n >\n <svg data-p-icon=\"angle-double-down\" *ngIf=\"!moveBottomIconTemplate && !_moveBottomIconTemplate\" pButtonIcon [pt]=\"ptm('pcTargetMoveBottomButton')['icon']\" />\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, { provide: PARENT_INSTANCE, useExisting: PickList }, { provide: PICKLIST_INSTANCE, useExisting: PickList }],\n hostDirectives: [Bind]\n})\nexport class PickList extends BaseComponent {\n @Input() hostName: any = '';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcPickList: PickList | undefined = inject(PICKLIST_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n }\n /**\n * An array of objects for the source list.\n * @group Props\n */\n source = model<any[]>([]);\n /**\n * An array of objects for the target list.\n * @group Props\n */\n target = model<any[]>([]);\n /**\n * Name of the field that uniquely identifies the options.\n * @group Props\n */\n @Input() dataKey: string | 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 * Defines a string that labels the source list.\n * @group Props\n */\n @Input() sourceAriaLabel: string | undefined;\n /**\n * Defines a string that labels the target list.\n * @group Props\n */\n @Input() targetAriaLabel: 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 targetOptions() {\n return [...(this.target() || [])];\n }\n\n get sourceOptions() {\n return [...(this.source() || [])];\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 onInit() {\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 onAfterContentInit() {\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.listViewTargetChild.cd.markForCheck();\n this.listViewSourceChild.cd.markForCheck();\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: any = [];\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\n movedItems.push(removedItem);\n i--;\n }\n }\n this.onMoveAllToTarget.emit({\n items: movedItems\n });\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...this.selectedItemsSource];\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 this.onMoveToSource.emit({\n items: itemsToMove\n });\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, itemsToMove];\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: any = [];\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 this.onMoveAllToSource.emit({\n items: movedItems\n });\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, ...this.selectedItemsTarget];\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\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 // Moving from target to source\n let itemsToMove: any[] = [];\n\n // Check if dragged item is in selected items\n if (this.selectedItemsTarget && this.selectedItemsTarget.length > 0 && findIndexInList(event.item.data, this.selectedItemsTarget) !== -1) {\n // Move all selected items\n itemsToMove = [...this.selectedItemsTarget];\n } else {\n // Move only the dragged item\n itemsToMove = [event.item.data];\n }\n\n // Sort items by their index in target (to maintain order)\n const sortedItems = this.sortByIndexInList(itemsToMove, this.target() || []);\n\n // Remove all items from target\n for (let item of sortedItems) {\n const itemIndex = findIndexInList(item, this.target() || []);\n if (itemIndex !== -1) {\n this.target()?.splice(itemIndex, 1);\n }\n }\n\n // Add all items to source at the drop position\n for (let i = 0; i < sortedItems.length; i++) {\n this.source()?.splice(dropIndexes.currentIndex + i, 0, sortedItems[i]);\n }\n\n // Clear target selection\n this.selectedItemsTarget = [];\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, ...itemsToMove];\n }\n\n if (this.visibleOptionsTarget) {\n // Update visible options\n for (let item of itemsToMove) {\n const visibleIndex = findIndexInList(item, this.visibleOptionsTarget);\n if (visibleIndex !== -1) {\n this.visibleOptionsTarget.splice(visibleIndex, 1);\n }\n }\n }\n\n this.onMoveToSource.emit({ items: itemsToMove });\n } else {\n if (this.source()) {\n moveItemInArray(this.source(), dropIndexes.previousIndex, dropIndexes.currentIndex);\n }\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 // Moving from source to target\n let itemsToMove: any[] = [];\n\n // Check if dragged item is in selected items\n if (this.selectedItemsSource && this.selectedItemsSource.length > 0 && findIndexInList(event.item.data, this.selectedItemsSource) !== -1) {\n // Move all selected items\n itemsToMove = [...this.selectedItemsSource];\n } else {\n // Move only the dragged item\n itemsToMove = [event.item.data];\n }\n\n // Sort items by their index in source (to maintain order)\n const sortedItems = this.sortByIndexInList(itemsToMove, this.source() || []);\n\n // Remove all items from source\n for (let item of sortedItems) {\n const itemIndex = findIndexInList(item, this.source() || []);\n if (itemIndex !== -1) {\n this.source()?.splice(itemIndex, 1);\n }\n }\n\n // Add all items to target at the drop position\n for (let i = 0; i < sortedItems.length; i++) {\n this.target()?.splice(dropIndexes.currentIndex + i, 0, sortedItems[i]);\n }\n\n // Clear source selection\n this.selectedItemsSource = [];\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...itemsToMove];\n }\n\n if (this.visibleOptionsSource) {\n // Update visible options\n for (let item of itemsToMove) {\n const visibleIndex = findIndexInList(item, this.visibleOptionsSource);\n if (visibleIndex !== -1) {\n this.visibleOptionsSource.splice(visibleIndex, 1);\n }\n }\n }\n\n this.onMoveToTarget.emit({ items: itemsToMove });\n } else {\n if (this.target()) {\n moveItemInArray(this.target(), dropIndexes.previousIndex, dropIndexes.currentIndex);\n }\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 // Only trigger change detection for transfers, not reordering\n // Reordering modifies arrays in-place and triggerChangeDetection() would override changes\n if (isTransfer) {\n this.triggerChangeDetection();\n }\n this.cd.markForCheck();\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(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(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})`) || null;\n this.viewChanged = this.media?.matches || false;\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 setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\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 onDestroy() {\n this.destroyStyle();\n this.destroyMedia();\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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"}