primevue 3.36.0 → 3.37.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 (214) hide show
  1. package/README.md +50 -20
  2. package/animate/Animate.d.ts +87 -0
  3. package/animate/animate.cjs.js +71 -0
  4. package/animate/animate.cjs.min.js +1 -0
  5. package/animate/animate.esm.js +65 -0
  6. package/animate/animate.esm.min.js +1 -0
  7. package/animate/animate.js +72 -0
  8. package/animate/animate.min.js +1 -0
  9. package/animate/package.json +6 -0
  10. package/animate/style/AnimateStyle.d.ts +3 -0
  11. package/animate/style/animatestyle.cjs.js +5 -0
  12. package/animate/style/animatestyle.cjs.min.js +1 -0
  13. package/animate/style/animatestyle.esm.js +3 -0
  14. package/animate/style/animatestyle.esm.min.js +1 -0
  15. package/animate/style/animatestyle.js +10 -0
  16. package/animate/style/animatestyle.min.js +1 -0
  17. package/animate/style/package.json +6 -0
  18. package/calendar/Calendar.vue +2 -2
  19. package/calendar/calendar.cjs.js +43 -42
  20. package/calendar/calendar.cjs.min.js +1 -1
  21. package/calendar/calendar.esm.js +43 -42
  22. package/calendar/calendar.esm.min.js +1 -1
  23. package/calendar/calendar.js +43 -42
  24. package/calendar/calendar.min.js +1 -1
  25. package/config/PrimeVue.d.ts +2 -0
  26. package/config/config.cjs.js +15 -13
  27. package/config/config.cjs.min.js +1 -1
  28. package/config/config.esm.js +15 -13
  29. package/config/config.esm.min.js +1 -1
  30. package/config/config.js +15 -13
  31. package/config/config.min.js +1 -1
  32. package/contextmenu/ContextMenu.d.ts +5 -0
  33. package/contextmenu/ContextMenuSub.vue +1 -0
  34. package/contextmenu/contextmenu.cjs.js +1 -0
  35. package/contextmenu/contextmenu.cjs.min.js +1 -1
  36. package/contextmenu/contextmenu.esm.js +1 -0
  37. package/contextmenu/contextmenu.esm.min.js +1 -1
  38. package/contextmenu/contextmenu.js +1 -0
  39. package/contextmenu/contextmenu.min.js +1 -1
  40. package/core/core.js +447 -392
  41. package/core/core.min.js +9 -7
  42. package/megamenu/MegaMenu.d.ts +5 -0
  43. package/megamenu/MegaMenuSub.vue +2 -1
  44. package/megamenu/megamenu.cjs.js +2 -1
  45. package/megamenu/megamenu.cjs.min.js +1 -1
  46. package/megamenu/megamenu.esm.js +2 -1
  47. package/megamenu/megamenu.esm.min.js +1 -1
  48. package/megamenu/megamenu.js +2 -1
  49. package/megamenu/megamenu.min.js +1 -1
  50. package/menu/Menu.d.ts +5 -0
  51. package/menu/Menu.vue +1 -1
  52. package/menu/Menuitem.vue +2 -1
  53. package/menu/menu.cjs.js +3 -2
  54. package/menu/menu.cjs.min.js +1 -1
  55. package/menu/menu.esm.js +3 -2
  56. package/menu/menu.esm.min.js +1 -1
  57. package/menu/menu.js +3 -2
  58. package/menu/menu.min.js +1 -1
  59. package/menubar/Menubar.d.ts +5 -0
  60. package/menubar/MenubarSub.vue +1 -0
  61. package/menubar/menubar.cjs.js +1 -0
  62. package/menubar/menubar.cjs.min.js +1 -1
  63. package/menubar/menubar.esm.js +1 -0
  64. package/menubar/menubar.esm.min.js +1 -1
  65. package/menubar/menubar.js +1 -0
  66. package/menubar/menubar.min.js +1 -1
  67. package/multiselect/MultiSelect.vue +4 -3
  68. package/multiselect/multiselect.cjs.js +4 -3
  69. package/multiselect/multiselect.cjs.min.js +1 -1
  70. package/multiselect/multiselect.esm.js +4 -3
  71. package/multiselect/multiselect.esm.min.js +1 -1
  72. package/multiselect/multiselect.js +4 -3
  73. package/multiselect/multiselect.min.js +1 -1
  74. package/overlaypanel/BaseOverlayPanel.vue +4 -0
  75. package/overlaypanel/OverlayPanel.d.ts +5 -0
  76. package/overlaypanel/OverlayPanel.vue +22 -0
  77. package/overlaypanel/overlaypanel.cjs.js +25 -0
  78. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  79. package/overlaypanel/overlaypanel.esm.js +25 -0
  80. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  81. package/overlaypanel/overlaypanel.js +25 -0
  82. package/overlaypanel/overlaypanel.min.js +1 -1
  83. package/package.json +17 -3
  84. package/panelmenu/PanelMenu.d.ts +13 -0
  85. package/panelmenu/PanelMenu.vue +20 -2
  86. package/panelmenu/PanelMenuSub.vue +2 -1
  87. package/panelmenu/panelmenu.cjs.js +20 -5
  88. package/panelmenu/panelmenu.cjs.min.js +1 -1
  89. package/panelmenu/panelmenu.esm.js +20 -5
  90. package/panelmenu/panelmenu.esm.min.js +1 -1
  91. package/panelmenu/panelmenu.js +21 -6
  92. package/panelmenu/panelmenu.min.js +1 -1
  93. package/passthrough/tailwind/index.cjs.js +397 -371
  94. package/passthrough/tailwind/index.cjs.min.js +1 -1
  95. package/passthrough/tailwind/index.esm.js +397 -371
  96. package/passthrough/tailwind/index.esm.min.js +1 -1
  97. package/passthrough/tailwind/index.js +397 -371
  98. package/passthrough/tailwind/index.min.js +1 -1
  99. package/picklist/PickList.vue +2 -2
  100. package/picklist/picklist.cjs.js +2 -2
  101. package/picklist/picklist.cjs.min.js +1 -1
  102. package/picklist/picklist.esm.js +2 -2
  103. package/picklist/picklist.esm.min.js +1 -1
  104. package/picklist/picklist.js +2 -2
  105. package/picklist/picklist.min.js +1 -1
  106. package/resources/themes/arya-blue/theme.css +2 -2
  107. package/resources/themes/arya-green/theme.css +2 -2
  108. package/resources/themes/arya-orange/theme.css +2 -2
  109. package/resources/themes/arya-purple/theme.css +2 -2
  110. package/resources/themes/bootstrap4-dark-blue/theme.css +2 -2
  111. package/resources/themes/bootstrap4-dark-purple/theme.css +2 -2
  112. package/resources/themes/bootstrap4-light-blue/theme.css +2 -2
  113. package/resources/themes/bootstrap4-light-purple/theme.css +2 -2
  114. package/resources/themes/fluent-light/theme.css +2 -2
  115. package/resources/themes/lara-dark-blue/theme.css +587 -575
  116. package/resources/themes/lara-dark-indigo/theme.css +587 -575
  117. package/resources/themes/lara-dark-purple/theme.css +587 -575
  118. package/resources/themes/lara-dark-teal/theme.css +662 -650
  119. package/resources/themes/lara-light-blue/theme.css +629 -625
  120. package/resources/themes/lara-light-indigo/theme.css +629 -625
  121. package/resources/themes/lara-light-purple/theme.css +629 -625
  122. package/resources/themes/lara-light-teal/theme.css +879 -875
  123. package/resources/themes/luna-amber/theme.css +2 -2
  124. package/resources/themes/luna-blue/theme.css +2 -2
  125. package/resources/themes/luna-green/theme.css +2 -2
  126. package/resources/themes/luna-pink/theme.css +2 -2
  127. package/resources/themes/md-dark-deeppurple/theme.css +2 -2
  128. package/resources/themes/md-dark-indigo/theme.css +2 -2
  129. package/resources/themes/md-light-deeppurple/theme.css +2 -2
  130. package/resources/themes/md-light-indigo/theme.css +2 -2
  131. package/resources/themes/mdc-dark-deeppurple/theme.css +2 -2
  132. package/resources/themes/mdc-dark-indigo/theme.css +2 -2
  133. package/resources/themes/mdc-light-deeppurple/theme.css +2 -2
  134. package/resources/themes/mdc-light-indigo/theme.css +2 -2
  135. package/resources/themes/mira/theme.css +2 -2
  136. package/resources/themes/nano/theme.css +2 -2
  137. package/resources/themes/nova/theme.css +2 -2
  138. package/resources/themes/nova-accent/theme.css +2 -2
  139. package/resources/themes/nova-alt/theme.css +2 -2
  140. package/resources/themes/nova-vue/theme.css +2 -2
  141. package/resources/themes/rhea/theme.css +2 -2
  142. package/resources/themes/saga-blue/theme.css +2 -2
  143. package/resources/themes/saga-green/theme.css +2 -2
  144. package/resources/themes/saga-orange/theme.css +2 -2
  145. package/resources/themes/saga-purple/theme.css +2 -2
  146. package/resources/themes/soho-dark/theme.css +2 -2
  147. package/resources/themes/soho-light/theme.css +2 -2
  148. package/resources/themes/tailwind-light/theme.css +2 -2
  149. package/resources/themes/vela-blue/theme.css +2 -2
  150. package/resources/themes/vela-green/theme.css +2 -2
  151. package/resources/themes/vela-orange/theme.css +2 -2
  152. package/resources/themes/vela-purple/theme.css +2 -2
  153. package/resources/themes/viva-dark/theme.css +2 -2
  154. package/resources/themes/viva-light/theme.css +2 -2
  155. package/selectbutton/BaseSelectButton.vue +1 -1
  156. package/selectbutton/SelectButton.d.ts +2 -2
  157. package/selectbutton/SelectButton.vue +1 -1
  158. package/selectbutton/selectbutton.cjs.js +2 -2
  159. package/selectbutton/selectbutton.cjs.min.js +1 -1
  160. package/selectbutton/selectbutton.esm.js +2 -2
  161. package/selectbutton/selectbutton.esm.min.js +1 -1
  162. package/selectbutton/selectbutton.js +2 -2
  163. package/selectbutton/selectbutton.min.js +1 -1
  164. package/slider/Slider.vue +2 -2
  165. package/slider/slider.cjs.js +1 -1
  166. package/slider/slider.cjs.min.js +1 -1
  167. package/slider/slider.esm.js +1 -1
  168. package/slider/slider.esm.min.js +1 -1
  169. package/slider/slider.js +1 -1
  170. package/slider/slider.min.js +1 -1
  171. package/splitbutton/SplitButton.vue +4 -1
  172. package/splitbutton/splitbutton.cjs.js +3 -1
  173. package/splitbutton/splitbutton.cjs.min.js +1 -1
  174. package/splitbutton/splitbutton.esm.js +3 -1
  175. package/splitbutton/splitbutton.esm.min.js +1 -1
  176. package/splitbutton/splitbutton.js +3 -1
  177. package/splitbutton/splitbutton.min.js +1 -1
  178. package/styleclass/StyleClass.d.ts +6 -6
  179. package/tieredmenu/TieredMenu.d.ts +5 -0
  180. package/tieredmenu/TieredMenuSub.vue +2 -1
  181. package/tieredmenu/tieredmenu.cjs.js +2 -1
  182. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  183. package/tieredmenu/tieredmenu.esm.js +2 -1
  184. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  185. package/tieredmenu/tieredmenu.js +2 -1
  186. package/tieredmenu/tieredmenu.min.js +1 -1
  187. package/tooltip/Tooltip.d.ts +6 -1
  188. package/tooltip/style/tooltipstyle.cjs.js +1 -1
  189. package/tooltip/style/tooltipstyle.cjs.min.js +1 -1
  190. package/tooltip/style/tooltipstyle.esm.js +1 -1
  191. package/tooltip/style/tooltipstyle.esm.min.js +1 -1
  192. package/tooltip/style/tooltipstyle.js +1 -1
  193. package/tooltip/style/tooltipstyle.min.js +1 -1
  194. package/tooltip/tooltip.cjs.js +15 -1
  195. package/tooltip/tooltip.cjs.min.js +1 -1
  196. package/tooltip/tooltip.esm.js +15 -1
  197. package/tooltip/tooltip.esm.min.js +1 -1
  198. package/tooltip/tooltip.js +15 -1
  199. package/tooltip/tooltip.min.js +1 -1
  200. package/tree/Tree.d.ts +6 -1
  201. package/tree/Tree.vue +1 -1
  202. package/tree/tree.cjs.js +1 -1
  203. package/tree/tree.cjs.min.js +1 -1
  204. package/tree/tree.esm.js +1 -1
  205. package/tree/tree.esm.min.js +1 -1
  206. package/tree/tree.js +1 -1
  207. package/tree/tree.min.js +1 -1
  208. package/treetable/TreeTable.d.ts +0 -18
  209. package/utils/utils.cjs.js +2 -2
  210. package/utils/utils.esm.js +2 -2
  211. package/utils/utils.js +2 -2
  212. package/vetur-attributes.json +4 -0
  213. package/vetur-tags.json +1 -0
  214. package/web-types.json +11 -1
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.config=function(e,t,o){"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function n(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?a(Object(o),!0).forEach((function(t){i(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function i(e,t,o){return(t=l(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function l(e){var t=s(e,"string");return"symbol"===r(t)?t:String(t)}function s(e,t){if("object"!==r(e)||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var a=o.call(e,t||"default");if("object"!==r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var u={ripple:!1,inputStyle:"outlined",locale:{startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",completed:"Completed",pending:"Pending",fileSizeTypes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],chooseYear:"Choose Year",chooseMonth:"Choose Month",chooseDate:"Choose Date",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",prevHour:"Previous Hour",nextHour:"Next Hour",prevMinute:"Previous Minute",nextMinute:"Next Minute",prevSecond:"Previous Second",nextSecond:"Next Second",am:"am",pm:"pm",today:"Today",weekHeader:"Wk",firstDayOfWeek:0,showMonthAfterYear:!1,dateFormat:"mm/dd/yy",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyFilterMessage:"No results found",searchMessage:"{0} results are available",selectionMessage:"{0} items selected",emptySelectionMessage:"No selected item",emptySearchMessage:"No results found",emptyMessage:"No available options",aria:{trueLabel:"True",falseLabel:"False",nullLabel:"Not Selected",star:"1 star",stars:"{star} stars",selectAll:"All items selected",unselectAll:"All items unselected",close:"Close",previous:"Previous",next:"Next",navigation:"Navigation",scrollTop:"Scroll Top",moveTop:"Move Top",moveUp:"Move Up",moveDown:"Move Down",moveBottom:"Move Bottom",moveToTarget:"Move to Target",moveToSource:"Move to Source",moveAllToTarget:"Move All to Target",moveAllToSource:"Move All to Source",pageLabel:"{page}",firstPageLabel:"First Page",lastPageLabel:"Last Page",nextPageLabel:"Next Page",prevPageLabel:"Previous Page",rowsPerPageLabel:"Rows per page",jumpToPageDropdownLabel:"Jump to Page Dropdown",jumpToPageInputLabel:"Jump to Page Input",selectRow:"Row Selected",unselectRow:"Row Unselected",expandRow:"Row Expanded",collapseRow:"Row Collapsed",showFilterMenu:"Show Filter Menu",hideFilterMenu:"Hide Filter Menu",filterOperator:"Filter Operator",filterConstraint:"Filter Constraint",editRow:"Row Edit",saveEdit:"Save Edit",cancelEdit:"Cancel Edit",listView:"List View",gridView:"Grid View",slide:"Slide",slideNumber:"{slideNumber}",zoomImage:"Zoom Image",zoomIn:"Zoom In",zoomOut:"Zoom Out",rotateRight:"Rotate Right",rotateLeft:"Rotate Left"}},filterMatchModeOptions:{text:[t.FilterMatchMode.STARTS_WITH,t.FilterMatchMode.CONTAINS,t.FilterMatchMode.NOT_CONTAINS,t.FilterMatchMode.ENDS_WITH,t.FilterMatchMode.EQUALS,t.FilterMatchMode.NOT_EQUALS],numeric:[t.FilterMatchMode.EQUALS,t.FilterMatchMode.NOT_EQUALS,t.FilterMatchMode.LESS_THAN,t.FilterMatchMode.LESS_THAN_OR_EQUAL_TO,t.FilterMatchMode.GREATER_THAN,t.FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],date:[t.FilterMatchMode.DATE_IS,t.FilterMatchMode.DATE_IS_NOT,t.FilterMatchMode.DATE_BEFORE,t.FilterMatchMode.DATE_AFTER]},zIndex:{modal:1100,overlay:1e3,menu:1e3,tooltip:1100},pt:void 0,ptOptions:{mergeSections:!0,mergeProps:!1},unstyled:!1,csp:{nonce:void 0}},c=Symbol();function d(e,t,o,r){var a=document.getElementById(o),n=a.cloneNode(!0),i=a.getAttribute("href").replace(e,t);n.setAttribute("id",o+"-clone"),n.setAttribute("href",i),n.addEventListener("load",(function(){a.remove(),n.setAttribute("id",o),r&&r()})),a.parentNode&&a.parentNode.insertBefore(n,a.nextSibling)}return e.default={install:function(e,t){var r=t?n(n({},u),t):n({},u),a={config:o.reactive(r),changeTheme:d};e.config.globalProperties.$primevue=a,e.provide(c,a)}},e.defaultOptions=u,e.usePrimeVue=function(){var e=o.inject(c);if(!e)throw new Error("PrimeVue is not installed!");return e},Object.defineProperty(e,"__esModule",{value:!0}),e}({},primevue.api,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.config=function(e,t,o){"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function n(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?a(Object(o),!0).forEach((function(t){i(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function i(e,t,o){return(t=l(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function l(e){var t=s(e,"string");return"symbol"===r(t)?t:String(t)}function s(e,t){if("object"!==r(e)||null===e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var a=o.call(e,t||"default");if("object"!==r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var u={ripple:!1,inputStyle:"outlined",locale:{startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",completed:"Completed",pending:"Pending",fileSizeTypes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],chooseYear:"Choose Year",chooseMonth:"Choose Month",chooseDate:"Choose Date",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",prevHour:"Previous Hour",nextHour:"Next Hour",prevMinute:"Previous Minute",nextMinute:"Next Minute",prevSecond:"Previous Second",nextSecond:"Next Second",am:"am",pm:"pm",today:"Today",weekHeader:"Wk",firstDayOfWeek:0,showMonthAfterYear:!1,dateFormat:"mm/dd/yy",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyFilterMessage:"No results found",searchMessage:"{0} results are available",selectionMessage:"{0} items selected",emptySelectionMessage:"No selected item",emptySearchMessage:"No results found",emptyMessage:"No available options",aria:{trueLabel:"True",falseLabel:"False",nullLabel:"Not Selected",star:"1 star",stars:"{star} stars",selectAll:"All items selected",unselectAll:"All items unselected",close:"Close",previous:"Previous",next:"Next",navigation:"Navigation",scrollTop:"Scroll Top",moveTop:"Move Top",moveUp:"Move Up",moveDown:"Move Down",moveBottom:"Move Bottom",moveToTarget:"Move to Target",moveToSource:"Move to Source",moveAllToTarget:"Move All to Target",moveAllToSource:"Move All to Source",pageLabel:"{page}",firstPageLabel:"First Page",lastPageLabel:"Last Page",nextPageLabel:"Next Page",prevPageLabel:"Previous Page",rowsPerPageLabel:"Rows per page",jumpToPageDropdownLabel:"Jump to Page Dropdown",jumpToPageInputLabel:"Jump to Page Input",selectRow:"Row Selected",unselectRow:"Row Unselected",expandRow:"Row Expanded",collapseRow:"Row Collapsed",showFilterMenu:"Show Filter Menu",hideFilterMenu:"Hide Filter Menu",filterOperator:"Filter Operator",filterConstraint:"Filter Constraint",editRow:"Row Edit",saveEdit:"Save Edit",cancelEdit:"Cancel Edit",listView:"List View",gridView:"Grid View",slide:"Slide",slideNumber:"{slideNumber}",zoomImage:"Zoom Image",zoomIn:"Zoom In",zoomOut:"Zoom Out",rotateRight:"Rotate Right",rotateLeft:"Rotate Left"}},filterMatchModeOptions:{text:[t.FilterMatchMode.STARTS_WITH,t.FilterMatchMode.CONTAINS,t.FilterMatchMode.NOT_CONTAINS,t.FilterMatchMode.ENDS_WITH,t.FilterMatchMode.EQUALS,t.FilterMatchMode.NOT_EQUALS],numeric:[t.FilterMatchMode.EQUALS,t.FilterMatchMode.NOT_EQUALS,t.FilterMatchMode.LESS_THAN,t.FilterMatchMode.LESS_THAN_OR_EQUAL_TO,t.FilterMatchMode.GREATER_THAN,t.FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],date:[t.FilterMatchMode.DATE_IS,t.FilterMatchMode.DATE_IS_NOT,t.FilterMatchMode.DATE_BEFORE,t.FilterMatchMode.DATE_AFTER]},zIndex:{modal:1100,overlay:1e3,menu:1e3,tooltip:1100},pt:void 0,ptOptions:{mergeSections:!0,mergeProps:!1},unstyled:!1,csp:{nonce:void 0}},c=Symbol();function d(e,t,o,r){if(e!==t){var a=document.getElementById(o),n=a.cloneNode(!0),i=a.getAttribute("href").replace(e,t);n.setAttribute("id",o+"-clone"),n.setAttribute("href",i),n.addEventListener("load",(function(){a.remove(),n.setAttribute("id",o),r&&r()})),a.parentNode&&a.parentNode.insertBefore(n,a.nextSibling)}}return e.default={install:function(e,t){var r=t?n(n({},u),t):n({},u),a={config:o.reactive(r),changeTheme:d};e.config.globalProperties.$primevue=a,e.provide(c,a)}},e.defaultOptions=u,e.usePrimeVue=function(){var e=o.inject(c);if(!e)throw new Error("PrimeVue is not installed!");return e},Object.defineProperty(e,"__esModule",{value:!0}),e}({},primevue.api,Vue);
@@ -182,6 +182,11 @@ export interface ContextMenuContext {
182
182
  * @defaultValue false
183
183
  */
184
184
  focused: boolean;
185
+ /**
186
+ * Current disabled state of menuitem as a boolean.
187
+ * @defaultValue false
188
+ */
189
+ disabled: boolean;
185
190
  }
186
191
 
187
192
  /**
@@ -147,6 +147,7 @@ export default {
147
147
  item: processedItem,
148
148
  active: this.isItemActive(processedItem),
149
149
  focused: this.isItemFocused(processedItem),
150
+ disabled: this.isItemDisabled(processedItem),
150
151
  index
151
152
  }
152
153
  });
@@ -131,6 +131,7 @@ var script$1 = {
131
131
  item: processedItem,
132
132
  active: this.isItemActive(processedItem),
133
133
  focused: this.isItemFocused(processedItem),
134
+ disabled: this.isItemDisabled(processedItem),
134
135
  index: index
135
136
  }
136
137
  });
@@ -1 +1 @@
1
- "use strict";var e=require("primevue/portal"),t=require("primevue/utils"),n=require("primevue/basecomponent"),i=require("primevue/contextmenu/style"),s=require("primevue/icons/angleright"),o=require("primevue/ripple"),r=require("vue");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=c(e),l=c(n),u={name:"BaseContextMenu",extends:l.default,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},style:c(i).default,provide:function(){return{$parentInstance:this}}},m={name:"ContextMenuSub",hostName:"ContextMenu",extends:l.default,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,n,i){return e&&e.item?t.ObjectUtils.getItemValue(e.item[n],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),index:n}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick:function(e,t){t&&t(e)},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){this.position()},position:function(){var e=this.$refs.container.parentElement,n=t.DomHandler.getOffset(this.$refs.container.parentElement),i=t.DomHandler.getViewport(),s=this.$refs.container.offsetParent?this.$refs.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.$refs.container),o=t.DomHandler.getOuterWidth(e.children[0]);this.$refs.container.style.top="0px",this.$refs.container.style.left=parseInt(n.left,10)+o+s>i.width-t.DomHandler.calculateScrollbarWidth()?-1*s+"px":o+"px"},getMenuItemProps:function(e,t){return{action:r.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r.mergeProps({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:c(s).default},directives:{ripple:c(o).default}},d=["tabindex"],h=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],f=["onClick","onMouseenter"],I=["href","onClick"],p=["href","target"],b=["id"];m.render=function(e,t,n,i,s,o){var c=r.resolveComponent("router-link"),a=r.resolveComponent("AngleRightIcon"),l=r.resolveComponent("ContextMenuSub",!0),u=r.resolveDirective("ripple");return r.openBlock(),r.createBlock(r.Transition,r.mergeProps({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:r.withCtx((function(){return[n.root||n.visible?(r.openBlock(),r.createElementBlock("ul",r.mergeProps({key:0,ref:"container",tabindex:n.tabindex},e.ptm("menu")),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.items,(function(i,s){return r.openBlock(),r.createElementBlock(r.Fragment,{key:o.getItemKey(i)},[o.isItemVisible(i)&&!o.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("menuitem",{processedItem:i}),o.getItemProp(i,"class")],role:"menuitem","aria-label":o.getItemLabel(i),"aria-disabled":o.isItemDisabled(i)||void 0,"aria-expanded":o.isItemGroup(i)?o.isItemActive(i):void 0,"aria-haspopup":o.isItemGroup(i)&&!o.getItemProp(i,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",i,s),{"data-p-highlight":o.isItemActive(i),"data-p-focused":o.isItemFocused(i),"data-p-disabled":o.isItemDisabled(i)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,i)},onMouseenter:function(e){return o.onItemMouseEnter(e,i)}},o.getPTOptions("content",i,s)),[n.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.item),{key:1,item:i.item,label:o.getItemLabel(i),props:o.getMenuItemProps(i,s)},null,8,["item","label","props"])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[o.getItemProp(i,"to")&&!o.isItemDisabled(i)?(r.openBlock(),r.createBlock(c,{key:0,to:o.getItemProp(i,"to"),custom:""},{default:r.withCtx((function(t){var c=t.navigate,a=t.href,l=t.isActive,m=t.isExactActive;return[r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({href:a,class:e.cx("action",{isActive:l,isExactActive:m}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,c)}},o.getPTOptions("action",i,s)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions("icon",i,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",i,s)),r.toDisplayString(o.getItemLabel(i)),17)],16,I)),[[u]])]})),_:2},1032,["to"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:1,href:o.getItemProp(i,"url"),class:e.cx("action"),target:o.getItemProp(i,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",i,s)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions("icon",i,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",i,s)),r.toDisplayString(o.getItemLabel(i)),17),o.getItemProp(i,"items")?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[n.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.submenuicon),{key:0,active:o.isItemActive(i),class:r.normalizeClass(e.cx("submenuIcon"))},null,8,["active","class"])):(r.openBlock(),r.createBlock(a,r.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",i,s)),null,16,["class"]))],64)):r.createCommentVNode("",!0)],16,p)),[[u]])],64))],16,f),o.isItemVisible(i)&&o.isItemGroup(i)?(r.openBlock(),r.createBlock(l,r.mergeProps({key:0,id:o.getItemId(i)+"_list",role:"menu",class:e.cx("submenu"),menuId:n.menuId,focusedItemId:n.focusedItemId,items:i.items,templates:n.templates,activeItemPath:n.activeItemPath,exact:n.exact,level:n.level+1,visible:o.isItemActive(i)&&o.isItemGroup(i),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","exact","level","visible","pt","unstyled"])):r.createCommentVNode("",!0)],16,h)):r.createCommentVNode("",!0),o.isItemVisible(i)&&o.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("separator"),o.getItemProp(i,"class")],role:"separator"},e.ptm("separator")),null,16,b)):r.createCommentVNode("",!0)],64)})),128))],16,d)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter"])};var v={name:"ContextMenu",extends:u,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},beforeMount:function(){this.$slots.item||console.warn("In future versions, vue-router support will be removed. Item templating should be used.")},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&t.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,n){return e?t.ObjectUtils.getItemValue(e[n]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t.DomHandler.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var n=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:!n&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,i=e.isFocus;if(!t.ObjectUtils.isEmpty(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey,a=t.ObjectUtils.isNotEmpty(n.items),l=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==o}));a&&(l.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:s,level:r,parentKey:c},this.activeItemPath=l,i&&t.DomHandler.focus(this.list)}},onItemClick:function(e){var n=e.processedItem,i=this.isProccessedItemGroup(n);if(this.isSelected(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:c},t.DomHandler.focus(this.list)}else i?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,n),e.preventDefault()}},onArrowLeftKey:function(e){var n=this,i=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===i.parentKey}));t.ObjectUtils.isEmpty(i.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==n.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var 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:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var n=t.DomHandler.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=n&&t.DomHandler.findSingle(n,'a[data-pc-section="action"]');i?i.click():n&&n.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){t.DomHandler.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&t.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),t.DomHandler.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&t.ZIndexUtils.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,n=this.pageY+1,i=this.container.offsetParent?this.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:t.DomHandler.getHiddenElementOuterHeight(this.container),o=t.DomHandler.getViewport();e+i-document.body.scrollLeft>o.width&&(e-=i),n+s-document.body.scrollTop>o.height&&(n-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=n+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var n=e.container&&!e.container.contains(t.target),i=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));n&&i&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!t.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,n=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return n>-1?n+e+1:e},findPrevItemIndex:function(e){var n=this,i=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return n.isValidItem(e)})):-1;return i>-1?i:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var n=this;this.searchValue=(this.searchValue||"")+t;var i=-1,s=!1;return-1!==(i=-1!==this.focusedItemInfo.index?-1===(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})):i+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return n.isItemMatched(e)})))&&(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((function(){n.searchValue="",n.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,i=t.DomHandler.findSingle(this.list,'li[id="'.concat(n,'"]'));i&&i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var c=(""!==s?s+"_":"")+r,a={item:e,index:r,level:n,key:c,parent:i,parentKey:s};a.items=t.createProcessedItems(e.items,n+1,a,c),o.push(a)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:m,Portal:a.default}};function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function x(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){k(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function k(e,t,n){return(t=P(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(e){var t=L(e,"string");return"symbol"===g(t)?t:String(t)}function L(e,t){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==g(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}v.render=function(e,t,n,i,s,o){var c=r.resolveComponent("ContextMenuSub"),a=r.resolveComponent("Portal");return r.openBlock(),r.createBlock(a,{appendTo:e.appendTo},{default:r.withCtx((function(){return[r.createVNode(r.Transition,r.mergeProps({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:r.withCtx((function(){return[s.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:o.containerRef,class:e.cx("root")},x(x({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[r.createVNode(c,{ref:o.listRef,id:s.id+"_list",class:r.normalizeClass(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,exact:e.exact,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","exact","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])},module.exports=v;
1
+ "use strict";var e=require("primevue/portal"),t=require("primevue/utils"),n=require("primevue/basecomponent"),i=require("primevue/contextmenu/style"),s=require("primevue/icons/angleright"),o=require("primevue/ripple"),r=require("vue");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=c(e),l=c(n),u={name:"BaseContextMenu",extends:l.default,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},style:c(i).default,provide:function(){return{$parentInstance:this}}},m={name:"ContextMenuSub",hostName:"ContextMenu",extends:l.default,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,n,i){return e&&e.item?t.ObjectUtils.getItemValue(e.item[n],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t),index:n}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick:function(e,t){t&&t(e)},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){this.position()},position:function(){var e=this.$refs.container.parentElement,n=t.DomHandler.getOffset(this.$refs.container.parentElement),i=t.DomHandler.getViewport(),s=this.$refs.container.offsetParent?this.$refs.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.$refs.container),o=t.DomHandler.getOuterWidth(e.children[0]);this.$refs.container.style.top="0px",this.$refs.container.style.left=parseInt(n.left,10)+o+s>i.width-t.DomHandler.calculateScrollbarWidth()?-1*s+"px":o+"px"},getMenuItemProps:function(e,t){return{action:r.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r.mergeProps({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:c(s).default},directives:{ripple:c(o).default}},d=["tabindex"],h=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],f=["onClick","onMouseenter"],I=["href","onClick"],p=["href","target"],b=["id"];m.render=function(e,t,n,i,s,o){var c=r.resolveComponent("router-link"),a=r.resolveComponent("AngleRightIcon"),l=r.resolveComponent("ContextMenuSub",!0),u=r.resolveDirective("ripple");return r.openBlock(),r.createBlock(r.Transition,r.mergeProps({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:r.withCtx((function(){return[n.root||n.visible?(r.openBlock(),r.createElementBlock("ul",r.mergeProps({key:0,ref:"container",tabindex:n.tabindex},e.ptm("menu")),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.items,(function(i,s){return r.openBlock(),r.createElementBlock(r.Fragment,{key:o.getItemKey(i)},[o.isItemVisible(i)&&!o.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("menuitem",{processedItem:i}),o.getItemProp(i,"class")],role:"menuitem","aria-label":o.getItemLabel(i),"aria-disabled":o.isItemDisabled(i)||void 0,"aria-expanded":o.isItemGroup(i)?o.isItemActive(i):void 0,"aria-haspopup":o.isItemGroup(i)&&!o.getItemProp(i,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",i,s),{"data-p-highlight":o.isItemActive(i),"data-p-focused":o.isItemFocused(i),"data-p-disabled":o.isItemDisabled(i)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,i)},onMouseenter:function(e){return o.onItemMouseEnter(e,i)}},o.getPTOptions("content",i,s)),[n.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.item),{key:1,item:i.item,label:o.getItemLabel(i),props:o.getMenuItemProps(i,s)},null,8,["item","label","props"])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[o.getItemProp(i,"to")&&!o.isItemDisabled(i)?(r.openBlock(),r.createBlock(c,{key:0,to:o.getItemProp(i,"to"),custom:""},{default:r.withCtx((function(t){var c=t.navigate,a=t.href,l=t.isActive,m=t.isExactActive;return[r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({href:a,class:e.cx("action",{isActive:l,isExactActive:m}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,c)}},o.getPTOptions("action",i,s)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions("icon",i,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",i,s)),r.toDisplayString(o.getItemLabel(i)),17)],16,I)),[[u]])]})),_:2},1032,["to"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:1,href:o.getItemProp(i,"url"),class:e.cx("action"),target:o.getItemProp(i,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",i,s)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions("icon",i,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",i,s)),r.toDisplayString(o.getItemLabel(i)),17),o.getItemProp(i,"items")?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[n.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.submenuicon),{key:0,active:o.isItemActive(i),class:r.normalizeClass(e.cx("submenuIcon"))},null,8,["active","class"])):(r.openBlock(),r.createBlock(a,r.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",i,s)),null,16,["class"]))],64)):r.createCommentVNode("",!0)],16,p)),[[u]])],64))],16,f),o.isItemVisible(i)&&o.isItemGroup(i)?(r.openBlock(),r.createBlock(l,r.mergeProps({key:0,id:o.getItemId(i)+"_list",role:"menu",class:e.cx("submenu"),menuId:n.menuId,focusedItemId:n.focusedItemId,items:i.items,templates:n.templates,activeItemPath:n.activeItemPath,exact:n.exact,level:n.level+1,visible:o.isItemActive(i)&&o.isItemGroup(i),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","exact","level","visible","pt","unstyled"])):r.createCommentVNode("",!0)],16,h)):r.createCommentVNode("",!0),o.isItemVisible(i)&&o.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("separator"),o.getItemProp(i,"class")],role:"separator"},e.ptm("separator")),null,16,b)):r.createCommentVNode("",!0)],64)})),128))],16,d)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter"])};var v={name:"ContextMenu",extends:u,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},beforeMount:function(){this.$slots.item||console.warn("In future versions, vue-router support will be removed. Item templating should be used.")},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&t.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,n){return e?t.ObjectUtils.getItemValue(e[n]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t.DomHandler.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var n=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:!n&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,i=e.isFocus;if(!t.ObjectUtils.isEmpty(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey,a=t.ObjectUtils.isNotEmpty(n.items),l=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==o}));a&&(l.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:s,level:r,parentKey:c},this.activeItemPath=l,i&&t.DomHandler.focus(this.list)}},onItemClick:function(e){var n=e.processedItem,i=this.isProccessedItemGroup(n);if(this.isSelected(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:c},t.DomHandler.focus(this.list)}else i?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,n),e.preventDefault()}},onArrowLeftKey:function(e){var n=this,i=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===i.parentKey}));t.ObjectUtils.isEmpty(i.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==n.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var 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:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var n=t.DomHandler.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=n&&t.DomHandler.findSingle(n,'a[data-pc-section="action"]');i?i.click():n&&n.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){t.DomHandler.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&t.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),t.DomHandler.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&t.ZIndexUtils.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,n=this.pageY+1,i=this.container.offsetParent?this.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:t.DomHandler.getHiddenElementOuterHeight(this.container),o=t.DomHandler.getViewport();e+i-document.body.scrollLeft>o.width&&(e-=i),n+s-document.body.scrollTop>o.height&&(n-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=n+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var n=e.container&&!e.container.contains(t.target),i=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));n&&i&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!t.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,n=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return n>-1?n+e+1:e},findPrevItemIndex:function(e){var n=this,i=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return n.isValidItem(e)})):-1;return i>-1?i:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var n=this;this.searchValue=(this.searchValue||"")+t;var i=-1,s=!1;return-1!==(i=-1!==this.focusedItemInfo.index?-1===(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})):i+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return n.isItemMatched(e)})))&&(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((function(){n.searchValue="",n.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,i=t.DomHandler.findSingle(this.list,'li[id="'.concat(n,'"]'));i&&i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var c=(""!==s?s+"_":"")+r,a={item:e,index:r,level:n,key:c,parent:i,parentKey:s};a.items=t.createProcessedItems(e.items,n+1,a,c),o.push(a)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:m,Portal:a.default}};function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function x(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){k(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function k(e,t,n){return(t=P(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(e){var t=L(e,"string");return"symbol"===g(t)?t:String(t)}function L(e,t){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==g(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}v.render=function(e,t,n,i,s,o){var c=r.resolveComponent("ContextMenuSub"),a=r.resolveComponent("Portal");return r.openBlock(),r.createBlock(a,{appendTo:e.appendTo},{default:r.withCtx((function(){return[r.createVNode(r.Transition,r.mergeProps({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:r.withCtx((function(){return[s.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:o.containerRef,class:e.cx("root")},x(x({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[r.createVNode(c,{ref:o.listRef,id:s.id+"_list",class:r.normalizeClass(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,exact:e.exact,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","exact","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])},module.exports=v;
@@ -121,6 +121,7 @@ var script$1 = {
121
121
  item: processedItem,
122
122
  active: this.isItemActive(processedItem),
123
123
  focused: this.isItemFocused(processedItem),
124
+ disabled: this.isItemDisabled(processedItem),
124
125
  index: index
125
126
  }
126
127
  });
@@ -1 +1 @@
1
- import e from"primevue/portal";import{ObjectUtils as t,DomHandler as i,UniqueComponentId as n,ZIndexUtils as s}from"primevue/utils";import o from"primevue/basecomponent";import r from"primevue/contextmenu/style";import a from"primevue/icons/angleright";import c from"primevue/ripple";import{mergeProps as u,resolveComponent as l,resolveDirective as d,openBlock as m,createBlock as h,Transition as f,withCtx as I,createElementBlock as p,Fragment as b,renderList as v,createElementVNode as y,withDirectives as g,resolveDynamicComponent as x,normalizeClass as P,createCommentVNode as L,toDisplayString as k,createVNode as E}from"vue";var w={name:"BaseContextMenu",extends:o,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},style:r,provide:function(){return{$parentInstance:this}}},C={name:"ContextMenuSub",hostName:"ContextMenu",extends:o,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),index:i}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick:function(e,t){t&&t(e)},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){this.position()},position:function(){var e=this.$refs.container.parentElement,t=i.getOffset(this.$refs.container.parentElement),n=i.getViewport(),s=this.$refs.container.offsetParent?this.$refs.container.offsetWidth:i.getHiddenElementOuterWidth(this.$refs.container),o=i.getOuterWidth(e.children[0]);this.$refs.container.style.top="0px",this.$refs.container.style.left=parseInt(t.left,10)+o+s>n.width-i.calculateScrollbarWidth()?-1*s+"px":o+"px"},getMenuItemProps:function(e,t){return{action:u({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:u({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:u({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:u({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:a},directives:{ripple:c}},K=["tabindex"],O=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],A=["onClick","onMouseenter"],S=["href","onClick"],M=["href","target"],D=["id"];C.render=function(e,t,i,n,s,o){var r=l("router-link"),a=l("AngleRightIcon"),c=l("ContextMenuSub",!0),E=d("ripple");return m(),h(f,u({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:I((function(){return[i.root||i.visible?(m(),p("ul",u({key:0,ref:"container",tabindex:i.tabindex},e.ptm("menu")),[(m(!0),p(b,null,v(i.items,(function(n,s){return m(),p(b,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(m(),p("li",u({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",n,s),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[y("div",u({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions("content",n,s)),[i.templates.item?(m(),h(x(i.templates.item),{key:1,item:n.item,label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","label","props"])):(m(),p(b,{key:0},[o.getItemProp(n,"to")&&!o.isItemDisabled(n)?(m(),h(r,{key:0,to:o.getItemProp(n,"to"),custom:""},{default:I((function(t){var r=t.navigate,a=t.href,c=t.isActive,l=t.isExactActive;return[g((m(),p("a",u({href:a,class:e.cx("action",{isActive:c,isExactActive:l}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,r)}},o.getPTOptions("action",n,s)),[i.templates.itemicon?(m(),h(x(i.templates.itemicon),{key:0,item:n.item,class:P([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(m(),p("span",u({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):L("",!0),y("span",u({class:e.cx("label")},o.getPTOptions("label",n,s)),k(o.getItemLabel(n)),17)],16,S)),[[E]])]})),_:2},1032,["to"])):g((m(),p("a",u({key:1,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",n,s)),[i.templates.itemicon?(m(),h(x(i.templates.itemicon),{key:0,item:n.item,class:P([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(m(),p("span",u({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):L("",!0),y("span",u({class:e.cx("label")},o.getPTOptions("label",n,s)),k(o.getItemLabel(n)),17),o.getItemProp(n,"items")?(m(),p(b,{key:2},[i.templates.submenuicon?(m(),h(x(i.templates.submenuicon),{key:0,active:o.isItemActive(n),class:P(e.cx("submenuIcon"))},null,8,["active","class"])):(m(),h(a,u({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",n,s)),null,16,["class"]))],64)):L("",!0)],16,M)),[[E]])],64))],16,A),o.isItemVisible(n)&&o.isItemGroup(n)?(m(),h(c,u({key:0,id:o.getItemId(n)+"_list",role:"menu",class:e.cx("submenu"),menuId:i.menuId,focusedItemId:i.focusedItemId,items:n.items,templates:i.templates,activeItemPath:i.activeItemPath,exact:i.exact,level:i.level+1,visible:o.isItemActive(n)&&o.isItemGroup(n),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","exact","level","visible","pt","unstyled"])):L("",!0)],16,O)):L("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(m(),p("li",u({key:1,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("separator"),o.getItemProp(n,"class")],role:"separator"},e.ptm("separator")),null,16,D)):L("",!0)],64)})),128))],16,K)):L("",!0)]})),_:1},16,["onEnter"])};var V={name:"ContextMenu",extends:w,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||n()},activeItemPath:function(e){t.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},beforeMount:function(){this.$slots.item||console.warn("In future versions, vue-router support will be removed. Item templating should be used.")},mounted:function(){this.id=this.id||n(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&s.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,i){return e?t.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},i.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var i=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:!i&&t.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,s=e.isFocus;if(!t.isEmpty(n)){var o=n.index,r=n.key,a=n.level,c=n.parentKey,u=t.isNotEmpty(n.items),l=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==r}));u&&(l.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:o,level:a,parentKey:c},this.activeItemPath=l,s&&i.focus(this.list)}},onItemClick:function(e){var t=e.processedItem,n=this.isProccessedItemGroup(t);if(this.isSelected(t)){var s=t.index,o=t.key,r=t.level,a=t.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:a},i.focus(this.list)}else n?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var i=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowLeftKey:function(e){var i=this,n=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===n.parentKey}));t.isEmpty(n.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==i.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var 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:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var t=i.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=t&&i.findSingle(t,'a[data-pc-section="action"]');n?n.click():t&&t.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){i.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&s.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),i.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&s.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,t=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:i.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:i.getHiddenElementOuterHeight(this.container),o=i.getViewport();e+n-document.body.scrollLeft>o.width&&(e-=n),t+s-document.body.scrollTop>o.height&&(t-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),t<document.body.scrollTop&&(t=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=t+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!i.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemIndex(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=i.findSingle(this.list,'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var a=(""!==s?s+"_":"")+r,c={item:e,index:r,level:i,key:a,parent:n,parentKey:s};c.items=t.createProcessedItems(e.items,i+1,c,a),o.push(c)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:C,Portal:e}};function T(e){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(e)}function F(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function $(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?F(Object(i),!0).forEach((function(t){z(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):F(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function z(e,t,i){return(t=R(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function R(e){var t=j(e,"string");return"symbol"===T(t)?t:String(t)}function j(e,t){if("object"!==T(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!==T(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}V.render=function(e,t,i,n,s,o){var r=l("ContextMenuSub"),a=l("Portal");return m(),h(a,{appendTo:e.appendTo},{default:I((function(){return[E(f,u({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:I((function(){return[s.visible?(m(),p("div",u({key:0,ref:o.containerRef,class:e.cx("root")},$($({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[E(r,{ref:o.listRef,id:s.id+"_list",class:P(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,exact:e.exact,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","exact","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):L("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])};export{V as default};
1
+ import e from"primevue/portal";import{ObjectUtils as t,DomHandler as i,UniqueComponentId as n,ZIndexUtils as s}from"primevue/utils";import o from"primevue/basecomponent";import r from"primevue/contextmenu/style";import a from"primevue/icons/angleright";import c from"primevue/ripple";import{mergeProps as u,resolveComponent as l,resolveDirective as d,openBlock as m,createBlock as h,Transition as f,withCtx as I,createElementBlock as p,Fragment as b,renderList as v,createElementVNode as y,withDirectives as g,resolveDynamicComponent as x,normalizeClass as P,createCommentVNode as L,toDisplayString as k,createVNode as E}from"vue";var w={name:"BaseContextMenu",extends:o,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},style:r,provide:function(){return{$parentInstance:this}}},C={name:"ContextMenuSub",hostName:"ContextMenu",extends:o,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,i,n){return e&&e.item?t.getItemValue(e.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t),index:i}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick:function(e,t){t&&t(e)},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){this.position()},position:function(){var e=this.$refs.container.parentElement,t=i.getOffset(this.$refs.container.parentElement),n=i.getViewport(),s=this.$refs.container.offsetParent?this.$refs.container.offsetWidth:i.getHiddenElementOuterWidth(this.$refs.container),o=i.getOuterWidth(e.children[0]);this.$refs.container.style.top="0px",this.$refs.container.style.left=parseInt(t.left,10)+o+s>n.width-i.calculateScrollbarWidth()?-1*s+"px":o+"px"},getMenuItemProps:function(e,t){return{action:u({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:u({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:u({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:u({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:a},directives:{ripple:c}},K=["tabindex"],O=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],A=["onClick","onMouseenter"],S=["href","onClick"],D=["href","target"],M=["id"];C.render=function(e,t,i,n,s,o){var r=l("router-link"),a=l("AngleRightIcon"),c=l("ContextMenuSub",!0),E=d("ripple");return m(),h(f,u({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:I((function(){return[i.root||i.visible?(m(),p("ul",u({key:0,ref:"container",tabindex:i.tabindex},e.ptm("menu")),[(m(!0),p(b,null,v(i.items,(function(n,s){return m(),p(b,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(m(),p("li",u({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",n,s),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[y("div",u({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions("content",n,s)),[i.templates.item?(m(),h(x(i.templates.item),{key:1,item:n.item,label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","label","props"])):(m(),p(b,{key:0},[o.getItemProp(n,"to")&&!o.isItemDisabled(n)?(m(),h(r,{key:0,to:o.getItemProp(n,"to"),custom:""},{default:I((function(t){var r=t.navigate,a=t.href,c=t.isActive,l=t.isExactActive;return[g((m(),p("a",u({href:a,class:e.cx("action",{isActive:c,isExactActive:l}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,r)}},o.getPTOptions("action",n,s)),[i.templates.itemicon?(m(),h(x(i.templates.itemicon),{key:0,item:n.item,class:P([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(m(),p("span",u({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):L("",!0),y("span",u({class:e.cx("label")},o.getPTOptions("label",n,s)),k(o.getItemLabel(n)),17)],16,S)),[[E]])]})),_:2},1032,["to"])):g((m(),p("a",u({key:1,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",n,s)),[i.templates.itemicon?(m(),h(x(i.templates.itemicon),{key:0,item:n.item,class:P([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(m(),p("span",u({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions("icon",n,s)),null,16)):L("",!0),y("span",u({class:e.cx("label")},o.getPTOptions("label",n,s)),k(o.getItemLabel(n)),17),o.getItemProp(n,"items")?(m(),p(b,{key:2},[i.templates.submenuicon?(m(),h(x(i.templates.submenuicon),{key:0,active:o.isItemActive(n),class:P(e.cx("submenuIcon"))},null,8,["active","class"])):(m(),h(a,u({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",n,s)),null,16,["class"]))],64)):L("",!0)],16,D)),[[E]])],64))],16,A),o.isItemVisible(n)&&o.isItemGroup(n)?(m(),h(c,u({key:0,id:o.getItemId(n)+"_list",role:"menu",class:e.cx("submenu"),menuId:i.menuId,focusedItemId:i.focusedItemId,items:n.items,templates:i.templates,activeItemPath:i.activeItemPath,exact:i.exact,level:i.level+1,visible:o.isItemActive(n)&&o.isItemGroup(n),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","exact","level","visible","pt","unstyled"])):L("",!0)],16,O)):L("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(m(),p("li",u({key:1,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("separator"),o.getItemProp(n,"class")],role:"separator"},e.ptm("separator")),null,16,M)):L("",!0)],64)})),128))],16,K)):L("",!0)]})),_:1},16,["onEnter"])};var V={name:"ContextMenu",extends:w,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||n()},activeItemPath:function(e){t.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},beforeMount:function(){this.$slots.item||console.warn("In future versions, vue-router support will be removed. Item templating should be used.")},mounted:function(){this.id=this.id||n(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&s.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,i){return e?t.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},i.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var i=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:!i&&t.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,s=e.isFocus;if(!t.isEmpty(n)){var o=n.index,r=n.key,a=n.level,c=n.parentKey,u=t.isNotEmpty(n.items),l=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==r}));u&&(l.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:o,level:a,parentKey:c},this.activeItemPath=l,s&&i.focus(this.list)}},onItemClick:function(e){var t=e.processedItem,n=this.isProccessedItemGroup(t);if(this.isSelected(t)){var s=t.index,o=t.key,r=t.level,a=t.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:a},i.focus(this.list)}else n?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var i=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,i),e.preventDefault()}},onArrowLeftKey:function(e){var i=this,n=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===n.parentKey}));t.isEmpty(n.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==i.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var 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:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var t=i.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=t&&i.findSingle(t,'a[data-pc-section="action"]');n?n.click():t&&t.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){i.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&s.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),i.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&s.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,t=this.pageY+1,n=this.container.offsetParent?this.container.offsetWidth:i.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:i.getHiddenElementOuterHeight(this.container),o=i.getViewport();e+n-document.body.scrollLeft>o.width&&(e-=n),t+s-document.body.scrollTop>o.height&&(t-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),t<document.body.scrollTop&&(t=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=t+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!i.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(e){var i=this,n=e>0?t.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemIndex(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=i.findSingle(this.list,'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var a=(""!==s?s+"_":"")+r,c={item:e,index:r,level:i,key:a,parent:n,parentKey:s};c.items=t.createProcessedItems(e.items,i+1,c,a),o.push(c)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:C,Portal:e}};function T(e){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(e)}function F(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function $(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?F(Object(i),!0).forEach((function(t){z(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):F(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function z(e,t,i){return(t=R(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function R(e){var t=j(e,"string");return"symbol"===T(t)?t:String(t)}function j(e,t){if("object"!==T(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!==T(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}V.render=function(e,t,i,n,s,o){var r=l("ContextMenuSub"),a=l("Portal");return m(),h(a,{appendTo:e.appendTo},{default:I((function(){return[E(f,u({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:I((function(){return[s.visible?(m(),p("div",u({key:0,ref:o.containerRef,class:e.cx("root")},$($({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[E(r,{ref:o.listRef,id:s.id+"_list",class:P(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,exact:e.exact,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","exact","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):L("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])};export{V as default};
@@ -125,6 +125,7 @@ this.primevue.contextmenu = (function (Portal, utils, BaseComponent, ContextMenu
125
125
  item: processedItem,
126
126
  active: this.isItemActive(processedItem),
127
127
  focused: this.isItemFocused(processedItem),
128
+ disabled: this.isItemDisabled(processedItem),
128
129
  index: index
129
130
  }
130
131
  });
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.contextmenu=function(e,t,n,i,s,o,r){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=c(e),l=c(n),u={name:"BaseContextMenu",extends:l.default,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},style:c(i).default,provide:function(){return{$parentInstance:this}}},m={name:"ContextMenuSub",hostName:"ContextMenu",extends:l.default,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,n,i){return e&&e.item?t.ObjectUtils.getItemValue(e.item[n],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),index:n}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick:function(e,t){t&&t(e)},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){this.position()},position:function(){var e=this.$refs.container.parentElement,n=t.DomHandler.getOffset(this.$refs.container.parentElement),i=t.DomHandler.getViewport(),s=this.$refs.container.offsetParent?this.$refs.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.$refs.container),o=t.DomHandler.getOuterWidth(e.children[0]);this.$refs.container.style.top="0px",this.$refs.container.style.left=parseInt(n.left,10)+o+s>i.width-t.DomHandler.calculateScrollbarWidth()?-1*s+"px":o+"px"},getMenuItemProps:function(e,t){return{action:r.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r.mergeProps({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:c(s).default},directives:{ripple:c(o).default}},d=["tabindex"],h=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],f=["onClick","onMouseenter"],I=["href","onClick"],p=["href","target"],b=["id"];m.render=function(e,t,n,i,s,o){var c=r.resolveComponent("router-link"),a=r.resolveComponent("AngleRightIcon"),l=r.resolveComponent("ContextMenuSub",!0),u=r.resolveDirective("ripple");return r.openBlock(),r.createBlock(r.Transition,r.mergeProps({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:r.withCtx((function(){return[n.root||n.visible?(r.openBlock(),r.createElementBlock("ul",r.mergeProps({key:0,ref:"container",tabindex:n.tabindex},e.ptm("menu")),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.items,(function(i,s){return r.openBlock(),r.createElementBlock(r.Fragment,{key:o.getItemKey(i)},[o.isItemVisible(i)&&!o.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("menuitem",{processedItem:i}),o.getItemProp(i,"class")],role:"menuitem","aria-label":o.getItemLabel(i),"aria-disabled":o.isItemDisabled(i)||void 0,"aria-expanded":o.isItemGroup(i)?o.isItemActive(i):void 0,"aria-haspopup":o.isItemGroup(i)&&!o.getItemProp(i,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",i,s),{"data-p-highlight":o.isItemActive(i),"data-p-focused":o.isItemFocused(i),"data-p-disabled":o.isItemDisabled(i)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,i)},onMouseenter:function(e){return o.onItemMouseEnter(e,i)}},o.getPTOptions("content",i,s)),[n.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.item),{key:1,item:i.item,label:o.getItemLabel(i),props:o.getMenuItemProps(i,s)},null,8,["item","label","props"])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[o.getItemProp(i,"to")&&!o.isItemDisabled(i)?(r.openBlock(),r.createBlock(c,{key:0,to:o.getItemProp(i,"to"),custom:""},{default:r.withCtx((function(t){var c=t.navigate,a=t.href,l=t.isActive,m=t.isExactActive;return[r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({href:a,class:e.cx("action",{isActive:l,isExactActive:m}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,c)}},o.getPTOptions("action",i,s)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions("icon",i,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",i,s)),r.toDisplayString(o.getItemLabel(i)),17)],16,I)),[[u]])]})),_:2},1032,["to"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:1,href:o.getItemProp(i,"url"),class:e.cx("action"),target:o.getItemProp(i,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",i,s)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions("icon",i,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",i,s)),r.toDisplayString(o.getItemLabel(i)),17),o.getItemProp(i,"items")?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[n.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.submenuicon),{key:0,active:o.isItemActive(i),class:r.normalizeClass(e.cx("submenuIcon"))},null,8,["active","class"])):(r.openBlock(),r.createBlock(a,r.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",i,s)),null,16,["class"]))],64)):r.createCommentVNode("",!0)],16,p)),[[u]])],64))],16,f),o.isItemVisible(i)&&o.isItemGroup(i)?(r.openBlock(),r.createBlock(l,r.mergeProps({key:0,id:o.getItemId(i)+"_list",role:"menu",class:e.cx("submenu"),menuId:n.menuId,focusedItemId:n.focusedItemId,items:i.items,templates:n.templates,activeItemPath:n.activeItemPath,exact:n.exact,level:n.level+1,visible:o.isItemActive(i)&&o.isItemGroup(i),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","exact","level","visible","pt","unstyled"])):r.createCommentVNode("",!0)],16,h)):r.createCommentVNode("",!0),o.isItemVisible(i)&&o.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("separator"),o.getItemProp(i,"class")],role:"separator"},e.ptm("separator")),null,16,b)):r.createCommentVNode("",!0)],64)})),128))],16,d)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter"])};var v={name:"ContextMenu",extends:u,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},beforeMount:function(){this.$slots.item||console.warn("In future versions, vue-router support will be removed. Item templating should be used.")},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&t.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,n){return e?t.ObjectUtils.getItemValue(e[n]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t.DomHandler.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var n=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:!n&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,i=e.isFocus;if(!t.ObjectUtils.isEmpty(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey,a=t.ObjectUtils.isNotEmpty(n.items),l=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==o}));a&&(l.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:s,level:r,parentKey:c},this.activeItemPath=l,i&&t.DomHandler.focus(this.list)}},onItemClick:function(e){var n=e.processedItem,i=this.isProccessedItemGroup(n);if(this.isSelected(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:c},t.DomHandler.focus(this.list)}else i?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,n),e.preventDefault()}},onArrowLeftKey:function(e){var n=this,i=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===i.parentKey}));t.ObjectUtils.isEmpty(i.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==n.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var 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:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var n=t.DomHandler.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=n&&t.DomHandler.findSingle(n,'a[data-pc-section="action"]');i?i.click():n&&n.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){t.DomHandler.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&t.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),t.DomHandler.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&t.ZIndexUtils.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,n=this.pageY+1,i=this.container.offsetParent?this.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:t.DomHandler.getHiddenElementOuterHeight(this.container),o=t.DomHandler.getViewport();e+i-document.body.scrollLeft>o.width&&(e-=i),n+s-document.body.scrollTop>o.height&&(n-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=n+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var n=e.container&&!e.container.contains(t.target),i=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));n&&i&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!t.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,n=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return n>-1?n+e+1:e},findPrevItemIndex:function(e){var n=this,i=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return n.isValidItem(e)})):-1;return i>-1?i:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var n=this;this.searchValue=(this.searchValue||"")+t;var i=-1,s=!1;return-1!==(i=-1!==this.focusedItemInfo.index?-1===(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})):i+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return n.isItemMatched(e)})))&&(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((function(){n.searchValue="",n.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,i=t.DomHandler.findSingle(this.list,'li[id="'.concat(n,'"]'));i&&i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var c=(""!==s?s+"_":"")+r,a={item:e,index:r,level:n,key:c,parent:i,parentKey:s};a.items=t.createProcessedItems(e.items,n+1,a,c),o.push(a)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:m,Portal:a.default}};function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function x(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){k(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function k(e,t,n){return(t=P(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(e){var t=L(e,"string");return"symbol"===g(t)?t:String(t)}function L(e,t){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==g(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}return v.render=function(e,t,n,i,s,o){var c=r.resolveComponent("ContextMenuSub"),a=r.resolveComponent("Portal");return r.openBlock(),r.createBlock(a,{appendTo:e.appendTo},{default:r.withCtx((function(){return[r.createVNode(r.Transition,r.mergeProps({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:r.withCtx((function(){return[s.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:o.containerRef,class:e.cx("root")},x(x({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[r.createVNode(c,{ref:o.listRef,id:s.id+"_list",class:r.normalizeClass(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,exact:e.exact,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","exact","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])},v}(primevue.portal,primevue.utils,primevue.basecomponent,primevue.contextmenu.style,primevue.icons.angleright,primevue.ripple,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.contextmenu=function(e,t,n,i,s,o,r){"use strict";function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=c(e),l=c(n),u={name:"BaseContextMenu",extends:l.default,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},style:c(i).default,provide:function(){return{$parentInstance:this}}},m={name:"ContextMenuSub",hostName:"ContextMenu",extends:l.default,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,n,i){return e&&e.item?t.ObjectUtils.getItemValue(e.item[n],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t),index:n}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick:function(e,t){t&&t(e)},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1},onEnter:function(){this.position()},position:function(){var e=this.$refs.container.parentElement,n=t.DomHandler.getOffset(this.$refs.container.parentElement),i=t.DomHandler.getViewport(),s=this.$refs.container.offsetParent?this.$refs.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.$refs.container),o=t.DomHandler.getOuterWidth(e.children[0]);this.$refs.container.style.top="0px",this.$refs.container.style.left=parseInt(n.left,10)+o+s>i.width-t.DomHandler.calculateScrollbarWidth()?-1*s+"px":o+"px"},getMenuItemProps:function(e,t){return{action:r.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r.mergeProps({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{AngleRightIcon:c(s).default},directives:{ripple:c(o).default}},d=["tabindex"],h=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],f=["onClick","onMouseenter"],I=["href","onClick"],p=["href","target"],b=["id"];m.render=function(e,t,n,i,s,o){var c=r.resolveComponent("router-link"),a=r.resolveComponent("AngleRightIcon"),l=r.resolveComponent("ContextMenuSub",!0),u=r.resolveDirective("ripple");return r.openBlock(),r.createBlock(r.Transition,r.mergeProps({name:"p-contextmenusub",onEnter:o.onEnter},e.ptm("menu.transition")),{default:r.withCtx((function(){return[n.root||n.visible?(r.openBlock(),r.createElementBlock("ul",r.mergeProps({key:0,ref:"container",tabindex:n.tabindex},e.ptm("menu")),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.items,(function(i,s){return r.openBlock(),r.createElementBlock(r.Fragment,{key:o.getItemKey(i)},[o.isItemVisible(i)&&!o.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("menuitem",{processedItem:i}),o.getItemProp(i,"class")],role:"menuitem","aria-label":o.getItemLabel(i),"aria-disabled":o.isItemDisabled(i)||void 0,"aria-expanded":o.isItemGroup(i)?o.isItemActive(i):void 0,"aria-haspopup":o.isItemGroup(i)&&!o.getItemProp(i,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions("menuitem",i,s),{"data-p-highlight":o.isItemActive(i),"data-p-focused":o.isItemFocused(i),"data-p-disabled":o.isItemDisabled(i)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,i)},onMouseenter:function(e){return o.onItemMouseEnter(e,i)}},o.getPTOptions("content",i,s)),[n.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.item),{key:1,item:i.item,label:o.getItemLabel(i),props:o.getMenuItemProps(i,s)},null,8,["item","label","props"])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[o.getItemProp(i,"to")&&!o.isItemDisabled(i)?(r.openBlock(),r.createBlock(c,{key:0,to:o.getItemProp(i,"to"),custom:""},{default:r.withCtx((function(t){var c=t.navigate,a=t.href,l=t.isActive,m=t.isExactActive;return[r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({href:a,class:e.cx("action",{isActive:l,isExactActive:m}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,c)}},o.getPTOptions("action",i,s)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions("icon",i,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",i,s)),r.toDisplayString(o.getItemLabel(i)),17)],16,I)),[[u]])]})),_:2},1032,["to"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:1,href:o.getItemProp(i,"url"),class:e.cx("action"),target:o.getItemProp(i,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("action",i,s)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),o.getItemProp(i,"icon")])},null,8,["item","class"])):o.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(i,"icon")]},o.getPTOptions("icon",i,s)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},o.getPTOptions("label",i,s)),r.toDisplayString(o.getItemLabel(i)),17),o.getItemProp(i,"items")?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[n.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.submenuicon),{key:0,active:o.isItemActive(i),class:r.normalizeClass(e.cx("submenuIcon"))},null,8,["active","class"])):(r.openBlock(),r.createBlock(a,r.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions("submenuicon",i,s)),null,16,["class"]))],64)):r.createCommentVNode("",!0)],16,p)),[[u]])],64))],16,f),o.isItemVisible(i)&&o.isItemGroup(i)?(r.openBlock(),r.createBlock(l,r.mergeProps({key:0,id:o.getItemId(i)+"_list",role:"menu",class:e.cx("submenu"),menuId:n.menuId,focusedItemId:n.focusedItemId,items:i.items,templates:n.templates,activeItemPath:n.activeItemPath,exact:n.exact,level:n.level+1,visible:o.isItemActive(i)&&o.isItemGroup(i),pt:e.pt,unstyled:e.unstyled,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","exact","level","visible","pt","unstyled"])):r.createCommentVNode("",!0)],16,h)):r.createCommentVNode("",!0),o.isItemVisible(i)&&o.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,id:o.getItemId(i),style:o.getItemProp(i,"style"),class:[e.cx("separator"),o.getItemProp(i,"class")],role:"separator"},e.ptm("separator")),null,16,b)):r.createCommentVNode("",!0)],64)})),128))],16,d)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter"])};var v={name:"ContextMenu",extends:u,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener())}},beforeMount:function(){this.$slots.item||console.warn("In future versions, vue-router support will be removed. Item templating should be used.")},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.global&&this.bindDocumentContextMenuListener()},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&t.ZIndexUtils.clear(this.container),this.target=null,this.container=null},methods:{getItemProp:function(e,n){return e?t.ObjectUtils.getItemValue(e[n]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t.DomHandler.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var n=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:!n&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,i=e.isFocus;if(!t.ObjectUtils.isEmpty(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey,a=t.ObjectUtils.isNotEmpty(n.items),l=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==o}));a&&(l.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:s,level:r,parentKey:c},this.activeItemPath=l,i&&t.DomHandler.focus(this.list)}},onItemClick:function(e){var n=e.processedItem,i=this.isProccessedItemGroup(n);if(this.isSelected(n)){var s=n.index,o=n.key,r=n.level,c=n.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return o!==e.key&&o.startsWith(e.key)})),this.focusedItemInfo={index:s,level:r,parentKey:c},t.DomHandler.focus(this.list)}else i?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,n),e.preventDefault()}},onArrowLeftKey:function(e){var n=this,i=this.visibleItems[this.focusedItemInfo.index],s=this.activeItemPath.find((function(e){return e.key===i.parentKey}));t.ObjectUtils.isEmpty(i.parent)||(this.focusedItemInfo={index:-1,parentKey:s?s.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==n.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var 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:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var n=t.DomHandler.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=n&&t.DomHandler.findSingle(n,'a[data-pc-section="action"]');i?i.click():n&&n.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){t.DomHandler.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&t.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.$emit("show"),t.DomHandler.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&t.ZIndexUtils.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener()},position:function(){var e=this.pageX+1,n=this.pageY+1,i=this.container.offsetParent?this.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.container),s=this.container.offsetParent?this.container.offsetHeight:t.DomHandler.getHiddenElementOuterHeight(this.container),o=t.DomHandler.getViewport();e+i-document.body.scrollLeft>o.width&&(e-=i),n+s-document.body.scrollTop>o.height&&(n-=s),e<document.body.scrollLeft&&(e=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=n+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var n=e.container&&!e.container.contains(t.target),i=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));n&&i&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.visible&&!t.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2===t.button&&e.show(t)},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(e){return this.activeItemPath.some((function(t){return t.key===e.key}))},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItemIndex:function(e){var t=this,n=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return n>-1?n+e+1:e},findPrevItemIndex:function(e){var n=this,i=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return n.isValidItem(e)})):-1;return i>-1?i:e},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},searchItems:function(e,t){var n=this;this.searchValue=(this.searchValue||"")+t;var i=-1,s=!1;return-1!==(i=-1!==this.focusedItemInfo.index?-1===(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})):i+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return n.isItemMatched(e)})))&&(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((function(){n.searchValue="",n.searchTimeout=null}),500),s},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,i=t.DomHandler.findSingle(this.list,'li[id="'.concat(n,'"]'));i&&i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,r){var c=(""!==s?s+"_":"")+r,a={item:e,index:r,level:n,key:c,parent:i,parentKey:s};a.items=t.createProcessedItems(e.items,n+1,a,c),o.push(a)})),o},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:m,Portal:a.default}};function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function x(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){k(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function k(e,t,n){return(t=P(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(e){var t=L(e,"string");return"symbol"===g(t)?t:String(t)}function L(e,t){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==g(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}return v.render=function(e,t,n,i,s,o){var c=r.resolveComponent("ContextMenuSub"),a=r.resolveComponent("Portal");return r.openBlock(),r.createBlock(a,{appendTo:e.appendTo},{default:r.withCtx((function(){return[r.createVNode(r.Transition,r.mergeProps({name:"p-contextmenu",onEnter:o.onEnter,onAfterEnter:o.onAfterEnter,onLeave:o.onLeave,onAfterLeave:o.onAfterLeave},e.ptm("transition")),{default:r.withCtx((function(){return[s.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:o.containerRef,class:e.cx("root")},x(x({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[r.createVNode(c,{ref:o.listRef,id:s.id+"_list",class:r.normalizeClass(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:e.$slots,activeItemPath:s.activeItemPath,exact:e.exact,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:s.submenuVisible,pt:e.pt,unstyled:e.unstyled,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","exact","aria-labelledby","aria-label","visible","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):r.createCommentVNode("",!0)]})),_:1},16,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])},v}(primevue.portal,primevue.utils,primevue.basecomponent,primevue.contextmenu.style,primevue.icons.angleright,primevue.ripple,Vue);