primevue 3.8.2 → 3.11.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 (745) hide show
  1. package/README.md +2 -2
  2. package/accordion/Accordion.d.ts +74 -11
  3. package/accordion/accordion.esm.js +1 -1
  4. package/accordion/accordion.esm.min.js +1 -1
  5. package/accordion/accordion.js +1 -1
  6. package/accordiontab/AccordionTab.d.ts +37 -8
  7. package/accordiontab/accordiontab.esm.js +1 -1
  8. package/accordiontab/accordiontab.esm.min.js +1 -1
  9. package/accordiontab/accordiontab.js +1 -1
  10. package/api/Api.d.ts +292 -251
  11. package/api/api.cjs.js +66 -32
  12. package/api/api.cjs.min.js +1 -1
  13. package/api/api.esm.js +66 -32
  14. package/api/api.esm.min.js +1 -1
  15. package/api/api.js +67 -33
  16. package/api/api.min.js +1 -1
  17. package/autocomplete/AutoComplete.d.ts +280 -63
  18. package/autocomplete/AutoComplete.vue +16 -9
  19. package/autocomplete/autocomplete.cjs.js +23 -15
  20. package/autocomplete/autocomplete.cjs.min.js +1 -1
  21. package/autocomplete/autocomplete.esm.js +20 -12
  22. package/autocomplete/autocomplete.esm.min.js +1 -1
  23. package/autocomplete/autocomplete.js +24 -16
  24. package/autocomplete/autocomplete.min.js +1 -1
  25. package/avatar/Avatar.d.ts +57 -8
  26. package/avatar/avatar.esm.js +1 -1
  27. package/avatar/avatar.esm.min.js +1 -1
  28. package/avatar/avatar.js +1 -1
  29. package/avatargroup/AvatarGroup.d.ts +29 -3
  30. package/avatargroup/avatargroup.esm.js +1 -1
  31. package/avatargroup/avatargroup.esm.min.js +1 -1
  32. package/avatargroup/avatargroup.js +1 -1
  33. package/badge/Badge.d.ts +46 -5
  34. package/badge/badge.esm.js +1 -1
  35. package/badge/badge.esm.min.js +1 -1
  36. package/badge/badge.js +1 -1
  37. package/badgedirective/badgedirective.esm.js +1 -1
  38. package/badgedirective/badgedirective.esm.min.js +1 -1
  39. package/badgedirective/badgedirective.js +1 -1
  40. package/blockui/BlockUI.d.ts +52 -11
  41. package/blockui/blockui.esm.js +1 -1
  42. package/blockui/blockui.esm.min.js +1 -1
  43. package/blockui/blockui.js +1 -1
  44. package/breadcrumb/Breadcrumb.d.ts +49 -9
  45. package/breadcrumb/BreadcrumbItem.vue +5 -2
  46. package/breadcrumb/breadcrumb.cjs.js +5 -2
  47. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  48. package/breadcrumb/breadcrumb.esm.js +6 -3
  49. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  50. package/breadcrumb/breadcrumb.js +6 -3
  51. package/breadcrumb/breadcrumb.min.js +1 -1
  52. package/button/Button.d.ts +68 -11
  53. package/button/button.cjs.js +1 -1
  54. package/button/button.esm.js +1 -1
  55. package/button/button.esm.min.js +1 -1
  56. package/button/button.js +2 -2
  57. package/calendar/Calendar.d.ts +320 -58
  58. package/calendar/Calendar.vue +406 -84
  59. package/calendar/calendar.cjs.js +521 -204
  60. package/calendar/calendar.cjs.min.js +1 -1
  61. package/calendar/calendar.esm.js +521 -203
  62. package/calendar/calendar.esm.min.js +1 -1
  63. package/calendar/calendar.js +523 -205
  64. package/calendar/calendar.min.js +1 -1
  65. package/card/Card.d.ts +43 -9
  66. package/card/card.esm.js +1 -1
  67. package/card/card.esm.min.js +1 -1
  68. package/card/card.js +1 -1
  69. package/carousel/Carousel.d.ts +121 -24
  70. package/carousel/Carousel.vue +2 -2
  71. package/carousel/carousel.cjs.js +7 -7
  72. package/carousel/carousel.cjs.min.js +1 -1
  73. package/carousel/carousel.esm.js +7 -7
  74. package/carousel/carousel.esm.min.js +1 -1
  75. package/carousel/carousel.js +8 -8
  76. package/carousel/carousel.min.js +1 -1
  77. package/cascadeselect/CascadeSelect.d.ts +172 -35
  78. package/cascadeselect/cascadeselect.cjs.js +2 -2
  79. package/cascadeselect/cascadeselect.esm.js +1 -1
  80. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  81. package/cascadeselect/cascadeselect.js +3 -3
  82. package/chart/Chart.d.ts +104 -12
  83. package/chart/Chart.vue +18 -4
  84. package/chart/chart.cjs.js +20 -8
  85. package/chart/chart.cjs.min.js +1 -1
  86. package/chart/chart.esm.js +19 -5
  87. package/chart/chart.esm.min.js +1 -1
  88. package/chart/chart.js +19 -5
  89. package/chart/chart.min.js +1 -1
  90. package/checkbox/Checkbox.d.ts +66 -8
  91. package/checkbox/checkbox.esm.js +1 -1
  92. package/checkbox/checkbox.esm.min.js +1 -1
  93. package/checkbox/checkbox.js +1 -1
  94. package/chip/Chip.d.ts +50 -4
  95. package/chip/chip.esm.js +1 -1
  96. package/chip/chip.esm.min.js +1 -1
  97. package/chip/chip.js +1 -1
  98. package/chips/Chips.d.ts +88 -15
  99. package/chips/chips.esm.js +1 -1
  100. package/chips/chips.esm.min.js +1 -1
  101. package/chips/chips.js +1 -1
  102. package/colorpicker/ColorPicker.d.ts +105 -13
  103. package/colorpicker/ColorPicker.vue +6 -1
  104. package/colorpicker/colorpicker.cjs.js +7 -2
  105. package/colorpicker/colorpicker.cjs.min.js +1 -1
  106. package/colorpicker/colorpicker.esm.js +7 -2
  107. package/colorpicker/colorpicker.esm.min.js +1 -1
  108. package/colorpicker/colorpicker.js +8 -3
  109. package/colorpicker/colorpicker.min.js +1 -1
  110. package/column/Column.d.ts +448 -78
  111. package/column/column.esm.js +1 -1
  112. package/column/column.esm.min.js +1 -1
  113. package/column/column.js +1 -1
  114. package/columngroup/ColumnGroup.d.ts +30 -4
  115. package/columngroup/columngroup.esm.js +1 -1
  116. package/columngroup/columngroup.esm.min.js +1 -1
  117. package/columngroup/columngroup.js +1 -1
  118. package/config/config.cjs.js +1 -1
  119. package/config/config.esm.js +1 -2
  120. package/config/config.esm.min.js +1 -1
  121. package/config/config.js +2 -2
  122. package/confirmationeventbus/confirmationeventbus.esm.js +1 -1
  123. package/confirmationeventbus/confirmationeventbus.esm.min.js +1 -1
  124. package/confirmationeventbus/confirmationeventbus.js +1 -1
  125. package/confirmationoptions/ConfirmationOptions.d.ts +58 -0
  126. package/confirmationoptions/package.json +3 -0
  127. package/confirmationservice/ConfirmationService.d.ts +2 -1
  128. package/confirmationservice/confirmationservice.cjs.js +2 -2
  129. package/confirmationservice/confirmationservice.esm.js +1 -1
  130. package/confirmationservice/confirmationservice.esm.min.js +1 -1
  131. package/confirmationservice/confirmationservice.js +3 -3
  132. package/confirmdialog/ConfirmDialog.d.ts +57 -5
  133. package/confirmdialog/ConfirmDialog.vue +8 -2
  134. package/confirmdialog/confirmdialog.cjs.js +17 -10
  135. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  136. package/confirmdialog/confirmdialog.esm.js +12 -5
  137. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  138. package/confirmdialog/confirmdialog.js +18 -11
  139. package/confirmdialog/confirmdialog.min.js +1 -1
  140. package/confirmpopup/ConfirmPopup.d.ts +41 -3
  141. package/confirmpopup/ConfirmPopup.vue +7 -4
  142. package/confirmpopup/confirmpopup.cjs.js +19 -11
  143. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  144. package/confirmpopup/confirmpopup.esm.js +15 -7
  145. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  146. package/confirmpopup/confirmpopup.js +20 -12
  147. package/confirmpopup/confirmpopup.min.js +1 -1
  148. package/contextmenu/ContextMenu.d.ts +88 -16
  149. package/contextmenu/ContextMenuSub.vue +7 -4
  150. package/contextmenu/contextmenu.cjs.js +8 -5
  151. package/contextmenu/contextmenu.cjs.min.js +1 -1
  152. package/contextmenu/contextmenu.esm.js +8 -5
  153. package/contextmenu/contextmenu.esm.min.js +1 -1
  154. package/contextmenu/contextmenu.js +9 -6
  155. package/contextmenu/contextmenu.min.js +1 -1
  156. package/core/core.js +861 -383
  157. package/core/core.min.js +15 -13
  158. package/datatable/BodyCell.vue +27 -1
  159. package/datatable/ColumnFilter.vue +17 -6
  160. package/datatable/DataTable.d.ts +1056 -130
  161. package/datatable/DataTable.vue +150 -131
  162. package/datatable/HeaderCheckbox.vue +5 -2
  163. package/datatable/RowCheckbox.vue +1 -1
  164. package/datatable/RowRadioButton.vue +1 -1
  165. package/datatable/TableBody.vue +57 -14
  166. package/datatable/TableFooter.vue +15 -1
  167. package/datatable/TableHeader.vue +15 -1
  168. package/datatable/datatable.cjs.js +542 -381
  169. package/datatable/datatable.cjs.min.js +1 -1
  170. package/datatable/datatable.esm.js +533 -373
  171. package/datatable/datatable.esm.min.js +1 -1
  172. package/datatable/datatable.js +543 -383
  173. package/datatable/datatable.min.js +1 -1
  174. package/dataview/DataView.d.ts +198 -32
  175. package/dataview/DataView.vue +8 -8
  176. package/dataview/dataview.cjs.js +13 -13
  177. package/dataview/dataview.cjs.min.js +1 -1
  178. package/dataview/dataview.esm.js +13 -13
  179. package/dataview/dataview.esm.min.js +1 -1
  180. package/dataview/dataview.js +14 -14
  181. package/dataview/dataview.min.js +1 -1
  182. package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +34 -5
  183. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +1 -1
  184. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  185. package/dataviewlayoutoptions/dataviewlayoutoptions.js +1 -1
  186. package/deferredcontent/DeferredContent.d.ts +31 -6
  187. package/deferredcontent/deferredcontent.esm.js +1 -1
  188. package/deferredcontent/deferredcontent.esm.min.js +1 -1
  189. package/deferredcontent/deferredcontent.js +1 -1
  190. package/dialog/Dialog.d.ts +187 -34
  191. package/dialog/Dialog.vue +1 -1
  192. package/dialog/dialog.cjs.js +2 -3
  193. package/dialog/dialog.cjs.min.js +1 -1
  194. package/dialog/dialog.esm.js +2 -3
  195. package/dialog/dialog.esm.min.js +1 -1
  196. package/dialog/dialog.js +3 -4
  197. package/dialog/dialog.min.js +1 -1
  198. package/divider/Divider.d.ts +53 -8
  199. package/divider/divider.esm.js +1 -1
  200. package/divider/divider.esm.min.js +1 -1
  201. package/divider/divider.js +1 -1
  202. package/dock/Dock.d.ts +92 -15
  203. package/dock/DockSub.vue +3 -1
  204. package/dock/dock.cjs.js +4 -1
  205. package/dock/dock.cjs.min.js +1 -1
  206. package/dock/dock.esm.js +4 -2
  207. package/dock/dock.esm.min.js +1 -1
  208. package/dock/dock.js +5 -3
  209. package/dock/dock.min.js +1 -1
  210. package/dropdown/Dropdown.d.ts +340 -76
  211. package/dropdown/Dropdown.vue +1 -1
  212. package/dropdown/dropdown.cjs.js +4 -4
  213. package/dropdown/dropdown.cjs.min.js +1 -1
  214. package/dropdown/dropdown.esm.js +2 -2
  215. package/dropdown/dropdown.esm.min.js +1 -1
  216. package/dropdown/dropdown.js +5 -5
  217. package/dropdown/dropdown.min.js +1 -1
  218. package/editor/Editor.d.ts +78 -11
  219. package/editor/editor.cjs.js +1 -1
  220. package/editor/editor.esm.js +1 -1
  221. package/editor/editor.esm.min.js +1 -1
  222. package/editor/editor.js +2 -2
  223. package/fieldset/Fieldset.d.ts +63 -11
  224. package/fieldset/fieldset.cjs.js +1 -1
  225. package/fieldset/fieldset.esm.js +1 -1
  226. package/fieldset/fieldset.esm.min.js +1 -1
  227. package/fieldset/fieldset.js +2 -2
  228. package/fileupload/FileUpload.d.ts +255 -37
  229. package/fileupload/fileupload.cjs.js +4 -4
  230. package/fileupload/fileupload.esm.js +1 -1
  231. package/fileupload/fileupload.esm.min.js +1 -1
  232. package/fileupload/fileupload.js +5 -5
  233. package/fullcalendar/FullCalendar.d.ts +29 -3
  234. package/fullcalendar/fullcalendar.esm.js +1 -1
  235. package/fullcalendar/fullcalendar.esm.min.js +1 -1
  236. package/fullcalendar/fullcalendar.js +1 -1
  237. package/galleria/Galleria.d.ts +196 -46
  238. package/galleria/galleria.cjs.js +3 -3
  239. package/galleria/galleria.esm.js +1 -1
  240. package/galleria/galleria.esm.min.js +1 -1
  241. package/galleria/galleria.js +4 -4
  242. package/image/Image.d.ts +51 -6
  243. package/image/image.esm.js +1 -1
  244. package/image/image.esm.min.js +1 -1
  245. package/image/image.js +1 -1
  246. package/inlinemessage/InlineMessage.d.ts +34 -6
  247. package/inlinemessage/inlinemessage.esm.js +1 -1
  248. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  249. package/inlinemessage/inlinemessage.js +1 -1
  250. package/inplace/Inplace.d.ts +57 -12
  251. package/inplace/inplace.cjs.js +1 -1
  252. package/inplace/inplace.esm.js +1 -1
  253. package/inplace/inplace.esm.min.js +1 -1
  254. package/inplace/inplace.js +2 -2
  255. package/inputmask/InputMask.d.ts +75 -15
  256. package/inputmask/inputmask.esm.js +1 -1
  257. package/inputmask/inputmask.esm.min.js +1 -1
  258. package/inputmask/inputmask.js +1 -1
  259. package/inputnumber/InputNumber.d.ts +180 -30
  260. package/inputnumber/InputNumber.vue +19 -3
  261. package/inputnumber/inputnumber.cjs.js +21 -5
  262. package/inputnumber/inputnumber.cjs.min.js +1 -1
  263. package/inputnumber/inputnumber.esm.js +20 -4
  264. package/inputnumber/inputnumber.esm.min.js +1 -1
  265. package/inputnumber/inputnumber.js +22 -6
  266. package/inputnumber/inputnumber.min.js +1 -1
  267. package/inputswitch/InputSwitch.d.ts +61 -9
  268. package/inputswitch/inputswitch.esm.js +1 -1
  269. package/inputswitch/inputswitch.esm.min.js +1 -1
  270. package/inputswitch/inputswitch.js +1 -1
  271. package/inputtext/InputText.d.ts +34 -5
  272. package/inputtext/InputText.vue +1 -1
  273. package/inputtext/inputtext.cjs.js +2 -2
  274. package/inputtext/inputtext.cjs.min.js +1 -1
  275. package/inputtext/inputtext.esm.js +4 -4
  276. package/inputtext/inputtext.esm.min.js +1 -1
  277. package/inputtext/inputtext.js +3 -3
  278. package/inputtext/inputtext.min.js +1 -1
  279. package/knob/Knob.d.ts +92 -18
  280. package/knob/knob.esm.js +1 -1
  281. package/knob/knob.esm.min.js +1 -1
  282. package/knob/knob.js +1 -1
  283. package/listbox/Listbox.d.ts +246 -56
  284. package/listbox/listbox.cjs.js +2 -2
  285. package/listbox/listbox.esm.js +1 -1
  286. package/listbox/listbox.esm.min.js +1 -1
  287. package/listbox/listbox.js +3 -3
  288. package/megamenu/MegaMenu.d.ts +60 -12
  289. package/megamenu/MegaMenu.vue +10 -7
  290. package/megamenu/megamenu.cjs.js +11 -8
  291. package/megamenu/megamenu.cjs.min.js +1 -1
  292. package/megamenu/megamenu.esm.js +11 -8
  293. package/megamenu/megamenu.esm.min.js +1 -1
  294. package/megamenu/megamenu.js +12 -9
  295. package/megamenu/megamenu.min.js +1 -1
  296. package/menu/Menu.d.ts +84 -15
  297. package/menu/Menu.vue +6 -3
  298. package/menu/Menuitem.vue +5 -2
  299. package/menu/menu.cjs.js +13 -7
  300. package/menu/menu.cjs.min.js +1 -1
  301. package/menu/menu.esm.js +12 -6
  302. package/menu/menu.esm.min.js +1 -1
  303. package/menu/menu.js +14 -8
  304. package/menu/menu.min.js +1 -1
  305. package/menubar/Menubar.d.ts +52 -11
  306. package/menubar/Menubar.vue +1 -0
  307. package/menubar/MenubarSub.vue +7 -4
  308. package/menubar/menubar.cjs.js +9 -6
  309. package/menubar/menubar.cjs.min.js +1 -1
  310. package/menubar/menubar.esm.js +9 -6
  311. package/menubar/menubar.esm.min.js +1 -1
  312. package/menubar/menubar.js +10 -7
  313. package/menubar/menubar.min.js +1 -1
  314. package/menuitem/MenuItem.d.ts +82 -0
  315. package/menuitem/package.json +3 -0
  316. package/message/Message.d.ts +57 -10
  317. package/message/Message.vue +6 -2
  318. package/message/message.cjs.js +7 -3
  319. package/message/message.cjs.min.js +1 -1
  320. package/message/message.esm.js +7 -3
  321. package/message/message.esm.min.js +1 -1
  322. package/message/message.js +8 -4
  323. package/message/message.min.js +1 -1
  324. package/multiselect/MultiSelect.d.ts +368 -83
  325. package/multiselect/multiselect.cjs.js +3 -3
  326. package/multiselect/multiselect.esm.js +1 -1
  327. package/multiselect/multiselect.esm.min.js +1 -1
  328. package/multiselect/multiselect.js +4 -4
  329. package/orderlist/OrderList.d.ts +122 -17
  330. package/orderlist/OrderList.vue +2 -0
  331. package/orderlist/orderlist.cjs.js +5 -3
  332. package/orderlist/orderlist.cjs.min.js +1 -1
  333. package/orderlist/orderlist.esm.js +4 -2
  334. package/orderlist/orderlist.esm.min.js +1 -1
  335. package/orderlist/orderlist.js +6 -4
  336. package/orderlist/orderlist.min.js +1 -1
  337. package/organizationchart/OrganizationChart.d.ts +137 -15
  338. package/organizationchart/OrganizationChart.vue +1 -0
  339. package/organizationchart/organizationchart.cjs.js +1 -1
  340. package/organizationchart/organizationchart.cjs.min.js +1 -1
  341. package/organizationchart/organizationchart.esm.js +2 -2
  342. package/organizationchart/organizationchart.esm.min.js +1 -1
  343. package/organizationchart/organizationchart.js +2 -2
  344. package/organizationchart/organizationchart.min.js +1 -1
  345. package/overlayeventbus/overlayeventbus.esm.js +1 -1
  346. package/overlayeventbus/overlayeventbus.esm.min.js +1 -1
  347. package/overlayeventbus/overlayeventbus.js +1 -1
  348. package/overlaypanel/OverlayPanel.d.ts +107 -12
  349. package/overlaypanel/overlaypanel.cjs.js +5 -5
  350. package/overlaypanel/overlaypanel.esm.js +1 -1
  351. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  352. package/overlaypanel/overlaypanel.js +6 -6
  353. package/package.json +5 -1
  354. package/paginator/Paginator.d.ts +129 -27
  355. package/paginator/Paginator.vue +4 -4
  356. package/paginator/paginator.cjs.js +12 -12
  357. package/paginator/paginator.cjs.min.js +1 -1
  358. package/paginator/paginator.esm.js +5 -5
  359. package/paginator/paginator.esm.min.js +1 -1
  360. package/paginator/paginator.js +13 -13
  361. package/paginator/paginator.min.js +1 -1
  362. package/panel/Panel.d.ts +64 -8
  363. package/panel/Panel.vue +1 -1
  364. package/panel/panel.cjs.js +1 -1
  365. package/panel/panel.esm.js +1 -1
  366. package/panel/panel.esm.min.js +1 -1
  367. package/panel/panel.js +2 -2
  368. package/panelmenu/PanelMenu.d.ts +59 -11
  369. package/panelmenu/PanelMenu.vue +8 -5
  370. package/panelmenu/PanelMenuSub.vue +8 -5
  371. package/panelmenu/panelmenu.cjs.js +18 -12
  372. package/panelmenu/panelmenu.cjs.min.js +1 -1
  373. package/panelmenu/panelmenu.esm.js +19 -13
  374. package/panelmenu/panelmenu.esm.min.js +1 -1
  375. package/panelmenu/panelmenu.js +19 -13
  376. package/panelmenu/panelmenu.min.js +1 -1
  377. package/password/Password.d.ts +115 -24
  378. package/password/password.cjs.js +2 -2
  379. package/password/password.esm.js +1 -1
  380. package/password/password.esm.min.js +1 -1
  381. package/password/password.js +3 -3
  382. package/picklist/PickList.d.ts +199 -26
  383. package/picklist/PickList.vue +10 -4
  384. package/picklist/picklist.cjs.js +15 -9
  385. package/picklist/picklist.cjs.min.js +1 -1
  386. package/picklist/picklist.esm.js +14 -8
  387. package/picklist/picklist.esm.min.js +1 -1
  388. package/picklist/picklist.js +16 -10
  389. package/picklist/picklist.min.js +1 -1
  390. package/progressbar/ProgressBar.d.ts +43 -8
  391. package/progressbar/ProgressBar.vue +13 -12
  392. package/progressbar/progressbar.cjs.js +13 -12
  393. package/progressbar/progressbar.cjs.min.js +1 -1
  394. package/progressbar/progressbar.esm.js +15 -14
  395. package/progressbar/progressbar.esm.min.js +1 -1
  396. package/progressbar/progressbar.js +14 -13
  397. package/progressbar/progressbar.min.js +1 -1
  398. package/progressspinner/ProgressSpinner.d.ts +39 -6
  399. package/progressspinner/progressspinner.esm.js +1 -1
  400. package/progressspinner/progressspinner.esm.min.js +1 -1
  401. package/progressspinner/progressspinner.js +1 -1
  402. package/radiobutton/RadioButton.d.ts +52 -7
  403. package/radiobutton/radiobutton.esm.js +1 -1
  404. package/radiobutton/radiobutton.esm.min.js +1 -1
  405. package/radiobutton/radiobutton.js +1 -1
  406. package/rating/Rating.d.ts +67 -10
  407. package/rating/Rating.vue +1 -1
  408. package/rating/rating.cjs.js +1 -1
  409. package/rating/rating.cjs.min.js +1 -1
  410. package/rating/rating.esm.js +2 -2
  411. package/rating/rating.esm.min.js +1 -1
  412. package/rating/rating.js +2 -2
  413. package/rating/rating.min.js +1 -1
  414. package/resources/primevue.css +5 -0
  415. package/resources/primevue.min.css +1 -1
  416. package/resources/themes/arya-blue/theme.css +81 -33
  417. package/resources/themes/arya-green/theme.css +81 -33
  418. package/resources/themes/arya-orange/theme.css +81 -33
  419. package/resources/themes/arya-purple/theme.css +81 -33
  420. package/resources/themes/bootstrap4-dark-blue/theme.css +62 -21
  421. package/resources/themes/bootstrap4-dark-purple/theme.css +62 -21
  422. package/resources/themes/bootstrap4-light-blue/theme.css +62 -21
  423. package/resources/themes/bootstrap4-light-purple/theme.css +62 -21
  424. package/resources/themes/fluent-light/theme.css +81 -33
  425. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff +0 -0
  426. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff2 +0 -0
  427. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff +0 -0
  428. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff2 +0 -0
  429. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff +0 -0
  430. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff2 +0 -0
  431. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff +0 -0
  432. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff2 +0 -0
  433. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff +0 -0
  434. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff2 +0 -0
  435. package/resources/themes/lara-dark-blue/theme.css +5421 -0
  436. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff +0 -0
  437. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff2 +0 -0
  438. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff +0 -0
  439. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff2 +0 -0
  440. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff +0 -0
  441. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff2 +0 -0
  442. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff +0 -0
  443. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff2 +0 -0
  444. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff +0 -0
  445. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  446. package/resources/themes/lara-dark-indigo/theme.css +5421 -0
  447. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff +0 -0
  448. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff2 +0 -0
  449. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff +0 -0
  450. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff2 +0 -0
  451. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff +0 -0
  452. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff2 +0 -0
  453. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff +0 -0
  454. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff2 +0 -0
  455. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff +0 -0
  456. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff2 +0 -0
  457. package/resources/themes/lara-dark-purple/theme.css +5421 -0
  458. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff +0 -0
  459. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff2 +0 -0
  460. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff +0 -0
  461. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff2 +0 -0
  462. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff +0 -0
  463. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff2 +0 -0
  464. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff +0 -0
  465. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff2 +0 -0
  466. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff +0 -0
  467. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff2 +0 -0
  468. package/resources/themes/lara-dark-teal/theme.css +5421 -0
  469. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff +0 -0
  470. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff2 +0 -0
  471. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff +0 -0
  472. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff2 +0 -0
  473. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff +0 -0
  474. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff2 +0 -0
  475. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff +0 -0
  476. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff2 +0 -0
  477. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff +0 -0
  478. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff2 +0 -0
  479. package/resources/themes/lara-light-blue/theme.css +5421 -0
  480. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff +0 -0
  481. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff2 +0 -0
  482. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff +0 -0
  483. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff2 +0 -0
  484. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff +0 -0
  485. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff2 +0 -0
  486. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff +0 -0
  487. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff2 +0 -0
  488. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff +0 -0
  489. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  490. package/resources/themes/lara-light-indigo/theme.css +5421 -0
  491. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff +0 -0
  492. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff2 +0 -0
  493. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff +0 -0
  494. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff2 +0 -0
  495. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff +0 -0
  496. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff2 +0 -0
  497. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff +0 -0
  498. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff2 +0 -0
  499. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff +0 -0
  500. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff2 +0 -0
  501. package/resources/themes/lara-light-purple/theme.css +5421 -0
  502. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff +0 -0
  503. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff2 +0 -0
  504. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff +0 -0
  505. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff2 +0 -0
  506. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff +0 -0
  507. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff2 +0 -0
  508. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff +0 -0
  509. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff2 +0 -0
  510. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff +0 -0
  511. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff2 +0 -0
  512. package/resources/themes/lara-light-teal/theme.css +5421 -0
  513. package/resources/themes/luna-amber/theme.css +78 -37
  514. package/resources/themes/luna-blue/theme.css +78 -37
  515. package/resources/themes/luna-green/theme.css +78 -37
  516. package/resources/themes/luna-pink/theme.css +78 -37
  517. package/resources/themes/md-dark-deeppurple/theme.css +252 -48
  518. package/resources/themes/md-dark-indigo/theme.css +252 -48
  519. package/resources/themes/md-light-deeppurple/theme.css +252 -48
  520. package/resources/themes/md-light-indigo/theme.css +252 -48
  521. package/resources/themes/mdc-dark-deeppurple/theme.css +252 -48
  522. package/resources/themes/mdc-dark-indigo/theme.css +252 -48
  523. package/resources/themes/mdc-light-deeppurple/theme.css +252 -48
  524. package/resources/themes/mdc-light-indigo/theme.css +252 -48
  525. package/resources/themes/nova/theme.css +78 -37
  526. package/resources/themes/nova-accent/theme.css +78 -37
  527. package/resources/themes/nova-alt/theme.css +78 -37
  528. package/resources/themes/nova-vue/theme.css +78 -37
  529. package/resources/themes/rhea/theme.css +78 -37
  530. package/resources/themes/saga-blue/theme.css +65 -17
  531. package/resources/themes/saga-green/theme.css +65 -17
  532. package/resources/themes/saga-orange/theme.css +65 -17
  533. package/resources/themes/saga-purple/theme.css +65 -17
  534. package/resources/themes/tailwind-light/theme.css +92 -36
  535. package/resources/themes/vela-blue/theme.css +81 -33
  536. package/resources/themes/vela-green/theme.css +81 -33
  537. package/resources/themes/vela-orange/theme.css +81 -33
  538. package/resources/themes/vela-purple/theme.css +81 -33
  539. package/ripple/ripple.esm.js +1 -1
  540. package/ripple/ripple.esm.min.js +1 -1
  541. package/ripple/ripple.js +1 -1
  542. package/row/Row.d.ts +25 -3
  543. package/row/row.esm.js +1 -1
  544. package/row/row.esm.min.js +1 -1
  545. package/row/row.js +1 -1
  546. package/scrollpanel/ScrollPanel.d.ts +27 -5
  547. package/scrollpanel/scrollpanel.esm.js +1 -1
  548. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  549. package/scrollpanel/scrollpanel.js +1 -1
  550. package/scrolltop/ScrollTop.d.ts +47 -7
  551. package/scrolltop/scrolltop.esm.js +1 -1
  552. package/scrolltop/scrolltop.esm.min.js +1 -1
  553. package/scrolltop/scrolltop.js +1 -1
  554. package/selectbutton/SelectButton.d.ts +108 -19
  555. package/selectbutton/SelectButton.vue +8 -2
  556. package/selectbutton/selectbutton.cjs.js +15 -10
  557. package/selectbutton/selectbutton.cjs.min.js +1 -1
  558. package/selectbutton/selectbutton.esm.js +15 -10
  559. package/selectbutton/selectbutton.esm.min.js +1 -1
  560. package/selectbutton/selectbutton.js +16 -11
  561. package/selectbutton/selectbutton.min.js +1 -1
  562. package/sidebar/Sidebar.d.ts +81 -16
  563. package/sidebar/sidebar.cjs.js +1 -1
  564. package/sidebar/sidebar.esm.js +1 -1
  565. package/sidebar/sidebar.esm.min.js +1 -1
  566. package/sidebar/sidebar.js +2 -2
  567. package/skeleton/Skeleton.d.ts +58 -9
  568. package/skeleton/skeleton.esm.js +1 -1
  569. package/skeleton/skeleton.esm.min.js +1 -1
  570. package/skeleton/skeleton.js +1 -1
  571. package/slider/Slider.d.ts +90 -14
  572. package/slider/slider.esm.js +1 -1
  573. package/slider/slider.esm.min.js +1 -1
  574. package/slider/slider.js +1 -1
  575. package/speeddial/SpeedDial.d.ts +166 -29
  576. package/speeddial/SpeedDial.vue +3 -1
  577. package/speeddial/speeddial.cjs.js +5 -2
  578. package/speeddial/speeddial.cjs.min.js +1 -1
  579. package/speeddial/speeddial.esm.js +4 -2
  580. package/speeddial/speeddial.esm.min.js +1 -1
  581. package/speeddial/speeddial.js +6 -4
  582. package/speeddial/speeddial.min.js +1 -1
  583. package/splitbutton/SplitButton.d.ts +76 -11
  584. package/splitbutton/SplitButton.vue +3 -1
  585. package/splitbutton/splitbutton.cjs.js +15 -13
  586. package/splitbutton/splitbutton.cjs.min.js +1 -1
  587. package/splitbutton/splitbutton.esm.js +15 -13
  588. package/splitbutton/splitbutton.esm.min.js +1 -1
  589. package/splitbutton/splitbutton.js +16 -14
  590. package/splitbutton/splitbutton.min.js +1 -1
  591. package/splitter/Splitter.d.ts +74 -7
  592. package/splitter/Splitter.vue +5 -5
  593. package/splitter/splitter.cjs.js +1 -1
  594. package/splitter/splitter.cjs.min.js +1 -1
  595. package/splitter/splitter.esm.js +2 -2
  596. package/splitter/splitter.esm.min.js +1 -1
  597. package/splitter/splitter.js +2 -2
  598. package/splitter/splitter.min.js +1 -1
  599. package/splitterpanel/SplitterPanel.d.ts +34 -7
  600. package/splitterpanel/splitterpanel.esm.js +1 -1
  601. package/splitterpanel/splitterpanel.esm.min.js +1 -1
  602. package/splitterpanel/splitterpanel.js +1 -1
  603. package/steps/Steps.d.ts +51 -11
  604. package/steps/Steps.vue +5 -2
  605. package/steps/steps.cjs.js +5 -2
  606. package/steps/steps.cjs.min.js +1 -1
  607. package/steps/steps.esm.js +6 -3
  608. package/steps/steps.esm.min.js +1 -1
  609. package/steps/steps.js +6 -3
  610. package/steps/steps.min.js +1 -1
  611. package/styleclass/styleclass.esm.js +1 -1
  612. package/styleclass/styleclass.esm.min.js +1 -1
  613. package/styleclass/styleclass.js +1 -1
  614. package/tabmenu/TabMenu.d.ts +63 -10
  615. package/tabmenu/TabMenu.vue +6 -3
  616. package/tabmenu/tabmenu.cjs.js +7 -4
  617. package/tabmenu/tabmenu.cjs.min.js +1 -1
  618. package/tabmenu/tabmenu.esm.js +7 -4
  619. package/tabmenu/tabmenu.esm.min.js +1 -1
  620. package/tabmenu/tabmenu.js +8 -5
  621. package/tabmenu/tabmenu.min.js +1 -1
  622. package/tabpanel/TabPanel.d.ts +38 -7
  623. package/tabpanel/tabpanel.esm.js +1 -1
  624. package/tabpanel/tabpanel.esm.min.js +1 -1
  625. package/tabpanel/tabpanel.js +1 -1
  626. package/tabview/TabView.d.ts +73 -11
  627. package/tabview/tabview.cjs.js +1 -1
  628. package/tabview/tabview.esm.js +1 -1
  629. package/tabview/tabview.esm.min.js +1 -1
  630. package/tabview/tabview.js +2 -2
  631. package/tag/Tag.d.ts +44 -8
  632. package/tag/Tag.vue +1 -1
  633. package/tag/tag.cjs.js +6 -6
  634. package/tag/tag.cjs.min.js +1 -1
  635. package/tag/tag.esm.js +8 -8
  636. package/tag/tag.esm.min.js +1 -1
  637. package/tag/tag.js +7 -7
  638. package/tag/tag.min.js +1 -1
  639. package/terminal/Terminal.d.ts +36 -5
  640. package/terminal/terminal.cjs.js +3 -3
  641. package/terminal/terminal.esm.js +1 -1
  642. package/terminal/terminal.esm.min.js +1 -1
  643. package/terminal/terminal.js +4 -4
  644. package/terminalservice/TerminalService.d.ts +9 -6
  645. package/terminalservice/terminalservice.esm.js +1 -1
  646. package/terminalservice/terminalservice.esm.min.js +1 -1
  647. package/terminalservice/terminalservice.js +1 -1
  648. package/textarea/Textarea.d.ts +38 -6
  649. package/textarea/textarea.esm.js +1 -1
  650. package/textarea/textarea.esm.min.js +1 -1
  651. package/textarea/textarea.js +1 -1
  652. package/tieredmenu/TieredMenu.d.ts +89 -15
  653. package/tieredmenu/TieredMenuSub.vue +7 -4
  654. package/tieredmenu/tieredmenu.cjs.js +9 -6
  655. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  656. package/tieredmenu/tieredmenu.esm.js +8 -5
  657. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  658. package/tieredmenu/tieredmenu.js +10 -7
  659. package/tieredmenu/tieredmenu.min.js +1 -1
  660. package/timeline/Timeline.d.ts +94 -15
  661. package/timeline/timeline.esm.js +1 -1
  662. package/timeline/timeline.esm.min.js +1 -1
  663. package/timeline/timeline.js +1 -1
  664. package/toast/Toast.d.ts +118 -12
  665. package/toast/toast.cjs.js +7 -7
  666. package/toast/toast.esm.js +1 -1
  667. package/toast/toast.esm.min.js +1 -1
  668. package/toast/toast.js +8 -8
  669. package/toasteventbus/toasteventbus.esm.js +1 -1
  670. package/toasteventbus/toasteventbus.esm.min.js +1 -1
  671. package/toasteventbus/toasteventbus.js +1 -1
  672. package/toastservice/ToastService.d.ts +17 -5
  673. package/toastservice/toastservice.cjs.js +3 -3
  674. package/toastservice/toastservice.esm.js +1 -1
  675. package/toastservice/toastservice.esm.min.js +1 -1
  676. package/toastservice/toastservice.js +4 -4
  677. package/togglebutton/ToggleButton.d.ts +64 -11
  678. package/togglebutton/togglebutton.cjs.js +1 -1
  679. package/togglebutton/togglebutton.esm.js +1 -1
  680. package/togglebutton/togglebutton.esm.min.js +1 -1
  681. package/togglebutton/togglebutton.js +2 -2
  682. package/toolbar/Toolbar.d.ts +31 -6
  683. package/toolbar/Toolbar.vue +2 -2
  684. package/toolbar/toolbar.cjs.js +2 -2
  685. package/toolbar/toolbar.cjs.min.js +1 -1
  686. package/toolbar/toolbar.esm.js +3 -3
  687. package/toolbar/toolbar.esm.min.js +1 -1
  688. package/toolbar/toolbar.js +3 -3
  689. package/toolbar/toolbar.min.js +1 -1
  690. package/tooltip/tooltip.esm.js +1 -1
  691. package/tooltip/tooltip.esm.min.js +1 -1
  692. package/tooltip/tooltip.js +1 -1
  693. package/tree/Tree.d.ts +189 -26
  694. package/tree/Tree.vue +1 -0
  695. package/tree/TreeNode.vue +4 -1
  696. package/tree/tree.cjs.js +6 -3
  697. package/tree/tree.cjs.min.js +1 -1
  698. package/tree/tree.esm.js +6 -3
  699. package/tree/tree.esm.min.js +1 -1
  700. package/tree/tree.js +7 -4
  701. package/tree/tree.min.js +1 -1
  702. package/treeselect/TreeSelect.d.ts +201 -44
  703. package/treeselect/TreeSelect.vue +9 -0
  704. package/treeselect/treeselect.cjs.js +12 -3
  705. package/treeselect/treeselect.cjs.min.js +1 -1
  706. package/treeselect/treeselect.esm.js +10 -1
  707. package/treeselect/treeselect.esm.min.js +1 -1
  708. package/treeselect/treeselect.js +13 -4
  709. package/treeselect/treeselect.min.js +1 -1
  710. package/treetable/BodyCell.vue +3 -3
  711. package/treetable/TreeTable.d.ts +459 -63
  712. package/treetable/TreeTable.vue +9 -9
  713. package/treetable/treetable.cjs.js +17 -17
  714. package/treetable/treetable.cjs.min.js +1 -1
  715. package/treetable/treetable.esm.js +16 -16
  716. package/treetable/treetable.esm.min.js +1 -1
  717. package/treetable/treetable.js +18 -18
  718. package/treetable/treetable.min.js +1 -1
  719. package/tristatecheckbox/TriStateCheckbox.d.ts +40 -6
  720. package/tristatecheckbox/tristatecheckbox.esm.js +1 -1
  721. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  722. package/tristatecheckbox/tristatecheckbox.js +1 -1
  723. package/ts-helpers.d.ts +28 -0
  724. package/useconfirm/UseConfirm.d.ts +5 -19
  725. package/useconfirm/useconfirm.js +1 -1
  726. package/usetoast/UseToast.d.ts +3 -5
  727. package/usetoast/usetoast.js +1 -1
  728. package/utils/Utils.d.ts +3 -0
  729. package/utils/utils.cjs.js +41 -4
  730. package/utils/utils.cjs.min.js +1 -1
  731. package/utils/utils.esm.js +41 -4
  732. package/utils/utils.esm.min.js +1 -1
  733. package/utils/utils.js +42 -5
  734. package/utils/utils.min.js +1 -1
  735. package/vetur-attributes.json +66 -30
  736. package/vetur-tags.json +16 -7
  737. package/virtualscroller/VirtualScroller.d.ts +294 -53
  738. package/virtualscroller/VirtualScroller.vue +296 -255
  739. package/virtualscroller/virtualscroller.cjs.js +325 -266
  740. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  741. package/virtualscroller/virtualscroller.esm.js +326 -267
  742. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  743. package/virtualscroller/virtualscroller.js +326 -267
  744. package/virtualscroller/virtualscroller.min.js +1 -1
  745. package/web-types.json +296 -47
@@ -1,35 +1,38 @@
1
1
  <template>
2
2
  <span ref="container" :class="containerClass" :style="style">
3
- <CalendarInputText ref="input" v-if="!inline" type="text" v-bind="$attrs" :value="inputFieldValue" @input="onInput" @focus="onFocus" @blur="onBlur" @keydown="onKeyDown" :readonly="!manualInput" inputmode="none"
4
- :class="inputClass" :style="inputStyle" />
3
+ <input :ref="inputRef" v-if="!inline" type="text" :class="['p-inputtext p-component', inputClass]" :style="inputStyle" @input="onInput" v-bind="$attrs"
4
+ @focus="onFocus" @blur="onBlur" @keydown="onKeyDown" :readonly="!manualInput" inputmode="none">
5
5
  <CalendarButton v-if="showIcon" :icon="icon" tabindex="-1" class="p-datepicker-trigger" :disabled="$attrs.disabled" @click="onButtonClick" type="button" :aria-label="inputFieldValue"/>
6
6
  <Teleport :to="appendTarget" :disabled="appendDisabled">
7
7
  <transition name="p-connected-overlay" @enter="onOverlayEnter($event)" @after-enter="onOverlayEnterComplete" @after-leave="onOverlayAfterLeave" @leave="onOverlayLeave">
8
- <div :ref="overlayRef" :class="panelStyleClass" v-if="inline ? true : overlayVisible" :role="inline ? null : 'dialog'" @click="onOverlayClick">
8
+ <div :ref="overlayRef" :class="panelStyleClass" v-if="inline ? true : overlayVisible" :role="inline ? null : 'dialog'" @click="onOverlayClick" @mouseup="onOverlayMouseUp">
9
9
  <template v-if="!timeOnly">
10
10
  <div class="p-datepicker-group-container">
11
11
  <div class="p-datepicker-group" v-for="(month,groupIndex) of months" :key="month.month + month.year">
12
12
  <div class="p-datepicker-header">
13
13
  <slot name="header"></slot>
14
- <button class="p-datepicker-prev p-link" v-if="groupIndex === 0" @click="onPrevButtonClick" type="button" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled">
14
+ <button class="p-datepicker-prev p-link" v-show="groupIndex === 0" @click="onPrevButtonClick" type="button" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled">
15
15
  <span class="p-datepicker-prev-icon pi pi-chevron-left"></span>
16
16
  </button>
17
17
  <div class="p-datepicker-title">
18
- <span class="p-datepicker-month" v-if="!monthNavigator && (view !== 'month')">{{getMonthName(month.month)}}</span>
19
- <select class="p-datepicker-month" v-if="monthNavigator && (view !== 'month') && numberOfMonths === 1" @change="onMonthDropdownChange($event.target.value)">
20
- <option :value="index" v-for="(monthName, index) of monthNames" :key="monthName" :selected="index === month.month">{{monthName}}</option>
21
- </select>
22
- <span class="p-datepicker-year" v-if="!yearNavigator">{{view === 'month' ? currentYear : month.year}}</span>
23
- <select class="p-datepicker-year" v-if="yearNavigator && numberOfMonths === 1" @change="onYearDropdownChange($event.target.value)">
24
- <option :value="year" v-for="year of yearOptions" :key="year" :selected="year === currentYear">{{year}}</option>
25
- </select>
18
+ <button type="button" @click="switchToMonthView" @keydown="onContainerButtonKeydown" v-if="currentView === 'date'" class="p-datepicker-month p-link" :disabled="switchViewButtonDisabled">
19
+ {{getMonthName(month.month)}}
20
+ </button>
21
+ <button type="button" @click="switchToYearView" @keydown="onContainerButtonKeydown" v-if="currentView !== 'year'" class="p-datepicker-year p-link" :disabled="switchViewButtonDisabled">
22
+ {{getYear(month)}}
23
+ </button>
24
+ <span class="p-datepicker-decade" v-if="currentView === 'year'">
25
+ <slot name="decade" :years="yearPickerValues">
26
+ {{yearPickerValues[0]}} - {{yearPickerValues[yearPickerValues.length - 1]}}
27
+ </slot>
28
+ </span>
26
29
  </div>
27
- <button class="p-datepicker-next p-link" v-if="numberOfMonths === 1 ? true : (groupIndex === numberOfMonths - 1)"
30
+ <button class="p-datepicker-next p-link" v-show="numberOfMonths === 1 ? true : (groupIndex === numberOfMonths - 1)"
28
31
  @click="onNextButtonClick" type="button" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled">
29
32
  <span class="p-datepicker-next-icon pi pi-chevron-right"></span>
30
33
  </button>
31
34
  </div>
32
- <div class="p-datepicker-calendar-container" v-if="view ==='date'">
35
+ <div class="p-datepicker-calendar-container" v-if="currentView ==='date'">
33
36
  <table class="p-datepicker-calendar">
34
37
  <thead>
35
38
  <tr>
@@ -61,22 +64,28 @@
61
64
  </div>
62
65
  </div>
63
66
  </div>
64
- <div class="p-monthpicker" v-if="view === 'month'">
67
+ <div class="p-monthpicker" v-if="currentView === 'month'">
65
68
  <span v-for="(m,i) of monthPickerValues" :key="m" @click="onMonthSelect($event, i)" @keydown="onMonthCellKeydown($event,i)"
66
69
  class="p-monthpicker-month" :class="{'p-highlight': isMonthSelected(i)}" v-ripple>
67
70
  {{m}}
68
71
  </span>
69
72
  </div>
73
+ <div class="p-yearpicker" v-if="currentView === 'year'">
74
+ <span v-for="y of yearPickerValues" :key="y" @click="onYearSelect($event, y)" @keydown="onYearCellKeydown($event,y)"
75
+ class="p-yearpicker-year" :class="{'p-highlight': isYearSelected(y)}" v-ripple>
76
+ {{y}}
77
+ </span>
78
+ </div>
70
79
  </template>
71
80
  <div class="p-timepicker" v-if="showTime||timeOnly">
72
81
  <div class="p-hour-picker">
73
82
  <button class="p-link" @mousedown="onTimePickerElementMouseDown($event, 0, 1)" @mouseup="onTimePickerElementMouseUp($event)" @keydown="onContainerButtonKeydown" v-ripple
74
- @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 0, 1)" @keyup.enter="onTimePickerElementMouseUp($event)" type="button">
83
+ @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 0, 1)" @keydown.space="onTimePickerElementMouseDown($event, 0, 1)" @keyup.enter="onTimePickerElementMouseUp($event)" @keyup.space="onTimePickerElementMouseUp($event)" type="button">
75
84
  <span class="pi pi-chevron-up"></span>
76
85
  </button>
77
86
  <span>{{formattedCurrentHour}}</span>
78
87
  <button class="p-link" @mousedown="onTimePickerElementMouseDown($event, 0, -1)" @mouseup="onTimePickerElementMouseUp($event)" @keydown="onContainerButtonKeydown" v-ripple
79
- @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 0, -1)" @keyup.enter="onTimePickerElementMouseUp($event)" type="button">
88
+ @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 0, -1)" @keydown.space="onTimePickerElementMouseDown($event, 0, -1)" @keyup.enter="onTimePickerElementMouseUp($event)" @keyup.space="onTimePickerElementMouseUp($event)" type="button">
80
89
  <span class="pi pi-chevron-down"></span>
81
90
  </button>
82
91
  </div>
@@ -85,12 +94,12 @@
85
94
  </div>
86
95
  <div class="p-minute-picker">
87
96
  <button class="p-link" @mousedown="onTimePickerElementMouseDown($event, 1, 1)" @mouseup="onTimePickerElementMouseUp($event)" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled"
88
- @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 1, 1)" @keyup.enter="onTimePickerElementMouseUp($event)" type="button">
97
+ @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 1, 1)" @keydown.space="onTimePickerElementMouseDown($event, 1, 1)" @keyup.enter="onTimePickerElementMouseUp($event)" @keyup.space="onTimePickerElementMouseUp($event)" type="button">
89
98
  <span class="pi pi-chevron-up"></span>
90
99
  </button>
91
100
  <span>{{formattedCurrentMinute}}</span>
92
101
  <button class="p-link" @mousedown="onTimePickerElementMouseDown($event, 1, -1)" @mouseup="onTimePickerElementMouseUp($event)" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled"
93
- @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 1, -1)" @keyup.enter="onTimePickerElementMouseUp($event)" type="button">
102
+ @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 1, -1)" @keydown.space="onTimePickerElementMouseDown($event, 1, -1)" @keyup.enter="onTimePickerElementMouseUp($event)" @keyup.space="onTimePickerElementMouseUp($event)" type="button">
94
103
  <span class="pi pi-chevron-down"></span>
95
104
  </button>
96
105
  </div>
@@ -99,12 +108,12 @@
99
108
  </div>
100
109
  <div class="p-second-picker" v-if="showSeconds">
101
110
  <button class="p-link" @mousedown="onTimePickerElementMouseDown($event, 2, 1)" @mouseup="onTimePickerElementMouseUp($event)" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled"
102
- @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 2, 1)" @keyup.enter="onTimePickerElementMouseUp($event)" type="button">
111
+ @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 2, 1)" @keydown.space="onTimePickerElementMouseDown($event, 2, 1)" @keyup.enter="onTimePickerElementMouseUp($event)" @keyup.space="onTimePickerElementMouseUp($event)" type="button">
103
112
  <span class="pi pi-chevron-up"></span>
104
113
  </button>
105
114
  <span>{{formattedCurrentSecond}}</span>
106
115
  <button class="p-link" @mousedown="onTimePickerElementMouseDown($event, 2, -1)" @mouseup="onTimePickerElementMouseUp($event)" @keydown="onContainerButtonKeydown" v-ripple :disabled="$attrs.disabled"
107
- @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 2, -1)" @keyup.enter="onTimePickerElementMouseUp($event)" type="button">
116
+ @mouseleave="onTimePickerElementMouseLeave()" @keydown.enter="onTimePickerElementMouseDown($event, 2, -1)" @keydown.space="onTimePickerElementMouseDown($event, 2, -1)" @keyup.enter="onTimePickerElementMouseUp($event)" @keyup.space="onTimePickerElementMouseUp($event)" type="button">
108
117
  <span class="pi pi-chevron-down"></span>
109
118
  </button>
110
119
  </div>
@@ -133,9 +142,8 @@
133
142
  </template>
134
143
 
135
144
  <script>
136
- import {ConnectedOverlayScrollHandler,DomHandler,ZIndexUtils} from 'primevue/utils';
145
+ import {ConnectedOverlayScrollHandler,DomHandler,ZIndexUtils,UniqueComponentId} from 'primevue/utils';
137
146
  import OverlayEventBus from 'primevue/overlayeventbus';
138
- import InputText from 'primevue/inputtext';
139
147
  import Button from 'primevue/button';
140
148
  import Ripple from 'primevue/ripple';
141
149
 
@@ -177,6 +185,7 @@ export default {
177
185
  type: Number,
178
186
  default: 1
179
187
  },
188
+ responsiveOptions: Array,
180
189
  view: {
181
190
  type: String,
182
191
  default: 'date'
@@ -289,40 +298,53 @@ export default {
289
298
  type: String,
290
299
  default: 'body'
291
300
  },
292
- keepInvalid: {
293
- type: Boolean,
294
- default: false
295
- },
296
301
  inputClass: null,
297
302
  inputStyle: null,
298
303
  class: null,
299
304
  style: null
300
305
  },
301
306
  navigationState: null,
307
+ timePickerChange: false,
302
308
  scrollHandler: null,
303
309
  outsideClickListener: null,
304
310
  maskClickListener: null,
305
311
  resizeListener: null,
306
312
  overlay: null,
313
+ input: null,
307
314
  mask: null,
308
315
  timePickerTimer: null,
309
- isKeydown: false,
316
+ preventFocus: false,
317
+ typeUpdate: false,
310
318
  created() {
311
319
  this.updateCurrentMetaData();
312
320
  },
313
321
  mounted() {
314
- if (this.inline && !this.$attrs.disabled) {
315
- this.initFocusableCell();
322
+ this.createResponsiveStyle();
323
+
324
+ if (this.inline) {
325
+ this.overlay && this.overlay.setAttribute(this.attributeSelector, '');
326
+
327
+ if (!this.$attrs.disabled) {
328
+ this.initFocusableCell();
329
+
330
+ if (this.numberOfMonths === 1) {
331
+ this.overlay.style.width = DomHandler.getOuterWidth(this.$el) + 'px';
332
+ }
333
+ }
334
+ }
335
+ else {
336
+ this.input.value = this.formatValue(this.modelValue);
316
337
  }
317
338
  },
318
339
  updated() {
319
340
  if (this.overlay) {
341
+ this.preventFocus = true;
320
342
  this.updateFocus();
321
343
  }
322
344
 
323
- if (this.$refs.input && this.selectionStart != null && this.selectionEnd != null) {
324
- this.$refs.input.$el.selectionStart = this.selectionStart;
325
- this.$refs.input.$el.selectionEnd = this.selectionEnd;
345
+ if (this.input && this.selectionStart != null && this.selectionEnd != null) {
346
+ this.input.selectionStart = this.selectionStart;
347
+ this.input.selectionEnd = this.selectionEnd;
326
348
  this.selectionStart = null;
327
349
  this.selectionEnd = null;
328
350
  }
@@ -333,8 +355,9 @@ export default {
333
355
  }
334
356
 
335
357
  if (this.mask) {
336
- this.destroyMask();
358
+ this.destroyMask();
337
359
  }
360
+ this.destroyResponsiveStyleElement();
338
361
 
339
362
  this.unbindOutsideClickListener();
340
363
  this.unbindResizeListener();
@@ -358,20 +381,35 @@ export default {
358
381
  currentSecond: null,
359
382
  pm: null,
360
383
  focused: false,
361
- overlayVisible: false
384
+ overlayVisible: false,
385
+ currentView: this.view
362
386
  }
363
387
  },
364
388
  watch: {
365
- modelValue() {
389
+ modelValue(newValue) {
366
390
  this.updateCurrentMetaData();
391
+ if (!this.typeUpdate && !this.inline && this.input) {
392
+ this.input.value = this.formatValue(newValue);
393
+ }
394
+ this.typeUpdate = false;
367
395
  },
368
396
  showTime() {
369
397
  this.updateCurrentMetaData();
370
398
  },
371
399
  months() {
372
400
  if (this.overlay) {
373
- setTimeout(this.updateFocus, 0);
401
+ if (!this.focused) {
402
+ setTimeout(this.updateFocus, 0);
403
+ }
374
404
  }
405
+ },
406
+ numberOfMonths() {
407
+ this.destroyResponsiveStyleElement();
408
+ this.createResponsiveStyle();
409
+ },
410
+ responsiveOptions() {
411
+ this.destroyResponsiveStyleElement();
412
+ this.createResponsiveStyle();
375
413
  }
376
414
  },
377
415
  methods: {
@@ -411,7 +449,22 @@ export default {
411
449
  return false;
412
450
  },
413
451
  isMonthSelected(month) {
414
- return this.isComparable() ? (this.modelValue.getMonth() === month && this.modelValue.getFullYear() === this.currentYear) : false;
452
+ if (this.isComparable()) {
453
+ let value = this.isRangeSelection() ? this.modelValue[0] : this.modelValue;
454
+
455
+ return !this.isMultipleSelection() ? (value.getMonth() === month && value.getFullYear() === this.currentYear) : false;
456
+ }
457
+
458
+ return false;
459
+ },
460
+ isYearSelected(year) {
461
+ if (this.isComparable()) {
462
+ let value = this.isRangeSelection() ? this.modelValue[0] : this.modelValue;
463
+
464
+ return !this.isMultipleSelection() && this.isComparable() ? (value.getFullYear() === year) : false;
465
+ }
466
+
467
+ return false;
415
468
  },
416
469
  isDateEquals(value, dateMeta) {
417
470
  if (value)
@@ -537,12 +590,15 @@ export default {
537
590
  return validMin && validMax && validDate && validDay;
538
591
  },
539
592
  onOverlayEnter(el) {
593
+ el.setAttribute(this.attributeSelector, '');
594
+
540
595
  if (this.autoZIndex) {
541
596
  if (this.touchUI)
542
597
  ZIndexUtils.set('modal', el, this.baseZIndex || this.$primevue.config.zIndex.modal);
543
598
  else
544
599
  ZIndexUtils.set('overlay', el, this.baseZIndex || this.$primevue.config.zIndex.overlay);
545
600
  }
601
+
546
602
  this.alignOverlay();
547
603
  this.$emit('show');
548
604
  },
@@ -557,6 +613,7 @@ export default {
557
613
  }
558
614
  },
559
615
  onOverlayLeave() {
616
+ this.currentView = this.view;
560
617
  this.unbindOutsideClickListener();
561
618
  this.unbindScrollListener();
562
619
  this.unbindResizeListener();
@@ -587,9 +644,12 @@ export default {
587
644
  return;
588
645
  }
589
646
 
590
- if (this.view === 'month') {
647
+ if (this.currentView === 'month') {
591
648
  this.decrementYear();
592
649
  }
650
+ else if (this.currentView === 'year') {
651
+ this.decrementDecade();
652
+ }
593
653
  else {
594
654
  if (this.currentMonth === 0) {
595
655
  this.currentMonth = 11;
@@ -609,9 +669,12 @@ export default {
609
669
  return;
610
670
  }
611
671
 
612
- if (this.view === 'month') {
672
+ if (this.currentView === 'month') {
613
673
  this.incrementYear();
614
674
  }
675
+ else if (this.currentView === 'year') {
676
+ this.incrementDecade();
677
+ }
615
678
  else {
616
679
  if (this.currentMonth === 11) {
617
680
  this.currentMonth = 0;
@@ -627,9 +690,25 @@ export default {
627
690
  decrementYear() {
628
691
  this.currentYear--;
629
692
  },
693
+ decrementDecade() {
694
+ this.currentYear = this.currentYear - 10;
695
+ },
630
696
  incrementYear() {
631
697
  this.currentYear++;
632
698
  },
699
+ incrementDecade() {
700
+ this.currentYear = this.currentYear + 10;
701
+ },
702
+ switchToMonthView(event) {
703
+ this.currentView = 'month';
704
+ setTimeout(this.updateFocus, 0);
705
+ event.preventDefault();
706
+ },
707
+ switchToYearView(event) {
708
+ this.currentView = 'year';
709
+ setTimeout(this.updateFocus, 0);
710
+ event.preventDefault();
711
+ },
633
712
  isEnabled() {
634
713
  return !this.$attrs.disabled && !this.$attrs.readonly;
635
714
  },
@@ -714,7 +793,14 @@ export default {
714
793
  DomHandler.relativePosition(this.overlay, this.$el);
715
794
  }
716
795
  else {
717
- this.overlay.style.minWidth = DomHandler.getOuterWidth(this.$el) + 'px';
796
+ if (this.view === 'date') {
797
+ this.overlay.style.width = DomHandler.getOuterWidth(this.overlay) + 'px';
798
+ this.overlay.style.minWidth = DomHandler.getOuterWidth(this.$el) + 'px';
799
+ }
800
+ else {
801
+ this.overlay.style.width = DomHandler.getOuterWidth(this.$el) + 'px';
802
+ }
803
+
718
804
  DomHandler.absolutePosition(this.overlay, this.$el);
719
805
  }
720
806
  }
@@ -722,7 +808,7 @@ export default {
722
808
  onButtonClick() {
723
809
  if (this.isEnabled()) {
724
810
  if (!this.overlayVisible) {
725
- this.$refs.input.$el.focus();
811
+ this.input.focus();
726
812
  this.overlayVisible = true;
727
813
  }
728
814
  else {
@@ -1115,12 +1201,10 @@ export default {
1115
1201
  }
1116
1202
  return hours;
1117
1203
  },
1118
- validateTime(hour, minute, second, pm) {
1119
- let value = this.modelValue;
1204
+ validateTime(hour, minute, second, pm) {
1205
+ let value = this.isComparable() ? this.modelValue : this.viewDate;
1120
1206
  const convertedHour = this.convertTo24Hour(hour, pm);
1121
- if (!this.isComparable()) {
1122
- return true;
1123
- }
1207
+
1124
1208
  if (this.isRangeSelection()) {
1125
1209
  value = this.modelValue[1] || this.modelValue[0];
1126
1210
  }
@@ -1166,7 +1250,6 @@ export default {
1166
1250
  let newHour = this.currentHour + this.stepHour;
1167
1251
  let newPM = this.pm;
1168
1252
 
1169
-
1170
1253
  if (this.hourFormat == '24')
1171
1254
  newHour = (newHour >= 24) ? (newHour - 24) : newHour;
1172
1255
  else if (this.hourFormat == '12') {
@@ -1177,7 +1260,6 @@ export default {
1177
1260
  newHour = (newHour >= 13) ? (newHour - 12) : newHour;
1178
1261
  }
1179
1262
 
1180
-
1181
1263
  if (this.validateTime(newHour, this.currentMinute, this.currentSecond, newPM)) {
1182
1264
  this.currentHour = newHour;
1183
1265
  this.pm = newPM;
@@ -1237,7 +1319,8 @@ export default {
1237
1319
  event.preventDefault();
1238
1320
  },
1239
1321
  updateModelTime() {
1240
- let value = this.isComparable() ? this.modelValue : new Date();
1322
+ this.timePickerChange = true;
1323
+ let value = this.isComparable() ? this.modelValue : this.viewDate;
1241
1324
 
1242
1325
  if (this.isRangeSelection()) {
1243
1326
  value = this.modelValue[1] || this.modelValue[0];
@@ -1273,6 +1356,7 @@ export default {
1273
1356
 
1274
1357
  this.updateModel(value);
1275
1358
  this.$emit('date-select', value);
1359
+ setTimeout(() => this.timePickerChange = false, 0);
1276
1360
  },
1277
1361
  toggleAMPM(event) {
1278
1362
  this.pm = !this.pm;
@@ -1285,7 +1369,28 @@ export default {
1285
1369
  }
1286
1370
  },
1287
1371
  onMonthSelect(event, index) {
1288
- this.onDateSelect(event, {year: this.currentYear, month: index, day: 1, selectable: true});
1372
+ if (this.view === 'month') {
1373
+ this.onDateSelect(event, {year: this.currentYear, month: index, day: 1, selectable: true});
1374
+ }
1375
+ else {
1376
+ this.currentMonth = index;
1377
+ this.currentView = 'date';
1378
+ this.$emit('month-change', {month: this.currentMonth + 1, year: this.currentYear});
1379
+ }
1380
+
1381
+ setTimeout(this.updateFocus, 0);
1382
+ },
1383
+ onYearSelect(event, year) {
1384
+ if (this.view === 'year') {
1385
+ this.onDateSelect(event, {year: year, month: 0, day: 1, selectable: true});
1386
+ }
1387
+ else {
1388
+ this.currentYear = year;
1389
+ this.currentView = 'month';
1390
+ this.$emit('year-change', {month: this.currentMonth + 1, year: this.currentYear});
1391
+ }
1392
+
1393
+ setTimeout(this.updateFocus, 0);
1289
1394
  },
1290
1395
  enableModality() {
1291
1396
  if (!this.mask) {
@@ -1340,6 +1445,10 @@ export default {
1340
1445
  }
1341
1446
  },
1342
1447
  isValidSelection(value) {
1448
+ if (value == null) {
1449
+ return true;
1450
+ }
1451
+
1343
1452
  let isValid = true;
1344
1453
  if (this.isSingleSelection()) {
1345
1454
  if (!this.isSelectable(value.getDate(), value.getMonth(), value.getFullYear(), false)) {
@@ -1508,7 +1617,7 @@ export default {
1508
1617
  iValue++;
1509
1618
  };
1510
1619
 
1511
- if (this.view === 'month') {
1620
+ if (this.currentView === 'month') {
1512
1621
  day = 1;
1513
1622
  }
1514
1623
 
@@ -1703,7 +1812,9 @@ export default {
1703
1812
  }
1704
1813
 
1705
1814
  //enter
1706
- case 13: {
1815
+ //space
1816
+ case 13:
1817
+ case 32: {
1707
1818
  this.onDateSelect(event, date);
1708
1819
  event.preventDefault();
1709
1820
  break;
@@ -1737,7 +1848,7 @@ export default {
1737
1848
  }
1738
1849
  else {
1739
1850
  let prevMonthContainer = this.overlay.children[groupIndex - 1];
1740
- let cells = DomHandler.find(prevMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled)');
1851
+ let cells = DomHandler.find(prevMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
1741
1852
  let focusCell = cells[cells.length - 1];
1742
1853
  focusCell.tabIndex = '0';
1743
1854
  focusCell.focus();
@@ -1750,7 +1861,7 @@ export default {
1750
1861
  }
1751
1862
  else {
1752
1863
  let nextMonthContainer = this.overlay.children[groupIndex + 1];
1753
- let focusCell = DomHandler.findSingle(nextMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled)');
1864
+ let focusCell = DomHandler.findSingle(nextMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
1754
1865
  focusCell.tabIndex = '0';
1755
1866
  focusCell.focus();
1756
1867
  }
@@ -1783,6 +1894,10 @@ export default {
1783
1894
  prevCell.tabIndex = '0';
1784
1895
  prevCell.focus();
1785
1896
  }
1897
+ else {
1898
+ this.navigationState = {backward: true};
1899
+ this.navBackward(event);
1900
+ }
1786
1901
  event.preventDefault();
1787
1902
  break;
1788
1903
  }
@@ -1795,12 +1910,18 @@ export default {
1795
1910
  nextCell.tabIndex = '0';
1796
1911
  nextCell.focus();
1797
1912
  }
1913
+ else {
1914
+ this.navigationState = {backward: false};
1915
+ this.navForward(event);
1916
+ }
1798
1917
  event.preventDefault();
1799
1918
  break;
1800
1919
  }
1801
1920
 
1802
1921
  //enter
1803
- case 13: {
1922
+ //space
1923
+ case 13:
1924
+ case 32: {
1804
1925
  this.onMonthSelect(event, index);
1805
1926
  event.preventDefault();
1806
1927
  break;
@@ -1824,8 +1945,87 @@ export default {
1824
1945
  break;
1825
1946
  }
1826
1947
  },
1948
+ onYearCellKeydown(event, index) {
1949
+ const cell = event.currentTarget;
1950
+
1951
+ switch (event.which) {
1952
+ //arrows
1953
+ case 38:
1954
+ case 40: {
1955
+ cell.tabIndex = '-1';
1956
+ var cells = cell.parentElement.children;
1957
+ var cellIndex = DomHandler.index(cell);
1958
+ let nextCell = cells[event.which === 40 ? cellIndex + 2 : cellIndex - 2];
1959
+ if (nextCell) {
1960
+ nextCell.tabIndex = '0';
1961
+ nextCell.focus();
1962
+ }
1963
+ event.preventDefault();
1964
+ break;
1965
+ }
1966
+
1967
+ //left arrow
1968
+ case 37: {
1969
+ cell.tabIndex = '-1';
1970
+ let prevCell = cell.previousElementSibling;
1971
+ if (prevCell) {
1972
+ prevCell.tabIndex = '0';
1973
+ prevCell.focus();
1974
+ }
1975
+ else {
1976
+ this.navigationState = {backward: true};
1977
+ this.navBackward(event);
1978
+ }
1979
+ event.preventDefault();
1980
+ break;
1981
+ }
1982
+
1983
+ //right arrow
1984
+ case 39: {
1985
+ cell.tabIndex = '-1';
1986
+ let nextCell = cell.nextElementSibling;
1987
+ if (nextCell) {
1988
+ nextCell.tabIndex = '0';
1989
+ nextCell.focus();
1990
+ }
1991
+ else {
1992
+ this.navigationState = {backward: false};
1993
+ this.navForward(event);
1994
+ }
1995
+ event.preventDefault();
1996
+ break;
1997
+ }
1998
+
1999
+ //enter
2000
+ //space
2001
+ case 13:
2002
+ case 32: {
2003
+ this.onYearSelect(event, index);
2004
+ event.preventDefault();
2005
+ break;
2006
+ }
2007
+
2008
+ //escape
2009
+ case 27: {
2010
+ this.overlayVisible = false;
2011
+ event.preventDefault();
2012
+ break;
2013
+ }
2014
+
2015
+ //tab
2016
+ case 9: {
2017
+ this.trapFocus(event);
2018
+ break;
2019
+ }
2020
+
2021
+ default:
2022
+ //no op
2023
+ break;
2024
+ }
2025
+ },
1827
2026
  updateFocus() {
1828
2027
  let cell;
2028
+
1829
2029
  if (this.navigationState) {
1830
2030
  if (this.navigationState.button) {
1831
2031
  this.initFocusableCell();
@@ -1837,11 +2037,32 @@ export default {
1837
2037
  }
1838
2038
  else {
1839
2039
  if (this.navigationState.backward) {
1840
- let cells = DomHandler.find(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled)');
1841
- cell = cells[cells.length - 1];
2040
+ let cells;
2041
+
2042
+ if (this.currentView === 'month') {
2043
+ cells = DomHandler.find(this.overlay, '.p-monthpicker .p-monthpicker-month:not(.p-disabled)');
2044
+ }
2045
+ else if (this.currentView === 'year') {
2046
+ cells = DomHandler.find(this.overlay, '.p-yearpicker .p-yearpicker-year:not(.p-disabled)');
2047
+ }
2048
+ else {
2049
+ cells = DomHandler.find(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
2050
+ }
2051
+
2052
+ if (cells && cells.length > 0) {
2053
+ cell = cells[cells.length - 1];
2054
+ }
1842
2055
  }
1843
2056
  else {
1844
- cell = DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled)');
2057
+ if (this.currentView === 'month') {
2058
+ cell = DomHandler.findSingle(this.overlay, '.p-monthpicker .p-monthpicker-month:not(.p-disabled)');
2059
+ }
2060
+ else if (this.currentView === 'year') {
2061
+ cell = DomHandler.findSingle(this.overlay, '.p-yearpicker .p-yearpicker-year:not(.p-disabled)');
2062
+ }
2063
+ else {
2064
+ cell = DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
2065
+ }
1845
2066
  }
1846
2067
 
1847
2068
  if (cell) {
@@ -1859,25 +2080,37 @@ export default {
1859
2080
  initFocusableCell() {
1860
2081
  let cell;
1861
2082
 
1862
- if (this.view === 'month') {
2083
+ if (this.currentView === 'month') {
1863
2084
  let cells = DomHandler.find(this.overlay, '.p-monthpicker .p-monthpicker-month');
1864
2085
  let selectedCell= DomHandler.findSingle(this.overlay, '.p-monthpicker .p-monthpicker-month.p-highlight');
1865
2086
  cells.forEach(cell => cell.tabIndex = -1);
1866
2087
  cell = selectedCell || cells[0];
1867
2088
  }
2089
+ else if (this.currentView === 'year') {
2090
+ let cells = DomHandler.find(this.overlay, '.p-yearpicker .p-yearpicker-year');
2091
+ let selectedCell= DomHandler.findSingle(this.overlay, '.p-yearpicker .p-yearpicker-year.p-highlight');
2092
+ cells.forEach(cell => cell.tabIndex = -1);
2093
+ cell = selectedCell || cells[0];
2094
+ }
1868
2095
  else {
1869
2096
  cell = DomHandler.findSingle(this.overlay, 'span.p-highlight');
1870
2097
  if (!cell) {
1871
- let todayCell = DomHandler.findSingle(this.overlay, 'td.p-datepicker-today span:not(.p-disabled)');
2098
+ let todayCell = DomHandler.findSingle(this.overlay, 'td.p-datepicker-today span:not(.p-disabled):not(.p-ink');
1872
2099
  if (todayCell)
1873
2100
  cell = todayCell;
1874
2101
  else
1875
- cell = DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled)');
2102
+ cell = DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink');
1876
2103
  }
1877
2104
  }
1878
2105
 
1879
2106
  if (cell) {
1880
2107
  cell.tabIndex = '0';
2108
+
2109
+ if (!this.preventFocus && (!this.navigationState || !this.navigationState.button) && !this.timePickerChange) {
2110
+ cell.focus();
2111
+ }
2112
+
2113
+ this.preventFocus = false;
1881
2114
  }
1882
2115
  },
1883
2116
  trapFocus(event) {
@@ -1925,25 +2158,18 @@ export default {
1925
2158
  }
1926
2159
  },
1927
2160
  onInput(event) {
1928
- // IE 11 Workaround for input placeholder : https://github.com/primefaces/primeng/issues/2026
1929
- if (!this.isKeydown) {
1930
- return;
1931
- }
1932
- this.isKeydown = false;
1933
-
1934
2161
  try {
1935
- this.selectionStart = this.$refs.input.$el.selectionStart;
1936
- this.selectionEnd = this.$refs.input.$el.selectionEnd;
2162
+ this.selectionStart = this.input.selectionStart;
2163
+ this.selectionEnd = this.input.selectionEnd;
1937
2164
 
1938
2165
  let value = this.parseValue(event.target.value);
1939
2166
  if (this.isValidSelection(value)) {
2167
+ this.typeUpdate = true;
1940
2168
  this.updateModel(value);
1941
2169
  }
1942
2170
  }
1943
2171
  catch(err) {
1944
- // invalid date
1945
- let value = this.keepInvalid ? event.target.value : null;
1946
- this.updateModel(value);
2172
+ /* NoOp */
1947
2173
  }
1948
2174
  },
1949
2175
  onFocus() {
@@ -1954,9 +2180,9 @@ export default {
1954
2180
  },
1955
2181
  onBlur() {
1956
2182
  this.focused = false;
2183
+ this.input.value = this.formatValue(this.modelValue);
1957
2184
  },
1958
- onKeyDown(event) {
1959
- this.isKeydown = true;
2185
+ onKeyDown() {
1960
2186
  if (event.keyCode === 40 && this.overlay) {
1961
2187
  this.trapFocus(event);
1962
2188
  }
@@ -1979,9 +2205,15 @@ export default {
1979
2205
  overlayRef(el) {
1980
2206
  this.overlay = el;
1981
2207
  },
2208
+ inputRef(el) {
2209
+ this.input = el;
2210
+ },
1982
2211
  getMonthName(index) {
1983
2212
  return this.$primevue.config.locale.monthNames[index];
1984
2213
  },
2214
+ getYear(month) {
2215
+ return this.currentView === 'month' ? this.currentYear : month.year;
2216
+ },
1985
2217
  onOverlayClick(event) {
1986
2218
  if (!this.inline) {
1987
2219
  OverlayEventBus.emit('overlay-click', {
@@ -1989,23 +2221,81 @@ export default {
1989
2221
  target: this.$el
1990
2222
  });
1991
2223
  }
2224
+ },
2225
+ onOverlayMouseUp(event) {
2226
+ this.onOverlayClick(event);
2227
+ },
2228
+ createResponsiveStyle() {
2229
+ if (this.numberOfMonths > 1 && this.responsiveOptions) {
2230
+ if (!this.responsiveStyleElement) {
2231
+ this.responsiveStyleElement = document.createElement('style');
2232
+ this.responsiveStyleElement.type = 'text/css';
2233
+ document.body.appendChild(this.responsiveStyleElement);
2234
+ }
2235
+
2236
+ let innerHTML = '';
2237
+ if (this.responsiveOptions) {
2238
+ let responsiveOptions = [...this.responsiveOptions]
2239
+ .filter(o => !!(o.breakpoint && o.numMonths))
2240
+ .sort((o1, o2) => -1 * o1.breakpoint.localeCompare(o2.breakpoint, undefined, { numeric: true }));
2241
+
2242
+ for (let i = 0; i < responsiveOptions.length; i++) {
2243
+ let { breakpoint, numMonths } = responsiveOptions[i];
2244
+ let styles = `
2245
+ .p-datepicker[${this.attributeSelector}] .p-datepicker-group:nth-child(${numMonths}) .p-datepicker-next {
2246
+ display: inline-flex !important;
2247
+ }
2248
+ `;
2249
+
2250
+ for (let j = numMonths; j < this.numberOfMonths; j++) {
2251
+ styles += `
2252
+ .p-datepicker[${this.attributeSelector}] .p-datepicker-group:nth-child(${j + 1}) {
2253
+ display: none !important;
2254
+ }
2255
+ `
2256
+ }
2257
+
2258
+ innerHTML += `
2259
+ @media screen and (max-width: ${breakpoint}) {
2260
+ ${styles}
2261
+ }
2262
+ `
2263
+ }
2264
+ }
2265
+
2266
+ this.responsiveStyleElement.innerHTML = innerHTML;
2267
+ }
2268
+ },
2269
+ destroyResponsiveStyleElement() {
2270
+ if (this.responsiveStyleElement) {
2271
+ this.responsiveStyleElement.remove();
2272
+ this.responsiveStyleElement = null;
2273
+ }
1992
2274
  }
1993
2275
  },
1994
2276
  computed: {
1995
2277
  viewDate() {
1996
2278
  let propValue = this.modelValue;
1997
- if (typeof propValue === 'string') {
1998
- return new Date();
1999
- }
2000
-
2001
2279
  if (propValue && Array.isArray(propValue)) {
2002
2280
  propValue = propValue[0];
2003
2281
  }
2004
2282
 
2005
- return propValue || new Date();
2283
+ if (propValue && typeof propValue !== 'string') {
2284
+ return propValue;
2285
+ }
2286
+ else {
2287
+ let today = new Date();
2288
+ if (this.maxDate && this.maxDate < today) {
2289
+ return this.maxDate;
2290
+ }
2291
+ if (this.minDate && this.minDate > today) {
2292
+ return this.minDate;
2293
+ }
2294
+ return today;
2295
+ }
2006
2296
  },
2007
2297
  inputFieldValue() {
2008
- return this.keepInvalid ? this.modelValue : this.formatValue(this.modelValue);
2298
+ return this.formatValue(this.modelValue);
2009
2299
  },
2010
2300
  containerClass() {
2011
2301
  return [
@@ -2024,7 +2314,8 @@ export default {
2024
2314
  'p-disabled': this.$attrs.disabled,
2025
2315
  'p-datepicker-timeonly': this.timeOnly,
2026
2316
  'p-datepicker-multiple-month': this.numberOfMonths > 1,
2027
- 'p-datepicker-monthpicker': (this.view === 'month'),
2317
+ 'p-datepicker-monthpicker': (this.currentView === 'month'),
2318
+ 'p-datepicker-yearpicker': (this.currentView === 'year'),
2028
2319
  'p-datepicker-touch-ui': this.touchUI,
2029
2320
  'p-input-filled': this.$primevue.config.inputStyle === 'filled',
2030
2321
  'p-ripple-disabled': this.$primevue.config.ripple === false
@@ -2152,6 +2443,15 @@ export default {
2152
2443
 
2153
2444
  return monthPickerValues;
2154
2445
  },
2446
+ yearPickerValues() {
2447
+ let yearPickerValues = [];
2448
+ let base = this.currentYear - (this.currentYear % 10);
2449
+ for (let i = 0; i < 10; i++) {
2450
+ yearPickerValues.push(base + i);
2451
+ }
2452
+
2453
+ return yearPickerValues;
2454
+ },
2155
2455
  formattedCurrentHour() {
2156
2456
  return this.currentHour < 10 ? '0' + this.currentHour : this.currentHour;
2157
2457
  },
@@ -2178,10 +2478,15 @@ export default {
2178
2478
  },
2179
2479
  appendTarget() {
2180
2480
  return this.appendDisabled ? null : this.appendTo;
2481
+ },
2482
+ attributeSelector() {
2483
+ return UniqueComponentId();
2484
+ },
2485
+ switchViewButtonDisabled() {
2486
+ return this.numberOfMonths > 1 || this.$attrs.disabled;
2181
2487
  }
2182
2488
  },
2183
2489
  components: {
2184
- 'CalendarInputText': InputText,
2185
2490
  'CalendarButton': Button
2186
2491
  },
2187
2492
  directives: {
@@ -2194,6 +2499,7 @@ export default {
2194
2499
  .p-calendar {
2195
2500
  position: relative;
2196
2501
  display: inline-flex;
2502
+ max-width: 100%;
2197
2503
  }
2198
2504
 
2199
2505
  .p-calendar .p-inputtext {
@@ -2233,8 +2539,9 @@ export default {
2233
2539
  }
2234
2540
 
2235
2541
  .p-datepicker-inline {
2236
- display: inline-flex;
2542
+ display: inline-block;
2237
2543
  position: static;
2544
+ overflow-x: auto;
2238
2545
  }
2239
2546
 
2240
2547
  /* Header */
@@ -2263,6 +2570,10 @@ export default {
2263
2570
  display: flex;
2264
2571
  }
2265
2572
 
2573
+ .p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group {
2574
+ flex: 1 1 auto;
2575
+ }
2576
+
2266
2577
  /* DatePicker Table */
2267
2578
  .p-datepicker table {
2268
2579
  width: 100%;
@@ -2290,6 +2601,17 @@ export default {
2290
2601
  position: relative;
2291
2602
  }
2292
2603
 
2604
+ /* Year Picker */
2605
+ .p-yearpicker-year {
2606
+ width: 50%;
2607
+ display: inline-flex;
2608
+ align-items: center;
2609
+ justify-content: center;
2610
+ cursor: pointer;
2611
+ overflow: hidden;
2612
+ position: relative;
2613
+ }
2614
+
2293
2615
  /* Button Bar */
2294
2616
  .p-datepicker-buttonbar {
2295
2617
  display: flex;