primereact 10.3.3 → 10.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.cjs.js +1 -1
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +1 -1
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +1 -1
- package/accordion/accordion.min.js +1 -1
- package/calendar/calendar.cjs.js +18 -11
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +18 -11
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +18 -11
- package/calendar/calendar.min.js +1 -1
- package/carousel/carousel.cjs.js +1 -0
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +1 -0
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +1 -0
- package/carousel/carousel.min.js +1 -1
- package/chips/chips.cjs.js +2 -1
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +2 -1
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +2 -1
- package/chips/chips.min.js +1 -1
- package/core/core.js +53 -40
- package/core/core.min.js +2 -2
- package/datatable/datatable.cjs.js +577 -153
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +573 -149
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +577 -153
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.d.ts +2 -2
- package/divider/divider.cjs.js +2 -2
- package/divider/divider.cjs.min.js +1 -1
- package/divider/divider.esm.js +2 -2
- package/divider/divider.esm.min.js +1 -1
- package/divider/divider.js +2 -2
- package/divider/divider.min.js +1 -1
- package/dropdown/dropdown.cjs.js +20 -25
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +9 -0
- package/dropdown/dropdown.esm.js +20 -25
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +20 -25
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.cjs.js +1 -1
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +1 -1
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +1 -1
- package/editor/editor.min.js +1 -1
- package/focustrap/focustrap.cjs.js +168 -0
- package/focustrap/focustrap.cjs.min.js +1 -0
- package/focustrap/focustrap.esm.js +159 -0
- package/focustrap/focustrap.esm.min.js +1 -0
- package/focustrap/focustrap.js +167 -0
- package/focustrap/focustrap.min.js +1 -0
- package/focustrap/package.json +7 -0
- package/galleria/galleria.cjs.js +26 -24
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +26 -24
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +26 -24
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.d.ts +1 -1
- package/menubar/menubar.cjs.js +3 -0
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +3 -0
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +3 -0
- package/menubar/menubar.min.js +1 -1
- package/package.json +1 -1
- package/panelmenu/panelmenu.cjs.js +32 -21
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +32 -21
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +32 -21
- package/panelmenu/panelmenu.min.js +1 -1
- package/primereact.all.cjs.js +742 -482
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +742 -482
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +742 -482
- package/primereact.all.min.js +1 -1
- package/sidebar/sidebar.cjs.js +18 -16
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +18 -16
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +18 -16
- package/sidebar/sidebar.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +4 -3
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +4 -3
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +4 -3
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.cjs.js +57 -12
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.d.ts +13 -1
- package/splitter/splitter.esm.js +59 -14
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +57 -12
- package/splitter/splitter.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +4 -3
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +4 -3
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +4 -3
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/tree/tree.cjs.js +33 -15
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +34 -16
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +33 -15
- package/tree/tree.min.js +1 -1
- package/web-types.json +19 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import{PrimeReactContext as n}from"primereact/api";import{ComponentBase as t,useHandleStyle as r}from"primereact/componentbase";import{CSSTransition as a}from"primereact/csstransition";import{useMergeProps as o,useMountEffect as i}from"primereact/hooks";import{ChevronDownIcon as u}from"primereact/icons/chevrondown";import{ChevronRightIcon as c}from"primereact/icons/chevronright";import{classNames as l,ObjectUtils as s,IconUtils as m,DomHandler as p,UniqueComponentId as f}from"primereact/utils";function d(){return d=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},d.apply(this,arguments)}function v(e){return v="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},v(e)}function b(e,n){if("object"!==v(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!==v(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"===v(n)?n:String(n)}function g(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 h(e){throw new TypeError('"'+e+'" is read-only')}function E(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,o,i,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,a=e}finally{try{if(!c&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(l)throw a}}return u}}function x(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function k(e,n){if(e){if("string"==typeof e)return x(e,n);var t=Object.prototype.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 N(){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 O(e,n){return E(e)||I(e,n)||k(e,n)||N()}var S=function(n,t){var r=e.useRef(!1);return e.useEffect((function(){if(r.current)return n&&n();r.current=!0}),t)},w=t.extend({defaultProps:{__TYPE:"PanelMenu",id:null,model:null,style:null,submenuIcon:null,expandedKeys:null,className:null,onExpandedKeysChange:null,onOpen:null,onClose:null,multiple:!1,transitionOptions:null,children:void 0},css:{classes:{headerIcon:function(e){return l("p-menuitem-icon",e.item.icon)},headerSubmenuIcon:"p-submenu-icon",headerLabel:"p-menuitem-text",headerAction:"p-panelmenu-header-link",panel:function(e){return l("p-panelmenu-panel",e.item.className)},header:function(e){var n=e.item;return l("p-component p-panelmenu-header",{"p-highlight":e.active&&!!n.items,"p-disabled":n.disabled})},headerContent:"p-panelmenu-header-content",menuContent:"p-panelmenu-content",root:function(e){return l("p-panelmenu p-component",e.props.className)},separator:"p-menuitem-separator",toggleableContent:function(e){return l("p-toggleable-content",{"p-toggleable-content-collapsed":!e.active})},icon:function(e){return l("p-menuitem-icon",e.item.icon)},label:"p-menuitem-text",submenuicon:"p-submenu-icon",content:"p-menuitem-content",action:function(e){return l("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return l("p-menuitem",e.item.className,{"p-focus":e.focused,"p-disabled":e.disabled})},menu:"p-panelmenu-root-list",submenu:"p-submenu-list",transition:"p-toggleable-content"},styles:"\n@layer primereact {\n .p-panelmenu .p-panelmenu-header-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n }\n\n .p-panelmenu .p-panelmenu-header-link:focus {\n z-index: 1;\n }\n\n .p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n }\n\n .p-panelmenu .p-menuitem-text {\n line-height: 1;\n }\n}\n"}});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 C(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){g(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 j=e.memo(e.forwardRef((function(n,t){var r=o(),i=n.ptm,p=n.cx,f=e.useRef(null),v=function(e,t){return i(e,C({hostName:n.hostName},t))},b=function(e,n,t){return v(n,{context:{item:e,index:t,active:h(e),focused:x(e),disabled:I(e)}})},y=function(e){return"".concat(n.panelId,"_").concat(e.key)},g=function(e,n,t){return e&&e.item?s.getItemValue(e.item[n],t):void 0},h=function(e){return n.activeItemPath&&n.activeItemPath.some((function(n){return n.key===e.key}))},E=function(e){return!1!==g(e,"visible")},I=function(e){return g(e,"disabled")},x=function(e){return n.focusedItemId===y(e)},k=function(e){return s.isNotEmpty(e.items)},N=function(e,n){g(n,"url")||e.preventDefault(),g(n,"command",{originalEvent:e,item:n.item}),O({processedItem:n,expanded:!h(n)})},O=function(e){n.onItemToggle(e)},S=function(e){return e-n.model.slice(0,e).filter((function(e){return E(e)&&g(e,"separator")})).length+1};e.useImperativeHandle(t,(function(){return{getElement:function(){return f.current}}}));var w=function(t){var a=n.id+"_sep_"+t,o=r({id:a,key:a,className:p("separator"),role:"separator"},v("separator"));return e.createElement("li",o)},P=function(t,o){var u=e.createRef(),c=r({className:p("toggleableContent",{active:o})},v("toggleableContent"));if(E(t)&&k(t)){var l=r({classNames:p("transition"),timeout:{enter:1e3,exit:450},in:o,unmountOnExit:!0},v("transition"));return e.createElement(a,d({nodeRef:u},l),e.createElement("div",d({ref:u},c),e.createElement(j,{id:y(t)+"_list",role:"group",panelId:n.panelId,level:n.level+1,focusedItemId:n.focusedItemId,activeItemPath:n.activeItemPath,onItemToggle:O,menuProps:n.menuProps,model:t.items,submenuIcon:n.submenuIcon,ptm:i,cx:p})))}return null},D=function(t,a){var o=t.item;if(!1===E(t))return null;var i=y(t),f=h(t),d=x(t),v=I(o),O=l("p-menuitem-link",{"p-disabled":o.disabled}),w=l("p-menuitem-icon",o.icon),j=r({className:p("icon",{item:o})},b(t,"icon",a)),D=m.getJSXIcon(o.icon,C({},j),{props:n.menuProps}),K=r({className:p("label")},b(t,"label",a)),A=o.label&&e.createElement("span",K,o.label),T=r({className:p("submenuicon")},b(t,"submenuicon",a)),R=o.items&&m.getJSXIcon(f?n.submenuIcon||e.createElement(u,T):n.submenuIcon||e.createElement(c,T)),_=P(t,f),L=r({href:o.url||"#",className:p("action",{item:o}),target:o.target,onFocus:function(e){return e.stopPropagation()},tabIndex:"-1","aria-hidden":!0},b(t,"action",a)),F=e.createElement("a",L,R,D,A);o.template&&(F=s.getJSXElement(o.template,o,{className:O,labelClassName:"p-menuitem-text",iconClassName:w,submenuIconClassName:"p-panelmenu-icon",element:F,props:n,leaf:!o.items,active:f}));var H=r({onClick:function(e){return N(e,t)},className:p("content")},b(t,"content",a)),M=r({key:i,id:i,className:p("menuitem",{item:o,focused:d,disabled:v}),style:o.style,role:"treeitem","aria-label":o.label,"aria-expanded":k(o)?f:void 0,"aria-level":n.level+1,"aria-setsize":n.model.filter((function(e){return E(e)&&!g(e,"separator")})).length,"aria-posinset":S(a),"data-p-focused":d,"data-p-disabled":v},b(t,"menuitem",a));return e.createElement("li",M,e.createElement("div",H,F),_)},K=n.model?n.model.map((function(e,n){return g(e,"separator")?w(n):D(e,n)})):null,A=n.root?"menu":"submenu",T=r({id:n.id,ref:f,tabIndex:n.tabIndex,onFocus:n.onFocus,onBlur:n.onBlur,onKeyDown:n.onKeyDown,"aria-activedescendant":n.ariaActivedescendant,role:n.role,className:l(p(A),n.className)},i(A));return e.createElement("ul",T,K)})));j.displayName="PanelMenuSub";var D=e.memo((function(n){var t=n.ptm,r=n.cx,a=O(e.useState(!1),2),o=a[0],i=a[1],u=O(e.useState(null),2),c=u[0],l=u[1],m=O(e.useState(null),2),f=m[0],d=m[1],v=O(e.useState([]),2),b=v[0],y=v[1],g=O(e.useState(null),2),h=g[0],E=g[1],I=O(e.useState([]),2),x=I[0],k=I[1],N=e.useRef(null),w=e.useRef(null),P=e.useRef(null),C=function(e,n){return e&&e.item?s.getItemValue(e.item[n]):void 0},D=function(e){return C(e,"label")},K=function(e){return!1!==C(e,"visible")},A=function(e){return C(e,"disabled")},T=function(e){return b&&b.some((function(n){return n.key===e.parentKey}))},R=function(){return P.current&&P.current.getElement()},_=function(e){var n=s.isNotEmpty(c)?$(c):W();Z({originalEvent:e,processedItem:n,focusOnNext:!0}),e.preventDefault()},L=function(e){var n=s.isNotEmpty(c)?G(c):Y();Z({originalEvent:e,processedItem:n,selfCheck:!0}),e.preventDefault()},F=function(e){s.isNotEmpty(c)&&(b.some((function(e){return e.key===c.key}))?y(b.filter((function(e){return e.key!==c.key}))):l(s.isNotEmpty(c.parent)?c.parent:c),e.preventDefault())},H=function(e){if(s.isNotEmpty(c)){if(s.isNotEmpty(c.items))if(b.some((function(e){return e.key===c.key})))_(e);else{var n=b.filter((function(e){return e.parentKey!==c.parentKey}));n.push(c),y(n)}e.preventDefault()}},M=function(e){Z({originalEvent:e,processedItem:W(),allowHeaderFocus:!1}),e.preventDefault()},q=function(e){Z({originalEvent:e,processedItem:Y(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},J=function(e){if(s.isNotEmpty(c)){var n=p.findSingle(R(),'li[id="'.concat("".concat(f),'"]')),t=n&&(p.findSingle(n,'[data-pc-section="action"]')||p.findSingle(n,"a,button"));t?t.click():n&&n.click()}e.preventDefault()},X=function(e){J(e)},U=function(e,n){var t=e.currentTarget.closest('[data-pc-section="panel"]');return t&&t.contains(n)},V=function(e){return z(e)&&D(e).toLocaleLowerCase().startsWith(N.current.toLocaleLowerCase())},B=function(e){return!!e&&(0===e.level||T(e))&&K(e)},z=function(e){return!!e&&!A(e)&&!C(e,"separator")},W=function(){return x.find((function(e){return z(e)}))},Y=function(){return s.findLast(x,(function(e){return z(e)}))},$=function(e){var n=x.findIndex((function(n){return n.key===e.key}));return(n<x.length-1?x.slice(n+1).find((function(e){return z(e)})):void 0)||e},G=function(e){var n=x.findIndex((function(n){return n.key===e.key}));return(n>0?s.findLast(x.slice(0,n),(function(e){return z(e)})):void 0)||e},Q=function(e,n){N.current=(N.current||"")+n;var t=null,r=!1;if(s.isNotEmpty(c)){var a=x.findIndex((function(e){return e.key===c.key}));t=x.slice(a).find((function(e){return V(e)})),t=s.isEmpty(t)?x.slice(0,a).find((function(e){return V(e)})):t}else t=x.find((function(e){return V(e)}));return s.isNotEmpty(t)&&(r=!0),s.isEmpty(t)&&s.isEmpty(c)&&(t=W()),s.isNotEmpty(t)&&Z({originalEvent:e,processedItem:t,allowHeaderFocus:!1}),w&&clearTimeout(w.current),w.current=setTimeout((function(){N.current="",w.currentt=null}),500),r},Z=function(e){var t=e.originalEvent,r=e.processedItem,a=e.focusOnNext,o=e.selfCheck,i=e.allowHeaderFocus,u=void 0===i||i;s.isNotEmpty(c)&&c.key!==r.key?(l(r),ee()):u&&n.onHeaderFocus&&n.onHeaderFocus({originalEvent:t,focusOnNext:a,selfCheck:o})},ee=function(){var e=p.findSingle(R(),'li[id="'.concat("".concat(f),'"]'));e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},ne=function e(t,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=r||0===a&&n.model;if(!o)return null;for(var i=0;i<o.length;i++){var u=o[i];if((C(u,"key")||u.key)===t)return u;var c=e(t,u.items,a+1);if(c)return c}},te=function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return n&&n.forEach((function(n,i){var u=n.key?n.key:(""!==a?a+"_":"")+i,c={item:n,index:i,level:t,key:u,parent:r,parentKey:a};c.items=e(n.items,t+1,c,u),o.push(c)})),o},re=function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return n&&n.forEach((function(n){B(n)&&(t.push(n),e(n.items,t))})),t};return e.useEffect((function(){var e=te(n.model);E(e)}),[n.model]),e.useEffect((function(){var e=re(h);k(e)}),[h,b]),e.useEffect((function(){var e;e=Object.entries(n.expandedKeys||{}).reduce((function(e,n){var t=O(n,2);if(t[1]){var r=ne(t[0]);r&&e.push(r)}return e}),[]),y(e)}),[n.expandedKeys]),S((function(){var e=s.isNotEmpty(c)?"".concat(n.panelId,"_").concat(c.key):null;d(e)}),[n.panelId,c]),e.createElement(j,{hostName:"PanelMenu",id:n.panelId+"_list",ref:P,role:"tree",tabIndex:-1,ariaActivedescendant:o?f:void 0,panelId:n.panelId,focusedItemId:o?f:void 0,model:h,activeItemPath:b,menuProps:n.menuProps,onFocus:function(e){i(!0);var n=c||(U(e,e.relatedTarget)?W():Y());l(n)},onBlur:function(){i(!1),l(null),N.current=""},onKeyDown:function(e){var n=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":_(e);break;case"ArrowUp":L(e);break;case"ArrowLeft":F(e);break;case"ArrowRight":H(e);break;case"Home":M(e);break;case"End":q(e);break;case"Space":X(e);break;case"Enter":case"NumpadEnter":J(e);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&s.isPrintableCharacter(e.key)&&Q(e,e.key)}},onItemToggle:function(e){var t=e.processedItem,r=e.expanded;if(n.expandedKeys)n.onToggle&&n.onToggle({item:t.item,expanded:r});else{var a=b.filter((function(e){return e.parentKey!==t.parentKey}));r&&a.push(t),y(a)}p.focus(R()),l(t)},level:0,className:r("submenu"),submenuIcon:n.submenuIcon,root:!0,ptm:t,cx:r})}));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 A(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){g(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}D.displayName="PanelMenuList";var T=e.memo(e.forwardRef((function(t,v){var b=o(),y=e.useContext(n),g=w.getProps(t,y),E=O(e.useState(g.id),2),I=E[0],x=E[1],k=O(e.useState(null),2),N=k[0],P=k[1],C=O(e.useState([]),2),j=C[0],K=C[1],T=O(e.useState(!1),2),R=T[1],_=e.useRef(null),L=w.setMetaData({props:g,state:{id:I,activeItem:N}}),F=L.ptm,H=L.cx;r(w.css.styles,L.isUnstyled,{name:"panelmenu"});var M=function(e,n){n.disabled?e.preventDefault():(n.url||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),n.items&&ie(e,n))},q=function(e,n){return e?s.getItemValue(e[n]):void 0},J=function(e){return g.expandedKeys?g.expandedKeys[q(e,"key")]:g.multiple?j.some((function(n){return s.equals(e,n)})):s.equals(e,N)},X=function(e){return!1!==q(e,"visible")},U=function(e){return q(e,"disabled")},V=function(e){return s.equals(e,N)},B=function(e){return"".concat(I,"_").concat(e)},z=function(e){return"".concat(B(e),"_header")},W=function(e){return"".concat(B(e),"_content")},Y=function(e,n){switch(e.code){case"ArrowDown":$(e);break;case"ArrowUp":G(e);break;case"Home":Q(e);break;case"End":Z(e);break;case"Enter":case"NumpadEnter":case"Space":ee(e,n)}},$=function(e){var n=!0===p.getAttribute(e.currentTarget,"data-p-highlight")?p.findSingle(e.currentTarget.nextElementSibling,'[data-pc-section="menu"]'):null;n?p.focus(n):oe({originalEvent:e,focusOnNext:!0}),e.preventDefault()},G=function(e){var n=te(e.currentTarget.parentElement)||ae(),t=!0===p.getAttribute(n,"data-p-highlight")?p.findSingle(n.nextElementSibling,'[data-pc-section="menu"]'):null;t?p.focus(t):oe({originalEvent:e,focusOnNext:!1}),e.preventDefault()},Q=function(e){ce(e,re()),e.preventDefault()},Z=function(e){ce(e,ae()),e.preventDefault()},ee=function(e,n){var t=p.findSingle(e.currentTarget,'[data-pc-section="headeraction"]');t?t.click():M(e,n),e.preventDefault()},ne=function e(n){var t=p.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n:n.nextElementSibling,'[data-pc-section="header"]');return t?p.getAttribute(t,"data-p-disabled")?e(t.parentElement):t:null},te=function e(n){var t=p.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n:n.previousElementSibling,'[data-pc-section="header"]');return t?p.getAttribute(t,"data-p-disabled")?e(t.parentElement):t:null},re=function(){return ne(_.current.firstElementChild,!0)},ae=function(){return te(_.current.lastElementChild,!0)},oe=function(e){var n=e.originalEvent,t=e.focusOnNext,r=e.selfCheck,a=n.currentTarget.closest('[data-pc-section="panel"]'),o=r?p.findSingle(a,'[data-pc-section="header"]'):t?ne(a):te(a);o?ce(n,o):t?Q(n):Z(n)},ie=function(e,n){if(!U(n)){var t=J(n),r=!t,a=N&&s.equals(n,N)?null:n;if(P(a),g.multiple){var o=j;j.some((function(e){return s.equals(n,e)}))?(j.filter((function(e){return!s.equals(n,e)})),h("activeItems")):o.push(n),K(o)}ue({item:n,expanded:!t}),r?g.onOpen&&g.onOpen({originalEvent:e,item:n}):g.onClose&&g.onClose({originalEvent:e,item:n})}},ue=function(e){var n=e.item,t=e.expanded,r=void 0!==t&&t;if(g.expandedKeys){var a=A({},g.expandedKeys);r?a[n.key]=!0:delete a[n.key],g.onExpandedKeysChange&&g.onExpandedKeysChange(a)}},ce=function(e,n){n&&p.focus(n)},le=function(e,n,t){return F(n,{context:{active:J(e),focused:V(e),disabled:U(e),index:t}})};e.useImperativeHandle(v,(function(){return{props:g,getElement:function(){return _.current}}})),i((function(){!I&&x(f())})),S((function(){R(!0)}),[g.model]);var se=function(){R(!1)},me=g.model?g.model.map((function(n,t){if(!X(n))return null;var r=n.id||I+"_"+t,o=J(n),i=l("p-menuitem-icon",n.icon),p=b({className:H("headerIcon",{item:n})},le(n,"headerIcon",t)),f=m.getJSXIcon(n.icon,A({},p),{props:g}),v=b({className:H("headerSubmenuIcon")},le(n,"headerSubmenuIcon",t)),y=n.items&&m.getJSXIcon(o?g.submenuIcon||e.createElement(u,v):g.submenuIcon||e.createElement(c,v)),h=b({className:H("headerLabel")},le(n,"headerLabel",t)),E=n.label&&e.createElement("span",h,n.label),x=e.createRef(),k=b({href:n.url||"#",className:H("headerAction"),tabIndex:"-1"},le(n,"headerAction",t)),N=e.createElement("a",k,y,f,E);n.template&&(N=s.getJSXElement(n.template,n,{onClick:function(e){return M(e,n)},className:"p-panelmenu-header-link",labelClassName:"p-menuitem-text",submenuIconClassName:"p-panelmenu-icon",iconClassName:i,element:N,props:g,leaf:!n.items,active:o}));var O=b({key:r,className:H("panel",{item:n}),style:n.style},le(n,"panel",t)),S=b({id:z(t),className:H("header",{active:o,item:n}),"aria-label":n.label,"aria-expanded":o,"aria-disabled":n.disabled,"aria-controls":W(t),tabIndex:n.disabled?null:"0",onClick:function(e){return M(e,n)},onKeyDown:function(e){return Y(e,n)},"data-p-disabled":n.disabled,"data-p-highlight":o,role:"button",style:n.style},le(n,"header",t)),w=b({className:H("headerContent")},le(n,"headerContent",t)),P=b({className:H("menuContent")},le(n,"menuContent",t)),C=b({className:H("toggleableContent",{active:o}),role:"region","aria-labelledby":z(t)},le(n,"toggleableContent",t)),j=b({classNames:H("transition"),timeout:{enter:1e3,exit:450},onEnter:se,in:o,unmountOnExit:!0,options:g.transitionOptions},le(n,"transition",t));return e.createElement("div",O,e.createElement("div",S,e.createElement("div",w,N)),e.createElement(a,d({nodeRef:x},j),e.createElement("div",d({id:W(t),ref:x},C),e.createElement("div",P,e.createElement(D,{panelId:B(t),menuProps:g,onToggle:ue,onHeaderFocus:oe,level:0,model:n.items,expandedKeys:g.expandedKeys,className:"p-panelmenu-root-submenu",submenuIcon:g.submenuIcon,ptm:F,cx:H})))))})):null,pe=b({ref:_,className:H("root"),id:g.id,style:g.style},w.getOtherProps(g),F("root"));return e.createElement("div",pe,me)})));T.displayName="PanelMenu";export{T as PanelMenu};
|
|
1
|
+
import*as e from"react";import{PrimeReactContext as n}from"primereact/api";import{ComponentBase as t,useHandleStyle as r}from"primereact/componentbase";import{CSSTransition as a}from"primereact/csstransition";import{useMergeProps as o,useMountEffect as i}from"primereact/hooks";import{ChevronDownIcon as u}from"primereact/icons/chevrondown";import{ChevronRightIcon as l}from"primereact/icons/chevronright";import{classNames as c,ObjectUtils as s,IconUtils as m,DomHandler as p,UniqueComponentId as f}from"primereact/utils";function d(){return d=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},d.apply(this,arguments)}function v(e){return v="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},v(e)}function b(e,n){if("object"!==v(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!==v(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"===v(n)?n:String(n)}function g(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 h(e){throw new TypeError('"'+e+'" is read-only')}function E(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,o,i,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,a=e}finally{try{if(!l&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(c)throw a}}return u}}function x(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function k(e,n){if(e){if("string"==typeof e)return x(e,n);var t=Object.prototype.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 N(){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 O(e,n){return E(e)||I(e,n)||k(e,n)||N()}var S=t.extend({defaultProps:{__TYPE:"PanelMenu",id:null,model:null,style:null,submenuIcon:null,expandedKeys:null,className:null,onExpandedKeysChange:null,onOpen:null,onClose:null,multiple:!1,transitionOptions:null,children:void 0},css:{classes:{headerIcon:function(e){return c("p-menuitem-icon",e.item.icon)},headerSubmenuIcon:"p-submenu-icon",headerLabel:"p-menuitem-text",headerAction:"p-panelmenu-header-link",panel:function(e){return c("p-panelmenu-panel",e.item.className)},header:function(e){var n=e.item;return c("p-component p-panelmenu-header",{"p-highlight":e.active&&!!n.items,"p-disabled":n.disabled})},headerContent:"p-panelmenu-header-content",menuContent:"p-panelmenu-content",root:function(e){return c("p-panelmenu p-component",e.props.className)},separator:"p-menuitem-separator",toggleableContent:function(e){return c("p-toggleable-content",{"p-toggleable-content-collapsed":!e.active})},icon:function(e){return c("p-menuitem-icon",e.item.icon)},label:"p-menuitem-text",submenuicon:"p-submenu-icon",content:"p-menuitem-content",action:function(e){return c("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return c("p-menuitem",e.item.className,{"p-focus":e.focused,"p-disabled":e.disabled})},menu:"p-panelmenu-root-list",submenu:"p-submenu-list",transition:"p-toggleable-content"},styles:"\n@layer primereact {\n .p-panelmenu .p-panelmenu-header-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n }\n\n .p-panelmenu .p-panelmenu-header-link:focus {\n z-index: 1;\n }\n\n .p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n }\n\n .p-panelmenu .p-menuitem-text {\n line-height: 1;\n }\n}\n"}});function w(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?w(Object(t),!0).forEach((function(n){g(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):w(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var C=e.memo(e.forwardRef((function(n,t){var r=o(),i=n.ptm,p=n.cx,f=e.useRef(null),v=function(e,t){return i(e,P({hostName:n.hostName},t))},b=function(e,n,t){return v(n,{context:{item:e,index:t,active:h(e),focused:x(e),disabled:I(e)}})},y=function(e){return"".concat(n.panelId,"_").concat(e.key)},g=function(e,n,t){return e&&e.item?s.getItemValue(e.item[n],t):void 0},h=function(e){return n.activeItemPath&&n.activeItemPath.some((function(n){return n.key===e.key}))},E=function(e){return!1!==g(e,"visible")},I=function(e){return g(e,"disabled")},x=function(e){return n.focusedItemId===y(e)},k=function(e){return s.isNotEmpty(e.items)},N=function(e,n){g(n,"url")||e.preventDefault(),g(n,"command",{originalEvent:e,item:n.item}),O({processedItem:n,expanded:!h(n)})},O=function(e){n.onItemToggle(e)},S=function(e){return e-n.model.slice(0,e).filter((function(e){return E(e)&&g(e,"separator")})).length+1};e.useImperativeHandle(t,(function(){return{getElement:function(){return f.current}}}));var w=function(t){var a=n.id+"_sep_"+t,o=r({id:a,key:a,className:p("separator"),role:"separator"},v("separator"));return e.createElement("li",o)},j=function(t,o){var u=e.createRef(),l=r({className:p("toggleableContent",{active:o})},v("toggleableContent"));if(E(t)&&k(t)){var c=r({classNames:p("transition"),timeout:{enter:1e3,exit:450},in:o,unmountOnExit:!0},v("transition"));return e.createElement(a,d({nodeRef:u},c),e.createElement("div",d({ref:u},l),e.createElement(C,{id:y(t)+"_list",role:"group",panelId:n.panelId,level:n.level+1,focusedItemId:n.focusedItemId,activeItemPath:n.activeItemPath,onItemToggle:O,menuProps:n.menuProps,model:t.items,submenuIcon:n.submenuIcon,ptm:i,cx:p})))}return null},D=function(t,a){var o=t.item;if(!1===E(t))return null;var i=y(t),f=h(t),d=x(t),v=I(o),O=c("p-menuitem-link",{"p-disabled":o.disabled}),w=c("p-menuitem-icon",o.icon),C=r({className:p("icon",{item:o})},b(t,"icon",a)),D=m.getJSXIcon(o.icon,P({},C),{props:n.menuProps}),K=r({className:p("label")},b(t,"label",a)),A=o.label&&e.createElement("span",K,o.label),T=r({className:p("submenuicon")},b(t,"submenuicon",a)),R=o.items&&m.getJSXIcon(f?n.submenuIcon||e.createElement(u,T):n.submenuIcon||e.createElement(l,T)),_=j(t,f),L=r({href:o.url||"#",className:p("action",{item:o}),target:o.target,onFocus:function(e){return e.stopPropagation()},tabIndex:"-1","aria-hidden":!0},b(t,"action",a)),F=e.createElement("a",L,R,D,A);o.template&&(F=s.getJSXElement(o.template,o,{className:O,labelClassName:"p-menuitem-text",iconClassName:w,submenuIconClassName:"p-panelmenu-icon",element:F,props:n,leaf:!o.items,active:f}));var H=r({onClick:function(e){return N(e,t)},className:p("content")},b(t,"content",a)),M=r({key:i,id:i,className:p("menuitem",{item:o,focused:d,disabled:v}),style:o.style,role:"treeitem","aria-label":o.label,"aria-expanded":k(o)?f:void 0,"aria-level":n.level+1,"aria-setsize":n.model.filter((function(e){return E(e)&&!g(e,"separator")})).length,"aria-posinset":S(a),"data-p-focused":d,"data-p-disabled":v},b(t,"menuitem",a));return e.createElement("li",M,e.createElement("div",H,F),_)},K=n.model?n.model.map((function(e,n){return g(e,"separator")?w(n):D(e,n)})):null,A=n.root?"menu":"submenu",T=r({id:n.id,ref:f,tabIndex:n.tabIndex,onFocus:n.onFocus,onBlur:n.onBlur,onKeyDown:n.onKeyDown,"aria-activedescendant":n.ariaActivedescendant,role:n.role,className:c(p(A),n.className)},i(A));return e.createElement("ul",T,K)})));C.displayName="PanelMenuSub";var j=e.memo((function(n){var t,r,a,o=n.ptm,i=n.cx,u=O(e.useState(!1),2),l=u[0],c=u[1],m=O(e.useState(null),2),f=m[0],d=m[1],v=O(e.useState(null),2),b=v[0],y=v[1],g=O(e.useState([]),2),h=g[0],E=g[1],I=O(e.useState(null),2),x=I[0],k=I[1],N=O(e.useState([]),2),S=N[0],w=N[1],P=e.useRef(null),j=e.useRef(null),D=e.useRef(null),K=function(e,n){return e&&e.item?s.getItemValue(e.item[n]):void 0},A=function(e){return K(e,"label")},T=function(e){return!1!==K(e,"visible")},R=function(e){return K(e,"disabled")},_=function(e){return h&&h.some((function(n){return n.key===e.parentKey}))},L=function(){return D.current&&D.current.getElement()},F=function(e){var n=s.isNotEmpty(f)?Q(f):$();ne({originalEvent:e,processedItem:n,focusOnNext:!0}),e.preventDefault()},H=function(e){var n=s.isNotEmpty(f)?Z(f):G();ne({originalEvent:e,processedItem:n,selfCheck:!0}),e.preventDefault()},M=function(e){s.isNotEmpty(f)&&(h.some((function(e){return e.key===f.key}))?E(h.filter((function(e){return e.key!==f.key}))):d(s.isNotEmpty(f.parent)?f.parent:f),e.preventDefault())},q=function(e){if(s.isNotEmpty(f)){if(s.isNotEmpty(f.items))if(h.some((function(e){return e.key===f.key})))F(e);else{var n=h.filter((function(e){return e.parentKey!==f.parentKey}));n.push(f),E(n)}e.preventDefault()}},J=function(e){ne({originalEvent:e,processedItem:$(),allowHeaderFocus:!1}),e.preventDefault()},X=function(e){ne({originalEvent:e,processedItem:G(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},U=function(e){if(s.isNotEmpty(f)){var n=p.findSingle(L(),'li[id="'.concat("".concat(b),'"]')),t=n&&(p.findSingle(n,'[data-pc-section="action"]')||p.findSingle(n,"a,button"));t?t.click():n&&n.click()}e.preventDefault()},V=function(e){U(e)},B=function(e,n){var t=e.currentTarget.closest('[data-pc-section="panel"]');return t&&t.contains(n)},z=function(e){return Y(e)&&A(e).toLocaleLowerCase().startsWith(P.current.toLocaleLowerCase())},W=function(e){return!!e&&(0===e.level||_(e))&&T(e)},Y=function(e){return!!e&&!R(e)&&!K(e,"separator")},$=function(){return S.find((function(e){return Y(e)}))},G=function(){return s.findLast(S,(function(e){return Y(e)}))},Q=function(e){var n=S.findIndex((function(n){return n.key===e.key}));return(n<S.length-1?S.slice(n+1).find((function(e){return Y(e)})):void 0)||e},Z=function(e){var n=S.findIndex((function(n){return n.key===e.key}));return(n>0?s.findLast(S.slice(0,n),(function(e){return Y(e)})):void 0)||e},ee=function(e,n){P.current=(P.current||"")+n;var t=null,r=!1;if(s.isNotEmpty(f)){var a=S.findIndex((function(e){return e.key===f.key}));t=S.slice(a).find((function(e){return z(e)})),t=s.isEmpty(t)?S.slice(0,a).find((function(e){return z(e)})):t}else t=S.find((function(e){return z(e)}));return s.isNotEmpty(t)&&(r=!0),s.isEmpty(t)&&s.isEmpty(f)&&(t=$()),s.isNotEmpty(t)&&ne({originalEvent:e,processedItem:t,allowHeaderFocus:!1}),j&&clearTimeout(j.current),j.current=setTimeout((function(){P.current="",j.currentt=null}),500),r},ne=function(e){var t=e.originalEvent,r=e.processedItem,a=e.focusOnNext,o=e.selfCheck,i=e.allowHeaderFocus,u=void 0===i||i;s.isNotEmpty(f)&&f.key!==r.key?(d(r),te()):u&&n.onHeaderFocus&&n.onHeaderFocus({originalEvent:t,focusOnNext:a,selfCheck:o})},te=function(){var e=p.findSingle(L(),'li[id="'.concat("".concat(b),'"]'));e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},re=function e(t,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=r||0===a&&n.model;if(!o)return null;for(var i=0;i<o.length;i++){var u=o[i];if((K(u,"key")||u.key)===t)return u;var l=e(t,u.items,a+1);if(l)return l}},ae=function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return n&&n.forEach((function(n,i){var u=n.key?n.key:(""!==a?a+"_":"")+i,l={item:n,index:i,level:t,key:u,parent:r,parentKey:a};l.items=e(n.items,t+1,l,u),o.push(l)})),o},oe=function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return n&&n.forEach((function(n){W(n)&&(t.push(n),e(n.items,t))})),t};return e.useEffect((function(){var e=ae(n.model);k(e)}),[n.model]),e.useEffect((function(){var e=oe(x);w(e)}),[x,h]),e.useEffect((function(){var e;e=Object.entries(n.expandedKeys||{}).reduce((function(e,n){var t=O(n,2);if(t[1]){var r=re(t[0]);r&&e.push(r)}return e}),[]),E(e)}),[n.expandedKeys]),t=function(){var e=s.isNotEmpty(f)?"".concat(n.panelId,"_").concat(f.key):null;y(e)},r=[n.panelId,f],a=e.useRef(!1),e.useEffect((function(){if(a.current)return t&&t();a.current=!0}),r),e.createElement(C,{hostName:"PanelMenu",id:n.panelId+"_list",ref:D,role:"tree",tabIndex:-1,ariaActivedescendant:l?b:void 0,panelId:n.panelId,focusedItemId:l?b:void 0,model:x,activeItemPath:h,menuProps:n.menuProps,onFocus:function(e){c(!0);var n=f||(B(e,e.relatedTarget)?$():G());d(n)},onBlur:function(){c(!1),d(null),P.current=""},onKeyDown:function(e){var n=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":F(e);break;case"ArrowUp":H(e);break;case"ArrowLeft":M(e);break;case"ArrowRight":q(e);break;case"Home":J(e);break;case"End":X(e);break;case"Space":V(e);break;case"Enter":case"NumpadEnter":U(e);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&s.isPrintableCharacter(e.key)&&ee(e,e.key)}},onItemToggle:function(e){var t=e.processedItem,r=e.expanded;if(n.expandedKeys)n.onToggle&&n.onToggle({item:t.item,expanded:r});else{var a=h.filter((function(e){return e.parentKey!==t.parentKey}));r&&a.push(t),E(a)}p.focus(L()),d(t)},level:0,className:i("submenu"),submenuIcon:n.submenuIcon,root:!0,ptm:o,cx:i})}));function D(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?D(Object(t),!0).forEach((function(n){g(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):D(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}j.displayName="PanelMenuList";var A=e.memo(e.forwardRef((function(t,v){var b=o(),y=e.useContext(n),g=S.getProps(t,y),E=O(e.useState(g.id),2),I=E[0],x=E[1],k=O(e.useState(null),2),N=k[0],w=k[1],P=O(e.useState([]),2),C=P[0],D=P[1],A=O(e.useState(!1),2),T=A[1],R=e.useRef(null),_=S.setMetaData({props:g,state:{id:I,activeItem:N}}),L=_.ptm,F=_.cx;r(S.css.styles,_.isUnstyled,{name:"panelmenu"});var H=function(e,n){n.disabled?e.preventDefault():(n.url||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),n.items&&oe(e,n))},M=function(e,n){return e?s.getItemValue(e[n]):void 0},q=function(e){return g.expandedKeys?g.expandedKeys[M(e,"key")]:g.multiple?C.some((function(n){return s.equals(e,n)})):s.equals(e,N)},J=function(e){return!1!==M(e,"visible")},X=function(e){return M(e,"disabled")},U=function(e){return s.equals(e,N)},V=function(e){return"".concat(I,"_").concat(e)},B=function(e){return"".concat(V(e),"_header")},z=function(e){return"".concat(V(e),"_content")},W=function(e,n){switch(e.code){case"ArrowDown":Y(e);break;case"ArrowUp":$(e);break;case"Home":G(e);break;case"End":Q(e);break;case"Enter":case"NumpadEnter":case"Space":Z(e,n)}},Y=function(e){var n=!0===p.getAttribute(e.currentTarget,"data-p-highlight")?p.findSingle(e.currentTarget.nextElementSibling,'[data-pc-section="menu"]'):null;n?p.focus(n):ae({originalEvent:e,focusOnNext:!0}),e.preventDefault()},$=function(e){var n=ne(e.currentTarget.parentElement)||re(),t=!0===p.getAttribute(n,"data-p-highlight")?p.findSingle(n.nextElementSibling,'[data-pc-section="menu"]'):null;t?p.focus(t):ae({originalEvent:e,focusOnNext:!1}),e.preventDefault()},G=function(e){ue(e,te()),e.preventDefault()},Q=function(e){ue(e,re()),e.preventDefault()},Z=function(e,n){var t=p.findSingle(e.currentTarget,'[data-pc-section="headeraction"]');t?t.click():H(e,n),e.preventDefault()},ee=function e(n){var t=p.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n:n.nextElementSibling,'[data-pc-section="header"]');return t?p.getAttribute(t,"data-p-disabled")?e(t.parentElement):t:null},ne=function e(n){var t=p.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n:n.previousElementSibling,'[data-pc-section="header"]');return t?p.getAttribute(t,"data-p-disabled")?e(t.parentElement):t:null},te=function(){return ee(R.current.firstElementChild,!0)},re=function(){return ne(R.current.lastElementChild,!0)},ae=function(e){var n=e.originalEvent,t=e.focusOnNext,r=e.selfCheck,a=n.currentTarget.closest('[data-pc-section="panel"]'),o=r?p.findSingle(a,'[data-pc-section="header"]'):t?ee(a):ne(a);o?ue(n,o):t?G(n):Q(n)},oe=function(e,n){if(!X(n)){var t=!q(n),r=N&&s.equals(n,N)?null:n;if(w(r),g.multiple){var a=C;C.some((function(e){return s.equals(n,e)}))?(C.filter((function(e){return!s.equals(n,e)})),h("activeItems")):a.push(n),D(a)}ie({item:n,expanded:t}),t&&e?g.onOpen&&g.onOpen({originalEvent:e,item:n}):g.onClose&&g.onClose({originalEvent:e,item:n})}},ie=function(e){var n=e.item,t=e.expanded,r=void 0!==t&&t;if(g.expandedKeys){var a=K({},g.expandedKeys);r?a[n.key]=!0:delete a[n.key],g.onExpandedKeysChange&&g.onExpandedKeysChange(a)}},ue=function(e,n){n&&p.focus(n)},le=function(e,n,t){return L(n,{context:{active:q(e),focused:U(e),disabled:X(e),index:t}})};e.useImperativeHandle(v,(function(){return{props:g,getElement:function(){return R.current}}})),i((function(){!I&&x(f())})),e.useEffect((function(){T(!0),g.model&&g.model.forEach((function(e){e.expanded&&(oe(null,e),e.expanded=!1)}))}),[g.model]);var ce=function(){T(!1)},se=g.model?g.model.map((function(n,t){if(!J(n))return null;var r=n.id||I+"_"+t,o=q(n)||n.expanded,i=c("p-menuitem-icon",n.icon),p=b({className:F("headerIcon",{item:n})},le(n,"headerIcon",t)),f=m.getJSXIcon(n.icon,K({},p),{props:g}),v=b({className:F("headerSubmenuIcon")},le(n,"headerSubmenuIcon",t)),y=n.items&&m.getJSXIcon(o?g.submenuIcon||e.createElement(u,v):g.submenuIcon||e.createElement(l,v)),h=b({className:F("headerLabel")},le(n,"headerLabel",t)),E=n.label&&e.createElement("span",h,n.label),x=e.createRef(),k=b({href:n.url||"#",className:F("headerAction"),tabIndex:"-1"},le(n,"headerAction",t)),N=e.createElement("a",k,y,f,E);n.template&&(N=s.getJSXElement(n.template,n,{onClick:function(e){return H(e,n)},className:"p-panelmenu-header-link",labelClassName:"p-menuitem-text",submenuIconClassName:"p-panelmenu-icon",iconClassName:i,element:N,props:g,leaf:!n.items,active:o}));var O=b({key:r,className:F("panel",{item:n}),style:n.style},le(n,"panel",t)),S=b({id:B(t),className:F("header",{active:o,item:n}),"aria-label":n.label,"aria-expanded":o,"aria-disabled":n.disabled,"aria-controls":z(t),tabIndex:n.disabled?null:"0",onClick:function(e){return H(e,n)},onKeyDown:function(e){return W(e,n)},"data-p-disabled":n.disabled,"data-p-highlight":o,role:"button",style:n.style},le(n,"header",t)),w=b({className:F("headerContent")},le(n,"headerContent",t)),P=b({className:F("menuContent")},le(n,"menuContent",t)),C=b({className:F("toggleableContent",{active:o}),role:"region","aria-labelledby":B(t)},le(n,"toggleableContent",t)),D=b({classNames:F("transition"),timeout:{enter:1e3,exit:450},onEnter:ce,in:o,unmountOnExit:!0,options:g.transitionOptions},le(n,"transition",t));return e.createElement("div",O,e.createElement("div",S,e.createElement("div",w,N)),e.createElement(a,d({nodeRef:x},D),e.createElement("div",d({id:z(t),ref:x},C),e.createElement("div",P,e.createElement(j,{panelId:V(t),menuProps:g,onToggle:ie,onHeaderFocus:ae,level:0,model:n.items,expandedKeys:g.expandedKeys,className:"p-panelmenu-root-submenu",submenuIcon:g.submenuIcon,ptm:L,cx:F})))))})):null,me=b({ref:R,className:F("root"),id:g.id,style:g.style},S.getOtherProps(g),L("root"));return e.createElement("div",me,se)})));A.displayName="PanelMenu";export{A as PanelMenu};
|
package/panelmenu/panelmenu.js
CHANGED
|
@@ -137,19 +137,6 @@ this.primereact.panelmenu = (function (exports, React, api, componentbase, csstr
|
|
|
137
137
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
/* eslint-disable */
|
|
141
|
-
var useUpdateEffect = function useUpdateEffect(fn, deps) {
|
|
142
|
-
var mounted = React__namespace.useRef(false);
|
|
143
|
-
return React__namespace.useEffect(function () {
|
|
144
|
-
if (!mounted.current) {
|
|
145
|
-
mounted.current = true;
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
return fn && fn();
|
|
149
|
-
}, deps);
|
|
150
|
-
};
|
|
151
|
-
/* eslint-enable */
|
|
152
|
-
|
|
153
140
|
var classes = {
|
|
154
141
|
headerIcon: function headerIcon(_ref) {
|
|
155
142
|
var item = _ref.item;
|
|
@@ -232,6 +219,19 @@ this.primereact.panelmenu = (function (exports, React, api, componentbase, csstr
|
|
|
232
219
|
}
|
|
233
220
|
});
|
|
234
221
|
|
|
222
|
+
/* eslint-disable */
|
|
223
|
+
var useUpdateEffect = function useUpdateEffect(fn, deps) {
|
|
224
|
+
var mounted = React__namespace.useRef(false);
|
|
225
|
+
return React__namespace.useEffect(function () {
|
|
226
|
+
if (!mounted.current) {
|
|
227
|
+
mounted.current = true;
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
return fn && fn();
|
|
231
|
+
}, deps);
|
|
232
|
+
};
|
|
233
|
+
/* eslint-enable */
|
|
234
|
+
|
|
235
235
|
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
236
236
|
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
237
237
|
var PanelMenuSub = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
|
|
@@ -937,9 +937,13 @@ this.primereact.panelmenu = (function (exports, React, api, componentbase, csstr
|
|
|
937
937
|
return item ? utils.ObjectUtils.getItemValue(item[name]) : undefined;
|
|
938
938
|
};
|
|
939
939
|
var isItemActive = function isItemActive(item) {
|
|
940
|
-
|
|
941
|
-
return
|
|
942
|
-
}
|
|
940
|
+
if (props.expandedKeys) {
|
|
941
|
+
return props.expandedKeys[getItemProp(item, 'key')];
|
|
942
|
+
} else {
|
|
943
|
+
return props.multiple ? activeItemsState.some(function (subItem) {
|
|
944
|
+
return utils.ObjectUtils.equals(item, subItem);
|
|
945
|
+
}) : utils.ObjectUtils.equals(item, activeItemState);
|
|
946
|
+
}
|
|
943
947
|
};
|
|
944
948
|
var isItemVisible = function isItemVisible(item) {
|
|
945
949
|
return getItemProp(item, 'visible') !== false;
|
|
@@ -1039,7 +1043,7 @@ this.primereact.panelmenu = (function (exports, React, api, componentbase, csstr
|
|
|
1039
1043
|
var changeActiveItem = function changeActiveItem(event, item) {
|
|
1040
1044
|
if (!isItemDisabled(item)) {
|
|
1041
1045
|
var active = isItemActive(item);
|
|
1042
|
-
var
|
|
1046
|
+
var isExpanded = !active;
|
|
1043
1047
|
var _activeItemState = activeItemState && utils.ObjectUtils.equals(item, activeItemState) ? null : item;
|
|
1044
1048
|
setActiveItemState(_activeItemState);
|
|
1045
1049
|
if (props.multiple) {
|
|
@@ -1057,9 +1061,9 @@ this.primereact.panelmenu = (function (exports, React, api, componentbase, csstr
|
|
|
1057
1061
|
}
|
|
1058
1062
|
changeExpandedKeys({
|
|
1059
1063
|
item: item,
|
|
1060
|
-
expanded:
|
|
1064
|
+
expanded: isExpanded
|
|
1061
1065
|
});
|
|
1062
|
-
|
|
1066
|
+
isExpanded && event ? props.onOpen && props.onOpen({
|
|
1063
1067
|
originalEvent: event,
|
|
1064
1068
|
item: item
|
|
1065
1069
|
}) : props.onClose && props.onClose({
|
|
@@ -1102,8 +1106,15 @@ this.primereact.panelmenu = (function (exports, React, api, componentbase, csstr
|
|
|
1102
1106
|
hooks.useMountEffect(function () {
|
|
1103
1107
|
!idState && setIdState(utils.UniqueComponentId());
|
|
1104
1108
|
});
|
|
1105
|
-
|
|
1109
|
+
React__namespace.useEffect(function () {
|
|
1106
1110
|
setAnimationDisabled(true);
|
|
1111
|
+
props.model && props.model.forEach(function (item) {
|
|
1112
|
+
if (item.expanded) {
|
|
1113
|
+
changeActiveItem(null, item);
|
|
1114
|
+
item.expanded = false;
|
|
1115
|
+
}
|
|
1116
|
+
});
|
|
1117
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1107
1118
|
}, [props.model]);
|
|
1108
1119
|
var onEnter = function onEnter() {
|
|
1109
1120
|
setAnimationDisabled(false);
|
|
@@ -1113,7 +1124,7 @@ this.primereact.panelmenu = (function (exports, React, api, componentbase, csstr
|
|
|
1113
1124
|
return null;
|
|
1114
1125
|
}
|
|
1115
1126
|
var key = item.id || idState + '_' + index;
|
|
1116
|
-
var active = isItemActive(item);
|
|
1127
|
+
var active = isItemActive(item) || item.expanded;
|
|
1117
1128
|
var iconClassName = utils.classNames('p-menuitem-icon', item.icon);
|
|
1118
1129
|
var headerIconProps = mergeProps({
|
|
1119
1130
|
className: cx('headerIcon', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primereact=this.primereact||{},this.primereact.panelmenu=function(e,n,t,r,a,i,o,l,c){"use strict";function u(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 s=u(n);function m(){return m=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},m.apply(this,arguments)}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)||null===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 p(e){var n=f(e,"string");return"symbol"===d(n)?n:String(n)}function b(e,n,t){return(n=p(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function v(e){throw new TypeError('"'+e+'" is read-only')}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,a,i,o,l=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(l.push(r.value),l.length!==n);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function h(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function E(e,n){if(e){if("string"==typeof e)return h(e,n);var t=Object.prototype.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 O(){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 I(e,n){return y(e)||g(e,n)||E(e,n)||O()}var N=function(e,n){var t=s.useRef(!1);return s.useEffect((function(){if(t.current)return e&&e();t.current=!0}),n)},j=r.ComponentBase.extend({defaultProps:{__TYPE:"PanelMenu",id:null,model:null,style:null,submenuIcon:null,expandedKeys:null,className:null,onExpandedKeysChange:null,onOpen:null,onClose:null,multiple:!1,transitionOptions:null,children:void 0},css:{classes:{headerIcon:function(e){return c.classNames("p-menuitem-icon",e.item.icon)},headerSubmenuIcon:"p-submenu-icon",headerLabel:"p-menuitem-text",headerAction:"p-panelmenu-header-link",panel:function(e){return c.classNames("p-panelmenu-panel",e.item.className)},header:function(e){var n=e.item;return c.classNames("p-component p-panelmenu-header",{"p-highlight":e.active&&!!n.items,"p-disabled":n.disabled})},headerContent:"p-panelmenu-header-content",menuContent:"p-panelmenu-content",root:function(e){return c.classNames("p-panelmenu p-component",e.props.className)},separator:"p-menuitem-separator",toggleableContent:function(e){return c.classNames("p-toggleable-content",{"p-toggleable-content-collapsed":!e.active})},icon:function(e){return c.classNames("p-menuitem-icon",e.item.icon)},label:"p-menuitem-text",submenuicon:"p-submenu-icon",content:"p-menuitem-content",action:function(e){return c.classNames("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return c.classNames("p-menuitem",e.item.className,{"p-focus":e.focused,"p-disabled":e.disabled})},menu:"p-panelmenu-root-list",submenu:"p-submenu-list",transition:"p-toggleable-content"},styles:"\n@layer primereact {\n .p-panelmenu .p-panelmenu-header-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n }\n\n .p-panelmenu .p-panelmenu-header-link:focus {\n z-index: 1;\n }\n\n .p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n }\n\n .p-panelmenu .p-menuitem-text {\n line-height: 1;\n }\n}\n"}});function x(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?x(Object(t),!0).forEach((function(n){b(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):x(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var S=s.memo(s.forwardRef((function(e,n){var t=i.useMergeProps(),r=e.ptm,u=e.cx,d=s.useRef(null),f=function(n,t){return r(n,k({hostName:e.hostName},t))},p=function(e,n,t){return f(n,{context:{item:e,index:t,active:y(e),focused:E(e),disabled:h(e)}})},b=function(n){return"".concat(e.panelId,"_").concat(n.key)},v=function(e,n,t){return e&&e.item?c.ObjectUtils.getItemValue(e.item[n],t):void 0},y=function(n){return e.activeItemPath&&e.activeItemPath.some((function(e){return e.key===n.key}))},g=function(e){return!1!==v(e,"visible")},h=function(e){return v(e,"disabled")},E=function(n){return e.focusedItemId===b(n)},O=function(e){return c.ObjectUtils.isNotEmpty(e.items)},I=function(e,n){v(n,"url")||e.preventDefault(),v(n,"command",{originalEvent:e,item:n.item}),N({processedItem:n,expanded:!y(n)})},N=function(n){e.onItemToggle(n)},j=function(n){return n-e.model.slice(0,n).filter((function(e){return g(e)&&v(e,"separator")})).length+1};s.useImperativeHandle(n,(function(){return{getElement:function(){return d.current}}}));var x=function(n){var r=e.id+"_sep_"+n,a=t({id:r,key:r,className:u("separator"),role:"separator"},f("separator"));return s.createElement("li",a)},w=function(n,i){var o=s.createRef(),l=t({className:u("toggleableContent",{active:i})},f("toggleableContent"));if(g(n)&&O(n)){var c=t({classNames:u("transition"),timeout:{enter:1e3,exit:450},in:i,unmountOnExit:!0},f("transition"));return s.createElement(a.CSSTransition,m({nodeRef:o},c),s.createElement("div",m({ref:o},l),s.createElement(S,{id:b(n)+"_list",role:"group",panelId:e.panelId,level:e.level+1,focusedItemId:e.focusedItemId,activeItemPath:e.activeItemPath,onItemToggle:N,menuProps:e.menuProps,model:n.items,submenuIcon:e.submenuIcon,ptm:r,cx:u})))}return null},D=function(n,r){var a=n.item;if(!1===g(n))return null;var i=b(n),m=y(n),d=E(n),f=h(a),N=c.classNames("p-menuitem-link",{"p-disabled":a.disabled}),x=c.classNames("p-menuitem-icon",a.icon),S=t({className:u("icon",{item:a})},p(n,"icon",r)),D=c.IconUtils.getJSXIcon(a.icon,k({},S),{props:e.menuProps}),P=t({className:u("label")},p(n,"label",r)),C=a.label&&s.createElement("span",P,a.label),U=t({className:u("submenuicon")},p(n,"submenuicon",r)),H=a.items&&c.IconUtils.getJSXIcon(m?e.submenuIcon||s.createElement(o.ChevronDownIcon,U):e.submenuIcon||s.createElement(l.ChevronRightIcon,U)),K=w(n,m),T=t({href:a.url||"#",className:u("action",{item:a}),target:a.target,onFocus:function(e){return e.stopPropagation()},tabIndex:"-1","aria-hidden":!0},p(n,"action",r)),A=s.createElement("a",T,H,D,C);a.template&&(A=c.ObjectUtils.getJSXElement(a.template,a,{className:N,labelClassName:"p-menuitem-text",iconClassName:x,submenuIconClassName:"p-panelmenu-icon",element:A,props:e,leaf:!a.items,active:m}));var R=t({onClick:function(e){return I(e,n)},className:u("content")},p(n,"content",r)),_=t({key:i,id:i,className:u("menuitem",{item:a,focused:d,disabled:f}),style:a.style,role:"treeitem","aria-label":a.label,"aria-expanded":O(a)?m:void 0,"aria-level":e.level+1,"aria-setsize":e.model.filter((function(e){return g(e)&&!v(e,"separator")})).length,"aria-posinset":j(r),"data-p-focused":d,"data-p-disabled":f},p(n,"menuitem",r));return s.createElement("li",_,s.createElement("div",R,A),K)},P=e.model?e.model.map((function(e,n){return v(e,"separator")?x(n):D(e,n)})):null,C=e.root?"menu":"submenu",U=t({id:e.id,ref:d,tabIndex:e.tabIndex,onFocus:e.onFocus,onBlur:e.onBlur,onKeyDown:e.onKeyDown,"aria-activedescendant":e.ariaActivedescendant,role:e.role,className:c.classNames(u(C),e.className)},r(C));return s.createElement("ul",U,P)})));S.displayName="PanelMenuSub";var w=s.memo((function(e){var n=e.ptm,t=e.cx,r=I(s.useState(!1),2),a=r[0],i=r[1],o=I(s.useState(null),2),l=o[0],u=o[1],m=I(s.useState(null),2),d=m[0],f=m[1],p=I(s.useState([]),2),b=p[0],v=p[1],y=I(s.useState(null),2),g=y[0],h=y[1],E=I(s.useState([]),2),O=E[0],j=E[1],x=s.useRef(null),k=s.useRef(null),w=s.useRef(null),D=function(e,n){return e&&e.item?c.ObjectUtils.getItemValue(e.item[n]):void 0},P=function(e){return D(e,"label")},C=function(e){return!1!==D(e,"visible")},U=function(e){return D(e,"disabled")},H=function(e){return b&&b.some((function(n){return n.key===e.parentKey}))},K=function(){return w.current&&w.current.getElement()},T=function(e){var n=c.ObjectUtils.isNotEmpty(l)?Y(l):z();Q({originalEvent:e,processedItem:n,focusOnNext:!0}),e.preventDefault()},A=function(e){var n=c.ObjectUtils.isNotEmpty(l)?$(l):W();Q({originalEvent:e,processedItem:n,selfCheck:!0}),e.preventDefault()},R=function(e){c.ObjectUtils.isNotEmpty(l)&&(b.some((function(e){return e.key===l.key}))?v(b.filter((function(e){return e.key!==l.key}))):u(c.ObjectUtils.isNotEmpty(l.parent)?l.parent:l),e.preventDefault())},_=function(e){if(c.ObjectUtils.isNotEmpty(l)){if(c.ObjectUtils.isNotEmpty(l.items))if(b.some((function(e){return e.key===l.key})))T(e);else{var n=b.filter((function(e){return e.parentKey!==l.parentKey}));n.push(l),v(n)}e.preventDefault()}},M=function(e){Q({originalEvent:e,processedItem:z(),allowHeaderFocus:!1}),e.preventDefault()},L=function(e){Q({originalEvent:e,processedItem:W(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},F=function(e){if(c.ObjectUtils.isNotEmpty(l)){var n=c.DomHandler.findSingle(K(),'li[id="'.concat("".concat(d),'"]')),t=n&&(c.DomHandler.findSingle(n,'[data-pc-section="action"]')||c.DomHandler.findSingle(n,"a,button"));t?t.click():n&&n.click()}e.preventDefault()},q=function(e){F(e)},J=function(e,n){var t=e.currentTarget.closest('[data-pc-section="panel"]');return t&&t.contains(n)},X=function(e){return V(e)&&P(e).toLocaleLowerCase().startsWith(x.current.toLocaleLowerCase())},B=function(e){return!!e&&(0===e.level||H(e))&&C(e)},V=function(e){return!!e&&!U(e)&&!D(e,"separator")},z=function(){return O.find((function(e){return V(e)}))},W=function(){return c.ObjectUtils.findLast(O,(function(e){return V(e)}))},Y=function(e){var n=O.findIndex((function(n){return n.key===e.key}));return(n<O.length-1?O.slice(n+1).find((function(e){return V(e)})):void 0)||e},$=function(e){var n=O.findIndex((function(n){return n.key===e.key}));return(n>0?c.ObjectUtils.findLast(O.slice(0,n),(function(e){return V(e)})):void 0)||e},G=function(e,n){x.current=(x.current||"")+n;var t=null,r=!1;if(c.ObjectUtils.isNotEmpty(l)){var a=O.findIndex((function(e){return e.key===l.key}));t=O.slice(a).find((function(e){return X(e)})),t=c.ObjectUtils.isEmpty(t)?O.slice(0,a).find((function(e){return X(e)})):t}else t=O.find((function(e){return X(e)}));return c.ObjectUtils.isNotEmpty(t)&&(r=!0),c.ObjectUtils.isEmpty(t)&&c.ObjectUtils.isEmpty(l)&&(t=z()),c.ObjectUtils.isNotEmpty(t)&&Q({originalEvent:e,processedItem:t,allowHeaderFocus:!1}),k&&clearTimeout(k.current),k.current=setTimeout((function(){x.current="",k.currentt=null}),500),r},Q=function(n){var t=n.originalEvent,r=n.processedItem,a=n.focusOnNext,i=n.selfCheck,o=n.allowHeaderFocus,s=void 0===o||o;c.ObjectUtils.isNotEmpty(l)&&l.key!==r.key?(u(r),Z()):s&&e.onHeaderFocus&&e.onHeaderFocus({originalEvent:t,focusOnNext:a,selfCheck:i})},Z=function(){var e=c.DomHandler.findSingle(K(),'li[id="'.concat("".concat(d),'"]'));e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},ee=function n(t,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=r||0===a&&e.model;if(!i)return null;for(var o=0;o<i.length;o++){var l=i[o];if((D(l,"key")||l.key)===t)return l;var c=n(t,l.items,a+1);if(c)return c}},ne=function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[];return n&&n.forEach((function(n,o){var l=n.key?n.key:(""!==a?a+"_":"")+o,c={item:n,index:o,level:t,key:l,parent:r,parentKey:a};c.items=e(n.items,t+1,c,l),i.push(c)})),i},te=function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return n&&n.forEach((function(n){B(n)&&(t.push(n),e(n.items,t))})),t};return s.useEffect((function(){var n=ne(e.model);h(n)}),[e.model]),s.useEffect((function(){var e=te(g);j(e)}),[g,b]),s.useEffect((function(){var n;n=Object.entries(e.expandedKeys||{}).reduce((function(e,n){var t=I(n,2);if(t[1]){var r=ee(t[0]);r&&e.push(r)}return e}),[]),v(n)}),[e.expandedKeys]),N((function(){var n=c.ObjectUtils.isNotEmpty(l)?"".concat(e.panelId,"_").concat(l.key):null;f(n)}),[e.panelId,l]),s.createElement(S,{hostName:"PanelMenu",id:e.panelId+"_list",ref:w,role:"tree",tabIndex:-1,ariaActivedescendant:a?d:void 0,panelId:e.panelId,focusedItemId:a?d:void 0,model:g,activeItemPath:b,menuProps:e.menuProps,onFocus:function(e){i(!0);var n=l||(J(e,e.relatedTarget)?z():W());u(n)},onBlur:function(){i(!1),u(null),x.current=""},onKeyDown:function(e){var n=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":T(e);break;case"ArrowUp":A(e);break;case"ArrowLeft":R(e);break;case"ArrowRight":_(e);break;case"Home":M(e);break;case"End":L(e);break;case"Space":q(e);break;case"Enter":case"NumpadEnter":F(e);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&c.ObjectUtils.isPrintableCharacter(e.key)&&G(e,e.key)}},onItemToggle:function(n){var t=n.processedItem,r=n.expanded;if(e.expandedKeys)e.onToggle&&e.onToggle({item:t.item,expanded:r});else{var a=b.filter((function(e){return e.parentKey!==t.parentKey}));r&&a.push(t),v(a)}c.DomHandler.focus(K()),u(t)},level:0,className:t("submenu"),submenuIcon:e.submenuIcon,root:!0,ptm:n,cx:t})}));function D(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?D(Object(t),!0).forEach((function(n){b(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):D(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}w.displayName="PanelMenuList";var C=s.memo(s.forwardRef((function(e,n){var u=i.useMergeProps(),d=s.useContext(t.PrimeReactContext),f=j.getProps(e,d),p=I(s.useState(f.id),2),b=p[0],y=p[1],g=I(s.useState(null),2),h=g[0],E=g[1],O=I(s.useState([]),2),x=O[0],k=O[1],S=I(s.useState(!1),2),D=S[1],C=s.useRef(null),U=j.setMetaData({props:f,state:{id:b,activeItem:h}}),H=U.ptm,K=U.cx;r.useHandleStyle(j.css.styles,U.isUnstyled,{name:"panelmenu"});var T=function(e,n){n.disabled?e.preventDefault():(n.url||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),n.items&&ne(e,n))},A=function(e,n){return e?c.ObjectUtils.getItemValue(e[n]):void 0},R=function(e){return f.expandedKeys?f.expandedKeys[A(e,"key")]:f.multiple?x.some((function(n){return c.ObjectUtils.equals(e,n)})):c.ObjectUtils.equals(e,h)},_=function(e){return!1!==A(e,"visible")},M=function(e){return A(e,"disabled")},L=function(e){return c.ObjectUtils.equals(e,h)},F=function(e){return"".concat(b,"_").concat(e)},q=function(e){return"".concat(F(e),"_header")},J=function(e){return"".concat(F(e),"_content")},X=function(e,n){switch(e.code){case"ArrowDown":B(e);break;case"ArrowUp":V(e);break;case"Home":z(e);break;case"End":W(e);break;case"Enter":case"NumpadEnter":case"Space":Y(e,n)}},B=function(e){var n=!0===c.DomHandler.getAttribute(e.currentTarget,"data-p-highlight")?c.DomHandler.findSingle(e.currentTarget.nextElementSibling,'[data-pc-section="menu"]'):null;n?c.DomHandler.focus(n):ee({originalEvent:e,focusOnNext:!0}),e.preventDefault()},V=function(e){var n=G(e.currentTarget.parentElement)||Z(),t=!0===c.DomHandler.getAttribute(n,"data-p-highlight")?c.DomHandler.findSingle(n.nextElementSibling,'[data-pc-section="menu"]'):null;t?c.DomHandler.focus(t):ee({originalEvent:e,focusOnNext:!1}),e.preventDefault()},z=function(e){re(e,Q()),e.preventDefault()},W=function(e){re(e,Z()),e.preventDefault()},Y=function(e,n){var t=c.DomHandler.findSingle(e.currentTarget,'[data-pc-section="headeraction"]');t?t.click():T(e,n),e.preventDefault()},$=function e(n){var t=c.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n:n.nextElementSibling,'[data-pc-section="header"]');return t?c.DomHandler.getAttribute(t,"data-p-disabled")?e(t.parentElement):t:null},G=function e(n){var t=c.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n:n.previousElementSibling,'[data-pc-section="header"]');return t?c.DomHandler.getAttribute(t,"data-p-disabled")?e(t.parentElement):t:null},Q=function(){return $(C.current.firstElementChild,!0)},Z=function(){return G(C.current.lastElementChild,!0)},ee=function(e){var n=e.originalEvent,t=e.focusOnNext,r=e.selfCheck,a=n.currentTarget.closest('[data-pc-section="panel"]'),i=r?c.DomHandler.findSingle(a,'[data-pc-section="header"]'):t?$(a):G(a);i?re(n,i):t?z(n):W(n)},ne=function(e,n){if(!M(n)){var t=R(n),r=!t,a=h&&c.ObjectUtils.equals(n,h)?null:n;if(E(a),f.multiple){var i=x;x.some((function(e){return c.ObjectUtils.equals(n,e)}))?(x.filter((function(e){return!c.ObjectUtils.equals(n,e)})),v("activeItems")):i.push(n),k(i)}te({item:n,expanded:!t}),r?f.onOpen&&f.onOpen({originalEvent:e,item:n}):f.onClose&&f.onClose({originalEvent:e,item:n})}},te=function(e){var n=e.item,t=e.expanded,r=void 0!==t&&t;if(f.expandedKeys){var a=P({},f.expandedKeys);r?a[n.key]=!0:delete a[n.key],f.onExpandedKeysChange&&f.onExpandedKeysChange(a)}},re=function(e,n){n&&c.DomHandler.focus(n)},ae=function(e,n,t){return H(n,{context:{active:R(e),focused:L(e),disabled:M(e),index:t}})};s.useImperativeHandle(n,(function(){return{props:f,getElement:function(){return C.current}}})),i.useMountEffect((function(){!b&&y(c.UniqueComponentId())})),N((function(){D(!0)}),[f.model]);var ie=function(){D(!1)},oe=f.model?f.model.map((function(e,n){if(!_(e))return null;var t=e.id||b+"_"+n,r=R(e),i=c.classNames("p-menuitem-icon",e.icon),d=u({className:K("headerIcon",{item:e})},ae(e,"headerIcon",n)),p=c.IconUtils.getJSXIcon(e.icon,P({},d),{props:f}),v=u({className:K("headerSubmenuIcon")},ae(e,"headerSubmenuIcon",n)),y=e.items&&c.IconUtils.getJSXIcon(r?f.submenuIcon||s.createElement(o.ChevronDownIcon,v):f.submenuIcon||s.createElement(l.ChevronRightIcon,v)),g=u({className:K("headerLabel")},ae(e,"headerLabel",n)),h=e.label&&s.createElement("span",g,e.label),E=s.createRef(),O=u({href:e.url||"#",className:K("headerAction"),tabIndex:"-1"},ae(e,"headerAction",n)),I=s.createElement("a",O,y,p,h);e.template&&(I=c.ObjectUtils.getJSXElement(e.template,e,{onClick:function(n){return T(n,e)},className:"p-panelmenu-header-link",labelClassName:"p-menuitem-text",submenuIconClassName:"p-panelmenu-icon",iconClassName:i,element:I,props:f,leaf:!e.items,active:r}));var N=u({key:t,className:K("panel",{item:e}),style:e.style},ae(e,"panel",n)),j=u({id:q(n),className:K("header",{active:r,item:e}),"aria-label":e.label,"aria-expanded":r,"aria-disabled":e.disabled,"aria-controls":J(n),tabIndex:e.disabled?null:"0",onClick:function(n){return T(n,e)},onKeyDown:function(n){return X(n,e)},"data-p-disabled":e.disabled,"data-p-highlight":r,role:"button",style:e.style},ae(e,"header",n)),x=u({className:K("headerContent")},ae(e,"headerContent",n)),k=u({className:K("menuContent")},ae(e,"menuContent",n)),S=u({className:K("toggleableContent",{active:r}),role:"region","aria-labelledby":q(n)},ae(e,"toggleableContent",n)),D=u({classNames:K("transition"),timeout:{enter:1e3,exit:450},onEnter:ie,in:r,unmountOnExit:!0,options:f.transitionOptions},ae(e,"transition",n));return s.createElement("div",N,s.createElement("div",j,s.createElement("div",x,I)),s.createElement(a.CSSTransition,m({nodeRef:E},D),s.createElement("div",m({id:J(n),ref:E},S),s.createElement("div",k,s.createElement(w,{panelId:F(n),menuProps:f,onToggle:te,onHeaderFocus:ee,level:0,model:e.items,expandedKeys:f.expandedKeys,className:"p-panelmenu-root-submenu",submenuIcon:f.submenuIcon,ptm:H,cx:K})))))})):null,le=u({ref:C,className:K("root"),id:f.id,style:f.style},j.getOtherProps(f),H("root"));return s.createElement("div",le,oe)})));return C.displayName="PanelMenu",e.PanelMenu=C,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.componentbase,primereact.csstransition,primereact.hooks,primereact.icons.chevrondown,primereact.icons.chevronright,primereact.utils);
|
|
1
|
+
this.primereact=this.primereact||{},this.primereact.panelmenu=function(e,n,t,r,a,i,o,l,c){"use strict";function u(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 s=u(n);function m(){return m=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},m.apply(this,arguments)}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)||null===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 p(e){var n=f(e,"string");return"symbol"===d(n)?n:String(n)}function b(e,n,t){return(n=p(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function v(e){throw new TypeError('"'+e+'" is read-only')}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,a,i,o,l=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(l.push(r.value),l.length!==n);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=t.return&&(o=t.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function h(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function E(e,n){if(e){if("string"==typeof e)return h(e,n);var t=Object.prototype.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 O(){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 I(e,n){return y(e)||g(e,n)||E(e,n)||O()}var N=r.ComponentBase.extend({defaultProps:{__TYPE:"PanelMenu",id:null,model:null,style:null,submenuIcon:null,expandedKeys:null,className:null,onExpandedKeysChange:null,onOpen:null,onClose:null,multiple:!1,transitionOptions:null,children:void 0},css:{classes:{headerIcon:function(e){return c.classNames("p-menuitem-icon",e.item.icon)},headerSubmenuIcon:"p-submenu-icon",headerLabel:"p-menuitem-text",headerAction:"p-panelmenu-header-link",panel:function(e){return c.classNames("p-panelmenu-panel",e.item.className)},header:function(e){var n=e.item;return c.classNames("p-component p-panelmenu-header",{"p-highlight":e.active&&!!n.items,"p-disabled":n.disabled})},headerContent:"p-panelmenu-header-content",menuContent:"p-panelmenu-content",root:function(e){return c.classNames("p-panelmenu p-component",e.props.className)},separator:"p-menuitem-separator",toggleableContent:function(e){return c.classNames("p-toggleable-content",{"p-toggleable-content-collapsed":!e.active})},icon:function(e){return c.classNames("p-menuitem-icon",e.item.icon)},label:"p-menuitem-text",submenuicon:"p-submenu-icon",content:"p-menuitem-content",action:function(e){return c.classNames("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return c.classNames("p-menuitem",e.item.className,{"p-focus":e.focused,"p-disabled":e.disabled})},menu:"p-panelmenu-root-list",submenu:"p-submenu-list",transition:"p-toggleable-content"},styles:"\n@layer primereact {\n .p-panelmenu .p-panelmenu-header-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n }\n\n .p-panelmenu .p-panelmenu-header-link:focus {\n z-index: 1;\n }\n\n .p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n }\n\n .p-panelmenu .p-menuitem-text {\n line-height: 1;\n }\n}\n"}});function x(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 j(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?x(Object(t),!0).forEach((function(n){b(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):x(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var k=s.memo(s.forwardRef((function(e,n){var t=i.useMergeProps(),r=e.ptm,u=e.cx,d=s.useRef(null),f=function(n,t){return r(n,j({hostName:e.hostName},t))},p=function(e,n,t){return f(n,{context:{item:e,index:t,active:y(e),focused:E(e),disabled:h(e)}})},b=function(n){return"".concat(e.panelId,"_").concat(n.key)},v=function(e,n,t){return e&&e.item?c.ObjectUtils.getItemValue(e.item[n],t):void 0},y=function(n){return e.activeItemPath&&e.activeItemPath.some((function(e){return e.key===n.key}))},g=function(e){return!1!==v(e,"visible")},h=function(e){return v(e,"disabled")},E=function(n){return e.focusedItemId===b(n)},O=function(e){return c.ObjectUtils.isNotEmpty(e.items)},I=function(e,n){v(n,"url")||e.preventDefault(),v(n,"command",{originalEvent:e,item:n.item}),N({processedItem:n,expanded:!y(n)})},N=function(n){e.onItemToggle(n)},x=function(n){return n-e.model.slice(0,n).filter((function(e){return g(e)&&v(e,"separator")})).length+1};s.useImperativeHandle(n,(function(){return{getElement:function(){return d.current}}}));var S=function(n){var r=e.id+"_sep_"+n,a=t({id:r,key:r,className:u("separator"),role:"separator"},f("separator"));return s.createElement("li",a)},w=function(n,i){var o=s.createRef(),l=t({className:u("toggleableContent",{active:i})},f("toggleableContent"));if(g(n)&&O(n)){var c=t({classNames:u("transition"),timeout:{enter:1e3,exit:450},in:i,unmountOnExit:!0},f("transition"));return s.createElement(a.CSSTransition,m({nodeRef:o},c),s.createElement("div",m({ref:o},l),s.createElement(k,{id:b(n)+"_list",role:"group",panelId:e.panelId,level:e.level+1,focusedItemId:e.focusedItemId,activeItemPath:e.activeItemPath,onItemToggle:N,menuProps:e.menuProps,model:n.items,submenuIcon:e.submenuIcon,ptm:r,cx:u})))}return null},D=function(n,r){var a=n.item;if(!1===g(n))return null;var i=b(n),m=y(n),d=E(n),f=h(a),N=c.classNames("p-menuitem-link",{"p-disabled":a.disabled}),k=c.classNames("p-menuitem-icon",a.icon),S=t({className:u("icon",{item:a})},p(n,"icon",r)),D=c.IconUtils.getJSXIcon(a.icon,j({},S),{props:e.menuProps}),P=t({className:u("label")},p(n,"label",r)),C=a.label&&s.createElement("span",P,a.label),U=t({className:u("submenuicon")},p(n,"submenuicon",r)),H=a.items&&c.IconUtils.getJSXIcon(m?e.submenuIcon||s.createElement(o.ChevronDownIcon,U):e.submenuIcon||s.createElement(l.ChevronRightIcon,U)),K=w(n,m),T=t({href:a.url||"#",className:u("action",{item:a}),target:a.target,onFocus:function(e){return e.stopPropagation()},tabIndex:"-1","aria-hidden":!0},p(n,"action",r)),A=s.createElement("a",T,H,D,C);a.template&&(A=c.ObjectUtils.getJSXElement(a.template,a,{className:N,labelClassName:"p-menuitem-text",iconClassName:k,submenuIconClassName:"p-panelmenu-icon",element:A,props:e,leaf:!a.items,active:m}));var R=t({onClick:function(e){return I(e,n)},className:u("content")},p(n,"content",r)),_=t({key:i,id:i,className:u("menuitem",{item:a,focused:d,disabled:f}),style:a.style,role:"treeitem","aria-label":a.label,"aria-expanded":O(a)?m:void 0,"aria-level":e.level+1,"aria-setsize":e.model.filter((function(e){return g(e)&&!v(e,"separator")})).length,"aria-posinset":x(r),"data-p-focused":d,"data-p-disabled":f},p(n,"menuitem",r));return s.createElement("li",_,s.createElement("div",R,A),K)},P=e.model?e.model.map((function(e,n){return v(e,"separator")?S(n):D(e,n)})):null,C=e.root?"menu":"submenu",U=t({id:e.id,ref:d,tabIndex:e.tabIndex,onFocus:e.onFocus,onBlur:e.onBlur,onKeyDown:e.onKeyDown,"aria-activedescendant":e.ariaActivedescendant,role:e.role,className:c.classNames(u(C),e.className)},r(C));return s.createElement("ul",U,P)})));k.displayName="PanelMenuSub";var S=s.memo((function(e){var n,t,r,a=e.ptm,i=e.cx,o=I(s.useState(!1),2),l=o[0],u=o[1],m=I(s.useState(null),2),d=m[0],f=m[1],p=I(s.useState(null),2),b=p[0],v=p[1],y=I(s.useState([]),2),g=y[0],h=y[1],E=I(s.useState(null),2),O=E[0],N=E[1],x=I(s.useState([]),2),j=x[0],S=x[1],w=s.useRef(null),D=s.useRef(null),P=s.useRef(null),C=function(e,n){return e&&e.item?c.ObjectUtils.getItemValue(e.item[n]):void 0},U=function(e){return C(e,"label")},H=function(e){return!1!==C(e,"visible")},K=function(e){return C(e,"disabled")},T=function(e){return g&&g.some((function(n){return n.key===e.parentKey}))},A=function(){return P.current&&P.current.getElement()},R=function(e){var n=c.ObjectUtils.isNotEmpty(d)?G(d):Y();ee({originalEvent:e,processedItem:n,focusOnNext:!0}),e.preventDefault()},_=function(e){var n=c.ObjectUtils.isNotEmpty(d)?Q(d):$();ee({originalEvent:e,processedItem:n,selfCheck:!0}),e.preventDefault()},M=function(e){c.ObjectUtils.isNotEmpty(d)&&(g.some((function(e){return e.key===d.key}))?h(g.filter((function(e){return e.key!==d.key}))):f(c.ObjectUtils.isNotEmpty(d.parent)?d.parent:d),e.preventDefault())},L=function(e){if(c.ObjectUtils.isNotEmpty(d)){if(c.ObjectUtils.isNotEmpty(d.items))if(g.some((function(e){return e.key===d.key})))R(e);else{var n=g.filter((function(e){return e.parentKey!==d.parentKey}));n.push(d),h(n)}e.preventDefault()}},F=function(e){ee({originalEvent:e,processedItem:Y(),allowHeaderFocus:!1}),e.preventDefault()},q=function(e){ee({originalEvent:e,processedItem:$(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},J=function(e){if(c.ObjectUtils.isNotEmpty(d)){var n=c.DomHandler.findSingle(A(),'li[id="'.concat("".concat(b),'"]')),t=n&&(c.DomHandler.findSingle(n,'[data-pc-section="action"]')||c.DomHandler.findSingle(n,"a,button"));t?t.click():n&&n.click()}e.preventDefault()},X=function(e){J(e)},B=function(e,n){var t=e.currentTarget.closest('[data-pc-section="panel"]');return t&&t.contains(n)},V=function(e){return W(e)&&U(e).toLocaleLowerCase().startsWith(w.current.toLocaleLowerCase())},z=function(e){return!!e&&(0===e.level||T(e))&&H(e)},W=function(e){return!!e&&!K(e)&&!C(e,"separator")},Y=function(){return j.find((function(e){return W(e)}))},$=function(){return c.ObjectUtils.findLast(j,(function(e){return W(e)}))},G=function(e){var n=j.findIndex((function(n){return n.key===e.key}));return(n<j.length-1?j.slice(n+1).find((function(e){return W(e)})):void 0)||e},Q=function(e){var n=j.findIndex((function(n){return n.key===e.key}));return(n>0?c.ObjectUtils.findLast(j.slice(0,n),(function(e){return W(e)})):void 0)||e},Z=function(e,n){w.current=(w.current||"")+n;var t=null,r=!1;if(c.ObjectUtils.isNotEmpty(d)){var a=j.findIndex((function(e){return e.key===d.key}));t=j.slice(a).find((function(e){return V(e)})),t=c.ObjectUtils.isEmpty(t)?j.slice(0,a).find((function(e){return V(e)})):t}else t=j.find((function(e){return V(e)}));return c.ObjectUtils.isNotEmpty(t)&&(r=!0),c.ObjectUtils.isEmpty(t)&&c.ObjectUtils.isEmpty(d)&&(t=Y()),c.ObjectUtils.isNotEmpty(t)&&ee({originalEvent:e,processedItem:t,allowHeaderFocus:!1}),D&&clearTimeout(D.current),D.current=setTimeout((function(){w.current="",D.currentt=null}),500),r},ee=function(n){var t=n.originalEvent,r=n.processedItem,a=n.focusOnNext,i=n.selfCheck,o=n.allowHeaderFocus,l=void 0===o||o;c.ObjectUtils.isNotEmpty(d)&&d.key!==r.key?(f(r),ne()):l&&e.onHeaderFocus&&e.onHeaderFocus({originalEvent:t,focusOnNext:a,selfCheck:i})},ne=function(){var e=c.DomHandler.findSingle(A(),'li[id="'.concat("".concat(b),'"]'));e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},te=function n(t,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=r||0===a&&e.model;if(!i)return null;for(var o=0;o<i.length;o++){var l=i[o];if((C(l,"key")||l.key)===t)return l;var c=n(t,l.items,a+1);if(c)return c}},re=function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[];return n&&n.forEach((function(n,o){var l=n.key?n.key:(""!==a?a+"_":"")+o,c={item:n,index:o,level:t,key:l,parent:r,parentKey:a};c.items=e(n.items,t+1,c,l),i.push(c)})),i},ae=function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return n&&n.forEach((function(n){z(n)&&(t.push(n),e(n.items,t))})),t};return s.useEffect((function(){var n=re(e.model);N(n)}),[e.model]),s.useEffect((function(){var e=ae(O);S(e)}),[O,g]),s.useEffect((function(){var n;n=Object.entries(e.expandedKeys||{}).reduce((function(e,n){var t=I(n,2);if(t[1]){var r=te(t[0]);r&&e.push(r)}return e}),[]),h(n)}),[e.expandedKeys]),n=function(){var n=c.ObjectUtils.isNotEmpty(d)?"".concat(e.panelId,"_").concat(d.key):null;v(n)},t=[e.panelId,d],r=s.useRef(!1),s.useEffect((function(){if(r.current)return n&&n();r.current=!0}),t),s.createElement(k,{hostName:"PanelMenu",id:e.panelId+"_list",ref:P,role:"tree",tabIndex:-1,ariaActivedescendant:l?b:void 0,panelId:e.panelId,focusedItemId:l?b:void 0,model:O,activeItemPath:g,menuProps:e.menuProps,onFocus:function(e){u(!0);var n=d||(B(e,e.relatedTarget)?Y():$());f(n)},onBlur:function(){u(!1),f(null),w.current=""},onKeyDown:function(e){var n=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":R(e);break;case"ArrowUp":_(e);break;case"ArrowLeft":M(e);break;case"ArrowRight":L(e);break;case"Home":F(e);break;case"End":q(e);break;case"Space":X(e);break;case"Enter":case"NumpadEnter":J(e);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&c.ObjectUtils.isPrintableCharacter(e.key)&&Z(e,e.key)}},onItemToggle:function(n){var t=n.processedItem,r=n.expanded;if(e.expandedKeys)e.onToggle&&e.onToggle({item:t.item,expanded:r});else{var a=g.filter((function(e){return e.parentKey!==t.parentKey}));r&&a.push(t),h(a)}c.DomHandler.focus(A()),f(t)},level:0,className:i("submenu"),submenuIcon:e.submenuIcon,root:!0,ptm:a,cx:i})}));function w(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 D(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?w(Object(t),!0).forEach((function(n){b(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):w(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}S.displayName="PanelMenuList";var P=s.memo(s.forwardRef((function(e,n){var u=i.useMergeProps(),d=s.useContext(t.PrimeReactContext),f=N.getProps(e,d),p=I(s.useState(f.id),2),b=p[0],y=p[1],g=I(s.useState(null),2),h=g[0],E=g[1],O=I(s.useState([]),2),x=O[0],j=O[1],k=I(s.useState(!1),2),w=k[1],P=s.useRef(null),C=N.setMetaData({props:f,state:{id:b,activeItem:h}}),U=C.ptm,H=C.cx;r.useHandleStyle(N.css.styles,C.isUnstyled,{name:"panelmenu"});var K=function(e,n){n.disabled?e.preventDefault():(n.url||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),n.items&&ee(e,n))},T=function(e,n){return e?c.ObjectUtils.getItemValue(e[n]):void 0},A=function(e){return f.expandedKeys?f.expandedKeys[T(e,"key")]:f.multiple?x.some((function(n){return c.ObjectUtils.equals(e,n)})):c.ObjectUtils.equals(e,h)},R=function(e){return!1!==T(e,"visible")},_=function(e){return T(e,"disabled")},M=function(e){return c.ObjectUtils.equals(e,h)},L=function(e){return"".concat(b,"_").concat(e)},F=function(e){return"".concat(L(e),"_header")},q=function(e){return"".concat(L(e),"_content")},J=function(e,n){switch(e.code){case"ArrowDown":X(e);break;case"ArrowUp":B(e);break;case"Home":V(e);break;case"End":z(e);break;case"Enter":case"NumpadEnter":case"Space":W(e,n)}},X=function(e){var n=!0===c.DomHandler.getAttribute(e.currentTarget,"data-p-highlight")?c.DomHandler.findSingle(e.currentTarget.nextElementSibling,'[data-pc-section="menu"]'):null;n?c.DomHandler.focus(n):Z({originalEvent:e,focusOnNext:!0}),e.preventDefault()},B=function(e){var n=$(e.currentTarget.parentElement)||Q(),t=!0===c.DomHandler.getAttribute(n,"data-p-highlight")?c.DomHandler.findSingle(n.nextElementSibling,'[data-pc-section="menu"]'):null;t?c.DomHandler.focus(t):Z({originalEvent:e,focusOnNext:!1}),e.preventDefault()},V=function(e){te(e,G()),e.preventDefault()},z=function(e){te(e,Q()),e.preventDefault()},W=function(e,n){var t=c.DomHandler.findSingle(e.currentTarget,'[data-pc-section="headeraction"]');t?t.click():K(e,n),e.preventDefault()},Y=function e(n){var t=c.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n:n.nextElementSibling,'[data-pc-section="header"]');return t?c.DomHandler.getAttribute(t,"data-p-disabled")?e(t.parentElement):t:null},$=function e(n){var t=c.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n:n.previousElementSibling,'[data-pc-section="header"]');return t?c.DomHandler.getAttribute(t,"data-p-disabled")?e(t.parentElement):t:null},G=function(){return Y(P.current.firstElementChild,!0)},Q=function(){return $(P.current.lastElementChild,!0)},Z=function(e){var n=e.originalEvent,t=e.focusOnNext,r=e.selfCheck,a=n.currentTarget.closest('[data-pc-section="panel"]'),i=r?c.DomHandler.findSingle(a,'[data-pc-section="header"]'):t?Y(a):$(a);i?te(n,i):t?V(n):z(n)},ee=function(e,n){if(!_(n)){var t=!A(n),r=h&&c.ObjectUtils.equals(n,h)?null:n;if(E(r),f.multiple){var a=x;x.some((function(e){return c.ObjectUtils.equals(n,e)}))?(x.filter((function(e){return!c.ObjectUtils.equals(n,e)})),v("activeItems")):a.push(n),j(a)}ne({item:n,expanded:t}),t&&e?f.onOpen&&f.onOpen({originalEvent:e,item:n}):f.onClose&&f.onClose({originalEvent:e,item:n})}},ne=function(e){var n=e.item,t=e.expanded,r=void 0!==t&&t;if(f.expandedKeys){var a=D({},f.expandedKeys);r?a[n.key]=!0:delete a[n.key],f.onExpandedKeysChange&&f.onExpandedKeysChange(a)}},te=function(e,n){n&&c.DomHandler.focus(n)},re=function(e,n,t){return U(n,{context:{active:A(e),focused:M(e),disabled:_(e),index:t}})};s.useImperativeHandle(n,(function(){return{props:f,getElement:function(){return P.current}}})),i.useMountEffect((function(){!b&&y(c.UniqueComponentId())})),s.useEffect((function(){w(!0),f.model&&f.model.forEach((function(e){e.expanded&&(ee(null,e),e.expanded=!1)}))}),[f.model]);var ae=function(){w(!1)},ie=f.model?f.model.map((function(e,n){if(!R(e))return null;var t=e.id||b+"_"+n,r=A(e)||e.expanded,i=c.classNames("p-menuitem-icon",e.icon),d=u({className:H("headerIcon",{item:e})},re(e,"headerIcon",n)),p=c.IconUtils.getJSXIcon(e.icon,D({},d),{props:f}),v=u({className:H("headerSubmenuIcon")},re(e,"headerSubmenuIcon",n)),y=e.items&&c.IconUtils.getJSXIcon(r?f.submenuIcon||s.createElement(o.ChevronDownIcon,v):f.submenuIcon||s.createElement(l.ChevronRightIcon,v)),g=u({className:H("headerLabel")},re(e,"headerLabel",n)),h=e.label&&s.createElement("span",g,e.label),E=s.createRef(),O=u({href:e.url||"#",className:H("headerAction"),tabIndex:"-1"},re(e,"headerAction",n)),I=s.createElement("a",O,y,p,h);e.template&&(I=c.ObjectUtils.getJSXElement(e.template,e,{onClick:function(n){return K(n,e)},className:"p-panelmenu-header-link",labelClassName:"p-menuitem-text",submenuIconClassName:"p-panelmenu-icon",iconClassName:i,element:I,props:f,leaf:!e.items,active:r}));var N=u({key:t,className:H("panel",{item:e}),style:e.style},re(e,"panel",n)),x=u({id:F(n),className:H("header",{active:r,item:e}),"aria-label":e.label,"aria-expanded":r,"aria-disabled":e.disabled,"aria-controls":q(n),tabIndex:e.disabled?null:"0",onClick:function(n){return K(n,e)},onKeyDown:function(n){return J(n,e)},"data-p-disabled":e.disabled,"data-p-highlight":r,role:"button",style:e.style},re(e,"header",n)),j=u({className:H("headerContent")},re(e,"headerContent",n)),k=u({className:H("menuContent")},re(e,"menuContent",n)),w=u({className:H("toggleableContent",{active:r}),role:"region","aria-labelledby":F(n)},re(e,"toggleableContent",n)),P=u({classNames:H("transition"),timeout:{enter:1e3,exit:450},onEnter:ae,in:r,unmountOnExit:!0,options:f.transitionOptions},re(e,"transition",n));return s.createElement("div",N,s.createElement("div",x,s.createElement("div",j,I)),s.createElement(a.CSSTransition,m({nodeRef:E},P),s.createElement("div",m({id:q(n),ref:E},w),s.createElement("div",k,s.createElement(S,{panelId:L(n),menuProps:f,onToggle:ne,onHeaderFocus:Z,level:0,model:e.items,expandedKeys:f.expandedKeys,className:"p-panelmenu-root-submenu",submenuIcon:f.submenuIcon,ptm:U,cx:H})))))})):null,oe=u({ref:P,className:H("root"),id:f.id,style:f.style},N.getOtherProps(f),U("root"));return s.createElement("div",oe,ie)})));return P.displayName="PanelMenu",e.PanelMenu=P,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.componentbase,primereact.csstransition,primereact.hooks,primereact.icons.chevrondown,primereact.icons.chevronright,primereact.utils);
|