primereact 10.9.4 → 10.9.6
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.
- package/api/api.cjs.js +9 -1
- package/api/api.cjs.min.js +1 -1
- package/api/api.d.ts +5 -3
- package/api/api.esm.js +9 -1
- package/api/api.esm.min.js +1 -1
- package/api/api.js +9 -1
- package/api/api.min.js +1 -1
- package/autocomplete/autocomplete.cjs.js +13 -1
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.d.ts +5 -5
- package/autocomplete/autocomplete.esm.js +14 -2
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +13 -1
- package/autocomplete/autocomplete.min.js +1 -1
- package/breadcrumb/breadcrumb.cjs.js +2 -1
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +2 -1
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +2 -1
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/calendar/calendar.cjs.js +37 -7
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +38 -8
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +37 -7
- package/calendar/calendar.min.js +1 -1
- package/cascadeselect/cascadeselect.cjs.js +62 -5
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.d.ts +22 -0
- package/cascadeselect/cascadeselect.esm.js +63 -6
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +63 -7
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/checkbox/checkbox.cjs.js +1 -1
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +1 -1
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +1 -1
- package/checkbox/checkbox.min.js +1 -1
- package/chip/chip.cjs.js +15 -2
- package/chip/chip.cjs.min.js +1 -1
- package/chip/chip.esm.js +17 -4
- package/chip/chip.esm.min.js +1 -1
- package/chip/chip.js +15 -2
- package/chip/chip.min.js +1 -1
- package/chips/chips.cjs.js +1 -1
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +1 -1
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +1 -1
- package/chips/chips.min.js +1 -1
- package/colorpicker/colorpicker.cjs.js +9 -2
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +9 -2
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +9 -2
- package/colorpicker/colorpicker.min.js +1 -1
- package/confirmpopup/confirmpopup.cjs.js +10 -2
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.esm.js +10 -2
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +10 -2
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/core/core.js +214 -38
- package/core/core.min.js +9 -9
- package/datatable/datatable.cjs.js +359 -291
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +79 -3
- package/datatable/datatable.esm.js +360 -292
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +359 -291
- package/datatable/datatable.min.js +1 -1
- package/dialog/dialog.cjs.js +3 -2
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.d.ts +6 -1
- package/dialog/dialog.esm.js +3 -2
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +3 -2
- package/dialog/dialog.min.js +1 -1
- package/dropdown/dropdown.cjs.js +26 -5
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +4 -0
- package/dropdown/dropdown.esm.js +26 -5
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +26 -5
- package/dropdown/dropdown.min.js +1 -1
- package/fileupload/fileupload.cjs.js +4 -2
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.esm.js +4 -2
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +4 -2
- package/fileupload/fileupload.min.js +1 -1
- package/galleria/galleria.cjs.js +1 -0
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +1 -0
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +1 -0
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.cjs.js +16 -6
- package/hooks/hooks.cjs.min.js +1 -1
- package/hooks/hooks.esm.js +16 -6
- package/hooks/hooks.esm.min.js +1 -1
- package/hooks/hooks.js +16 -6
- package/hooks/hooks.min.js +1 -1
- package/inputmask/inputmask.cjs.js +1 -1
- package/inputmask/inputmask.cjs.min.js +1 -1
- package/inputmask/inputmask.esm.js +1 -1
- package/inputmask/inputmask.esm.min.js +1 -1
- package/inputmask/inputmask.js +1 -1
- package/inputmask/inputmask.min.js +1 -1
- package/inputnumber/inputnumber.cjs.js +11 -3
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +11 -3
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +11 -3
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputotp/inputotp.cjs.js +1 -0
- package/inputotp/inputotp.cjs.min.js +1 -1
- package/inputotp/inputotp.esm.js +1 -0
- package/inputotp/inputotp.esm.min.js +1 -1
- package/inputotp/inputotp.js +1 -0
- package/inputotp/inputotp.min.js +1 -1
- package/listbox/listbox.d.ts +4 -4
- package/mention/mention.cjs.js +18 -9
- package/mention/mention.cjs.min.js +1 -1
- package/mention/mention.d.ts +5 -0
- package/mention/mention.esm.js +18 -9
- package/mention/mention.esm.min.js +1 -1
- package/mention/mention.js +18 -9
- package/mention/mention.min.js +1 -1
- package/menu/menu.cjs.js +14 -3
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +15 -4
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +14 -3
- package/menu/menu.min.js +1 -1
- package/menubar/menubar.cjs.js +6 -9
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +6 -9
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +6 -9
- package/menubar/menubar.min.js +1 -1
- package/multiselect/multiselect.cjs.js +68 -18
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +68 -18
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +68 -18
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.js +17 -9
- package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.esm.js +17 -9
- package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.js +17 -9
- package/multistatecheckbox/multistatecheckbox.min.js +1 -1
- package/orderlist/orderlist.cjs.js +34 -3
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.esm.js +34 -3
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +34 -3
- package/orderlist/orderlist.min.js +1 -1
- package/overlaypanel/overlaypanel.cjs.js +9 -10
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +9 -10
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +9 -10
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.cjs.js +9 -1
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +9 -1
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +9 -1
- package/paginator/paginator.min.js +1 -1
- package/password/password.cjs.js +9 -2
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +10 -3
- package/password/password.esm.min.js +1 -1
- package/password/password.js +9 -2
- package/password/password.min.js +1 -1
- package/picklist/picklist.cjs.js +9 -1
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +9 -1
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +9 -1
- package/picklist/picklist.min.js +1 -1
- package/primereact.all.cjs.js +931 -442
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +932 -443
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +931 -442
- package/primereact.all.min.js +1 -1
- package/radiobutton/radiobutton.cjs.js +2 -2
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.d.ts +1 -1
- package/radiobutton/radiobutton.esm.js +2 -2
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +2 -2
- package/radiobutton/radiobutton.min.js +1 -1
- package/slidemenu/slidemenu.cjs.js +9 -2
- package/slidemenu/slidemenu.cjs.min.js +1 -1
- package/slidemenu/slidemenu.esm.js +10 -3
- package/slidemenu/slidemenu.esm.min.js +1 -1
- package/slidemenu/slidemenu.js +9 -2
- package/slidemenu/slidemenu.min.js +1 -1
- package/tree/tree.cjs.js +1 -1
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +1 -1
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +1 -1
- package/tree/tree.min.js +1 -1
- package/treeselect/treeselect.cjs.js +19 -8
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.d.ts +33 -0
- package/treeselect/treeselect.esm.js +19 -8
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +19 -8
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/treetable.cjs.js +1 -1
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +1 -1
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +1 -1
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +7 -6
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +7 -6
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +7 -6
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/utils.cjs.js +138 -18
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.d.ts +5 -1
- package/utils/utils.esm.js +138 -18
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +138 -18
- package/utils/utils.min.js +1 -1
- package/web-types.json +105 -11
package/menu/menu.cjs.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/api"),t=require("primereact/componentbase"),r=require("primereact/csstransition"),a=require("primereact/hooks"),i=require("primereact/overlayservice"),o=require("primereact/portal"),u=require("primereact/ripple"),l=require("primereact/utils");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var p=s(e),m=c(n);function d(e){return d="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},d(e)}function f(e,n){if("object"!=d(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=d(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function b(e){var n=f(e,"string");return"symbol"==d(n)?n:n+""}function y(e,n,t){return(n=b(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function v(){return v=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},v.apply(null,arguments)}function g(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function O(e){if(Array.isArray(e))return g(e)}function h(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function E(e,n){if(e){if("string"==typeof e)return g(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?g(e,n):void 0}}function x(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(e){return O(e)||h(e)||E(e)||x()}function N(e){if(Array.isArray(e))return e}function I(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,i,o,u=[],l=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;l=!1}else for(;!(l=(r=i.call(t)).done)&&(u.push(r.value),u.length!==n);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw a}}return u}}function D(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function j(e,n){return N(e)||I(e,n)||E(e,n)||D()}var w=t.ComponentBase.extend({defaultProps:{__TYPE:"Menu",id:null,ariaLabel:null,ariaLabelledBy:null,tabIndex:0,model:null,popup:!1,popupAlignment:"left",style:null,className:null,autoZIndex:!0,baseZIndex:0,appendTo:null,onFocus:null,onBlur:null,transitionOptions:null,onShow:null,onHide:null,children:void 0,closeOnEscape:!0},css:{classes:{root:function(e){var n=e.context;return l.classNames("p-menu p-component",{"p-menu-overlay":e.props.popup,"p-input-filled":n&&"filled"===n.inputStyle||"filled"===m.default.inputStyle,"p-ripple-disabled":n&&!1===n.ripple||!1===m.default.ripple})},menu:"p-menu-list p-reset",content:function(e){return l.classNames("p-menuitem-content",{"p-disabled":e.item.disabled})},action:function(e){return l.classNames("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return l.classNames("p-menuitem",{"p-focus":e.focused})},submenuHeader:function(e){return l.classNames("p-submenu-header",{"p-disabled":e.submenu.disabled})},separator:"p-menu-separator",label:"p-menuitem-text",icon:"p-menuitem-icon",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n\n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n",inlineStyles:{submenuHeader:function(e){return e.submenu.style},menuitem:function(e){return e.item.style}}}});function P(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function k(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?P(Object(t),!0).forEach((function(n){y(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):P(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var H=p.memo(p.forwardRef((function(e,c){var s=a.useMergeProps(),d=p.useContext(n.PrimeReactContext),f=w.getProps(e,d),b=j(p.useState(f.id),2),y=b[0],g=b[1],O=j(p.useState(!f.popup),2),h=O[0],E=O[1],x=j(p.useState(-1),2),N=x[0],I=x[1],D=j(p.useState(-1),2),P=D[0],H=D[1],A=j(p.useState(!1),2),_=A[0],M=A[1],T=w.setMetaData({props:f,state:{id:y,visible:h,focused:_}}),C=T.ptm,U=T.cx,q=T.sx,R=function(e,n){return C(e,{context:n})};t.useHandleStyle(w.css.styles,T.isUnstyled,{name:"menu"});var Z=p.useRef(null),B=p.useRef(null),F=p.useRef(null),L=!!(h&&f.popup&&f.closeOnEscape),K=a.useDisplayOrder("menu",L);a.useGlobalOnEscapeKey({callback:function(e){pe(e)},when:L&&K,priority:[a.ESC_KEY_HANDLING_PRIORITIES.MENU,K]});var z=j(a.useOverlayListener({target:F,overlay:Z,listener:function(e,n){n.valid&&(pe(e),I(-1))},when:h}),2),G=z[0],J=z[1],X=function(e,n,t){n.disabled?e.preventDefault():(n.command&&n.command({originalEvent:e,item:n}),f.popup&&pe(e),f.popup||N===t||I(t),n.url||(e.preventDefault(),e.stopPropagation()))},Y=function(e,n){e&&f.popup&&N!==n&&I(n)},$=function(e){M(!0),f.popup||(-1!==P?(ue(P),H(-1)):ue(0)),f.onFocus&&f.onFocus(e)},Q=function(e){M(!1),I(-1),f.onBlur&&f.onBlur(e)},V=function(e){switch(e.code){case"ArrowDown":W(e);break;case"ArrowUp":ee(e);break;case"Home":ne(e);break;case"End":te(e);break;case"Enter":case"NumpadEnter":re(e);break;case"Space":ae(e);break;case"Escape":f.popup&&(l.DomHandler.focus(F.current),pe(e));case"Tab":f.popup&&h&&pe(e)}},W=function(e){var n=ie(N);ue(n),e.preventDefault()},ee=function(e){if(e.altKey&&f.popup)l.DomHandler.focus(F.current),pe(e),e.preventDefault();else{var n=oe(N);ue(n),e.preventDefault()}},ne=function(e){ue(0),e.preventDefault()},te=function(e){ue(l.DomHandler.find(Z.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]').length-1),e.preventDefault()},re=function(e){var n=l.DomHandler.findSingle(Z.current,'li[id="'.concat("".concat(N),'"]')),t=n&&l.DomHandler.findSingle(n,'a[data-pc-section="action"]');f.popup&&l.DomHandler.focus(F.current),t?t.click():n&&n.click(),e.preventDefault()},ae=function(e){re(e)},ie=function(e){var n=S(l.DomHandler.find(Z.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n+1:0},oe=function(e){var n=S(l.DomHandler.find(Z.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n-1:0},ue=function(e){var n=l.DomHandler.find(Z.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]'),t=e>=n.length?n.length-1:e<0?0:e;t>-1&&I(n[t].getAttribute("id"))},le=function(){return-1!==N?N:null},ce=function(e){f.popup&&(h?pe(e):se(e))},se=function(e){F.current=e.currentTarget,E(!0),f.onShow&&f.onShow(e)},pe=function(e){F.current=e.currentTarget,E(!1),f.onHide&&f.onHide(e)},me=function(){l.DomHandler.addStyles(Z.current,{position:"absolute",top:"0",left:"0"}),l.ZIndexUtils.set("menu",Z.current,d&&d.autoZIndex||m.default.autoZIndex,f.baseZIndex||d&&d.zIndex.menu||m.default.zIndex.menu),l.DomHandler.absolutePosition(Z.current,F.current,f.popupAlignment),f.popup&&(l.DomHandler.focus(B.current),ue(0))},de=function(){G()},fe=function(){F.current=null,J()},be=function(){l.ZIndexUtils.clear(Z.current)};a.useMountEffect((function(){y||g(l.UniqueComponentId())})),a.useUnmountEffect((function(){l.ZIndexUtils.clear(Z.current)})),p.useImperativeHandle(c,(function(){return{props:f,toggle:ce,show:se,hide:pe,getElement:function(){return Z.current},getTarget:function(){return F.current}}}));var ye=function(e,n){var t=y+"_sub_"+n,r=e.items.map((function(e,n){return ge(e,n,t)})),a=s({id:t,role:"none",className:l.classNames(e.className,U("submenuHeader",{submenu:e})),style:q("submenuHeader",{submenu:e}),"data-p-disabled":e.disabled},C("submenuHeader"));return p.createElement(p.Fragment,{key:t},p.createElement("li",v({},a,{key:t}),e.label),r)},ve=function(e,n){if(!1===e.visible)return null;var t=y+"_separator_"+n,r=s({id:t,className:l.classNames(e.className,U("separator")),role:"separator"},C("separator"));return p.createElement("li",v({},r,{key:t}))},ge=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!1===e.visible)return null;var r={item:e,index:n,parentId:t},a=l.classNames("p-menuitem-link",{"p-disabled":e.disabled}),i=l.classNames("p-menuitem-icon",e.icon),o=s({className:U("icon")},R("icon",r)),c=l.IconUtils.getJSXIcon(e.icon,k({},o),{props:f}),m=s({className:U("label")},R("label",r)),d=e.label&&p.createElement("span",m,e.label),b=e.id||(t||y)+"_"+n,g=s({onClick:function(n){return X(n,e,b)},onMouseMove:function(e){return Y(e,b)},className:U("content",{item:e})},R("content",r)),O=s({href:e.url||"#",className:U("action",{item:e}),onFocus:function(e){return e.stopPropagation()},target:e.target,tabIndex:"-1","aria-label":e.label,"aria-disabled":e.disabled,"data-p-disabled":e.disabled},R("action",r)),h=p.createElement("div",g,p.createElement("a",O,c,d,p.createElement(u.Ripple,null)));e.template&&(h=l.ObjectUtils.getJSXElement(e.template,e,{onClick:function(n){return X(n,e,b)},onMouseMove:function(e){return Y(e,b)},className:a,tabIndex:"-1",labelClassName:"p-menuitem-text",iconClassName:i,element:h,props:f}));var E=s({id:b,className:l.classNames(e.className,U("menuitem",{focused:N===b})),style:q("menuitem",{item:e}),role:"menuitem","aria-label":e.label,"aria-disabled":e.disabled,"data-p-focused":le()===b,"data-p-disabled":e.disabled||!1},R("menuitem",r));return p.createElement("li",v({},E,{key:b}),h)},Oe=function(e,n){return!1===e.visible?null:e.separator?ve(e,n):e.items?ye(e,n):ge(e,n)},he=function(){if(f.model){var e=f.model.map(Oe),n=s({className:l.classNames(f.className,U("root",{context:d})),style:f.style,onClick:function(e){return n=e,void(f.popup&&i.OverlayService.emit("overlay-click",{originalEvent:n,target:F.current}));var n}},w.getOtherProps(f),C("root")),t=s({ref:B,className:U("menu"),id:y+"_list",tabIndex:f.tabIndex||"0",role:"menu","aria-label":f.ariaLabel,"aria-labelledby":f.ariaLabelledBy,"aria-activedescendant":_?le():void 0,onFocus:$,onKeyDown:V,onBlur:Q},C("menu")),a=s({classNames:U("transition"),in:h,timeout:{enter:120,exit:100},options:f.transitionOptions,unmountOnExit:!0,onEnter:me,onEntered:de,onExit:fe,onExited:be},C("transition"));return p.createElement(r.CSSTransition,v({nodeRef:Z},a),p.createElement("div",v({id:f.id,ref:Z},n),p.createElement("ul",t,e)))}return null}();return f.popup?p.createElement(o.Portal,{element:he,appendTo:f.appendTo}):he})));H.displayName="Menu",exports.Menu=H;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/api"),t=require("primereact/componentbase"),r=require("primereact/csstransition"),a=require("primereact/hooks"),i=require("primereact/overlayservice"),o=require("primereact/portal"),u=require("primereact/ripple"),l=require("primereact/utils");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var p=s(e),m=c(n);function d(e){return d="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},d(e)}function f(e,n){if("object"!=d(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=d(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function b(e){var n=f(e,"string");return"symbol"==d(n)?n:n+""}function y(e,n,t){return(n=b(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function v(){return v=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},v.apply(null,arguments)}function g(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function O(e){if(Array.isArray(e))return g(e)}function h(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function E(e,n){if(e){if("string"==typeof e)return g(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?g(e,n):void 0}}function S(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(e){return O(e)||h(e)||E(e)||S()}function N(e){if(Array.isArray(e))return e}function D(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,i,o,u=[],l=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;l=!1}else for(;!(l=(r=i.call(t)).done)&&(u.push(r.value),u.length!==n);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw a}}return u}}function I(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function j(e,n){return N(e)||D(e,n)||E(e,n)||I()}var w=t.ComponentBase.extend({defaultProps:{__TYPE:"Menu",id:null,ariaLabel:null,ariaLabelledBy:null,tabIndex:0,model:null,popup:!1,popupAlignment:"left",style:null,className:null,autoZIndex:!0,baseZIndex:0,appendTo:null,onFocus:null,onBlur:null,transitionOptions:null,onShow:null,onHide:null,children:void 0,closeOnEscape:!0},css:{classes:{root:function(e){var n=e.context;return l.classNames("p-menu p-component",{"p-menu-overlay":e.props.popup,"p-input-filled":n&&"filled"===n.inputStyle||"filled"===m.default.inputStyle,"p-ripple-disabled":n&&!1===n.ripple||!1===m.default.ripple})},menu:"p-menu-list p-reset",content:function(e){return l.classNames("p-menuitem-content",{"p-disabled":e.item.disabled})},action:function(e){return l.classNames("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return l.classNames("p-menuitem",{"p-focus":e.focused})},submenuHeader:function(e){return l.classNames("p-submenu-header",{"p-disabled":e.submenu.disabled})},separator:"p-menu-separator",label:"p-menuitem-text",icon:"p-menuitem-icon",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n\n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n",inlineStyles:{submenuHeader:function(e){return e.submenu.style},menuitem:function(e){return e.item.style}}}});function P(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function H(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?P(Object(t),!0).forEach((function(n){y(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):P(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var k=p.memo(p.forwardRef((function(e,c){var s=a.useMergeProps(),d=p.useContext(n.PrimeReactContext),f=w.getProps(e,d),b=j(p.useState(f.id),2),y=b[0],g=b[1],O=j(p.useState(!f.popup),2),h=O[0],E=O[1],S=j(p.useState(-1),2),N=S[0],D=S[1],I=j(p.useState(-1),2),P=I[0],k=I[1],A=j(p.useState(!1),2),T=A[0],_=A[1],M=w.setMetaData({props:f,state:{id:y,visible:h,focused:T}}),C=M.ptm,U=M.cx,q=M.sx,R=function(e,n){return C(e,{context:n})};t.useHandleStyle(w.css.styles,M.isUnstyled,{name:"menu"});var Z=p.useRef(null),B=p.useRef(null),F=p.useRef(null),L=!!(h&&f.popup&&f.closeOnEscape),K=a.useDisplayOrder("menu",L);a.useGlobalOnEscapeKey({callback:function(e){pe(e)},when:L&&K,priority:[a.ESC_KEY_HANDLING_PRIORITIES.MENU,K]});var z=j(a.useOverlayListener({target:F,overlay:Z,listener:function(e,n){n.valid&&(d.hideOverlaysOnDocumentScrolling||"outside"===n.type?(pe(e),D(-1)):l.DomHandler.isDocument(e.target)||l.DomHandler.absolutePosition(Z.current,F.current,f.popupAlignment))},when:h}),2),G=z[0],J=z[1],X=function(e,n,t){n.disabled?e.preventDefault():(n.command&&n.command({originalEvent:e,item:n}),f.popup&&pe(e),f.popup||N===t||D(t),n.url||(e.preventDefault(),e.stopPropagation()))},Y=function(e,n){e&&f.popup&&N!==n&&D(n)},$=function(e){_(!0),f.popup||(-1!==P?(ue(P),k(-1)):ue(0)),f.onFocus&&f.onFocus(e)},Q=function(e){var n=e.relatedTarget;n&&e.currentTarget.contains(n)||(_(!1),D(-1),f.onBlur&&f.onBlur(e))},V=function(e){switch(e.code){case"ArrowDown":W(e);break;case"ArrowUp":ee(e);break;case"Home":ne(e);break;case"End":te(e);break;case"Enter":case"NumpadEnter":re(e);break;case"Space":ae(e);break;case"Escape":f.popup&&(l.DomHandler.focus(F.current),pe(e));case"Tab":f.popup&&h&&pe(e)}},W=function(e){var n=ie(N);ue(n),e.preventDefault()},ee=function(e){if(e.altKey&&f.popup)l.DomHandler.focus(F.current),pe(e),e.preventDefault();else{var n=oe(N);ue(n),e.preventDefault()}},ne=function(e){ue(0),e.preventDefault()},te=function(e){ue(l.DomHandler.find(Z.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]').length-1),e.preventDefault()},re=function(e){var n=l.DomHandler.findSingle(Z.current,'li[id="'.concat("".concat(N),'"]')),t=n&&l.DomHandler.findSingle(n,'a[data-pc-section="action"]');f.popup&&l.DomHandler.focus(F.current),t?t.click():n&&n.click(),e.preventDefault()},ae=function(e){re(e)},ie=function(e){var n=x(l.DomHandler.find(Z.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n+1:0},oe=function(e){var n=x(l.DomHandler.find(Z.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n-1:0},ue=function(e){var n=l.DomHandler.find(Z.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]'),t=e>=n.length?n.length-1:e<0?0:e;t>-1&&D(n[t].getAttribute("id"))},le=function(){return-1!==N?N:null},ce=function(e){f.popup&&(h?pe(e):se(e))},se=function(e){F.current=e.currentTarget,E(!0),f.onShow&&f.onShow(e)},pe=function(e){F.current=e.currentTarget,E(!1),f.onHide&&f.onHide(e)},me=function(){l.DomHandler.addStyles(Z.current,{position:"absolute",top:"0",left:"0"}),l.ZIndexUtils.set("menu",Z.current,d&&d.autoZIndex||m.default.autoZIndex,f.baseZIndex||d&&d.zIndex.menu||m.default.zIndex.menu),l.DomHandler.absolutePosition(Z.current,F.current,f.popupAlignment),f.popup&&(l.DomHandler.focus(B.current),ue(0))},de=function(){G()},fe=function(){F.current=null,J()},be=function(){l.ZIndexUtils.clear(Z.current)};a.useMountEffect((function(){y||g(l.UniqueComponentId())})),a.useUnmountEffect((function(){l.ZIndexUtils.clear(Z.current)})),p.useImperativeHandle(c,(function(){return{props:f,toggle:ce,show:se,hide:pe,getElement:function(){return Z.current},getTarget:function(){return F.current}}}));var ye=function(e,n){var t=y+"_sub_"+n,r=e.items.map((function(e,n){return ge(e,n,t)})),a=s({id:t,role:"none",className:l.classNames(e.className,U("submenuHeader",{submenu:e})),style:q("submenuHeader",{submenu:e}),"data-p-disabled":e.disabled},C("submenuHeader"));return p.createElement(p.Fragment,{key:t},p.createElement("li",v({},a,{key:t}),e.label),r)},ve=function(e,n){if(!1===e.visible)return null;var t=y+"_separator_"+n,r=s({id:t,className:l.classNames(e.className,U("separator")),role:"separator"},C("separator"));return p.createElement("li",v({},r,{key:t}))},ge=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!1===e.visible)return null;var r={item:e,index:n,parentId:t},a=l.classNames("p-menuitem-link",{"p-disabled":e.disabled}),i=l.classNames("p-menuitem-icon",e.icon),o=s({className:U("icon")},R("icon",r)),c=l.IconUtils.getJSXIcon(e.icon,H({},o),{props:f}),m=s({className:U("label")},R("label",r)),d=e.label&&p.createElement("span",m,e.label),b=e.id||(t||y)+"_"+n,g=s({onClick:function(n){return X(n,e,b)},onMouseMove:function(e){return Y(e,b)},className:U("content",{item:e})},R("content",r)),O=s({href:e.url||"#",className:U("action",{item:e}),onFocus:function(e){return e.stopPropagation()},target:e.target,tabIndex:"-1","aria-label":e.label,"aria-disabled":e.disabled,"data-p-disabled":e.disabled},R("action",r)),h=p.createElement("div",g,p.createElement("a",O,c,d,p.createElement(u.Ripple,null)));e.template&&(h=l.ObjectUtils.getJSXElement(e.template,e,{onClick:function(n){return X(n,e,b)},onMouseMove:function(e){return Y(e,b)},className:a,tabIndex:"-1",labelClassName:"p-menuitem-text",iconClassName:i,element:h,props:f}));var E=s({id:b,className:l.classNames(e.className,U("menuitem",{focused:N===b})),onClick:function(n){return X(n,e,b)},style:q("menuitem",{item:e}),role:"menuitem","aria-label":e.label,"aria-disabled":e.disabled,"data-p-focused":le()===b,"data-p-disabled":e.disabled||!1},R("menuitem",r));return p.createElement("li",v({},E,{key:b}),h)},Oe=function(e,n){return!1===e.visible?null:e.separator?ve(e,n):e.items?ye(e,n):ge(e,n)},he=function(){if(f.model){var e=f.model.map(Oe),n=s({className:l.classNames(f.className,U("root",{context:d})),style:f.style,onClick:function(e){return n=e,void(f.popup&&i.OverlayService.emit("overlay-click",{originalEvent:n,target:F.current}));var n}},w.getOtherProps(f),C("root")),t=s({ref:B,className:U("menu"),id:y+"_list",tabIndex:f.tabIndex||"0",role:"menu","aria-label":f.ariaLabel,"aria-labelledby":f.ariaLabelledBy,"aria-activedescendant":T?le():void 0,onFocus:$,onKeyDown:V,onBlur:Q},C("menu")),a=s({classNames:U("transition"),in:h,timeout:{enter:120,exit:100},options:f.transitionOptions,unmountOnExit:!0,onEnter:me,onEntered:de,onExit:fe,onExited:be},C("transition"));return p.createElement(r.CSSTransition,v({nodeRef:Z},a),p.createElement("div",v({id:f.id,ref:Z},n),p.createElement("ul",t,e)))}return null}();return f.popup?p.createElement(o.Portal,{element:he,appendTo:f.appendTo}):he})));k.displayName="Menu",exports.Menu=k;
|
package/menu/menu.esm.js
CHANGED
|
@@ -7,7 +7,7 @@ import { useMergeProps, useDisplayOrder, useGlobalOnEscapeKey, ESC_KEY_HANDLING_
|
|
|
7
7
|
import { OverlayService } from 'primereact/overlayservice';
|
|
8
8
|
import { Portal } from 'primereact/portal';
|
|
9
9
|
import { Ripple } from 'primereact/ripple';
|
|
10
|
-
import { classNames, UniqueComponentId, ZIndexUtils,
|
|
10
|
+
import { classNames, DomHandler, UniqueComponentId, ZIndexUtils, IconUtils, ObjectUtils } from 'primereact/utils';
|
|
11
11
|
|
|
12
12
|
function _typeof(o) {
|
|
13
13
|
"@babel/helpers - typeof";
|
|
@@ -267,10 +267,15 @@ var Menu = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (inPro
|
|
|
267
267
|
target: targetRef,
|
|
268
268
|
overlay: menuRef,
|
|
269
269
|
listener: function listener(event, _ref) {
|
|
270
|
-
var valid = _ref.valid
|
|
270
|
+
var valid = _ref.valid,
|
|
271
|
+
type = _ref.type;
|
|
271
272
|
if (valid) {
|
|
272
|
-
|
|
273
|
-
|
|
273
|
+
if (context.hideOverlaysOnDocumentScrolling || type === 'outside') {
|
|
274
|
+
hide(event);
|
|
275
|
+
setFocusedOptionIndex(-1);
|
|
276
|
+
} else if (!DomHandler.isDocument(event.target)) {
|
|
277
|
+
DomHandler.absolutePosition(menuRef.current, targetRef.current, props.popupAlignment);
|
|
278
|
+
}
|
|
274
279
|
}
|
|
275
280
|
},
|
|
276
281
|
when: visibleState
|
|
@@ -326,6 +331,9 @@ var Menu = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (inPro
|
|
|
326
331
|
props.onFocus && props.onFocus(event);
|
|
327
332
|
};
|
|
328
333
|
var onListBlur = function onListBlur(event) {
|
|
334
|
+
var currentTarget = event.currentTarget,
|
|
335
|
+
relatedTarget = event.relatedTarget;
|
|
336
|
+
if (relatedTarget && currentTarget.contains(relatedTarget)) return;
|
|
329
337
|
setFocused(false);
|
|
330
338
|
setFocusedOptionIndex(-1);
|
|
331
339
|
props.onBlur && props.onBlur(event);
|
|
@@ -586,6 +594,9 @@ var Menu = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (inPro
|
|
|
586
594
|
className: classNames(item.className, cx('menuitem', {
|
|
587
595
|
focused: focusedOptionIndex === key
|
|
588
596
|
})),
|
|
597
|
+
onClick: function onClick(event) {
|
|
598
|
+
return onItemClick(event, item, key);
|
|
599
|
+
},
|
|
589
600
|
style: sx('menuitem', {
|
|
590
601
|
item: item
|
|
591
602
|
}),
|
package/menu/menu.esm.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import n,{PrimeReactContext as t}from"primereact/api";import{ComponentBase as r,useHandleStyle as i}from"primereact/componentbase";import{CSSTransition as a}from"primereact/csstransition";import{useMergeProps as o,useDisplayOrder as u,useGlobalOnEscapeKey as l,ESC_KEY_HANDLING_PRIORITIES as c,useOverlayListener as s,useMountEffect as p,useUnmountEffect as m}from"primereact/hooks";import{OverlayService as d}from"primereact/overlayservice";import{Portal as f}from"primereact/portal";import{Ripple as b}from"primereact/ripple";import{classNames as y,UniqueComponentId as v,ZIndexUtils as g,DomHandler as h,IconUtils as x,ObjectUtils as E}from"primereact/utils";function S(e){return S="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},S(e)}function O(e,n){if("object"!=S(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=S(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function w(e){var n=O(e,"string");return"symbol"==S(n)?n:n+""}function k(e,n,t){return(n=w(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function I(){return I=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},I.apply(null,arguments)}function N(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function j(e){if(Array.isArray(e))return N(e)}function P(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function D(e,n){if(e){if("string"==typeof e)return N(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?N(e,n):void 0}}function A(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function T(e){return j(e)||P(e)||D(e)||A()}function H(e){if(Array.isArray(e))return e}function M(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,a,o,u=[],l=!0,c=!1;try{if(a=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;l=!1}else for(;!(l=(r=a.call(t)).done)&&(u.push(r.value),u.length!==n);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw i}}return u}}function _(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(e,n){return H(e)||M(e,n)||D(e,n)||_()}var B=r.extend({defaultProps:{__TYPE:"Menu",id:null,ariaLabel:null,ariaLabelledBy:null,tabIndex:0,model:null,popup:!1,popupAlignment:"left",style:null,className:null,autoZIndex:!0,baseZIndex:0,appendTo:null,onFocus:null,onBlur:null,transitionOptions:null,onShow:null,onHide:null,children:void 0,closeOnEscape:!0},css:{classes:{root:function(e){var t=e.context;return y("p-menu p-component",{"p-menu-overlay":e.props.popup,"p-input-filled":t&&"filled"===t.inputStyle||"filled"===n.inputStyle,"p-ripple-disabled":t&&!1===t.ripple||!1===n.ripple})},menu:"p-menu-list p-reset",content:function(e){return y("p-menuitem-content",{"p-disabled":e.item.disabled})},action:function(e){return y("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return y("p-menuitem",{"p-focus":e.focused})},submenuHeader:function(e){return y("p-submenu-header",{"p-disabled":e.submenu.disabled})},separator:"p-menu-separator",label:"p-menuitem-text",icon:"p-menuitem-icon",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n\n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n",inlineStyles:{submenuHeader:function(e){return e.submenu.style},menuitem:function(e){return e.item.style}}}});function F(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function R(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?F(Object(t),!0).forEach((function(n){k(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):F(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var Z=e.memo(e.forwardRef((function(r,S){var O=o(),w=e.useContext(t),k=B.getProps(r,w),N=C(e.useState(k.id),2),j=N[0],P=N[1],D=C(e.useState(!k.popup),2),A=D[0],H=D[1],M=C(e.useState(-1),2),_=M[0],F=M[1],Z=C(e.useState(-1),2),L=Z[0],U=Z[1],z=C(e.useState(!1),2),J=z[0],K=z[1],X=B.setMetaData({props:k,state:{id:j,visible:A,focused:J}}),G=X.ptm,Y=X.cx,$=X.sx,q=function(e,n){return G(e,{context:n})};i(B.css.styles,X.isUnstyled,{name:"menu"});var Q=e.useRef(null),V=e.useRef(null),W=e.useRef(null),ee=!!(A&&k.popup&&k.closeOnEscape),ne=u("menu",ee);l({callback:function(e){Se(e)},when:ee&&ne,priority:[c.MENU,ne]});var te=C(s({target:W,overlay:Q,listener:function(e,n){n.valid&&(Se(e),F(-1))},when:A}),2),re=te[0],ie=te[1],ae=function(e,n,t){n.disabled?e.preventDefault():(n.command&&n.command({originalEvent:e,item:n}),k.popup&&Se(e),k.popup||_===t||F(t),n.url||(e.preventDefault(),e.stopPropagation()))},oe=function(e,n){e&&k.popup&&_!==n&&F(n)},ue=function(e){K(!0),k.popup||(-1!==L?(ge(L),U(-1)):ge(0)),k.onFocus&&k.onFocus(e)},le=function(e){K(!1),F(-1),k.onBlur&&k.onBlur(e)},ce=function(e){switch(e.code){case"ArrowDown":se(e);break;case"ArrowUp":pe(e);break;case"Home":me(e);break;case"End":de(e);break;case"Enter":case"NumpadEnter":fe(e);break;case"Space":be(e);break;case"Escape":k.popup&&(h.focus(W.current),Se(e));case"Tab":k.popup&&A&&Se(e)}},se=function(e){var n=ye(_);ge(n),e.preventDefault()},pe=function(e){if(e.altKey&&k.popup)h.focus(W.current),Se(e),e.preventDefault();else{var n=ve(_);ge(n),e.preventDefault()}},me=function(e){ge(0),e.preventDefault()},de=function(e){ge(h.find(Q.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]').length-1),e.preventDefault()},fe=function(e){var n=h.findSingle(Q.current,'li[id="'.concat("".concat(_),'"]')),t=n&&h.findSingle(n,'a[data-pc-section="action"]');k.popup&&h.focus(W.current),t?t.click():n&&n.click(),e.preventDefault()},be=function(e){fe(e)},ye=function(e){var n=T(h.find(Q.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n+1:0},ve=function(e){var n=T(h.find(Q.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n-1:0},ge=function(e){var n=h.find(Q.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]'),t=e>=n.length?n.length-1:e<0?0:e;t>-1&&F(n[t].getAttribute("id"))},he=function(){return-1!==_?_:null},xe=function(e){k.popup&&(A?Se(e):Ee(e))},Ee=function(e){W.current=e.currentTarget,H(!0),k.onShow&&k.onShow(e)},Se=function(e){W.current=e.currentTarget,H(!1),k.onHide&&k.onHide(e)},Oe=function(){h.addStyles(Q.current,{position:"absolute",top:"0",left:"0"}),g.set("menu",Q.current,w&&w.autoZIndex||n.autoZIndex,k.baseZIndex||w&&w.zIndex.menu||n.zIndex.menu),h.absolutePosition(Q.current,W.current,k.popupAlignment),k.popup&&(h.focus(V.current),ge(0))},we=function(){re()},ke=function(){W.current=null,ie()},Ie=function(){g.clear(Q.current)};p((function(){j||P(v())})),m((function(){g.clear(Q.current)})),e.useImperativeHandle(S,(function(){return{props:k,toggle:xe,show:Ee,hide:Se,getElement:function(){return Q.current},getTarget:function(){return W.current}}}));var Ne=function(n,t){var r=j+"_sub_"+t,i=n.items.map((function(e,n){return Pe(e,n,r)})),a=O({id:r,role:"none",className:y(n.className,Y("submenuHeader",{submenu:n})),style:$("submenuHeader",{submenu:n}),"data-p-disabled":n.disabled},G("submenuHeader"));return e.createElement(e.Fragment,{key:r},e.createElement("li",I({},a,{key:r}),n.label),i)},je=function(n,t){if(!1===n.visible)return null;var r=j+"_separator_"+t,i=O({id:r,className:y(n.className,Y("separator")),role:"separator"},G("separator"));return e.createElement("li",I({},i,{key:r}))},Pe=function(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!1===n.visible)return null;var i={item:n,index:t,parentId:r},a=y("p-menuitem-link",{"p-disabled":n.disabled}),o=y("p-menuitem-icon",n.icon),u=O({className:Y("icon")},q("icon",i)),l=x.getJSXIcon(n.icon,R({},u),{props:k}),c=O({className:Y("label")},q("label",i)),s=n.label&&e.createElement("span",c,n.label),p=n.id||(r||j)+"_"+t,m=O({onClick:function(e){return ae(e,n,p)},onMouseMove:function(e){return oe(e,p)},className:Y("content",{item:n})},q("content",i)),d=O({href:n.url||"#",className:Y("action",{item:n}),onFocus:function(e){return e.stopPropagation()},target:n.target,tabIndex:"-1","aria-label":n.label,"aria-disabled":n.disabled,"data-p-disabled":n.disabled},q("action",i)),f=e.createElement("div",m,e.createElement("a",d,l,s,e.createElement(b,null)));n.template&&(f=E.getJSXElement(n.template,n,{onClick:function(e){return ae(e,n,p)},onMouseMove:function(e){return oe(e,p)},className:a,tabIndex:"-1",labelClassName:"p-menuitem-text",iconClassName:o,element:f,props:k}));var v=O({id:p,className:y(n.className,Y("menuitem",{focused:_===p})),style:$("menuitem",{item:n}),role:"menuitem","aria-label":n.label,"aria-disabled":n.disabled,"data-p-focused":he()===p,"data-p-disabled":n.disabled||!1},q("menuitem",i));return e.createElement("li",I({},v,{key:p}),f)},De=function(e,n){return!1===e.visible?null:e.separator?je(e,n):e.items?Ne(e,n):Pe(e,n)},Ae=function(){if(k.model){var n=k.model.map(De),t=O({className:y(k.className,Y("root",{context:w})),style:k.style,onClick:function(e){return n=e,void(k.popup&&d.emit("overlay-click",{originalEvent:n,target:W.current}));var n}},B.getOtherProps(k),G("root")),r=O({ref:V,className:Y("menu"),id:j+"_list",tabIndex:k.tabIndex||"0",role:"menu","aria-label":k.ariaLabel,"aria-labelledby":k.ariaLabelledBy,"aria-activedescendant":J?he():void 0,onFocus:ue,onKeyDown:ce,onBlur:le},G("menu")),i=O({classNames:Y("transition"),in:A,timeout:{enter:120,exit:100},options:k.transitionOptions,unmountOnExit:!0,onEnter:Oe,onEntered:we,onExit:ke,onExited:Ie},G("transition"));return e.createElement(a,I({nodeRef:Q},i),e.createElement("div",I({id:k.id,ref:Q},t),e.createElement("ul",r,n)))}return null}();return k.popup?e.createElement(f,{element:Ae,appendTo:k.appendTo}):Ae})));Z.displayName="Menu";export{Z as Menu};
|
|
1
|
+
import*as e from"react";import n,{PrimeReactContext as t}from"primereact/api";import{ComponentBase as r,useHandleStyle as i}from"primereact/componentbase";import{CSSTransition as o}from"primereact/csstransition";import{useMergeProps as a,useDisplayOrder as u,useGlobalOnEscapeKey as l,ESC_KEY_HANDLING_PRIORITIES as c,useOverlayListener as s,useMountEffect as p,useUnmountEffect as m}from"primereact/hooks";import{OverlayService as d}from"primereact/overlayservice";import{Portal as f}from"primereact/portal";import{Ripple as b}from"primereact/ripple";import{classNames as y,DomHandler as v,UniqueComponentId as g,ZIndexUtils as h,IconUtils as x,ObjectUtils as S}from"primereact/utils";function E(e){return E="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},E(e)}function O(e,n){if("object"!=E(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function w(e){var n=O(e,"string");return"symbol"==E(n)?n:n+""}function k(e,n,t){return(n=w(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function I(){return I=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},I.apply(null,arguments)}function N(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function j(e){if(Array.isArray(e))return N(e)}function P(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function D(e,n){if(e){if("string"==typeof e)return N(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?N(e,n):void 0}}function A(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function T(e){return j(e)||P(e)||D(e)||A()}function H(e){if(Array.isArray(e))return e}function M(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o,a,u=[],l=!0,c=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;l=!1}else for(;!(l=(r=o.call(t)).done)&&(u.push(r.value),u.length!==n);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return u}}function C(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _(e,n){return H(e)||M(e,n)||D(e,n)||C()}var B=r.extend({defaultProps:{__TYPE:"Menu",id:null,ariaLabel:null,ariaLabelledBy:null,tabIndex:0,model:null,popup:!1,popupAlignment:"left",style:null,className:null,autoZIndex:!0,baseZIndex:0,appendTo:null,onFocus:null,onBlur:null,transitionOptions:null,onShow:null,onHide:null,children:void 0,closeOnEscape:!0},css:{classes:{root:function(e){var t=e.context;return y("p-menu p-component",{"p-menu-overlay":e.props.popup,"p-input-filled":t&&"filled"===t.inputStyle||"filled"===n.inputStyle,"p-ripple-disabled":t&&!1===t.ripple||!1===n.ripple})},menu:"p-menu-list p-reset",content:function(e){return y("p-menuitem-content",{"p-disabled":e.item.disabled})},action:function(e){return y("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return y("p-menuitem",{"p-focus":e.focused})},submenuHeader:function(e){return y("p-submenu-header",{"p-disabled":e.submenu.disabled})},separator:"p-menu-separator",label:"p-menuitem-text",icon:"p-menuitem-icon",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n\n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n",inlineStyles:{submenuHeader:function(e){return e.submenu.style},menuitem:function(e){return e.item.style}}}});function F(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function R(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?F(Object(t),!0).forEach((function(n){k(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):F(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var Z=e.memo(e.forwardRef((function(r,E){var O=a(),w=e.useContext(t),k=B.getProps(r,w),N=_(e.useState(k.id),2),j=N[0],P=N[1],D=_(e.useState(!k.popup),2),A=D[0],H=D[1],M=_(e.useState(-1),2),C=M[0],F=M[1],Z=_(e.useState(-1),2),L=Z[0],U=Z[1],z=_(e.useState(!1),2),J=z[0],K=z[1],X=B.setMetaData({props:k,state:{id:j,visible:A,focused:J}}),G=X.ptm,Y=X.cx,$=X.sx,q=function(e,n){return G(e,{context:n})};i(B.css.styles,X.isUnstyled,{name:"menu"});var Q=e.useRef(null),V=e.useRef(null),W=e.useRef(null),ee=!!(A&&k.popup&&k.closeOnEscape),ne=u("menu",ee);l({callback:function(e){Ee(e)},when:ee&&ne,priority:[c.MENU,ne]});var te=_(s({target:W,overlay:Q,listener:function(e,n){n.valid&&(w.hideOverlaysOnDocumentScrolling||"outside"===n.type?(Ee(e),F(-1)):v.isDocument(e.target)||v.absolutePosition(Q.current,W.current,k.popupAlignment))},when:A}),2),re=te[0],ie=te[1],oe=function(e,n,t){n.disabled?e.preventDefault():(n.command&&n.command({originalEvent:e,item:n}),k.popup&&Ee(e),k.popup||C===t||F(t),n.url||(e.preventDefault(),e.stopPropagation()))},ae=function(e,n){e&&k.popup&&C!==n&&F(n)},ue=function(e){K(!0),k.popup||(-1!==L?(ge(L),U(-1)):ge(0)),k.onFocus&&k.onFocus(e)},le=function(e){var n=e.relatedTarget;n&&e.currentTarget.contains(n)||(K(!1),F(-1),k.onBlur&&k.onBlur(e))},ce=function(e){switch(e.code){case"ArrowDown":se(e);break;case"ArrowUp":pe(e);break;case"Home":me(e);break;case"End":de(e);break;case"Enter":case"NumpadEnter":fe(e);break;case"Space":be(e);break;case"Escape":k.popup&&(v.focus(W.current),Ee(e));case"Tab":k.popup&&A&&Ee(e)}},se=function(e){var n=ye(C);ge(n),e.preventDefault()},pe=function(e){if(e.altKey&&k.popup)v.focus(W.current),Ee(e),e.preventDefault();else{var n=ve(C);ge(n),e.preventDefault()}},me=function(e){ge(0),e.preventDefault()},de=function(e){ge(v.find(Q.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]').length-1),e.preventDefault()},fe=function(e){var n=v.findSingle(Q.current,'li[id="'.concat("".concat(C),'"]')),t=n&&v.findSingle(n,'a[data-pc-section="action"]');k.popup&&v.focus(W.current),t?t.click():n&&n.click(),e.preventDefault()},be=function(e){fe(e)},ye=function(e){var n=T(v.find(Q.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n+1:0},ve=function(e){var n=T(v.find(Q.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n-1:0},ge=function(e){var n=v.find(Q.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]'),t=e>=n.length?n.length-1:e<0?0:e;t>-1&&F(n[t].getAttribute("id"))},he=function(){return-1!==C?C:null},xe=function(e){k.popup&&(A?Ee(e):Se(e))},Se=function(e){W.current=e.currentTarget,H(!0),k.onShow&&k.onShow(e)},Ee=function(e){W.current=e.currentTarget,H(!1),k.onHide&&k.onHide(e)},Oe=function(){v.addStyles(Q.current,{position:"absolute",top:"0",left:"0"}),h.set("menu",Q.current,w&&w.autoZIndex||n.autoZIndex,k.baseZIndex||w&&w.zIndex.menu||n.zIndex.menu),v.absolutePosition(Q.current,W.current,k.popupAlignment),k.popup&&(v.focus(V.current),ge(0))},we=function(){re()},ke=function(){W.current=null,ie()},Ie=function(){h.clear(Q.current)};p((function(){j||P(g())})),m((function(){h.clear(Q.current)})),e.useImperativeHandle(E,(function(){return{props:k,toggle:xe,show:Se,hide:Ee,getElement:function(){return Q.current},getTarget:function(){return W.current}}}));var Ne=function(n,t){var r=j+"_sub_"+t,i=n.items.map((function(e,n){return Pe(e,n,r)})),o=O({id:r,role:"none",className:y(n.className,Y("submenuHeader",{submenu:n})),style:$("submenuHeader",{submenu:n}),"data-p-disabled":n.disabled},G("submenuHeader"));return e.createElement(e.Fragment,{key:r},e.createElement("li",I({},o,{key:r}),n.label),i)},je=function(n,t){if(!1===n.visible)return null;var r=j+"_separator_"+t,i=O({id:r,className:y(n.className,Y("separator")),role:"separator"},G("separator"));return e.createElement("li",I({},i,{key:r}))},Pe=function(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!1===n.visible)return null;var i={item:n,index:t,parentId:r},o=y("p-menuitem-link",{"p-disabled":n.disabled}),a=y("p-menuitem-icon",n.icon),u=O({className:Y("icon")},q("icon",i)),l=x.getJSXIcon(n.icon,R({},u),{props:k}),c=O({className:Y("label")},q("label",i)),s=n.label&&e.createElement("span",c,n.label),p=n.id||(r||j)+"_"+t,m=O({onClick:function(e){return oe(e,n,p)},onMouseMove:function(e){return ae(e,p)},className:Y("content",{item:n})},q("content",i)),d=O({href:n.url||"#",className:Y("action",{item:n}),onFocus:function(e){return e.stopPropagation()},target:n.target,tabIndex:"-1","aria-label":n.label,"aria-disabled":n.disabled,"data-p-disabled":n.disabled},q("action",i)),f=e.createElement("div",m,e.createElement("a",d,l,s,e.createElement(b,null)));n.template&&(f=S.getJSXElement(n.template,n,{onClick:function(e){return oe(e,n,p)},onMouseMove:function(e){return ae(e,p)},className:o,tabIndex:"-1",labelClassName:"p-menuitem-text",iconClassName:a,element:f,props:k}));var v=O({id:p,className:y(n.className,Y("menuitem",{focused:C===p})),onClick:function(e){return oe(e,n,p)},style:$("menuitem",{item:n}),role:"menuitem","aria-label":n.label,"aria-disabled":n.disabled,"data-p-focused":he()===p,"data-p-disabled":n.disabled||!1},q("menuitem",i));return e.createElement("li",I({},v,{key:p}),f)},De=function(e,n){return!1===e.visible?null:e.separator?je(e,n):e.items?Ne(e,n):Pe(e,n)},Ae=function(){if(k.model){var n=k.model.map(De),t=O({className:y(k.className,Y("root",{context:w})),style:k.style,onClick:function(e){return n=e,void(k.popup&&d.emit("overlay-click",{originalEvent:n,target:W.current}));var n}},B.getOtherProps(k),G("root")),r=O({ref:V,className:Y("menu"),id:j+"_list",tabIndex:k.tabIndex||"0",role:"menu","aria-label":k.ariaLabel,"aria-labelledby":k.ariaLabelledBy,"aria-activedescendant":J?he():void 0,onFocus:ue,onKeyDown:ce,onBlur:le},G("menu")),i=O({classNames:Y("transition"),in:A,timeout:{enter:120,exit:100},options:k.transitionOptions,unmountOnExit:!0,onEnter:Oe,onEntered:we,onExit:ke,onExited:Ie},G("transition"));return e.createElement(o,I({nodeRef:Q},i),e.createElement("div",I({id:k.id,ref:Q},t),e.createElement("ul",r,n)))}return null}();return k.popup?e.createElement(f,{element:Ae,appendTo:k.appendTo}):Ae})));Z.displayName="Menu";export{Z as Menu};
|
package/menu/menu.js
CHANGED
|
@@ -283,10 +283,15 @@ this.primereact.menu = (function (exports, React, PrimeReact, componentbase, css
|
|
|
283
283
|
target: targetRef,
|
|
284
284
|
overlay: menuRef,
|
|
285
285
|
listener: function listener(event, _ref) {
|
|
286
|
-
var valid = _ref.valid
|
|
286
|
+
var valid = _ref.valid,
|
|
287
|
+
type = _ref.type;
|
|
287
288
|
if (valid) {
|
|
288
|
-
|
|
289
|
-
|
|
289
|
+
if (context.hideOverlaysOnDocumentScrolling || type === 'outside') {
|
|
290
|
+
hide(event);
|
|
291
|
+
setFocusedOptionIndex(-1);
|
|
292
|
+
} else if (!utils.DomHandler.isDocument(event.target)) {
|
|
293
|
+
utils.DomHandler.absolutePosition(menuRef.current, targetRef.current, props.popupAlignment);
|
|
294
|
+
}
|
|
290
295
|
}
|
|
291
296
|
},
|
|
292
297
|
when: visibleState
|
|
@@ -342,6 +347,9 @@ this.primereact.menu = (function (exports, React, PrimeReact, componentbase, css
|
|
|
342
347
|
props.onFocus && props.onFocus(event);
|
|
343
348
|
};
|
|
344
349
|
var onListBlur = function onListBlur(event) {
|
|
350
|
+
var currentTarget = event.currentTarget,
|
|
351
|
+
relatedTarget = event.relatedTarget;
|
|
352
|
+
if (relatedTarget && currentTarget.contains(relatedTarget)) return;
|
|
345
353
|
setFocused(false);
|
|
346
354
|
setFocusedOptionIndex(-1);
|
|
347
355
|
props.onBlur && props.onBlur(event);
|
|
@@ -602,6 +610,9 @@ this.primereact.menu = (function (exports, React, PrimeReact, componentbase, css
|
|
|
602
610
|
className: utils.classNames(item.className, cx('menuitem', {
|
|
603
611
|
focused: focusedOptionIndex === key
|
|
604
612
|
})),
|
|
613
|
+
onClick: function onClick(event) {
|
|
614
|
+
return onItemClick(event, item, key);
|
|
615
|
+
},
|
|
605
616
|
style: sx('menuitem', {
|
|
606
617
|
item: item
|
|
607
618
|
}),
|
package/menu/menu.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primereact=this.primereact||{},this.primereact.menu=function(e,n,t,r,a,i,o,l,u,c){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function p(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var m=p(n),d=s(t);function f(e){return f="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},f(e)}function b(e,n){if("object"!=f(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function y(e){var n=b(e,"string");return"symbol"==f(n)?n:n+""}function v(e,n,t){return(n=y(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function g(){return g=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},g.apply(null,arguments)}function h(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function O(e){if(Array.isArray(e))return h(e)}function E(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function S(e,n){if(e){if("string"==typeof e)return h(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?h(e,n):void 0}}function x(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function N(e){return O(e)||E(e)||S(e)||x()}function I(e){if(Array.isArray(e))return e}function D(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,i,o,l=[],u=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(l.push(r.value),l.length!==n);u=!0);}catch(e){c=!0,a=e}finally{try{if(!u&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw a}}return l}}function j(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function w(e,n){return I(e)||D(e,n)||S(e,n)||j()}var P=r.ComponentBase.extend({defaultProps:{__TYPE:"Menu",id:null,ariaLabel:null,ariaLabelledBy:null,tabIndex:0,model:null,popup:!1,popupAlignment:"left",style:null,className:null,autoZIndex:!0,baseZIndex:0,appendTo:null,onFocus:null,onBlur:null,transitionOptions:null,onShow:null,onHide:null,children:void 0,closeOnEscape:!0},css:{classes:{root:function(e){var n=e.context;return c.classNames("p-menu p-component",{"p-menu-overlay":e.props.popup,"p-input-filled":n&&"filled"===n.inputStyle||"filled"===d.default.inputStyle,"p-ripple-disabled":n&&!1===n.ripple||!1===d.default.ripple})},menu:"p-menu-list p-reset",content:function(e){return c.classNames("p-menuitem-content",{"p-disabled":e.item.disabled})},action:function(e){return c.classNames("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return c.classNames("p-menuitem",{"p-focus":e.focused})},submenuHeader:function(e){return c.classNames("p-submenu-header",{"p-disabled":e.submenu.disabled})},separator:"p-menu-separator",label:"p-menuitem-text",icon:"p-menuitem-icon",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n\n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n",inlineStyles:{submenuHeader:function(e){return e.submenu.style},menuitem:function(e){return e.item.style}}}});function k(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function H(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?k(Object(t),!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):k(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var A=m.memo(m.forwardRef((function(e,n){var s=i.useMergeProps(),p=m.useContext(t.PrimeReactContext),f=P.getProps(e,p),b=w(m.useState(f.id),2),y=b[0],v=b[1],h=w(m.useState(!f.popup),2),O=h[0],E=h[1],S=w(m.useState(-1),2),x=S[0],I=S[1],D=w(m.useState(-1),2),j=D[0],k=D[1],A=w(m.useState(!1),2),_=A[0],M=A[1],T=P.setMetaData({props:f,state:{id:y,visible:O,focused:_}}),C=T.ptm,U=T.cx,R=T.sx,Z=function(e,n){return C(e,{context:n})};r.useHandleStyle(P.css.styles,T.isUnstyled,{name:"menu"});var B=m.useRef(null),F=m.useRef(null),L=m.useRef(null),K=!!(O&&f.popup&&f.closeOnEscape),z=i.useDisplayOrder("menu",K);i.useGlobalOnEscapeKey({callback:function(e){pe(e)},when:K&&z,priority:[i.ESC_KEY_HANDLING_PRIORITIES.MENU,z]});var G=w(i.useOverlayListener({target:L,overlay:B,listener:function(e,n){n.valid&&(pe(e),I(-1))},when:O}),2),J=G[0],X=G[1],Y=function(e,n,t){n.disabled?e.preventDefault():(n.command&&n.command({originalEvent:e,item:n}),f.popup&&pe(e),f.popup||x===t||I(t),n.url||(e.preventDefault(),e.stopPropagation()))},q=function(e,n){e&&f.popup&&x!==n&&I(n)},$=function(e){M(!0),f.popup||(-1!==j?(le(j),k(-1)):le(0)),f.onFocus&&f.onFocus(e)},Q=function(e){M(!1),I(-1),f.onBlur&&f.onBlur(e)},V=function(e){switch(e.code){case"ArrowDown":W(e);break;case"ArrowUp":ee(e);break;case"Home":ne(e);break;case"End":te(e);break;case"Enter":case"NumpadEnter":re(e);break;case"Space":ae(e);break;case"Escape":f.popup&&(c.DomHandler.focus(L.current),pe(e));case"Tab":f.popup&&O&&pe(e)}},W=function(e){var n=ie(x);le(n),e.preventDefault()},ee=function(e){if(e.altKey&&f.popup)c.DomHandler.focus(L.current),pe(e),e.preventDefault();else{var n=oe(x);le(n),e.preventDefault()}},ne=function(e){le(0),e.preventDefault()},te=function(e){le(c.DomHandler.find(B.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]').length-1),e.preventDefault()},re=function(e){var n=c.DomHandler.findSingle(B.current,'li[id="'.concat("".concat(x),'"]')),t=n&&c.DomHandler.findSingle(n,'a[data-pc-section="action"]');f.popup&&c.DomHandler.focus(L.current),t?t.click():n&&n.click(),e.preventDefault()},ae=function(e){re(e)},ie=function(e){var n=N(c.DomHandler.find(B.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n+1:0},oe=function(e){var n=N(c.DomHandler.find(B.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n-1:0},le=function(e){var n=c.DomHandler.find(B.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]'),t=e>=n.length?n.length-1:e<0?0:e;t>-1&&I(n[t].getAttribute("id"))},ue=function(){return-1!==x?x:null},ce=function(e){f.popup&&(O?pe(e):se(e))},se=function(e){L.current=e.currentTarget,E(!0),f.onShow&&f.onShow(e)},pe=function(e){L.current=e.currentTarget,E(!1),f.onHide&&f.onHide(e)},me=function(){c.DomHandler.addStyles(B.current,{position:"absolute",top:"0",left:"0"}),c.ZIndexUtils.set("menu",B.current,p&&p.autoZIndex||d.default.autoZIndex,f.baseZIndex||p&&p.zIndex.menu||d.default.zIndex.menu),c.DomHandler.absolutePosition(B.current,L.current,f.popupAlignment),f.popup&&(c.DomHandler.focus(F.current),le(0))},de=function(){J()},fe=function(){L.current=null,X()},be=function(){c.ZIndexUtils.clear(B.current)};i.useMountEffect((function(){y||v(c.UniqueComponentId())})),i.useUnmountEffect((function(){c.ZIndexUtils.clear(B.current)})),m.useImperativeHandle(n,(function(){return{props:f,toggle:ce,show:se,hide:pe,getElement:function(){return B.current},getTarget:function(){return L.current}}}));var ye=function(e,n){var t=y+"_sub_"+n,r=e.items.map((function(e,n){return ge(e,n,t)})),a=s({id:t,role:"none",className:c.classNames(e.className,U("submenuHeader",{submenu:e})),style:R("submenuHeader",{submenu:e}),"data-p-disabled":e.disabled},C("submenuHeader"));return m.createElement(m.Fragment,{key:t},m.createElement("li",g({},a,{key:t}),e.label),r)},ve=function(e,n){if(!1===e.visible)return null;var t=y+"_separator_"+n,r=s({id:t,className:c.classNames(e.className,U("separator")),role:"separator"},C("separator"));return m.createElement("li",g({},r,{key:t}))},ge=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!1===e.visible)return null;var r={item:e,index:n,parentId:t},a=c.classNames("p-menuitem-link",{"p-disabled":e.disabled}),i=c.classNames("p-menuitem-icon",e.icon),o=s({className:U("icon")},Z("icon",r)),l=c.IconUtils.getJSXIcon(e.icon,H({},o),{props:f}),p=s({className:U("label")},Z("label",r)),d=e.label&&m.createElement("span",p,e.label),b=e.id||(t||y)+"_"+n,v=s({onClick:function(n){return Y(n,e,b)},onMouseMove:function(e){return q(e,b)},className:U("content",{item:e})},Z("content",r)),h=s({href:e.url||"#",className:U("action",{item:e}),onFocus:function(e){return e.stopPropagation()},target:e.target,tabIndex:"-1","aria-label":e.label,"aria-disabled":e.disabled,"data-p-disabled":e.disabled},Z("action",r)),O=m.createElement("div",v,m.createElement("a",h,l,d,m.createElement(u.Ripple,null)));e.template&&(O=c.ObjectUtils.getJSXElement(e.template,e,{onClick:function(n){return Y(n,e,b)},onMouseMove:function(e){return q(e,b)},className:a,tabIndex:"-1",labelClassName:"p-menuitem-text",iconClassName:i,element:O,props:f}));var E=s({id:b,className:c.classNames(e.className,U("menuitem",{focused:x===b})),style:R("menuitem",{item:e}),role:"menuitem","aria-label":e.label,"aria-disabled":e.disabled,"data-p-focused":ue()===b,"data-p-disabled":e.disabled||!1},Z("menuitem",r));return m.createElement("li",g({},E,{key:b}),O)},he=function(e,n){return!1===e.visible?null:e.separator?ve(e,n):e.items?ye(e,n):ge(e,n)},Oe=function(){if(f.model){var e=f.model.map(he),n=s({className:c.classNames(f.className,U("root",{context:p})),style:f.style,onClick:function(e){return n=e,void(f.popup&&o.OverlayService.emit("overlay-click",{originalEvent:n,target:L.current}));var n}},P.getOtherProps(f),C("root")),t=s({ref:F,className:U("menu"),id:y+"_list",tabIndex:f.tabIndex||"0",role:"menu","aria-label":f.ariaLabel,"aria-labelledby":f.ariaLabelledBy,"aria-activedescendant":_?ue():void 0,onFocus:$,onKeyDown:V,onBlur:Q},C("menu")),r=s({classNames:U("transition"),in:O,timeout:{enter:120,exit:100},options:f.transitionOptions,unmountOnExit:!0,onEnter:me,onEntered:de,onExit:fe,onExited:be},C("transition"));return m.createElement(a.CSSTransition,g({nodeRef:B},r),m.createElement("div",g({id:f.id,ref:B},n),m.createElement("ul",t,e)))}return null}();return f.popup?m.createElement(l.Portal,{element:Oe,appendTo:f.appendTo}):Oe})));return A.displayName="Menu",e.Menu=A,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.componentbase,primereact.csstransition,primereact.hooks,primereact.overlayservice,primereact.portal,primereact.ripple,primereact.utils);
|
|
1
|
+
this.primereact=this.primereact||{},this.primereact.menu=function(e,n,t,r,a,i,o,l,u,c){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function p(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var m=p(n),d=s(t);function f(e){return f="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},f(e)}function b(e,n){if("object"!=f(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function y(e){var n=b(e,"string");return"symbol"==f(n)?n:n+""}function v(e,n,t){return(n=y(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function g(){return g=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},g.apply(null,arguments)}function h(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function O(e){if(Array.isArray(e))return h(e)}function E(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function S(e,n){if(e){if("string"==typeof e)return h(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?h(e,n):void 0}}function x(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function N(e){return O(e)||E(e)||S(e)||x()}function D(e){if(Array.isArray(e))return e}function I(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,i,o,l=[],u=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=i.call(t)).done)&&(l.push(r.value),l.length!==n);u=!0);}catch(e){c=!0,a=e}finally{try{if(!u&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw a}}return l}}function j(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function w(e,n){return D(e)||I(e,n)||S(e,n)||j()}var P=r.ComponentBase.extend({defaultProps:{__TYPE:"Menu",id:null,ariaLabel:null,ariaLabelledBy:null,tabIndex:0,model:null,popup:!1,popupAlignment:"left",style:null,className:null,autoZIndex:!0,baseZIndex:0,appendTo:null,onFocus:null,onBlur:null,transitionOptions:null,onShow:null,onHide:null,children:void 0,closeOnEscape:!0},css:{classes:{root:function(e){var n=e.context;return c.classNames("p-menu p-component",{"p-menu-overlay":e.props.popup,"p-input-filled":n&&"filled"===n.inputStyle||"filled"===d.default.inputStyle,"p-ripple-disabled":n&&!1===n.ripple||!1===d.default.ripple})},menu:"p-menu-list p-reset",content:function(e){return c.classNames("p-menuitem-content",{"p-disabled":e.item.disabled})},action:function(e){return c.classNames("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return c.classNames("p-menuitem",{"p-focus":e.focused})},submenuHeader:function(e){return c.classNames("p-submenu-header",{"p-disabled":e.submenu.disabled})},separator:"p-menu-separator",label:"p-menuitem-text",icon:"p-menuitem-icon",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n\n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n",inlineStyles:{submenuHeader:function(e){return e.submenu.style},menuitem:function(e){return e.item.style}}}});function H(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function k(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?H(Object(t),!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):H(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var A=m.memo(m.forwardRef((function(e,n){var s=i.useMergeProps(),p=m.useContext(t.PrimeReactContext),f=P.getProps(e,p),b=w(m.useState(f.id),2),y=b[0],v=b[1],h=w(m.useState(!f.popup),2),O=h[0],E=h[1],S=w(m.useState(-1),2),x=S[0],D=S[1],I=w(m.useState(-1),2),j=I[0],H=I[1],A=w(m.useState(!1),2),T=A[0],_=A[1],M=P.setMetaData({props:f,state:{id:y,visible:O,focused:T}}),C=M.ptm,U=M.cx,R=M.sx,Z=function(e,n){return C(e,{context:n})};r.useHandleStyle(P.css.styles,M.isUnstyled,{name:"menu"});var B=m.useRef(null),F=m.useRef(null),L=m.useRef(null),K=!!(O&&f.popup&&f.closeOnEscape),z=i.useDisplayOrder("menu",K);i.useGlobalOnEscapeKey({callback:function(e){pe(e)},when:K&&z,priority:[i.ESC_KEY_HANDLING_PRIORITIES.MENU,z]});var G=w(i.useOverlayListener({target:L,overlay:B,listener:function(e,n){n.valid&&(p.hideOverlaysOnDocumentScrolling||"outside"===n.type?(pe(e),D(-1)):c.DomHandler.isDocument(e.target)||c.DomHandler.absolutePosition(B.current,L.current,f.popupAlignment))},when:O}),2),J=G[0],X=G[1],Y=function(e,n,t){n.disabled?e.preventDefault():(n.command&&n.command({originalEvent:e,item:n}),f.popup&&pe(e),f.popup||x===t||D(t),n.url||(e.preventDefault(),e.stopPropagation()))},q=function(e,n){e&&f.popup&&x!==n&&D(n)},$=function(e){_(!0),f.popup||(-1!==j?(le(j),H(-1)):le(0)),f.onFocus&&f.onFocus(e)},Q=function(e){var n=e.relatedTarget;n&&e.currentTarget.contains(n)||(_(!1),D(-1),f.onBlur&&f.onBlur(e))},V=function(e){switch(e.code){case"ArrowDown":W(e);break;case"ArrowUp":ee(e);break;case"Home":ne(e);break;case"End":te(e);break;case"Enter":case"NumpadEnter":re(e);break;case"Space":ae(e);break;case"Escape":f.popup&&(c.DomHandler.focus(L.current),pe(e));case"Tab":f.popup&&O&&pe(e)}},W=function(e){var n=ie(x);le(n),e.preventDefault()},ee=function(e){if(e.altKey&&f.popup)c.DomHandler.focus(L.current),pe(e),e.preventDefault();else{var n=oe(x);le(n),e.preventDefault()}},ne=function(e){le(0),e.preventDefault()},te=function(e){le(c.DomHandler.find(B.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]').length-1),e.preventDefault()},re=function(e){var n=c.DomHandler.findSingle(B.current,'li[id="'.concat("".concat(x),'"]')),t=n&&c.DomHandler.findSingle(n,'a[data-pc-section="action"]');f.popup&&c.DomHandler.focus(L.current),t?t.click():n&&n.click(),e.preventDefault()},ae=function(e){re(e)},ie=function(e){var n=N(c.DomHandler.find(B.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n+1:0},oe=function(e){var n=N(c.DomHandler.find(B.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n-1:0},le=function(e){var n=c.DomHandler.find(B.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]'),t=e>=n.length?n.length-1:e<0?0:e;t>-1&&D(n[t].getAttribute("id"))},ue=function(){return-1!==x?x:null},ce=function(e){f.popup&&(O?pe(e):se(e))},se=function(e){L.current=e.currentTarget,E(!0),f.onShow&&f.onShow(e)},pe=function(e){L.current=e.currentTarget,E(!1),f.onHide&&f.onHide(e)},me=function(){c.DomHandler.addStyles(B.current,{position:"absolute",top:"0",left:"0"}),c.ZIndexUtils.set("menu",B.current,p&&p.autoZIndex||d.default.autoZIndex,f.baseZIndex||p&&p.zIndex.menu||d.default.zIndex.menu),c.DomHandler.absolutePosition(B.current,L.current,f.popupAlignment),f.popup&&(c.DomHandler.focus(F.current),le(0))},de=function(){J()},fe=function(){L.current=null,X()},be=function(){c.ZIndexUtils.clear(B.current)};i.useMountEffect((function(){y||v(c.UniqueComponentId())})),i.useUnmountEffect((function(){c.ZIndexUtils.clear(B.current)})),m.useImperativeHandle(n,(function(){return{props:f,toggle:ce,show:se,hide:pe,getElement:function(){return B.current},getTarget:function(){return L.current}}}));var ye=function(e,n){var t=y+"_sub_"+n,r=e.items.map((function(e,n){return ge(e,n,t)})),a=s({id:t,role:"none",className:c.classNames(e.className,U("submenuHeader",{submenu:e})),style:R("submenuHeader",{submenu:e}),"data-p-disabled":e.disabled},C("submenuHeader"));return m.createElement(m.Fragment,{key:t},m.createElement("li",g({},a,{key:t}),e.label),r)},ve=function(e,n){if(!1===e.visible)return null;var t=y+"_separator_"+n,r=s({id:t,className:c.classNames(e.className,U("separator")),role:"separator"},C("separator"));return m.createElement("li",g({},r,{key:t}))},ge=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!1===e.visible)return null;var r={item:e,index:n,parentId:t},a=c.classNames("p-menuitem-link",{"p-disabled":e.disabled}),i=c.classNames("p-menuitem-icon",e.icon),o=s({className:U("icon")},Z("icon",r)),l=c.IconUtils.getJSXIcon(e.icon,k({},o),{props:f}),p=s({className:U("label")},Z("label",r)),d=e.label&&m.createElement("span",p,e.label),b=e.id||(t||y)+"_"+n,v=s({onClick:function(n){return Y(n,e,b)},onMouseMove:function(e){return q(e,b)},className:U("content",{item:e})},Z("content",r)),h=s({href:e.url||"#",className:U("action",{item:e}),onFocus:function(e){return e.stopPropagation()},target:e.target,tabIndex:"-1","aria-label":e.label,"aria-disabled":e.disabled,"data-p-disabled":e.disabled},Z("action",r)),O=m.createElement("div",v,m.createElement("a",h,l,d,m.createElement(u.Ripple,null)));e.template&&(O=c.ObjectUtils.getJSXElement(e.template,e,{onClick:function(n){return Y(n,e,b)},onMouseMove:function(e){return q(e,b)},className:a,tabIndex:"-1",labelClassName:"p-menuitem-text",iconClassName:i,element:O,props:f}));var E=s({id:b,className:c.classNames(e.className,U("menuitem",{focused:x===b})),onClick:function(n){return Y(n,e,b)},style:R("menuitem",{item:e}),role:"menuitem","aria-label":e.label,"aria-disabled":e.disabled,"data-p-focused":ue()===b,"data-p-disabled":e.disabled||!1},Z("menuitem",r));return m.createElement("li",g({},E,{key:b}),O)},he=function(e,n){return!1===e.visible?null:e.separator?ve(e,n):e.items?ye(e,n):ge(e,n)},Oe=function(){if(f.model){var e=f.model.map(he),n=s({className:c.classNames(f.className,U("root",{context:p})),style:f.style,onClick:function(e){return n=e,void(f.popup&&o.OverlayService.emit("overlay-click",{originalEvent:n,target:L.current}));var n}},P.getOtherProps(f),C("root")),t=s({ref:F,className:U("menu"),id:y+"_list",tabIndex:f.tabIndex||"0",role:"menu","aria-label":f.ariaLabel,"aria-labelledby":f.ariaLabelledBy,"aria-activedescendant":T?ue():void 0,onFocus:$,onKeyDown:V,onBlur:Q},C("menu")),r=s({classNames:U("transition"),in:O,timeout:{enter:120,exit:100},options:f.transitionOptions,unmountOnExit:!0,onEnter:me,onEntered:de,onExit:fe,onExited:be},C("transition"));return m.createElement(a.CSSTransition,g({nodeRef:B},r),m.createElement("div",g({id:f.id,ref:B},n),m.createElement("ul",t,e)))}return null}();return f.popup?m.createElement(l.Portal,{element:Oe,appendTo:f.appendTo}):Oe})));return A.displayName="Menu",e.Menu=A,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.componentbase,primereact.csstransition,primereact.hooks,primereact.overlayservice,primereact.portal,primereact.ripple,primereact.utils);
|
package/menubar/menubar.cjs.js
CHANGED
|
@@ -399,7 +399,6 @@ var MenubarSub = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespac
|
|
|
399
399
|
'aria-disabled': disabled,
|
|
400
400
|
'aria-expanded': group ? active : undefined,
|
|
401
401
|
'aria-haspopup': group && !item.url ? 'menu' : undefined,
|
|
402
|
-
'aria-level': props.level + 1,
|
|
403
402
|
'aria-setsize': getAriaSetSize(),
|
|
404
403
|
'aria-posinset': getAriaPosInset(index),
|
|
405
404
|
'data-p-highlight': active,
|
|
@@ -517,12 +516,13 @@ var Menubar = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace.f
|
|
|
517
516
|
var _useEventListener = hooks.useEventListener({
|
|
518
517
|
type: 'click',
|
|
519
518
|
listener: function listener(event) {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
hide();
|
|
524
|
-
}
|
|
519
|
+
var isOutsideButton = menuButtonRef.current && !menuButtonRef.current.contains(event.target);
|
|
520
|
+
if (isOutsideButton) {
|
|
521
|
+
hide();
|
|
525
522
|
}
|
|
523
|
+
},
|
|
524
|
+
options: {
|
|
525
|
+
capture: true
|
|
526
526
|
}
|
|
527
527
|
}),
|
|
528
528
|
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
@@ -577,9 +577,6 @@ var Menubar = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace.f
|
|
|
577
577
|
var menuButtonKeydown = function menuButtonKeydown(event) {
|
|
578
578
|
(event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') && toggle(event);
|
|
579
579
|
};
|
|
580
|
-
var isOutsideClicked = function isOutsideClicked(event) {
|
|
581
|
-
return rootMenuRef.current !== event.target && !rootMenuRef.current.contains(event.target) && menuButtonRef.current !== event.target && !menuButtonRef.current.contains(event.target);
|
|
582
|
-
};
|
|
583
580
|
var getItemProp = function getItemProp(item, name) {
|
|
584
581
|
return item ? utils.ObjectUtils.getItemValue(item[name]) : undefined;
|
|
585
582
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/api"),t=require("primereact/componentbase"),r=require("primereact/hooks"),i=require("primereact/icons/bars"),o=require("primereact/utils"),a=require("primereact/icons/angledown"),u=require("primereact/icons/angleright"),c=require("primereact/ripple");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var m=s(e),f=l(n);function p(e){return p="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},p(e)}function d(e,n){if("object"!=p(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function b(e){var n=d(e,"string");return"symbol"==p(n)?n:n+""}function v(e,n,t){return(n=b(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function y(e){if(Array.isArray(e))return e}function g(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o,a,u=[],c=!0,l=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=o.call(t)).done)&&(u.push(r.value),u.length!==n);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(l)throw i}}return u}}function x(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function I(e,n){if(e){if("string"==typeof e)return x(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?x(e,n):void 0}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(e,n){return y(e)||g(e,n)||I(e,n)||h()}var O=t.ComponentBase.extend({defaultProps:{__TYPE:"Menubar",id:null,model:null,style:null,className:null,start:null,ariaLabel:null,ariaLabelledBy:null,onFocus:null,onBlur:null,submenuIcon:null,menuIcon:null,end:null,children:void 0},css:{classes:{start:"p-menubar-start",end:"p-menubar-end",button:"p-menubar-button",root:function(e){return o.classNames("p-menubar p-component",{"p-menubar-mobile-active":e.mobileActiveState})},separator:"p-menuitem-separator",icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",menuitem:function(e){return o.classNames("p-menuitem",{"p-menuitem-active p-highlight":e.active,"p-focus":e.focused,"p-disabled":e.disabled})},menu:"p-menubar-root-list",content:"p-menuitem-content",submenu:"p-submenu-list",action:function(e){return o.classNames("p-menuitem-link",{"p-disabled":e.disabled})}},styles:"\n@layer primereact {\n .p-menubar {\n display: flex;\n align-items: center;\n }\n\n .p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menubar .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menubar .p-menuitem-text {\n line-height: 1;\n }\n\n .p-menubar .p-menuitem {\n position: relative;\n }\n\n .p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n }\n\n .p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n }\n\n .p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 5;\n }\n\n .p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n\n .p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n }\n\n .p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n }\n}\n"}});function k(){return k=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},k.apply(null,arguments)}function j(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function P(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?j(Object(t),!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):j(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var N=m.memo(m.forwardRef((function(e,n){var t=r.useMergeProps(),i=e.ptm,l=e.cx,s=function(n,t,r){return i(t,{props:e,hostName:e.hostName,context:{item:n,index:r,active:x(n),focused:E(n),disabled:h(n),level:e.level}})},f=function(n,t){h(t)||e.mobileActive?n.preventDefault():e.onItemMouseEnter&&e.onItemMouseEnter({originalEvent:n,processedItem:t})},p=function(e,n){var t=n.item;h(n)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),d({originalEvent:e,processedItem:n,isFocus:!0}),t.url||(e.preventDefault(),e.stopPropagation()))},d=function(n){e.onLeafClick&&e.onLeafClick(n)},b=function(e){var n;return null===(n=e.item)||void 0===n?void 0:n.id},y=function(n){return"".concat(e.id,"_").concat(n.key)},g=function(e,n,t){return e&&e.item?o.ObjectUtils.getItemValue(e.item[n],t):void 0},x=function(n){return e.activeItemPath.some((function(e){return e.key===n.key}))},I=function(e){return!1!==g(e,"visible")},h=function(e){return g(e,"disabled")},E=function(n){return e.focusedItemId===y(n)},O=function(e){return o.ObjectUtils.isNotEmpty(e.items)},j=function(n){return n-e.model.slice(0,n).filter((function(e){return I(e)&&g(e,"separator")})).length+1},S=function(n,r){var o=e.id+"_separator_"+r+"_"+n.key,a=t({"data-id":o,className:l("separator"),role:"separator"},i("separator",{hostName:e.hostName}));return m.createElement("li",k({},a,{key:o}))},w=function(n){var t=n&&n.items;return t?m.createElement(N,{id:e.id,hostName:e.hostName,menuProps:e.menuProps,level:e.level+1,model:t,activeItemPath:e.activeItemPath,focusedItemId:e.focusedItemId,onLeafClick:d,onItemMouseEnter:e.onItemMouseEnter,submenuIcon:e.submenuIcon,ptm:i,style:{display:x(n)?"block":"none"},cx:l}):null},D=function(n,r){var i=n.item;if(!I(n))return null;var d=b(n),N=y(n),S=x(n),D=E(n),U=h(n)||!1,K=O(n),M=o.classNames("p-menuitem-link",{"p-disabled":U}),A=o.classNames("p-menuitem-icon",g(n,"icon")),C=t({className:l("icon")},s(n,"icon",r)),L=o.IconUtils.getJSXIcon(i.icon,P({},C),{props:e.menuProps}),R=t({className:l("label")},s(n,"label",r)),_=i.label&&m.createElement("span",R,i.label),H=g(n,"items"),T=t({className:l("submenuIcon")},s(n,"submenuIcon",r)),B=H&&o.IconUtils.getJSXIcon(e.root?e.submenuIcon||m.createElement(a.AngleDownIcon,T):e.submenuIcon||m.createElement(u.AngleRightIcon,T),P({},T),{props:P({menuProps:e.menuProps},e)}),q=w(n),F=t({href:i.url||"#",tabIndex:"-1",className:l("action",{disabled:U}),onFocus:function(e){return e.stopPropagation()},target:g(n,"target"),"aria-haspopup":null!=H},s(n,"action",r)),z=m.createElement("a",F,L,_,B,m.createElement(c.Ripple,null));i.template&&(z=o.ObjectUtils.getJSXElement(i.template,i,{className:M,labelClassName:"p-menuitem-text",iconClassName:A,submenuIconClassName:"p-submenu-icon",element:z,props:e}));var J=t({onClick:function(e){return p(e,n)},onMouseEnter:function(e){return f(e,n)},className:l("content")},s(n,"content",r)),X=g(n,"className"),Z=t(v({id:d,"data-id":N,role:"menuitem","aria-label":i.label,"aria-disabled":U,"aria-expanded":K?S:void 0,"aria-haspopup":K&&!i.url?"menu":void 0,"aria-level":e.level+1,"aria-setsize":e.model.filter((function(e){return I(e)&&!g(e,"separator")})).length,"aria-posinset":j(r),"data-p-highlight":S,"data-p-focused":D,"data-p-disabled":U,className:o.classNames(X,l("menuitem",{active:S,focused:D,disabled:U}))},"data-p-disabled",U||!1),s(n,"menuitem",r));return m.createElement("li",k({},Z,{key:"".concat(N)}),m.createElement("div",J,z),q)},U=e.root?"menubar":"menu",K=e.root?"menu":"submenu",M=e.root?"0":null,A=e.model?e.model.map((function(e,n){return!1===e.visible?null:g(e,"separator")?S(e,n):D(e,n)})):null,C=t({ref:n,className:l(K),level:e.level,onFocus:e.onFocus,onBlur:e.onBlur,onKeyDown:e.onKeyDown,"data-id":e.id,tabIndex:M,"aria-activedescendant":e.ariaActivedescendant,style:e.style,role:U},i(K));return m.createElement("ul",C,A)})));function S(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function w(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?S(Object(t),!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):S(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}N.displayName="MenubarSub";var D=m.memo(m.forwardRef((function(e,a){var u=r.useMergeProps(),c=m.useContext(n.PrimeReactContext),l=O.getProps(e,c),s=E(m.useState(l.id),2),p=s[0],d=s[1],b=E(m.useState(!1),2),y=b[0],g=b[1],x=E(m.useState(!1),2),I=x[0],h=x[1],k=E(m.useState({index:-1,level:0,parentKey:""}),2),j=k[0],P=k[1],S=E(m.useState(null),2),D=S[0],U=S[1],K=E(m.useState([]),2),M=K[0],A=K[1],C=E(m.useState([]),2),L=C[0],R=C[1],_=E(m.useState([]),2),H=_[0],T=_[1],B=E(m.useState(!1),2),q=B[0],F=B[1],z=E(m.useState(!1),2),J=z[0],X=z[1],Z=m.useRef(null),V=m.useRef(null),W=m.useRef(null),Y=m.useRef(""),$=m.useRef(null),G=m.useRef(!1),Q=O.setMetaData({props:l,state:{id:p,mobileActive:y}}),ee=Q.ptm,ne=Q.cx;t.useHandleStyle(O.css.styles,Q.isUnstyled,{name:"menubar"});var te=E(r.useEventListener({type:"click",listener:function(e){me(e)&&(Z.current&&!Z.current.contains(e.target)&&se())}}),2),re=te[0],ie=te[1],oe=E(r.useResizeListener({listener:function(e){o.DomHandler.isTouchDevice()||se(e)}}),2),ae=oe[0],ue=oe[1],ce=function(e){y?(g(!1),se()):(g(!0),setTimeout((function(){le()}),1)),e.preventDefault()},le=function(){P({index:Le(),level:0,parentKey:""}),o.DomHandler.focus(V.current)},se=function(e){y&&(g(!1),setTimeout((function(){o.DomHandler.focus(W.current)}),0)),A([]),P({index:-1,level:0,parentKey:""}),e&&o.DomHandler.focus(V.current),X(!1)},me=function(e){return V.current!==e.target&&!V.current.contains(e.target)&&W.current!==e.target&&!W.current.contains(e.target)},fe=function(e,n){return e?o.ObjectUtils.getItemValue(e[n]):void 0},pe=function(e){return fe(e,"separator")},de=function(e){return e?fe(e.item,"label"):void 0},be=function(e){return e&&o.ObjectUtils.isNotEmpty(e.items)},ve=function(e){var n=e.processedItem,t=e.isFocus;if(!o.ObjectUtils.isEmpty(n)){var r=n.index,i=n.key,a=n.level,u=n.parentKey,c=o.ObjectUtils.isNotEmpty(n.items),l=M.filter((function(e){return e.parentKey!==u&&e.parentKey!==i}));c&&l.push(n),P({index:r,level:a,parentKey:u}),A(l),c&&X(!0),t&&o.DomHandler.focus(V.current)}},ye=function(e){var n=L[j.index];if(n?o.ObjectUtils.isEmpty(n.parent):null){be(n)&&(ve({originalEvent:e,processedItem:n}),P({index:-1,parentKey:n.key}),setTimeout((function(){return F(!0)}),0))}else{var t=-1!==j.index?Me(j.index):Le();He(t)}e.preventDefault()},ge=function(e){var n=L[j.index];if(o.ObjectUtils.isEmpty(n.parent)){be(n)&&(ve({originalEvent:e,processedItem:n}),P({index:-1,parentKey:n.key}),G.current=!0,setTimeout((function(){return F(!0)}),0))}else{var t=M.find((function(e){return e.key===n.parentKey}));if(0===j.index&&t&&""===t.parentKey)P({index:-1,parentKey:t?t.parentKey:""}),Y.current="",xe(e);else{var r=-1!==j.index?Ae(j.index):Re();He(r)}}e.preventDefault()},xe=function(e){var n=L[j.index],t=n?M.find((function(e){return e.key===n.parentKey})):null;if(t)ve({originalEvent:e,processedItem:t}),A(M.filter((function(e){return e.key!==t.key})));else{var r=-1!==j.index?Ae(j.index):Re();He(r)}e.preventDefault()},Ie=function(e){var n=L[j.index];if(n?M.find((function(e){return e.key===n.parentKey})):null){be(n)&&(ve({originalEvent:e,processedItem:n}),P({index:-1,parentKey:n.key}),setTimeout((function(){return F(!0)}),0))}else{var t=-1!==j.index?Me(j.index):Le();He(t)}e.preventDefault()},he=function(e){He(Ue()),e.preventDefault()},Ee=function(e){He(Ke()),e.preventDefault()},Oe=function(e){if(-1!==j.index){var n=o.DomHandler.findSingle(V.current,'li[data-id="'.concat("".concat(D),'"]')),t=n&&o.DomHandler.findSingle(n,'a[data-pc-section="action"]');t?t.click():n&&n.click()}e.preventDefault()},ke=function(e){Oe(e)},je=function(e){se(!0),P({focusedItemInfo:j,index:Le()})},Pe=function(e){if(-1!==j.index){var n=L[j.index];!be(n)&&ve({originalEvent:e,processedItem:n})}se()},Ne=function(e){return Se(e)&&de(e).toLocaleLowerCase().startsWith(Y.current.toLocaleLowerCase())},Se=function(e){return!!e&&!fe(e.item,"disabled")&&!pe(e.item)},we=function(e){return Se(e)&&De(e)},De=function(e){return M.some((function(n){return n.key===e.key}))},Ue=function(){return L.findIndex((function(e){return Se(e)}))},Ke=function(){return o.ObjectUtils.findLastIndex(L,(function(e){return Se(e)}))},Me=function(e){var n=e<L.length-1?L.slice(e+1).findIndex((function(e){return Se(e)})):-1;return n>-1?n+e+1:e},Ae=function(e){var n=e>0?o.ObjectUtils.findLastIndex(L.slice(0,e),(function(e){return Se(e)})):-1;return n>-1?n:e},Ce=function(){return L.findIndex((function(e){return we(e)}))},Le=function(){return Ce()},Re=function(){return Ce()},_e=function(e,n){Y.current=(Y.current||"")+n;var t=-1,r=!1;return-1!==(t=-1!==j.index?-1===(t=L.slice(j.index).findIndex((function(e){return Ne(e)})))?L.slice(0,j.index).findIndex((function(e){return Ne(e)})):t+j.index:L.findIndex((function(e){return Ne(e)})))&&(r=!0),-1===t&&-1===j.index&&(t=Le()),-1!==t&&He(t),$.current&&clearTimeout($.current),$.current=setTimeout((function(){Y.current="",$.current=null}),500),r},He=function(e){j.index!==e&&(P(w(w({},j),{},{index:e})),Te())},Te=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(p,"_").concat(e):D,t=o.DomHandler.findSingle(V.current,'li[data-id="'.concat(n,'"]'));t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"start"})},Be=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[];return e&&e.forEach((function(e,o){var a=(""!==r?r+"_":"")+o,u={item:e,index:o,level:n,key:a,parent:t,parentKey:r};u.items=Be(e.items,n+1,u,a),i.push(u)})),i};r.useMountEffect((function(){p||d(o.UniqueComponentId())})),r.useUpdateEffect((function(){y?(re(),ae(),o.ZIndexUtils.set("menu",V.current,c&&c.autoZIndex||f.default.autoZIndex,c&&c.zIndex.menu||f.default.zIndex.menu)):(ue(),ie(),o.ZIndexUtils.clear(V.current))}),[y]),m.useEffect((function(){var e=Be(l.model||[],0,null,"");T(e)}),[l.model]),r.useUpdateEffect((function(){var e=M.find((function(e){return e.key===j.parentKey}));R(e?e.items:H)}),[M,j,H]),r.useUpdateEffect((function(){o.ObjectUtils.isNotEmpty(M)?(re(),ae()):(ie(),ue())}),[M]),r.useUpdateEffect((function(){if(q){var e=-1!==j.index?Me(j.index):G.current?Ke():Le();He(e),G.current=!1,F(!1)}}),[q]),r.useUpdateEffect((function(){U(-1!==j.index?"".concat(p).concat(o.ObjectUtils.isNotEmpty(j.parentKey)?"_"+j.parentKey:"","_").concat(j.index):null)}),[j]),r.useUnmountEffect((function(){o.ZIndexUtils.clear(V.current)})),m.useImperativeHandle(a,(function(){return{props:l,toggle:ce,getElement:function(){return Z.current},getRootMenu:function(){return V.current},getMenuButton:function(){return W.current}}}));var qe=function(){if(l.start){var e=o.ObjectUtils.getJSXElement(l.start,l),n=u({className:ne("start")},ee("start"));return m.createElement("div",n,e)}return null}(),Fe=function(){if(l.end){var e=o.ObjectUtils.getJSXElement(l.end,l),n=u({className:ne("end")},ee("end"));return m.createElement("div",n,e)}return null}(),ze=function(){if(l.model&&l.model.length<1)return null;var e=u(v(v(v(v({ref:W,href:"#",tabIndex:"0","aria-haspopup":!!(y&&l.model&&l.model.length>0),"aria-expanded":y,"aria-label":n.ariaLabel("navigation"),"aria-controls":p,role:"button"},"tabIndex",0),"className",ne("button")),"onKeyDown",(function(e){var n;("Enter"===(n=e).code||"NumpadEnter"===n.code||"Space"===n.code)&&ce(n)})),"onClick",(function(e){return ce(e)})),ee("button")),t=u(ee("popupIcon")),r=o.IconUtils.getJSXIcon(l.menuIcon||m.createElement(i.BarsIcon,t),w({},t),{props:l});return m.createElement("a",e,r)}(),Je=m.createElement(N,{hostName:"Menubar",ariaActivedescendant:I?D:void 0,level:0,id:p,ref:V,menuProps:l,model:H,onLeafClick:function(e){var n=e.originalEvent,t=e.processedItem,r=be(t),i=o.ObjectUtils.isEmpty(t.parent);if(De(t)){var a=t.index,u=t.key,c=t.level,l=t.parentKey;A(M.filter((function(e){return u!==e.key&&u.startsWith(e.key)}))),P({index:a,level:c,parentKey:l}),r||X(!i),setTimeout((function(){o.DomHandler.focus(V.current),r&&X(!0)}),0)}else if(r)o.DomHandler.focus(V.current),ve({originalEvent:n,processedItem:t});else{var s=i?t:M.find((function(e){return""===e.parentKey})),m=s?s.index:-1;se(n),P({index:m,parentKey:s?s.parentKey:""}),g(!1)}},onItemMouseEnter:function(e){!y&&J&&ve(e)},onFocus:function(e){h(!0),P(-1!==j.index?j:{index:Le(),level:0,parentKey:""}),l.onFocus&&l.onFocus(e)},onBlur:function(e){h(!1),P({index:-1,level:0,parentKey:""}),Y.current="",X(!1),l.onBlur&&l.onBlur(e)},onKeyDown:function(e){var n=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":ye(e);break;case"ArrowUp":ge(e);break;case"ArrowLeft":xe(e);break;case"ArrowRight":Ie(e);break;case"Home":he(e);break;case"End":Ee(e);break;case"Space":ke(e);break;case"Enter":case"NumpadEnter":Oe(e);break;case"Escape":je();break;case"Tab":Pe(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&o.ObjectUtils.isPrintableCharacter(e.key)&&_e(e,e.key)}},root:!0,activeItemPath:M,focusedItemId:I?D:void 0,submenuIcon:l.submenuIcon,ptm:ee,cx:ne}),Xe=u({id:l.id,ref:Z,className:o.classNames(l.className,ne("root",{mobileActiveState:y})),style:l.style},O.getOtherProps(l),ee("root"));return m.createElement("div",Xe,qe,ze,Je,Fe)})));D.displayName="Menubar",exports.Menubar=D;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/api"),t=require("primereact/componentbase"),r=require("primereact/hooks"),i=require("primereact/icons/bars"),o=require("primereact/utils"),a=require("primereact/icons/angledown"),u=require("primereact/icons/angleright"),c=require("primereact/ripple");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var m=s(e),f=l(n);function p(e){return p="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},p(e)}function d(e,n){if("object"!=p(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function b(e){var n=d(e,"string");return"symbol"==p(n)?n:n+""}function v(e,n,t){return(n=b(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function y(e){if(Array.isArray(e))return e}function g(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o,a,u=[],c=!0,l=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=o.call(t)).done)&&(u.push(r.value),u.length!==n);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(l)throw i}}return u}}function x(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function I(e,n){if(e){if("string"==typeof e)return x(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?x(e,n):void 0}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(e,n){return y(e)||g(e,n)||I(e,n)||h()}var O=t.ComponentBase.extend({defaultProps:{__TYPE:"Menubar",id:null,model:null,style:null,className:null,start:null,ariaLabel:null,ariaLabelledBy:null,onFocus:null,onBlur:null,submenuIcon:null,menuIcon:null,end:null,children:void 0},css:{classes:{start:"p-menubar-start",end:"p-menubar-end",button:"p-menubar-button",root:function(e){return o.classNames("p-menubar p-component",{"p-menubar-mobile-active":e.mobileActiveState})},separator:"p-menuitem-separator",icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",menuitem:function(e){return o.classNames("p-menuitem",{"p-menuitem-active p-highlight":e.active,"p-focus":e.focused,"p-disabled":e.disabled})},menu:"p-menubar-root-list",content:"p-menuitem-content",submenu:"p-submenu-list",action:function(e){return o.classNames("p-menuitem-link",{"p-disabled":e.disabled})}},styles:"\n@layer primereact {\n .p-menubar {\n display: flex;\n align-items: center;\n }\n\n .p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menubar .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menubar .p-menuitem-text {\n line-height: 1;\n }\n\n .p-menubar .p-menuitem {\n position: relative;\n }\n\n .p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n }\n\n .p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n }\n\n .p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 5;\n }\n\n .p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n\n .p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n }\n\n .p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n }\n}\n"}});function k(){return k=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},k.apply(null,arguments)}function j(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function P(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?j(Object(t),!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):j(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var N=m.memo(m.forwardRef((function(e,n){var t=r.useMergeProps(),i=e.ptm,l=e.cx,s=function(n,t,r){return i(t,{props:e,hostName:e.hostName,context:{item:n,index:r,active:x(n),focused:E(n),disabled:h(n),level:e.level}})},f=function(n,t){h(t)||e.mobileActive?n.preventDefault():e.onItemMouseEnter&&e.onItemMouseEnter({originalEvent:n,processedItem:t})},p=function(e,n){var t=n.item;h(n)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),d({originalEvent:e,processedItem:n,isFocus:!0}),t.url||(e.preventDefault(),e.stopPropagation()))},d=function(n){e.onLeafClick&&e.onLeafClick(n)},b=function(e){var n;return null===(n=e.item)||void 0===n?void 0:n.id},y=function(n){return"".concat(e.id,"_").concat(n.key)},g=function(e,n,t){return e&&e.item?o.ObjectUtils.getItemValue(e.item[n],t):void 0},x=function(n){return e.activeItemPath.some((function(e){return e.key===n.key}))},I=function(e){return!1!==g(e,"visible")},h=function(e){return g(e,"disabled")},E=function(n){return e.focusedItemId===y(n)},O=function(e){return o.ObjectUtils.isNotEmpty(e.items)},j=function(n){return n-e.model.slice(0,n).filter((function(e){return I(e)&&g(e,"separator")})).length+1},S=function(n,r){var o=e.id+"_separator_"+r+"_"+n.key,a=t({"data-id":o,className:l("separator"),role:"separator"},i("separator",{hostName:e.hostName}));return m.createElement("li",k({},a,{key:o}))},w=function(n){var t=n&&n.items;return t?m.createElement(N,{id:e.id,hostName:e.hostName,menuProps:e.menuProps,level:e.level+1,model:t,activeItemPath:e.activeItemPath,focusedItemId:e.focusedItemId,onLeafClick:d,onItemMouseEnter:e.onItemMouseEnter,submenuIcon:e.submenuIcon,ptm:i,style:{display:x(n)?"block":"none"},cx:l}):null},D=function(n,r){var i=n.item;if(!I(n))return null;var d=b(n),N=y(n),S=x(n),D=E(n),U=h(n)||!1,K=O(n),M=o.classNames("p-menuitem-link",{"p-disabled":U}),A=o.classNames("p-menuitem-icon",g(n,"icon")),C=t({className:l("icon")},s(n,"icon",r)),L=o.IconUtils.getJSXIcon(i.icon,P({},C),{props:e.menuProps}),R=t({className:l("label")},s(n,"label",r)),_=i.label&&m.createElement("span",R,i.label),H=g(n,"items"),T=t({className:l("submenuIcon")},s(n,"submenuIcon",r)),B=H&&o.IconUtils.getJSXIcon(e.root?e.submenuIcon||m.createElement(a.AngleDownIcon,T):e.submenuIcon||m.createElement(u.AngleRightIcon,T),P({},T),{props:P({menuProps:e.menuProps},e)}),q=w(n),F=t({href:i.url||"#",tabIndex:"-1",className:l("action",{disabled:U}),onFocus:function(e){return e.stopPropagation()},target:g(n,"target"),"aria-haspopup":null!=H},s(n,"action",r)),z=m.createElement("a",F,L,_,B,m.createElement(c.Ripple,null));i.template&&(z=o.ObjectUtils.getJSXElement(i.template,i,{className:M,labelClassName:"p-menuitem-text",iconClassName:A,submenuIconClassName:"p-submenu-icon",element:z,props:e}));var J=t({onClick:function(e){return p(e,n)},onMouseEnter:function(e){return f(e,n)},className:l("content")},s(n,"content",r)),X=g(n,"className"),Z=t(v({id:d,"data-id":N,role:"menuitem","aria-label":i.label,"aria-disabled":U,"aria-expanded":K?S:void 0,"aria-haspopup":K&&!i.url?"menu":void 0,"aria-setsize":e.model.filter((function(e){return I(e)&&!g(e,"separator")})).length,"aria-posinset":j(r),"data-p-highlight":S,"data-p-focused":D,"data-p-disabled":U,className:o.classNames(X,l("menuitem",{active:S,focused:D,disabled:U}))},"data-p-disabled",U||!1),s(n,"menuitem",r));return m.createElement("li",k({},Z,{key:"".concat(N)}),m.createElement("div",J,z),q)},U=e.root?"menubar":"menu",K=e.root?"menu":"submenu",M=e.root?"0":null,A=e.model?e.model.map((function(e,n){return!1===e.visible?null:g(e,"separator")?S(e,n):D(e,n)})):null,C=t({ref:n,className:l(K),level:e.level,onFocus:e.onFocus,onBlur:e.onBlur,onKeyDown:e.onKeyDown,"data-id":e.id,tabIndex:M,"aria-activedescendant":e.ariaActivedescendant,style:e.style,role:U},i(K));return m.createElement("ul",C,A)})));function S(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function w(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?S(Object(t),!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):S(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}N.displayName="MenubarSub";var D=m.memo(m.forwardRef((function(e,a){var u=r.useMergeProps(),c=m.useContext(n.PrimeReactContext),l=O.getProps(e,c),s=E(m.useState(l.id),2),p=s[0],d=s[1],b=E(m.useState(!1),2),y=b[0],g=b[1],x=E(m.useState(!1),2),I=x[0],h=x[1],k=E(m.useState({index:-1,level:0,parentKey:""}),2),j=k[0],P=k[1],S=E(m.useState(null),2),D=S[0],U=S[1],K=E(m.useState([]),2),M=K[0],A=K[1],C=E(m.useState([]),2),L=C[0],R=C[1],_=E(m.useState([]),2),H=_[0],T=_[1],B=E(m.useState(!1),2),q=B[0],F=B[1],z=E(m.useState(!1),2),J=z[0],X=z[1],Z=m.useRef(null),V=m.useRef(null),W=m.useRef(null),Y=m.useRef(""),$=m.useRef(null),G=m.useRef(!1),Q=O.setMetaData({props:l,state:{id:p,mobileActive:y}}),ee=Q.ptm,ne=Q.cx;t.useHandleStyle(O.css.styles,Q.isUnstyled,{name:"menubar"});var te=E(r.useEventListener({type:"click",listener:function(e){W.current&&!W.current.contains(e.target)&&se()},options:{capture:!0}}),2),re=te[0],ie=te[1],oe=E(r.useResizeListener({listener:function(e){o.DomHandler.isTouchDevice()||se(e)}}),2),ae=oe[0],ue=oe[1],ce=function(e){y?(g(!1),se()):(g(!0),setTimeout((function(){le()}),1)),e.preventDefault()},le=function(){P({index:Ce(),level:0,parentKey:""}),o.DomHandler.focus(V.current)},se=function(e){y&&(g(!1),setTimeout((function(){o.DomHandler.focus(W.current)}),0)),A([]),P({index:-1,level:0,parentKey:""}),e&&o.DomHandler.focus(V.current),X(!1)},me=function(e,n){return e?o.ObjectUtils.getItemValue(e[n]):void 0},fe=function(e){return me(e,"separator")},pe=function(e){return e?me(e.item,"label"):void 0},de=function(e){return e&&o.ObjectUtils.isNotEmpty(e.items)},be=function(e){var n=e.processedItem,t=e.isFocus;if(!o.ObjectUtils.isEmpty(n)){var r=n.index,i=n.key,a=n.level,u=n.parentKey,c=o.ObjectUtils.isNotEmpty(n.items),l=M.filter((function(e){return e.parentKey!==u&&e.parentKey!==i}));c&&l.push(n),P({index:r,level:a,parentKey:u}),A(l),c&&X(!0),t&&o.DomHandler.focus(V.current)}},ve=function(e){var n=L[j.index];if(n?o.ObjectUtils.isEmpty(n.parent):null){de(n)&&(be({originalEvent:e,processedItem:n}),P({index:-1,parentKey:n.key}),setTimeout((function(){return F(!0)}),0))}else{var t=-1!==j.index?Ke(j.index):Ce();_e(t)}e.preventDefault()},ye=function(e){var n=L[j.index];if(o.ObjectUtils.isEmpty(n.parent)){de(n)&&(be({originalEvent:e,processedItem:n}),P({index:-1,parentKey:n.key}),G.current=!0,setTimeout((function(){return F(!0)}),0))}else{var t=M.find((function(e){return e.key===n.parentKey}));if(0===j.index&&t&&""===t.parentKey)P({index:-1,parentKey:t?t.parentKey:""}),Y.current="",ge(e);else{var r=-1!==j.index?Me(j.index):Le();_e(r)}}e.preventDefault()},ge=function(e){var n=L[j.index],t=n?M.find((function(e){return e.key===n.parentKey})):null;if(t)be({originalEvent:e,processedItem:t}),A(M.filter((function(e){return e.key!==t.key})));else{var r=-1!==j.index?Me(j.index):Le();_e(r)}e.preventDefault()},xe=function(e){var n=L[j.index];if(n?M.find((function(e){return e.key===n.parentKey})):null){de(n)&&(be({originalEvent:e,processedItem:n}),P({index:-1,parentKey:n.key}),setTimeout((function(){return F(!0)}),0))}else{var t=-1!==j.index?Ke(j.index):Ce();_e(t)}e.preventDefault()},Ie=function(e){_e(De()),e.preventDefault()},he=function(e){_e(Ue()),e.preventDefault()},Ee=function(e){if(-1!==j.index){var n=o.DomHandler.findSingle(V.current,'li[data-id="'.concat("".concat(D),'"]')),t=n&&o.DomHandler.findSingle(n,'a[data-pc-section="action"]');t?t.click():n&&n.click()}e.preventDefault()},Oe=function(e){Ee(e)},ke=function(e){se(!0),P({focusedItemInfo:j,index:Ce()})},je=function(e){if(-1!==j.index){var n=L[j.index];!de(n)&&be({originalEvent:e,processedItem:n})}se()},Pe=function(e){return Ne(e)&&pe(e).toLocaleLowerCase().startsWith(Y.current.toLocaleLowerCase())},Ne=function(e){return!!e&&!me(e.item,"disabled")&&!fe(e.item)},Se=function(e){return Ne(e)&&we(e)},we=function(e){return M.some((function(n){return n.key===e.key}))},De=function(){return L.findIndex((function(e){return Ne(e)}))},Ue=function(){return o.ObjectUtils.findLastIndex(L,(function(e){return Ne(e)}))},Ke=function(e){var n=e<L.length-1?L.slice(e+1).findIndex((function(e){return Ne(e)})):-1;return n>-1?n+e+1:e},Me=function(e){var n=e>0?o.ObjectUtils.findLastIndex(L.slice(0,e),(function(e){return Ne(e)})):-1;return n>-1?n:e},Ae=function(){return L.findIndex((function(e){return Se(e)}))},Ce=function(){return Ae()},Le=function(){return Ae()},Re=function(e,n){Y.current=(Y.current||"")+n;var t=-1,r=!1;return-1!==(t=-1!==j.index?-1===(t=L.slice(j.index).findIndex((function(e){return Pe(e)})))?L.slice(0,j.index).findIndex((function(e){return Pe(e)})):t+j.index:L.findIndex((function(e){return Pe(e)})))&&(r=!0),-1===t&&-1===j.index&&(t=Ce()),-1!==t&&_e(t),$.current&&clearTimeout($.current),$.current=setTimeout((function(){Y.current="",$.current=null}),500),r},_e=function(e){j.index!==e&&(P(w(w({},j),{},{index:e})),He())},He=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(p,"_").concat(e):D,t=o.DomHandler.findSingle(V.current,'li[data-id="'.concat(n,'"]'));t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"start"})},Te=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[];return e&&e.forEach((function(e,o){var a=(""!==r?r+"_":"")+o,u={item:e,index:o,level:n,key:a,parent:t,parentKey:r};u.items=Te(e.items,n+1,u,a),i.push(u)})),i};r.useMountEffect((function(){p||d(o.UniqueComponentId())})),r.useUpdateEffect((function(){y?(re(),ae(),o.ZIndexUtils.set("menu",V.current,c&&c.autoZIndex||f.default.autoZIndex,c&&c.zIndex.menu||f.default.zIndex.menu)):(ue(),ie(),o.ZIndexUtils.clear(V.current))}),[y]),m.useEffect((function(){var e=Te(l.model||[],0,null,"");T(e)}),[l.model]),r.useUpdateEffect((function(){var e=M.find((function(e){return e.key===j.parentKey}));R(e?e.items:H)}),[M,j,H]),r.useUpdateEffect((function(){o.ObjectUtils.isNotEmpty(M)?(re(),ae()):(ie(),ue())}),[M]),r.useUpdateEffect((function(){if(q){var e=-1!==j.index?Ke(j.index):G.current?Ue():Ce();_e(e),G.current=!1,F(!1)}}),[q]),r.useUpdateEffect((function(){U(-1!==j.index?"".concat(p).concat(o.ObjectUtils.isNotEmpty(j.parentKey)?"_"+j.parentKey:"","_").concat(j.index):null)}),[j]),r.useUnmountEffect((function(){o.ZIndexUtils.clear(V.current)})),m.useImperativeHandle(a,(function(){return{props:l,toggle:ce,getElement:function(){return Z.current},getRootMenu:function(){return V.current},getMenuButton:function(){return W.current}}}));var Be=function(){if(l.start){var e=o.ObjectUtils.getJSXElement(l.start,l),n=u({className:ne("start")},ee("start"));return m.createElement("div",n,e)}return null}(),qe=function(){if(l.end){var e=o.ObjectUtils.getJSXElement(l.end,l),n=u({className:ne("end")},ee("end"));return m.createElement("div",n,e)}return null}(),Fe=function(){if(l.model&&l.model.length<1)return null;var e=u(v(v(v(v({ref:W,href:"#",tabIndex:"0","aria-haspopup":!!(y&&l.model&&l.model.length>0),"aria-expanded":y,"aria-label":n.ariaLabel("navigation"),"aria-controls":p,role:"button"},"tabIndex",0),"className",ne("button")),"onKeyDown",(function(e){var n;("Enter"===(n=e).code||"NumpadEnter"===n.code||"Space"===n.code)&&ce(n)})),"onClick",(function(e){return ce(e)})),ee("button")),t=u(ee("popupIcon")),r=o.IconUtils.getJSXIcon(l.menuIcon||m.createElement(i.BarsIcon,t),w({},t),{props:l});return m.createElement("a",e,r)}(),ze=m.createElement(N,{hostName:"Menubar",ariaActivedescendant:I?D:void 0,level:0,id:p,ref:V,menuProps:l,model:H,onLeafClick:function(e){var n=e.originalEvent,t=e.processedItem,r=de(t),i=o.ObjectUtils.isEmpty(t.parent);if(we(t)){var a=t.index,u=t.key,c=t.level,l=t.parentKey;A(M.filter((function(e){return u!==e.key&&u.startsWith(e.key)}))),P({index:a,level:c,parentKey:l}),r||X(!i),setTimeout((function(){o.DomHandler.focus(V.current),r&&X(!0)}),0)}else if(r)o.DomHandler.focus(V.current),be({originalEvent:n,processedItem:t});else{var s=i?t:M.find((function(e){return""===e.parentKey})),m=s?s.index:-1;se(n),P({index:m,parentKey:s?s.parentKey:""}),g(!1)}},onItemMouseEnter:function(e){!y&&J&&be(e)},onFocus:function(e){h(!0),P(-1!==j.index?j:{index:Ce(),level:0,parentKey:""}),l.onFocus&&l.onFocus(e)},onBlur:function(e){h(!1),P({index:-1,level:0,parentKey:""}),Y.current="",X(!1),l.onBlur&&l.onBlur(e)},onKeyDown:function(e){var n=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":ve(e);break;case"ArrowUp":ye(e);break;case"ArrowLeft":ge(e);break;case"ArrowRight":xe(e);break;case"Home":Ie(e);break;case"End":he(e);break;case"Space":Oe(e);break;case"Enter":case"NumpadEnter":Ee(e);break;case"Escape":ke();break;case"Tab":je(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&o.ObjectUtils.isPrintableCharacter(e.key)&&Re(e,e.key)}},root:!0,activeItemPath:M,focusedItemId:I?D:void 0,submenuIcon:l.submenuIcon,ptm:ee,cx:ne}),Je=u({id:l.id,ref:Z,className:o.classNames(l.className,ne("root",{mobileActiveState:y})),style:l.style},O.getOtherProps(l),ee("root"));return m.createElement("div",Je,Be,Fe,ze,qe)})));D.displayName="Menubar",exports.Menubar=D;
|
package/menubar/menubar.esm.js
CHANGED
|
@@ -372,7 +372,6 @@ var MenubarSub = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function
|
|
|
372
372
|
'aria-disabled': disabled,
|
|
373
373
|
'aria-expanded': group ? active : undefined,
|
|
374
374
|
'aria-haspopup': group && !item.url ? 'menu' : undefined,
|
|
375
|
-
'aria-level': props.level + 1,
|
|
376
375
|
'aria-setsize': getAriaSetSize(),
|
|
377
376
|
'aria-posinset': getAriaPosInset(index),
|
|
378
377
|
'data-p-highlight': active,
|
|
@@ -490,12 +489,13 @@ var Menubar = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (in
|
|
|
490
489
|
var _useEventListener = useEventListener({
|
|
491
490
|
type: 'click',
|
|
492
491
|
listener: function listener(event) {
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
hide();
|
|
497
|
-
}
|
|
492
|
+
var isOutsideButton = menuButtonRef.current && !menuButtonRef.current.contains(event.target);
|
|
493
|
+
if (isOutsideButton) {
|
|
494
|
+
hide();
|
|
498
495
|
}
|
|
496
|
+
},
|
|
497
|
+
options: {
|
|
498
|
+
capture: true
|
|
499
499
|
}
|
|
500
500
|
}),
|
|
501
501
|
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
@@ -550,9 +550,6 @@ var Menubar = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (in
|
|
|
550
550
|
var menuButtonKeydown = function menuButtonKeydown(event) {
|
|
551
551
|
(event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') && toggle(event);
|
|
552
552
|
};
|
|
553
|
-
var isOutsideClicked = function isOutsideClicked(event) {
|
|
554
|
-
return rootMenuRef.current !== event.target && !rootMenuRef.current.contains(event.target) && menuButtonRef.current !== event.target && !menuButtonRef.current.contains(event.target);
|
|
555
|
-
};
|
|
556
553
|
var getItemProp = function getItemProp(item, name) {
|
|
557
554
|
return item ? ObjectUtils.getItemValue(item[name]) : undefined;
|
|
558
555
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import n,{PrimeReactContext as t,ariaLabel as r}from"primereact/api";import{ComponentBase as i,useHandleStyle as o}from"primereact/componentbase";import{useMergeProps as a,useEventListener as u,useResizeListener as c,useMountEffect as l,useUpdateEffect as s,useUnmountEffect as m}from"primereact/hooks";import{BarsIcon as f}from"primereact/icons/bars";import{classNames as p,ObjectUtils as d,IconUtils as b,DomHandler as v,UniqueComponentId as y,ZIndexUtils as g}from"primereact/utils";import{AngleDownIcon as x}from"primereact/icons/angledown";import{AngleRightIcon as h}from"primereact/icons/angleright";import{Ripple as I}from"primereact/ripple";function E(e){return E="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},E(e)}function k(e,n){if("object"!=E(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function O(e){var n=k(e,"string");return"symbol"==E(n)?n:n+""}function S(e,n,t){return(n=O(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function w(e){if(Array.isArray(e))return e}function P(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o,a,u=[],c=!0,l=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=o.call(t)).done)&&(u.push(r.value),u.length!==n);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(l)throw i}}return u}}function N(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function K(e,n){if(e){if("string"==typeof e)return N(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?N(e,n):void 0}}function j(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function D(e,n){return w(e)||P(e,n)||K(e,n)||j()}var A=i.extend({defaultProps:{__TYPE:"Menubar",id:null,model:null,style:null,className:null,start:null,ariaLabel:null,ariaLabelledBy:null,onFocus:null,onBlur:null,submenuIcon:null,menuIcon:null,end:null,children:void 0},css:{classes:{start:"p-menubar-start",end:"p-menubar-end",button:"p-menubar-button",root:function(e){return p("p-menubar p-component",{"p-menubar-mobile-active":e.mobileActiveState})},separator:"p-menuitem-separator",icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",menuitem:function(e){return p("p-menuitem",{"p-menuitem-active p-highlight":e.active,"p-focus":e.focused,"p-disabled":e.disabled})},menu:"p-menubar-root-list",content:"p-menuitem-content",submenu:"p-submenu-list",action:function(e){return p("p-menuitem-link",{"p-disabled":e.disabled})}},styles:"\n@layer primereact {\n .p-menubar {\n display: flex;\n align-items: center;\n }\n\n .p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menubar .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menubar .p-menuitem-text {\n line-height: 1;\n }\n\n .p-menubar .p-menuitem {\n position: relative;\n }\n\n .p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n }\n\n .p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n }\n\n .p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 5;\n }\n\n .p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n\n .p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n }\n\n .p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n }\n}\n"}});function C(){return C=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},C.apply(null,arguments)}function L(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function M(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?L(Object(t),!0).forEach((function(n){S(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):L(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var T=e.memo(e.forwardRef((function(n,t){var r=a(),i=n.ptm,o=n.cx,u=function(e,t,r){return i(t,{props:n,hostName:n.hostName,context:{item:e,index:r,active:y(e),focused:k(e),disabled:E(e),level:n.level}})},c=function(e,t){E(t)||n.mobileActive?e.preventDefault():n.onItemMouseEnter&&n.onItemMouseEnter({originalEvent:e,processedItem:t})},l=function(e,n){var t=n.item;E(n)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),s({originalEvent:e,processedItem:n,isFocus:!0}),t.url||(e.preventDefault(),e.stopPropagation()))},s=function(e){n.onLeafClick&&n.onLeafClick(e)},m=function(e){var n;return null===(n=e.item)||void 0===n?void 0:n.id},f=function(e){return"".concat(n.id,"_").concat(e.key)},v=function(e,n,t){return e&&e.item?d.getItemValue(e.item[n],t):void 0},y=function(e){return n.activeItemPath.some((function(n){return n.key===e.key}))},g=function(e){return!1!==v(e,"visible")},E=function(e){return v(e,"disabled")},k=function(e){return n.focusedItemId===f(e)},O=function(e){return d.isNotEmpty(e.items)},w=function(e){return e-n.model.slice(0,e).filter((function(e){return g(e)&&v(e,"separator")})).length+1},P=function(t,a){var u=n.id+"_separator_"+a+"_"+t.key,c=r({"data-id":u,className:o("separator"),role:"separator"},i("separator",{hostName:n.hostName}));return e.createElement("li",C({},c,{key:u}))},N=function(t){var r=t&&t.items;return r?e.createElement(T,{id:n.id,hostName:n.hostName,menuProps:n.menuProps,level:n.level+1,model:r,activeItemPath:n.activeItemPath,focusedItemId:n.focusedItemId,onLeafClick:s,onItemMouseEnter:n.onItemMouseEnter,submenuIcon:n.submenuIcon,ptm:i,style:{display:y(t)?"block":"none"},cx:o}):null},K=function(t,i){var a=t.item;if(!g(t))return null;var s=m(t),P=f(t),K=y(t),j=k(t),D=E(t)||!1,A=O(t),L=p("p-menuitem-link",{"p-disabled":D}),T=p("p-menuitem-icon",v(t,"icon")),R=r({className:o("icon")},u(t,"icon",i)),_=b.getJSXIcon(a.icon,M({},R),{props:n.menuProps}),B=r({className:o("label")},u(t,"label",i)),F=a.label&&e.createElement("span",B,a.label),J=v(t,"items"),X=r({className:o("submenuIcon")},u(t,"submenuIcon",i)),z=J&&b.getJSXIcon(n.root?n.submenuIcon||e.createElement(x,X):n.submenuIcon||e.createElement(h,X),M({},X),{props:M({menuProps:n.menuProps},n)}),U=N(t),V=r({href:a.url||"#",tabIndex:"-1",className:o("action",{disabled:D}),onFocus:function(e){return e.stopPropagation()},target:v(t,"target"),"aria-haspopup":null!=J},u(t,"action",i)),H=e.createElement("a",V,_,F,z,e.createElement(I,null));a.template&&(H=d.getJSXElement(a.template,a,{className:L,labelClassName:"p-menuitem-text",iconClassName:T,submenuIconClassName:"p-submenu-icon",element:H,props:n}));var W=r({onClick:function(e){return l(e,t)},onMouseEnter:function(e){return c(e,t)},className:o("content")},u(t,"content",i)),Z=v(t,"className"),Y=r(S({id:s,"data-id":P,role:"menuitem","aria-label":a.label,"aria-disabled":D,"aria-expanded":A?K:void 0,"aria-haspopup":A&&!a.url?"menu":void 0,"aria-level":n.level+1,"aria-setsize":n.model.filter((function(e){return g(e)&&!v(e,"separator")})).length,"aria-posinset":w(i),"data-p-highlight":K,"data-p-focused":j,"data-p-disabled":D,className:p(Z,o("menuitem",{active:K,focused:j,disabled:D}))},"data-p-disabled",D||!1),u(t,"menuitem",i));return e.createElement("li",C({},Y,{key:"".concat(P)}),e.createElement("div",W,H),U)},j=n.root?"menubar":"menu",D=n.root?"menu":"submenu",A=n.root?"0":null,L=n.model?n.model.map((function(e,n){return!1===e.visible?null:v(e,"separator")?P(e,n):K(e,n)})):null,R=r({ref:t,className:o(D),level:n.level,onFocus:n.onFocus,onBlur:n.onBlur,onKeyDown:n.onKeyDown,"data-id":n.id,tabIndex:A,"aria-activedescendant":n.ariaActivedescendant,style:n.style,role:j},i(D));return e.createElement("ul",R,L)})));function R(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function _(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?R(Object(t),!0).forEach((function(n){S(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):R(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}T.displayName="MenubarSub";var B=e.memo(e.forwardRef((function(i,x){var h=a(),I=e.useContext(t),E=A.getProps(i,I),k=D(e.useState(E.id),2),O=k[0],w=k[1],P=D(e.useState(!1),2),N=P[0],K=P[1],j=D(e.useState(!1),2),C=j[0],L=j[1],M=D(e.useState({index:-1,level:0,parentKey:""}),2),R=M[0],B=M[1],F=D(e.useState(null),2),J=F[0],X=F[1],z=D(e.useState([]),2),U=z[0],V=z[1],H=D(e.useState([]),2),W=H[0],Z=H[1],Y=D(e.useState([]),2),$=Y[0],q=Y[1],G=D(e.useState(!1),2),Q=G[0],ee=G[1],ne=D(e.useState(!1),2),te=ne[0],re=ne[1],ie=e.useRef(null),oe=e.useRef(null),ae=e.useRef(null),ue=e.useRef(""),ce=e.useRef(null),le=e.useRef(!1),se=A.setMetaData({props:E,state:{id:O,mobileActive:N}}),me=se.ptm,fe=se.cx;o(A.css.styles,se.isUnstyled,{name:"menubar"});var pe=D(u({type:"click",listener:function(e){Ee(e)&&(ie.current&&!ie.current.contains(e.target)&&Ie())}}),2),de=pe[0],be=pe[1],ve=D(c({listener:function(e){v.isTouchDevice()||Ie(e)}}),2),ye=ve[0],ge=ve[1],xe=function(e){N?(K(!1),Ie()):(K(!0),setTimeout((function(){he()}),1)),e.preventDefault()},he=function(){B({index:We(),level:0,parentKey:""}),v.focus(oe.current)},Ie=function(e){N&&(K(!1),setTimeout((function(){v.focus(ae.current)}),0)),V([]),B({index:-1,level:0,parentKey:""}),e&&v.focus(oe.current),re(!1)},Ee=function(e){return oe.current!==e.target&&!oe.current.contains(e.target)&&ae.current!==e.target&&!ae.current.contains(e.target)},ke=function(e,n){return e?d.getItemValue(e[n]):void 0},Oe=function(e){return ke(e,"separator")},Se=function(e){return e?ke(e.item,"label"):void 0},we=function(e){return e&&d.isNotEmpty(e.items)},Pe=function(e){var n=e.processedItem,t=e.isFocus;if(!d.isEmpty(n)){var r=n.index,i=n.key,o=n.level,a=n.parentKey,u=d.isNotEmpty(n.items),c=U.filter((function(e){return e.parentKey!==a&&e.parentKey!==i}));u&&c.push(n),B({index:r,level:o,parentKey:a}),V(c),u&&re(!0),t&&v.focus(oe.current)}},Ne=function(e){var n=W[R.index];if(n?d.isEmpty(n.parent):null){we(n)&&(Pe({originalEvent:e,processedItem:n}),B({index:-1,parentKey:n.key}),setTimeout((function(){return ee(!0)}),0))}else{var t=-1!==R.index?Ue(R.index):We();$e(t)}e.preventDefault()},Ke=function(e){var n=W[R.index];if(d.isEmpty(n.parent)){we(n)&&(Pe({originalEvent:e,processedItem:n}),B({index:-1,parentKey:n.key}),le.current=!0,setTimeout((function(){return ee(!0)}),0))}else{var t=U.find((function(e){return e.key===n.parentKey}));if(0===R.index&&t&&""===t.parentKey)B({index:-1,parentKey:t?t.parentKey:""}),ue.current="",je(e);else{var r=-1!==R.index?Ve(R.index):Ze();$e(r)}}e.preventDefault()},je=function(e){var n=W[R.index],t=n?U.find((function(e){return e.key===n.parentKey})):null;if(t)Pe({originalEvent:e,processedItem:t}),V(U.filter((function(e){return e.key!==t.key})));else{var r=-1!==R.index?Ve(R.index):Ze();$e(r)}e.preventDefault()},De=function(e){var n=W[R.index];if(n?U.find((function(e){return e.key===n.parentKey})):null){we(n)&&(Pe({originalEvent:e,processedItem:n}),B({index:-1,parentKey:n.key}),setTimeout((function(){return ee(!0)}),0))}else{var t=-1!==R.index?Ue(R.index):We();$e(t)}e.preventDefault()},Ae=function(e){$e(Xe()),e.preventDefault()},Ce=function(e){$e(ze()),e.preventDefault()},Le=function(e){if(-1!==R.index){var n=v.findSingle(oe.current,'li[data-id="'.concat("".concat(J),'"]')),t=n&&v.findSingle(n,'a[data-pc-section="action"]');t?t.click():n&&n.click()}e.preventDefault()},Me=function(e){Le(e)},Te=function(e){Ie(!0),B({focusedItemInfo:R,index:We()})},Re=function(e){if(-1!==R.index){var n=W[R.index];!we(n)&&Pe({originalEvent:e,processedItem:n})}Ie()},_e=function(e){return Be(e)&&Se(e).toLocaleLowerCase().startsWith(ue.current.toLocaleLowerCase())},Be=function(e){return!!e&&!ke(e.item,"disabled")&&!Oe(e.item)},Fe=function(e){return Be(e)&&Je(e)},Je=function(e){return U.some((function(n){return n.key===e.key}))},Xe=function(){return W.findIndex((function(e){return Be(e)}))},ze=function(){return d.findLastIndex(W,(function(e){return Be(e)}))},Ue=function(e){var n=e<W.length-1?W.slice(e+1).findIndex((function(e){return Be(e)})):-1;return n>-1?n+e+1:e},Ve=function(e){var n=e>0?d.findLastIndex(W.slice(0,e),(function(e){return Be(e)})):-1;return n>-1?n:e},He=function(){return W.findIndex((function(e){return Fe(e)}))},We=function(){return He()},Ze=function(){return He()},Ye=function(e,n){ue.current=(ue.current||"")+n;var t=-1,r=!1;return-1!==(t=-1!==R.index?-1===(t=W.slice(R.index).findIndex((function(e){return _e(e)})))?W.slice(0,R.index).findIndex((function(e){return _e(e)})):t+R.index:W.findIndex((function(e){return _e(e)})))&&(r=!0),-1===t&&-1===R.index&&(t=We()),-1!==t&&$e(t),ce.current&&clearTimeout(ce.current),ce.current=setTimeout((function(){ue.current="",ce.current=null}),500),r},$e=function(e){R.index!==e&&(B(_(_({},R),{},{index:e})),qe())},qe=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(O,"_").concat(e):J,t=v.findSingle(oe.current,'li[data-id="'.concat(n,'"]'));t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"start"})},Ge=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[];return e&&e.forEach((function(e,o){var a=(""!==r?r+"_":"")+o,u={item:e,index:o,level:n,key:a,parent:t,parentKey:r};u.items=Ge(e.items,n+1,u,a),i.push(u)})),i};l((function(){O||w(y())})),s((function(){N?(de(),ye(),g.set("menu",oe.current,I&&I.autoZIndex||n.autoZIndex,I&&I.zIndex.menu||n.zIndex.menu)):(ge(),be(),g.clear(oe.current))}),[N]),e.useEffect((function(){var e=Ge(E.model||[],0,null,"");q(e)}),[E.model]),s((function(){var e=U.find((function(e){return e.key===R.parentKey}));Z(e?e.items:$)}),[U,R,$]),s((function(){d.isNotEmpty(U)?(de(),ye()):(be(),ge())}),[U]),s((function(){if(Q){var e=-1!==R.index?Ue(R.index):le.current?ze():We();$e(e),le.current=!1,ee(!1)}}),[Q]),s((function(){X(-1!==R.index?"".concat(O).concat(d.isNotEmpty(R.parentKey)?"_"+R.parentKey:"","_").concat(R.index):null)}),[R]),m((function(){g.clear(oe.current)})),e.useImperativeHandle(x,(function(){return{props:E,toggle:xe,getElement:function(){return ie.current},getRootMenu:function(){return oe.current},getMenuButton:function(){return ae.current}}}));var Qe=function(){if(E.start){var n=d.getJSXElement(E.start,E),t=h({className:fe("start")},me("start"));return e.createElement("div",t,n)}return null}(),en=function(){if(E.end){var n=d.getJSXElement(E.end,E),t=h({className:fe("end")},me("end"));return e.createElement("div",t,n)}return null}(),nn=function(){if(E.model&&E.model.length<1)return null;var n=h(S(S(S(S({ref:ae,href:"#",tabIndex:"0","aria-haspopup":!!(N&&E.model&&E.model.length>0),"aria-expanded":N,"aria-label":r("navigation"),"aria-controls":O,role:"button"},"tabIndex",0),"className",fe("button")),"onKeyDown",(function(e){var n;("Enter"===(n=e).code||"NumpadEnter"===n.code||"Space"===n.code)&&xe(n)})),"onClick",(function(e){return xe(e)})),me("button")),t=h(me("popupIcon")),i=b.getJSXIcon(E.menuIcon||e.createElement(f,t),_({},t),{props:E});return e.createElement("a",n,i)}(),tn=e.createElement(T,{hostName:"Menubar",ariaActivedescendant:C?J:void 0,level:0,id:O,ref:oe,menuProps:E,model:$,onLeafClick:function(e){var n=e.originalEvent,t=e.processedItem,r=we(t),i=d.isEmpty(t.parent);if(Je(t)){var o=t.index,a=t.key,u=t.level,c=t.parentKey;V(U.filter((function(e){return a!==e.key&&a.startsWith(e.key)}))),B({index:o,level:u,parentKey:c}),r||re(!i),setTimeout((function(){v.focus(oe.current),r&&re(!0)}),0)}else if(r)v.focus(oe.current),Pe({originalEvent:n,processedItem:t});else{var l=i?t:U.find((function(e){return""===e.parentKey})),s=l?l.index:-1;Ie(n),B({index:s,parentKey:l?l.parentKey:""}),K(!1)}},onItemMouseEnter:function(e){!N&&te&&Pe(e)},onFocus:function(e){L(!0),B(-1!==R.index?R:{index:We(),level:0,parentKey:""}),E.onFocus&&E.onFocus(e)},onBlur:function(e){L(!1),B({index:-1,level:0,parentKey:""}),ue.current="",re(!1),E.onBlur&&E.onBlur(e)},onKeyDown:function(e){var n=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":Ne(e);break;case"ArrowUp":Ke(e);break;case"ArrowLeft":je(e);break;case"ArrowRight":De(e);break;case"Home":Ae(e);break;case"End":Ce(e);break;case"Space":Me(e);break;case"Enter":case"NumpadEnter":Le(e);break;case"Escape":Te();break;case"Tab":Re(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&d.isPrintableCharacter(e.key)&&Ye(e,e.key)}},root:!0,activeItemPath:U,focusedItemId:C?J:void 0,submenuIcon:E.submenuIcon,ptm:me,cx:fe}),rn=h({id:E.id,ref:ie,className:p(E.className,fe("root",{mobileActiveState:N})),style:E.style},A.getOtherProps(E),me("root"));return e.createElement("div",rn,Qe,nn,tn,en)})));B.displayName="Menubar";export{B as Menubar};
|
|
1
|
+
import*as e from"react";import n,{PrimeReactContext as t,ariaLabel as r}from"primereact/api";import{ComponentBase as i,useHandleStyle as o}from"primereact/componentbase";import{useMergeProps as a,useEventListener as u,useResizeListener as c,useMountEffect as l,useUpdateEffect as s,useUnmountEffect as m}from"primereact/hooks";import{BarsIcon as f}from"primereact/icons/bars";import{classNames as p,ObjectUtils as d,IconUtils as b,DomHandler as v,UniqueComponentId as y,ZIndexUtils as g}from"primereact/utils";import{AngleDownIcon as x}from"primereact/icons/angledown";import{AngleRightIcon as h}from"primereact/icons/angleright";import{Ripple as I}from"primereact/ripple";function E(e){return E="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},E(e)}function k(e,n){if("object"!=E(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function O(e){var n=k(e,"string");return"symbol"==E(n)?n:n+""}function S(e,n,t){return(n=O(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function w(e){if(Array.isArray(e))return e}function P(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o,a,u=[],c=!0,l=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=o.call(t)).done)&&(u.push(r.value),u.length!==n);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(l)throw i}}return u}}function N(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function K(e,n){if(e){if("string"==typeof e)return N(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?N(e,n):void 0}}function j(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function D(e,n){return w(e)||P(e,n)||K(e,n)||j()}var A=i.extend({defaultProps:{__TYPE:"Menubar",id:null,model:null,style:null,className:null,start:null,ariaLabel:null,ariaLabelledBy:null,onFocus:null,onBlur:null,submenuIcon:null,menuIcon:null,end:null,children:void 0},css:{classes:{start:"p-menubar-start",end:"p-menubar-end",button:"p-menubar-button",root:function(e){return p("p-menubar p-component",{"p-menubar-mobile-active":e.mobileActiveState})},separator:"p-menuitem-separator",icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",menuitem:function(e){return p("p-menuitem",{"p-menuitem-active p-highlight":e.active,"p-focus":e.focused,"p-disabled":e.disabled})},menu:"p-menubar-root-list",content:"p-menuitem-content",submenu:"p-submenu-list",action:function(e){return p("p-menuitem-link",{"p-disabled":e.disabled})}},styles:"\n@layer primereact {\n .p-menubar {\n display: flex;\n align-items: center;\n }\n\n .p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menubar .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-menubar .p-menuitem-text {\n line-height: 1;\n }\n\n .p-menubar .p-menuitem {\n position: relative;\n }\n\n .p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n }\n\n .p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n }\n\n .p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 5;\n }\n\n .p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n\n .p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n }\n\n .p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n }\n}\n"}});function C(){return C=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},C.apply(null,arguments)}function L(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function M(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?L(Object(t),!0).forEach((function(n){S(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):L(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var T=e.memo(e.forwardRef((function(n,t){var r=a(),i=n.ptm,o=n.cx,u=function(e,t,r){return i(t,{props:n,hostName:n.hostName,context:{item:e,index:r,active:y(e),focused:k(e),disabled:E(e),level:n.level}})},c=function(e,t){E(t)||n.mobileActive?e.preventDefault():n.onItemMouseEnter&&n.onItemMouseEnter({originalEvent:e,processedItem:t})},l=function(e,n){var t=n.item;E(n)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),s({originalEvent:e,processedItem:n,isFocus:!0}),t.url||(e.preventDefault(),e.stopPropagation()))},s=function(e){n.onLeafClick&&n.onLeafClick(e)},m=function(e){var n;return null===(n=e.item)||void 0===n?void 0:n.id},f=function(e){return"".concat(n.id,"_").concat(e.key)},v=function(e,n,t){return e&&e.item?d.getItemValue(e.item[n],t):void 0},y=function(e){return n.activeItemPath.some((function(n){return n.key===e.key}))},g=function(e){return!1!==v(e,"visible")},E=function(e){return v(e,"disabled")},k=function(e){return n.focusedItemId===f(e)},O=function(e){return d.isNotEmpty(e.items)},w=function(e){return e-n.model.slice(0,e).filter((function(e){return g(e)&&v(e,"separator")})).length+1},P=function(t,a){var u=n.id+"_separator_"+a+"_"+t.key,c=r({"data-id":u,className:o("separator"),role:"separator"},i("separator",{hostName:n.hostName}));return e.createElement("li",C({},c,{key:u}))},N=function(t){var r=t&&t.items;return r?e.createElement(T,{id:n.id,hostName:n.hostName,menuProps:n.menuProps,level:n.level+1,model:r,activeItemPath:n.activeItemPath,focusedItemId:n.focusedItemId,onLeafClick:s,onItemMouseEnter:n.onItemMouseEnter,submenuIcon:n.submenuIcon,ptm:i,style:{display:y(t)?"block":"none"},cx:o}):null},K=function(t,i){var a=t.item;if(!g(t))return null;var s=m(t),P=f(t),K=y(t),j=k(t),D=E(t)||!1,A=O(t),L=p("p-menuitem-link",{"p-disabled":D}),T=p("p-menuitem-icon",v(t,"icon")),R=r({className:o("icon")},u(t,"icon",i)),_=b.getJSXIcon(a.icon,M({},R),{props:n.menuProps}),B=r({className:o("label")},u(t,"label",i)),F=a.label&&e.createElement("span",B,a.label),J=v(t,"items"),X=r({className:o("submenuIcon")},u(t,"submenuIcon",i)),z=J&&b.getJSXIcon(n.root?n.submenuIcon||e.createElement(x,X):n.submenuIcon||e.createElement(h,X),M({},X),{props:M({menuProps:n.menuProps},n)}),U=N(t),V=r({href:a.url||"#",tabIndex:"-1",className:o("action",{disabled:D}),onFocus:function(e){return e.stopPropagation()},target:v(t,"target"),"aria-haspopup":null!=J},u(t,"action",i)),H=e.createElement("a",V,_,F,z,e.createElement(I,null));a.template&&(H=d.getJSXElement(a.template,a,{className:L,labelClassName:"p-menuitem-text",iconClassName:T,submenuIconClassName:"p-submenu-icon",element:H,props:n}));var W=r({onClick:function(e){return l(e,t)},onMouseEnter:function(e){return c(e,t)},className:o("content")},u(t,"content",i)),Z=v(t,"className"),Y=r(S({id:s,"data-id":P,role:"menuitem","aria-label":a.label,"aria-disabled":D,"aria-expanded":A?K:void 0,"aria-haspopup":A&&!a.url?"menu":void 0,"aria-setsize":n.model.filter((function(e){return g(e)&&!v(e,"separator")})).length,"aria-posinset":w(i),"data-p-highlight":K,"data-p-focused":j,"data-p-disabled":D,className:p(Z,o("menuitem",{active:K,focused:j,disabled:D}))},"data-p-disabled",D||!1),u(t,"menuitem",i));return e.createElement("li",C({},Y,{key:"".concat(P)}),e.createElement("div",W,H),U)},j=n.root?"menubar":"menu",D=n.root?"menu":"submenu",A=n.root?"0":null,L=n.model?n.model.map((function(e,n){return!1===e.visible?null:v(e,"separator")?P(e,n):K(e,n)})):null,R=r({ref:t,className:o(D),level:n.level,onFocus:n.onFocus,onBlur:n.onBlur,onKeyDown:n.onKeyDown,"data-id":n.id,tabIndex:A,"aria-activedescendant":n.ariaActivedescendant,style:n.style,role:j},i(D));return e.createElement("ul",R,L)})));function R(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function _(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?R(Object(t),!0).forEach((function(n){S(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):R(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}T.displayName="MenubarSub";var B=e.memo(e.forwardRef((function(i,x){var h=a(),I=e.useContext(t),E=A.getProps(i,I),k=D(e.useState(E.id),2),O=k[0],w=k[1],P=D(e.useState(!1),2),N=P[0],K=P[1],j=D(e.useState(!1),2),C=j[0],L=j[1],M=D(e.useState({index:-1,level:0,parentKey:""}),2),R=M[0],B=M[1],F=D(e.useState(null),2),J=F[0],X=F[1],z=D(e.useState([]),2),U=z[0],V=z[1],H=D(e.useState([]),2),W=H[0],Z=H[1],Y=D(e.useState([]),2),$=Y[0],q=Y[1],G=D(e.useState(!1),2),Q=G[0],ee=G[1],ne=D(e.useState(!1),2),te=ne[0],re=ne[1],ie=e.useRef(null),oe=e.useRef(null),ae=e.useRef(null),ue=e.useRef(""),ce=e.useRef(null),le=e.useRef(!1),se=A.setMetaData({props:E,state:{id:O,mobileActive:N}}),me=se.ptm,fe=se.cx;o(A.css.styles,se.isUnstyled,{name:"menubar"});var pe=D(u({type:"click",listener:function(e){ae.current&&!ae.current.contains(e.target)&&Ie()},options:{capture:!0}}),2),de=pe[0],be=pe[1],ve=D(c({listener:function(e){v.isTouchDevice()||Ie(e)}}),2),ye=ve[0],ge=ve[1],xe=function(e){N?(K(!1),Ie()):(K(!0),setTimeout((function(){he()}),1)),e.preventDefault()},he=function(){B({index:He(),level:0,parentKey:""}),v.focus(oe.current)},Ie=function(e){N&&(K(!1),setTimeout((function(){v.focus(ae.current)}),0)),V([]),B({index:-1,level:0,parentKey:""}),e&&v.focus(oe.current),re(!1)},Ee=function(e,n){return e?d.getItemValue(e[n]):void 0},ke=function(e){return Ee(e,"separator")},Oe=function(e){return e?Ee(e.item,"label"):void 0},Se=function(e){return e&&d.isNotEmpty(e.items)},we=function(e){var n=e.processedItem,t=e.isFocus;if(!d.isEmpty(n)){var r=n.index,i=n.key,o=n.level,a=n.parentKey,u=d.isNotEmpty(n.items),c=U.filter((function(e){return e.parentKey!==a&&e.parentKey!==i}));u&&c.push(n),B({index:r,level:o,parentKey:a}),V(c),u&&re(!0),t&&v.focus(oe.current)}},Pe=function(e){var n=W[R.index];if(n?d.isEmpty(n.parent):null){Se(n)&&(we({originalEvent:e,processedItem:n}),B({index:-1,parentKey:n.key}),setTimeout((function(){return ee(!0)}),0))}else{var t=-1!==R.index?ze(R.index):He();Ye(t)}e.preventDefault()},Ne=function(e){var n=W[R.index];if(d.isEmpty(n.parent)){Se(n)&&(we({originalEvent:e,processedItem:n}),B({index:-1,parentKey:n.key}),le.current=!0,setTimeout((function(){return ee(!0)}),0))}else{var t=U.find((function(e){return e.key===n.parentKey}));if(0===R.index&&t&&""===t.parentKey)B({index:-1,parentKey:t?t.parentKey:""}),ue.current="",Ke(e);else{var r=-1!==R.index?Ue(R.index):We();Ye(r)}}e.preventDefault()},Ke=function(e){var n=W[R.index],t=n?U.find((function(e){return e.key===n.parentKey})):null;if(t)we({originalEvent:e,processedItem:t}),V(U.filter((function(e){return e.key!==t.key})));else{var r=-1!==R.index?Ue(R.index):We();Ye(r)}e.preventDefault()},je=function(e){var n=W[R.index];if(n?U.find((function(e){return e.key===n.parentKey})):null){Se(n)&&(we({originalEvent:e,processedItem:n}),B({index:-1,parentKey:n.key}),setTimeout((function(){return ee(!0)}),0))}else{var t=-1!==R.index?ze(R.index):He();Ye(t)}e.preventDefault()},De=function(e){Ye(Je()),e.preventDefault()},Ae=function(e){Ye(Xe()),e.preventDefault()},Ce=function(e){if(-1!==R.index){var n=v.findSingle(oe.current,'li[data-id="'.concat("".concat(J),'"]')),t=n&&v.findSingle(n,'a[data-pc-section="action"]');t?t.click():n&&n.click()}e.preventDefault()},Le=function(e){Ce(e)},Me=function(e){Ie(!0),B({focusedItemInfo:R,index:He()})},Te=function(e){if(-1!==R.index){var n=W[R.index];!Se(n)&&we({originalEvent:e,processedItem:n})}Ie()},Re=function(e){return _e(e)&&Oe(e).toLocaleLowerCase().startsWith(ue.current.toLocaleLowerCase())},_e=function(e){return!!e&&!Ee(e.item,"disabled")&&!ke(e.item)},Be=function(e){return _e(e)&&Fe(e)},Fe=function(e){return U.some((function(n){return n.key===e.key}))},Je=function(){return W.findIndex((function(e){return _e(e)}))},Xe=function(){return d.findLastIndex(W,(function(e){return _e(e)}))},ze=function(e){var n=e<W.length-1?W.slice(e+1).findIndex((function(e){return _e(e)})):-1;return n>-1?n+e+1:e},Ue=function(e){var n=e>0?d.findLastIndex(W.slice(0,e),(function(e){return _e(e)})):-1;return n>-1?n:e},Ve=function(){return W.findIndex((function(e){return Be(e)}))},He=function(){return Ve()},We=function(){return Ve()},Ze=function(e,n){ue.current=(ue.current||"")+n;var t=-1,r=!1;return-1!==(t=-1!==R.index?-1===(t=W.slice(R.index).findIndex((function(e){return Re(e)})))?W.slice(0,R.index).findIndex((function(e){return Re(e)})):t+R.index:W.findIndex((function(e){return Re(e)})))&&(r=!0),-1===t&&-1===R.index&&(t=He()),-1!==t&&Ye(t),ce.current&&clearTimeout(ce.current),ce.current=setTimeout((function(){ue.current="",ce.current=null}),500),r},Ye=function(e){R.index!==e&&(B(_(_({},R),{},{index:e})),$e())},$e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(O,"_").concat(e):J,t=v.findSingle(oe.current,'li[data-id="'.concat(n,'"]'));t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"start"})},qe=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[];return e&&e.forEach((function(e,o){var a=(""!==r?r+"_":"")+o,u={item:e,index:o,level:n,key:a,parent:t,parentKey:r};u.items=qe(e.items,n+1,u,a),i.push(u)})),i};l((function(){O||w(y())})),s((function(){N?(de(),ye(),g.set("menu",oe.current,I&&I.autoZIndex||n.autoZIndex,I&&I.zIndex.menu||n.zIndex.menu)):(ge(),be(),g.clear(oe.current))}),[N]),e.useEffect((function(){var e=qe(E.model||[],0,null,"");q(e)}),[E.model]),s((function(){var e=U.find((function(e){return e.key===R.parentKey}));Z(e?e.items:$)}),[U,R,$]),s((function(){d.isNotEmpty(U)?(de(),ye()):(be(),ge())}),[U]),s((function(){if(Q){var e=-1!==R.index?ze(R.index):le.current?Xe():He();Ye(e),le.current=!1,ee(!1)}}),[Q]),s((function(){X(-1!==R.index?"".concat(O).concat(d.isNotEmpty(R.parentKey)?"_"+R.parentKey:"","_").concat(R.index):null)}),[R]),m((function(){g.clear(oe.current)})),e.useImperativeHandle(x,(function(){return{props:E,toggle:xe,getElement:function(){return ie.current},getRootMenu:function(){return oe.current},getMenuButton:function(){return ae.current}}}));var Ge=function(){if(E.start){var n=d.getJSXElement(E.start,E),t=h({className:fe("start")},me("start"));return e.createElement("div",t,n)}return null}(),Qe=function(){if(E.end){var n=d.getJSXElement(E.end,E),t=h({className:fe("end")},me("end"));return e.createElement("div",t,n)}return null}(),en=function(){if(E.model&&E.model.length<1)return null;var n=h(S(S(S(S({ref:ae,href:"#",tabIndex:"0","aria-haspopup":!!(N&&E.model&&E.model.length>0),"aria-expanded":N,"aria-label":r("navigation"),"aria-controls":O,role:"button"},"tabIndex",0),"className",fe("button")),"onKeyDown",(function(e){var n;("Enter"===(n=e).code||"NumpadEnter"===n.code||"Space"===n.code)&&xe(n)})),"onClick",(function(e){return xe(e)})),me("button")),t=h(me("popupIcon")),i=b.getJSXIcon(E.menuIcon||e.createElement(f,t),_({},t),{props:E});return e.createElement("a",n,i)}(),nn=e.createElement(T,{hostName:"Menubar",ariaActivedescendant:C?J:void 0,level:0,id:O,ref:oe,menuProps:E,model:$,onLeafClick:function(e){var n=e.originalEvent,t=e.processedItem,r=Se(t),i=d.isEmpty(t.parent);if(Fe(t)){var o=t.index,a=t.key,u=t.level,c=t.parentKey;V(U.filter((function(e){return a!==e.key&&a.startsWith(e.key)}))),B({index:o,level:u,parentKey:c}),r||re(!i),setTimeout((function(){v.focus(oe.current),r&&re(!0)}),0)}else if(r)v.focus(oe.current),we({originalEvent:n,processedItem:t});else{var l=i?t:U.find((function(e){return""===e.parentKey})),s=l?l.index:-1;Ie(n),B({index:s,parentKey:l?l.parentKey:""}),K(!1)}},onItemMouseEnter:function(e){!N&&te&&we(e)},onFocus:function(e){L(!0),B(-1!==R.index?R:{index:He(),level:0,parentKey:""}),E.onFocus&&E.onFocus(e)},onBlur:function(e){L(!1),B({index:-1,level:0,parentKey:""}),ue.current="",re(!1),E.onBlur&&E.onBlur(e)},onKeyDown:function(e){var n=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":Pe(e);break;case"ArrowUp":Ne(e);break;case"ArrowLeft":Ke(e);break;case"ArrowRight":je(e);break;case"Home":De(e);break;case"End":Ae(e);break;case"Space":Le(e);break;case"Enter":case"NumpadEnter":Ce(e);break;case"Escape":Me();break;case"Tab":Te(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&d.isPrintableCharacter(e.key)&&Ze(e,e.key)}},root:!0,activeItemPath:U,focusedItemId:C?J:void 0,submenuIcon:E.submenuIcon,ptm:me,cx:fe}),tn=h({id:E.id,ref:ie,className:p(E.className,fe("root",{mobileActiveState:N})),style:E.style},A.getOtherProps(E),me("root"));return e.createElement("div",tn,Ge,en,nn,Qe)})));B.displayName="Menubar";export{B as Menubar};
|
package/menubar/menubar.js
CHANGED
|
@@ -388,7 +388,6 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
|
|
|
388
388
|
'aria-disabled': disabled,
|
|
389
389
|
'aria-expanded': group ? active : undefined,
|
|
390
390
|
'aria-haspopup': group && !item.url ? 'menu' : undefined,
|
|
391
|
-
'aria-level': props.level + 1,
|
|
392
391
|
'aria-setsize': getAriaSetSize(),
|
|
393
392
|
'aria-posinset': getAriaPosInset(index),
|
|
394
393
|
'data-p-highlight': active,
|
|
@@ -506,12 +505,13 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
|
|
|
506
505
|
var _useEventListener = hooks.useEventListener({
|
|
507
506
|
type: 'click',
|
|
508
507
|
listener: function listener(event) {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
hide();
|
|
513
|
-
}
|
|
508
|
+
var isOutsideButton = menuButtonRef.current && !menuButtonRef.current.contains(event.target);
|
|
509
|
+
if (isOutsideButton) {
|
|
510
|
+
hide();
|
|
514
511
|
}
|
|
512
|
+
},
|
|
513
|
+
options: {
|
|
514
|
+
capture: true
|
|
515
515
|
}
|
|
516
516
|
}),
|
|
517
517
|
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
@@ -566,9 +566,6 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
|
|
|
566
566
|
var menuButtonKeydown = function menuButtonKeydown(event) {
|
|
567
567
|
(event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') && toggle(event);
|
|
568
568
|
};
|
|
569
|
-
var isOutsideClicked = function isOutsideClicked(event) {
|
|
570
|
-
return rootMenuRef.current !== event.target && !rootMenuRef.current.contains(event.target) && menuButtonRef.current !== event.target && !menuButtonRef.current.contains(event.target);
|
|
571
|
-
};
|
|
572
569
|
var getItemProp = function getItemProp(item, name) {
|
|
573
570
|
return item ? utils.ObjectUtils.getItemValue(item[name]) : undefined;
|
|
574
571
|
};
|