primevue 3.20.0 → 3.22.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 (593) hide show
  1. package/README.md +3 -15
  2. package/accordion/accordion.cjs.js +1 -1
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.esm.js +1 -1
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +1 -1
  7. package/accordion/accordion.min.js +1 -1
  8. package/autocomplete/AutoComplete.d.ts +9 -1
  9. package/autocomplete/AutoComplete.vue +41 -22
  10. package/autocomplete/autocomplete.cjs.js +53 -25
  11. package/autocomplete/autocomplete.cjs.min.js +1 -1
  12. package/autocomplete/autocomplete.esm.js +53 -25
  13. package/autocomplete/autocomplete.esm.min.js +1 -1
  14. package/autocomplete/autocomplete.js +53 -25
  15. package/autocomplete/autocomplete.min.js +1 -1
  16. package/avatar/avatar.cjs.js +1 -1
  17. package/avatar/avatar.cjs.min.js +1 -1
  18. package/avatar/avatar.esm.js +1 -1
  19. package/avatar/avatar.esm.min.js +1 -1
  20. package/avatar/avatar.js +1 -1
  21. package/avatar/avatar.min.js +1 -1
  22. package/avatargroup/avatargroup.cjs.js +1 -1
  23. package/avatargroup/avatargroup.cjs.min.js +1 -1
  24. package/avatargroup/avatargroup.esm.js +1 -1
  25. package/avatargroup/avatargroup.esm.min.js +1 -1
  26. package/avatargroup/avatargroup.js +1 -1
  27. package/avatargroup/avatargroup.min.js +1 -1
  28. package/badgedirective/badgedirective.cjs.js +1 -1
  29. package/badgedirective/badgedirective.cjs.min.js +1 -1
  30. package/badgedirective/badgedirective.esm.js +1 -1
  31. package/badgedirective/badgedirective.esm.min.js +1 -1
  32. package/badgedirective/badgedirective.js +1 -1
  33. package/badgedirective/badgedirective.min.js +1 -1
  34. package/breadcrumb/Breadcrumb.vue +1 -1
  35. package/breadcrumb/breadcrumb.cjs.js +2 -3
  36. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  37. package/breadcrumb/breadcrumb.esm.js +2 -3
  38. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  39. package/breadcrumb/breadcrumb.js +2 -3
  40. package/breadcrumb/breadcrumb.min.js +1 -1
  41. package/calendar/Calendar.d.ts +1 -1
  42. package/calendar/Calendar.vue +3 -2
  43. package/calendar/calendar.cjs.js +4 -3
  44. package/calendar/calendar.cjs.min.js +1 -1
  45. package/calendar/calendar.esm.js +4 -3
  46. package/calendar/calendar.esm.min.js +1 -1
  47. package/calendar/calendar.js +4 -3
  48. package/calendar/calendar.min.js +1 -1
  49. package/carousel/Carousel.d.ts +9 -1
  50. package/carousel/Carousel.vue +144 -19
  51. package/carousel/carousel.cjs.js +159 -45
  52. package/carousel/carousel.cjs.min.js +1 -1
  53. package/carousel/carousel.esm.js +160 -46
  54. package/carousel/carousel.esm.min.js +1 -1
  55. package/carousel/carousel.js +160 -46
  56. package/carousel/carousel.min.js +1 -1
  57. package/cascadeselect/CascadeSelect.vue +9 -4
  58. package/cascadeselect/cascadeselect.cjs.js +9 -4
  59. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  60. package/cascadeselect/cascadeselect.esm.js +9 -4
  61. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  62. package/cascadeselect/cascadeselect.js +9 -4
  63. package/cascadeselect/cascadeselect.min.js +1 -1
  64. package/chart/Chart.d.ts +5 -0
  65. package/chart/Chart.vue +5 -1
  66. package/chart/chart.cjs.js +6 -2
  67. package/chart/chart.cjs.min.js +1 -1
  68. package/chart/chart.esm.js +7 -3
  69. package/chart/chart.esm.min.js +1 -1
  70. package/chart/chart.js +6 -2
  71. package/chart/chart.min.js +1 -1
  72. package/checkbox/Checkbox.vue +1 -3
  73. package/checkbox/checkbox.cjs.js +3 -4
  74. package/checkbox/checkbox.cjs.min.js +1 -1
  75. package/checkbox/checkbox.esm.js +4 -5
  76. package/checkbox/checkbox.esm.min.js +1 -1
  77. package/checkbox/checkbox.js +3 -4
  78. package/checkbox/checkbox.min.js +1 -1
  79. package/chip/chip.cjs.js +1 -1
  80. package/chip/chip.cjs.min.js +1 -1
  81. package/chip/chip.esm.js +1 -1
  82. package/chip/chip.esm.min.js +1 -1
  83. package/chip/chip.js +1 -1
  84. package/chip/chip.min.js +1 -1
  85. package/chips/chips.cjs.js +1 -1
  86. package/chips/chips.cjs.min.js +1 -1
  87. package/chips/chips.esm.js +1 -1
  88. package/chips/chips.esm.min.js +1 -1
  89. package/chips/chips.js +1 -1
  90. package/chips/chips.min.js +1 -1
  91. package/colorpicker/ColorPicker.vue +5 -7
  92. package/colorpicker/colorpicker.cjs.js +5 -7
  93. package/colorpicker/colorpicker.cjs.min.js +1 -1
  94. package/colorpicker/colorpicker.esm.js +5 -7
  95. package/colorpicker/colorpicker.esm.min.js +1 -1
  96. package/colorpicker/colorpicker.js +6 -8
  97. package/colorpicker/colorpicker.min.js +1 -1
  98. package/config/PrimeVue.d.ts +37 -0
  99. package/config/config.cjs.js +38 -1
  100. package/config/config.cjs.min.js +1 -1
  101. package/config/config.esm.js +38 -1
  102. package/config/config.esm.min.js +1 -1
  103. package/config/config.js +38 -1
  104. package/config/config.min.js +1 -1
  105. package/confirmationservice/ConfirmationService.d.ts +1 -1
  106. package/confirmdialog/ConfirmDialog.vue +1 -1
  107. package/confirmdialog/confirmdialog.cjs.js +6 -3
  108. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  109. package/confirmdialog/confirmdialog.esm.js +7 -4
  110. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  111. package/confirmdialog/confirmdialog.js +6 -3
  112. package/confirmdialog/confirmdialog.min.js +1 -1
  113. package/confirmpopup/ConfirmPopup.vue +11 -10
  114. package/confirmpopup/confirmpopup.cjs.js +15 -13
  115. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  116. package/confirmpopup/confirmpopup.esm.js +15 -13
  117. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  118. package/confirmpopup/confirmpopup.js +15 -13
  119. package/confirmpopup/confirmpopup.min.js +1 -1
  120. package/contextmenu/ContextMenuSub.vue +3 -5
  121. package/contextmenu/contextmenu.cjs.js +4 -6
  122. package/contextmenu/contextmenu.cjs.min.js +1 -1
  123. package/contextmenu/contextmenu.esm.js +4 -6
  124. package/contextmenu/contextmenu.esm.min.js +1 -1
  125. package/contextmenu/contextmenu.js +4 -6
  126. package/contextmenu/contextmenu.min.js +1 -1
  127. package/core/core.js +537 -261
  128. package/core/core.min.js +13 -13
  129. package/datatable/BodyCell.vue +39 -14
  130. package/datatable/ColumnFilter.vue +67 -41
  131. package/datatable/DataTable.d.ts +11 -3
  132. package/datatable/DataTable.vue +162 -25
  133. package/datatable/HeaderCell.vue +12 -6
  134. package/datatable/HeaderCheckbox.vue +17 -14
  135. package/datatable/RowCheckbox.vue +28 -13
  136. package/datatable/RowRadioButton.vue +11 -3
  137. package/datatable/TableBody.vue +25 -7
  138. package/datatable/TableFooter.vue +1 -1
  139. package/datatable/TableHeader.vue +9 -3
  140. package/datatable/TableLoadingBody.vue +1 -1
  141. package/datatable/datatable.cjs.js +540 -269
  142. package/datatable/datatable.cjs.min.js +1 -1
  143. package/datatable/datatable.esm.js +539 -269
  144. package/datatable/datatable.esm.min.js +1 -1
  145. package/datatable/datatable.js +539 -269
  146. package/datatable/datatable.min.js +1 -1
  147. package/dataviewlayoutoptions/DataViewLayoutOptions.vue +23 -3
  148. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +40 -11
  149. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  150. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +40 -11
  151. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  152. package/dataviewlayoutoptions/dataviewlayoutoptions.js +40 -11
  153. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  154. package/dialog/Dialog.vue +12 -7
  155. package/dialog/dialog.cjs.js +15 -10
  156. package/dialog/dialog.cjs.min.js +1 -1
  157. package/dialog/dialog.esm.js +15 -10
  158. package/dialog/dialog.esm.min.js +1 -1
  159. package/dialog/dialog.js +15 -10
  160. package/dialog/dialog.min.js +1 -1
  161. package/divider/divider.cjs.js +1 -1
  162. package/divider/divider.cjs.min.js +1 -1
  163. package/divider/divider.esm.js +1 -1
  164. package/divider/divider.esm.min.js +1 -1
  165. package/divider/divider.js +1 -1
  166. package/divider/divider.min.js +1 -1
  167. package/dock/dock.cjs.js +1 -1
  168. package/dock/dock.cjs.min.js +1 -1
  169. package/dock/dock.esm.js +1 -1
  170. package/dock/dock.esm.min.js +1 -1
  171. package/dock/dock.js +1 -1
  172. package/dock/dock.min.js +1 -1
  173. package/dropdown/Dropdown.vue +24 -16
  174. package/dropdown/dropdown.cjs.js +25 -17
  175. package/dropdown/dropdown.cjs.min.js +1 -1
  176. package/dropdown/dropdown.esm.js +25 -17
  177. package/dropdown/dropdown.esm.min.js +1 -1
  178. package/dropdown/dropdown.js +25 -17
  179. package/dropdown/dropdown.min.js +1 -1
  180. package/editor/Editor.vue +7 -1
  181. package/editor/editor.cjs.js +35 -6
  182. package/editor/editor.cjs.min.js +1 -1
  183. package/editor/editor.esm.js +35 -6
  184. package/editor/editor.esm.min.js +1 -1
  185. package/editor/editor.js +35 -6
  186. package/editor/editor.min.js +1 -1
  187. package/fieldset/Fieldset.vue +1 -1
  188. package/fieldset/fieldset.cjs.js +2 -2
  189. package/fieldset/fieldset.cjs.min.js +1 -1
  190. package/fieldset/fieldset.esm.js +2 -2
  191. package/fieldset/fieldset.esm.min.js +1 -1
  192. package/fieldset/fieldset.js +3 -3
  193. package/fieldset/fieldset.min.js +1 -1
  194. package/fileupload/FileUpload.d.ts +51 -1
  195. package/fileupload/FileUpload.vue +2 -2
  196. package/fileupload/fileupload.cjs.js +3 -3
  197. package/fileupload/fileupload.cjs.min.js +1 -1
  198. package/fileupload/fileupload.esm.js +3 -3
  199. package/fileupload/fileupload.esm.min.js +1 -1
  200. package/fileupload/fileupload.js +3 -3
  201. package/fileupload/fileupload.min.js +1 -1
  202. package/focustrap/focustrap.cjs.js +86 -64
  203. package/focustrap/focustrap.cjs.min.js +1 -1
  204. package/focustrap/focustrap.esm.js +85 -63
  205. package/focustrap/focustrap.esm.min.js +1 -1
  206. package/focustrap/focustrap.js +86 -64
  207. package/focustrap/focustrap.min.js +1 -1
  208. package/galleria/Galleria.d.ts +15 -3
  209. package/galleria/Galleria.vue +36 -6
  210. package/galleria/GalleriaContent.vue +11 -7
  211. package/galleria/GalleriaItem.vue +36 -6
  212. package/galleria/GalleriaThumbnails.vue +108 -4
  213. package/galleria/galleria.cjs.js +259 -123
  214. package/galleria/galleria.cjs.min.js +1 -1
  215. package/galleria/galleria.esm.js +258 -123
  216. package/galleria/galleria.esm.min.js +1 -1
  217. package/galleria/galleria.js +259 -124
  218. package/galleria/galleria.min.js +1 -1
  219. package/image/Image.vue +71 -13
  220. package/image/image.cjs.js +113 -40
  221. package/image/image.cjs.min.js +1 -1
  222. package/image/image.esm.js +113 -41
  223. package/image/image.esm.min.js +1 -1
  224. package/image/image.js +113 -41
  225. package/image/image.min.js +1 -1
  226. package/inlinemessage/inlinemessage.cjs.js +1 -1
  227. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  228. package/inlinemessage/inlinemessage.esm.js +1 -1
  229. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  230. package/inlinemessage/inlinemessage.js +1 -1
  231. package/inlinemessage/inlinemessage.min.js +1 -1
  232. package/inplace/inplace.cjs.js +1 -1
  233. package/inplace/inplace.cjs.min.js +1 -1
  234. package/inplace/inplace.esm.js +1 -1
  235. package/inplace/inplace.esm.min.js +1 -1
  236. package/inplace/inplace.js +1 -1
  237. package/inplace/inplace.min.js +1 -1
  238. package/inputnumber/InputNumber.vue +11 -20
  239. package/inputnumber/inputnumber.cjs.js +12 -21
  240. package/inputnumber/inputnumber.cjs.min.js +1 -1
  241. package/inputnumber/inputnumber.esm.js +12 -21
  242. package/inputnumber/inputnumber.esm.min.js +1 -1
  243. package/inputnumber/inputnumber.js +12 -21
  244. package/inputnumber/inputnumber.min.js +1 -1
  245. package/knob/knob.cjs.js +1 -1
  246. package/knob/knob.cjs.min.js +1 -1
  247. package/knob/knob.esm.js +1 -1
  248. package/knob/knob.esm.min.js +1 -1
  249. package/knob/knob.js +1 -1
  250. package/knob/knob.min.js +1 -1
  251. package/listbox/Listbox.vue +12 -8
  252. package/listbox/listbox.cjs.js +13 -9
  253. package/listbox/listbox.cjs.min.js +1 -1
  254. package/listbox/listbox.esm.js +13 -9
  255. package/listbox/listbox.esm.min.js +1 -1
  256. package/listbox/listbox.js +14 -10
  257. package/listbox/listbox.min.js +1 -1
  258. package/megamenu/MegaMenu.vue +10 -1
  259. package/megamenu/MegaMenuSub.vue +3 -5
  260. package/megamenu/megamenu.cjs.js +14 -7
  261. package/megamenu/megamenu.cjs.min.js +1 -1
  262. package/megamenu/megamenu.esm.js +14 -7
  263. package/megamenu/megamenu.esm.min.js +1 -1
  264. package/megamenu/megamenu.js +14 -7
  265. package/megamenu/megamenu.min.js +1 -1
  266. package/menu/Menu.vue +8 -2
  267. package/menu/menu.cjs.js +9 -3
  268. package/menu/menu.cjs.min.js +1 -1
  269. package/menu/menu.esm.js +9 -3
  270. package/menu/menu.esm.min.js +1 -1
  271. package/menu/menu.js +9 -3
  272. package/menu/menu.min.js +1 -1
  273. package/menubar/Menubar.vue +7 -2
  274. package/menubar/MenubarSub.vue +3 -5
  275. package/menubar/menubar.cjs.js +11 -8
  276. package/menubar/menubar.cjs.min.js +1 -1
  277. package/menubar/menubar.esm.js +11 -8
  278. package/menubar/menubar.esm.min.js +1 -1
  279. package/menubar/menubar.js +11 -8
  280. package/menubar/menubar.min.js +1 -1
  281. package/message/Message.d.ts +5 -1
  282. package/message/Message.vue +15 -5
  283. package/message/message.cjs.js +24 -10
  284. package/message/message.cjs.min.js +1 -1
  285. package/message/message.esm.js +25 -11
  286. package/message/message.esm.min.js +1 -1
  287. package/message/message.js +24 -10
  288. package/message/message.min.js +1 -1
  289. package/multiselect/MultiSelect.vue +53 -36
  290. package/multiselect/multiselect.cjs.js +54 -37
  291. package/multiselect/multiselect.cjs.min.js +1 -1
  292. package/multiselect/multiselect.esm.js +55 -38
  293. package/multiselect/multiselect.esm.min.js +1 -1
  294. package/multiselect/multiselect.js +54 -37
  295. package/multiselect/multiselect.min.js +1 -1
  296. package/orderlist/OrderList.d.ts +33 -1
  297. package/orderlist/OrderList.vue +265 -63
  298. package/orderlist/orderlist.cjs.js +280 -70
  299. package/orderlist/orderlist.cjs.min.js +1 -1
  300. package/orderlist/orderlist.esm.js +281 -71
  301. package/orderlist/orderlist.esm.min.js +1 -1
  302. package/orderlist/orderlist.js +281 -71
  303. package/orderlist/orderlist.min.js +1 -1
  304. package/organizationchart/OrganizationChartNode.vue +7 -1
  305. package/organizationchart/organizationchart.cjs.js +8 -2
  306. package/organizationchart/organizationchart.cjs.min.js +1 -1
  307. package/organizationchart/organizationchart.esm.js +9 -3
  308. package/organizationchart/organizationchart.esm.min.js +1 -1
  309. package/organizationchart/organizationchart.js +8 -2
  310. package/organizationchart/organizationchart.min.js +1 -1
  311. package/overlaypanel/overlaypanel.cjs.js +1 -1
  312. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  313. package/overlaypanel/overlaypanel.esm.js +1 -1
  314. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  315. package/overlaypanel/overlaypanel.js +1 -1
  316. package/overlaypanel/overlaypanel.min.js +1 -1
  317. package/package.json +2 -2
  318. package/paginator/CurrentPageReport.vue +0 -1
  319. package/paginator/JumpToPageDropdown.vue +0 -1
  320. package/paginator/JumpToPageInput.vue +19 -4
  321. package/paginator/PageLinks.vue +16 -1
  322. package/paginator/Paginator.vue +24 -11
  323. package/paginator/RowsPerPageDropdown.vue +0 -1
  324. package/paginator/paginator.cjs.js +51 -20
  325. package/paginator/paginator.cjs.min.js +1 -1
  326. package/paginator/paginator.esm.js +51 -20
  327. package/paginator/paginator.esm.min.js +1 -1
  328. package/paginator/paginator.js +51 -20
  329. package/paginator/paginator.min.js +1 -1
  330. package/panel/Panel.vue +2 -2
  331. package/panel/panel.cjs.js +3 -3
  332. package/panel/panel.cjs.min.js +1 -1
  333. package/panel/panel.esm.js +3 -3
  334. package/panel/panel.esm.min.js +1 -1
  335. package/panel/panel.js +4 -4
  336. package/panel/panel.min.js +1 -1
  337. package/panelmenu/PanelMenu.vue +4 -4
  338. package/panelmenu/PanelMenuList.vue +57 -0
  339. package/panelmenu/PanelMenuSub.vue +3 -5
  340. package/panelmenu/panelmenu.cjs.js +78 -10
  341. package/panelmenu/panelmenu.cjs.min.js +1 -1
  342. package/panelmenu/panelmenu.esm.js +78 -10
  343. package/panelmenu/panelmenu.esm.min.js +1 -1
  344. package/panelmenu/panelmenu.js +78 -10
  345. package/panelmenu/panelmenu.min.js +1 -1
  346. package/password/Password.vue +5 -0
  347. package/password/password.cjs.js +1 -1
  348. package/password/password.cjs.min.js +1 -1
  349. package/password/password.esm.js +1 -1
  350. package/password/password.esm.min.js +1 -1
  351. package/password/password.js +1 -1
  352. package/password/password.min.js +1 -1
  353. package/picklist/PickList.d.ts +45 -1
  354. package/picklist/PickList.vue +305 -58
  355. package/picklist/picklist.cjs.js +350 -89
  356. package/picklist/picklist.cjs.min.js +1 -1
  357. package/picklist/picklist.esm.js +351 -90
  358. package/picklist/picklist.esm.min.js +1 -1
  359. package/picklist/picklist.js +351 -90
  360. package/picklist/picklist.min.js +1 -1
  361. package/progressbar/progressbar.cjs.js +1 -1
  362. package/progressbar/progressbar.cjs.min.js +1 -1
  363. package/progressbar/progressbar.esm.js +1 -1
  364. package/progressbar/progressbar.esm.min.js +1 -1
  365. package/progressbar/progressbar.js +1 -1
  366. package/progressbar/progressbar.min.js +1 -1
  367. package/progressspinner/ProgressSpinner.vue +0 -47
  368. package/progressspinner/progressspinner.cjs.js +1 -1
  369. package/progressspinner/progressspinner.cjs.min.js +1 -1
  370. package/progressspinner/progressspinner.esm.js +1 -1
  371. package/progressspinner/progressspinner.esm.min.js +1 -1
  372. package/progressspinner/progressspinner.js +1 -1
  373. package/progressspinner/progressspinner.min.js +1 -1
  374. package/rating/Rating.d.ts +1 -0
  375. package/rating/rating.cjs.js +1 -1
  376. package/rating/rating.cjs.min.js +1 -1
  377. package/rating/rating.esm.js +1 -1
  378. package/rating/rating.esm.min.js +1 -1
  379. package/rating/rating.js +1 -1
  380. package/rating/rating.min.js +1 -1
  381. package/resources/primevue.css +2 -6
  382. package/resources/primevue.min.css +1 -1
  383. package/resources/themes/arya-blue/theme.css +77 -14
  384. package/resources/themes/arya-green/theme.css +77 -14
  385. package/resources/themes/arya-orange/theme.css +77 -14
  386. package/resources/themes/arya-purple/theme.css +77 -14
  387. package/resources/themes/bootstrap4-dark-blue/theme.css +77 -14
  388. package/resources/themes/bootstrap4-dark-purple/theme.css +77 -14
  389. package/resources/themes/bootstrap4-light-blue/theme.css +77 -14
  390. package/resources/themes/bootstrap4-light-purple/theme.css +77 -14
  391. package/resources/themes/fluent-light/theme.css +77 -14
  392. package/resources/themes/lara-dark-blue/theme.css +81 -14
  393. package/resources/themes/lara-dark-indigo/theme.css +81 -14
  394. package/resources/themes/lara-dark-purple/theme.css +81 -14
  395. package/resources/themes/lara-dark-teal/theme.css +81 -14
  396. package/resources/themes/lara-light-blue/theme.css +81 -14
  397. package/resources/themes/lara-light-indigo/theme.css +81 -14
  398. package/resources/themes/lara-light-purple/theme.css +81 -14
  399. package/resources/themes/lara-light-teal/theme.css +81 -14
  400. package/resources/themes/luna-amber/theme.css +77 -14
  401. package/resources/themes/luna-blue/theme.css +77 -14
  402. package/resources/themes/luna-green/theme.css +77 -14
  403. package/resources/themes/luna-pink/theme.css +77 -14
  404. package/resources/themes/md-dark-deeppurple/theme.css +101 -20
  405. package/resources/themes/md-dark-indigo/theme.css +101 -20
  406. package/resources/themes/md-light-deeppurple/theme.css +101 -20
  407. package/resources/themes/md-light-indigo/theme.css +101 -20
  408. package/resources/themes/mdc-dark-deeppurple/theme.css +101 -20
  409. package/resources/themes/mdc-dark-indigo/theme.css +101 -20
  410. package/resources/themes/mdc-light-deeppurple/theme.css +101 -20
  411. package/resources/themes/mdc-light-indigo/theme.css +101 -20
  412. package/resources/themes/nova/theme.css +77 -14
  413. package/resources/themes/nova-accent/theme.css +77 -14
  414. package/resources/themes/nova-alt/theme.css +77 -14
  415. package/resources/themes/nova-vue/theme.css +77 -14
  416. package/resources/themes/rhea/theme.css +77 -14
  417. package/resources/themes/saga-blue/theme.css +77 -14
  418. package/resources/themes/saga-green/theme.css +77 -14
  419. package/resources/themes/saga-orange/theme.css +77 -14
  420. package/resources/themes/saga-purple/theme.css +77 -14
  421. package/resources/themes/tailwind-light/theme.css +81 -14
  422. package/resources/themes/vela-blue/theme.css +77 -14
  423. package/resources/themes/vela-green/theme.css +77 -14
  424. package/resources/themes/vela-orange/theme.css +77 -14
  425. package/resources/themes/vela-purple/theme.css +77 -14
  426. package/scrollpanel/scrollpanel.cjs.js +1 -1
  427. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  428. package/scrollpanel/scrollpanel.esm.js +1 -1
  429. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  430. package/scrollpanel/scrollpanel.js +1 -1
  431. package/scrollpanel/scrollpanel.min.js +1 -1
  432. package/scrolltop/scrolltop.cjs.js +1 -1
  433. package/scrolltop/scrolltop.cjs.min.js +1 -1
  434. package/scrolltop/scrolltop.esm.js +1 -1
  435. package/scrolltop/scrolltop.esm.min.js +1 -1
  436. package/scrolltop/scrolltop.js +1 -1
  437. package/scrolltop/scrolltop.min.js +1 -1
  438. package/selectbutton/SelectButton.vue +1 -1
  439. package/selectbutton/selectbutton.cjs.js +1 -1
  440. package/selectbutton/selectbutton.cjs.min.js +1 -1
  441. package/selectbutton/selectbutton.esm.js +1 -1
  442. package/selectbutton/selectbutton.esm.min.js +1 -1
  443. package/selectbutton/selectbutton.js +2 -2
  444. package/selectbutton/selectbutton.min.js +1 -1
  445. package/sidebar/Sidebar.d.ts +4 -0
  446. package/sidebar/Sidebar.vue +210 -142
  447. package/sidebar/sidebar.cjs.js +146 -121
  448. package/sidebar/sidebar.cjs.min.js +1 -1
  449. package/sidebar/sidebar.esm.js +147 -122
  450. package/sidebar/sidebar.esm.min.js +1 -1
  451. package/sidebar/sidebar.js +146 -121
  452. package/sidebar/sidebar.min.js +1 -1
  453. package/skeleton/skeleton.cjs.js +1 -1
  454. package/skeleton/skeleton.cjs.min.js +1 -1
  455. package/skeleton/skeleton.esm.js +1 -1
  456. package/skeleton/skeleton.esm.min.js +1 -1
  457. package/skeleton/skeleton.js +1 -1
  458. package/skeleton/skeleton.min.js +1 -1
  459. package/slider/slider.cjs.js +1 -1
  460. package/slider/slider.cjs.min.js +1 -1
  461. package/slider/slider.esm.js +1 -1
  462. package/slider/slider.esm.min.js +1 -1
  463. package/slider/slider.js +1 -1
  464. package/slider/slider.min.js +1 -1
  465. package/speeddial/SpeedDial.d.ts +19 -1
  466. package/speeddial/SpeedDial.vue +254 -7
  467. package/speeddial/speeddial.cjs.js +255 -14
  468. package/speeddial/speeddial.cjs.min.js +1 -1
  469. package/speeddial/speeddial.esm.js +256 -15
  470. package/speeddial/speeddial.esm.min.js +1 -1
  471. package/speeddial/speeddial.js +255 -14
  472. package/speeddial/speeddial.min.js +1 -1
  473. package/splitbutton/SplitButton.d.ts +20 -4
  474. package/splitbutton/SplitButton.vue +56 -8
  475. package/splitbutton/splitbutton.cjs.js +57 -17
  476. package/splitbutton/splitbutton.cjs.min.js +1 -1
  477. package/splitbutton/splitbutton.esm.js +57 -17
  478. package/splitbutton/splitbutton.esm.min.js +1 -1
  479. package/splitbutton/splitbutton.js +57 -17
  480. package/splitbutton/splitbutton.min.js +1 -1
  481. package/splitter/Splitter.vue +1 -1
  482. package/splitter/splitter.cjs.js +1 -1
  483. package/splitter/splitter.cjs.min.js +1 -1
  484. package/splitter/splitter.esm.js +1 -1
  485. package/splitter/splitter.esm.min.js +1 -1
  486. package/splitter/splitter.js +1 -1
  487. package/splitter/splitter.min.js +1 -1
  488. package/steps/steps.cjs.js +1 -1
  489. package/steps/steps.cjs.min.js +1 -1
  490. package/steps/steps.esm.js +1 -1
  491. package/steps/steps.esm.min.js +1 -1
  492. package/steps/steps.js +1 -1
  493. package/steps/steps.min.js +1 -1
  494. package/tabmenu/TabMenu.vue +4 -16
  495. package/tabmenu/tabmenu.cjs.js +19 -16
  496. package/tabmenu/tabmenu.cjs.min.js +1 -1
  497. package/tabmenu/tabmenu.esm.js +19 -16
  498. package/tabmenu/tabmenu.esm.min.js +1 -1
  499. package/tabmenu/tabmenu.js +19 -16
  500. package/tabmenu/tabmenu.min.js +1 -1
  501. package/tabview/TabView.vue +2 -2
  502. package/tabview/tabview.cjs.js +3 -3
  503. package/tabview/tabview.cjs.min.js +1 -1
  504. package/tabview/tabview.esm.js +3 -3
  505. package/tabview/tabview.esm.min.js +1 -1
  506. package/tabview/tabview.js +3 -3
  507. package/tabview/tabview.min.js +1 -1
  508. package/tag/tag.cjs.js +1 -1
  509. package/tag/tag.cjs.min.js +1 -1
  510. package/tag/tag.esm.js +1 -1
  511. package/tag/tag.esm.min.js +1 -1
  512. package/tag/tag.js +1 -1
  513. package/tag/tag.min.js +1 -1
  514. package/terminal/terminal.cjs.js +1 -1
  515. package/terminal/terminal.cjs.min.js +1 -1
  516. package/terminal/terminal.esm.js +1 -1
  517. package/terminal/terminal.esm.min.js +1 -1
  518. package/terminal/terminal.js +1 -1
  519. package/terminal/terminal.min.js +1 -1
  520. package/tieredmenu/TieredMenu.vue +13 -3
  521. package/tieredmenu/TieredMenuSub.vue +3 -5
  522. package/tieredmenu/tieredmenu.cjs.js +17 -9
  523. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  524. package/tieredmenu/tieredmenu.esm.js +17 -9
  525. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  526. package/tieredmenu/tieredmenu.js +17 -9
  527. package/tieredmenu/tieredmenu.min.js +1 -1
  528. package/timeline/timeline.cjs.js +1 -1
  529. package/timeline/timeline.cjs.min.js +1 -1
  530. package/timeline/timeline.esm.js +1 -1
  531. package/timeline/timeline.esm.min.js +1 -1
  532. package/timeline/timeline.js +1 -1
  533. package/timeline/timeline.min.js +1 -1
  534. package/toast/Toast.d.ts +5 -1
  535. package/toast/Toast.vue +5 -0
  536. package/toast/ToastMessage.vue +36 -8
  537. package/toast/toast.cjs.js +49 -13
  538. package/toast/toast.cjs.min.js +1 -1
  539. package/toast/toast.esm.js +50 -14
  540. package/toast/toast.esm.min.js +1 -1
  541. package/toast/toast.js +49 -13
  542. package/toast/toast.min.js +1 -1
  543. package/toolbar/Toolbar.d.ts +6 -0
  544. package/toolbar/Toolbar.vue +12 -2
  545. package/toolbar/toolbar.cjs.js +7 -3
  546. package/toolbar/toolbar.cjs.min.js +1 -1
  547. package/toolbar/toolbar.esm.js +7 -3
  548. package/toolbar/toolbar.esm.min.js +1 -1
  549. package/toolbar/toolbar.js +7 -3
  550. package/toolbar/toolbar.min.js +1 -1
  551. package/tree/Tree.d.ts +8 -0
  552. package/tree/Tree.vue +10 -2
  553. package/tree/TreeNode.vue +174 -37
  554. package/tree/tree.cjs.js +193 -59
  555. package/tree/tree.cjs.min.js +1 -1
  556. package/tree/tree.esm.js +193 -59
  557. package/tree/tree.esm.min.js +1 -1
  558. package/tree/tree.js +193 -59
  559. package/tree/tree.min.js +1 -1
  560. package/treeselect/TreeSelect.vue +40 -26
  561. package/treeselect/treeselect.cjs.js +46 -30
  562. package/treeselect/treeselect.cjs.min.js +1 -1
  563. package/treeselect/treeselect.esm.js +44 -28
  564. package/treeselect/treeselect.esm.min.js +1 -1
  565. package/treeselect/treeselect.js +45 -29
  566. package/treeselect/treeselect.min.js +1 -1
  567. package/treetable/BodyCell.vue +4 -4
  568. package/treetable/HeaderCell.vue +4 -2
  569. package/treetable/TreeTable.d.ts +4 -0
  570. package/treetable/TreeTable.vue +43 -17
  571. package/treetable/TreeTableRow.vue +200 -59
  572. package/treetable/treetable.cjs.js +798 -621
  573. package/treetable/treetable.cjs.min.js +1 -1
  574. package/treetable/treetable.esm.js +795 -618
  575. package/treetable/treetable.esm.min.js +1 -1
  576. package/treetable/treetable.js +795 -618
  577. package/treetable/treetable.min.js +1 -1
  578. package/utils/utils.cjs.js +67 -47
  579. package/utils/utils.cjs.min.js +1 -1
  580. package/utils/utils.esm.js +67 -47
  581. package/utils/utils.esm.min.js +1 -1
  582. package/utils/utils.js +67 -47
  583. package/utils/utils.min.js +1 -1
  584. package/vetur-attributes.json +35 -283
  585. package/vetur-tags.json +26 -89
  586. package/virtualscroller/virtualscroller.cjs.js +1 -1
  587. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  588. package/virtualscroller/virtualscroller.esm.js +1 -1
  589. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  590. package/virtualscroller/virtualscroller.js +1 -1
  591. package/virtualscroller/virtualscroller.min.js +1 -1
  592. package/web-types.json +94 -998
  593. package/galleria/GalleriaItemSlot.vue +0 -53
@@ -1,6 +1,6 @@
1
- import { UniqueComponentId, DomHandler } from 'primevue/utils';
2
1
  import Ripple from 'primevue/ripple';
3
- import { resolveDirective, openBlock, createElementBlock, normalizeClass, renderSlot, createCommentVNode, createElementVNode, withDirectives, normalizeStyle, Fragment, renderList } from 'vue';
2
+ import { DomHandler, UniqueComponentId } from 'primevue/utils';
3
+ import { resolveDirective, openBlock, createElementBlock, normalizeClass, renderSlot, createCommentVNode, createElementVNode, withDirectives, mergeProps, normalizeStyle, Fragment, renderList } from 'vue';
4
4
 
5
5
  var script = {
6
6
  name: 'Carousel',
@@ -46,11 +46,19 @@ var script = {
46
46
  showIndicators: {
47
47
  type: Boolean,
48
48
  default: true
49
+ },
50
+ prevButtonProps: {
51
+ type: null,
52
+ default: null
53
+ },
54
+ nextButtonProps: {
55
+ type: null,
56
+ default: null
49
57
  }
50
58
  },
59
+ isRemainingItemsAdded: false,
51
60
  data() {
52
61
  return {
53
- id: UniqueComponentId(),
54
62
  remainingItems: 0,
55
63
  d_numVisible: this.numVisible,
56
64
  d_numScroll: this.numScroll,
@@ -64,7 +72,6 @@ var script = {
64
72
  swipeThreshold: 20
65
73
  };
66
74
  },
67
- isRemainingItemsAdded: false,
68
75
  watch: {
69
76
  page(newValue) {
70
77
  this.d_page = newValue;
@@ -87,6 +94,7 @@ var script = {
87
94
  mounted() {
88
95
  let stateChanged = false;
89
96
 
97
+ this.$el.setAttribute(this.attributeSelector, '');
90
98
  this.createStyle();
91
99
  this.calculatePosition();
92
100
 
@@ -358,6 +366,81 @@ var script = {
358
366
  }
359
367
  }
360
368
  },
369
+ onIndicatorKeydown(event) {
370
+ switch (event.code) {
371
+ case 'ArrowRight':
372
+ this.onRightKey();
373
+ break;
374
+
375
+ case 'ArrowLeft':
376
+ this.onLeftKey();
377
+ break;
378
+
379
+ case 'Home':
380
+ this.onHomeKey();
381
+ event.preventDefault();
382
+ break;
383
+
384
+ case 'End':
385
+ this.onEndKey();
386
+ event.preventDefault();
387
+ break;
388
+
389
+ case 'ArrowUp':
390
+ case 'ArrowDown':
391
+ event.preventDefault();
392
+ break;
393
+
394
+ case 'Tab':
395
+ this.onTabKey();
396
+ break;
397
+ }
398
+ },
399
+ onRightKey() {
400
+ const indicators = [...DomHandler.find(this.$refs.indicatorContent, '.p-carousel-indicator')];
401
+ const activeIndex = this.findFocusedIndicatorIndex();
402
+
403
+ this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);
404
+ },
405
+ onLeftKey() {
406
+ const activeIndex = this.findFocusedIndicatorIndex();
407
+
408
+ this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);
409
+ },
410
+ onHomeKey() {
411
+ const activeIndex = this.findFocusedIndicatorIndex();
412
+
413
+ this.changedFocusedIndicator(activeIndex, 0);
414
+ },
415
+ onEndKey() {
416
+ const indicators = [...DomHandler.find(this.$refs.indicatorContent, '.p-carousel-indicator')];
417
+ const activeIndex = this.findFocusedIndicatorIndex();
418
+
419
+ this.changedFocusedIndicator(activeIndex, indicators.length - 1);
420
+ },
421
+ onTabKey() {
422
+ const indicators = [...DomHandler.find(this.$refs.indicatorContent, '.p-carousel-indicator')];
423
+ const highlightedIndex = indicators.findIndex((ind) => DomHandler.hasClass(ind, 'p-highlight'));
424
+
425
+ const activeIndicator = DomHandler.findSingle(this.$refs.indicatorContent, '.p-carousel-indicator > button[tabindex="0"]');
426
+ const activeIndex = indicators.findIndex((ind) => ind === activeIndicator.parentElement);
427
+
428
+ indicators[activeIndex].children[0].tabIndex = '-1';
429
+ indicators[highlightedIndex].children[0].tabIndex = '0';
430
+ },
431
+ findFocusedIndicatorIndex() {
432
+ const indicators = [...DomHandler.find(this.$refs.indicatorContent, '.p-carousel-indicator')];
433
+ const activeIndicator = DomHandler.findSingle(this.$refs.indicatorContent, '.p-carousel-indicator > button[tabindex="0"]');
434
+
435
+ return indicators.findIndex((ind) => ind === activeIndicator.parentElement);
436
+ },
437
+ changedFocusedIndicator(prevInd, nextInd) {
438
+ const indicators = [...DomHandler.find(this.$refs.indicatorContent, '.p-carousel-indicator')];
439
+
440
+ indicators[prevInd].children[0].tabIndex = '-1';
441
+ indicators[nextInd].children[0].tabIndex = '0';
442
+ indicators[nextInd].children[0].focus();
443
+ },
361
444
  bindDocumentListeners() {
362
445
  if (!this.documentResizeListener) {
363
446
  this.documentResizeListener = (e) => {
@@ -395,10 +478,10 @@ var script = {
395
478
  }
396
479
 
397
480
  let innerHTML = `
398
- #${this.id} .p-carousel-item {
399
- flex: 1 0 ${100 / this.d_numVisible}%
400
- }
401
- `;
481
+ .p-carousel[${this.attributeSelector}] .p-carousel-item {
482
+ flex: 1 0 ${100 / this.d_numVisible}%
483
+ }
484
+ `;
402
485
 
403
486
  if (this.responsiveOptions) {
404
487
  let _responsiveOptions = [...this.responsiveOptions];
@@ -421,12 +504,12 @@ var script = {
421
504
  let res = _responsiveOptions[i];
422
505
 
423
506
  innerHTML += `
424
- @media screen and (max-width: ${res.breakpoint}) {
425
- #${this.id} .p-carousel-item {
426
- flex: 1 0 ${100 / res.numVisible}%
507
+ @media screen and (max-width: ${res.breakpoint}) {
508
+ .p-carousel[${this.attributeSelector}] .p-carousel-item {
509
+ flex: 1 0 ${100 / res.numVisible}%
510
+ }
427
511
  }
428
- }
429
- `;
512
+ `;
430
513
  }
431
514
  }
432
515
 
@@ -446,6 +529,12 @@ var script = {
446
529
  },
447
530
  lastIndex() {
448
531
  return this.firstIndex() + this.d_numVisible - 1;
532
+ },
533
+ ariaSlideNumber(value) {
534
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slideNumber.replace(/{slideNumber}/g, value) : undefined;
535
+ },
536
+ ariaPageLabel(value) {
537
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g, value) : undefined;
449
538
  }
450
539
  },
451
540
  computed: {
@@ -466,6 +555,18 @@ var script = {
466
555
  },
467
556
  indicatorsContentClasses() {
468
557
  return ['p-carousel-indicators p-reset', this.indicatorsContentClass];
558
+ },
559
+ ariaSlideLabel() {
560
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.slide : undefined;
561
+ },
562
+ ariaPrevButtonLabel() {
563
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.prevPageLabel : undefined;
564
+ },
565
+ ariaNextButtonLabel() {
566
+ return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.nextPageLabel : undefined;
567
+ },
568
+ attributeSelector() {
569
+ return UniqueComponentId();
469
570
  }
470
571
  },
471
572
  directives: {
@@ -473,15 +574,16 @@ var script = {
473
574
  }
474
575
  };
475
576
 
476
- const _hoisted_1 = ["id"];
477
- const _hoisted_2 = {
577
+ const _hoisted_1 = {
478
578
  key: 0,
479
579
  class: "p-carousel-header"
480
580
  };
481
- const _hoisted_3 = ["disabled"];
482
- const _hoisted_4 = ["disabled"];
483
- const _hoisted_5 = ["onClick"];
484
- const _hoisted_6 = {
581
+ const _hoisted_2 = ["aria-live"];
582
+ const _hoisted_3 = ["disabled", "aria-label"];
583
+ const _hoisted_4 = ["aria-hidden", "aria-label", "aria-roledescription"];
584
+ const _hoisted_5 = ["disabled", "aria-label"];
585
+ const _hoisted_6 = ["tabindex", "aria-label", "aria-current", "onClick"];
586
+ const _hoisted_7 = {
485
587
  key: 1,
486
588
  class: "p-carousel-footer"
487
589
  };
@@ -490,11 +592,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
490
592
  const _directive_ripple = resolveDirective("ripple");
491
593
 
492
594
  return (openBlock(), createElementBlock("div", {
493
- id: $data.id,
494
- class: normalizeClass(['p-carousel p-component', { 'p-carousel-vertical': $options.isVertical(), 'p-carousel-horizontal': !$options.isVertical() }])
595
+ class: normalizeClass(['p-carousel p-component', { 'p-carousel-vertical': $options.isVertical(), 'p-carousel-horizontal': !$options.isVertical() }]),
596
+ role: "region"
495
597
  }, [
496
598
  (_ctx.$slots.header)
497
- ? (openBlock(), createElementBlock("div", _hoisted_2, [
599
+ ? (openBlock(), createElementBlock("div", _hoisted_1, [
498
600
  renderSlot(_ctx.$slots, "header")
499
601
  ]))
500
602
  : createCommentVNode("", true),
@@ -502,20 +604,22 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
502
604
  class: normalizeClass($options.contentClasses)
503
605
  }, [
504
606
  createElementVNode("div", {
505
- class: normalizeClass($options.containerClasses)
607
+ class: normalizeClass($options.containerClasses),
608
+ "aria-live": $data.allowAutoplay ? 'polite' : 'off'
506
609
  }, [
507
610
  ($props.showNavigators)
508
- ? withDirectives((openBlock(), createElementBlock("button", {
611
+ ? withDirectives((openBlock(), createElementBlock("button", mergeProps({
509
612
  key: 0,
510
- class: normalizeClass(['p-carousel-prev p-link', { 'p-disabled': $options.backwardIsDisabled }]),
613
+ type: "button",
614
+ class: ['p-carousel-prev p-link', { 'p-disabled': $options.backwardIsDisabled }],
511
615
  disabled: $options.backwardIsDisabled,
512
- onClick: _cache[0] || (_cache[0] = (...args) => ($options.navBackward && $options.navBackward(...args))),
513
- type: "button"
514
- }, [
616
+ "aria-label": $options.ariaPrevButtonLabel,
617
+ onClick: _cache[0] || (_cache[0] = (...args) => ($options.navBackward && $options.navBackward(...args)))
618
+ }, $props.prevButtonProps), [
515
619
  createElementVNode("span", {
516
620
  class: normalizeClass(['p-carousel-prev-icon pi', { 'pi-chevron-left': !$options.isVertical(), 'pi-chevron-up': $options.isVertical() }])
517
621
  }, null, 2)
518
- ], 10, _hoisted_3)), [
622
+ ], 16, _hoisted_3)), [
519
623
  [_directive_ripple]
520
624
  ])
521
625
  : createCommentVNode("", true),
@@ -550,13 +654,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
550
654
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.value, (item, index) => {
551
655
  return (openBlock(), createElementBlock("div", {
552
656
  key: index,
553
- class: normalizeClass(['p-carousel-item', { 'p-carousel-item-active': $options.firstIndex() <= index && $options.lastIndex() >= index, 'p-carousel-item-start': $options.firstIndex() === index, 'p-carousel-item-end': $options.lastIndex() === index }])
657
+ class: normalizeClass(['p-carousel-item', { 'p-carousel-item-active': $options.firstIndex() <= index && $options.lastIndex() >= index, 'p-carousel-item-start': $options.firstIndex() === index, 'p-carousel-item-end': $options.lastIndex() === index }]),
658
+ role: "group",
659
+ "aria-hidden": $options.firstIndex() > index || $options.lastIndex() < index ? true : undefined,
660
+ "aria-label": $options.ariaSlideNumber(index),
661
+ "aria-roledescription": $options.ariaSlideLabel
554
662
  }, [
555
663
  renderSlot(_ctx.$slots, "item", {
556
664
  data: item,
557
665
  index: index
558
666
  })
559
- ], 2))
667
+ ], 10, _hoisted_4))
560
668
  }), 128)),
561
669
  ($options.isCircular())
562
670
  ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList($props.value.slice(0, $data.d_numVisible), (item, index) => {
@@ -574,25 +682,28 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
574
682
  ], 544)
575
683
  ], 36),
576
684
  ($props.showNavigators)
577
- ? withDirectives((openBlock(), createElementBlock("button", {
685
+ ? withDirectives((openBlock(), createElementBlock("button", mergeProps({
578
686
  key: 1,
579
- class: normalizeClass(['p-carousel-next p-link', { 'p-disabled': $options.forwardIsDisabled }]),
687
+ type: "button",
688
+ class: ['p-carousel-next p-link', { 'p-disabled': $options.forwardIsDisabled }],
580
689
  disabled: $options.forwardIsDisabled,
581
- onClick: _cache[5] || (_cache[5] = (...args) => ($options.navForward && $options.navForward(...args))),
582
- type: "button"
583
- }, [
690
+ "aria-label": $options.ariaNextButtonLabel,
691
+ onClick: _cache[5] || (_cache[5] = (...args) => ($options.navForward && $options.navForward(...args)))
692
+ }, $props.nextButtonProps), [
584
693
  createElementVNode("span", {
585
694
  class: normalizeClass(['p-carousel-prev-icon pi', { 'pi-chevron-right': !$options.isVertical(), 'pi-chevron-down': $options.isVertical() }])
586
695
  }, null, 2)
587
- ], 10, _hoisted_4)), [
696
+ ], 16, _hoisted_5)), [
588
697
  [_directive_ripple]
589
698
  ])
590
699
  : createCommentVNode("", true)
591
- ], 2),
700
+ ], 10, _hoisted_2),
592
701
  ($options.totalIndicators >= 0 && $props.showIndicators)
593
702
  ? (openBlock(), createElementBlock("ul", {
594
703
  key: 0,
595
- class: normalizeClass($options.indicatorsContentClasses)
704
+ ref: "indicatorContent",
705
+ class: normalizeClass($options.indicatorsContentClasses),
706
+ onKeydown: _cache[6] || (_cache[6] = (...args) => ($options.onIndicatorKeydown && $options.onIndicatorKeydown(...args)))
596
707
  }, [
597
708
  (openBlock(true), createElementBlock(Fragment, null, renderList($options.totalIndicators, (indicator, i) => {
598
709
  return (openBlock(), createElementBlock("li", {
@@ -601,20 +712,23 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
601
712
  }, [
602
713
  createElementVNode("button", {
603
714
  class: "p-link",
604
- onClick: $event => ($options.onIndicatorClick($event, i)),
605
- type: "button"
606
- }, null, 8, _hoisted_5)
715
+ type: "button",
716
+ tabindex: $data.d_page === i ? '0' : '-1',
717
+ "aria-label": $options.ariaPageLabel(i + 1),
718
+ "aria-current": $data.d_page === i ? 'page' : undefined,
719
+ onClick: $event => ($options.onIndicatorClick($event, i))
720
+ }, null, 8, _hoisted_6)
607
721
  ], 2))
608
722
  }), 128))
609
- ], 2))
723
+ ], 34))
610
724
  : createCommentVNode("", true)
611
725
  ], 2),
612
726
  (_ctx.$slots.footer)
613
- ? (openBlock(), createElementBlock("div", _hoisted_6, [
727
+ ? (openBlock(), createElementBlock("div", _hoisted_7, [
614
728
  renderSlot(_ctx.$slots, "footer")
615
729
  ]))
616
730
  : createCommentVNode("", true)
617
- ], 10, _hoisted_1))
731
+ ], 2))
618
732
  }
619
733
 
620
734
  function styleInject(css, ref) {
@@ -644,7 +758,7 @@ function styleInject(css, ref) {
644
758
  }
645
759
  }
646
760
 
647
- var css_248z = "\n.p-carousel {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-carousel-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n overflow: auto;\n}\n.p-carousel-prev,\n.p-carousel-next {\n -ms-flex-item-align: center;\n align-self: center;\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\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 overflow: hidden;\n position: relative;\n}\n.p-carousel-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-carousel-items-content {\n overflow: hidden;\n width: 100%;\n}\n.p-carousel-items-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-carousel-indicators {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.p-carousel-indicator > 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}\n\n/* Vertical */\n.p-carousel-vertical .p-carousel-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-carousel-vertical .p-carousel-items-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n height: 100%;\n}\n\n/* Keyboard Support */\n.p-items-hidden .p-carousel-item {\n visibility: hidden;\n}\n.p-items-hidden .p-carousel-item.p-carousel-item-active {\n visibility: visible;\n}\n";
761
+ var css_248z = "\n.p-carousel {\n display: flex;\n flex-direction: column;\n}\n.p-carousel-content {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n.p-carousel-prev,\n.p-carousel-next {\n align-self: center;\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n}\n.p-carousel-container {\n display: flex;\n flex-direction: row;\n}\n.p-carousel-items-content {\n overflow: hidden;\n width: 100%;\n}\n.p-carousel-items-container {\n display: flex;\n flex-direction: row;\n}\n.p-carousel-indicators {\n display: flex;\n flex-direction: row;\n justify-content: center;\n flex-wrap: wrap;\n}\n.p-carousel-indicator > button {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Vertical */\n.p-carousel-vertical .p-carousel-container {\n flex-direction: column;\n}\n.p-carousel-vertical .p-carousel-items-container {\n flex-direction: column;\n height: 100%;\n}\n\n/* Keyboard Support */\n.p-items-hidden .p-carousel-item {\n visibility: hidden;\n}\n.p-items-hidden .p-carousel-item.p-carousel-item-active {\n visibility: visible;\n}\n";
648
762
  styleInject(css_248z);
649
763
 
650
764
  script.render = render;
@@ -1 +1 @@
1
- import{UniqueComponentId as t,DomHandler as e}from"primevue/utils";import i from"primevue/ripple";import{resolveDirective as s,openBlock as n,createElementBlock as l,normalizeClass as a,renderSlot as o,createCommentVNode as r,createElementVNode as d,withDirectives as c,normalizeStyle as h,Fragment as u,renderList as m}from"vue";var p={name:"Carousel",emits:["update:page"],props:{value:null,page:{type:Number,default:0},numVisible:{type:Number,default:1},numScroll:{type:Number,default:1},responsiveOptions:Array,orientation:{type:String,default:"horizontal"},verticalViewPortHeight:{type:String,default:"300px"},contentClass:String,containerClass:String,indicatorsContentClass:String,circular:{type:Boolean,default:!1},autoplayInterval:{type:Number,default:0},showNavigators:{type:Boolean,default:!0},showIndicators:{type:Boolean,default:!0}},data(){return{id:t(),remainingItems:0,d_numVisible:this.numVisible,d_numScroll:this.numScroll,d_oldNumScroll:0,d_oldNumVisible:0,d_oldValue:null,d_page:this.page,totalShiftedItems:this.page*this.numScroll*-1,allowAutoplay:!!this.autoplayInterval,d_circular:this.circular||this.allowAutoplay,swipeThreshold:20}},isRemainingItemsAdded:!1,watch:{page(t){this.d_page=t},circular(t){this.d_circular=t},numVisible(t,e){this.d_numVisible=t,this.d_oldNumVisible=e},numScroll(t,e){this.d_oldNumScroll=e,this.d_numScroll=t},value(t){this.d_oldValue=t}},mounted(){let t=!1;if(this.createStyle(),this.calculatePosition(),this.responsiveOptions&&this.bindDocumentListeners(),this.isCircular()){let e=this.totalShiftedItems;0===this.d_page?e=-1*this.d_numVisible:0===e&&(e=-1*this.value.length,this.remainingItems>0&&(this.isRemainingItemsAdded=!0)),e!==this.totalShiftedItems&&(this.totalShiftedItems=e,t=!0)}!t&&this.isAutoplay()&&this.startAutoplay()},updated(){const t=this.isCircular();let e=!1,i=this.totalShiftedItems;if(this.autoplayInterval&&this.stopAutoplay(),this.d_oldNumScroll!==this.d_numScroll||this.d_oldNumVisible!==this.d_numVisible||this.d_oldValue.length!==this.value.length){this.remainingItems=(this.value.length-this.d_numVisible)%this.d_numScroll;let s=this.d_page;0!==this.totalIndicators&&s>=this.totalIndicators&&(s=this.totalIndicators-1,this.$emit("update:page",s),this.d_page=s,e=!0),i=s*this.d_numScroll*-1,t&&(i-=this.d_numVisible),s===this.totalIndicators-1&&this.remainingItems>0?(i+=-1*this.remainingItems+this.d_numScroll,this.isRemainingItemsAdded=!0):this.isRemainingItemsAdded=!1,i!==this.totalShiftedItems&&(this.totalShiftedItems=i,e=!0),this.d_oldNumScroll=this.d_numScroll,this.d_oldNumVisible=this.d_numVisible,this.d_oldValue=this.value,this.$refs.itemsContainer.style.transform=this.isVertical()?`translate3d(0, ${i*(100/this.d_numVisible)}%, 0)`:`translate3d(${i*(100/this.d_numVisible)}%, 0, 0)`}t&&(0===this.d_page?i=-1*this.d_numVisible:0===i&&(i=-1*this.value.length,this.remainingItems>0&&(this.isRemainingItemsAdded=!0)),i!==this.totalShiftedItems&&(this.totalShiftedItems=i,e=!0)),!e&&this.isAutoplay()&&this.startAutoplay()},beforeUnmount(){this.responsiveOptions&&this.unbindDocumentListeners(),this.autoplayInterval&&this.stopAutoplay()},methods:{step(t,i){let s=this.totalShiftedItems;const n=this.isCircular();if(null!=i)s=this.d_numScroll*i*-1,n&&(s-=this.d_numVisible),this.isRemainingItemsAdded=!1;else{s+=this.d_numScroll*t,this.isRemainingItemsAdded&&(s+=this.remainingItems-this.d_numScroll*t,this.isRemainingItemsAdded=!1);let e=n?s+this.d_numVisible:s;i=Math.abs(Math.floor(e/this.d_numScroll))}n&&this.d_page===this.totalIndicators-1&&-1===t?(s=-1*(this.value.length+this.d_numVisible),i=0):n&&0===this.d_page&&1===t?(s=0,i=this.totalIndicators-1):i===this.totalIndicators-1&&this.remainingItems>0&&(s+=-1*this.remainingItems-this.d_numScroll*t,this.isRemainingItemsAdded=!0),this.$refs.itemsContainer&&(e.removeClass(this.$refs.itemsContainer,"p-items-hidden"),this.$refs.itemsContainer.style.transform=this.isVertical()?`translate3d(0, ${s*(100/this.d_numVisible)}%, 0)`:`translate3d(${s*(100/this.d_numVisible)}%, 0, 0)`,this.$refs.itemsContainer.style.transition="transform 500ms ease 0s"),this.totalShiftedItems=s,this.$emit("update:page",i),this.d_page=i},calculatePosition(){if(this.$refs.itemsContainer&&this.responsiveOptions){let t=window.innerWidth,e={numVisible:this.numVisible,numScroll:this.numScroll};for(let i=0;i<this.responsiveOptions.length;i++){let s=this.responsiveOptions[i];parseInt(s.breakpoint,10)>=t&&(e=s)}if(this.d_numScroll!==e.numScroll){let t=this.d_page;t=parseInt(t*this.d_numScroll/e.numScroll),this.totalShiftedItems=e.numScroll*t*-1,this.isCircular()&&(this.totalShiftedItems-=e.numVisible),this.d_numScroll=e.numScroll,this.$emit("update:page",t),this.d_page=t}this.d_numVisible!==e.numVisible&&(this.d_numVisible=e.numVisible)}},navBackward(t,e){(this.d_circular||0!==this.d_page)&&this.step(1,e),this.allowAutoplay=!1,t.cancelable&&t.preventDefault()},navForward(t,e){(this.d_circular||this.d_page<this.totalIndicators-1)&&this.step(-1,e),this.allowAutoplay=!1,t.cancelable&&t.preventDefault()},onIndicatorClick(t,e){let i=this.d_page;e>i?this.navForward(t,e):e<i&&this.navBackward(t,e)},onTransitionEnd(){this.$refs.itemsContainer&&(e.addClass(this.$refs.itemsContainer,"p-items-hidden"),this.$refs.itemsContainer.style.transition="",0!==this.d_page&&this.d_page!==this.totalIndicators-1||!this.isCircular()||(this.$refs.itemsContainer.style.transform=this.isVertical()?`translate3d(0, ${this.totalShiftedItems*(100/this.d_numVisible)}%, 0)`:`translate3d(${this.totalShiftedItems*(100/this.d_numVisible)}%, 0, 0)`))},onTouchStart(t){let e=t.changedTouches[0];this.startPos={x:e.pageX,y:e.pageY}},onTouchMove(t){t.cancelable&&t.preventDefault()},onTouchEnd(t){let e=t.changedTouches[0];this.isVertical()?this.changePageOnTouch(t,e.pageY-this.startPos.y):this.changePageOnTouch(t,e.pageX-this.startPos.x)},changePageOnTouch(t,e){Math.abs(e)>this.swipeThreshold&&(e<0?this.navForward(t):this.navBackward(t))},bindDocumentListeners(){this.documentResizeListener||(this.documentResizeListener=t=>{this.calculatePosition(t)},window.addEventListener("resize",this.documentResizeListener))},unbindDocumentListeners(){this.documentResizeListener&&(window.removeEventListener("resize",this.documentResizeListener),this.documentResizeListener=null)},startAutoplay(){this.interval=setInterval((()=>{this.d_page===this.totalIndicators-1?this.step(-1,0):this.step(-1,this.d_page+1)}),this.autoplayInterval)},stopAutoplay(){this.interval&&clearInterval(this.interval)},createStyle(){this.carouselStyle||(this.carouselStyle=document.createElement("style"),this.carouselStyle.type="text/css",document.body.appendChild(this.carouselStyle));let t=`\n #${this.id} .p-carousel-item {\n flex: 1 0 ${100/this.d_numVisible}%\n }\n `;if(this.responsiveOptions){let e=[...this.responsiveOptions];e.sort(((t,e)=>{const i=t.breakpoint,s=e.breakpoint;let n=null;return n=null==i&&null!=s?-1:null!=i&&null==s?1:null==i&&null==s?0:"string"==typeof i&&"string"==typeof s?i.localeCompare(s,void 0,{numeric:!0}):i<s?-1:i>s?1:0,-1*n}));for(let i=0;i<e.length;i++){let s=e[i];t+=`\n @media screen and (max-width: ${s.breakpoint}) {\n #${this.id} .p-carousel-item {\n flex: 1 0 ${100/s.numVisible}%\n }\n }\n `}}this.carouselStyle.innerHTML=t},isVertical(){return"vertical"===this.orientation},isCircular(){return this.value&&this.d_circular&&this.value.length>=this.d_numVisible},isAutoplay(){return this.autoplayInterval&&this.allowAutoplay},firstIndex(){return this.isCircular()?-1*(this.totalShiftedItems+this.d_numVisible):-1*this.totalShiftedItems},lastIndex(){return this.firstIndex()+this.d_numVisible-1}},computed:{totalIndicators(){return this.value?Math.max(Math.ceil((this.value.length-this.d_numVisible)/this.d_numScroll)+1,0):0},backwardIsDisabled(){return this.value&&(!this.circular||this.value.length<this.d_numVisible)&&0===this.d_page},forwardIsDisabled(){return this.value&&(!this.circular||this.value.length<this.d_numVisible)&&(this.d_page===this.totalIndicators-1||0===this.totalIndicators)},containerClasses(){return["p-carousel-container",this.containerClass]},contentClasses(){return["p-carousel-content ",this.contentClass]},indicatorsContentClasses(){return["p-carousel-indicators p-reset",this.indicatorsContentClass]}},directives:{ripple:i}};const b=["id"],f={key:0,class:"p-carousel-header"},v=["disabled"],g=["disabled"],x=["onClick"],y={key:1,class:"p-carousel-footer"};!function(t,e){void 0===e&&(e={});var i=e.insertAt;if(t&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}}("\n.p-carousel {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-carousel-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n overflow: auto;\n}\n.p-carousel-prev,\n.p-carousel-next {\n -ms-flex-item-align: center;\n align-self: center;\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\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 overflow: hidden;\n position: relative;\n}\n.p-carousel-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-carousel-items-content {\n overflow: hidden;\n width: 100%;\n}\n.p-carousel-items-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.p-carousel-indicators {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.p-carousel-indicator > 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}\n\n/* Vertical */\n.p-carousel-vertical .p-carousel-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-carousel-vertical .p-carousel-items-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n height: 100%;\n}\n\n/* Keyboard Support */\n.p-items-hidden .p-carousel-item {\n visibility: hidden;\n}\n.p-items-hidden .p-carousel-item.p-carousel-item-active {\n visibility: visible;\n}\n"),p.render=function(t,e,i,p,_,w){const I=s("ripple");return n(),l("div",{id:_.id,class:a(["p-carousel p-component",{"p-carousel-vertical":w.isVertical(),"p-carousel-horizontal":!w.isVertical()}])},[t.$slots.header?(n(),l("div",f,[o(t.$slots,"header")])):r("",!0),d("div",{class:a(w.contentClasses)},[d("div",{class:a(w.containerClasses)},[i.showNavigators?c((n(),l("button",{key:0,class:a(["p-carousel-prev p-link",{"p-disabled":w.backwardIsDisabled}]),disabled:w.backwardIsDisabled,onClick:e[0]||(e[0]=(...t)=>w.navBackward&&w.navBackward(...t)),type:"button"},[d("span",{class:a(["p-carousel-prev-icon pi",{"pi-chevron-left":!w.isVertical(),"pi-chevron-up":w.isVertical()}])},null,2)],10,v)),[[I]]):r("",!0),d("div",{class:"p-carousel-items-content",style:h([{height:w.isVertical()?i.verticalViewPortHeight:"auto"}]),onTouchend:e[2]||(e[2]=(...t)=>w.onTouchEnd&&w.onTouchEnd(...t)),onTouchstart:e[3]||(e[3]=(...t)=>w.onTouchStart&&w.onTouchStart(...t)),onTouchmove:e[4]||(e[4]=(...t)=>w.onTouchMove&&w.onTouchMove(...t))},[d("div",{ref:"itemsContainer",class:"p-carousel-items-container",onTransitionend:e[1]||(e[1]=(...t)=>w.onTransitionEnd&&w.onTransitionEnd(...t))},[w.isCircular()?(n(!0),l(u,{key:0},m(i.value.slice(-1*_.d_numVisible),((e,s)=>(n(),l("div",{key:s+"_scloned",class:a(["p-carousel-item p-carousel-item-cloned",{"p-carousel-item-active":-1*_.totalShiftedItems===i.value.length+_.d_numVisible,"p-carousel-item-start":0===s,"p-carousel-item-end":i.value.slice(-1*_.d_numVisible).length-1===s}])},[o(t.$slots,"item",{data:e,index:s})],2)))),128)):r("",!0),(n(!0),l(u,null,m(i.value,((e,i)=>(n(),l("div",{key:i,class:a(["p-carousel-item",{"p-carousel-item-active":w.firstIndex()<=i&&w.lastIndex()>=i,"p-carousel-item-start":w.firstIndex()===i,"p-carousel-item-end":w.lastIndex()===i}])},[o(t.$slots,"item",{data:e,index:i})],2)))),128)),w.isCircular()?(n(!0),l(u,{key:1},m(i.value.slice(0,_.d_numVisible),((e,s)=>(n(),l("div",{key:s+"_fcloned",class:a(["p-carousel-item p-carousel-item-cloned",{"p-carousel-item-active":0===_.totalShiftedItems,"p-carousel-item-start":0===s,"p-carousel-item-end":i.value.slice(0,_.d_numVisible).length-1===s}])},[o(t.$slots,"item",{data:e,index:s})],2)))),128)):r("",!0)],544)],36),i.showNavigators?c((n(),l("button",{key:1,class:a(["p-carousel-next p-link",{"p-disabled":w.forwardIsDisabled}]),disabled:w.forwardIsDisabled,onClick:e[5]||(e[5]=(...t)=>w.navForward&&w.navForward(...t)),type:"button"},[d("span",{class:a(["p-carousel-prev-icon pi",{"pi-chevron-right":!w.isVertical(),"pi-chevron-down":w.isVertical()}])},null,2)],10,g)),[[I]]):r("",!0)],2),w.totalIndicators>=0&&i.showIndicators?(n(),l("ul",{key:0,class:a(w.indicatorsContentClasses)},[(n(!0),l(u,null,m(w.totalIndicators,((t,e)=>(n(),l("li",{key:"p-carousel-indicator-"+e.toString(),class:a(["p-carousel-indicator",{"p-highlight":_.d_page===e}])},[d("button",{class:"p-link",onClick:t=>w.onIndicatorClick(t,e),type:"button"},null,8,x)],2)))),128))],2)):r("",!0)],2),t.$slots.footer?(n(),l("div",y,[o(t.$slots,"footer")])):r("",!0)],10,b)};export{p as default};
1
+ import t from"primevue/ripple";import{DomHandler as e,UniqueComponentId as i}from"primevue/utils";import{resolveDirective as s,openBlock as n,createElementBlock as a,normalizeClass as l,renderSlot as r,createCommentVNode as o,createElementVNode as d,withDirectives as c,mergeProps as h,normalizeStyle as u,Fragment as p,renderList as m}from"vue";var f={name:"Carousel",emits:["update:page"],props:{value:null,page:{type:Number,default:0},numVisible:{type:Number,default:1},numScroll:{type:Number,default:1},responsiveOptions:Array,orientation:{type:String,default:"horizontal"},verticalViewPortHeight:{type:String,default:"300px"},contentClass:String,containerClass:String,indicatorsContentClass:String,circular:{type:Boolean,default:!1},autoplayInterval:{type:Number,default:0},showNavigators:{type:Boolean,default:!0},showIndicators:{type:Boolean,default:!0},prevButtonProps:{type:null,default:null},nextButtonProps:{type:null,default:null}},isRemainingItemsAdded:!1,data(){return{remainingItems:0,d_numVisible:this.numVisible,d_numScroll:this.numScroll,d_oldNumScroll:0,d_oldNumVisible:0,d_oldValue:null,d_page:this.page,totalShiftedItems:this.page*this.numScroll*-1,allowAutoplay:!!this.autoplayInterval,d_circular:this.circular||this.allowAutoplay,swipeThreshold:20}},watch:{page(t){this.d_page=t},circular(t){this.d_circular=t},numVisible(t,e){this.d_numVisible=t,this.d_oldNumVisible=e},numScroll(t,e){this.d_oldNumScroll=e,this.d_numScroll=t},value(t){this.d_oldValue=t}},mounted(){let t=!1;if(this.$el.setAttribute(this.attributeSelector,""),this.createStyle(),this.calculatePosition(),this.responsiveOptions&&this.bindDocumentListeners(),this.isCircular()){let e=this.totalShiftedItems;0===this.d_page?e=-1*this.d_numVisible:0===e&&(e=-1*this.value.length,this.remainingItems>0&&(this.isRemainingItemsAdded=!0)),e!==this.totalShiftedItems&&(this.totalShiftedItems=e,t=!0)}!t&&this.isAutoplay()&&this.startAutoplay()},updated(){const t=this.isCircular();let e=!1,i=this.totalShiftedItems;if(this.autoplayInterval&&this.stopAutoplay(),this.d_oldNumScroll!==this.d_numScroll||this.d_oldNumVisible!==this.d_numVisible||this.d_oldValue.length!==this.value.length){this.remainingItems=(this.value.length-this.d_numVisible)%this.d_numScroll;let s=this.d_page;0!==this.totalIndicators&&s>=this.totalIndicators&&(s=this.totalIndicators-1,this.$emit("update:page",s),this.d_page=s,e=!0),i=s*this.d_numScroll*-1,t&&(i-=this.d_numVisible),s===this.totalIndicators-1&&this.remainingItems>0?(i+=-1*this.remainingItems+this.d_numScroll,this.isRemainingItemsAdded=!0):this.isRemainingItemsAdded=!1,i!==this.totalShiftedItems&&(this.totalShiftedItems=i,e=!0),this.d_oldNumScroll=this.d_numScroll,this.d_oldNumVisible=this.d_numVisible,this.d_oldValue=this.value,this.$refs.itemsContainer.style.transform=this.isVertical()?`translate3d(0, ${i*(100/this.d_numVisible)}%, 0)`:`translate3d(${i*(100/this.d_numVisible)}%, 0, 0)`}t&&(0===this.d_page?i=-1*this.d_numVisible:0===i&&(i=-1*this.value.length,this.remainingItems>0&&(this.isRemainingItemsAdded=!0)),i!==this.totalShiftedItems&&(this.totalShiftedItems=i,e=!0)),!e&&this.isAutoplay()&&this.startAutoplay()},beforeUnmount(){this.responsiveOptions&&this.unbindDocumentListeners(),this.autoplayInterval&&this.stopAutoplay()},methods:{step(t,i){let s=this.totalShiftedItems;const n=this.isCircular();if(null!=i)s=this.d_numScroll*i*-1,n&&(s-=this.d_numVisible),this.isRemainingItemsAdded=!1;else{s+=this.d_numScroll*t,this.isRemainingItemsAdded&&(s+=this.remainingItems-this.d_numScroll*t,this.isRemainingItemsAdded=!1);let e=n?s+this.d_numVisible:s;i=Math.abs(Math.floor(e/this.d_numScroll))}n&&this.d_page===this.totalIndicators-1&&-1===t?(s=-1*(this.value.length+this.d_numVisible),i=0):n&&0===this.d_page&&1===t?(s=0,i=this.totalIndicators-1):i===this.totalIndicators-1&&this.remainingItems>0&&(s+=-1*this.remainingItems-this.d_numScroll*t,this.isRemainingItemsAdded=!0),this.$refs.itemsContainer&&(e.removeClass(this.$refs.itemsContainer,"p-items-hidden"),this.$refs.itemsContainer.style.transform=this.isVertical()?`translate3d(0, ${s*(100/this.d_numVisible)}%, 0)`:`translate3d(${s*(100/this.d_numVisible)}%, 0, 0)`,this.$refs.itemsContainer.style.transition="transform 500ms ease 0s"),this.totalShiftedItems=s,this.$emit("update:page",i),this.d_page=i},calculatePosition(){if(this.$refs.itemsContainer&&this.responsiveOptions){let t=window.innerWidth,e={numVisible:this.numVisible,numScroll:this.numScroll};for(let i=0;i<this.responsiveOptions.length;i++){let s=this.responsiveOptions[i];parseInt(s.breakpoint,10)>=t&&(e=s)}if(this.d_numScroll!==e.numScroll){let t=this.d_page;t=parseInt(t*this.d_numScroll/e.numScroll),this.totalShiftedItems=e.numScroll*t*-1,this.isCircular()&&(this.totalShiftedItems-=e.numVisible),this.d_numScroll=e.numScroll,this.$emit("update:page",t),this.d_page=t}this.d_numVisible!==e.numVisible&&(this.d_numVisible=e.numVisible)}},navBackward(t,e){(this.d_circular||0!==this.d_page)&&this.step(1,e),this.allowAutoplay=!1,t.cancelable&&t.preventDefault()},navForward(t,e){(this.d_circular||this.d_page<this.totalIndicators-1)&&this.step(-1,e),this.allowAutoplay=!1,t.cancelable&&t.preventDefault()},onIndicatorClick(t,e){let i=this.d_page;e>i?this.navForward(t,e):e<i&&this.navBackward(t,e)},onTransitionEnd(){this.$refs.itemsContainer&&(e.addClass(this.$refs.itemsContainer,"p-items-hidden"),this.$refs.itemsContainer.style.transition="",0!==this.d_page&&this.d_page!==this.totalIndicators-1||!this.isCircular()||(this.$refs.itemsContainer.style.transform=this.isVertical()?`translate3d(0, ${this.totalShiftedItems*(100/this.d_numVisible)}%, 0)`:`translate3d(${this.totalShiftedItems*(100/this.d_numVisible)}%, 0, 0)`))},onTouchStart(t){let e=t.changedTouches[0];this.startPos={x:e.pageX,y:e.pageY}},onTouchMove(t){t.cancelable&&t.preventDefault()},onTouchEnd(t){let e=t.changedTouches[0];this.isVertical()?this.changePageOnTouch(t,e.pageY-this.startPos.y):this.changePageOnTouch(t,e.pageX-this.startPos.x)},changePageOnTouch(t,e){Math.abs(e)>this.swipeThreshold&&(e<0?this.navForward(t):this.navBackward(t))},onIndicatorKeydown(t){switch(t.code){case"ArrowRight":this.onRightKey();break;case"ArrowLeft":this.onLeftKey();break;case"Home":this.onHomeKey(),t.preventDefault();break;case"End":this.onEndKey(),t.preventDefault();break;case"ArrowUp":case"ArrowDown":t.preventDefault();break;case"Tab":this.onTabKey()}},onRightKey(){const t=[...e.find(this.$refs.indicatorContent,".p-carousel-indicator")],i=this.findFocusedIndicatorIndex();this.changedFocusedIndicator(i,i+1===t.length?t.length-1:i+1)},onLeftKey(){const t=this.findFocusedIndicatorIndex();this.changedFocusedIndicator(t,t-1<=0?0:t-1)},onHomeKey(){const t=this.findFocusedIndicatorIndex();this.changedFocusedIndicator(t,0)},onEndKey(){const t=[...e.find(this.$refs.indicatorContent,".p-carousel-indicator")],i=this.findFocusedIndicatorIndex();this.changedFocusedIndicator(i,t.length-1)},onTabKey(){const t=[...e.find(this.$refs.indicatorContent,".p-carousel-indicator")],i=t.findIndex((t=>e.hasClass(t,"p-highlight"))),s=e.findSingle(this.$refs.indicatorContent,'.p-carousel-indicator > button[tabindex="0"]'),n=t.findIndex((t=>t===s.parentElement));t[n].children[0].tabIndex="-1",t[i].children[0].tabIndex="0"},findFocusedIndicatorIndex(){const t=[...e.find(this.$refs.indicatorContent,".p-carousel-indicator")],i=e.findSingle(this.$refs.indicatorContent,'.p-carousel-indicator > button[tabindex="0"]');return t.findIndex((t=>t===i.parentElement))},changedFocusedIndicator(t,i){const s=[...e.find(this.$refs.indicatorContent,".p-carousel-indicator")];s[t].children[0].tabIndex="-1",s[i].children[0].tabIndex="0",s[i].children[0].focus()},bindDocumentListeners(){this.documentResizeListener||(this.documentResizeListener=t=>{this.calculatePosition(t)},window.addEventListener("resize",this.documentResizeListener))},unbindDocumentListeners(){this.documentResizeListener&&(window.removeEventListener("resize",this.documentResizeListener),this.documentResizeListener=null)},startAutoplay(){this.interval=setInterval((()=>{this.d_page===this.totalIndicators-1?this.step(-1,0):this.step(-1,this.d_page+1)}),this.autoplayInterval)},stopAutoplay(){this.interval&&clearInterval(this.interval)},createStyle(){this.carouselStyle||(this.carouselStyle=document.createElement("style"),this.carouselStyle.type="text/css",document.body.appendChild(this.carouselStyle));let t=`\n .p-carousel[${this.attributeSelector}] .p-carousel-item {\n flex: 1 0 ${100/this.d_numVisible}%\n }\n `;if(this.responsiveOptions){let e=[...this.responsiveOptions];e.sort(((t,e)=>{const i=t.breakpoint,s=e.breakpoint;let n=null;return n=null==i&&null!=s?-1:null!=i&&null==s?1:null==i&&null==s?0:"string"==typeof i&&"string"==typeof s?i.localeCompare(s,void 0,{numeric:!0}):i<s?-1:i>s?1:0,-1*n}));for(let i=0;i<e.length;i++){let s=e[i];t+=`\n @media screen and (max-width: ${s.breakpoint}) {\n .p-carousel[${this.attributeSelector}] .p-carousel-item {\n flex: 1 0 ${100/s.numVisible}%\n }\n }\n `}}this.carouselStyle.innerHTML=t},isVertical(){return"vertical"===this.orientation},isCircular(){return this.value&&this.d_circular&&this.value.length>=this.d_numVisible},isAutoplay(){return this.autoplayInterval&&this.allowAutoplay},firstIndex(){return this.isCircular()?-1*(this.totalShiftedItems+this.d_numVisible):-1*this.totalShiftedItems},lastIndex(){return this.firstIndex()+this.d_numVisible-1},ariaSlideNumber(t){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.slideNumber.replace(/{slideNumber}/g,t):void 0},ariaPageLabel(t){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g,t):void 0}},computed:{totalIndicators(){return this.value?Math.max(Math.ceil((this.value.length-this.d_numVisible)/this.d_numScroll)+1,0):0},backwardIsDisabled(){return this.value&&(!this.circular||this.value.length<this.d_numVisible)&&0===this.d_page},forwardIsDisabled(){return this.value&&(!this.circular||this.value.length<this.d_numVisible)&&(this.d_page===this.totalIndicators-1||0===this.totalIndicators)},containerClasses(){return["p-carousel-container",this.containerClass]},contentClasses(){return["p-carousel-content ",this.contentClass]},indicatorsContentClasses(){return["p-carousel-indicators p-reset",this.indicatorsContentClass]},ariaSlideLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.slide:void 0},ariaPrevButtonLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.prevPageLabel:void 0},ariaNextButtonLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.nextPageLabel:void 0},attributeSelector:()=>i()},directives:{ripple:t}};const g={key:0,class:"p-carousel-header"},v=["aria-live"],b=["disabled","aria-label"],I=["aria-hidden","aria-label","aria-roledescription"],y=["disabled","aria-label"],_=["tabindex","aria-label","aria-current","onClick"],S={key:1,class:"p-carousel-footer"};!function(t,e){void 0===e&&(e={});var i=e.insertAt;if(t&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}}("\n.p-carousel {\n display: flex;\n flex-direction: column;\n}\n.p-carousel-content {\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n.p-carousel-prev,\n.p-carousel-next {\n align-self: center;\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n}\n.p-carousel-container {\n display: flex;\n flex-direction: row;\n}\n.p-carousel-items-content {\n overflow: hidden;\n width: 100%;\n}\n.p-carousel-items-container {\n display: flex;\n flex-direction: row;\n}\n.p-carousel-indicators {\n display: flex;\n flex-direction: row;\n justify-content: center;\n flex-wrap: wrap;\n}\n.p-carousel-indicator > button {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Vertical */\n.p-carousel-vertical .p-carousel-container {\n flex-direction: column;\n}\n.p-carousel-vertical .p-carousel-items-container {\n flex-direction: column;\n height: 100%;\n}\n\n/* Keyboard Support */\n.p-items-hidden .p-carousel-item {\n visibility: hidden;\n}\n.p-items-hidden .p-carousel-item.p-carousel-item-active {\n visibility: visible;\n}\n"),f.render=function(t,e,i,f,x,V){const w=s("ripple");return n(),a("div",{class:l(["p-carousel p-component",{"p-carousel-vertical":V.isVertical(),"p-carousel-horizontal":!V.isVertical()}]),role:"region"},[t.$slots.header?(n(),a("div",g,[r(t.$slots,"header")])):o("",!0),d("div",{class:l(V.contentClasses)},[d("div",{class:l(V.containerClasses),"aria-live":x.allowAutoplay?"polite":"off"},[i.showNavigators?c((n(),a("button",h({key:0,type:"button",class:["p-carousel-prev p-link",{"p-disabled":V.backwardIsDisabled}],disabled:V.backwardIsDisabled,"aria-label":V.ariaPrevButtonLabel,onClick:e[0]||(e[0]=(...t)=>V.navBackward&&V.navBackward(...t))},i.prevButtonProps),[d("span",{class:l(["p-carousel-prev-icon pi",{"pi-chevron-left":!V.isVertical(),"pi-chevron-up":V.isVertical()}])},null,2)],16,b)),[[w]]):o("",!0),d("div",{class:"p-carousel-items-content",style:u([{height:V.isVertical()?i.verticalViewPortHeight:"auto"}]),onTouchend:e[2]||(e[2]=(...t)=>V.onTouchEnd&&V.onTouchEnd(...t)),onTouchstart:e[3]||(e[3]=(...t)=>V.onTouchStart&&V.onTouchStart(...t)),onTouchmove:e[4]||(e[4]=(...t)=>V.onTouchMove&&V.onTouchMove(...t))},[d("div",{ref:"itemsContainer",class:"p-carousel-items-container",onTransitionend:e[1]||(e[1]=(...t)=>V.onTransitionEnd&&V.onTransitionEnd(...t))},[V.isCircular()?(n(!0),a(p,{key:0},m(i.value.slice(-1*x.d_numVisible),((e,s)=>(n(),a("div",{key:s+"_scloned",class:l(["p-carousel-item p-carousel-item-cloned",{"p-carousel-item-active":-1*x.totalShiftedItems===i.value.length+x.d_numVisible,"p-carousel-item-start":0===s,"p-carousel-item-end":i.value.slice(-1*x.d_numVisible).length-1===s}])},[r(t.$slots,"item",{data:e,index:s})],2)))),128)):o("",!0),(n(!0),a(p,null,m(i.value,((e,i)=>(n(),a("div",{key:i,class:l(["p-carousel-item",{"p-carousel-item-active":V.firstIndex()<=i&&V.lastIndex()>=i,"p-carousel-item-start":V.firstIndex()===i,"p-carousel-item-end":V.lastIndex()===i}]),role:"group","aria-hidden":V.firstIndex()>i||V.lastIndex()<i||void 0,"aria-label":V.ariaSlideNumber(i),"aria-roledescription":V.ariaSlideLabel},[r(t.$slots,"item",{data:e,index:i})],10,I)))),128)),V.isCircular()?(n(!0),a(p,{key:1},m(i.value.slice(0,x.d_numVisible),((e,s)=>(n(),a("div",{key:s+"_fcloned",class:l(["p-carousel-item p-carousel-item-cloned",{"p-carousel-item-active":0===x.totalShiftedItems,"p-carousel-item-start":0===s,"p-carousel-item-end":i.value.slice(0,x.d_numVisible).length-1===s}])},[r(t.$slots,"item",{data:e,index:s})],2)))),128)):o("",!0)],544)],36),i.showNavigators?c((n(),a("button",h({key:1,type:"button",class:["p-carousel-next p-link",{"p-disabled":V.forwardIsDisabled}],disabled:V.forwardIsDisabled,"aria-label":V.ariaNextButtonLabel,onClick:e[5]||(e[5]=(...t)=>V.navForward&&V.navForward(...t))},i.nextButtonProps),[d("span",{class:l(["p-carousel-prev-icon pi",{"pi-chevron-right":!V.isVertical(),"pi-chevron-down":V.isVertical()}])},null,2)],16,y)),[[w]]):o("",!0)],10,v),V.totalIndicators>=0&&i.showIndicators?(n(),a("ul",{key:0,ref:"indicatorContent",class:l(V.indicatorsContentClasses),onKeydown:e[6]||(e[6]=(...t)=>V.onIndicatorKeydown&&V.onIndicatorKeydown(...t))},[(n(!0),a(p,null,m(V.totalIndicators,((t,e)=>(n(),a("li",{key:"p-carousel-indicator-"+e.toString(),class:l(["p-carousel-indicator",{"p-highlight":x.d_page===e}])},[d("button",{class:"p-link",type:"button",tabindex:x.d_page===e?"0":"-1","aria-label":V.ariaPageLabel(e+1),"aria-current":x.d_page===e?"page":void 0,onClick:t=>V.onIndicatorClick(t,e)},null,8,_)],2)))),128))],34)):o("",!0)],2),t.$slots.footer?(n(),a("div",S,[r(t.$slots,"footer")])):o("",!0)],2)};export{f as default};