carbon-react
Version:
A library of reusable React components for easily building user interfaces.
2 lines (1 loc) • 2.58 kB
JavaScript
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as r,useContext as n}from"react";import o from"../../../__internal__/utils/helpers/tags/tags.js";import i from"../../../style/utils/filter-styled-system-padding-props.js";import{StyledVerticalMenuItem as c,StyledTitleIcon as l,StyledTitle as p,StyledAdornment as a,StyledChevronIcon as f,StyledList as u}from"../vertical-menu.style.js";import s from"./__internal__/menu-item.context.js";import{useVerticalMenuContext as y}from"../__internal__/vertical-menu.context.js";function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){m(e,t,r[t])}))}return e}const O=m=>{var{defaultOpen:O=!1,title:h,iconType:d,adornment:j,children:v,component:g,active:_,height:P="56px",href:w}=m,x=function(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(m,["defaultOpen","title","iconType","adornment","children","component","active","height","href"]);const[S,k]=r(O),{level:D}=n(s),{isFullScreen:E}=y(),I="function"==typeof _?_(S):_;let T={};return w&&(T={as:"a",href:w}),g&&(T=b({as:g,href:w,tabIndex:0},x)),v&&(T={as:"button",type:"button","aria-expanded":S,onClick:()=>{k((e=>!e))}}),e("li",{children:[e(c,(C=b({height:P,px:`calc(var(--spacing500) + (${D} * var(--spacing400)))`,py:2,active:I},T,i(x),o("vertical-menu-item",x)),F={children:[d&&t(l,{type:d}),t(p,{children:h}),j&&t(a,{children:"function"==typeof j?j(S):j}),v&&!E&&t(f,{type:S?"chevron_up_thick":"chevron_down_thick"})]},F=null!=F?F:{},Object.getOwnPropertyDescriptors?Object.defineProperties(C,Object.getOwnPropertyDescriptors(F)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(F)).forEach((function(e){Object.defineProperty(C,e,Object.getOwnPropertyDescriptor(F,e))})),C)),(S||E)&&t(s.Provider,{value:{level:D+1},children:t(u,{children:v})})]});var C,F};export{O as VerticalMenuItem,O as default};