primevue 3.8.2 → 3.9.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 (373) hide show
  1. package/README.md +2 -2
  2. package/api/Api.d.ts +70 -36
  3. package/api/api.cjs.js +66 -32
  4. package/api/api.cjs.min.js +1 -1
  5. package/api/api.esm.js +66 -32
  6. package/api/api.esm.min.js +1 -1
  7. package/api/api.js +66 -32
  8. package/api/api.min.js +1 -1
  9. package/autocomplete/AutoComplete.vue +16 -9
  10. package/autocomplete/autocomplete.cjs.js +19 -11
  11. package/autocomplete/autocomplete.cjs.min.js +1 -1
  12. package/autocomplete/autocomplete.esm.js +19 -11
  13. package/autocomplete/autocomplete.esm.min.js +1 -1
  14. package/autocomplete/autocomplete.js +19 -11
  15. package/autocomplete/autocomplete.min.js +1 -1
  16. package/breadcrumb/BreadcrumbItem.vue +5 -2
  17. package/breadcrumb/breadcrumb.cjs.js +5 -2
  18. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  19. package/breadcrumb/breadcrumb.esm.js +5 -2
  20. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  21. package/breadcrumb/breadcrumb.js +5 -2
  22. package/breadcrumb/breadcrumb.min.js +1 -1
  23. package/calendar/Calendar.d.ts +6 -0
  24. package/calendar/Calendar.vue +362 -67
  25. package/calendar/calendar.cjs.js +459 -168
  26. package/calendar/calendar.cjs.min.js +1 -1
  27. package/calendar/calendar.esm.js +461 -170
  28. package/calendar/calendar.esm.min.js +1 -1
  29. package/calendar/calendar.js +459 -168
  30. package/calendar/calendar.min.js +1 -1
  31. package/carousel/Carousel.vue +2 -2
  32. package/carousel/carousel.cjs.js +6 -6
  33. package/carousel/carousel.cjs.min.js +1 -1
  34. package/carousel/carousel.esm.js +6 -6
  35. package/carousel/carousel.esm.min.js +1 -1
  36. package/carousel/carousel.js +6 -6
  37. package/carousel/carousel.min.js +1 -1
  38. package/cascadeselect/CascadeSelect.d.ts +8 -4
  39. package/chart/Chart.vue +9 -2
  40. package/chart/chart.cjs.js +9 -2
  41. package/chart/chart.cjs.min.js +1 -1
  42. package/chart/chart.esm.js +9 -2
  43. package/chart/chart.esm.min.js +1 -1
  44. package/chart/chart.js +9 -2
  45. package/chart/chart.min.js +1 -1
  46. package/colorpicker/ColorPicker.d.ts +3 -0
  47. package/colorpicker/ColorPicker.vue +6 -1
  48. package/colorpicker/colorpicker.cjs.js +6 -1
  49. package/colorpicker/colorpicker.cjs.min.js +1 -1
  50. package/colorpicker/colorpicker.esm.js +6 -1
  51. package/colorpicker/colorpicker.esm.min.js +1 -1
  52. package/colorpicker/colorpicker.js +6 -1
  53. package/colorpicker/colorpicker.min.js +1 -1
  54. package/confirmdialog/ConfirmDialog.vue +8 -2
  55. package/confirmdialog/confirmdialog.cjs.js +11 -4
  56. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  57. package/confirmdialog/confirmdialog.esm.js +11 -4
  58. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  59. package/confirmdialog/confirmdialog.js +11 -4
  60. package/confirmdialog/confirmdialog.min.js +1 -1
  61. package/confirmpopup/ConfirmPopup.d.ts +7 -0
  62. package/confirmpopup/ConfirmPopup.vue +7 -4
  63. package/confirmpopup/confirmpopup.cjs.js +13 -5
  64. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  65. package/confirmpopup/confirmpopup.esm.js +14 -6
  66. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  67. package/confirmpopup/confirmpopup.js +13 -5
  68. package/confirmpopup/confirmpopup.min.js +1 -1
  69. package/contextmenu/ContextMenuSub.vue +7 -4
  70. package/contextmenu/contextmenu.cjs.js +7 -4
  71. package/contextmenu/contextmenu.cjs.min.js +1 -1
  72. package/contextmenu/contextmenu.esm.js +7 -4
  73. package/contextmenu/contextmenu.esm.min.js +1 -1
  74. package/contextmenu/contextmenu.js +7 -4
  75. package/contextmenu/contextmenu.min.js +1 -1
  76. package/core/core.js +132 -65
  77. package/core/core.min.js +14 -11
  78. package/datatable/BodyCell.vue +1 -0
  79. package/datatable/ColumnFilter.vue +17 -6
  80. package/datatable/DataTable.d.ts +5 -4
  81. package/datatable/DataTable.vue +34 -21
  82. package/datatable/TableBody.vue +5 -1
  83. package/datatable/TableFooter.vue +15 -1
  84. package/datatable/TableHeader.vue +15 -1
  85. package/datatable/datatable.cjs.js +175 -106
  86. package/datatable/datatable.cjs.min.js +1 -1
  87. package/datatable/datatable.esm.js +175 -106
  88. package/datatable/datatable.esm.min.js +1 -1
  89. package/datatable/datatable.js +175 -106
  90. package/datatable/datatable.min.js +1 -1
  91. package/dataview/DataView.d.ts +2 -2
  92. package/dataview/DataView.vue +8 -8
  93. package/dataview/dataview.cjs.js +12 -12
  94. package/dataview/dataview.cjs.min.js +1 -1
  95. package/dataview/dataview.esm.js +12 -12
  96. package/dataview/dataview.esm.min.js +1 -1
  97. package/dataview/dataview.js +12 -12
  98. package/dataview/dataview.min.js +1 -1
  99. package/dropdown/Dropdown.d.ts +10 -5
  100. package/inputnumber/InputNumber.vue +19 -3
  101. package/inputnumber/inputnumber.cjs.js +19 -3
  102. package/inputnumber/inputnumber.cjs.min.js +1 -1
  103. package/inputnumber/inputnumber.esm.js +19 -3
  104. package/inputnumber/inputnumber.esm.min.js +1 -1
  105. package/inputnumber/inputnumber.js +19 -3
  106. package/inputnumber/inputnumber.min.js +1 -1
  107. package/inputtext/InputText.vue +1 -1
  108. package/inputtext/inputtext.cjs.js +2 -2
  109. package/inputtext/inputtext.cjs.min.js +1 -1
  110. package/inputtext/inputtext.esm.js +3 -3
  111. package/inputtext/inputtext.esm.min.js +1 -1
  112. package/inputtext/inputtext.js +2 -2
  113. package/inputtext/inputtext.min.js +1 -1
  114. package/listbox/Listbox.d.ts +10 -5
  115. package/megamenu/MegaMenu.vue +10 -7
  116. package/megamenu/megamenu.cjs.js +10 -7
  117. package/megamenu/megamenu.cjs.min.js +1 -1
  118. package/megamenu/megamenu.esm.js +10 -7
  119. package/megamenu/megamenu.esm.min.js +1 -1
  120. package/megamenu/megamenu.js +10 -7
  121. package/megamenu/megamenu.min.js +1 -1
  122. package/menu/Menu.vue +6 -3
  123. package/menu/Menuitem.vue +5 -2
  124. package/menu/menu.cjs.js +11 -5
  125. package/menu/menu.cjs.min.js +1 -1
  126. package/menu/menu.esm.js +11 -5
  127. package/menu/menu.esm.min.js +1 -1
  128. package/menu/menu.js +11 -5
  129. package/menu/menu.min.js +1 -1
  130. package/menubar/MenubarSub.vue +7 -4
  131. package/menubar/menubar.cjs.js +7 -4
  132. package/menubar/menubar.cjs.min.js +1 -1
  133. package/menubar/menubar.esm.js +7 -4
  134. package/menubar/menubar.esm.min.js +1 -1
  135. package/menubar/menubar.js +7 -4
  136. package/menubar/menubar.min.js +1 -1
  137. package/message/Message.d.ts +1 -0
  138. package/message/Message.vue +6 -2
  139. package/message/message.cjs.js +6 -2
  140. package/message/message.cjs.min.js +1 -1
  141. package/message/message.esm.js +6 -2
  142. package/message/message.esm.min.js +1 -1
  143. package/message/message.js +6 -2
  144. package/message/message.min.js +1 -1
  145. package/multiselect/MultiSelect.d.ts +10 -5
  146. package/orderlist/OrderList.d.ts +2 -0
  147. package/orderlist/OrderList.vue +2 -0
  148. package/orderlist/orderlist.cjs.js +3 -1
  149. package/orderlist/orderlist.cjs.min.js +1 -1
  150. package/orderlist/orderlist.esm.js +3 -1
  151. package/orderlist/orderlist.esm.min.js +1 -1
  152. package/orderlist/orderlist.js +3 -1
  153. package/orderlist/orderlist.min.js +1 -1
  154. package/package.json +5 -1
  155. package/paginator/Paginator.vue +4 -4
  156. package/paginator/paginator.cjs.js +4 -4
  157. package/paginator/paginator.cjs.min.js +1 -1
  158. package/paginator/paginator.esm.js +4 -4
  159. package/paginator/paginator.esm.min.js +1 -1
  160. package/paginator/paginator.js +4 -4
  161. package/paginator/paginator.min.js +1 -1
  162. package/panel/Panel.d.ts +1 -0
  163. package/panel/Panel.vue +1 -1
  164. package/panelmenu/PanelMenu.vue +6 -3
  165. package/panelmenu/PanelMenuSub.vue +8 -5
  166. package/panelmenu/panelmenu.cjs.js +14 -8
  167. package/panelmenu/panelmenu.cjs.min.js +1 -1
  168. package/panelmenu/panelmenu.esm.js +14 -8
  169. package/panelmenu/panelmenu.esm.min.js +1 -1
  170. package/panelmenu/panelmenu.js +14 -8
  171. package/panelmenu/panelmenu.min.js +1 -1
  172. package/picklist/PickList.d.ts +8 -2
  173. package/picklist/PickList.vue +10 -4
  174. package/picklist/picklist.cjs.js +13 -7
  175. package/picklist/picklist.cjs.min.js +1 -1
  176. package/picklist/picklist.esm.js +13 -7
  177. package/picklist/picklist.esm.min.js +1 -1
  178. package/picklist/picklist.js +13 -7
  179. package/picklist/picklist.min.js +1 -1
  180. package/progressbar/ProgressBar.vue +13 -12
  181. package/progressbar/progressbar.cjs.js +13 -12
  182. package/progressbar/progressbar.cjs.min.js +1 -1
  183. package/progressbar/progressbar.esm.js +14 -13
  184. package/progressbar/progressbar.esm.min.js +1 -1
  185. package/progressbar/progressbar.js +13 -12
  186. package/progressbar/progressbar.min.js +1 -1
  187. package/rating/Rating.vue +1 -1
  188. package/rating/rating.cjs.js +1 -1
  189. package/rating/rating.cjs.min.js +1 -1
  190. package/rating/rating.esm.js +1 -1
  191. package/rating/rating.esm.min.js +1 -1
  192. package/rating/rating.js +1 -1
  193. package/rating/rating.min.js +1 -1
  194. package/resources/primevue.css +5 -0
  195. package/resources/primevue.min.css +1 -1
  196. package/resources/themes/arya-blue/theme.css +56 -15
  197. package/resources/themes/arya-green/theme.css +56 -15
  198. package/resources/themes/arya-orange/theme.css +56 -15
  199. package/resources/themes/arya-purple/theme.css +56 -15
  200. package/resources/themes/bootstrap4-dark-blue/theme.css +53 -19
  201. package/resources/themes/bootstrap4-dark-purple/theme.css +53 -19
  202. package/resources/themes/bootstrap4-light-blue/theme.css +53 -19
  203. package/resources/themes/bootstrap4-light-purple/theme.css +53 -19
  204. package/resources/themes/fluent-light/theme.css +56 -15
  205. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff +0 -0
  206. package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff2 +0 -0
  207. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff +0 -0
  208. package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff2 +0 -0
  209. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff +0 -0
  210. package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff2 +0 -0
  211. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff +0 -0
  212. package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff2 +0 -0
  213. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff +0 -0
  214. package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff2 +0 -0
  215. package/resources/themes/lara-dark-blue/theme.css +5414 -0
  216. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff +0 -0
  217. package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff2 +0 -0
  218. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff +0 -0
  219. package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff2 +0 -0
  220. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff +0 -0
  221. package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff2 +0 -0
  222. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff +0 -0
  223. package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff2 +0 -0
  224. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff +0 -0
  225. package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  226. package/resources/themes/lara-dark-indigo/theme.css +5414 -0
  227. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff +0 -0
  228. package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff2 +0 -0
  229. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff +0 -0
  230. package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff2 +0 -0
  231. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff +0 -0
  232. package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff2 +0 -0
  233. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff +0 -0
  234. package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff2 +0 -0
  235. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff +0 -0
  236. package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff2 +0 -0
  237. package/resources/themes/lara-dark-purple/theme.css +5414 -0
  238. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff +0 -0
  239. package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff2 +0 -0
  240. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff +0 -0
  241. package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff2 +0 -0
  242. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff +0 -0
  243. package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff2 +0 -0
  244. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff +0 -0
  245. package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff2 +0 -0
  246. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff +0 -0
  247. package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff2 +0 -0
  248. package/resources/themes/lara-dark-teal/theme.css +5414 -0
  249. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff +0 -0
  250. package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff2 +0 -0
  251. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff +0 -0
  252. package/resources/themes/lara-light-blue/fonts/Inter-Light.woff2 +0 -0
  253. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff +0 -0
  254. package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff2 +0 -0
  255. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff +0 -0
  256. package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff2 +0 -0
  257. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff +0 -0
  258. package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff2 +0 -0
  259. package/resources/themes/lara-light-blue/theme.css +5414 -0
  260. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff +0 -0
  261. package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff2 +0 -0
  262. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff +0 -0
  263. package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff2 +0 -0
  264. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff +0 -0
  265. package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff2 +0 -0
  266. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff +0 -0
  267. package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff2 +0 -0
  268. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff +0 -0
  269. package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff2 +0 -0
  270. package/resources/themes/lara-light-indigo/theme.css +5414 -0
  271. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff +0 -0
  272. package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff2 +0 -0
  273. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff +0 -0
  274. package/resources/themes/lara-light-purple/fonts/Inter-Light.woff2 +0 -0
  275. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff +0 -0
  276. package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff2 +0 -0
  277. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff +0 -0
  278. package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff2 +0 -0
  279. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff +0 -0
  280. package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff2 +0 -0
  281. package/resources/themes/lara-light-purple/theme.css +5414 -0
  282. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff +0 -0
  283. package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff2 +0 -0
  284. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff +0 -0
  285. package/resources/themes/lara-light-teal/fonts/Inter-Light.woff2 +0 -0
  286. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff +0 -0
  287. package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff2 +0 -0
  288. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff +0 -0
  289. package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff2 +0 -0
  290. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff +0 -0
  291. package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff2 +0 -0
  292. package/resources/themes/lara-light-teal/theme.css +5414 -0
  293. package/resources/themes/luna-amber/theme.css +53 -19
  294. package/resources/themes/luna-blue/theme.css +53 -19
  295. package/resources/themes/luna-green/theme.css +53 -19
  296. package/resources/themes/luna-pink/theme.css +53 -19
  297. package/resources/themes/md-dark-deeppurple/theme.css +244 -47
  298. package/resources/themes/md-dark-indigo/theme.css +244 -47
  299. package/resources/themes/md-light-deeppurple/theme.css +244 -47
  300. package/resources/themes/md-light-indigo/theme.css +244 -47
  301. package/resources/themes/mdc-dark-deeppurple/theme.css +244 -47
  302. package/resources/themes/mdc-dark-indigo/theme.css +244 -47
  303. package/resources/themes/mdc-light-deeppurple/theme.css +244 -47
  304. package/resources/themes/mdc-light-indigo/theme.css +244 -47
  305. package/resources/themes/nova/theme.css +53 -19
  306. package/resources/themes/nova-accent/theme.css +53 -19
  307. package/resources/themes/nova-alt/theme.css +53 -19
  308. package/resources/themes/nova-vue/theme.css +53 -19
  309. package/resources/themes/rhea/theme.css +53 -19
  310. package/resources/themes/saga-blue/theme.css +56 -15
  311. package/resources/themes/saga-green/theme.css +56 -15
  312. package/resources/themes/saga-orange/theme.css +56 -15
  313. package/resources/themes/saga-purple/theme.css +56 -15
  314. package/resources/themes/tailwind-light/theme.css +67 -18
  315. package/resources/themes/vela-blue/theme.css +56 -15
  316. package/resources/themes/vela-green/theme.css +56 -15
  317. package/resources/themes/vela-orange/theme.css +56 -15
  318. package/resources/themes/vela-purple/theme.css +56 -15
  319. package/selectbutton/SelectButton.d.ts +8 -3
  320. package/selectbutton/SelectButton.vue +8 -2
  321. package/selectbutton/selectbutton.cjs.js +14 -9
  322. package/selectbutton/selectbutton.cjs.min.js +1 -1
  323. package/selectbutton/selectbutton.esm.js +14 -9
  324. package/selectbutton/selectbutton.esm.min.js +1 -1
  325. package/selectbutton/selectbutton.js +14 -9
  326. package/selectbutton/selectbutton.min.js +1 -1
  327. package/steps/Steps.vue +5 -2
  328. package/steps/steps.cjs.js +5 -2
  329. package/steps/steps.cjs.min.js +1 -1
  330. package/steps/steps.esm.js +5 -2
  331. package/steps/steps.esm.min.js +1 -1
  332. package/steps/steps.js +5 -2
  333. package/steps/steps.min.js +1 -1
  334. package/tabmenu/TabMenu.vue +6 -3
  335. package/tabmenu/tabmenu.cjs.js +6 -3
  336. package/tabmenu/tabmenu.cjs.min.js +1 -1
  337. package/tabmenu/tabmenu.esm.js +6 -3
  338. package/tabmenu/tabmenu.esm.min.js +1 -1
  339. package/tabmenu/tabmenu.js +6 -3
  340. package/tabmenu/tabmenu.min.js +1 -1
  341. package/terminalservice/TerminalService.d.ts +9 -6
  342. package/tieredmenu/TieredMenuSub.vue +7 -4
  343. package/tieredmenu/tieredmenu.cjs.js +7 -4
  344. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  345. package/tieredmenu/tieredmenu.esm.js +7 -4
  346. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  347. package/tieredmenu/tieredmenu.js +7 -4
  348. package/tieredmenu/tieredmenu.min.js +1 -1
  349. package/tree/TreeNode.vue +4 -1
  350. package/tree/tree.cjs.js +4 -1
  351. package/tree/tree.cjs.min.js +1 -1
  352. package/tree/tree.esm.js +4 -1
  353. package/tree/tree.esm.min.js +1 -1
  354. package/tree/tree.js +4 -1
  355. package/tree/tree.min.js +1 -1
  356. package/treeselect/TreeSelect.vue +9 -0
  357. package/treeselect/treeselect.cjs.js +9 -0
  358. package/treeselect/treeselect.cjs.min.js +1 -1
  359. package/treeselect/treeselect.esm.js +9 -0
  360. package/treeselect/treeselect.esm.min.js +1 -1
  361. package/treeselect/treeselect.js +9 -0
  362. package/treeselect/treeselect.min.js +1 -1
  363. package/treetable/TreeTable.d.ts +2 -2
  364. package/treetable/TreeTable.vue +8 -8
  365. package/treetable/treetable.cjs.js +12 -12
  366. package/treetable/treetable.cjs.min.js +1 -1
  367. package/treetable/treetable.esm.js +12 -12
  368. package/treetable/treetable.esm.min.js +1 -1
  369. package/treetable/treetable.js +12 -12
  370. package/treetable/treetable.min.js +1 -1
  371. package/vetur-attributes.json +8 -0
  372. package/vetur-tags.json +3 -1
  373. package/web-types.json +143 -9
@@ -52,6 +52,7 @@ var script = {
52
52
  type: Number,
53
53
  default: 1
54
54
  },
55
+ responsiveOptions: Array,
55
56
  view: {
56
57
  type: String,
57
58
  default: 'date'
@@ -174,6 +175,7 @@ var script = {
174
175
  style: null
175
176
  },
176
177
  navigationState: null,
178
+ timePickerChange: false,
177
179
  scrollHandler: null,
178
180
  outsideClickListener: null,
179
181
  maskClickListener: null,
@@ -181,13 +183,22 @@ var script = {
181
183
  overlay: null,
182
184
  mask: null,
183
185
  timePickerTimer: null,
184
- isKeydown: false,
185
186
  created() {
186
187
  this.updateCurrentMetaData();
187
188
  },
188
189
  mounted() {
189
- if (this.inline && !this.$attrs.disabled) {
190
- this.initFocusableCell();
190
+ this.createResponsiveStyle();
191
+
192
+ if (this.inline) {
193
+ this.overlay && this.overlay.setAttribute(this.attributeSelector, '');
194
+
195
+ if (!this.$attrs.disabled) {
196
+ this.initFocusableCell();
197
+
198
+ if (this.numberOfMonths === 1) {
199
+ this.overlay.style.width = utils.DomHandler.getOuterWidth(this.$el) + 'px';
200
+ }
201
+ }
191
202
  }
192
203
  },
193
204
  updated() {
@@ -208,8 +219,9 @@ var script = {
208
219
  }
209
220
 
210
221
  if (this.mask) {
211
- this.destroyMask();
222
+ this.destroyMask();
212
223
  }
224
+ this.destroyResponsiveStyleElement();
213
225
 
214
226
  this.unbindOutsideClickListener();
215
227
  this.unbindResizeListener();
@@ -233,7 +245,8 @@ var script = {
233
245
  currentSecond: null,
234
246
  pm: null,
235
247
  focused: false,
236
- overlayVisible: false
248
+ overlayVisible: false,
249
+ currentView: this.view
237
250
  }
238
251
  },
239
252
  watch: {
@@ -247,6 +260,14 @@ var script = {
247
260
  if (this.overlay) {
248
261
  setTimeout(this.updateFocus, 0);
249
262
  }
263
+ },
264
+ numberOfMonths() {
265
+ this.destroyResponsiveStyleElement();
266
+ this.createResponsiveStyle();
267
+ },
268
+ responsiveOptions() {
269
+ this.destroyResponsiveStyleElement();
270
+ this.createResponsiveStyle();
250
271
  }
251
272
  },
252
273
  methods: {
@@ -288,6 +309,9 @@ var script = {
288
309
  isMonthSelected(month) {
289
310
  return this.isComparable() ? (this.modelValue.getMonth() === month && this.modelValue.getFullYear() === this.currentYear) : false;
290
311
  },
312
+ isYearSelected(year) {
313
+ return this.isComparable() ? (this.modelValue.getFullYear() === year) : false;
314
+ },
291
315
  isDateEquals(value, dateMeta) {
292
316
  if (value)
293
317
  return value.getDate() === dateMeta.day && value.getMonth() === dateMeta.month && value.getFullYear() === dateMeta.year;
@@ -412,12 +436,15 @@ var script = {
412
436
  return validMin && validMax && validDate && validDay;
413
437
  },
414
438
  onOverlayEnter(el) {
439
+ el.setAttribute(this.attributeSelector, '');
440
+
415
441
  if (this.autoZIndex) {
416
442
  if (this.touchUI)
417
443
  utils.ZIndexUtils.set('modal', el, this.baseZIndex || this.$primevue.config.zIndex.modal);
418
444
  else
419
445
  utils.ZIndexUtils.set('overlay', el, this.baseZIndex || this.$primevue.config.zIndex.overlay);
420
446
  }
447
+
421
448
  this.alignOverlay();
422
449
  this.$emit('show');
423
450
  },
@@ -432,6 +459,7 @@ var script = {
432
459
  }
433
460
  },
434
461
  onOverlayLeave() {
462
+ this.currentView = this.view;
435
463
  this.unbindOutsideClickListener();
436
464
  this.unbindScrollListener();
437
465
  this.unbindResizeListener();
@@ -462,9 +490,12 @@ var script = {
462
490
  return;
463
491
  }
464
492
 
465
- if (this.view === 'month') {
493
+ if (this.currentView === 'month') {
466
494
  this.decrementYear();
467
495
  }
496
+ else if (this.currentView === 'year') {
497
+ this.decrementDecade();
498
+ }
468
499
  else {
469
500
  if (this.currentMonth === 0) {
470
501
  this.currentMonth = 11;
@@ -484,9 +515,12 @@ var script = {
484
515
  return;
485
516
  }
486
517
 
487
- if (this.view === 'month') {
518
+ if (this.currentView === 'month') {
488
519
  this.incrementYear();
489
520
  }
521
+ else if (this.currentView === 'year') {
522
+ this.incrementDecade();
523
+ }
490
524
  else {
491
525
  if (this.currentMonth === 11) {
492
526
  this.currentMonth = 0;
@@ -502,9 +536,25 @@ var script = {
502
536
  decrementYear() {
503
537
  this.currentYear--;
504
538
  },
539
+ decrementDecade() {
540
+ this.currentYear = this.currentYear - 10;
541
+ },
505
542
  incrementYear() {
506
543
  this.currentYear++;
507
544
  },
545
+ incrementDecade() {
546
+ this.currentYear = this.currentYear + 10;
547
+ },
548
+ switchToMonthView(event) {
549
+ this.currentView = 'month';
550
+ setTimeout(this.updateFocus, 0);
551
+ event.preventDefault();
552
+ },
553
+ switchToYearView(event) {
554
+ this.currentView = 'year';
555
+ setTimeout(this.updateFocus, 0);
556
+ event.preventDefault();
557
+ },
508
558
  isEnabled() {
509
559
  return !this.$attrs.disabled && !this.$attrs.readonly;
510
560
  },
@@ -589,7 +639,14 @@ var script = {
589
639
  utils.DomHandler.relativePosition(this.overlay, this.$el);
590
640
  }
591
641
  else {
592
- this.overlay.style.minWidth = utils.DomHandler.getOuterWidth(this.$el) + 'px';
642
+ if (this.view === 'date') {
643
+ this.overlay.style.width = utils.DomHandler.getOuterWidth(this.overlay) + 'px';
644
+ this.overlay.style.minWidth = utils.DomHandler.getOuterWidth(this.$el) + 'px';
645
+ }
646
+ else {
647
+ this.overlay.style.width = utils.DomHandler.getOuterWidth(this.$el) + 'px';
648
+ }
649
+
593
650
  utils.DomHandler.absolutePosition(this.overlay, this.$el);
594
651
  }
595
652
  }
@@ -990,12 +1047,10 @@ var script = {
990
1047
  }
991
1048
  return hours;
992
1049
  },
993
- validateTime(hour, minute, second, pm) {
994
- let value = this.modelValue;
1050
+ validateTime(hour, minute, second, pm) {
1051
+ let value = this.isComparable() ? this.modelValue : this.viewDate;
995
1052
  const convertedHour = this.convertTo24Hour(hour, pm);
996
- if (!this.isComparable()) {
997
- return true;
998
- }
1053
+
999
1054
  if (this.isRangeSelection()) {
1000
1055
  value = this.modelValue[1] || this.modelValue[0];
1001
1056
  }
@@ -1041,7 +1096,6 @@ var script = {
1041
1096
  let newHour = this.currentHour + this.stepHour;
1042
1097
  let newPM = this.pm;
1043
1098
 
1044
-
1045
1099
  if (this.hourFormat == '24')
1046
1100
  newHour = (newHour >= 24) ? (newHour - 24) : newHour;
1047
1101
  else if (this.hourFormat == '12') {
@@ -1052,7 +1106,6 @@ var script = {
1052
1106
  newHour = (newHour >= 13) ? (newHour - 12) : newHour;
1053
1107
  }
1054
1108
 
1055
-
1056
1109
  if (this.validateTime(newHour, this.currentMinute, this.currentSecond, newPM)) {
1057
1110
  this.currentHour = newHour;
1058
1111
  this.pm = newPM;
@@ -1112,7 +1165,8 @@ var script = {
1112
1165
  event.preventDefault();
1113
1166
  },
1114
1167
  updateModelTime() {
1115
- let value = this.isComparable() ? this.modelValue : new Date();
1168
+ this.timePickerChange = true;
1169
+ let value = this.isComparable() ? this.modelValue : this.viewDate;
1116
1170
 
1117
1171
  if (this.isRangeSelection()) {
1118
1172
  value = this.modelValue[1] || this.modelValue[0];
@@ -1148,6 +1202,7 @@ var script = {
1148
1202
 
1149
1203
  this.updateModel(value);
1150
1204
  this.$emit('date-select', value);
1205
+ setTimeout(() => this.timePickerChange = false, 0);
1151
1206
  },
1152
1207
  toggleAMPM(event) {
1153
1208
  this.pm = !this.pm;
@@ -1160,7 +1215,28 @@ var script = {
1160
1215
  }
1161
1216
  },
1162
1217
  onMonthSelect(event, index) {
1163
- this.onDateSelect(event, {year: this.currentYear, month: index, day: 1, selectable: true});
1218
+ if (this.view === 'month') {
1219
+ this.onDateSelect(event, {year: this.currentYear, month: index, day: 1, selectable: true});
1220
+ }
1221
+ else {
1222
+ this.currentMonth = index;
1223
+ this.currentView = 'date';
1224
+ this.$emit('month-change', {month: this.currentMonth + 1, year: this.currentYear});
1225
+ }
1226
+
1227
+ setTimeout(this.updateFocus, 0);
1228
+ },
1229
+ onYearSelect(event, year) {
1230
+ if (this.view === 'year') {
1231
+ this.onDateSelect(event, {year: year, month: 0, day: 1, selectable: true});
1232
+ }
1233
+ else {
1234
+ this.currentYear = year;
1235
+ this.currentView = 'month';
1236
+ this.$emit('year-change', {month: this.currentMonth + 1, year: this.currentYear});
1237
+ }
1238
+
1239
+ setTimeout(this.updateFocus, 0);
1164
1240
  },
1165
1241
  enableModality() {
1166
1242
  if (!this.mask) {
@@ -1215,6 +1291,10 @@ var script = {
1215
1291
  }
1216
1292
  },
1217
1293
  isValidSelection(value) {
1294
+ if (value == null) {
1295
+ return true;
1296
+ }
1297
+
1218
1298
  let isValid = true;
1219
1299
  if (this.isSingleSelection()) {
1220
1300
  if (!this.isSelectable(value.getDate(), value.getMonth(), value.getFullYear(), false)) {
@@ -1383,7 +1463,7 @@ var script = {
1383
1463
  iValue++;
1384
1464
  };
1385
1465
 
1386
- if (this.view === 'month') {
1466
+ if (this.currentView === 'month') {
1387
1467
  day = 1;
1388
1468
  }
1389
1469
 
@@ -1578,7 +1658,9 @@ var script = {
1578
1658
  }
1579
1659
 
1580
1660
  //enter
1581
- case 13: {
1661
+ //space
1662
+ case 13:
1663
+ case 32: {
1582
1664
  this.onDateSelect(event, date);
1583
1665
  event.preventDefault();
1584
1666
  break;
@@ -1608,7 +1690,7 @@ var script = {
1608
1690
  }
1609
1691
  else {
1610
1692
  let prevMonthContainer = this.overlay.children[groupIndex - 1];
1611
- let cells = utils.DomHandler.find(prevMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled)');
1693
+ let cells = utils.DomHandler.find(prevMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
1612
1694
  let focusCell = cells[cells.length - 1];
1613
1695
  focusCell.tabIndex = '0';
1614
1696
  focusCell.focus();
@@ -1621,7 +1703,7 @@ var script = {
1621
1703
  }
1622
1704
  else {
1623
1705
  let nextMonthContainer = this.overlay.children[groupIndex + 1];
1624
- let focusCell = utils.DomHandler.findSingle(nextMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled)');
1706
+ let focusCell = utils.DomHandler.findSingle(nextMonthContainer, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
1625
1707
  focusCell.tabIndex = '0';
1626
1708
  focusCell.focus();
1627
1709
  }
@@ -1654,6 +1736,10 @@ var script = {
1654
1736
  prevCell.tabIndex = '0';
1655
1737
  prevCell.focus();
1656
1738
  }
1739
+ else {
1740
+ this.navigationState = {backward: true};
1741
+ this.navBackward(event);
1742
+ }
1657
1743
  event.preventDefault();
1658
1744
  break;
1659
1745
  }
@@ -1666,12 +1752,18 @@ var script = {
1666
1752
  nextCell.tabIndex = '0';
1667
1753
  nextCell.focus();
1668
1754
  }
1755
+ else {
1756
+ this.navigationState = {backward: false};
1757
+ this.navForward(event);
1758
+ }
1669
1759
  event.preventDefault();
1670
1760
  break;
1671
1761
  }
1672
1762
 
1673
1763
  //enter
1674
- case 13: {
1764
+ //space
1765
+ case 13:
1766
+ case 32: {
1675
1767
  this.onMonthSelect(event, index);
1676
1768
  event.preventDefault();
1677
1769
  break;
@@ -1691,8 +1783,83 @@ var script = {
1691
1783
  }
1692
1784
  }
1693
1785
  },
1786
+ onYearCellKeydown(event, index) {
1787
+ const cell = event.currentTarget;
1788
+
1789
+ switch (event.which) {
1790
+ //arrows
1791
+ case 38:
1792
+ case 40: {
1793
+ cell.tabIndex = '-1';
1794
+ var cells = cell.parentElement.children;
1795
+ var cellIndex = utils.DomHandler.index(cell);
1796
+ let nextCell = cells[event.which === 40 ? cellIndex + 2 : cellIndex - 2];
1797
+ if (nextCell) {
1798
+ nextCell.tabIndex = '0';
1799
+ nextCell.focus();
1800
+ }
1801
+ event.preventDefault();
1802
+ break;
1803
+ }
1804
+
1805
+ //left arrow
1806
+ case 37: {
1807
+ cell.tabIndex = '-1';
1808
+ let prevCell = cell.previousElementSibling;
1809
+ if (prevCell) {
1810
+ prevCell.tabIndex = '0';
1811
+ prevCell.focus();
1812
+ }
1813
+ else {
1814
+ this.navigationState = {backward: true};
1815
+ this.navBackward(event);
1816
+ }
1817
+ event.preventDefault();
1818
+ break;
1819
+ }
1820
+
1821
+ //right arrow
1822
+ case 39: {
1823
+ cell.tabIndex = '-1';
1824
+ let nextCell = cell.nextElementSibling;
1825
+ if (nextCell) {
1826
+ nextCell.tabIndex = '0';
1827
+ nextCell.focus();
1828
+ }
1829
+ else {
1830
+ this.navigationState = {backward: false};
1831
+ this.navForward(event);
1832
+ }
1833
+ event.preventDefault();
1834
+ break;
1835
+ }
1836
+
1837
+ //enter
1838
+ //space
1839
+ case 13:
1840
+ case 32: {
1841
+ this.onYearSelect(event, index);
1842
+ event.preventDefault();
1843
+ break;
1844
+ }
1845
+
1846
+ //escape
1847
+ case 27: {
1848
+ this.overlayVisible = false;
1849
+ event.preventDefault();
1850
+ break;
1851
+ }
1852
+
1853
+ //tab
1854
+ case 9: {
1855
+ this.trapFocus(event);
1856
+ break;
1857
+ }
1858
+ }
1859
+ },
1694
1860
  updateFocus() {
1695
1861
  let cell;
1862
+
1696
1863
  if (this.navigationState) {
1697
1864
  if (this.navigationState.button) {
1698
1865
  this.initFocusableCell();
@@ -1704,11 +1871,32 @@ var script = {
1704
1871
  }
1705
1872
  else {
1706
1873
  if (this.navigationState.backward) {
1707
- let cells = utils.DomHandler.find(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled)');
1708
- cell = cells[cells.length - 1];
1874
+ let cells;
1875
+
1876
+ if (this.currentView === 'month') {
1877
+ cells = utils.DomHandler.find(this.overlay, '.p-monthpicker .p-monthpicker-month:not(.p-disabled)');
1878
+ }
1879
+ else if (this.currentView === 'year') {
1880
+ cells = utils.DomHandler.find(this.overlay, '.p-yearpicker .p-yearpicker-year:not(.p-disabled)');
1881
+ }
1882
+ else {
1883
+ cells = utils.DomHandler.find(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
1884
+ }
1885
+
1886
+ if (cells && cells.length > 0) {
1887
+ cell = cells[cells.length - 1];
1888
+ }
1709
1889
  }
1710
1890
  else {
1711
- cell = utils.DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled)');
1891
+ if (this.currentView === 'month') {
1892
+ cell = utils.DomHandler.findSingle(this.overlay, '.p-monthpicker .p-monthpicker-month:not(.p-disabled)');
1893
+ }
1894
+ else if (this.currentView === 'year') {
1895
+ cell = utils.DomHandler.findSingle(this.overlay, '.p-yearpicker .p-yearpicker-year:not(.p-disabled)');
1896
+ }
1897
+ else {
1898
+ cell = utils.DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)');
1899
+ }
1712
1900
  }
1713
1901
 
1714
1902
  if (cell) {
@@ -1726,25 +1914,35 @@ var script = {
1726
1914
  initFocusableCell() {
1727
1915
  let cell;
1728
1916
 
1729
- if (this.view === 'month') {
1917
+ if (this.currentView === 'month') {
1730
1918
  let cells = utils.DomHandler.find(this.overlay, '.p-monthpicker .p-monthpicker-month');
1731
1919
  let selectedCell= utils.DomHandler.findSingle(this.overlay, '.p-monthpicker .p-monthpicker-month.p-highlight');
1732
1920
  cells.forEach(cell => cell.tabIndex = -1);
1733
1921
  cell = selectedCell || cells[0];
1734
1922
  }
1923
+ else if (this.currentView === 'year') {
1924
+ let cells = utils.DomHandler.find(this.overlay, '.p-yearpicker .p-yearpicker-year');
1925
+ let selectedCell= utils.DomHandler.findSingle(this.overlay, '.p-yearpicker .p-yearpicker-year.p-highlight');
1926
+ cells.forEach(cell => cell.tabIndex = -1);
1927
+ cell = selectedCell || cells[0];
1928
+ }
1735
1929
  else {
1736
1930
  cell = utils.DomHandler.findSingle(this.overlay, 'span.p-highlight');
1737
1931
  if (!cell) {
1738
- let todayCell = utils.DomHandler.findSingle(this.overlay, 'td.p-datepicker-today span:not(.p-disabled)');
1932
+ let todayCell = utils.DomHandler.findSingle(this.overlay, 'td.p-datepicker-today span:not(.p-disabled):not(.p-ink');
1739
1933
  if (todayCell)
1740
1934
  cell = todayCell;
1741
1935
  else
1742
- cell = utils.DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled)');
1936
+ cell = utils.DomHandler.findSingle(this.overlay, '.p-datepicker-calendar td span:not(.p-disabled):not(.p-ink');
1743
1937
  }
1744
1938
  }
1745
1939
 
1746
1940
  if (cell) {
1747
1941
  cell.tabIndex = '0';
1942
+
1943
+ if ((!this.navigationState || !this.navigationState.button) && !this.timePickerChange) {
1944
+ cell.focus();
1945
+ }
1748
1946
  }
1749
1947
  },
1750
1948
  trapFocus(event) {
@@ -1788,12 +1986,6 @@ var script = {
1788
1986
  }
1789
1987
  },
1790
1988
  onInput(event) {
1791
- // IE 11 Workaround for input placeholder : https://github.com/primefaces/primeng/issues/2026
1792
- if (!this.isKeydown) {
1793
- return;
1794
- }
1795
- this.isKeydown = false;
1796
-
1797
1989
  try {
1798
1990
  this.selectionStart = this.$refs.input.$el.selectionStart;
1799
1991
  this.selectionEnd = this.$refs.input.$el.selectionEnd;
@@ -1804,9 +1996,9 @@ var script = {
1804
1996
  }
1805
1997
  }
1806
1998
  catch(err) {
1807
- // invalid date
1808
- let value = this.keepInvalid ? event.target.value : null;
1809
- this.updateModel(value);
1999
+ if (this.keepInvalid) {
2000
+ this.updateModel(event.target.value);
2001
+ }
1810
2002
  }
1811
2003
  },
1812
2004
  onFocus() {
@@ -1818,8 +2010,7 @@ var script = {
1818
2010
  onBlur() {
1819
2011
  this.focused = false;
1820
2012
  },
1821
- onKeyDown(event) {
1822
- this.isKeydown = true;
2013
+ onKeyDown() {
1823
2014
  if (event.keyCode === 40 && this.overlay) {
1824
2015
  this.trapFocus(event);
1825
2016
  }
@@ -1852,23 +2043,81 @@ var script = {
1852
2043
  target: this.$el
1853
2044
  });
1854
2045
  }
2046
+ },
2047
+ onOverlayMouseUp(event) {
2048
+ this.onOverlayClick(event);
2049
+ },
2050
+ createResponsiveStyle() {
2051
+ if (this.numberOfMonths > 1 && this.responsiveOptions) {
2052
+ if (!this.responsiveStyleElement) {
2053
+ this.responsiveStyleElement = document.createElement('style');
2054
+ this.responsiveStyleElement.type = 'text/css';
2055
+ document.body.appendChild(this.responsiveStyleElement);
2056
+ }
2057
+
2058
+ let innerHTML = '';
2059
+ if (this.responsiveOptions) {
2060
+ let responsiveOptions = [...this.responsiveOptions]
2061
+ .filter(o => !!(o.breakpoint && o.numMonths))
2062
+ .sort((o1, o2) => -1 * o1.breakpoint.localeCompare(o2.breakpoint, undefined, { numeric: true }));
2063
+
2064
+ for (let i = 0; i < responsiveOptions.length; i++) {
2065
+ let { breakpoint, numMonths } = responsiveOptions[i];
2066
+ let styles = `
2067
+ .p-datepicker[${this.attributeSelector}] .p-datepicker-group:nth-child(${numMonths}) .p-datepicker-next {
2068
+ display: inline-flex !important;
2069
+ }
2070
+ `;
2071
+
2072
+ for (let j = numMonths; j < this.numberOfMonths; j++) {
2073
+ styles += `
2074
+ .p-datepicker[${this.attributeSelector}] .p-datepicker-group:nth-child(${j + 1}) {
2075
+ display: none !important;
2076
+ }
2077
+ `;
2078
+ }
2079
+
2080
+ innerHTML += `
2081
+ @media screen and (max-width: ${breakpoint}) {
2082
+ ${styles}
2083
+ }
2084
+ `;
2085
+ }
2086
+ }
2087
+
2088
+ this.responsiveStyleElement.innerHTML = innerHTML;
2089
+ }
2090
+ },
2091
+ destroyResponsiveStyleElement() {
2092
+ if (this.responsiveStyleElement) {
2093
+ this.responsiveStyleElement.remove();
2094
+ this.responsiveStyleElement = null;
2095
+ }
1855
2096
  }
1856
2097
  },
1857
2098
  computed: {
1858
2099
  viewDate() {
1859
2100
  let propValue = this.modelValue;
1860
- if (typeof propValue === 'string') {
1861
- return new Date();
1862
- }
1863
-
1864
2101
  if (propValue && Array.isArray(propValue)) {
1865
2102
  propValue = propValue[0];
1866
2103
  }
1867
2104
 
1868
- return propValue || new Date();
2105
+ if (propValue && typeof propValue !== 'string') {
2106
+ return propValue;
2107
+ }
2108
+ else {
2109
+ let today = new Date();
2110
+ if (this.maxDate && this.maxDate < today) {
2111
+ return this.maxDate;
2112
+ }
2113
+ if (this.minDate && this.minDate > today) {
2114
+ return this.minDate;
2115
+ }
2116
+ return today;
2117
+ }
1869
2118
  },
1870
2119
  inputFieldValue() {
1871
- return this.keepInvalid ? this.modelValue : this.formatValue(this.modelValue);
2120
+ return this.formatValue(this.modelValue);
1872
2121
  },
1873
2122
  containerClass() {
1874
2123
  return [
@@ -1887,7 +2136,8 @@ var script = {
1887
2136
  'p-disabled': this.$attrs.disabled,
1888
2137
  'p-datepicker-timeonly': this.timeOnly,
1889
2138
  'p-datepicker-multiple-month': this.numberOfMonths > 1,
1890
- 'p-datepicker-monthpicker': (this.view === 'month'),
2139
+ 'p-datepicker-monthpicker': (this.currentView === 'month'),
2140
+ 'p-datepicker-yearpicker': (this.currentView === 'year'),
1891
2141
  'p-datepicker-touch-ui': this.touchUI,
1892
2142
  'p-input-filled': this.$primevue.config.inputStyle === 'filled',
1893
2143
  'p-ripple-disabled': this.$primevue.config.ripple === false
@@ -2015,6 +2265,15 @@ var script = {
2015
2265
 
2016
2266
  return monthPickerValues;
2017
2267
  },
2268
+ yearPickerValues() {
2269
+ let yearPickerValues = [];
2270
+ let base = this.currentYear - (this.currentYear % 10);
2271
+ for (let i = 0; i < 10; i++) {
2272
+ yearPickerValues.push(base + i);
2273
+ }
2274
+
2275
+ return yearPickerValues;
2276
+ },
2018
2277
  formattedCurrentHour() {
2019
2278
  return this.currentHour < 10 ? '0' + this.currentHour : this.currentHour;
2020
2279
  },
@@ -2041,6 +2300,12 @@ var script = {
2041
2300
  },
2042
2301
  appendTarget() {
2043
2302
  return this.appendDisabled ? null : this.appendTo;
2303
+ },
2304
+ attributeSelector() {
2305
+ return utils.UniqueComponentId();
2306
+ },
2307
+ switchViewButtonDisabled() {
2308
+ return this.numberOfMonths > 1 || this.$attrs.disabled;
2044
2309
  }
2045
2310
  },
2046
2311
  components: {
@@ -2057,37 +2322,37 @@ const _hoisted_2 = { class: "p-datepicker-header" };
2057
2322
  const _hoisted_3 = /*#__PURE__*/vue.createVNode("span", { class: "p-datepicker-prev-icon pi pi-chevron-left" }, null, -1);
2058
2323
  const _hoisted_4 = { class: "p-datepicker-title" };
2059
2324
  const _hoisted_5 = {
2060
- key: 0,
2061
- class: "p-datepicker-month"
2062
- };
2063
- const _hoisted_6 = {
2064
2325
  key: 2,
2065
- class: "p-datepicker-year"
2326
+ class: "p-datepicker-decade"
2066
2327
  };
2067
- const _hoisted_7 = /*#__PURE__*/vue.createVNode("span", { class: "p-datepicker-next-icon pi pi-chevron-right" }, null, -1);
2068
- const _hoisted_8 = {
2328
+ const _hoisted_6 = /*#__PURE__*/vue.createVNode("span", { class: "p-datepicker-next-icon pi pi-chevron-right" }, null, -1);
2329
+ const _hoisted_7 = {
2069
2330
  key: 0,
2070
2331
  class: "p-datepicker-calendar-container"
2071
2332
  };
2072
- const _hoisted_9 = { class: "p-datepicker-calendar" };
2073
- const _hoisted_10 = {
2333
+ const _hoisted_8 = { class: "p-datepicker-calendar" };
2334
+ const _hoisted_9 = {
2074
2335
  key: 0,
2075
2336
  scope: "col",
2076
2337
  class: "p-datepicker-weekheader p-disabled"
2077
2338
  };
2078
- const _hoisted_11 = {
2339
+ const _hoisted_10 = {
2079
2340
  key: 0,
2080
2341
  class: "p-datepicker-weeknumber"
2081
2342
  };
2082
- const _hoisted_12 = { class: "p-disabled" };
2083
- const _hoisted_13 = {
2343
+ const _hoisted_11 = { class: "p-disabled" };
2344
+ const _hoisted_12 = {
2084
2345
  key: 0,
2085
2346
  style: {"visibility":"hidden"}
2086
2347
  };
2087
- const _hoisted_14 = {
2348
+ const _hoisted_13 = {
2088
2349
  key: 0,
2089
2350
  class: "p-monthpicker"
2090
2351
  };
2352
+ const _hoisted_14 = {
2353
+ key: 1,
2354
+ class: "p-yearpicker"
2355
+ };
2091
2356
  const _hoisted_15 = {
2092
2357
  key: 1,
2093
2358
  class: "p-timepicker"
@@ -2169,7 +2434,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2169
2434
  }, [
2170
2435
  vue.createVNode(vue.Transition, {
2171
2436
  name: "p-connected-overlay",
2172
- onEnter: _cache[48] || (_cache[48] = $event => ($options.onOverlayEnter($event))),
2437
+ onEnter: _cache[61] || (_cache[61] = $event => ($options.onOverlayEnter($event))),
2173
2438
  onAfterEnter: $options.onOverlayEnterComplete,
2174
2439
  onAfterLeave: $options.onOverlayAfterLeave,
2175
2440
  onLeave: $options.onOverlayLeave
@@ -2181,7 +2446,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2181
2446
  ref: $options.overlayRef,
2182
2447
  class: $options.panelStyleClass,
2183
2448
  role: $props.inline ? null : 'dialog',
2184
- onClick: _cache[47] || (_cache[47] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
2449
+ onClick: _cache[59] || (_cache[59] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args))),
2450
+ onMouseup: _cache[60] || (_cache[60] = (...args) => ($options.onOverlayMouseUp && $options.onOverlayMouseUp(...args)))
2185
2451
  }, [
2186
2452
  (!$props.timeOnly)
2187
2453
  ? (vue.openBlock(), vue.createBlock(vue.Fragment, { key: 0 }, [
@@ -2193,80 +2459,65 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2193
2459
  }, [
2194
2460
  vue.createVNode("div", _hoisted_2, [
2195
2461
  vue.renderSlot(_ctx.$slots, "header"),
2196
- (groupIndex === 0)
2197
- ? vue.withDirectives((vue.openBlock(), vue.createBlock("button", {
2198
- key: 0,
2199
- class: "p-datepicker-prev p-link",
2200
- onClick: _cache[1] || (_cache[1] = (...args) => ($options.onPrevButtonClick && $options.onPrevButtonClick(...args))),
2201
- type: "button",
2202
- onKeydown: _cache[2] || (_cache[2] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2203
- disabled: _ctx.$attrs.disabled
2204
- }, [
2205
- _hoisted_3
2206
- ], 40, ["disabled"])), [
2207
- [_directive_ripple]
2208
- ])
2209
- : vue.createCommentVNode("", true),
2462
+ vue.withDirectives(vue.createVNode("button", {
2463
+ class: "p-datepicker-prev p-link",
2464
+ onClick: _cache[1] || (_cache[1] = (...args) => ($options.onPrevButtonClick && $options.onPrevButtonClick(...args))),
2465
+ type: "button",
2466
+ onKeydown: _cache[2] || (_cache[2] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2467
+ disabled: _ctx.$attrs.disabled
2468
+ }, [
2469
+ _hoisted_3
2470
+ ], 40, ["disabled"]), [
2471
+ [vue.vShow, groupIndex === 0],
2472
+ [_directive_ripple]
2473
+ ]),
2210
2474
  vue.createVNode("div", _hoisted_4, [
2211
- (!$props.monthNavigator && ($props.view !== 'month'))
2212
- ? (vue.openBlock(), vue.createBlock("span", _hoisted_5, vue.toDisplayString($options.getMonthName(month.month)), 1))
2475
+ ($data.currentView === 'date')
2476
+ ? (vue.openBlock(), vue.createBlock("button", {
2477
+ key: 0,
2478
+ type: "button",
2479
+ onClick: _cache[3] || (_cache[3] = (...args) => ($options.switchToMonthView && $options.switchToMonthView(...args))),
2480
+ class: "p-datepicker-month p-link",
2481
+ disabled: $options.switchViewButtonDisabled
2482
+ }, vue.toDisplayString($options.getMonthName(month.month)), 9, ["disabled"]))
2213
2483
  : vue.createCommentVNode("", true),
2214
- ($props.monthNavigator && ($props.view !== 'month') && $props.numberOfMonths === 1)
2215
- ? (vue.openBlock(), vue.createBlock("select", {
2484
+ ($data.currentView !== 'year')
2485
+ ? (vue.openBlock(), vue.createBlock("button", {
2216
2486
  key: 1,
2217
- class: "p-datepicker-month",
2218
- onChange: _cache[3] || (_cache[3] = $event => ($options.onMonthDropdownChange($event.target.value)))
2219
- }, [
2220
- (vue.openBlock(true), vue.createBlock(vue.Fragment, null, vue.renderList($options.monthNames, (monthName, index) => {
2221
- return (vue.openBlock(), vue.createBlock("option", {
2222
- value: index,
2223
- key: monthName,
2224
- selected: index === month.month
2225
- }, vue.toDisplayString(monthName), 9, ["value", "selected"]))
2226
- }), 128))
2227
- ], 32))
2228
- : vue.createCommentVNode("", true),
2229
- (!$props.yearNavigator)
2230
- ? (vue.openBlock(), vue.createBlock("span", _hoisted_6, vue.toDisplayString($props.view === 'month' ? $data.currentYear : month.year), 1))
2487
+ type: "button",
2488
+ onClick: _cache[4] || (_cache[4] = (...args) => ($options.switchToYearView && $options.switchToYearView(...args))),
2489
+ class: "p-datepicker-year p-link",
2490
+ disabled: $options.switchViewButtonDisabled
2491
+ }, vue.toDisplayString($data.currentYear), 9, ["disabled"]))
2231
2492
  : vue.createCommentVNode("", true),
2232
- ($props.yearNavigator && $props.numberOfMonths === 1)
2233
- ? (vue.openBlock(), vue.createBlock("select", {
2234
- key: 3,
2235
- class: "p-datepicker-year",
2236
- onChange: _cache[4] || (_cache[4] = $event => ($options.onYearDropdownChange($event.target.value)))
2237
- }, [
2238
- (vue.openBlock(true), vue.createBlock(vue.Fragment, null, vue.renderList($options.yearOptions, (year) => {
2239
- return (vue.openBlock(), vue.createBlock("option", {
2240
- value: year,
2241
- key: year,
2242
- selected: year === $data.currentYear
2243
- }, vue.toDisplayString(year), 9, ["value", "selected"]))
2244
- }), 128))
2245
- ], 32))
2493
+ ($data.currentView === 'year')
2494
+ ? (vue.openBlock(), vue.createBlock("span", _hoisted_5, [
2495
+ vue.renderSlot(_ctx.$slots, "decade", { years: $options.yearPickerValues }, () => [
2496
+ vue.createTextVNode(vue.toDisplayString($options.yearPickerValues[0]) + " - " + vue.toDisplayString($options.yearPickerValues[$options.yearPickerValues.length - 1]), 1)
2497
+ ])
2498
+ ]))
2246
2499
  : vue.createCommentVNode("", true)
2247
2500
  ]),
2248
- ($props.numberOfMonths === 1 ? true : (groupIndex === $props.numberOfMonths - 1))
2249
- ? vue.withDirectives((vue.openBlock(), vue.createBlock("button", {
2250
- key: 1,
2251
- class: "p-datepicker-next p-link",
2252
- onClick: _cache[5] || (_cache[5] = (...args) => ($options.onNextButtonClick && $options.onNextButtonClick(...args))),
2253
- type: "button",
2254
- onKeydown: _cache[6] || (_cache[6] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2255
- disabled: _ctx.$attrs.disabled
2256
- }, [
2257
- _hoisted_7
2258
- ], 40, ["disabled"])), [
2259
- [_directive_ripple]
2260
- ])
2261
- : vue.createCommentVNode("", true)
2501
+ vue.withDirectives(vue.createVNode("button", {
2502
+ class: "p-datepicker-next p-link",
2503
+ onClick: _cache[5] || (_cache[5] = (...args) => ($options.onNextButtonClick && $options.onNextButtonClick(...args))),
2504
+ type: "button",
2505
+ onKeydown: _cache[6] || (_cache[6] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2506
+ disabled: _ctx.$attrs.disabled
2507
+ }, [
2508
+ _hoisted_6
2509
+ ], 40, ["disabled"]), [
2510
+ [vue.vShow, $props.numberOfMonths === 1 ? true : (groupIndex === $props.numberOfMonths - 1)],
2511
+ [_directive_ripple]
2512
+ ])
2262
2513
  ]),
2263
- ($props.view ==='date')
2264
- ? (vue.openBlock(), vue.createBlock("div", _hoisted_8, [
2265
- vue.createVNode("table", _hoisted_9, [
2514
+ ($data.currentView ==='date')
2515
+ ? (vue.openBlock(), vue.createBlock("div", _hoisted_7, [
2516
+ vue.createVNode("table", _hoisted_8, [
2266
2517
  vue.createVNode("thead", null, [
2267
2518
  vue.createVNode("tr", null, [
2268
2519
  ($props.showWeek)
2269
- ? (vue.openBlock(), vue.createBlock("th", _hoisted_10, [
2520
+ ? (vue.openBlock(), vue.createBlock("th", _hoisted_9, [
2270
2521
  vue.createVNode("span", null, vue.toDisplayString($options.weekHeaderLabel), 1)
2271
2522
  ]))
2272
2523
  : vue.createCommentVNode("", true),
@@ -2286,10 +2537,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2286
2537
  key: week[0].day + '' + week[0].month
2287
2538
  }, [
2288
2539
  ($props.showWeek)
2289
- ? (vue.openBlock(), vue.createBlock("td", _hoisted_11, [
2290
- vue.createVNode("span", _hoisted_12, [
2540
+ ? (vue.openBlock(), vue.createBlock("td", _hoisted_10, [
2541
+ vue.createVNode("span", _hoisted_11, [
2291
2542
  (month.weekNumbers[i] < 10)
2292
- ? (vue.openBlock(), vue.createBlock("span", _hoisted_13, "0"))
2543
+ ? (vue.openBlock(), vue.createBlock("span", _hoisted_12, "0"))
2293
2544
  : vue.createCommentVNode("", true),
2294
2545
  vue.createTextVNode(" " + vue.toDisplayString(month.weekNumbers[i]), 1)
2295
2546
  ])
@@ -2323,8 +2574,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2323
2574
  ]))
2324
2575
  }), 128))
2325
2576
  ]),
2326
- ($props.view === 'month')
2327
- ? (vue.openBlock(), vue.createBlock("div", _hoisted_14, [
2577
+ ($data.currentView === 'month')
2578
+ ? (vue.openBlock(), vue.createBlock("div", _hoisted_13, [
2328
2579
  (vue.openBlock(true), vue.createBlock(vue.Fragment, null, vue.renderList($options.monthPickerValues, (m, i) => {
2329
2580
  return vue.withDirectives((vue.openBlock(), vue.createBlock("span", {
2330
2581
  key: m,
@@ -2338,6 +2589,22 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2338
2589
  ])
2339
2590
  }), 128))
2340
2591
  ]))
2592
+ : vue.createCommentVNode("", true),
2593
+ ($data.currentView === 'year')
2594
+ ? (vue.openBlock(), vue.createBlock("div", _hoisted_14, [
2595
+ (vue.openBlock(true), vue.createBlock(vue.Fragment, null, vue.renderList($options.yearPickerValues, (y) => {
2596
+ return vue.withDirectives((vue.openBlock(), vue.createBlock("span", {
2597
+ key: y,
2598
+ onClick: $event => ($options.onYearSelect($event, y)),
2599
+ onKeydown: $event => ($options.onYearCellKeydown($event,y)),
2600
+ class: ["p-yearpicker-year", {'p-highlight': $options.isYearSelected(y)}]
2601
+ }, [
2602
+ vue.createTextVNode(vue.toDisplayString(y), 1)
2603
+ ], 42, ["onClick", "onKeydown"])), [
2604
+ [_directive_ripple]
2605
+ ])
2606
+ }), 128))
2607
+ ]))
2341
2608
  : vue.createCommentVNode("", true)
2342
2609
  ], 64))
2343
2610
  : vue.createCommentVNode("", true),
@@ -2350,10 +2617,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2350
2617
  onMouseup: _cache[8] || (_cache[8] = $event => ($options.onTimePickerElementMouseUp($event))),
2351
2618
  onKeydown: [
2352
2619
  _cache[9] || (_cache[9] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2353
- _cache[11] || (_cache[11] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 0, 1)), ["enter"]))
2620
+ _cache[11] || (_cache[11] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 0, 1)), ["enter"])),
2621
+ _cache[12] || (_cache[12] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 0, 1)), ["space"]))
2354
2622
  ],
2355
2623
  onMouseleave: _cache[10] || (_cache[10] = $event => ($options.onTimePickerElementMouseLeave())),
2356
- onKeyup: _cache[12] || (_cache[12] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2624
+ onKeyup: [
2625
+ _cache[13] || (_cache[13] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2626
+ _cache[14] || (_cache[14] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
2627
+ ],
2357
2628
  type: "button"
2358
2629
  }, [
2359
2630
  _hoisted_17
@@ -2363,14 +2634,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2363
2634
  vue.createVNode("span", null, vue.toDisplayString($options.formattedCurrentHour), 1),
2364
2635
  vue.withDirectives(vue.createVNode("button", {
2365
2636
  class: "p-link",
2366
- onMousedown: _cache[13] || (_cache[13] = $event => ($options.onTimePickerElementMouseDown($event, 0, -1))),
2367
- onMouseup: _cache[14] || (_cache[14] = $event => ($options.onTimePickerElementMouseUp($event))),
2637
+ onMousedown: _cache[15] || (_cache[15] = $event => ($options.onTimePickerElementMouseDown($event, 0, -1))),
2638
+ onMouseup: _cache[16] || (_cache[16] = $event => ($options.onTimePickerElementMouseUp($event))),
2368
2639
  onKeydown: [
2369
- _cache[15] || (_cache[15] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2370
- _cache[17] || (_cache[17] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 0, -1)), ["enter"]))
2640
+ _cache[17] || (_cache[17] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2641
+ _cache[19] || (_cache[19] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 0, -1)), ["enter"])),
2642
+ _cache[20] || (_cache[20] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 0, -1)), ["space"]))
2643
+ ],
2644
+ onMouseleave: _cache[18] || (_cache[18] = $event => ($options.onTimePickerElementMouseLeave())),
2645
+ onKeyup: [
2646
+ _cache[21] || (_cache[21] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2647
+ _cache[22] || (_cache[22] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
2371
2648
  ],
2372
- onMouseleave: _cache[16] || (_cache[16] = $event => ($options.onTimePickerElementMouseLeave())),
2373
- onKeyup: _cache[18] || (_cache[18] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2374
2649
  type: "button"
2375
2650
  }, [
2376
2651
  _hoisted_18
@@ -2384,15 +2659,19 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2384
2659
  vue.createVNode("div", _hoisted_20, [
2385
2660
  vue.withDirectives(vue.createVNode("button", {
2386
2661
  class: "p-link",
2387
- onMousedown: _cache[19] || (_cache[19] = $event => ($options.onTimePickerElementMouseDown($event, 1, 1))),
2388
- onMouseup: _cache[20] || (_cache[20] = $event => ($options.onTimePickerElementMouseUp($event))),
2662
+ onMousedown: _cache[23] || (_cache[23] = $event => ($options.onTimePickerElementMouseDown($event, 1, 1))),
2663
+ onMouseup: _cache[24] || (_cache[24] = $event => ($options.onTimePickerElementMouseUp($event))),
2389
2664
  onKeydown: [
2390
- _cache[21] || (_cache[21] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2391
- _cache[23] || (_cache[23] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 1, 1)), ["enter"]))
2665
+ _cache[25] || (_cache[25] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2666
+ _cache[27] || (_cache[27] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 1, 1)), ["enter"])),
2667
+ _cache[28] || (_cache[28] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 1, 1)), ["space"]))
2392
2668
  ],
2393
2669
  disabled: _ctx.$attrs.disabled,
2394
- onMouseleave: _cache[22] || (_cache[22] = $event => ($options.onTimePickerElementMouseLeave())),
2395
- onKeyup: _cache[24] || (_cache[24] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2670
+ onMouseleave: _cache[26] || (_cache[26] = $event => ($options.onTimePickerElementMouseLeave())),
2671
+ onKeyup: [
2672
+ _cache[29] || (_cache[29] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2673
+ _cache[30] || (_cache[30] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
2674
+ ],
2396
2675
  type: "button"
2397
2676
  }, [
2398
2677
  _hoisted_21
@@ -2402,15 +2681,19 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2402
2681
  vue.createVNode("span", null, vue.toDisplayString($options.formattedCurrentMinute), 1),
2403
2682
  vue.withDirectives(vue.createVNode("button", {
2404
2683
  class: "p-link",
2405
- onMousedown: _cache[25] || (_cache[25] = $event => ($options.onTimePickerElementMouseDown($event, 1, -1))),
2406
- onMouseup: _cache[26] || (_cache[26] = $event => ($options.onTimePickerElementMouseUp($event))),
2684
+ onMousedown: _cache[31] || (_cache[31] = $event => ($options.onTimePickerElementMouseDown($event, 1, -1))),
2685
+ onMouseup: _cache[32] || (_cache[32] = $event => ($options.onTimePickerElementMouseUp($event))),
2407
2686
  onKeydown: [
2408
- _cache[27] || (_cache[27] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2409
- _cache[29] || (_cache[29] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 1, -1)), ["enter"]))
2687
+ _cache[33] || (_cache[33] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2688
+ _cache[35] || (_cache[35] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 1, -1)), ["enter"])),
2689
+ _cache[36] || (_cache[36] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 1, -1)), ["space"]))
2410
2690
  ],
2411
2691
  disabled: _ctx.$attrs.disabled,
2412
- onMouseleave: _cache[28] || (_cache[28] = $event => ($options.onTimePickerElementMouseLeave())),
2413
- onKeyup: _cache[30] || (_cache[30] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2692
+ onMouseleave: _cache[34] || (_cache[34] = $event => ($options.onTimePickerElementMouseLeave())),
2693
+ onKeyup: [
2694
+ _cache[37] || (_cache[37] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2695
+ _cache[38] || (_cache[38] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
2696
+ ],
2414
2697
  type: "button"
2415
2698
  }, [
2416
2699
  _hoisted_22
@@ -2427,15 +2710,19 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2427
2710
  ? (vue.openBlock(), vue.createBlock("div", _hoisted_24, [
2428
2711
  vue.withDirectives(vue.createVNode("button", {
2429
2712
  class: "p-link",
2430
- onMousedown: _cache[31] || (_cache[31] = $event => ($options.onTimePickerElementMouseDown($event, 2, 1))),
2431
- onMouseup: _cache[32] || (_cache[32] = $event => ($options.onTimePickerElementMouseUp($event))),
2713
+ onMousedown: _cache[39] || (_cache[39] = $event => ($options.onTimePickerElementMouseDown($event, 2, 1))),
2714
+ onMouseup: _cache[40] || (_cache[40] = $event => ($options.onTimePickerElementMouseUp($event))),
2432
2715
  onKeydown: [
2433
- _cache[33] || (_cache[33] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2434
- _cache[35] || (_cache[35] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 2, 1)), ["enter"]))
2716
+ _cache[41] || (_cache[41] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2717
+ _cache[43] || (_cache[43] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 2, 1)), ["enter"])),
2718
+ _cache[44] || (_cache[44] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 2, 1)), ["space"]))
2435
2719
  ],
2436
2720
  disabled: _ctx.$attrs.disabled,
2437
- onMouseleave: _cache[34] || (_cache[34] = $event => ($options.onTimePickerElementMouseLeave())),
2438
- onKeyup: _cache[36] || (_cache[36] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2721
+ onMouseleave: _cache[42] || (_cache[42] = $event => ($options.onTimePickerElementMouseLeave())),
2722
+ onKeyup: [
2723
+ _cache[45] || (_cache[45] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2724
+ _cache[46] || (_cache[46] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
2725
+ ],
2439
2726
  type: "button"
2440
2727
  }, [
2441
2728
  _hoisted_25
@@ -2445,15 +2732,19 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2445
2732
  vue.createVNode("span", null, vue.toDisplayString($options.formattedCurrentSecond), 1),
2446
2733
  vue.withDirectives(vue.createVNode("button", {
2447
2734
  class: "p-link",
2448
- onMousedown: _cache[37] || (_cache[37] = $event => ($options.onTimePickerElementMouseDown($event, 2, -1))),
2449
- onMouseup: _cache[38] || (_cache[38] = $event => ($options.onTimePickerElementMouseUp($event))),
2735
+ onMousedown: _cache[47] || (_cache[47] = $event => ($options.onTimePickerElementMouseDown($event, 2, -1))),
2736
+ onMouseup: _cache[48] || (_cache[48] = $event => ($options.onTimePickerElementMouseUp($event))),
2450
2737
  onKeydown: [
2451
- _cache[39] || (_cache[39] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2452
- _cache[41] || (_cache[41] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 2, -1)), ["enter"]))
2738
+ _cache[49] || (_cache[49] = (...args) => ($options.onContainerButtonKeydown && $options.onContainerButtonKeydown(...args))),
2739
+ _cache[51] || (_cache[51] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 2, -1)), ["enter"])),
2740
+ _cache[52] || (_cache[52] = vue.withKeys($event => ($options.onTimePickerElementMouseDown($event, 2, -1)), ["space"]))
2453
2741
  ],
2454
2742
  disabled: _ctx.$attrs.disabled,
2455
- onMouseleave: _cache[40] || (_cache[40] = $event => ($options.onTimePickerElementMouseLeave())),
2456
- onKeyup: _cache[42] || (_cache[42] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2743
+ onMouseleave: _cache[50] || (_cache[50] = $event => ($options.onTimePickerElementMouseLeave())),
2744
+ onKeyup: [
2745
+ _cache[53] || (_cache[53] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["enter"])),
2746
+ _cache[54] || (_cache[54] = vue.withKeys($event => ($options.onTimePickerElementMouseUp($event)), ["space"]))
2747
+ ],
2457
2748
  type: "button"
2458
2749
  }, [
2459
2750
  _hoisted_26
@@ -2471,7 +2762,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2471
2762
  ? (vue.openBlock(), vue.createBlock("div", _hoisted_28, [
2472
2763
  vue.withDirectives(vue.createVNode("button", {
2473
2764
  class: "p-link",
2474
- onClick: _cache[43] || (_cache[43] = $event => ($options.toggleAMPM($event))),
2765
+ onClick: _cache[55] || (_cache[55] = $event => ($options.toggleAMPM($event))),
2475
2766
  type: "button",
2476
2767
  disabled: _ctx.$attrs.disabled
2477
2768
  }, [
@@ -2482,7 +2773,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2482
2773
  vue.createVNode("span", null, vue.toDisplayString($data.pm ? 'PM' : 'AM'), 1),
2483
2774
  vue.withDirectives(vue.createVNode("button", {
2484
2775
  class: "p-link",
2485
- onClick: _cache[44] || (_cache[44] = $event => ($options.toggleAMPM($event))),
2776
+ onClick: _cache[56] || (_cache[56] = $event => ($options.toggleAMPM($event))),
2486
2777
  type: "button",
2487
2778
  disabled: _ctx.$attrs.disabled
2488
2779
  }, [
@@ -2499,21 +2790,21 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
2499
2790
  vue.createVNode(_component_CalendarButton, {
2500
2791
  type: "button",
2501
2792
  label: $options.todayLabel,
2502
- onClick: _cache[45] || (_cache[45] = $event => ($options.onTodayButtonClick($event))),
2793
+ onClick: _cache[57] || (_cache[57] = $event => ($options.onTodayButtonClick($event))),
2503
2794
  class: "p-button-text",
2504
2795
  onKeydown: $options.onContainerButtonKeydown
2505
2796
  }, null, 8, ["label", "onKeydown"]),
2506
2797
  vue.createVNode(_component_CalendarButton, {
2507
2798
  type: "button",
2508
2799
  label: $options.clearLabel,
2509
- onClick: _cache[46] || (_cache[46] = $event => ($options.onClearButtonClick($event))),
2800
+ onClick: _cache[58] || (_cache[58] = $event => ($options.onClearButtonClick($event))),
2510
2801
  class: "p-button-text",
2511
2802
  onKeydown: $options.onContainerButtonKeydown
2512
2803
  }, null, 8, ["label", "onKeydown"])
2513
2804
  ]))
2514
2805
  : vue.createCommentVNode("", true),
2515
2806
  vue.renderSlot(_ctx.$slots, "footer")
2516
- ], 10, ["role"]))
2807
+ ], 42, ["role"]))
2517
2808
  : vue.createCommentVNode("", true)
2518
2809
  ]),
2519
2810
  _: 3
@@ -2549,7 +2840,7 @@ function styleInject(css, ref) {
2549
2840
  }
2550
2841
  }
2551
2842
 
2552
- var css_248z = "\n.p-calendar {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n.p-calendar .p-inputtext {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n}\n.p-calendar-w-btn .p-inputtext {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.p-calendar-w-btn .p-datepicker-trigger {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n/* Fluid */\n.p-fluid .p-calendar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-fluid .p-calendar .p-inputtext {\n width: 1%;\n}\n\n/* Datepicker */\n.p-calendar .p-datepicker {\n min-width: 100%;\n}\n.p-datepicker {\n\twidth: auto;\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-datepicker-inline {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n position: static;\n}\n\n/* Header */\n.p-datepicker-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.p-datepicker-header .p-datepicker-title {\n margin: 0 auto;\n}\n.p-datepicker-prev,\n.p-datepicker-next {\n cursor: pointer;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Multiple Month DatePicker */\n.p-datepicker-multiple-month .p-datepicker-group-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n\n/* DatePicker Table */\n.p-datepicker table {\n\twidth: 100%;\n\tborder-collapse: collapse;\n}\n.p-datepicker td > span {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n cursor: pointer;\n margin: 0 auto;\n overflow: hidden;\n position: relative;\n}\n\n/* Month Picker */\n.p-monthpicker-month {\n width: 33.3%;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n\n/* Button Bar */\n.p-datepicker-buttonbar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n/* Time Picker */\n.p-timepicker {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-timepicker button {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-timepicker > div {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n/* Touch UI */\n.p-datepicker-touch-ui,\n.p-calendar .p-datepicker-touch-ui {\n position: fixed;\n top: 50%;\n left: 50%;\n min-width: 80vw;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n}\n";
2843
+ var css_248z = "\n.p-calendar {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n max-width: 100%;\n}\n.p-calendar .p-inputtext {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n}\n.p-calendar-w-btn .p-inputtext {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.p-calendar-w-btn .p-datepicker-trigger {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n/* Fluid */\n.p-fluid .p-calendar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-fluid .p-calendar .p-inputtext {\n width: 1%;\n}\n\n/* Datepicker */\n.p-calendar .p-datepicker {\n min-width: 100%;\n}\n.p-datepicker {\n\twidth: auto;\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-datepicker-inline {\n display: inline-block;\n position: static;\n overflow-x: auto;\n}\n\n/* Header */\n.p-datepicker-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.p-datepicker-header .p-datepicker-title {\n margin: 0 auto;\n}\n.p-datepicker-prev,\n.p-datepicker-next {\n cursor: pointer;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n}\n\n/* Multiple Month DatePicker */\n.p-datepicker-multiple-month .p-datepicker-group-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n\n/* DatePicker Table */\n.p-datepicker table {\n\twidth: 100%;\n\tborder-collapse: collapse;\n}\n.p-datepicker td > span {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n cursor: pointer;\n margin: 0 auto;\n overflow: hidden;\n position: relative;\n}\n\n/* Month Picker */\n.p-monthpicker-month {\n width: 33.3%;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n\n/* Year Picker */\n.p-yearpicker-year {\n width: 50%;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n\n/* Button Bar */\n.p-datepicker-buttonbar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n/* Time Picker */\n.p-timepicker {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.p-timepicker button {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-timepicker > div {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n/* Touch UI */\n.p-datepicker-touch-ui,\n.p-calendar .p-datepicker-touch-ui {\n position: fixed;\n top: 50%;\n left: 50%;\n min-width: 80vw;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n}\n";
2553
2844
  styleInject(css_248z);
2554
2845
 
2555
2846
  script.render = render;