{"version":3,"file":"view.js","mappings":"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","sources":["webpack://mega-menu-block/external module \"@wordpress/interactivity\"","webpack://mega-menu-block/webpack/bootstrap","webpack://mega-menu-block/webpack/runtime/make namespace object","webpack://mega-menu-block/./src/view.js"],"sourcesContent":["var x = (y) => {\n\tvar x = {}; __webpack_require__.d(x, y); return x\n} \nvar y = (x) => (() => (x))\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nconst { state, actions } = store( 'outermost/mega-menu', {\n\tstate: {\n\t\tget isMenuOpen() {\n\t\t\t// The menu is opened if either `click` or `focus` is true.\n\t\t\treturn (\n\t\t\t\tObject.values( state.menuOpenedBy ).filter( Boolean ).length > 0\n\t\t\t);\n\t\t},\n\t\tget menuOpenedBy() {\n\t\t\tconst context = getContext();\n\t\t\treturn context.menuOpenedBy;\n\t\t},\n\t},\n\tactions: {\n\t\ttoggleMenuOnClick() {\n\t\t\tconst context = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\t// Safari won't send focus to the clicked element, so we need to manually place it: https://bugs.webkit.org/show_bug.cgi?id=22261\n\t\t\tif ( window.document.activeElement !== ref ) ref.focus();\n\n\t\t\tif ( state.menuOpenedBy.click || state.menuOpenedBy.focus ) {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t} else {\n\t\t\t\tcontext.previousFocus = ref;\n\t\t\t\tactions.openMenu( 'click' );\n\t\t\t}\n\t\t},\n\t\tcloseMenuOnClick() {\n\t\t\tactions.closeMenu( 'click' );\n\t\t\tactions.closeMenu( 'focus' );\n\t\t},\n\t\thandleMenuKeydown( event ) {\n\t\t\tif ( state.menuOpenedBy.click ) {\n\t\t\t\t// If Escape close the menu.\n\t\t\t\tif ( event?.key === 'Escape' ) {\n\t\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thandleMenuFocusout( event ) {\n\t\t\tconst context = getContext();\n\t\t\tconst menuContainer = context.megaMenu?.querySelector(\n\t\t\t\t'.wp-block-outermost-mega-menu__menu-container'\n\t\t\t);\n\t\t\t// If focus is outside menu, and in the document, close menu\n\t\t\t// event.target === The element losing focus\n\t\t\t// event.relatedTarget === The element receiving focus (if any)\n\t\t\t// When focusout is outside the document,\n\t\t\t// `window.document.activeElement` doesn't change.\n\n\t\t\t// The event.relatedTarget is null when something outside the navigation menu is clicked. This is only necessary for Safari.\n\t\t\t// TODO: There is still an issue in Safari where clicking on the menu link closes the menu. We don't want this. The toggleMenuOnClick callback should handle this.\n\t\t\tif (\n\t\t\t\tevent.relatedTarget === null ||\n\t\t\t\t( ! menuContainer?.contains( event.relatedTarget ) &&\n\t\t\t\t\tevent.target !== window.document.activeElement )\n\t\t\t) {\n\t\t\t\tactions.closeMenu( 'click' );\n\t\t\t\tactions.closeMenu( 'focus' );\n\t\t\t}\n\t\t},\n\t\topenMenu( menuOpenedOn = 'click' ) {\n\t\t\tstate.menuOpenedBy[ menuOpenedOn ] = true;\n\t\t},\n\t\tcloseMenu( menuClosedOn = 'click' ) {\n\t\t\tconst context = getContext();\n\t\t\tstate.menuOpenedBy[ menuClosedOn ] = false;\n\n\t\t\t// Reset the menu reference and button focus when closed.\n\t\t\tif ( ! state.isMenuOpen ) {\n\t\t\t\tif (\n\t\t\t\t\tcontext.megaMenu?.contains( window.document.activeElement )\n\t\t\t\t) {\n\t\t\t\t\tcontext.previousFocus?.focus();\n\t\t\t\t}\n\t\t\t\tcontext.previousFocus = null;\n\t\t\t\tcontext.megaMenu = null;\n\t\t\t}\n\t\t},\n\t},\n\tcallbacks: {\n\t\tinitMenu() {\n\t\t\tconst context = getContext();\n\t\t\tconst { ref } = getElement();\n\n\t\t\t// Set the menu reference when initialized.\n\t\t\tif ( state.isMenuOpen ) {\n\t\t\t\tcontext.megaMenu = ref;\n\t\t\t}\n\t\t},\n\t},\n} );\n\n// TODO: Convert all the following to use the Interactivity API.\n// ----------------------------------------------------------------------------------------------- //\n\n// Get the root padding variables.\nconst bodyStyles = window.getComputedStyle( document.body );\nconst rootPaddingLeft = bodyStyles\n\t.getPropertyValue( '--wp--style--root--padding-left' )\n\t.trim();\nconst rootPaddingRight = bodyStyles\n\t.getPropertyValue( '--wp--style--root--padding-left' )\n\t.trim();\n\nfunction adjustMegaMenus() {\n\t// Convert the CSS variable value to pixels.\n\tconst rootPaddingLeftValue = convertCssValueToPixels( rootPaddingLeft );\n\tconst rootPaddingRightValue = convertCssValueToPixels( rootPaddingRight );\n\n\tdocument\n\t\t.querySelectorAll( '.wp-block-outermost-mega-menu__menu-container' )\n\t\t.forEach( ( menu ) => {\n\t\t\tconst navBlock = menu.closest( '.wp-block-navigation' );\n\t\t\tif ( ! navBlock ) return;\n\n\t\t\t// Determine the justification of the navigation block.\n\t\t\tlet justification = 'left';\n\n\t\t\tif (\n\t\t\t\tnavBlock.classList.contains( 'items-justified-center' ) ||\n\t\t\t\tnavBlock.classList.contains( 'items-justified-space-between' )\n\t\t\t) {\n\t\t\t\tjustification = 'center';\n\t\t\t} else if (\n\t\t\t\tnavBlock.classList.contains( 'items-justified-right' )\n\t\t\t) {\n\t\t\t\tjustification = 'right';\n\t\t\t}\n\n\t\t\t// TODO: Refactor\n\t\t\tif (\n\t\t\t\tmenu.classList.contains( 'menu-justified-center' )\n\t\t\t) {\n\t\t\t\tjustification = 'center';\n\t\t\t} else if (\n\t\t\t\tmenu.classList.contains( 'menu-justified-right' )\n\t\t\t) {\n\t\t\t\tjustification = 'right';\n\t\t\t} else if (\n\t\t\t\tmenu.classList.contains( 'menu-justified-left' )\n\t\t\t) {\n\t\t\t\tjustification = 'right';\n\t\t\t}\n\n\t\t\tconsole.log( justification );\n\t\t\t// Get the window space and the native width of the mega menu.\n\t\t\tconst windowSpace =\n\t\t\t\twindow.innerWidth -\n\t\t\t\trootPaddingRightValue -\n\t\t\t\trootPaddingLeftValue;\n\t\t\tconst menuWidth = menu.offsetWidth;\n\n\t\t\t// Get the bounding rectangle of the navigation block containing the menu.\n\t\t\tconst menuRect = menu.getBoundingClientRect();\n\t\t\tconst navBlockRect = navBlock.getBoundingClientRect();\n\n\t\t\t// Assumes that the navigation block is always offset by the root padding.\n\t\t\tconst leftOffset =\n\t\t\t\tnavBlockRect.left <= rootPaddingLeftValue\n\t\t\t\t\t? rootPaddingLeftValue - navBlockRect.left\n\t\t\t\t\t: navBlockRect.left - rootPaddingLeftValue;\n\t\t\tconst leftSpace = ( windowSpace - menuWidth ) / 2;\n\n\t\t\tif ( justification === 'center' ) {\n\t\t\t\tif ( menuWidth > windowSpace ) {\n\t\t\t\t\tmenu.style.width = `${ windowSpace }px`;\n\t\t\t\t\tmenu.style.left = `-${ leftOffset }px`;\n\t\t\t\t} else if ( menuRect.left > 0 && leftSpace >= menuRect.left ) {\n\t\t\t\t\t// Do nothing, the menu is positioned with CSS and it looks fine.\n\t\t\t\t\tmenu.style.left = '';\n\t\t\t\t} else if ( leftOffset >= leftSpace ) {\n\t\t\t\t\t// Reset width.\n\t\t\t\t\tmenu.style.width = '';\n\t\t\t\t\tmenu.style.left = `-${ leftOffset - leftSpace }px`;\n\t\t\t\t} else {\n\t\t\t\t\tmenu.style.width = '';\n\t\t\t\t\tmenu.style.left = `${ leftSpace - leftOffset }px`;\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tjustification === 'left' ||\n\t\t\t\tjustification === 'right'\n\t\t\t) {\n\t\t\t\t// The left value doesn't need to change for left and right justifications.\n\t\t\t\tif ( menuWidth > windowSpace ) {\n\t\t\t\t\tmenu.style.width = `${ windowSpace }px`;\n\t\t\t\t\tmenu.style.left = `${ leftOffset }px`;\n\t\t\t\t} else {\n\t\t\t\t\tmenu.style.width = '';\n\n\t\t\t\t\t// Make sure the menu does not extend off the left-side of the screen.\n\t\t\t\t\tif ( menuRect.left <= 0 ) {\n\t\t\t\t\t\t// TODO: This is not correct when justified right in some scenarios.\n\t\t\t\t\t\tmenu.style.left = `${ leftOffset }px`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmenu.style.left = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( menu.classList.contains( 'menu-width-fit-content' ) ) {\n\t\t\t\tmenu.style.width = 'max-content';\n\t\t\t\tmenu.style.left = '50%';\n\t\t\t\tmenu.style.transform = 'translateX(-50%)';\n\t\t\t}\n\t\t} );\n}\n\n// Adjust mega menu positions on window resize.\nwindow.addEventListener( 'resize', adjustMegaMenus );\n\n// // Initial adjustment on page load.\nif ( document.readyState === 'complete' ) {\n\tadjustMegaMenus();\n} else {\n\twindow.addEventListener( 'load', adjustMegaMenus );\n}\n\n// Function to convert a complex CSS value to pixels\nfunction convertCssValueToPixels( cssValue ) {\n\t// Create a temporary element\n\tconst tempElement = document.createElement( 'div' );\n\n\t// Apply the CSS value to the temporary element\n\t// For example, setting its width to the complex CSS value\n\ttempElement.style.width = cssValue;\n\n\t// Append the temporary element to the body to make it part of the document\n\tdocument.body.appendChild( tempElement );\n\n\t// Use getComputedStyle to get the computed width in pixels\n\tconst computedWidth = window.getComputedStyle( tempElement ).width;\n\n\t// Remove the temporary element from the document\n\tdocument.body.removeChild( tempElement );\n\n\t// Return the computed width as a number\n\treturn parseFloat( computedWidth );\n}\n"],"names":["store","getContext","getElement","state","actions","isMenuOpen","Object","values","menuOpenedBy","filter","Boolean","length","context","toggleMenuOnClick","ref","window","document","activeElement","focus","click","closeMenu","previousFocus","openMenu","closeMenuOnClick","handleMenuKeydown","event","key","handleMenuFocusout","menuContainer","megaMenu","querySelector","relatedTarget","contains","target","menuOpenedOn","menuClosedOn","callbacks","initMenu","bodyStyles","getComputedStyle","body","rootPaddingLeft","getPropertyValue","trim","rootPaddingRight","adjustMegaMenus","rootPaddingLeftValue","convertCssValueToPixels","rootPaddingRightValue","querySelectorAll","forEach","menu","navBlock","closest","justification","classList","console","log","windowSpace","innerWidth","menuWidth","offsetWidth","menuRect","getBoundingClientRect","navBlockRect","leftOffset","left","leftSpace","style","width","transform","addEventListener","readyState","cssValue","tempElement","createElement","appendChild","computedWidth","removeChild","parseFloat"],"sourceRoot":""}