primevue 2.5.0 → 2.8.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 (704) hide show
  1. package/accordion/accordion.common.js +1 -1
  2. package/accordion/accordion.umd.js +1 -1
  3. package/accordiontab/accordiontab.common.js +28 -1
  4. package/accordiontab/accordiontab.umd.js +28 -1
  5. package/accordiontab/accordiontab.umd.min.js +1 -1
  6. package/api/Api.d.ts +296 -0
  7. package/api/Api.js +47 -0
  8. package/api/FilterMatchMode.js +26 -0
  9. package/api/FilterOperator.js +12 -0
  10. package/api/FilterService.js +260 -0
  11. package/api/PrimeIcons.js +246 -0
  12. package/api/ToastSeverity.js +14 -0
  13. package/api/api.common.js +4889 -0
  14. package/api/api.umd.js +4899 -0
  15. package/api/api.umd.min.js +1 -0
  16. package/api/demo.html +8 -0
  17. package/api/filtermatchmode.common.js +186 -0
  18. package/api/filtermatchmode.umd.js +196 -0
  19. package/api/filtermatchmode.umd.min.js +1 -0
  20. package/api/filteroperator.common.js +172 -0
  21. package/api/filteroperator.umd.js +182 -0
  22. package/api/filteroperator.umd.min.js +1 -0
  23. package/{utils/filterutils.common.js → api/filterservice.common.js} +207 -110
  24. package/{utils/filterutils.umd.js → api/filterservice.umd.js} +209 -112
  25. package/api/filterservice.umd.min.js +1 -0
  26. package/api/index.d.ts +1 -0
  27. package/api/index.js +2 -0
  28. package/api/primeicons.common.js +406 -0
  29. package/api/primeicons.umd.js +416 -0
  30. package/api/primeicons.umd.min.js +1 -0
  31. package/{confirmationservice/confirmationeventbus.common.js → api/toastseverity.common.js} +9 -9
  32. package/{confirmationservice/confirmationeventbus.umd.js → api/toastseverity.umd.js} +11 -11
  33. package/api/toastseverity.umd.min.js +1 -0
  34. package/autocomplete/AutoComplete.d.ts +1 -0
  35. package/autocomplete/AutoComplete.vue +8 -0
  36. package/autocomplete/autocomplete.common.js +61 -24
  37. package/autocomplete/autocomplete.umd.js +61 -24
  38. package/autocomplete/autocomplete.umd.min.js +1 -1
  39. package/avatar/avatar.common.js +1 -1
  40. package/avatar/avatar.umd.js +1 -1
  41. package/avatargroup/avatargroup.common.js +1 -1
  42. package/avatargroup/avatargroup.umd.js +1 -1
  43. package/badge/badge.common.js +1 -1
  44. package/badge/badge.umd.js +1 -1
  45. package/badgedirective/badgedirective.common.js +27 -0
  46. package/badgedirective/badgedirective.umd.js +27 -0
  47. package/badgedirective/badgedirective.umd.min.js +1 -1
  48. package/blockui/BlockUI.vue +6 -16
  49. package/blockui/blockui.common.js +38 -16
  50. package/blockui/blockui.umd.js +38 -16
  51. package/blockui/blockui.umd.min.js +1 -1
  52. package/breadcrumb/Breadcrumb.d.ts +1 -0
  53. package/breadcrumb/Breadcrumb.vue +6 -2
  54. package/breadcrumb/BreadcrumbItem.vue +30 -11
  55. package/breadcrumb/breadcrumb.common.js +44 -16
  56. package/breadcrumb/breadcrumb.umd.js +44 -16
  57. package/breadcrumb/breadcrumb.umd.min.js +1 -1
  58. package/breadcrumb/breadcrumbitem.common.js +34 -10
  59. package/breadcrumb/breadcrumbitem.umd.js +34 -10
  60. package/breadcrumb/breadcrumbitem.umd.min.js +1 -1
  61. package/button/button.common.js +28 -1
  62. package/button/button.umd.js +28 -1
  63. package/button/button.umd.min.js +1 -1
  64. package/calendar/Calendar.d.ts +5 -0
  65. package/calendar/Calendar.vue +339 -70
  66. package/calendar/calendar.common.js +400 -73
  67. package/calendar/calendar.umd.js +400 -73
  68. package/calendar/calendar.umd.min.js +1 -1
  69. package/card/card.common.js +1 -1
  70. package/card/card.umd.js +1 -1
  71. package/carousel/Carousel.vue +2 -2
  72. package/carousel/carousel.common.js +30 -3
  73. package/carousel/carousel.umd.js +30 -3
  74. package/carousel/carousel.umd.min.js +1 -1
  75. package/cascadeselect/CascadeSelect.d.ts +6 -4
  76. package/cascadeselect/CascadeSelect.vue +3 -1
  77. package/cascadeselect/cascadeselect.common.js +53 -21
  78. package/cascadeselect/cascadeselect.umd.js +53 -21
  79. package/cascadeselect/cascadeselect.umd.min.js +1 -1
  80. package/cascadeselect/cascadeselectsub.common.js +48 -18
  81. package/cascadeselect/cascadeselectsub.umd.js +48 -18
  82. package/cascadeselect/cascadeselectsub.umd.min.js +1 -1
  83. package/chart/Chart.vue +27 -11
  84. package/chart/chart.common.js +30 -12
  85. package/chart/chart.umd.js +30 -12
  86. package/chart/chart.umd.min.js +1 -1
  87. package/checkbox/Checkbox.css +1 -0
  88. package/checkbox/Checkbox.d.ts +2 -0
  89. package/checkbox/Checkbox.vue +11 -3
  90. package/checkbox/checkbox.common.js +38 -22
  91. package/checkbox/checkbox.umd.js +38 -22
  92. package/checkbox/checkbox.umd.min.js +1 -1
  93. package/chip/chip.common.js +1 -1
  94. package/chip/chip.umd.js +1 -1
  95. package/chips/chips.common.js +1 -1
  96. package/chips/chips.umd.js +1 -1
  97. package/colorpicker/colorpicker.common.js +28 -1
  98. package/colorpicker/colorpicker.umd.js +28 -1
  99. package/colorpicker/colorpicker.umd.min.js +1 -1
  100. package/column/Column.vue +72 -12
  101. package/column/column.common.js +71 -11
  102. package/column/column.umd.js +71 -11
  103. package/column/column.umd.min.js +1 -1
  104. package/columngroup/columngroup.common.js +1 -1
  105. package/columngroup/columngroup.umd.js +1 -1
  106. package/common/Common.css +13 -4
  107. package/config/PrimeVue.d.ts +24 -2
  108. package/config/PrimeVue.js +34 -4
  109. package/config/primevue.common.js +3584 -133
  110. package/config/primevue.umd.js +3584 -133
  111. package/config/primevue.umd.min.js +1 -1
  112. package/{confirmationservice → confirmationeventbus}/ConfirmationEventBus.js +3 -3
  113. package/confirmationeventbus/confirmationeventbus.common.js +1773 -0
  114. package/confirmationeventbus/confirmationeventbus.umd.js +1783 -0
  115. package/confirmationeventbus/confirmationeventbus.umd.min.js +1 -0
  116. package/confirmationeventbus/demo.html +8 -0
  117. package/confirmationeventbus/index.d.ts +1 -0
  118. package/confirmationeventbus/index.js +2 -0
  119. package/confirmationservice/ConfirmationService.js +1 -1
  120. package/confirmationservice/confirmationservice.common.js +1605 -6
  121. package/confirmationservice/confirmationservice.umd.js +1605 -6
  122. package/confirmationservice/confirmationservice.umd.min.js +1 -1
  123. package/confirmdialog/ConfirmDialog.vue +9 -3
  124. package/confirmdialog/confirmdialog.common.js +456 -44
  125. package/confirmdialog/confirmdialog.umd.js +456 -44
  126. package/confirmdialog/confirmdialog.umd.min.js +1 -1
  127. package/confirmpopup/ConfirmPopup.d.ts +4 -1
  128. package/confirmpopup/ConfirmPopup.vue +9 -6
  129. package/confirmpopup/confirmpopup.common.js +531 -13
  130. package/confirmpopup/confirmpopup.umd.js +531 -13
  131. package/confirmpopup/confirmpopup.umd.min.js +1 -1
  132. package/contextmenu/ContextMenu.d.ts +1 -0
  133. package/contextmenu/ContextMenu.vue +5 -1
  134. package/contextmenu/ContextMenuSub.vue +33 -13
  135. package/contextmenu/contextmenu.common.js +68 -14
  136. package/contextmenu/contextmenu.umd.js +68 -14
  137. package/contextmenu/contextmenu.umd.min.js +1 -1
  138. package/contextmenu/contextmenusub.common.js +58 -8
  139. package/contextmenu/contextmenusub.umd.js +58 -8
  140. package/contextmenu/contextmenusub.umd.min.js +1 -1
  141. package/datatable/BodyCell.vue +118 -34
  142. package/datatable/ColumnFilter.vue +558 -0
  143. package/datatable/ColumnSlot.vue +21 -1
  144. package/datatable/DataTable.d.ts +41 -15
  145. package/datatable/DataTable.vue +582 -391
  146. package/datatable/FooterCell.vue +82 -0
  147. package/datatable/HeaderCell.vue +246 -0
  148. package/datatable/TableBody.vue +92 -23
  149. package/datatable/TableFooter.vue +34 -18
  150. package/datatable/TableHeader.vue +79 -134
  151. package/datatable/bodycell.common.js +578 -56
  152. package/datatable/bodycell.umd.js +578 -56
  153. package/datatable/bodycell.umd.min.js +1 -1
  154. package/datatable/columnfilter.common.js +7610 -0
  155. package/datatable/columnfilter.umd.js +7620 -0
  156. package/datatable/columnfilter.umd.min.js +1 -0
  157. package/datatable/columnslot.common.js +21 -1
  158. package/datatable/columnslot.umd.js +21 -1
  159. package/datatable/columnslot.umd.min.js +1 -1
  160. package/datatable/datatable.common.js +4340 -1384
  161. package/datatable/datatable.umd.js +4340 -1384
  162. package/datatable/datatable.umd.min.js +1 -1
  163. package/datatable/demo.html +3 -4
  164. package/datatable/footercell.common.js +5453 -0
  165. package/datatable/footercell.umd.js +5463 -0
  166. package/datatable/footercell.umd.min.js +1 -0
  167. package/datatable/headercell.common.js +8058 -0
  168. package/datatable/headercell.umd.js +8068 -0
  169. package/datatable/headercell.umd.min.js +1 -0
  170. package/datatable/headercheckbox.common.js +1 -1
  171. package/datatable/headercheckbox.umd.js +1 -1
  172. package/datatable/rowcheckbox.common.js +1 -1
  173. package/datatable/rowcheckbox.umd.js +1 -1
  174. package/datatable/rowradiobutton.common.js +1 -1
  175. package/datatable/rowradiobutton.umd.js +1 -1
  176. package/datatable/tablebody.common.js +1066 -473
  177. package/datatable/tablebody.umd.js +1066 -473
  178. package/datatable/tablebody.umd.min.js +1 -1
  179. package/datatable/tablefooter.common.js +3785 -105
  180. package/datatable/tablefooter.umd.js +3785 -105
  181. package/datatable/tablefooter.umd.min.js +1 -1
  182. package/datatable/tableheader.common.js +6633 -2138
  183. package/datatable/tableheader.umd.js +6633 -2138
  184. package/datatable/tableheader.umd.min.js +1 -1
  185. package/datatable/tableloadingbody.common.js +22 -2
  186. package/datatable/tableloadingbody.umd.js +22 -2
  187. package/datatable/tableloadingbody.umd.min.js +1 -1
  188. package/dataview/DataView.d.ts +2 -2
  189. package/dataview/DataView.vue +10 -10
  190. package/dataview/dataview.common.js +1971 -80
  191. package/dataview/dataview.umd.js +1971 -80
  192. package/dataview/dataview.umd.min.js +1 -1
  193. package/dataviewlayoutoptions/dataviewlayoutoptions.common.js +1 -1
  194. package/dataviewlayoutoptions/dataviewlayoutoptions.umd.js +1 -1
  195. package/deferredcontent/deferredcontent.common.js +1 -1
  196. package/deferredcontent/deferredcontent.umd.js +1 -1
  197. package/dialog/Dialog.vue +35 -21
  198. package/dialog/dialog.common.js +62 -24
  199. package/dialog/dialog.umd.js +62 -24
  200. package/dialog/dialog.umd.min.js +1 -1
  201. package/divider/divider.common.js +1 -1
  202. package/divider/divider.umd.js +1 -1
  203. package/dock/Dock.d.ts +2 -0
  204. package/dock/Dock.vue +12 -2
  205. package/dock/DockSub.vue +45 -21
  206. package/dock/dock.common.js +44 -15
  207. package/dock/dock.umd.js +44 -15
  208. package/dock/dock.umd.min.js +1 -1
  209. package/dock/docksub.common.js +31 -7
  210. package/dock/docksub.umd.js +31 -7
  211. package/dock/docksub.umd.min.js +1 -1
  212. package/dropdown/Dropdown.d.ts +5 -3
  213. package/dropdown/Dropdown.vue +33 -5
  214. package/dropdown/dropdown.common.js +83 -24
  215. package/dropdown/dropdown.umd.js +83 -24
  216. package/dropdown/dropdown.umd.min.js +1 -1
  217. package/editor/editor.common.js +1 -1
  218. package/editor/editor.umd.js +1 -1
  219. package/fieldset/fieldset.common.js +28 -1
  220. package/fieldset/fieldset.umd.js +28 -1
  221. package/fieldset/fieldset.umd.min.js +1 -1
  222. package/fileupload/FileUpload.vue +5 -2
  223. package/fileupload/fileupload.common.js +55 -19
  224. package/fileupload/fileupload.umd.js +55 -19
  225. package/fileupload/fileupload.umd.min.js +1 -1
  226. package/fullcalendar/fullcalendar.common.js +342 -136
  227. package/fullcalendar/fullcalendar.umd.js +342 -136
  228. package/fullcalendar/fullcalendar.umd.min.js +4 -4
  229. package/galleria/Galleria.vue +3 -8
  230. package/galleria/GalleriaContent.vue +9 -0
  231. package/galleria/galleria.common.js +49 -17
  232. package/galleria/galleria.umd.js +49 -17
  233. package/galleria/galleria.umd.min.js +1 -1
  234. package/galleria/galleriacontent.common.js +40 -4
  235. package/galleria/galleriacontent.umd.js +40 -4
  236. package/galleria/galleriacontent.umd.min.js +1 -1
  237. package/galleria/galleriaitem.common.js +28 -1
  238. package/galleria/galleriaitem.umd.js +28 -1
  239. package/galleria/galleriaitem.umd.min.js +1 -1
  240. package/galleria/galleriathumbnails.common.js +28 -1
  241. package/galleria/galleriathumbnails.umd.js +28 -1
  242. package/galleria/galleriathumbnails.umd.min.js +1 -1
  243. package/imagepreview/ImagePreview.d.ts +10 -0
  244. package/imagepreview/ImagePreview.vue +205 -0
  245. package/imagepreview/demo.html +17 -0
  246. package/{datatable/scrollableview.common.js → imagepreview/imagepreview.common.js} +570 -463
  247. package/{datatable/scrollableview.umd.js → imagepreview/imagepreview.umd.js} +572 -465
  248. package/imagepreview/imagepreview.umd.min.js +1 -0
  249. package/imagepreview/index.d.ts +1 -0
  250. package/imagepreview/index.js +2 -0
  251. package/imagepreview/plugin.js +4 -0
  252. package/inlinemessage/inlinemessage.common.js +1 -1
  253. package/inlinemessage/inlinemessage.umd.js +1 -1
  254. package/inplace/inplace.common.js +29 -2
  255. package/inplace/inplace.umd.js +29 -2
  256. package/inplace/inplace.umd.min.js +1 -1
  257. package/inputmask/InputMask.vue +7 -5
  258. package/inputmask/inputmask.common.js +39 -12
  259. package/inputmask/inputmask.umd.js +39 -12
  260. package/inputmask/inputmask.umd.min.js +1 -1
  261. package/inputnumber/InputNumber.vue +183 -62
  262. package/inputnumber/inputnumber.common.js +249 -113
  263. package/inputnumber/inputnumber.umd.js +249 -113
  264. package/inputnumber/inputnumber.umd.min.js +1 -1
  265. package/inputswitch/InputSwitch.d.ts +2 -0
  266. package/inputswitch/InputSwitch.vue +15 -3
  267. package/inputswitch/inputswitch.common.js +17 -5
  268. package/inputswitch/inputswitch.umd.js +17 -5
  269. package/inputswitch/inputswitch.umd.min.js +1 -1
  270. package/inputtext/inputtext.common.js +3 -7
  271. package/inputtext/inputtext.umd.js +3 -7
  272. package/inputtext/inputtext.umd.min.js +1 -1
  273. package/knob/knob.common.js +1 -1
  274. package/knob/knob.umd.js +1 -1
  275. package/listbox/Listbox.d.ts +3 -3
  276. package/listbox/listbox.common.js +48 -18
  277. package/listbox/listbox.umd.js +48 -18
  278. package/listbox/listbox.umd.min.js +1 -1
  279. package/megamenu/MegaMenu.d.ts +6 -1
  280. package/megamenu/MegaMenu.vue +51 -22
  281. package/megamenu/megamenu.common.js +74 -10
  282. package/megamenu/megamenu.umd.js +74 -10
  283. package/megamenu/megamenu.umd.min.js +1 -1
  284. package/menu/Menu.d.ts +1 -0
  285. package/menu/Menu.vue +11 -4
  286. package/menu/Menuitem.vue +25 -11
  287. package/menu/menu.common.js +68 -17
  288. package/menu/menu.umd.js +68 -17
  289. package/menu/menu.umd.min.js +1 -1
  290. package/menu/menuitem.common.js +55 -11
  291. package/menu/menuitem.umd.js +55 -11
  292. package/menu/menuitem.umd.min.js +1 -1
  293. package/menubar/Menubar.d.ts +1 -0
  294. package/menubar/Menubar.vue +5 -1
  295. package/menubar/MenubarSub.vue +34 -14
  296. package/menubar/menubar.common.js +68 -14
  297. package/menubar/menubar.umd.js +68 -14
  298. package/menubar/menubar.umd.min.js +1 -1
  299. package/menubar/menubarsub.common.js +58 -8
  300. package/menubar/menubarsub.umd.js +58 -8
  301. package/menubar/menubarsub.umd.min.js +1 -1
  302. package/message/Message.d.ts +1 -0
  303. package/message/Message.vue +5 -1
  304. package/message/message.common.js +34 -3
  305. package/message/message.umd.js +34 -3
  306. package/message/message.umd.min.js +1 -1
  307. package/multiselect/MultiSelect.d.ts +4 -3
  308. package/multiselect/MultiSelect.vue +8 -1
  309. package/multiselect/multiselect.common.js +58 -22
  310. package/multiselect/multiselect.umd.js +58 -22
  311. package/multiselect/multiselect.umd.min.js +1 -1
  312. package/orderlist/OrderList.d.ts +2 -0
  313. package/orderlist/OrderList.vue +2 -0
  314. package/orderlist/orderlist.common.js +53 -21
  315. package/orderlist/orderlist.umd.js +53 -21
  316. package/orderlist/orderlist.umd.min.js +1 -1
  317. package/organizationchart/organizationchart.common.js +31 -8
  318. package/organizationchart/organizationchart.umd.js +31 -8
  319. package/organizationchart/organizationchart.umd.min.js +1 -1
  320. package/organizationchart/organizationchartnode.common.js +28 -1
  321. package/organizationchart/organizationchartnode.umd.js +28 -1
  322. package/organizationchart/organizationchartnode.umd.min.js +1 -1
  323. package/overlayeventbus/OverlayEventBus.js +14 -0
  324. package/overlayeventbus/demo.html +8 -0
  325. package/overlayeventbus/index.d.ts +1 -0
  326. package/overlayeventbus/index.js +2 -0
  327. package/overlayeventbus/overlayeventbus.common.js +1773 -0
  328. package/overlayeventbus/overlayeventbus.umd.js +1783 -0
  329. package/overlayeventbus/overlayeventbus.umd.min.js +1 -0
  330. package/overlaypanel/overlaypanel.common.js +28 -1
  331. package/overlaypanel/overlaypanel.umd.js +28 -1
  332. package/overlaypanel/overlaypanel.umd.min.js +1 -1
  333. package/package.json +5 -1
  334. package/paginator/CurrentPageReport.vue +6 -2
  335. package/paginator/JumpToPageDropdown.vue +33 -0
  336. package/paginator/JumpToPageInput.vue +25 -0
  337. package/paginator/Paginator.d.ts +2 -2
  338. package/paginator/Paginator.vue +24 -11
  339. package/paginator/RowsPerPageDropdown.vue +3 -2
  340. package/paginator/currentpagereport.common.js +7 -3
  341. package/paginator/currentpagereport.umd.js +7 -3
  342. package/paginator/currentpagereport.umd.min.js +1 -1
  343. package/paginator/demo.html +3 -3
  344. package/paginator/firstpagelink.common.js +28 -1
  345. package/paginator/firstpagelink.umd.js +28 -1
  346. package/paginator/firstpagelink.umd.min.js +1 -1
  347. package/paginator/jumptopagedropdown.common.js +6501 -0
  348. package/paginator/jumptopagedropdown.umd.js +6511 -0
  349. package/paginator/jumptopagedropdown.umd.min.js +1 -0
  350. package/paginator/jumptopageinput.common.js +7438 -0
  351. package/paginator/jumptopageinput.umd.js +7448 -0
  352. package/paginator/jumptopageinput.umd.min.js +1 -0
  353. package/paginator/lastpagelink.common.js +28 -1
  354. package/paginator/lastpagelink.umd.js +28 -1
  355. package/paginator/lastpagelink.umd.min.js +1 -1
  356. package/paginator/nextpagelink.common.js +28 -1
  357. package/paginator/nextpagelink.umd.js +28 -1
  358. package/paginator/nextpagelink.umd.min.js +1 -1
  359. package/paginator/pagelinks.common.js +28 -1
  360. package/paginator/pagelinks.umd.js +28 -1
  361. package/paginator/pagelinks.umd.min.js +1 -1
  362. package/paginator/paginator.common.js +2277 -119
  363. package/paginator/paginator.umd.js +2277 -119
  364. package/paginator/paginator.umd.min.js +1 -1
  365. package/paginator/prevpagelink.common.js +28 -1
  366. package/paginator/prevpagelink.umd.js +28 -1
  367. package/paginator/prevpagelink.umd.min.js +1 -1
  368. package/paginator/rowsperpagedropdown.common.js +91 -31
  369. package/paginator/rowsperpagedropdown.umd.js +91 -31
  370. package/paginator/rowsperpagedropdown.umd.min.js +1 -1
  371. package/panel/Panel.d.ts +1 -0
  372. package/panel/Panel.vue +1 -1
  373. package/panel/panel.common.js +29 -2
  374. package/panel/panel.umd.js +29 -2
  375. package/panel/panel.umd.min.js +1 -1
  376. package/panelmenu/PanelMenu.d.ts +1 -0
  377. package/panelmenu/PanelMenu.vue +32 -6
  378. package/panelmenu/PanelMenuSub.vue +32 -13
  379. package/panelmenu/panelmenu.common.js +69 -16
  380. package/panelmenu/panelmenu.umd.js +69 -16
  381. package/panelmenu/panelmenu.umd.min.js +1 -1
  382. package/panelmenu/panelmenusub.common.js +29 -7
  383. package/panelmenu/panelmenusub.umd.js +29 -7
  384. package/panelmenu/panelmenusub.umd.min.js +1 -1
  385. package/password/password.common.js +31 -8
  386. package/password/password.umd.js +31 -8
  387. package/password/password.umd.min.js +1 -1
  388. package/picklist/PickList.d.ts +8 -0
  389. package/picklist/PickList.vue +10 -4
  390. package/picklist/picklist.common.js +57 -21
  391. package/picklist/picklist.umd.js +57 -21
  392. package/picklist/picklist.umd.min.js +1 -1
  393. package/progressbar/ProgressBar.vue +18 -14
  394. package/progressbar/progressbar.common.js +7 -5
  395. package/progressbar/progressbar.umd.js +7 -5
  396. package/progressbar/progressbar.umd.min.js +1 -1
  397. package/progressspinner/progressspinner.common.js +1 -1
  398. package/progressspinner/progressspinner.umd.js +1 -1
  399. package/radiobutton/radiobutton.common.js +26 -18
  400. package/radiobutton/radiobutton.umd.js +26 -18
  401. package/radiobutton/radiobutton.umd.min.js +1 -1
  402. package/rating/Rating.vue +1 -1
  403. package/rating/rating.common.js +3 -3
  404. package/rating/rating.umd.js +3 -3
  405. package/rating/rating.umd.min.js +1 -1
  406. package/resources/primevue.css +15 -4
  407. package/resources/primevue.min.css +1 -1
  408. package/resources/themes/arya-blue/theme.css +178 -42
  409. package/resources/themes/arya-green/theme.css +178 -42
  410. package/resources/themes/arya-orange/theme.css +178 -42
  411. package/resources/themes/arya-purple/theme.css +178 -42
  412. package/resources/themes/bootstrap4-dark-blue/theme.css +175 -46
  413. package/resources/themes/bootstrap4-dark-purple/theme.css +175 -46
  414. package/resources/themes/bootstrap4-light-blue/theme.css +175 -46
  415. package/resources/themes/bootstrap4-light-purple/theme.css +175 -46
  416. package/resources/themes/fluent-light/theme.css +182 -46
  417. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff +0 -0
  418. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff2 +0 -0
  419. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff +0 -0
  420. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff2 +0 -0
  421. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff +0 -0
  422. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff2 +0 -0
  423. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff +0 -0
  424. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff2 +0 -0
  425. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff +0 -0
  426. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff2 +0 -0
  427. package/resources/themes/lara-dark-blue/theme.css +5418 -0
  428. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff +0 -0
  429. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff2 +0 -0
  430. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff +0 -0
  431. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff2 +0 -0
  432. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff +0 -0
  433. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff2 +0 -0
  434. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff +0 -0
  435. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff2 +0 -0
  436. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff +0 -0
  437. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  438. package/resources/themes/lara-dark-indigo/theme.css +5418 -0
  439. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff +0 -0
  440. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff2 +0 -0
  441. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff +0 -0
  442. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff2 +0 -0
  443. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff +0 -0
  444. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff2 +0 -0
  445. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff +0 -0
  446. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff2 +0 -0
  447. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff +0 -0
  448. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff2 +0 -0
  449. package/resources/themes/lara-dark-purple/theme.css +5418 -0
  450. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff +0 -0
  451. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff2 +0 -0
  452. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff +0 -0
  453. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff2 +0 -0
  454. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff +0 -0
  455. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff2 +0 -0
  456. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff +0 -0
  457. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff2 +0 -0
  458. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff +0 -0
  459. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff2 +0 -0
  460. package/resources/themes/lara-dark-teal/theme.css +5418 -0
  461. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff +0 -0
  462. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff2 +0 -0
  463. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff +0 -0
  464. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff2 +0 -0
  465. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff +0 -0
  466. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff2 +0 -0
  467. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff +0 -0
  468. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff2 +0 -0
  469. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff +0 -0
  470. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff2 +0 -0
  471. package/resources/themes/lara-light-blue/theme.css +5418 -0
  472. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff +0 -0
  473. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff2 +0 -0
  474. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff +0 -0
  475. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff2 +0 -0
  476. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff +0 -0
  477. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff2 +0 -0
  478. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff +0 -0
  479. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff2 +0 -0
  480. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff +0 -0
  481. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  482. package/resources/themes/lara-light-indigo/theme.css +5418 -0
  483. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff +0 -0
  484. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff2 +0 -0
  485. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff +0 -0
  486. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff2 +0 -0
  487. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff +0 -0
  488. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff2 +0 -0
  489. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff +0 -0
  490. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff2 +0 -0
  491. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff +0 -0
  492. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff2 +0 -0
  493. package/resources/themes/lara-light-purple/theme.css +5418 -0
  494. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff +0 -0
  495. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff2 +0 -0
  496. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff +0 -0
  497. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff2 +0 -0
  498. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff +0 -0
  499. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff2 +0 -0
  500. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff +0 -0
  501. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff2 +0 -0
  502. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff +0 -0
  503. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff2 +0 -0
  504. package/resources/themes/lara-light-teal/theme.css +5418 -0
  505. package/resources/themes/luna-amber/theme.css +175 -46
  506. package/resources/themes/luna-blue/theme.css +175 -46
  507. package/resources/themes/luna-green/theme.css +175 -46
  508. package/resources/themes/luna-pink/theme.css +175 -46
  509. package/resources/themes/md-dark-deeppurple/theme.css +379 -87
  510. package/resources/themes/md-dark-indigo/theme.css +379 -87
  511. package/resources/themes/md-light-deeppurple/theme.css +379 -87
  512. package/resources/themes/md-light-indigo/theme.css +379 -87
  513. package/resources/themes/mdc-dark-deeppurple/theme.css +379 -87
  514. package/resources/themes/mdc-dark-indigo/theme.css +379 -87
  515. package/resources/themes/mdc-light-deeppurple/theme.css +379 -87
  516. package/resources/themes/mdc-light-indigo/theme.css +379 -87
  517. package/resources/themes/nova/theme.css +175 -46
  518. package/resources/themes/nova-accent/theme.css +175 -46
  519. package/resources/themes/nova-alt/theme.css +175 -46
  520. package/resources/themes/nova-vue/theme.css +175 -46
  521. package/resources/themes/rhea/theme.css +175 -46
  522. package/resources/themes/saga-blue/theme.css +178 -42
  523. package/resources/themes/saga-green/theme.css +178 -42
  524. package/resources/themes/saga-orange/theme.css +178 -42
  525. package/resources/themes/saga-purple/theme.css +178 -42
  526. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
  527. package/resources/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
  528. package/resources/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
  529. package/resources/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
  530. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
  531. package/resources/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
  532. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
  533. package/resources/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
  534. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
  535. package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
  536. package/resources/themes/tailwind-light/theme.css +5493 -0
  537. package/resources/themes/vela-blue/theme.css +178 -42
  538. package/resources/themes/vela-green/theme.css +178 -42
  539. package/resources/themes/vela-orange/theme.css +178 -42
  540. package/resources/themes/vela-purple/theme.css +178 -42
  541. package/ripple/ripple.common.js +27 -0
  542. package/ripple/ripple.umd.js +27 -0
  543. package/ripple/ripple.umd.min.js +1 -1
  544. package/row/row.common.js +1 -1
  545. package/row/row.umd.js +1 -1
  546. package/scrollpanel/scrollpanel.common.js +28 -1
  547. package/scrollpanel/scrollpanel.umd.js +28 -1
  548. package/scrollpanel/scrollpanel.umd.min.js +1 -1
  549. package/scrolltop/scrolltop.common.js +28 -1
  550. package/scrolltop/scrolltop.umd.js +28 -1
  551. package/scrolltop/scrolltop.umd.min.js +1 -1
  552. package/selectbutton/SelectButton.d.ts +3 -3
  553. package/selectbutton/SelectButton.vue +6 -1
  554. package/selectbutton/selectbutton.common.js +55 -20
  555. package/selectbutton/selectbutton.umd.js +55 -20
  556. package/selectbutton/selectbutton.umd.min.js +1 -1
  557. package/sidebar/Sidebar.vue +3 -16
  558. package/sidebar/sidebar.common.js +37 -15
  559. package/sidebar/sidebar.umd.js +37 -15
  560. package/sidebar/sidebar.umd.min.js +1 -1
  561. package/skeleton/skeleton.common.js +1 -1
  562. package/skeleton/skeleton.umd.js +1 -1
  563. package/slider/Slider.vue +20 -12
  564. package/slider/slider.common.js +41 -9
  565. package/slider/slider.umd.js +41 -9
  566. package/slider/slider.umd.min.js +1 -1
  567. package/speeddial/SpeedDial.d.ts +1 -0
  568. package/speeddial/SpeedDial.vue +10 -9
  569. package/speeddial/speeddial.common.js +40 -16
  570. package/speeddial/speeddial.umd.js +40 -16
  571. package/speeddial/speeddial.umd.min.js +1 -1
  572. package/splitbutton/splitbutton.common.js +73 -22
  573. package/splitbutton/splitbutton.umd.js +73 -22
  574. package/splitbutton/splitbutton.umd.min.js +1 -1
  575. package/splitter/splitter.common.js +27 -0
  576. package/splitter/splitter.umd.js +27 -0
  577. package/splitter/splitter.umd.min.js +1 -1
  578. package/steps/Steps.d.ts +1 -0
  579. package/steps/Steps.vue +30 -8
  580. package/steps/steps.common.js +33 -6
  581. package/steps/steps.umd.js +33 -6
  582. package/steps/steps.umd.min.js +1 -1
  583. package/styleclass/StyleClass.js +4 -1
  584. package/styleclass/styleclass.common.js +31 -1
  585. package/styleclass/styleclass.umd.js +31 -1
  586. package/styleclass/styleclass.umd.min.js +1 -1
  587. package/tabmenu/TabMenu.d.ts +1 -0
  588. package/tabmenu/TabMenu.vue +39 -10
  589. package/tabmenu/tabmenu.common.js +192 -8
  590. package/tabmenu/tabmenu.umd.js +192 -8
  591. package/tabmenu/tabmenu.umd.min.js +1 -1
  592. package/tabpanel/tabpanel.common.js +1 -1
  593. package/tabpanel/tabpanel.umd.js +1 -1
  594. package/tabview/TabView.d.ts +1 -0
  595. package/tabview/TabView.vue +111 -11
  596. package/tabview/tabview.common.js +124 -22
  597. package/tabview/tabview.umd.js +124 -22
  598. package/tabview/tabview.umd.min.js +1 -1
  599. package/tag/tag.common.js +1 -1
  600. package/tag/tag.umd.js +1 -1
  601. package/terminal/terminal.common.js +1 -1
  602. package/terminal/terminal.umd.js +1 -1
  603. package/textarea/textarea.common.js +3 -7
  604. package/textarea/textarea.umd.js +3 -7
  605. package/textarea/textarea.umd.min.js +1 -1
  606. package/tieredmenu/TieredMenu.d.ts +1 -0
  607. package/tieredmenu/TieredMenu.vue +5 -1
  608. package/tieredmenu/TieredMenuSub.vue +30 -14
  609. package/tieredmenu/demo.html +3 -4
  610. package/tieredmenu/tieredmenu.common.js +63 -13
  611. package/tieredmenu/tieredmenu.umd.js +63 -13
  612. package/tieredmenu/tieredmenu.umd.min.js +1 -1
  613. package/tieredmenu/tieredmenusub.common.js +53 -7
  614. package/tieredmenu/tieredmenusub.umd.js +53 -7
  615. package/tieredmenu/tieredmenusub.umd.min.js +1 -1
  616. package/timeline/timeline.common.js +26 -18
  617. package/timeline/timeline.umd.js +26 -18
  618. package/timeline/timeline.umd.min.js +1 -1
  619. package/toast/Toast.d.ts +4 -1
  620. package/toast/Toast.vue +1 -1
  621. package/toast/toast.common.js +30 -5
  622. package/toast/toast.umd.js +30 -5
  623. package/toast/toast.umd.min.js +1 -1
  624. package/toast/toastmessage.common.js +28 -1
  625. package/toast/toastmessage.umd.js +28 -1
  626. package/toast/toastmessage.umd.min.js +1 -1
  627. package/togglebutton/togglebutton.common.js +28 -1
  628. package/togglebutton/togglebutton.umd.js +28 -1
  629. package/togglebutton/togglebutton.umd.min.js +1 -1
  630. package/toolbar/Toolbar.d.ts +1 -1
  631. package/toolbar/Toolbar.vue +2 -2
  632. package/toolbar/toolbar.common.js +3 -3
  633. package/toolbar/toolbar.umd.js +3 -3
  634. package/toolbar/toolbar.umd.min.js +1 -1
  635. package/tooltip/Tooltip.css +1 -0
  636. package/tooltip/Tooltip.js +37 -2
  637. package/tooltip/tooltip.common.js +1711 -24
  638. package/tooltip/tooltip.umd.js +1711 -24
  639. package/tooltip/tooltip.umd.min.js +1 -1
  640. package/tree/TreeNode.vue +5 -1
  641. package/tree/tree.common.js +63 -31
  642. package/tree/tree.umd.js +63 -31
  643. package/tree/tree.umd.min.js +1 -1
  644. package/tree/treenode.common.js +36 -9
  645. package/tree/treenode.umd.js +36 -9
  646. package/tree/treenode.umd.min.js +1 -1
  647. package/treetable/BodyCell.vue +162 -0
  648. package/treetable/FooterCell.vue +81 -0
  649. package/treetable/HeaderCell.vue +183 -0
  650. package/treetable/TreeTable.d.ts +2 -2
  651. package/treetable/TreeTable.vue +93 -116
  652. package/treetable/bodycell.common.js +5596 -0
  653. package/treetable/bodycell.umd.js +5606 -0
  654. package/treetable/bodycell.umd.min.js +1 -0
  655. package/treetable/demo.html +3 -3
  656. package/treetable/footercell.common.js +5300 -0
  657. package/treetable/footercell.umd.js +5310 -0
  658. package/treetable/footercell.umd.min.js +1 -0
  659. package/treetable/headercell.common.js +5529 -0
  660. package/treetable/headercell.umd.js +5539 -0
  661. package/treetable/headercell.umd.min.js +1 -0
  662. package/treetable/treetable.common.js +3801 -1562
  663. package/treetable/treetable.umd.js +3801 -1562
  664. package/treetable/treetable.umd.min.js +1 -1
  665. package/treetable/treetablerow.common.js +50 -21
  666. package/treetable/treetablerow.umd.js +50 -21
  667. package/treetable/treetablerow.umd.min.js +1 -1
  668. package/treetable/treetablerowloader.common.js +52 -24
  669. package/treetable/treetablerowloader.umd.js +52 -24
  670. package/treetable/treetablerowloader.umd.min.js +1 -1
  671. package/tristatecheckbox/tristatecheckbox.common.js +1 -1
  672. package/tristatecheckbox/tristatecheckbox.umd.js +1 -1
  673. package/utils/ConnectedOverlayScrollHandler.js +1 -1
  674. package/utils/DomHandler.js +23 -1
  675. package/utils/EventBus.js +33 -0
  676. package/utils/ObjectUtils.js +15 -2
  677. package/utils/Utils.d.ts +73 -0
  678. package/utils/Utils.js +47 -0
  679. package/utils/connectedoverlayscrollhandler.common.js +27 -0
  680. package/utils/connectedoverlayscrollhandler.umd.js +27 -0
  681. package/utils/connectedoverlayscrollhandler.umd.min.js +1 -1
  682. package/utils/demo.html +3 -3
  683. package/utils/domhandler.common.js +27 -0
  684. package/utils/domhandler.umd.js +27 -0
  685. package/utils/domhandler.umd.min.js +1 -1
  686. package/utils/eventbus.common.js +1770 -0
  687. package/utils/eventbus.umd.js +1780 -0
  688. package/utils/eventbus.umd.min.js +1 -0
  689. package/utils/index.d.ts +1 -0
  690. package/utils/index.js +2 -0
  691. package/utils/objectutils.common.js +25 -17
  692. package/utils/objectutils.umd.js +25 -17
  693. package/utils/objectutils.umd.min.js +1 -1
  694. package/utils/utils.common.js +5481 -0
  695. package/utils/utils.umd.js +5491 -0
  696. package/utils/utils.umd.min.js +1 -0
  697. package/vetur-attributes.json +148 -20
  698. package/vetur-tags.json +57 -20
  699. package/web-types.json +477 -33
  700. package/confirmationservice/confirmationeventbus.umd.min.js +0 -1
  701. package/datatable/ScrollableView.vue +0 -223
  702. package/datatable/scrollableview.umd.min.js +0 -1
  703. package/utils/FilterUtils.js +0 -176
  704. package/utils/filterutils.umd.min.js +0 -1
@@ -1,6 +1,7 @@
1
1
  <template>
2
- <span :class="containerClass">
3
- <CalendarInputText ref="input" v-if="!inline" type="text" v-bind="$attrs" v-on="listeners" :value="inputFieldValue" :readonly="!manualInput" :aria-labelledby="ariaLabelledBy" inputmode="none" />
2
+ <span :class="containerClass" :style="styles">
3
+ <CalendarInputText ref="input" v-if="!inline" type="text" v-bind="$attrs" v-on="listeners" :value="inputFieldValue" :readonly="!manualInput" :aria-labelledby="ariaLabelledBy" inputmode="none"
4
+ :class="inputClass" :style="inputStyle" />
4
5
  <CalendarButton v-if="showIcon" :icon="icon" tabindex="-1" class="p-datepicker-trigger" :disabled="$attrs.disabled" @click="onButtonClick" type="button" :aria-label="inputFieldValue"/>
5
6
  <transition name="p-connected-overlay" @enter="onOverlayEnter" @after-enter="onOverlayEnterComplete" @leave="onOverlayLeave">
6
7
  <div ref="overlay" :class="panelStyleClass" v-if="inline ? true : overlayVisible" :role="inline ? null : 'dialog'" :aria-labelledby="ariaLabelledBy">
@@ -9,25 +10,28 @@
9
10
  <div class="p-datepicker-group" v-for="(month,groupIndex) of months" :key="month.month + month.year">
10
11
  <div class="p-datepicker-header">
11
12
  <slot name="header"></slot>
12
- <button class="p-datepicker-prev p-link" v-if="groupIndex === 0" @click="onPrevButtonClick" type="button" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled">
13
+ <button class="p-datepicker-prev p-link" v-show="groupIndex === 0" @click="onPrevButtonClick" type="button" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled">
13
14
  <span class="p-datepicker-prev-icon pi pi-chevron-left"></span>
14
15
  </button>
15
16
  <div class="p-datepicker-title">
16
- <span class="p-datepicker-month" v-if="!monthNavigator && (view !== 'month')">{{getMonthName(month.month)}}</span>
17
- <select class="p-datepicker-month" v-if="monthNavigator && (view !== 'month') && numberOfMonths === 1" @change="onMonthDropdownChange($event.target.value)">
18
- <option :value="index" v-for="(monthName, index) of monthNames" :key="monthName" :selected="index === month.month">{{monthName}}</option>
19
- </select>
20
- <span class="p-datepicker-year" v-if="!yearNavigator">{{view === 'month' ? currentYear : month.year}}</span>
21
- <select class="p-datepicker-year" v-if="yearNavigator && numberOfMonths === 1" @change="onYearDropdownChange($event.target.value)">
22
- <option :value="year" v-for="year of yearOptions" :key="year" :selected="year === currentYear">{{year}}</option>
23
- </select>
17
+ <button type="button" @click="switchToMonthView" @keydown="onContainerButtonKeydown" v-if="currentView === 'date'" class="p-datepicker-month p-link" :disabled="switchViewButtonDisabled">
18
+ {{getMonthName(month.month)}}
19
+ </button>
20
+ <button type="button" @click="switchToYearView" @keydown="onContainerButtonKeydown" v-if="currentView !== 'year'" class="p-datepicker-year p-link" :disabled="switchViewButtonDisabled">
21
+ {{currentYear}}
22
+ </button>
23
+ <span class="p-datepicker-decade" v-if="currentView === 'year'">
24
+ <slot name="decade" :years="yearPickerValues">
25
+ {{yearPickerValues[0]}} - {{yearPickerValues[yearPickerValues.length - 1]}}
26
+ </slot>
27
+ </span>
24
28
  </div>
25
- <button class="p-datepicker-next p-link" v-if="numberOfMonths === 1 ? true : (groupIndex === numberOfMonths - 1)"
29
+ <button class="p-datepicker-next p-link" v-show="numberOfMonths === 1 ? true : (groupIndex === numberOfMonths - 1)"
26
30
  @click="onNextButtonClick" type="button" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled">
27
31
  <span class="p-datepicker-next-icon pi pi-chevron-right"></span>
28
32
  </button>
29
33
  </div>
30
- <div class="p-datepicker-calendar-container" v-if="view ==='date'">
34
+ <div class="p-datepicker-calendar-container" v-if="currentView ==='date'">
31
35
  <table class="p-datepicker-calendar">
32
36
  <thead>
33
37
  <tr>
@@ -59,12 +63,18 @@
59
63
  </div>
60
64
  </div>
61
65
  </div>
62
- <div class="p-monthpicker" v-if="view === 'month'">
66
+ <div class="p-monthpicker" v-if="currentView === 'month'">
63
67
  <span v-for="(m,i) of monthPickerValues" :key="m" @click="onMonthSelect($event, i)" @keydown="onMonthCellKeydown($event,i)"
64
68
  class="p-monthpicker-month" :class="{'p-highlight': isMonthSelected(i)}" v-ripple>
65
69
  {{m}}
66
70
  </span>
67
71
  </div>
72
+ <div class="p-yearpicker" v-if="currentView === 'year'">
73
+ <span v-for="y of yearPickerValues" :key="y" @click="onYearSelect($event, y)" @keydown="onYearCellKeydown($event,y)"
74
+ class="p-yearpicker-year" :class="{'p-highlight': isYearSelected(y)}" v-ripple>
75
+ {{y}}
76
+ </span>
77
+ </div>
68
78
  </template>
69
79
  <div class="p-timepicker" v-if="showTime||timeOnly">
70
80
  <div class="p-hour-picker">
@@ -86,7 +96,7 @@
86
96
  @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 1, 1)" @keyup.enter="onTimePickerElementMouseUp($event)" type="button">
87
97
  <span class="pi pi-chevron-up"></span>
88
98
  </button>
89
- <span>{{formattedCurrentMinute}}</span>
99
+ <span>{{formattedCurrentMinute}}</span>
90
100
  <button class="p-link" @mousedown="onTimePickerElementMouseDown($event, 1, -1)" @mouseup="onTimePickerElementMouseUp($event)" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled"
91
101
  @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 1, -1)" @keyup.enter="onTimePickerElementMouseUp($event)" type="button">
92
102
  <span class="pi pi-chevron-down"></span>
@@ -131,6 +141,7 @@
131
141
 
132
142
  <script>
133
143
  import ConnectedOverlayScrollHandler from '../utils/ConnectedOverlayScrollHandler';
144
+ import UniqueComponentId from '../utils/UniqueComponentId';
134
145
  import InputText from '../inputtext/InputText';
135
146
  import Button from '../button/Button';
136
147
  import DomHandler from '../utils/DomHandler';
@@ -169,6 +180,7 @@ export default {
169
180
  type: Number,
170
181
  default: 1
171
182
  },
183
+ responsiveOptions: Array,
172
184
  view: {
173
185
  type: String,
174
186
  default: 'date'
@@ -288,9 +300,14 @@ export default {
288
300
  appendTo: {
289
301
  type: String,
290
302
  default: null
291
- }
303
+ },
304
+ inputClass: null,
305
+ inputStyle: null,
306
+ className: null,
307
+ styles: null
292
308
  },
293
309
  navigationState: null,
310
+ timePickerChange: false,
294
311
  scrollHandler: null,
295
312
  outsideClickListener: null,
296
313
  maskClickListener: null,
@@ -298,16 +315,23 @@ export default {
298
315
  mask: null,
299
316
  timePickerTimer: null,
300
317
  isKeydown: false,
318
+ preventFocus: false,
301
319
  created() {
302
320
  this.updateCurrentMetaData();
303
321
  },
304
322
  mounted() {
305
- if (this.inline && !this.$attrs.disabled) {
306
- this.initFocusableCell();
323
+ this.createResponsiveStyle();
324
+ if (this.inline) {
325
+ this.$refs.overlay && this.$refs.overlay.setAttribute(this.attributeSelector, '');
326
+ if (!this.$attrs.disabled) {
327
+ this.initFocusableCell();
328
+ this.$refs.overlay.style.width = DomHandler.getOuterWidth(this.$el) + 'px';
329
+ }
307
330
  }
308
331
  },
309
332
  updated() {
310
333
  if (this.$refs.overlay) {
334
+ this.preventFocus = true;
311
335
  this.updateFocus();
312
336
  }
313
337
 
@@ -327,6 +351,7 @@ export default {
327
351
  this.destroyMask();
328
352
  }
329
353
 
354
+ this.destroyResponsiveStyleElement();
330
355
  this.restoreAppend();
331
356
  this.unbindOutsideClickListener();
332
357
  this.unbindResizeListener();
@@ -344,14 +369,30 @@ export default {
344
369
  currentMinute: null,
345
370
  currentSecond: null,
346
371
  pm: null,
347
- focused: false,
348
- overlayVisible: false
372
+ focused: false,
373
+ overlayVisible: false,
374
+ currentView: this.view
349
375
  }
350
376
  },
351
377
  watch: {
352
378
  value() {
353
379
  this.updateCurrentMetaData();
354
- }
380
+ },
381
+ months() {
382
+ if (this.$refs.overlay) {
383
+ if (!this.focused) {
384
+ setTimeout(this.updateFocus, 0);
385
+ }
386
+ }
387
+ },
388
+ numberOfMonths() {
389
+ this.destroyResponsiveStyleElement();
390
+ this.createResponsiveStyle();
391
+ },
392
+ responsiveOptions() {
393
+ this.destroyResponsiveStyleElement();
394
+ this.createResponsiveStyle();
395
+ },
355
396
  },
356
397
  methods: {
357
398
  isComparable() {
@@ -390,7 +431,18 @@ export default {
390
431
  return false;
391
432
  },
392
433
  isMonthSelected(month) {
393
- return this.isComparable() ? (this.value.getMonth() === month && this.value.getFullYear() === this.currentYear) : false;
434
+ if (this.isComparable()) {
435
+ let value = this.isRangeSelection() ? this.value[0] : this.value;
436
+ return !this.isMultipleSelection() ? (value.getMonth() === month && value.getFullYear() === this.currentYear) : false;
437
+ }
438
+ return false;
439
+ },
440
+ isYearSelected(year) {
441
+ if (this.isComparable()) {
442
+ let value = this.isRangeSelection() ? this.value[0] : this.value;
443
+ return !this.isMultipleSelection() && this.isComparable() ? (value.getFullYear() === year) : false;
444
+ }
445
+ return false;
394
446
  },
395
447
  isDateEquals(value, dateMeta) {
396
448
  if (value)
@@ -515,7 +567,9 @@ export default {
515
567
 
516
568
  return validMin && validMax && validDate && validDay;
517
569
  },
518
- onOverlayEnter() {
570
+ onOverlayEnter(el) {
571
+ el.setAttribute(this.attributeSelector, '');
572
+
519
573
  if (this.autoZIndex) {
520
574
  this.$refs.overlay.style.zIndex = String(this.baseZIndex + DomHandler.generateZIndex());
521
575
  }
@@ -529,6 +583,7 @@ export default {
529
583
  this.bindResizeListener();
530
584
  },
531
585
  onOverlayLeave() {
586
+ this.currentView = this.view;
532
587
  this.unbindOutsideClickListener();
533
588
  this.unbindScrollListener();
534
589
  this.unbindResizeListener();
@@ -557,9 +612,12 @@ export default {
557
612
  return;
558
613
  }
559
614
 
560
- if (this.view === 'month') {
615
+ if (this.currentView === 'month') {
561
616
  this.decrementYear();
562
617
  }
618
+ else if (this.currentView === 'year') {
619
+ this.decrementDecade();
620
+ }
563
621
  else {
564
622
  if (this.currentMonth === 0) {
565
623
  this.currentMonth = 11;
@@ -579,9 +637,12 @@ export default {
579
637
  return;
580
638
  }
581
639
 
582
- if (this.view === 'month') {
640
+ if (this.currentView === 'month') {
583
641
  this.incrementYear();
584
642
  }
643
+ else if (this.currentView === 'year') {
644
+ this.incrementDecade();
645
+ }
585
646
  else {
586
647
  if (this.currentMonth === 11) {
587
648
  this.currentMonth = 0;
@@ -597,9 +658,25 @@ export default {
597
658
  decrementYear() {
598
659
  this.currentYear--;
599
660
  },
661
+ decrementDecade() {
662
+ this.currentYear = this.currentYear - 10;
663
+ },
600
664
  incrementYear() {
601
665
  this.currentYear++;
602
666
  },
667
+ incrementDecade() {
668
+ this.currentYear = this.currentYear + 10;
669
+ },
670
+ switchToMonthView(event) {
671
+ this.currentView = 'month';
672
+ setTimeout(this.updateFocus, 0);
673
+ event.preventDefault();
674
+ },
675
+ switchToYearView(event) {
676
+ this.currentView = 'year';
677
+ setTimeout(this.updateFocus, 0);
678
+ event.preventDefault();
679
+ },
603
680
  isEnabled() {
604
681
  return !this.$attrs.disabled && !this.$attrs.readonly;
605
682
  },
@@ -1085,11 +1162,9 @@ export default {
1085
1162
  return hours;
1086
1163
  },
1087
1164
  validateTime(hour, minute, second, pm) {
1088
- let value = this.value;
1165
+ let value = this.isComparable() ? this.value : this.viewDate;
1089
1166
  const convertedHour = this.convertTo24Hour(hour, pm);
1090
- if (!this.isComparable()) {
1091
- return true;
1092
- }
1167
+
1093
1168
  if (this.isRangeSelection()) {
1094
1169
  value = this.value[1] || this.value[0];
1095
1170
  }
@@ -1122,9 +1197,9 @@ export default {
1122
1197
  return false;
1123
1198
  }
1124
1199
  if (this.maxDate.getMinutes() === minute) {
1125
- if (this.maxDate.getSeconds() < second) {
1126
- return false;
1127
- }
1200
+ if (this.maxDate.getSeconds() < second) {
1201
+ return false;
1202
+ }
1128
1203
  }
1129
1204
  }
1130
1205
  }
@@ -1208,6 +1283,7 @@ export default {
1208
1283
  event.preventDefault();
1209
1284
  },
1210
1285
  updateModelTime() {
1286
+ this.timePickerChange = true;
1211
1287
  let value = this.isComparable() ? this.value : new Date();
1212
1288
 
1213
1289
  if (this.isRangeSelection()) {
@@ -1244,6 +1320,7 @@ export default {
1244
1320
 
1245
1321
  this.updateModel(value);
1246
1322
  this.$emit('date-select', value);
1323
+ setTimeout(() => this.timePickerChange = false, 0);
1247
1324
  },
1248
1325
  toggleAMPM(event) {
1249
1326
  this.pm = !this.pm;
@@ -1255,14 +1332,35 @@ export default {
1255
1332
  clearInterval(this.timePickerTimer);
1256
1333
  }
1257
1334
  },
1258
- onMonthSelect(event, index) {
1259
- this.onDateSelect(event, {year: this.currentYear, month: index, day: 1, selectable: true});
1335
+ onMonthSelect(event, month) {
1336
+ if (this.view === 'month') {
1337
+ this.onDateSelect(event, {year: this.currentYear, month: month, day: 1, selectable: true});
1338
+ }
1339
+ else {
1340
+ this.currentMonth = month;
1341
+ this.currentView = 'date';
1342
+ this.$emit('month-change', {month: this.currentMonth + 1, year: this.currentYear});
1343
+ }
1344
+
1345
+ setTimeout(this.updateFocus, 0);
1346
+ },
1347
+ onYearSelect(event, year) {
1348
+ if (this.view === 'year') {
1349
+ this.onDateSelect(event, {year: year, month: 0, day: 1, selectable: true});
1350
+ }
1351
+ else {
1352
+ this.currentYear = year;
1353
+ this.currentView = 'month';
1354
+ this.$emit('year-change', {month: this.currentMonth + 1, year: this.currentYear});
1355
+ }
1356
+
1357
+ setTimeout(this.updateFocus, 0);
1260
1358
  },
1261
1359
  enableModality() {
1262
1360
  if (!this.mask) {
1263
1361
  this.mask = document.createElement('div');
1264
1362
  this.mask.style.zIndex = String(parseInt(this.$refs.overlay.style.zIndex, 10) - 1);
1265
- DomHandler.addMultipleClasses(this.mask, 'p-datepicker-mask p-datepicker-mask-scrollblocker');
1363
+ DomHandler.addMultipleClasses(this.mask, 'p-datepicker-mask p-datepicker-mask-scrollblocker p-component-overlay p-component-overlay-enter');
1266
1364
 
1267
1365
  this.maskClickListener = () => {
1268
1366
  this.overlayVisible = false;
@@ -1271,18 +1369,14 @@ export default {
1271
1369
 
1272
1370
  document.body.appendChild(this.mask);
1273
1371
  DomHandler.addClass(document.body, 'p-overflow-hidden');
1274
-
1275
- setTimeout(() => {
1276
- DomHandler.addClass(this.mask, 'p-component-overlay');
1277
- }, 1);
1278
1372
  }
1279
1373
  },
1280
1374
  disableModality() {
1281
1375
  if (this.mask) {
1282
1376
  this.overlayVisible = false;
1283
1377
 
1284
- DomHandler.addClass(this.mask, 'p-datepicker-mask-leave');
1285
- this.mask.addEventListener('transitionend', () => {
1378
+ DomHandler.addClass(this.mask, 'p-component-overlay-leave');
1379
+ this.mask.addEventListener('animationend', () => {
1286
1380
  this.destroyMask();
1287
1381
  });
1288
1382
  }
@@ -1485,7 +1579,7 @@ export default {
1485
1579
  iValue++;
1486
1580
  };
1487
1581
 
1488
- if (this.view === 'month') {
1582
+ if (this.currentView === 'month') {
1489
1583
  day = 1;
1490
1584
  }
1491
1585
 
@@ -1680,7 +1774,8 @@ export default {
1680
1774
  }
1681
1775
 
1682
1776
  //enter
1683
- case 13: {
1777
+ case 13:
1778
+ case 32: {
1684
1779
  this.onDateSelect(event, date);
1685
1780
  event.preventDefault();
1686
1781
  break;
@@ -1714,7 +1809,7 @@ export default {
1714
1809
  }
1715
1810
  else {
1716
1811
  let prevMonthContainer = this.$refs.overlay.children[groupIndex - 1];
1717
- let cells = DomHandler.find(prevMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled)');
1812
+ let cells = DomHandler.find(prevMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
1718
1813
  let focusCell = cells[cells.length - 1];
1719
1814
  focusCell.tabIndex = '0';
1720
1815
  focusCell.focus();
@@ -1727,7 +1822,7 @@ export default {
1727
1822
  }
1728
1823
  else {
1729
1824
  let nextMonthContainer = this.$refs.overlay.children[groupIndex + 1];
1730
- let focusCell = DomHandler.findSingle(nextMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled)');
1825
+ let focusCell = DomHandler.findSingle(nextMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
1731
1826
  focusCell.tabIndex = '0';
1732
1827
  focusCell.focus();
1733
1828
  }
@@ -1760,6 +1855,10 @@ export default {
1760
1855
  prevCell.tabIndex = '0';
1761
1856
  prevCell.focus();
1762
1857
  }
1858
+ else {
1859
+ this.navigationState = {backward: true};
1860
+ this.navBackward(event);
1861
+ }
1763
1862
  event.preventDefault();
1764
1863
  break;
1765
1864
  }
@@ -1772,12 +1871,17 @@ export default {
1772
1871
  nextCell.tabIndex = '0';
1773
1872
  nextCell.focus();
1774
1873
  }
1874
+ else {
1875
+ this.navigationState = {backward: false};
1876
+ this.navForward(event);
1877
+ }
1775
1878
  event.preventDefault();
1776
1879
  break;
1777
1880
  }
1778
1881
 
1779
1882
  //enter
1780
- case 13: {
1883
+ case 13:
1884
+ case 32: {
1781
1885
  this.onMonthSelect(event, index);
1782
1886
  event.preventDefault();
1783
1887
  break;
@@ -1793,7 +1897,7 @@ export default {
1793
1897
  //tab
1794
1898
  case 9: {
1795
1899
  if (!this.inline) {
1796
- this.trapFocus(event);
1900
+ this.trapFocus(event);
1797
1901
  }
1798
1902
  break;
1799
1903
  }
@@ -1803,12 +1907,81 @@ export default {
1803
1907
  break;
1804
1908
  }
1805
1909
  },
1910
+ onYearCellKeydown(event, index) {
1911
+ const cell = event.currentTarget;
1912
+ switch (event.which) {
1913
+ //arrows
1914
+ case 38:
1915
+ case 40: {
1916
+ cell.tabIndex = '-1';
1917
+ var cells = cell.parentElement.children;
1918
+ var cellIndex = DomHandler.index(cell);
1919
+ let nextCell = cells[event.which === 40 ? cellIndex + 2 : cellIndex - 2];
1920
+ if (nextCell) {
1921
+ nextCell.tabIndex = '0';
1922
+ nextCell.focus();
1923
+ }
1924
+ event.preventDefault();
1925
+ break;
1926
+ }
1927
+ //left arrow
1928
+ case 37: {
1929
+ cell.tabIndex = '-1';
1930
+ let prevCell = cell.previousElementSibling;
1931
+ if (prevCell) {
1932
+ prevCell.tabIndex = '0';
1933
+ prevCell.focus();
1934
+ }
1935
+ else {
1936
+ this.navigationState = {backward: true};
1937
+ this.navBackward(event);
1938
+ }
1939
+ event.preventDefault();
1940
+ break;
1941
+ }
1942
+ //right arrow
1943
+ case 39: {
1944
+ cell.tabIndex = '-1';
1945
+ let nextCell = cell.nextElementSibling;
1946
+ if (nextCell) {
1947
+ nextCell.tabIndex = '0';
1948
+ nextCell.focus();
1949
+ }
1950
+ else {
1951
+ this.navigationState = {backward: false};
1952
+ this.navForward(event);
1953
+ }
1954
+ event.preventDefault();
1955
+ break;
1956
+ }
1957
+ //enter
1958
+ case 13:
1959
+ case 32: {
1960
+ this.onMonthSelect(event, index);
1961
+ event.preventDefault();
1962
+ break;
1963
+ }
1964
+ //escape
1965
+ case 27: {
1966
+ this.overlayVisible = false;
1967
+ event.preventDefault();
1968
+ break;
1969
+ }
1970
+ //tab
1971
+ case 9: {
1972
+ this.trapFocus(event);
1973
+ break;
1974
+ }
1975
+ default:
1976
+ //no op
1977
+ break;
1978
+ }
1979
+ },
1806
1980
  updateFocus() {
1807
1981
  let cell;
1808
1982
  if (this.navigationState) {
1809
1983
  if (this.navigationState.button) {
1810
1984
  this.initFocusableCell();
1811
-
1812
1985
  if (this.navigationState.backward)
1813
1986
  DomHandler.findSingle(this.$refs.overlay, '.p-datepicker-prev').focus();
1814
1987
  else
@@ -1816,13 +1989,31 @@ export default {
1816
1989
  }
1817
1990
  else {
1818
1991
  if (this.navigationState.backward) {
1819
- let cells = DomHandler.find(this.$refs.overlay, '.p-datepicker-calendar td span:not(.p-disabled)');
1820
- cell = cells[cells.length - 1];
1992
+ let cells;
1993
+ if (this.currentView === 'month') {
1994
+ cells = DomHandler.find(this.$refs.overlay, '.p-monthpicker .p-monthpicker-month:not(.p-disabled)');
1995
+ }
1996
+ else if (this.currentView === 'year') {
1997
+ cells = DomHandler.find(this.$refs.overlay, '.p-yearpicker .p-yearpicker-year:not(.p-disabled)');
1998
+ }
1999
+ else {
2000
+ cells = DomHandler.find(this.$refs.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
2001
+ }
2002
+ if (cells && cells.length > 0) {
2003
+ cell = cells[cells.length - 1];
2004
+ }
1821
2005
  }
1822
2006
  else {
1823
- cell = DomHandler.findSingle(this.$refs.overlay, '.p-datepicker-calendar td span:not(.p-disabled)');
2007
+ if (this.currentView === 'month') {
2008
+ cell = DomHandler.findSingle(this.$refs.overlay, '.p-monthpicker .p-monthpicker-month:not(.p-disabled)');
2009
+ }
2010
+ else if (this.currentView === 'year') {
2011
+ cell = DomHandler.findSingle(this.$refs.overlay, '.p-yearpicker .p-yearpicker-year:not(.p-disabled)');
2012
+ }
2013
+ else {
2014
+ cell = DomHandler.findSingle(this.$refs.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
2015
+ }
1824
2016
  }
1825
-
1826
2017
  if (cell) {
1827
2018
  cell.tabIndex = '0';
1828
2019
  cell.focus();
@@ -1837,25 +2028,37 @@ export default {
1837
2028
  },
1838
2029
  initFocusableCell() {
1839
2030
  let cell;
1840
- if (this.view === 'month') {
2031
+ if (this.currentView === 'month') {
1841
2032
  let cells = DomHandler.find(this.$refs.overlay, '.p-monthpicker .p-monthpicker-month');
1842
2033
  let selectedCell= DomHandler.findSingle(this.$refs.overlay, '.p-monthpicker .p-monthpicker-month.p-highlight');
1843
2034
  cells.forEach(cell => cell.tabIndex = -1);
1844
2035
  cell = selectedCell || cells[0];
1845
2036
  }
2037
+ else if (this.currentView === 'year') {
2038
+ let cells = DomHandler.find(this.$refs.overlay, '.p-yearpicker .p-yearpicker-year');
2039
+ let selectedCell= DomHandler.findSingle(this.$refs.overlay, '.p-yearpicker .p-yearpicker-year.p-highlight');
2040
+ cells.forEach(cell => cell.tabIndex = -1);
2041
+ cell = selectedCell || cells[0];
2042
+ }
1846
2043
  else {
1847
2044
  cell = DomHandler.findSingle(this.$refs.overlay, 'span.p-highlight');
1848
2045
  if (!cell) {
1849
- let todayCell = DomHandler.findSingle(this.$refs.overlay, 'td.p-datepicker-today span:not(.p-disabled)');
2046
+ let todayCell = DomHandler.findSingle(this.$refs.overlay, 'td.p-datepicker-today span:not(.p-disabled):not(.p-ink)');
1850
2047
  if (todayCell)
1851
2048
  cell = todayCell;
1852
2049
  else
1853
- cell = DomHandler.findSingle(this.$refs.overlay, '.p-datepicker-calendar td span:not(.p-disabled)');
2050
+ cell = DomHandler.findSingle(this.$refs.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink');
1854
2051
  }
1855
2052
  }
1856
2053
 
1857
2054
  if (cell) {
1858
2055
  cell.tabIndex = '0';
2056
+
2057
+ if (!this.preventFocus && (!this.navigationState || !this.navigationState.button) && !this.timePickerChange) {
2058
+ cell.focus();
2059
+ }
2060
+
2061
+ this.preventFocus = false;
1859
2062
  }
1860
2063
  },
1861
2064
  trapFocus(event) {
@@ -1885,7 +2088,7 @@ export default {
1885
2088
  }
1886
2089
  },
1887
2090
  onContainerButtonKeydown(event) {
1888
- switch (event.which) {
2091
+ switch (event.which) {
1889
2092
  //tab
1890
2093
  case 9:
1891
2094
  if (!this.inline) {
@@ -1902,7 +2105,7 @@ export default {
1902
2105
  default:
1903
2106
  //Noop
1904
2107
  break;
1905
- }
2108
+ }
1906
2109
  },
1907
2110
  onInput(val) {
1908
2111
  // IE 11 Workaround for input placeholder : https://github.com/primefaces/primeng/issues/2026
@@ -1942,6 +2145,48 @@ export default {
1942
2145
  },
1943
2146
  getMonthName(index) {
1944
2147
  return this.$primevue.config.locale.monthNames[index];
2148
+ },
2149
+ createResponsiveStyle() {
2150
+ if (this.numberOfMonths > 1 && this.responsiveOptions) {
2151
+ if (!this.responsiveStyleElement) {
2152
+ this.responsiveStyleElement = document.createElement('style');
2153
+ this.responsiveStyleElement.type = 'text/css';
2154
+ document.body.appendChild(this.responsiveStyleElement);
2155
+ }
2156
+ let innerHTML = '';
2157
+ if (this.responsiveOptions) {
2158
+ let responsiveOptions = [...this.responsiveOptions]
2159
+ .filter(o => !!(o.breakpoint && o.numMonths))
2160
+ .sort((o1, o2) => -1 * o1.breakpoint.localeCompare(o2.breakpoint, undefined, { numeric: true }));
2161
+ for (let i = 0; i < responsiveOptions.length; i++) {
2162
+ let { breakpoint, numMonths } = responsiveOptions[i];
2163
+ let styles = `
2164
+ .p-datepicker[${this.attributeSelector}] .p-datepicker-group:nth-child(${numMonths}) .p-datepicker-next {
2165
+ display: inline-flex !important;
2166
+ }
2167
+ `;
2168
+ for (let j = numMonths; j < this.numberOfMonths; j++) {
2169
+ styles += `
2170
+ .p-datepicker[${this.attributeSelector}] .p-datepicker-group:nth-child(${j + 1}) {
2171
+ display: none !important;
2172
+ }
2173
+ `
2174
+ }
2175
+ innerHTML += `
2176
+ @media screen and (max-width: ${breakpoint}) {
2177
+ ${styles}
2178
+ }
2179
+ `
2180
+ }
2181
+ }
2182
+ this.responsiveStyleElement.innerHTML = innerHTML;
2183
+ }
2184
+ },
2185
+ destroyResponsiveStyleElement() {
2186
+ if (this.responsiveStyleElement) {
2187
+ this.responsiveStyleElement.remove();
2188
+ this.responsiveStyleElement = null;
2189
+ }
1945
2190
  }
1946
2191
  },
1947
2192
  computed: {
@@ -1951,8 +2196,8 @@ export default {
1951
2196
  return {
1952
2197
  ...$vm.$listeners,
1953
2198
  input: val => {
1954
- this.onInput(val);
1955
- },
2199
+ this.onInput(val);
2200
+ },
1956
2201
  focus: event => {
1957
2202
  $vm.focus = true;
1958
2203
  if ($vm.showOnFocus && $vm.isEnabled()) {
@@ -2005,7 +2250,7 @@ export default {
2005
2250
  },
2006
2251
  containerClass() {
2007
2252
  return [
2008
- 'p-calendar p-component p-inputwrapper',
2253
+ 'p-calendar p-component p-inputwrapper', this.className,
2009
2254
  {
2010
2255
  'p-calendar-w-btn': this.showIcon,
2011
2256
  'p-calendar-timeonly': this.timeOnly,
@@ -2022,7 +2267,8 @@ export default {
2022
2267
  'p-disabled': this.$attrs.disabled,
2023
2268
  'p-datepicker-timeonly': this.timeOnly,
2024
2269
  'p-datepicker-multiple-month': this.numberOfMonths > 1,
2025
- 'p-datepicker-monthpicker': (this.view === 'month'),
2270
+ 'p-datepicker-monthpicker': (this.currentView === 'month'),
2271
+ 'p-datepicker-yearpicker': (this.currentView === 'year'),
2026
2272
  'p-datepicker-touch-ui': this.touchUI
2027
2273
  }
2028
2274
  ];
@@ -2149,6 +2395,14 @@ export default {
2149
2395
 
2150
2396
  return monthPickerValues;
2151
2397
  },
2398
+ yearPickerValues() {
2399
+ let yearPickerValues = [];
2400
+ let base = this.currentYear - (this.currentYear % 10);
2401
+ for (let i = 0; i < 10; i++) {
2402
+ yearPickerValues.push(base + i);
2403
+ }
2404
+ return yearPickerValues;
2405
+ },
2152
2406
  formattedCurrentHour() {
2153
2407
  return this.currentHour < 10 ? '0' + this.currentHour : this.currentHour;
2154
2408
  },
@@ -2169,6 +2423,12 @@ export default {
2169
2423
  },
2170
2424
  monthNames() {
2171
2425
  return this.$primevue.config.locale.monthNames;
2426
+ },
2427
+ attributeSelector() {
2428
+ return UniqueComponentId();
2429
+ },
2430
+ switchViewButtonDisabled() {
2431
+ return this.numberOfMonths > 1 || this.$attrs.disabled;
2172
2432
  }
2173
2433
  },
2174
2434
  components: {
@@ -2185,6 +2445,7 @@ export default {
2185
2445
  .p-calendar {
2186
2446
  position: relative;
2187
2447
  display: inline-flex;
2448
+ max-width: 100%;
2188
2449
  }
2189
2450
 
2190
2451
  .p-calendar .p-inputtext {
@@ -2222,8 +2483,9 @@ export default {
2222
2483
  }
2223
2484
 
2224
2485
  .p-datepicker-inline {
2225
- display: inline-flex;
2486
+ display: inline-block;
2226
2487
  position: static;
2488
+ overflow-x: auto;
2227
2489
  }
2228
2490
 
2229
2491
  /* Header */
@@ -2252,6 +2514,10 @@ export default {
2252
2514
  display: flex;
2253
2515
  }
2254
2516
 
2517
+ .p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group {
2518
+ flex: 1 1 auto;
2519
+ }
2520
+
2255
2521
  /* DatePicker Table */
2256
2522
  .p-datepicker table {
2257
2523
  width: 100%;
@@ -2279,6 +2545,17 @@ export default {
2279
2545
  position: relative;
2280
2546
  }
2281
2547
 
2548
+ /* Year Picker */
2549
+ .p-yearpicker-year {
2550
+ width: 50%;
2551
+ display: inline-flex;
2552
+ align-items: center;
2553
+ justify-content: center;
2554
+ cursor: pointer;
2555
+ overflow: hidden;
2556
+ position: relative;
2557
+ }
2558
+
2282
2559
  /* Button Bar */
2283
2560
  .p-datepicker-buttonbar {
2284
2561
  display: flex;
@@ -2318,12 +2595,4 @@ export default {
2318
2595
  transform: translate(-50%, -50%);
2319
2596
  }
2320
2597
 
2321
- .p-datepicker-mask {
2322
- background-color: transparent;
2323
- transition-property: background-color;
2324
- }
2325
-
2326
- .p-datepicker-mask.p-datepicker-mask-leave.p-component-overlay {
2327
- background-color: transparent;
2328
- }
2329
2598
  </style>