primevue 3.15.0 → 3.16.2

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 (387) hide show
  1. package/autocomplete/AutoComplete.d.ts +182 -38
  2. package/autocomplete/AutoComplete.vue +636 -342
  3. package/autocomplete/autocomplete.cjs.js +745 -416
  4. package/autocomplete/autocomplete.cjs.min.js +1 -1
  5. package/autocomplete/autocomplete.esm.js +747 -418
  6. package/autocomplete/autocomplete.esm.min.js +1 -1
  7. package/autocomplete/autocomplete.js +745 -416
  8. package/autocomplete/autocomplete.min.js +1 -1
  9. package/button/Button.vue +4 -1
  10. package/button/button.cjs.js +5 -1
  11. package/button/button.cjs.min.js +1 -1
  12. package/button/button.esm.js +5 -1
  13. package/button/button.esm.min.js +1 -1
  14. package/button/button.js +5 -1
  15. package/button/button.min.js +1 -1
  16. package/calendar/Calendar.d.ts +51 -12
  17. package/calendar/Calendar.vue +259 -114
  18. package/calendar/calendar.cjs.js +414 -220
  19. package/calendar/calendar.cjs.min.js +1 -1
  20. package/calendar/calendar.esm.js +415 -221
  21. package/calendar/calendar.esm.min.js +1 -1
  22. package/calendar/calendar.js +414 -220
  23. package/calendar/calendar.min.js +1 -1
  24. package/carousel/Carousel.vue +25 -0
  25. package/carousel/carousel.cjs.js +25 -0
  26. package/carousel/carousel.cjs.min.js +1 -1
  27. package/carousel/carousel.esm.js +25 -0
  28. package/carousel/carousel.esm.min.js +1 -1
  29. package/carousel/carousel.js +25 -0
  30. package/carousel/carousel.min.js +1 -1
  31. package/cascadeselect/CascadeSelect.d.ts +97 -17
  32. package/cascadeselect/CascadeSelect.vue +560 -135
  33. package/cascadeselect/CascadeSelectSub.vue +48 -129
  34. package/cascadeselect/cascadeselect.cjs.js +670 -306
  35. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  36. package/cascadeselect/cascadeselect.esm.js +672 -308
  37. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  38. package/cascadeselect/cascadeselect.js +670 -306
  39. package/cascadeselect/cascadeselect.min.js +1 -1
  40. package/checkbox/Checkbox.d.ts +40 -4
  41. package/checkbox/Checkbox.vue +50 -13
  42. package/checkbox/checkbox.cjs.js +64 -23
  43. package/checkbox/checkbox.cjs.min.js +1 -1
  44. package/checkbox/checkbox.esm.js +65 -24
  45. package/checkbox/checkbox.esm.min.js +1 -1
  46. package/checkbox/checkbox.js +64 -23
  47. package/checkbox/checkbox.min.js +1 -1
  48. package/chips/Chips.d.ts +36 -12
  49. package/chips/Chips.vue +116 -22
  50. package/chips/chips.cjs.js +149 -37
  51. package/chips/chips.cjs.min.js +1 -1
  52. package/chips/chips.esm.js +150 -38
  53. package/chips/chips.esm.min.js +1 -1
  54. package/chips/chips.js +150 -39
  55. package/chips/chips.min.js +1 -1
  56. package/colorpicker/ColorPicker.d.ts +3 -6
  57. package/colorpicker/ColorPicker.vue +1 -5
  58. package/colorpicker/colorpicker.cjs.js +2 -7
  59. package/colorpicker/colorpicker.cjs.min.js +1 -1
  60. package/colorpicker/colorpicker.esm.js +2 -7
  61. package/colorpicker/colorpicker.esm.min.js +1 -1
  62. package/colorpicker/colorpicker.js +2 -7
  63. package/colorpicker/colorpicker.min.js +1 -1
  64. package/column/Column.d.ts +4 -0
  65. package/column/Column.vue +4 -0
  66. package/column/column.cjs.js +4 -0
  67. package/column/column.cjs.min.js +1 -1
  68. package/column/column.esm.js +4 -0
  69. package/column/column.esm.min.js +1 -1
  70. package/column/column.js +4 -0
  71. package/column/column.min.js +1 -1
  72. package/config/PrimeVue.d.ts +42 -0
  73. package/config/config.cjs.js +35 -4
  74. package/config/config.cjs.min.js +1 -1
  75. package/config/config.esm.js +35 -4
  76. package/config/config.esm.min.js +1 -1
  77. package/config/config.js +35 -4
  78. package/config/config.min.js +1 -1
  79. package/confirmdialog/ConfirmDialog.vue +4 -1
  80. package/confirmdialog/confirmdialog.cjs.js +6 -2
  81. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  82. package/confirmdialog/confirmdialog.esm.js +6 -2
  83. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  84. package/confirmdialog/confirmdialog.js +6 -2
  85. package/confirmdialog/confirmdialog.min.js +1 -1
  86. package/contextmenu/ContextMenu.d.ts +1 -1
  87. package/contextmenu/ContextMenuSub.vue +3 -3
  88. package/contextmenu/contextmenu.cjs.js +14 -8
  89. package/contextmenu/contextmenu.cjs.min.js +1 -1
  90. package/contextmenu/contextmenu.esm.js +15 -9
  91. package/contextmenu/contextmenu.esm.min.js +1 -1
  92. package/contextmenu/contextmenu.js +14 -8
  93. package/contextmenu/contextmenu.min.js +1 -1
  94. package/core/core.js +1128 -772
  95. package/core/core.min.js +12 -12
  96. package/datatable/BodyCell.vue +11 -2
  97. package/datatable/DataTable.vue +23 -2
  98. package/datatable/datatable.cjs.js +34 -4
  99. package/datatable/datatable.cjs.min.js +1 -1
  100. package/datatable/datatable.esm.js +34 -4
  101. package/datatable/datatable.esm.min.js +1 -1
  102. package/datatable/datatable.js +34 -4
  103. package/datatable/datatable.min.js +1 -1
  104. package/dialog/Dialog.d.ts +5 -1
  105. package/dropdown/Dropdown.d.ts +92 -38
  106. package/dropdown/Dropdown.vue +538 -399
  107. package/dropdown/dropdown.cjs.js +657 -486
  108. package/dropdown/dropdown.cjs.min.js +1 -1
  109. package/dropdown/dropdown.esm.js +659 -488
  110. package/dropdown/dropdown.esm.min.js +1 -1
  111. package/dropdown/dropdown.js +657 -486
  112. package/dropdown/dropdown.min.js +1 -1
  113. package/editor/Editor.d.ts +32 -0
  114. package/editor/Editor.vue +15 -1
  115. package/editor/editor.cjs.js +15 -1
  116. package/editor/editor.cjs.min.js +1 -1
  117. package/editor/editor.esm.js +15 -1
  118. package/editor/editor.esm.min.js +1 -1
  119. package/editor/editor.js +15 -1
  120. package/editor/editor.min.js +1 -1
  121. package/inputmask/InputMask.vue +9 -6
  122. package/inputmask/inputmask.cjs.js +14 -6
  123. package/inputmask/inputmask.cjs.min.js +1 -1
  124. package/inputmask/inputmask.esm.js +15 -7
  125. package/inputmask/inputmask.esm.min.js +1 -1
  126. package/inputmask/inputmask.js +14 -6
  127. package/inputmask/inputmask.min.js +1 -1
  128. package/inputnumber/InputNumber.d.ts +31 -7
  129. package/inputnumber/InputNumber.vue +53 -20
  130. package/inputnumber/inputnumber.cjs.js +75 -29
  131. package/inputnumber/inputnumber.cjs.min.js +1 -1
  132. package/inputnumber/inputnumber.esm.js +76 -30
  133. package/inputnumber/inputnumber.esm.min.js +1 -1
  134. package/inputnumber/inputnumber.js +75 -29
  135. package/inputnumber/inputnumber.min.js +1 -1
  136. package/inputswitch/InputSwitch.d.ts +24 -8
  137. package/inputswitch/InputSwitch.vue +27 -12
  138. package/inputswitch/inputswitch.cjs.js +38 -20
  139. package/inputswitch/inputswitch.cjs.min.js +1 -1
  140. package/inputswitch/inputswitch.esm.js +39 -21
  141. package/inputswitch/inputswitch.esm.min.js +1 -1
  142. package/inputswitch/inputswitch.js +38 -20
  143. package/inputswitch/inputswitch.min.js +1 -1
  144. package/inputtext/InputText.vue +1 -2
  145. package/inputtext/inputtext.cjs.js +3 -4
  146. package/inputtext/inputtext.cjs.min.js +1 -1
  147. package/inputtext/inputtext.esm.js +4 -5
  148. package/inputtext/inputtext.esm.min.js +1 -1
  149. package/inputtext/inputtext.js +3 -4
  150. package/inputtext/inputtext.min.js +1 -1
  151. package/knob/Knob.d.ts +12 -0
  152. package/knob/Knob.vue +62 -2
  153. package/knob/knob.cjs.js +73 -5
  154. package/knob/knob.cjs.min.js +1 -1
  155. package/knob/knob.esm.js +73 -5
  156. package/knob/knob.esm.min.js +1 -1
  157. package/knob/knob.js +73 -5
  158. package/knob/knob.min.js +1 -1
  159. package/listbox/Listbox.d.ts +53 -7
  160. package/listbox/Listbox.vue +500 -135
  161. package/listbox/listbox.cjs.js +597 -193
  162. package/listbox/listbox.cjs.min.js +1 -1
  163. package/listbox/listbox.esm.js +599 -195
  164. package/listbox/listbox.esm.min.js +1 -1
  165. package/listbox/listbox.js +597 -193
  166. package/listbox/listbox.min.js +1 -1
  167. package/menu/Menu.d.ts +1 -1
  168. package/menu/Menuitem.vue +2 -2
  169. package/menu/menu.cjs.js +12 -6
  170. package/menu/menu.cjs.min.js +1 -1
  171. package/menu/menu.esm.js +13 -7
  172. package/menu/menu.esm.min.js +1 -1
  173. package/menu/menu.js +12 -6
  174. package/menu/menu.min.js +1 -1
  175. package/menubar/MenubarSub.vue +3 -3
  176. package/menubar/menubar.cjs.js +14 -8
  177. package/menubar/menubar.cjs.min.js +1 -1
  178. package/menubar/menubar.esm.js +15 -9
  179. package/menubar/menubar.esm.min.js +1 -1
  180. package/menubar/menubar.js +14 -8
  181. package/menubar/menubar.min.js +1 -1
  182. package/menuitem/MenuItem.d.ts +1 -1
  183. package/multiselect/MultiSelect.d.ts +111 -51
  184. package/multiselect/MultiSelect.vue +629 -338
  185. package/multiselect/multiselect.cjs.js +748 -428
  186. package/multiselect/multiselect.cjs.min.js +1 -1
  187. package/multiselect/multiselect.esm.js +750 -430
  188. package/multiselect/multiselect.esm.min.js +1 -1
  189. package/multiselect/multiselect.js +748 -428
  190. package/multiselect/multiselect.min.js +1 -1
  191. package/overlaypanel/OverlayPanel.d.ts +1 -1
  192. package/overlaypanel/OverlayPanel.vue +14 -2
  193. package/overlaypanel/overlaypanel.cjs.js +14 -2
  194. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  195. package/overlaypanel/overlaypanel.esm.js +14 -2
  196. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  197. package/overlaypanel/overlaypanel.js +14 -2
  198. package/overlaypanel/overlaypanel.min.js +1 -1
  199. package/package.json +2 -2
  200. package/paginator/Paginator.d.ts +2 -2
  201. package/password/Password.d.ts +36 -8
  202. package/password/Password.vue +50 -14
  203. package/password/password.cjs.js +69 -24
  204. package/password/password.cjs.min.js +1 -1
  205. package/password/password.esm.js +71 -26
  206. package/password/password.esm.min.js +1 -1
  207. package/password/password.js +69 -24
  208. package/password/password.min.js +1 -1
  209. package/picklist/PickList.d.ts +8 -0
  210. package/picklist/PickList.vue +10 -2
  211. package/picklist/picklist.cjs.js +68 -50
  212. package/picklist/picklist.cjs.min.js +1 -1
  213. package/picklist/picklist.esm.js +69 -51
  214. package/picklist/picklist.esm.min.js +1 -1
  215. package/picklist/picklist.js +68 -50
  216. package/picklist/picklist.min.js +1 -1
  217. package/portal/Portal.d.ts +1 -1
  218. package/radiobutton/RadioButton.d.ts +28 -4
  219. package/radiobutton/RadioButton.vue +36 -11
  220. package/radiobutton/radiobutton.cjs.js +49 -23
  221. package/radiobutton/radiobutton.cjs.min.js +1 -1
  222. package/radiobutton/radiobutton.esm.js +50 -24
  223. package/radiobutton/radiobutton.esm.min.js +1 -1
  224. package/radiobutton/radiobutton.js +49 -23
  225. package/radiobutton/radiobutton.min.js +1 -1
  226. package/rating/Rating.d.ts +4 -0
  227. package/rating/Rating.vue +61 -7
  228. package/rating/rating.cjs.js +90 -16
  229. package/rating/rating.cjs.min.js +1 -1
  230. package/rating/rating.esm.js +91 -17
  231. package/rating/rating.esm.min.js +1 -1
  232. package/rating/rating.js +90 -16
  233. package/rating/rating.min.js +1 -1
  234. package/resources/primevue.css +8 -0
  235. package/resources/primevue.min.css +1 -1
  236. package/resources/themes/arya-blue/theme.css +82 -40
  237. package/resources/themes/arya-green/theme.css +82 -40
  238. package/resources/themes/arya-orange/theme.css +82 -40
  239. package/resources/themes/arya-purple/theme.css +82 -40
  240. package/resources/themes/bootstrap4-dark-blue/theme.css +82 -40
  241. package/resources/themes/bootstrap4-dark-purple/theme.css +82 -40
  242. package/resources/themes/bootstrap4-light-blue/theme.css +82 -40
  243. package/resources/themes/bootstrap4-light-purple/theme.css +82 -40
  244. package/resources/themes/fluent-light/theme.css +82 -40
  245. package/resources/themes/lara-dark-blue/theme.css +82 -40
  246. package/resources/themes/lara-dark-indigo/theme.css +82 -40
  247. package/resources/themes/lara-dark-purple/theme.css +82 -40
  248. package/resources/themes/lara-dark-teal/theme.css +82 -40
  249. package/resources/themes/lara-light-blue/theme.css +82 -40
  250. package/resources/themes/lara-light-indigo/theme.css +82 -40
  251. package/resources/themes/lara-light-purple/theme.css +82 -40
  252. package/resources/themes/lara-light-teal/theme.css +82 -40
  253. package/resources/themes/luna-amber/theme.css +82 -40
  254. package/resources/themes/luna-blue/theme.css +82 -40
  255. package/resources/themes/luna-green/theme.css +82 -40
  256. package/resources/themes/luna-pink/theme.css +82 -40
  257. package/resources/themes/md-dark-deeppurple/theme.css +82 -40
  258. package/resources/themes/md-dark-indigo/theme.css +82 -40
  259. package/resources/themes/md-light-deeppurple/theme.css +82 -40
  260. package/resources/themes/md-light-indigo/theme.css +82 -40
  261. package/resources/themes/mdc-dark-deeppurple/theme.css +82 -40
  262. package/resources/themes/mdc-dark-indigo/theme.css +82 -40
  263. package/resources/themes/mdc-light-deeppurple/theme.css +82 -40
  264. package/resources/themes/mdc-light-indigo/theme.css +82 -40
  265. package/resources/themes/nova/theme.css +82 -40
  266. package/resources/themes/nova-accent/theme.css +82 -40
  267. package/resources/themes/nova-alt/theme.css +82 -40
  268. package/resources/themes/nova-vue/theme.css +82 -40
  269. package/resources/themes/rhea/theme.css +82 -40
  270. package/resources/themes/saga-blue/theme.css +82 -40
  271. package/resources/themes/saga-green/theme.css +82 -40
  272. package/resources/themes/saga-orange/theme.css +82 -40
  273. package/resources/themes/saga-purple/theme.css +82 -40
  274. package/resources/themes/tailwind-light/theme.css +82 -40
  275. package/resources/themes/vela-blue/theme.css +82 -40
  276. package/resources/themes/vela-green/theme.css +82 -40
  277. package/resources/themes/vela-orange/theme.css +82 -40
  278. package/resources/themes/vela-purple/theme.css +82 -40
  279. package/ripple/ripple.cjs.js +1 -0
  280. package/ripple/ripple.cjs.min.js +1 -1
  281. package/ripple/ripple.esm.js +1 -0
  282. package/ripple/ripple.esm.min.js +1 -1
  283. package/ripple/ripple.js +1 -0
  284. package/ripple/ripple.min.js +1 -1
  285. package/selectbutton/SelectButton.d.ts +6 -2
  286. package/selectbutton/SelectButton.vue +89 -12
  287. package/selectbutton/selectbutton.cjs.js +97 -22
  288. package/selectbutton/selectbutton.cjs.min.js +1 -1
  289. package/selectbutton/selectbutton.esm.js +99 -24
  290. package/selectbutton/selectbutton.esm.min.js +1 -1
  291. package/selectbutton/selectbutton.js +97 -22
  292. package/selectbutton/selectbutton.min.js +1 -1
  293. package/slider/Slider.d.ts +9 -1
  294. package/slider/Slider.vue +50 -34
  295. package/slider/slider.cjs.js +59 -38
  296. package/slider/slider.cjs.min.js +1 -1
  297. package/slider/slider.esm.js +59 -38
  298. package/slider/slider.esm.min.js +1 -1
  299. package/slider/slider.js +59 -38
  300. package/slider/slider.min.js +1 -1
  301. package/splitbutton/SplitButton.d.ts +1 -1
  302. package/splitter/Splitter.vue +30 -1
  303. package/splitter/splitter.cjs.js +30 -1
  304. package/splitter/splitter.cjs.min.js +1 -1
  305. package/splitter/splitter.esm.js +30 -1
  306. package/splitter/splitter.esm.min.js +1 -1
  307. package/splitter/splitter.js +30 -1
  308. package/splitter/splitter.min.js +1 -1
  309. package/textarea/Textarea.vue +1 -2
  310. package/textarea/textarea.cjs.js +3 -5
  311. package/textarea/textarea.cjs.min.js +1 -1
  312. package/textarea/textarea.esm.js +4 -6
  313. package/textarea/textarea.esm.min.js +1 -1
  314. package/textarea/textarea.js +3 -5
  315. package/textarea/textarea.min.js +1 -1
  316. package/tieredmenu/TieredMenu.d.ts +1 -1
  317. package/tieredmenu/TieredMenuSub.vue +3 -3
  318. package/tieredmenu/tieredmenu.cjs.js +14 -8
  319. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  320. package/tieredmenu/tieredmenu.esm.js +15 -9
  321. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  322. package/tieredmenu/tieredmenu.js +14 -8
  323. package/tieredmenu/tieredmenu.min.js +1 -1
  324. package/timeline/Timeline.d.ts +10 -1
  325. package/timeline/Timeline.vue +1 -1
  326. package/timeline/timeline.cjs.js +5 -1
  327. package/timeline/timeline.cjs.min.js +1 -1
  328. package/timeline/timeline.esm.js +5 -1
  329. package/timeline/timeline.esm.min.js +1 -1
  330. package/timeline/timeline.js +5 -1
  331. package/timeline/timeline.min.js +1 -1
  332. package/togglebutton/ToggleButton.d.ts +42 -0
  333. package/togglebutton/ToggleButton.vue +44 -7
  334. package/togglebutton/togglebutton.cjs.js +59 -13
  335. package/togglebutton/togglebutton.cjs.min.js +1 -1
  336. package/togglebutton/togglebutton.esm.js +60 -14
  337. package/togglebutton/togglebutton.esm.min.js +1 -1
  338. package/togglebutton/togglebutton.js +59 -13
  339. package/togglebutton/togglebutton.min.js +1 -1
  340. package/tooltip/tooltip.cjs.js +20 -11
  341. package/tooltip/tooltip.cjs.min.js +1 -1
  342. package/tooltip/tooltip.esm.js +21 -12
  343. package/tooltip/tooltip.esm.min.js +1 -1
  344. package/tooltip/tooltip.js +20 -11
  345. package/tooltip/tooltip.min.js +1 -1
  346. package/tree/Tree.vue +5 -1
  347. package/tree/TreeNode.vue +20 -19
  348. package/tree/tree.cjs.js +47 -32
  349. package/tree/tree.cjs.min.js +1 -1
  350. package/tree/tree.esm.js +47 -32
  351. package/tree/tree.esm.min.js +1 -1
  352. package/tree/tree.js +47 -32
  353. package/tree/tree.min.js +1 -1
  354. package/treeselect/TreeSelect.d.ts +26 -10
  355. package/treeselect/TreeSelect.vue +52 -29
  356. package/treeselect/treeselect.cjs.js +74 -41
  357. package/treeselect/treeselect.cjs.min.js +1 -1
  358. package/treeselect/treeselect.esm.js +76 -43
  359. package/treeselect/treeselect.esm.min.js +1 -1
  360. package/treeselect/treeselect.js +74 -41
  361. package/treeselect/treeselect.min.js +1 -1
  362. package/tristatecheckbox/TriStateCheckbox.d.ts +20 -4
  363. package/tristatecheckbox/TriStateCheckbox.vue +52 -15
  364. package/tristatecheckbox/tristatecheckbox.cjs.js +67 -26
  365. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  366. package/tristatecheckbox/tristatecheckbox.esm.js +68 -27
  367. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  368. package/tristatecheckbox/tristatecheckbox.js +67 -26
  369. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  370. package/utils/Utils.d.ts +3 -2
  371. package/utils/utils.cjs.js +239 -173
  372. package/utils/utils.cjs.min.js +1 -1
  373. package/utils/utils.esm.js +239 -173
  374. package/utils/utils.esm.min.js +1 -1
  375. package/utils/utils.js +239 -173
  376. package/utils/utils.min.js +1 -1
  377. package/vetur-attributes.json +612 -136
  378. package/vetur-tags.json +180 -59
  379. package/virtualscroller/VirtualScroller.d.ts +10 -0
  380. package/virtualscroller/VirtualScroller.vue +18 -17
  381. package/virtualscroller/virtualscroller.cjs.js +22 -20
  382. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  383. package/virtualscroller/virtualscroller.esm.js +22 -20
  384. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  385. package/virtualscroller/virtualscroller.js +22 -20
  386. package/virtualscroller/virtualscroller.min.js +1 -1
  387. package/web-types.json +1745 -338
@@ -1,7 +1,7 @@
1
1
  import Button from 'primevue/button';
2
2
  import { ObjectUtils, DomHandler, UniqueComponentId } from 'primevue/utils';
3
3
  import Ripple from 'primevue/ripple';
4
- import { resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, createVNode, createCommentVNode, TransitionGroup, normalizeStyle, withCtx, Fragment, renderList, withDirectives } from 'vue';
4
+ import { resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, renderSlot, createVNode, createCommentVNode, createElementVNode, TransitionGroup, normalizeStyle, withCtx, Fragment, renderList, withDirectives } from 'vue';
5
5
 
6
6
  var script = {
7
7
  name: 'PickList',
@@ -38,6 +38,14 @@ var script = {
38
38
  stripedRows: {
39
39
  type: Boolean,
40
40
  default: false
41
+ },
42
+ showSourceControls: {
43
+ type: Boolean,
44
+ default: true
45
+ },
46
+ showTargetControls: {
47
+ type: Boolean,
48
+ default: true
41
49
  }
42
50
  },
43
51
  itemTouched: false,
@@ -516,7 +524,10 @@ var script = {
516
524
  }
517
525
  };
518
526
 
519
- const _hoisted_1 = { class: "p-picklist-buttons p-picklist-source-controls" };
527
+ const _hoisted_1 = {
528
+ key: 0,
529
+ class: "p-picklist-buttons p-picklist-source-controls"
530
+ };
520
531
  const _hoisted_2 = { class: "p-picklist-list-wrapper p-picklist-source-wrapper" };
521
532
  const _hoisted_3 = {
522
533
  key: 0,
@@ -530,7 +541,10 @@ const _hoisted_7 = {
530
541
  class: "p-picklist-header"
531
542
  };
532
543
  const _hoisted_8 = ["onClick", "onDblclick", "onKeydown", "aria-selected"];
533
- const _hoisted_9 = { class: "p-picklist-buttons p-picklist-target-controls" };
544
+ const _hoisted_9 = {
545
+ key: 1,
546
+ class: "p-picklist-buttons p-picklist-target-controls"
547
+ };
534
548
 
535
549
  function render(_ctx, _cache, $props, $setup, $data, $options) {
536
550
  const _component_PLButton = resolveComponent("PLButton");
@@ -539,30 +553,32 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
539
553
  return (openBlock(), createElementBlock("div", {
540
554
  class: normalizeClass($options.containerClass)
541
555
  }, [
542
- createElementVNode("div", _hoisted_1, [
543
- renderSlot(_ctx.$slots, "sourcecontrolsstart"),
544
- createVNode(_component_PLButton, {
545
- type: "button",
546
- icon: "pi pi-angle-up",
547
- onClick: _cache[0] || (_cache[0] = $event => ($options.moveUp($event, 0)))
548
- }),
549
- createVNode(_component_PLButton, {
550
- type: "button",
551
- icon: "pi pi-angle-double-up",
552
- onClick: _cache[1] || (_cache[1] = $event => ($options.moveTop($event, 0)))
553
- }),
554
- createVNode(_component_PLButton, {
555
- type: "button",
556
- icon: "pi pi-angle-down",
557
- onClick: _cache[2] || (_cache[2] = $event => ($options.moveDown($event, 0)))
558
- }),
559
- createVNode(_component_PLButton, {
560
- type: "button",
561
- icon: "pi pi-angle-double-down",
562
- onClick: _cache[3] || (_cache[3] = $event => ($options.moveBottom($event, 0)))
563
- }),
564
- renderSlot(_ctx.$slots, "sourcecontrolsend")
565
- ]),
556
+ ($props.showSourceControls)
557
+ ? (openBlock(), createElementBlock("div", _hoisted_1, [
558
+ renderSlot(_ctx.$slots, "sourcecontrolsstart"),
559
+ createVNode(_component_PLButton, {
560
+ type: "button",
561
+ icon: "pi pi-angle-up",
562
+ onClick: _cache[0] || (_cache[0] = $event => ($options.moveUp($event, 0)))
563
+ }),
564
+ createVNode(_component_PLButton, {
565
+ type: "button",
566
+ icon: "pi pi-angle-double-up",
567
+ onClick: _cache[1] || (_cache[1] = $event => ($options.moveTop($event, 0)))
568
+ }),
569
+ createVNode(_component_PLButton, {
570
+ type: "button",
571
+ icon: "pi pi-angle-down",
572
+ onClick: _cache[2] || (_cache[2] = $event => ($options.moveDown($event, 0)))
573
+ }),
574
+ createVNode(_component_PLButton, {
575
+ type: "button",
576
+ icon: "pi pi-angle-double-down",
577
+ onClick: _cache[3] || (_cache[3] = $event => ($options.moveBottom($event, 0)))
578
+ }),
579
+ renderSlot(_ctx.$slots, "sourcecontrolsend")
580
+ ]))
581
+ : createCommentVNode("", true),
566
582
  createElementVNode("div", _hoisted_2, [
567
583
  (_ctx.$slots.sourceheader)
568
584
  ? (openBlock(), createElementBlock("div", _hoisted_3, [
@@ -667,30 +683,32 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
667
683
  _: 3
668
684
  }, 8, ["style"])
669
685
  ]),
670
- createElementVNode("div", _hoisted_9, [
671
- renderSlot(_ctx.$slots, "targetcontrolsstart"),
672
- createVNode(_component_PLButton, {
673
- type: "button",
674
- icon: "pi pi-angle-up",
675
- onClick: _cache[6] || (_cache[6] = $event => ($options.moveUp($event, 1)))
676
- }),
677
- createVNode(_component_PLButton, {
678
- type: "button",
679
- icon: "pi pi-angle-double-up",
680
- onClick: _cache[7] || (_cache[7] = $event => ($options.moveTop($event, 1)))
681
- }),
682
- createVNode(_component_PLButton, {
683
- type: "button",
684
- icon: "pi pi-angle-down",
685
- onClick: _cache[8] || (_cache[8] = $event => ($options.moveDown($event, 1)))
686
- }),
687
- createVNode(_component_PLButton, {
688
- type: "button",
689
- icon: "pi pi-angle-double-down",
690
- onClick: _cache[9] || (_cache[9] = $event => ($options.moveBottom($event, 1)))
691
- }),
692
- renderSlot(_ctx.$slots, "targetcontrolsend")
693
- ])
686
+ ($props.showTargetControls)
687
+ ? (openBlock(), createElementBlock("div", _hoisted_9, [
688
+ renderSlot(_ctx.$slots, "targetcontrolsstart"),
689
+ createVNode(_component_PLButton, {
690
+ type: "button",
691
+ icon: "pi pi-angle-up",
692
+ onClick: _cache[6] || (_cache[6] = $event => ($options.moveUp($event, 1)))
693
+ }),
694
+ createVNode(_component_PLButton, {
695
+ type: "button",
696
+ icon: "pi pi-angle-double-up",
697
+ onClick: _cache[7] || (_cache[7] = $event => ($options.moveTop($event, 1)))
698
+ }),
699
+ createVNode(_component_PLButton, {
700
+ type: "button",
701
+ icon: "pi pi-angle-down",
702
+ onClick: _cache[8] || (_cache[8] = $event => ($options.moveDown($event, 1)))
703
+ }),
704
+ createVNode(_component_PLButton, {
705
+ type: "button",
706
+ icon: "pi pi-angle-double-down",
707
+ onClick: _cache[9] || (_cache[9] = $event => ($options.moveBottom($event, 1)))
708
+ }),
709
+ renderSlot(_ctx.$slots, "targetcontrolsend")
710
+ ]))
711
+ : createCommentVNode("", true)
694
712
  ], 2))
695
713
  }
696
714
 
@@ -1 +1 @@
1
- import e from"primevue/button";import{ObjectUtils as t,DomHandler as i,UniqueComponentId as l}from"primevue/utils";import n from"primevue/ripple";import{resolveComponent as o,resolveDirective as s,openBlock as r,createElementBlock as c,normalizeClass as a,createElementVNode as d,renderSlot as p,createVNode as u,createCommentVNode as h,TransitionGroup as m,normalizeStyle as f,withCtx as k,Fragment as g,renderList as v,withDirectives as b}from"vue";var y={name:"PickList",emits:["update:modelValue","reorder","update:selection","selection-change","move-to-target","move-to-source","move-all-to-target","move-all-to-source"],props:{modelValue:{type:Array,default:()=>[[],[]]},selection:{type:Array,default:()=>[[],[]]},dataKey:{type:String,default:null},listStyle:{type:null,default:null},metaKeySelection:{type:Boolean,default:!0},responsive:{type:Boolean,default:!0},breakpoint:{type:String,default:"960px"},stripedRows:{type:Boolean,default:!1}},itemTouched:!1,reorderDirection:null,styleElement:null,data(){return{d_selection:this.selection}},updated(){this.reorderDirection&&(this.updateListScroll(this.$refs.sourceList.$el),this.updateListScroll(this.$refs.targetList.$el),this.reorderDirection=null)},beforeUnmount(){this.destroyStyle()},mounted(){this.responsive&&this.createStyle()},watch:{selection(e){this.d_selection=e}},methods:{getItemKey(e,i){return this.dataKey?t.resolveFieldData(e,this.dataKey):i},isSelected(e,i){return-1!=t.findIndexInList(e,this.d_selection[i])},moveUp(e,i){if(this.d_selection&&this.d_selection[i]){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.findIndexInList(i,l);if(0===o)break;{let e=l[o],t=l[o-1];l[o-1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="up",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveTop(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.findIndexInList(i,l);if(0===o)break;{let e=l.splice(o,1)[0];l.unshift(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="top",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveDown(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.findIndexInList(i,l);if(o===l.length-1)break;{let e=l[o],t=l[o+1];l[o+1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="down",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveBottom(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.findIndexInList(i,l);if(o===l.length-1)break;{let e=l.splice(o,1)[0];l.push(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="bottom",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveToTarget(e){let i=this.d_selection&&this.d_selection[0]?this.d_selection[0]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.findIndexInList(o,n)&&n.push(l.splice(t.findIndexInList(o,l),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-target",{originalEvent:e,items:i}),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToTarget(e){if(this.modelValue[0]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-target",{originalEvent:e,items:t}),i=[...i,...t],t=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveToSource(e){let i=this.d_selection&&this.d_selection[1]?this.d_selection[1]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.findIndexInList(o,l)&&l.push(n.splice(t.findIndexInList(o,n),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-source",{originalEvent:e,items:i}),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToSource(e){if(this.modelValue[1]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-source",{originalEvent:e,items:i}),t=[...t,...i],i=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},onItemClick(e,i,l){this.itemTouched=!1;const n=this.d_selection[l],o=t.findIndexInList(i,n),s=-1!=o;let r;if(!this.itemTouched&&this.metaKeySelection){let t=e.metaKey||e.ctrlKey;s&&t?r=n.filter(((e,t)=>t!==o)):(r=t&&n?[...n]:[],r.push(i))}else s?r=n.filter(((e,t)=>t!==o)):(r=n?[...n]:[],r.push(i));let c=[...this.d_selection];c[l]=r,this.d_selection=c,this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})},onItemDblClick(e,t,i){0===i?this.moveToTarget(e):1===i&&this.moveToSource(e)},onItemTouchEnd(){this.itemTouched=!0},onItemKeyDown(e,t,i){let l=e.currentTarget;switch(e.which){case 40:var n=this.findNextItem(l);n&&n.focus(),e.preventDefault();break;case 38:var o=this.findPrevItem(l);o&&o.focus(),e.preventDefault();break;case 13:this.onItemClick(e,t,i),e.preventDefault()}},findNextItem(e){let t=e.nextElementSibling;return t?i.hasClass(t,"p-picklist-item")?t:this.findNextItem(t):null},findPrevItem(e){let t=e.previousElementSibling;return t?i.hasClass(t,"p-picklist-item")?t:this.findPrevItem(t):null},updateListScroll(e){const t=i.find(e,".p-picklist-item.p-highlight");if(t&&t.length)switch(this.reorderDirection){case"up":i.scrollInView(e,t[0]);break;case"top":e.scrollTop=0;break;case"down":i.scrollInView(e,t[t.length-1]);break;case"bottom":e.scrollTop=e.scrollHeight}},createStyle(){if(!this.styleElement){this.$el.setAttribute(this.attributeSelector,""),this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e=`\n@media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.attributeSelector}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-right:before {\n content: "\\e930"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-right:before {\n content: "\\e92c"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-left:before {\n content: "\\e933"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-left:before {\n content: "\\e92f"\n }\n}\n`;this.styleElement.innerHTML=e}},destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{containerClass(){return["p-picklist p-component",{"p-picklist-striped":this.stripedRows}]},sourceList(){return this.modelValue&&this.modelValue[0]?this.modelValue[0]:null},targetList(){return this.modelValue&&this.modelValue[1]?this.modelValue[1]:null},attributeSelector:()=>l()},components:{PLButton:e},directives:{ripple:n}};const x={class:"p-picklist-buttons p-picklist-source-controls"},$={class:"p-picklist-list-wrapper p-picklist-source-wrapper"},I={key:0,class:"p-picklist-header"},w=["onClick","onDblclick","onKeydown","aria-selected"],V={class:"p-picklist-buttons p-picklist-transfer-buttons"},S={class:"p-picklist-list-wrapper p-picklist-target-wrapper"},C={key:0,class:"p-picklist-header"},_=["onClick","onDblclick","onKeydown","aria-selected"],T={class:"p-picklist-buttons p-picklist-target-controls"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&l.firstChild?l.insertBefore(n,l.firstChild):l.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-picklist {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-picklist-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 50%;\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n -webkit-transition: none !important;\n transition: none !important;\n}\n"),y.render=function(e,t,i,l,n,y){const E=o("PLButton"),D=s("ripple");return r(),c("div",{class:a(y.containerClass)},[d("div",x,[p(e.$slots,"sourcecontrolsstart"),u(E,{type:"button",icon:"pi pi-angle-up",onClick:t[0]||(t[0]=e=>y.moveUp(e,0))}),u(E,{type:"button",icon:"pi pi-angle-double-up",onClick:t[1]||(t[1]=e=>y.moveTop(e,0))}),u(E,{type:"button",icon:"pi pi-angle-down",onClick:t[2]||(t[2]=e=>y.moveDown(e,0))}),u(E,{type:"button",icon:"pi pi-angle-double-down",onClick:t[3]||(t[3]=e=>y.moveBottom(e,0))}),p(e.$slots,"sourcecontrolsend")]),d("div",$,[e.$slots.sourceheader?(r(),c("div",I,[p(e.$slots,"sourceheader")])):h("",!0),u(m,{ref:"sourceList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-source",style:f(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:k((()=>[(r(!0),c(g,null,v(y.sourceList,((i,l)=>b((r(),c("li",{key:y.getItemKey(i,l),tabindex:"0",class:a(["p-picklist-item",{"p-highlight":y.isSelected(i,0)}]),onClick:e=>y.onItemClick(e,i,0),onDblclick:e=>y.onItemDblClick(e,i,0),onKeydown:e=>y.onItemKeyDown(e,i,0),onTouchend:t[4]||(t[4]=(...e)=>y.onItemTouchEnd&&y.onItemTouchEnd(...e)),role:"option","aria-selected":y.isSelected(i,0)},[p(e.$slots,"item",{item:i,index:l})],42,w)),[[D]]))),128))])),_:3},8,["style"])]),d("div",V,[p(e.$slots,"movecontrolsstart"),u(E,{type:"button",icon:"pi pi-angle-right",onClick:y.moveToTarget},null,8,["onClick"]),u(E,{type:"button",icon:"pi pi-angle-double-right",onClick:y.moveAllToTarget},null,8,["onClick"]),u(E,{type:"button",icon:"pi pi-angle-left",onClick:y.moveToSource},null,8,["onClick"]),u(E,{type:"button",icon:"pi pi-angle-double-left",onClick:y.moveAllToSource},null,8,["onClick"]),p(e.$slots,"movecontrolsend")]),d("div",S,[e.$slots.targetheader?(r(),c("div",C,[p(e.$slots,"targetheader")])):h("",!0),u(m,{ref:"targetList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-target",style:f(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:k((()=>[(r(!0),c(g,null,v(y.targetList,((i,l)=>b((r(),c("li",{key:y.getItemKey(i,l),tabindex:"0",class:a(["p-picklist-item",{"p-highlight":y.isSelected(i,1)}]),onClick:e=>y.onItemClick(e,i,1),onDblclick:e=>y.onItemDblClick(e,i,1),onKeydown:e=>y.onItemKeyDown(e,i,1),onTouchend:t[5]||(t[5]=(...e)=>y.onItemTouchEnd&&y.onItemTouchEnd(...e)),role:"option","aria-selected":y.isSelected(i,1)},[p(e.$slots,"item",{item:i,index:l})],42,_)),[[D]]))),128))])),_:3},8,["style"])]),d("div",T,[p(e.$slots,"targetcontrolsstart"),u(E,{type:"button",icon:"pi pi-angle-up",onClick:t[6]||(t[6]=e=>y.moveUp(e,1))}),u(E,{type:"button",icon:"pi pi-angle-double-up",onClick:t[7]||(t[7]=e=>y.moveTop(e,1))}),u(E,{type:"button",icon:"pi pi-angle-down",onClick:t[8]||(t[8]=e=>y.moveDown(e,1))}),u(E,{type:"button",icon:"pi pi-angle-double-down",onClick:t[9]||(t[9]=e=>y.moveBottom(e,1))}),p(e.$slots,"targetcontrolsend")])],2)};export{y as default};
1
+ import e from"primevue/button";import{ObjectUtils as t,DomHandler as i,UniqueComponentId as l}from"primevue/utils";import n from"primevue/ripple";import{resolveComponent as o,resolveDirective as s,openBlock as r,createElementBlock as c,normalizeClass as a,renderSlot as d,createVNode as p,createCommentVNode as u,createElementVNode as h,TransitionGroup as m,normalizeStyle as f,withCtx as k,Fragment as g,renderList as v,withDirectives as b}from"vue";var y={name:"PickList",emits:["update:modelValue","reorder","update:selection","selection-change","move-to-target","move-to-source","move-all-to-target","move-all-to-source"],props:{modelValue:{type:Array,default:()=>[[],[]]},selection:{type:Array,default:()=>[[],[]]},dataKey:{type:String,default:null},listStyle:{type:null,default:null},metaKeySelection:{type:Boolean,default:!0},responsive:{type:Boolean,default:!0},breakpoint:{type:String,default:"960px"},stripedRows:{type:Boolean,default:!1},showSourceControls:{type:Boolean,default:!0},showTargetControls:{type:Boolean,default:!0}},itemTouched:!1,reorderDirection:null,styleElement:null,data(){return{d_selection:this.selection}},updated(){this.reorderDirection&&(this.updateListScroll(this.$refs.sourceList.$el),this.updateListScroll(this.$refs.targetList.$el),this.reorderDirection=null)},beforeUnmount(){this.destroyStyle()},mounted(){this.responsive&&this.createStyle()},watch:{selection(e){this.d_selection=e}},methods:{getItemKey(e,i){return this.dataKey?t.resolveFieldData(e,this.dataKey):i},isSelected(e,i){return-1!=t.findIndexInList(e,this.d_selection[i])},moveUp(e,i){if(this.d_selection&&this.d_selection[i]){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.findIndexInList(i,l);if(0===o)break;{let e=l[o],t=l[o-1];l[o-1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="up",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveTop(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.findIndexInList(i,l);if(0===o)break;{let e=l.splice(o,1)[0];l.unshift(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="top",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveDown(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.findIndexInList(i,l);if(o===l.length-1)break;{let e=l[o],t=l[o+1];l[o+1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="down",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveBottom(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.findIndexInList(i,l);if(o===l.length-1)break;{let e=l.splice(o,1)[0];l.push(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="bottom",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveToTarget(e){let i=this.d_selection&&this.d_selection[0]?this.d_selection[0]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.findIndexInList(o,n)&&n.push(l.splice(t.findIndexInList(o,l),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-target",{originalEvent:e,items:i}),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToTarget(e){if(this.modelValue[0]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-target",{originalEvent:e,items:t}),i=[...i,...t],t=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveToSource(e){let i=this.d_selection&&this.d_selection[1]?this.d_selection[1]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.findIndexInList(o,l)&&l.push(n.splice(t.findIndexInList(o,n),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-source",{originalEvent:e,items:i}),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToSource(e){if(this.modelValue[1]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-source",{originalEvent:e,items:i}),t=[...t,...i],i=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},onItemClick(e,i,l){this.itemTouched=!1;const n=this.d_selection[l],o=t.findIndexInList(i,n),s=-1!=o;let r;if(!this.itemTouched&&this.metaKeySelection){let t=e.metaKey||e.ctrlKey;s&&t?r=n.filter(((e,t)=>t!==o)):(r=t&&n?[...n]:[],r.push(i))}else s?r=n.filter(((e,t)=>t!==o)):(r=n?[...n]:[],r.push(i));let c=[...this.d_selection];c[l]=r,this.d_selection=c,this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})},onItemDblClick(e,t,i){0===i?this.moveToTarget(e):1===i&&this.moveToSource(e)},onItemTouchEnd(){this.itemTouched=!0},onItemKeyDown(e,t,i){let l=e.currentTarget;switch(e.which){case 40:var n=this.findNextItem(l);n&&n.focus(),e.preventDefault();break;case 38:var o=this.findPrevItem(l);o&&o.focus(),e.preventDefault();break;case 13:this.onItemClick(e,t,i),e.preventDefault()}},findNextItem(e){let t=e.nextElementSibling;return t?i.hasClass(t,"p-picklist-item")?t:this.findNextItem(t):null},findPrevItem(e){let t=e.previousElementSibling;return t?i.hasClass(t,"p-picklist-item")?t:this.findPrevItem(t):null},updateListScroll(e){const t=i.find(e,".p-picklist-item.p-highlight");if(t&&t.length)switch(this.reorderDirection){case"up":i.scrollInView(e,t[0]);break;case"top":e.scrollTop=0;break;case"down":i.scrollInView(e,t[t.length-1]);break;case"bottom":e.scrollTop=e.scrollHeight}},createStyle(){if(!this.styleElement){this.$el.setAttribute(this.attributeSelector,""),this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e=`\n@media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.attributeSelector}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-right:before {\n content: "\\e930"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-right:before {\n content: "\\e92c"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-left:before {\n content: "\\e933"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-left:before {\n content: "\\e92f"\n }\n}\n`;this.styleElement.innerHTML=e}},destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{containerClass(){return["p-picklist p-component",{"p-picklist-striped":this.stripedRows}]},sourceList(){return this.modelValue&&this.modelValue[0]?this.modelValue[0]:null},targetList(){return this.modelValue&&this.modelValue[1]?this.modelValue[1]:null},attributeSelector:()=>l()},components:{PLButton:e},directives:{ripple:n}};const x={key:0,class:"p-picklist-buttons p-picklist-source-controls"},$={class:"p-picklist-list-wrapper p-picklist-source-wrapper"},I={key:0,class:"p-picklist-header"},w=["onClick","onDblclick","onKeydown","aria-selected"],C={class:"p-picklist-buttons p-picklist-transfer-buttons"},S={class:"p-picklist-list-wrapper p-picklist-target-wrapper"},V={key:0,class:"p-picklist-header"},T=["onClick","onDblclick","onKeydown","aria-selected"],_={key:1,class:"p-picklist-buttons p-picklist-target-controls"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&l.firstChild?l.insertBefore(n,l.firstChild):l.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-picklist {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-picklist-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 50%;\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n -webkit-transition: none !important;\n transition: none !important;\n}\n"),y.render=function(e,t,i,l,n,y){const E=o("PLButton"),D=s("ripple");return r(),c("div",{class:a(y.containerClass)},[i.showSourceControls?(r(),c("div",x,[d(e.$slots,"sourcecontrolsstart"),p(E,{type:"button",icon:"pi pi-angle-up",onClick:t[0]||(t[0]=e=>y.moveUp(e,0))}),p(E,{type:"button",icon:"pi pi-angle-double-up",onClick:t[1]||(t[1]=e=>y.moveTop(e,0))}),p(E,{type:"button",icon:"pi pi-angle-down",onClick:t[2]||(t[2]=e=>y.moveDown(e,0))}),p(E,{type:"button",icon:"pi pi-angle-double-down",onClick:t[3]||(t[3]=e=>y.moveBottom(e,0))}),d(e.$slots,"sourcecontrolsend")])):u("",!0),h("div",$,[e.$slots.sourceheader?(r(),c("div",I,[d(e.$slots,"sourceheader")])):u("",!0),p(m,{ref:"sourceList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-source",style:f(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:k((()=>[(r(!0),c(g,null,v(y.sourceList,((i,l)=>b((r(),c("li",{key:y.getItemKey(i,l),tabindex:"0",class:a(["p-picklist-item",{"p-highlight":y.isSelected(i,0)}]),onClick:e=>y.onItemClick(e,i,0),onDblclick:e=>y.onItemDblClick(e,i,0),onKeydown:e=>y.onItemKeyDown(e,i,0),onTouchend:t[4]||(t[4]=(...e)=>y.onItemTouchEnd&&y.onItemTouchEnd(...e)),role:"option","aria-selected":y.isSelected(i,0)},[d(e.$slots,"item",{item:i,index:l})],42,w)),[[D]]))),128))])),_:3},8,["style"])]),h("div",C,[d(e.$slots,"movecontrolsstart"),p(E,{type:"button",icon:"pi pi-angle-right",onClick:y.moveToTarget},null,8,["onClick"]),p(E,{type:"button",icon:"pi pi-angle-double-right",onClick:y.moveAllToTarget},null,8,["onClick"]),p(E,{type:"button",icon:"pi pi-angle-left",onClick:y.moveToSource},null,8,["onClick"]),p(E,{type:"button",icon:"pi pi-angle-double-left",onClick:y.moveAllToSource},null,8,["onClick"]),d(e.$slots,"movecontrolsend")]),h("div",S,[e.$slots.targetheader?(r(),c("div",V,[d(e.$slots,"targetheader")])):u("",!0),p(m,{ref:"targetList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-target",style:f(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:k((()=>[(r(!0),c(g,null,v(y.targetList,((i,l)=>b((r(),c("li",{key:y.getItemKey(i,l),tabindex:"0",class:a(["p-picklist-item",{"p-highlight":y.isSelected(i,1)}]),onClick:e=>y.onItemClick(e,i,1),onDblclick:e=>y.onItemDblClick(e,i,1),onKeydown:e=>y.onItemKeyDown(e,i,1),onTouchend:t[5]||(t[5]=(...e)=>y.onItemTouchEnd&&y.onItemTouchEnd(...e)),role:"option","aria-selected":y.isSelected(i,1)},[d(e.$slots,"item",{item:i,index:l})],42,T)),[[D]]))),128))])),_:3},8,["style"])]),i.showTargetControls?(r(),c("div",_,[d(e.$slots,"targetcontrolsstart"),p(E,{type:"button",icon:"pi pi-angle-up",onClick:t[6]||(t[6]=e=>y.moveUp(e,1))}),p(E,{type:"button",icon:"pi pi-angle-double-up",onClick:t[7]||(t[7]=e=>y.moveTop(e,1))}),p(E,{type:"button",icon:"pi pi-angle-down",onClick:t[8]||(t[8]=e=>y.moveDown(e,1))}),p(E,{type:"button",icon:"pi pi-angle-double-down",onClick:t[9]||(t[9]=e=>y.moveBottom(e,1))}),d(e.$slots,"targetcontrolsend")])):u("",!0)],2)};export{y as default};
@@ -42,6 +42,14 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
42
42
  stripedRows: {
43
43
  type: Boolean,
44
44
  default: false
45
+ },
46
+ showSourceControls: {
47
+ type: Boolean,
48
+ default: true
49
+ },
50
+ showTargetControls: {
51
+ type: Boolean,
52
+ default: true
45
53
  }
46
54
  },
47
55
  itemTouched: false,
@@ -520,7 +528,10 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
520
528
  }
521
529
  };
522
530
 
523
- const _hoisted_1 = { class: "p-picklist-buttons p-picklist-source-controls" };
531
+ const _hoisted_1 = {
532
+ key: 0,
533
+ class: "p-picklist-buttons p-picklist-source-controls"
534
+ };
524
535
  const _hoisted_2 = { class: "p-picklist-list-wrapper p-picklist-source-wrapper" };
525
536
  const _hoisted_3 = {
526
537
  key: 0,
@@ -534,7 +545,10 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
534
545
  class: "p-picklist-header"
535
546
  };
536
547
  const _hoisted_8 = ["onClick", "onDblclick", "onKeydown", "aria-selected"];
537
- const _hoisted_9 = { class: "p-picklist-buttons p-picklist-target-controls" };
548
+ const _hoisted_9 = {
549
+ key: 1,
550
+ class: "p-picklist-buttons p-picklist-target-controls"
551
+ };
538
552
 
539
553
  function render(_ctx, _cache, $props, $setup, $data, $options) {
540
554
  const _component_PLButton = vue.resolveComponent("PLButton");
@@ -543,30 +557,32 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
543
557
  return (vue.openBlock(), vue.createElementBlock("div", {
544
558
  class: vue.normalizeClass($options.containerClass)
545
559
  }, [
546
- vue.createElementVNode("div", _hoisted_1, [
547
- vue.renderSlot(_ctx.$slots, "sourcecontrolsstart"),
548
- vue.createVNode(_component_PLButton, {
549
- type: "button",
550
- icon: "pi pi-angle-up",
551
- onClick: _cache[0] || (_cache[0] = $event => ($options.moveUp($event, 0)))
552
- }),
553
- vue.createVNode(_component_PLButton, {
554
- type: "button",
555
- icon: "pi pi-angle-double-up",
556
- onClick: _cache[1] || (_cache[1] = $event => ($options.moveTop($event, 0)))
557
- }),
558
- vue.createVNode(_component_PLButton, {
559
- type: "button",
560
- icon: "pi pi-angle-down",
561
- onClick: _cache[2] || (_cache[2] = $event => ($options.moveDown($event, 0)))
562
- }),
563
- vue.createVNode(_component_PLButton, {
564
- type: "button",
565
- icon: "pi pi-angle-double-down",
566
- onClick: _cache[3] || (_cache[3] = $event => ($options.moveBottom($event, 0)))
567
- }),
568
- vue.renderSlot(_ctx.$slots, "sourcecontrolsend")
569
- ]),
560
+ ($props.showSourceControls)
561
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
562
+ vue.renderSlot(_ctx.$slots, "sourcecontrolsstart"),
563
+ vue.createVNode(_component_PLButton, {
564
+ type: "button",
565
+ icon: "pi pi-angle-up",
566
+ onClick: _cache[0] || (_cache[0] = $event => ($options.moveUp($event, 0)))
567
+ }),
568
+ vue.createVNode(_component_PLButton, {
569
+ type: "button",
570
+ icon: "pi pi-angle-double-up",
571
+ onClick: _cache[1] || (_cache[1] = $event => ($options.moveTop($event, 0)))
572
+ }),
573
+ vue.createVNode(_component_PLButton, {
574
+ type: "button",
575
+ icon: "pi pi-angle-down",
576
+ onClick: _cache[2] || (_cache[2] = $event => ($options.moveDown($event, 0)))
577
+ }),
578
+ vue.createVNode(_component_PLButton, {
579
+ type: "button",
580
+ icon: "pi pi-angle-double-down",
581
+ onClick: _cache[3] || (_cache[3] = $event => ($options.moveBottom($event, 0)))
582
+ }),
583
+ vue.renderSlot(_ctx.$slots, "sourcecontrolsend")
584
+ ]))
585
+ : vue.createCommentVNode("", true),
570
586
  vue.createElementVNode("div", _hoisted_2, [
571
587
  (_ctx.$slots.sourceheader)
572
588
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
@@ -671,30 +687,32 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
671
687
  _: 3
672
688
  }, 8, ["style"])
673
689
  ]),
674
- vue.createElementVNode("div", _hoisted_9, [
675
- vue.renderSlot(_ctx.$slots, "targetcontrolsstart"),
676
- vue.createVNode(_component_PLButton, {
677
- type: "button",
678
- icon: "pi pi-angle-up",
679
- onClick: _cache[6] || (_cache[6] = $event => ($options.moveUp($event, 1)))
680
- }),
681
- vue.createVNode(_component_PLButton, {
682
- type: "button",
683
- icon: "pi pi-angle-double-up",
684
- onClick: _cache[7] || (_cache[7] = $event => ($options.moveTop($event, 1)))
685
- }),
686
- vue.createVNode(_component_PLButton, {
687
- type: "button",
688
- icon: "pi pi-angle-down",
689
- onClick: _cache[8] || (_cache[8] = $event => ($options.moveDown($event, 1)))
690
- }),
691
- vue.createVNode(_component_PLButton, {
692
- type: "button",
693
- icon: "pi pi-angle-double-down",
694
- onClick: _cache[9] || (_cache[9] = $event => ($options.moveBottom($event, 1)))
695
- }),
696
- vue.renderSlot(_ctx.$slots, "targetcontrolsend")
697
- ])
690
+ ($props.showTargetControls)
691
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
692
+ vue.renderSlot(_ctx.$slots, "targetcontrolsstart"),
693
+ vue.createVNode(_component_PLButton, {
694
+ type: "button",
695
+ icon: "pi pi-angle-up",
696
+ onClick: _cache[6] || (_cache[6] = $event => ($options.moveUp($event, 1)))
697
+ }),
698
+ vue.createVNode(_component_PLButton, {
699
+ type: "button",
700
+ icon: "pi pi-angle-double-up",
701
+ onClick: _cache[7] || (_cache[7] = $event => ($options.moveTop($event, 1)))
702
+ }),
703
+ vue.createVNode(_component_PLButton, {
704
+ type: "button",
705
+ icon: "pi pi-angle-down",
706
+ onClick: _cache[8] || (_cache[8] = $event => ($options.moveDown($event, 1)))
707
+ }),
708
+ vue.createVNode(_component_PLButton, {
709
+ type: "button",
710
+ icon: "pi pi-angle-double-down",
711
+ onClick: _cache[9] || (_cache[9] = $event => ($options.moveBottom($event, 1)))
712
+ }),
713
+ vue.renderSlot(_ctx.$slots, "targetcontrolsend")
714
+ ]))
715
+ : vue.createCommentVNode("", true)
698
716
  ], 2))
699
717
  }
700
718
 
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.picklist=function(e,t,i,l){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e),s=n(i),r={name:"PickList",emits:["update:modelValue","reorder","update:selection","selection-change","move-to-target","move-to-source","move-all-to-target","move-all-to-source"],props:{modelValue:{type:Array,default:()=>[[],[]]},selection:{type:Array,default:()=>[[],[]]},dataKey:{type:String,default:null},listStyle:{type:null,default:null},metaKeySelection:{type:Boolean,default:!0},responsive:{type:Boolean,default:!0},breakpoint:{type:String,default:"960px"},stripedRows:{type:Boolean,default:!1}},itemTouched:!1,reorderDirection:null,styleElement:null,data(){return{d_selection:this.selection}},updated(){this.reorderDirection&&(this.updateListScroll(this.$refs.sourceList.$el),this.updateListScroll(this.$refs.targetList.$el),this.reorderDirection=null)},beforeUnmount(){this.destroyStyle()},mounted(){this.responsive&&this.createStyle()},watch:{selection(e){this.d_selection=e}},methods:{getItemKey(e,i){return this.dataKey?t.ObjectUtils.resolveFieldData(e,this.dataKey):i},isSelected(e,i){return-1!=t.ObjectUtils.findIndexInList(e,this.d_selection[i])},moveUp(e,i){if(this.d_selection&&this.d_selection[i]){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.ObjectUtils.findIndexInList(i,l);if(0===o)break;{let e=l[o],t=l[o-1];l[o-1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="up",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveTop(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.ObjectUtils.findIndexInList(i,l);if(0===o)break;{let e=l.splice(o,1)[0];l.unshift(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="top",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveDown(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.ObjectUtils.findIndexInList(i,l);if(o===l.length-1)break;{let e=l[o],t=l[o+1];l[o+1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="down",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveBottom(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.ObjectUtils.findIndexInList(i,l);if(o===l.length-1)break;{let e=l.splice(o,1)[0];l.push(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="bottom",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveToTarget(e){let i=this.d_selection&&this.d_selection[0]?this.d_selection[0]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.ObjectUtils.findIndexInList(o,n)&&n.push(l.splice(t.ObjectUtils.findIndexInList(o,l),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-target",{originalEvent:e,items:i}),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToTarget(e){if(this.modelValue[0]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-target",{originalEvent:e,items:t}),i=[...i,...t],t=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveToSource(e){let i=this.d_selection&&this.d_selection[1]?this.d_selection[1]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.ObjectUtils.findIndexInList(o,l)&&l.push(n.splice(t.ObjectUtils.findIndexInList(o,n),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-source",{originalEvent:e,items:i}),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToSource(e){if(this.modelValue[1]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-source",{originalEvent:e,items:i}),t=[...t,...i],i=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},onItemClick(e,i,l){this.itemTouched=!1;const n=this.d_selection[l],o=t.ObjectUtils.findIndexInList(i,n),s=-1!=o;let r;if(!this.itemTouched&&this.metaKeySelection){let t=e.metaKey||e.ctrlKey;s&&t?r=n.filter(((e,t)=>t!==o)):(r=t&&n?[...n]:[],r.push(i))}else s?r=n.filter(((e,t)=>t!==o)):(r=n?[...n]:[],r.push(i));let c=[...this.d_selection];c[l]=r,this.d_selection=c,this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})},onItemDblClick(e,t,i){0===i?this.moveToTarget(e):1===i&&this.moveToSource(e)},onItemTouchEnd(){this.itemTouched=!0},onItemKeyDown(e,t,i){let l=e.currentTarget;switch(e.which){case 40:var n=this.findNextItem(l);n&&n.focus(),e.preventDefault();break;case 38:var o=this.findPrevItem(l);o&&o.focus(),e.preventDefault();break;case 13:this.onItemClick(e,t,i),e.preventDefault()}},findNextItem(e){let i=e.nextElementSibling;return i?t.DomHandler.hasClass(i,"p-picklist-item")?i:this.findNextItem(i):null},findPrevItem(e){let i=e.previousElementSibling;return i?t.DomHandler.hasClass(i,"p-picklist-item")?i:this.findPrevItem(i):null},updateListScroll(e){const i=t.DomHandler.find(e,".p-picklist-item.p-highlight");if(i&&i.length)switch(this.reorderDirection){case"up":t.DomHandler.scrollInView(e,i[0]);break;case"top":e.scrollTop=0;break;case"down":t.DomHandler.scrollInView(e,i[i.length-1]);break;case"bottom":e.scrollTop=e.scrollHeight}},createStyle(){if(!this.styleElement){this.$el.setAttribute(this.attributeSelector,""),this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e=`\n@media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.attributeSelector}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-right:before {\n content: "\\e930"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-right:before {\n content: "\\e92c"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-left:before {\n content: "\\e933"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-left:before {\n content: "\\e92f"\n }\n}\n`;this.styleElement.innerHTML=e}},destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{containerClass(){return["p-picklist p-component",{"p-picklist-striped":this.stripedRows}]},sourceList(){return this.modelValue&&this.modelValue[0]?this.modelValue[0]:null},targetList(){return this.modelValue&&this.modelValue[1]?this.modelValue[1]:null},attributeSelector:()=>t.UniqueComponentId()},components:{PLButton:o.default},directives:{ripple:s.default}};const c={class:"p-picklist-buttons p-picklist-source-controls"},a={class:"p-picklist-list-wrapper p-picklist-source-wrapper"},d={key:0,class:"p-picklist-header"},p=["onClick","onDblclick","onKeydown","aria-selected"],m={class:"p-picklist-buttons p-picklist-transfer-buttons"},u={class:"p-picklist-list-wrapper p-picklist-target-wrapper"},h={key:0,class:"p-picklist-header"},k=["onClick","onDblclick","onKeydown","aria-selected"],f={class:"p-picklist-buttons p-picklist-target-controls"};return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&l.firstChild?l.insertBefore(n,l.firstChild):l.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-picklist {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-picklist-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 50%;\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n -webkit-transition: none !important;\n transition: none !important;\n}\n"),r.render=function(e,t,i,n,o,s){const r=l.resolveComponent("PLButton"),b=l.resolveDirective("ripple");return l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(s.containerClass)},[l.createElementVNode("div",c,[l.renderSlot(e.$slots,"sourcecontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-up",onClick:t[0]||(t[0]=e=>s.moveUp(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-up",onClick:t[1]||(t[1]=e=>s.moveTop(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-down",onClick:t[2]||(t[2]=e=>s.moveDown(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-down",onClick:t[3]||(t[3]=e=>s.moveBottom(e,0))}),l.renderSlot(e.$slots,"sourcecontrolsend")]),l.createElementVNode("div",a,[e.$slots.sourceheader?(l.openBlock(),l.createElementBlock("div",d,[l.renderSlot(e.$slots,"sourceheader")])):l.createCommentVNode("",!0),l.createVNode(l.TransitionGroup,{ref:"sourceList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-source",style:l.normalizeStyle(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:l.withCtx((()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.sourceList,((i,n)=>l.withDirectives((l.openBlock(),l.createElementBlock("li",{key:s.getItemKey(i,n),tabindex:"0",class:l.normalizeClass(["p-picklist-item",{"p-highlight":s.isSelected(i,0)}]),onClick:e=>s.onItemClick(e,i,0),onDblclick:e=>s.onItemDblClick(e,i,0),onKeydown:e=>s.onItemKeyDown(e,i,0),onTouchend:t[4]||(t[4]=(...e)=>s.onItemTouchEnd&&s.onItemTouchEnd(...e)),role:"option","aria-selected":s.isSelected(i,0)},[l.renderSlot(e.$slots,"item",{item:i,index:n})],42,p)),[[b]]))),128))])),_:3},8,["style"])]),l.createElementVNode("div",m,[l.renderSlot(e.$slots,"movecontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-right",onClick:s.moveToTarget},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-right",onClick:s.moveAllToTarget},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-left",onClick:s.moveToSource},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-left",onClick:s.moveAllToSource},null,8,["onClick"]),l.renderSlot(e.$slots,"movecontrolsend")]),l.createElementVNode("div",u,[e.$slots.targetheader?(l.openBlock(),l.createElementBlock("div",h,[l.renderSlot(e.$slots,"targetheader")])):l.createCommentVNode("",!0),l.createVNode(l.TransitionGroup,{ref:"targetList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-target",style:l.normalizeStyle(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:l.withCtx((()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.targetList,((i,n)=>l.withDirectives((l.openBlock(),l.createElementBlock("li",{key:s.getItemKey(i,n),tabindex:"0",class:l.normalizeClass(["p-picklist-item",{"p-highlight":s.isSelected(i,1)}]),onClick:e=>s.onItemClick(e,i,1),onDblclick:e=>s.onItemDblClick(e,i,1),onKeydown:e=>s.onItemKeyDown(e,i,1),onTouchend:t[5]||(t[5]=(...e)=>s.onItemTouchEnd&&s.onItemTouchEnd(...e)),role:"option","aria-selected":s.isSelected(i,1)},[l.renderSlot(e.$slots,"item",{item:i,index:n})],42,k)),[[b]]))),128))])),_:3},8,["style"])]),l.createElementVNode("div",f,[l.renderSlot(e.$slots,"targetcontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-up",onClick:t[6]||(t[6]=e=>s.moveUp(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-up",onClick:t[7]||(t[7]=e=>s.moveTop(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-down",onClick:t[8]||(t[8]=e=>s.moveDown(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-down",onClick:t[9]||(t[9]=e=>s.moveBottom(e,1))}),l.renderSlot(e.$slots,"targetcontrolsend")])],2)},r}(primevue.button,primevue.utils,primevue.ripple,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.picklist=function(e,t,i,l){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=o(e),s=o(i),r={name:"PickList",emits:["update:modelValue","reorder","update:selection","selection-change","move-to-target","move-to-source","move-all-to-target","move-all-to-source"],props:{modelValue:{type:Array,default:()=>[[],[]]},selection:{type:Array,default:()=>[[],[]]},dataKey:{type:String,default:null},listStyle:{type:null,default:null},metaKeySelection:{type:Boolean,default:!0},responsive:{type:Boolean,default:!0},breakpoint:{type:String,default:"960px"},stripedRows:{type:Boolean,default:!1},showSourceControls:{type:Boolean,default:!0},showTargetControls:{type:Boolean,default:!0}},itemTouched:!1,reorderDirection:null,styleElement:null,data(){return{d_selection:this.selection}},updated(){this.reorderDirection&&(this.updateListScroll(this.$refs.sourceList.$el),this.updateListScroll(this.$refs.targetList.$el),this.reorderDirection=null)},beforeUnmount(){this.destroyStyle()},mounted(){this.responsive&&this.createStyle()},watch:{selection(e){this.d_selection=e}},methods:{getItemKey(e,i){return this.dataKey?t.ObjectUtils.resolveFieldData(e,this.dataKey):i},isSelected(e,i){return-1!=t.ObjectUtils.findIndexInList(e,this.d_selection[i])},moveUp(e,i){if(this.d_selection&&this.d_selection[i]){let l=[...this.modelValue[i]],o=this.d_selection[i];for(let e=0;e<o.length;e++){let i=o[e],n=t.ObjectUtils.findIndexInList(i,l);if(0===n)break;{let e=l[n],t=l[n-1];l[n-1]=e,l[n]=t}}let n=[...this.modelValue];n[i]=l,this.reorderDirection="up",this.$emit("update:modelValue",n),this.$emit("reorder",{originalEvent:e,value:n,direction:this.reorderDirection,listIndex:i})}},moveTop(e,i){if(this.d_selection){let l=[...this.modelValue[i]],o=this.d_selection[i];for(let e=0;e<o.length;e++){let i=o[e],n=t.ObjectUtils.findIndexInList(i,l);if(0===n)break;{let e=l.splice(n,1)[0];l.unshift(e)}}let n=[...this.modelValue];n[i]=l,this.reorderDirection="top",this.$emit("update:modelValue",n),this.$emit("reorder",{originalEvent:e,value:n,direction:this.reorderDirection,listIndex:i})}},moveDown(e,i){if(this.d_selection){let l=[...this.modelValue[i]],o=this.d_selection[i];for(let e=o.length-1;e>=0;e--){let i=o[e],n=t.ObjectUtils.findIndexInList(i,l);if(n===l.length-1)break;{let e=l[n],t=l[n+1];l[n+1]=e,l[n]=t}}let n=[...this.modelValue];n[i]=l,this.reorderDirection="down",this.$emit("update:modelValue",n),this.$emit("reorder",{originalEvent:e,value:n,direction:this.reorderDirection,listIndex:i})}},moveBottom(e,i){if(this.d_selection){let l=[...this.modelValue[i]],o=this.d_selection[i];for(let e=o.length-1;e>=0;e--){let i=o[e],n=t.ObjectUtils.findIndexInList(i,l);if(n===l.length-1)break;{let e=l.splice(n,1)[0];l.push(e)}}let n=[...this.modelValue];n[i]=l,this.reorderDirection="bottom",this.$emit("update:modelValue",n),this.$emit("reorder",{originalEvent:e,value:n,direction:this.reorderDirection,listIndex:i})}},moveToTarget(e){let i=this.d_selection&&this.d_selection[0]?this.d_selection[0]:null,l=[...this.modelValue[0]],o=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let n=i[e];-1==t.ObjectUtils.findIndexInList(n,o)&&o.push(l.splice(t.ObjectUtils.findIndexInList(n,l),1)[0])}let n=[...this.modelValue];n[0]=l,n[1]=o,this.$emit("update:modelValue",n),this.$emit("move-to-target",{originalEvent:e,items:i}),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToTarget(e){if(this.modelValue[0]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-target",{originalEvent:e,items:t}),i=[...i,...t],t=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveToSource(e){let i=this.d_selection&&this.d_selection[1]?this.d_selection[1]:null,l=[...this.modelValue[0]],o=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let n=i[e];-1==t.ObjectUtils.findIndexInList(n,l)&&l.push(o.splice(t.ObjectUtils.findIndexInList(n,o),1)[0])}let n=[...this.modelValue];n[0]=l,n[1]=o,this.$emit("update:modelValue",n),this.$emit("move-to-source",{originalEvent:e,items:i}),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToSource(e){if(this.modelValue[1]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-source",{originalEvent:e,items:i}),t=[...t,...i],i=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},onItemClick(e,i,l){this.itemTouched=!1;const o=this.d_selection[l],n=t.ObjectUtils.findIndexInList(i,o),s=-1!=n;let r;if(!this.itemTouched&&this.metaKeySelection){let t=e.metaKey||e.ctrlKey;s&&t?r=o.filter(((e,t)=>t!==n)):(r=t&&o?[...o]:[],r.push(i))}else s?r=o.filter(((e,t)=>t!==n)):(r=o?[...o]:[],r.push(i));let c=[...this.d_selection];c[l]=r,this.d_selection=c,this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})},onItemDblClick(e,t,i){0===i?this.moveToTarget(e):1===i&&this.moveToSource(e)},onItemTouchEnd(){this.itemTouched=!0},onItemKeyDown(e,t,i){let l=e.currentTarget;switch(e.which){case 40:var o=this.findNextItem(l);o&&o.focus(),e.preventDefault();break;case 38:var n=this.findPrevItem(l);n&&n.focus(),e.preventDefault();break;case 13:this.onItemClick(e,t,i),e.preventDefault()}},findNextItem(e){let i=e.nextElementSibling;return i?t.DomHandler.hasClass(i,"p-picklist-item")?i:this.findNextItem(i):null},findPrevItem(e){let i=e.previousElementSibling;return i?t.DomHandler.hasClass(i,"p-picklist-item")?i:this.findPrevItem(i):null},updateListScroll(e){const i=t.DomHandler.find(e,".p-picklist-item.p-highlight");if(i&&i.length)switch(this.reorderDirection){case"up":t.DomHandler.scrollInView(e,i[0]);break;case"top":e.scrollTop=0;break;case"down":t.DomHandler.scrollInView(e,i[i.length-1]);break;case"bottom":e.scrollTop=e.scrollHeight}},createStyle(){if(!this.styleElement){this.$el.setAttribute(this.attributeSelector,""),this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e=`\n@media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.attributeSelector}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-right:before {\n content: "\\e930"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-right:before {\n content: "\\e92c"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-left:before {\n content: "\\e933"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-left:before {\n content: "\\e92f"\n }\n}\n`;this.styleElement.innerHTML=e}},destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{containerClass(){return["p-picklist p-component",{"p-picklist-striped":this.stripedRows}]},sourceList(){return this.modelValue&&this.modelValue[0]?this.modelValue[0]:null},targetList(){return this.modelValue&&this.modelValue[1]?this.modelValue[1]:null},attributeSelector:()=>t.UniqueComponentId()},components:{PLButton:n.default},directives:{ripple:s.default}};const c={key:0,class:"p-picklist-buttons p-picklist-source-controls"},a={class:"p-picklist-list-wrapper p-picklist-source-wrapper"},d={key:0,class:"p-picklist-header"},p=["onClick","onDblclick","onKeydown","aria-selected"],m={class:"p-picklist-buttons p-picklist-transfer-buttons"},u={class:"p-picklist-list-wrapper p-picklist-target-wrapper"},h={key:0,class:"p-picklist-header"},k=["onClick","onDblclick","onKeydown","aria-selected"],f={key:1,class:"p-picklist-buttons p-picklist-target-controls"};return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===i&&l.firstChild?l.insertBefore(o,l.firstChild):l.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("\n.p-picklist {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-picklist-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 50%;\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n -webkit-transition: none !important;\n transition: none !important;\n}\n"),r.render=function(e,t,i,o,n,s){const r=l.resolveComponent("PLButton"),g=l.resolveDirective("ripple");return l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(s.containerClass)},[i.showSourceControls?(l.openBlock(),l.createElementBlock("div",c,[l.renderSlot(e.$slots,"sourcecontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-up",onClick:t[0]||(t[0]=e=>s.moveUp(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-up",onClick:t[1]||(t[1]=e=>s.moveTop(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-down",onClick:t[2]||(t[2]=e=>s.moveDown(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-down",onClick:t[3]||(t[3]=e=>s.moveBottom(e,0))}),l.renderSlot(e.$slots,"sourcecontrolsend")])):l.createCommentVNode("",!0),l.createElementVNode("div",a,[e.$slots.sourceheader?(l.openBlock(),l.createElementBlock("div",d,[l.renderSlot(e.$slots,"sourceheader")])):l.createCommentVNode("",!0),l.createVNode(l.TransitionGroup,{ref:"sourceList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-source",style:l.normalizeStyle(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:l.withCtx((()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.sourceList,((i,o)=>l.withDirectives((l.openBlock(),l.createElementBlock("li",{key:s.getItemKey(i,o),tabindex:"0",class:l.normalizeClass(["p-picklist-item",{"p-highlight":s.isSelected(i,0)}]),onClick:e=>s.onItemClick(e,i,0),onDblclick:e=>s.onItemDblClick(e,i,0),onKeydown:e=>s.onItemKeyDown(e,i,0),onTouchend:t[4]||(t[4]=(...e)=>s.onItemTouchEnd&&s.onItemTouchEnd(...e)),role:"option","aria-selected":s.isSelected(i,0)},[l.renderSlot(e.$slots,"item",{item:i,index:o})],42,p)),[[g]]))),128))])),_:3},8,["style"])]),l.createElementVNode("div",m,[l.renderSlot(e.$slots,"movecontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-right",onClick:s.moveToTarget},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-right",onClick:s.moveAllToTarget},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-left",onClick:s.moveToSource},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-left",onClick:s.moveAllToSource},null,8,["onClick"]),l.renderSlot(e.$slots,"movecontrolsend")]),l.createElementVNode("div",u,[e.$slots.targetheader?(l.openBlock(),l.createElementBlock("div",h,[l.renderSlot(e.$slots,"targetheader")])):l.createCommentVNode("",!0),l.createVNode(l.TransitionGroup,{ref:"targetList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-target",style:l.normalizeStyle(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:l.withCtx((()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.targetList,((i,o)=>l.withDirectives((l.openBlock(),l.createElementBlock("li",{key:s.getItemKey(i,o),tabindex:"0",class:l.normalizeClass(["p-picklist-item",{"p-highlight":s.isSelected(i,1)}]),onClick:e=>s.onItemClick(e,i,1),onDblclick:e=>s.onItemDblClick(e,i,1),onKeydown:e=>s.onItemKeyDown(e,i,1),onTouchend:t[5]||(t[5]=(...e)=>s.onItemTouchEnd&&s.onItemTouchEnd(...e)),role:"option","aria-selected":s.isSelected(i,1)},[l.renderSlot(e.$slots,"item",{item:i,index:o})],42,k)),[[g]]))),128))])),_:3},8,["style"])]),i.showTargetControls?(l.openBlock(),l.createElementBlock("div",f,[l.renderSlot(e.$slots,"targetcontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-up",onClick:t[6]||(t[6]=e=>s.moveUp(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-up",onClick:t[7]||(t[7]=e=>s.moveTop(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-down",onClick:t[8]||(t[8]=e=>s.moveDown(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-down",onClick:t[9]||(t[9]=e=>s.moveBottom(e,1))}),l.renderSlot(e.$slots,"targetcontrolsend")])):l.createCommentVNode("",!0)],2)},r}(primevue.button,primevue.utils,primevue.ripple,Vue);
@@ -1,7 +1,7 @@
1
1
  import { VNode } from 'vue';
2
2
  import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
3
3
 
4
- type PortalAppendToType = 'body' | 'self' | string | undefined;
4
+ type PortalAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
5
5
 
6
6
  export interface PortalProps {
7
7
  /**
@@ -10,13 +10,37 @@ export interface RadioButtonProps {
10
10
  */
11
11
  modelValue?: any;
12
12
  /**
13
- * Style class of the component input field.
13
+ * Name of the input element.
14
14
  */
15
- class?: any;
15
+ name?: string | undefined;
16
16
  /**
17
- * Inline style of the component.
17
+ * When present, it specifies that the component should be disabled.
18
18
  */
19
- style?: any;
19
+ disabled?: boolean | undefined;
20
+ /**
21
+ * Identifier of the underlying input element.
22
+ */
23
+ inputId?: string | undefined;
24
+ /**
25
+ * Inline style of the input field.
26
+ */
27
+ inputStyle?: any;
28
+ /**
29
+ * Style class of the input field.
30
+ */
31
+ inputClass?: any;
32
+ /**
33
+ * Uses to pass all properties of the HTMLInputElement to the focusable input element inside the component.
34
+ */
35
+ inputProps?: HTMLInputElement | undefined;
36
+ /**
37
+ * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
38
+ */
39
+ 'aria-labelledby'?: string | undefined;
40
+ /**
41
+ * Establishes a string value that labels the component.
42
+ */
43
+ 'aria-label'?: string | undefined;
20
44
  }
21
45
 
22
46
  export interface RadioButtonSlots {
@@ -1,9 +1,10 @@
1
1
  <template>
2
- <div :class="containerClass" @click="onClick($event)" :style="style">
2
+ <div :class="containerClass" @click="onClick($event)">
3
3
  <div class="p-hidden-accessible">
4
- <input ref="input" type="radio" :checked="checked" :value="value" v-bind="$attrs" @focus="onFocus" @blur="onBlur">
4
+ <input ref="input" type="radio" :id="inputId" :class="inputClass" :style="inputStyle" :name="name" :checked="checked" :disabled="disabled" :value="value" :aria-labelledby="ariaLabelledby" :aria-label="ariaLabel"
5
+ @focus="onFocus" @blur="onBlur" v-bind="inputProps">
5
6
  </div>
6
- <div ref="box" :class="['p-radiobutton-box', {'p-highlight': checked, 'p-disabled': $attrs.disabled, 'p-focus': focused}]" role="radio" :aria-checked="checked">
7
+ <div ref="box" :class="['p-radiobutton-box', {'p-highlight': checked, 'p-disabled': disabled, 'p-focus': focused}]">
7
8
  <div class="p-radiobutton-icon"></div>
8
9
  </div>
9
10
  </div>
@@ -14,13 +15,30 @@ import {ObjectUtils} from 'primevue/utils';
14
15
 
15
16
  export default {
16
17
  name: 'RadioButton',
17
- inheritAttrs: false,
18
- emits: ['click', 'update:modelValue', 'change'],
18
+ emits: ['click', 'update:modelValue', 'change', 'focus', 'blur'],
19
19
  props: {
20
20
  value: null,
21
21
  modelValue: null,
22
- class: null,
23
- style: null
22
+ name: {
23
+ type: String,
24
+ default: null
25
+ },
26
+ disabled: {
27
+ type: Boolean,
28
+ default: false
29
+ },
30
+ inputId: null,
31
+ inputClass: null,
32
+ inputStyle: null,
33
+ inputProps: null,
34
+ 'aria-labelledby': {
35
+ type: String,
36
+ default: null
37
+ },
38
+ 'aria-label': {
39
+ type: String,
40
+ default: null
41
+ }
24
42
  },
25
43
  data() {
26
44
  return {
@@ -29,7 +47,7 @@ export default {
29
47
  },
30
48
  methods: {
31
49
  onClick(event) {
32
- if (!this.$attrs.disabled) {
50
+ if (!this.disabled) {
33
51
  this.$emit('click', event);
34
52
  this.$emit('update:modelValue', this.value);
35
53
  this.$refs.input.focus();
@@ -39,11 +57,13 @@ export default {
39
57
  }
40
58
  }
41
59
  },
42
- onFocus() {
60
+ onFocus(event) {
43
61
  this.focused = true;
62
+ this.$emit('focus', event);
44
63
  },
45
- onBlur() {
64
+ onBlur(event) {
46
65
  this.focused = false;
66
+ this.$emit('blur', event);
47
67
  }
48
68
  },
49
69
  computed: {
@@ -51,7 +71,12 @@ export default {
51
71
  return this.modelValue != null && ObjectUtils.equals(this.modelValue, this.value);
52
72
  },
53
73
  containerClass() {
54
- return ['p-radiobutton p-component', this.class, {'p-radiobutton-checked': this.checked, 'p-radiobutton-disabled': this.$attrs.disabled, 'p-radiobutton-focused': this.focused}];
74
+ return [
75
+ 'p-radiobutton p-component', {
76
+ 'p-radiobutton-checked': this.checked,
77
+ 'p-radiobutton-disabled': this.disabled,
78
+ 'p-radiobutton-focused': this.focused
79
+ }];
55
80
  }
56
81
  }
57
82
  }