primevue 3.22.3 → 3.23.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 (267) hide show
  1. package/README.md +2 -2
  2. package/accordion/Accordion.vue +7 -3
  3. package/accordion/accordion.cjs.js +7 -3
  4. package/accordion/accordion.cjs.min.js +1 -1
  5. package/accordion/accordion.esm.js +8 -4
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +7 -3
  8. package/accordion/accordion.min.js +1 -1
  9. package/autocomplete/AutoComplete.vue +6 -3
  10. package/autocomplete/autocomplete.cjs.js +12 -9
  11. package/autocomplete/autocomplete.cjs.min.js +1 -1
  12. package/autocomplete/autocomplete.esm.js +13 -10
  13. package/autocomplete/autocomplete.esm.min.js +1 -1
  14. package/autocomplete/autocomplete.js +12 -9
  15. package/autocomplete/autocomplete.min.js +1 -1
  16. package/breadcrumb/Breadcrumb.vue +3 -3
  17. package/breadcrumb/breadcrumb.cjs.js +19 -11
  18. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  19. package/breadcrumb/breadcrumb.esm.js +19 -11
  20. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  21. package/breadcrumb/breadcrumb.js +19 -11
  22. package/breadcrumb/breadcrumb.min.js +1 -1
  23. package/calendar/Calendar.vue +4 -4
  24. package/calendar/calendar.cjs.js +4 -4
  25. package/calendar/calendar.cjs.min.js +1 -1
  26. package/calendar/calendar.esm.js +4 -4
  27. package/calendar/calendar.esm.min.js +1 -1
  28. package/calendar/calendar.js +4 -4
  29. package/calendar/calendar.min.js +1 -1
  30. package/cascadeselect/CascadeSelect.vue +6 -3
  31. package/cascadeselect/cascadeselect.cjs.js +9 -6
  32. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  33. package/cascadeselect/cascadeselect.esm.js +10 -7
  34. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  35. package/cascadeselect/cascadeselect.js +9 -6
  36. package/cascadeselect/cascadeselect.min.js +1 -1
  37. package/config/PrimeVue.d.ts +1 -2
  38. package/config/config.cjs.js +0 -1
  39. package/config/config.cjs.min.js +1 -1
  40. package/config/config.esm.js +0 -1
  41. package/config/config.esm.min.js +1 -1
  42. package/config/config.js +0 -1
  43. package/config/config.min.js +1 -1
  44. package/contextmenu/ContextMenu.vue +6 -3
  45. package/contextmenu/contextmenu.cjs.js +8 -5
  46. package/contextmenu/contextmenu.cjs.min.js +1 -1
  47. package/contextmenu/contextmenu.esm.js +9 -6
  48. package/contextmenu/contextmenu.esm.min.js +1 -1
  49. package/contextmenu/contextmenu.js +8 -5
  50. package/contextmenu/contextmenu.min.js +1 -1
  51. package/core/core.js +74 -50
  52. package/core/core.min.js +6 -6
  53. package/datatable/BodyCell.vue +4 -2
  54. package/datatable/DataTable.vue +6 -6
  55. package/datatable/datatable.cjs.js +14 -12
  56. package/datatable/datatable.cjs.min.js +1 -1
  57. package/datatable/datatable.esm.js +14 -12
  58. package/datatable/datatable.esm.min.js +1 -1
  59. package/datatable/datatable.js +14 -12
  60. package/datatable/datatable.min.js +1 -1
  61. package/dialog/Dialog.vue +1 -1
  62. package/dialog/dialog.cjs.js +1 -1
  63. package/dialog/dialog.cjs.min.js +1 -1
  64. package/dialog/dialog.esm.js +1 -1
  65. package/dialog/dialog.esm.min.js +1 -1
  66. package/dialog/dialog.js +1 -1
  67. package/dialog/dialog.min.js +1 -1
  68. package/dock/DockSub.vue +9 -3
  69. package/dock/dock.cjs.js +10 -4
  70. package/dock/dock.cjs.min.js +1 -1
  71. package/dock/dock.esm.js +11 -5
  72. package/dock/dock.esm.min.js +1 -1
  73. package/dock/dock.js +10 -4
  74. package/dock/dock.min.js +1 -1
  75. package/dropdown/Dropdown.vue +6 -3
  76. package/dropdown/dropdown.cjs.js +13 -10
  77. package/dropdown/dropdown.cjs.min.js +1 -1
  78. package/dropdown/dropdown.esm.js +14 -11
  79. package/dropdown/dropdown.esm.min.js +1 -1
  80. package/dropdown/dropdown.js +13 -10
  81. package/dropdown/dropdown.min.js +1 -1
  82. package/listbox/Listbox.vue +6 -3
  83. package/listbox/listbox.cjs.js +11 -8
  84. package/listbox/listbox.cjs.min.js +1 -1
  85. package/listbox/listbox.esm.js +12 -9
  86. package/listbox/listbox.esm.min.js +1 -1
  87. package/listbox/listbox.js +11 -8
  88. package/listbox/listbox.min.js +1 -1
  89. package/megamenu/MegaMenu.vue +7 -3
  90. package/megamenu/megamenu.cjs.js +10 -6
  91. package/megamenu/megamenu.cjs.min.js +1 -1
  92. package/megamenu/megamenu.esm.js +11 -7
  93. package/megamenu/megamenu.esm.min.js +1 -1
  94. package/megamenu/megamenu.js +10 -6
  95. package/megamenu/megamenu.min.js +1 -1
  96. package/menu/Menu.d.ts +8 -0
  97. package/menu/Menu.vue +14 -3
  98. package/menu/menu.cjs.js +39 -16
  99. package/menu/menu.cjs.min.js +1 -1
  100. package/menu/menu.esm.js +41 -18
  101. package/menu/menu.esm.min.js +1 -1
  102. package/menu/menu.js +39 -16
  103. package/menu/menu.min.js +1 -1
  104. package/menubar/Menubar.vue +7 -3
  105. package/menubar/menubar.cjs.js +10 -6
  106. package/menubar/menubar.cjs.min.js +1 -1
  107. package/menubar/menubar.esm.js +11 -7
  108. package/menubar/menubar.esm.min.js +1 -1
  109. package/menubar/menubar.js +10 -6
  110. package/menubar/menubar.min.js +1 -1
  111. package/multiselect/MultiSelect.vue +6 -3
  112. package/multiselect/multiselect.cjs.js +11 -8
  113. package/multiselect/multiselect.cjs.min.js +1 -1
  114. package/multiselect/multiselect.esm.js +12 -9
  115. package/multiselect/multiselect.esm.min.js +1 -1
  116. package/multiselect/multiselect.js +11 -8
  117. package/multiselect/multiselect.min.js +1 -1
  118. package/orderlist/OrderList.vue +8 -3
  119. package/orderlist/orderlist.cjs.js +11 -6
  120. package/orderlist/orderlist.cjs.min.js +1 -1
  121. package/orderlist/orderlist.esm.js +12 -7
  122. package/orderlist/orderlist.esm.min.js +1 -1
  123. package/orderlist/orderlist.js +11 -6
  124. package/orderlist/orderlist.min.js +1 -1
  125. package/package.json +1 -1
  126. package/panelmenu/PanelMenu.vue +9 -6
  127. package/panelmenu/PanelMenuList.vue +1 -1
  128. package/panelmenu/panelmenu.cjs.js +11 -8
  129. package/panelmenu/panelmenu.cjs.min.js +1 -1
  130. package/panelmenu/panelmenu.esm.js +11 -8
  131. package/panelmenu/panelmenu.esm.min.js +1 -1
  132. package/panelmenu/panelmenu.js +11 -8
  133. package/panelmenu/panelmenu.min.js +1 -1
  134. package/picklist/PickList.vue +8 -2
  135. package/picklist/picklist.cjs.js +8 -2
  136. package/picklist/picklist.cjs.min.js +1 -1
  137. package/picklist/picklist.esm.js +9 -3
  138. package/picklist/picklist.esm.min.js +1 -1
  139. package/picklist/picklist.js +8 -2
  140. package/picklist/picklist.min.js +1 -1
  141. package/rating/Rating.vue +9 -3
  142. package/rating/rating.cjs.js +11 -5
  143. package/rating/rating.cjs.min.js +1 -1
  144. package/rating/rating.esm.js +12 -6
  145. package/rating/rating.esm.min.js +1 -1
  146. package/rating/rating.js +11 -5
  147. package/rating/rating.min.js +1 -1
  148. package/resources/themes/arya-blue/theme.css +7 -0
  149. package/resources/themes/arya-green/theme.css +7 -0
  150. package/resources/themes/arya-orange/theme.css +7 -0
  151. package/resources/themes/arya-purple/theme.css +7 -0
  152. package/resources/themes/bootstrap4-dark-blue/theme.css +7 -0
  153. package/resources/themes/bootstrap4-dark-purple/theme.css +7 -0
  154. package/resources/themes/bootstrap4-light-blue/theme.css +7 -0
  155. package/resources/themes/bootstrap4-light-purple/theme.css +7 -0
  156. package/resources/themes/fluent-light/theme.css +7 -0
  157. package/resources/themes/lara-dark-blue/theme.css +7 -0
  158. package/resources/themes/lara-dark-indigo/theme.css +7 -0
  159. package/resources/themes/lara-dark-purple/theme.css +7 -0
  160. package/resources/themes/lara-dark-teal/theme.css +7 -0
  161. package/resources/themes/lara-light-blue/theme.css +7 -0
  162. package/resources/themes/lara-light-indigo/theme.css +7 -0
  163. package/resources/themes/lara-light-purple/theme.css +7 -0
  164. package/resources/themes/lara-light-teal/theme.css +7 -0
  165. package/resources/themes/luna-amber/theme.css +7 -0
  166. package/resources/themes/luna-blue/theme.css +7 -0
  167. package/resources/themes/luna-green/theme.css +7 -0
  168. package/resources/themes/luna-pink/theme.css +7 -0
  169. package/resources/themes/md-dark-deeppurple/theme.css +10 -2
  170. package/resources/themes/md-dark-indigo/theme.css +10 -2
  171. package/resources/themes/md-light-deeppurple/theme.css +10 -2
  172. package/resources/themes/md-light-indigo/theme.css +10 -2
  173. package/resources/themes/mdc-dark-deeppurple/theme.css +10 -2
  174. package/resources/themes/mdc-dark-indigo/theme.css +10 -2
  175. package/resources/themes/mdc-light-deeppurple/theme.css +10 -2
  176. package/resources/themes/mdc-light-indigo/theme.css +10 -2
  177. package/resources/themes/mira/fonts/Inter-Bold.woff +0 -0
  178. package/resources/themes/mira/fonts/Inter-Bold.woff2 +0 -0
  179. package/resources/themes/mira/fonts/Inter-Medium.woff +0 -0
  180. package/resources/themes/mira/fonts/Inter-Medium.woff2 +0 -0
  181. package/resources/themes/mira/fonts/Inter-Regular.woff +0 -0
  182. package/resources/themes/mira/fonts/Inter-Regular.woff2 +0 -0
  183. package/resources/themes/mira/fonts/Inter-SemiBold.woff +0 -0
  184. package/resources/themes/mira/fonts/Inter-SemiBold.woff2 +0 -0
  185. package/resources/themes/mira/theme.css +6066 -0
  186. package/resources/themes/nano/theme.css +5838 -0
  187. package/resources/themes/nova/theme.css +7 -0
  188. package/resources/themes/nova-accent/theme.css +7 -0
  189. package/resources/themes/nova-alt/theme.css +7 -0
  190. package/resources/themes/nova-vue/theme.css +7 -0
  191. package/resources/themes/rhea/theme.css +7 -0
  192. package/resources/themes/saga-blue/theme.css +7 -0
  193. package/resources/themes/saga-green/theme.css +7 -0
  194. package/resources/themes/saga-orange/theme.css +7 -0
  195. package/resources/themes/saga-purple/theme.css +7 -0
  196. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  197. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  198. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  199. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  200. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  201. package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  202. package/resources/themes/soho-dark/theme.css +5831 -0
  203. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  204. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  205. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  206. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  207. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  208. package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  209. package/resources/themes/soho-light/theme.css +5885 -0
  210. package/resources/themes/tailwind-light/theme.css +7 -0
  211. package/resources/themes/vela-blue/theme.css +7 -0
  212. package/resources/themes/vela-green/theme.css +7 -0
  213. package/resources/themes/vela-orange/theme.css +7 -0
  214. package/resources/themes/vela-purple/theme.css +7 -0
  215. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  216. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  217. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  218. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  219. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  220. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  221. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  222. package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  223. package/resources/themes/viva-dark/theme.css +5993 -0
  224. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
  225. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
  226. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
  227. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
  228. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
  229. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
  230. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
  231. package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
  232. package/resources/themes/viva-light/theme.css +5993 -0
  233. package/speeddial/SpeedDial.vue +6 -3
  234. package/speeddial/speeddial.cjs.js +11 -8
  235. package/speeddial/speeddial.cjs.min.js +1 -1
  236. package/speeddial/speeddial.esm.js +12 -9
  237. package/speeddial/speeddial.esm.min.js +1 -1
  238. package/speeddial/speeddial.js +11 -8
  239. package/speeddial/speeddial.min.js +1 -1
  240. package/tabview/TabView.vue +6 -3
  241. package/tabview/tabview.cjs.js +6 -3
  242. package/tabview/tabview.cjs.min.js +1 -1
  243. package/tabview/tabview.esm.js +7 -4
  244. package/tabview/tabview.esm.min.js +1 -1
  245. package/tabview/tabview.js +6 -3
  246. package/tabview/tabview.min.js +1 -1
  247. package/tag/Tag.vue +1 -1
  248. package/tag/tag.cjs.js +4 -2
  249. package/tag/tag.cjs.min.js +1 -1
  250. package/tag/tag.esm.js +5 -3
  251. package/tag/tag.esm.min.js +1 -1
  252. package/tag/tag.js +4 -2
  253. package/tag/tag.min.js +1 -1
  254. package/tieredmenu/TieredMenu.vue +7 -3
  255. package/tieredmenu/tieredmenu.cjs.js +10 -6
  256. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  257. package/tieredmenu/tieredmenu.esm.js +11 -7
  258. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  259. package/tieredmenu/tieredmenu.js +10 -6
  260. package/tieredmenu/tieredmenu.min.js +1 -1
  261. package/utils/utils.cjs.js +11 -16
  262. package/utils/utils.cjs.min.js +1 -1
  263. package/utils/utils.esm.js +11 -16
  264. package/utils/utils.esm.min.js +1 -1
  265. package/utils/utils.js +11 -16
  266. package/utils/utils.min.js +1 -1
  267. package/web-types.json +11 -1
@@ -1 +1 @@
1
- import e from"primevue/ripple";import{DomHandler as t,UniqueComponentId as n}from"primevue/utils";import{resolveDirective as a,openBlock as i,createElementBlock as s,normalizeClass as r,createElementVNode as o,withDirectives as l,mergeProps as d,createCommentVNode as c,Fragment as b,renderList as p,toDisplayString as h,createBlock as v,resolveDynamicComponent as u,vShow as f}from"vue";var g={name:"TabView",emits:["update:activeIndex","tab-change","tab-click"],props:{activeIndex:{type:Number,default:0},lazy:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},tabindex:{type:Number,default:0},selectOnFocus:{type:Boolean,default:!1},previousButtonProps:{type:null,default:null},nextButtonProps:{type:null,default:null}},data(){return{d_activeIndex:this.activeIndex,isPrevButtonDisabled:!0,isNextButtonDisabled:!1}},watch:{activeIndex(e){this.d_activeIndex=e,this.scrollInView({index:e})}},mounted(){this.updateInkBar(),this.scrollable&&this.updateButtonState()},updated(){this.updateInkBar()},methods:{isTabPanel:e=>"TabPanel"===e.type.name,isTabActive(e){return this.d_activeIndex===e},getTabProp:(e,t)=>e.props?e.props[t]:void 0,getKey(e,t){return this.getTabProp(e,"header")||t},getTabHeaderActionId(e){return`${this.id}_${e}_header_action`},getTabContentId(e){return`${this.id}_${e}_content`},onScroll(e){this.scrollable&&this.updateButtonState(),e.preventDefault()},onPrevButtonClick(){const e=this.$refs.content,n=t.getWidth(e)-this.getVisibleButtonWidths(),a=e.scrollLeft-n;e.scrollLeft=a<=0?0:a},onNextButtonClick(){const e=this.$refs.content,n=t.getWidth(e)-this.getVisibleButtonWidths(),a=e.scrollLeft+n,i=e.scrollWidth-n;e.scrollLeft=a>=i?i:a},onTabClick(e,t,n){this.changeActiveIndex(e,t,n),this.$emit("tab-click",{originalEvent:e,index:n})},onTabKeyDown(e,t,n){switch(e.code){case"ArrowLeft":this.onTabArrowLeftKey(e);break;case"ArrowRight":this.onTabArrowRightKey(e);break;case"Home":this.onTabHomeKey(e);break;case"End":this.onTabEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onTabEnterKey(e,t,n)}},onTabArrowRightKey(e){const t=this.findNextHeaderAction(e.target.parentElement);t?this.changeFocusedTab(e,t):this.onTabHomeKey(e),e.preventDefault()},onTabArrowLeftKey(e){const t=this.findPrevHeaderAction(e.target.parentElement);t?this.changeFocusedTab(e,t):this.onTabEndKey(e),e.preventDefault()},onTabHomeKey(e){const t=this.findFirstHeaderAction();this.changeFocusedTab(e,t),e.preventDefault()},onTabEndKey(e){const t=this.findLastHeaderAction();this.changeFocusedTab(e,t),e.preventDefault()},onPageDownKey(e){this.scrollInView({index:this.$refs.nav.children.length-2}),e.preventDefault()},onPageUpKey(e){this.scrollInView({index:0}),e.preventDefault()},onTabEnterKey(e,t,n){this.changeActiveIndex(e,t,n),e.preventDefault()},findNextHeaderAction(e,n=!1){const a=n?e:e.nextElementSibling;return a?t.hasClass(a,"p-disabled")||t.hasClass(a,"p-tabview-ink-bar")?this.findNextHeaderAction(a):t.findSingle(a,".p-tabview-header-action"):null},findPrevHeaderAction(e,n=!1){const a=n?e:e.previousElementSibling;return a?t.hasClass(a,"p-disabled")||t.hasClass(a,"p-tabview-ink-bar")?this.findPrevHeaderAction(a):t.findSingle(a,".p-tabview-header-action"):null},findFirstHeaderAction(){return this.findNextHeaderAction(this.$refs.nav.firstElementChild,!0)},findLastHeaderAction(){return this.findPrevHeaderAction(this.$refs.nav.lastElementChild,!0)},changeActiveIndex(e,t,n){this.getTabProp(t,"disabled")||this.d_activeIndex===n||(this.d_activeIndex=n,this.$emit("update:activeIndex",n),this.$emit("tab-change",{originalEvent:e,index:n}),this.scrollInView({index:n}))},changeFocusedTab(e,n){if(n&&(t.focus(n),this.scrollInView({element:n}),this.selectOnFocus)){const t=parseInt(n.parentElement.dataset.index,10),a=this.tabs[t];this.changeActiveIndex(e,a,t)}},scrollInView({element:e,index:t=-1}){const n=e||this.$refs.nav.children[t];n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest"})},updateInkBar(){let e=this.$refs.nav.children[this.d_activeIndex];this.$refs.inkbar.style.width=t.getWidth(e)+"px",this.$refs.inkbar.style.left=t.getOffset(e).left-t.getOffset(this.$refs.nav).left+"px"},updateButtonState(){const e=this.$refs.content,{scrollLeft:n,scrollWidth:a}=e,i=t.getWidth(e);this.isPrevButtonDisabled=0===n,this.isNextButtonDisabled=parseInt(n)===a-i},getVisibleButtonWidths(){const{prevBtn:e,nextBtn:n}=this.$refs;return[e,n].reduce(((e,n)=>n?e+t.getWidth(n):e),0)},getTabHeaderClass(e,t){return["p-tabview-header",this.getTabProp(e,"headerClass"),{"p-highlight":this.d_activeIndex===t,"p-disabled":this.getTabProp(e,"disabled")}]},getTabContentClass(e){return["p-tabview-panel",this.getTabProp(e,"contentClass")]}},computed:{contentClasses(){return["p-tabview p-component",{"p-tabview-scrollable":this.scrollable}]},tabs(){return this.$slots.default().reduce(((e,t)=>(this.isTabPanel(t)?e.push(t):t.children&&t.children instanceof Array&&t.children.forEach((t=>{this.isTabPanel(t)&&e.push(t)})),e)),[])},prevButtonAriaLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.previous:void 0},nextButtonAriaLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.next:void 0},id(){return this.$attrs.id||n()}},directives:{ripple:e}};const x={class:"p-tabview-nav-container"},y=["tabindex","aria-label"],w=[o("span",{class:"pi pi-chevron-left","aria-hidden":"true"},null,-1)],T={ref:"nav",class:"p-tabview-nav",role:"tablist"},m=["data-index"],k=["id","tabindex","aria-disabled","aria-selected","aria-controls","onClick","onKeydown"],P={key:0,class:"p-tabview-title"},B={ref:"inkbar",class:"p-tabview-ink-bar",role:"presentation","aria-hidden":"true"},A=["tabindex","aria-label"],C=[o("span",{class:"pi pi-chevron-right","aria-hidden":"true"},null,-1)],I={class:"p-tabview-panels"},$=["aria-labelledby"];!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-tabview-nav-container {\n position: relative;\n}\n.p-tabview-scrollable .p-tabview-nav-container {\n overflow: hidden;\n}\n.p-tabview-nav-content {\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n.p-tabview-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex: 1 1 auto;\n}\n.p-tabview-header-action {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabview-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabview-header-action:focus {\n z-index: 1;\n}\n.p-tabview-title {\n line-height: 1;\n white-space: nowrap;\n}\n.p-tabview-nav-btn {\n position: absolute;\n top: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-tabview-nav-prev {\n left: 0;\n}\n.p-tabview-nav-next {\n right: 0;\n}\n.p-tabview-nav-content::-webkit-scrollbar {\n display: none;\n}\n"),g.render=function(e,t,n,g,K,H){const D=a("ripple");return i(),s("div",{class:r(H.contentClasses)},[o("div",x,[n.scrollable&&!K.isPrevButtonDisabled?l((i(),s("button",d({key:0,ref:"prevBtn",type:"button",class:"p-tabview-nav-prev p-tabview-nav-btn p-link",tabindex:n.tabindex,"aria-label":H.prevButtonAriaLabel,onClick:t[0]||(t[0]=(...e)=>H.onPrevButtonClick&&H.onPrevButtonClick(...e))},n.previousButtonProps),w,16,y)),[[D]]):c("",!0),o("div",{ref:"content",class:"p-tabview-nav-content",onScroll:t[1]||(t[1]=(...e)=>H.onScroll&&H.onScroll(...e))},[o("ul",T,[(i(!0),s(b,null,p(H.tabs,((e,t)=>(i(),s("li",d({key:H.getKey(e,t),style:H.getTabProp(e,"headerStyle"),class:H.getTabHeaderClass(e,t),role:"presentation","data-index":t},H.getTabProp(e,"headerProps")),[l((i(),s("a",d({id:H.getTabHeaderActionId(t),class:"p-tabview-nav-link p-tabview-header-action",tabindex:H.getTabProp(e,"disabled")||!H.isTabActive(t)?-1:n.tabindex,role:"tab","aria-disabled":H.getTabProp(e,"disabled"),"aria-selected":H.isTabActive(t),"aria-controls":H.getTabContentId(t),onClick:n=>H.onTabClick(n,e,t),onKeydown:n=>H.onTabKeyDown(n,e,t)},H.getTabProp(e,"headerActionProps")),[e.props&&e.props.header?(i(),s("span",P,h(e.props.header),1)):c("",!0),e.children&&e.children.header?(i(),v(u(e.children.header),{key:1})):c("",!0)],16,k)),[[D]])],16,m)))),128)),o("li",B,null,512)],512)],544),n.scrollable&&!K.isNextButtonDisabled?l((i(),s("button",d({key:1,ref:"nextBtn",type:"button",class:"p-tabview-nav-next p-tabview-nav-btn p-link",tabindex:n.tabindex,"aria-label":H.nextButtonAriaLabel,onClick:t[2]||(t[2]=(...e)=>H.onNextButtonClick&&H.onNextButtonClick(...e))},n.nextButtonProps),C,16,A)),[[D]]):c("",!0)]),o("div",I,[(i(!0),s(b,null,p(H.tabs,((e,t)=>(i(),s(b,{key:H.getKey(e,t)},[!n.lazy||H.isTabActive(t)?l((i(),s("div",d({key:0,style:H.getTabProp(e,"contentStyle"),class:H.getTabContentClass(e),role:"tabpanel","aria-labelledby":H.getTabHeaderActionId(t)},H.getTabProp(e,"contentProps")),[(i(),v(u(e)))],16,$)),[[f,!!n.lazy||H.isTabActive(t)]]):c("",!0)],64)))),128))])],2)};export{g as default};
1
+ import e from"primevue/ripple";import{UniqueComponentId as t,DomHandler as n}from"primevue/utils";import{resolveDirective as a,openBlock as i,createElementBlock as s,normalizeClass as r,createElementVNode as o,withDirectives as l,mergeProps as d,createCommentVNode as c,Fragment as b,renderList as h,toDisplayString as p,createBlock as v,resolveDynamicComponent as u,vShow as f}from"vue";var g={name:"TabView",emits:["update:activeIndex","tab-change","tab-click"],props:{activeIndex:{type:Number,default:0},lazy:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},tabindex:{type:Number,default:0},selectOnFocus:{type:Boolean,default:!1},previousButtonProps:{type:null,default:null},nextButtonProps:{type:null,default:null}},data(){return{id:this.$attrs.id,d_activeIndex:this.activeIndex,isPrevButtonDisabled:!0,isNextButtonDisabled:!1}},watch:{"$attrs.id":function(e){this.id=e||t()},activeIndex(e){this.d_activeIndex=e,this.scrollInView({index:e})}},mounted(){this.id=this.id||t(),this.updateInkBar(),this.scrollable&&this.updateButtonState()},updated(){this.updateInkBar()},methods:{isTabPanel:e=>"TabPanel"===e.type.name,isTabActive(e){return this.d_activeIndex===e},getTabProp:(e,t)=>e.props?e.props[t]:void 0,getKey(e,t){return this.getTabProp(e,"header")||t},getTabHeaderActionId(e){return`${this.id}_${e}_header_action`},getTabContentId(e){return`${this.id}_${e}_content`},onScroll(e){this.scrollable&&this.updateButtonState(),e.preventDefault()},onPrevButtonClick(){const e=this.$refs.content,t=n.getWidth(e)-this.getVisibleButtonWidths(),a=e.scrollLeft-t;e.scrollLeft=a<=0?0:a},onNextButtonClick(){const e=this.$refs.content,t=n.getWidth(e)-this.getVisibleButtonWidths(),a=e.scrollLeft+t,i=e.scrollWidth-t;e.scrollLeft=a>=i?i:a},onTabClick(e,t,n){this.changeActiveIndex(e,t,n),this.$emit("tab-click",{originalEvent:e,index:n})},onTabKeyDown(e,t,n){switch(e.code){case"ArrowLeft":this.onTabArrowLeftKey(e);break;case"ArrowRight":this.onTabArrowRightKey(e);break;case"Home":this.onTabHomeKey(e);break;case"End":this.onTabEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onTabEnterKey(e,t,n)}},onTabArrowRightKey(e){const t=this.findNextHeaderAction(e.target.parentElement);t?this.changeFocusedTab(e,t):this.onTabHomeKey(e),e.preventDefault()},onTabArrowLeftKey(e){const t=this.findPrevHeaderAction(e.target.parentElement);t?this.changeFocusedTab(e,t):this.onTabEndKey(e),e.preventDefault()},onTabHomeKey(e){const t=this.findFirstHeaderAction();this.changeFocusedTab(e,t),e.preventDefault()},onTabEndKey(e){const t=this.findLastHeaderAction();this.changeFocusedTab(e,t),e.preventDefault()},onPageDownKey(e){this.scrollInView({index:this.$refs.nav.children.length-2}),e.preventDefault()},onPageUpKey(e){this.scrollInView({index:0}),e.preventDefault()},onTabEnterKey(e,t,n){this.changeActiveIndex(e,t,n),e.preventDefault()},findNextHeaderAction(e,t=!1){const a=t?e:e.nextElementSibling;return a?n.hasClass(a,"p-disabled")||n.hasClass(a,"p-tabview-ink-bar")?this.findNextHeaderAction(a):n.findSingle(a,".p-tabview-header-action"):null},findPrevHeaderAction(e,t=!1){const a=t?e:e.previousElementSibling;return a?n.hasClass(a,"p-disabled")||n.hasClass(a,"p-tabview-ink-bar")?this.findPrevHeaderAction(a):n.findSingle(a,".p-tabview-header-action"):null},findFirstHeaderAction(){return this.findNextHeaderAction(this.$refs.nav.firstElementChild,!0)},findLastHeaderAction(){return this.findPrevHeaderAction(this.$refs.nav.lastElementChild,!0)},changeActiveIndex(e,t,n){this.getTabProp(t,"disabled")||this.d_activeIndex===n||(this.d_activeIndex=n,this.$emit("update:activeIndex",n),this.$emit("tab-change",{originalEvent:e,index:n}),this.scrollInView({index:n}))},changeFocusedTab(e,t){if(t&&(n.focus(t),this.scrollInView({element:t}),this.selectOnFocus)){const n=parseInt(t.parentElement.dataset.index,10),a=this.tabs[n];this.changeActiveIndex(e,a,n)}},scrollInView({element:e,index:t=-1}){const n=e||this.$refs.nav.children[t];n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest"})},updateInkBar(){let e=this.$refs.nav.children[this.d_activeIndex];this.$refs.inkbar.style.width=n.getWidth(e)+"px",this.$refs.inkbar.style.left=n.getOffset(e).left-n.getOffset(this.$refs.nav).left+"px"},updateButtonState(){const e=this.$refs.content,{scrollLeft:t,scrollWidth:a}=e,i=n.getWidth(e);this.isPrevButtonDisabled=0===t,this.isNextButtonDisabled=parseInt(t)===a-i},getVisibleButtonWidths(){const{prevBtn:e,nextBtn:t}=this.$refs;return[e,t].reduce(((e,t)=>t?e+n.getWidth(t):e),0)},getTabHeaderClass(e,t){return["p-tabview-header",this.getTabProp(e,"headerClass"),{"p-highlight":this.d_activeIndex===t,"p-disabled":this.getTabProp(e,"disabled")}]},getTabContentClass(e){return["p-tabview-panel",this.getTabProp(e,"contentClass")]}},computed:{contentClasses(){return["p-tabview p-component",{"p-tabview-scrollable":this.scrollable}]},tabs(){return this.$slots.default().reduce(((e,t)=>(this.isTabPanel(t)?e.push(t):t.children&&t.children instanceof Array&&t.children.forEach((t=>{this.isTabPanel(t)&&e.push(t)})),e)),[])},prevButtonAriaLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.previous:void 0},nextButtonAriaLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.next:void 0}},directives:{ripple:e}};const x={class:"p-tabview-nav-container"},y=["tabindex","aria-label"],w=[o("span",{class:"pi pi-chevron-left","aria-hidden":"true"},null,-1)],T={ref:"nav",class:"p-tabview-nav",role:"tablist"},m=["data-index"],k=["id","tabindex","aria-disabled","aria-selected","aria-controls","onClick","onKeydown"],P={key:0,class:"p-tabview-title"},B={ref:"inkbar",class:"p-tabview-ink-bar",role:"presentation","aria-hidden":"true"},A=["tabindex","aria-label"],C=[o("span",{class:"pi pi-chevron-right","aria-hidden":"true"},null,-1)],I={class:"p-tabview-panels"},$=["aria-labelledby"];!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-tabview-nav-container {\n position: relative;\n}\n.p-tabview-scrollable .p-tabview-nav-container {\n overflow: hidden;\n}\n.p-tabview-nav-content {\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n.p-tabview-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex: 1 1 auto;\n}\n.p-tabview-header-action {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabview-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabview-header-action:focus {\n z-index: 1;\n}\n.p-tabview-title {\n line-height: 1;\n white-space: nowrap;\n}\n.p-tabview-nav-btn {\n position: absolute;\n top: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-tabview-nav-prev {\n left: 0;\n}\n.p-tabview-nav-next {\n right: 0;\n}\n.p-tabview-nav-content::-webkit-scrollbar {\n display: none;\n}\n"),g.render=function(e,t,n,g,K,H){const D=a("ripple");return i(),s("div",{class:r(H.contentClasses)},[o("div",x,[n.scrollable&&!K.isPrevButtonDisabled?l((i(),s("button",d({key:0,ref:"prevBtn",type:"button",class:"p-tabview-nav-prev p-tabview-nav-btn p-link",tabindex:n.tabindex,"aria-label":H.prevButtonAriaLabel,onClick:t[0]||(t[0]=(...e)=>H.onPrevButtonClick&&H.onPrevButtonClick(...e))},n.previousButtonProps),w,16,y)),[[D]]):c("",!0),o("div",{ref:"content",class:"p-tabview-nav-content",onScroll:t[1]||(t[1]=(...e)=>H.onScroll&&H.onScroll(...e))},[o("ul",T,[(i(!0),s(b,null,h(H.tabs,((e,t)=>(i(),s("li",d({key:H.getKey(e,t),style:H.getTabProp(e,"headerStyle"),class:H.getTabHeaderClass(e,t),role:"presentation","data-index":t},H.getTabProp(e,"headerProps")),[l((i(),s("a",d({id:H.getTabHeaderActionId(t),class:"p-tabview-nav-link p-tabview-header-action",tabindex:H.getTabProp(e,"disabled")||!H.isTabActive(t)?-1:n.tabindex,role:"tab","aria-disabled":H.getTabProp(e,"disabled"),"aria-selected":H.isTabActive(t),"aria-controls":H.getTabContentId(t),onClick:n=>H.onTabClick(n,e,t),onKeydown:n=>H.onTabKeyDown(n,e,t)},H.getTabProp(e,"headerActionProps")),[e.props&&e.props.header?(i(),s("span",P,p(e.props.header),1)):c("",!0),e.children&&e.children.header?(i(),v(u(e.children.header),{key:1})):c("",!0)],16,k)),[[D]])],16,m)))),128)),o("li",B,null,512)],512)],544),n.scrollable&&!K.isNextButtonDisabled?l((i(),s("button",d({key:1,ref:"nextBtn",type:"button",class:"p-tabview-nav-next p-tabview-nav-btn p-link",tabindex:n.tabindex,"aria-label":H.nextButtonAriaLabel,onClick:t[2]||(t[2]=(...e)=>H.onNextButtonClick&&H.onNextButtonClick(...e))},n.nextButtonProps),C,16,A)),[[D]]):c("",!0)]),o("div",I,[(i(!0),s(b,null,h(H.tabs,((e,t)=>(i(),s(b,{key:H.getKey(e,t)},[!n.lazy||H.isTabActive(t)?l((i(),s("div",d({key:0,style:H.getTabProp(e,"contentStyle"),class:H.getTabContentClass(e),role:"tabpanel","aria-labelledby":H.getTabHeaderActionId(t)},H.getTabProp(e,"contentProps")),[(i(),v(u(e)))],16,$)),[[f,!!n.lazy||H.isTabActive(t)]]):c("",!0)],64)))),128))])],2)};export{g as default};
@@ -41,12 +41,16 @@ this.primevue.tabview = (function (Ripple, utils, vue) {
41
41
  },
42
42
  data() {
43
43
  return {
44
+ id: this.$attrs.id,
44
45
  d_activeIndex: this.activeIndex,
45
46
  isPrevButtonDisabled: true,
46
47
  isNextButtonDisabled: false
47
48
  };
48
49
  },
49
50
  watch: {
51
+ '$attrs.id': function (newValue) {
52
+ this.id = newValue || utils.UniqueComponentId();
53
+ },
50
54
  activeIndex(newValue) {
51
55
  this.d_activeIndex = newValue;
52
56
 
@@ -54,6 +58,8 @@ this.primevue.tabview = (function (Ripple, utils, vue) {
54
58
  }
55
59
  },
56
60
  mounted() {
61
+ this.id = this.id || utils.UniqueComponentId();
62
+
57
63
  this.updateInkBar();
58
64
  this.scrollable && this.updateButtonState();
59
65
  },
@@ -288,9 +294,6 @@ this.primevue.tabview = (function (Ripple, utils, vue) {
288
294
  },
289
295
  nextButtonAriaLabel() {
290
296
  return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : undefined;
291
- },
292
- id() {
293
- return this.$attrs.id || utils.UniqueComponentId();
294
297
  }
295
298
  },
296
299
  directives: {
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.tabview=function(e,t,n){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i={name:"TabView",emits:["update:activeIndex","tab-change","tab-click"],props:{activeIndex:{type:Number,default:0},lazy:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},tabindex:{type:Number,default:0},selectOnFocus:{type:Boolean,default:!1},previousButtonProps:{type:null,default:null},nextButtonProps:{type:null,default:null}},data(){return{d_activeIndex:this.activeIndex,isPrevButtonDisabled:!0,isNextButtonDisabled:!1}},watch:{activeIndex(e){this.d_activeIndex=e,this.scrollInView({index:e})}},mounted(){this.updateInkBar(),this.scrollable&&this.updateButtonState()},updated(){this.updateInkBar()},methods:{isTabPanel:e=>"TabPanel"===e.type.name,isTabActive(e){return this.d_activeIndex===e},getTabProp:(e,t)=>e.props?e.props[t]:void 0,getKey(e,t){return this.getTabProp(e,"header")||t},getTabHeaderActionId(e){return`${this.id}_${e}_header_action`},getTabContentId(e){return`${this.id}_${e}_content`},onScroll(e){this.scrollable&&this.updateButtonState(),e.preventDefault()},onPrevButtonClick(){const e=this.$refs.content,n=t.DomHandler.getWidth(e)-this.getVisibleButtonWidths(),a=e.scrollLeft-n;e.scrollLeft=a<=0?0:a},onNextButtonClick(){const e=this.$refs.content,n=t.DomHandler.getWidth(e)-this.getVisibleButtonWidths(),a=e.scrollLeft+n,i=e.scrollWidth-n;e.scrollLeft=a>=i?i:a},onTabClick(e,t,n){this.changeActiveIndex(e,t,n),this.$emit("tab-click",{originalEvent:e,index:n})},onTabKeyDown(e,t,n){switch(e.code){case"ArrowLeft":this.onTabArrowLeftKey(e);break;case"ArrowRight":this.onTabArrowRightKey(e);break;case"Home":this.onTabHomeKey(e);break;case"End":this.onTabEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onTabEnterKey(e,t,n)}},onTabArrowRightKey(e){const t=this.findNextHeaderAction(e.target.parentElement);t?this.changeFocusedTab(e,t):this.onTabHomeKey(e),e.preventDefault()},onTabArrowLeftKey(e){const t=this.findPrevHeaderAction(e.target.parentElement);t?this.changeFocusedTab(e,t):this.onTabEndKey(e),e.preventDefault()},onTabHomeKey(e){const t=this.findFirstHeaderAction();this.changeFocusedTab(e,t),e.preventDefault()},onTabEndKey(e){const t=this.findLastHeaderAction();this.changeFocusedTab(e,t),e.preventDefault()},onPageDownKey(e){this.scrollInView({index:this.$refs.nav.children.length-2}),e.preventDefault()},onPageUpKey(e){this.scrollInView({index:0}),e.preventDefault()},onTabEnterKey(e,t,n){this.changeActiveIndex(e,t,n),e.preventDefault()},findNextHeaderAction(e,n=!1){const a=n?e:e.nextElementSibling;return a?t.DomHandler.hasClass(a,"p-disabled")||t.DomHandler.hasClass(a,"p-tabview-ink-bar")?this.findNextHeaderAction(a):t.DomHandler.findSingle(a,".p-tabview-header-action"):null},findPrevHeaderAction(e,n=!1){const a=n?e:e.previousElementSibling;return a?t.DomHandler.hasClass(a,"p-disabled")||t.DomHandler.hasClass(a,"p-tabview-ink-bar")?this.findPrevHeaderAction(a):t.DomHandler.findSingle(a,".p-tabview-header-action"):null},findFirstHeaderAction(){return this.findNextHeaderAction(this.$refs.nav.firstElementChild,!0)},findLastHeaderAction(){return this.findPrevHeaderAction(this.$refs.nav.lastElementChild,!0)},changeActiveIndex(e,t,n){this.getTabProp(t,"disabled")||this.d_activeIndex===n||(this.d_activeIndex=n,this.$emit("update:activeIndex",n),this.$emit("tab-change",{originalEvent:e,index:n}),this.scrollInView({index:n}))},changeFocusedTab(e,n){if(n&&(t.DomHandler.focus(n),this.scrollInView({element:n}),this.selectOnFocus)){const t=parseInt(n.parentElement.dataset.index,10),a=this.tabs[t];this.changeActiveIndex(e,a,t)}},scrollInView({element:e,index:t=-1}){const n=e||this.$refs.nav.children[t];n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest"})},updateInkBar(){let e=this.$refs.nav.children[this.d_activeIndex];this.$refs.inkbar.style.width=t.DomHandler.getWidth(e)+"px",this.$refs.inkbar.style.left=t.DomHandler.getOffset(e).left-t.DomHandler.getOffset(this.$refs.nav).left+"px"},updateButtonState(){const e=this.$refs.content,{scrollLeft:n,scrollWidth:a}=e,i=t.DomHandler.getWidth(e);this.isPrevButtonDisabled=0===n,this.isNextButtonDisabled=parseInt(n)===a-i},getVisibleButtonWidths(){const{prevBtn:e,nextBtn:n}=this.$refs;return[e,n].reduce(((e,n)=>n?e+t.DomHandler.getWidth(n):e),0)},getTabHeaderClass(e,t){return["p-tabview-header",this.getTabProp(e,"headerClass"),{"p-highlight":this.d_activeIndex===t,"p-disabled":this.getTabProp(e,"disabled")}]},getTabContentClass(e){return["p-tabview-panel",this.getTabProp(e,"contentClass")]}},computed:{contentClasses(){return["p-tabview p-component",{"p-tabview-scrollable":this.scrollable}]},tabs(){return this.$slots.default().reduce(((e,t)=>(this.isTabPanel(t)?e.push(t):t.children&&t.children instanceof Array&&t.children.forEach((t=>{this.isTabPanel(t)&&e.push(t)})),e)),[])},prevButtonAriaLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.previous:void 0},nextButtonAriaLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.next:void 0},id(){return this.$attrs.id||t.UniqueComponentId()}},directives:{ripple:a(e).default}};const o={class:"p-tabview-nav-container"},r=["tabindex","aria-label"],l=[n.createElementVNode("span",{class:"pi pi-chevron-left","aria-hidden":"true"},null,-1)],s={ref:"nav",class:"p-tabview-nav",role:"tablist"},c=["data-index"],d=["id","tabindex","aria-disabled","aria-selected","aria-controls","onClick","onKeydown"],p={key:0,class:"p-tabview-title"},h={ref:"inkbar",class:"p-tabview-ink-bar",role:"presentation","aria-hidden":"true"},b=["tabindex","aria-label"],v=[n.createElementVNode("span",{class:"pi pi-chevron-right","aria-hidden":"true"},null,-1)],u={class:"p-tabview-panels"},m=["aria-labelledby"];return 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-tabview-nav-container {\n position: relative;\n}\n.p-tabview-scrollable .p-tabview-nav-container {\n overflow: hidden;\n}\n.p-tabview-nav-content {\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n.p-tabview-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex: 1 1 auto;\n}\n.p-tabview-header-action {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabview-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabview-header-action:focus {\n z-index: 1;\n}\n.p-tabview-title {\n line-height: 1;\n white-space: nowrap;\n}\n.p-tabview-nav-btn {\n position: absolute;\n top: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-tabview-nav-prev {\n left: 0;\n}\n.p-tabview-nav-next {\n right: 0;\n}\n.p-tabview-nav-content::-webkit-scrollbar {\n display: none;\n}\n"),i.render=function(e,t,a,i,f,g){const w=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(g.contentClasses)},[n.createElementVNode("div",o,[a.scrollable&&!f.isPrevButtonDisabled?n.withDirectives((n.openBlock(),n.createElementBlock("button",n.mergeProps({key:0,ref:"prevBtn",type:"button",class:"p-tabview-nav-prev p-tabview-nav-btn p-link",tabindex:a.tabindex,"aria-label":g.prevButtonAriaLabel,onClick:t[0]||(t[0]=(...e)=>g.onPrevButtonClick&&g.onPrevButtonClick(...e))},a.previousButtonProps),l,16,r)),[[w]]):n.createCommentVNode("",!0),n.createElementVNode("div",{ref:"content",class:"p-tabview-nav-content",onScroll:t[1]||(t[1]=(...e)=>g.onScroll&&g.onScroll(...e))},[n.createElementVNode("ul",s,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(g.tabs,((e,t)=>(n.openBlock(),n.createElementBlock("li",n.mergeProps({key:g.getKey(e,t),style:g.getTabProp(e,"headerStyle"),class:g.getTabHeaderClass(e,t),role:"presentation","data-index":t},g.getTabProp(e,"headerProps")),[n.withDirectives((n.openBlock(),n.createElementBlock("a",n.mergeProps({id:g.getTabHeaderActionId(t),class:"p-tabview-nav-link p-tabview-header-action",tabindex:g.getTabProp(e,"disabled")||!g.isTabActive(t)?-1:a.tabindex,role:"tab","aria-disabled":g.getTabProp(e,"disabled"),"aria-selected":g.isTabActive(t),"aria-controls":g.getTabContentId(t),onClick:n=>g.onTabClick(n,e,t),onKeydown:n=>g.onTabKeyDown(n,e,t)},g.getTabProp(e,"headerActionProps")),[e.props&&e.props.header?(n.openBlock(),n.createElementBlock("span",p,n.toDisplayString(e.props.header),1)):n.createCommentVNode("",!0),e.children&&e.children.header?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.children.header),{key:1})):n.createCommentVNode("",!0)],16,d)),[[w]])],16,c)))),128)),n.createElementVNode("li",h,null,512)],512)],544),a.scrollable&&!f.isNextButtonDisabled?n.withDirectives((n.openBlock(),n.createElementBlock("button",n.mergeProps({key:1,ref:"nextBtn",type:"button",class:"p-tabview-nav-next p-tabview-nav-btn p-link",tabindex:a.tabindex,"aria-label":g.nextButtonAriaLabel,onClick:t[2]||(t[2]=(...e)=>g.onNextButtonClick&&g.onNextButtonClick(...e))},a.nextButtonProps),v,16,b)),[[w]]):n.createCommentVNode("",!0)]),n.createElementVNode("div",u,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(g.tabs,((e,t)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:g.getKey(e,t)},[!a.lazy||g.isTabActive(t)?n.withDirectives((n.openBlock(),n.createElementBlock("div",n.mergeProps({key:0,style:g.getTabProp(e,"contentStyle"),class:g.getTabContentClass(e),role:"tabpanel","aria-labelledby":g.getTabHeaderActionId(t)},g.getTabProp(e,"contentProps")),[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e)))],16,m)),[[n.vShow,!!a.lazy||g.isTabActive(t)]]):n.createCommentVNode("",!0)],64)))),128))])],2)},i}(primevue.ripple,primevue.utils,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.tabview=function(e,t,n){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i={name:"TabView",emits:["update:activeIndex","tab-change","tab-click"],props:{activeIndex:{type:Number,default:0},lazy:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},tabindex:{type:Number,default:0},selectOnFocus:{type:Boolean,default:!1},previousButtonProps:{type:null,default:null},nextButtonProps:{type:null,default:null}},data(){return{id:this.$attrs.id,d_activeIndex:this.activeIndex,isPrevButtonDisabled:!0,isNextButtonDisabled:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeIndex(e){this.d_activeIndex=e,this.scrollInView({index:e})}},mounted(){this.id=this.id||t.UniqueComponentId(),this.updateInkBar(),this.scrollable&&this.updateButtonState()},updated(){this.updateInkBar()},methods:{isTabPanel:e=>"TabPanel"===e.type.name,isTabActive(e){return this.d_activeIndex===e},getTabProp:(e,t)=>e.props?e.props[t]:void 0,getKey(e,t){return this.getTabProp(e,"header")||t},getTabHeaderActionId(e){return`${this.id}_${e}_header_action`},getTabContentId(e){return`${this.id}_${e}_content`},onScroll(e){this.scrollable&&this.updateButtonState(),e.preventDefault()},onPrevButtonClick(){const e=this.$refs.content,n=t.DomHandler.getWidth(e)-this.getVisibleButtonWidths(),a=e.scrollLeft-n;e.scrollLeft=a<=0?0:a},onNextButtonClick(){const e=this.$refs.content,n=t.DomHandler.getWidth(e)-this.getVisibleButtonWidths(),a=e.scrollLeft+n,i=e.scrollWidth-n;e.scrollLeft=a>=i?i:a},onTabClick(e,t,n){this.changeActiveIndex(e,t,n),this.$emit("tab-click",{originalEvent:e,index:n})},onTabKeyDown(e,t,n){switch(e.code){case"ArrowLeft":this.onTabArrowLeftKey(e);break;case"ArrowRight":this.onTabArrowRightKey(e);break;case"Home":this.onTabHomeKey(e);break;case"End":this.onTabEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onTabEnterKey(e,t,n)}},onTabArrowRightKey(e){const t=this.findNextHeaderAction(e.target.parentElement);t?this.changeFocusedTab(e,t):this.onTabHomeKey(e),e.preventDefault()},onTabArrowLeftKey(e){const t=this.findPrevHeaderAction(e.target.parentElement);t?this.changeFocusedTab(e,t):this.onTabEndKey(e),e.preventDefault()},onTabHomeKey(e){const t=this.findFirstHeaderAction();this.changeFocusedTab(e,t),e.preventDefault()},onTabEndKey(e){const t=this.findLastHeaderAction();this.changeFocusedTab(e,t),e.preventDefault()},onPageDownKey(e){this.scrollInView({index:this.$refs.nav.children.length-2}),e.preventDefault()},onPageUpKey(e){this.scrollInView({index:0}),e.preventDefault()},onTabEnterKey(e,t,n){this.changeActiveIndex(e,t,n),e.preventDefault()},findNextHeaderAction(e,n=!1){const a=n?e:e.nextElementSibling;return a?t.DomHandler.hasClass(a,"p-disabled")||t.DomHandler.hasClass(a,"p-tabview-ink-bar")?this.findNextHeaderAction(a):t.DomHandler.findSingle(a,".p-tabview-header-action"):null},findPrevHeaderAction(e,n=!1){const a=n?e:e.previousElementSibling;return a?t.DomHandler.hasClass(a,"p-disabled")||t.DomHandler.hasClass(a,"p-tabview-ink-bar")?this.findPrevHeaderAction(a):t.DomHandler.findSingle(a,".p-tabview-header-action"):null},findFirstHeaderAction(){return this.findNextHeaderAction(this.$refs.nav.firstElementChild,!0)},findLastHeaderAction(){return this.findPrevHeaderAction(this.$refs.nav.lastElementChild,!0)},changeActiveIndex(e,t,n){this.getTabProp(t,"disabled")||this.d_activeIndex===n||(this.d_activeIndex=n,this.$emit("update:activeIndex",n),this.$emit("tab-change",{originalEvent:e,index:n}),this.scrollInView({index:n}))},changeFocusedTab(e,n){if(n&&(t.DomHandler.focus(n),this.scrollInView({element:n}),this.selectOnFocus)){const t=parseInt(n.parentElement.dataset.index,10),a=this.tabs[t];this.changeActiveIndex(e,a,t)}},scrollInView({element:e,index:t=-1}){const n=e||this.$refs.nav.children[t];n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest"})},updateInkBar(){let e=this.$refs.nav.children[this.d_activeIndex];this.$refs.inkbar.style.width=t.DomHandler.getWidth(e)+"px",this.$refs.inkbar.style.left=t.DomHandler.getOffset(e).left-t.DomHandler.getOffset(this.$refs.nav).left+"px"},updateButtonState(){const e=this.$refs.content,{scrollLeft:n,scrollWidth:a}=e,i=t.DomHandler.getWidth(e);this.isPrevButtonDisabled=0===n,this.isNextButtonDisabled=parseInt(n)===a-i},getVisibleButtonWidths(){const{prevBtn:e,nextBtn:n}=this.$refs;return[e,n].reduce(((e,n)=>n?e+t.DomHandler.getWidth(n):e),0)},getTabHeaderClass(e,t){return["p-tabview-header",this.getTabProp(e,"headerClass"),{"p-highlight":this.d_activeIndex===t,"p-disabled":this.getTabProp(e,"disabled")}]},getTabContentClass(e){return["p-tabview-panel",this.getTabProp(e,"contentClass")]}},computed:{contentClasses(){return["p-tabview p-component",{"p-tabview-scrollable":this.scrollable}]},tabs(){return this.$slots.default().reduce(((e,t)=>(this.isTabPanel(t)?e.push(t):t.children&&t.children instanceof Array&&t.children.forEach((t=>{this.isTabPanel(t)&&e.push(t)})),e)),[])},prevButtonAriaLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.previous:void 0},nextButtonAriaLabel(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.next:void 0}},directives:{ripple:a(e).default}};const o={class:"p-tabview-nav-container"},r=["tabindex","aria-label"],l=[n.createElementVNode("span",{class:"pi pi-chevron-left","aria-hidden":"true"},null,-1)],s={ref:"nav",class:"p-tabview-nav",role:"tablist"},c=["data-index"],d=["id","tabindex","aria-disabled","aria-selected","aria-controls","onClick","onKeydown"],p={key:0,class:"p-tabview-title"},h={ref:"inkbar",class:"p-tabview-ink-bar",role:"presentation","aria-hidden":"true"},b=["tabindex","aria-label"],v=[n.createElementVNode("span",{class:"pi pi-chevron-right","aria-hidden":"true"},null,-1)],u={class:"p-tabview-panels"},m=["aria-labelledby"];return 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-tabview-nav-container {\n position: relative;\n}\n.p-tabview-scrollable .p-tabview-nav-container {\n overflow: hidden;\n}\n.p-tabview-nav-content {\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n overscroll-behavior: contain auto;\n}\n.p-tabview-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex: 1 1 auto;\n}\n.p-tabview-header-action {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabview-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabview-header-action:focus {\n z-index: 1;\n}\n.p-tabview-title {\n line-height: 1;\n white-space: nowrap;\n}\n.p-tabview-nav-btn {\n position: absolute;\n top: 0;\n z-index: 2;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-tabview-nav-prev {\n left: 0;\n}\n.p-tabview-nav-next {\n right: 0;\n}\n.p-tabview-nav-content::-webkit-scrollbar {\n display: none;\n}\n"),i.render=function(e,t,a,i,f,g){const w=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(g.contentClasses)},[n.createElementVNode("div",o,[a.scrollable&&!f.isPrevButtonDisabled?n.withDirectives((n.openBlock(),n.createElementBlock("button",n.mergeProps({key:0,ref:"prevBtn",type:"button",class:"p-tabview-nav-prev p-tabview-nav-btn p-link",tabindex:a.tabindex,"aria-label":g.prevButtonAriaLabel,onClick:t[0]||(t[0]=(...e)=>g.onPrevButtonClick&&g.onPrevButtonClick(...e))},a.previousButtonProps),l,16,r)),[[w]]):n.createCommentVNode("",!0),n.createElementVNode("div",{ref:"content",class:"p-tabview-nav-content",onScroll:t[1]||(t[1]=(...e)=>g.onScroll&&g.onScroll(...e))},[n.createElementVNode("ul",s,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(g.tabs,((e,t)=>(n.openBlock(),n.createElementBlock("li",n.mergeProps({key:g.getKey(e,t),style:g.getTabProp(e,"headerStyle"),class:g.getTabHeaderClass(e,t),role:"presentation","data-index":t},g.getTabProp(e,"headerProps")),[n.withDirectives((n.openBlock(),n.createElementBlock("a",n.mergeProps({id:g.getTabHeaderActionId(t),class:"p-tabview-nav-link p-tabview-header-action",tabindex:g.getTabProp(e,"disabled")||!g.isTabActive(t)?-1:a.tabindex,role:"tab","aria-disabled":g.getTabProp(e,"disabled"),"aria-selected":g.isTabActive(t),"aria-controls":g.getTabContentId(t),onClick:n=>g.onTabClick(n,e,t),onKeydown:n=>g.onTabKeyDown(n,e,t)},g.getTabProp(e,"headerActionProps")),[e.props&&e.props.header?(n.openBlock(),n.createElementBlock("span",p,n.toDisplayString(e.props.header),1)):n.createCommentVNode("",!0),e.children&&e.children.header?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.children.header),{key:1})):n.createCommentVNode("",!0)],16,d)),[[w]])],16,c)))),128)),n.createElementVNode("li",h,null,512)],512)],544),a.scrollable&&!f.isNextButtonDisabled?n.withDirectives((n.openBlock(),n.createElementBlock("button",n.mergeProps({key:1,ref:"nextBtn",type:"button",class:"p-tabview-nav-next p-tabview-nav-btn p-link",tabindex:a.tabindex,"aria-label":g.nextButtonAriaLabel,onClick:t[2]||(t[2]=(...e)=>g.onNextButtonClick&&g.onNextButtonClick(...e))},a.nextButtonProps),v,16,b)),[[w]]):n.createCommentVNode("",!0)]),n.createElementVNode("div",u,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(g.tabs,((e,t)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:g.getKey(e,t)},[!a.lazy||g.isTabActive(t)?n.withDirectives((n.openBlock(),n.createElementBlock("div",n.mergeProps({key:0,style:g.getTabProp(e,"contentStyle"),class:g.getTabContentClass(e),role:"tabpanel","aria-labelledby":g.getTabHeaderActionId(t)},g.getTabProp(e,"contentProps")),[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e)))],16,m)),[[n.vShow,!!a.lazy||g.isTabActive(t)]]):n.createCommentVNode("",!0)],64)))),128))])],2)},i}(primevue.ripple,primevue.utils,Vue);
package/tag/Tag.vue CHANGED
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <span :class="containerClass" v-bind="$attrs">
2
+ <span :class="containerClass">
3
3
  <span v-if="icon" :class="iconClass"></span>
4
4
  <slot>
5
5
  <span class="p-tag-value">{{ value }}</span>
package/tag/tag.cjs.js CHANGED
@@ -32,7 +32,9 @@ var script = {
32
32
  const _hoisted_1 = { class: "p-tag-value" };
33
33
 
34
34
  function render(_ctx, _cache, $props, $setup, $data, $options) {
35
- return (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({ class: $options.containerClass }, _ctx.$attrs), [
35
+ return (vue.openBlock(), vue.createElementBlock("span", {
36
+ class: vue.normalizeClass($options.containerClass)
37
+ }, [
36
38
  ($props.icon)
37
39
  ? (vue.openBlock(), vue.createElementBlock("span", {
38
40
  key: 0,
@@ -42,7 +44,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
42
44
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
43
45
  vue.createElementVNode("span", _hoisted_1, vue.toDisplayString($props.value), 1)
44
46
  ])
45
- ], 16))
47
+ ], 2))
46
48
  }
47
49
 
48
50
  function styleInject(css, ref) {
@@ -1 +1 @@
1
- "use strict";var e=require("vue"),n={name:"Tag",props:{value:null,severity:null,rounded:Boolean,icon:String},computed:{containerClass(){return["p-tag p-component",{"p-tag-info":"info"===this.severity,"p-tag-success":"success"===this.severity,"p-tag-warning":"warning"===this.severity,"p-tag-danger":"danger"===this.severity,"p-tag-rounded":this.rounded}]},iconClass(){return["p-tag-icon",this.icon]}}};const t={class:"p-tag-value"};!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&s.firstChild?s.insertBefore(a,s.firstChild):s.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.p-tag-icon,\n.p-tag-value,\n.p-tag-icon.pi {\n line-height: 1.5;\n}\n.p-tag.p-tag-rounded {\n border-radius: 10rem;\n}\n"),n.render=function(n,s,a,r,i,o){return e.openBlock(),e.createElementBlock("span",e.mergeProps({class:o.containerClass},n.$attrs),[a.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(o.iconClass)},null,2)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},(()=>[e.createElementVNode("span",t,e.toDisplayString(a.value),1)]))],16)},module.exports=n;
1
+ "use strict";var e=require("vue"),n={name:"Tag",props:{value:null,severity:null,rounded:Boolean,icon:String},computed:{containerClass(){return["p-tag p-component",{"p-tag-info":"info"===this.severity,"p-tag-success":"success"===this.severity,"p-tag-warning":"warning"===this.severity,"p-tag-danger":"danger"===this.severity,"p-tag-rounded":this.rounded}]},iconClass(){return["p-tag-icon",this.icon]}}};const t={class:"p-tag-value"};!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&s.firstChild?s.insertBefore(a,s.firstChild):s.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.p-tag-icon,\n.p-tag-value,\n.p-tag-icon.pi {\n line-height: 1.5;\n}\n.p-tag.p-tag-rounded {\n border-radius: 10rem;\n}\n"),n.render=function(n,s,a,i,r,o){return e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(o.containerClass)},[a.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(o.iconClass)},null,2)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},(()=>[e.createElementVNode("span",t,e.toDisplayString(a.value),1)]))],2)},module.exports=n;
package/tag/tag.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { openBlock, createElementBlock, mergeProps, normalizeClass, createCommentVNode, renderSlot, createElementVNode, toDisplayString } from 'vue';
1
+ import { openBlock, createElementBlock, normalizeClass, createCommentVNode, renderSlot, createElementVNode, toDisplayString } from 'vue';
2
2
 
3
3
  var script = {
4
4
  name: 'Tag',
@@ -30,7 +30,9 @@ var script = {
30
30
  const _hoisted_1 = { class: "p-tag-value" };
31
31
 
32
32
  function render(_ctx, _cache, $props, $setup, $data, $options) {
33
- return (openBlock(), createElementBlock("span", mergeProps({ class: $options.containerClass }, _ctx.$attrs), [
33
+ return (openBlock(), createElementBlock("span", {
34
+ class: normalizeClass($options.containerClass)
35
+ }, [
34
36
  ($props.icon)
35
37
  ? (openBlock(), createElementBlock("span", {
36
38
  key: 0,
@@ -40,7 +42,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
40
42
  renderSlot(_ctx.$slots, "default", {}, () => [
41
43
  createElementVNode("span", _hoisted_1, toDisplayString($props.value), 1)
42
44
  ])
43
- ], 16))
45
+ ], 2))
44
46
  }
45
47
 
46
48
  function styleInject(css, ref) {
@@ -1 +1 @@
1
- import{openBlock as e,createElementBlock as n,mergeProps as t,normalizeClass as s,createCommentVNode as a,renderSlot as i,createElementVNode as r,toDisplayString as o}from"vue";var l={name:"Tag",props:{value:null,severity:null,rounded:Boolean,icon:String},computed:{containerClass(){return["p-tag p-component",{"p-tag-info":"info"===this.severity,"p-tag-success":"success"===this.severity,"p-tag-warning":"warning"===this.severity,"p-tag-danger":"danger"===this.severity,"p-tag-rounded":this.rounded}]},iconClass(){return["p-tag-icon",this.icon]}}};const c={class:"p-tag-value"};!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&s.firstChild?s.insertBefore(a,s.firstChild):s.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.p-tag-icon,\n.p-tag-value,\n.p-tag-icon.pi {\n line-height: 1.5;\n}\n.p-tag.p-tag-rounded {\n border-radius: 10rem;\n}\n"),l.render=function(l,d,p,u,g,h){return e(),n("span",t({class:h.containerClass},l.$attrs),[p.icon?(e(),n("span",{key:0,class:s(h.iconClass)},null,2)):a("",!0),i(l.$slots,"default",{},(()=>[r("span",c,o(p.value),1)]))],16)};export{l as default};
1
+ import{openBlock as e,createElementBlock as n,normalizeClass as t,createCommentVNode as s,renderSlot as a,createElementVNode as i,toDisplayString as r}from"vue";var o={name:"Tag",props:{value:null,severity:null,rounded:Boolean,icon:String},computed:{containerClass(){return["p-tag p-component",{"p-tag-info":"info"===this.severity,"p-tag-success":"success"===this.severity,"p-tag-warning":"warning"===this.severity,"p-tag-danger":"danger"===this.severity,"p-tag-rounded":this.rounded}]},iconClass(){return["p-tag-icon",this.icon]}}};const l={class:"p-tag-value"};!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&s.firstChild?s.insertBefore(a,s.firstChild):s.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.p-tag-icon,\n.p-tag-value,\n.p-tag-icon.pi {\n line-height: 1.5;\n}\n.p-tag.p-tag-rounded {\n border-radius: 10rem;\n}\n"),o.render=function(o,c,d,p,u,g){return e(),n("span",{class:t(g.containerClass)},[d.icon?(e(),n("span",{key:0,class:t(g.iconClass)},null,2)):s("",!0),a(o.$slots,"default",{},(()=>[i("span",l,r(d.value),1)]))],2)};export{o as default};
package/tag/tag.js CHANGED
@@ -32,7 +32,9 @@ this.primevue.tag = (function (vue) {
32
32
  const _hoisted_1 = { class: "p-tag-value" };
33
33
 
34
34
  function render(_ctx, _cache, $props, $setup, $data, $options) {
35
- return (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({ class: $options.containerClass }, _ctx.$attrs), [
35
+ return (vue.openBlock(), vue.createElementBlock("span", {
36
+ class: vue.normalizeClass($options.containerClass)
37
+ }, [
36
38
  ($props.icon)
37
39
  ? (vue.openBlock(), vue.createElementBlock("span", {
38
40
  key: 0,
@@ -42,7 +44,7 @@ this.primevue.tag = (function (vue) {
42
44
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
43
45
  vue.createElementVNode("span", _hoisted_1, vue.toDisplayString($props.value), 1)
44
46
  ])
45
- ], 16))
47
+ ], 2))
46
48
  }
47
49
 
48
50
  function styleInject(css, ref) {
package/tag/tag.min.js CHANGED
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.tag=function(e){"use strict";var t={name:"Tag",props:{value:null,severity:null,rounded:Boolean,icon:String},computed:{containerClass(){return["p-tag p-component",{"p-tag-info":"info"===this.severity,"p-tag-success":"success"===this.severity,"p-tag-warning":"warning"===this.severity,"p-tag-danger":"danger"===this.severity,"p-tag-rounded":this.rounded}]},iconClass(){return["p-tag-icon",this.icon]}}};const n={class:"p-tag-value"};return function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&s.firstChild?s.insertBefore(a,s.firstChild):s.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.p-tag-icon,\n.p-tag-value,\n.p-tag-icon.pi {\n line-height: 1.5;\n}\n.p-tag.p-tag-rounded {\n border-radius: 10rem;\n}\n"),t.render=function(t,s,a,i,r,o){return e.openBlock(),e.createElementBlock("span",e.mergeProps({class:o.containerClass},t.$attrs),[a.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(o.iconClass)},null,2)):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},(()=>[e.createElementVNode("span",n,e.toDisplayString(a.value),1)]))],16)},t}(Vue);
1
+ this.primevue=this.primevue||{},this.primevue.tag=function(e){"use strict";var n={name:"Tag",props:{value:null,severity:null,rounded:Boolean,icon:String},computed:{containerClass(){return["p-tag p-component",{"p-tag-info":"info"===this.severity,"p-tag-success":"success"===this.severity,"p-tag-warning":"warning"===this.severity,"p-tag-danger":"danger"===this.severity,"p-tag-rounded":this.rounded}]},iconClass(){return["p-tag-icon",this.icon]}}};const t={class:"p-tag-value"};return function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&s.firstChild?s.insertBefore(a,s.firstChild):s.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.p-tag-icon,\n.p-tag-value,\n.p-tag-icon.pi {\n line-height: 1.5;\n}\n.p-tag.p-tag-rounded {\n border-radius: 10rem;\n}\n"),n.render=function(n,s,a,i,r,o){return e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(o.containerClass)},[a.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(o.iconClass)},null,2)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},(()=>[e.createElementVNode("span",t,e.toDisplayString(a.value),1)]))],2)},n}(Vue);
@@ -93,6 +93,7 @@ export default {
93
93
  searchValue: null,
94
94
  data() {
95
95
  return {
96
+ id: this.$attrs.id,
96
97
  focused: false,
97
98
  focusedItemInfo: { index: -1, level: 0, parentKey: '' },
98
99
  activeItemPath: [],
@@ -101,6 +102,9 @@ export default {
101
102
  };
102
103
  },
103
104
  watch: {
105
+ '$attrs.id': function (newValue) {
106
+ this.id = newValue || UniqueComponentId();
107
+ },
104
108
  activeItemPath(newPath) {
105
109
  if (!this.popup) {
106
110
  if (ObjectUtils.isNotEmpty(newPath)) {
@@ -113,6 +117,9 @@ export default {
113
117
  }
114
118
  }
115
119
  },
120
+ mounted() {
121
+ this.id = this.id || UniqueComponentId();
122
+ },
116
123
  beforeUnmount() {
117
124
  this.unbindOutsideClickListener();
118
125
  this.unbindResizeListener();
@@ -632,9 +639,6 @@ export default {
632
639
 
633
640
  return processedItem ? processedItem.items : this.processedItems;
634
641
  },
635
- id() {
636
- return this.$attrs.id || UniqueComponentId();
637
- },
638
642
  focusedItemId() {
639
643
  return this.focusedItemInfo.index !== -1 ? `${this.id}${ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : ''}_${this.focusedItemInfo.index}` : null;
640
644
  }
@@ -310,6 +310,7 @@ var script = {
310
310
  searchValue: null,
311
311
  data() {
312
312
  return {
313
+ id: this.$attrs.id,
313
314
  focused: false,
314
315
  focusedItemInfo: { index: -1, level: 0, parentKey: '' },
315
316
  activeItemPath: [],
@@ -318,6 +319,9 @@ var script = {
318
319
  };
319
320
  },
320
321
  watch: {
322
+ '$attrs.id': function (newValue) {
323
+ this.id = newValue || utils.UniqueComponentId();
324
+ },
321
325
  activeItemPath(newPath) {
322
326
  if (!this.popup) {
323
327
  if (utils.ObjectUtils.isNotEmpty(newPath)) {
@@ -330,6 +334,9 @@ var script = {
330
334
  }
331
335
  }
332
336
  },
337
+ mounted() {
338
+ this.id = this.id || utils.UniqueComponentId();
339
+ },
333
340
  beforeUnmount() {
334
341
  this.unbindOutsideClickListener();
335
342
  this.unbindResizeListener();
@@ -849,9 +856,6 @@ var script = {
849
856
 
850
857
  return processedItem ? processedItem.items : this.processedItems;
851
858
  },
852
- id() {
853
- return this.$attrs.id || utils.UniqueComponentId();
854
- },
855
859
  focusedItemId() {
856
860
  return this.focusedItemInfo.index !== -1 ? `${this.id}${utils.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : ''}_${this.focusedItemInfo.index}` : null;
857
861
  }
@@ -885,13 +889,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
885
889
  ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
886
890
  key: 0,
887
891
  ref: $options.containerRef,
888
- id: $options.id,
892
+ id: $data.id,
889
893
  class: $options.containerClass,
890
894
  onClick: _cache[0] || (_cache[0] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
891
895
  }, _ctx.$attrs), [
892
896
  vue.createVNode(_component_TieredMenuSub, {
893
897
  ref: $options.menubarRef,
894
- id: $options.id + '_list',
898
+ id: $data.id + '_list',
895
899
  class: "p-tieredmenu-root-list",
896
900
  tabindex: !$props.disabled ? $props.tabindex : -1,
897
901
  role: "menubar",
@@ -900,7 +904,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
900
904
  "aria-disabled": $props.disabled || undefined,
901
905
  "aria-orientation": "vertical",
902
906
  "aria-activedescendant": $data.focused ? $options.focusedItemId : undefined,
903
- menuId: $options.id,
907
+ menuId: $data.id,
904
908
  focusedItemId: $data.focused ? $options.focusedItemId : undefined,
905
909
  items: $options.processedItems,
906
910
  template: _ctx.$slots.item,
@@ -1 +1 @@
1
- "use strict";var e=require("primevue/overlayeventbus"),t=require("primevue/portal"),i=require("primevue/utils"),s=require("primevue/ripple"),n=require("vue");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(e),a=r(t),l={name:"TieredMenuSub",emits:["item-click","item-mouseenter"],props:{menuId:{type:String,default:null},focusedItemId:{type:String,default:null},items:{type:Array,default:null},level:{type:Number,default:0},template:{type:Function,default:null},activeItemPath:{type:Object,default:null},exact:{type:Boolean,default:!0}},methods:{getItemId(e){return`${this.menuId}_${e.key}`},getItemKey(e){return this.getItemId(e)},getItemProp:(e,t,s)=>e&&e.item?i.ObjectUtils.getItemValue(e.item[t],s):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.key))},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemFocused(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:e=>i.ObjectUtils.isNotEmpty(e.items),onItemClick(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick(e,t){t&&t(e)},getAriaSetSize(){return this.items.filter((e=>this.isItemVisible(e)&&!this.getItemProp(e,"separator"))).length},getAriaPosInset(e){return e-this.items.slice(0,e).filter((e=>this.isItemVisible(e)&&this.getItemProp(e,"separator"))).length+1},getItemClass(e){return["p-menuitem",this.getItemProp(e,"class"),{"p-menuitem-active p-highlight":this.isItemActive(e),"p-focus":this.isItemFocused(e),"p-disabled":this.isItemDisabled(e)}]},getItemActionClass(e,t){return["p-menuitem-link",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getItemIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getSeparatorItemClass(e){return["p-menuitem-separator",this.getItemProp(e,"class")]}},directives:{ripple:r(s).default}};const d=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset"],c=["onClick","onMouseenter"],m=["href","onClick"],u={class:"p-menuitem-text"},h=["href","target"],I={class:"p-menuitem-text"},p={key:1,class:"p-submenu-icon pi pi-angle-right"},f=["id"];l.render=function(e,t,i,s,r,o){const a=n.resolveComponent("router-link"),l=n.resolveComponent("TieredMenuSub",!0),b=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("ul",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(i.items,((s,r)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:o.getItemKey(s)},[o.isItemVisible(s)&&!o.getItemProp(s,"separator")?(n.openBlock(),n.createElementBlock("li",{key:0,id:o.getItemId(s),style:n.normalizeStyle(o.getItemProp(s,"style")),class:n.normalizeClass(o.getItemClass(s)),role:"menuitem","aria-label":o.getItemLabel(s),"aria-disabled":o.isItemDisabled(s)||void 0,"aria-expanded":o.isItemGroup(s)?o.isItemActive(s):void 0,"aria-haspopup":o.isItemGroup(s)&&!o.getItemProp(s,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(r)},[n.createElementVNode("div",{class:"p-menuitem-content",onClick:e=>o.onItemClick(e,s),onMouseenter:e=>o.onItemMouseEnter(e,s)},[i.template?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(i.template),{key:1,item:s.item},null,8,["item"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[o.getItemProp(s,"to")&&!o.isItemDisabled(s)?(n.openBlock(),n.createBlock(a,{key:0,to:o.getItemProp(s,"to"),custom:""},{default:n.withCtx((({navigate:e,href:t,isActive:i,isExactActive:r})=>[n.withDirectives((n.openBlock(),n.createElementBlock("a",{href:t,class:n.normalizeClass(o.getItemActionClass(s,{isActive:i,isExactActive:r})),tabindex:"-1","aria-hidden":"true",onClick:t=>o.onItemActionClick(t,e)},[o.getItemProp(s,"icon")?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(o.getItemIconClass(s))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",u,n.toDisplayString(o.getItemLabel(s)),1)],10,m)),[[b]])])),_:2},1032,["to"])):n.withDirectives((n.openBlock(),n.createElementBlock("a",{key:1,href:o.getItemProp(s,"url"),class:n.normalizeClass(o.getItemActionClass(s)),target:o.getItemProp(s,"target"),tabindex:"-1","aria-hidden":"true"},[o.getItemProp(s,"icon")?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(o.getItemIconClass(s))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",I,n.toDisplayString(o.getItemLabel(s)),1),o.isItemGroup(s)?(n.openBlock(),n.createElementBlock("span",p)):n.createCommentVNode("",!0)],10,h)),[[b]])],64))],40,c),o.isItemVisible(s)&&o.isItemGroup(s)?(n.openBlock(),n.createBlock(l,{key:0,id:o.getItemId(s)+"_list",role:"menu",class:"p-submenu-list",menuId:i.menuId,focusedItemId:i.focusedItemId,items:s.items,template:i.template,activeItemPath:i.activeItemPath,exact:i.exact,level:i.level+1,onItemClick:t[0]||(t[0]=t=>e.$emit("item-click",t)),onItemMouseenter:t[1]||(t[1]=t=>e.$emit("item-mouseenter",t))},null,8,["id","menuId","focusedItemId","items","template","activeItemPath","exact","level"])):n.createCommentVNode("",!0)],14,d)):n.createCommentVNode("",!0),o.isItemVisible(s)&&o.getItemProp(s,"separator")?(n.openBlock(),n.createElementBlock("li",{key:1,id:o.getItemId(s),style:n.normalizeStyle(o.getItemProp(s,"style")),class:n.normalizeClass(o.getSeparatorItemClass(s)),role:"separator"},null,14,f)):n.createCommentVNode("",!0)],64)))),128))])};var b={name:"TieredMenu",inheritAttrs:!1,emits:["focus","blur","before-show","before-hide","hide","show"],props:{popup:{type:Boolean,default:!1},model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},exact:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},outsideClickListener:null,scrollHandler:null,resizeListener:null,target:null,container:null,menubar:null,searchTimeout:null,searchValue:null,data(){return{focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!this.popup,dirty:!1}},watch:{activeItemPath(e){this.popup||(i.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener()))}},beforeUnmount(){this.unbindOutsideClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.container&&this.autoZIndex&&i.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:(e,t)=>e?i.ObjectUtils.getItemValue(e[t]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemGroup(e){return i.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator(e){return this.getItemProp(e,"separator")},getProccessedItemLabel(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:e=>e&&i.ObjectUtils.isNotEmpty(e.items),toggle(e){this.visible?this.hide(e,!0):this.show(e)},show(e,t){this.popup&&(this.$emit("before-show"),this.visible=!0,this.target=this.target||e.currentTarget,this.relatedTarget=e.relatedTarget||null),this.focusedItemInfo={index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},t&&i.DomHandler.focus(this.menubar)},hide(e,t){this.popup&&(this.$emit("before-hide"),this.visible=!1),this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t&&i.DomHandler.focus(this.relatedTarget||this.target||this.menubar),this.dirty=!1},onFocus(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},this.$emit("focus",e)},onBlur(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown(e){if(this.disabled)return void e.preventDefault();const t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!t&&i.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange(e){const{processedItem:t,isFocus:s}=e;if(i.ObjectUtils.isEmpty(t))return;const{index:n,key:r,level:o,parentKey:a,items:l}=t,d=i.ObjectUtils.isNotEmpty(l),c=this.activeItemPath.filter((e=>e.parentKey!==a&&e.parentKey!==r));d&&c.push(t),this.focusedItemInfo={index:n,level:o,parentKey:a},this.activeItemPath=c,d&&(this.dirty=!0),s&&i.DomHandler.focus(this.menubar)},onOverlayClick(e){o.default.emit("overlay-click",{originalEvent:e,target:this.target})},onItemClick(e){const{originalEvent:t,processedItem:s}=e,n=this.isProccessedItemGroup(s),r=i.ObjectUtils.isEmpty(s.parent);if(this.isSelected(s)){const{index:e,key:t,level:n,parentKey:o}=s;this.activeItemPath=this.activeItemPath.filter((e=>t!==e.key&&t.startsWith(e.key))),this.focusedItemInfo={index:e,level:n,parentKey:o},this.dirty=!r,i.DomHandler.focus(this.menubar)}else if(n)this.onItemChange(e);else{const e=r?s:this.activeItemPath.find((e=>""===e.parentKey));this.hide(t),this.changeFocusedItemIndex(t,e?e.index:-1),i.DomHandler.focus(this.menubar)}},onItemMouseEnter(e){this.dirty&&this.onItemChange(e)},onArrowDownKey(e){const t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){const t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(e,!0),e.preventDefault()}else{const t=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()}},onArrowLeftKey(e){const t=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((e=>e.key===t.parentKey));i.ObjectUtils.isEmpty(t.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==this.focusedItemInfo.parentKey)),e.preventDefault()},onArrowRightKey(e){const t=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.searchValue="",this.onArrowDownKey(e)),e.preventDefault()},onHomeKey(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey(e){if(-1!==this.focusedItemInfo.index){const e=i.DomHandler.findSingle(this.menubar,`li[id="${this.focusedItemId}"]`),t=e&&i.DomHandler.findSingle(e,".p-menuitem-link");if(t?t.click():e&&e.click(),!this.popup){const e=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(e)&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}}e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onEscapeKey(e){this.hide(e,!0),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey(e){if(-1!==this.focusedItemInfo.index){const t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter(e){this.autoZIndex&&i.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu),this.alignOverlay(),i.DomHandler.focus(this.menubar),this.scrollInView()},onAfterEnter(){this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.$emit("show")},onLeave(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.$emit("hide"),this.container=null,this.dirty=!1},onAfterLeave(e){this.autoZIndex&&i.ZIndexUtils.clear(e)},alignOverlay(){this.container.style.minWidth=i.DomHandler.getOuterWidth(this.target)+"px",i.DomHandler.absolutePosition(this.container,this.target)},bindOutsideClickListener(){this.outsideClickListener||(this.outsideClickListener=e=>{const t=this.container&&!this.container.contains(e.target),i=!this.popup||!(this.target&&(this.target===e.target||this.target.contains(e.target)));t&&i&&this.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new i.ConnectedOverlayScrollHandler(this.target,(e=>{this.hide(e,!0)}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=e=>{i.DomHandler.isTouchDevice()||this.hide(e,!0)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isItemMatched(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected(e){return this.activeItemPath.some((t=>t.key===e.key))},findFirstItemIndex(){return this.visibleItems.findIndex((e=>this.isValidItem(e)))},findLastItemIndex(){return i.ObjectUtils.findLastIndex(this.visibleItems,(e=>this.isValidItem(e)))},findNextItemIndex(e){const t=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((e=>this.isValidItem(e))):-1;return t>-1?t+e+1:e},findPrevItemIndex(e){const t=e>0?i.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(e=>this.isValidItem(e))):-1;return t>-1?t:e},findSelectedItemIndex(){return this.visibleItems.findIndex((e=>this.isValidSelectedItem(e)))},findFirstFocusedItemIndex(){const e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex(){const e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1,s=!1;return-1!==this.focusedItemInfo.index?(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((e=>this.isItemMatched(e))),i=-1===i?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((e=>this.isItemMatched(e))):i+this.focusedItemInfo.index):i=this.visibleItems.findIndex((e=>this.isItemMatched(e))),-1!==i&&(s=!0),-1===i&&-1===this.focusedItemInfo.index&&(i=this.findFirstFocusedItemIndex()),-1!==i&&this.changeFocusedItemIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500),s},changeFocusedItemIndex(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView(e=-1){const t=-1!==e?`${this.id}_${e}`:this.focusedItemId,s=i.DomHandler.findSingle(this.menubar,`li[id="${t}"]`);s&&s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems(e,t=0,i={},s=""){const n=[];return e&&e.forEach(((e,r)=>{const o=(""!==s?s+"_":"")+r,a={item:e,index:r,level:t,key:o,parent:i,parentKey:s};a.items=this.createProcessedItems(e.items,t+1,a,o),n.push(a)})),n},containerRef(e){this.container=e},menubarRef(e){this.menubar=e?e.$el:void 0}},computed:{containerClass(){return["p-tieredmenu p-component",{"p-tieredmenu-overlay":this.popup,"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},processedItems(){return this.createProcessedItems(this.model||[])},visibleItems(){const e=this.activeItemPath.find((e=>e.key===this.focusedItemInfo.parentKey));return e?e.items:this.processedItems},id(){return this.$attrs.id||i.UniqueComponentId()},focusedItemId(){return-1!==this.focusedItemInfo.index?`${this.id}${i.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:""}_${this.focusedItemInfo.index}`:null}},components:{TieredMenuSub:l,Portal:a.default}};const v=["id"];!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"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=e:n.appendChild(document.createTextNode(e))}}("\n.p-tieredmenu-overlay {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-tieredmenu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-tieredmenu .p-submenu-list {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n display: none;\n}\n.p-tieredmenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-tieredmenu .p-menuitem-text {\n line-height: 1;\n}\n.p-tieredmenu .p-menuitem {\n position: relative;\n}\n.p-tieredmenu .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n}\n.p-tieredmenu .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n}\n"),b.render=function(e,t,i,s,r,o){const a=n.resolveComponent("TieredMenuSub"),l=n.resolveComponent("Portal");return n.openBlock(),n.createBlock(l,{appendTo:i.appendTo,disabled:!i.popup},{default:n.withCtx((()=>[n.createVNode(n.Transition,{name:"p-connected-overlay",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},{default:n.withCtx((()=>[r.visible?(n.openBlock(),n.createElementBlock("div",n.mergeProps({key:0,ref:o.containerRef,id:o.id,class:o.containerClass,onClick:t[0]||(t[0]=(...e)=>o.onOverlayClick&&o.onOverlayClick(...e))},e.$attrs),[n.createVNode(a,{ref:o.menubarRef,id:o.id+"_list",class:"p-tieredmenu-root-list",tabindex:i.disabled?-1:i.tabindex,role:"menubar","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-disabled":i.disabled||void 0,"aria-orientation":"vertical","aria-activedescendant":r.focused?o.focusedItemId:void 0,menuId:o.id,focusedItemId:r.focused?o.focusedItemId:void 0,items:o.processedItems,template:e.$slots.item,activeItemPath:r.activeItemPath,exact:i.exact,level:0,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","tabindex","aria-label","aria-labelledby","aria-disabled","aria-activedescendant","menuId","focusedItemId","items","template","activeItemPath","exact","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16,v)):n.createCommentVNode("",!0)])),_:1},8,["onEnter","onAfterEnter","onLeave","onAfterLeave"])])),_:1},8,["appendTo","disabled"])},module.exports=b;
1
+ "use strict";var e=require("primevue/overlayeventbus"),t=require("primevue/portal"),i=require("primevue/utils"),s=require("primevue/ripple"),n=require("vue");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=o(e),a=o(t),l={name:"TieredMenuSub",emits:["item-click","item-mouseenter"],props:{menuId:{type:String,default:null},focusedItemId:{type:String,default:null},items:{type:Array,default:null},level:{type:Number,default:0},template:{type:Function,default:null},activeItemPath:{type:Object,default:null},exact:{type:Boolean,default:!0}},methods:{getItemId(e){return`${this.menuId}_${e.key}`},getItemKey(e){return this.getItemId(e)},getItemProp:(e,t,s)=>e&&e.item?i.ObjectUtils.getItemValue(e.item[t],s):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemActive(e){return this.activeItemPath.some((t=>t.key===e.key))},isItemVisible(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemFocused(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:e=>i.ObjectUtils.isNotEmpty(e.items),onItemClick(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick(e,t){t&&t(e)},getAriaSetSize(){return this.items.filter((e=>this.isItemVisible(e)&&!this.getItemProp(e,"separator"))).length},getAriaPosInset(e){return e-this.items.slice(0,e).filter((e=>this.isItemVisible(e)&&this.getItemProp(e,"separator"))).length+1},getItemClass(e){return["p-menuitem",this.getItemProp(e,"class"),{"p-menuitem-active p-highlight":this.isItemActive(e),"p-focus":this.isItemFocused(e),"p-disabled":this.isItemDisabled(e)}]},getItemActionClass(e,t){return["p-menuitem-link",{"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},getItemIconClass(e){return["p-menuitem-icon",this.getItemProp(e,"icon")]},getSeparatorItemClass(e){return["p-menuitem-separator",this.getItemProp(e,"class")]}},directives:{ripple:o(s).default}};const d=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset"],c=["onClick","onMouseenter"],m=["href","onClick"],u={class:"p-menuitem-text"},h=["href","target"],I={class:"p-menuitem-text"},p={key:1,class:"p-submenu-icon pi pi-angle-right"},f=["id"];l.render=function(e,t,i,s,o,r){const a=n.resolveComponent("router-link"),l=n.resolveComponent("TieredMenuSub",!0),b=n.resolveDirective("ripple");return n.openBlock(),n.createElementBlock("ul",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(i.items,((s,o)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:r.getItemKey(s)},[r.isItemVisible(s)&&!r.getItemProp(s,"separator")?(n.openBlock(),n.createElementBlock("li",{key:0,id:r.getItemId(s),style:n.normalizeStyle(r.getItemProp(s,"style")),class:n.normalizeClass(r.getItemClass(s)),role:"menuitem","aria-label":r.getItemLabel(s),"aria-disabled":r.isItemDisabled(s)||void 0,"aria-expanded":r.isItemGroup(s)?r.isItemActive(s):void 0,"aria-haspopup":r.isItemGroup(s)&&!r.getItemProp(s,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":r.getAriaSetSize(),"aria-posinset":r.getAriaPosInset(o)},[n.createElementVNode("div",{class:"p-menuitem-content",onClick:e=>r.onItemClick(e,s),onMouseenter:e=>r.onItemMouseEnter(e,s)},[i.template?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(i.template),{key:1,item:s.item},null,8,["item"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[r.getItemProp(s,"to")&&!r.isItemDisabled(s)?(n.openBlock(),n.createBlock(a,{key:0,to:r.getItemProp(s,"to"),custom:""},{default:n.withCtx((({navigate:e,href:t,isActive:i,isExactActive:o})=>[n.withDirectives((n.openBlock(),n.createElementBlock("a",{href:t,class:n.normalizeClass(r.getItemActionClass(s,{isActive:i,isExactActive:o})),tabindex:"-1","aria-hidden":"true",onClick:t=>r.onItemActionClick(t,e)},[r.getItemProp(s,"icon")?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(r.getItemIconClass(s))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",u,n.toDisplayString(r.getItemLabel(s)),1)],10,m)),[[b]])])),_:2},1032,["to"])):n.withDirectives((n.openBlock(),n.createElementBlock("a",{key:1,href:r.getItemProp(s,"url"),class:n.normalizeClass(r.getItemActionClass(s)),target:r.getItemProp(s,"target"),tabindex:"-1","aria-hidden":"true"},[r.getItemProp(s,"icon")?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(r.getItemIconClass(s))},null,2)):n.createCommentVNode("",!0),n.createElementVNode("span",I,n.toDisplayString(r.getItemLabel(s)),1),r.isItemGroup(s)?(n.openBlock(),n.createElementBlock("span",p)):n.createCommentVNode("",!0)],10,h)),[[b]])],64))],40,c),r.isItemVisible(s)&&r.isItemGroup(s)?(n.openBlock(),n.createBlock(l,{key:0,id:r.getItemId(s)+"_list",role:"menu",class:"p-submenu-list",menuId:i.menuId,focusedItemId:i.focusedItemId,items:s.items,template:i.template,activeItemPath:i.activeItemPath,exact:i.exact,level:i.level+1,onItemClick:t[0]||(t[0]=t=>e.$emit("item-click",t)),onItemMouseenter:t[1]||(t[1]=t=>e.$emit("item-mouseenter",t))},null,8,["id","menuId","focusedItemId","items","template","activeItemPath","exact","level"])):n.createCommentVNode("",!0)],14,d)):n.createCommentVNode("",!0),r.isItemVisible(s)&&r.getItemProp(s,"separator")?(n.openBlock(),n.createElementBlock("li",{key:1,id:r.getItemId(s),style:n.normalizeStyle(r.getItemProp(s,"style")),class:n.normalizeClass(r.getSeparatorItemClass(s)),role:"separator"},null,14,f)):n.createCommentVNode("",!0)],64)))),128))])};var b={name:"TieredMenu",inheritAttrs:!1,emits:["focus","blur","before-show","before-hide","hide","show"],props:{popup:{type:Boolean,default:!1},model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},exact:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},outsideClickListener:null,scrollHandler:null,resizeListener:null,target:null,container:null,menubar:null,searchTimeout:null,searchValue:null,data(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!this.popup,dirty:!1}},watch:{"$attrs.id":function(e){this.id=e||i.UniqueComponentId()},activeItemPath(e){this.popup||(i.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener()))}},mounted(){this.id=this.id||i.UniqueComponentId()},beforeUnmount(){this.unbindOutsideClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.container&&this.autoZIndex&&i.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:(e,t)=>e?i.ObjectUtils.getItemValue(e[t]):void 0,getItemLabel(e){return this.getItemProp(e,"label")},isItemDisabled(e){return this.getItemProp(e,"disabled")},isItemGroup(e){return i.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator(e){return this.getItemProp(e,"separator")},getProccessedItemLabel(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:e=>e&&i.ObjectUtils.isNotEmpty(e.items),toggle(e){this.visible?this.hide(e,!0):this.show(e)},show(e,t){this.popup&&(this.$emit("before-show"),this.visible=!0,this.target=this.target||e.currentTarget,this.relatedTarget=e.relatedTarget||null),this.focusedItemInfo={index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},t&&i.DomHandler.focus(this.menubar)},hide(e,t){this.popup&&(this.$emit("before-hide"),this.visible=!1),this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t&&i.DomHandler.focus(this.relatedTarget||this.target||this.menubar),this.dirty=!1},onFocus(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},this.$emit("focus",e)},onBlur(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown(e){if(this.disabled)return void e.preventDefault();const t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!t&&i.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange(e){const{processedItem:t,isFocus:s}=e;if(i.ObjectUtils.isEmpty(t))return;const{index:n,key:o,level:r,parentKey:a,items:l}=t,d=i.ObjectUtils.isNotEmpty(l),c=this.activeItemPath.filter((e=>e.parentKey!==a&&e.parentKey!==o));d&&c.push(t),this.focusedItemInfo={index:n,level:r,parentKey:a},this.activeItemPath=c,d&&(this.dirty=!0),s&&i.DomHandler.focus(this.menubar)},onOverlayClick(e){r.default.emit("overlay-click",{originalEvent:e,target:this.target})},onItemClick(e){const{originalEvent:t,processedItem:s}=e,n=this.isProccessedItemGroup(s),o=i.ObjectUtils.isEmpty(s.parent);if(this.isSelected(s)){const{index:e,key:t,level:n,parentKey:r}=s;this.activeItemPath=this.activeItemPath.filter((e=>t!==e.key&&t.startsWith(e.key))),this.focusedItemInfo={index:e,level:n,parentKey:r},this.dirty=!o,i.DomHandler.focus(this.menubar)}else if(n)this.onItemChange(e);else{const e=o?s:this.activeItemPath.find((e=>""===e.parentKey));this.hide(t),this.changeFocusedItemIndex(t,e?e.index:-1),i.DomHandler.focus(this.menubar)}},onItemMouseEnter(e){this.dirty&&this.onItemChange(e)},onArrowDownKey(e){const t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){const t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(e,!0),e.preventDefault()}else{const t=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()}},onArrowLeftKey(e){const t=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((e=>e.key===t.parentKey));i.ObjectUtils.isEmpty(t.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((e=>e.parentKey!==this.focusedItemInfo.parentKey)),e.preventDefault()},onArrowRightKey(e){const t=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.searchValue="",this.onArrowDownKey(e)),e.preventDefault()},onHomeKey(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey(e){if(-1!==this.focusedItemInfo.index){const e=i.DomHandler.findSingle(this.menubar,`li[id="${this.focusedItemId}"]`),t=e&&i.DomHandler.findSingle(e,".p-menuitem-link");if(t?t.click():e&&e.click(),!this.popup){const e=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(e)&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}}e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onEscapeKey(e){this.hide(e,!0),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey(e){if(-1!==this.focusedItemInfo.index){const t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter(e){this.autoZIndex&&i.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu),this.alignOverlay(),i.DomHandler.focus(this.menubar),this.scrollInView()},onAfterEnter(){this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.$emit("show")},onLeave(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.$emit("hide"),this.container=null,this.dirty=!1},onAfterLeave(e){this.autoZIndex&&i.ZIndexUtils.clear(e)},alignOverlay(){this.container.style.minWidth=i.DomHandler.getOuterWidth(this.target)+"px",i.DomHandler.absolutePosition(this.container,this.target)},bindOutsideClickListener(){this.outsideClickListener||(this.outsideClickListener=e=>{const t=this.container&&!this.container.contains(e.target),i=!this.popup||!(this.target&&(this.target===e.target||this.target.contains(e.target)));t&&i&&this.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new i.ConnectedOverlayScrollHandler(this.target,(e=>{this.hide(e,!0)}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=e=>{i.DomHandler.isTouchDevice()||this.hide(e,!0)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isItemMatched(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected(e){return this.activeItemPath.some((t=>t.key===e.key))},findFirstItemIndex(){return this.visibleItems.findIndex((e=>this.isValidItem(e)))},findLastItemIndex(){return i.ObjectUtils.findLastIndex(this.visibleItems,(e=>this.isValidItem(e)))},findNextItemIndex(e){const t=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((e=>this.isValidItem(e))):-1;return t>-1?t+e+1:e},findPrevItemIndex(e){const t=e>0?i.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(e=>this.isValidItem(e))):-1;return t>-1?t:e},findSelectedItemIndex(){return this.visibleItems.findIndex((e=>this.isValidSelectedItem(e)))},findFirstFocusedItemIndex(){const e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex(){const e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1,s=!1;return-1!==this.focusedItemInfo.index?(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((e=>this.isItemMatched(e))),i=-1===i?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((e=>this.isItemMatched(e))):i+this.focusedItemInfo.index):i=this.visibleItems.findIndex((e=>this.isItemMatched(e))),-1!==i&&(s=!0),-1===i&&-1===this.focusedItemInfo.index&&(i=this.findFirstFocusedItemIndex()),-1!==i&&this.changeFocusedItemIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500),s},changeFocusedItemIndex(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView(e=-1){const t=-1!==e?`${this.id}_${e}`:this.focusedItemId,s=i.DomHandler.findSingle(this.menubar,`li[id="${t}"]`);s&&s.scrollIntoView&&s.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems(e,t=0,i={},s=""){const n=[];return e&&e.forEach(((e,o)=>{const r=(""!==s?s+"_":"")+o,a={item:e,index:o,level:t,key:r,parent:i,parentKey:s};a.items=this.createProcessedItems(e.items,t+1,a,r),n.push(a)})),n},containerRef(e){this.container=e},menubarRef(e){this.menubar=e?e.$el:void 0}},computed:{containerClass(){return["p-tieredmenu p-component",{"p-tieredmenu-overlay":this.popup,"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},processedItems(){return this.createProcessedItems(this.model||[])},visibleItems(){const e=this.activeItemPath.find((e=>e.key===this.focusedItemInfo.parentKey));return e?e.items:this.processedItems},focusedItemId(){return-1!==this.focusedItemInfo.index?`${this.id}${i.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:""}_${this.focusedItemInfo.index}`:null}},components:{TieredMenuSub:l,Portal:a.default}};const v=["id"];!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"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=e:n.appendChild(document.createTextNode(e))}}("\n.p-tieredmenu-overlay {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-tieredmenu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.p-tieredmenu .p-submenu-list {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n display: none;\n}\n.p-tieredmenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n.p-tieredmenu .p-menuitem-text {\n line-height: 1;\n}\n.p-tieredmenu .p-menuitem {\n position: relative;\n}\n.p-tieredmenu .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n}\n.p-tieredmenu .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n}\n"),b.render=function(e,t,i,s,o,r){const a=n.resolveComponent("TieredMenuSub"),l=n.resolveComponent("Portal");return n.openBlock(),n.createBlock(l,{appendTo:i.appendTo,disabled:!i.popup},{default:n.withCtx((()=>[n.createVNode(n.Transition,{name:"p-connected-overlay",onEnter:r.onEnter,onAfterEnter:r.onAfterEnter,onLeave:r.onLeave,onAfterLeave:r.onAfterLeave},{default:n.withCtx((()=>[o.visible?(n.openBlock(),n.createElementBlock("div",n.mergeProps({key:0,ref:r.containerRef,id:o.id,class:r.containerClass,onClick:t[0]||(t[0]=(...e)=>r.onOverlayClick&&r.onOverlayClick(...e))},e.$attrs),[n.createVNode(a,{ref:r.menubarRef,id:o.id+"_list",class:"p-tieredmenu-root-list",tabindex:i.disabled?-1:i.tabindex,role:"menubar","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-disabled":i.disabled||void 0,"aria-orientation":"vertical","aria-activedescendant":o.focused?r.focusedItemId:void 0,menuId:o.id,focusedItemId:o.focused?r.focusedItemId:void 0,items:r.processedItems,template:e.$slots.item,activeItemPath:o.activeItemPath,exact:i.exact,level:0,onFocus:r.onFocus,onBlur:r.onBlur,onKeydown:r.onKeyDown,onItemClick:r.onItemClick,onItemMouseenter:r.onItemMouseEnter},null,8,["id","tabindex","aria-label","aria-labelledby","aria-disabled","aria-activedescendant","menuId","focusedItemId","items","template","activeItemPath","exact","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16,v)):n.createCommentVNode("",!0)])),_:1},8,["onEnter","onAfterEnter","onLeave","onAfterLeave"])])),_:1},8,["appendTo","disabled"])},module.exports=b;
@@ -1,6 +1,6 @@
1
1
  import OverlayEventBus from 'primevue/overlayeventbus';
2
2
  import Portal from 'primevue/portal';
3
- import { ObjectUtils, ZIndexUtils, DomHandler, ConnectedOverlayScrollHandler, UniqueComponentId } from 'primevue/utils';
3
+ import { ObjectUtils, UniqueComponentId, ZIndexUtils, DomHandler, ConnectedOverlayScrollHandler } from 'primevue/utils';
4
4
  import Ripple from 'primevue/ripple';
5
5
  import { resolveComponent, resolveDirective, openBlock, createElementBlock, Fragment, renderList, normalizeStyle, normalizeClass, createElementVNode, createBlock, withCtx, withDirectives, createCommentVNode, toDisplayString, resolveDynamicComponent, createVNode, Transition, mergeProps } from 'vue';
6
6
 
@@ -302,6 +302,7 @@ var script = {
302
302
  searchValue: null,
303
303
  data() {
304
304
  return {
305
+ id: this.$attrs.id,
305
306
  focused: false,
306
307
  focusedItemInfo: { index: -1, level: 0, parentKey: '' },
307
308
  activeItemPath: [],
@@ -310,6 +311,9 @@ var script = {
310
311
  };
311
312
  },
312
313
  watch: {
314
+ '$attrs.id': function (newValue) {
315
+ this.id = newValue || UniqueComponentId();
316
+ },
313
317
  activeItemPath(newPath) {
314
318
  if (!this.popup) {
315
319
  if (ObjectUtils.isNotEmpty(newPath)) {
@@ -322,6 +326,9 @@ var script = {
322
326
  }
323
327
  }
324
328
  },
329
+ mounted() {
330
+ this.id = this.id || UniqueComponentId();
331
+ },
325
332
  beforeUnmount() {
326
333
  this.unbindOutsideClickListener();
327
334
  this.unbindResizeListener();
@@ -841,9 +848,6 @@ var script = {
841
848
 
842
849
  return processedItem ? processedItem.items : this.processedItems;
843
850
  },
844
- id() {
845
- return this.$attrs.id || UniqueComponentId();
846
- },
847
851
  focusedItemId() {
848
852
  return this.focusedItemInfo.index !== -1 ? `${this.id}${ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : ''}_${this.focusedItemInfo.index}` : null;
849
853
  }
@@ -877,13 +881,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
877
881
  ? (openBlock(), createElementBlock("div", mergeProps({
878
882
  key: 0,
879
883
  ref: $options.containerRef,
880
- id: $options.id,
884
+ id: $data.id,
881
885
  class: $options.containerClass,
882
886
  onClick: _cache[0] || (_cache[0] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
883
887
  }, _ctx.$attrs), [
884
888
  createVNode(_component_TieredMenuSub, {
885
889
  ref: $options.menubarRef,
886
- id: $options.id + '_list',
890
+ id: $data.id + '_list',
887
891
  class: "p-tieredmenu-root-list",
888
892
  tabindex: !$props.disabled ? $props.tabindex : -1,
889
893
  role: "menubar",
@@ -892,7 +896,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
892
896
  "aria-disabled": $props.disabled || undefined,
893
897
  "aria-orientation": "vertical",
894
898
  "aria-activedescendant": $data.focused ? $options.focusedItemId : undefined,
895
- menuId: $options.id,
899
+ menuId: $data.id,
896
900
  focusedItemId: $data.focused ? $options.focusedItemId : undefined,
897
901
  items: $options.processedItems,
898
902
  template: _ctx.$slots.item,