primevue 3.27.0 → 3.28.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 (408) hide show
  1. package/README.md +1 -1
  2. package/autocomplete/AutoComplete.d.ts +10 -1
  3. package/autocomplete/AutoComplete.vue +1 -1
  4. package/autocomplete/autocomplete.cjs.js +4 -1
  5. package/autocomplete/autocomplete.cjs.min.js +1 -1
  6. package/autocomplete/autocomplete.esm.js +4 -1
  7. package/autocomplete/autocomplete.esm.min.js +1 -1
  8. package/autocomplete/autocomplete.js +4 -1
  9. package/autocomplete/autocomplete.min.js +1 -1
  10. package/avatar/Avatar.d.ts +44 -0
  11. package/avatar/Avatar.vue +10 -8
  12. package/avatar/avatar.cjs.js +36 -34
  13. package/avatar/avatar.cjs.min.js +1 -1
  14. package/avatar/avatar.esm.js +33 -35
  15. package/avatar/avatar.esm.min.js +1 -1
  16. package/avatar/avatar.js +37 -36
  17. package/avatar/avatar.min.js +1 -1
  18. package/avatargroup/AvatarGroup.d.ts +27 -1
  19. package/avatargroup/AvatarGroup.vue +5 -2
  20. package/avatargroup/avatargroup.cjs.js +9 -5
  21. package/avatargroup/avatargroup.cjs.min.js +1 -1
  22. package/avatargroup/avatargroup.esm.js +6 -6
  23. package/avatargroup/avatargroup.esm.min.js +1 -1
  24. package/avatargroup/avatargroup.js +10 -7
  25. package/avatargroup/avatargroup.min.js +1 -1
  26. package/badge/Badge.d.ts +32 -0
  27. package/badge/Badge.vue +3 -1
  28. package/badge/badge.cjs.js +8 -4
  29. package/badge/badge.cjs.min.js +1 -1
  30. package/badge/badge.esm.js +5 -5
  31. package/badge/badge.esm.min.js +1 -1
  32. package/badge/badge.js +9 -6
  33. package/badge/badge.min.js +1 -1
  34. package/basecomponent/BaseComponent.vue +10 -3
  35. package/basecomponent/basecomponent.cjs.js +10 -3
  36. package/basecomponent/basecomponent.cjs.min.js +1 -1
  37. package/basecomponent/basecomponent.esm.js +10 -3
  38. package/basecomponent/basecomponent.esm.min.js +1 -1
  39. package/basecomponent/basecomponent.js +10 -3
  40. package/basecomponent/basecomponent.min.js +1 -1
  41. package/baseicon/BaseIcon.vue +2 -2
  42. package/baseicon/baseicon.cjs.js +2 -2
  43. package/baseicon/baseicon.cjs.min.js +1 -1
  44. package/baseicon/baseicon.esm.js +2 -2
  45. package/baseicon/baseicon.esm.min.js +1 -1
  46. package/baseicon/baseicon.js +2 -2
  47. package/baseicon/baseicon.min.js +1 -1
  48. package/blockui/BlockUI.d.ts +44 -0
  49. package/blockui/BlockUI.vue +3 -1
  50. package/blockui/blockui.cjs.js +9 -3
  51. package/blockui/blockui.cjs.min.js +1 -1
  52. package/blockui/blockui.esm.js +6 -4
  53. package/blockui/blockui.esm.min.js +1 -1
  54. package/blockui/blockui.js +10 -5
  55. package/blockui/blockui.min.js +1 -1
  56. package/breadcrumb/Breadcrumb.d.ts +60 -0
  57. package/breadcrumb/Breadcrumb.vue +8 -6
  58. package/breadcrumb/BreadcrumbItem.vue +14 -10
  59. package/breadcrumb/breadcrumb.cjs.js +53 -51
  60. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  61. package/breadcrumb/breadcrumb.esm.js +53 -52
  62. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  63. package/breadcrumb/breadcrumb.js +54 -53
  64. package/breadcrumb/breadcrumb.min.js +1 -1
  65. package/button/Button.d.ts +48 -0
  66. package/button/Button.vue +10 -9
  67. package/button/button.cjs.js +43 -44
  68. package/button/button.cjs.min.js +1 -1
  69. package/button/button.esm.js +43 -45
  70. package/button/button.esm.min.js +1 -1
  71. package/button/button.js +44 -46
  72. package/button/button.min.js +1 -1
  73. package/chart/Chart.d.ts +36 -0
  74. package/chart/Chart.vue +5 -2
  75. package/chart/chart.cjs.js +10 -5
  76. package/chart/chart.cjs.min.js +1 -1
  77. package/chart/chart.esm.js +7 -6
  78. package/chart/chart.esm.min.js +1 -1
  79. package/chart/chart.js +11 -7
  80. package/chart/chart.min.js +1 -1
  81. package/chip/Chip.d.ts +60 -0
  82. package/chip/Chip.vue +10 -9
  83. package/chip/chip.cjs.js +35 -36
  84. package/chip/chip.cjs.min.js +1 -1
  85. package/chip/chip.esm.js +35 -37
  86. package/chip/chip.esm.min.js +1 -1
  87. package/chip/chip.js +36 -38
  88. package/chip/chip.min.js +1 -1
  89. package/config/PrimeVue.d.ts +8 -0
  90. package/config/config.cjs.js +3 -1
  91. package/config/config.cjs.min.js +1 -1
  92. package/config/config.esm.js +3 -2
  93. package/config/config.esm.min.js +1 -1
  94. package/config/config.js +3 -1
  95. package/config/config.min.js +1 -1
  96. package/confirmdialog/ConfirmDialog.d.ts +88 -0
  97. package/confirmdialog/ConfirmDialog.vue +9 -6
  98. package/confirmdialog/confirmdialog.cjs.js +22 -18
  99. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  100. package/confirmdialog/confirmdialog.esm.js +22 -19
  101. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  102. package/confirmdialog/confirmdialog.js +23 -20
  103. package/confirmdialog/confirmdialog.min.js +1 -1
  104. package/confirmpopup/ConfirmPopup.d.ts +75 -0
  105. package/confirmpopup/ConfirmPopup.vue +11 -9
  106. package/confirmpopup/confirmpopup.cjs.js +27 -25
  107. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  108. package/confirmpopup/confirmpopup.esm.js +27 -26
  109. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  110. package/confirmpopup/confirmpopup.js +28 -27
  111. package/confirmpopup/confirmpopup.min.js +1 -1
  112. package/contextmenu/ContextMenu.d.ts +135 -0
  113. package/contextmenu/ContextMenu.vue +4 -1
  114. package/contextmenu/ContextMenuSub.vue +46 -10
  115. package/contextmenu/contextmenu.cjs.js +57 -46
  116. package/contextmenu/contextmenu.cjs.min.js +1 -1
  117. package/contextmenu/contextmenu.esm.js +57 -47
  118. package/contextmenu/contextmenu.esm.min.js +1 -1
  119. package/contextmenu/contextmenu.js +58 -48
  120. package/contextmenu/contextmenu.min.js +1 -1
  121. package/core/core.js +278 -246
  122. package/core/core.min.js +11 -11
  123. package/dialog/Dialog.d.ts +87 -0
  124. package/dialog/Dialog.vue +23 -10
  125. package/dialog/dialog.cjs.js +31 -30
  126. package/dialog/dialog.cjs.min.js +1 -1
  127. package/dialog/dialog.esm.js +31 -31
  128. package/dialog/dialog.esm.min.js +1 -1
  129. package/dialog/dialog.js +32 -32
  130. package/dialog/dialog.min.js +1 -1
  131. package/dock/Dock.d.ts +94 -0
  132. package/dock/Dock.vue +4 -2
  133. package/dock/DockSub.vue +30 -6
  134. package/dock/dock.cjs.js +52 -39
  135. package/dock/dock.cjs.min.js +1 -1
  136. package/dock/dock.esm.js +52 -40
  137. package/dock/dock.esm.min.js +1 -1
  138. package/dock/dock.js +53 -41
  139. package/dock/dock.min.js +1 -1
  140. package/dropdown/Dropdown.vue +1 -1
  141. package/dropdown/dropdown.cjs.js +1 -1
  142. package/dropdown/dropdown.cjs.min.js +1 -1
  143. package/dropdown/dropdown.esm.js +1 -1
  144. package/dropdown/dropdown.esm.min.js +1 -1
  145. package/dropdown/dropdown.js +1 -1
  146. package/dropdown/dropdown.min.js +1 -1
  147. package/dynamicdialog/DynamicDialog.vue +3 -1
  148. package/dynamicdialog/dynamicdialog.cjs.js +5 -1
  149. package/dynamicdialog/dynamicdialog.cjs.min.js +1 -1
  150. package/dynamicdialog/dynamicdialog.esm.js +4 -1
  151. package/dynamicdialog/dynamicdialog.esm.min.js +1 -1
  152. package/dynamicdialog/dynamicdialog.js +6 -3
  153. package/dynamicdialog/dynamicdialog.min.js +1 -1
  154. package/fileupload/FileContent.vue +11 -9
  155. package/fileupload/FileUpload.d.ts +154 -0
  156. package/fileupload/FileUpload.vue +26 -24
  157. package/fileupload/fileupload.cjs.js +100 -97
  158. package/fileupload/fileupload.cjs.min.js +1 -1
  159. package/fileupload/fileupload.esm.js +100 -98
  160. package/fileupload/fileupload.esm.min.js +1 -1
  161. package/fileupload/fileupload.js +101 -99
  162. package/fileupload/fileupload.min.js +1 -1
  163. package/inlinemessage/InlineMessage.d.ts +52 -0
  164. package/inlinemessage/InlineMessage.vue +7 -3
  165. package/inlinemessage/inlinemessage.cjs.js +12 -11
  166. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  167. package/inlinemessage/inlinemessage.esm.js +12 -12
  168. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  169. package/inlinemessage/inlinemessage.js +13 -13
  170. package/inlinemessage/inlinemessage.min.js +1 -1
  171. package/inplace/Inplace.d.ts +59 -0
  172. package/inplace/Inplace.vue +7 -5
  173. package/inplace/inplace.cjs.js +17 -16
  174. package/inplace/inplace.cjs.min.js +1 -1
  175. package/inplace/inplace.esm.js +17 -17
  176. package/inplace/inplace.esm.min.js +1 -1
  177. package/inplace/inplace.js +18 -18
  178. package/inplace/inplace.min.js +1 -1
  179. package/listbox/Listbox.d.ts +1 -1
  180. package/megamenu/MegaMenu.d.ts +149 -0
  181. package/megamenu/MegaMenu.vue +6 -3
  182. package/megamenu/MegaMenuSub.vue +43 -15
  183. package/megamenu/megamenu.cjs.js +83 -75
  184. package/megamenu/megamenu.cjs.min.js +1 -1
  185. package/megamenu/megamenu.esm.js +83 -76
  186. package/megamenu/megamenu.esm.min.js +1 -1
  187. package/megamenu/megamenu.js +84 -77
  188. package/megamenu/megamenu.min.js +1 -1
  189. package/menu/Menu.d.ts +113 -0
  190. package/menu/Menu.vue +11 -8
  191. package/menu/Menuitem.vue +20 -8
  192. package/menu/menu.cjs.js +73 -62
  193. package/menu/menu.cjs.min.js +1 -1
  194. package/menu/menu.esm.js +73 -63
  195. package/menu/menu.esm.min.js +1 -1
  196. package/menu/menu.js +74 -64
  197. package/menu/menu.min.js +1 -1
  198. package/menubar/Menubar.d.ts +146 -0
  199. package/menubar/Menubar.vue +8 -5
  200. package/menubar/MenubarSub.vue +38 -10
  201. package/menubar/menubar.cjs.js +70 -60
  202. package/menubar/menubar.cjs.min.js +1 -1
  203. package/menubar/menubar.esm.js +70 -61
  204. package/menubar/menubar.esm.min.js +1 -1
  205. package/menubar/menubar.js +71 -62
  206. package/menubar/menubar.min.js +1 -1
  207. package/message/Message.d.ts +64 -1
  208. package/message/Message.vue +9 -7
  209. package/message/message.cjs.js +22 -21
  210. package/message/message.cjs.min.js +1 -1
  211. package/message/message.esm.js +22 -22
  212. package/message/message.esm.min.js +1 -1
  213. package/message/message.js +23 -23
  214. package/message/message.min.js +1 -1
  215. package/multiselect/MultiSelect.d.ts +1 -1
  216. package/overlaypanel/OverlayPanel.d.ts +56 -0
  217. package/overlaypanel/OverlayPanel.vue +6 -4
  218. package/overlaypanel/overlaypanel.cjs.js +13 -10
  219. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  220. package/overlaypanel/overlaypanel.esm.js +13 -11
  221. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  222. package/overlaypanel/overlaypanel.js +14 -12
  223. package/overlaypanel/overlaypanel.min.js +1 -1
  224. package/package.json +1 -1
  225. package/panel/Panel.d.ts +10 -1
  226. package/panel/Panel.vue +1 -1
  227. package/panel/panel.cjs.js +4 -1
  228. package/panel/panel.cjs.min.js +1 -1
  229. package/panel/panel.esm.js +4 -1
  230. package/panel/panel.esm.min.js +1 -1
  231. package/panel/panel.js +4 -1
  232. package/panel/panel.min.js +1 -1
  233. package/panelmenu/PanelMenu.d.ts +133 -0
  234. package/panelmenu/PanelMenu.vue +36 -13
  235. package/panelmenu/PanelMenuList.vue +3 -0
  236. package/panelmenu/PanelMenuSub.vue +33 -12
  237. package/panelmenu/panelmenu.cjs.js +115 -96
  238. package/panelmenu/panelmenu.cjs.min.js +1 -1
  239. package/panelmenu/panelmenu.esm.js +115 -97
  240. package/panelmenu/panelmenu.esm.min.js +1 -1
  241. package/panelmenu/panelmenu.js +116 -98
  242. package/panelmenu/panelmenu.min.js +1 -1
  243. package/password/Password.vue +2 -2
  244. package/password/password.cjs.js +2 -2
  245. package/password/password.cjs.min.js +1 -1
  246. package/password/password.esm.js +2 -2
  247. package/password/password.esm.min.js +1 -1
  248. package/password/password.js +2 -2
  249. package/password/password.min.js +1 -1
  250. package/progressbar/ProgressBar.d.ts +40 -0
  251. package/progressbar/ProgressBar.vue +8 -5
  252. package/progressbar/progressbar.cjs.js +25 -23
  253. package/progressbar/progressbar.cjs.min.js +1 -1
  254. package/progressbar/progressbar.esm.js +22 -24
  255. package/progressbar/progressbar.esm.min.js +1 -1
  256. package/progressbar/progressbar.js +26 -25
  257. package/progressbar/progressbar.min.js +1 -1
  258. package/progressspinner/ProgressSpinner.d.ts +40 -0
  259. package/progressspinner/ProgressSpinner.vue +6 -3
  260. package/progressspinner/progressspinner.cjs.js +18 -13
  261. package/progressspinner/progressspinner.cjs.min.js +1 -1
  262. package/progressspinner/progressspinner.esm.js +15 -14
  263. package/progressspinner/progressspinner.esm.min.js +1 -1
  264. package/progressspinner/progressspinner.js +19 -15
  265. package/progressspinner/progressspinner.min.js +1 -1
  266. package/resources/themes/arya-blue/theme.css +1 -1
  267. package/resources/themes/arya-green/theme.css +1 -1
  268. package/resources/themes/arya-orange/theme.css +1 -1
  269. package/resources/themes/arya-purple/theme.css +1 -1
  270. package/resources/themes/bootstrap4-dark-blue/theme.css +1 -1
  271. package/resources/themes/bootstrap4-dark-purple/theme.css +1 -1
  272. package/resources/themes/bootstrap4-light-blue/theme.css +1 -1
  273. package/resources/themes/bootstrap4-light-purple/theme.css +1 -1
  274. package/resources/themes/fluent-light/theme.css +1 -1
  275. package/resources/themes/lara-dark-blue/theme.css +1 -1
  276. package/resources/themes/lara-dark-indigo/theme.css +1 -1
  277. package/resources/themes/lara-dark-purple/theme.css +1 -1
  278. package/resources/themes/lara-dark-teal/theme.css +1 -1
  279. package/resources/themes/lara-light-blue/theme.css +1 -1
  280. package/resources/themes/lara-light-indigo/theme.css +1 -1
  281. package/resources/themes/lara-light-purple/theme.css +1 -1
  282. package/resources/themes/lara-light-teal/theme.css +1 -1
  283. package/resources/themes/luna-amber/theme.css +1 -1
  284. package/resources/themes/luna-blue/theme.css +1 -1
  285. package/resources/themes/luna-green/theme.css +1 -1
  286. package/resources/themes/luna-pink/theme.css +1 -1
  287. package/resources/themes/md-dark-deeppurple/theme.css +4 -1
  288. package/resources/themes/md-dark-indigo/theme.css +4 -1
  289. package/resources/themes/md-light-deeppurple/theme.css +4 -1
  290. package/resources/themes/md-light-indigo/theme.css +4 -1
  291. package/resources/themes/mdc-dark-deeppurple/theme.css +4 -1
  292. package/resources/themes/mdc-dark-indigo/theme.css +4 -1
  293. package/resources/themes/mdc-light-deeppurple/theme.css +4 -1
  294. package/resources/themes/mdc-light-indigo/theme.css +4 -1
  295. package/resources/themes/mira/theme.css +1 -1
  296. package/resources/themes/nano/theme.css +1 -1
  297. package/resources/themes/nova/theme.css +1 -1
  298. package/resources/themes/nova-accent/theme.css +1 -1
  299. package/resources/themes/nova-alt/theme.css +1 -1
  300. package/resources/themes/nova-vue/theme.css +1 -1
  301. package/resources/themes/rhea/theme.css +1 -1
  302. package/resources/themes/saga-blue/theme.css +1 -1
  303. package/resources/themes/saga-green/theme.css +1 -1
  304. package/resources/themes/saga-orange/theme.css +1 -1
  305. package/resources/themes/saga-purple/theme.css +1 -1
  306. package/resources/themes/soho-dark/theme.css +1 -1
  307. package/resources/themes/soho-light/theme.css +1 -1
  308. package/resources/themes/tailwind-light/theme.css +1 -1
  309. package/resources/themes/vela-blue/theme.css +1 -1
  310. package/resources/themes/vela-green/theme.css +1 -1
  311. package/resources/themes/vela-orange/theme.css +1 -1
  312. package/resources/themes/vela-purple/theme.css +1 -1
  313. package/resources/themes/viva-dark/theme.css +1 -1
  314. package/resources/themes/viva-light/theme.css +1 -1
  315. package/scrolltop/ScrollTop.d.ts +48 -0
  316. package/scrolltop/ScrollTop.vue +5 -2
  317. package/scrolltop/scrolltop.cjs.js +10 -7
  318. package/scrolltop/scrolltop.cjs.min.js +1 -1
  319. package/scrolltop/scrolltop.esm.js +10 -8
  320. package/scrolltop/scrolltop.esm.min.js +1 -1
  321. package/scrolltop/scrolltop.js +11 -9
  322. package/scrolltop/scrolltop.min.js +1 -1
  323. package/sidebar/Sidebar.d.ts +68 -0
  324. package/sidebar/Sidebar.vue +9 -7
  325. package/sidebar/sidebar.cjs.js +26 -24
  326. package/sidebar/sidebar.cjs.min.js +1 -1
  327. package/sidebar/sidebar.esm.js +26 -25
  328. package/sidebar/sidebar.esm.min.js +1 -1
  329. package/sidebar/sidebar.js +27 -26
  330. package/sidebar/sidebar.min.js +1 -1
  331. package/skeleton/Skeleton.d.ts +32 -0
  332. package/skeleton/Skeleton.vue +4 -1
  333. package/skeleton/skeleton.cjs.js +10 -4
  334. package/skeleton/skeleton.cjs.min.js +1 -1
  335. package/skeleton/skeleton.esm.js +7 -5
  336. package/skeleton/skeleton.esm.min.js +1 -1
  337. package/skeleton/skeleton.js +11 -6
  338. package/skeleton/skeleton.min.js +1 -1
  339. package/speeddial/SpeedDial.d.ts +101 -0
  340. package/speeddial/SpeedDial.vue +31 -8
  341. package/speeddial/speeddial.cjs.js +47 -33
  342. package/speeddial/speeddial.cjs.min.js +1 -1
  343. package/speeddial/speeddial.esm.js +47 -34
  344. package/speeddial/speeddial.esm.min.js +1 -1
  345. package/speeddial/speeddial.js +48 -35
  346. package/speeddial/speeddial.min.js +1 -1
  347. package/splitbutton/SplitButton.d.ts +64 -0
  348. package/splitbutton/SplitButton.vue +8 -5
  349. package/splitbutton/splitbutton.cjs.js +23 -18
  350. package/splitbutton/splitbutton.cjs.min.js +1 -1
  351. package/splitbutton/splitbutton.esm.js +23 -19
  352. package/splitbutton/splitbutton.esm.min.js +1 -1
  353. package/splitbutton/splitbutton.js +24 -20
  354. package/splitbutton/splitbutton.min.js +1 -1
  355. package/steps/Steps.d.ts +52 -0
  356. package/steps/Steps.vue +11 -8
  357. package/steps/steps.cjs.js +34 -33
  358. package/steps/steps.cjs.min.js +1 -1
  359. package/steps/steps.esm.js +31 -34
  360. package/steps/steps.esm.min.js +1 -1
  361. package/steps/steps.js +35 -35
  362. package/steps/steps.min.js +1 -1
  363. package/tabmenu/TabMenu.d.ts +79 -0
  364. package/tabmenu/TabMenu.vue +20 -10
  365. package/tabmenu/tabmenu.cjs.js +47 -41
  366. package/tabmenu/tabmenu.cjs.min.js +1 -1
  367. package/tabmenu/tabmenu.esm.js +47 -42
  368. package/tabmenu/tabmenu.esm.min.js +1 -1
  369. package/tabmenu/tabmenu.js +48 -43
  370. package/tabmenu/tabmenu.min.js +1 -1
  371. package/tag/Tag.d.ts +40 -0
  372. package/tag/Tag.vue +7 -4
  373. package/tag/tag.cjs.js +14 -12
  374. package/tag/tag.cjs.min.js +1 -1
  375. package/tag/tag.esm.js +11 -13
  376. package/tag/tag.esm.min.js +1 -1
  377. package/tag/tag.js +15 -14
  378. package/tag/tag.min.js +1 -1
  379. package/terminal/Terminal.d.ts +79 -0
  380. package/terminal/Terminal.vue +12 -10
  381. package/terminal/terminal.cjs.js +23 -28
  382. package/terminal/terminal.cjs.min.js +1 -1
  383. package/terminal/terminal.esm.js +23 -29
  384. package/terminal/terminal.esm.min.js +1 -1
  385. package/terminal/terminal.js +24 -30
  386. package/terminal/terminal.min.js +1 -1
  387. package/tieredmenu/TieredMenu.d.ts +130 -0
  388. package/tieredmenu/TieredMenu.vue +4 -1
  389. package/tieredmenu/TieredMenuSub.vue +39 -11
  390. package/tieredmenu/tieredmenu.cjs.js +53 -41
  391. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  392. package/tieredmenu/tieredmenu.esm.js +53 -42
  393. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  394. package/tieredmenu/tieredmenu.js +54 -43
  395. package/tieredmenu/tieredmenu.min.js +1 -1
  396. package/toast/Toast.d.ts +79 -0
  397. package/toast/Toast.vue +4 -1
  398. package/toast/ToastMessage.vue +12 -10
  399. package/toast/toast.cjs.js +31 -31
  400. package/toast/toast.cjs.min.js +1 -1
  401. package/toast/toast.esm.js +31 -32
  402. package/toast/toast.esm.min.js +1 -1
  403. package/toast/toast.js +32 -33
  404. package/toast/toast.min.js +1 -1
  405. package/treeselect/TreeSelect.d.ts +1 -2
  406. package/vetur-attributes.json +160 -0
  407. package/vetur-tags.json +79 -34
  408. package/web-types.json +404 -2
@@ -1,9 +1,9 @@
1
1
  <template>
2
- <div class="p-tabmenu p-component">
3
- <ul ref="nav" class="p-tabmenu-nav p-reset" role="menubar" :aria-labelledby="ariaLabelledby" :aria-label="ariaLabel">
2
+ <div class="p-tabmenu p-component" v-bind="ptm('root')">
3
+ <ul ref="nav" class="p-tabmenu-nav p-reset" role="menubar" :aria-labelledby="ariaLabelledby" :aria-label="ariaLabel" v-bind="ptm('menu')">
4
4
  <template v-for="(item, i) of model" :key="label(item) + '_' + i.toString()">
5
5
  <router-link v-if="item.to && !disabled(item)" v-slot="{ navigate, href, isActive, isExactActive }" :to="item.to" custom>
6
- <li v-if="visible(item)" ref="tab" :class="getRouteItemClass(item, isActive, isExactActive)" :style="item.style" role="presentation">
6
+ <li v-if="visible(item)" ref="tab" :class="getRouteItemClass(item, isActive, isExactActive)" :style="item.style" role="presentation" v-bind="getPTOptions('menuitem', i)">
7
7
  <template v-if="!$slots.item">
8
8
  <a
9
9
  ref="tabLink"
@@ -16,37 +16,40 @@
16
16
  :tabindex="isExactActive ? '0' : '-1'"
17
17
  @click="onItemClick($event, item, i, navigate)"
18
18
  @keydown="onKeydownItem($event, item, i, navigate)"
19
+ v-bind="getPTOptions('action', i)"
19
20
  >
20
21
  <component v-if="$slots.itemicon" :is="$slots.itemicon" :item="item" :class="getItemIcon(item)" />
21
- <span v-else-if="item.icon" :class="getItemIcon(item)" />
22
- <span class="p-menuitem-text">{{ label(item) }}</span>
22
+ <span v-else-if="item.icon" :class="getItemIcon(item)" v-bind="getPTOptions('icon', i)" />
23
+ <span class="p-menuitem-text" v-bind="getPTOptions('label', i)">{{ label(item) }}</span>
23
24
  </a>
24
25
  </template>
25
26
  <component v-else :is="$slots.item" :item="item" :index="i"></component>
26
27
  </li>
27
28
  </router-link>
28
- <li v-else-if="visible(item)" ref="tab" :class="getItemClass(item, i)" role="presentation" @click="onItemClick($event, item, i)" @keydown="onKeydownItem($event, item, i)">
29
+ <li v-else-if="visible(item)" ref="tab" :class="getItemClass(item, i)" role="presentation" @click="onItemClick($event, item, i)" @keydown="onKeydownItem($event, item, i)" v-bind="getPTOptions('menuitem', i)">
29
30
  <template v-if="!$slots.item">
30
- <a ref="tabLink" v-ripple role="menuitem" :href="item.url" class="p-menuitem-link" :target="item.target" :aria-label="label(item)" :aria-disabled="disabled(item)" :tabindex="setTabIndex(i)">
31
+ <a ref="tabLink" v-ripple role="menuitem" :href="item.url" class="p-menuitem-link" :target="item.target" :aria-label="label(item)" :aria-disabled="disabled(item)" :tabindex="setTabIndex(i)" v-bind="getPTOptions('action', i)">
31
32
  <component v-if="$slots.itemicon" :is="$slots.itemicon" :item="item" :class="getItemIcon(item)" />
32
- <span v-else-if="item.icon" :class="getItemIcon(item)" />
33
- <span class="p-menuitem-text">{{ label(item) }}</span>
33
+ <span v-else-if="item.icon" :class="getItemIcon(item)" v-bind="getPTOptions('icon', i)" />
34
+ <span class="p-menuitem-text" v-bind="getPTOptions('label', i)">{{ label(item) }}</span>
34
35
  </a>
35
36
  </template>
36
37
  <component v-else :is="$slots.item" :item="item" :index="i"></component>
37
38
  </li>
38
39
  </template>
39
- <li ref="inkbar" role="none" class="p-tabmenu-ink-bar"></li>
40
+ <li ref="inkbar" role="none" class="p-tabmenu-ink-bar" v-bind="ptm('inkbar')"></li>
40
41
  </ul>
41
42
  </div>
42
43
  </template>
43
44
 
44
45
  <script>
46
+ import BaseComponent from 'primevue/basecomponent';
45
47
  import Ripple from 'primevue/ripple';
46
48
  import { DomHandler } from 'primevue/utils';
47
49
 
48
50
  export default {
49
51
  name: 'TabMenu',
52
+ extends: BaseComponent,
50
53
  emits: ['update:activeIndex', 'tab-change'],
51
54
  props: {
52
55
  model: {
@@ -94,6 +97,13 @@ export default {
94
97
  clearTimeout(this.timeout);
95
98
  },
96
99
  methods: {
100
+ getPTOptions(key, index) {
101
+ return this.ptm(key, {
102
+ context: {
103
+ order: index
104
+ }
105
+ });
106
+ },
97
107
  onItemClick(event, item, index, navigate) {
98
108
  if (this.disabled(item)) {
99
109
  event.preventDefault();
@@ -1,15 +1,18 @@
1
1
  'use strict';
2
2
 
3
+ var BaseComponent = require('primevue/basecomponent');
3
4
  var Ripple = require('primevue/ripple');
4
5
  var utils = require('primevue/utils');
5
6
  var vue = require('vue');
6
7
 
7
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
9
 
10
+ var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
9
11
  var Ripple__default = /*#__PURE__*/_interopDefaultLegacy(Ripple);
10
12
 
11
13
  var script = {
12
14
  name: 'TabMenu',
15
+ extends: BaseComponent__default["default"],
13
16
  emits: ['update:activeIndex', 'tab-change'],
14
17
  props: {
15
18
  model: {
@@ -57,6 +60,13 @@ var script = {
57
60
  clearTimeout(this.timeout);
58
61
  },
59
62
  methods: {
63
+ getPTOptions(key, index) {
64
+ return this.ptm(key, {
65
+ context: {
66
+ order: index
67
+ }
68
+ });
69
+ },
60
70
  onItemClick(event, item, index, navigate) {
61
71
  if (this.disabled(item)) {
62
72
  event.preventDefault();
@@ -237,31 +247,23 @@ var script = {
237
247
  }
238
248
  };
239
249
 
240
- const _hoisted_1 = { class: "p-tabmenu p-component" };
241
- const _hoisted_2 = ["aria-labelledby", "aria-label"];
242
- const _hoisted_3 = ["href", "aria-label", "aria-disabled", "tabindex", "onClick", "onKeydown"];
243
- const _hoisted_4 = { class: "p-menuitem-text" };
244
- const _hoisted_5 = ["onClick", "onKeydown"];
245
- const _hoisted_6 = ["href", "target", "aria-label", "aria-disabled", "tabindex"];
246
- const _hoisted_7 = { class: "p-menuitem-text" };
247
- const _hoisted_8 = {
248
- ref: "inkbar",
249
- role: "none",
250
- class: "p-tabmenu-ink-bar"
251
- };
250
+ const _hoisted_1 = ["aria-labelledby", "aria-label"];
251
+ const _hoisted_2 = ["href", "aria-label", "aria-disabled", "tabindex", "onClick", "onKeydown"];
252
+ const _hoisted_3 = ["onClick", "onKeydown"];
253
+ const _hoisted_4 = ["href", "target", "aria-label", "aria-disabled", "tabindex"];
252
254
 
253
255
  function render(_ctx, _cache, $props, $setup, $data, $options) {
254
256
  const _component_router_link = vue.resolveComponent("router-link");
255
257
  const _directive_ripple = vue.resolveDirective("ripple");
256
258
 
257
- return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
258
- vue.createElementVNode("ul", {
259
+ return (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({ class: "p-tabmenu p-component" }, _ctx.ptm('root')), [
260
+ vue.createElementVNode("ul", vue.mergeProps({
259
261
  ref: "nav",
260
262
  class: "p-tabmenu-nav p-reset",
261
263
  role: "menubar",
262
264
  "aria-labelledby": _ctx.ariaLabelledby,
263
265
  "aria-label": _ctx.ariaLabel
264
- }, [
266
+ }, _ctx.ptm('menu')), [
265
267
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.model, (item, i) => {
266
268
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
267
269
  key: $options.label(item) + '_' + i.toString()
@@ -274,16 +276,16 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
274
276
  }, {
275
277
  default: vue.withCtx(({ navigate, href, isActive, isExactActive }) => [
276
278
  ($options.visible(item))
277
- ? (vue.openBlock(), vue.createElementBlock("li", {
279
+ ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
278
280
  key: 0,
279
281
  ref_for: true,
280
282
  ref: "tab",
281
- class: vue.normalizeClass($options.getRouteItemClass(item, isActive, isExactActive)),
282
- style: vue.normalizeStyle(item.style),
283
+ class: $options.getRouteItemClass(item, isActive, isExactActive),
284
+ style: item.style,
283
285
  role: "presentation"
284
- }, [
286
+ }, $options.getPTOptions('menuitem', i)), [
285
287
  (!_ctx.$slots.item)
286
- ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", {
288
+ ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", vue.mergeProps({
287
289
  key: 0,
288
290
  ref_for: true,
289
291
  ref: "tabLink",
@@ -295,7 +297,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
295
297
  tabindex: isExactActive ? '0' : '-1',
296
298
  onClick: $event => ($options.onItemClick($event, item, i, navigate)),
297
299
  onKeydown: $event => ($options.onKeydownItem($event, item, i, navigate))
298
- }, [
300
+ }, $options.getPTOptions('action', i)), [
299
301
  (_ctx.$slots.itemicon)
300
302
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.itemicon), {
301
303
  key: 0,
@@ -303,13 +305,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
303
305
  class: vue.normalizeClass($options.getItemIcon(item))
304
306
  }, null, 8, ["item", "class"]))
305
307
  : (item.icon)
306
- ? (vue.openBlock(), vue.createElementBlock("span", {
308
+ ? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
307
309
  key: 1,
308
- class: vue.normalizeClass($options.getItemIcon(item))
309
- }, null, 2))
310
+ class: $options.getItemIcon(item)
311
+ }, $options.getPTOptions('icon', i)), null, 16))
310
312
  : vue.createCommentVNode("", true),
311
- vue.createElementVNode("span", _hoisted_4, vue.toDisplayString($options.label(item)), 1)
312
- ], 40, _hoisted_3)), [
313
+ vue.createElementVNode("span", vue.mergeProps({ class: "p-menuitem-text" }, $options.getPTOptions('label', i)), vue.toDisplayString($options.label(item)), 17)
314
+ ], 16, _hoisted_2)), [
313
315
  [_directive_ripple]
314
316
  ])
315
317
  : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.item), {
@@ -317,23 +319,23 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
317
319
  item: item,
318
320
  index: i
319
321
  }, null, 8, ["item", "index"]))
320
- ], 6))
322
+ ], 16))
321
323
  : vue.createCommentVNode("", true)
322
324
  ]),
323
325
  _: 2
324
326
  }, 1032, ["to"]))
325
327
  : ($options.visible(item))
326
- ? (vue.openBlock(), vue.createElementBlock("li", {
328
+ ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
327
329
  key: 1,
328
330
  ref_for: true,
329
331
  ref: "tab",
330
- class: vue.normalizeClass($options.getItemClass(item, i)),
332
+ class: $options.getItemClass(item, i),
331
333
  role: "presentation",
332
334
  onClick: $event => ($options.onItemClick($event, item, i)),
333
335
  onKeydown: $event => ($options.onKeydownItem($event, item, i))
334
- }, [
336
+ }, $options.getPTOptions('menuitem', i)), [
335
337
  (!_ctx.$slots.item)
336
- ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", {
338
+ ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", vue.mergeProps({
337
339
  key: 0,
338
340
  ref_for: true,
339
341
  ref: "tabLink",
@@ -344,7 +346,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
344
346
  "aria-label": $options.label(item),
345
347
  "aria-disabled": $options.disabled(item),
346
348
  tabindex: $options.setTabIndex(i)
347
- }, [
349
+ }, $options.getPTOptions('action', i)), [
348
350
  (_ctx.$slots.itemicon)
349
351
  ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.itemicon), {
350
352
  key: 0,
@@ -352,13 +354,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
352
354
  class: vue.normalizeClass($options.getItemIcon(item))
353
355
  }, null, 8, ["item", "class"]))
354
356
  : (item.icon)
355
- ? (vue.openBlock(), vue.createElementBlock("span", {
357
+ ? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
356
358
  key: 1,
357
- class: vue.normalizeClass($options.getItemIcon(item))
358
- }, null, 2))
359
+ class: $options.getItemIcon(item)
360
+ }, $options.getPTOptions('icon', i)), null, 16))
359
361
  : vue.createCommentVNode("", true),
360
- vue.createElementVNode("span", _hoisted_7, vue.toDisplayString($options.label(item)), 1)
361
- ], 8, _hoisted_6)), [
362
+ vue.createElementVNode("span", vue.mergeProps({ class: "p-menuitem-text" }, $options.getPTOptions('label', i)), vue.toDisplayString($options.label(item)), 17)
363
+ ], 16, _hoisted_4)), [
362
364
  [_directive_ripple]
363
365
  ])
364
366
  : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.item), {
@@ -366,13 +368,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
366
368
  item: item,
367
369
  index: i
368
370
  }, null, 8, ["item", "index"]))
369
- ], 42, _hoisted_5))
371
+ ], 16, _hoisted_3))
370
372
  : vue.createCommentVNode("", true)
371
373
  ], 64))
372
374
  }), 128)),
373
- vue.createElementVNode("li", _hoisted_8, null, 512)
374
- ], 8, _hoisted_2)
375
- ]))
375
+ vue.createElementVNode("li", vue.mergeProps({
376
+ ref: "inkbar",
377
+ role: "none",
378
+ class: "p-tabmenu-ink-bar"
379
+ }, _ctx.ptm('inkbar')), null, 16)
380
+ ], 16, _hoisted_1)
381
+ ], 16))
376
382
  }
377
383
 
378
384
  function styleInject(css, ref) {
@@ -1 +1 @@
1
- "use strict";var e=require("primevue/ripple"),t=require("primevue/utils"),n=require("vue");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l={name:"TabMenu",emits:["update:activeIndex","tab-change"],props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},activeIndex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},timeout:null,data(){return{d_activeIndex:this.activeIndex}},watch:{$route(){this.timeout=setTimeout((()=>this.updateInkBar()),50)},activeIndex(e){this.d_activeIndex=e}},mounted(){this.updateInkBar()},updated(){this.updateInkBar()},beforeUnmount(){clearTimeout(this.timeout)},methods:{onItemClick(e,t,n,a){this.disabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),t.to&&a&&a(e),n!==this.d_activeIndex&&(this.d_activeIndex=n,this.$emit("update:activeIndex",this.d_activeIndex)),this.$emit("tab-change",{originalEvent:e,index:n}))},onKeydownItem(e,t,n){let a=n,l={};const i=this.$refs.tabLink;switch(e.code){case"ArrowRight":l=this.findNextItem(this.$refs.tab,a),a=l.i;break;case"ArrowLeft":l=this.findPrevItem(this.$refs.tab,a),a=l.i;break;case"End":l=this.findPrevItem(this.$refs.tab,this.model.length),a=l.i,e.preventDefault();break;case"Home":l=this.findNextItem(this.$refs.tab,-1),a=l.i,e.preventDefault();break;case"Space":case"Enter":e.currentTarget&&e.currentTarget.click(),e.preventDefault();break;case"Tab":this.setDefaultTabIndexes(i)}i[a]&&i[n]&&(i[n].tabIndex="-1",i[a].tabIndex="0",i[a].focus())},findNextItem(e,n){let a=n+1;if(a>=e.length)return{nextItem:e[e.length],i:e.length};let l=e[a];return l?t.DomHandler.hasClass(l,"p-disabled")?this.findNextItem(e,a):{nextItem:l,i:a}:null},findPrevItem(e,n){let a=n-1;if(a<0)return{nextItem:e[0],i:0};let l=e[a];return l?t.DomHandler.hasClass(l,"p-disabled")?this.findPrevItem(e,a):{prevItem:l,i:a}:null},getItemClass(e,t){return["p-tabmenuitem",e.class,{"p-highlight":this.d_activeIndex===t,"p-disabled":this.disabled(e)}]},getRouteItemClass(e,t,n){return["p-tabmenuitem",e.class,{"p-highlight":this.exact?n:t,"p-disabled":this.disabled(e)}]},getItemIcon:e=>["p-menuitem-icon",e.icon],visible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,disabled:e=>"function"==typeof e.disabled?e.disabled():e.disabled,label:e=>"function"==typeof e.label?e.label():e.label,setDefaultTabIndexes(e){setTimeout((()=>{e.forEach((e=>{e.tabIndex=t.DomHandler.hasClass(e.parentElement,"p-highlight")?"0":"-1"}))}),300)},setTabIndex(e){return this.d_activeIndex===e?"0":"-1"},updateInkBar(){let e=this.$refs.nav.children,n=!1;for(let a=0;a<e.length;a++){let l=e[a];t.DomHandler.hasClass(l,"p-highlight")&&(this.$refs.inkbar.style.width=t.DomHandler.getWidth(l)+"px",this.$refs.inkbar.style.left=t.DomHandler.getOffset(l).left-t.DomHandler.getOffset(this.$refs.nav).left+"px",n=!0)}n||(this.$refs.inkbar.style.width="0px",this.$refs.inkbar.style.left="0px")}},directives:{ripple:a(e).default}};const i={class:"p-tabmenu p-component"},s=["aria-labelledby","aria-label"],o=["href","aria-label","aria-disabled","tabindex","onClick","onKeydown"],r={class:"p-menuitem-text"},d=["onClick","onKeydown"],c=["href","target","aria-label","aria-disabled","tabindex"],m={class:"p-menuitem-text"},u={ref:"inkbar",role:"none",class:"p-tabmenu-ink-bar"};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===n&&a.firstChild?a.insertBefore(l,a.firstChild):a.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}("\n.p-tabmenu {\n overflow-x: auto;\n}\n.p-tabmenu-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex-wrap: nowrap;\n}\n.p-tabmenu-nav a {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabmenu-nav a:focus {\n z-index: 1;\n}\n.p-tabmenu-nav .p-menuitem-text {\n line-height: 1;\n}\n.p-tabmenu-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabmenu::-webkit-scrollbar {\n display: none;\n}\n"),l.render=function(e,t,a,l,p,b){const f=n.resolveComponent("router-link"),h=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("div",i,[n.createElementVNode("ul",{ref:"nav",class:"p-tabmenu-nav p-reset",role:"menubar","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(a.model,((t,a)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:b.label(t)+"_"+a.toString()},[t.to&&!b.disabled(t)?(n.openBlock(),n.createBlock(f,{key:0,to:t.to,custom:""},{default:n.withCtx((({navigate:l,href:i,isActive:s,isExactActive:d})=>[b.visible(t)?(n.openBlock(),n.createElementBlock("li",{key:0,ref_for:!0,ref:"tab",class:n.normalizeClass(b.getRouteItemClass(t,s,d)),style:n.normalizeStyle(t.style),role:"presentation"},[e.$slots.item?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.$slots.item),{key:1,item:t,index:a},null,8,["item","index"])):n.withDirectives((n.openBlock(),n.createElementBlock("a",{key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:i,class:"p-menuitem-link","aria-label":b.label(t),"aria-disabled":b.disabled(t),tabindex:d?"0":"-1",onClick:e=>b.onItemClick(e,t,a,l),onKeydown:e=>b.onKeydownItem(e,t,a,l)},[e.$slots.itemicon?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.$slots.itemicon),{key:0,item:t,class:n.normalizeClass(b.getItemIcon(t))},null,8,["item","class"])):t.icon?(n.openBlock(),n.createElementBlock("span",{key:1,class:n.normalizeClass(b.getItemIcon(t))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",r,n.toDisplayString(b.label(t)),1)],40,o)),[[h]])],6)):n.createCommentVNode("",!0)])),_:2},1032,["to"])):b.visible(t)?(n.openBlock(),n.createElementBlock("li",{key:1,ref_for:!0,ref:"tab",class:n.normalizeClass(b.getItemClass(t,a)),role:"presentation",onClick:e=>b.onItemClick(e,t,a),onKeydown:e=>b.onKeydownItem(e,t,a)},[e.$slots.item?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.$slots.item),{key:1,item:t,index:a},null,8,["item","index"])):n.withDirectives((n.openBlock(),n.createElementBlock("a",{key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:t.url,class:"p-menuitem-link",target:t.target,"aria-label":b.label(t),"aria-disabled":b.disabled(t),tabindex:b.setTabIndex(a)},[e.$slots.itemicon?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.$slots.itemicon),{key:0,item:t,class:n.normalizeClass(b.getItemIcon(t))},null,8,["item","class"])):t.icon?(n.openBlock(),n.createElementBlock("span",{key:1,class:n.normalizeClass(b.getItemIcon(t))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",m,n.toDisplayString(b.label(t)),1)],8,c)),[[h]])],42,d)):n.createCommentVNode("",!0)],64)))),128)),n.createElementVNode("li",u,null,512)],8,s)])},module.exports=l;
1
+ "use strict";var e=require("primevue/basecomponent"),t=require("primevue/ripple"),n=require("primevue/utils"),a=require("vue");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=i(e),o=i(t),r={name:"TabMenu",extends:l.default,emits:["update:activeIndex","tab-change"],props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},activeIndex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},timeout:null,data(){return{d_activeIndex:this.activeIndex}},watch:{$route(){this.timeout=setTimeout((()=>this.updateInkBar()),50)},activeIndex(e){this.d_activeIndex=e}},mounted(){this.updateInkBar()},updated(){this.updateInkBar()},beforeUnmount(){clearTimeout(this.timeout)},methods:{getPTOptions(e,t){return this.ptm(e,{context:{order:t}})},onItemClick(e,t,n,a){this.disabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),t.to&&a&&a(e),n!==this.d_activeIndex&&(this.d_activeIndex=n,this.$emit("update:activeIndex",this.d_activeIndex)),this.$emit("tab-change",{originalEvent:e,index:n}))},onKeydownItem(e,t,n){let a=n,i={};const l=this.$refs.tabLink;switch(e.code){case"ArrowRight":i=this.findNextItem(this.$refs.tab,a),a=i.i;break;case"ArrowLeft":i=this.findPrevItem(this.$refs.tab,a),a=i.i;break;case"End":i=this.findPrevItem(this.$refs.tab,this.model.length),a=i.i,e.preventDefault();break;case"Home":i=this.findNextItem(this.$refs.tab,-1),a=i.i,e.preventDefault();break;case"Space":case"Enter":e.currentTarget&&e.currentTarget.click(),e.preventDefault();break;case"Tab":this.setDefaultTabIndexes(l)}l[a]&&l[n]&&(l[n].tabIndex="-1",l[a].tabIndex="0",l[a].focus())},findNextItem(e,t){let a=t+1;if(a>=e.length)return{nextItem:e[e.length],i:e.length};let i=e[a];return i?n.DomHandler.hasClass(i,"p-disabled")?this.findNextItem(e,a):{nextItem:i,i:a}:null},findPrevItem(e,t){let a=t-1;if(a<0)return{nextItem:e[0],i:0};let i=e[a];return i?n.DomHandler.hasClass(i,"p-disabled")?this.findPrevItem(e,a):{prevItem:i,i:a}:null},getItemClass(e,t){return["p-tabmenuitem",e.class,{"p-highlight":this.d_activeIndex===t,"p-disabled":this.disabled(e)}]},getRouteItemClass(e,t,n){return["p-tabmenuitem",e.class,{"p-highlight":this.exact?n:t,"p-disabled":this.disabled(e)}]},getItemIcon:e=>["p-menuitem-icon",e.icon],visible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,disabled:e=>"function"==typeof e.disabled?e.disabled():e.disabled,label:e=>"function"==typeof e.label?e.label():e.label,setDefaultTabIndexes(e){setTimeout((()=>{e.forEach((e=>{e.tabIndex=n.DomHandler.hasClass(e.parentElement,"p-highlight")?"0":"-1"}))}),300)},setTabIndex(e){return this.d_activeIndex===e?"0":"-1"},updateInkBar(){let e=this.$refs.nav.children,t=!1;for(let a=0;a<e.length;a++){let i=e[a];n.DomHandler.hasClass(i,"p-highlight")&&(this.$refs.inkbar.style.width=n.DomHandler.getWidth(i)+"px",this.$refs.inkbar.style.left=n.DomHandler.getOffset(i).left-n.DomHandler.getOffset(this.$refs.nav).left+"px",t=!0)}t||(this.$refs.inkbar.style.width="0px",this.$refs.inkbar.style.left="0px")}},directives:{ripple:o.default}};const s=["aria-labelledby","aria-label"],m=["href","aria-label","aria-disabled","tabindex","onClick","onKeydown"],d=["onClick","onKeydown"],c=["href","target","aria-label","aria-disabled","tabindex"];!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-tabmenu {\n overflow-x: auto;\n}\n.p-tabmenu-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex-wrap: nowrap;\n}\n.p-tabmenu-nav a {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabmenu-nav a:focus {\n z-index: 1;\n}\n.p-tabmenu-nav .p-menuitem-text {\n line-height: 1;\n}\n.p-tabmenu-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabmenu::-webkit-scrollbar {\n display: none;\n}\n"),r.render=function(e,t,n,i,l,o){const r=a.resolveComponent("router-link"),p=a.resolveDirective("ripple");return a.openBlock(),a.createElementBlock("div",a.mergeProps({class:"p-tabmenu p-component"},e.ptm("root")),[a.createElementVNode("ul",a.mergeProps({ref:"nav",class:"p-tabmenu-nav p-reset",role:"menubar","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},e.ptm("menu")),[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.model,((t,n)=>(a.openBlock(),a.createElementBlock(a.Fragment,{key:o.label(t)+"_"+n.toString()},[t.to&&!o.disabled(t)?(a.openBlock(),a.createBlock(r,{key:0,to:t.to,custom:""},{default:a.withCtx((({navigate:i,href:l,isActive:r,isExactActive:s})=>[o.visible(t)?(a.openBlock(),a.createElementBlock("li",a.mergeProps({key:0,ref_for:!0,ref:"tab",class:o.getRouteItemClass(t,r,s),style:t.style,role:"presentation"},o.getPTOptions("menuitem",n)),[e.$slots.item?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):a.withDirectives((a.openBlock(),a.createElementBlock("a",a.mergeProps({key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:l,class:"p-menuitem-link","aria-label":o.label(t),"aria-disabled":o.disabled(t),tabindex:s?"0":"-1",onClick:e=>o.onItemClick(e,t,n,i),onKeydown:e=>o.onKeydownItem(e,t,n,i)},o.getPTOptions("action",n)),[e.$slots.itemicon?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.itemicon),{key:0,item:t,class:a.normalizeClass(o.getItemIcon(t))},null,8,["item","class"])):t.icon?(a.openBlock(),a.createElementBlock("span",a.mergeProps({key:1,class:o.getItemIcon(t)},o.getPTOptions("icon",n)),null,16)):a.createCommentVNode("",!0),a.createElementVNode("span",a.mergeProps({class:"p-menuitem-text"},o.getPTOptions("label",n)),a.toDisplayString(o.label(t)),17)],16,m)),[[p]])],16)):a.createCommentVNode("",!0)])),_:2},1032,["to"])):o.visible(t)?(a.openBlock(),a.createElementBlock("li",a.mergeProps({key:1,ref_for:!0,ref:"tab",class:o.getItemClass(t,n),role:"presentation",onClick:e=>o.onItemClick(e,t,n),onKeydown:e=>o.onKeydownItem(e,t,n)},o.getPTOptions("menuitem",n)),[e.$slots.item?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):a.withDirectives((a.openBlock(),a.createElementBlock("a",a.mergeProps({key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:t.url,class:"p-menuitem-link",target:t.target,"aria-label":o.label(t),"aria-disabled":o.disabled(t),tabindex:o.setTabIndex(n)},o.getPTOptions("action",n)),[e.$slots.itemicon?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.itemicon),{key:0,item:t,class:a.normalizeClass(o.getItemIcon(t))},null,8,["item","class"])):t.icon?(a.openBlock(),a.createElementBlock("span",a.mergeProps({key:1,class:o.getItemIcon(t)},o.getPTOptions("icon",n)),null,16)):a.createCommentVNode("",!0),a.createElementVNode("span",a.mergeProps({class:"p-menuitem-text"},o.getPTOptions("label",n)),a.toDisplayString(o.label(t)),17)],16,c)),[[p]])],16,d)):a.createCommentVNode("",!0)],64)))),128)),a.createElementVNode("li",a.mergeProps({ref:"inkbar",role:"none",class:"p-tabmenu-ink-bar"},e.ptm("inkbar")),null,16)],16,s)],16)},module.exports=r;
@@ -1,9 +1,11 @@
1
+ import BaseComponent from 'primevue/basecomponent';
1
2
  import Ripple from 'primevue/ripple';
2
3
  import { DomHandler } from 'primevue/utils';
3
- import { resolveComponent, resolveDirective, openBlock, createElementBlock, createElementVNode, Fragment, renderList, createBlock, withCtx, normalizeClass, normalizeStyle, withDirectives, resolveDynamicComponent, createCommentVNode, toDisplayString } from 'vue';
4
+ import { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, createElementVNode, Fragment, renderList, createBlock, withCtx, withDirectives, resolveDynamicComponent, normalizeClass, createCommentVNode, toDisplayString } from 'vue';
4
5
 
5
6
  var script = {
6
7
  name: 'TabMenu',
8
+ extends: BaseComponent,
7
9
  emits: ['update:activeIndex', 'tab-change'],
8
10
  props: {
9
11
  model: {
@@ -51,6 +53,13 @@ var script = {
51
53
  clearTimeout(this.timeout);
52
54
  },
53
55
  methods: {
56
+ getPTOptions(key, index) {
57
+ return this.ptm(key, {
58
+ context: {
59
+ order: index
60
+ }
61
+ });
62
+ },
54
63
  onItemClick(event, item, index, navigate) {
55
64
  if (this.disabled(item)) {
56
65
  event.preventDefault();
@@ -231,31 +240,23 @@ var script = {
231
240
  }
232
241
  };
233
242
 
234
- const _hoisted_1 = { class: "p-tabmenu p-component" };
235
- const _hoisted_2 = ["aria-labelledby", "aria-label"];
236
- const _hoisted_3 = ["href", "aria-label", "aria-disabled", "tabindex", "onClick", "onKeydown"];
237
- const _hoisted_4 = { class: "p-menuitem-text" };
238
- const _hoisted_5 = ["onClick", "onKeydown"];
239
- const _hoisted_6 = ["href", "target", "aria-label", "aria-disabled", "tabindex"];
240
- const _hoisted_7 = { class: "p-menuitem-text" };
241
- const _hoisted_8 = {
242
- ref: "inkbar",
243
- role: "none",
244
- class: "p-tabmenu-ink-bar"
245
- };
243
+ const _hoisted_1 = ["aria-labelledby", "aria-label"];
244
+ const _hoisted_2 = ["href", "aria-label", "aria-disabled", "tabindex", "onClick", "onKeydown"];
245
+ const _hoisted_3 = ["onClick", "onKeydown"];
246
+ const _hoisted_4 = ["href", "target", "aria-label", "aria-disabled", "tabindex"];
246
247
 
247
248
  function render(_ctx, _cache, $props, $setup, $data, $options) {
248
249
  const _component_router_link = resolveComponent("router-link");
249
250
  const _directive_ripple = resolveDirective("ripple");
250
251
 
251
- return (openBlock(), createElementBlock("div", _hoisted_1, [
252
- createElementVNode("ul", {
252
+ return (openBlock(), createElementBlock("div", mergeProps({ class: "p-tabmenu p-component" }, _ctx.ptm('root')), [
253
+ createElementVNode("ul", mergeProps({
253
254
  ref: "nav",
254
255
  class: "p-tabmenu-nav p-reset",
255
256
  role: "menubar",
256
257
  "aria-labelledby": _ctx.ariaLabelledby,
257
258
  "aria-label": _ctx.ariaLabel
258
- }, [
259
+ }, _ctx.ptm('menu')), [
259
260
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.model, (item, i) => {
260
261
  return (openBlock(), createElementBlock(Fragment, {
261
262
  key: $options.label(item) + '_' + i.toString()
@@ -268,16 +269,16 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
268
269
  }, {
269
270
  default: withCtx(({ navigate, href, isActive, isExactActive }) => [
270
271
  ($options.visible(item))
271
- ? (openBlock(), createElementBlock("li", {
272
+ ? (openBlock(), createElementBlock("li", mergeProps({
272
273
  key: 0,
273
274
  ref_for: true,
274
275
  ref: "tab",
275
- class: normalizeClass($options.getRouteItemClass(item, isActive, isExactActive)),
276
- style: normalizeStyle(item.style),
276
+ class: $options.getRouteItemClass(item, isActive, isExactActive),
277
+ style: item.style,
277
278
  role: "presentation"
278
- }, [
279
+ }, $options.getPTOptions('menuitem', i)), [
279
280
  (!_ctx.$slots.item)
280
- ? withDirectives((openBlock(), createElementBlock("a", {
281
+ ? withDirectives((openBlock(), createElementBlock("a", mergeProps({
281
282
  key: 0,
282
283
  ref_for: true,
283
284
  ref: "tabLink",
@@ -289,7 +290,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
289
290
  tabindex: isExactActive ? '0' : '-1',
290
291
  onClick: $event => ($options.onItemClick($event, item, i, navigate)),
291
292
  onKeydown: $event => ($options.onKeydownItem($event, item, i, navigate))
292
- }, [
293
+ }, $options.getPTOptions('action', i)), [
293
294
  (_ctx.$slots.itemicon)
294
295
  ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.itemicon), {
295
296
  key: 0,
@@ -297,13 +298,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
297
298
  class: normalizeClass($options.getItemIcon(item))
298
299
  }, null, 8, ["item", "class"]))
299
300
  : (item.icon)
300
- ? (openBlock(), createElementBlock("span", {
301
+ ? (openBlock(), createElementBlock("span", mergeProps({
301
302
  key: 1,
302
- class: normalizeClass($options.getItemIcon(item))
303
- }, null, 2))
303
+ class: $options.getItemIcon(item)
304
+ }, $options.getPTOptions('icon', i)), null, 16))
304
305
  : createCommentVNode("", true),
305
- createElementVNode("span", _hoisted_4, toDisplayString($options.label(item)), 1)
306
- ], 40, _hoisted_3)), [
306
+ createElementVNode("span", mergeProps({ class: "p-menuitem-text" }, $options.getPTOptions('label', i)), toDisplayString($options.label(item)), 17)
307
+ ], 16, _hoisted_2)), [
307
308
  [_directive_ripple]
308
309
  ])
309
310
  : (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.item), {
@@ -311,23 +312,23 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
311
312
  item: item,
312
313
  index: i
313
314
  }, null, 8, ["item", "index"]))
314
- ], 6))
315
+ ], 16))
315
316
  : createCommentVNode("", true)
316
317
  ]),
317
318
  _: 2
318
319
  }, 1032, ["to"]))
319
320
  : ($options.visible(item))
320
- ? (openBlock(), createElementBlock("li", {
321
+ ? (openBlock(), createElementBlock("li", mergeProps({
321
322
  key: 1,
322
323
  ref_for: true,
323
324
  ref: "tab",
324
- class: normalizeClass($options.getItemClass(item, i)),
325
+ class: $options.getItemClass(item, i),
325
326
  role: "presentation",
326
327
  onClick: $event => ($options.onItemClick($event, item, i)),
327
328
  onKeydown: $event => ($options.onKeydownItem($event, item, i))
328
- }, [
329
+ }, $options.getPTOptions('menuitem', i)), [
329
330
  (!_ctx.$slots.item)
330
- ? withDirectives((openBlock(), createElementBlock("a", {
331
+ ? withDirectives((openBlock(), createElementBlock("a", mergeProps({
331
332
  key: 0,
332
333
  ref_for: true,
333
334
  ref: "tabLink",
@@ -338,7 +339,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
338
339
  "aria-label": $options.label(item),
339
340
  "aria-disabled": $options.disabled(item),
340
341
  tabindex: $options.setTabIndex(i)
341
- }, [
342
+ }, $options.getPTOptions('action', i)), [
342
343
  (_ctx.$slots.itemicon)
343
344
  ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.itemicon), {
344
345
  key: 0,
@@ -346,13 +347,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
346
347
  class: normalizeClass($options.getItemIcon(item))
347
348
  }, null, 8, ["item", "class"]))
348
349
  : (item.icon)
349
- ? (openBlock(), createElementBlock("span", {
350
+ ? (openBlock(), createElementBlock("span", mergeProps({
350
351
  key: 1,
351
- class: normalizeClass($options.getItemIcon(item))
352
- }, null, 2))
352
+ class: $options.getItemIcon(item)
353
+ }, $options.getPTOptions('icon', i)), null, 16))
353
354
  : createCommentVNode("", true),
354
- createElementVNode("span", _hoisted_7, toDisplayString($options.label(item)), 1)
355
- ], 8, _hoisted_6)), [
355
+ createElementVNode("span", mergeProps({ class: "p-menuitem-text" }, $options.getPTOptions('label', i)), toDisplayString($options.label(item)), 17)
356
+ ], 16, _hoisted_4)), [
356
357
  [_directive_ripple]
357
358
  ])
358
359
  : (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.item), {
@@ -360,13 +361,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
360
361
  item: item,
361
362
  index: i
362
363
  }, null, 8, ["item", "index"]))
363
- ], 42, _hoisted_5))
364
+ ], 16, _hoisted_3))
364
365
  : createCommentVNode("", true)
365
366
  ], 64))
366
367
  }), 128)),
367
- createElementVNode("li", _hoisted_8, null, 512)
368
- ], 8, _hoisted_2)
369
- ]))
368
+ createElementVNode("li", mergeProps({
369
+ ref: "inkbar",
370
+ role: "none",
371
+ class: "p-tabmenu-ink-bar"
372
+ }, _ctx.ptm('inkbar')), null, 16)
373
+ ], 16, _hoisted_1)
374
+ ], 16))
370
375
  }
371
376
 
372
377
  function styleInject(css, ref) {
@@ -1 +1 @@
1
- import e from"primevue/ripple";import{DomHandler as t}from"primevue/utils";import{resolveComponent as n,resolveDirective as i,openBlock as a,createElementBlock as l,createElementVNode as s,Fragment as r,renderList as d,createBlock as o,withCtx as m,normalizeClass as c,normalizeStyle as u,withDirectives as b,resolveDynamicComponent as p,createCommentVNode as f,toDisplayString as h}from"vue";var x={name:"TabMenu",emits:["update:activeIndex","tab-change"],props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},activeIndex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},timeout:null,data(){return{d_activeIndex:this.activeIndex}},watch:{$route(){this.timeout=setTimeout((()=>this.updateInkBar()),50)},activeIndex(e){this.d_activeIndex=e}},mounted(){this.updateInkBar()},updated(){this.updateInkBar()},beforeUnmount(){clearTimeout(this.timeout)},methods:{onItemClick(e,t,n,i){this.disabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),t.to&&i&&i(e),n!==this.d_activeIndex&&(this.d_activeIndex=n,this.$emit("update:activeIndex",this.d_activeIndex)),this.$emit("tab-change",{originalEvent:e,index:n}))},onKeydownItem(e,t,n){let i=n,a={};const l=this.$refs.tabLink;switch(e.code){case"ArrowRight":a=this.findNextItem(this.$refs.tab,i),i=a.i;break;case"ArrowLeft":a=this.findPrevItem(this.$refs.tab,i),i=a.i;break;case"End":a=this.findPrevItem(this.$refs.tab,this.model.length),i=a.i,e.preventDefault();break;case"Home":a=this.findNextItem(this.$refs.tab,-1),i=a.i,e.preventDefault();break;case"Space":case"Enter":e.currentTarget&&e.currentTarget.click(),e.preventDefault();break;case"Tab":this.setDefaultTabIndexes(l)}l[i]&&l[n]&&(l[n].tabIndex="-1",l[i].tabIndex="0",l[i].focus())},findNextItem(e,n){let i=n+1;if(i>=e.length)return{nextItem:e[e.length],i:e.length};let a=e[i];return a?t.hasClass(a,"p-disabled")?this.findNextItem(e,i):{nextItem:a,i:i}:null},findPrevItem(e,n){let i=n-1;if(i<0)return{nextItem:e[0],i:0};let a=e[i];return a?t.hasClass(a,"p-disabled")?this.findPrevItem(e,i):{prevItem:a,i:i}:null},getItemClass(e,t){return["p-tabmenuitem",e.class,{"p-highlight":this.d_activeIndex===t,"p-disabled":this.disabled(e)}]},getRouteItemClass(e,t,n){return["p-tabmenuitem",e.class,{"p-highlight":this.exact?n:t,"p-disabled":this.disabled(e)}]},getItemIcon:e=>["p-menuitem-icon",e.icon],visible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,disabled:e=>"function"==typeof e.disabled?e.disabled():e.disabled,label:e=>"function"==typeof e.label?e.label():e.label,setDefaultTabIndexes(e){setTimeout((()=>{e.forEach((e=>{e.tabIndex=t.hasClass(e.parentElement,"p-highlight")?"0":"-1"}))}),300)},setTabIndex(e){return this.d_activeIndex===e?"0":"-1"},updateInkBar(){let e=this.$refs.nav.children,n=!1;for(let i=0;i<e.length;i++){let a=e[i];t.hasClass(a,"p-highlight")&&(this.$refs.inkbar.style.width=t.getWidth(a)+"px",this.$refs.inkbar.style.left=t.getOffset(a).left-t.getOffset(this.$refs.nav).left+"px",n=!0)}n||(this.$refs.inkbar.style.width="0px",this.$refs.inkbar.style.left="0px")}},directives:{ripple:e}};const I={class:"p-tabmenu p-component"},v=["aria-labelledby","aria-label"],y=["href","aria-label","aria-disabled","tabindex","onClick","onKeydown"],g={class:"p-menuitem-text"},k=["onClick","onKeydown"],$=["href","target","aria-label","aria-disabled","tabindex"],C={class:"p-menuitem-text"},w={ref:"inkbar",role:"none",class:"p-tabmenu-ink-bar"};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-tabmenu {\n overflow-x: auto;\n}\n.p-tabmenu-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex-wrap: nowrap;\n}\n.p-tabmenu-nav a {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabmenu-nav a:focus {\n z-index: 1;\n}\n.p-tabmenu-nav .p-menuitem-text {\n line-height: 1;\n}\n.p-tabmenu-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabmenu::-webkit-scrollbar {\n display: none;\n}\n"),x.render=function(e,t,x,T,_,E){const B=n("router-link"),K=i("ripple");return a(),l("div",I,[s("ul",{ref:"nav",class:"p-tabmenu-nav p-reset",role:"menubar","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},[(a(!0),l(r,null,d(x.model,((t,n)=>(a(),l(r,{key:E.label(t)+"_"+n.toString()},[t.to&&!E.disabled(t)?(a(),o(B,{key:0,to:t.to,custom:""},{default:m((({navigate:i,href:r,isActive:d,isExactActive:m})=>[E.visible(t)?(a(),l("li",{key:0,ref_for:!0,ref:"tab",class:c(E.getRouteItemClass(t,d,m)),style:u(t.style),role:"presentation"},[e.$slots.item?(a(),o(p(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):b((a(),l("a",{key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:r,class:"p-menuitem-link","aria-label":E.label(t),"aria-disabled":E.disabled(t),tabindex:m?"0":"-1",onClick:e=>E.onItemClick(e,t,n,i),onKeydown:e=>E.onKeydownItem(e,t,n,i)},[e.$slots.itemicon?(a(),o(p(e.$slots.itemicon),{key:0,item:t,class:c(E.getItemIcon(t))},null,8,["item","class"])):t.icon?(a(),l("span",{key:1,class:c(E.getItemIcon(t))},null,2)):f("",!0),s("span",g,h(E.label(t)),1)],40,y)),[[K]])],6)):f("",!0)])),_:2},1032,["to"])):E.visible(t)?(a(),l("li",{key:1,ref_for:!0,ref:"tab",class:c(E.getItemClass(t,n)),role:"presentation",onClick:e=>E.onItemClick(e,t,n),onKeydown:e=>E.onKeydownItem(e,t,n)},[e.$slots.item?(a(),o(p(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):b((a(),l("a",{key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:t.url,class:"p-menuitem-link",target:t.target,"aria-label":E.label(t),"aria-disabled":E.disabled(t),tabindex:E.setTabIndex(n)},[e.$slots.itemicon?(a(),o(p(e.$slots.itemicon),{key:0,item:t,class:c(E.getItemIcon(t))},null,8,["item","class"])):t.icon?(a(),l("span",{key:1,class:c(E.getItemIcon(t))},null,2)):f("",!0),s("span",C,h(E.label(t)),1)],8,$)),[[K]])],42,k)):f("",!0)],64)))),128)),s("li",w,null,512)],8,v)])};export{x as default};
1
+ import e from"primevue/basecomponent";import t from"primevue/ripple";import{DomHandler as n}from"primevue/utils";import{resolveComponent as i,resolveDirective as a,openBlock as l,createElementBlock as s,mergeProps as r,createElementVNode as o,Fragment as d,renderList as m,createBlock as c,withCtx as p,withDirectives as u,resolveDynamicComponent as b,normalizeClass as f,createCommentVNode as h,toDisplayString as x}from"vue";var I={name:"TabMenu",extends:e,emits:["update:activeIndex","tab-change"],props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},activeIndex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},timeout:null,data(){return{d_activeIndex:this.activeIndex}},watch:{$route(){this.timeout=setTimeout((()=>this.updateInkBar()),50)},activeIndex(e){this.d_activeIndex=e}},mounted(){this.updateInkBar()},updated(){this.updateInkBar()},beforeUnmount(){clearTimeout(this.timeout)},methods:{getPTOptions(e,t){return this.ptm(e,{context:{order:t}})},onItemClick(e,t,n,i){this.disabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),t.to&&i&&i(e),n!==this.d_activeIndex&&(this.d_activeIndex=n,this.$emit("update:activeIndex",this.d_activeIndex)),this.$emit("tab-change",{originalEvent:e,index:n}))},onKeydownItem(e,t,n){let i=n,a={};const l=this.$refs.tabLink;switch(e.code){case"ArrowRight":a=this.findNextItem(this.$refs.tab,i),i=a.i;break;case"ArrowLeft":a=this.findPrevItem(this.$refs.tab,i),i=a.i;break;case"End":a=this.findPrevItem(this.$refs.tab,this.model.length),i=a.i,e.preventDefault();break;case"Home":a=this.findNextItem(this.$refs.tab,-1),i=a.i,e.preventDefault();break;case"Space":case"Enter":e.currentTarget&&e.currentTarget.click(),e.preventDefault();break;case"Tab":this.setDefaultTabIndexes(l)}l[i]&&l[n]&&(l[n].tabIndex="-1",l[i].tabIndex="0",l[i].focus())},findNextItem(e,t){let i=t+1;if(i>=e.length)return{nextItem:e[e.length],i:e.length};let a=e[i];return a?n.hasClass(a,"p-disabled")?this.findNextItem(e,i):{nextItem:a,i:i}:null},findPrevItem(e,t){let i=t-1;if(i<0)return{nextItem:e[0],i:0};let a=e[i];return a?n.hasClass(a,"p-disabled")?this.findPrevItem(e,i):{prevItem:a,i:i}:null},getItemClass(e,t){return["p-tabmenuitem",e.class,{"p-highlight":this.d_activeIndex===t,"p-disabled":this.disabled(e)}]},getRouteItemClass(e,t,n){return["p-tabmenuitem",e.class,{"p-highlight":this.exact?n:t,"p-disabled":this.disabled(e)}]},getItemIcon:e=>["p-menuitem-icon",e.icon],visible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,disabled:e=>"function"==typeof e.disabled?e.disabled():e.disabled,label:e=>"function"==typeof e.label?e.label():e.label,setDefaultTabIndexes(e){setTimeout((()=>{e.forEach((e=>{e.tabIndex=n.hasClass(e.parentElement,"p-highlight")?"0":"-1"}))}),300)},setTabIndex(e){return this.d_activeIndex===e?"0":"-1"},updateInkBar(){let e=this.$refs.nav.children,t=!1;for(let i=0;i<e.length;i++){let a=e[i];n.hasClass(a,"p-highlight")&&(this.$refs.inkbar.style.width=n.getWidth(a)+"px",this.$refs.inkbar.style.left=n.getOffset(a).left-n.getOffset(this.$refs.nav).left+"px",t=!0)}t||(this.$refs.inkbar.style.width="0px",this.$refs.inkbar.style.left="0px")}},directives:{ripple:t}};const g=["aria-labelledby","aria-label"],v=["href","aria-label","aria-disabled","tabindex","onClick","onKeydown"],y=["onClick","onKeydown"],k=["href","target","aria-label","aria-disabled","tabindex"];!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-tabmenu {\n overflow-x: auto;\n}\n.p-tabmenu-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex-wrap: nowrap;\n}\n.p-tabmenu-nav a {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabmenu-nav a:focus {\n z-index: 1;\n}\n.p-tabmenu-nav .p-menuitem-text {\n line-height: 1;\n}\n.p-tabmenu-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabmenu::-webkit-scrollbar {\n display: none;\n}\n"),I.render=function(e,t,n,I,T,$){const C=i("router-link"),w=a("ripple");return l(),s("div",r({class:"p-tabmenu p-component"},e.ptm("root")),[o("ul",r({ref:"nav",class:"p-tabmenu-nav p-reset",role:"menubar","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},e.ptm("menu")),[(l(!0),s(d,null,m(n.model,((t,n)=>(l(),s(d,{key:$.label(t)+"_"+n.toString()},[t.to&&!$.disabled(t)?(l(),c(C,{key:0,to:t.to,custom:""},{default:p((({navigate:i,href:a,isActive:d,isExactActive:m})=>[$.visible(t)?(l(),s("li",r({key:0,ref_for:!0,ref:"tab",class:$.getRouteItemClass(t,d,m),style:t.style,role:"presentation"},$.getPTOptions("menuitem",n)),[e.$slots.item?(l(),c(b(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):u((l(),s("a",r({key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:a,class:"p-menuitem-link","aria-label":$.label(t),"aria-disabled":$.disabled(t),tabindex:m?"0":"-1",onClick:e=>$.onItemClick(e,t,n,i),onKeydown:e=>$.onKeydownItem(e,t,n,i)},$.getPTOptions("action",n)),[e.$slots.itemicon?(l(),c(b(e.$slots.itemicon),{key:0,item:t,class:f($.getItemIcon(t))},null,8,["item","class"])):t.icon?(l(),s("span",r({key:1,class:$.getItemIcon(t)},$.getPTOptions("icon",n)),null,16)):h("",!0),o("span",r({class:"p-menuitem-text"},$.getPTOptions("label",n)),x($.label(t)),17)],16,v)),[[w]])],16)):h("",!0)])),_:2},1032,["to"])):$.visible(t)?(l(),s("li",r({key:1,ref_for:!0,ref:"tab",class:$.getItemClass(t,n),role:"presentation",onClick:e=>$.onItemClick(e,t,n),onKeydown:e=>$.onKeydownItem(e,t,n)},$.getPTOptions("menuitem",n)),[e.$slots.item?(l(),c(b(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):u((l(),s("a",r({key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:t.url,class:"p-menuitem-link",target:t.target,"aria-label":$.label(t),"aria-disabled":$.disabled(t),tabindex:$.setTabIndex(n)},$.getPTOptions("action",n)),[e.$slots.itemicon?(l(),c(b(e.$slots.itemicon),{key:0,item:t,class:f($.getItemIcon(t))},null,8,["item","class"])):t.icon?(l(),s("span",r({key:1,class:$.getItemIcon(t)},$.getPTOptions("icon",n)),null,16)):h("",!0),o("span",r({class:"p-menuitem-text"},$.getPTOptions("label",n)),x($.label(t)),17)],16,k)),[[w]])],16,y)):h("",!0)],64)))),128)),o("li",r({ref:"inkbar",role:"none",class:"p-tabmenu-ink-bar"},e.ptm("inkbar")),null,16)],16,g)],16)};export{I as default};