{"version":3,"file":"./build/block-library/blocks/navigation/view.min.js","mappings":"YACA,SAASA,EAAeC,GACvBA,EACEC,iBAAkB,0BAClBC,SAAS,SAAWC,GACpBA,EAAOC,aAAc,gBAAiB,QACtC,GACF,CAED,SAASC,EAAsBC,GAC9B,MAAMC,EAAeD,EAAME,OAAOC,QAAS,mBAG3C,GAAuB,SAFDF,EAAaG,aAAc,iBAGhDX,EAAeQ,EAAaE,QAAS,kCAC/B,CAEN,MAAME,EAAgBJ,EAAaE,QAClC,6BAEwBF,EAAaE,QACrC,iGAGCR,iBAAkB,6BAClBC,SAAS,SAAWU,GACfA,IAAUD,GACdZ,EAAea,EAEhB,IAEFL,EAAaH,aAAc,gBAAiB,OAC5C,CACD,CAIDS,OAAOC,iBAAkB,QAAQ,KACTC,SAASd,iBAC/B,wCAGcC,SAAS,SAAWc,GAClCA,EAAOF,iBAAkB,QAAST,EAClC,IAGDU,SAASD,iBAAkB,SAAS,SAAWR,GACrBS,SAASd,iBACjC,wBAEgBC,SAAS,SAAWe,GAC7BA,EAAMC,SAAUZ,EAAME,SAC5BT,EAAekB,EAEhB,GACD,IAEDF,SAASD,iBAAkB,SAAS,SAAWR,GACxBS,SAASd,iBAC9B,uCAEaC,SAAS,SAAWe,GACjC,GAAOA,EAAMC,SAAUZ,EAAME,SAEtB,GAAmB,WAAdF,EAAMa,IAAmB,CACpC,MAAMhB,EAASc,EAAMG,cAAe,0BACpCrB,EAAekB,GAEfd,SAAAA,EAAQkB,OACR,OANAtB,EAAekB,EAOhB,GACD,GAdD,G","sources":["webpack://wp/./packages/block-library/build-module/navigation/@wordpress/block-library/src/navigation/view.js"],"sourcesContent":["// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.addEventListener( 'load', () => {\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside or escape key.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t} else if ( event.key === 'Escape' ) {\n\t\t\t\tconst toggle = block.querySelector( '[aria-expanded=\"true\"]' );\n\t\t\t\tcloseSubmenus( block );\n\t\t\t\t// Focus the submenu trigger so focus does not get trapped in the closed submenu.\n\t\t\t\ttoggle?.focus();\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"],"names":["closeSubmenus","element","querySelectorAll","forEach","toggle","setAttribute","toggleSubmenuOnClick","event","buttonToggle","target","closest","getAttribute","parentElement","child","window","addEventListener","document","button","block","contains","key","querySelector","focus"],"sourceRoot":""}