primereact
Version:
PrimeReact is an open source UI library for React featuring a rich set of 90+ 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) • 8.14 kB
JavaScript
this.primereact=this.primereact||{},this.primereact.slidemenu=function(e,t,n,r,i,o,a,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,i,o,a,l=[],u=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(l.push(r.value),l.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}function b(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 v(e,t){if(e){if("string"==typeof e)return b(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)?b(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)||v(e,t)||y()}var h={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,children:void 0},getProps:function(e){return l.ObjectUtils.getMergedProps(e,h.defaultProps)},getOtherProps:function(e){return l.ObjectUtils.getDiffProps(e,h.defaultProps)}};function O(e){return O="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},O(e)}function w(e,t){if("object"!==O(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==O(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function E(e){var t=w(e,"string");return"symbol"===O(t)?t:String(t)}function S(e,t,n){return(t=E(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j(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 P(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){S(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var N=s.memo((function(e){var t=g(s.useState(null),2),n=t[0],r=t[1],i=g(s.useState({}),2),o=i[0],a=i[1],u=function(t,n,i){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,i);a(P(P({},o),{},S({},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 i=o[p(t,r)];return t.items&&i?s.createElement(N,{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 i=p(t,r),o=n===t,a=l.classNames("p-menuitem",{"p-menuitem-active":o,"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}),b=t.label&&s.createElement("span",{className:"p-menuitem-text"},t.label),v=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,b,v);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:o}));return s.createElement("li",{key:i,id:t.id,className:a,style:t.style},g,y)},d=function(e,t){return e.separator?c(t):f(e,t)},b={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},v=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:v,style:b},y)}));N.displayName="SlideMenuSub";var x=s.memo(s.forwardRef((function(e,t){var n=h.getProps(e),u=g(s.useState(0),2),c=u[0],f=u[1],d=g(s.useState(!1),2),b=d[0],v=d[1],y=s.useRef(null),O=s.useRef(null),w=s.useRef(null),E=s.useRef(null),S=g(i.useOverlayListener({target:O,overlay:y,listener:function(e,t){t.valid&&T(e)},when:b}),2),j=S[0],P=S[1],x=function(e){n.popup&&o.OverlayService.emit("overlay-click",{originalEvent:e,target:O.current})},k=function(){f((function(e){return e+1}))},D=function(){f((function(e){return e-1}))},I=function(e){n.popup&&(b?T(e):U(e))},U=function(e){O.current=e.currentTarget,v(!0),n.onShow&&n.onShow(e)},T=function(e){O.current=e.currentTarget,v(!1),n.onHide&&n.onHide(e)},A=function(){n.autoZIndex&&l.ZIndexUtils.set("menu",y.current,m.default.autoZIndex,n.baseZIndex||m.default.zIndex.menu),l.DomHandler.absolutePosition(y.current,O.current)},C=function(){j()},M=function(){O.current=null,P()},W=function(){l.ZIndexUtils.clear(y.current),f(0)};i.useUpdateEffect((function(){f(0)}),[n.model]),i.useUpdateEffect((function(){n.onNavigate&&n.onNavigate({level:c})}),[c]),i.useUnmountEffect((function(){l.ZIndexUtils.clear(y.current)})),s.useImperativeHandle(t,(function(){return{props:n,toggle:I,show:U,hide:T,navigateForward:k,navigateBack:D,setLevelState:f,getElement:function(){return y.current}}}));var Z=function(){var e=l.classNames("p-slidemenu-backward",{"p-hidden":0===c});return s.createElement("div",{ref:w,className:e,onClick:D},s.createElement("span",{className:"p-slidemenu-backward-icon pi pi-fw pi-chevron-left"}),s.createElement("span",null,n.backLabel))},_=function(){var e=h.getOtherProps(n),t=l.classNames("p-slidemenu p-component",{"p-slidemenu-overlay":n.popup},n.className),i={height:n.viewportHeight+"px"},o=Z();return s.createElement(r.CSSTransition,{nodeRef:y,classNames:"p-connected-overlay",in:!n.popup||b,timeout:{enter:120,exit:100},options:n.transitionOptions,unmountOnExit:!0,onEnter:A,onEntered:C,onExit:M,onExited:W},s.createElement("div",p({ref:y,id:n.id,className:t,style:n.style},e,{onClick:x}),s.createElement("div",{className:"p-slidemenu-wrapper",style:i},s.createElement("div",{className:"p-slidemenu-content",ref:E},s.createElement(N,{menuProps:n,model:n.model,root:!0,index:0,menuWidth:n.menuWidth,effectDuration:n.effectDuration,level:c,parentActive:0===c,onForward:k})),o)))}();return n.popup?s.createElement(a.Portal,{element:_,appendTo:n.appendTo}):_})));return x.displayName="SlideMenu",e.SlideMenu=x,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.csstransition,primereact.hooks,primereact.overlayservice,primereact.portal,primereact.utils);