UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime

2 lines (1 loc) 7.21 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/hooks"),r=require("primereact/ripple"),a=require("primereact/utils");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var u=i(e),s=l(t);function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(this,arguments)}function c(e){if(Array.isArray(e))return e}function o(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,l=[],i=!0,u=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);i=!0);}catch(e){u=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(u)throw a}}return l}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}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 v(e,t){return c(e)||o(e,t)||f(e,t)||d()}var b=u.memo(u.forwardRef((function(e,t){var l=v(u.useState(null),2),i=l[0],c=l[1],o=u.useRef(null),p="horizontal"===e.orientation,f="vertical"===e.orientation,d=v(n.useEventListener({type:"click",listener:function(e){D(e)&&c(null)}}),1)[0],g=function(e,t){t.disabled?e.preventDefault():(t.url||e.preventDefault(),t.command&&t.command({originalEvent:e,item:t}),c(null))},y=function(e,t){var n=e.currentTarget.parentElement;switch(e.which){case 40:p?E(t):j(n),e.preventDefault();break;case 38:f?O(n):t.items&&t===i&&N(),e.preventDefault();break;case 39:p?j(n):E(t),e.preventDefault();break;case 37:p?O(n):t.items&&t===i&&N(),e.preventDefault()}},E=function(e){e.items&&c(e)},N=function(e){c(null)},h=function e(t){var n=t.nextElementSibling;return n?a.DomHandler.hasClass(n,"p-disabled")||!a.DomHandler.hasClass(n,"p-menuitem")?e(n):n:null},k=function e(t){var n=t.previousElementSibling;return n?a.DomHandler.hasClass(n,"p-disabled")||!a.DomHandler.hasClass(n,"p-menuitem")?e(n):n:null},j=function(e){var t=h(e);t&&t.children[0].focus()},O=function(e){var t=k(e);t&&t.children[0].focus()},D=function(e){return o.current&&!(o.current.isSameNode(e.target)||o.current.contains(e.target))},S=function(e){var t;switch(e.items?e.items.length:0){case 2:t="p-megamenu-col-6";break;case 3:t="p-megamenu-col-4";break;case 4:t="p-megamenu-col-3";break;case 6:t="p-megamenu-col-2";break;default:t="p-megamenu-col-12"}return t};u.useImperativeHandle(t,(function(){return{props:e,getElement:function(){return o.current}}})),n.useMountEffect((function(){d()})),n.useUpdateEffect((function(){var e=a.DomHandler.findSingle(o.current,".p-menuitem-active > .p-megamenu-panel");return i&&a.ZIndexUtils.set("menu",e,s.default.autoZIndex,s.default.zIndex.menu),function(){a.ZIndexUtils.clear(e)}}),[i]);var w=function(e){return u.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},I=function(e){if(e.items){var t=a.classNames("p-submenu-icon pi",{"pi-angle-down":p,"pi-angle-right":f});return u.createElement("span",{className:t})}return null},x=function(t,n){if(!1===t.visible)return null;if(t.separator)return w(n);var l=t.label+"_"+n,i=a.classNames("p-menuitem",t.className),s=a.classNames("p-menuitem-link",{"p-disabled":t.disabled}),m=a.classNames(t.icon,"p-menuitem-icon"),c=a.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e}),o=u.createElement("a",{href:t.url||"#",className:s,target:t.target,onClick:function(e){return g(e,t)},role:"menuitem","aria-disabled":t.disabled},c,t.label&&u.createElement("span",{className:"p-menuitem-text"},t.label),u.createElement(r.Ripple,null));return t.template&&(o=a.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return g(e,t)},className:s,labelClassName:"p-menuitem-text",iconClassName:m,element:o,props:e})),u.createElement("li",{key:l,id:t.id,className:i,style:t.style,role:"none"},o)},M=function(e){var t=a.classNames("p-megamenu-submenu-header",{"p-disabled":e.disabled},e.className),n=e.items.map(x);return u.createElement(u.Fragment,{key:e.label},u.createElement("li",{id:e.id,className:t,style:e.style,role:"presentation"},e.label),n)},U=function(e){return e.map(M)},_=function(e,t,n,r){var a=e.label+"_column_"+n,l=U(t);return u.createElement("div",{key:a,className:r},u.createElement("ul",{className:"p-megamenu-submenu",role:"menu"},l))},C=function(e){if(e.items){var t=S(e);return e.items.map((function(n,r){return _(e,n,r,t)}))}return null},P=function(e){if(e.items){var t=C(e);return u.createElement("div",{className:"p-megamenu-panel"},u.createElement("div",{className:"p-megamenu-grid"},t))}return null},z=function(t,n){var l=a.classNames("p-menuitem",{"p-menuitem-active":t===i},t.className),s=a.classNames("p-menuitem-link",{"p-disabled":t.disabled}),m=a.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e}),o=t.label&&u.createElement("span",{className:"p-menuitem-text"},t.label),p=t.template?a.ObjectUtils.getJSXElement(t.template,t):null,f=I(t),d=P(t);return u.createElement("li",{key:t.label+"_"+n,id:t.id,className:l,style:t.style,onMouseEnter:function(e){return n=e,void((r=t).disabled?n.preventDefault():i&&c(r));var n,r},role:"none"},u.createElement("a",{href:t.url||"#",className:s,target:t.target,onClick:function(n){return r=n,(a=t).disabled||(a.url||r.preventDefault(),a.command&&a.command({originalEvent:r,item:e.item}),a.items&&c(i&&i===a?null:a)),void r.preventDefault();var r,a},onKeyDown:function(e){return y(e,t)},role:"menuitem","aria-haspopup":null!=t.items},m,o,p,f,u.createElement(r.Ripple,null)),d)},A=a.ObjectUtils.findDiffKeys(e,b.defaultProps),H=a.classNames("p-megamenu p-component",{"p-megamenu-horizontal":"horizontal"===e.orientation,"p-megamenu-vertical":"vertical"===e.orientation},e.className),J=e.model?u.createElement("ul",{className:"p-megamenu-root-list",role:"menubar"},e.model.map((function(e,t){return z(e,t)}))):null,X=function(){if(e.start){var t=a.ObjectUtils.getJSXElement(e.start,e);return u.createElement("div",{className:"p-megamenu-start"},t)}return null}(),q=function(){if(e.end){var t=a.ObjectUtils.getJSXElement(e.end,e);return u.createElement("div",{className:"p-megamenu-end"},t)}return null}();return u.createElement("div",m({ref:o,id:e.id,className:H,style:e.style},A),X,J,q)})));b.displayName="MegaMenu",b.defaultProps={__TYPE:"MegaMenu",id:null,model:null,style:null,className:null,orientation:"horizontal",start:null,end:null},exports.MegaMenu=b;