primeng 20.1.1 → 20.2.0

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 (322) hide show
  1. package/accordion/index.d.ts +2 -2
  2. package/animateonscroll/index.d.ts +2 -2
  3. package/api/index.d.ts +4 -3
  4. package/autocomplete/index.d.ts +59 -13
  5. package/avatargroup/index.d.ts +2 -2
  6. package/badge/index.d.ts +5 -5
  7. package/base/index.d.ts +6 -6
  8. package/basecomponent/index.d.ts +1 -1
  9. package/baseeditableholder/index.d.ts +4 -4
  10. package/baseinput/index.d.ts +12 -12
  11. package/breadcrumb/index.d.ts +1 -2
  12. package/button/index.d.ts +10 -10
  13. package/card/index.d.ts +1 -1
  14. package/carousel/index.d.ts +6 -6
  15. package/cascadeselect/index.d.ts +9 -9
  16. package/checkbox/index.d.ts +3 -3
  17. package/chip/index.d.ts +14 -4
  18. package/classnames/index.d.ts +38 -0
  19. package/config/index.d.ts +2 -2
  20. package/confirmdialog/index.d.ts +3 -3
  21. package/contextmenu/index.d.ts +4 -4
  22. package/dataview/index.d.ts +1 -1
  23. package/datepicker/index.d.ts +1 -1
  24. package/dialog/index.d.ts +4 -3
  25. package/divider/index.d.ts +2 -2
  26. package/dock/index.d.ts +2 -2
  27. package/dom/index.d.ts +4 -4
  28. package/dynamicdialog/index.d.ts +14 -14
  29. package/editor/index.d.ts +92 -13
  30. package/fesm2022/primeng-accordion.mjs +33 -21
  31. package/fesm2022/primeng-accordion.mjs.map +1 -1
  32. package/fesm2022/primeng-animateonscroll.mjs +8 -8
  33. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  34. package/fesm2022/primeng-api.mjs +31 -31
  35. package/fesm2022/primeng-autocomplete.mjs +180 -50
  36. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  37. package/fesm2022/primeng-autofocus.mjs +7 -7
  38. package/fesm2022/primeng-avatar.mjs +10 -10
  39. package/fesm2022/primeng-avatargroup.mjs +10 -10
  40. package/fesm2022/primeng-badge.mjs +15 -15
  41. package/fesm2022/primeng-badge.mjs.map +1 -1
  42. package/fesm2022/primeng-base.mjs +3 -3
  43. package/fesm2022/primeng-base.mjs.map +1 -1
  44. package/fesm2022/primeng-basecomponent.mjs +6 -6
  45. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  46. package/fesm2022/primeng-baseeditableholder.mjs +3 -3
  47. package/fesm2022/primeng-baseinput.mjs +3 -3
  48. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  49. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  50. package/fesm2022/primeng-blockui.mjs +10 -10
  51. package/fesm2022/primeng-breadcrumb.mjs +21 -21
  52. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  53. package/fesm2022/primeng-button.mjs +24 -23
  54. package/fesm2022/primeng-button.mjs.map +1 -1
  55. package/fesm2022/primeng-buttongroup.mjs +10 -10
  56. package/fesm2022/primeng-card.mjs +10 -10
  57. package/fesm2022/primeng-carousel.mjs +23 -23
  58. package/fesm2022/primeng-carousel.mjs.map +1 -1
  59. package/fesm2022/primeng-cascadeselect.mjs +31 -25
  60. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  61. package/fesm2022/primeng-chart.mjs +10 -10
  62. package/fesm2022/primeng-checkbox.mjs +15 -14
  63. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  64. package/fesm2022/primeng-chip.mjs +48 -17
  65. package/fesm2022/primeng-chip.mjs.map +1 -1
  66. package/fesm2022/primeng-classnames.mjs +73 -0
  67. package/fesm2022/primeng-classnames.mjs.map +1 -0
  68. package/fesm2022/primeng-colorpicker.mjs +11 -11
  69. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  70. package/fesm2022/primeng-config.mjs +8 -7
  71. package/fesm2022/primeng-config.mjs.map +1 -1
  72. package/fesm2022/primeng-confirmdialog.mjs +16 -10
  73. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  74. package/fesm2022/primeng-confirmpopup.mjs +24 -22
  75. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  76. package/fesm2022/primeng-contextmenu.mjs +24 -22
  77. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  78. package/fesm2022/primeng-dataview.mjs +11 -11
  79. package/fesm2022/primeng-dataview.mjs.map +1 -1
  80. package/fesm2022/primeng-datepicker.mjs +23 -23
  81. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  82. package/fesm2022/primeng-dialog.mjs +35 -16
  83. package/fesm2022/primeng-dialog.mjs.map +1 -1
  84. package/fesm2022/primeng-divider.mjs +10 -10
  85. package/fesm2022/primeng-dock.mjs +27 -25
  86. package/fesm2022/primeng-dock.mjs.map +1 -1
  87. package/fesm2022/primeng-dom.mjs +13 -10
  88. package/fesm2022/primeng-dom.mjs.map +1 -1
  89. package/fesm2022/primeng-dragdrop.mjs +10 -10
  90. package/fesm2022/primeng-drawer.mjs +28 -19
  91. package/fesm2022/primeng-drawer.mjs.map +1 -1
  92. package/fesm2022/primeng-dynamicdialog.mjs +48 -39
  93. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  94. package/fesm2022/primeng-editor.mjs +69 -11
  95. package/fesm2022/primeng-editor.mjs.map +1 -1
  96. package/fesm2022/primeng-fieldset.mjs +12 -11
  97. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  98. package/fesm2022/primeng-fileupload.mjs +15 -15
  99. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  100. package/fesm2022/primeng-floatlabel.mjs +10 -10
  101. package/fesm2022/primeng-fluid.mjs +10 -12
  102. package/fesm2022/primeng-fluid.mjs.map +1 -1
  103. package/fesm2022/primeng-focustrap.mjs +7 -7
  104. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  105. package/fesm2022/primeng-galleria.mjs +42 -38
  106. package/fesm2022/primeng-galleria.mjs.map +1 -1
  107. package/fesm2022/primeng-iconfield.mjs +10 -10
  108. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  109. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  110. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  111. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  112. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  113. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  114. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  115. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  116. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  117. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  118. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  119. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  120. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  121. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  122. package/fesm2022/primeng-icons-ban.mjs +3 -3
  123. package/fesm2022/primeng-icons-bars.mjs +3 -3
  124. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  125. package/fesm2022/primeng-icons-blank.mjs +3 -3
  126. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  127. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  128. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  129. package/fesm2022/primeng-icons-check.mjs +3 -3
  130. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  131. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  132. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  133. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  134. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  135. package/fesm2022/primeng-icons-eye.mjs +3 -3
  136. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  137. package/fesm2022/primeng-icons-filter.mjs +3 -3
  138. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  139. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  140. package/fesm2022/primeng-icons-home.mjs +3 -3
  141. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  142. package/fesm2022/primeng-icons-minus.mjs +3 -3
  143. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  144. package/fesm2022/primeng-icons-plus.mjs +3 -3
  145. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  146. package/fesm2022/primeng-icons-search.mjs +3 -3
  147. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  148. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  149. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  150. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  151. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  152. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  153. package/fesm2022/primeng-icons-star.mjs +3 -3
  154. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  155. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  156. package/fesm2022/primeng-icons-times.mjs +3 -3
  157. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  158. package/fesm2022/primeng-icons-trash.mjs +3 -3
  159. package/fesm2022/primeng-icons-undo.mjs +3 -3
  160. package/fesm2022/primeng-icons-upload.mjs +3 -3
  161. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  162. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  163. package/fesm2022/primeng-iftalabel.mjs +10 -10
  164. package/fesm2022/primeng-image.mjs +19 -16
  165. package/fesm2022/primeng-image.mjs.map +1 -1
  166. package/fesm2022/primeng-imagecompare.mjs +10 -10
  167. package/fesm2022/primeng-inplace.mjs +16 -16
  168. package/fesm2022/primeng-inputgroup.mjs +10 -10
  169. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  170. package/fesm2022/primeng-inputicon.mjs +10 -10
  171. package/fesm2022/primeng-inputmask.mjs +22 -13
  172. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  173. package/fesm2022/primeng-inputnumber.mjs +52 -31
  174. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  175. package/fesm2022/primeng-inputotp.mjs +11 -11
  176. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  177. package/fesm2022/primeng-inputtext.mjs +10 -10
  178. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  179. package/fesm2022/primeng-keyfilter.mjs +19 -10
  180. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  181. package/fesm2022/primeng-knob.mjs +10 -10
  182. package/fesm2022/primeng-listbox.mjs +124 -43
  183. package/fesm2022/primeng-listbox.mjs.map +1 -1
  184. package/fesm2022/primeng-megamenu.mjs +22 -20
  185. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  186. package/fesm2022/primeng-menu.mjs +35 -44
  187. package/fesm2022/primeng-menu.mjs.map +1 -1
  188. package/fesm2022/primeng-menubar.mjs +28 -27
  189. package/fesm2022/primeng-menubar.mjs.map +1 -1
  190. package/fesm2022/primeng-message.mjs +33 -30
  191. package/fesm2022/primeng-message.mjs.map +1 -1
  192. package/fesm2022/primeng-metergroup.mjs +27 -18
  193. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  194. package/fesm2022/primeng-multiselect.mjs +58 -48
  195. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  196. package/fesm2022/primeng-orderlist.mjs +149 -43
  197. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  198. package/fesm2022/primeng-organizationchart.mjs +13 -13
  199. package/fesm2022/primeng-overlay.mjs +15 -11
  200. package/fesm2022/primeng-overlay.mjs.map +1 -1
  201. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  202. package/fesm2022/primeng-paginator.mjs +11 -11
  203. package/fesm2022/primeng-paginator.mjs.map +1 -1
  204. package/fesm2022/primeng-panel.mjs +11 -11
  205. package/fesm2022/primeng-panel.mjs.map +1 -1
  206. package/fesm2022/primeng-panelmenu.mjs +27 -26
  207. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  208. package/fesm2022/primeng-password.mjs +25 -21
  209. package/fesm2022/primeng-password.mjs.map +1 -1
  210. package/fesm2022/primeng-picklist.mjs +129 -48
  211. package/fesm2022/primeng-picklist.mjs.map +1 -1
  212. package/fesm2022/primeng-popover.mjs +11 -11
  213. package/fesm2022/primeng-popover.mjs.map +1 -1
  214. package/fesm2022/primeng-progressbar.mjs +10 -10
  215. package/fesm2022/primeng-progressspinner.mjs +10 -10
  216. package/fesm2022/primeng-radiobutton.mjs +15 -15
  217. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  218. package/fesm2022/primeng-rating.mjs +11 -11
  219. package/fesm2022/primeng-rating.mjs.map +1 -1
  220. package/fesm2022/primeng-ripple.mjs +10 -10
  221. package/fesm2022/primeng-scroller.mjs +48 -24
  222. package/fesm2022/primeng-scroller.mjs.map +1 -1
  223. package/fesm2022/primeng-scrollpanel.mjs +19 -19
  224. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  225. package/fesm2022/primeng-scrolltop.mjs +10 -10
  226. package/fesm2022/primeng-select.mjs +56 -38
  227. package/fesm2022/primeng-select.mjs.map +1 -1
  228. package/fesm2022/primeng-selectbutton.mjs +12 -12
  229. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  230. package/fesm2022/primeng-skeleton.mjs +10 -10
  231. package/fesm2022/primeng-slider.mjs +14 -14
  232. package/fesm2022/primeng-slider.mjs.map +1 -1
  233. package/fesm2022/primeng-speeddial.mjs +32 -24
  234. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  235. package/fesm2022/primeng-splitbutton.mjs +15 -15
  236. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  237. package/fesm2022/primeng-splitter.mjs +21 -21
  238. package/fesm2022/primeng-splitter.mjs.map +1 -1
  239. package/fesm2022/primeng-stepper.mjs +43 -43
  240. package/fesm2022/primeng-stepper.mjs.map +1 -1
  241. package/fesm2022/primeng-steps.mjs +15 -15
  242. package/fesm2022/primeng-steps.mjs.map +1 -1
  243. package/fesm2022/primeng-styleclass.mjs +8 -8
  244. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  245. package/fesm2022/primeng-table.mjs +178 -158
  246. package/fesm2022/primeng-table.mjs.map +1 -1
  247. package/fesm2022/primeng-tabs.mjs +99 -55
  248. package/fesm2022/primeng-tabs.mjs.map +1 -1
  249. package/fesm2022/primeng-tag.mjs +10 -10
  250. package/fesm2022/primeng-tag.mjs.map +1 -1
  251. package/fesm2022/primeng-terminal.mjs +13 -13
  252. package/fesm2022/primeng-textarea.mjs +11 -11
  253. package/fesm2022/primeng-textarea.mjs.map +1 -1
  254. package/fesm2022/primeng-tieredmenu.mjs +26 -25
  255. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  256. package/fesm2022/primeng-timeline.mjs +10 -10
  257. package/fesm2022/primeng-toast.mjs +14 -13
  258. package/fesm2022/primeng-toast.mjs.map +1 -1
  259. package/fesm2022/primeng-togglebutton.mjs +20 -13
  260. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  261. package/fesm2022/primeng-toggleswitch.mjs +10 -10
  262. package/fesm2022/primeng-toolbar.mjs +10 -10
  263. package/fesm2022/primeng-tooltip.mjs +16 -15
  264. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  265. package/fesm2022/primeng-tree.mjs +170 -221
  266. package/fesm2022/primeng-tree.mjs.map +1 -1
  267. package/fesm2022/primeng-treeselect.mjs +17 -17
  268. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  269. package/fesm2022/primeng-treetable.mjs +84 -77
  270. package/fesm2022/primeng-treetable.mjs.map +1 -1
  271. package/fesm2022/primeng-usestyle.mjs +20 -18
  272. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  273. package/fesm2022/primeng-utils.mjs.map +1 -1
  274. package/fieldset/index.d.ts +3 -2
  275. package/fileupload/index.d.ts +6 -6
  276. package/fluid/index.d.ts +0 -2
  277. package/galleria/index.d.ts +10 -10
  278. package/icons/baseicon/index.d.ts +1 -1
  279. package/image/index.d.ts +7 -7
  280. package/inputnumber/index.d.ts +7 -7
  281. package/inputotp/index.d.ts +3 -3
  282. package/inputtext/index.d.ts +6 -6
  283. package/keyfilter/index.d.ts +2 -2
  284. package/listbox/index.d.ts +31 -19
  285. package/megamenu/index.d.ts +1 -1
  286. package/menu/index.d.ts +1 -2
  287. package/message/index.d.ts +3 -2
  288. package/metergroup/index.d.ts +6 -6
  289. package/multiselect/index.d.ts +18 -17
  290. package/orderlist/index.d.ts +13 -7
  291. package/organizationchart/index.d.ts +2 -2
  292. package/overlay/index.d.ts +5 -5
  293. package/package.json +224 -220
  294. package/paginator/index.d.ts +1 -1
  295. package/panel/index.d.ts +2 -2
  296. package/panelmenu/index.d.ts +8 -8
  297. package/password/index.d.ts +6 -6
  298. package/picklist/index.d.ts +17 -12
  299. package/radiobutton/index.d.ts +3 -3
  300. package/rating/index.d.ts +1 -1
  301. package/scroller/index.d.ts +7 -3
  302. package/select/index.d.ts +11 -11
  303. package/selectbutton/index.d.ts +3 -3
  304. package/slider/index.d.ts +2 -2
  305. package/speeddial/index.d.ts +9 -9
  306. package/splitter/index.d.ts +3 -3
  307. package/stepper/index.d.ts +4 -4
  308. package/steps/index.d.ts +3 -3
  309. package/table/index.d.ts +39 -31
  310. package/tabs/index.d.ts +23 -8
  311. package/tag/index.d.ts +1 -1
  312. package/textarea/index.d.ts +6 -6
  313. package/tieredmenu/index.d.ts +1 -1
  314. package/toast/index.d.ts +5 -5
  315. package/togglebutton/index.d.ts +4 -3
  316. package/toggleswitch/index.d.ts +1 -1
  317. package/tooltip/index.d.ts +11 -11
  318. package/tree/index.d.ts +31 -46
  319. package/treeselect/index.d.ts +6 -6
  320. package/treetable/index.d.ts +10 -10
  321. package/usestyle/index.d.ts +2 -2
  322. package/utils/index.d.ts +2 -2
@@ -1,5 +1,5 @@
1
1
  import * as i3 from '@angular/cdk/drag-drop';
2
- import { transferArrayItem, moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
2
+ import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
3
3
  import * as i1 from '@angular/common';
4
4
  import { isPlatformBrowser, CommonModule } from '@angular/common';
5
5
  import * as i0 from '@angular/core';
@@ -29,10 +29,10 @@ class PickListStyle extends BaseStyle {
29
29
  name = 'picklist';
30
30
  theme = style;
31
31
  classes = classes;
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: PickListStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
33
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: PickListStyle });
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PickListStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
33
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PickListStyle });
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: PickListStyle, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PickListStyle, decorators: [{
36
36
  type: Injectable
37
37
  }] });
38
38
  /**
@@ -87,6 +87,11 @@ class PickList extends BaseComponent {
87
87
  * @group Props
88
88
  */
89
89
  target;
90
+ /**
91
+ * Name of the field that uniquely identifies the options.
92
+ * @group Props
93
+ */
94
+ dataKey;
90
95
  /**
91
96
  * Text for the source list caption
92
97
  * @group Props
@@ -787,8 +792,8 @@ class PickList extends BaseComponent {
787
792
  return items.sort((item1, item2) => findIndexInList(item1, list) - findIndexInList(item2, list));
788
793
  }
789
794
  triggerChangeDetection() {
790
- this.source = [...this.source];
791
- this.target = [...this.target];
795
+ this.source = [...(this.source || [])];
796
+ this.target = [...(this.target || [])];
792
797
  }
793
798
  moveUp(listElement, list, selectedItems, callback, listType) {
794
799
  if (selectedItems && selectedItems.length) {
@@ -885,7 +890,7 @@ class PickList extends BaseComponent {
885
890
  let itemsToMove = [...this.selectedItemsSource];
886
891
  for (let i = 0; i < itemsToMove.length; i++) {
887
892
  let selectedItem = itemsToMove[i];
888
- if (findIndexInList(selectedItem, this.target) == -1) {
893
+ if (findIndexInList(selectedItem, this.target || []) == -1) {
889
894
  this.target?.push(this.source?.splice(findIndexInList(selectedItem, this.source), 1)[0]);
890
895
  if (this.visibleOptionsSource?.includes(selectedItem)) {
891
896
  this.visibleOptionsSource.splice(findIndexInList(selectedItem, this.visibleOptionsSource), 1);
@@ -912,7 +917,9 @@ class PickList extends BaseComponent {
912
917
  for (let i = 0; i < this.source.length; i++) {
913
918
  if (this.isItemVisible(this.source[i], this.SOURCE_LIST)) {
914
919
  let removedItem = this.source.splice(i, 1)[0];
915
- this.target?.push(removedItem);
920
+ if (this.target) {
921
+ this.target = [...this.target, removedItem];
922
+ }
916
923
  movedItems.push(removedItem);
917
924
  i--;
918
925
  }
@@ -936,7 +943,7 @@ class PickList extends BaseComponent {
936
943
  let itemsToMove = [...this.selectedItemsTarget];
937
944
  for (let i = 0; i < itemsToMove.length; i++) {
938
945
  let selectedItem = itemsToMove[i];
939
- if (findIndexInList(selectedItem, this.source) == -1) {
946
+ if (findIndexInList(selectedItem, this.source || []) == -1) {
940
947
  this.source?.push(this.target?.splice(findIndexInList(selectedItem, this.target), 1)[0]);
941
948
  if (this.visibleOptionsTarget?.includes(selectedItem)) {
942
949
  this.visibleOptionsTarget.splice(findIndexInList(selectedItem, this.visibleOptionsTarget), 1)[0];
@@ -963,7 +970,9 @@ class PickList extends BaseComponent {
963
970
  for (let i = 0; i < this.target.length; i++) {
964
971
  if (this.isItemVisible(this.target[i], this.TARGET_LIST)) {
965
972
  let removedItem = this.target.splice(i, 1)[0];
966
- this.source?.push(removedItem);
973
+ if (this.source) {
974
+ this.source = [...this.source, removedItem];
975
+ }
967
976
  movedItems.push(removedItem);
968
977
  i--;
969
978
  }
@@ -993,20 +1002,50 @@ class PickList extends BaseComponent {
993
1002
  let dropIndexes = this.getDropIndexes(event.previousIndex, event.currentIndex, listType, isTransfer, event.item.data);
994
1003
  if (listType === this.SOURCE_LIST) {
995
1004
  if (isTransfer) {
996
- transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);
997
- let selectedItemIndex = findIndexInList(event.item.data, this.selectedItemsTarget);
998
- if (selectedItemIndex != -1) {
999
- this.selectedItemsTarget.splice(selectedItemIndex, 1);
1000
- if (this.keepSelection) {
1001
- this.selectedItemsTarget.push(event.item.data);
1005
+ // Moving from target to source
1006
+ let itemsToMove = [];
1007
+ // Check if dragged item is in selected items
1008
+ if (this.selectedItemsTarget && this.selectedItemsTarget.length > 0 && findIndexInList(event.item.data, this.selectedItemsTarget) !== -1) {
1009
+ // Move all selected items
1010
+ itemsToMove = [...this.selectedItemsTarget];
1011
+ }
1012
+ else {
1013
+ // Move only the dragged item
1014
+ itemsToMove = [event.item.data];
1015
+ }
1016
+ // Sort items by their index in target (to maintain order)
1017
+ const sortedItems = this.sortByIndexInList(itemsToMove, this.target || []);
1018
+ // Remove all items from target
1019
+ for (let item of sortedItems) {
1020
+ const itemIndex = findIndexInList(item, this.target || []);
1021
+ if (itemIndex !== -1) {
1022
+ this.target?.splice(itemIndex, 1);
1023
+ }
1024
+ }
1025
+ // Add all items to source at the drop position
1026
+ for (let i = 0; i < sortedItems.length; i++) {
1027
+ this.source?.splice(dropIndexes.currentIndex + i, 0, sortedItems[i]);
1028
+ }
1029
+ // Clear target selection
1030
+ this.selectedItemsTarget = [];
1031
+ if (this.keepSelection) {
1032
+ this.selectedItemsSource = [...this.selectedItemsSource, ...itemsToMove];
1033
+ }
1034
+ if (this.visibleOptionsTarget) {
1035
+ // Update visible options
1036
+ for (let item of itemsToMove) {
1037
+ const visibleIndex = findIndexInList(item, this.visibleOptionsTarget);
1038
+ if (visibleIndex !== -1) {
1039
+ this.visibleOptionsTarget.splice(visibleIndex, 1);
1040
+ }
1002
1041
  }
1003
1042
  }
1004
- if (this.visibleOptionsTarget)
1005
- this.visibleOptionsTarget.splice(event.previousIndex, 1);
1006
- this.onMoveToSource.emit({ items: [event.item.data] });
1043
+ this.onMoveToSource.emit({ items: itemsToMove });
1007
1044
  }
1008
1045
  else {
1009
- moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);
1046
+ if (this.source) {
1047
+ moveItemInArray(this.source, dropIndexes.previousIndex, dropIndexes.currentIndex);
1048
+ }
1010
1049
  this.onSourceReorder.emit({ items: [event.item.data] });
1011
1050
  }
1012
1051
  if (this.filterValueSource) {
@@ -1015,26 +1054,62 @@ class PickList extends BaseComponent {
1015
1054
  }
1016
1055
  else {
1017
1056
  if (isTransfer) {
1018
- transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);
1019
- let selectedItemIndex = findIndexInList(event.item.data, this.selectedItemsSource);
1020
- if (selectedItemIndex != -1) {
1021
- this.selectedItemsSource.splice(selectedItemIndex, 1);
1022
- if (this.keepSelection) {
1023
- this.selectedItemsTarget.push(event.item.data);
1057
+ // Moving from source to target
1058
+ let itemsToMove = [];
1059
+ // Check if dragged item is in selected items
1060
+ if (this.selectedItemsSource && this.selectedItemsSource.length > 0 && findIndexInList(event.item.data, this.selectedItemsSource) !== -1) {
1061
+ // Move all selected items
1062
+ itemsToMove = [...this.selectedItemsSource];
1063
+ }
1064
+ else {
1065
+ // Move only the dragged item
1066
+ itemsToMove = [event.item.data];
1067
+ }
1068
+ // Sort items by their index in source (to maintain order)
1069
+ const sortedItems = this.sortByIndexInList(itemsToMove, this.source || []);
1070
+ // Remove all items from source
1071
+ for (let item of sortedItems) {
1072
+ const itemIndex = findIndexInList(item, this.source || []);
1073
+ if (itemIndex !== -1) {
1074
+ this.source?.splice(itemIndex, 1);
1075
+ }
1076
+ }
1077
+ // Add all items to target at the drop position
1078
+ for (let i = 0; i < sortedItems.length; i++) {
1079
+ this.target?.splice(dropIndexes.currentIndex + i, 0, sortedItems[i]);
1080
+ }
1081
+ // Clear source selection
1082
+ this.selectedItemsSource = [];
1083
+ if (this.keepSelection) {
1084
+ this.selectedItemsTarget = [...this.selectedItemsTarget, ...itemsToMove];
1085
+ }
1086
+ if (this.visibleOptionsSource) {
1087
+ // Update visible options
1088
+ for (let item of itemsToMove) {
1089
+ const visibleIndex = findIndexInList(item, this.visibleOptionsSource);
1090
+ if (visibleIndex !== -1) {
1091
+ this.visibleOptionsSource.splice(visibleIndex, 1);
1092
+ }
1024
1093
  }
1025
1094
  }
1026
- if (this.visibleOptionsSource)
1027
- this.visibleOptionsSource.splice(event.previousIndex, 1);
1028
- this.onMoveToTarget.emit({ items: [event.item.data] });
1095
+ this.onMoveToTarget.emit({ items: itemsToMove });
1029
1096
  }
1030
1097
  else {
1031
- moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);
1098
+ if (this.target) {
1099
+ moveItemInArray(this.target, dropIndexes.previousIndex, dropIndexes.currentIndex);
1100
+ }
1032
1101
  this.onTargetReorder.emit({ items: [event.item.data] });
1033
1102
  }
1034
1103
  if (this.filterValueTarget) {
1035
1104
  this.filter(this.target, this.TARGET_LIST);
1036
1105
  }
1037
1106
  }
1107
+ // Only trigger change detection for transfers, not reordering
1108
+ // Reordering modifies arrays in-place and triggerChangeDetection() would override changes
1109
+ if (isTransfer) {
1110
+ this.triggerChangeDetection();
1111
+ }
1112
+ this.cd.markForCheck();
1038
1113
  }
1039
1114
  onListFocus(event, listType) {
1040
1115
  this.onFocus.emit(event);
@@ -1070,12 +1145,12 @@ class PickList extends BaseComponent {
1070
1145
  getDropIndexes(fromIndex, toIndex, droppedList, isTransfer, data) {
1071
1146
  let previousIndex, currentIndex;
1072
1147
  if (droppedList === this.SOURCE_LIST) {
1073
- previousIndex = isTransfer ? (this.filterValueTarget ? findIndexInList(data, this.target) : fromIndex) : this.filterValueSource ? findIndexInList(data, this.source) : fromIndex;
1074
- currentIndex = this.filterValueSource ? this.findFilteredCurrentIndex(this.visibleOptionsSource, toIndex, this.source) : toIndex;
1148
+ previousIndex = isTransfer ? (this.filterValueTarget ? findIndexInList(data, this.target || []) : fromIndex) : this.filterValueSource ? findIndexInList(data, this.source || []) : fromIndex;
1149
+ currentIndex = this.filterValueSource ? this.findFilteredCurrentIndex(this.visibleOptionsSource || [], toIndex, this.source || []) : toIndex;
1075
1150
  }
1076
1151
  else {
1077
- previousIndex = isTransfer ? (this.filterValueSource ? findIndexInList(data, this.source) : fromIndex) : this.filterValueTarget ? findIndexInList(data, this.target) : fromIndex;
1078
- currentIndex = this.filterValueTarget ? this.findFilteredCurrentIndex(this.visibleOptionsTarget, toIndex, this.target) : toIndex;
1152
+ previousIndex = isTransfer ? (this.filterValueSource ? findIndexInList(data, this.source || []) : fromIndex) : this.filterValueTarget ? findIndexInList(data, this.target || []) : fromIndex;
1153
+ currentIndex = this.filterValueTarget ? this.findFilteredCurrentIndex(this.visibleOptionsTarget || [], toIndex, this.target || []) : toIndex;
1079
1154
  }
1080
1155
  return { previousIndex, currentIndex };
1081
1156
  }
@@ -1104,8 +1179,8 @@ class PickList extends BaseComponent {
1104
1179
  }
1105
1180
  initMedia() {
1106
1181
  if (isPlatformBrowser(this.platformId)) {
1107
- this.media = this.document.defaultView.matchMedia(`(max-width: ${this.breakpoint})`);
1108
- this.viewChanged = this.media.matches;
1182
+ this.media = this.document.defaultView?.matchMedia(`(max-width: ${this.breakpoint})`) || null;
1183
+ this.viewChanged = this.media?.matches || false;
1109
1184
  this.bindMediaChangeListener();
1110
1185
  }
1111
1186
  }
@@ -1183,8 +1258,8 @@ class PickList extends BaseComponent {
1183
1258
  this.destroyMedia();
1184
1259
  super.ngOnDestroy();
1185
1260
  }
1186
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: PickList, deps: null, target: i0.ɵɵFactoryTarget.Component });
1187
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2.1", type: PickList, isStandalone: true, selector: "p-pickList, p-picklist, p-pick-list", inputs: { source: "source", target: "target", sourceHeader: "sourceHeader", tabindex: ["tabindex", "tabindex", numberAttribute], rightButtonAriaLabel: "rightButtonAriaLabel", leftButtonAriaLabel: "leftButtonAriaLabel", allRightButtonAriaLabel: "allRightButtonAriaLabel", allLeftButtonAriaLabel: "allLeftButtonAriaLabel", upButtonAriaLabel: "upButtonAriaLabel", downButtonAriaLabel: "downButtonAriaLabel", topButtonAriaLabel: "topButtonAriaLabel", bottomButtonAriaLabel: "bottomButtonAriaLabel", sourceAriaLabel: "sourceAriaLabel", targetAriaLabel: "targetAriaLabel", targetHeader: "targetHeader", responsive: ["responsive", "responsive", booleanAttribute], filterBy: "filterBy", filterLocale: "filterLocale", trackBy: "trackBy", sourceTrackBy: "sourceTrackBy", targetTrackBy: "targetTrackBy", showSourceFilter: ["showSourceFilter", "showSourceFilter", booleanAttribute], showTargetFilter: ["showTargetFilter", "showTargetFilter", booleanAttribute], metaKeySelection: ["metaKeySelection", "metaKeySelection", booleanAttribute], dragdrop: ["dragdrop", "dragdrop", booleanAttribute], style: "style", styleClass: "styleClass", sourceStyle: "sourceStyle", targetStyle: "targetStyle", showSourceControls: ["showSourceControls", "showSourceControls", booleanAttribute], showTargetControls: ["showTargetControls", "showTargetControls", booleanAttribute], sourceFilterPlaceholder: "sourceFilterPlaceholder", targetFilterPlaceholder: "targetFilterPlaceholder", disabled: ["disabled", "disabled", booleanAttribute], sourceOptionDisabled: "sourceOptionDisabled", targetOptionDisabled: "targetOptionDisabled", ariaSourceFilterLabel: "ariaSourceFilterLabel", ariaTargetFilterLabel: "ariaTargetFilterLabel", filterMatchMode: "filterMatchMode", stripedRows: ["stripedRows", "stripedRows", booleanAttribute], keepSelection: ["keepSelection", "keepSelection", booleanAttribute], scrollHeight: "scrollHeight", autoOptionFocus: ["autoOptionFocus", "autoOptionFocus", booleanAttribute], buttonProps: "buttonProps", moveUpButtonProps: "moveUpButtonProps", moveTopButtonProps: "moveTopButtonProps", moveDownButtonProps: "moveDownButtonProps", moveBottomButtonProps: "moveBottomButtonProps", moveToTargetProps: "moveToTargetProps", moveAllToTargetProps: "moveAllToTargetProps", moveToSourceProps: "moveToSourceProps", moveAllToSourceProps: "moveAllToSourceProps", breakpoint: "breakpoint" }, outputs: { onMoveToSource: "onMoveToSource", onMoveAllToSource: "onMoveAllToSource", onMoveAllToTarget: "onMoveAllToTarget", onMoveToTarget: "onMoveToTarget", onSourceReorder: "onSourceReorder", onTargetReorder: "onTargetReorder", onSourceSelect: "onSourceSelect", onTargetSelect: "onTargetSelect", onSourceFilter: "onSourceFilter", onTargetFilter: "onTargetFilter", onFocus: "onFocus", onBlur: "onBlur" }, providers: [PickListStyle], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "sourceHeaderTemplate", first: true, predicate: ["sourceHeader"] }, { propertyName: "targetHeaderTemplate", first: true, predicate: ["targetHeader"] }, { propertyName: "sourceFilterTemplate", first: true, predicate: ["sourceFilter"] }, { propertyName: "targetFilterTemplate", first: true, predicate: ["targetFilter"] }, { propertyName: "emptyMessageSourceTemplate", first: true, predicate: ["emptymessagesource"] }, { propertyName: "emptyFilterMessageSourceTemplate", first: true, predicate: ["emptyfiltermessagesource"] }, { propertyName: "emptyMessageTargetTemplate", first: true, predicate: ["emptymessagetarget"] }, { propertyName: "emptyFilterMessageTargetTemplate", first: true, predicate: ["emptyfiltermessagetarget"] }, { propertyName: "moveUpIconTemplate", first: true, predicate: ["moveupicon"] }, { propertyName: "moveTopIconTemplate", first: true, predicate: ["movetopicon"] }, { propertyName: "moveDownIconTemplate", first: true, predicate: ["movedownicon"] }, { propertyName: "moveBottomIconTemplate", first: true, predicate: ["movebottomicon"] }, { propertyName: "moveToTargetIconTemplate", first: true, predicate: ["movetotargeticon"] }, { propertyName: "moveAllToTargetIconTemplate", first: true, predicate: ["movealltotargeticon"] }, { propertyName: "moveToSourceIconTemplate", first: true, predicate: ["movetosourceicon"] }, { propertyName: "moveAllToSourceIconTemplate", first: true, predicate: ["movealltosourceicon"] }, { propertyName: "targetFilterIconTemplate", first: true, predicate: ["targetfiltericon"] }, { propertyName: "sourceFilterIconTemplate", first: true, predicate: ["sourcefiltericon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "listViewSourceChild", first: true, predicate: ["sourcelist"], descendants: true }, { propertyName: "listViewTargetChild", first: true, predicate: ["targetlist"], descendants: true }, { propertyName: "sourceFilterViewChild", first: true, predicate: ["sourceFilter"], descendants: true }, { propertyName: "targetFilterViewChild", first: true, predicate: ["targetFilter"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1261
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PickList, deps: null, target: i0.ɵɵFactoryTarget.Component });
1262
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: PickList, isStandalone: true, selector: "p-pickList, p-picklist, p-pick-list", inputs: { source: "source", target: "target", dataKey: "dataKey", sourceHeader: "sourceHeader", tabindex: ["tabindex", "tabindex", numberAttribute], rightButtonAriaLabel: "rightButtonAriaLabel", leftButtonAriaLabel: "leftButtonAriaLabel", allRightButtonAriaLabel: "allRightButtonAriaLabel", allLeftButtonAriaLabel: "allLeftButtonAriaLabel", upButtonAriaLabel: "upButtonAriaLabel", downButtonAriaLabel: "downButtonAriaLabel", topButtonAriaLabel: "topButtonAriaLabel", bottomButtonAriaLabel: "bottomButtonAriaLabel", sourceAriaLabel: "sourceAriaLabel", targetAriaLabel: "targetAriaLabel", targetHeader: "targetHeader", responsive: ["responsive", "responsive", booleanAttribute], filterBy: "filterBy", filterLocale: "filterLocale", trackBy: "trackBy", sourceTrackBy: "sourceTrackBy", targetTrackBy: "targetTrackBy", showSourceFilter: ["showSourceFilter", "showSourceFilter", booleanAttribute], showTargetFilter: ["showTargetFilter", "showTargetFilter", booleanAttribute], metaKeySelection: ["metaKeySelection", "metaKeySelection", booleanAttribute], dragdrop: ["dragdrop", "dragdrop", booleanAttribute], style: "style", styleClass: "styleClass", sourceStyle: "sourceStyle", targetStyle: "targetStyle", showSourceControls: ["showSourceControls", "showSourceControls", booleanAttribute], showTargetControls: ["showTargetControls", "showTargetControls", booleanAttribute], sourceFilterPlaceholder: "sourceFilterPlaceholder", targetFilterPlaceholder: "targetFilterPlaceholder", disabled: ["disabled", "disabled", booleanAttribute], sourceOptionDisabled: "sourceOptionDisabled", targetOptionDisabled: "targetOptionDisabled", ariaSourceFilterLabel: "ariaSourceFilterLabel", ariaTargetFilterLabel: "ariaTargetFilterLabel", filterMatchMode: "filterMatchMode", stripedRows: ["stripedRows", "stripedRows", booleanAttribute], keepSelection: ["keepSelection", "keepSelection", booleanAttribute], scrollHeight: "scrollHeight", autoOptionFocus: ["autoOptionFocus", "autoOptionFocus", booleanAttribute], buttonProps: "buttonProps", moveUpButtonProps: "moveUpButtonProps", moveTopButtonProps: "moveTopButtonProps", moveDownButtonProps: "moveDownButtonProps", moveBottomButtonProps: "moveBottomButtonProps", moveToTargetProps: "moveToTargetProps", moveAllToTargetProps: "moveAllToTargetProps", moveToSourceProps: "moveToSourceProps", moveAllToSourceProps: "moveAllToSourceProps", breakpoint: "breakpoint" }, outputs: { onMoveToSource: "onMoveToSource", onMoveAllToSource: "onMoveAllToSource", onMoveAllToTarget: "onMoveAllToTarget", onMoveToTarget: "onMoveToTarget", onSourceReorder: "onSourceReorder", onTargetReorder: "onTargetReorder", onSourceSelect: "onSourceSelect", onTargetSelect: "onTargetSelect", onSourceFilter: "onSourceFilter", onTargetFilter: "onTargetFilter", onFocus: "onFocus", onBlur: "onBlur" }, providers: [PickListStyle], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "sourceHeaderTemplate", first: true, predicate: ["sourceHeader"] }, { propertyName: "targetHeaderTemplate", first: true, predicate: ["targetHeader"] }, { propertyName: "sourceFilterTemplate", first: true, predicate: ["sourceFilter"] }, { propertyName: "targetFilterTemplate", first: true, predicate: ["targetFilter"] }, { propertyName: "emptyMessageSourceTemplate", first: true, predicate: ["emptymessagesource"] }, { propertyName: "emptyFilterMessageSourceTemplate", first: true, predicate: ["emptyfiltermessagesource"] }, { propertyName: "emptyMessageTargetTemplate", first: true, predicate: ["emptymessagetarget"] }, { propertyName: "emptyFilterMessageTargetTemplate", first: true, predicate: ["emptyfiltermessagetarget"] }, { propertyName: "moveUpIconTemplate", first: true, predicate: ["moveupicon"] }, { propertyName: "moveTopIconTemplate", first: true, predicate: ["movetopicon"] }, { propertyName: "moveDownIconTemplate", first: true, predicate: ["movedownicon"] }, { propertyName: "moveBottomIconTemplate", first: true, predicate: ["movebottomicon"] }, { propertyName: "moveToTargetIconTemplate", first: true, predicate: ["movetotargeticon"] }, { propertyName: "moveAllToTargetIconTemplate", first: true, predicate: ["movealltotargeticon"] }, { propertyName: "moveToSourceIconTemplate", first: true, predicate: ["movetosourceicon"] }, { propertyName: "moveAllToSourceIconTemplate", first: true, predicate: ["movealltosourceicon"] }, { propertyName: "targetFilterIconTemplate", first: true, predicate: ["targetfiltericon"] }, { propertyName: "sourceFilterIconTemplate", first: true, predicate: ["sourcefiltericon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "listViewSourceChild", first: true, predicate: ["sourcelist"], descendants: true }, { propertyName: "listViewTargetChild", first: true, predicate: ["targetlist"], descendants: true }, { propertyName: "sourceFilterViewChild", first: true, predicate: ["sourceFilter"], descendants: true }, { propertyName: "targetFilterViewChild", first: true, predicate: ["targetFilter"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
1188
1263
  <div [ngStyle]="style" [class]="cn(cx('root'), styleClass)" cdkDropListGroup [attr.data-pc-name]="'picklist'" [attr.data-pc-section]="'root'">
1189
1264
  <div [class]="cx('sourceControls')" *ngIf="showSourceControls" [attr.data-pc-section]="'sourceControls'" [attr.data-pc-group-section]="'controls'">
1190
1265
  <button
@@ -1251,7 +1326,7 @@ class PickList extends BaseComponent {
1251
1326
  [multiple]="true"
1252
1327
  [options]="source"
1253
1328
  [(ngModel)]="selectedItemsSource"
1254
- optionLabel="name"
1329
+ [optionLabel]="dataKey ?? 'name'"
1255
1330
  [id]="idSource + '_list'"
1256
1331
  [listStyle]="sourceStyle"
1257
1332
  [striped]="stripedRows"
@@ -1271,6 +1346,7 @@ class PickList extends BaseComponent {
1271
1346
  [filterMatchMode]="filterMatchMode"
1272
1347
  [filterPlaceHolder]="sourceFilterPlaceholder"
1273
1348
  [dragdrop]="dragdrop"
1349
+ [dropListData]="source"
1274
1350
  (onDrop)="onDrop($event, SOURCE_LIST)"
1275
1351
  (onFilter)="onFilter($event.originalEvent, SOURCE_LIST)"
1276
1352
  >
@@ -1382,7 +1458,7 @@ class PickList extends BaseComponent {
1382
1458
  [multiple]="true"
1383
1459
  [options]="target"
1384
1460
  [(ngModel)]="selectedItemsTarget"
1385
- optionLabel="name"
1461
+ [optionLabel]="dataKey ?? 'name'"
1386
1462
  [id]="idTarget + '_list'"
1387
1463
  [listStyle]="targetStyle"
1388
1464
  [striped]="stripedRows"
@@ -1402,6 +1478,7 @@ class PickList extends BaseComponent {
1402
1478
  [filterMatchMode]="filterMatchMode"
1403
1479
  [filterPlaceHolder]="targetFilterPlaceholder"
1404
1480
  [dragdrop]="dragdrop"
1481
+ [dropListData]="target"
1405
1482
  (onDrop)="onDrop($event, TARGET_LIST)"
1406
1483
  (onFilter)="onFilter($event.originalEvent, TARGET_LIST)"
1407
1484
  >
@@ -1496,9 +1573,9 @@ class PickList extends BaseComponent {
1496
1573
  </button>
1497
1574
  </div>
1498
1575
  </div>
1499
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "directive", type: i2.ButtonIcon, selector: "[pButtonIcon]" }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i3.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: AngleDoubleDownIcon, selector: "[data-p-icon=\"angle-double-down\"]" }, { kind: "component", type: AngleDoubleLeftIcon, selector: "[data-p-icon=\"angle-double-left\"]" }, { kind: "component", type: AngleDoubleRightIcon, selector: "[data-p-icon=\"angle-double-right\"]" }, { kind: "component", type: AngleDoubleUpIcon, selector: "[data-p-icon=\"angle-double-up\"]" }, { kind: "component", type: AngleDownIcon, selector: "[data-p-icon=\"angle-down\"]" }, { kind: "component", type: AngleLeftIcon, selector: "[data-p-icon=\"angle-left\"]" }, { kind: "component", type: AngleRightIcon, selector: "[data-p-icon=\"angle-right\"]" }, { kind: "component", type: AngleUpIcon, selector: "[data-p-icon=\"angle-up\"]" }, { kind: "component", type: Listbox, selector: "p-listbox, p-listBox, p-list-box", inputs: ["id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "ariaLabel", "selectOnFocus", "searchLocale", "focusOnHover", "filterMessage", "filterFields", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "scrollHeight", "tabindex", "multiple", "styleClass", "listStyle", "listStyleClass", "readonly", "checkbox", "filter", "filterBy", "filterMatchMode", "filterLocale", "metaKeySelection", "dataKey", "showToggleAll", "optionLabel", "optionValue", "optionGroupChildren", "optionGroupLabel", "optionDisabled", "ariaFilterLabel", "filterPlaceHolder", "emptyFilterMessage", "emptyMessage", "group", "options", "filterValue", "selectAll", "striped", "highlightOnSelect", "checkmark", "dragdrop", "fluid"], outputs: ["onChange", "onClick", "onDblClick", "onFilter", "onFocus", "onBlur", "onSelectAllChange", "onLazyLoad", "onDrop"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1576
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "directive", type: i2.ButtonIcon, selector: "[pButtonIcon]" }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i3.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: AngleDoubleDownIcon, selector: "[data-p-icon=\"angle-double-down\"]" }, { kind: "component", type: AngleDoubleLeftIcon, selector: "[data-p-icon=\"angle-double-left\"]" }, { kind: "component", type: AngleDoubleRightIcon, selector: "[data-p-icon=\"angle-double-right\"]" }, { kind: "component", type: AngleDoubleUpIcon, selector: "[data-p-icon=\"angle-double-up\"]" }, { kind: "component", type: AngleDownIcon, selector: "[data-p-icon=\"angle-down\"]" }, { kind: "component", type: AngleLeftIcon, selector: "[data-p-icon=\"angle-left\"]" }, { kind: "component", type: AngleRightIcon, selector: "[data-p-icon=\"angle-right\"]" }, { kind: "component", type: AngleUpIcon, selector: "[data-p-icon=\"angle-up\"]" }, { kind: "component", type: Listbox, selector: "p-listbox, p-listBox, p-list-box", inputs: ["id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "ariaLabel", "selectOnFocus", "searchLocale", "focusOnHover", "filterMessage", "filterFields", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "scrollHeight", "tabindex", "multiple", "styleClass", "listStyle", "listStyleClass", "readonly", "checkbox", "filter", "filterBy", "filterMatchMode", "filterLocale", "metaKeySelection", "dataKey", "showToggleAll", "optionLabel", "optionValue", "optionGroupChildren", "optionGroupLabel", "optionDisabled", "ariaFilterLabel", "filterPlaceHolder", "emptyFilterMessage", "emptyMessage", "group", "options", "filterValue", "selectAll", "striped", "highlightOnSelect", "checkmark", "dragdrop", "dropListData", "fluid"], outputs: ["onChange", "onClick", "onDblClick", "onFilter", "onFocus", "onBlur", "onSelectAllChange", "onLazyLoad", "onDrop"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1500
1577
  }
1501
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: PickList, decorators: [{
1578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PickList, decorators: [{
1502
1579
  type: Component,
1503
1580
  args: [{
1504
1581
  selector: 'p-pickList, p-picklist, p-pick-list',
@@ -1571,7 +1648,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
1571
1648
  [multiple]="true"
1572
1649
  [options]="source"
1573
1650
  [(ngModel)]="selectedItemsSource"
1574
- optionLabel="name"
1651
+ [optionLabel]="dataKey ?? 'name'"
1575
1652
  [id]="idSource + '_list'"
1576
1653
  [listStyle]="sourceStyle"
1577
1654
  [striped]="stripedRows"
@@ -1591,6 +1668,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
1591
1668
  [filterMatchMode]="filterMatchMode"
1592
1669
  [filterPlaceHolder]="sourceFilterPlaceholder"
1593
1670
  [dragdrop]="dragdrop"
1671
+ [dropListData]="source"
1594
1672
  (onDrop)="onDrop($event, SOURCE_LIST)"
1595
1673
  (onFilter)="onFilter($event.originalEvent, SOURCE_LIST)"
1596
1674
  >
@@ -1702,7 +1780,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
1702
1780
  [multiple]="true"
1703
1781
  [options]="target"
1704
1782
  [(ngModel)]="selectedItemsTarget"
1705
- optionLabel="name"
1783
+ [optionLabel]="dataKey ?? 'name'"
1706
1784
  [id]="idTarget + '_list'"
1707
1785
  [listStyle]="targetStyle"
1708
1786
  [striped]="stripedRows"
@@ -1722,6 +1800,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
1722
1800
  [filterMatchMode]="filterMatchMode"
1723
1801
  [filterPlaceHolder]="targetFilterPlaceholder"
1724
1802
  [dragdrop]="dragdrop"
1803
+ [dropListData]="target"
1725
1804
  (onDrop)="onDrop($event, TARGET_LIST)"
1726
1805
  (onFilter)="onFilter($event.originalEvent, TARGET_LIST)"
1727
1806
  >
@@ -1825,6 +1904,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
1825
1904
  type: Input
1826
1905
  }], target: [{
1827
1906
  type: Input
1907
+ }], dataKey: [{
1908
+ type: Input
1828
1909
  }], sourceHeader: [{
1829
1910
  type: Input
1830
1911
  }], tabindex: [{
@@ -2037,11 +2118,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
2037
2118
  args: [PrimeTemplate]
2038
2119
  }] } });
2039
2120
  class PickListModule {
2040
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: PickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2041
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.1", ngImport: i0, type: PickListModule, imports: [PickList, SharedModule], exports: [PickList, SharedModule] });
2042
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: PickListModule, imports: [PickList, SharedModule, SharedModule] });
2121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2122
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: PickListModule, imports: [PickList, SharedModule], exports: [PickList, SharedModule] });
2123
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PickListModule, imports: [PickList, SharedModule, SharedModule] });
2043
2124
  }
2044
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: PickListModule, decorators: [{
2125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: PickListModule, decorators: [{
2045
2126
  type: NgModule,
2046
2127
  args: [{
2047
2128
  imports: [PickList, SharedModule],