wip
This commit is contained in:
@@ -133,7 +133,6 @@ class WP_Navigation_Block_Renderer {
|
||||
* @since 6.5.0
|
||||
*
|
||||
* @param array $needs_list_item_wrapper The list of blocks that need a list item wrapper.
|
||||
* @return array The list of blocks that need a list item wrapper.
|
||||
*/
|
||||
$needs_list_item_wrapper = apply_filters( 'block_core_navigation_listable_blocks', static::$needs_list_item_wrapper );
|
||||
|
||||
@@ -479,10 +478,10 @@ class WP_Navigation_Block_Renderer {
|
||||
);
|
||||
|
||||
$should_display_icon_label = isset( $attributes['hasIcon'] ) && true === $attributes['hasIcon'];
|
||||
$toggle_button_icon = '<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><rect x="4" y="7.5" width="16" height="1.5" /><rect x="4" y="15" width="16" height="1.5" /></svg>';
|
||||
$toggle_button_icon = '<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 7.5h16v1.5H4z"></path><path d="M4 15h16v1.5H4z"></path></svg>';
|
||||
if ( isset( $attributes['icon'] ) ) {
|
||||
if ( 'menu' === $attributes['icon'] ) {
|
||||
$toggle_button_icon = '<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z" /></svg>';
|
||||
$toggle_button_icon = '<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 5v1.5h14V5H5z"></path><path d="M5 12.8h14v-1.5H5v1.5z"></path><path d="M5 19h14v-1.5H5V19z"></path></svg>';
|
||||
}
|
||||
}
|
||||
$toggle_button_content = $should_display_icon_label ? $toggle_button_icon : __( 'Menu' );
|
||||
@@ -498,7 +497,7 @@ class WP_Navigation_Block_Renderer {
|
||||
$close_button_directives = '';
|
||||
if ( $is_interactive ) {
|
||||
$open_button_directives = '
|
||||
data-wp-on-async--click="actions.openMenuOnClick"
|
||||
data-wp-on--click="actions.openMenuOnClick"
|
||||
data-wp-on--keydown="actions.handleMenuKeydown"
|
||||
';
|
||||
$responsive_container_directives = '
|
||||
@@ -506,7 +505,7 @@ class WP_Navigation_Block_Renderer {
|
||||
data-wp-class--is-menu-open="state.isMenuOpen"
|
||||
data-wp-watch="callbacks.initMenu"
|
||||
data-wp-on--keydown="actions.handleMenuKeydown"
|
||||
data-wp-on-async--focusout="actions.handleMenuFocusout"
|
||||
data-wp-on--focusout="actions.handleMenuFocusout"
|
||||
tabindex="-1"
|
||||
';
|
||||
$responsive_dialog_directives = '
|
||||
@@ -515,7 +514,7 @@ class WP_Navigation_Block_Renderer {
|
||||
data-wp-bind--role="state.roleAttribute"
|
||||
';
|
||||
$close_button_directives = '
|
||||
data-wp-on-async--click="actions.closeMenuOnClick"
|
||||
data-wp-on--click="actions.closeMenuOnClick"
|
||||
';
|
||||
$responsive_container_content_directives = '
|
||||
data-wp-watch="callbacks.focusFirstElement"
|
||||
@@ -819,7 +818,7 @@ function block_core_navigation_add_directives_to_submenu( $tags, $block_attribut
|
||||
) ) {
|
||||
// Add directives to the parent `<li>`.
|
||||
$tags->set_attribute( 'data-wp-interactive', 'core/navigation' );
|
||||
$tags->set_attribute( 'data-wp-context', '{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null }' );
|
||||
$tags->set_attribute( 'data-wp-context', '{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu", "modal": null, "previousFocus": null }' );
|
||||
$tags->set_attribute( 'data-wp-watch', 'callbacks.initMenu' );
|
||||
$tags->set_attribute( 'data-wp-on--focusout', 'actions.handleMenuFocusout' );
|
||||
$tags->set_attribute( 'data-wp-on--keydown', 'actions.handleMenuKeydown' );
|
||||
@@ -831,8 +830,8 @@ function block_core_navigation_add_directives_to_submenu( $tags, $block_attribut
|
||||
$tags->set_attribute( 'tabindex', '-1' );
|
||||
|
||||
if ( ! isset( $block_attributes['openSubmenusOnClick'] ) || false === $block_attributes['openSubmenusOnClick'] ) {
|
||||
$tags->set_attribute( 'data-wp-on-async--mouseenter', 'actions.openMenuOnHover' );
|
||||
$tags->set_attribute( 'data-wp-on-async--mouseleave', 'actions.closeMenuOnHover' );
|
||||
$tags->set_attribute( 'data-wp-on--mouseenter', 'actions.openMenuOnHover' );
|
||||
$tags->set_attribute( 'data-wp-on--mouseleave', 'actions.closeMenuOnHover' );
|
||||
}
|
||||
|
||||
// Add directives to the toggle submenu button.
|
||||
@@ -842,7 +841,7 @@ function block_core_navigation_add_directives_to_submenu( $tags, $block_attribut
|
||||
'class_name' => 'wp-block-navigation-submenu__toggle',
|
||||
)
|
||||
) ) {
|
||||
$tags->set_attribute( 'data-wp-on-async--click', 'actions.toggleMenuOnClick' );
|
||||
$tags->set_attribute( 'data-wp-on--click', 'actions.toggleMenuOnClick' );
|
||||
$tags->set_attribute( 'data-wp-bind--aria-expanded', 'state.isMenuOpen' );
|
||||
// The `aria-expanded` attribute for SSR is already added in the submenu block.
|
||||
}
|
||||
@@ -853,7 +852,7 @@ function block_core_navigation_add_directives_to_submenu( $tags, $block_attribut
|
||||
'class_name' => 'wp-block-navigation__submenu-container',
|
||||
)
|
||||
) ) {
|
||||
$tags->set_attribute( 'data-wp-on-async--focus', 'actions.openMenuOnFocus' );
|
||||
$tags->set_attribute( 'data-wp-on--focus', 'actions.openMenuOnFocus' );
|
||||
}
|
||||
|
||||
// Iterate through subitems if exist.
|
||||
|
||||
Reference in New Issue
Block a user