primereact 8.0.1 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/api/api.cjs.js +22 -1
  2. package/api/api.cjs.min.js +1 -1
  3. package/api/api.esm.js +22 -2
  4. package/api/api.esm.min.js +1 -1
  5. package/api/api.js +22 -1
  6. package/api/api.min.js +1 -1
  7. package/autocomplete/autocomplete.cjs.js +42 -24
  8. package/autocomplete/autocomplete.cjs.min.js +1 -1
  9. package/autocomplete/autocomplete.d.ts +0 -1
  10. package/autocomplete/autocomplete.esm.js +43 -25
  11. package/autocomplete/autocomplete.esm.min.js +1 -1
  12. package/autocomplete/autocomplete.js +42 -24
  13. package/autocomplete/autocomplete.min.js +1 -1
  14. package/avatar/avatar.cjs.js +7 -7
  15. package/avatar/avatar.cjs.min.js +1 -1
  16. package/avatar/avatar.d.ts +1 -3
  17. package/avatar/avatar.esm.js +7 -7
  18. package/avatar/avatar.esm.min.js +1 -1
  19. package/avatar/avatar.js +7 -7
  20. package/avatar/avatar.min.js +1 -1
  21. package/badge/badge.cjs.js +2 -2
  22. package/badge/badge.cjs.min.js +1 -1
  23. package/badge/badge.d.ts +2 -4
  24. package/badge/badge.esm.js +2 -2
  25. package/badge/badge.esm.min.js +1 -1
  26. package/badge/badge.js +2 -2
  27. package/badge/badge.min.js +1 -1
  28. package/breadcrumb/breadcrumb.cjs.js +22 -6
  29. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  30. package/breadcrumb/breadcrumb.esm.js +22 -6
  31. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  32. package/breadcrumb/breadcrumb.js +22 -6
  33. package/breadcrumb/breadcrumb.min.js +1 -1
  34. package/button/button.cjs.js +1 -1
  35. package/button/button.cjs.min.js +1 -1
  36. package/button/button.esm.js +1 -1
  37. package/button/button.esm.min.js +1 -1
  38. package/button/button.js +1 -1
  39. package/button/button.min.js +1 -1
  40. package/calendar/calendar.cjs.js +80 -7
  41. package/calendar/calendar.cjs.min.js +1 -1
  42. package/calendar/calendar.d.ts +7 -5
  43. package/calendar/calendar.esm.js +80 -7
  44. package/calendar/calendar.esm.min.js +1 -1
  45. package/calendar/calendar.js +80 -7
  46. package/calendar/calendar.min.js +1 -1
  47. package/captcha/captcha.cjs.js +1 -0
  48. package/captcha/captcha.esm.js +1 -0
  49. package/captcha/captcha.js +1 -0
  50. package/card/card.d.ts +1 -4
  51. package/carousel/carousel.cjs.js +18 -17
  52. package/carousel/carousel.cjs.min.js +1 -1
  53. package/carousel/carousel.esm.js +19 -18
  54. package/carousel/carousel.esm.min.js +1 -1
  55. package/carousel/carousel.js +19 -18
  56. package/carousel/carousel.min.js +1 -1
  57. package/cascadeselect/cascadeselect.cjs.js +5 -4
  58. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  59. package/cascadeselect/cascadeselect.d.ts +1 -1
  60. package/cascadeselect/cascadeselect.esm.js +5 -4
  61. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  62. package/cascadeselect/cascadeselect.js +5 -4
  63. package/cascadeselect/cascadeselect.min.js +1 -1
  64. package/chart/chart.cjs.js +13 -7
  65. package/chart/chart.cjs.min.js +1 -1
  66. package/chart/chart.esm.js +13 -7
  67. package/chart/chart.esm.min.js +1 -1
  68. package/chart/chart.js +13 -7
  69. package/chart/chart.min.js +1 -1
  70. package/checkbox/checkbox.cjs.js +1 -2
  71. package/checkbox/checkbox.cjs.min.js +1 -1
  72. package/checkbox/checkbox.esm.js +2 -3
  73. package/checkbox/checkbox.esm.min.js +1 -1
  74. package/checkbox/checkbox.js +1 -2
  75. package/checkbox/checkbox.min.js +1 -1
  76. package/chip/chip.d.ts +1 -3
  77. package/chips/chips.cjs.js +18 -2
  78. package/chips/chips.cjs.min.js +1 -1
  79. package/chips/chips.d.ts +3 -0
  80. package/chips/chips.esm.js +19 -3
  81. package/chips/chips.esm.min.js +1 -1
  82. package/chips/chips.js +19 -4
  83. package/chips/chips.min.js +1 -1
  84. package/column/column.cjs.js +2 -1
  85. package/column/column.cjs.min.js +1 -1
  86. package/column/column.d.ts +2 -0
  87. package/column/column.esm.js +2 -1
  88. package/column/column.esm.min.js +1 -1
  89. package/column/column.js +2 -1
  90. package/column/column.min.js +1 -1
  91. package/confirmdialog/confirmdialog.d.ts +1 -6
  92. package/contextmenu/contextmenu.cjs.js +1 -0
  93. package/contextmenu/contextmenu.cjs.min.js +1 -1
  94. package/contextmenu/contextmenu.esm.js +1 -0
  95. package/contextmenu/contextmenu.esm.min.js +1 -1
  96. package/contextmenu/contextmenu.js +1 -0
  97. package/contextmenu/contextmenu.min.js +1 -1
  98. package/core/core.js +390 -160
  99. package/core/core.min.js +14 -14
  100. package/datatable/datatable.cjs.js +68 -27
  101. package/datatable/datatable.cjs.min.js +1 -1
  102. package/datatable/datatable.esm.js +69 -28
  103. package/datatable/datatable.esm.min.js +1 -1
  104. package/datatable/datatable.js +68 -27
  105. package/datatable/datatable.min.css +1 -1
  106. package/datatable/datatable.min.js +1 -1
  107. package/dialog/dialog.cjs.js +7 -3
  108. package/dialog/dialog.cjs.min.js +1 -1
  109. package/dialog/dialog.d.ts +2 -0
  110. package/dialog/dialog.esm.js +7 -3
  111. package/dialog/dialog.esm.min.js +1 -1
  112. package/dialog/dialog.js +7 -3
  113. package/dialog/dialog.min.js +1 -1
  114. package/dropdown/dropdown.cjs.js +32 -25
  115. package/dropdown/dropdown.cjs.min.js +1 -1
  116. package/dropdown/dropdown.d.ts +1 -1
  117. package/dropdown/dropdown.esm.js +32 -25
  118. package/dropdown/dropdown.esm.min.js +1 -1
  119. package/dropdown/dropdown.js +32 -25
  120. package/dropdown/dropdown.min.js +1 -1
  121. package/editor/editor.cjs.js +11 -3
  122. package/editor/editor.cjs.min.js +1 -1
  123. package/editor/editor.esm.js +11 -3
  124. package/editor/editor.esm.min.js +1 -1
  125. package/editor/editor.js +11 -3
  126. package/editor/editor.min.js +1 -1
  127. package/fileupload/fileupload.cjs.js +46 -19
  128. package/fileupload/fileupload.cjs.min.js +1 -1
  129. package/fileupload/fileupload.d.ts +1 -0
  130. package/fileupload/fileupload.esm.js +46 -19
  131. package/fileupload/fileupload.esm.min.js +1 -1
  132. package/fileupload/fileupload.js +46 -19
  133. package/fileupload/fileupload.min.js +1 -1
  134. package/fullcalendar/fullcalendar.cjs.js +1 -0
  135. package/fullcalendar/fullcalendar.esm.js +1 -0
  136. package/fullcalendar/fullcalendar.js +1 -0
  137. package/hooks/hooks.cjs.js +48 -2
  138. package/hooks/hooks.cjs.min.js +1 -1
  139. package/hooks/hooks.d.ts +3 -1
  140. package/hooks/hooks.esm.js +47 -3
  141. package/hooks/hooks.esm.min.js +1 -1
  142. package/hooks/hooks.js +48 -2
  143. package/hooks/hooks.min.js +1 -1
  144. package/image/image.cjs.js +5 -5
  145. package/image/image.cjs.min.js +1 -1
  146. package/image/image.d.ts +1 -3
  147. package/image/image.esm.js +5 -5
  148. package/image/image.esm.min.js +1 -1
  149. package/image/image.js +5 -5
  150. package/image/image.min.css +1 -1
  151. package/image/image.min.js +1 -1
  152. package/inplace/inplace.cjs.js +1 -1
  153. package/inplace/inplace.cjs.min.js +1 -1
  154. package/inplace/inplace.esm.js +1 -1
  155. package/inplace/inplace.esm.min.js +1 -1
  156. package/inplace/inplace.js +1 -1
  157. package/inplace/inplace.min.js +1 -1
  158. package/inputmask/inputmask.cjs.js +7 -5
  159. package/inputmask/inputmask.cjs.min.js +1 -1
  160. package/inputmask/inputmask.d.ts +0 -1
  161. package/inputmask/inputmask.esm.js +7 -5
  162. package/inputmask/inputmask.esm.min.js +1 -1
  163. package/inputmask/inputmask.js +7 -5
  164. package/inputmask/inputmask.min.js +1 -1
  165. package/inputnumber/inputnumber.cjs.js +37 -4
  166. package/inputnumber/inputnumber.cjs.min.js +1 -1
  167. package/inputnumber/inputnumber.esm.js +38 -5
  168. package/inputnumber/inputnumber.esm.min.js +1 -1
  169. package/inputnumber/inputnumber.js +37 -4
  170. package/inputnumber/inputnumber.min.js +1 -1
  171. package/inputswitch/inputswitch.cjs.js +1 -1
  172. package/inputswitch/inputswitch.cjs.min.js +1 -1
  173. package/inputswitch/inputswitch.d.ts +1 -1
  174. package/inputswitch/inputswitch.esm.js +2 -2
  175. package/inputswitch/inputswitch.esm.min.js +1 -1
  176. package/inputswitch/inputswitch.js +1 -1
  177. package/inputswitch/inputswitch.min.css +1 -1
  178. package/inputswitch/inputswitch.min.js +1 -1
  179. package/inputtext/inputtext.min.css +1 -1
  180. package/listbox/listbox.cjs.js +84 -15
  181. package/listbox/listbox.cjs.min.js +1 -1
  182. package/listbox/listbox.d.ts +2 -1
  183. package/listbox/listbox.esm.js +84 -15
  184. package/listbox/listbox.esm.min.js +1 -1
  185. package/listbox/listbox.js +85 -17
  186. package/listbox/listbox.min.js +1 -1
  187. package/megamenu/megamenu.cjs.js +32 -12
  188. package/megamenu/megamenu.cjs.min.js +1 -1
  189. package/megamenu/megamenu.d.ts +7 -0
  190. package/megamenu/megamenu.esm.js +32 -12
  191. package/megamenu/megamenu.esm.min.js +1 -1
  192. package/megamenu/megamenu.js +32 -12
  193. package/megamenu/megamenu.min.css +1 -1
  194. package/megamenu/megamenu.min.js +1 -1
  195. package/mention/mention.cjs.js +8 -4
  196. package/mention/mention.cjs.min.js +1 -1
  197. package/mention/mention.esm.js +8 -4
  198. package/mention/mention.esm.min.js +1 -1
  199. package/mention/mention.js +8 -4
  200. package/mention/mention.min.js +1 -1
  201. package/menubar/menubar.cjs.js +1 -0
  202. package/menubar/menubar.cjs.min.js +1 -1
  203. package/menubar/menubar.esm.js +1 -0
  204. package/menubar/menubar.esm.min.js +1 -1
  205. package/menubar/menubar.js +1 -0
  206. package/menubar/menubar.min.js +1 -1
  207. package/menuitem/menuitem.d.ts +2 -0
  208. package/message/message.d.ts +1 -1
  209. package/messages/messages.cjs.js +3 -2
  210. package/messages/messages.cjs.min.js +1 -1
  211. package/messages/messages.d.ts +1 -1
  212. package/messages/messages.esm.js +3 -2
  213. package/messages/messages.esm.min.js +1 -1
  214. package/messages/messages.js +3 -2
  215. package/messages/messages.min.js +1 -1
  216. package/multiselect/multiselect.cjs.js +22 -15
  217. package/multiselect/multiselect.cjs.min.js +1 -1
  218. package/multiselect/multiselect.d.ts +1 -1
  219. package/multiselect/multiselect.esm.js +22 -15
  220. package/multiselect/multiselect.esm.min.js +1 -1
  221. package/multiselect/multiselect.js +22 -15
  222. package/multiselect/multiselect.min.js +1 -1
  223. package/multistatecheckbox/multistatecheckbox.cjs.js +30 -24
  224. package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
  225. package/multistatecheckbox/multistatecheckbox.d.ts +2 -4
  226. package/multistatecheckbox/multistatecheckbox.esm.js +30 -24
  227. package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
  228. package/multistatecheckbox/multistatecheckbox.js +31 -26
  229. package/multistatecheckbox/multistatecheckbox.min.js +1 -1
  230. package/overlaypanel/overlaypanel.cjs.js +2 -2
  231. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  232. package/overlaypanel/overlaypanel.esm.js +2 -2
  233. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  234. package/overlaypanel/overlaypanel.js +2 -2
  235. package/overlaypanel/overlaypanel.min.js +1 -1
  236. package/package.json +4 -2
  237. package/paginator/paginator.cjs.js +26 -24
  238. package/paginator/paginator.cjs.min.js +1 -1
  239. package/paginator/paginator.esm.js +26 -24
  240. package/paginator/paginator.esm.min.js +1 -1
  241. package/paginator/paginator.js +26 -25
  242. package/paginator/paginator.min.js +1 -1
  243. package/panelmenu/panelmenu.cjs.js +16 -0
  244. package/panelmenu/panelmenu.cjs.min.js +1 -1
  245. package/panelmenu/panelmenu.esm.js +17 -1
  246. package/panelmenu/panelmenu.esm.min.js +1 -1
  247. package/panelmenu/panelmenu.js +16 -0
  248. package/panelmenu/panelmenu.min.js +1 -1
  249. package/picklist/picklist.cjs.js +175 -16
  250. package/picklist/picklist.cjs.min.js +1 -1
  251. package/picklist/picklist.d.ts +34 -1
  252. package/picklist/picklist.esm.js +175 -16
  253. package/picklist/picklist.esm.min.js +1 -1
  254. package/picklist/picklist.js +176 -18
  255. package/picklist/picklist.min.css +1 -1
  256. package/picklist/picklist.min.js +1 -1
  257. package/primereact.all.cjs.js +1262 -495
  258. package/primereact.all.cjs.min.js +1 -1
  259. package/primereact.all.esm.js +1260 -496
  260. package/primereact.all.esm.min.js +1 -1
  261. package/primereact.all.js +1262 -495
  262. package/primereact.all.min.js +1 -1
  263. package/progressbar/progressbar.cjs.js +1 -2
  264. package/progressbar/progressbar.cjs.min.js +1 -1
  265. package/progressbar/progressbar.esm.js +1 -2
  266. package/progressbar/progressbar.esm.min.js +1 -1
  267. package/progressbar/progressbar.js +1 -2
  268. package/progressbar/progressbar.min.js +1 -1
  269. package/radiobutton/radiobutton.cjs.js +6 -6
  270. package/radiobutton/radiobutton.cjs.min.js +1 -1
  271. package/radiobutton/radiobutton.d.ts +0 -1
  272. package/radiobutton/radiobutton.esm.js +7 -7
  273. package/radiobutton/radiobutton.esm.min.js +1 -1
  274. package/radiobutton/radiobutton.js +6 -6
  275. package/radiobutton/radiobutton.min.js +1 -1
  276. package/resources/primereact.css +266 -208
  277. package/resources/primereact.min.css +1 -1
  278. package/resources/themes/arya-blue/theme.css +20 -7
  279. package/resources/themes/arya-green/theme.css +20 -7
  280. package/resources/themes/arya-orange/theme.css +20 -7
  281. package/resources/themes/arya-purple/theme.css +20 -7
  282. package/resources/themes/bootstrap4-dark-blue/theme.css +20 -7
  283. package/resources/themes/bootstrap4-dark-purple/theme.css +20 -7
  284. package/resources/themes/bootstrap4-light-blue/theme.css +19 -6
  285. package/resources/themes/bootstrap4-light-purple/theme.css +19 -6
  286. package/resources/themes/fluent-light/theme.css +20 -7
  287. package/resources/themes/lara-dark-blue/theme.css +20 -7
  288. package/resources/themes/lara-dark-indigo/theme.css +20 -7
  289. package/resources/themes/lara-dark-purple/theme.css +20 -7
  290. package/resources/themes/lara-dark-teal/theme.css +20 -7
  291. package/resources/themes/lara-light-blue/theme.css +20 -7
  292. package/resources/themes/lara-light-indigo/theme.css +20 -7
  293. package/resources/themes/lara-light-purple/theme.css +20 -7
  294. package/resources/themes/lara-light-teal/theme.css +20 -7
  295. package/resources/themes/luna-amber/theme.css +20 -7
  296. package/resources/themes/luna-blue/theme.css +20 -7
  297. package/resources/themes/luna-green/theme.css +20 -7
  298. package/resources/themes/luna-pink/theme.css +20 -7
  299. package/resources/themes/md-dark-deeppurple/theme.css +20 -7
  300. package/resources/themes/md-dark-indigo/theme.css +20 -7
  301. package/resources/themes/md-light-deeppurple/theme.css +20 -7
  302. package/resources/themes/md-light-indigo/theme.css +20 -7
  303. package/resources/themes/mdc-dark-deeppurple/theme.css +20 -7
  304. package/resources/themes/mdc-dark-indigo/theme.css +20 -7
  305. package/resources/themes/mdc-light-deeppurple/theme.css +20 -7
  306. package/resources/themes/mdc-light-indigo/theme.css +20 -7
  307. package/resources/themes/nova/theme.css +20 -7
  308. package/resources/themes/nova-accent/theme.css +20 -7
  309. package/resources/themes/nova-alt/theme.css +20 -7
  310. package/resources/themes/rhea/theme.css +20 -7
  311. package/resources/themes/saga-blue/theme.css +20 -7
  312. package/resources/themes/saga-green/theme.css +20 -7
  313. package/resources/themes/saga-orange/theme.css +20 -7
  314. package/resources/themes/saga-purple/theme.css +20 -7
  315. package/resources/themes/tailwind-light/theme.css +20 -7
  316. package/resources/themes/vela-blue/theme.css +20 -7
  317. package/resources/themes/vela-green/theme.css +20 -7
  318. package/resources/themes/vela-orange/theme.css +20 -7
  319. package/resources/themes/vela-purple/theme.css +20 -7
  320. package/selectbutton/selectbutton.cjs.js +2 -6
  321. package/selectbutton/selectbutton.cjs.min.js +1 -1
  322. package/selectbutton/selectbutton.d.ts +1 -1
  323. package/selectbutton/selectbutton.esm.js +2 -6
  324. package/selectbutton/selectbutton.esm.min.js +1 -1
  325. package/selectbutton/selectbutton.js +2 -6
  326. package/selectbutton/selectbutton.min.js +1 -1
  327. package/slidemenu/slidemenu.cjs.js +39 -7
  328. package/slidemenu/slidemenu.cjs.min.js +1 -1
  329. package/slidemenu/slidemenu.esm.js +39 -7
  330. package/slidemenu/slidemenu.esm.min.js +1 -1
  331. package/slidemenu/slidemenu.js +39 -7
  332. package/slidemenu/slidemenu.min.js +1 -1
  333. package/slider/slider.cjs.js +6 -3
  334. package/slider/slider.cjs.min.js +1 -1
  335. package/slider/slider.d.ts +1 -1
  336. package/slider/slider.esm.js +6 -3
  337. package/slider/slider.esm.min.js +1 -1
  338. package/slider/slider.js +6 -3
  339. package/slider/slider.min.js +1 -1
  340. package/splitbutton/splitbutton.cjs.js +16 -9
  341. package/splitbutton/splitbutton.cjs.min.js +1 -1
  342. package/splitbutton/splitbutton.d.ts +4 -0
  343. package/splitbutton/splitbutton.esm.js +16 -9
  344. package/splitbutton/splitbutton.esm.min.js +1 -1
  345. package/splitbutton/splitbutton.js +16 -9
  346. package/splitbutton/splitbutton.min.js +1 -1
  347. package/splitter/splitter.cjs.js +15 -7
  348. package/splitter/splitter.cjs.min.js +1 -1
  349. package/splitter/splitter.esm.js +16 -8
  350. package/splitter/splitter.esm.min.js +1 -1
  351. package/splitter/splitter.js +15 -7
  352. package/splitter/splitter.min.js +1 -1
  353. package/steps/steps.cjs.js +1 -0
  354. package/steps/steps.cjs.min.js +1 -1
  355. package/steps/steps.esm.js +1 -0
  356. package/steps/steps.esm.min.js +1 -1
  357. package/steps/steps.js +1 -0
  358. package/steps/steps.min.js +1 -1
  359. package/styleclass/styleclass.cjs.js +26 -21
  360. package/styleclass/styleclass.cjs.min.js +1 -1
  361. package/styleclass/styleclass.d.ts +1 -1
  362. package/styleclass/styleclass.esm.js +26 -21
  363. package/styleclass/styleclass.esm.min.js +1 -1
  364. package/styleclass/styleclass.js +26 -21
  365. package/styleclass/styleclass.min.js +1 -1
  366. package/tag/tag.d.ts +1 -1
  367. package/terminal/terminal.cjs.js +1 -1
  368. package/terminal/terminal.cjs.min.js +1 -1
  369. package/terminal/terminal.esm.js +2 -2
  370. package/terminal/terminal.esm.min.js +1 -1
  371. package/terminal/terminal.js +1 -1
  372. package/terminal/terminal.min.js +1 -1
  373. package/tieredmenu/tieredmenu.cjs.js +3 -1
  374. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  375. package/tieredmenu/tieredmenu.esm.js +3 -1
  376. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  377. package/tieredmenu/tieredmenu.js +3 -1
  378. package/tieredmenu/tieredmenu.min.js +1 -1
  379. package/toast/toast.cjs.js +30 -35
  380. package/toast/toast.cjs.min.js +1 -1
  381. package/toast/toast.d.ts +2 -1
  382. package/toast/toast.esm.js +30 -35
  383. package/toast/toast.esm.min.js +1 -1
  384. package/toast/toast.js +30 -35
  385. package/toast/toast.min.css +1 -1
  386. package/toast/toast.min.js +1 -1
  387. package/tooltip/tooltip.cjs.js +28 -22
  388. package/tooltip/tooltip.cjs.min.js +1 -1
  389. package/tooltip/tooltip.esm.js +28 -22
  390. package/tooltip/tooltip.esm.min.js +1 -1
  391. package/tooltip/tooltip.js +28 -22
  392. package/tooltip/tooltip.min.js +1 -1
  393. package/tree/tree.cjs.js +9 -1
  394. package/tree/tree.cjs.min.js +1 -1
  395. package/tree/tree.esm.js +9 -1
  396. package/tree/tree.esm.min.js +1 -1
  397. package/tree/tree.js +9 -1
  398. package/tree/tree.min.js +1 -1
  399. package/treeselect/treeselect.cjs.js +2 -2
  400. package/treeselect/treeselect.cjs.min.js +1 -1
  401. package/treeselect/treeselect.esm.js +2 -2
  402. package/treeselect/treeselect.esm.min.js +1 -1
  403. package/treeselect/treeselect.js +2 -2
  404. package/treeselect/treeselect.min.js +1 -1
  405. package/treetable/treetable.cjs.js +11 -1
  406. package/treetable/treetable.cjs.min.js +1 -1
  407. package/treetable/treetable.d.ts +3 -3
  408. package/treetable/treetable.esm.js +11 -1
  409. package/treetable/treetable.esm.min.js +1 -1
  410. package/treetable/treetable.js +11 -1
  411. package/treetable/treetable.min.js +1 -1
  412. package/tristatecheckbox/tristatecheckbox.cjs.js +25 -23
  413. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  414. package/tristatecheckbox/tristatecheckbox.d.ts +2 -4
  415. package/tristatecheckbox/tristatecheckbox.esm.js +25 -23
  416. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  417. package/tristatecheckbox/tristatecheckbox.js +26 -25
  418. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  419. package/utils/utils.cjs.js +21 -5
  420. package/utils/utils.cjs.min.js +1 -1
  421. package/utils/utils.d.ts +1 -0
  422. package/utils/utils.esm.js +21 -5
  423. package/utils/utils.esm.min.js +1 -1
  424. package/utils/utils.js +21 -5
  425. package/utils/utils.min.js +1 -1
  426. package/virtualscroller/virtualscroller.cjs.js +154 -65
  427. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  428. package/virtualscroller/virtualscroller.d.ts +12 -0
  429. package/virtualscroller/virtualscroller.esm.js +156 -67
  430. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  431. package/virtualscroller/virtualscroller.js +154 -65
  432. package/virtualscroller/virtualscroller.min.css +1 -1
  433. package/virtualscroller/virtualscroller.min.js +1 -1
  434. package/web-types.json +252 -66
@@ -1 +1 @@
1
- this.primereact=this.primereact||{},this.primereact.panelmenu=function(e,t,n,a,l){"use strict";function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i=r(t);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function u(e){if(Array.isArray(e))return s(e)}function m(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function c(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function p(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(e){return u(e)||m(e)||c(e)||p()}function f(e){if(Array.isArray(e))return e}function b(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,l,r=[],i=!0,o=!1;try{for(n=n.call(e);!(i=(a=n.next()).done)&&(r.push(a.value),!t||r.length!==t);i=!0);}catch(e){o=!0,l=e}finally{try{i||null==n.return||n.return()}finally{if(o)throw l}}return r}}function y(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function N(e,t){return f(e)||b(e,t)||c(e,t)||y()}var v=i.memo((function(e){var t=N(i.useState(null),2),r=t[0],o=t[1],s=function(){if(e.model){if(e.multiple)return e.model.filter((function(e){return e.expanded}));var t=null;return e.model.forEach((function(e){e.expanded&&(t?e.expanded=!1:t=e)})),t}return null},u=function(t,n){if(n.disabled)t.preventDefault();else{n.url||t.preventDefault(),n.command&&n.command({originalEvent:t,item:n});var a=r;m(n)?(n.expanded=!1,o(e.multiple?a.filter((function(e){return e!==n})):null)):(!e.multiple&&a&&(a.expanded=!1),n.expanded=!0,o(e.multiple?[].concat(d(a||[]),[n]):n))}},m=function(t){return r&&(e.multiple?r.indexOf(t)>-1:r===t)};a.useMountEffect((function(){o(s())}));var c=function(e){return i.createElement("li",{key:"separator_"+e,className:"p-menu-separator"})},p=function(t,a){var r=l.classNames("p-toggleable-content",{"p-toggleable-content-collapsed":!a}),o=i.createRef();return t.items?i.createElement(n.CSSTransition,{nodeRef:o,classNames:"p-toggleable-content",timeout:{enter:1e3,exit:450},in:a,unmountOnExit:!0},i.createElement("div",{ref:o,className:r},i.createElement(v,{menuProps:e.menuProps,model:t.items,multiple:e.multiple}))):null},f=function(t,n){var a=t.label+"_"+n,r=m(t),o=l.classNames("p-menuitem",t.className),s=l.classNames("p-menuitem-link",{"p-disabled":t.disabled}),c=l.classNames("p-menuitem-icon",t.icon),d=l.classNames("p-panelmenu-icon pi pi-fw",{"pi-angle-right":!r,"pi-angle-down":r}),f=l.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e.menuProps}),b=t.label&&i.createElement("span",{className:"p-menuitem-text"},t.label),y=t.items&&i.createElement("span",{className:d}),N=p(t,r),v=i.createElement("a",{href:t.url||"#",className:s,target:t.target,onClick:function(e){return u(e,t)},role:"menuitem","aria-disabled":t.disabled},y,f,b);t.template&&(v=l.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return u(e,t)},className:s,labelClassName:"p-menuitem-text",iconClassName:c,submenuIconClassName:d,element:v,props:e,leaf:!t.items,active:r}));return i.createElement("li",{key:a,className:o,style:t.style,role:"none"},v,N)},b=function(e,t){return e.separator?c(t):f(e,t)},y=l.classNames("p-submenu-list",e.className),g=e.model?e.model.map(b):null;return i.createElement("ul",{className:y,role:"tree"},g)}));v.displayName="PanelMenuSub";var g=i.memo(i.forwardRef((function(e,t){var r=N(i.useState(e.id),2),s=r[0],u=r[1],m=N(i.useState(null),2),c=m[0],p=m[1],f=s+"_header",b=s+"_content",y=function(){if(e.model){if(e.multiple)return e.model.filter((function(e){return e.expanded}));var t=null;return e.model.forEach((function(e){e.expanded&&(t?e.expanded=!1:t=e)})),t}return null},h=function(t,n){if(n.disabled)t.preventDefault();else{n.url||t.preventDefault(),n.command&&n.command({originalEvent:t,item:n});var a=c;E(n)?(n.expanded=!1,p(e.multiple?a.filter((function(e){return e!==n})):null)):(!e.multiple&&a&&(a.expanded=!1),n.expanded=!0,p(e.multiple?[].concat(d(a||[]),[n]):n))}},E=function(t){return c&&(e.multiple?c.indexOf(t)>-1:c===t)};a.useMountEffect((function(){s||u(l.UniqueComponentId()),p(y())}));var x=function(t,a){var r=t.label+"_"+a,o=E(t),s=l.classNames("p-panelmenu-panel",t.className),u=l.classNames("p-component p-panelmenu-header",{"p-highlight":o,"p-disabled":t.disabled}),m=l.classNames("p-panelmenu-icon pi",{"pi-chevron-right":!o," pi-chevron-down":o}),c=l.classNames("p-menuitem-icon",t.icon),p=l.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e}),d=t.items&&i.createElement("span",{className:m}),y=t.label&&i.createElement("span",{className:"p-menuitem-text"},t.label),N=l.classNames("p-toggleable-content",{"p-toggleable-content-collapsed":!o}),g=i.createRef(),x=i.createElement("a",{href:t.url||"#",className:"p-panelmenu-header-link",onClick:function(e){return h(e,t)},"aria-expanded":o,id:f,"aria-controls":b,"aria-disabled":t.disabled},d,p,y);t.template&&(x=l.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return h(e,t)},className:"p-panelmenu-header-link",labelClassName:"p-menuitem-text",submenuIconClassName:m,iconClassName:c,element:x,props:e,leaf:!t.items,active:o}));return i.createElement("div",{key:r,className:s,style:t.style},i.createElement("div",{className:u,style:t.style},x),i.createElement(n.CSSTransition,{nodeRef:g,classNames:"p-toggleable-content",timeout:{enter:1e3,exit:450},in:o,unmountOnExit:!0,options:e.transitionOptions},i.createElement("div",{ref:g,className:N,role:"region",id:b,"aria-labelledby":f},i.createElement("div",{className:"p-panelmenu-content"},i.createElement(v,{menuProps:e,model:t.items,className:"p-panelmenu-root-submenu",multiple:e.multiple})))))},O=l.ObjectUtils.findDiffKeys(e,g.defaultProps),S=l.classNames("p-panelmenu p-component",e.className),j=e.model?e.model.map(x):null;return i.createElement("div",o({id:e.id,className:S,style:e.style},O),j)})));return g.displayName="PanelMenu",g.defaultProps={__TYPE:"Panel",id:null,model:null,style:null,className:null,multiple:!1,transitionOptions:null},e.PanelMenu=g,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.csstransition,primereact.hooks,primereact.utils);
1
+ this.primereact=this.primereact||{},this.primereact.panelmenu=function(e,t,n,a,l){"use strict";function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i=r(t);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},o.apply(this,arguments)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function u(e){if(Array.isArray(e))return s(e)}function m(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function c(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function p(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(e){return u(e)||m(e)||c(e)||p()}function f(e){if(Array.isArray(e))return e}function b(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,l,r=[],i=!0,o=!1;try{for(n=n.call(e);!(i=(a=n.next()).done)&&(r.push(a.value),!t||r.length!==t);i=!0);}catch(e){o=!0,l=e}finally{try{i||null==n.return||n.return()}finally{if(o)throw l}}return r}}function y(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function N(e,t){return f(e)||b(e,t)||c(e,t)||y()}var v=i.memo((function(e){var t=N(i.useState(null),2),r=t[0],o=t[1],s=function(){if(e.model){if(e.multiple)return e.model.filter((function(e){return e.expanded}));var t=null;return e.model.forEach((function(e){e.expanded&&(t?e.expanded=!1:t=e)})),t}return null},u=function(t,n){if(n.disabled)t.preventDefault();else{n.url||t.preventDefault(),n.command&&n.command({originalEvent:t,item:n});var a=r;m(n)?(n.expanded=!1,o(e.multiple?a.filter((function(e){return e!==n})):null)):(!e.multiple&&a&&(a.expanded=!1),n.expanded=!0,o(e.multiple?[].concat(d(a||[]),[n]):n))}},m=function(t){return r&&(e.multiple?r.indexOf(t)>-1:r===t)};a.useMountEffect((function(){o(s())}));var c=function(e){return i.createElement("li",{key:"separator_"+e,className:"p-menu-separator"})},p=function(t,a){var r=l.classNames("p-toggleable-content",{"p-toggleable-content-collapsed":!a}),o=i.createRef();return t.items?i.createElement(n.CSSTransition,{nodeRef:o,classNames:"p-toggleable-content",timeout:{enter:1e3,exit:450},in:a,unmountOnExit:!0},i.createElement("div",{ref:o,className:r},i.createElement(v,{menuProps:e.menuProps,model:t.items,multiple:e.multiple}))):null},f=function(t,n){var a=t.label+"_"+n,r=m(t),o=l.classNames("p-menuitem",t.className),s=l.classNames("p-menuitem-link",{"p-disabled":t.disabled}),c=l.classNames("p-menuitem-icon",t.icon),d=l.classNames("p-panelmenu-icon pi pi-fw",{"pi-angle-right":!r,"pi-angle-down":r}),f=l.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e.menuProps}),b=t.label&&i.createElement("span",{className:"p-menuitem-text"},t.label),y=t.items&&i.createElement("span",{className:d}),N=p(t,r),v=i.createElement("a",{href:t.url||"#",className:s,target:t.target,onClick:function(e){return u(e,t)},role:"menuitem","aria-disabled":t.disabled},y,f,b);t.template&&(v=l.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return u(e,t)},className:s,labelClassName:"p-menuitem-text",iconClassName:c,submenuIconClassName:d,element:v,props:e,leaf:!t.items,active:r}));return i.createElement("li",{key:a,id:t.id,className:o,style:t.style,role:"none"},v,N)},b=function(e,t){return e.separator?c(t):f(e,t)},y=l.classNames("p-submenu-list",e.className),g=e.model?e.model.map(b):null;return i.createElement("ul",{className:y,role:"tree"},g)}));v.displayName="PanelMenuSub";var g=i.memo(i.forwardRef((function(e,t){var r=N(i.useState(e.id),2),s=r[0],u=r[1],m=N(i.useState(null),2),c=m[0],p=m[1],f=N(i.useState(!1),2),b=f[0],y=f[1],h=s+"_header",E=s+"_content",x=function(){if(e.model){if(e.multiple)return e.model.filter((function(e){return e.expanded}));var t=null;return e.model.forEach((function(e){e.expanded&&(t?e.expanded=!1:t=e)})),t}return null},O=function(t,n){if(n.disabled)t.preventDefault();else{n.url||t.preventDefault(),n.command&&n.command({originalEvent:t,item:n});var a=c;S(n)?(n.expanded=!1,p(e.multiple?a.filter((function(e){return e!==n})):null)):(!e.multiple&&a&&(a.expanded=!1),n.expanded=!0,p(e.multiple?[].concat(d(a||[]),[n]):n))}},S=function(t){return c&&(e.multiple?c.indexOf(t)>-1:c===t)};a.useMountEffect((function(){s||u(l.UniqueComponentId()),p(x())})),a.useUpdateEffect((function(){y(!0),p(x())}),[e.model]);var j=function(){y(!1)},P=function(t,a){var r=t.label+"_"+a,o=S(t),s=l.classNames("p-panelmenu-panel",t.className),u=l.classNames("p-component p-panelmenu-header",{"p-highlight":o,"p-disabled":t.disabled}),m=l.classNames("p-panelmenu-icon pi",{"pi-chevron-right":!o," pi-chevron-down":o}),c=l.classNames("p-menuitem-icon",t.icon),p=l.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e}),d=t.items&&i.createElement("span",{className:m}),f=t.label&&i.createElement("span",{className:"p-menuitem-text"},t.label),y=l.classNames("p-toggleable-content",{"p-toggleable-content-collapsed":!o}),N=i.createRef(),g=i.createElement("a",{href:t.url||"#",className:"p-panelmenu-header-link",onClick:function(e){return O(e,t)},"aria-expanded":o,id:h,"aria-controls":E,"aria-disabled":t.disabled},d,p,f);t.template&&(g=l.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return O(e,t)},className:"p-panelmenu-header-link",labelClassName:"p-menuitem-text",submenuIconClassName:m,iconClassName:c,element:g,props:e,leaf:!t.items,active:o}));return i.createElement("div",{key:r,className:s,style:t.style},i.createElement("div",{className:u,style:t.style},g),i.createElement(n.CSSTransition,{nodeRef:N,classNames:"p-toggleable-content",timeout:{enter:1e3,exit:450},onEnter:j,disabled:b,in:o,unmountOnExit:!0,options:e.transitionOptions},i.createElement("div",{ref:N,className:y,role:"region",id:E,"aria-labelledby":h},i.createElement("div",{className:"p-panelmenu-content"},i.createElement(v,{menuProps:e,model:t.items,className:"p-panelmenu-root-submenu",multiple:e.multiple})))))},C=l.ObjectUtils.findDiffKeys(e,g.defaultProps),k=l.classNames("p-panelmenu p-component",e.className),w=e.model?e.model.map(P):null;return i.createElement("div",o({id:e.id,className:k,style:e.style},C),w)})));return g.displayName="PanelMenu",g.defaultProps={__TYPE:"Panel",id:null,model:null,style:null,className:null,multiple:!1,transitionOptions:null},e.PanelMenu=g,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.csstransition,primereact.hooks,primereact.utils);
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var api = require('primereact/api');
6
7
  var hooks = require('primereact/hooks');
7
8
  var utils = require('primereact/utils');
8
9
  var button = require('primereact/button');
@@ -381,6 +382,23 @@ var PickListSubList = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
381
382
  return utils.ObjectUtils.findIndexInList(item, props.selection, props.dataKey) !== -1;
382
383
  };
383
384
 
385
+ var onFilter = function onFilter(event) {
386
+ if (props.onFilter) {
387
+ props.onFilter({
388
+ originalEvent: event,
389
+ value: event.target.value,
390
+ type: props.type
391
+ });
392
+ }
393
+ };
394
+
395
+ var onFilterInputKeyDown = function onFilterInputKeyDown(event) {
396
+ //enter
397
+ if (event.which === 13) {
398
+ event.preventDefault();
399
+ }
400
+ };
401
+
384
402
  React__namespace.useImperativeHandle(ref, function () {
385
403
  return {
386
404
  listElementRef: listElementRef
@@ -417,6 +435,44 @@ var PickListSubList = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
417
435
  return null;
418
436
  };
419
437
 
438
+ var createFilter = function createFilter() {
439
+ if (props.showFilter) {
440
+ var content = /*#__PURE__*/React__namespace.createElement("div", {
441
+ className: "p-picklist-filter"
442
+ }, /*#__PURE__*/React__namespace.createElement("input", {
443
+ type: "text",
444
+ value: props.filterValue,
445
+ onChange: onFilter,
446
+ onKeyDown: onFilterInputKeyDown,
447
+ placeholder: props.placeholder,
448
+ className: "p-picklist-filter-input p-inputtext p-component"
449
+ }), /*#__PURE__*/React__namespace.createElement("span", {
450
+ className: "p-picklist-filter-icon pi pi-search"
451
+ }));
452
+
453
+ if (props.filterTemplate) {
454
+ var defaultContentOptions = {
455
+ className: 'p-picklist-filter',
456
+ inputProps: {
457
+ className: 'p-picklist-filter-input p-inputtext p-component',
458
+ onChange: onFilter,
459
+ onKeyDown: onFilterInputKeyDown
460
+ },
461
+ iconClassName: 'p-picklist-filter-icon pi pi-search',
462
+ element: content,
463
+ props: props
464
+ };
465
+ content = utils.ObjectUtils.getJSXElement(props.filterTemplate, defaultContentOptions);
466
+ }
467
+
468
+ return /*#__PURE__*/React__namespace.createElement("div", {
469
+ className: "p-picklist-filter-container"
470
+ }, content);
471
+ }
472
+
473
+ return null;
474
+ };
475
+
420
476
  var createList = function createList() {
421
477
  var items = createItems();
422
478
  var className = utils.classNames('p-picklist-list', props.listClassName);
@@ -430,19 +486,20 @@ var PickListSubList = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__na
430
486
 
431
487
  var className = utils.classNames('p-picklist-list-wrapper', props.className);
432
488
  var header = createHeader();
489
+ var filter = createFilter();
433
490
  var list = createList();
434
491
  return /*#__PURE__*/React__namespace.createElement("div", {
435
492
  ref: listElementRef,
436
493
  className: className
437
- }, header, list);
494
+ }, header, filter, list);
438
495
  }));
439
496
  PickListSubList.displayName = 'PickListSubList';
440
497
 
441
498
  var PickListTransferControls = /*#__PURE__*/React__namespace.memo(function (props) {
442
- var moveRightDisabled = utils.ObjectUtils.isEmpty(props.sourceSelection);
443
- var moveLeftDisabled = utils.ObjectUtils.isEmpty(props.targetSelection);
444
- var moveAllRightDisabled = utils.ObjectUtils.isEmpty(props.source);
445
- var moveAllLeftDisabled = utils.ObjectUtils.isEmpty(props.target);
499
+ var moveRightDisabled = utils.ObjectUtils.isEmpty(props.sourceSelection) || utils.ObjectUtils.isEmpty(props.visibleSourceList);
500
+ var moveLeftDisabled = utils.ObjectUtils.isEmpty(props.targetSelection) || utils.ObjectUtils.isEmpty(props.visibleTargetList);
501
+ var moveAllRightDisabled = utils.ObjectUtils.isEmpty(props.visibleSourceList);
502
+ var moveAllLeftDisabled = utils.ObjectUtils.isEmpty(props.visibleTargetList);
446
503
 
447
504
  var moveRight = function moveRight(event) {
448
505
  var selection = props.sourceSelection;
@@ -473,8 +530,12 @@ var PickListTransferControls = /*#__PURE__*/React__namespace.memo(function (prop
473
530
 
474
531
  var moveAllRight = function moveAllRight(event) {
475
532
  if (props.source) {
476
- var targetList = [].concat(_toConsumableArray(props.target), _toConsumableArray(props.source));
477
- var sourceList = [];
533
+ var targetList = [].concat(_toConsumableArray(props.target), _toConsumableArray(props.visibleSourceList));
534
+ var sourceList = props.source.filter(function (s) {
535
+ return !props.visibleSourceList.some(function (vs) {
536
+ return vs === s;
537
+ });
538
+ });
478
539
 
479
540
  if (props.onTransfer) {
480
541
  props.onTransfer({
@@ -516,8 +577,12 @@ var PickListTransferControls = /*#__PURE__*/React__namespace.memo(function (prop
516
577
 
517
578
  var moveAllLeft = function moveAllLeft(event) {
518
579
  if (props.source) {
519
- var sourceList = [].concat(_toConsumableArray(props.source), _toConsumableArray(props.target));
520
- var targetList = [];
580
+ var sourceList = [].concat(_toConsumableArray(props.source), _toConsumableArray(props.visibleTargetList));
581
+ var targetList = props.target.filter(function (t) {
582
+ return !props.visibleTargetList.some(function (vt) {
583
+ return vt === t;
584
+ });
585
+ });
521
586
 
522
587
  if (props.onTransfer) {
523
588
  props.onTransfer({
@@ -568,12 +633,27 @@ var PickList = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
568
633
  targetSelectionState = _React$useState4[0],
569
634
  setTargetSelectionState = _React$useState4[1];
570
635
 
636
+ var _React$useState5 = React__namespace.useState(''),
637
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
638
+ sourceFilterValueState = _React$useState6[0],
639
+ setSourceFilterValueState = _React$useState6[1];
640
+
641
+ var _React$useState7 = React__namespace.useState(''),
642
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
643
+ targetFilterValueState = _React$useState8[0],
644
+ setTargetFilterValueState = _React$useState8[1];
645
+
571
646
  var sourceListElementRef = React__namespace.useRef(null);
572
647
  var targetListElementRef = React__namespace.useRef(null);
573
648
  var reorderedListElementRef = React__namespace.useRef(null);
574
649
  var reorderDirection = React__namespace.useRef(null);
575
650
  var sourceSelection = props.onSourceSelectionChange ? props.sourceSelection : sourceSelectionState;
576
651
  var targetSelection = props.onTargetSelectionChange ? props.targetSelection : targetSelectionState;
652
+ var sourceFilteredValue = props.onSourceFilterChange ? props.sourceFilterValue : sourceFilterValueState;
653
+ var targetFilteredValue = props.onTargetFilterChange ? props.targetFilterValue : targetFilterValueState;
654
+ var hasFilterBy = utils.ObjectUtils.isNotEmpty(props.filterBy);
655
+ var showSourceFilter = hasFilterBy && props.showSourceFilter;
656
+ var showTargetFilter = hasFilterBy && props.showTargetFilter;
577
657
 
578
658
  var onSourceReorder = function onSourceReorder(event) {
579
659
  handleChange(event, event.value, props.target);
@@ -708,6 +788,52 @@ var PickList = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
708
788
  }
709
789
  };
710
790
 
791
+ var onFilter = function onFilter(event) {
792
+ var originalEvent = event.originalEvent,
793
+ value = event.value,
794
+ type = event.type;
795
+
796
+ var _ref = type === 'source' ? [setSourceFilterValueState, props.onSourceFilterChange] : [setTargetFilterValueState, props.onTargetFilterChange],
797
+ _ref2 = _slicedToArray(_ref, 2),
798
+ setFilterState = _ref2[0],
799
+ onFilterChange = _ref2[1];
800
+
801
+ if (onFilterChange) {
802
+ onFilterChange({
803
+ originalEvent: originalEvent,
804
+ value: value
805
+ });
806
+ } else {
807
+ setFilterState(value);
808
+ }
809
+ };
810
+
811
+ var getVisibleList = function getVisibleList(list, type) {
812
+ var _ref3 = type === 'source' ? [sourceFilteredValue, filterSource] : [targetFilteredValue, filterTarget],
813
+ _ref4 = _slicedToArray(_ref3, 2),
814
+ filteredValue = _ref4[0],
815
+ filterCallback = _ref4[1];
816
+
817
+ return hasFilterBy && utils.ObjectUtils.isNotEmpty(filteredValue) ? filterCallback(filteredValue) : list;
818
+ };
819
+
820
+ var filterSource = function filterSource() {
821
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
822
+ var filteredValue = value.trim().toLocaleLowerCase(props.filterLocale);
823
+ return filter(props.source, filteredValue);
824
+ };
825
+
826
+ var filterTarget = function filterTarget() {
827
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
828
+ var filteredValue = value.trim().toLocaleLowerCase(props.filterLocale);
829
+ return filter(props.target, filteredValue);
830
+ };
831
+
832
+ var filter = function filter(list, filterValue) {
833
+ var searchFields = hasFilterBy ? props.filterBy.split(',') : [];
834
+ return api.FilterService.filter(list, searchFields, filterValue, props.filterMatchMode, props.filterLocale);
835
+ };
836
+
711
837
  hooks.useUpdateEffect(function () {
712
838
  if (reorderedListElementRef.current) {
713
839
  handleScrollPosition(reorderedListElementRef.current, reorderDirection.current);
@@ -717,6 +843,10 @@ var PickList = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
717
843
  });
718
844
  var otherProps = utils.ObjectUtils.findDiffKeys(props, PickList.defaultProps);
719
845
  var className = utils.classNames('p-picklist p-component', props.className);
846
+ var sourceItemTemplate = props.sourceItemTemplate ? props.sourceItemTemplate : props.itemTemplate;
847
+ var targetItemTemplate = props.targetItemTemplate ? props.targetItemTemplate : props.itemTemplate;
848
+ var sourceList = getVisibleList(props.source, 'source');
849
+ var targetList = getVisibleList(props.target, 'target');
720
850
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
721
851
  id: props.id,
722
852
  className: className,
@@ -729,41 +859,55 @@ var PickList = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
729
859
  dataKey: props.dataKey
730
860
  }), /*#__PURE__*/React__namespace.createElement(PickListSubList, {
731
861
  ref: sourceListElementRef,
732
- list: props.source,
862
+ type: "source",
863
+ list: sourceList,
733
864
  selection: sourceSelection,
734
865
  onSelectionChange: function onSelectionChange(e) {
735
866
  return _onSelectionChange(e, 'sourceSelection', props.onSourceSelectionChange);
736
867
  },
737
- itemTemplate: props.itemTemplate,
868
+ itemTemplate: sourceItemTemplate,
738
869
  header: props.sourceHeader,
739
870
  style: props.sourceStyle,
740
871
  className: "p-picklist-source-wrapper",
741
872
  listClassName: "p-picklist-source",
742
873
  metaKeySelection: props.metaKeySelection,
743
874
  tabIndex: props.tabIndex,
744
- dataKey: props.dataKey
875
+ dataKey: props.dataKey,
876
+ filterValue: sourceFilteredValue,
877
+ onFilter: onFilter,
878
+ showFilter: showSourceFilter,
879
+ placeholder: props.sourceFilterPlaceholder,
880
+ template: props.sourceFilterTemplate
745
881
  }), /*#__PURE__*/React__namespace.createElement(PickListTransferControls, {
746
882
  onTransfer: onTransfer,
747
883
  source: props.source,
884
+ visibleSourceList: sourceList,
748
885
  target: props.target,
886
+ visibleTargetList: targetList,
749
887
  sourceSelection: sourceSelection,
750
888
  targetSelection: targetSelection,
751
889
  dataKey: props.dataKey
752
890
  }), /*#__PURE__*/React__namespace.createElement(PickListSubList, {
753
891
  ref: targetListElementRef,
754
- list: props.target,
892
+ type: "target",
893
+ list: targetList,
755
894
  selection: targetSelection,
756
895
  onSelectionChange: function onSelectionChange(e) {
757
896
  return _onSelectionChange(e, 'targetSelection', props.onTargetSelectionChange);
758
897
  },
759
- itemTemplate: props.itemTemplate,
898
+ itemTemplate: targetItemTemplate,
760
899
  header: props.targetHeader,
761
900
  style: props.targetStyle,
762
901
  className: "p-picklist-target-wrapper",
763
902
  listClassName: "p-picklist-target",
764
903
  metaKeySelection: props.metaKeySelection,
765
904
  tabIndex: props.tabIndex,
766
- dataKey: props.dataKey
905
+ dataKey: props.dataKey,
906
+ filterValue: targetFilteredValue,
907
+ onFilter: onFilter,
908
+ showFilter: showTargetFilter,
909
+ placeholder: props.targetFilterPlaceholder,
910
+ template: props.targetFilterTemplate
767
911
  }), props.showTargetControls && /*#__PURE__*/React__namespace.createElement(PickListControls, {
768
912
  list: props.target,
769
913
  selection: targetSelection,
@@ -789,16 +933,31 @@ PickList.defaultProps = {
789
933
  showSourceControls: true,
790
934
  showTargetControls: true,
791
935
  metaKeySelection: true,
936
+ filterBy: null,
937
+ filterMatchMode: 'contains',
938
+ filterLocale: undefined,
939
+ sourceFilterValue: null,
940
+ targetFilterValue: null,
941
+ showSourceFilter: true,
942
+ showTargetFilter: true,
943
+ sourceFilterPlaceholder: null,
944
+ targetFilterPlaceholder: null,
945
+ sourceFilterTemplate: null,
946
+ targetFilterTemplate: null,
792
947
  tabIndex: 0,
793
948
  dataKey: null,
794
949
  itemTemplate: null,
950
+ sourceItemTemplate: null,
951
+ targetItemTemplate: null,
795
952
  onChange: null,
796
953
  onMoveToSource: null,
797
954
  onMoveAllToSource: null,
798
955
  onMoveToTarget: null,
799
956
  onMoveAllToTarget: null,
800
957
  onSourceSelectionChange: null,
801
- onTargetSelectionChange: null
958
+ onTargetSelectionChange: null,
959
+ onSourceFilterChange: null,
960
+ onTargetFilterChange: null
802
961
  };
803
962
 
804
963
  exports.PickList = PickList;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/hooks"),n=require("primereact/utils"),r=require("primereact/button"),a=require("primereact/ripple");function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var o=l(e);function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}function c(e){if(Array.isArray(e))return e}function s(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);o=!0);}catch(e){i=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw a}}return l}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function d(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function p(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(e,t){return c(e)||s(e,t)||d(e,t)||p()}function m(e){if(Array.isArray(e))return u(e)}function g(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function v(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(e){return m(e)||g(e)||d(e)||v()}var b=o.memo((function(e){var t=!e.selection.length,a=n.classNames("p-picklist-buttons",e.className);return o.createElement("div",{className:a},o.createElement(r.Button,{disabled:t,type:"button",icon:"pi pi-angle-up",onClick:function(t){var r=e.selection;if(r&&r.length){for(var a=y(e.list),l=0;l<r.length;l++){var o=n.ObjectUtils.findIndexInList(r[l],a,e.dataKey);if(0===o)break;var i=a[o-1];a[o-1]=a[o],a[o]=i}e.onReorder&&e.onReorder({originalEvent:t,value:a,direction:"up"})}}}),o.createElement(r.Button,{disabled:t,type:"button",icon:"pi pi-angle-double-up",onClick:function(t){var r=e.selection;if(r&&r.length){for(var a=y(e.list),l=0;l<r.length;l++){var o=n.ObjectUtils.findIndexInList(r[l],a,e.dataKey);if(0===o)break;var i=a.splice(o,1)[0];a.unshift(i)}e.onReorder&&e.onReorder({originalEvent:t,value:a,direction:"top"})}}}),o.createElement(r.Button,{disabled:t,type:"button",icon:"pi pi-angle-down",onClick:function(t){var r=e.selection;if(r&&r.length){for(var a=y(e.list),l=r.length-1;l>=0;l--){var o=n.ObjectUtils.findIndexInList(r[l],a,e.dataKey);if(o===a.length-1)break;var i=a[o+1];a[o+1]=a[o],a[o]=i}e.onReorder&&e.onReorder({originalEvent:t,value:a,direction:"down"})}}}),o.createElement(r.Button,{disabled:t,type:"button",icon:"pi pi-angle-double-down",onClick:function(t){var r=e.selection;if(r&&r.length){for(var a=y(e.list),l=r.length-1;l>=0;l--){var o=n.ObjectUtils.findIndexInList(r[l],a,e.dataKey);if(o===a.length-1)break;var i=a.splice(o,1)[0];a.push(i)}e.onReorder&&e.onReorder({originalEvent:t,value:a,direction:"bottom"})}}}))}));b.displayName="PickListControls";var h=o.memo((function(e){var t=e.template?e.template(e.value):e.value,r=n.classNames("p-picklist-item",{"p-highlight":e.selected},e.className);return o.createElement("li",{className:r,onClick:function(t){e.onClick&&e.onClick({originalEvent:t,value:e.value})},onKeyDown:function(t){e.onKeyDown&&e.onKeyDown({originalEvent:t,value:e.value})},tabIndex:e.tabIndex,role:"option","aria-selected":e.selected},t,o.createElement(a.Ripple,null))}));h.displayName="PickListItem";var S=o.memo(o.forwardRef((function(e,t){var r=o.useRef(null),a=function(t){var r=t.originalEvent,a=t.value,l=y(e.selection),o=n.ObjectUtils.findIndexInList(a,l,e.dataKey),i=-1!==o;if(e.metaKeySelection){var c=r.metaKey||r.ctrlKey;i&&c?l.splice(o,1):(c||(l.length=0),l.push(a))}else i?l.splice(o,1):l.push(a);e.onSelectionChange&&e.onSelectionChange({event:r,value:l})},l=function(e){var t=e.originalEvent,n=t.currentTarget;switch(t.which){case 40:var r=i(n);r&&r.focus(),t.preventDefault();break;case 38:var l=c(n);l&&l.focus(),t.preventDefault();break;case 13:a(e),t.preventDefault()}},i=function e(t){var r=t.nextElementSibling;return r?n.DomHandler.hasClass(r,"p-picklist-item")?r:e(r):null},c=function e(t){var r=t.previousElementSibling;return r?n.DomHandler.hasClass(r,"p-picklist-item")?r:e(r):null},s=function(t){return-1!==n.ObjectUtils.findIndexInList(t,e.selection,e.dataKey)};o.useImperativeHandle(t,(function(){return{listElementRef:r}}));var u=n.classNames("p-picklist-list-wrapper",e.className),d=e.header?o.createElement("div",{className:"p-picklist-header"},n.ObjectUtils.getJSXElement(e.header,e)):null,p=function(){var t=e.list?e.list.map((function(t){var n=JSON.stringify(t),r=s(t);return o.createElement(h,{key:n,value:t,template:e.itemTemplate,selected:r,onClick:a,onKeyDown:l,tabIndex:e.tabIndex})})):null,r=n.classNames("p-picklist-list",e.listClassName);return o.createElement("ul",{className:r,style:e.style,role:"listbox","aria-multiselectable":!0},t)}();return o.createElement("div",{ref:r,className:u},d,p)})));S.displayName="PickListSubList";var E=o.memo((function(e){var t=n.ObjectUtils.isEmpty(e.sourceSelection),a=n.ObjectUtils.isEmpty(e.targetSelection),l=n.ObjectUtils.isEmpty(e.source),i=n.ObjectUtils.isEmpty(e.target),c=n.classNames("p-picklist-buttons p-picklist-transfer-buttons",e.className);return o.createElement("div",{className:c},o.createElement(r.Button,{disabled:t,type:"button",icon:"pi pi-angle-right",onClick:function(t){var r=e.sourceSelection;if(n.ObjectUtils.isNotEmpty(r)){for(var a=y(e.target),l=y(e.source),o=0;o<r.length;o++){var i=r[o];-1===n.ObjectUtils.findIndexInList(i,a,e.dataKey)&&a.push(l.splice(n.ObjectUtils.findIndexInList(i,l,e.dataKey),1)[0])}e.onTransfer&&e.onTransfer({originalEvent:t,source:l,target:a,direction:"toTarget"})}}}),o.createElement(r.Button,{disabled:l,type:"button",icon:"pi pi-angle-double-right",onClick:function(t){if(e.source){var n=[].concat(y(e.target),y(e.source));e.onTransfer&&e.onTransfer({originalEvent:t,source:[],target:n,direction:"allToTarget"})}}}),o.createElement(r.Button,{disabled:a,type:"button",icon:"pi pi-angle-left",onClick:function(t){var r=e.targetSelection;if(n.ObjectUtils.isNotEmpty(r)){for(var a=y(e.target),l=y(e.source),o=0;o<r.length;o++){var i=r[o];-1===n.ObjectUtils.findIndexInList(i,l,e.dataKey)&&l.push(a.splice(n.ObjectUtils.findIndexInList(i,a,e.dataKey),1)[0])}e.onTransfer&&e.onTransfer({originalEvent:t,source:l,target:a,direction:"toSource"})}}}),o.createElement(r.Button,{disabled:i,type:"button",icon:"pi pi-angle-double-left",onClick:function(t){if(e.source){var n=[].concat(y(e.source),y(e.target));e.onTransfer&&e.onTransfer({originalEvent:t,source:n,target:[],direction:"allToSource"})}}}))}));E.displayName="PickListTransferControls";var T=o.memo(o.forwardRef((function(e,r){var a=f(o.useState([]),2),l=a[0],c=a[1],s=f(o.useState([]),2),u=s[0],d=s[1],p=o.useRef(null),m=o.useRef(null),g=o.useRef(null),v=o.useRef(null),y=e.onSourceSelectionChange?e.sourceSelection:l,h=e.onTargetSelectionChange?e.targetSelection:u,k=function(e,t){if(e){var r=n.DomHandler.findSingle(e,".p-picklist-list");switch(t){case"up":N(r,-1);break;case"top":r.scrollTop=0;break;case"down":N(r,1);break;case"bottom":setTimeout((function(){return r.scrollTop=r.scrollHeight}),100)}}},C=function(t,n,r){e.onChange&&e.onChange({originalEvent:t.originalEvent,source:n,target:r})},N=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=e.getElementsByClassName("p-highlight");n.ObjectUtils.isNotEmpty(r)&&n.DomHandler.scrollInView(e,-1===t?r[0]:r[r.length-1])},I=function(e,t,r){r?r(e):"sourceSelection"===t?c(e.value):d(e.value),n.ObjectUtils.isNotEmpty(y)&&"targetSelection"===t?c([]):n.ObjectUtils.isNotEmpty(h)&&"sourceSelection"===t&&d([])};t.useUpdateEffect((function(){g.current&&(k(g.current,v.current),g.current=null,v.current=null)}));var K=n.ObjectUtils.findDiffKeys(e,T.defaultProps),O=n.classNames("p-picklist p-component",e.className);return o.createElement("div",i({id:e.id,className:O,style:e.style},K),e.showSourceControls&&o.createElement(b,{list:e.source,selection:y,onReorder:function(t){C(t,t.value,e.target),g.current=p.current.listElementRef.current,v.current=t.direction},className:"p-picklist-source-controls",dataKey:e.dataKey}),o.createElement(S,{ref:p,list:e.source,selection:y,onSelectionChange:function(t){return I(t,"sourceSelection",e.onSourceSelectionChange)},itemTemplate:e.itemTemplate,header:e.sourceHeader,style:e.sourceStyle,className:"p-picklist-source-wrapper",listClassName:"p-picklist-source",metaKeySelection:e.metaKeySelection,tabIndex:e.tabIndex,dataKey:e.dataKey}),o.createElement(E,{onTransfer:function(t){var n=t.originalEvent,r=t.source,a=t.target;switch(t.direction){case"toTarget":e.onMoveToTarget&&e.onMoveToTarget({originalEvent:n,value:y});break;case"allToTarget":e.onMoveAllToTarget&&e.onMoveAllToTarget({originalEvent:n,value:e.source});break;case"toSource":e.onMoveToSource&&e.onMoveToSource({originalEvent:n,value:h});break;case"allToSource":e.onMoveAllToSource&&e.onMoveAllToSource({originalEvent:n,value:e.target})}I({originalEvent:n,value:[]},"sourceSelection",e.onSourceSelectionChange),I({originalEvent:n,value:[]},"targetSelection",e.onTargetSelectionChange),C(t,r,a)},source:e.source,target:e.target,sourceSelection:y,targetSelection:h,dataKey:e.dataKey}),o.createElement(S,{ref:m,list:e.target,selection:h,onSelectionChange:function(t){return I(t,"targetSelection",e.onTargetSelectionChange)},itemTemplate:e.itemTemplate,header:e.targetHeader,style:e.targetStyle,className:"p-picklist-target-wrapper",listClassName:"p-picklist-target",metaKeySelection:e.metaKeySelection,tabIndex:e.tabIndex,dataKey:e.dataKey}),e.showTargetControls&&o.createElement(b,{list:e.target,selection:h,onReorder:function(t){C(t,e.source,t.value),g.current=m.current.listElementRef.current,v.current=t.direction},className:"p-picklist-target-controls",dataKey:e.dataKey}))})));T.displayName="PickList",T.defaultProps={__TYPE:"PickList",id:null,source:null,target:null,sourceHeader:null,targetHeader:null,style:null,className:null,sourceStyle:null,targetStyle:null,sourceSelection:null,targetSelection:null,showSourceControls:!0,showTargetControls:!0,metaKeySelection:!0,tabIndex:0,dataKey:null,itemTemplate:null,onChange:null,onMoveToSource:null,onMoveAllToSource:null,onMoveToTarget:null,onMoveAllToTarget:null,onSourceSelectionChange:null,onTargetSelectionChange:null},exports.PickList=T;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/hooks"),r=require("primereact/utils"),l=require("primereact/button"),i=require("primereact/ripple");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var o=a(e);function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(this,arguments)}function s(e){if(Array.isArray(e))return e}function u(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,i=[],a=!0,o=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){o=!0,l=e}finally{try{a||null==n.return||n.return()}finally{if(o)throw l}}return i}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(e,t){return s(e)||u(e,t)||f(e,t)||m()}function g(e){if(Array.isArray(e))return p(e)}function v(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function y(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function b(e){return g(e)||v(e)||f(e)||y()}var h=o.memo((function(e){var t=!e.selection.length,n=r.classNames("p-picklist-buttons",e.className);return o.createElement("div",{className:n},o.createElement(l.Button,{disabled:t,type:"button",icon:"pi pi-angle-up",onClick:function(t){var n=e.selection;if(n&&n.length){for(var l=b(e.list),i=0;i<n.length;i++){var a=r.ObjectUtils.findIndexInList(n[i],l,e.dataKey);if(0===a)break;var o=l[a-1];l[a-1]=l[a],l[a]=o}e.onReorder&&e.onReorder({originalEvent:t,value:l,direction:"up"})}}}),o.createElement(l.Button,{disabled:t,type:"button",icon:"pi pi-angle-double-up",onClick:function(t){var n=e.selection;if(n&&n.length){for(var l=b(e.list),i=0;i<n.length;i++){var a=r.ObjectUtils.findIndexInList(n[i],l,e.dataKey);if(0===a)break;var o=l.splice(a,1)[0];l.unshift(o)}e.onReorder&&e.onReorder({originalEvent:t,value:l,direction:"top"})}}}),o.createElement(l.Button,{disabled:t,type:"button",icon:"pi pi-angle-down",onClick:function(t){var n=e.selection;if(n&&n.length){for(var l=b(e.list),i=n.length-1;i>=0;i--){var a=r.ObjectUtils.findIndexInList(n[i],l,e.dataKey);if(a===l.length-1)break;var o=l[a+1];l[a+1]=l[a],l[a]=o}e.onReorder&&e.onReorder({originalEvent:t,value:l,direction:"down"})}}}),o.createElement(l.Button,{disabled:t,type:"button",icon:"pi pi-angle-double-down",onClick:function(t){var n=e.selection;if(n&&n.length){for(var l=b(e.list),i=n.length-1;i>=0;i--){var a=r.ObjectUtils.findIndexInList(n[i],l,e.dataKey);if(a===l.length-1)break;var o=l.splice(a,1)[0];l.push(o)}e.onReorder&&e.onReorder({originalEvent:t,value:l,direction:"bottom"})}}}))}));h.displayName="PickListControls";var S=o.memo((function(e){var t=e.template?e.template(e.value):e.value,n=r.classNames("p-picklist-item",{"p-highlight":e.selected},e.className);return o.createElement("li",{className:n,onClick:function(t){e.onClick&&e.onClick({originalEvent:t,value:e.value})},onKeyDown:function(t){e.onKeyDown&&e.onKeyDown({originalEvent:t,value:e.value})},tabIndex:e.tabIndex,role:"option","aria-selected":e.selected},t,o.createElement(i.Ripple,null))}));S.displayName="PickListItem";var T=o.memo(o.forwardRef((function(e,t){var n=o.useRef(null),l=function(t){var n=t.originalEvent,l=t.value,i=b(e.selection),a=r.ObjectUtils.findIndexInList(l,i,e.dataKey),o=-1!==a;if(e.metaKeySelection){var c=n.metaKey||n.ctrlKey;o&&c?i.splice(a,1):(c||(i.length=0),i.push(l))}else o?i.splice(a,1):i.push(l);e.onSelectionChange&&e.onSelectionChange({event:n,value:i})},i=function(e){var t=e.originalEvent,n=t.currentTarget;switch(t.which){case 40:var r=a(n);r&&r.focus(),t.preventDefault();break;case 38:var i=c(n);i&&i.focus(),t.preventDefault();break;case 13:l(e),t.preventDefault()}},a=function e(t){var n=t.nextElementSibling;return n?r.DomHandler.hasClass(n,"p-picklist-item")?n:e(n):null},c=function e(t){var n=t.previousElementSibling;return n?r.DomHandler.hasClass(n,"p-picklist-item")?n:e(n):null},s=function(t){return-1!==r.ObjectUtils.findIndexInList(t,e.selection,e.dataKey)},u=function(t){e.onFilter&&e.onFilter({originalEvent:t,value:t.target.value,type:e.type})},p=function(e){13===e.which&&e.preventDefault()};o.useImperativeHandle(t,(function(){return{listElementRef:n}}));var f=r.classNames("p-picklist-list-wrapper",e.className),m=e.header?o.createElement("div",{className:"p-picklist-header"},r.ObjectUtils.getJSXElement(e.header,e)):null,d=function(){if(e.showFilter){var t=o.createElement("div",{className:"p-picklist-filter"},o.createElement("input",{type:"text",value:e.filterValue,onChange:u,onKeyDown:p,placeholder:e.placeholder,className:"p-picklist-filter-input p-inputtext p-component"}),o.createElement("span",{className:"p-picklist-filter-icon pi pi-search"}));if(e.filterTemplate)t=r.ObjectUtils.getJSXElement(e.filterTemplate,{className:"p-picklist-filter",inputProps:{className:"p-picklist-filter-input p-inputtext p-component",onChange:u,onKeyDown:p},iconClassName:"p-picklist-filter-icon pi pi-search",element:t,props:e});return o.createElement("div",{className:"p-picklist-filter-container"},t)}return null}(),g=function(){var t=e.list?e.list.map((function(t){var n=JSON.stringify(t),r=s(t);return o.createElement(S,{key:n,value:t,template:e.itemTemplate,selected:r,onClick:l,onKeyDown:i,tabIndex:e.tabIndex})})):null,n=r.classNames("p-picklist-list",e.listClassName);return o.createElement("ul",{className:n,style:e.style,role:"listbox","aria-multiselectable":!0},t)}();return o.createElement("div",{ref:n,className:f},m,d,g)})));T.displayName="PickListSubList";var E=o.memo((function(e){var t=r.ObjectUtils.isEmpty(e.sourceSelection)||r.ObjectUtils.isEmpty(e.visibleSourceList),n=r.ObjectUtils.isEmpty(e.targetSelection)||r.ObjectUtils.isEmpty(e.visibleTargetList),i=r.ObjectUtils.isEmpty(e.visibleSourceList),a=r.ObjectUtils.isEmpty(e.visibleTargetList),c=r.classNames("p-picklist-buttons p-picklist-transfer-buttons",e.className);return o.createElement("div",{className:c},o.createElement(l.Button,{disabled:t,type:"button",icon:"pi pi-angle-right",onClick:function(t){var n=e.sourceSelection;if(r.ObjectUtils.isNotEmpty(n)){for(var l=b(e.target),i=b(e.source),a=0;a<n.length;a++){var o=n[a];-1===r.ObjectUtils.findIndexInList(o,l,e.dataKey)&&l.push(i.splice(r.ObjectUtils.findIndexInList(o,i,e.dataKey),1)[0])}e.onTransfer&&e.onTransfer({originalEvent:t,source:i,target:l,direction:"toTarget"})}}}),o.createElement(l.Button,{disabled:i,type:"button",icon:"pi pi-angle-double-right",onClick:function(t){if(e.source){var n=[].concat(b(e.target),b(e.visibleSourceList)),r=e.source.filter((function(t){return!e.visibleSourceList.some((function(e){return e===t}))}));e.onTransfer&&e.onTransfer({originalEvent:t,source:r,target:n,direction:"allToTarget"})}}}),o.createElement(l.Button,{disabled:n,type:"button",icon:"pi pi-angle-left",onClick:function(t){var n=e.targetSelection;if(r.ObjectUtils.isNotEmpty(n)){for(var l=b(e.target),i=b(e.source),a=0;a<n.length;a++){var o=n[a];-1===r.ObjectUtils.findIndexInList(o,i,e.dataKey)&&i.push(l.splice(r.ObjectUtils.findIndexInList(o,l,e.dataKey),1)[0])}e.onTransfer&&e.onTransfer({originalEvent:t,source:i,target:l,direction:"toSource"})}}}),o.createElement(l.Button,{disabled:a,type:"button",icon:"pi pi-angle-double-left",onClick:function(t){if(e.source){var n=[].concat(b(e.source),b(e.visibleTargetList)),r=e.target.filter((function(t){return!e.visibleTargetList.some((function(e){return e===t}))}));e.onTransfer&&e.onTransfer({originalEvent:t,source:n,target:r,direction:"allToSource"})}}}))}));E.displayName="PickListTransferControls";var k=o.memo(o.forwardRef((function(e,l){var i=d(o.useState([]),2),a=i[0],s=i[1],u=d(o.useState([]),2),p=u[0],f=u[1],m=d(o.useState(""),2),g=m[0],v=m[1],y=d(o.useState(""),2),b=y[0],S=y[1],C=o.useRef(null),N=o.useRef(null),I=o.useRef(null),w=o.useRef(null),O=e.onSourceSelectionChange?e.sourceSelection:a,j=e.onTargetSelectionChange?e.targetSelection:p,K=e.onSourceFilterChange?e.sourceFilterValue:g,L=e.onTargetFilterChange?e.targetFilterValue:b,F=r.ObjectUtils.isNotEmpty(e.filterBy),U=F&&e.showSourceFilter,x=F&&e.showTargetFilter,R=function(e,t){if(e){var n=r.DomHandler.findSingle(e,".p-picklist-list");switch(t){case"up":P(n,-1);break;case"top":n.scrollTop=0;break;case"down":P(n,1);break;case"bottom":setTimeout((function(){return n.scrollTop=n.scrollHeight}),100)}}},M=function(t,n,r){e.onChange&&e.onChange({originalEvent:t.originalEvent,source:n,target:r})},P=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=e.getElementsByClassName("p-highlight");r.ObjectUtils.isNotEmpty(n)&&r.DomHandler.scrollInView(e,-1===t?n[0]:n[n.length-1])},D=function(e,t,n){n?n(e):"sourceSelection"===t?s(e.value):f(e.value),r.ObjectUtils.isNotEmpty(O)&&"targetSelection"===t?s([]):r.ObjectUtils.isNotEmpty(j)&&"sourceSelection"===t&&f([])},A=function(t){var n=t.originalEvent,r=t.value,l=d("source"===t.type?[v,e.onSourceFilterChange]:[S,e.onTargetFilterChange],2),i=l[0],a=l[1];a?a({originalEvent:n,value:r}):i(r)},B=function(e,t){var n=d("source"===t?[K,H]:[L,V],2),l=n[0],i=n[1];return F&&r.ObjectUtils.isNotEmpty(l)?i(l):e},H=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=t.trim().toLocaleLowerCase(e.filterLocale);return q(e.source,n)},V=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=t.trim().toLocaleLowerCase(e.filterLocale);return q(e.target,n)},q=function(n,r){var l=F?e.filterBy.split(","):[];return t.FilterService.filter(n,l,r,e.filterMatchMode,e.filterLocale)};n.useUpdateEffect((function(){I.current&&(R(I.current,w.current),I.current=null,w.current=null)}));var _=r.ObjectUtils.findDiffKeys(e,k.defaultProps),J=r.classNames("p-picklist p-component",e.className),X=e.sourceItemTemplate?e.sourceItemTemplate:e.itemTemplate,z=e.targetItemTemplate?e.targetItemTemplate:e.itemTemplate,Y=B(e.source,"source"),$=B(e.target,"target");return o.createElement("div",c({id:e.id,className:J,style:e.style},_),e.showSourceControls&&o.createElement(h,{list:e.source,selection:O,onReorder:function(t){M(t,t.value,e.target),I.current=C.current.listElementRef.current,w.current=t.direction},className:"p-picklist-source-controls",dataKey:e.dataKey}),o.createElement(T,{ref:C,type:"source",list:Y,selection:O,onSelectionChange:function(t){return D(t,"sourceSelection",e.onSourceSelectionChange)},itemTemplate:X,header:e.sourceHeader,style:e.sourceStyle,className:"p-picklist-source-wrapper",listClassName:"p-picklist-source",metaKeySelection:e.metaKeySelection,tabIndex:e.tabIndex,dataKey:e.dataKey,filterValue:K,onFilter:A,showFilter:U,placeholder:e.sourceFilterPlaceholder,template:e.sourceFilterTemplate}),o.createElement(E,{onTransfer:function(t){var n=t.originalEvent,r=t.source,l=t.target;switch(t.direction){case"toTarget":e.onMoveToTarget&&e.onMoveToTarget({originalEvent:n,value:O});break;case"allToTarget":e.onMoveAllToTarget&&e.onMoveAllToTarget({originalEvent:n,value:e.source});break;case"toSource":e.onMoveToSource&&e.onMoveToSource({originalEvent:n,value:j});break;case"allToSource":e.onMoveAllToSource&&e.onMoveAllToSource({originalEvent:n,value:e.target})}D({originalEvent:n,value:[]},"sourceSelection",e.onSourceSelectionChange),D({originalEvent:n,value:[]},"targetSelection",e.onTargetSelectionChange),M(t,r,l)},source:e.source,visibleSourceList:Y,target:e.target,visibleTargetList:$,sourceSelection:O,targetSelection:j,dataKey:e.dataKey}),o.createElement(T,{ref:N,type:"target",list:$,selection:j,onSelectionChange:function(t){return D(t,"targetSelection",e.onTargetSelectionChange)},itemTemplate:z,header:e.targetHeader,style:e.targetStyle,className:"p-picklist-target-wrapper",listClassName:"p-picklist-target",metaKeySelection:e.metaKeySelection,tabIndex:e.tabIndex,dataKey:e.dataKey,filterValue:L,onFilter:A,showFilter:x,placeholder:e.targetFilterPlaceholder,template:e.targetFilterTemplate}),e.showTargetControls&&o.createElement(h,{list:e.target,selection:j,onReorder:function(t){M(t,e.source,t.value),I.current=N.current.listElementRef.current,w.current=t.direction},className:"p-picklist-target-controls",dataKey:e.dataKey}))})));k.displayName="PickList",k.defaultProps={__TYPE:"PickList",id:null,source:null,target:null,sourceHeader:null,targetHeader:null,style:null,className:null,sourceStyle:null,targetStyle:null,sourceSelection:null,targetSelection:null,showSourceControls:!0,showTargetControls:!0,metaKeySelection:!0,filterBy:null,filterMatchMode:"contains",filterLocale:void 0,sourceFilterValue:null,targetFilterValue:null,showSourceFilter:!0,showTargetFilter:!0,sourceFilterPlaceholder:null,targetFilterPlaceholder:null,sourceFilterTemplate:null,targetFilterTemplate:null,tabIndex:0,dataKey:null,itemTemplate:null,sourceItemTemplate:null,targetItemTemplate:null,onChange:null,onMoveToSource:null,onMoveAllToSource:null,onMoveToTarget:null,onMoveAllToTarget:null,onSourceSelectionChange:null,onTargetSelectionChange:null,onSourceFilterChange:null,onTargetFilterChange:null},exports.PickList=k;
@@ -1,5 +1,9 @@
1
1
  import * as React from 'react';
2
2
 
3
+ type PickListItemTemplateType = React.ReactNode | ((item: any) => React.ReactNode);
4
+
5
+ type PickListFilterTemplateType = React.ReactNode | ((options: PickListFilterTemplateOptions) => React.ReactNode);
6
+
3
7
  interface PickListEventParams {
4
8
  originalEvent: React.SyntheticEvent;
5
9
  value: any;
@@ -11,6 +15,20 @@ interface PickListChangeParams {
11
15
  target: any;
12
16
  }
13
17
 
18
+ interface PickListFilterTemplateOptions {
19
+ className: string;
20
+ inputProps: PickListFilterInputProps;
21
+ iconClassName: string;
22
+ element: React.ReactNode;
23
+ props: PickListProps;
24
+ }
25
+
26
+ interface PickListFilterInputProps {
27
+ className: string;
28
+ onChange(event: React.SyntheticEvent): void;
29
+ onKeyDown(event: React.SyntheticEvent): void;
30
+ }
31
+
14
32
  export interface PickListProps {
15
33
  id?: string;
16
34
  source?: any[];
@@ -26,9 +44,22 @@ export interface PickListProps {
26
44
  showSourceControls?: boolean;
27
45
  showTargetControls?: boolean;
28
46
  metaKeySelection?: boolean;
47
+ filterBy?: string;
48
+ filterMatchMode?: string;
49
+ filterLocale?: string;
50
+ sourceFilterValue?: string;
51
+ targetFilterValue?: string;
52
+ showSourceFilter?: boolean;
53
+ showTargetFilter?: boolean;
54
+ sourceFilterPlaceholder?: string;
55
+ targetFilterPlaceholder?: string;
56
+ sourceFilterTemplate?: PickListFilterTemplateType;
57
+ targetFilterTemplate?: PickListFilterTemplateType;
29
58
  tabIndex?: number;
30
59
  dataKey?: string;
31
- itemTemplate?(item: any): React.ReactNode;
60
+ itemTemplate?: PickListItemTemplateType;
61
+ sourceItemTemplate?: PickListItemTemplateType;
62
+ targetItemTemplate?: PickListItemTemplateType;
32
63
  onChange?(e: PickListChangeParams): void;
33
64
  onMoveToSource?(e: PickListEventParams): void;
34
65
  onMoveAllToSource?(e: PickListEventParams): void;
@@ -36,6 +67,8 @@ export interface PickListProps {
36
67
  onMoveAllToTarget?(e: PickListEventParams): void;
37
68
  onSourceSelectionChange?(e: PickListEventParams): void;
38
69
  onTargetSelectionChange?(e: PickListEventParams): void;
70
+ onSourceFilterChange?(e: PickListEventParams): void;
71
+ onTargetFilterChange?(e: PickListEventParams): void;
39
72
  children?: React.ReactNode;
40
73
  }
41
74