{"version":3,"file":"MobileMenuHeader.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_breakpoints","_Button","_icons","_styles","_ProfileButton","_jsxRuntime","_excluded","_excluded2","_excluded3","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","MobileMenuHeaderActions","exports","styled","div","MobileMenuHeaderLabel","props","ComponentXSStyling","ComponentTextStyle","Bold","COLORS","getColor","theme","BREAKPOINTS","SMALL","ComponentSStyling","MobileMenuHeaderWrapper","Breakpoints","LARGE","MobileMenuHeader","_ref","onGoBack","onClose","label","profile","buttons","onSubMenuOpen","buildProfileSubMenu","type","header","user","firstName","lastName","note","email","link","action","signOut","icon","disabled","items","sections","map","a","undefined","renderItem","item","index","placement","rest","_objectWithoutProperties2","jsx","ProfileButton","onClick","nativeEvent","stopImmediatePropagation","target","SystemIcons","User","initials","charAt","Fragment","menu","IconButton","variant","shape","children","jsxs","ArrowLineLeft","style","marginLeft","Close","propTypes","_propTypes","func","isRequired","string","array","_default"],"sources":["../../../src/GlobalNavigationBar/mobile/MobileMenuHeader.tsx"],"sourcesContent":["import React from 'react';\r\nimport {\r\n  MobileMenuButtonTypes,\r\n  MenuNavigationItemTypeGroup,\r\n  ProfileMenu, MenuNavigationCustomSubMenu\r\n} from '../types';\r\nimport styled from 'styled-components';\r\nimport Breakpoints from '../../styles/breakpoints';\r\nimport {IconButton} from '../../Button';\r\nimport {SystemIcons} from '../../icons';\r\nimport {BREAKPOINTS, COLORS, ComponentSStyling, ComponentTextStyle, ComponentXSStyling} from '../../styles';\r\nimport {ProfileButton} from '../../ProfileButton';\r\n\r\nexport const MobileMenuHeaderActions = styled.div`\r\n  flex: 1;\r\n  justify-content: flex-end;\r\n  display: flex;\r\n  flex-direction: row;\r\n`;\r\nconst MobileMenuHeaderLabel = styled.div`\r\n  ${props => ComponentXSStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n  ${BREAKPOINTS.SMALL} {\r\n    ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n  }\r\n`;\r\n\r\nexport const MobileMenuHeaderWrapper = styled.div`\r\n  display: flex;\r\n  flex-direction: row;\r\n  align-items: center;\r\n  padding: 0 4px;\r\n\r\n  ${Breakpoints.SMALL} {\r\n    padding: 4px 8px;\r\n  }\r\n\r\n  ${Breakpoints.LARGE} {\r\n    display: none;\r\n  }\r\n`\r\n\r\ninterface MobileMenuHeaderProps {\r\n  onGoBack?: () => void;\r\n  onClose: () => void;\r\n  label?: string;\r\n\r\n  profile?: ProfileMenu\r\n  buttons?: MobileMenuButtonTypes[];\r\n\r\n  onSubMenuOpen?: (item?: MenuNavigationItemTypeGroup | MenuNavigationCustomSubMenu) => void;\r\n}\r\n\r\n\r\nconst MobileMenuHeader: React.FunctionComponent<MobileMenuHeaderProps> = ({\r\n                                                                            onGoBack,\r\n                                                                            onClose,\r\n                                                                            label,\r\n                                                                            profile,\r\n                                                                            buttons,\r\n                                                                            onSubMenuOpen\r\n                                                                          }) => {\r\n\r\n  const buildProfileSubMenu = () => !!profile ? {\r\n    type: 'group',\r\n    label: profile.label,\r\n    header: {\r\n      header: profile.user.firstName + ' ' + profile.user.lastName,\r\n      note: profile.user.email,\r\n      link: profile.user.link\r\n    },\r\n    action: {\r\n      label: profile.signOut?.label,\r\n      action: profile.signOut?.action,\r\n      icon: profile.signOut?.icon,\r\n      disabled: profile.signOut?.disabled\r\n    },\r\n    items: profile.sections.map(a => ({...a, type: 'section'}))\r\n  } as MenuNavigationItemTypeGroup : undefined\r\n\r\n  const renderItem = (item: MobileMenuButtonTypes, index: number) => {\r\n    switch (item.type) {\r\n      case 'profile': {\r\n        const {placement, type, action, ...rest} = item;\r\n        if(!!profile)\r\n          return  <ProfileButton key={index}\r\n                              onClick={e => {\r\n                                e?.nativeEvent.stopImmediatePropagation();\r\n                                item.action ? item.action(e?.target) && onClose() : onSubMenuOpen && onSubMenuOpen(buildProfileSubMenu())\r\n                              }}\r\n                              icon={!profile && <SystemIcons.User/>}\r\n                              initials={(profile?.user?.firstName?.charAt(0) ?? '') + (profile?.user?.lastName?.charAt(0) ?? '')}\r\n                              {...rest}/>\r\n        else return <></>\r\n          \r\n      }\r\n      case 'submenu': {\r\n        const {placement, type, icon, menu, ...rest} = item;\r\n\r\n        return <IconButton key={index}\r\n                           variant={'secondary'}\r\n                           shape={'circular'}\r\n                           action={e => {\r\n                             e?.nativeEvent.stopImmediatePropagation();\r\n                             onSubMenuOpen && onSubMenuOpen(item.menu)\r\n                           }}\r\n                           {...rest}>\r\n          {item.icon}\r\n        </IconButton>\r\n      }\r\n      case 'action': {\r\n        const {placement, type, icon, action, ...rest} = item;\r\n        return <IconButton key={index}\r\n                           disabled={item.disabled}\r\n                           variant={'secondary'}\r\n                           shape={'circular'}\r\n                           action={e => {\r\n                             e?.nativeEvent.stopImmediatePropagation();\r\n                             item.action && item.action(e?.target) && onClose();\r\n                           }}\r\n                           {...rest}>\r\n          {item.icon}\r\n        </IconButton>\r\n      }\r\n    }\r\n  }\r\n\r\n  return (\r\n    <MobileMenuHeaderWrapper>\r\n      {\r\n        onGoBack &&\r\n        <IconButton action={e => {\r\n          e?.nativeEvent.stopImmediatePropagation();\r\n          onGoBack();\r\n        }}\r\n                    variant={'secondary'}\r\n                    shape={'circular'}>\r\n          <SystemIcons.ArrowLineLeft/>\r\n        </IconButton>\r\n      }\r\n      {\r\n        buttons?.filter(a => a.placement === 'left').map(renderItem)\r\n      }\r\n      {\r\n        label &&\r\n        <MobileMenuHeaderLabel>{label}</MobileMenuHeaderLabel>\r\n      }\r\n      <MobileMenuHeaderActions>\r\n        {\r\n          buttons?.filter(a => a.placement !== 'left').map(renderItem)\r\n        }\r\n\r\n        {\r\n          onClose &&\r\n          <div style={{marginLeft: '8px'}}>\r\n            <IconButton variant={'secondary'}\r\n                        action={e => {\r\n                          e?.nativeEvent.stopImmediatePropagation();\r\n                          onClose();\r\n                        }}\r\n                        shape={'circular'}>\r\n              <SystemIcons.Close/>\r\n            </IconButton>\r\n          </div>\r\n        }\r\n      </MobileMenuHeaderActions>\r\n\r\n    </MobileMenuHeaderWrapper>\r\n  )\r\n};\r\n\r\n\r\nexport default MobileMenuHeader;\r\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAAkD,IAAAO,WAAA,GAAAP,OAAA;AAAA,MAAAQ,SAAA;EAAAC,UAAA;EAAAC,UAAA;AAAA,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAnB,CAAA,EAAAG,MAAA,CAAAe,yBAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAiB,cAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAE3C,MAAMqB,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAGE,yBAAM,CAACC,GAAG;AACjD;AACA;AACA;AACA;AACA,CAAC;AACD,MAAMC,qBAAqB,GAAGF,yBAAM,CAACC,GAAG;AACxC,IAAIE,KAAK,IAAI,IAAAC,0BAAkB,EAACC,0BAAkB,CAACC,IAAI,EAAEC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,CAAC;AACrG,IAAIC,mBAAW,CAACC,KAAK;AACrB,MAAMR,KAAK,IAAI,IAAAS,yBAAiB,EAACP,0BAAkB,CAACC,IAAI,EAAEC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,CAAC;AACtG;AACA,CAAC;AAEM,MAAMI,uBAAuB,GAAAd,OAAA,CAAAc,uBAAA,GAAGb,yBAAM,CAACC,GAAG;AACjD;AACA;AACA;AACA;AACA;AACA,IAAIa,oBAAW,CAACH,KAAK;AACrB;AACA;AACA;AACA,IAAIG,oBAAW,CAACC,KAAK;AACrB;AACA;AACA,CAAC;AAcD,MAAMC,gBAAgE,GAAGC,IAAA,IAOO;EAAA,IAPN;IACEC,QAAQ;IACRC,OAAO;IACPC,KAAK;IACLC,OAAO;IACPC,OAAO;IACPC;EACF,CAAC,GAAAN,IAAA;EAEzE,MAAMO,mBAAmB,GAAGA,CAAA,KAAM,CAAC,CAACH,OAAO,GAAG;IAC5CI,IAAI,EAAE,OAAO;IACbL,KAAK,EAAEC,OAAO,CAACD,KAAK;IACpBM,MAAM,EAAE;MACNA,MAAM,EAAEL,OAAO,CAACM,IAAI,CAACC,SAAS,GAAG,GAAG,GAAGP,OAAO,CAACM,IAAI,CAACE,QAAQ;MAC5DC,IAAI,EAAET,OAAO,CAACM,IAAI,CAACI,KAAK;MACxBC,IAAI,EAAEX,OAAO,CAACM,IAAI,CAACK;IACrB,CAAC;IACDC,MAAM,EAAE;MACNb,KAAK,EAAEC,OAAO,CAACa,OAAO,EAAEd,KAAK;MAC7Ba,MAAM,EAAEZ,OAAO,CAACa,OAAO,EAAED,MAAM;MAC/BE,IAAI,EAAEd,OAAO,CAACa,OAAO,EAAEC,IAAI;MAC3BC,QAAQ,EAAEf,OAAO,CAACa,OAAO,EAAEE;IAC7B,CAAC;IACDC,KAAK,EAAEhB,OAAO,CAACiB,QAAQ,CAACC,GAAG,CAACC,CAAC,IAAAnD,aAAA,CAAAA,aAAA,KAASmD,CAAC;MAAEf,IAAI,EAAE;IAAS,EAAE;EAC5D,CAAC,GAAkCgB,SAAS;EAE5C,MAAMC,UAAU,GAAGA,CAACC,IAA2B,EAAEC,KAAa,KAAK;IACjE,QAAQD,IAAI,CAAClB,IAAI;MACf,KAAK,SAAS;QAAE;UACd,MAAM;cAACoB,SAAS;cAAEpB,IAAI;cAAEQ;YAAe,CAAC,GAAGU,IAAI;YAAZG,IAAI,OAAAC,yBAAA,CAAArD,OAAA,EAAIiD,IAAI,EAAAtE,SAAA;UAC/C,IAAG,CAAC,CAACgD,OAAO,EACV,oBAAQ,IAAAjD,WAAA,CAAA4E,GAAA,EAAC7E,cAAA,CAAA8E,aAAa,EAAA5D,aAAA;YACF6D,OAAO,EAAEzE,CAAC,IAAI;cACZA,CAAC,EAAE0E,WAAW,CAACC,wBAAwB,CAAC,CAAC;cACzCT,IAAI,CAACV,MAAM,GAAGU,IAAI,CAACV,MAAM,CAACxD,CAAC,EAAE4E,MAAM,CAAC,IAAIlC,OAAO,CAAC,CAAC,GAAGI,aAAa,IAAIA,aAAa,CAACC,mBAAmB,CAAC,CAAC,CAAC;YAC3G,CAAE;YACFW,IAAI,EAAE,CAACd,OAAO,iBAAI,IAAAjD,WAAA,CAAA4E,GAAA,EAAC/E,MAAA,CAAAqF,WAAW,CAACC,IAAI,IAAC,CAAE;YACtCC,QAAQ,EAAE,CAACnC,OAAO,EAAEM,IAAI,EAAEC,SAAS,EAAE6B,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAKpC,OAAO,EAAEM,IAAI,EAAEE,QAAQ,EAAE4B,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE;UAAE,GAC/FX,IAAI,GAPAF,KAOE,CAAC,MAC5B,oBAAO,IAAAxE,WAAA,CAAA4E,GAAA,EAAA5E,WAAA,CAAAsF,QAAA,IAAI,CAAC;QAEnB;MACA,KAAK,SAAS;QAAE;UACd,MAAM;cAACb,SAAS;cAAEpB,IAAI;cAAEU,IAAI;cAAEwB;YAAa,CAAC,GAAGhB,IAAI;YAAZG,IAAI,OAAAC,yBAAA,CAAArD,OAAA,EAAIiD,IAAI,EAAArE,UAAA;UAEnD,oBAAO,IAAAF,WAAA,CAAA4E,GAAA,EAAChF,OAAA,CAAA4F,UAAU,EAAAvE,aAAA,CAAAA,aAAA;YACCwE,OAAO,EAAE,WAAY;YACrBC,KAAK,EAAE,UAAW;YAClB7B,MAAM,EAAExD,CAAC,IAAI;cACXA,CAAC,EAAE0E,WAAW,CAACC,wBAAwB,CAAC,CAAC;cACzC7B,aAAa,IAAIA,aAAa,CAACoB,IAAI,CAACgB,IAAI,CAAC;YAC3C;UAAE,GACEb,IAAI;YAAAiB,QAAA,EACxBpB,IAAI,CAACR;UAAI,IARYS,KASZ,CAAC;QACf;MACA,KAAK,QAAQ;QAAE;UACb,MAAM;cAACC,SAAS;cAAEpB,IAAI;cAAEU,IAAI;cAAEF;YAAe,CAAC,GAAGU,IAAI;YAAZG,IAAI,OAAAC,yBAAA,CAAArD,OAAA,EAAIiD,IAAI,EAAApE,UAAA;UACrD,oBAAO,IAAAH,WAAA,CAAA4E,GAAA,EAAChF,OAAA,CAAA4F,UAAU,EAAAvE,aAAA,CAAAA,aAAA;YACC+C,QAAQ,EAAEO,IAAI,CAACP,QAAS;YACxByB,OAAO,EAAE,WAAY;YACrBC,KAAK,EAAE,UAAW;YAClB7B,MAAM,EAAExD,CAAC,IAAI;cACXA,CAAC,EAAE0E,WAAW,CAACC,wBAAwB,CAAC,CAAC;cACzCT,IAAI,CAACV,MAAM,IAAIU,IAAI,CAACV,MAAM,CAACxD,CAAC,EAAE4E,MAAM,CAAC,IAAIlC,OAAO,CAAC,CAAC;YACpD;UAAE,GACE2B,IAAI;YAAAiB,QAAA,EACxBpB,IAAI,CAACR;UAAI,IATYS,KAUZ,CAAC;QACf;IACF;EACF,CAAC;EAED,oBACE,IAAAxE,WAAA,CAAA4F,IAAA,EAACnD,uBAAuB;IAAAkD,QAAA,GAEpB7C,QAAQ,iBACR,IAAA9C,WAAA,CAAA4E,GAAA,EAAChF,OAAA,CAAA4F,UAAU;MAAC3B,MAAM,EAAExD,CAAC,IAAI;QACvBA,CAAC,EAAE0E,WAAW,CAACC,wBAAwB,CAAC,CAAC;QACzClC,QAAQ,CAAC,CAAC;MACZ,CAAE;MACU2C,OAAO,EAAE,WAAY;MACrBC,KAAK,EAAE,UAAW;MAAAC,QAAA,eAC5B,IAAA3F,WAAA,CAAA4E,GAAA,EAAC/E,MAAA,CAAAqF,WAAW,CAACW,aAAa,IAAC;IAAC,CAClB,CAAC,EAGb3C,OAAO,EAAEtC,MAAM,CAACwD,CAAC,IAAIA,CAAC,CAACK,SAAS,KAAK,MAAM,CAAC,CAACN,GAAG,CAACG,UAAU,CAAC,EAG5DtB,KAAK,iBACL,IAAAhD,WAAA,CAAA4E,GAAA,EAAC9C,qBAAqB;MAAA6D,QAAA,EAAE3C;IAAK,CAAwB,CAAC,eAExD,IAAAhD,WAAA,CAAA4F,IAAA,EAAClE,uBAAuB;MAAAiE,QAAA,GAEpBzC,OAAO,EAAEtC,MAAM,CAACwD,CAAC,IAAIA,CAAC,CAACK,SAAS,KAAK,MAAM,CAAC,CAACN,GAAG,CAACG,UAAU,CAAC,EAI5DvB,OAAO,iBACP,IAAA/C,WAAA,CAAA4E,GAAA;QAAKkB,KAAK,EAAE;UAACC,UAAU,EAAE;QAAK,CAAE;QAAAJ,QAAA,eAC9B,IAAA3F,WAAA,CAAA4E,GAAA,EAAChF,OAAA,CAAA4F,UAAU;UAACC,OAAO,EAAE,WAAY;UACrB5B,MAAM,EAAExD,CAAC,IAAI;YACXA,CAAC,EAAE0E,WAAW,CAACC,wBAAwB,CAAC,CAAC;YACzCjC,OAAO,CAAC,CAAC;UACX,CAAE;UACF2C,KAAK,EAAE,UAAW;UAAAC,QAAA,eAC5B,IAAA3F,WAAA,CAAA4E,GAAA,EAAC/E,MAAA,CAAAqF,WAAW,CAACc,KAAK,IAAC;QAAC,CACV;MAAC,CACV,CAAC;IAAA,CAEe,CAAC;EAAA,CAEH,CAAC;AAE9B,CAAC;AAACpD,gBAAA,CAAAqD,SAAA;EA9HAnD,QAAQ,EAAAoD,UAAA,CAAA5E,OAAA,CAAA6E,IAAA;EACRpD,OAAO,EAAAmD,UAAA,CAAA5E,OAAA,CAAA6E,IAAA,CAAAC,UAAA;EACPpD,KAAK,EAAAkD,UAAA,CAAA5E,OAAA,CAAA+E,MAAA;EAGLnD,OAAO,EAAAgD,UAAA,CAAA5E,OAAA,CAAAgF,KAAA;EAEPnD,aAAa,EAAA+C,UAAA,CAAA5E,OAAA,CAAA6E;AAAA;AAAA,IAAAI,QAAA,GAAA5E,OAAA,CAAAL,OAAA,GA0HAsB,gBAAgB","ignoreList":[]}