{"version":3,"file":"AppMenuItemComponent.mjs","names":["React","forwardRef","ListItem","NavLink","ListItemLinkComponent","props","ref","$","_c","t0","displayName","AppMenuItemComponent","link","other","params","tenantHref","t1","t2","isChild","t3","e","opensNewTab","button","ctrlKey","metaKey","currentTarget","setAttribute","swapHrefForNewTab","Symbol","for","label","replace","t4","t5","pathname","state","t6","undefined","t7"],"sources":["../../../../src/UI/navigation/menus/AppMenuItemComponent.jsx"],"sourcesContent":["import React, { forwardRef } from 'react'\nimport { ListItem } from '@material-ui/core'\nimport { NavLink } from 'react-router-dom'\n\nconst ListItemLinkComponent = forwardRef((props, ref) => (\n  <NavLink exact {...props} innerRef={ref} />\n))\nListItemLinkComponent.displayName = 'ListItemLinkComponent'\n\nexport const AppMenuItemComponent = (props) => {\n  const { link, tenantHref, params, isChild, ...other } = props\n\n  // If link is not set return the ordinary ListItem\n  if (!link || typeof link !== 'string') {\n    return <ListItem button {...other} dense />\n  }\n\n  // The \"to\" pathname stays clean so normal (left-click) SPA navigation keeps a\n  // tenant-free URL. New-tab intents (right-click, middle-click, ctrl/cmd-click)\n  // use the anchor's href instead, so we swap in the tenant-carrying href just\n  // in time on mousedown. React Router navigates left-clicks via \"to\" (not\n  // href), so a dirtied href never leaks into the address bar.\n  const swapHrefForNewTab = (e) => {\n    if (!tenantHref) return\n    const opensNewTab =\n      e.button === 1 || e.button === 2 || e.ctrlKey || e.metaKey\n    if (opensNewTab) e.currentTarget.setAttribute('href', tenantHref)\n  }\n\n  // Return a ListItem with a link component\n  return (\n    <ListItem\n      id={'udpRecord-AppMenuItemComponent-'+params.label.replace(/\\s+/g, '')}\n      udprecordid={'udpRecord-AppMenuItemComponent-'+params.label.replace(/\\s+/g, '')}\n      button\n      component={ListItemLinkComponent}\n      to={{\n        pathname: link,\n        state: params\n      }}\n      onMouseDown={tenantHref ? swapHrefForNewTab : undefined}\n      {...other}\n      onClick={undefined}\n      dense\n    />\n  )\n}\n"],"mappings":"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"}