mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-15 15:16:29 +01:00
afd36de0b5
This updates the following dependencies to their latest versions: - `chalk` - `cssnano` - `dotenv` - `grunt-contrib-cssmin` - `grunt-contrib-qunit` - `grunt-webpack` - `jest-image-snapshot` - `postcss` - `sass` - `sinon` - `webpack` Additionally, `npm audit fix` has been run to automatically fix as many issues as possible. See #58863. Built from https://develop.svn.wordpress.org/trunk@56390 git-svn-id: http://core.svn.wordpress.org/trunk@55902 1a063a9b-81f0-0310-95a4-ce76da25c4cd
63 lines
2.3 KiB
JavaScript
63 lines
2.3 KiB
JavaScript
/******/ (() => { // webpackBootstrap
|
|
var __webpack_exports__ = {};
|
|
// Open on click functionality.
|
|
function closeSubmenus(element) {
|
|
element.querySelectorAll('[aria-expanded="true"]').forEach(function (toggle) {
|
|
toggle.setAttribute('aria-expanded', 'false');
|
|
});
|
|
}
|
|
|
|
function toggleSubmenuOnClick(event) {
|
|
const buttonToggle = event.target.closest('[aria-expanded]');
|
|
const isSubmenuOpen = buttonToggle.getAttribute('aria-expanded');
|
|
|
|
if (isSubmenuOpen === 'true') {
|
|
closeSubmenus(buttonToggle.closest('.wp-block-navigation-item'));
|
|
} else {
|
|
// Close all sibling submenus.
|
|
const parentElement = buttonToggle.closest('.wp-block-navigation-item');
|
|
const navigationParent = buttonToggle.closest('.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list');
|
|
navigationParent.querySelectorAll('.wp-block-navigation-item').forEach(function (child) {
|
|
if (child !== parentElement) {
|
|
closeSubmenus(child);
|
|
}
|
|
}); // Open submenu.
|
|
|
|
buttonToggle.setAttribute('aria-expanded', 'true');
|
|
}
|
|
} // Necessary for some themes such as TT1 Blocks, where
|
|
// scripts could be loaded before the body.
|
|
|
|
|
|
window.addEventListener('load', () => {
|
|
const submenuButtons = document.querySelectorAll('.wp-block-navigation-submenu__toggle');
|
|
submenuButtons.forEach(function (button) {
|
|
button.addEventListener('click', toggleSubmenuOnClick);
|
|
}); // Close on click outside.
|
|
|
|
document.addEventListener('click', function (event) {
|
|
const navigationBlocks = document.querySelectorAll('.wp-block-navigation');
|
|
navigationBlocks.forEach(function (block) {
|
|
if (!block.contains(event.target)) {
|
|
closeSubmenus(block);
|
|
}
|
|
});
|
|
}); // Close on focus outside or escape key.
|
|
|
|
document.addEventListener('keyup', function (event) {
|
|
const submenuBlocks = document.querySelectorAll('.wp-block-navigation-item.has-child');
|
|
submenuBlocks.forEach(function (block) {
|
|
if (!block.contains(event.target)) {
|
|
closeSubmenus(block);
|
|
} else if (event.key === 'Escape') {
|
|
const toggle = block.querySelector('[aria-expanded="true"]');
|
|
closeSubmenus(block); // Focus the submenu trigger so focus does not get trapped in the closed submenu.
|
|
|
|
toggle?.focus();
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
/******/ })()
|
|
; |