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
@@ -10,8 +10,7 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
10
10
 
11
11
  var script = {
12
12
  name: 'Password',
13
- emits: ['update:modelValue'],
14
- inheritAttrs: false,
13
+ emits: ['update:modelValue', 'change', 'focus', 'blur'],
15
14
  props: {
16
15
  modelValue: String,
17
16
  promptLabel: {
@@ -58,11 +57,30 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
58
57
  type: String,
59
58
  default: 'pi pi-eye'
60
59
  },
60
+ disabled: {
61
+ type: Boolean,
62
+ default: false
63
+ },
64
+ placeholder: {
65
+ type: String,
66
+ default: null
67
+ },
68
+ inputId: null,
61
69
  inputClass: null,
62
70
  inputStyle: null,
63
- style: null,
64
- class: String,
65
- panelClass: String
71
+ inputProps: null,
72
+ panelId: null,
73
+ panelClass: null,
74
+ panelStyle: null,
75
+ panelProps: null,
76
+ 'aria-labelledby': {
77
+ type: String,
78
+ default: null
79
+ },
80
+ 'aria-label': {
81
+ type: String,
82
+ default: null
83
+ }
66
84
  },
67
85
  data() {
68
86
  return {
@@ -134,17 +152,21 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
134
152
  onInput(event) {
135
153
  this.$emit('update:modelValue', event.target.value);
136
154
  },
137
- onFocus() {
155
+ onFocus(event) {
138
156
  this.focused = true;
139
157
  if (this.feedback) {
140
158
  this.overlayVisible = true;
141
159
  }
160
+
161
+ this.$emit('focus', event);
142
162
  },
143
- onBlur() {
163
+ onBlur(event) {
144
164
  this.focused = false;
145
165
  if (this.feedback) {
146
166
  this.overlayVisible = false;
147
167
  }
168
+
169
+ this.$emit('blur', event);
148
170
  },
149
171
  onKeyUp(event) {
150
172
  if (this.feedback) {
@@ -186,6 +208,12 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
186
208
  this.meter = meter;
187
209
  this.infoText = label;
188
210
 
211
+ //escape
212
+ if (event.which === 27) {
213
+ this.overlayVisible && (this.overlayVisible = false);
214
+ return;
215
+ }
216
+
189
217
  if (!this.overlayVisible) {
190
218
  this.overlayVisible = true;
191
219
  }
@@ -238,15 +266,15 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
238
266
  },
239
267
  computed: {
240
268
  containerClass() {
241
- return ['p-password p-component p-inputwrapper', this.class, {
269
+ return ['p-password p-component p-inputwrapper', {
242
270
  'p-inputwrapper-filled': this.filled,
243
271
  'p-inputwrapper-focus': this.focused,
244
272
  'p-input-icon-right': this.toggleMask
245
273
  }];
246
274
  },
247
275
  inputFieldClass() {
248
- return ['p-password-input', this.inputClass, {
249
- 'p-disabled': this.$attrs.disabled
276
+ return ['p-password-input', {
277
+ 'p-disabled': this.disabled
250
278
  }];
251
279
  },
252
280
  panelStyleClass() {
@@ -278,6 +306,9 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
278
306
  },
279
307
  promptText() {
280
308
  return this.promptLabel || this.$primevue.config.locale.passwordPrompt;
309
+ },
310
+ panelUniqueId() {
311
+ return utils.UniqueComponentId() + '_panel';
281
312
  }
282
313
  },
283
314
  components: {
@@ -286,28 +317,39 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
286
317
  }
287
318
  };
288
319
 
289
- const _hoisted_1 = { class: "p-password-meter" };
290
- const _hoisted_2 = { class: "p-password-info" };
320
+ const _hoisted_1 = {
321
+ class: "p-hidden-accessible",
322
+ "aria-live": "polite"
323
+ };
324
+ const _hoisted_2 = ["id"];
325
+ const _hoisted_3 = { class: "p-password-meter" };
326
+ const _hoisted_4 = { class: "p-password-info" };
291
327
 
292
328
  function render(_ctx, _cache, $props, $setup, $data, $options) {
293
329
  const _component_PInputText = vue.resolveComponent("PInputText");
294
330
  const _component_Portal = vue.resolveComponent("Portal");
295
331
 
296
332
  return (vue.openBlock(), vue.createElementBlock("div", {
297
- class: vue.normalizeClass($options.containerClass),
298
- style: vue.normalizeStyle($props.style)
333
+ class: vue.normalizeClass($options.containerClass)
299
334
  }, [
300
335
  vue.createVNode(_component_PInputText, vue.mergeProps({
301
336
  ref: "input",
302
- class: $options.inputFieldClass,
303
- style: $props.inputStyle,
337
+ id: $props.inputId,
304
338
  type: $options.inputType,
339
+ class: $props.inputClass,
340
+ style: $props.inputStyle,
305
341
  value: $props.modelValue,
342
+ "aria-labelledby": _ctx.ariaLabelledby,
343
+ "aria-label": _ctx.ariaLabel,
344
+ "aria-controls": ($props.panelProps&&$props.panelProps.id)||$props.panelId||$options.panelUniqueId,
345
+ "aria-expanded": $data.overlayVisible,
346
+ "aria-haspopup": true,
347
+ placeholder: $props.placeholder,
306
348
  onInput: $options.onInput,
307
349
  onFocus: $options.onFocus,
308
350
  onBlur: $options.onBlur,
309
351
  onKeyup: $options.onKeyUp
310
- }, _ctx.$attrs), null, 16, ["class", "style", "type", "value", "onInput", "onFocus", "onBlur", "onKeyup"]),
352
+ }, $props.inputProps), null, 16, ["id", "type", "class", "style", "value", "aria-labelledby", "aria-label", "aria-controls", "aria-expanded", "placeholder", "onInput", "onFocus", "onBlur", "onKeyup"]),
311
353
  ($props.toggleMask)
312
354
  ? (vue.openBlock(), vue.createElementBlock("i", {
313
355
  key: 0,
@@ -315,6 +357,7 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
315
357
  onClick: _cache[0] || (_cache[0] = (...args) => ($options.onMaskToggle && $options.onMaskToggle(...args)))
316
358
  }, null, 2))
317
359
  : vue.createCommentVNode("", true),
360
+ vue.createElementVNode("span", _hoisted_1, vue.toDisplayString($data.infoText), 1),
318
361
  vue.createVNode(_component_Portal, { appendTo: $props.appendTo }, {
319
362
  default: vue.withCtx(() => [
320
363
  vue.createVNode(vue.Transition, {
@@ -325,24 +368,26 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
325
368
  }, {
326
369
  default: vue.withCtx(() => [
327
370
  ($data.overlayVisible)
328
- ? (vue.openBlock(), vue.createElementBlock("div", {
371
+ ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
329
372
  key: 0,
330
373
  ref: $options.overlayRef,
331
- class: vue.normalizeClass($options.panelStyleClass),
374
+ id: $props.panelId||$options.panelUniqueId,
375
+ class: $options.panelStyleClass,
376
+ style: $props.panelStyle,
332
377
  onClick: _cache[1] || (_cache[1] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
333
- }, [
378
+ }, $props.panelProps), [
334
379
  vue.renderSlot(_ctx.$slots, "header"),
335
380
  vue.renderSlot(_ctx.$slots, "content", {}, () => [
336
- vue.createElementVNode("div", _hoisted_1, [
381
+ vue.createElementVNode("div", _hoisted_3, [
337
382
  vue.createElementVNode("div", {
338
383
  class: vue.normalizeClass($options.strengthClass),
339
384
  style: vue.normalizeStyle({'width': $data.meter ? $data.meter.width : ''})
340
385
  }, null, 6)
341
386
  ]),
342
- vue.createElementVNode("div", _hoisted_2, vue.toDisplayString($data.infoText), 1)
387
+ vue.createElementVNode("div", _hoisted_4, vue.toDisplayString($data.infoText), 1)
343
388
  ]),
344
389
  vue.renderSlot(_ctx.$slots, "footer")
345
- ], 2))
390
+ ], 16, _hoisted_2))
346
391
  : vue.createCommentVNode("", true)
347
392
  ]),
348
393
  _: 3
@@ -350,7 +395,7 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, v
350
395
  ]),
351
396
  _: 3
352
397
  }, 8, ["appendTo"])
353
- ], 6))
398
+ ], 2))
354
399
  }
355
400
 
356
401
  function styleInject(css, ref) {
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.password=function(e,t,n,s,i){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=l(t),o=l(n),a=l(s),p={name:"Password",emits:["update:modelValue"],inheritAttrs:!1,props:{modelValue:String,promptLabel:{type:String,default:null},mediumRegex:{type:String,default:"^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})"},strongRegex:{type:String,default:"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})"},weakLabel:{type:String,default:null},mediumLabel:{type:String,default:null},strongLabel:{type:String,default:null},feedback:{type:Boolean,default:!0},appendTo:{type:String,default:"body"},toggleMask:{type:Boolean,default:!1},hideIcon:{type:String,default:"pi pi-eye-slash"},showIcon:{type:String,default:"pi pi-eye"},inputClass:null,inputStyle:null,style:null,class:String,panelClass:String},data:()=>({overlayVisible:!1,meter:null,infoText:null,focused:!1,unmasked:!1}),mediumCheckRegExp:null,strongCheckRegExp:null,resizeListener:null,scrollHandler:null,overlay:null,mounted(){this.infoText=this.promptText,this.mediumCheckRegExp=new RegExp(this.mediumRegex),this.strongCheckRegExp=new RegExp(this.strongRegex)},beforeUnmount(){this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(e.ZIndexUtils.clear(this.overlay),this.overlay=null)},methods:{onOverlayEnter(t){e.ZIndexUtils.set("overlay",t,this.$primevue.config.zIndex.overlay),this.alignOverlay(),this.bindScrollListener(),this.bindResizeListener()},onOverlayLeave(){this.unbindScrollListener(),this.unbindResizeListener(),this.overlay=null},onOverlayAfterLeave(t){e.ZIndexUtils.clear(t)},alignOverlay(){"self"===this.appendTo?e.DomHandler.relativePosition(this.overlay,this.$refs.input.$el):(this.overlay.style.minWidth=e.DomHandler.getOuterWidth(this.$refs.input.$el)+"px",e.DomHandler.absolutePosition(this.overlay,this.$refs.input.$el))},testStrength(e){let t=0;return this.strongCheckRegExp.test(e)?t=3:this.mediumCheckRegExp.test(e)?t=2:e.length&&(t=1),t},onInput(e){this.$emit("update:modelValue",e.target.value)},onFocus(){this.focused=!0,this.feedback&&(this.overlayVisible=!0)},onBlur(){this.focused=!1,this.feedback&&(this.overlayVisible=!1)},onKeyUp(e){if(this.feedback){const t=e.target.value;let n=null,s=null;switch(this.testStrength(t)){case 1:n=this.weakText,s={strength:"weak",width:"33.33%"};break;case 2:n=this.mediumText,s={strength:"medium",width:"66.66%"};break;case 3:n=this.strongText,s={strength:"strong",width:"100%"};break;default:n=this.promptText,s=null}this.meter=s,this.infoText=n,this.overlayVisible||(this.overlayVisible=!0)}},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new e.ConnectedOverlayScrollHandler(this.$refs.input.$el,(()=>{this.overlayVisible&&(this.overlayVisible=!1)}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=()=>{this.overlayVisible&&!e.DomHandler.isTouchDevice()&&(this.overlayVisible=!1)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},overlayRef(e){this.overlay=e},onMaskToggle(){this.unmasked=!this.unmasked},onOverlayClick(e){r.default.emit("overlay-click",{originalEvent:e,target:this.$el})}},computed:{containerClass(){return["p-password p-component p-inputwrapper",this.class,{"p-inputwrapper-filled":this.filled,"p-inputwrapper-focus":this.focused,"p-input-icon-right":this.toggleMask}]},inputFieldClass(){return["p-password-input",this.inputClass,{"p-disabled":this.$attrs.disabled}]},panelStyleClass(){return["p-password-panel p-component",this.panelClass,{"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},toggleIconClass(){return this.unmasked?this.hideIcon:this.showIcon},strengthClass(){return`p-password-strength ${this.meter?this.meter.strength:""}`},inputType(){return this.unmasked?"text":"password"},filled(){return null!=this.modelValue&&this.modelValue.toString().length>0},weakText(){return this.weakLabel||this.$primevue.config.locale.weak},mediumText(){return this.mediumLabel||this.$primevue.config.locale.medium},strongText(){return this.strongLabel||this.$primevue.config.locale.strong},promptText(){return this.promptLabel||this.$primevue.config.locale.passwordPrompt}},components:{PInputText:o.default,Portal:a.default}};const d={class:"p-password-meter"},u={class:"p-password-info"};return function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&s.firstChild?s.insertBefore(i,s.firstChild):s.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-password {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n.p-password-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-password .p-password-panel {\n min-width: 100%;\n}\n.p-password-meter {\n height: 10px;\n}\n.p-password-strength {\n height: 100%;\n width: 0;\n -webkit-transition: width 1s ease-in-out;\n transition: width 1s ease-in-out;\n}\n.p-fluid .p-password {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n"),p.render=function(e,t,n,s,l,r){const o=i.resolveComponent("PInputText"),a=i.resolveComponent("Portal");return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(r.containerClass),style:i.normalizeStyle(n.style)},[i.createVNode(o,i.mergeProps({ref:"input",class:r.inputFieldClass,style:n.inputStyle,type:r.inputType,value:n.modelValue,onInput:r.onInput,onFocus:r.onFocus,onBlur:r.onBlur,onKeyup:r.onKeyUp},e.$attrs),null,16,["class","style","type","value","onInput","onFocus","onBlur","onKeyup"]),n.toggleMask?(i.openBlock(),i.createElementBlock("i",{key:0,class:i.normalizeClass(r.toggleIconClass),onClick:t[0]||(t[0]=(...e)=>r.onMaskToggle&&r.onMaskToggle(...e))},null,2)):i.createCommentVNode("",!0),i.createVNode(a,{appendTo:n.appendTo},{default:i.withCtx((()=>[i.createVNode(i.Transition,{name:"p-connected-overlay",onEnter:r.onOverlayEnter,onLeave:r.onOverlayLeave,onAfterLeave:r.onOverlayAfterLeave},{default:i.withCtx((()=>[l.overlayVisible?(i.openBlock(),i.createElementBlock("div",{key:0,ref:r.overlayRef,class:i.normalizeClass(r.panelStyleClass),onClick:t[1]||(t[1]=(...e)=>r.onOverlayClick&&r.onOverlayClick(...e))},[i.renderSlot(e.$slots,"header"),i.renderSlot(e.$slots,"content",{},(()=>[i.createElementVNode("div",d,[i.createElementVNode("div",{class:i.normalizeClass(r.strengthClass),style:i.normalizeStyle({width:l.meter?l.meter.width:""})},null,6)]),i.createElementVNode("div",u,i.toDisplayString(l.infoText),1)])),i.renderSlot(e.$slots,"footer")],2)):i.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])])),_:3},8,["appendTo"])],6)},p}(primevue.utils,primevue.overlayeventbus,primevue.inputtext,primevue.portal,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.password=function(e,t,l,n,i){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=s(t),a=s(l),o=s(n),p={name:"Password",emits:["update:modelValue","change","focus","blur"],props:{modelValue:String,promptLabel:{type:String,default:null},mediumRegex:{type:String,default:"^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})"},strongRegex:{type:String,default:"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})"},weakLabel:{type:String,default:null},mediumLabel:{type:String,default:null},strongLabel:{type:String,default:null},feedback:{type:Boolean,default:!0},appendTo:{type:String,default:"body"},toggleMask:{type:Boolean,default:!1},hideIcon:{type:String,default:"pi pi-eye-slash"},showIcon:{type:String,default:"pi pi-eye"},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:null},inputId:null,inputClass:null,inputStyle:null,inputProps:null,panelId:null,panelClass:null,panelStyle:null,panelProps:null,"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data:()=>({overlayVisible:!1,meter:null,infoText:null,focused:!1,unmasked:!1}),mediumCheckRegExp:null,strongCheckRegExp:null,resizeListener:null,scrollHandler:null,overlay:null,mounted(){this.infoText=this.promptText,this.mediumCheckRegExp=new RegExp(this.mediumRegex),this.strongCheckRegExp=new RegExp(this.strongRegex)},beforeUnmount(){this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(e.ZIndexUtils.clear(this.overlay),this.overlay=null)},methods:{onOverlayEnter(t){e.ZIndexUtils.set("overlay",t,this.$primevue.config.zIndex.overlay),this.alignOverlay(),this.bindScrollListener(),this.bindResizeListener()},onOverlayLeave(){this.unbindScrollListener(),this.unbindResizeListener(),this.overlay=null},onOverlayAfterLeave(t){e.ZIndexUtils.clear(t)},alignOverlay(){"self"===this.appendTo?e.DomHandler.relativePosition(this.overlay,this.$refs.input.$el):(this.overlay.style.minWidth=e.DomHandler.getOuterWidth(this.$refs.input.$el)+"px",e.DomHandler.absolutePosition(this.overlay,this.$refs.input.$el))},testStrength(e){let t=0;return this.strongCheckRegExp.test(e)?t=3:this.mediumCheckRegExp.test(e)?t=2:e.length&&(t=1),t},onInput(e){this.$emit("update:modelValue",e.target.value)},onFocus(e){this.focused=!0,this.feedback&&(this.overlayVisible=!0),this.$emit("focus",e)},onBlur(e){this.focused=!1,this.feedback&&(this.overlayVisible=!1),this.$emit("blur",e)},onKeyUp(e){if(this.feedback){const t=e.target.value;let l=null,n=null;switch(this.testStrength(t)){case 1:l=this.weakText,n={strength:"weak",width:"33.33%"};break;case 2:l=this.mediumText,n={strength:"medium",width:"66.66%"};break;case 3:l=this.strongText,n={strength:"strong",width:"100%"};break;default:l=this.promptText,n=null}if(this.meter=n,this.infoText=l,27===e.which)return void(this.overlayVisible&&(this.overlayVisible=!1));this.overlayVisible||(this.overlayVisible=!0)}},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new e.ConnectedOverlayScrollHandler(this.$refs.input.$el,(()=>{this.overlayVisible&&(this.overlayVisible=!1)}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=()=>{this.overlayVisible&&!e.DomHandler.isTouchDevice()&&(this.overlayVisible=!1)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},overlayRef(e){this.overlay=e},onMaskToggle(){this.unmasked=!this.unmasked},onOverlayClick(e){r.default.emit("overlay-click",{originalEvent:e,target:this.$el})}},computed:{containerClass(){return["p-password p-component p-inputwrapper",{"p-inputwrapper-filled":this.filled,"p-inputwrapper-focus":this.focused,"p-input-icon-right":this.toggleMask}]},inputFieldClass(){return["p-password-input",{"p-disabled":this.disabled}]},panelStyleClass(){return["p-password-panel p-component",this.panelClass,{"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},toggleIconClass(){return this.unmasked?this.hideIcon:this.showIcon},strengthClass(){return`p-password-strength ${this.meter?this.meter.strength:""}`},inputType(){return this.unmasked?"text":"password"},filled(){return null!=this.modelValue&&this.modelValue.toString().length>0},weakText(){return this.weakLabel||this.$primevue.config.locale.weak},mediumText(){return this.mediumLabel||this.$primevue.config.locale.medium},strongText(){return this.strongLabel||this.$primevue.config.locale.strong},promptText(){return this.promptLabel||this.$primevue.config.locale.passwordPrompt},panelUniqueId:()=>e.UniqueComponentId()+"_panel"},components:{PInputText:a.default,Portal:o.default}};const d={class:"p-hidden-accessible","aria-live":"polite"},u=["id"],h={class:"p-password-meter"},c={class:"p-password-info"};return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===l&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-password {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n.p-password-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-password .p-password-panel {\n min-width: 100%;\n}\n.p-password-meter {\n height: 10px;\n}\n.p-password-strength {\n height: 100%;\n width: 0;\n -webkit-transition: width 1s ease-in-out;\n transition: width 1s ease-in-out;\n}\n.p-fluid .p-password {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n"),p.render=function(e,t,l,n,s,r){const a=i.resolveComponent("PInputText"),o=i.resolveComponent("Portal");return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(r.containerClass)},[i.createVNode(a,i.mergeProps({ref:"input",id:l.inputId,type:r.inputType,class:l.inputClass,style:l.inputStyle,value:l.modelValue,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-controls":l.panelProps&&l.panelProps.id||l.panelId||r.panelUniqueId,"aria-expanded":s.overlayVisible,"aria-haspopup":!0,placeholder:l.placeholder,onInput:r.onInput,onFocus:r.onFocus,onBlur:r.onBlur,onKeyup:r.onKeyUp},l.inputProps),null,16,["id","type","class","style","value","aria-labelledby","aria-label","aria-controls","aria-expanded","placeholder","onInput","onFocus","onBlur","onKeyup"]),l.toggleMask?(i.openBlock(),i.createElementBlock("i",{key:0,class:i.normalizeClass(r.toggleIconClass),onClick:t[0]||(t[0]=(...e)=>r.onMaskToggle&&r.onMaskToggle(...e))},null,2)):i.createCommentVNode("",!0),i.createElementVNode("span",d,i.toDisplayString(s.infoText),1),i.createVNode(o,{appendTo:l.appendTo},{default:i.withCtx((()=>[i.createVNode(i.Transition,{name:"p-connected-overlay",onEnter:r.onOverlayEnter,onLeave:r.onOverlayLeave,onAfterLeave:r.onOverlayAfterLeave},{default:i.withCtx((()=>[s.overlayVisible?(i.openBlock(),i.createElementBlock("div",i.mergeProps({key:0,ref:r.overlayRef,id:l.panelId||r.panelUniqueId,class:r.panelStyleClass,style:l.panelStyle,onClick:t[1]||(t[1]=(...e)=>r.onOverlayClick&&r.onOverlayClick(...e))},l.panelProps),[i.renderSlot(e.$slots,"header"),i.renderSlot(e.$slots,"content",{},(()=>[i.createElementVNode("div",h,[i.createElementVNode("div",{class:i.normalizeClass(r.strengthClass),style:i.normalizeStyle({width:s.meter?s.meter.width:""})},null,6)]),i.createElementVNode("div",c,i.toDisplayString(s.infoText),1)])),i.renderSlot(e.$slots,"footer")],16,u)):i.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])])),_:3},8,["appendTo"])],2)},p}(primevue.utils,primevue.overlayeventbus,primevue.inputtext,primevue.portal,Vue);
@@ -95,6 +95,14 @@ export interface PickListProps {
95
95
  * Whether to displays rows with alternating colors.
96
96
  */
97
97
  stripedRows?: boolean | undefined;
98
+ /**
99
+ * Whether to show buttons of source list.
100
+ */
101
+ showSourceControls?: boolean | undefined;
102
+ /**
103
+ * Whether to show buttons of target list.
104
+ */
105
+ showTargetControls?: boolean | undefined;
98
106
  }
99
107
 
100
108
  export interface PickListSlots {
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div :class="containerClass">
3
- <div class="p-picklist-buttons p-picklist-source-controls">
3
+ <div class="p-picklist-buttons p-picklist-source-controls" v-if="showSourceControls">
4
4
  <slot name="sourcecontrolsstart"></slot>
5
5
  <PLButton type="button" icon="pi pi-angle-up" @click="moveUp($event, 0)"></PLButton>
6
6
  <PLButton type="button" icon="pi pi-angle-double-up" @click="moveTop($event, 0)"></PLButton>
@@ -44,7 +44,7 @@
44
44
  </template>
45
45
  </transition-group>
46
46
  </div>
47
- <div class="p-picklist-buttons p-picklist-target-controls">
47
+ <div class="p-picklist-buttons p-picklist-target-controls" v-if="showTargetControls">
48
48
  <slot name="targetcontrolsstart"></slot>
49
49
  <PLButton type="button" icon="pi pi-angle-up" @click="moveUp($event, 1)"></PLButton>
50
50
  <PLButton type="button" icon="pi pi-angle-double-up" @click="moveTop($event, 1)"></PLButton>
@@ -95,6 +95,14 @@ export default {
95
95
  stripedRows: {
96
96
  type: Boolean,
97
97
  default: false
98
+ },
99
+ showSourceControls: {
100
+ type: Boolean,
101
+ default: true
102
+ },
103
+ showTargetControls: {
104
+ type: Boolean,
105
+ default: true
98
106
  }
99
107
  },
100
108
  itemTouched: false,
@@ -45,6 +45,14 @@ var script = {
45
45
  stripedRows: {
46
46
  type: Boolean,
47
47
  default: false
48
+ },
49
+ showSourceControls: {
50
+ type: Boolean,
51
+ default: true
52
+ },
53
+ showTargetControls: {
54
+ type: Boolean,
55
+ default: true
48
56
  }
49
57
  },
50
58
  itemTouched: false,
@@ -523,7 +531,10 @@ var script = {
523
531
  }
524
532
  };
525
533
 
526
- const _hoisted_1 = { class: "p-picklist-buttons p-picklist-source-controls" };
534
+ const _hoisted_1 = {
535
+ key: 0,
536
+ class: "p-picklist-buttons p-picklist-source-controls"
537
+ };
527
538
  const _hoisted_2 = { class: "p-picklist-list-wrapper p-picklist-source-wrapper" };
528
539
  const _hoisted_3 = {
529
540
  key: 0,
@@ -537,7 +548,10 @@ const _hoisted_7 = {
537
548
  class: "p-picklist-header"
538
549
  };
539
550
  const _hoisted_8 = ["onClick", "onDblclick", "onKeydown", "aria-selected"];
540
- const _hoisted_9 = { class: "p-picklist-buttons p-picklist-target-controls" };
551
+ const _hoisted_9 = {
552
+ key: 1,
553
+ class: "p-picklist-buttons p-picklist-target-controls"
554
+ };
541
555
 
542
556
  function render(_ctx, _cache, $props, $setup, $data, $options) {
543
557
  const _component_PLButton = vue.resolveComponent("PLButton");
@@ -546,30 +560,32 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
546
560
  return (vue.openBlock(), vue.createElementBlock("div", {
547
561
  class: vue.normalizeClass($options.containerClass)
548
562
  }, [
549
- vue.createElementVNode("div", _hoisted_1, [
550
- vue.renderSlot(_ctx.$slots, "sourcecontrolsstart"),
551
- vue.createVNode(_component_PLButton, {
552
- type: "button",
553
- icon: "pi pi-angle-up",
554
- onClick: _cache[0] || (_cache[0] = $event => ($options.moveUp($event, 0)))
555
- }),
556
- vue.createVNode(_component_PLButton, {
557
- type: "button",
558
- icon: "pi pi-angle-double-up",
559
- onClick: _cache[1] || (_cache[1] = $event => ($options.moveTop($event, 0)))
560
- }),
561
- vue.createVNode(_component_PLButton, {
562
- type: "button",
563
- icon: "pi pi-angle-down",
564
- onClick: _cache[2] || (_cache[2] = $event => ($options.moveDown($event, 0)))
565
- }),
566
- vue.createVNode(_component_PLButton, {
567
- type: "button",
568
- icon: "pi pi-angle-double-down",
569
- onClick: _cache[3] || (_cache[3] = $event => ($options.moveBottom($event, 0)))
570
- }),
571
- vue.renderSlot(_ctx.$slots, "sourcecontrolsend")
572
- ]),
563
+ ($props.showSourceControls)
564
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
565
+ vue.renderSlot(_ctx.$slots, "sourcecontrolsstart"),
566
+ vue.createVNode(_component_PLButton, {
567
+ type: "button",
568
+ icon: "pi pi-angle-up",
569
+ onClick: _cache[0] || (_cache[0] = $event => ($options.moveUp($event, 0)))
570
+ }),
571
+ vue.createVNode(_component_PLButton, {
572
+ type: "button",
573
+ icon: "pi pi-angle-double-up",
574
+ onClick: _cache[1] || (_cache[1] = $event => ($options.moveTop($event, 0)))
575
+ }),
576
+ vue.createVNode(_component_PLButton, {
577
+ type: "button",
578
+ icon: "pi pi-angle-down",
579
+ onClick: _cache[2] || (_cache[2] = $event => ($options.moveDown($event, 0)))
580
+ }),
581
+ vue.createVNode(_component_PLButton, {
582
+ type: "button",
583
+ icon: "pi pi-angle-double-down",
584
+ onClick: _cache[3] || (_cache[3] = $event => ($options.moveBottom($event, 0)))
585
+ }),
586
+ vue.renderSlot(_ctx.$slots, "sourcecontrolsend")
587
+ ]))
588
+ : vue.createCommentVNode("", true),
573
589
  vue.createElementVNode("div", _hoisted_2, [
574
590
  (_ctx.$slots.sourceheader)
575
591
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
@@ -674,30 +690,32 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
674
690
  _: 3
675
691
  }, 8, ["style"])
676
692
  ]),
677
- vue.createElementVNode("div", _hoisted_9, [
678
- vue.renderSlot(_ctx.$slots, "targetcontrolsstart"),
679
- vue.createVNode(_component_PLButton, {
680
- type: "button",
681
- icon: "pi pi-angle-up",
682
- onClick: _cache[6] || (_cache[6] = $event => ($options.moveUp($event, 1)))
683
- }),
684
- vue.createVNode(_component_PLButton, {
685
- type: "button",
686
- icon: "pi pi-angle-double-up",
687
- onClick: _cache[7] || (_cache[7] = $event => ($options.moveTop($event, 1)))
688
- }),
689
- vue.createVNode(_component_PLButton, {
690
- type: "button",
691
- icon: "pi pi-angle-down",
692
- onClick: _cache[8] || (_cache[8] = $event => ($options.moveDown($event, 1)))
693
- }),
694
- vue.createVNode(_component_PLButton, {
695
- type: "button",
696
- icon: "pi pi-angle-double-down",
697
- onClick: _cache[9] || (_cache[9] = $event => ($options.moveBottom($event, 1)))
698
- }),
699
- vue.renderSlot(_ctx.$slots, "targetcontrolsend")
700
- ])
693
+ ($props.showTargetControls)
694
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
695
+ vue.renderSlot(_ctx.$slots, "targetcontrolsstart"),
696
+ vue.createVNode(_component_PLButton, {
697
+ type: "button",
698
+ icon: "pi pi-angle-up",
699
+ onClick: _cache[6] || (_cache[6] = $event => ($options.moveUp($event, 1)))
700
+ }),
701
+ vue.createVNode(_component_PLButton, {
702
+ type: "button",
703
+ icon: "pi pi-angle-double-up",
704
+ onClick: _cache[7] || (_cache[7] = $event => ($options.moveTop($event, 1)))
705
+ }),
706
+ vue.createVNode(_component_PLButton, {
707
+ type: "button",
708
+ icon: "pi pi-angle-down",
709
+ onClick: _cache[8] || (_cache[8] = $event => ($options.moveDown($event, 1)))
710
+ }),
711
+ vue.createVNode(_component_PLButton, {
712
+ type: "button",
713
+ icon: "pi pi-angle-double-down",
714
+ onClick: _cache[9] || (_cache[9] = $event => ($options.moveBottom($event, 1)))
715
+ }),
716
+ vue.renderSlot(_ctx.$slots, "targetcontrolsend")
717
+ ]))
718
+ : vue.createCommentVNode("", true)
701
719
  ], 2))
702
720
  }
703
721
 
@@ -1 +1 @@
1
- "use strict";var e=require("primevue/button"),t=require("primevue/utils"),i=require("primevue/ripple"),l=require("vue");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"],u={class:"p-picklist-buttons p-picklist-transfer-buttons"},m={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"};!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",u,[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",m,[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)},module.exports=r;
1
+ "use strict";var e=require("primevue/button"),t=require("primevue/utils"),i=require("primevue/ripple"),l=require("vue");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"],u={class:"p-picklist-buttons p-picklist-transfer-buttons"},m={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"};!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",u,[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",m,[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)},module.exports=r;