{"version":3,"file":"SubMenu.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_ExtendedMainMenu","_types","_icons","_utils","_Tabs","_TabLink","_MenuItem","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SubMenuWrapper","exports","styled","div","Menu","props","$topLevel","$visible","SubMenu","forwardRef","_ref","ref","item","index","topLevel","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","focusedItemId","activeItemId","nestPath","ariaLabelledBy","onItemFocused","forceUpdate","useState","focusedRef","useRef","allRefs","setAllRefs","subMenuRefs","setAllSubMenuRefs","useEffect","items","map","x","type","createRef","undefined","existingRef","current","find","id","onMouseLeave","event","filter","containActiveItem","checkIfContainsItem","onMouseEnter","existingRefForId","onKeyDown","key","stopPropagation","preventDefault","setNewFocusedElement","length","code","focusedItem","click","newFocusedElement","oldFocusedElement","classList","remove","add","onFocus","onBlur","jsx","className","Boolean","children","role","tabIndex","MenuSection","MenuSectionList","size","Size","Medium","entry","isGroup","to","SubItemOpened","jsxs","style","position","MenuItem","value","label","iconRight","SystemIcons","ArrowDropRight","active","onClickHandler","Fragment","href","onActiveStateChanged","state","forceDeactivate","requiredLine","optionalLine","endLineIcon","OptionalLineIcon","disabled","showNotificationDot","variant","propTypes","_propTypes","number","isRequired","bool","func","string","arrayOf"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nimport { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\r\nimport { MenuNavigationItemTypeDesktopGroup } from '../types';\r\nimport { Size } from '../../types';\r\nimport { SystemIcons } from '../../icons';\r\nimport { checkIfContainsItem } from '../utils';\r\nimport Tabs from '../../Tabs/Tabs';\r\nimport TabLink from '../../Tabs/TabLink';\r\nimport { MenuItem } from '../../MenuItem';\r\n\r\nexport type SubMenuProps = {\r\n  item: MenuNavigationItemTypeDesktopGroup;\r\n  index: number;\r\n  topLevel: boolean;\r\n  dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\r\n  onSubMenuOpened?: (item: string) => void;\r\n  onSubMenuHidden?: (item: string) => void;\r\n  onItemStateChanged?: (item: string, state: boolean) => void;\r\n  onItemFocused?: (item: string) => void;\r\n  focusedItemId?: string;\r\n  activeItemId?: string;\r\n  nestPath?: string[];\r\n  ariaLabelledBy?: string;\r\n};\r\n\r\nexport const SubMenuWrapper = styled.div<{ $topLevel: boolean; $visible: boolean }>`\r\n  ${Menu} {\r\n    top: ${(props) => (props.$topLevel ? '100%' : '0px')};\r\n    left: ${(props) => (props.$topLevel ? '0px' : 'calc(100% - 12px)')};\r\n  }\r\n\r\n  ${(props) => (!props.$visible ? 'display: none;' : '')}\r\n\r\n  button {\r\n    padding-left: 0px;\r\n  }\r\n`;\r\n\r\nexport const SubMenu = React.forwardRef<HTMLUListElement, SubMenuProps>(({\r\n  item,\r\n  index,\r\n  topLevel,\r\n  dropdownMenusOpenedArray,\r\n  onSubMenuHidden,\r\n  onSubMenuOpened,\r\n  onItemStateChanged,\r\n  focusedItemId,\r\n  activeItemId,\r\n  nestPath,\r\n  ariaLabelledBy,\r\n  onItemFocused\r\n}: SubMenuProps, ref): React.ReactElement<SubMenuProps> => {\r\n  const [, forceUpdate] = React.useState({});\r\n  const focusedRef = React.useRef<{ index: number }>({ index: -1 });\r\n  const [allRefs, setAllRefs] = React.useState<React.RefObject<HTMLButtonElement | HTMLAnchorElement | null>[]>([]);\r\n  const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement | null> | undefined)[]>([]);\r\n\r\n  React.useEffect(() => {\r\n    setAllRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLButtonElement>() : React.createRef<HTMLAnchorElement>())));\r\n    setAllSubMenuRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\r\n  }, [item]);\r\n\r\n  const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\r\n  const onMouseLeave = (event: any, id: string) => {\r\n    dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\r\n    //just trigger rerendering\r\n    onSubMenuHidden && onSubMenuHidden(id);\r\n    forceUpdate({});\r\n  };\r\n  let containActiveItem = false;\r\n  if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);\r\n\r\n  const onMouseEnter = (event: any, id: string) => {\r\n    const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\r\n    if (existingRefForId == null) {\r\n      dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\r\n      //just trigger rerendering\r\n      onSubMenuOpened && onSubMenuOpened(id);\r\n      forceUpdate({});\r\n    }\r\n  };\r\n\r\n  const onKeyDown = (e: React.KeyboardEvent<HTMLUListElement>) => {\r\n    \r\n    if (e.key === 'ArrowUp' || e.key === 'Up') {\r\n      e.stopPropagation();\r\n      e.preventDefault();\r\n      if (focusedRef.current.index > 0) {\r\n        setNewFocusedElement(focusedRef.current.index - 1);\r\n      }\r\n    } else if (e.key === 'ArrowDown' || e.key === 'Down') {\r\n      e.stopPropagation();\r\n      e.preventDefault();\r\n      if(focusedRef.current.index < allRefs.length - 1)\r\n      setNewFocusedElement(focusedRef.current.index + 1);\r\n    } \r\n     else\r\n    if (e.key == 'Enter' || e.code == 'Space') {\r\n      e.stopPropagation();\r\n      if(focusedRef.current.index < 0)\r\n        return;\r\n      \r\n      const focusedItem = item.items[focusedRef.current.index];\r\n      if(focusedItem.type == 'desktopgroup')\r\n      {\r\n        dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, focusedItem.id];\r\n        forceUpdate({});\r\n      }\r\n      else\r\n      {\r\n        allRefs[focusedRef.current.index].current?.click();\r\n        forceUpdate({});\r\n      }\r\n\r\n      //just trigger rerendering\r\n      \r\n    }\r\n  };\r\n\r\n  const setNewFocusedElement = (index: number) => {\r\n    const newFocusedElement = index >= 0 ? allRefs[index] : null;\r\n    const oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;\r\n    focusedRef.current.index = index;\r\n\r\n    if(oldFocusedElement)\r\n      oldFocusedElement?.current?.classList.remove('dropdown-hover');\r\n\r\n    if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\r\n      newFocusedElement.current?.classList.add('dropdown-hover');\r\n      onItemFocused && onItemFocused(item.items[index].id ?? '');\r\n    }\r\n    else if(onItemFocused)\r\n      onItemFocused('');\r\n  };\r\n\r\n  const onFocus = (event: React.FocusEvent<HTMLUListElement>) => {\r\n    event.stopPropagation();\r\n    dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\r\n    setNewFocusedElement(0);\r\n    forceUpdate({});\r\n    \r\n  };\r\n\r\n  const onBlur = (event: React.FocusEvent<HTMLUListElement>) => {\r\n    event.stopPropagation();\r\n    setNewFocusedElement(-1);\r\n  };\r\n\r\n  return (\r\n    <SubMenuWrapper id={item.id}  className={existingRef ? 'open' : '' } $topLevel={topLevel} $visible={Boolean(existingRef)}>\r\n      <Menu role=\"group\" ref={ref} aria-labelledby={ariaLabelledBy} onBlur={onBlur} onFocus={onFocus} onKeyDown={(event) => onKeyDown(event)} tabIndex={0}>\r\n        <MenuSection>\r\n          <MenuSectionList>\r\n            <Tabs size={Size.Medium}>\r\n              {item.items.map((entry, index) => {\r\n                const isGroup = entry.type == 'desktopgroup';\r\n                const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\r\n                const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\r\n                if (isGroup) {\r\n                  return (\r\n                    <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\r\n                      <MenuItem\r\n                        id={entry.id + '_parentOption'}\r\n                        aria-expanded={Boolean(SubItemOpened)}\r\n                        aria-activedescendant={entry.items.find(x => x.id == focusedItemId)?.id ?? ''}\r\n                        tabIndex={-1}\r\n                        ref={allRefs[index] as React.Ref<HTMLButtonElement>}\r\n                        \r\n                        aria-controls={entry.id}\r\n                        role=\"group\"\r\n                        //id={entry.id} removing this can break something\r\n                        item={{\r\n                          value: entry.label ?? '',\r\n                        }}\r\n                        iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\r\n                        active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\r\n                        onClickHandler={() => {}}\r\n                      />\r\n                      <SubMenu\r\n                        ariaLabelledBy={entry.id + '_parentOption'}\r\n                        onItemFocused={onItemFocused}\r\n                        focusedItemId={focusedItemId}\r\n                        ref={subMenuRefs[index]}\r\n                        nestPath={[...(nestPath ?? []), entry.id]}\r\n                        onItemStateChanged={onItemStateChanged}\r\n                        activeItemId={activeItemId}\r\n                        dropdownMenusOpenedArray={dropdownMenusOpenedArray}\r\n                        item={entry as MenuNavigationItemTypeDesktopGroup}\r\n                        index={index + 1}\r\n                        topLevel={false}\r\n                      />\r\n                    </div>\r\n                  );\r\n                }\r\n                return (\r\n                  <>\r\n                    <TabLink\r\n                      id={entry.id}\r\n                      tabIndex={-1}\r\n                      key={key}\r\n                      href={isGroup ? '' : key}\r\n                      ref={allRefs[index] as React.Ref<HTMLAnchorElement>}\r\n                      onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\r\n                      forceDeactivate={isGroup}\r\n                      requiredLine={entry.label ?? ''}\r\n                      optionalLine={''}\r\n                      endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\r\n                      OptionalLineIcon={''}\r\n                      disabled={entry.disabled}\r\n                      showNotificationDot={false}\r\n                      size={Size.Medium}\r\n                      variant=\"positive\"\r\n                    />\r\n                  </>\r\n                );\r\n              })}\r\n            </Tabs>\r\n          </MenuSectionList>\r\n        </MenuSection>\r\n      </Menu>\r\n    </SubMenuWrapper>\r\n  );\r\n});\r\n"],"mappings":"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","ignoreList":[]}