{
  "version": 3,
  "sources": ["../../src/navigable-container/menu.tsx"],
  "sourcesContent": ["/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport NavigableContainer from './container';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function UnforwardedNavigableMenu({\n  role = 'menu',\n  orientation = 'vertical',\n  ...rest\n}, ref) {\n  const eventToOffset = evt => {\n    const {\n      code\n    } = evt;\n    let next = ['ArrowDown'];\n    let previous = ['ArrowUp'];\n    if (orientation === 'horizontal') {\n      next = ['ArrowRight'];\n      previous = ['ArrowLeft'];\n    }\n    if (orientation === 'both') {\n      next = ['ArrowRight', 'ArrowDown'];\n      previous = ['ArrowLeft', 'ArrowUp'];\n    }\n    if (next.includes(code)) {\n      return 1;\n    } else if (previous.includes(code)) {\n      return -1;\n    } else if (['ArrowDown', 'ArrowUp', 'ArrowLeft', 'ArrowRight'].includes(code)) {\n      // Key press should be handled, e.g. have event propagation and\n      // default behavior handled by NavigableContainer but not result\n      // in an offset.\n      return 0;\n    }\n    return undefined;\n  };\n  return /*#__PURE__*/_jsx(NavigableContainer, {\n    ref: ref,\n    stopNavigationEvents: true,\n    onlyBrowserTabstops: false,\n    role: role,\n    \"aria-orientation\": role !== 'presentation' && (orientation === 'vertical' || orientation === 'horizontal') ? orientation : undefined,\n    eventToOffset: eventToOffset,\n    ...rest\n  });\n}\n\n/**\n * A container for a navigable menu.\n *\n *  ```jsx\n *  import {\n *    NavigableMenu,\n *    Button,\n *  } from '@wordpress/components';\n *\n *  function onNavigate( index, target ) {\n *    console.log( `Navigates to ${ index }`, target );\n *  }\n *\n *  const MyNavigableContainer = () => (\n *    <div>\n *      <span>Navigable Menu:</span>\n *      <NavigableMenu onNavigate={ onNavigate } orientation=\"horizontal\">\n *        <Button variant=\"secondary\">Item 1</Button>\n *        <Button variant=\"secondary\">Item 2</Button>\n *        <Button variant=\"secondary\">Item 3</Button>\n *      </NavigableMenu>\n *    </div>\n *  );\n *  ```\n */\nexport const NavigableMenu = forwardRef(UnforwardedNavigableMenu);\nNavigableMenu.displayName = 'NavigableMenu';\nexport default NavigableMenu;"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAA2B;AAK3B,uBAA+B;AAC/B,yBAA4B;AACrB,SAAS,yBAAyB;AAAA,EACvC,OAAO;AAAA,EACP,cAAc;AAAA,EACd,GAAG;AACL,GAAG,KAAK;AACN,QAAM,gBAAgB,SAAO;AAC3B,UAAM;AAAA,MACJ;AAAA,IACF,IAAI;AACJ,QAAI,OAAO,CAAC,WAAW;AACvB,QAAI,WAAW,CAAC,SAAS;AACzB,QAAI,gBAAgB,cAAc;AAChC,aAAO,CAAC,YAAY;AACpB,iBAAW,CAAC,WAAW;AAAA,IACzB;AACA,QAAI,gBAAgB,QAAQ;AAC1B,aAAO,CAAC,cAAc,WAAW;AACjC,iBAAW,CAAC,aAAa,SAAS;AAAA,IACpC;AACA,QAAI,KAAK,SAAS,IAAI,GAAG;AACvB,aAAO;AAAA,IACT,WAAW,SAAS,SAAS,IAAI,GAAG;AAClC,aAAO;AAAA,IACT,WAAW,CAAC,aAAa,WAAW,aAAa,YAAY,EAAE,SAAS,IAAI,GAAG;AAI7E,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AACA,SAAoB,uCAAAA,KAAK,iBAAAC,SAAoB;AAAA,IAC3C;AAAA,IACA,sBAAsB;AAAA,IACtB,qBAAqB;AAAA,IACrB;AAAA,IACA,oBAAoB,SAAS,mBAAmB,gBAAgB,cAAc,gBAAgB,gBAAgB,cAAc;AAAA,IAC5H;AAAA,IACA,GAAG;AAAA,EACL,CAAC;AACH;AA2BO,IAAM,oBAAgB,2BAAW,wBAAwB;AAChE,cAAc,cAAc;AAC5B,IAAO,eAAQ;",
  "names": ["_jsx", "NavigableContainer"]
}
