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.33 kB
this.primereact=this.primereact||{},this.primereact.slidemenu=function(e,t,n,r,a,i,o,l){"use strict";function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(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 s=c(t),m=u(n);function p(){return p=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},p.apply(this,arguments)}function f(e){if(Array.isArray(e))return e}function d(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i=[],o=!0,l=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(e){l=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(l)throw a}}return i}}function v(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 b(e,t){if(e){if("string"==typeof e)return v(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)?v(e,t):void 0}}function y(){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 g(e,t){return f(e)||d(e,t)||b(e,t)||y()}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){h(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var w=s.memo((function(e){var t=g(s.useState(null),2),n=t[0],r=t[1],a=g(s.useState({}),2),i=a[0],o=a[1],u=function(t,n,a){if(n.disabled)t.preventDefault();else if(n.url||t.preventDefault(),n.command&&n.command({originalEvent:t,item:n}),n.items){var l=p(n,a);o(E(E({},i),{},h({},l,!0))),r(n),e.onForward()}},c=function(e){return s.createElement("li",{key:"separator_"+e,className:"p-menu-separator"})},m=function(t,r){var a=i[p(t,r)];return t.items&&a?s.createElement(w,{menuProps:e.menuProps,model:t.items,index:e.index+1,menuWidth:e.menuWidth,effectDuration:e.effectDuration,onForward:e.onForward,parentActive:t===n}):null},p=function(e,t){return e.label+"_"+t},f=function(t,r){if(!1===t.visible)return null;var a=p(t,r),i=n===t,o=l.classNames("p-menuitem",{"p-menuitem-active":i,"p-disabled":t.disabled},t.className),c=l.classNames("p-menuitem-icon",t.icon),f="p-submenu-icon pi pi-fw pi-angle-right",d=l.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e.menuProps}),v=t.label&&s.createElement("span",{className:"p-menuitem-text"},t.label),b=t.items&&s.createElement("span",{className:f}),y=m(t,r),g=s.createElement("a",{href:t.url||"#",className:"p-menuitem-link",target:t.target,onClick:function(e){return u(e,t,r)},"aria-disabled":t.disabled},d,v,b);t.template&&(g=l.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return u(e,t,r)},className:"p-menuitem-link",labelClassName:"p-menuitem-text",iconClassName:c,submenuIconClassName:f,element:g,props:e,active:i}));return s.createElement("li",{key:a,id:t.id,className:o,style:t.style},g,y)},d=function(e,t){return e.separator?c(t):f(e,t)},v={width:e.menuWidth+"px",left:e.root?-1*e.level*e.menuWidth+"px":e.menuWidth+"px",transitionProperty:e.root?"left":"none",transitionDuration:e.effectDuration+"ms",transitionTimingFunction:e.easing},b=l.classNames({"p-slidemenu-rootlist":e.root,"p-submenu-list":!e.root,"p-active-submenu":e.parentActive}),y=e.model?e.model.map(d):null;return s.createElement("ul",{className:b,style:v},y)}));w.displayName="SlideMenuSub";var N=s.memo(s.forwardRef((function(e,t){var n=g(s.useState(0),2),u=n[0],c=n[1],f=g(s.useState(!1),2),d=f[0],v=f[1],b=s.useRef(null),y=s.useRef(null),h=s.useRef(null),O=s.useRef(null),E=g(a.useOverlayListener({target:y,overlay:b,listener:function(e,t){t.valid&&U(e)},when:d}),2),j=E[0],S=E[1],x=function(t){e.popup&&i.OverlayService.emit("overlay-click",{originalEvent:t,target:y.current})},P=function(){c((function(e){return e+1}))},k=function(){c((function(e){return e-1}))},D=function(t){e.popup&&(d?U(t):I(t))},I=function(t){y.current=t.currentTarget,v(!0),e.onShow&&e.onShow(t)},U=function(t){y.current=t.currentTarget,v(!1),e.onHide&&e.onHide(t)},A=function(){e.autoZIndex&&l.ZIndexUtils.set("menu",b.current,m.default.autoZIndex,e.baseZIndex||m.default.zIndex.menu),l.DomHandler.absolutePosition(b.current,y.current)},C=function(){j()},T=function(){y.current=null,S()},W=function(){l.ZIndexUtils.clear(b.current),c(0)};a.useUpdateEffect((function(){c(0)}),[e.model]),a.useUpdateEffect((function(){e.onNavigate&&e.onNavigate({level:u})}),[u]),a.useUnmountEffect((function(){l.ZIndexUtils.clear(b.current)})),s.useImperativeHandle(t,(function(){return{props:e,toggle:D,show:I,hide:U,navigateForward:P,navigateBack:k,setLevelState:c,getElement:function(){return b.current}}}));var Z=function(){var t=l.classNames("p-slidemenu-backward",{"p-hidden":0===u});return s.createElement("div",{ref:h,className:t,onClick:k},s.createElement("span",{className:"p-slidemenu-backward-icon pi pi-fw pi-chevron-left"}),s.createElement("span",null,e.backLabel))},_=function(){var t=l.ObjectUtils.findDiffKeys(e,N.defaultProps),n=l.classNames("p-slidemenu p-component",{"p-slidemenu-overlay":e.popup},e.className),a={height:e.viewportHeight+"px"},i=Z();return s.createElement(r.CSSTransition,{nodeRef:b,classNames:"p-connected-overlay",in:!e.popup||d,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:A,onEntered:C,onExit:T,onExited:W},s.createElement("div",p({ref:b,id:e.id,className:n,style:e.style},t,{onClick:x}),s.createElement("div",{className:"p-slidemenu-wrapper",style:a},s.createElement("div",{className:"p-slidemenu-content",ref:O},s.createElement(w,{menuProps:e,model:e.model,root:!0,index:0,menuWidth:e.menuWidth,effectDuration:e.effectDuration,level:u,parentActive:0===u,onForward:P})),i)))}();return e.popup?s.createElement(o.Portal,{element:_,appendTo:e.appendTo}):_})));return N.displayName="SlideMenu",N.defaultProps={__TYPE:"SlideMenu",appendTo:null,autoZIndex:!0,backLabel:"Back",baseZIndex:0,className:null,easing:"ease-out",effectDuration:250,id:null,menuWidth:190,model:null,onHide:null,onShow:null,onNavigate:null,popup:!1,style:null,transitionOptions:null,viewportHeight:175},e.SlideMenu=N,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.csstransition,primereact.hooks,primereact.overlayservice,primereact.portal,primereact.utils);