-
-
+
-
+
-
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+ Requires Plugins'
+ );
+ ?>
+
@@ -267,28 +191,34 @@
+
+
-
+
@@ -317,8 +247,8 @@
@@ -326,8 +256,8 @@
printf(
/* translators: 1: WordPress Field Guide link, 2: WordPress version number. */
__( 'Explore the WordPress %2$s Field Guide . Learn about the changes in this release with detailed developer notes to help you build with WordPress.' ),
- __( 'https://make.wordpress.org/core/2023/10/23/wordpress-6-4-field-guide/' ),
- '6.4'
+ esc_url( __( 'https://make.wordpress.org/core/wordpress-6-5-field-guide/' ) ),
+ '6.5'
);
?>
@@ -335,9 +265,9 @@
@@ -348,9 +278,9 @@
sprintf(
/* translators: %s: WordPress version number. */
esc_url( __( 'https://wordpress.org/documentation/wordpress-version/version-%s/' ) ),
- '6-4'
+ '6-5'
),
- '6.4'
+ '6.5'
);
?>
diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php
index fb1911002..b6645fd5c 100644
--- a/wp-admin/admin-ajax.php
+++ b/wp-admin/admin-ajax.php
@@ -117,6 +117,7 @@
'parse-media-shortcode',
'destroy-sessions',
'install-plugin',
+ 'activate-plugin',
'update-plugin',
'crop-image',
'generate-password',
@@ -169,6 +170,9 @@
add_action( 'wp_ajax_nopriv_heartbeat', 'wp_ajax_nopriv_heartbeat', 1 );
+// Register Plugin Dependencies Ajax calls.
+add_action( 'wp_ajax_check_plugin_dependencies', array( 'WP_Plugin_Dependencies', 'check_plugin_dependencies_during_ajax' ) );
+
$action = $_REQUEST['action'];
if ( is_user_logged_in() ) {
diff --git a/wp-admin/contribute.php b/wp-admin/contribute.php
index ea7bbd05e..9131d3a9f 100644
--- a/wp-admin/contribute.php
+++ b/wp-admin/contribute.php
@@ -25,7 +25,9 @@
-
+
', '' ), '', ob_get_clean() ) );
}
/**
diff --git a/wp-includes/blocks/categories/block.json b/wp-includes/blocks/categories/block.json
index 5014da829..820ac8945 100644
--- a/wp-includes/blocks/categories/block.json
+++ b/wp-includes/blocks/categories/block.json
@@ -51,6 +51,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-categories-editor",
diff --git a/wp-includes/blocks/code/block.json b/wp-includes/blocks/code/block.json
index 80df74b50..4465c8554 100644
--- a/wp-includes/blocks/code/block.json
+++ b/wp-includes/blocks/code/block.json
@@ -8,8 +8,8 @@
"textdomain": "default",
"attributes": {
"content": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "code",
"__unstablePreserveWhiteSpace": true
}
@@ -56,6 +56,9 @@
"background": true,
"text": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"style": "wp-block-code"
diff --git a/wp-includes/blocks/column/block.json b/wp-includes/blocks/column/block.json
index 7f61f307f..0857abb47 100644
--- a/wp-includes/blocks/column/block.json
+++ b/wp-includes/blocks/column/block.json
@@ -37,6 +37,7 @@
"text": true
}
},
+ "shadow": true,
"spacing": {
"blockGap": true,
"padding": true,
@@ -68,6 +69,9 @@
"fontSize": true
}
},
- "layout": true
+ "layout": true,
+ "interactivity": {
+ "clientNavigation": true
+ }
}
}
diff --git a/wp-includes/blocks/columns/block.json b/wp-includes/blocks/columns/block.json
index dff9c45ae..6d49a27e8 100644
--- a/wp-includes/blocks/columns/block.json
+++ b/wp-includes/blocks/columns/block.json
@@ -4,6 +4,7 @@
"name": "core/columns",
"title": "Columns",
"category": "design",
+ "allowedBlocks": [ "core/column" ],
"description": "Display content in multiple columns, with blocks added to each column.",
"textdomain": "default",
"attributes": {
@@ -78,7 +79,11 @@
"__experimentalDefaultControls": {
"fontSize": true
}
- }
+ },
+ "interactivity": {
+ "clientNavigation": true
+ },
+ "shadow": true
},
"editorStyle": "wp-block-columns-editor",
"style": "wp-block-columns"
diff --git a/wp-includes/blocks/comment-author-name/block.json b/wp-includes/blocks/comment-author-name/block.json
index 93350779f..f3422faf0 100644
--- a/wp-includes/blocks/comment-author-name/block.json
+++ b/wp-includes/blocks/comment-author-name/block.json
@@ -48,6 +48,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/comment-date/block.json b/wp-includes/blocks/comment-date/block.json
index 7e4776c68..ddc0281e6 100644
--- a/wp-includes/blocks/comment-date/block.json
+++ b/wp-includes/blocks/comment-date/block.json
@@ -44,6 +44,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/comment-edit-link/block.json b/wp-includes/blocks/comment-edit-link/block.json
index 505305f60..a49f9a231 100644
--- a/wp-includes/blocks/comment-edit-link/block.json
+++ b/wp-includes/blocks/comment-edit-link/block.json
@@ -44,6 +44,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/comment-template/block.json b/wp-includes/blocks/comment-template/block.json
index 7b9bfc5e0..70238c45a 100644
--- a/wp-includes/blocks/comment-template/block.json
+++ b/wp-includes/blocks/comment-template/block.json
@@ -28,6 +28,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"style": "wp-block-comment-template"
diff --git a/wp-includes/blocks/comments-pagination-next/block.json b/wp-includes/blocks/comments-pagination-next/block.json
index d619865eb..22e20bfa8 100644
--- a/wp-includes/blocks/comments-pagination-next/block.json
+++ b/wp-includes/blocks/comments-pagination-next/block.json
@@ -35,6 +35,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/comments-pagination-numbers/block.json b/wp-includes/blocks/comments-pagination-numbers/block.json
index fcebb5276..9e9017af6 100644
--- a/wp-includes/blocks/comments-pagination-numbers/block.json
+++ b/wp-includes/blocks/comments-pagination-numbers/block.json
@@ -30,6 +30,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/comments-pagination-previous/block.json b/wp-includes/blocks/comments-pagination-previous/block.json
index 2dab1e9dd..0871b000c 100644
--- a/wp-includes/blocks/comments-pagination-previous/block.json
+++ b/wp-includes/blocks/comments-pagination-previous/block.json
@@ -35,6 +35,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/comments-pagination/block.json b/wp-includes/blocks/comments-pagination/block.json
index a11decd20..28f6c9fdf 100644
--- a/wp-includes/blocks/comments-pagination/block.json
+++ b/wp-includes/blocks/comments-pagination/block.json
@@ -5,6 +5,11 @@
"title": "Comments Pagination",
"category": "theme",
"parent": [ "core/comments" ],
+ "allowedBlocks": [
+ "core/comments-pagination-previous",
+ "core/comments-pagination-numbers",
+ "core/comments-pagination-next"
+ ],
"description": "Displays a paginated navigation to next/previous set of comments, when applicable.",
"textdomain": "default",
"attributes": {
@@ -48,6 +53,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-comments-pagination-editor",
diff --git a/wp-includes/blocks/comments-title/block.json b/wp-includes/blocks/comments-title/block.json
index 12b105afe..f8a02f2e5 100644
--- a/wp-includes/blocks/comments-title/block.json
+++ b/wp-includes/blocks/comments-title/block.json
@@ -5,7 +5,7 @@
"title": "Comments Title",
"category": "theme",
"ancestor": [ "core/comments" ],
- "description": "Displays a title with the number of comments",
+ "description": "Displays a title with the number of comments.",
"textdomain": "default",
"usesContext": [ "postId", "postType" ],
"attributes": {
@@ -61,6 +61,9 @@
"__experimentalFontStyle": true,
"__experimentalFontWeight": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/cover/block.json b/wp-includes/blocks/cover/block.json
index e88dd2d65..eb55a8dba 100644
--- a/wp-includes/blocks/cover/block.json
+++ b/wp-includes/blocks/cover/block.json
@@ -19,9 +19,6 @@
},
"alt": {
"type": "string",
- "source": "attribute",
- "selector": "img",
- "attribute": "alt",
"default": ""
},
"hasParallax": {
@@ -42,6 +39,9 @@
"customOverlayColor": {
"type": "string"
},
+ "isUserOverlayColor": {
+ "type": "boolean"
+ },
"backgroundType": {
"type": "string",
"default": "image"
@@ -114,6 +114,9 @@
"__experimentalSkipSerialization": [ "gradients" ],
"enableContrastChecker": false
},
+ "dimensions": {
+ "aspectRatio": true
+ },
"typography": {
"fontSize": true,
"lineHeight": true,
@@ -129,6 +132,9 @@
},
"layout": {
"allowJustification": false
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-cover-editor",
diff --git a/wp-includes/blocks/cover/style-rtl.css b/wp-includes/blocks/cover/style-rtl.css
index 2144332c3..4ea24d4d7 100644
--- a/wp-includes/blocks/cover/style-rtl.css
+++ b/wp-includes/blocks/cover/style-rtl.css
@@ -14,7 +14,7 @@
background-color:#000;
}
.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{
- background-color:transparent;
+ background-color:initial;
}
.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{
background-color:inherit;
diff --git a/wp-includes/blocks/cover/style-rtl.min.css b/wp-includes/blocks/cover/style-rtl.min.css
index e7823ed37..9874746df 100644
--- a/wp-includes/blocks/cover/style-rtl.min.css
+++ b/wp-includes/blocks/cover/style-rtl.min.css
@@ -1 +1 @@
-.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;direction:ltr;display:flex;justify-content:center;min-height:430px;overflow:hidden;overflow:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;direction:rtl;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-right:0;text-align:right}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-left:0;text-align:left}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000}
\ No newline at end of file
+.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;direction:ltr;display:flex;justify-content:center;min-height:430px;overflow:hidden;overflow:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:initial}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;direction:rtl;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-right:0;text-align:right}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-left:0;text-align:left}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000}
\ No newline at end of file
diff --git a/wp-includes/blocks/cover/style.css b/wp-includes/blocks/cover/style.css
index 79c70aebf..806370e59 100644
--- a/wp-includes/blocks/cover/style.css
+++ b/wp-includes/blocks/cover/style.css
@@ -14,7 +14,7 @@
background-color:#000;
}
.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{
- background-color:transparent;
+ background-color:initial;
}
.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{
background-color:inherit;
diff --git a/wp-includes/blocks/cover/style.min.css b/wp-includes/blocks/cover/style.min.css
index 3f009336f..6dc602305 100644
--- a/wp-includes/blocks/cover/style.min.css
+++ b/wp-includes/blocks/cover/style.min.css
@@ -1 +1 @@
-.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;display:flex;justify-content:center;min-height:430px;overflow:hidden;overflow:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:transparent}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-left:0;text-align:left}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-right:0;text-align:right}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000}
\ No newline at end of file
+.wp-block-cover,.wp-block-cover-image{align-items:center;background-position:50%;box-sizing:border-box;display:flex;justify-content:center;min-height:430px;overflow:hidden;overflow:clip;padding:1em;position:relative}.wp-block-cover .has-background-dim:not([class*=-background-color]),.wp-block-cover-image .has-background-dim:not([class*=-background-color]),.wp-block-cover-image.has-background-dim:not([class*=-background-color]),.wp-block-cover.has-background-dim:not([class*=-background-color]){background-color:#000}.wp-block-cover .has-background-dim.has-background-gradient,.wp-block-cover-image .has-background-dim.has-background-gradient{background-color:initial}.wp-block-cover-image.has-background-dim:before,.wp-block-cover.has-background-dim:before{background-color:inherit;content:""}.wp-block-cover .wp-block-cover__background,.wp-block-cover .wp-block-cover__gradient-background,.wp-block-cover-image .wp-block-cover__background,.wp-block-cover-image .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim:not(.has-background-gradient):before,.wp-block-cover.has-background-dim:not(.has-background-gradient):before{bottom:0;left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1}.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before{opacity:.1}.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before{opacity:.2}.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before{opacity:.3}.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before{opacity:.4}.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before{opacity:.5}.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before{opacity:.6}.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before{opacity:.7}.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before{opacity:.8}.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before{opacity:.9}.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background,.wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background,.wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before{opacity:1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0{opacity:0}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10{opacity:.1}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20{opacity:.2}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30{opacity:.3}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40{opacity:.4}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50{opacity:.5}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60{opacity:.6}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70{opacity:.7}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80{opacity:.8}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90{opacity:.9}.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100,.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100{opacity:1}.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.alignleft,.wp-block-cover.alignright{max-width:420px;width:100%}.wp-block-cover-image:after,.wp-block-cover:after{content:"";display:block;font-size:0;min-height:inherit}@supports (position:sticky){.wp-block-cover-image:after,.wp-block-cover:after{content:none}}.wp-block-cover-image.aligncenter,.wp-block-cover-image.alignleft,.wp-block-cover-image.alignright,.wp-block-cover.aligncenter,.wp-block-cover.alignleft,.wp-block-cover.alignright{display:flex}.wp-block-cover .wp-block-cover__inner-container,.wp-block-cover-image .wp-block-cover__inner-container{color:inherit;width:100%;z-index:1}.wp-block-cover h1:where(:not(.has-text-color)),.wp-block-cover h2:where(:not(.has-text-color)),.wp-block-cover h3:where(:not(.has-text-color)),.wp-block-cover h4:where(:not(.has-text-color)),.wp-block-cover h5:where(:not(.has-text-color)),.wp-block-cover h6:where(:not(.has-text-color)),.wp-block-cover p:where(:not(.has-text-color)),.wp-block-cover-image h1:where(:not(.has-text-color)),.wp-block-cover-image h2:where(:not(.has-text-color)),.wp-block-cover-image h3:where(:not(.has-text-color)),.wp-block-cover-image h4:where(:not(.has-text-color)),.wp-block-cover-image h5:where(:not(.has-text-color)),.wp-block-cover-image h6:where(:not(.has-text-color)),.wp-block-cover-image p:where(:not(.has-text-color)){color:inherit}.wp-block-cover-image.is-position-top-left,.wp-block-cover.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-block-cover-image.is-position-top-center,.wp-block-cover.is-position-top-center{align-items:flex-start;justify-content:center}.wp-block-cover-image.is-position-top-right,.wp-block-cover.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-block-cover-image.is-position-center-left,.wp-block-cover.is-position-center-left{align-items:center;justify-content:flex-start}.wp-block-cover-image.is-position-center-center,.wp-block-cover.is-position-center-center{align-items:center;justify-content:center}.wp-block-cover-image.is-position-center-right,.wp-block-cover.is-position-center-right{align-items:center;justify-content:flex-end}.wp-block-cover-image.is-position-bottom-left,.wp-block-cover.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-block-cover-image.is-position-bottom-center,.wp-block-cover.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-block-cover-image.is-position-bottom-right,.wp-block-cover.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{margin:0}.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,.wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container{margin:0;width:auto}.wp-block-cover .wp-block-cover__image-background,.wp-block-cover video.wp-block-cover__video-background,.wp-block-cover-image .wp-block-cover__image-background,.wp-block-cover-image video.wp-block-cover__video-background{border:none;bottom:0;box-shadow:none;height:100%;left:0;margin:0;max-height:none;max-width:none;object-fit:cover;outline:none;padding:0;position:absolute;right:0;top:0;width:100%}.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:fixed;background-repeat:no-repeat;background-size:cover}@supports (-webkit-touch-callout:inherit){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.wp-block-cover-image.has-parallax,.wp-block-cover.has-parallax,.wp-block-cover__image-background.has-parallax,video.wp-block-cover__video-background.has-parallax{background-attachment:scroll}}.wp-block-cover-image.is-repeated,.wp-block-cover.is-repeated,.wp-block-cover__image-background.is-repeated,video.wp-block-cover__video-background.is-repeated{background-repeat:repeat;background-size:auto}.wp-block-cover__image-background,.wp-block-cover__video-background{z-index:0}.wp-block-cover-image-text,.wp-block-cover-image-text a,.wp-block-cover-image-text a:active,.wp-block-cover-image-text a:focus,.wp-block-cover-image-text a:hover,.wp-block-cover-text,.wp-block-cover-text a,.wp-block-cover-text a:active,.wp-block-cover-text a:focus,.wp-block-cover-text a:hover,section.wp-block-cover-image h2,section.wp-block-cover-image h2 a,section.wp-block-cover-image h2 a:active,section.wp-block-cover-image h2 a:focus,section.wp-block-cover-image h2 a:hover{color:#fff}.wp-block-cover-image .wp-block-cover.has-left-content{justify-content:flex-start}.wp-block-cover-image .wp-block-cover.has-right-content{justify-content:flex-end}.wp-block-cover-image.has-left-content .wp-block-cover-image-text,.wp-block-cover.has-left-content .wp-block-cover-text,section.wp-block-cover-image.has-left-content>h2{margin-left:0;text-align:left}.wp-block-cover-image.has-right-content .wp-block-cover-image-text,.wp-block-cover.has-right-content .wp-block-cover-text,section.wp-block-cover-image.has-right-content>h2{margin-right:0;text-align:right}.wp-block-cover .wp-block-cover-text,.wp-block-cover-image .wp-block-cover-image-text,section.wp-block-cover-image>h2{font-size:2em;line-height:1.25;margin-bottom:0;max-width:840px;padding:.44em;text-align:center;z-index:1}:where(.wp-block-cover-image:not(.has-text-color)),:where(.wp-block-cover:not(.has-text-color)){color:#fff}:where(.wp-block-cover-image.is-light:not(.has-text-color)),:where(.wp-block-cover.is-light:not(.has-text-color)){color:#000}
\ No newline at end of file
diff --git a/wp-includes/blocks/details/block.json b/wp-includes/blocks/details/block.json
index d449d42e1..868307d6d 100644
--- a/wp-includes/blocks/details/block.json
+++ b/wp-includes/blocks/details/block.json
@@ -13,8 +13,8 @@
"default": false
},
"summary": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "summary"
}
},
@@ -58,6 +58,9 @@
},
"layout": {
"allowEditing": false
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-details-editor",
diff --git a/wp-includes/blocks/embed/block.json b/wp-includes/blocks/embed/block.json
index 9ca54db87..a42aafbab 100644
--- a/wp-includes/blocks/embed/block.json
+++ b/wp-includes/blocks/embed/block.json
@@ -12,8 +12,8 @@
"__experimentalRole": "content"
},
"caption": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "figcaption",
"__experimentalRole": "content"
},
@@ -44,6 +44,9 @@
"align": true,
"spacing": {
"margin": true
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-embed-editor",
diff --git a/wp-includes/blocks/embed/editor-rtl.css b/wp-includes/blocks/embed/editor-rtl.css
index 60a774d8c..f7ece7d90 100644
--- a/wp-includes/blocks/embed/editor-rtl.css
+++ b/wp-includes/blocks/embed/editor-rtl.css
@@ -10,9 +10,13 @@
.wp-block-embed .components-placeholder__error{
word-break:break-word;
}
-.wp-block-embed .components-placeholder__learn-more{
+
+.wp-block-embed__learn-more{
margin-top:1em;
}
+.wp-block-post-content .wp-block-embed__learn-more a{
+ color:var(--wp-admin-theme-color);
+}
.block-library-embed__interactive-overlay{
bottom:0;
diff --git a/wp-includes/blocks/embed/editor-rtl.min.css b/wp-includes/blocks/embed/editor-rtl.min.css
index 684be7d1d..511e42996 100644
--- a/wp-includes/blocks/embed/editor-rtl.min.css
+++ b/wp-includes/blocks/embed/editor-rtl.min.css
@@ -1 +1 @@
-.wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-embed .components-placeholder__learn-more{margin-top:1em}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px}
\ No newline at end of file
+.wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-embed__learn-more{margin-top:1em}.wp-block-post-content .wp-block-embed__learn-more a{color:var(--wp-admin-theme-color)}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px}
\ No newline at end of file
diff --git a/wp-includes/blocks/embed/editor.css b/wp-includes/blocks/embed/editor.css
index 60a774d8c..f7ece7d90 100644
--- a/wp-includes/blocks/embed/editor.css
+++ b/wp-includes/blocks/embed/editor.css
@@ -10,9 +10,13 @@
.wp-block-embed .components-placeholder__error{
word-break:break-word;
}
-.wp-block-embed .components-placeholder__learn-more{
+
+.wp-block-embed__learn-more{
margin-top:1em;
}
+.wp-block-post-content .wp-block-embed__learn-more a{
+ color:var(--wp-admin-theme-color);
+}
.block-library-embed__interactive-overlay{
bottom:0;
diff --git a/wp-includes/blocks/embed/editor.min.css b/wp-includes/blocks/embed/editor.min.css
index 684be7d1d..511e42996 100644
--- a/wp-includes/blocks/embed/editor.min.css
+++ b/wp-includes/blocks/embed/editor.min.css
@@ -1 +1 @@
-.wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-embed .components-placeholder__learn-more{margin-top:1em}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px}
\ No newline at end of file
+.wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-embed__learn-more{margin-top:1em}.wp-block-post-content .wp-block-embed__learn-more a{color:var(--wp-admin-theme-color)}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px}
\ No newline at end of file
diff --git a/wp-includes/blocks/embed/theme-rtl.css b/wp-includes/blocks/embed/theme-rtl.css
index a297d3383..5114165e0 100644
--- a/wp-includes/blocks/embed/theme-rtl.css
+++ b/wp-includes/blocks/embed/theme-rtl.css
@@ -4,7 +4,7 @@
text-align:center;
}
.is-dark-theme .wp-block-embed figcaption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
.wp-block-embed{
diff --git a/wp-includes/blocks/embed/theme-rtl.min.css b/wp-includes/blocks/embed/theme-rtl.min.css
index d1e9572e9..d84a91693 100644
--- a/wp-includes/blocks/embed/theme-rtl.min.css
+++ b/wp-includes/blocks/embed/theme-rtl.min.css
@@ -1 +1 @@
-.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.wp-block-embed{margin:0 0 1em}
\ No newline at end of file
+.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:#ffffffa6}.wp-block-embed{margin:0 0 1em}
\ No newline at end of file
diff --git a/wp-includes/blocks/embed/theme.css b/wp-includes/blocks/embed/theme.css
index a297d3383..5114165e0 100644
--- a/wp-includes/blocks/embed/theme.css
+++ b/wp-includes/blocks/embed/theme.css
@@ -4,7 +4,7 @@
text-align:center;
}
.is-dark-theme .wp-block-embed figcaption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
.wp-block-embed{
diff --git a/wp-includes/blocks/embed/theme.min.css b/wp-includes/blocks/embed/theme.min.css
index d1e9572e9..d84a91693 100644
--- a/wp-includes/blocks/embed/theme.min.css
+++ b/wp-includes/blocks/embed/theme.min.css
@@ -1 +1 @@
-.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.wp-block-embed{margin:0 0 1em}
\ No newline at end of file
+.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:#ffffffa6}.wp-block-embed{margin:0 0 1em}
\ No newline at end of file
diff --git a/wp-includes/blocks/file.php b/wp-includes/blocks/file.php
index 042ea8997..ba0343ae6 100644
--- a/wp-includes/blocks/file.php
+++ b/wp-includes/blocks/file.php
@@ -14,25 +14,8 @@
*
* @return string Returns the block content.
*/
-function render_block_core_file( $attributes, $content, $block ) {
- $should_load_view_script = ! empty( $attributes['displayPreview'] );
- $view_js_file = 'wp-block-file-view';
- // If the script already exists, there is no point in removing it from viewScript.
- if ( ! wp_script_is( $view_js_file ) ) {
- $script_handles = $block->block_type->view_script_handles;
-
- // If the script is not needed, and it is still in the `view_script_handles`, remove it.
- if ( ! $should_load_view_script && in_array( $view_js_file, $script_handles, true ) ) {
- $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file ) );
- }
- // If the script is needed, but it was previously removed, add it again.
- if ( $should_load_view_script && ! in_array( $view_js_file, $script_handles, true ) ) {
- $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file ) );
- }
- }
-
+function render_block_core_file( $attributes, $content ) {
// Update object's aria-label attribute if present in block HTML.
-
// Match an aria-label attribute from an object tag.
$pattern = '@
aria-label="(?[^"]+)?")@i';
$content = preg_replace_callback(
@@ -53,13 +36,26 @@ static function ( $matches ) {
$content
);
- // If it uses the Interactivity API, add the directives.
- if ( $should_load_view_script ) {
+ // If it's interactive, enqueue the script module and add the directives.
+ if ( ! empty( $attributes['displayPreview'] ) ) {
+ $suffix = wp_scripts_get_suffix();
+ if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
+ $module_url = gutenberg_url( '/build/interactivity/file.min.js' );
+ }
+
+ wp_register_script_module(
+ '@wordpress/block-library/file',
+ isset( $module_url ) ? $module_url : includes_url( "blocks/file/view{$suffix}.js" ),
+ array( '@wordpress/interactivity' ),
+ defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
+ );
+ wp_enqueue_script_module( '@wordpress/block-library/file' );
+
$processor = new WP_HTML_Tag_Processor( $content );
$processor->next_tag();
- $processor->set_attribute( 'data-wp-interactive', '' );
+ $processor->set_attribute( 'data-wp-interactive', 'core/file' );
$processor->next_tag( 'object' );
- $processor->set_attribute( 'data-wp-bind--hidden', '!selectors.core.file.hasPdfPreview' );
+ $processor->set_attribute( 'data-wp-bind--hidden', '!state.hasPdfPreview' );
$processor->set_attribute( 'hidden', true );
return $processor->get_updated_html();
}
@@ -67,25 +63,6 @@ static function ( $matches ) {
return $content;
}
-/**
- * Ensure that the view script has the `wp-interactivity` dependency.
- *
- * @since 6.4.0
- *
- * @global WP_Scripts $wp_scripts
- */
-function block_core_file_ensure_interactivity_dependency() {
- global $wp_scripts;
- if (
- isset( $wp_scripts->registered['wp-block-file-view'] ) &&
- ! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-file-view']->deps, true )
- ) {
- $wp_scripts->registered['wp-block-file-view']->deps[] = 'wp-interactivity';
- }
-}
-
-add_action( 'wp_print_scripts', 'block_core_file_ensure_interactivity_dependency' );
-
/**
* Registers the `core/file` block on server.
*/
diff --git a/wp-includes/blocks/file/block.json b/wp-includes/blocks/file/block.json
index 0cc20b3f5..fd5da67d2 100644
--- a/wp-includes/blocks/file/block.json
+++ b/wp-includes/blocks/file/block.json
@@ -21,8 +21,8 @@
"attribute": "id"
},
"fileName": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "a:not([download])"
},
"textLinkHref": {
@@ -42,8 +42,8 @@
"default": true
},
"downloadButtonText": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "a[download]"
},
"displayPreview": {
@@ -72,7 +72,6 @@
},
"interactivity": true
},
- "viewScript": "file:./view.min.js",
"editorStyle": "wp-block-file-editor",
"style": "wp-block-file"
}
diff --git a/wp-includes/blocks/file/view.asset.php b/wp-includes/blocks/file/view.asset.php
index a9c913605..ce536d261 100644
--- a/wp-includes/blocks/file/view.asset.php
+++ b/wp-includes/blocks/file/view.asset.php
@@ -1 +1 @@
- array(), 'version' => '3fd0154de23a0ecc28af');
+ array(), 'version' => '498971a8a9512421f3b5');
diff --git a/wp-includes/blocks/file/view.js b/wp-includes/blocks/file/view.js
index 9d66df529..feb8ec24d 100644
--- a/wp-includes/blocks/file/view.js
+++ b/wp-includes/blocks/file/view.js
@@ -1,12 +1,34 @@
-"use strict";
-(self["__WordPressPrivateInteractivityAPI__"] = self["__WordPressPrivateInteractivityAPI__"] || []).push([[81],{
+import * as __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__ from "@wordpress/interactivity";
+/******/ // The require scope
+/******/ var __webpack_require__ = {};
+/******/
+/************************************************************************/
+/******/ /* webpack/runtime/define property getters */
+/******/ (() => {
+/******/ // define getter functions for harmony exports
+/******/ __webpack_require__.d = (exports, definition) => {
+/******/ for(var key in definition) {
+/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/ }
+/******/ }
+/******/ };
+/******/ })();
+/******/
+/******/ /* webpack/runtime/hasOwnProperty shorthand */
+/******/ (() => {
+/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
+/******/ })();
+/******/
+/************************************************************************/
+var __webpack_exports__ = {};
-/***/ 149:
-/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
-
-
-// EXTERNAL MODULE: ./node_modules/@wordpress/interactivity/src/index.js + 15 modules
-var src = __webpack_require__(754);
+;// CONCATENATED MODULE: external "@wordpress/interactivity"
+var x = (y) => {
+ var x = {}; __webpack_require__.d(x, y); return x
+}
+var y = (x) => (() => (x))
+const interactivity_namespaceObject = x({ ["store"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.store) });
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/utils/index.js
/**
* Uses a combination of user agent matching and feature detection to determine whether
@@ -53,6 +75,7 @@ const createActiveXObject = type => {
}
return ax;
};
+
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/view.js
/**
* WordPress dependencies
@@ -62,21 +85,13 @@ const createActiveXObject = type => {
* Internal dependencies
*/
-(0,src/* store */.h)({
- selectors: {
- core: {
- file: {
- hasPdfPreview: browserSupportsPdfs
- }
+(0,interactivity_namespaceObject.store)('core/file', {
+ state: {
+ get hasPdfPreview() {
+ return browserSupportsPdfs();
}
}
+}, {
+ lock: true
});
-/***/ })
-
-},
-/******/ function(__webpack_require__) { // webpackRuntimeModules
-/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
-/******/ var __webpack_exports__ = (__webpack_exec__(149));
-/******/ }
-]);
\ No newline at end of file
diff --git a/wp-includes/blocks/file/view.min.asset.php b/wp-includes/blocks/file/view.min.asset.php
index 990e381b3..76f2ca1fb 100644
--- a/wp-includes/blocks/file/view.min.asset.php
+++ b/wp-includes/blocks/file/view.min.asset.php
@@ -1 +1 @@
- array(), 'version' => '8a0237493a27c0d781aa');
+ array(), 'version' => '9c04187f1796859989c3');
diff --git a/wp-includes/blocks/file/view.min.js b/wp-includes/blocks/file/view.min.js
index 8015cb723..35e9cfb75 100644
--- a/wp-includes/blocks/file/view.min.js
+++ b/wp-includes/blocks/file/view.min.js
@@ -1 +1 @@
-"use strict";(self.__WordPressPrivateInteractivityAPI__=self.__WordPressPrivateInteractivityAPI__||[]).push([[81],{149:function(i,t,e){var n=e(754);const o=i=>{let t;try{t=new window.ActiveXObject(i)}catch(i){t=void 0}return t};(0,n.h)({selectors:{core:{file:{hasPdfPreview:()=>!(window.navigator.userAgent.indexOf("Mobi")>-1)&&(!(window.navigator.userAgent.indexOf("Android")>-1)&&(!(window.navigator.userAgent.indexOf("Macintosh")>-1&&window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>2)&&!((window.ActiveXObject||"ActiveXObject"in window)&&!o("AcroPDF.PDF")&&!o("PDF.PdfCtrl"))))}}}})}},function(i){var t;t=149,i(i.s=t)}]);
\ No newline at end of file
+import*as e from"@wordpress/interactivity";var t={d:(e,o)=>{for(var r in o)t.o(o,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:o[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const o=(e=>{var o={};return t.d(o,e),o})({store:()=>e.store}),r=e=>{let t;try{t=new window.ActiveXObject(e)}catch(e){t=void 0}return t};(0,o.store)("core/file",{state:{get hasPdfPreview(){return!(window.navigator.userAgent.indexOf("Mobi")>-1||window.navigator.userAgent.indexOf("Android")>-1||window.navigator.userAgent.indexOf("Macintosh")>-1&&window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>2||(window.ActiveXObject||"ActiveXObject"in window)&&!r("AcroPDF.PDF")&&!r("PDF.PdfCtrl"))}}},{lock:!0});
\ No newline at end of file
diff --git a/wp-includes/blocks/footnotes.php b/wp-includes/blocks/footnotes.php
index bc6291dd2..380c093c8 100644
--- a/wp-includes/blocks/footnotes.php
+++ b/wp-includes/blocks/footnotes.php
@@ -68,18 +68,6 @@ function render_block_core_footnotes( $attributes, $content, $block ) {
* @since 6.3.0
*/
function register_block_core_footnotes() {
- foreach ( array( 'post', 'page' ) as $post_type ) {
- register_post_meta(
- $post_type,
- 'footnotes',
- array(
- 'show_in_rest' => true,
- 'single' => true,
- 'type' => 'string',
- 'revisions_enabled' => true,
- )
- );
- }
register_block_type_from_metadata(
__DIR__ . '/footnotes',
array(
@@ -89,6 +77,40 @@ function register_block_core_footnotes() {
}
add_action( 'init', 'register_block_core_footnotes' );
+
+/**
+ * Registers the footnotes meta field required for footnotes to work.
+ *
+ * @since 6.5.0
+ */
+function register_block_core_footnotes_post_meta() {
+ $post_types = get_post_types( array( 'show_in_rest' => true ) );
+ foreach ( $post_types as $post_type ) {
+ // Only register the meta field if the post type supports the editor, custom fields, and revisions.
+ if (
+ post_type_supports( $post_type, 'editor' ) &&
+ post_type_supports( $post_type, 'custom-fields' ) &&
+ post_type_supports( $post_type, 'revisions' )
+ ) {
+ register_post_meta(
+ $post_type,
+ 'footnotes',
+ array(
+ 'show_in_rest' => true,
+ 'single' => true,
+ 'type' => 'string',
+ 'revisions_enabled' => true,
+ )
+ );
+ }
+ }
+}
+/*
+ * Most post types are registered at priority 10, so use priority 20 here in
+ * order to catch them.
+*/
+add_action( 'init', 'register_block_core_footnotes_post_meta', 20 );
+
/**
* Adds the footnotes field to the revisions display.
*
diff --git a/wp-includes/blocks/footnotes/block.json b/wp-includes/blocks/footnotes/block.json
index 28b094f24..1fe74abb4 100644
--- a/wp-includes/blocks/footnotes/block.json
+++ b/wp-includes/blocks/footnotes/block.json
@@ -4,7 +4,7 @@
"name": "core/footnotes",
"title": "Footnotes",
"category": "text",
- "description": "",
+ "description": "Display footnotes added to the page.",
"keywords": [ "references" ],
"textdomain": "default",
"usesContext": [ "postId", "postType" ],
@@ -33,6 +33,7 @@
"html": false,
"multiple": false,
"reusable": false,
+ "inserter": false,
"spacing": {
"margin": true,
"padding": true,
@@ -54,6 +55,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"style": "wp-block-footnotes"
diff --git a/wp-includes/blocks/freeform/editor-rtl.css b/wp-includes/blocks/freeform/editor-rtl.css
index 80222ec0d..6aaa6662c 100644
--- a/wp-includes/blocks/freeform/editor-rtl.css
+++ b/wp-includes/blocks/freeform/editor-rtl.css
@@ -76,7 +76,7 @@
width:96%;
}
.wp-block-freeform.block-library-rich-text__tinymce img::selection{
- background-color:transparent;
+ background-color:initial;
}
.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{
-ms-user-select:element;
@@ -96,14 +96,14 @@
padding-top:.5em;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview{
- border:1px solid transparent;
+ border:1px solid #0000;
clear:both;
margin-bottom:16px;
position:relative;
width:99.99%;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{
- background:transparent;
+ background:#0000;
display:block;
max-width:100%;
}
@@ -122,17 +122,17 @@
padding:10px;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{
- word-wrap:break-word;
border:1px solid #ddd;
margin:0;
padding:1em 0;
+ word-wrap:break-word;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{
margin:0;
text-align:center;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{
- border-color:transparent;
+ border-color:#0000;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{
display:block;
@@ -208,7 +208,7 @@
div[data-type="core/freeform"]:before{
border:1px solid #ddd;
- outline:1px solid transparent;
+ outline:1px solid #0000;
transition:border-color .1s linear,box-shadow .1s linear;
}
@media (prefers-reduced-motion:reduce){
diff --git a/wp-includes/blocks/freeform/editor-rtl.min.css b/wp-includes/blocks/freeform/editor-rtl.min.css
index c2661d429..6ef86e253 100644
--- a/wp-includes/blocks/freeform/editor-rtl.min.css
+++ b/wp-includes/blocks/freeform/editor-rtl.min.css
@@ -1 +1 @@
-.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-right:0;padding-right:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-right:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-right:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-ms-user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid transparent;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:transparent;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{word-wrap:break-word;border:1px solid #ddd;margin:0;padding:1em 0}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:right;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}div[data-type="core/freeform"]:before{border:1px solid #ddd;outline:1px solid transparent;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-delay:0s;transition-duration:0s}}div[data-type="core/freeform"].is-selected:before{border-color:#1e1e1e}div[data-type="core/freeform"] .block-editor-block-contextual-toolbar+div{margin-top:0;padding-top:0}div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce:after{clear:both;content:"";display:table}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-left:0;margin-right:8px}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;display:none;margin:0 0 8px;padding:0;position:sticky;top:0;width:auto;z-index:31}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{border-color:#1e1e1e;display:block}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media (min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px}
\ No newline at end of file
+.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-right:0;padding-right:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-right:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-right:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:initial}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-ms-user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid #0000;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:#0000;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{border:1px solid #ddd;margin:0;padding:1em 0;word-wrap:break-word}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:#0000}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:right;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}div[data-type="core/freeform"]:before{border:1px solid #ddd;outline:1px solid #0000;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-delay:0s;transition-duration:0s}}div[data-type="core/freeform"].is-selected:before{border-color:#1e1e1e}div[data-type="core/freeform"] .block-editor-block-contextual-toolbar+div{margin-top:0;padding-top:0}div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce:after{clear:both;content:"";display:table}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-left:0;margin-right:8px}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;display:none;margin:0 0 8px;padding:0;position:sticky;top:0;width:auto;z-index:31}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{border-color:#1e1e1e;display:block}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media (min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px}
\ No newline at end of file
diff --git a/wp-includes/blocks/freeform/editor.css b/wp-includes/blocks/freeform/editor.css
index aaec43fa5..5bda927ea 100644
--- a/wp-includes/blocks/freeform/editor.css
+++ b/wp-includes/blocks/freeform/editor.css
@@ -76,7 +76,7 @@
width:96%;
}
.wp-block-freeform.block-library-rich-text__tinymce img::selection{
- background-color:transparent;
+ background-color:initial;
}
.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{
-ms-user-select:element;
@@ -96,14 +96,14 @@
padding-top:.5em;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview{
- border:1px solid transparent;
+ border:1px solid #0000;
clear:both;
margin-bottom:16px;
position:relative;
width:99.99%;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{
- background:transparent;
+ background:#0000;
display:block;
max-width:100%;
}
@@ -122,17 +122,17 @@
padding:10px;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{
- word-wrap:break-word;
border:1px solid #ddd;
margin:0;
padding:1em 0;
+ word-wrap:break-word;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{
margin:0;
text-align:center;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{
- border-color:transparent;
+ border-color:#0000;
}
.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{
display:block;
@@ -208,7 +208,7 @@
div[data-type="core/freeform"]:before{
border:1px solid #ddd;
- outline:1px solid transparent;
+ outline:1px solid #0000;
transition:border-color .1s linear,box-shadow .1s linear;
}
@media (prefers-reduced-motion:reduce){
diff --git a/wp-includes/blocks/freeform/editor.min.css b/wp-includes/blocks/freeform/editor.min.css
index 83dc8e42f..8ba88523a 100644
--- a/wp-includes/blocks/freeform/editor.min.css
+++ b/wp-includes/blocks/freeform/editor.min.css
@@ -1 +1 @@
-.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-left:0;padding-left:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-left:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-left:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-ms-user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid transparent;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:transparent;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{word-wrap:break-word;border:1px solid #ddd;margin:0;padding:1em 0}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:transparent}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:left;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}div[data-type="core/freeform"]:before{border:1px solid #ddd;outline:1px solid transparent;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-delay:0s;transition-duration:0s}}div[data-type="core/freeform"].is-selected:before{border-color:#1e1e1e}div[data-type="core/freeform"] .block-editor-block-contextual-toolbar+div{margin-top:0;padding-top:0}div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce:after{clear:both;content:"";display:table}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-left:8px;margin-right:0}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;display:none;margin:0 0 8px;padding:0;position:sticky;top:0;width:auto;z-index:31}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{border-color:#1e1e1e;display:block}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media (min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px}
\ No newline at end of file
+.wp-block-freeform.block-library-rich-text__tinymce{height:auto}.wp-block-freeform.block-library-rich-text__tinymce li,.wp-block-freeform.block-library-rich-text__tinymce p{line-height:1.8}.wp-block-freeform.block-library-rich-text__tinymce ol,.wp-block-freeform.block-library-rich-text__tinymce ul{margin-left:0;padding-left:2.5em}.wp-block-freeform.block-library-rich-text__tinymce blockquote{border-left:4px solid #000;box-shadow:inset 0 0 0 0 #ddd;margin:0;padding-left:1em}.wp-block-freeform.block-library-rich-text__tinymce pre{color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:15px;white-space:pre-wrap}.wp-block-freeform.block-library-rich-text__tinymce>:first-child{margin-top:0}.wp-block-freeform.block-library-rich-text__tinymce>:last-child{margin-bottom:0}.wp-block-freeform.block-library-rich-text__tinymce.mce-edit-focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce a{color:var(--wp-admin-theme-color)}.wp-block-freeform.block-library-rich-text__tinymce:focus a[data-mce-selected]{background:#e5f5fa;border-radius:2px;box-shadow:0 0 0 1px #e5f5fa;margin:0 -2px;padding:0 2px}.wp-block-freeform.block-library-rich-text__tinymce code{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-family:Menlo,Consolas,monaco,monospace;font-size:14px;padding:2px}.wp-block-freeform.block-library-rich-text__tinymce:focus code[data-mce-selected]{background:#ddd}.wp-block-freeform.block-library-rich-text__tinymce .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-freeform.block-library-rich-text__tinymce .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-freeform.block-library-rich-text__tinymce .aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-block-freeform.block-library-rich-text__tinymce .wp-more-tag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADtgAAAAoBAMAAAA86gLBAAAAJFBMVEVMaXG7u7vBwcHDw8POzs68vLzGxsbMzMy+vr7AwMDQ0NDGxsYKLGzpAAAADHRSTlMA///zWf+/f///TMxNVGuqAAABwklEQVR4Ae3dMXLaQBTH4bfj8UCpx8hq0vgKvgFNemhT6Qo6gg6R+0ZahM2QLmyBJ99XWP9V5+o3jIUcLQEAAAAAAAAAAAAAAAAAAAAAAABQ8j0WL9lfTtlt18uNXAUA8O/KVtfa1tdcrOdSh9gCQAMlh1hMNbZZ1bsrsQWABsrhLRbz7z5in/32UbfUMUbkMQCAh5RfGYv82UdMdZ6HS2wjT2ILAI8r3XmM2B3WvM59vfO2xXYW2yYAENuPU8S+X/N67mKxzy225yaxBQCxLV392UdcvwV0jPVUj98ntkBWT7C7+9u2/V/vGtvXIWJ6/4rtbottWa6Ri0NUT/u72LYttrb97LHdvUXMxxrb8TO2W2TF1rYbbLG1bbGNjMi4+2Sbi1FsbbvNFlvbFtt5fDnE3d9sP1/XeIyV2Nr2U2/guZUuptNrH/dPI9eLB6SaAEBs6wPJf3/PNk9tYgsAYrv/8TFuzx/fvkFqGtrEFgDEdpcZUb7ejXy6ntrEFgDENvL6gsas4vbdyKt4DACI7TxElJv/Z7udpqFNbAFAbKduy2uU2trttM/x28UWAAAAAAAAAAAAAAAAAAAAAAAAAADgDyPwGmGTCZp7AAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;background-size:1900px 20px;cursor:default;display:block;height:20px;margin:15px auto;outline:0;width:96%}.wp-block-freeform.block-library-rich-text__tinymce img::selection{background-color:initial}.wp-block-freeform.block-library-rich-text__tinymce div.mceTemp{-ms-user-select:element}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption{margin:0;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption a,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption img{display:block}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption,.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption *{-webkit-user-drag:none}.wp-block-freeform.block-library-rich-text__tinymce dl.wp-caption .wp-caption-dd{margin:0;padding-top:.5em}.wp-block-freeform.block-library-rich-text__tinymce .wpview{border:1px solid #0000;clear:both;margin-bottom:16px;position:relative;width:99.99%}.wp-block-freeform.block-library-rich-text__tinymce .wpview iframe{background:#0000;display:block;max-width:100%}.wp-block-freeform.block-library-rich-text__tinymce .wpview .mce-shim{bottom:0;left:0;position:absolute;right:0;top:0}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected="2"] .mce-shim{display:none}.wp-block-freeform.block-library-rich-text__tinymce .wpview .loading-placeholder{border:1px dashed #ddd;padding:10px}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error{border:1px solid #ddd;margin:0;padding:1em 0;word-wrap:break-word}.wp-block-freeform.block-library-rich-text__tinymce .wpview .wpview-error p{margin:0;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .loading-placeholder,.wp-block-freeform.block-library-rich-text__tinymce .wpview[data-mce-selected] .wpview-error{border-color:#0000}.wp-block-freeform.block-library-rich-text__tinymce .wpview .dashicons{display:block;font-size:32px;height:32px;margin:0 auto;width:32px}.wp-block-freeform.block-library-rich-text__tinymce .wpview.wpview-type-gallery:after{clear:both;content:"";display:table}.wp-block-freeform.block-library-rich-text__tinymce .gallery img[data-mce-selected]:focus{outline:none}.wp-block-freeform.block-library-rich-text__tinymce .gallery a{cursor:default}.wp-block-freeform.block-library-rich-text__tinymce .gallery{line-height:1;margin:auto -6px;overflow-x:hidden;padding:6px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-item{box-sizing:border-box;float:left;margin:0;padding:6px;text-align:center}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption,.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-icon{margin:0}.wp-block-freeform.block-library-rich-text__tinymce .gallery .gallery-caption{font-size:13px;margin:4px 0}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-1 .gallery-item{width:100%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-2 .gallery-item{width:50%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-3 .gallery-item{width:33.3333333333%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-4 .gallery-item{width:25%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-5 .gallery-item{width:20%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-6 .gallery-item{width:16.6666666667%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-7 .gallery-item{width:14.2857142857%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-8 .gallery-item{width:12.5%}.wp-block-freeform.block-library-rich-text__tinymce .gallery-columns-9 .gallery-item{width:11.1111111111%}.wp-block-freeform.block-library-rich-text__tinymce .gallery img{border:none;height:auto;max-width:100%;padding:0}div[data-type="core/freeform"]:before{border:1px solid #ddd;outline:1px solid #0000;transition:border-color .1s linear,box-shadow .1s linear}@media (prefers-reduced-motion:reduce){div[data-type="core/freeform"]:before{transition-delay:0s;transition-duration:0s}}div[data-type="core/freeform"].is-selected:before{border-color:#1e1e1e}div[data-type="core/freeform"] .block-editor-block-contextual-toolbar+div{margin-top:0;padding-top:0}div[data-type="core/freeform"].is-selected .block-library-rich-text__tinymce:after{clear:both;content:"";display:table}.mce-toolbar-grp .mce-btn.mce-active button,.mce-toolbar-grp .mce-btn.mce-active i,.mce-toolbar-grp .mce-btn.mce-active:hover button,.mce-toolbar-grp .mce-btn.mce-active:hover i{color:#1e1e1e}.mce-toolbar-grp .mce-rtl .mce-flow-layout-item.mce-last{margin-left:8px;margin-right:0}.mce-toolbar-grp .mce-btn i{font-style:normal}.block-library-classic__toolbar{border:1px solid #ddd;border-bottom:none;border-radius:2px;display:none;margin:0 0 8px;padding:0;position:sticky;top:0;width:auto;z-index:31}div[data-type="core/freeform"].is-selected .block-library-classic__toolbar{border-color:#1e1e1e;display:block}.block-library-classic__toolbar .mce-tinymce{box-shadow:none}@media (min-width:600px){.block-library-classic__toolbar{padding:0}}.block-library-classic__toolbar:empty{background:#f5f5f5;border-bottom:1px solid #e2e4e7;display:block}.block-library-classic__toolbar:empty:before{color:#555d66;content:attr(data-placeholder);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:37px;padding:14px}.block-library-classic__toolbar div.mce-toolbar-grp{border-bottom:1px solid #1e1e1e}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar .mce-menubar>div,.block-library-classic__toolbar .mce-tinymce-inline,.block-library-classic__toolbar .mce-tinymce-inline>div,.block-library-classic__toolbar div.mce-toolbar-grp,.block-library-classic__toolbar div.mce-toolbar-grp>div{height:auto!important;width:100%!important}.block-library-classic__toolbar .mce-container-body.mce-abs-layout{overflow:visible}.block-library-classic__toolbar .mce-menubar,.block-library-classic__toolbar div.mce-toolbar-grp{position:static}.block-library-classic__toolbar .mce-toolbar-grp>div{padding:1px 3px}.block-library-classic__toolbar .mce-toolbar-grp .mce-toolbar:not(:first-child){display:none}.block-library-classic__toolbar.has-advanced-toolbar .mce-toolbar-grp .mce-toolbar{display:block}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{height:50vh!important}@media (min-width:960px){.block-editor-freeform-modal .block-editor-freeform-modal__content:not(.is-full-screen){height:9999rem}.block-editor-freeform-modal .block-editor-freeform-modal__content .components-modal__header+div{height:100%}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-tinymce{height:calc(100% - 52px)}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-container-body{display:flex;flex-direction:column;height:100%;min-width:50vw}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area{display:flex;flex-direction:column;flex-grow:1}.block-editor-freeform-modal .block-editor-freeform-modal__content .mce-edit-area iframe{flex-grow:1;height:10px!important}}.block-editor-freeform-modal__actions{margin-top:16px}
\ No newline at end of file
diff --git a/wp-includes/blocks/gallery.php b/wp-includes/blocks/gallery.php
index edde9b4da..292ddeaf3 100644
--- a/wp-includes/blocks/gallery.php
+++ b/wp-includes/blocks/gallery.php
@@ -33,17 +33,18 @@ function block_core_gallery_data_id_backcompatibility( $parsed_block ) {
add_filter( 'render_block_data', 'block_core_gallery_data_id_backcompatibility' );
/**
- * Adds a style tag for the --wp--style--unstable-gallery-gap var.
- *
- * The Gallery block needs to recalculate Image block width based on
- * the current gap setting in order to maintain the number of flex columns
- * so a css var is added to allow this.
+ * Renders the `core/gallery` block on the server.
*
* @param array $attributes Attributes of the block being rendered.
* @param string $content Content of the block being rendered.
* @return string The content of the block being rendered.
*/
function block_core_gallery_render( $attributes, $content ) {
+ // Adds a style tag for the --wp--style--unstable-gallery-gap var.
+ // The Gallery block needs to recalculate Image block width based on
+ // the current gap setting in order to maintain the number of flex columns
+ // so a css var is added to allow this.
+
$gap = $attributes['style']['spacing']['blockGap'] ?? null;
// Skip if gap value contains unsupported characters.
// Regex for CSS value borrowed from `safecss_filter_attr`, and used here
@@ -115,7 +116,51 @@ function block_core_gallery_render( $attributes, $content ) {
'context' => 'block-supports',
)
);
- return (string) $processed_content;
+
+ // The WP_HTML_Tag_Processor class calls get_updated_html() internally
+ // when the instance is treated as a string, but here we explicitly
+ // convert it to a string.
+ $updated_content = $processed_content->get_updated_html();
+
+ /*
+ * Randomize the order of image blocks. Ideally we should shuffle
+ * the `$parsed_block['innerBlocks']` via the `render_block_data` hook.
+ * However, this hook doesn't apply inner block updates when blocks are
+ * nested.
+ * @todo: In the future, if this hook supports updating innerBlocks in
+ * nested blocks, it should be refactored.
+ *
+ * @see: https://github.com/WordPress/gutenberg/pull/58733
+ */
+ if ( empty( $attributes['randomOrder'] ) ) {
+ return $updated_content;
+ }
+
+ // This pattern matches figure elements with the `wp-block-image` class to
+ // avoid the gallery's wrapping `figure` element and extract images only.
+ $pattern = '/]*\bwp-block-image\b[^>]*>.*?<\/figure>/';
+
+ // Find all Image blocks.
+ preg_match_all( $pattern, $updated_content, $matches );
+ if ( ! $matches ) {
+ return $updated_content;
+ }
+ $image_blocks = $matches[0];
+
+ // Randomize the order of Image blocks.
+ shuffle( $image_blocks );
+ $i = 0;
+ $content = preg_replace_callback(
+ $pattern,
+ static function () use ( $image_blocks, &$i ) {
+ $new_image_block = $image_blocks[ $i ];
+ ++$i;
+ return $new_image_block;
+ },
+ $updated_content
+ );
+
+ return $content;
}
/**
* Registers the `core/gallery` block on server.
diff --git a/wp-includes/blocks/gallery/block.json b/wp-includes/blocks/gallery/block.json
index 0867989af..e9018704b 100644
--- a/wp-includes/blocks/gallery/block.json
+++ b/wp-includes/blocks/gallery/block.json
@@ -4,6 +4,7 @@
"name": "core/gallery",
"title": "Gallery",
"category": "media",
+ "allowedBlocks": [ "core/image" ],
"description": "Display multiple images in a rich gallery.",
"keywords": [ "images", "photos" ],
"textdomain": "default",
@@ -46,8 +47,8 @@
"attribute": "data-id"
},
"caption": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": ".blocks-gallery-item__caption"
}
}
@@ -72,14 +73,18 @@
"maximum": 8
},
"caption": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": ".blocks-gallery-caption"
},
"imageCrop": {
"type": "boolean",
"default": true
},
+ "randomOrder": {
+ "type": "boolean",
+ "default": false
+ },
"fixedHeight": {
"type": "boolean",
"default": true
@@ -132,6 +137,9 @@
"default": {
"type": "flex"
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-gallery-editor",
diff --git a/wp-includes/blocks/gallery/editor-rtl.css b/wp-includes/blocks/gallery/editor-rtl.css
index 19954733a..fae133a15 100644
--- a/wp-includes/blocks/gallery/editor-rtl.css
+++ b/wp-includes/blocks/gallery/editor-rtl.css
@@ -65,7 +65,7 @@ figure.wp-block-gallery .components-spinner{
box-shadow:0 0 0 1px #fff inset, 0 0 0 3px var(--wp-admin-theme-color) inset;
content:"";
left:0;
- outline:2px solid transparent;
+ outline:2px solid #0000;
pointer-events:none;
position:absolute;
right:0;
@@ -104,7 +104,7 @@ figure.wp-block-gallery .components-spinner{
}
}
.block-library-gallery-item__inline-menu:hover{
- box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);
+ box-shadow:0 .7px 1px #0000001a,0 1.2px 1.7px -.2px #0000001a,0 2.3px 3.3px -.5px #0000001a;
}
@media (min-width:600px){
.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{
diff --git a/wp-includes/blocks/gallery/editor-rtl.min.css b/wp-includes/blocks/gallery/editor-rtl.min.css
index 4129abb6a..69dff9fbd 100644
--- a/wp-includes/blocks/gallery/editor-rtl.min.css
+++ b/wp-includes/blocks/gallery/editor-rtl.min.css
@@ -1 +1 @@
-figure.wp-block-gallery{display:block}figure.wp-block-gallery>.blocks-gallery-caption{flex:0 0 100%}figure.wp-block-gallery>.blocks-gallery-media-placeholder-wrapper{flex-basis:100%}figure.wp-block-gallery .wp-block-image .components-notice.is-error{display:block}figure.wp-block-gallery .wp-block-image .components-notice__content{margin:4px 0}figure.wp-block-gallery .wp-block-image .components-notice__dismiss{left:5px;position:absolute;top:0}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery .block-editor-media-placeholder{margin:0}figure.wp-block-gallery .block-editor-media-placeholder .components-placeholder__label{display:flex}figure.wp-block-gallery .block-editor-media-placeholder figcaption{z-index:2}figure.wp-block-gallery .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.gallery-settings-buttons .components-button:first-child{margin-left:8px}.gallery-image-sizes .components-base-control__label{display:block;margin-bottom:4px}.gallery-image-sizes .gallery-image-sizes__loading{align-items:center;color:#757575;display:flex;font-size:12px}.gallery-image-sizes .components-spinner{margin:0 4px 0 8px}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{bottom:0;box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";left:0;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.blocks-gallery-item figure.is-transient img{opacity:.3}.blocks-gallery-item .is-selected .block-library-gallery-item__inline-menu{display:inline-flex}.blocks-gallery-item .block-editor-media-placeholder{height:100%;margin:0}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{background:#fff;border:1px solid #1e1e1e;border-radius:2px;display:none;margin:8px;position:absolute;top:-2px;transition:box-shadow .2s ease-out;z-index:20}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-delay:0s;transition-duration:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{padding:2px}}.block-library-gallery-item__inline-menu .components-button.has-icon:not(:focus){border:none;box-shadow:none}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu .components-button.has-icon,.columns-8 .block-library-gallery-item__inline-menu .components-button.has-icon{height:inherit;padding:0;width:inherit}}.block-library-gallery-item__inline-menu.is-left{right:-2px}.block-library-gallery-item__inline-menu.is-right{left:-2px}.wp-block-gallery ul.blocks-gallery-grid{margin:0;padding:0}@media (min-width:600px){.wp-block-update-gallery-modal{max-width:480px}}.wp-block-update-gallery-modal-buttons{display:flex;gap:12px;justify-content:flex-end}
\ No newline at end of file
+figure.wp-block-gallery{display:block}figure.wp-block-gallery>.blocks-gallery-caption{flex:0 0 100%}figure.wp-block-gallery>.blocks-gallery-media-placeholder-wrapper{flex-basis:100%}figure.wp-block-gallery .wp-block-image .components-notice.is-error{display:block}figure.wp-block-gallery .wp-block-image .components-notice__content{margin:4px 0}figure.wp-block-gallery .wp-block-image .components-notice__dismiss{left:5px;position:absolute;top:0}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery .block-editor-media-placeholder{margin:0}figure.wp-block-gallery .block-editor-media-placeholder .components-placeholder__label{display:flex}figure.wp-block-gallery .block-editor-media-placeholder figcaption{z-index:2}figure.wp-block-gallery .components-spinner{margin-right:-9px;margin-top:-9px;position:absolute;right:50%;top:50%}.gallery-settings-buttons .components-button:first-child{margin-left:8px}.gallery-image-sizes .components-base-control__label{display:block;margin-bottom:4px}.gallery-image-sizes .gallery-image-sizes__loading{align-items:center;color:#757575;display:flex;font-size:12px}.gallery-image-sizes .components-spinner{margin:0 4px 0 8px}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{bottom:0;box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";left:0;outline:2px solid #0000;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.blocks-gallery-item figure.is-transient img{opacity:.3}.blocks-gallery-item .is-selected .block-library-gallery-item__inline-menu{display:inline-flex}.blocks-gallery-item .block-editor-media-placeholder{height:100%;margin:0}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{background:#fff;border:1px solid #1e1e1e;border-radius:2px;display:none;margin:8px;position:absolute;top:-2px;transition:box-shadow .2s ease-out;z-index:20}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-delay:0s;transition-duration:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 .7px 1px #0000001a,0 1.2px 1.7px -.2px #0000001a,0 2.3px 3.3px -.5px #0000001a}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{padding:2px}}.block-library-gallery-item__inline-menu .components-button.has-icon:not(:focus){border:none;box-shadow:none}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu .components-button.has-icon,.columns-8 .block-library-gallery-item__inline-menu .components-button.has-icon{height:inherit;padding:0;width:inherit}}.block-library-gallery-item__inline-menu.is-left{right:-2px}.block-library-gallery-item__inline-menu.is-right{left:-2px}.wp-block-gallery ul.blocks-gallery-grid{margin:0;padding:0}@media (min-width:600px){.wp-block-update-gallery-modal{max-width:480px}}.wp-block-update-gallery-modal-buttons{display:flex;gap:12px;justify-content:flex-end}
\ No newline at end of file
diff --git a/wp-includes/blocks/gallery/editor.css b/wp-includes/blocks/gallery/editor.css
index b8493cbab..9d78df994 100644
--- a/wp-includes/blocks/gallery/editor.css
+++ b/wp-includes/blocks/gallery/editor.css
@@ -65,7 +65,7 @@ figure.wp-block-gallery .components-spinner{
box-shadow:0 0 0 1px #fff inset, 0 0 0 3px var(--wp-admin-theme-color) inset;
content:"";
left:0;
- outline:2px solid transparent;
+ outline:2px solid #0000;
pointer-events:none;
position:absolute;
right:0;
@@ -104,7 +104,7 @@ figure.wp-block-gallery .components-spinner{
}
}
.block-library-gallery-item__inline-menu:hover{
- box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1);
+ box-shadow:0 .7px 1px #0000001a,0 1.2px 1.7px -.2px #0000001a,0 2.3px 3.3px -.5px #0000001a;
}
@media (min-width:600px){
.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{
diff --git a/wp-includes/blocks/gallery/editor.min.css b/wp-includes/blocks/gallery/editor.min.css
index 35550e941..e58f034f3 100644
--- a/wp-includes/blocks/gallery/editor.min.css
+++ b/wp-includes/blocks/gallery/editor.min.css
@@ -1 +1 @@
-figure.wp-block-gallery{display:block}figure.wp-block-gallery>.blocks-gallery-caption{flex:0 0 100%}figure.wp-block-gallery>.blocks-gallery-media-placeholder-wrapper{flex-basis:100%}figure.wp-block-gallery .wp-block-image .components-notice.is-error{display:block}figure.wp-block-gallery .wp-block-image .components-notice__content{margin:4px 0}figure.wp-block-gallery .wp-block-image .components-notice__dismiss{position:absolute;right:5px;top:0}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery .block-editor-media-placeholder{margin:0}figure.wp-block-gallery .block-editor-media-placeholder .components-placeholder__label{display:flex}figure.wp-block-gallery .block-editor-media-placeholder figcaption{z-index:2}figure.wp-block-gallery .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.gallery-settings-buttons .components-button:first-child{margin-right:8px}.gallery-image-sizes .components-base-control__label{display:block;margin-bottom:4px}.gallery-image-sizes .gallery-image-sizes__loading{align-items:center;color:#757575;display:flex;font-size:12px}.gallery-image-sizes .components-spinner{margin:0 8px 0 4px}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{bottom:0;box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";left:0;outline:2px solid transparent;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.blocks-gallery-item figure.is-transient img{opacity:.3}.blocks-gallery-item .is-selected .block-library-gallery-item__inline-menu{display:inline-flex}.blocks-gallery-item .block-editor-media-placeholder{height:100%;margin:0}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{background:#fff;border:1px solid #1e1e1e;border-radius:2px;display:none;margin:8px;position:absolute;top:-2px;transition:box-shadow .2s ease-out;z-index:20}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-delay:0s;transition-duration:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 .7px 1px rgba(0,0,0,.1),0 1.2px 1.7px -.2px rgba(0,0,0,.1),0 2.3px 3.3px -.5px rgba(0,0,0,.1)}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{padding:2px}}.block-library-gallery-item__inline-menu .components-button.has-icon:not(:focus){border:none;box-shadow:none}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu .components-button.has-icon,.columns-8 .block-library-gallery-item__inline-menu .components-button.has-icon{height:inherit;padding:0;width:inherit}}.block-library-gallery-item__inline-menu.is-left{left:-2px}.block-library-gallery-item__inline-menu.is-right{right:-2px}.wp-block-gallery ul.blocks-gallery-grid{margin:0;padding:0}@media (min-width:600px){.wp-block-update-gallery-modal{max-width:480px}}.wp-block-update-gallery-modal-buttons{display:flex;gap:12px;justify-content:flex-end}
\ No newline at end of file
+figure.wp-block-gallery{display:block}figure.wp-block-gallery>.blocks-gallery-caption{flex:0 0 100%}figure.wp-block-gallery>.blocks-gallery-media-placeholder-wrapper{flex-basis:100%}figure.wp-block-gallery .wp-block-image .components-notice.is-error{display:block}figure.wp-block-gallery .wp-block-image .components-notice__content{margin:4px 0}figure.wp-block-gallery .wp-block-image .components-notice__dismiss{position:absolute;right:5px;top:0}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .components-placeholder__label{display:none}figure.wp-block-gallery .block-editor-media-placeholder.is-appender .block-editor-media-placeholder__button{margin-bottom:0}figure.wp-block-gallery .block-editor-media-placeholder{margin:0}figure.wp-block-gallery .block-editor-media-placeholder .components-placeholder__label{display:flex}figure.wp-block-gallery .block-editor-media-placeholder figcaption{z-index:2}figure.wp-block-gallery .components-spinner{left:50%;margin-left:-9px;margin-top:-9px;position:absolute;top:50%}.gallery-settings-buttons .components-button:first-child{margin-right:8px}.gallery-image-sizes .components-base-control__label{display:block;margin-bottom:4px}.gallery-image-sizes .gallery-image-sizes__loading{align-items:center;color:#757575;display:flex;font-size:12px}.gallery-image-sizes .components-spinner{margin:0 8px 0 4px}.blocks-gallery-item figure:not(.is-selected):focus,.blocks-gallery-item img:focus{outline:none}.blocks-gallery-item figure.is-selected:before{bottom:0;box-shadow:0 0 0 1px #fff inset,0 0 0 3px var(--wp-admin-theme-color) inset;content:"";left:0;outline:2px solid #0000;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.blocks-gallery-item figure.is-transient img{opacity:.3}.blocks-gallery-item .is-selected .block-library-gallery-item__inline-menu{display:inline-flex}.blocks-gallery-item .block-editor-media-placeholder{height:100%;margin:0}.blocks-gallery-item .block-editor-media-placeholder .components-placeholder__label{display:flex}.block-library-gallery-item__inline-menu{background:#fff;border:1px solid #1e1e1e;border-radius:2px;display:none;margin:8px;position:absolute;top:-2px;transition:box-shadow .2s ease-out;z-index:20}@media (prefers-reduced-motion:reduce){.block-library-gallery-item__inline-menu{transition-delay:0s;transition-duration:0s}}.block-library-gallery-item__inline-menu:hover{box-shadow:0 .7px 1px #0000001a,0 1.2px 1.7px -.2px #0000001a,0 2.3px 3.3px -.5px #0000001a}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu,.columns-8 .block-library-gallery-item__inline-menu{padding:2px}}.block-library-gallery-item__inline-menu .components-button.has-icon:not(:focus){border:none;box-shadow:none}@media (min-width:600px){.columns-7 .block-library-gallery-item__inline-menu .components-button.has-icon,.columns-8 .block-library-gallery-item__inline-menu .components-button.has-icon{height:inherit;padding:0;width:inherit}}.block-library-gallery-item__inline-menu.is-left{left:-2px}.block-library-gallery-item__inline-menu.is-right{right:-2px}.wp-block-gallery ul.blocks-gallery-grid{margin:0;padding:0}@media (min-width:600px){.wp-block-update-gallery-modal{max-width:480px}}.wp-block-update-gallery-modal-buttons{display:flex;gap:12px;justify-content:flex-end}
\ No newline at end of file
diff --git a/wp-includes/blocks/gallery/style-rtl.css b/wp-includes/blocks/gallery/style-rtl.css
index bbfa0b0ed..7f5592868 100644
--- a/wp-includes/blocks/gallery/style-rtl.css
+++ b/wp-includes/blocks/gallery/style-rtl.css
@@ -31,7 +31,7 @@
width:auto;
}
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{
- background:linear-gradient(0deg, rgba(0,0,0,.7), rgba(0,0,0,.3) 70%, transparent);
+ background:linear-gradient(0deg, #000000b3, #0000004d 70%, #0000);
bottom:0;
box-sizing:border-box;
color:#fff;
@@ -134,7 +134,7 @@ figure.wp-block-gallery.has-nested-images{
width:auto;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
- background:linear-gradient(0deg, rgba(0,0,0,.7), rgba(0,0,0,.3) 70%, transparent);
+ background:linear-gradient(0deg, #000000b3, #0000004d 70%, #0000);
bottom:0;
box-sizing:border-box;
color:#fff;
@@ -145,8 +145,36 @@ figure.wp-block-gallery.has-nested-images{
padding:0 8px 8px;
position:absolute;
right:0;
+ scrollbar-color:#0000 #0000;
+ scrollbar-gutter:stable both-edges;
+ scrollbar-width:thin;
text-align:center;
width:100%;
+ will-change:transform;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{
+ height:12px;
+ width:12px;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{
+ background-color:initial;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{
+ background-clip:padding-box;
+ background-color:initial;
+ border:3px solid #0000;
+ border-radius:8px;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{
+ background-color:#fffc;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{
+ scrollbar-color:#fffc #0000;
+}
+@media (hover:none){
+ .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
+ scrollbar-color:#fffc #0000;
+ }
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{
display:inline;
diff --git a/wp-includes/blocks/gallery/style-rtl.min.css b/wp-includes/blocks/gallery/style-rtl.min.css
index ec4c42e81..baebe3a79 100644
--- a/wp-includes/blocks/gallery/style-rtl.min.css
+++ b/wp-includes/blocks/gallery/style-rtl.min.css
@@ -1 +1 @@
-.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 0 1em 1em;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-left:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-left:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-left:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-left:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-left:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-left:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-left:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;right:0;text-align:center;width:100%}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center}
\ No newline at end of file
+.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 0 1em 1em;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-left:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,#000000b3,#0000004d 70%,#0000);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-left:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-left:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-left:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-left:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-left:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-left:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-left:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-left:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-left:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,#000000b3,#0000004d 70%,#0000);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;right:0;scrollbar-color:#0000 #0000;scrollbar-gutter:stable both-edges;scrollbar-width:thin;text-align:center;width:100%;will-change:transform}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{height:12px;width:12px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{background-color:initial}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:initial;border:3px solid #0000;border-radius:8px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{background-color:#fffc}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{scrollbar-color:#fffc #0000}@media (hover:none){.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{scrollbar-color:#fffc #0000}}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center}
\ No newline at end of file
diff --git a/wp-includes/blocks/gallery/style.css b/wp-includes/blocks/gallery/style.css
index fb2a0736c..1dacef62e 100644
--- a/wp-includes/blocks/gallery/style.css
+++ b/wp-includes/blocks/gallery/style.css
@@ -31,7 +31,7 @@
width:auto;
}
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{
- background:linear-gradient(0deg, rgba(0,0,0,.7), rgba(0,0,0,.3) 70%, transparent);
+ background:linear-gradient(0deg, #000000b3, #0000004d 70%, #0000);
bottom:0;
box-sizing:border-box;
color:#fff;
@@ -134,7 +134,7 @@ figure.wp-block-gallery.has-nested-images{
width:auto;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
- background:linear-gradient(0deg, rgba(0,0,0,.7), rgba(0,0,0,.3) 70%, transparent);
+ background:linear-gradient(0deg, #000000b3, #0000004d 70%, #0000);
bottom:0;
box-sizing:border-box;
color:#fff;
@@ -145,8 +145,36 @@ figure.wp-block-gallery.has-nested-images{
overflow:auto;
padding:0 8px 8px;
position:absolute;
+ scrollbar-color:#0000 #0000;
+ scrollbar-gutter:stable both-edges;
+ scrollbar-width:thin;
text-align:center;
width:100%;
+ will-change:transform;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{
+ height:12px;
+ width:12px;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{
+ background-color:initial;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{
+ background-clip:padding-box;
+ background-color:initial;
+ border:3px solid #0000;
+ border-radius:8px;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{
+ background-color:#fffc;
+}
+.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{
+ scrollbar-color:#fffc #0000;
+}
+@media (hover:none){
+ .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
+ scrollbar-color:#fffc #0000;
+ }
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{
display:inline;
diff --git a/wp-includes/blocks/gallery/style.min.css b/wp-includes/blocks/gallery/style.min.css
index a5ab123e6..24ad3d0f1 100644
--- a/wp-includes/blocks/gallery/style.min.css
+++ b/wp-includes/blocks/gallery/style.min.css
@@ -1 +1 @@
-.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 1em 1em 0;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-right:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-right:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-right:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-right:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-right:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-right:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-right:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;left:0;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;text-align:center;width:100%}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center}
\ No newline at end of file
+.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images){display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item{display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin:0 1em 1em 0;position:relative;width:calc(50% - 1em)}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n){margin-right:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure{align-items:flex-end;display:flex;height:100%;justify-content:flex-start;margin:0}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img{display:block;height:auto;max-width:100%;width:auto}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption{background:linear-gradient(0deg,#000000b3,#0000004d 70%,#0000);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img{display:inline}.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption{flex-grow:1}.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a,.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a,.wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img{flex:1;height:100%;object-fit:cover;width:100%}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item{margin-right:0;width:100%}@media (min-width:600px){.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item{margin-right:1em;width:calc(33.33333% - .66667em)}.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item{margin-right:1em;width:calc(25% - .75em)}.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item{margin-right:1em;width:calc(20% - .8em)}.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item{margin-right:1em;width:calc(16.66667% - .83333em)}.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item{margin-right:1em;width:calc(14.28571% - .85714em)}.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image,.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image,.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item{margin-right:1em;width:calc(12.5% - .875em)}.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n),.wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n){margin-right:0}}.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child,.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child,.wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child{margin-right:0}.blocks-gallery-grid:not(.has-nested-images).alignleft,.blocks-gallery-grid:not(.has-nested-images).alignright,.wp-block-gallery:not(.has-nested-images).alignleft,.wp-block-gallery:not(.has-nested-images).alignright{max-width:420px;width:100%}.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure,.wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure{justify-content:center}.wp-block-gallery:not(.is-cropped) .blocks-gallery-item{align-self:flex-start}figure.wp-block-gallery.has-nested-images{align-items:normal}.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2)}.wp-block-gallery.has-nested-images figure.wp-block-image{box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative}.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div{flex-direction:column;flex-grow:1;margin:0}.wp-block-gallery.has-nested-images figure.wp-block-image img{display:block;height:auto;max-width:100%!important;width:auto}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{background:linear-gradient(0deg,#000000b3,#0000004d 70%,#0000);bottom:0;box-sizing:border-box;color:#fff;font-size:13px;left:0;margin-bottom:0;max-height:60%;overflow:auto;padding:0 8px 8px;position:absolute;scrollbar-color:#0000 #0000;scrollbar-gutter:stable both-edges;scrollbar-width:thin;text-align:center;width:100%;will-change:transform}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar{height:12px;width:12px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track{background-color:initial}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:initial;border:3px solid #0000;border-radius:8px}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb{background-color:#fffc}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover{scrollbar-color:#fffc #0000}@media (hover:none){.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{scrollbar-color:#fffc #0000}}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img{display:inline}.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a{color:inherit}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div{flex:1 1 auto}.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption{background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative}.wp-block-gallery.has-nested-images figcaption{flex-basis:100%;flex-grow:1;text-align:center}.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image){margin-bottom:auto;margin-top:0}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){align-self:inherit}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone){display:flex}.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{flex:1 0 0%;height:100%;object-fit:cover;width:100%}.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image){width:100%}@media (min-width:600px){.wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image){width:calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75)}.wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(20% - var(--wp--style--unstable-gallery-gap, 16px)*.8)}.wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image){width:calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px)*.83333)}.wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image){width:calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px)*.85714)}.wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image){width:calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px)*.875)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image){width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5)}.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child{width:100%}}.wp-block-gallery.has-nested-images.alignleft,.wp-block-gallery.has-nested-images.alignright{max-width:420px;width:100%}.wp-block-gallery.has-nested-images.aligncenter{justify-content:center}
\ No newline at end of file
diff --git a/wp-includes/blocks/gallery/theme-rtl.css b/wp-includes/blocks/gallery/theme-rtl.css
index 94a485aff..33d885983 100644
--- a/wp-includes/blocks/gallery/theme-rtl.css
+++ b/wp-includes/blocks/gallery/theme-rtl.css
@@ -4,5 +4,5 @@
text-align:center;
}
.is-dark-theme .blocks-gallery-caption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/gallery/theme-rtl.min.css b/wp-includes/blocks/gallery/theme-rtl.min.css
index fe8cd6a50..24dd30397 100644
--- a/wp-includes/blocks/gallery/theme-rtl.min.css
+++ b/wp-includes/blocks/gallery/theme-rtl.min.css
@@ -1 +1 @@
-.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}
\ No newline at end of file
+.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}
\ No newline at end of file
diff --git a/wp-includes/blocks/gallery/theme.css b/wp-includes/blocks/gallery/theme.css
index 94a485aff..33d885983 100644
--- a/wp-includes/blocks/gallery/theme.css
+++ b/wp-includes/blocks/gallery/theme.css
@@ -4,5 +4,5 @@
text-align:center;
}
.is-dark-theme .blocks-gallery-caption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/gallery/theme.min.css b/wp-includes/blocks/gallery/theme.min.css
index fe8cd6a50..24dd30397 100644
--- a/wp-includes/blocks/gallery/theme.min.css
+++ b/wp-includes/blocks/gallery/theme.min.css
@@ -1 +1 @@
-.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}
\ No newline at end of file
+.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}
\ No newline at end of file
diff --git a/wp-includes/blocks/group/block.json b/wp-includes/blocks/group/block.json
index 4b89d8653..db7d09c55 100644
--- a/wp-includes/blocks/group/block.json
+++ b/wp-includes/blocks/group/block.json
@@ -24,13 +24,16 @@
"__experimentalOnEnter": true,
"__experimentalOnMerge": true,
"__experimentalSettings": true,
- "__experimentalMetadata": true,
"align": [ "wide", "full" ],
"anchor": true,
"ariaLabel": true,
"html": false,
"background": {
- "backgroundImage": true
+ "backgroundImage": true,
+ "backgroundSize": true,
+ "__experimentalDefaultControls": {
+ "backgroundImage": true
+ }
},
"color": {
"gradients": true,
@@ -84,6 +87,9 @@
},
"layout": {
"allowSizingOnChildren": true
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-group-editor",
diff --git a/wp-includes/blocks/heading/block.json b/wp-includes/blocks/heading/block.json
index 7c018f847..9990ef582 100644
--- a/wp-includes/blocks/heading/block.json
+++ b/wp-includes/blocks/heading/block.json
@@ -12,10 +12,9 @@
"type": "string"
},
"content": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "h1,h2,h3,h4,h5,h6",
- "default": "",
"__experimentalRole": "content"
},
"level": {
@@ -57,13 +56,14 @@
"__experimentalTextDecoration": true,
"__experimentalWritingMode": true,
"__experimentalDefaultControls": {
- "fontSize": true,
- "fontAppearance": true,
- "textTransform": true
+ "fontSize": true
}
},
"__unstablePasteTextInline": true,
- "__experimentalSlashInserter": true
+ "__experimentalSlashInserter": true,
+ "interactivity": {
+ "clientNavigation": true
+ }
},
"editorStyle": "wp-block-heading-editor",
"style": "wp-block-heading"
diff --git a/wp-includes/blocks/home-link.php b/wp-includes/blocks/home-link.php
index 8fb5ed109..9ec0c1858 100644
--- a/wp-includes/blocks/home-link.php
+++ b/wp-includes/blocks/home-link.php
@@ -129,7 +129,10 @@ function block_core_home_link_build_li_wrapper_attributes( $context ) {
*/
function render_block_core_home_link( $attributes, $content, $block ) {
if ( empty( $attributes['label'] ) ) {
- return '';
+ // Using a fallback for the label attribute allows rendering the block even if no attributes have been set,
+ // e.g. when using the block as a hooked block.
+ // Note that the fallback value needs to be kept in sync with the one set in `edit.js` (upon first loading the block in the editor).
+ $attributes['label'] = __( 'Home' );
}
$aria_current = '';
diff --git a/wp-includes/blocks/home-link/block.json b/wp-includes/blocks/home-link/block.json
index a9827b771..b19fcf43c 100644
--- a/wp-includes/blocks/home-link/block.json
+++ b/wp-includes/blocks/home-link/block.json
@@ -36,6 +36,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-home-link-editor",
diff --git a/wp-includes/blocks/html/block.json b/wp-includes/blocks/html/block.json
index b1a2ad606..08587f69b 100644
--- a/wp-includes/blocks/html/block.json
+++ b/wp-includes/blocks/html/block.json
@@ -16,7 +16,10 @@
"supports": {
"customClassName": false,
"className": false,
- "html": false
+ "html": false,
+ "interactivity": {
+ "clientNavigation": true
+ }
},
"editorStyle": "wp-block-html-editor"
}
diff --git a/wp-includes/blocks/html/editor-rtl.css b/wp-includes/blocks/html/editor-rtl.css
index 6419368f3..dfca958f4 100644
--- a/wp-includes/blocks/html/editor-rtl.css
+++ b/wp-includes/blocks/html/editor-rtl.css
@@ -25,5 +25,5 @@
.block-library-html__edit .block-editor-plain-text:focus{
border-color:var(--wp-admin-theme-color) !important;
box-shadow:0 0 0 1px var(--wp-admin-theme-color) !important;
- outline:2px solid transparent !important;
+ outline:2px solid #0000 !important;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/html/editor-rtl.min.css b/wp-includes/blocks/html/editor-rtl.min.css
index aad3497d4..edf9b38ec 100644
--- a/wp-includes/blocks/html/editor-rtl.min.css
+++ b/wp-includes/blocks/html/editor-rtl.min.css
@@ -1 +1 @@
-.block-library-html__edit .block-library-html__preview-overlay{height:100%;position:absolute;right:0;top:0;width:100%}.block-library-html__edit .block-editor-plain-text{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px!important}}.block-library-html__edit .block-editor-plain-text:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}
\ No newline at end of file
+.block-library-html__edit .block-library-html__preview-overlay{height:100%;position:absolute;right:0;top:0;width:100%}.block-library-html__edit .block-editor-plain-text{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px!important}}.block-library-html__edit .block-editor-plain-text:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid #0000!important}
\ No newline at end of file
diff --git a/wp-includes/blocks/html/editor.css b/wp-includes/blocks/html/editor.css
index 28fcf6f6a..ea52ca08b 100644
--- a/wp-includes/blocks/html/editor.css
+++ b/wp-includes/blocks/html/editor.css
@@ -25,5 +25,5 @@
.block-library-html__edit .block-editor-plain-text:focus{
border-color:var(--wp-admin-theme-color) !important;
box-shadow:0 0 0 1px var(--wp-admin-theme-color) !important;
- outline:2px solid transparent !important;
+ outline:2px solid #0000 !important;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/html/editor.min.css b/wp-includes/blocks/html/editor.min.css
index 068a199a0..61973b111 100644
--- a/wp-includes/blocks/html/editor.min.css
+++ b/wp-includes/blocks/html/editor.min.css
@@ -1 +1 @@
-.block-library-html__edit .block-library-html__preview-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.block-library-html__edit .block-editor-plain-text{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px!important}}.block-library-html__edit .block-editor-plain-text:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}
\ No newline at end of file
+.block-library-html__edit .block-library-html__preview-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.block-library-html__edit .block-editor-plain-text{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important}@media (min-width:600px){.block-library-html__edit .block-editor-plain-text{font-size:13px!important}}.block-library-html__edit .block-editor-plain-text:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid #0000!important}
\ No newline at end of file
diff --git a/wp-includes/blocks/image.php b/wp-includes/blocks/image.php
index acefd5714..0b75bf95a 100644
--- a/wp-includes/blocks/image.php
+++ b/wp-includes/blocks/image.php
@@ -20,29 +20,26 @@ function render_block_core_image( $attributes, $content, $block ) {
return '';
}
- $processor = new WP_HTML_Tag_Processor( $content );
+ $p = new WP_HTML_Tag_Processor( $content );
- if ( ! $processor->next_tag( 'img' ) || null === $processor->get_attribute( 'src' ) ) {
+ if ( ! $p->next_tag( 'img' ) || null === $p->get_attribute( 'src' ) ) {
return '';
}
if ( isset( $attributes['data-id'] ) ) {
- // Add the data-id="$id" attribute to the img element
- // to provide backwards compatibility for the Gallery Block,
- // which now wraps Image Blocks within innerBlocks.
- // The data-id attribute is added in a core/gallery `render_block_data` hook.
- $processor->set_attribute( 'data-id', $attributes['data-id'] );
+ // Adds the data-id="$id" attribute to the img element to provide backwards
+ // compatibility for the Gallery Block, which now wraps Image Blocks within
+ // innerBlocks. The data-id attribute is added in a core/gallery
+ // `render_block_data` hook.
+ $p->set_attribute( 'data-id', $attributes['data-id'] );
}
$link_destination = isset( $attributes['linkDestination'] ) ? $attributes['linkDestination'] : 'none';
$lightbox_settings = block_core_image_get_lightbox_settings( $block->parsed_block );
- $view_js_file_handle = 'wp-block-image-view';
- $script_handles = $block->block_type->view_script_handles;
-
/*
- * If the lightbox is enabled and the image is not linked, add the filter
- * and the JavaScript view file.
+ * If the lightbox is enabled and the image is not linked, adds the filter and
+ * the JavaScript view file.
*/
if (
isset( $lightbox_settings ) &&
@@ -50,34 +47,37 @@ function render_block_core_image( $attributes, $content, $block ) {
isset( $lightbox_settings['enabled'] ) &&
true === $lightbox_settings['enabled']
) {
- $block->block_type->supports['interactivity'] = true;
-
- if ( ! in_array( $view_js_file_handle, $script_handles, true ) ) {
- $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file_handle ) );
+ $suffix = wp_scripts_get_suffix();
+ if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
+ $module_url = gutenberg_url( '/build/interactivity/image.min.js' );
}
+ wp_register_script_module(
+ '@wordpress/block-library/image',
+ isset( $module_url ) ? $module_url : includes_url( "blocks/image/view{$suffix}.js" ),
+ array( '@wordpress/interactivity' ),
+ defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
+ );
+
+ wp_enqueue_script_module( '@wordpress/block-library/image' );
+
/*
- * This render needs to happen in a filter with priority 15 to ensure
- * that it runs after the duotone filter and that duotone styles are
- * applied to the image in the lightbox. We also need to ensure that the
- * lightbox works with any plugins that might use filters as well. We
- * can consider removing this in the future if the way the blocks are
- * rendered changes, or if a new kind of filter is introduced.
+ * This render needs to happen in a filter with priority 15 to ensure that
+ * it runs after the duotone filter and that duotone styles are applied to
+ * the image in the lightbox. Lightbox has to work with any plugins that
+ * might use filters as well. Removing this can be considered in the future
+ * if the way the blocks are rendered changes, or if a new kind of filter is
+ * introduced.
*/
add_filter( 'render_block_core/image', 'block_core_image_render_lightbox', 15, 2 );
} else {
/*
- * Remove the filter and the JavaScript view file if previously added by
- * other Image blocks.
+ * Remove the filter if previously added by other Image blocks.
*/
remove_filter( 'render_block_core/image', 'block_core_image_render_lightbox', 15 );
- // If the script is not needed, and it is still in the `view_script_handles`, remove it.
- if ( in_array( $view_js_file_handle, $script_handles, true ) ) {
- $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file_handle ) );
- }
}
- return $processor->get_updated_html();
+ return $p->get_updated_html();
}
/**
@@ -90,15 +90,9 @@ function render_block_core_image( $attributes, $content, $block ) {
* @return array Filtered block data.
*/
function block_core_image_get_lightbox_settings( $block ) {
- // Get the lightbox setting from the block attributes.
+ // Gets the lightbox setting from the block attributes.
if ( isset( $block['attrs']['lightbox'] ) ) {
$lightbox_settings = $block['attrs']['lightbox'];
- // If the lightbox setting is not set in the block attributes,
- // check the legacy lightbox settings that are set using the
- // `gutenberg_should_render_lightbox` filter.
- // We can remove this elseif statement when the legacy lightbox settings are removed.
- } elseif ( isset( $block['legacyLightboxSettings'] ) ) {
- $lightbox_settings = $block['legacyLightboxSettings'];
}
if ( ! isset( $lightbox_settings ) ) {
@@ -107,9 +101,9 @@ function block_core_image_get_lightbox_settings( $block ) {
// If not present in global settings, check the top-level global settings.
//
// NOTE: If no block-level settings are found, the previous call to
- // `wp_get_global_settings` will return the whole `theme.json`
- // structure in which case we can check if the "lightbox" key is present at
- // the top-level of the global settings and use its value.
+ // `wp_get_global_settings` will return the whole `theme.json` structure in
+ // which case we can check if the "lightbox" key is present at the top-level
+ // of the global settings and use its value.
if ( isset( $lightbox_settings['lightbox'] ) ) {
$lightbox_settings = wp_get_global_settings( array( 'lightbox' ) );
}
@@ -128,107 +122,76 @@ function block_core_image_get_lightbox_settings( $block ) {
*/
function block_core_image_render_lightbox( $block_content, $block ) {
/*
- * If it's not possible that an IMG element exists then return the given
- * block content as-is. It may be that there's no actual image in the block
- * or it could be that another plugin already modified this HTML.
+ * If there's no IMG tag in the block then return the given block content
+ * as-is. There's nothing that this code can knowingly modify to add the
+ * lightbox behavior.
*/
- if ( false === stripos( $block_content, ' next_tag( 'figure' ) ) {
+ $p->set_bookmark( 'figure' );
}
-
- $processor = new WP_HTML_Tag_Processor( $block_content );
-
- $aria_label = __( 'Enlarge image' );
-
- /*
- * If there's definitely no IMG element in the block then return the given
- * block content as-is. There's nothing that this code can knowingly modify
- * to add the lightbox behavior.
- */
- if ( ! $processor->next_tag( 'img' ) ) {
+ if ( ! $p->next_tag( 'img' ) ) {
return $block_content;
}
- $alt_attribute = $processor->get_attribute( 'alt' );
+ $alt = $p->get_attribute( 'alt' );
+ $img_uploaded_src = $p->get_attribute( 'src' );
+ $img_class_names = $p->get_attribute( 'class' );
+ $img_styles = $p->get_attribute( 'style' );
+ $img_width = 'none';
+ $img_height = 'none';
+ $aria_label = __( 'Enlarge image' );
- // An empty alt attribute `alt=""` is valid for decorative images.
- if ( is_string( $alt_attribute ) ) {
- $alt_attribute = trim( $alt_attribute );
- }
-
- // It only makes sense to append the alt text to the button aria-label when the alt text is non-empty.
- if ( $alt_attribute ) {
+ if ( $alt ) {
/* translators: %s: Image alt text. */
- $aria_label = sprintf( __( 'Enlarge image: %s' ), $alt_attribute );
+ $aria_label = sprintf( __( 'Enlarge image: %s' ), $alt );
}
- // Currently, we are only enabling the zoom animation.
- $lightbox_animation = 'zoom';
-
- // Note: We want to store the `src` in the context so we
- // can set it dynamically when the lightbox is opened.
if ( isset( $block['attrs']['id'] ) ) {
$img_uploaded_src = wp_get_attachment_url( $block['attrs']['id'] );
$img_metadata = wp_get_attachment_metadata( $block['attrs']['id'] );
$img_width = $img_metadata['width'] ?? 'none';
$img_height = $img_metadata['height'] ?? 'none';
- } else {
- $img_uploaded_src = $processor->get_attribute( 'src' );
- $img_width = 'none';
- $img_height = 'none';
- }
-
- if ( isset( $block['attrs']['scale'] ) ) {
- $scale_attr = $block['attrs']['scale'];
- } else {
- $scale_attr = false;
}
- $w = new WP_HTML_Tag_Processor( $block_content );
- $w->next_tag( 'figure' );
- $w->add_class( 'wp-lightbox-container' );
- $w->set_attribute( 'data-wp-interactive', true );
-
- $w->set_attribute(
+ // Figure.
+ $p->seek( 'figure' );
+ $figure_class_names = $p->get_attribute( 'class' );
+ $figure_styles = $p->get_attribute( 'style' );
+ $p->add_class( 'wp-lightbox-container' );
+ $p->set_attribute( 'data-wp-interactive', 'core/image' );
+ $p->set_attribute(
'data-wp-context',
- sprintf(
- '{ "core":
- { "image":
- { "imageLoaded": false,
- "initialized": false,
- "lightboxEnabled": false,
- "hideAnimationEnabled": false,
- "preloadInitialized": false,
- "lightboxAnimation": "%s",
- "imageUploadedSrc": "%s",
- "imageCurrentSrc": "",
- "targetWidth": "%s",
- "targetHeight": "%s",
- "scaleAttr": "%s",
- "dialogLabel": "%s"
- }
- }
- }',
- $lightbox_animation,
- $img_uploaded_src,
- $img_width,
- $img_height,
- $scale_attr,
- __( 'Enlarged image' )
+ wp_json_encode(
+ array(
+ 'uploadedSrc' => $img_uploaded_src,
+ 'figureClassNames' => $figure_class_names,
+ 'figureStyles' => $figure_styles,
+ 'imgClassNames' => $img_class_names,
+ 'imgStyles' => $img_styles,
+ 'targetWidth' => $img_width,
+ 'targetHeight' => $img_height,
+ 'scaleAttr' => $block['attrs']['scale'] ?? false,
+ 'ariaLabel' => $aria_label,
+ 'alt' => $alt,
+ ),
+ JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP
)
);
- $w->next_tag( 'img' );
- $w->set_attribute( 'data-wp-init', 'effects.core.image.initOriginImage' );
- $w->set_attribute( 'data-wp-on--load', 'actions.core.image.handleLoad' );
- $w->set_attribute( 'data-wp-effect', 'effects.core.image.setButtonStyles' );
- // We need to set an event callback on the `img` specifically
- // because the `figure` element can also contain a caption, and
- // we don't want to trigger the lightbox when the caption is clicked.
- $w->set_attribute( 'data-wp-on--click', 'actions.core.image.showLightbox' );
- $w->set_attribute( 'data-wp-effect--setStylesOnResize', 'effects.core.image.setStylesOnResize' );
- $body_content = $w->get_updated_html();
- // Add a button alongside image in the body content.
+ // Image.
+ $p->next_tag( 'img' );
+ $p->set_attribute( 'data-wp-init', 'callbacks.setButtonStyles' );
+ $p->set_attribute( 'data-wp-on--load', 'callbacks.setButtonStyles' );
+ $p->set_attribute( 'data-wp-on-window--resize', 'callbacks.setButtonStyles' );
+ // Sets an event callback on the `img` because the `figure` element can also
+ // contain a caption, and we don't want to trigger the lightbox when the
+ // caption is clicked.
+ $p->set_attribute( 'data-wp-on--click', 'actions.showLightbox' );
+
+ $body_content = $p->get_updated_html();
+
+ // Adds a button alongside image in the body content.
$img = null;
preg_match( '/ ]+>/', $body_content, $img );
@@ -239,9 +202,10 @@ class="lightbox-trigger"
type="button"
aria-haspopup="dialog"
aria-label="' . esc_attr( $aria_label ) . '"
- data-wp-on--click="actions.core.image.showLightbox"
- data-wp-style--right="context.core.image.imageButtonRight"
- data-wp-style--top="context.core.image.imageButtonTop"
+ data-wp-init="callbacks.initTriggerButton"
+ data-wp-on--click="actions.showLightbox"
+ data-wp-style--right="context.imageButtonRight"
+ data-wp-style--top="context.imageButtonTop"
>
@@ -250,46 +214,17 @@ class="lightbox-trigger"
$body_content = preg_replace( '/ ]+>/', $button, $body_content );
- // We need both a responsive image and an enlarged image to animate
- // the zoom seamlessly on slow internet connections; the responsive
- // image is a copy of the one in the body, which animates immediately
- // as the lightbox is opened, while the enlarged one is a full-sized
- // version that will likely still be loading as the animation begins.
- $m = new WP_HTML_Tag_Processor( $block_content );
- $m->next_tag( 'figure' );
- $m->add_class( 'responsive-image' );
- $m->next_tag( 'img' );
- // We want to set the 'src' attribute to an empty string in the responsive image
- // because otherwise, as of this writing, the wp_filter_content_tags() function in
- // WordPress will automatically add a 'srcset' attribute to the image, which will at
- // times cause the incorrectly sized image to be loaded in the lightbox on Firefox.
- // Because of this, we bind the 'src' attribute explicitly the current src to reliably
- // use the exact same image as in the content when the lightbox is first opened while
- // we wait for the larger image to load.
- $m->set_attribute( 'src', '' );
- $m->set_attribute( 'data-wp-bind--src', 'context.core.image.imageCurrentSrc' );
- $m->set_attribute( 'data-wp-style--object-fit', 'selectors.core.image.lightboxObjectFit' );
- $initial_image_content = $m->get_updated_html();
+ add_action( 'wp_footer', 'block_core_image_print_lightbox_overlay' );
- $q = new WP_HTML_Tag_Processor( $block_content );
- $q->next_tag( 'figure' );
- $q->add_class( 'enlarged-image' );
- $q->next_tag( 'img' );
+ return $body_content;
+}
- // We set the 'src' attribute to an empty string to prevent the browser from loading the image
- // on initial page load, then bind the attribute to a selector that returns the full-sized image src when
- // the lightbox is opened. We could use 'loading=lazy' in combination with the 'hidden' attribute to
- // accomplish the same behavior, but that approach breaks progressive loading of the image in Safari
- // and Chrome (see https://github.com/WordPress/gutenberg/pull/52765#issuecomment-1674008151). Until that
- // is resolved, manually setting the 'src' seems to be the best solution to load the large image on demand.
- $q->set_attribute( 'src', '' );
- $q->set_attribute( 'data-wp-bind--src', 'selectors.core.image.enlargedImgSrc' );
- $q->set_attribute( 'data-wp-style--object-fit', 'selectors.core.image.lightboxObjectFit' );
- $enlarged_image_content = $q->get_updated_html();
+function block_core_image_print_lightbox_overlay() {
+ $close_button_label = esc_attr__( 'Close' );
- // If the current theme does NOT have a `theme.json`, or the colors are not defined,
- // we need to set the background color & close button color to some default values
- // because we can't get them from the Global Styles.
+ // If the current theme does NOT have a `theme.json`, or the colors are not
+ // defined, it needs to set the background color & close button color to some
+ // default values because it can't get them from the Global Styles.
$background_color = '#fff';
$close_button_color = '#000';
if ( wp_theme_has_theme_json() ) {
@@ -302,56 +237,45 @@ class="lightbox-trigger"
}
}
- $close_button_icon = ' ';
- $close_button_label = esc_attr__( 'Close' );
-
- $lightbox_html = <<
-
- $close_button_icon
-
- $initial_image_content
- $enlarged_image_content
-
-
+ echo <<
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
HTML;
-
- return str_replace( '', $lightbox_html . '', $body_content );
-}
-
-/**
- * Ensures that the view script has the `wp-interactivity` dependency.
- *
- * @since 6.4.0
- *
- * @global WP_Scripts $wp_scripts
- */
-function block_core_image_ensure_interactivity_dependency() {
- global $wp_scripts;
- if (
- isset( $wp_scripts->registered['wp-block-image-view'] ) &&
- ! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-image-view']->deps, true )
- ) {
- $wp_scripts->registered['wp-block-image-view']->deps[] = 'wp-interactivity';
- }
}
-add_action( 'wp_print_scripts', 'block_core_image_ensure_interactivity_dependency' );
-
/**
* Registers the `core/image` block on server.
*/
diff --git a/wp-includes/blocks/image/block.json b/wp-includes/blocks/image/block.json
index d665a8a8f..1076aad0f 100644
--- a/wp-includes/blocks/image/block.json
+++ b/wp-includes/blocks/image/block.json
@@ -9,9 +9,6 @@
"keywords": [ "img", "photo", "picture" ],
"textdomain": "default",
"attributes": {
- "align": {
- "type": "string"
- },
"url": {
"type": "string",
"source": "attribute",
@@ -28,8 +25,8 @@
"__experimentalRole": "content"
},
"caption": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "figcaption",
"__experimentalRole": "content"
},
@@ -95,6 +92,8 @@
}
},
"supports": {
+ "interactivity": true,
+ "align": [ "left", "center", "right", "wide", "full" ],
"anchor": true,
"color": {
"text": false,
@@ -113,10 +112,14 @@
"radius": true,
"width": true
}
+ },
+ "shadow": {
+ "__experimentalSkipSerialization": true
}
},
"selectors": {
"border": ".wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder",
+ "shadow": ".wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder",
"filter": {
"duotone": ".wp-block-image img, .wp-block-image .components-placeholder"
}
@@ -130,6 +133,5 @@
{ "name": "rounded", "label": "Rounded" }
],
"editorStyle": "wp-block-image-editor",
- "style": "wp-block-image",
- "viewScript": "file:./view.min.js"
+ "style": "wp-block-image"
}
diff --git a/wp-includes/blocks/image/editor-rtl.css b/wp-includes/blocks/image/editor-rtl.css
index 41c1e01d4..7f43104fa 100644
--- a/wp-includes/blocks/image/editor-rtl.css
+++ b/wp-includes/blocks/image/editor-rtl.css
@@ -12,9 +12,12 @@
.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{
display:none;
}
-.wp-block-image.wp-block-image.is-selected .components-placeholder:before{
+.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{
opacity:0;
}
+.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{
+ opacity:1;
+}
.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{
transition:none;
}
@@ -124,4 +127,8 @@ figure.wp-block-image:not(.wp-block){
padding-left:0;
padding-right:0;
width:36px;
+}
+
+.wp-block-image__toolbar_content_textarea{
+ width:250px;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/editor-rtl.min.css b/wp-includes/blocks/image/editor-rtl.min.css
index 76b3aa4b6..d6bf9e02d 100644
--- a/wp-includes/blocks/image/editor-rtl.min.css
+++ b/wp-includes/blocks/image/editor-rtl.min.css
@@ -1 +1 @@
-.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{position:absolute;right:50%;top:50%;transform:translate(50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=right]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px}
\ No newline at end of file
+.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{opacity:1}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{position:absolute;right:50%;top:50%;transform:translate(50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=right]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px}.wp-block-image__toolbar_content_textarea{width:250px}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/editor.css b/wp-includes/blocks/image/editor.css
index ccdc0d0f2..6bdd1cd19 100644
--- a/wp-includes/blocks/image/editor.css
+++ b/wp-includes/blocks/image/editor.css
@@ -12,9 +12,12 @@
.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{
display:none;
}
-.wp-block-image.wp-block-image.is-selected .components-placeholder:before{
+.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{
opacity:0;
}
+.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{
+ opacity:1;
+}
.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{
transition:none;
}
@@ -124,4 +127,8 @@ figure.wp-block-image:not(.wp-block){
padding-left:0;
padding-right:0;
width:36px;
+}
+
+.wp-block-image__toolbar_content_textarea{
+ width:250px;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/editor.min.css b/wp-includes/blocks/image/editor.min.css
index 89b31b075..3f06bfb09 100644
--- a/wp-includes/blocks/image/editor.min.css
+++ b/wp-includes/blocks/image/editor.min.css
@@ -1 +1 @@
-.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=right]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px}
\ No newline at end of file
+.wp-block-image.wp-block-image.is-selected .components-placeholder{background-color:#fff;border:none;border-radius:2px;box-shadow:inset 0 0 0 1px #1e1e1e;color:#1e1e1e;filter:none!important}.wp-block-image.wp-block-image.is-selected .components-placeholder>svg{opacity:0}.wp-block-image.wp-block-image.is-selected .components-placeholder .components-placeholder__illustration{display:none}.wp-block-image.wp-block-image .block-bindings-media-placeholder-message,.wp-block-image.wp-block-image.is-selected .components-placeholder:before{opacity:0}.wp-block-image.wp-block-image.is-selected .block-bindings-media-placeholder-message{opacity:1}.wp-block-image.wp-block-image .components-button,.wp-block-image.wp-block-image .components-placeholder__instructions,.wp-block-image.wp-block-image .components-placeholder__label{transition:none}figure.wp-block-image:not(.wp-block){margin:0}.wp-block-image{position:relative}.wp-block-image .is-applying img,.wp-block-image.is-transient img{opacity:.3}.wp-block-image figcaption img{display:inline}.wp-block-image .components-spinner{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.wp-block-image .components-resizable-box__container{display:table}.wp-block-image .components-resizable-box__container img{display:block;height:inherit;width:inherit}.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{left:0;margin:-1px 0;position:absolute;right:0}@media (min-width:600px){.block-editor-block-list__block[data-type="core/image"] .block-editor-block-toolbar .block-editor-url-input__button-modal{margin:-1px}}[data-align=full]>.wp-block-image img,[data-align=wide]>.wp-block-image img{height:auto;width:100%}.wp-block[data-align=center]>.wp-block-image,.wp-block[data-align=left]>.wp-block-image,.wp-block[data-align=right]>.wp-block-image{display:table}.wp-block[data-align=center]>.wp-block-image>figcaption,.wp-block[data-align=left]>.wp-block-image>figcaption,.wp-block[data-align=right]>.wp-block-image>figcaption{caption-side:bottom;display:table-caption}.wp-block[data-align=left]>.wp-block-image{margin:.5em 1em .5em 0}.wp-block[data-align=right]>.wp-block-image{margin:.5em 0 .5em 1em}.wp-block[data-align=center]>.wp-block-image{margin-left:auto;margin-right:auto;text-align:center}.wp-block-image__crop-area{max-width:100%;overflow:hidden;position:relative;width:100%}.wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image{border:none;border-radius:0}.wp-block-image__crop-icon{align-items:center;display:flex;justify-content:center;min-width:48px;padding:0 8px}.wp-block-image__crop-icon svg{fill:currentColor}.wp-block-image__zoom .components-popover__content{min-width:260px;overflow:visible!important}.wp-block-image__aspect-ratio{align-items:center;display:flex;height:46px;margin-bottom:-8px}.wp-block-image__aspect-ratio .components-button{padding-left:0;padding-right:0;width:36px}.wp-block-image__toolbar_content_textarea{width:250px}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/style-rtl.css b/wp-includes/blocks/image/style-rtl.css
index 363e38a35..82b0717dd 100644
--- a/wp-includes/blocks/image/style-rtl.css
+++ b/wp-includes/blocks/image/style-rtl.css
@@ -107,7 +107,7 @@
align-items:center;
-webkit-backdrop-filter:blur(16px) saturate(180%);
backdrop-filter:blur(16px) saturate(180%);
- background-color:rgba(90,90,90,.25);
+ background-color:#5a5a5a40;
border:none;
border-radius:4px;
cursor:zoom-in;
@@ -125,7 +125,7 @@
z-index:100;
}
.wp-lightbox-container button:focus-visible{
- outline:3px auto rgba(90,90,90,.25);
+ outline:3px auto #5a5a5a40;
outline:3px auto -webkit-focus-ring-color;
outline-offset:3px;
}
@@ -137,7 +137,7 @@
opacity:1;
}
.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){
- background-color:rgba(90,90,90,.25);
+ background-color:#5a5a5a40;
border:none;
}
@@ -150,7 +150,7 @@
right:0;
top:0;
visibility:hidden;
- width:100vw;
+ width:100%;
z-index:100000;
}
.wp-lightbox-overlay .close-button{
@@ -221,10 +221,10 @@
.wp-lightbox-overlay.active img{
animation:turn-on-visibility .35s both;
}
-.wp-lightbox-overlay.hideanimationenabled:not(.active){
+.wp-lightbox-overlay.show-closing-animation:not(.active){
animation:turn-off-visibility .35s both;
}
-.wp-lightbox-overlay.hideanimationenabled:not(.active) img{
+.wp-lightbox-overlay.show-closing-animation:not(.active) img{
animation:turn-off-visibility .25s both;
}
@media (prefers-reduced-motion:no-preference){
@@ -242,16 +242,16 @@
.wp-lightbox-overlay.zoom.active .scrim{
animation:turn-on-visibility .4s forwards;
}
- .wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){
+ .wp-lightbox-overlay.zoom.show-closing-animation:not(.active){
animation:none;
}
- .wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{
+ .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{
animation:lightbox-zoom-out .4s;
}
- .wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{
+ .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{
animation:none;
}
- .wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{
+ .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{
animation:turn-off-visibility .4s forwards;
}
}
@@ -280,7 +280,7 @@
}
@keyframes lightbox-zoom-in{
0%{
- transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
+ transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
}
to{
transform:translate(50%, -50%) scale(1);
@@ -295,7 +295,7 @@
visibility:visible;
}
to{
- transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
+ transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
visibility:hidden;
}
}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/style-rtl.min.css b/wp-includes/blocks/image/style-rtl.min.css
index 25bf896da..6246874d6 100644
--- a/wp-includes/blocks/image/style-rtl.min.css
+++ b/wp-includes/blocks/image/style-rtl.min.css
@@ -1 +1 @@
-.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,
');mask-image:url('data:image/svg+xml;utf8,
');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-right-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-right-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;left:16px;opacity:0;padding:0;position:absolute;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden;width:100vw;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;left:calc(env(safe-area-inset-left) + 16px);min-height:40px;min-width:40px;padding:0;position:absolute;top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);overflow:hidden;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);transform-origin:top right;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:100% 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-50vw + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}
\ No newline at end of file
+.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,
');mask-image:url('data:image/svg+xml;utf8,
');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-right-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-left-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-right-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:#5a5a5a40;border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;left:16px;opacity:0;padding:0;position:absolute;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto #5a5a5a40;outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:#5a5a5a40;border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;left:calc(env(safe-area-inset-left) + 16px);min-height:40px;min-width:40px;padding:0;position:absolute;top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);overflow:hidden;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);transform-origin:top right;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:100% 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc(((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position))*-1),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/style.css b/wp-includes/blocks/image/style.css
index d06a8687a..526ae273e 100644
--- a/wp-includes/blocks/image/style.css
+++ b/wp-includes/blocks/image/style.css
@@ -107,7 +107,7 @@
align-items:center;
-webkit-backdrop-filter:blur(16px) saturate(180%);
backdrop-filter:blur(16px) saturate(180%);
- background-color:rgba(90,90,90,.25);
+ background-color:#5a5a5a40;
border:none;
border-radius:4px;
cursor:zoom-in;
@@ -125,7 +125,7 @@
z-index:100;
}
.wp-lightbox-container button:focus-visible{
- outline:3px auto rgba(90,90,90,.25);
+ outline:3px auto #5a5a5a40;
outline:3px auto -webkit-focus-ring-color;
outline-offset:3px;
}
@@ -137,7 +137,7 @@
opacity:1;
}
.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){
- background-color:rgba(90,90,90,.25);
+ background-color:#5a5a5a40;
border:none;
}
@@ -150,7 +150,7 @@
position:fixed;
top:0;
visibility:hidden;
- width:100vw;
+ width:100%;
z-index:100000;
}
.wp-lightbox-overlay .close-button{
@@ -221,10 +221,10 @@
.wp-lightbox-overlay.active img{
animation:turn-on-visibility .35s both;
}
-.wp-lightbox-overlay.hideanimationenabled:not(.active){
+.wp-lightbox-overlay.show-closing-animation:not(.active){
animation:turn-off-visibility .35s both;
}
-.wp-lightbox-overlay.hideanimationenabled:not(.active) img{
+.wp-lightbox-overlay.show-closing-animation:not(.active) img{
animation:turn-off-visibility .25s both;
}
@media (prefers-reduced-motion:no-preference){
@@ -242,16 +242,16 @@
.wp-lightbox-overlay.zoom.active .scrim{
animation:turn-on-visibility .4s forwards;
}
- .wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){
+ .wp-lightbox-overlay.zoom.show-closing-animation:not(.active){
animation:none;
}
- .wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{
+ .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{
animation:lightbox-zoom-out .4s;
}
- .wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{
+ .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{
animation:none;
}
- .wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{
+ .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{
animation:turn-off-visibility .4s forwards;
}
}
@@ -280,7 +280,7 @@
}
@keyframes lightbox-zoom-in{
0%{
- transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
+ transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
}
to{
transform:translate(-50%, -50%) scale(1);
@@ -295,7 +295,7 @@
visibility:visible;
}
to{
- transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
+ transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
visibility:hidden;
}
}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/style.min.css b/wp-includes/blocks/image/style.min.css
index 0ee2855c0..fce742c8b 100644
--- a/wp-includes/blocks/image/style.min.css
+++ b/wp-includes/blocks/image/style.min.css
@@ -1 +1 @@
-.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,
');mask-image:url('data:image/svg+xml;utf8,
');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-left-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-left-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100vw;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.hideanimationenabled:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active){animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.hideanimationenabled:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc(-50vw + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}
\ No newline at end of file
+.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image figcaption{margin-bottom:1em;margin-top:.5em}.wp-block-image .is-style-rounded img,.wp-block-image.is-style-circle-mask img,.wp-block-image.is-style-rounded img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,
');mask-image:url('data:image/svg+xml;utf8,
');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-left-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-left-style:solid}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background-color:#5a5a5a40;border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;transition:opacity .2s ease;width:20px;z-index:100}.wp-lightbox-container button:focus-visible{outline:3px auto #5a5a5a40;outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:#5a5a5a40;border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .close-button{align-items:center;cursor:pointer;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .close-button:focus,.wp-lightbox-overlay .close-button:hover,.wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:9999999999}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both;visibility:visible}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}@media (prefers-reduced-motion:no-preference){.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/theme-rtl.css b/wp-includes/blocks/image/theme-rtl.css
index 4d1a8391a..07819c7fb 100644
--- a/wp-includes/blocks/image/theme-rtl.css
+++ b/wp-includes/blocks/image/theme-rtl.css
@@ -4,7 +4,7 @@
text-align:center;
}
.is-dark-theme .wp-block-image figcaption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
.wp-block-image{
diff --git a/wp-includes/blocks/image/theme-rtl.min.css b/wp-includes/blocks/image/theme-rtl.min.css
index 52ef8043e..4f11dcb33 100644
--- a/wp-includes/blocks/image/theme-rtl.min.css
+++ b/wp-includes/blocks/image/theme-rtl.min.css
@@ -1 +1 @@
-.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-image{margin:0 0 1em}
\ No newline at end of file
+.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:#ffffffa6}.wp-block-image{margin:0 0 1em}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/theme.css b/wp-includes/blocks/image/theme.css
index 4d1a8391a..07819c7fb 100644
--- a/wp-includes/blocks/image/theme.css
+++ b/wp-includes/blocks/image/theme.css
@@ -4,7 +4,7 @@
text-align:center;
}
.is-dark-theme .wp-block-image figcaption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
.wp-block-image{
diff --git a/wp-includes/blocks/image/theme.min.css b/wp-includes/blocks/image/theme.min.css
index 52ef8043e..4f11dcb33 100644
--- a/wp-includes/blocks/image/theme.min.css
+++ b/wp-includes/blocks/image/theme.min.css
@@ -1 +1 @@
-.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-image{margin:0 0 1em}
\ No newline at end of file
+.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:#ffffffa6}.wp-block-image{margin:0 0 1em}
\ No newline at end of file
diff --git a/wp-includes/blocks/image/view.asset.php b/wp-includes/blocks/image/view.asset.php
index a646d3688..58058b140 100644
--- a/wp-includes/blocks/image/view.asset.php
+++ b/wp-includes/blocks/image/view.asset.php
@@ -1 +1 @@
- array(), 'version' => '749bd8d7dd37390bdeea');
+ array(), 'version' => '7500eb032759d407a71d');
diff --git a/wp-includes/blocks/image/view.js b/wp-includes/blocks/image/view.js
index 4d022ef3d..88b4815cc 100644
--- a/wp-includes/blocks/image/view.js
+++ b/wp-includes/blocks/image/view.js
@@ -1,533 +1,422 @@
-"use strict";
-(self["__WordPressPrivateInteractivityAPI__"] = self["__WordPressPrivateInteractivityAPI__"] || []).push([[354],{
+import * as __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__ from "@wordpress/interactivity";
+/******/ // The require scope
+/******/ var __webpack_require__ = {};
+/******/
+/************************************************************************/
+/******/ /* webpack/runtime/define property getters */
+/******/ (() => {
+/******/ // define getter functions for harmony exports
+/******/ __webpack_require__.d = (exports, definition) => {
+/******/ for(var key in definition) {
+/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/ }
+/******/ }
+/******/ };
+/******/ })();
+/******/
+/******/ /* webpack/runtime/hasOwnProperty shorthand */
+/******/ (() => {
+/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
+/******/ })();
+/******/
+/************************************************************************/
+var __webpack_exports__ = {};
-/***/ 699:
-/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
-
-/* harmony import */ var _wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(754);
+;// CONCATENATED MODULE: external "@wordpress/interactivity"
+var x = (y) => {
+ var x = {}; __webpack_require__.d(x, y); return x
+}
+var y = (x) => (() => (x))
+const interactivity_namespaceObject = x({ ["getContext"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getContext), ["getElement"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getElement), ["store"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.store) });
+;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/view.js
/**
* WordPress dependencies
*/
-const focusableSelectors = ['a[href]', 'area[href]', 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])', 'select:not([disabled]):not([aria-hidden])', 'textarea:not([disabled]):not([aria-hidden])', 'button:not([disabled]):not([aria-hidden])', 'iframe', 'object', 'embed', '[contenteditable]', '[tabindex]:not([tabindex^="-"])'];
-
-/*
- * Stores a context-bound scroll handler.
- *
- * This callback could be defined inline inside of the store
- * object but it's created externally to avoid confusion about
- * how its logic is called. This logic is not referenced directly
- * by the directives in the markup because the scroll event we
- * need to listen to is triggered on the window; so by defining it
- * outside of the store, we signal that the behavior here is different.
- * If we find a compelling reason to move it to the store, feel free.
- *
- * @type {Function}
- */
-let scrollCallback;
-/*
- * Tracks whether user is touching screen; used to
- * differentiate behavior for touch and mouse input.
+/**
+ * Tracks whether user is touching screen; used to differentiate behavior for
+ * touch and mouse input.
*
* @type {boolean}
*/
let isTouching = false;
-/*
- * Tracks the last time the screen was touched; used to
- * differentiate behavior for touch and mouse input.
+/**
+ * Tracks the last time the screen was touched; used to differentiate behavior
+ * for touch and mouse input.
*
* @type {number}
*/
let lastTouchTime = 0;
-/*
- * Lightbox page-scroll handler: prevents scrolling.
- *
- * This handler is added to prevent scrolling behaviors that
- * trigger content shift while the lightbox is open.
+/**
+ * Stores the image reference of the currently opened lightbox.
*
- * It would be better to accomplish this through CSS alone, but
- * using overflow: hidden is currently the only way to do so, and
- * that causes the layout to shift and prevents the zoom animation
- * from working in some cases because we're unable to account for
- * the layout shift when doing the animation calculations. Instead,
- * here we use JavaScript to prevent and reset the scrolling
- * behavior. In the future, we may be able to use CSS or overflow: hidden
- * instead to not rely on JavaScript, but this seems to be the best approach
- * for now that provides the best visual experience.
+ * @type {HTMLElement}
+ */
+let imageRef;
+
+/**
+ * Stores the button reference of the currently opened lightbox.
*
- * @param {Object} context Interactivity page context?
+ * @type {HTMLElement}
*/
-function handleScroll(context) {
- // We can't override the scroll behavior on mobile devices
- // because doing so breaks the pinch to zoom functionality, and we
- // want to allow users to zoom in further on the high-res image.
- if (!isTouching && Date.now() - lastTouchTime > 450) {
- // We are unable to use event.preventDefault() to prevent scrolling
- // because the scroll event can't be canceled, so we reset the position instead.
- window.scrollTo(context.core.image.scrollLeftReset, context.core.image.scrollTopReset);
- }
-}
-(0,_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__/* .store */ .h)({
+let buttonRef;
+const {
+ state,
+ actions,
+ callbacks
+} = (0,interactivity_namespaceObject.store)('core/image', {
state: {
- core: {
- image: {
- windowWidth: window.innerWidth,
- windowHeight: window.innerHeight
- }
+ currentImage: {},
+ get overlayOpened() {
+ return state.currentImage.currentSrc;
+ },
+ get roleAttribute() {
+ return state.overlayOpened ? 'dialog' : null;
+ },
+ get ariaModal() {
+ return state.overlayOpened ? 'true' : null;
+ },
+ get enlargedSrc() {
+ return state.currentImage.uploadedSrc || 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';
+ },
+ get imgStyles() {
+ return state.overlayOpened && `${state.currentImage.imgStyles?.replace(/;$/, '')}; object-fit:cover;`;
}
},
actions: {
- core: {
- image: {
- showLightbox: ({
- context,
- event
- }) => {
- // We can't initialize the lightbox until the reference
- // image is loaded, otherwise the UX is broken.
- if (!context.core.image.imageLoaded) {
- return;
- }
- context.core.image.initialized = true;
- context.core.image.lastFocusedElement = window.document.activeElement;
- context.core.image.scrollDelta = 0;
- context.core.image.pointerType = event.pointerType;
- context.core.image.lightboxEnabled = true;
- setStyles(context, context.core.image.imageRef);
- context.core.image.scrollTopReset = window.pageYOffset || document.documentElement.scrollTop;
+ showLightbox() {
+ const ctx = (0,interactivity_namespaceObject.getContext)();
+
+ // Bails out if the image has not loaded yet.
+ if (!ctx.imageRef?.complete) {
+ return;
+ }
- // In most cases, this value will be 0, but this is included
- // in case a user has created a page with horizontal scrolling.
- context.core.image.scrollLeftReset = window.pageXOffset || document.documentElement.scrollLeft;
+ // Stores the positons of the scroll to fix it until the overlay is
+ // closed.
+ state.scrollTopReset = document.documentElement.scrollTop;
+ state.scrollLeftReset = document.documentElement.scrollLeft;
- // We define and bind the scroll callback here so
- // that we can pass the context and as an argument.
- // We may be able to change this in the future if we
- // define the scroll callback in the store instead, but
- // this approach seems to tbe clearest for now.
- scrollCallback = handleScroll.bind(null, context);
+ // Moves the information of the expaned image to the state.
+ ctx.currentSrc = ctx.imageRef.currentSrc;
+ imageRef = ctx.imageRef;
+ buttonRef = ctx.buttonRef;
+ state.currentImage = ctx;
+ state.overlayEnabled = true;
- // We need to add a scroll event listener to the window
- // here because we are unable to otherwise access it via
- // the Interactivity API directives. If we add a native way
- // to access the window, we can remove this.
- window.addEventListener('scroll', scrollCallback, false);
- },
- hideLightbox: async ({
- context
- }) => {
- context.core.image.hideAnimationEnabled = true;
- if (context.core.image.lightboxEnabled) {
- // We want to wait until the close animation is completed
- // before allowing a user to scroll again. The duration of this
- // animation is defined in the styles.scss and depends on if the
- // animation is 'zoom' or 'fade', but in any case we should wait
- // a few milliseconds longer than the duration, otherwise a user
- // may scroll too soon and cause the animation to look sloppy.
- setTimeout(function () {
- window.removeEventListener('scroll', scrollCallback);
- // If we don't delay before changing the focus,
- // the focus ring will appear on Firefox before
- // the image has finished animating, which looks broken.
- context.core.image.lightboxTriggerRef.focus({
- preventScroll: true
- });
- }, 450);
- context.core.image.lightboxEnabled = false;
- }
- },
- handleKeydown: ({
- context,
- actions,
- event
- }) => {
- if (context.core.image.lightboxEnabled) {
- if (event.key === 'Tab' || event.keyCode === 9) {
- // If shift + tab it change the direction
- if (event.shiftKey && window.document.activeElement === context.core.image.firstFocusableElement) {
- event.preventDefault();
- context.core.image.lastFocusableElement.focus();
- } else if (!event.shiftKey && window.document.activeElement === context.core.image.lastFocusableElement) {
- event.preventDefault();
- context.core.image.firstFocusableElement.focus();
- }
- }
- if (event.key === 'Escape' || event.keyCode === 27) {
- actions.core.image.hideLightbox({
- context,
- event
- });
- }
- }
- },
- // This is fired just by lazily loaded
- // images on the page, not all images.
- handleLoad: ({
- context,
- effects,
- ref
- }) => {
- context.core.image.imageLoaded = true;
- context.core.image.imageCurrentSrc = ref.currentSrc;
- effects.core.image.setButtonStyles({
- context,
- ref
+ // Computes the styles of the overlay for the animation.
+ callbacks.setOverlayStyles();
+ },
+ hideLightbox() {
+ if (state.overlayEnabled) {
+ // Waits until the close animation has completed before allowing a
+ // user to scroll again. The duration of this animation is defined in
+ // the `styles.scss` file, but in any case we should wait a few
+ // milliseconds longer than the duration, otherwise a user may scroll
+ // too soon and cause the animation to look sloppy.
+ setTimeout(function () {
+ // Delays before changing the focus. Otherwise the focus ring will
+ // appear on Firefox before the image has finished animating, which
+ // looks broken.
+ buttonRef.focus({
+ preventScroll: true
});
- },
- handleTouchStart: () => {
- isTouching = true;
- },
- handleTouchMove: ({
- context,
- event
- }) => {
- // On mobile devices, we want to prevent triggering the
- // scroll event because otherwise the page jumps around as
- // we reset the scroll position. This also means that closing
- // the lightbox requires that a user perform a simple tap. This
- // may be changed in the future if we find a better alternative
- // to override or reset the scroll position during swipe actions.
- if (context.core.image.lightboxEnabled) {
- event.preventDefault();
- }
- },
- handleTouchEnd: () => {
- // We need to wait a few milliseconds before resetting
- // to ensure that pinch to zoom works consistently
- // on mobile devices when the lightbox is open.
- lastTouchTime = Date.now();
- isTouching = false;
+
+ // Resets the current image to mark the overlay as closed.
+ state.currentImage = {};
+ imageRef = null;
+ buttonRef = null;
+ }, 450);
+
+ // Starts the overlay closing animation. The showClosingAnimation
+ // class is used to avoid showing it on page load.
+ state.showClosingAnimation = true;
+ state.overlayEnabled = false;
+ }
+ },
+ handleKeydown(event) {
+ if (state.overlayEnabled) {
+ // Focuses the close button when the user presses the tab key.
+ if (event.key === 'Tab') {
+ event.preventDefault();
+ const {
+ ref
+ } = (0,interactivity_namespaceObject.getElement)();
+ ref.querySelector('button').focus();
+ }
+ // Closes the lightbox when the user presses the escape key.
+ if (event.key === 'Escape') {
+ actions.hideLightbox();
}
}
- }
- },
- selectors: {
- core: {
- image: {
- roleAttribute: ({
- context
- }) => {
- return context.core.image.lightboxEnabled ? 'dialog' : null;
- },
- ariaModal: ({
- context
- }) => {
- return context.core.image.lightboxEnabled ? 'true' : null;
- },
- dialogLabel: ({
- context
- }) => {
- return context.core.image.lightboxEnabled ? context.core.image.dialogLabel : null;
- },
- lightboxObjectFit: ({
- context
- }) => {
- if (context.core.image.initialized) {
- return 'cover';
- }
- },
- enlargedImgSrc: ({
- context
- }) => {
- return context.core.image.initialized ? context.core.image.imageUploadedSrc : 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';
+ },
+ handleTouchMove(event) {
+ // On mobile devices, prevents triggering the scroll event because
+ // otherwise the page jumps around when it resets the scroll position.
+ // This also means that closing the lightbox requires that a user
+ // perform a simple tap. This may be changed in the future if there is a
+ // better alternative to override or reset the scroll position during
+ // swipe actions.
+ if (state.overlayEnabled) {
+ event.preventDefault();
+ }
+ },
+ handleTouchStart() {
+ isTouching = true;
+ },
+ handleTouchEnd() {
+ // Waits a few milliseconds before resetting to ensure that pinch to
+ // zoom works consistently on mobile devices when the lightbox is open.
+ lastTouchTime = Date.now();
+ isTouching = false;
+ },
+ handleScroll() {
+ // Prevents scrolling behaviors that trigger content shift while the
+ // lightbox is open. It would be better to accomplish through CSS alone,
+ // but using overflow: hidden is currently the only way to do so and
+ // that causes a layout to shift and prevents the zoom animation from
+ // working in some cases because it's not possible to account for the
+ // layout shift when doing the animation calculations. Instead, it uses
+ // JavaScript to prevent and reset the scrolling behavior.
+ if (state.overlayOpened) {
+ // Avoids overriding the scroll behavior on mobile devices because
+ // doing so breaks the pinch to zoom functionality, and users should
+ // be able to zoom in further on the high-res image.
+ if (!isTouching && Date.now() - lastTouchTime > 450) {
+ // It doesn't rely on `event.preventDefault()` to prevent scrolling
+ // because the scroll event can't be canceled, so it resets the
+ // position instead.
+ window.scrollTo(state.scrollLeftReset, state.scrollTopReset);
}
}
}
},
- effects: {
- core: {
- image: {
- initOriginImage: ({
- context,
- ref
- }) => {
- context.core.image.imageRef = ref;
- context.core.image.lightboxTriggerRef = ref.parentElement.querySelector('.lightbox-trigger');
- if (ref.complete) {
- context.core.image.imageLoaded = true;
- context.core.image.imageCurrentSrc = ref.currentSrc;
- }
- },
- initLightbox: async ({
- context,
- ref
- }) => {
- if (context.core.image.lightboxEnabled) {
- const focusableElements = ref.querySelectorAll(focusableSelectors);
- context.core.image.firstFocusableElement = focusableElements[0];
- context.core.image.lastFocusableElement = focusableElements[focusableElements.length - 1];
+ callbacks: {
+ setOverlayStyles() {
+ if (!imageRef) return;
+ let {
+ naturalWidth,
+ naturalHeight,
+ offsetWidth: originalWidth,
+ offsetHeight: originalHeight
+ } = imageRef;
+ let {
+ x: screenPosX,
+ y: screenPosY
+ } = imageRef.getBoundingClientRect();
- // Move focus to the dialog when opening it.
- ref.focus();
- }
- },
- setButtonStyles: ({
- context,
- ref
- }) => {
- const {
- naturalWidth,
- naturalHeight,
- offsetWidth,
- offsetHeight
- } = ref;
+ // Natural ratio of the image clicked to open the lightbox.
+ const naturalRatio = naturalWidth / naturalHeight;
+ // Original ratio of the image clicked to open the lightbox.
+ let originalRatio = originalWidth / originalHeight;
- // If the image isn't loaded yet, we can't
- // calculate where the button should be.
- if (naturalWidth === 0 || naturalHeight === 0) {
- return;
- }
- const figure = ref.parentElement;
- const figureWidth = ref.parentElement.clientWidth;
+ // If it has object-fit: contain, recalculates the original sizes
+ // and the screen position without the blank spaces.
+ if (state.currentImage.scaleAttr === 'contain') {
+ if (naturalRatio > originalRatio) {
+ const heightWithoutSpace = originalWidth / naturalRatio;
+ // Recalculates screen position without the top space.
+ screenPosY += (originalHeight - heightWithoutSpace) / 2;
+ originalHeight = heightWithoutSpace;
+ } else {
+ const widthWithoutSpace = originalHeight * naturalRatio;
+ // Recalculates screen position without the left space.
+ screenPosX += (originalWidth - widthWithoutSpace) / 2;
+ originalWidth = widthWithoutSpace;
+ }
+ }
+ originalRatio = originalWidth / originalHeight;
- // We need special handling for the height because
- // a caption will cause the figure to be taller than
- // the image, which means we need to account for that
- // when calculating the placement of the button in the
- // top right corner of the image.
- let figureHeight = ref.parentElement.clientHeight;
- const caption = figure.querySelector('figcaption');
- if (caption) {
- const captionComputedStyle = window.getComputedStyle(caption);
- figureHeight = figureHeight - caption.offsetHeight - parseFloat(captionComputedStyle.marginTop) - parseFloat(captionComputedStyle.marginBottom);
- }
- const buttonOffsetTop = figureHeight - offsetHeight;
- const buttonOffsetRight = figureWidth - offsetWidth;
+ // Typically, it uses the image's full-sized dimensions. If those
+ // dimensions have not been set (i.e. an external image with only one
+ // size), the image's dimensions in the lightbox are the same
+ // as those of the image in the content.
+ let imgMaxWidth = parseFloat(state.currentImage.targetWidth !== 'none' ? state.currentImage.targetWidth : naturalWidth);
+ let imgMaxHeight = parseFloat(state.currentImage.targetHeight !== 'none' ? state.currentImage.targetHeight : naturalHeight);
- // In the case of an image with object-fit: contain, the
- // size of the
element can be larger than the image itself,
- // so we need to calculate where to place the button.
- if (context.core.image.scaleAttr === 'contain') {
- // Natural ratio of the image.
- const naturalRatio = naturalWidth / naturalHeight;
- // Offset ratio of the image.
- const offsetRatio = offsetWidth / offsetHeight;
- if (naturalRatio >= offsetRatio) {
- // If it reaches the width first, keep
- // the width and compute the height.
- const referenceHeight = offsetWidth / naturalRatio;
- context.core.image.imageButtonTop = (offsetHeight - referenceHeight) / 2 + buttonOffsetTop + 16;
- context.core.image.imageButtonRight = buttonOffsetRight + 16;
- } else {
- // If it reaches the height first, keep
- // the height and compute the width.
- const referenceWidth = offsetHeight * naturalRatio;
- context.core.image.imageButtonTop = buttonOffsetTop + 16;
- context.core.image.imageButtonRight = (offsetWidth - referenceWidth) / 2 + buttonOffsetRight + 16;
- }
+ // Ratio of the biggest image stored in the database.
+ let imgRatio = imgMaxWidth / imgMaxHeight;
+ let containerMaxWidth = imgMaxWidth;
+ let containerMaxHeight = imgMaxHeight;
+ let containerWidth = imgMaxWidth;
+ let containerHeight = imgMaxHeight;
+ // Checks if the target image has a different ratio than the original
+ // one (thumbnail). Recalculates the width and height.
+ if (naturalRatio.toFixed(2) !== imgRatio.toFixed(2)) {
+ if (naturalRatio > imgRatio) {
+ // If the width is reached before the height, it keeps the maxWidth
+ // and recalculates the height unless the difference between the
+ // maxHeight and the reducedHeight is higher than the maxWidth,
+ // where it keeps the reducedHeight and recalculate the width.
+ const reducedHeight = imgMaxWidth / naturalRatio;
+ if (imgMaxHeight - reducedHeight > imgMaxWidth) {
+ imgMaxHeight = reducedHeight;
+ imgMaxWidth = reducedHeight * naturalRatio;
} else {
- context.core.image.imageButtonTop = buttonOffsetTop + 16;
- context.core.image.imageButtonRight = buttonOffsetRight + 16;
+ imgMaxHeight = imgMaxWidth / naturalRatio;
}
- },
- setStylesOnResize: ({
- state,
- context,
- ref
- }) => {
- if (context.core.image.lightboxEnabled && (state.core.image.windowWidth || state.core.image.windowHeight)) {
- setStyles(context, ref);
+ } else {
+ // If the height is reached before the width, it keeps the maxHeight
+ // and recalculate the width unlesss the difference between the
+ // maxWidth and the reducedWidth is higher than the maxHeight, where
+ // it keeps the reducedWidth and recalculate the height.
+ const reducedWidth = imgMaxHeight * naturalRatio;
+ if (imgMaxWidth - reducedWidth > imgMaxHeight) {
+ imgMaxWidth = reducedWidth;
+ imgMaxHeight = reducedWidth / naturalRatio;
+ } else {
+ imgMaxWidth = imgMaxHeight * naturalRatio;
}
}
- }
- }
- }
-}, {
- afterLoad: ({
- state
- }) => {
- window.addEventListener('resize', debounce(() => {
- state.core.image.windowWidth = window.innerWidth;
- state.core.image.windowHeight = window.innerHeight;
- }));
- }
-});
+ containerWidth = imgMaxWidth;
+ containerHeight = imgMaxHeight;
+ imgRatio = imgMaxWidth / imgMaxHeight;
-/*
- * Computes styles for the lightbox and adds them to the document.
- *
- * @function
- * @param {Object} context - An Interactivity API context
- * @param {Object} event - A triggering event
- */
-function setStyles(context, ref) {
- // The reference img element lies adjacent
- // to the event target button in the DOM.
- let {
- naturalWidth,
- naturalHeight,
- offsetWidth: originalWidth,
- offsetHeight: originalHeight
- } = ref;
- let {
- x: screenPosX,
- y: screenPosY
- } = ref.getBoundingClientRect();
-
- // Natural ratio of the image clicked to open the lightbox.
- const naturalRatio = naturalWidth / naturalHeight;
- // Original ratio of the image clicked to open the lightbox.
- let originalRatio = originalWidth / originalHeight;
-
- // If it has object-fit: contain, recalculate the original sizes
- // and the screen position without the blank spaces.
- if (context.core.image.scaleAttr === 'contain') {
- if (naturalRatio > originalRatio) {
- const heightWithoutSpace = originalWidth / naturalRatio;
- // Recalculate screen position without the top space.
- screenPosY += (originalHeight - heightWithoutSpace) / 2;
- originalHeight = heightWithoutSpace;
- } else {
- const widthWithoutSpace = originalHeight * naturalRatio;
- // Recalculate screen position without the left space.
- screenPosX += (originalWidth - widthWithoutSpace) / 2;
- originalWidth = widthWithoutSpace;
- }
- }
- originalRatio = originalWidth / originalHeight;
+ // Calculates the max size of the container.
+ if (originalRatio > imgRatio) {
+ containerMaxWidth = imgMaxWidth;
+ containerMaxHeight = containerMaxWidth / originalRatio;
+ } else {
+ containerMaxHeight = imgMaxHeight;
+ containerMaxWidth = containerMaxHeight * originalRatio;
+ }
+ }
- // Typically, we use the image's full-sized dimensions. If those
- // dimensions have not been set (i.e. an external image with only one size),
- // the image's dimensions in the lightbox are the same
- // as those of the image in the content.
- let imgMaxWidth = parseFloat(context.core.image.targetWidth !== 'none' ? context.core.image.targetWidth : naturalWidth);
- let imgMaxHeight = parseFloat(context.core.image.targetHeight !== 'none' ? context.core.image.targetHeight : naturalHeight);
+ // If the image has been pixelated on purpose, it keeps that size.
+ if (originalWidth > containerWidth || originalHeight > containerHeight) {
+ containerWidth = originalWidth;
+ containerHeight = originalHeight;
+ }
- // Ratio of the biggest image stored in the database.
- let imgRatio = imgMaxWidth / imgMaxHeight;
- let containerMaxWidth = imgMaxWidth;
- let containerMaxHeight = imgMaxHeight;
- let containerWidth = imgMaxWidth;
- let containerHeight = imgMaxHeight;
- // Check if the target image has a different ratio than the original one (thumbnail).
- // Recalculate the width and height.
- if (naturalRatio.toFixed(2) !== imgRatio.toFixed(2)) {
- if (naturalRatio > imgRatio) {
- // If the width is reached before the height, we keep the maxWidth
- // and recalculate the height.
- // Unless the difference between the maxHeight and the reducedHeight
- // is higher than the maxWidth, where we keep the reducedHeight and
- // recalculate the width.
- const reducedHeight = imgMaxWidth / naturalRatio;
- if (imgMaxHeight - reducedHeight > imgMaxWidth) {
- imgMaxHeight = reducedHeight;
- imgMaxWidth = reducedHeight * naturalRatio;
- } else {
- imgMaxHeight = imgMaxWidth / naturalRatio;
+ // Calculates the final lightbox image size and the scale factor.
+ // MaxWidth is either the window container (accounting for padding) or
+ // the image resolution.
+ let horizontalPadding = 0;
+ if (window.innerWidth > 480) {
+ horizontalPadding = 80;
+ } else if (window.innerWidth > 1920) {
+ horizontalPadding = 160;
}
- } else {
- // If the height is reached before the width, we keep the maxHeight
- // and recalculate the width.
- // Unless the difference between the maxWidth and the reducedWidth
- // is higher than the maxHeight, where we keep the reducedWidth and
- // recalculate the height.
- const reducedWidth = imgMaxHeight * naturalRatio;
- if (imgMaxWidth - reducedWidth > imgMaxHeight) {
- imgMaxWidth = reducedWidth;
- imgMaxHeight = reducedWidth / naturalRatio;
+ const verticalPadding = 80;
+ const targetMaxWidth = Math.min(window.innerWidth - horizontalPadding, containerWidth);
+ const targetMaxHeight = Math.min(window.innerHeight - verticalPadding, containerHeight);
+ const targetContainerRatio = targetMaxWidth / targetMaxHeight;
+ if (originalRatio > targetContainerRatio) {
+ // If targetMaxWidth is reached before targetMaxHeight.
+ containerWidth = targetMaxWidth;
+ containerHeight = containerWidth / originalRatio;
} else {
- imgMaxWidth = imgMaxHeight * naturalRatio;
+ // If targetMaxHeight is reached before targetMaxWidth.
+ containerHeight = targetMaxHeight;
+ containerWidth = containerHeight * originalRatio;
}
- }
- containerWidth = imgMaxWidth;
- containerHeight = imgMaxHeight;
- imgRatio = imgMaxWidth / imgMaxHeight;
+ const containerScale = originalWidth / containerWidth;
+ const lightboxImgWidth = imgMaxWidth * (containerWidth / containerMaxWidth);
+ const lightboxImgHeight = imgMaxHeight * (containerHeight / containerMaxHeight);
- // Calculate the max size of the container.
- if (originalRatio > imgRatio) {
- containerMaxWidth = imgMaxWidth;
- containerMaxHeight = containerMaxWidth / originalRatio;
- } else {
- containerMaxHeight = imgMaxHeight;
- containerMaxWidth = containerMaxHeight * originalRatio;
- }
- }
+ // As of this writing, using the calculations above will render the
+ // lightbox with a small, erroneous whitespace on the left side of the
+ // image in iOS Safari, perhaps due to an inconsistency in how browsers
+ // handle absolute positioning and CSS transformation. In any case,
+ // adding 1 pixel to the container width and height solves the problem,
+ // though this can be removed if the issue is fixed in the future.
+ state.overlayStyles = `
+ :root {
+ --wp--lightbox-initial-top-position: ${screenPosY}px;
+ --wp--lightbox-initial-left-position: ${screenPosX}px;
+ --wp--lightbox-container-width: ${containerWidth + 1}px;
+ --wp--lightbox-container-height: ${containerHeight + 1}px;
+ --wp--lightbox-image-width: ${lightboxImgWidth}px;
+ --wp--lightbox-image-height: ${lightboxImgHeight}px;
+ --wp--lightbox-scale: ${containerScale};
+ --wp--lightbox-scrollbar-width: ${window.innerWidth - document.documentElement.clientWidth}px;
+ }
+ `;
+ },
+ setButtonStyles() {
+ const ctx = (0,interactivity_namespaceObject.getContext)();
+ const {
+ ref
+ } = (0,interactivity_namespaceObject.getElement)();
+ ctx.imageRef = ref;
+ const {
+ naturalWidth,
+ naturalHeight,
+ offsetWidth,
+ offsetHeight
+ } = ref;
- // If the image has been pixelated on purpose, keep that size.
- if (originalWidth > containerWidth || originalHeight > containerHeight) {
- containerWidth = originalWidth;
- containerHeight = originalHeight;
- }
+ // If the image isn't loaded yet, it can't calculate where the button
+ // should be.
+ if (naturalWidth === 0 || naturalHeight === 0) {
+ return;
+ }
+ const figure = ref.parentElement;
+ const figureWidth = ref.parentElement.clientWidth;
- // Calculate the final lightbox image size and the
- // scale factor. MaxWidth is either the window container
- // (accounting for padding) or the image resolution.
- let horizontalPadding = 0;
- if (window.innerWidth > 480) {
- horizontalPadding = 80;
- } else if (window.innerWidth > 1920) {
- horizontalPadding = 160;
- }
- const verticalPadding = 80;
- const targetMaxWidth = Math.min(window.innerWidth - horizontalPadding, containerWidth);
- const targetMaxHeight = Math.min(window.innerHeight - verticalPadding, containerHeight);
- const targetContainerRatio = targetMaxWidth / targetMaxHeight;
- if (originalRatio > targetContainerRatio) {
- // If targetMaxWidth is reached before targetMaxHeight
- containerWidth = targetMaxWidth;
- containerHeight = containerWidth / originalRatio;
- } else {
- // If targetMaxHeight is reached before targetMaxWidth
- containerHeight = targetMaxHeight;
- containerWidth = containerHeight * originalRatio;
- }
- const containerScale = originalWidth / containerWidth;
- const lightboxImgWidth = imgMaxWidth * (containerWidth / containerMaxWidth);
- const lightboxImgHeight = imgMaxHeight * (containerHeight / containerMaxHeight);
+ // It needs special handling for the height because a caption will cause
+ // the figure to be taller than the image, which means it needs to
+ // account for that when calculating the placement of the button in the
+ // top right corner of the image.
+ let figureHeight = ref.parentElement.clientHeight;
+ const caption = figure.querySelector('figcaption');
+ if (caption) {
+ const captionComputedStyle = window.getComputedStyle(caption);
+ if (!['absolute', 'fixed'].includes(captionComputedStyle.position)) {
+ figureHeight = figureHeight - caption.offsetHeight - parseFloat(captionComputedStyle.marginTop) - parseFloat(captionComputedStyle.marginBottom);
+ }
+ }
+ const buttonOffsetTop = figureHeight - offsetHeight;
+ const buttonOffsetRight = figureWidth - offsetWidth;
- // Add the CSS variables needed.
- let styleTag = document.getElementById('wp-lightbox-styles');
- if (!styleTag) {
- styleTag = document.createElement('style');
- styleTag.id = 'wp-lightbox-styles';
- document.head.appendChild(styleTag);
+ // In the case of an image with object-fit: contain, the size of the
+ //
element can be larger than the image itself, so it needs to
+ // calculate where to place the button.
+ if (ctx.scaleAttr === 'contain') {
+ // Natural ratio of the image.
+ const naturalRatio = naturalWidth / naturalHeight;
+ // Offset ratio of the image.
+ const offsetRatio = offsetWidth / offsetHeight;
+ if (naturalRatio >= offsetRatio) {
+ // If it reaches the width first, it keeps the width and compute the
+ // height.
+ const referenceHeight = offsetWidth / naturalRatio;
+ ctx.imageButtonTop = (offsetHeight - referenceHeight) / 2 + buttonOffsetTop + 16;
+ ctx.imageButtonRight = buttonOffsetRight + 16;
+ } else {
+ // If it reaches the height first, it keeps the height and compute
+ // the width.
+ const referenceWidth = offsetHeight * naturalRatio;
+ ctx.imageButtonTop = buttonOffsetTop + 16;
+ ctx.imageButtonRight = (offsetWidth - referenceWidth) / 2 + buttonOffsetRight + 16;
+ }
+ } else {
+ ctx.imageButtonTop = buttonOffsetTop + 16;
+ ctx.imageButtonRight = buttonOffsetRight + 16;
+ }
+ },
+ setOverlayFocus() {
+ if (state.overlayEnabled) {
+ // Moves the focus to the dialog when it opens.
+ const {
+ ref
+ } = (0,interactivity_namespaceObject.getElement)();
+ ref.focus();
+ }
+ },
+ initTriggerButton() {
+ const ctx = (0,interactivity_namespaceObject.getContext)();
+ const {
+ ref
+ } = (0,interactivity_namespaceObject.getElement)();
+ ctx.buttonRef = ref;
+ }
}
+}, {
+ lock: true
+});
- // As of this writing, using the calculations above will render the lightbox
- // with a small, erroneous whitespace on the left side of the image in iOS Safari,
- // perhaps due to an inconsistency in how browsers handle absolute positioning and CSS
- // transformation. In any case, adding 1 pixel to the container width and height solves
- // the problem, though this can be removed if the issue is fixed in the future.
- styleTag.innerHTML = `
- :root {
- --wp--lightbox-initial-top-position: ${screenPosY}px;
- --wp--lightbox-initial-left-position: ${screenPosX}px;
- --wp--lightbox-container-width: ${containerWidth + 1}px;
- --wp--lightbox-container-height: ${containerHeight + 1}px;
- --wp--lightbox-image-width: ${lightboxImgWidth}px;
- --wp--lightbox-image-height: ${lightboxImgHeight}px;
- --wp--lightbox-scale: ${containerScale};
- }
- `;
-}
-
-/*
- * Debounces a function call.
- *
- * @function
- * @param {Function} func - A function to be called
- * @param {number} wait - The time to wait before calling the function
- */
-function debounce(func, wait = 50) {
- let timeout;
- return () => {
- const later = () => {
- timeout = null;
- func();
- };
- clearTimeout(timeout);
- timeout = setTimeout(later, wait);
- };
-}
-
-/***/ })
-
-},
-/******/ function(__webpack_require__) { // webpackRuntimeModules
-/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
-/******/ var __webpack_exports__ = (__webpack_exec__(699));
-/******/ }
-]);
\ No newline at end of file
diff --git a/wp-includes/blocks/image/view.min.asset.php b/wp-includes/blocks/image/view.min.asset.php
index d1b4a615a..5b46fcb7d 100644
--- a/wp-includes/blocks/image/view.min.asset.php
+++ b/wp-includes/blocks/image/view.min.asset.php
@@ -1 +1 @@
- array(), 'version' => '32caaf5e7c6834efef4c');
+ array(), 'version' => 'ff354d5368d64857fef0');
diff --git a/wp-includes/blocks/image/view.min.js b/wp-includes/blocks/image/view.min.js
index af1d51295..da5239421 100644
--- a/wp-includes/blocks/image/view.min.js
+++ b/wp-includes/blocks/image/view.min.js
@@ -1 +1 @@
-"use strict";(self.__WordPressPrivateInteractivityAPI__=self.__WordPressPrivateInteractivityAPI__||[]).push([[354],{699:function(e,t,i){var o=i(754);const n=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex^="-"])'];let a,r=!1,c=0;function l(e){!r&&Date.now()-c>450&&window.scrollTo(e.core.image.scrollLeftReset,e.core.image.scrollTopReset)}function g(e,t){let{naturalWidth:i,naturalHeight:o,offsetWidth:n,offsetHeight:a}=t,{x:r,y:c}=t.getBoundingClientRect();const l=i/o;let g=n/a;if("contain"===e.core.image.scaleAttr)if(l>g){const e=n/l;c+=(a-e)/2,a=e}else{const e=a*l;r+=(n-e)/2,n=e}g=n/a;let d=parseFloat("none"!==e.core.image.targetWidth?e.core.image.targetWidth:i),m=parseFloat("none"!==e.core.image.targetHeight?e.core.image.targetHeight:o),s=d/m,h=d,u=m,f=d,w=m;if(l.toFixed(2)!==s.toFixed(2)){if(l>s){const e=d/l;m-e>d?(m=e,d=e*l):m=d/l}else{const e=m*l;d-e>m?(d=e,m=e/l):d=m*l}f=d,w=m,s=d/m,g>s?(h=d,u=h/g):(u=m,h=u*g)}(n>f||a>w)&&(f=n,w=a);let b=0;window.innerWidth>480?b=80:window.innerWidth>1920&&(b=160);const x=Math.min(window.innerWidth-b,f),p=Math.min(window.innerHeight-80,w);g>x/p?(f=x,w=f/g):(w=p,f=w*g);const E=n/f,y=d*(f/h),v=m*(w/u);let A=document.getElementById("wp-lightbox-styles");A||(A=document.createElement("style"),A.id="wp-lightbox-styles",document.head.appendChild(A)),A.innerHTML=`\n\t\t:root {\n\t\t\t--wp--lightbox-initial-top-position: ${c}px;\n\t\t\t--wp--lightbox-initial-left-position: ${r}px;\n\t\t\t--wp--lightbox-container-width: ${f+1}px;\n\t\t\t--wp--lightbox-container-height: ${w+1}px;\n\t\t\t--wp--lightbox-image-width: ${y}px;\n\t\t\t--wp--lightbox-image-height: ${v}px;\n\t\t\t--wp--lightbox-scale: ${E};\n\t\t}\n\t`}(0,o.h)({state:{core:{image:{windowWidth:window.innerWidth,windowHeight:window.innerHeight}}},actions:{core:{image:{showLightbox:({context:e,event:t})=>{e.core.image.imageLoaded&&(e.core.image.initialized=!0,e.core.image.lastFocusedElement=window.document.activeElement,e.core.image.scrollDelta=0,e.core.image.pointerType=t.pointerType,e.core.image.lightboxEnabled=!0,g(e,e.core.image.imageRef),e.core.image.scrollTopReset=window.pageYOffset||document.documentElement.scrollTop,e.core.image.scrollLeftReset=window.pageXOffset||document.documentElement.scrollLeft,a=l.bind(null,e),window.addEventListener("scroll",a,!1))},hideLightbox:async({context:e})=>{e.core.image.hideAnimationEnabled=!0,e.core.image.lightboxEnabled&&(setTimeout((function(){window.removeEventListener("scroll",a),e.core.image.lightboxTriggerRef.focus({preventScroll:!0})}),450),e.core.image.lightboxEnabled=!1)},handleKeydown:({context:e,actions:t,event:i})=>{e.core.image.lightboxEnabled&&("Tab"!==i.key&&9!==i.keyCode||(i.shiftKey&&window.document.activeElement===e.core.image.firstFocusableElement?(i.preventDefault(),e.core.image.lastFocusableElement.focus()):i.shiftKey||window.document.activeElement!==e.core.image.lastFocusableElement||(i.preventDefault(),e.core.image.firstFocusableElement.focus())),"Escape"!==i.key&&27!==i.keyCode||t.core.image.hideLightbox({context:e,event:i}))},handleLoad:({context:e,effects:t,ref:i})=>{e.core.image.imageLoaded=!0,e.core.image.imageCurrentSrc=i.currentSrc,t.core.image.setButtonStyles({context:e,ref:i})},handleTouchStart:()=>{r=!0},handleTouchMove:({context:e,event:t})=>{e.core.image.lightboxEnabled&&t.preventDefault()},handleTouchEnd:()=>{c=Date.now(),r=!1}}}},selectors:{core:{image:{roleAttribute:({context:e})=>e.core.image.lightboxEnabled?"dialog":null,ariaModal:({context:e})=>e.core.image.lightboxEnabled?"true":null,dialogLabel:({context:e})=>e.core.image.lightboxEnabled?e.core.image.dialogLabel:null,lightboxObjectFit:({context:e})=>{if(e.core.image.initialized)return"cover"},enlargedImgSrc:({context:e})=>e.core.image.initialized?e.core.image.imageUploadedSrc:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="}}},effects:{core:{image:{initOriginImage:({context:e,ref:t})=>{e.core.image.imageRef=t,e.core.image.lightboxTriggerRef=t.parentElement.querySelector(".lightbox-trigger"),t.complete&&(e.core.image.imageLoaded=!0,e.core.image.imageCurrentSrc=t.currentSrc)},initLightbox:async({context:e,ref:t})=>{if(e.core.image.lightboxEnabled){const i=t.querySelectorAll(n);e.core.image.firstFocusableElement=i[0],e.core.image.lastFocusableElement=i[i.length-1],t.focus()}},setButtonStyles:({context:e,ref:t})=>{const{naturalWidth:i,naturalHeight:o,offsetWidth:n,offsetHeight:a}=t;if(0===i||0===o)return;const r=t.parentElement,c=t.parentElement.clientWidth;let l=t.parentElement.clientHeight;const g=r.querySelector("figcaption");if(g){const e=window.getComputedStyle(g);l=l-g.offsetHeight-parseFloat(e.marginTop)-parseFloat(e.marginBottom)}const d=l-a,m=c-n;if("contain"===e.core.image.scaleAttr){const t=i/o;if(t>=n/a){const i=n/t;e.core.image.imageButtonTop=(a-i)/2+d+16,e.core.image.imageButtonRight=m+16}else{const i=a*t;e.core.image.imageButtonTop=d+16,e.core.image.imageButtonRight=(n-i)/2+m+16}}else e.core.image.imageButtonTop=d+16,e.core.image.imageButtonRight=m+16},setStylesOnResize:({state:e,context:t,ref:i})=>{t.core.image.lightboxEnabled&&(e.core.image.windowWidth||e.core.image.windowHeight)&&g(t,i)}}}}},{afterLoad:({state:e})=>{window.addEventListener("resize",function(e,t=50){let i;return()=>{const o=()=>{i=null,e()};clearTimeout(i),i=setTimeout(o,t)}}((()=>{e.core.image.windowWidth=window.innerWidth,e.core.image.windowHeight=window.innerHeight})))}})}},function(e){var t;t=699,e(e.s=t)}]);
\ No newline at end of file
+import*as t from"@wordpress/interactivity";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const n=(t=>{var n={};return e.d(n,t),n})({getContext:()=>t.getContext,getElement:()=>t.getElement,store:()=>t.store});let o,r,i=!1,l=0;const{state:a,actions:c,callbacks:s}=(0,n.store)("core/image",{state:{currentImage:{},get overlayOpened(){return a.currentImage.currentSrc},get roleAttribute(){return a.overlayOpened?"dialog":null},get ariaModal(){return a.overlayOpened?"true":null},get enlargedSrc(){return a.currentImage.uploadedSrc||"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="},get imgStyles(){return a.overlayOpened&&`${a.currentImage.imgStyles?.replace(/;$/,"")}; object-fit:cover;`}},actions:{showLightbox(){const t=(0,n.getContext)();t.imageRef?.complete&&(a.scrollTopReset=document.documentElement.scrollTop,a.scrollLeftReset=document.documentElement.scrollLeft,t.currentSrc=t.imageRef.currentSrc,o=t.imageRef,r=t.buttonRef,a.currentImage=t,a.overlayEnabled=!0,s.setOverlayStyles())},hideLightbox(){a.overlayEnabled&&(setTimeout((function(){r.focus({preventScroll:!0}),a.currentImage={},o=null,r=null}),450),a.showClosingAnimation=!0,a.overlayEnabled=!1)},handleKeydown(t){if(a.overlayEnabled){if("Tab"===t.key){t.preventDefault();const{ref:e}=(0,n.getElement)();e.querySelector("button").focus()}"Escape"===t.key&&c.hideLightbox()}},handleTouchMove(t){a.overlayEnabled&&t.preventDefault()},handleTouchStart(){i=!0},handleTouchEnd(){l=Date.now(),i=!1},handleScroll(){a.overlayOpened&&!i&&Date.now()-l>450&&window.scrollTo(a.scrollLeftReset,a.scrollTopReset)}},callbacks:{setOverlayStyles(){if(!o)return;let{naturalWidth:t,naturalHeight:e,offsetWidth:n,offsetHeight:r}=o,{x:i,y:l}=o.getBoundingClientRect();const c=t/e;let s=n/r;if("contain"===a.currentImage.scaleAttr)if(c>s){const t=n/c;l+=(r-t)/2,r=t}else{const t=r*c;i+=(n-t)/2,n=t}s=n/r;let g=parseFloat("none"!==a.currentImage.targetWidth?a.currentImage.targetWidth:t),u=parseFloat("none"!==a.currentImage.targetHeight?a.currentImage.targetHeight:e),d=g/u,h=g,m=u,p=g,f=u;if(c.toFixed(2)!==d.toFixed(2)){if(c>d){const t=g/c;u-t>g?(u=t,g=t*c):u=g/c}else{const t=u*c;g-t>u?(g=t,u=t/c):g=u*c}p=g,f=u,d=g/u,s>d?(h=g,m=h/s):(m=u,h=m*s)}(n>p||r>f)&&(p=n,f=r);let w=0;window.innerWidth>480?w=80:window.innerWidth>1920&&(w=160);const y=Math.min(window.innerWidth-w,p),b=Math.min(window.innerHeight-80,f);s>y/b?(p=y,f=p/s):(f=b,p=f*s);const x=n/p,v=g*(p/h),A=u*(f/m);a.overlayStyles=`\n\t\t\t\t:root {\n\t\t\t\t\t--wp--lightbox-initial-top-position: ${l}px;\n\t\t\t\t\t--wp--lightbox-initial-left-position: ${i}px;\n\t\t\t\t\t--wp--lightbox-container-width: ${p+1}px;\n\t\t\t\t\t--wp--lightbox-container-height: ${f+1}px;\n\t\t\t\t\t--wp--lightbox-image-width: ${v}px;\n\t\t\t\t\t--wp--lightbox-image-height: ${A}px;\n\t\t\t\t\t--wp--lightbox-scale: ${x};\n\t\t\t\t\t--wp--lightbox-scrollbar-width: ${window.innerWidth-document.documentElement.clientWidth}px;\n\t\t\t\t}\n\t\t\t`},setButtonStyles(){const t=(0,n.getContext)(),{ref:e}=(0,n.getElement)();t.imageRef=e;const{naturalWidth:o,naturalHeight:r,offsetWidth:i,offsetHeight:l}=e;if(0===o||0===r)return;const a=e.parentElement,c=e.parentElement.clientWidth;let s=e.parentElement.clientHeight;const g=a.querySelector("figcaption");if(g){const t=window.getComputedStyle(g);["absolute","fixed"].includes(t.position)||(s=s-g.offsetHeight-parseFloat(t.marginTop)-parseFloat(t.marginBottom))}const u=s-l,d=c-i;if("contain"===t.scaleAttr){const e=o/r;if(e>=i/l){const n=i/e;t.imageButtonTop=(l-n)/2+u+16,t.imageButtonRight=d+16}else{const n=l*e;t.imageButtonTop=u+16,t.imageButtonRight=(i-n)/2+d+16}}else t.imageButtonTop=u+16,t.imageButtonRight=d+16},setOverlayFocus(){if(a.overlayEnabled){const{ref:t}=(0,n.getElement)();t.focus()}},initTriggerButton(){const t=(0,n.getContext)(),{ref:e}=(0,n.getElement)();t.buttonRef=e}}},{lock:!0});
\ No newline at end of file
diff --git a/wp-includes/blocks/latest-comments/block.json b/wp-includes/blocks/latest-comments/block.json
index 0b213e9b7..aee42f1d1 100644
--- a/wp-includes/blocks/latest-comments/block.json
+++ b/wp-includes/blocks/latest-comments/block.json
@@ -46,6 +46,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-latest-comments-editor",
diff --git a/wp-includes/blocks/latest-posts/block.json b/wp-includes/blocks/latest-posts/block.json
index f36164614..bb8c2d249 100644
--- a/wp-includes/blocks/latest-posts/block.json
+++ b/wp-includes/blocks/latest-posts/block.json
@@ -110,6 +110,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-latest-posts-editor",
diff --git a/wp-includes/blocks/legacy-widget/block.json b/wp-includes/blocks/legacy-widget/block.json
index 6b0c1e2a9..a03eb0906 100644
--- a/wp-includes/blocks/legacy-widget/block.json
+++ b/wp-includes/blocks/legacy-widget/block.json
@@ -1,4 +1,5 @@
{
+ "$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/legacy-widget",
"title": "Legacy Widget",
diff --git a/wp-includes/blocks/list-item/block.json b/wp-includes/blocks/list-item/block.json
index 41221f1c3..61c6eec4b 100644
--- a/wp-includes/blocks/list-item/block.json
+++ b/wp-includes/blocks/list-item/block.json
@@ -5,6 +5,7 @@
"title": "List item",
"category": "text",
"parent": [ "core/list" ],
+ "allowedBlocks": [ "core/list" ],
"description": "Create a list item.",
"textdomain": "default",
"attributes": {
@@ -12,16 +13,23 @@
"type": "string"
},
"content": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "li",
- "default": "",
"__experimentalRole": "content"
}
},
"supports": {
"className": false,
"__experimentalSelector": "li",
+ "spacing": {
+ "margin": true,
+ "padding": true,
+ "__experimentalDefaultControls": {
+ "margin": false,
+ "padding": false
+ }
+ },
"typography": {
"fontSize": true,
"lineHeight": true,
@@ -34,6 +42,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/list/block.json b/wp-includes/blocks/list/block.json
index e2fb9e4c9..7d2de9567 100644
--- a/wp-includes/blocks/list/block.json
+++ b/wp-includes/blocks/list/block.json
@@ -4,6 +4,7 @@
"name": "core/list",
"title": "List",
"category": "text",
+ "allowedBlocks": [ "core/list-item" ],
"description": "Create a bulleted or numbered list.",
"keywords": [ "bullet list", "ordered list", "numbered list" ],
"textdomain": "default",
@@ -70,7 +71,10 @@
"__unstablePasteTextInline": true,
"__experimentalSelector": "ol,ul",
"__experimentalOnMerge": true,
- "__experimentalSlashInserter": true
+ "__experimentalSlashInserter": true,
+ "interactivity": {
+ "clientNavigation": true
+ }
},
"editorStyle": "wp-block-list-editor",
"style": "wp-block-list"
diff --git a/wp-includes/blocks/loginout/block.json b/wp-includes/blocks/loginout/block.json
index 3593961c0..866330034 100644
--- a/wp-includes/blocks/loginout/block.json
+++ b/wp-includes/blocks/loginout/block.json
@@ -19,6 +19,14 @@
},
"supports": {
"className": true,
+ "spacing": {
+ "margin": true,
+ "padding": true,
+ "__experimentalDefaultControls": {
+ "margin": false,
+ "padding": false
+ }
+ },
"typography": {
"fontSize": true,
"lineHeight": true,
@@ -31,6 +39,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/media-text/block.json b/wp-includes/blocks/media-text/block.json
index cdeb4ce13..e320101bb 100644
--- a/wp-includes/blocks/media-text/block.json
+++ b/wp-includes/blocks/media-text/block.json
@@ -123,6 +123,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-media-text-editor",
diff --git a/wp-includes/blocks/media-text/style-rtl.css b/wp-includes/blocks/media-text/style-rtl.css
index d9bf15698..63f0dba28 100644
--- a/wp-includes/blocks/media-text/style-rtl.css
+++ b/wp-includes/blocks/media-text/style-rtl.css
@@ -64,14 +64,14 @@
}
.wp-block-media-text.is-image-fill .wp-block-media-text__media img{
- clip:rect(0, 0, 0, 0);
- border:0;
height:1px;
margin:-1px;
overflow:hidden;
padding:0;
position:absolute;
width:1px;
+ clip:rect(0, 0, 0, 0);
+ border:0;
}
@media (max-width:600px){
.wp-block-media-text.is-stacked-on-mobile{
diff --git a/wp-includes/blocks/media-text/style-rtl.min.css b/wp-includes/blocks/media-text/style-rtl.min.css
index 3e8440ffb..852cae971 100644
--- a/wp-includes/blocks/media-text/style-rtl.min.css
+++ b/wp-includes/blocks/media-text/style-rtl.min.css
@@ -1 +1 @@
-.wp-block-media-text{box-sizing:border-box;direction:ltr;display:grid;grid-template-columns:50% 1fr;grid-template-rows:auto}.wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media{align-self:start}.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .wp-block-media-text__media,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media{align-self:center}.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media{align-self:end}.wp-block-media-text .wp-block-media-text__media{grid-column:1;grid-row:1;margin:0}.wp-block-media-text .wp-block-media-text__content{direction:rtl;grid-column:2;grid-row:1;padding:0 8%;word-break:break-word}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{grid-column:2;grid-row:1}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{grid-column:1;grid-row:1}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill .wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media img{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}
\ No newline at end of file
+.wp-block-media-text{box-sizing:border-box;direction:ltr;display:grid;grid-template-columns:50% 1fr;grid-template-rows:auto}.wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media{align-self:start}.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .wp-block-media-text__media,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media{align-self:center}.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media{align-self:end}.wp-block-media-text .wp-block-media-text__media{grid-column:1;grid-row:1;margin:0}.wp-block-media-text .wp-block-media-text__content{direction:rtl;grid-column:2;grid-row:1;padding:0 8%;word-break:break-word}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{grid-column:2;grid-row:1}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{grid-column:1;grid-row:1}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill .wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media img{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}
\ No newline at end of file
diff --git a/wp-includes/blocks/media-text/style.css b/wp-includes/blocks/media-text/style.css
index 199d4da54..93afd7ef7 100644
--- a/wp-includes/blocks/media-text/style.css
+++ b/wp-includes/blocks/media-text/style.css
@@ -64,14 +64,14 @@
}
.wp-block-media-text.is-image-fill .wp-block-media-text__media img{
- clip:rect(0, 0, 0, 0);
- border:0;
height:1px;
margin:-1px;
overflow:hidden;
padding:0;
position:absolute;
width:1px;
+ clip:rect(0, 0, 0, 0);
+ border:0;
}
@media (max-width:600px){
.wp-block-media-text.is-stacked-on-mobile{
diff --git a/wp-includes/blocks/media-text/style.min.css b/wp-includes/blocks/media-text/style.min.css
index 88094d334..624613eef 100644
--- a/wp-includes/blocks/media-text/style.min.css
+++ b/wp-includes/blocks/media-text/style.min.css
@@ -8,4 +8,4 @@
/*!rtl:begin:ignore*/grid-column:2;grid-row:1
/*!rtl:end:ignore*/}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
/*!rtl:begin:ignore*/grid-column:1;grid-row:1
- /*!rtl:end:ignore*/}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill .wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media img{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}
\ No newline at end of file
+ /*!rtl:end:ignore*/}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill .wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media img{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}
\ No newline at end of file
diff --git a/wp-includes/blocks/missing/block.json b/wp-includes/blocks/missing/block.json
index 0bc512bbb..f9b3efe59 100644
--- a/wp-includes/blocks/missing/block.json
+++ b/wp-includes/blocks/missing/block.json
@@ -15,7 +15,7 @@
},
"originalContent": {
"type": "string",
- "source": "html"
+ "source": "raw"
}
},
"supports": {
@@ -23,6 +23,9 @@
"customClassName": false,
"inserter": false,
"html": false,
- "reusable": false
+ "reusable": false,
+ "interactivity": {
+ "clientNavigation": true
+ }
}
}
diff --git a/wp-includes/blocks/more/block.json b/wp-includes/blocks/more/block.json
index bfd95652e..b071f6ba5 100644
--- a/wp-includes/blocks/more/block.json
+++ b/wp-includes/blocks/more/block.json
@@ -20,7 +20,10 @@
"customClassName": false,
"className": false,
"html": false,
- "multiple": false
+ "multiple": false,
+ "interactivity": {
+ "clientNavigation": true
+ }
},
"editorStyle": "wp-block-more-editor"
}
diff --git a/wp-includes/blocks/navigation-link.php b/wp-includes/blocks/navigation-link.php
index 5333ab6ea..4ed54fcc0 100644
--- a/wp-includes/blocks/navigation-link.php
+++ b/wp-includes/blocks/navigation-link.php
@@ -1,6 +1,6 @@
name ) {
+ return $variations;
+ }
+
+ $generated_variations = block_core_navigation_link_build_variations();
+ return array_merge( $variations, $generated_variations );
+}
+
+/**
+ * Returns an array of variations for the navigation link block.
+ *
+ * @since 6.5.0
+ *
+ * @return array
+ */
+function block_core_navigation_link_build_variations() {
$post_types = get_post_types( array( 'show_in_nav_menus' => true ), 'objects' );
$taxonomies = get_taxonomies( array( 'show_in_nav_menus' => true ), 'objects' );
- // Use two separate arrays as a way to order the variations in the UI.
- // Known variations (like Post Link and Page Link) are added to the
- // `built_ins` array. Variations for custom post types and taxonomies are
- // added to the `variations` array and will always appear after `built-ins.
+ /*
+ * Use two separate arrays as a way to order the variations in the UI.
+ * Known variations (like Post Link and Page Link) are added to the
+ * `built_ins` array. Variations for custom post types and taxonomies are
+ * added to the `variations` array and will always appear after `built-ins.
+ */
$built_ins = array();
$variations = array();
@@ -360,12 +385,26 @@ function register_block_core_navigation_link() {
}
}
+ return array_merge( $built_ins, $variations );
+}
+
+/**
+ * Registers the navigation link block.
+ *
+ * @uses render_block_core_navigation_link()
+ * @throws WP_Error An WP_Error exception parsing the block definition.
+ */
+function register_block_core_navigation_link() {
register_block_type_from_metadata(
__DIR__ . '/navigation-link',
array(
'render_callback' => 'render_block_core_navigation_link',
- 'variations' => array_merge( $built_ins, $variations ),
)
);
}
add_action( 'init', 'register_block_core_navigation_link' );
+/**
+ * Creates all variations for post types / taxonomies dynamically (= each time when variations are requested).
+ * Do not use variation_callback, to also account for unregistering post types/taxonomies later on.
+ */
+add_action( 'get_block_type_variations', 'block_core_navigation_link_filter_variations', 10, 2 );
diff --git a/wp-includes/blocks/navigation-link/block.json b/wp-includes/blocks/navigation-link/block.json
index b2cbeaed6..2762bd24e 100644
--- a/wp-includes/blocks/navigation-link/block.json
+++ b/wp-includes/blocks/navigation-link/block.json
@@ -5,6 +5,11 @@
"title": "Custom Link",
"category": "design",
"parent": [ "core/navigation" ],
+ "allowedBlocks": [
+ "core/navigation-link",
+ "core/navigation-submenu",
+ "core/page-list"
+ ],
"description": "Add a page, link, or another item to your navigation.",
"textdomain": "default",
"attributes": {
@@ -71,6 +76,10 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "renaming": false,
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-navigation-link-editor",
diff --git a/wp-includes/blocks/navigation-link/editor-rtl.css b/wp-includes/blocks/navigation-link/editor-rtl.css
index c7811c0ea..8f15cd2bd 100644
--- a/wp-includes/blocks/navigation-link/editor-rtl.css
+++ b/wp-includes/blocks/navigation-link/editor-rtl.css
@@ -39,7 +39,7 @@
}
.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{
--wp-underline-color:var(--wp-admin-theme-color);
- background-image:linear-gradient(-45deg, transparent 20%, var(--wp-underline-color) 30%, var(--wp-underline-color) 36%, transparent 46%), linear-gradient(-135deg, transparent 54%, var(--wp-underline-color) 64%, var(--wp-underline-color) 70%, transparent 80%);
+ background-image:linear-gradient(-45deg, #0000 20%, var(--wp-underline-color) 30%, var(--wp-underline-color) 36%, #0000 46%), linear-gradient(-135deg, #0000 54%, var(--wp-underline-color) 64%, var(--wp-underline-color) 70%, #0000 80%);
background-position:100% 100%;
background-repeat:repeat-x;
background-size:6px 3px;
diff --git a/wp-includes/blocks/navigation-link/editor-rtl.min.css b/wp-includes/blocks/navigation-link/editor-rtl.min.css
index 78accfe56..9b02cee23 100644
--- a/wp-includes/blocks/navigation-link/editor-rtl.min.css
+++ b/wp-includes/blocks/navigation-link/editor-rtl.min.css
@@ -1 +1 @@
-.wp-block-navigation .block-list-appender{position:relative}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;overflow:visible!important;visibility:visible!important;width:auto!important}.wp-block-navigation-item .wp-block-navigation-item__content{cursor:text}.wp-block-navigation-item.is-editing,.wp-block-navigation-item.is-selected{min-width:20px}.wp-block-navigation-item .block-list-appender{margin:16px 16px 16px auto}.wp-block-navigation-link__invalid-item{color:#000}.wp-block-navigation-link__placeholder{background-image:none!important;box-shadow:none!important;position:relative;text-decoration:none!important}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:var(--wp-admin-theme-color);background-image:linear-gradient(-45deg,transparent 20%,var(--wp-underline-color) 30%,var(--wp-underline-color) 36%,transparent 46%),linear-gradient(-135deg,transparent 54%,var(--wp-underline-color) 64%,var(--wp-underline-color) 70%,transparent 80%);background-position:100% 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:.1em}.is-dark-theme .wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:#fff}.wp-block-navigation-link__placeholder.wp-block-navigation-item__content{cursor:pointer}.link-control-transform{border-top:1px solid #ccc;padding:0 16px 8px}.link-control-transform__subheading{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.link-control-transform__items{display:flex;justify-content:space-between}.link-control-transform__item{flex-basis:33%;flex-direction:column;gap:8px;height:auto}
\ No newline at end of file
+.wp-block-navigation .block-list-appender{position:relative}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;overflow:visible!important;visibility:visible!important;width:auto!important}.wp-block-navigation-item .wp-block-navigation-item__content{cursor:text}.wp-block-navigation-item.is-editing,.wp-block-navigation-item.is-selected{min-width:20px}.wp-block-navigation-item .block-list-appender{margin:16px 16px 16px auto}.wp-block-navigation-link__invalid-item{color:#000}.wp-block-navigation-link__placeholder{background-image:none!important;box-shadow:none!important;position:relative;text-decoration:none!important}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:var(--wp-admin-theme-color);background-image:linear-gradient(-45deg,#0000 20%,var(--wp-underline-color) 30%,var(--wp-underline-color) 36%,#0000 46%),linear-gradient(-135deg,#0000 54%,var(--wp-underline-color) 64%,var(--wp-underline-color) 70%,#0000 80%);background-position:100% 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:.1em}.is-dark-theme .wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:#fff}.wp-block-navigation-link__placeholder.wp-block-navigation-item__content{cursor:pointer}.link-control-transform{border-top:1px solid #ccc;padding:0 16px 8px}.link-control-transform__subheading{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.link-control-transform__items{display:flex;justify-content:space-between}.link-control-transform__item{flex-basis:33%;flex-direction:column;gap:8px;height:auto}
\ No newline at end of file
diff --git a/wp-includes/blocks/navigation-link/editor.css b/wp-includes/blocks/navigation-link/editor.css
index e1faecb82..b1dc0526b 100644
--- a/wp-includes/blocks/navigation-link/editor.css
+++ b/wp-includes/blocks/navigation-link/editor.css
@@ -39,7 +39,7 @@
}
.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{
--wp-underline-color:var(--wp-admin-theme-color);
- background-image:linear-gradient(45deg, transparent 20%, var(--wp-underline-color) 30%, var(--wp-underline-color) 36%, transparent 46%), linear-gradient(135deg, transparent 54%, var(--wp-underline-color) 64%, var(--wp-underline-color) 70%, transparent 80%);
+ background-image:linear-gradient(45deg, #0000 20%, var(--wp-underline-color) 30%, var(--wp-underline-color) 36%, #0000 46%), linear-gradient(135deg, #0000 54%, var(--wp-underline-color) 64%, var(--wp-underline-color) 70%, #0000 80%);
background-position:0 100%;
background-repeat:repeat-x;
background-size:6px 3px;
diff --git a/wp-includes/blocks/navigation-link/editor.min.css b/wp-includes/blocks/navigation-link/editor.min.css
index 92e6313f4..faea0f6de 100644
--- a/wp-includes/blocks/navigation-link/editor.min.css
+++ b/wp-includes/blocks/navigation-link/editor.min.css
@@ -1 +1 @@
-.wp-block-navigation .block-list-appender{position:relative}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;overflow:visible!important;visibility:visible!important;width:auto!important}.wp-block-navigation-item .wp-block-navigation-item__content{cursor:text}.wp-block-navigation-item.is-editing,.wp-block-navigation-item.is-selected{min-width:20px}.wp-block-navigation-item .block-list-appender{margin:16px auto 16px 16px}.wp-block-navigation-link__invalid-item{color:#000}.wp-block-navigation-link__placeholder{background-image:none!important;box-shadow:none!important;position:relative;text-decoration:none!important}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:var(--wp-admin-theme-color);background-image:linear-gradient(45deg,transparent 20%,var(--wp-underline-color) 30%,var(--wp-underline-color) 36%,transparent 46%),linear-gradient(135deg,transparent 54%,var(--wp-underline-color) 64%,var(--wp-underline-color) 70%,transparent 80%);background-position:0 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:.1em}.is-dark-theme .wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:#fff}.wp-block-navigation-link__placeholder.wp-block-navigation-item__content{cursor:pointer}.link-control-transform{border-top:1px solid #ccc;padding:0 16px 8px}.link-control-transform__subheading{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.link-control-transform__items{display:flex;justify-content:space-between}.link-control-transform__item{flex-basis:33%;flex-direction:column;gap:8px;height:auto}
\ No newline at end of file
+.wp-block-navigation .block-list-appender{position:relative}.wp-block-navigation .has-child{cursor:pointer}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container{z-index:29}.wp-block-navigation .has-child.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation .has-child.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;overflow:visible!important;visibility:visible!important;width:auto!important}.wp-block-navigation-item .wp-block-navigation-item__content{cursor:text}.wp-block-navigation-item.is-editing,.wp-block-navigation-item.is-selected{min-width:20px}.wp-block-navigation-item .block-list-appender{margin:16px auto 16px 16px}.wp-block-navigation-link__invalid-item{color:#000}.wp-block-navigation-link__placeholder{background-image:none!important;box-shadow:none!important;position:relative;text-decoration:none!important}.wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:var(--wp-admin-theme-color);background-image:linear-gradient(45deg,#0000 20%,var(--wp-underline-color) 30%,var(--wp-underline-color) 36%,#0000 46%),linear-gradient(135deg,#0000 54%,var(--wp-underline-color) 64%,var(--wp-underline-color) 70%,#0000 80%);background-position:0 100%;background-repeat:repeat-x;background-size:6px 3px;padding-bottom:.1em}.is-dark-theme .wp-block-navigation-link__placeholder .wp-block-navigation-link__placeholder-text span{--wp-underline-color:#fff}.wp-block-navigation-link__placeholder.wp-block-navigation-item__content{cursor:pointer}.link-control-transform{border-top:1px solid #ccc;padding:0 16px 8px}.link-control-transform__subheading{color:#1e1e1e;font-size:11px;font-weight:500;margin-bottom:1.5em;text-transform:uppercase}.link-control-transform__items{display:flex;justify-content:space-between}.link-control-transform__item{flex-basis:33%;flex-direction:column;gap:8px;height:auto}
\ No newline at end of file
diff --git a/wp-includes/blocks/navigation-link/style-rtl.css b/wp-includes/blocks/navigation-link/style-rtl.css
index c1a687922..ffeffa5f2 100644
--- a/wp-includes/blocks/navigation-link/style-rtl.css
+++ b/wp-includes/blocks/navigation-link/style-rtl.css
@@ -3,4 +3,26 @@
}
.wp-block-navigation .wp-block-navigation-item__description{
display:none;
+}
+
+.link-ui-tools{
+ border-top:1px solid #f0f0f0;
+ padding:8px;
+}
+
+.link-ui-block-inserter{
+ padding-top:8px;
+}
+
+.link-ui-block-inserter__back{
+ margin-right:8px;
+ text-transform:uppercase;
+}
+
+.components-popover-pointer-events-trap{
+ background-color:initial;
+ cursor:pointer;
+ inset:0;
+ position:fixed;
+ z-index:1000000;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/navigation-link/style-rtl.min.css b/wp-includes/blocks/navigation-link/style-rtl.min.css
index 6515ef8df..752908c9a 100644
--- a/wp-includes/blocks/navigation-link/style-rtl.min.css
+++ b/wp-includes/blocks/navigation-link/style-rtl.min.css
@@ -1 +1 @@
-.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}
\ No newline at end of file
+.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.link-ui-tools{border-top:1px solid #f0f0f0;padding:8px}.link-ui-block-inserter{padding-top:8px}.link-ui-block-inserter__back{margin-right:8px;text-transform:uppercase}.components-popover-pointer-events-trap{background-color:initial;cursor:pointer;inset:0;position:fixed;z-index:1000000}
\ No newline at end of file
diff --git a/wp-includes/blocks/navigation-link/style.css b/wp-includes/blocks/navigation-link/style.css
index c1a687922..a136b2cde 100644
--- a/wp-includes/blocks/navigation-link/style.css
+++ b/wp-includes/blocks/navigation-link/style.css
@@ -3,4 +3,26 @@
}
.wp-block-navigation .wp-block-navigation-item__description{
display:none;
+}
+
+.link-ui-tools{
+ border-top:1px solid #f0f0f0;
+ padding:8px;
+}
+
+.link-ui-block-inserter{
+ padding-top:8px;
+}
+
+.link-ui-block-inserter__back{
+ margin-left:8px;
+ text-transform:uppercase;
+}
+
+.components-popover-pointer-events-trap{
+ background-color:initial;
+ cursor:pointer;
+ inset:0;
+ position:fixed;
+ z-index:1000000;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/navigation-link/style.min.css b/wp-includes/blocks/navigation-link/style.min.css
index 6515ef8df..c58d9375a 100644
--- a/wp-includes/blocks/navigation-link/style.min.css
+++ b/wp-includes/blocks/navigation-link/style.min.css
@@ -1 +1 @@
-.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}
\ No newline at end of file
+.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word}.wp-block-navigation .wp-block-navigation-item__description{display:none}.link-ui-tools{border-top:1px solid #f0f0f0;padding:8px}.link-ui-block-inserter{padding-top:8px}.link-ui-block-inserter__back{margin-left:8px;text-transform:uppercase}.components-popover-pointer-events-trap{background-color:initial;cursor:pointer;inset:0;position:fixed;z-index:1000000}
\ No newline at end of file
diff --git a/wp-includes/blocks/navigation-submenu/block.json b/wp-includes/blocks/navigation-submenu/block.json
index 91364109e..0bcf8a1a4 100644
--- a/wp-includes/blocks/navigation-submenu/block.json
+++ b/wp-includes/blocks/navigation-submenu/block.json
@@ -58,7 +58,10 @@
],
"supports": {
"reusable": false,
- "html": false
+ "html": false,
+ "interactivity": {
+ "clientNavigation": true
+ }
},
"editorStyle": "wp-block-navigation-submenu-editor",
"style": "wp-block-navigation-submenu"
diff --git a/wp-includes/blocks/navigation-submenu/editor-rtl.css b/wp-includes/blocks/navigation-submenu/editor-rtl.css
index e13b9ba8e..950661e03 100644
--- a/wp-includes/blocks/navigation-submenu/editor-rtl.css
+++ b/wp-includes/blocks/navigation-submenu/editor-rtl.css
@@ -20,7 +20,7 @@
top:-1px;
}
.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{
- background:transparent;
+ background:#0000;
content:"";
display:block;
height:100%;
diff --git a/wp-includes/blocks/navigation-submenu/editor-rtl.min.css b/wp-includes/blocks/navigation-submenu/editor-rtl.min.css
index 85f8d7964..f34e77a6c 100644
--- a/wp-includes/blocks/navigation-submenu/editor-rtl.min.css
+++ b/wp-includes/blocks/navigation-submenu/editor-rtl.min.css
@@ -1 +1 @@
-.wp-block-navigation-submenu{display:block}.wp-block-navigation-submenu .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;position:absolute;right:-1px;top:100%;visibility:visible!important;width:auto!important}@media (min-width:782px){.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{right:100%;top:-1px}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;left:100%;position:absolute;width:.5em}}
\ No newline at end of file
+.wp-block-navigation-submenu{display:block}.wp-block-navigation-submenu .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container{height:auto!important;min-width:200px!important;opacity:1!important;position:absolute;right:-1px;top:100%;visibility:visible!important;width:auto!important}@media (min-width:782px){.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{right:100%;top:-1px}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:#0000;content:"";display:block;height:100%;left:100%;position:absolute;width:.5em}}
\ No newline at end of file
diff --git a/wp-includes/blocks/navigation-submenu/editor.css b/wp-includes/blocks/navigation-submenu/editor.css
index 866c2d3c4..eb86fa4e5 100644
--- a/wp-includes/blocks/navigation-submenu/editor.css
+++ b/wp-includes/blocks/navigation-submenu/editor.css
@@ -20,7 +20,7 @@
top:-1px;
}
.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{
- background:transparent;
+ background:#0000;
content:"";
display:block;
height:100%;
diff --git a/wp-includes/blocks/navigation-submenu/editor.min.css b/wp-includes/blocks/navigation-submenu/editor.min.css
index e55a4d855..8ed83edc6 100644
--- a/wp-includes/blocks/navigation-submenu/editor.min.css
+++ b/wp-includes/blocks/navigation-submenu/editor.min.css
@@ -1 +1 @@
-.wp-block-navigation-submenu{display:block}.wp-block-navigation-submenu .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container{height:auto!important;left:-1px;min-width:200px!important;opacity:1!important;position:absolute;top:100%;visibility:visible!important;width:auto!important}@media (min-width:782px){.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:-1px}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;position:absolute;right:100%;width:.5em}}
\ No newline at end of file
+.wp-block-navigation-submenu{display:block}.wp-block-navigation-submenu .wp-block-navigation__submenu-container{z-index:28}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container{height:auto!important;left:-1px;min-width:200px!important;opacity:1!important;position:absolute;top:100%;visibility:visible!important;width:auto!important}@media (min-width:782px){.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:-1px}.wp-block-navigation-submenu.has-child-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before,.wp-block-navigation-submenu.is-selected>.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:#0000;content:"";display:block;height:100%;position:absolute;right:100%;width:.5em}}
\ No newline at end of file
diff --git a/wp-includes/blocks/navigation.php b/wp-includes/blocks/navigation.php
index 4d9fe4a08..ba1644cf6 100644
--- a/wp-includes/blocks/navigation.php
+++ b/wp-includes/blocks/navigation.php
@@ -5,6 +5,671 @@
* @package WordPress
*/
+/**
+ * Helper functions used to render the navigation block.
+ */
+class WP_Navigation_Block_Renderer {
+
+ /**
+ * Used to determine whether or not a navigation has submenus.
+ */
+ private static $has_submenus = false;
+
+ /**
+ * Used to determine which blocks need an
wrapper.
+ *
+ * @var array
+ */
+ private static $needs_list_item_wrapper = array(
+ 'core/site-title',
+ 'core/site-logo',
+ );
+
+ /**
+ * Keeps track of all the navigation names that have been seen.
+ *
+ * @var array
+ */
+ private static $seen_menu_names = array();
+
+ /**
+ * Returns whether or not this is responsive navigation.
+ *
+ * @param array $attributes The block attributes.
+ * @return bool Returns whether or not this is responsive navigation.
+ */
+ private static function is_responsive( $attributes ) {
+ /**
+ * This is for backwards compatibility after the `isResponsive` attribute was been removed.
+ */
+
+ $has_old_responsive_attribute = ! empty( $attributes['isResponsive'] ) && $attributes['isResponsive'];
+ return isset( $attributes['overlayMenu'] ) && 'never' !== $attributes['overlayMenu'] || $has_old_responsive_attribute;
+ }
+
+ /**
+ * Returns whether or not a navigation has a submenu.
+ *
+ * @param WP_Block_List $inner_blocks The list of inner blocks.
+ * @return bool Returns whether or not a navigation has a submenu and also sets the member variable.
+ */
+ private static function has_submenus( $inner_blocks ) {
+ if ( true === static::$has_submenus ) {
+ return static::$has_submenus;
+ }
+
+ foreach ( $inner_blocks as $inner_block ) {
+ // If this is a page list then work out if any of the pages have children.
+ if ( 'core/page-list' === $inner_block->name ) {
+ $all_pages = get_pages(
+ array(
+ 'sort_column' => 'menu_order,post_title',
+ 'order' => 'asc',
+ )
+ );
+ foreach ( (array) $all_pages as $page ) {
+ if ( $page->post_parent ) {
+ static::$has_submenus = true;
+ break;
+ }
+ }
+ }
+ // If this is a navigation submenu then we know we have submenus.
+ if ( 'core/navigation-submenu' === $inner_block->name ) {
+ static::$has_submenus = true;
+ break;
+ }
+ }
+
+ return static::$has_submenus;
+ }
+
+ /**
+ * Determine whether the navigation blocks is interactive.
+ *
+ * @param array $attributes The block attributes.
+ * @param WP_Block_List $inner_blocks The list of inner blocks.
+ * @return bool Returns whether or not to load the view script.
+ */
+ private static function is_interactive( $attributes, $inner_blocks ) {
+ $has_submenus = static::has_submenus( $inner_blocks );
+ $is_responsive_menu = static::is_responsive( $attributes );
+ return ( $has_submenus && ( $attributes['openSubmenusOnClick'] || $attributes['showSubmenuIcon'] ) ) || $is_responsive_menu;
+ }
+
+ /**
+ * Returns whether or not a block needs a list item wrapper.
+ *
+ * @param WP_Block $block The block.
+ * @return bool Returns whether or not a block needs a list item wrapper.
+ */
+ private static function does_block_need_a_list_item_wrapper( $block ) {
+
+ /**
+ * Filter the list of blocks that need a list item wrapper.
+ *
+ * Affords the ability to customize which blocks need a list item wrapper when rendered
+ * within a core/navigation block.
+ * This is useful for blocks that are not list items but should be wrapped in a list
+ * item when used as a child of a navigation block.
+ *
+ * @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 );
+
+ return in_array( $block->name, $needs_list_item_wrapper, true );
+ }
+
+ /**
+ * Returns the markup for a single inner block.
+ *
+ * @param WP_Block $inner_block The inner block.
+ * @return string Returns the markup for a single inner block.
+ */
+ private static function get_markup_for_inner_block( $inner_block ) {
+ $inner_block_content = $inner_block->render();
+ if ( ! empty( $inner_block_content ) ) {
+ if ( static::does_block_need_a_list_item_wrapper( $inner_block ) ) {
+ return ' ' . $inner_block_content . ' ';
+ }
+ }
+
+ return $inner_block_content;
+ }
+
+ /**
+ * Returns the html for the inner blocks of the navigation block.
+ *
+ * @param array $attributes The block attributes.
+ * @param WP_Block_List $inner_blocks The list of inner blocks.
+ * @return string Returns the html for the inner blocks of the navigation block.
+ */
+ private static function get_inner_blocks_html( $attributes, $inner_blocks ) {
+ $has_submenus = static::has_submenus( $inner_blocks );
+ $is_interactive = static::is_interactive( $attributes, $inner_blocks );
+
+ $style = static::get_styles( $attributes );
+ $class = static::get_classes( $attributes );
+ $container_attributes = get_block_wrapper_attributes(
+ array(
+ 'class' => 'wp-block-navigation__container ' . $class,
+ 'style' => $style,
+ )
+ );
+
+ $inner_blocks_html = '';
+ $is_list_open = false;
+
+ foreach ( $inner_blocks as $inner_block ) {
+ $inner_block_markup = static::get_markup_for_inner_block( $inner_block );
+ $p = new WP_HTML_Tag_Processor( $inner_block_markup );
+ $is_list_item = $p->next_tag( 'LI' );
+
+ if ( $is_list_item && ! $is_list_open ) {
+ $is_list_open = true;
+ $inner_blocks_html .= sprintf(
+ '
',
+ $container_attributes
+ );
+ }
+
+ if ( ! $is_list_item && $is_list_open ) {
+ $is_list_open = false;
+ $inner_blocks_html .= ' ';
+ }
+
+ $inner_blocks_html .= $inner_block_markup;
+ }
+
+ if ( $is_list_open ) {
+ $inner_blocks_html .= '';
+ }
+
+ // Add directives to the submenu if needed.
+ if ( $has_submenus && $is_interactive ) {
+ $tags = new WP_HTML_Tag_Processor( $inner_blocks_html );
+ $inner_blocks_html = block_core_navigation_add_directives_to_submenu( $tags, $attributes );
+ }
+
+ return $inner_blocks_html;
+ }
+
+ /**
+ * Gets the inner blocks for the navigation block from the navigation post.
+ *
+ * @param array $attributes The block attributes.
+ * @return WP_Block_List Returns the inner blocks for the navigation block.
+ */
+ private static function get_inner_blocks_from_navigation_post( $attributes ) {
+ $navigation_post = get_post( $attributes['ref'] );
+ if ( ! isset( $navigation_post ) ) {
+ return new WP_Block_List( array(), $attributes );
+ }
+
+ // Only published posts are valid. If this is changed then a corresponding change
+ // must also be implemented in `use-navigation-menu.js`.
+ if ( 'publish' === $navigation_post->post_status ) {
+ $parsed_blocks = parse_blocks( $navigation_post->post_content );
+
+ // 'parse_blocks' includes a null block with '\n\n' as the content when
+ // it encounters whitespace. This code strips it.
+ $blocks = block_core_navigation_filter_out_empty_blocks( $parsed_blocks );
+
+ if ( function_exists( 'set_ignored_hooked_blocks_metadata' ) ) {
+ // Run Block Hooks algorithm to inject hooked blocks.
+ $markup = block_core_navigation_insert_hooked_blocks( $blocks, $navigation_post );
+ $root_nav_block = parse_blocks( $markup )[0];
+
+ $blocks = isset( $root_nav_block['innerBlocks'] ) ? $root_nav_block['innerBlocks'] : $blocks;
+ }
+
+ // TODO - this uses the full navigation block attributes for the
+ // context which could be refined.
+ return new WP_Block_List( $blocks, $attributes );
+ }
+ }
+
+ /**
+ * Gets the inner blocks for the navigation block from the fallback.
+ *
+ * @param array $attributes The block attributes.
+ * @return WP_Block_List Returns the inner blocks for the navigation block.
+ */
+ private static function get_inner_blocks_from_fallback( $attributes ) {
+ $fallback_blocks = block_core_navigation_get_fallback_blocks();
+
+ // Fallback my have been filtered so do basic test for validity.
+ if ( empty( $fallback_blocks ) || ! is_array( $fallback_blocks ) ) {
+ return new WP_Block_List( array(), $attributes );
+ }
+
+ return new WP_Block_List( $fallback_blocks, $attributes );
+ }
+
+ /**
+ * Gets the inner blocks for the navigation block.
+ *
+ * @param array $attributes The block attributes.
+ * @param WP_Block $block The parsed block.
+ * @return WP_Block_List Returns the inner blocks for the navigation block.
+ */
+ private static function get_inner_blocks( $attributes, $block ) {
+ $inner_blocks = $block->inner_blocks;
+
+ // Ensure that blocks saved with the legacy ref attribute name (navigationMenuId) continue to render.
+ if ( array_key_exists( 'navigationMenuId', $attributes ) ) {
+ $attributes['ref'] = $attributes['navigationMenuId'];
+ }
+
+ // If:
+ // - the gutenberg plugin is active
+ // - `__unstableLocation` is defined
+ // - we have menu items at the defined location
+ // - we don't have a relationship to a `wp_navigation` Post (via `ref`).
+ // ...then create inner blocks from the classic menu assigned to that location.
+ if (
+ defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN &&
+ array_key_exists( '__unstableLocation', $attributes ) &&
+ ! array_key_exists( 'ref', $attributes ) &&
+ ! empty( block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] ) )
+ ) {
+ $inner_blocks = block_core_navigation_get_inner_blocks_from_unstable_location( $attributes );
+ }
+
+ // Load inner blocks from the navigation post.
+ if ( array_key_exists( 'ref', $attributes ) ) {
+ $inner_blocks = static::get_inner_blocks_from_navigation_post( $attributes );
+ }
+
+ // If there are no inner blocks then fallback to rendering an appropriate fallback.
+ if ( empty( $inner_blocks ) ) {
+ $inner_blocks = static::get_inner_blocks_from_fallback( $attributes );
+ }
+
+ /**
+ * Filter navigation block $inner_blocks.
+ * Allows modification of a navigation block menu items.
+ *
+ * @since 6.1.0
+ *
+ * @param \WP_Block_List $inner_blocks
+ */
+ $inner_blocks = apply_filters( 'block_core_navigation_render_inner_blocks', $inner_blocks );
+
+ $post_ids = block_core_navigation_get_post_ids( $inner_blocks );
+ if ( $post_ids ) {
+ _prime_post_caches( $post_ids, false, false );
+ }
+
+ return $inner_blocks;
+ }
+
+ /**
+ * Gets the name of the current navigation, if it has one.
+ *
+ * @param array $attributes The block attributes.
+ * @return string Returns the name of the navigation.
+ */
+ private static function get_navigation_name( $attributes ) {
+
+ $navigation_name = $attributes['ariaLabel'] ?? '';
+
+ // Load the navigation post.
+ if ( array_key_exists( 'ref', $attributes ) ) {
+ $navigation_post = get_post( $attributes['ref'] );
+ if ( ! isset( $navigation_post ) ) {
+ return $navigation_name;
+ }
+
+ // Only published posts are valid. If this is changed then a corresponding change
+ // must also be implemented in `use-navigation-menu.js`.
+ if ( 'publish' === $navigation_post->post_status ) {
+ $navigation_name = $navigation_post->post_title;
+
+ // This is used to count the number of times a navigation name has been seen,
+ // so that we can ensure every navigation has a unique id.
+ if ( isset( static::$seen_menu_names[ $navigation_name ] ) ) {
+ ++static::$seen_menu_names[ $navigation_name ];
+ } else {
+ static::$seen_menu_names[ $navigation_name ] = 1;
+ }
+ }
+ }
+
+ return $navigation_name;
+ }
+
+ /**
+ * Returns the layout class for the navigation block.
+ *
+ * @param array $attributes The block attributes.
+ * @return string Returns the layout class for the navigation block.
+ */
+ private static function get_layout_class( $attributes ) {
+ $layout_justification = array(
+ 'left' => 'items-justified-left',
+ 'right' => 'items-justified-right',
+ 'center' => 'items-justified-center',
+ 'space-between' => 'items-justified-space-between',
+ );
+
+ $layout_class = '';
+ if (
+ isset( $attributes['layout']['justifyContent'] ) &&
+ isset( $layout_justification[ $attributes['layout']['justifyContent'] ] )
+ ) {
+ $layout_class .= $layout_justification[ $attributes['layout']['justifyContent'] ];
+ }
+ if ( isset( $attributes['layout']['orientation'] ) && 'vertical' === $attributes['layout']['orientation'] ) {
+ $layout_class .= ' is-vertical';
+ }
+
+ if ( isset( $attributes['layout']['flexWrap'] ) && 'nowrap' === $attributes['layout']['flexWrap'] ) {
+ $layout_class .= ' no-wrap';
+ }
+ return $layout_class;
+ }
+
+ /**
+ * Return classes for the navigation block.
+ *
+ * @param array $attributes The block attributes.
+ * @return string Returns the classes for the navigation block.
+ */
+ private static function get_classes( $attributes ) {
+ // Restore legacy classnames for submenu positioning.
+ $layout_class = static::get_layout_class( $attributes );
+ $colors = block_core_navigation_build_css_colors( $attributes );
+ $font_sizes = block_core_navigation_build_css_font_sizes( $attributes );
+ $is_responsive_menu = static::is_responsive( $attributes );
+
+ // Manually add block support text decoration as CSS class.
+ $text_decoration = $attributes['style']['typography']['textDecoration'] ?? null;
+ $text_decoration_class = sprintf( 'has-text-decoration-%s', $text_decoration );
+
+ $classes = array_merge(
+ $colors['css_classes'],
+ $font_sizes['css_classes'],
+ $is_responsive_menu ? array( 'is-responsive' ) : array(),
+ $layout_class ? array( $layout_class ) : array(),
+ $text_decoration ? array( $text_decoration_class ) : array()
+ );
+ return implode( ' ', $classes );
+ }
+
+ /**
+ * Get styles for the navigation block.
+ *
+ * @param array $attributes The block attributes.
+ * @return string Returns the styles for the navigation block.
+ */
+ private static function get_styles( $attributes ) {
+ $colors = block_core_navigation_build_css_colors( $attributes );
+ $font_sizes = block_core_navigation_build_css_font_sizes( $attributes );
+ $block_styles = isset( $attributes['styles'] ) ? $attributes['styles'] : '';
+ return $block_styles . $colors['inline_styles'] . $font_sizes['inline_styles'];
+ }
+
+ /**
+ * Get the responsive container markup
+ *
+ * @param array $attributes The block attributes.
+ * @param WP_Block_List $inner_blocks The list of inner blocks.
+ * @param string $inner_blocks_html The markup for the inner blocks.
+ * @return string Returns the container markup.
+ */
+ private static function get_responsive_container_markup( $attributes, $inner_blocks, $inner_blocks_html ) {
+ $is_interactive = static::is_interactive( $attributes, $inner_blocks );
+ $colors = block_core_navigation_build_css_colors( $attributes );
+ $modal_unique_id = wp_unique_id( 'modal-' );
+
+ $is_hidden_by_default = isset( $attributes['overlayMenu'] ) && 'always' === $attributes['overlayMenu'];
+
+ $responsive_container_classes = array(
+ 'wp-block-navigation__responsive-container',
+ $is_hidden_by_default ? 'hidden-by-default' : '',
+ implode( ' ', $colors['overlay_css_classes'] ),
+ );
+ $open_button_classes = array(
+ 'wp-block-navigation__responsive-container-open',
+ $is_hidden_by_default ? 'always-shown' : '',
+ );
+
+ $should_display_icon_label = isset( $attributes['hasIcon'] ) && true === $attributes['hasIcon'];
+ $toggle_button_icon = '
';
+ if ( isset( $attributes['icon'] ) ) {
+ if ( 'menu' === $attributes['icon'] ) {
+ $toggle_button_icon = '
';
+ }
+ }
+ $toggle_button_content = $should_display_icon_label ? $toggle_button_icon : __( 'Menu' );
+ $toggle_close_button_icon = '
';
+ $toggle_close_button_content = $should_display_icon_label ? $toggle_close_button_icon : __( 'Close' );
+ $toggle_aria_label_open = $should_display_icon_label ? 'aria-label="' . __( 'Open menu' ) . '"' : ''; // Open button label.
+ $toggle_aria_label_close = $should_display_icon_label ? 'aria-label="' . __( 'Close menu' ) . '"' : ''; // Close button label.
+
+ // Add Interactivity API directives to the markup if needed.
+ $open_button_directives = '';
+ $responsive_container_directives = '';
+ $responsive_dialog_directives = '';
+ $close_button_directives = '';
+ if ( $is_interactive ) {
+ $open_button_directives = '
+ data-wp-on--click="actions.openMenuOnClick"
+ data-wp-on--keydown="actions.handleMenuKeydown"
+ ';
+ $responsive_container_directives = '
+ data-wp-class--has-modal-open="state.isMenuOpen"
+ data-wp-class--is-menu-open="state.isMenuOpen"
+ data-wp-watch="callbacks.initMenu"
+ data-wp-on--keydown="actions.handleMenuKeydown"
+ data-wp-on--focusout="actions.handleMenuFocusout"
+ tabindex="-1"
+ ';
+ $responsive_dialog_directives = '
+ data-wp-bind--aria-modal="state.ariaModal"
+ data-wp-bind--aria-label="state.ariaLabel"
+ data-wp-bind--role="state.roleAttribute"
+ ';
+ $close_button_directives = '
+ data-wp-on--click="actions.closeMenuOnClick"
+ ';
+ $responsive_container_content_directives = '
+ data-wp-watch="callbacks.focusFirstElement"
+ ';
+ }
+
+ return sprintf(
+ '
%8$s
+
',
+ esc_attr( $modal_unique_id ),
+ $inner_blocks_html,
+ $toggle_aria_label_open,
+ $toggle_aria_label_close,
+ esc_attr( implode( ' ', $responsive_container_classes ) ),
+ esc_attr( implode( ' ', $open_button_classes ) ),
+ esc_attr( safecss_filter_attr( $colors['overlay_inline_styles'] ) ),
+ $toggle_button_content,
+ $toggle_close_button_content,
+ $open_button_directives,
+ $responsive_container_directives,
+ $responsive_dialog_directives,
+ $close_button_directives,
+ $responsive_container_content_directives
+ );
+ }
+
+ /**
+ * Get the wrapper attributes
+ *
+ * @param array $attributes The block attributes.
+ * @param WP_Block_List $inner_blocks A list of inner blocks.
+ * @return string Returns the navigation block markup.
+ */
+ private static function get_nav_wrapper_attributes( $attributes, $inner_blocks ) {
+ $nav_menu_name = static::get_unique_navigation_name( $attributes );
+ $is_interactive = static::is_interactive( $attributes, $inner_blocks );
+ $is_responsive_menu = static::is_responsive( $attributes );
+ $style = static::get_styles( $attributes );
+ $class = static::get_classes( $attributes );
+ $wrapper_attributes = get_block_wrapper_attributes(
+ array(
+ 'class' => $class,
+ 'style' => $style,
+ 'aria-label' => $nav_menu_name,
+ )
+ );
+
+ if ( $is_responsive_menu ) {
+ $nav_element_directives = static::get_nav_element_directives( $is_interactive );
+ $wrapper_attributes .= ' ' . $nav_element_directives;
+ }
+
+ return $wrapper_attributes;
+ }
+
+ /**
+ * Gets the nav element directives.
+ *
+ * @param bool $is_interactive Whether the block is interactive.
+ * @return string the directives for the navigation element.
+ */
+ private static function get_nav_element_directives( $is_interactive ) {
+ if ( ! $is_interactive ) {
+ return '';
+ }
+ // When adding to this array be mindful of security concerns.
+ $nav_element_context = wp_interactivity_data_wp_context(
+ array(
+ 'overlayOpenedBy' => array(
+ 'click' => false,
+ 'hover' => false,
+ 'focus' => false,
+ ),
+ 'type' => 'overlay',
+ 'roleAttribute' => '',
+ 'ariaLabel' => __( 'Menu' ),
+ )
+ );
+ $nav_element_directives = '
+ data-wp-interactive="core/navigation" '
+ . $nav_element_context;
+
+ return $nav_element_directives;
+ }
+
+ /**
+ * Handle view script module loading.
+ *
+ * @param array $attributes The block attributes.
+ * @param WP_Block $block The parsed block.
+ * @param WP_Block_List $inner_blocks The list of inner blocks.
+ */
+ private static function handle_view_script_module_loading( $attributes, $block, $inner_blocks ) {
+ if ( static::is_interactive( $attributes, $inner_blocks ) ) {
+ $suffix = wp_scripts_get_suffix();
+ if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
+ $module_url = gutenberg_url( '/build/interactivity/navigation.min.js' );
+ }
+
+ wp_register_script_module(
+ '@wordpress/block-library/navigation',
+ isset( $module_url ) ? $module_url : includes_url( "blocks/navigation/view{$suffix}.js" ),
+ array( '@wordpress/interactivity' ),
+ defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
+ );
+ wp_enqueue_script_module( '@wordpress/block-library/navigation' );
+ }
+ }
+
+ /**
+ * Returns the markup for the navigation block.
+ *
+ * @param array $attributes The block attributes.
+ * @param WP_Block_List $inner_blocks The list of inner blocks.
+ * @return string Returns the navigation wrapper markup.
+ */
+ private static function get_wrapper_markup( $attributes, $inner_blocks ) {
+ $inner_blocks_html = static::get_inner_blocks_html( $attributes, $inner_blocks );
+ if ( static::is_responsive( $attributes ) ) {
+ return static::get_responsive_container_markup( $attributes, $inner_blocks, $inner_blocks_html );
+ }
+ return $inner_blocks_html;
+ }
+
+ /**
+ * Returns a unique name for the navigation.
+ *
+ * @param array $attributes The block attributes.
+ * @return string Returns a unique name for the navigation.
+ */
+ private static function get_unique_navigation_name( $attributes ) {
+ $nav_menu_name = static::get_navigation_name( $attributes );
+
+ // If the menu name has been used previously then append an ID
+ // to the name to ensure uniqueness across a given post.
+ if ( isset( static::$seen_menu_names[ $nav_menu_name ] ) && static::$seen_menu_names[ $nav_menu_name ] > 1 ) {
+ $count = static::$seen_menu_names[ $nav_menu_name ];
+ $nav_menu_name = $nav_menu_name . ' ' . ( $count );
+ }
+
+ return $nav_menu_name;
+ }
+
+ /**
+ * Renders the navigation block.
+ *
+ * @param array $attributes The block attributes.
+ * @param string $content The saved content.
+ * @param WP_Block $block The parsed block.
+ * @return string Returns the navigation block markup.
+ */
+ public static function render( $attributes, $content, $block ) {
+ /**
+ * Deprecated:
+ * The rgbTextColor and rgbBackgroundColor attributes
+ * have been deprecated in favor of
+ * customTextColor and customBackgroundColor ones.
+ * Move the values from old attrs to the new ones.
+ */
+ if ( isset( $attributes['rgbTextColor'] ) && empty( $attributes['textColor'] ) ) {
+ $attributes['customTextColor'] = $attributes['rgbTextColor'];
+ }
+
+ if ( isset( $attributes['rgbBackgroundColor'] ) && empty( $attributes['backgroundColor'] ) ) {
+ $attributes['customBackgroundColor'] = $attributes['rgbBackgroundColor'];
+ }
+
+ unset( $attributes['rgbTextColor'], $attributes['rgbBackgroundColor'] );
+
+ $inner_blocks = static::get_inner_blocks( $attributes, $block );
+ // Prevent navigation blocks referencing themselves from rendering.
+ if ( block_core_navigation_block_contains_core_navigation( $inner_blocks ) ) {
+ return '';
+ }
+
+ static::handle_view_script_module_loading( $attributes, $block, $inner_blocks );
+
+ return sprintf(
+ '
%2$s ',
+ static::get_nav_wrapper_attributes( $attributes, $inner_blocks ),
+ static::get_wrapper_markup( $attributes, $inner_blocks )
+ );
+ }
+}
+
// These functions are used for the __unstableLocation feature and only active
// when the gutenberg plugin is active.
if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
@@ -65,68 +730,84 @@ function block_core_navigation_sort_menu_items_by_parent_id( $menu_items ) {
return $menu_items_by_parent_id;
}
-}
+ /**
+ * Gets the inner blocks for the navigation block from the unstable location attribute.
+ *
+ * @param array $attributes The block attributes.
+ * @return WP_Block_List Returns the inner blocks for the navigation block.
+ */
+ function block_core_navigation_get_inner_blocks_from_unstable_location( $attributes ) {
+ $menu_items = block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] );
+ if ( empty( $menu_items ) ) {
+ return new WP_Block_List( array(), $attributes );
+ }
+
+ $menu_items_by_parent_id = block_core_navigation_sort_menu_items_by_parent_id( $menu_items );
+ $parsed_blocks = block_core_navigation_parse_blocks_from_menu_items( $menu_items_by_parent_id[0], $menu_items_by_parent_id );
+ return new WP_Block_List( $parsed_blocks, $attributes );
+ }
+}
/**
* Add Interactivity API directives to the navigation-submenu and page-list
* blocks markup using the Tag Processor.
*
- * @param string $w Markup of the navigation block.
- * @param array $block_attributes Block attributes.
+ * @param WP_HTML_Tag_Processor $tags Markup of the navigation block.
+ * @param array $block_attributes Block attributes.
*
* @return string Submenu markup with the directives injected.
*/
-function block_core_navigation_add_directives_to_submenu( $w, $block_attributes ) {
- while ( $w->next_tag(
+function block_core_navigation_add_directives_to_submenu( $tags, $block_attributes ) {
+ while ( $tags->next_tag(
array(
'tag_name' => 'LI',
'class_name' => 'has-child',
)
) ) {
// Add directives to the parent `
`.
- $w->set_attribute( 'data-wp-interactive', true );
- $w->set_attribute( 'data-wp-context', '{ "core": { "navigation": { "submenuOpenedBy": {}, "type": "submenu" } } }' );
- $w->set_attribute( 'data-wp-effect', 'effects.core.navigation.initMenu' );
- $w->set_attribute( 'data-wp-on--focusout', 'actions.core.navigation.handleMenuFocusout' );
- $w->set_attribute( 'data-wp-on--keydown', 'actions.core.navigation.handleMenuKeydown' );
+ $tags->set_attribute( 'data-wp-interactive', 'core/navigation' );
+ $tags->set_attribute( 'data-wp-context', '{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu" }' );
+ $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' );
// This is a fix for Safari. Without it, Safari doesn't change the active
// element when the user clicks on a button. It can be removed once we add
// an overlay to capture the clicks, instead of relying on the focusout
// event.
- $w->set_attribute( 'tabindex', '-1' );
+ $tags->set_attribute( 'tabindex', '-1' );
if ( ! isset( $block_attributes['openSubmenusOnClick'] ) || false === $block_attributes['openSubmenusOnClick'] ) {
- $w->set_attribute( 'data-wp-on--mouseenter', 'actions.core.navigation.openMenuOnHover' );
- $w->set_attribute( 'data-wp-on--mouseleave', 'actions.core.navigation.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.
- if ( $w->next_tag(
+ if ( $tags->next_tag(
array(
'tag_name' => 'BUTTON',
'class_name' => 'wp-block-navigation-submenu__toggle',
)
) ) {
- $w->set_attribute( 'data-wp-on--click', 'actions.core.navigation.toggleMenuOnClick' );
- $w->set_attribute( 'data-wp-bind--aria-expanded', 'selectors.core.navigation.isMenuOpen' );
+ $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.
}
// Add directives to the submenu.
- if ( $w->next_tag(
+ if ( $tags->next_tag(
array(
'tag_name' => 'UL',
'class_name' => 'wp-block-navigation__submenu-container',
)
) ) {
- $w->set_attribute( 'data-wp-on--focus', 'actions.core.navigation.openMenuOnFocus' );
+ $tags->set_attribute( 'data-wp-on--focus', 'actions.openMenuOnFocus' );
}
// Iterate through subitems if exist.
- block_core_navigation_add_directives_to_submenu( $w, $block_attributes );
+ block_core_navigation_add_directives_to_submenu( $tags, $block_attributes );
}
- return $w->get_updated_html();
+ return $tags->get_updated_html();
}
/**
@@ -310,7 +991,9 @@ function block_core_navigation_block_contains_core_navigation( $inner_blocks ) {
function block_core_navigation_get_fallback_blocks() {
$page_list_fallback = array(
array(
- 'blockName' => 'core/page-list',
+ 'blockName' => 'core/page-list',
+ 'innerContent' => array(),
+ 'attrs' => array(),
),
);
@@ -318,12 +1001,7 @@ function block_core_navigation_get_fallback_blocks() {
// If `core/page-list` is not registered then return empty blocks.
$fallback_blocks = $registry->is_registered( 'core/page-list' ) ? $page_list_fallback : array();
-
- if ( class_exists( 'WP_Navigation_Fallback' ) ) {
- $navigation_post = WP_Navigation_Fallback::get_fallback();
- } else {
- $navigation_post = Gutenberg_Navigation_Fallback::get_fallback();
- }
+ $navigation_post = WP_Navigation_Fallback::get_fallback();
// Use the first non-empty Navigation as fallback if available.
if ( $navigation_post ) {
@@ -333,6 +1011,17 @@ function block_core_navigation_get_fallback_blocks() {
// Normalizing blocks may result in an empty array of blocks if they were all `null` blocks.
// In this case default to the (Page List) fallback.
$fallback_blocks = ! empty( $maybe_fallback ) ? $maybe_fallback : $fallback_blocks;
+
+ if ( function_exists( 'set_ignored_hooked_blocks_metadata' ) ) {
+ // Run Block Hooks algorithm to inject hooked blocks.
+ // We have to run it here because we need the post ID of the Navigation block to track ignored hooked blocks.
+ $markup = block_core_navigation_insert_hooked_blocks( $fallback_blocks, $navigation_post );
+ $blocks = parse_blocks( $markup );
+
+ if ( isset( $blocks[0]['innerBlocks'] ) ) {
+ $fallback_blocks = $blocks[0]['innerBlocks'];
+ }
+ }
}
/**
@@ -344,7 +1033,7 @@ function block_core_navigation_get_fallback_blocks() {
*
* @since 5.9.0
*
- * @param array[] default fallback blocks provided by the default block mechanic.
+ * @param array[] $fallback_blocks default fallback blocks provided by the default block mechanic.
*/
return apply_filters( 'block_core_navigation_render_fallback', $fallback_blocks );
}
@@ -391,391 +1080,10 @@ function block_core_navigation_from_block_get_post_ids( $block ) {
* @param string $content The saved content.
* @param WP_Block $block The parsed block.
*
- * @return string Returns the post content with the legacy widget added.
+ * @return string Returns the navigation block markup.
*/
function render_block_core_navigation( $attributes, $content, $block ) {
- static $seen_menu_names = array();
-
- // Flag used to indicate whether the rendered output is considered to be
- // a fallback (i.e. the block has no menu associated with it).
- $is_fallback = false;
-
- $nav_menu_name = $attributes['ariaLabel'] ?? '';
-
- /**
- * Deprecated:
- * The rgbTextColor and rgbBackgroundColor attributes
- * have been deprecated in favor of
- * customTextColor and customBackgroundColor ones.
- * Move the values from old attrs to the new ones.
- */
- if ( isset( $attributes['rgbTextColor'] ) && empty( $attributes['textColor'] ) ) {
- $attributes['customTextColor'] = $attributes['rgbTextColor'];
- }
-
- if ( isset( $attributes['rgbBackgroundColor'] ) && empty( $attributes['backgroundColor'] ) ) {
- $attributes['customBackgroundColor'] = $attributes['rgbBackgroundColor'];
- }
-
- unset( $attributes['rgbTextColor'], $attributes['rgbBackgroundColor'] );
-
- /**
- * This is for backwards compatibility after `isResponsive` attribute has been removed.
- */
- $has_old_responsive_attribute = ! empty( $attributes['isResponsive'] ) && $attributes['isResponsive'];
- $is_responsive_menu = isset( $attributes['overlayMenu'] ) && 'never' !== $attributes['overlayMenu'] || $has_old_responsive_attribute;
-
- $inner_blocks = $block->inner_blocks;
-
- // Ensure that blocks saved with the legacy ref attribute name (navigationMenuId) continue to render.
- if ( array_key_exists( 'navigationMenuId', $attributes ) ) {
- $attributes['ref'] = $attributes['navigationMenuId'];
- }
-
- // If:
- // - the gutenberg plugin is active
- // - `__unstableLocation` is defined
- // - we have menu items at the defined location
- // - we don't have a relationship to a `wp_navigation` Post (via `ref`).
- // ...then create inner blocks from the classic menu assigned to that location.
- if (
- defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN &&
- array_key_exists( '__unstableLocation', $attributes ) &&
- ! array_key_exists( 'ref', $attributes ) &&
- ! empty( block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] ) )
- ) {
- $menu_items = block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] );
- if ( empty( $menu_items ) ) {
- return '';
- }
-
- $menu_items_by_parent_id = block_core_navigation_sort_menu_items_by_parent_id( $menu_items );
- $parsed_blocks = block_core_navigation_parse_blocks_from_menu_items( $menu_items_by_parent_id[0], $menu_items_by_parent_id );
- $inner_blocks = new WP_Block_List( $parsed_blocks, $attributes );
- }
-
- // Load inner blocks from the navigation post.
- if ( array_key_exists( 'ref', $attributes ) ) {
- $navigation_post = get_post( $attributes['ref'] );
- if ( ! isset( $navigation_post ) ) {
- return '';
- }
-
- // Only published posts are valid. If this is changed then a corresponding change
- // must also be implemented in `use-navigation-menu.js`.
- if ( 'publish' === $navigation_post->post_status ) {
- $nav_menu_name = $navigation_post->post_title;
-
- if ( isset( $seen_menu_names[ $nav_menu_name ] ) ) {
- ++$seen_menu_names[ $nav_menu_name ];
- } else {
- $seen_menu_names[ $nav_menu_name ] = 1;
- }
-
- $parsed_blocks = parse_blocks( $navigation_post->post_content );
-
- // 'parse_blocks' includes a null block with '\n\n' as the content when
- // it encounters whitespace. This code strips it.
- $compacted_blocks = block_core_navigation_filter_out_empty_blocks( $parsed_blocks );
-
- // TODO - this uses the full navigation block attributes for the
- // context which could be refined.
- $inner_blocks = new WP_Block_List( $compacted_blocks, $attributes );
- }
- }
-
- // If there are no inner blocks then fallback to rendering an appropriate fallback.
- if ( empty( $inner_blocks ) ) {
- $is_fallback = true; // indicate we are rendering the fallback.
-
- $fallback_blocks = block_core_navigation_get_fallback_blocks();
-
- // Fallback my have been filtered so do basic test for validity.
- if ( empty( $fallback_blocks ) || ! is_array( $fallback_blocks ) ) {
- return '';
- }
-
- $inner_blocks = new WP_Block_List( $fallback_blocks, $attributes );
- }
-
- if ( block_core_navigation_block_contains_core_navigation( $inner_blocks ) ) {
- return '';
- }
-
- /**
- * Filter navigation block $inner_blocks.
- * Allows modification of a navigation block menu items.
- *
- * @since 6.1.0
- *
- * @param \WP_Block_List $inner_blocks
- */
- $inner_blocks = apply_filters( 'block_core_navigation_render_inner_blocks', $inner_blocks );
-
- $layout_justification = array(
- 'left' => 'items-justified-left',
- 'right' => 'items-justified-right',
- 'center' => 'items-justified-center',
- 'space-between' => 'items-justified-space-between',
- );
-
- // Restore legacy classnames for submenu positioning.
- $layout_class = '';
- if (
- isset( $attributes['layout']['justifyContent'] ) &&
- isset( $layout_justification[ $attributes['layout']['justifyContent'] ] )
- ) {
- $layout_class .= $layout_justification[ $attributes['layout']['justifyContent'] ];
- }
- if ( isset( $attributes['layout']['orientation'] ) && 'vertical' === $attributes['layout']['orientation'] ) {
- $layout_class .= ' is-vertical';
- }
-
- if ( isset( $attributes['layout']['flexWrap'] ) && 'nowrap' === $attributes['layout']['flexWrap'] ) {
- $layout_class .= ' no-wrap';
- }
-
- // Manually add block support text decoration as CSS class.
- $text_decoration = $attributes['style']['typography']['textDecoration'] ?? null;
- $text_decoration_class = sprintf( 'has-text-decoration-%s', $text_decoration );
-
- $colors = block_core_navigation_build_css_colors( $attributes );
- $font_sizes = block_core_navigation_build_css_font_sizes( $attributes );
- $classes = array_merge(
- $colors['css_classes'],
- $font_sizes['css_classes'],
- $is_responsive_menu ? array( 'is-responsive' ) : array(),
- $layout_class ? array( $layout_class ) : array(),
- $is_fallback ? array( 'is-fallback' ) : array(),
- $text_decoration ? array( $text_decoration_class ) : array()
- );
-
- $post_ids = block_core_navigation_get_post_ids( $inner_blocks );
- if ( $post_ids ) {
- _prime_post_caches( $post_ids, false, false );
- }
-
- $list_item_nav_blocks = array(
- 'core/navigation-link',
- 'core/home-link',
- 'core/site-title',
- 'core/site-logo',
- 'core/navigation-submenu',
- );
-
- $needs_list_item_wrapper = array(
- 'core/site-title',
- 'core/site-logo',
- );
-
- $block_styles = isset( $attributes['styles'] ) ? $attributes['styles'] : '';
- $style = $block_styles . $colors['inline_styles'] . $font_sizes['inline_styles'];
- $class = implode( ' ', $classes );
-
- // If the menu name has been used previously then append an ID
- // to the name to ensure uniqueness across a given post.
- if ( isset( $seen_menu_names[ $nav_menu_name ] ) && $seen_menu_names[ $nav_menu_name ] > 1 ) {
- $count = $seen_menu_names[ $nav_menu_name ];
- $nav_menu_name = $nav_menu_name . ' ' . ( $count );
- }
-
- $wrapper_attributes = get_block_wrapper_attributes(
- array(
- 'class' => $class,
- 'style' => $style,
- 'aria-label' => $nav_menu_name,
- )
- );
-
- $container_attributes = get_block_wrapper_attributes(
- array(
- 'class' => 'wp-block-navigation__container ' . $class,
- 'style' => $style,
- )
- );
-
- $inner_blocks_html = '';
- $is_list_open = false;
- $has_submenus = false;
- foreach ( $inner_blocks as $inner_block ) {
- $is_list_item = in_array( $inner_block->name, $list_item_nav_blocks, true );
-
- if ( $is_list_item && ! $is_list_open ) {
- $is_list_open = true;
- $inner_blocks_html .= sprintf(
- '',
- $container_attributes
- );
- }
-
- if ( ! $is_list_item && $is_list_open ) {
- $is_list_open = false;
- $inner_blocks_html .= ' ';
- }
-
- $inner_block_content = $inner_block->render();
- $p = new WP_HTML_Tag_Processor( $inner_block_content );
- if ( $p->next_tag(
- array(
- 'name' => 'LI',
- 'class_name' => 'has-child',
- )
- ) ) {
- $has_submenus = true;
- }
- if ( ! empty( $inner_block_content ) ) {
- if ( in_array( $inner_block->name, $needs_list_item_wrapper, true ) ) {
- $inner_blocks_html .= ' ' . $inner_block_content . ' ';
- } else {
- $inner_blocks_html .= $inner_block_content;
- }
- }
- }
-
- if ( $is_list_open ) {
- $inner_blocks_html .= '';
- }
-
- $should_load_view_script = ( $has_submenus && ( $attributes['openSubmenusOnClick'] || $attributes['showSubmenuIcon'] ) ) || $is_responsive_menu;
- $view_js_file = 'wp-block-navigation-view';
-
- // If the script already exists, there is no point in removing it from viewScript.
- if ( ! wp_script_is( $view_js_file ) ) {
- $script_handles = $block->block_type->view_script_handles;
-
- // If the script is not needed, and it is still in the `view_script_handles`, remove it.
- if ( ! $should_load_view_script && in_array( $view_js_file, $script_handles, true ) ) {
- $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file ) );
- }
- // If the script is needed, but it was previously removed, add it again.
- if ( $should_load_view_script && ! in_array( $view_js_file, $script_handles, true ) ) {
- $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file ) );
- }
- }
-
- // Add directives to the submenu if needed.
- if ( $has_submenus && $should_load_view_script ) {
- $w = new WP_HTML_Tag_Processor( $inner_blocks_html );
- $inner_blocks_html = block_core_navigation_add_directives_to_submenu( $w, $attributes );
- }
-
- $modal_unique_id = wp_unique_id( 'modal-' );
-
- // Determine whether or not navigation elements should be wrapped in the markup required to make it responsive,
- // return early if they don't.
- if ( ! $is_responsive_menu ) {
- return sprintf(
- '
%2$s ',
- $wrapper_attributes,
- $inner_blocks_html
- );
- }
-
- $is_hidden_by_default = isset( $attributes['overlayMenu'] ) && 'always' === $attributes['overlayMenu'];
-
- $responsive_container_classes = array(
- 'wp-block-navigation__responsive-container',
- $is_hidden_by_default ? 'hidden-by-default' : '',
- implode( ' ', $colors['overlay_css_classes'] ),
- );
- $open_button_classes = array(
- 'wp-block-navigation__responsive-container-open',
- $is_hidden_by_default ? 'always-shown' : '',
- );
-
- $should_display_icon_label = isset( $attributes['hasIcon'] ) && true === $attributes['hasIcon'];
- $toggle_button_icon = '
';
- if ( isset( $attributes['icon'] ) ) {
- if ( 'menu' === $attributes['icon'] ) {
- $toggle_button_icon = '
';
- }
- }
- $toggle_button_content = $should_display_icon_label ? $toggle_button_icon : __( 'Menu' );
- $toggle_close_button_icon = '
';
- $toggle_close_button_content = $should_display_icon_label ? $toggle_close_button_icon : __( 'Close' );
- $toggle_aria_label_open = $should_display_icon_label ? 'aria-label="' . __( 'Open menu' ) . '"' : ''; // Open button label.
- $toggle_aria_label_close = $should_display_icon_label ? 'aria-label="' . __( 'Close menu' ) . '"' : ''; // Close button label.
-
- // Add Interactivity API directives to the markup if needed.
- $nav_element_directives = '';
- $open_button_directives = '';
- $responsive_container_directives = '';
- $responsive_dialog_directives = '';
- $close_button_directives = '';
- if ( $should_load_view_script ) {
- $nav_element_context = wp_json_encode(
- array(
- 'core' => array(
- 'navigation' => array(
- 'overlayOpenedBy' => array(),
- 'type' => 'overlay',
- 'roleAttribute' => '',
- 'ariaLabel' => __( 'Menu' ),
- ),
- ),
- ),
- JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP
- );
- $nav_element_directives = '
- data-wp-interactive
- data-wp-context=\'' . $nav_element_context . '\'
- ';
- $open_button_directives = '
- data-wp-on--click="actions.core.navigation.openMenuOnClick"
- data-wp-on--keydown="actions.core.navigation.handleMenuKeydown"
- ';
- $responsive_container_directives = '
- data-wp-class--has-modal-open="selectors.core.navigation.isMenuOpen"
- data-wp-class--is-menu-open="selectors.core.navigation.isMenuOpen"
- data-wp-effect="effects.core.navigation.initMenu"
- data-wp-on--keydown="actions.core.navigation.handleMenuKeydown"
- data-wp-on--focusout="actions.core.navigation.handleMenuFocusout"
- tabindex="-1"
- ';
- $responsive_dialog_directives = '
- data-wp-bind--aria-modal="selectors.core.navigation.ariaModal"
- data-wp-bind--aria-label="selectors.core.navigation.ariaLabel"
- data-wp-bind--role="selectors.core.navigation.roleAttribute"
- data-wp-effect="effects.core.navigation.focusFirstElement"
- ';
- $close_button_directives = '
- data-wp-on--click="actions.core.navigation.closeMenuOnClick"
- ';
- }
-
- $responsive_container_markup = sprintf(
- '
%8$s
-
',
- esc_attr( $modal_unique_id ),
- $inner_blocks_html,
- $toggle_aria_label_open,
- $toggle_aria_label_close,
- esc_attr( implode( ' ', $responsive_container_classes ) ),
- esc_attr( implode( ' ', $open_button_classes ) ),
- esc_attr( safecss_filter_attr( $colors['overlay_inline_styles'] ) ),
- $toggle_button_content,
- $toggle_close_button_content,
- $open_button_directives,
- $responsive_container_directives,
- $responsive_dialog_directives,
- $close_button_directives
- );
-
- return sprintf(
- '
%2$s ',
- $wrapper_attributes,
- $responsive_container_markup,
- $nav_element_directives
- );
+ return WP_Navigation_Block_Renderer::render( $attributes, $content, $block );
}
/**
@@ -829,25 +1137,6 @@ function block_core_navigation_typographic_presets_backcompatibility( $parsed_bl
add_filter( 'render_block_data', 'block_core_navigation_typographic_presets_backcompatibility' );
-/**
- * Ensure that the view script has the `wp-interactivity` dependency.
- *
- * @since 6.4.0
- *
- * @global WP_Scripts $wp_scripts
- */
-function block_core_navigation_ensure_interactivity_dependency() {
- global $wp_scripts;
- if (
- isset( $wp_scripts->registered['wp-block-navigation-view'] ) &&
- ! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-navigation-view']->deps, true )
- ) {
- $wp_scripts->registered['wp-block-navigation-view']->deps[] = 'wp-interactivity';
- }
-}
-
-add_action( 'wp_print_scripts', 'block_core_navigation_ensure_interactivity_dependency' );
-
/**
* Turns menu item data into a nested array of parsed blocks
*
@@ -1066,3 +1355,221 @@ function block_core_navigation_get_most_recently_published_navigation() {
return null;
}
+
+/**
+ * Accepts the serialized markup of a block and its inner blocks, and returns serialized markup of the inner blocks.
+ *
+ * @param string $serialized_block The serialized markup of a block and its inner blocks.
+ * @return string
+ */
+function block_core_navigation_remove_serialized_parent_block( $serialized_block ) {
+ $start = strpos( $serialized_block, '-->' ) + strlen( '-->' );
+ $end = strrpos( $serialized_block, '`. Support these by defaulting an undefined label and
@@ -36,7 +36,6 @@ function render_block_core_search( $attributes, $content, $block ) {
$show_button = ( ! empty( $attributes['buttonPosition'] ) && 'no-button' === $attributes['buttonPosition'] ) ? false : true;
$button_position = $show_button ? $attributes['buttonPosition'] : null;
$query_params = ( ! empty( $attributes['query'] ) ) ? $attributes['query'] : array();
- $button_behavior = ( ! empty( $attributes['buttonBehavior'] ) ) ? $attributes['buttonBehavior'] : 'default';
$button = '';
$query_params_markup = '';
$inline_styles = styles_for_block_core_search( $attributes );
@@ -48,7 +47,7 @@ function render_block_core_search( $attributes, $content, $block ) {
$border_color_classes = get_border_color_classes_for_block_core_search( $attributes );
// This variable is a constant and its value is always false at this moment.
// It is defined this way because some values depend on it, in case it changes in the future.
- $open_by_default = 'false';
+ $open_by_default = false;
$label_inner_html = empty( $attributes['label'] ) ? __( 'Search' ) : wp_kses_post( $attributes['label'] );
$label = new WP_HTML_Tag_Processor( sprintf( '
%2$s ', $inline_styles['label'], $label_inner_html ) );
@@ -78,28 +77,29 @@ function render_block_core_search( $attributes, $content, $block ) {
$input->set_attribute( 'value', get_search_query() );
$input->set_attribute( 'placeholder', $attributes['placeholder'] );
- $is_expandable_searchfield = 'button-only' === $button_position && 'expand-searchfield' === $button_behavior;
+ // If it's interactive, enqueue the script module and add the directives.
+ $is_expandable_searchfield = 'button-only' === $button_position;
if ( $is_expandable_searchfield ) {
- $input->set_attribute( 'data-wp-bind--aria-hidden', '!context.core.search.isSearchInputVisible' );
- $input->set_attribute( 'data-wp-bind--tabindex', 'selectors.core.search.tabindex' );
- // Adding these attributes manually is needed until the Interactivity API SSR logic is added to core.
- $input->set_attribute( 'aria-hidden', 'true' );
- $input->set_attribute( 'tabindex', '-1' );
- }
+ $suffix = wp_scripts_get_suffix();
+ if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
+ $module_url = gutenberg_url( '/build/interactivity/search.min.js' );
+ }
- // If the script already exists, there is no point in removing it from viewScript.
- $view_js_file = 'wp-block-search-view';
- if ( ! wp_script_is( $view_js_file ) ) {
- $script_handles = $block->block_type->view_script_handles;
+ wp_register_script_module(
+ '@wordpress/block-library/search',
+ isset( $module_url ) ? $module_url : includes_url( "blocks/search/view{$suffix}.js" ),
+ array( '@wordpress/interactivity' ),
+ defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
+ );
+ wp_enqueue_script_module( '@wordpress/block-library/search' );
- // If the script is not needed, and it is still in the `view_script_handles`, remove it.
- if ( ! $is_expandable_searchfield && in_array( $view_js_file, $script_handles, true ) ) {
- $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file ) );
- }
- // If the script is needed, but it was previously removed, add it again.
- if ( $is_expandable_searchfield && ! in_array( $view_js_file, $script_handles, true ) ) {
- $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file ) );
- }
+ $input->set_attribute( 'data-wp-bind--aria-hidden', '!context.isSearchInputVisible' );
+ $input->set_attribute( 'data-wp-bind--tabindex', 'state.tabindex' );
+
+ // Adding these attributes manually is needed until the Interactivity API
+ // SSR logic is added to core.
+ $input->set_attribute( 'aria-hidden', 'true' );
+ $input->set_attribute( 'tabindex', '-1' );
}
}
@@ -144,13 +144,15 @@ function render_block_core_search( $attributes, $content, $block ) {
if ( $button->next_tag() ) {
$button->add_class( implode( ' ', $button_classes ) );
- if ( 'expand-searchfield' === $attributes['buttonBehavior'] && 'button-only' === $attributes['buttonPosition'] ) {
- $button->set_attribute( 'data-wp-bind--aria-label', 'selectors.core.search.ariaLabel' );
- $button->set_attribute( 'data-wp-bind--aria-controls', 'selectors.core.search.ariaControls' );
- $button->set_attribute( 'data-wp-bind--aria-expanded', 'context.core.search.isSearchInputVisible' );
- $button->set_attribute( 'data-wp-bind--type', 'selectors.core.search.type' );
- $button->set_attribute( 'data-wp-on--click', 'actions.core.search.openSearchInput' );
- // Adding these attributes manually is needed until the Interactivity API SSR logic is added to core.
+ if ( 'button-only' === $attributes['buttonPosition'] ) {
+ $button->set_attribute( 'data-wp-bind--aria-label', 'state.ariaLabel' );
+ $button->set_attribute( 'data-wp-bind--aria-controls', 'state.ariaControls' );
+ $button->set_attribute( 'data-wp-bind--aria-expanded', 'context.isSearchInputVisible' );
+ $button->set_attribute( 'data-wp-bind--type', 'state.type' );
+ $button->set_attribute( 'data-wp-on--click', 'actions.openSearchInput' );
+
+ // Adding these attributes manually is needed until the Interactivity
+ // API SSR logic is added to core.
$button->set_attribute( 'aria-label', __( 'Expand search field' ) );
$button->set_attribute( 'aria-controls', 'wp-block-search__input-' . $input_id );
$button->set_attribute( 'aria-expanded', 'false' );
@@ -172,15 +174,25 @@ function render_block_core_search( $attributes, $content, $block ) {
array( 'class' => $classnames )
);
$form_directives = '';
+
+ // If it's interactive, add the directives.
if ( $is_expandable_searchfield ) {
$aria_label_expanded = __( 'Submit Search' );
$aria_label_collapsed = __( 'Expand search field' );
+ $form_context = wp_interactivity_data_wp_context(
+ array(
+ 'isSearchInputVisible' => $open_by_default,
+ 'inputId' => $input_id,
+ 'ariaLabelExpanded' => $aria_label_expanded,
+ 'ariaLabelCollapsed' => $aria_label_collapsed,
+ )
+ );
$form_directives = '
- data-wp-interactive
- data-wp-context=\'{ "core": { "search": { "isSearchInputVisible": ' . $open_by_default . ', "inputId": "' . $input_id . '", "ariaLabelExpanded": "' . $aria_label_expanded . '", "ariaLabelCollapsed": "' . $aria_label_collapsed . '" } } }\'
- data-wp-class--wp-block-search__searchfield-hidden="!context.core.search.isSearchInputVisible"
- data-wp-on--keydown="actions.core.search.handleSearchKeydown"
- data-wp-on--focusout="actions.core.search.handleSearchFocusout"
+ data-wp-interactive="core/search"'
+ . $form_context .
+ 'data-wp-class--wp-block-search__searchfield-hidden="!context.isSearchInputVisible"
+ data-wp-on--keydown="actions.handleSearchKeydown"
+ data-wp-on--focusout="actions.handleSearchFocusout"
';
}
@@ -206,25 +218,6 @@ function register_block_core_search() {
}
add_action( 'init', 'register_block_core_search' );
-/**
- * Ensure that the view script has the `wp-interactivity` dependency.
- *
- * @since 6.4.0
- *
- * @global WP_Scripts $wp_scripts
- */
-function block_core_search_ensure_interactivity_dependency() {
- global $wp_scripts;
- if (
- isset( $wp_scripts->registered['wp-block-search-view'] ) &&
- ! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-search-view']->deps, true )
- ) {
- $wp_scripts->registered['wp-block-search-view']->deps[] = 'wp-interactivity';
- }
-}
-
-add_action( 'wp_print_scripts', 'block_core_search_ensure_interactivity_dependency' );
-
/**
* Builds the correct top level classnames for the 'core/search' block.
*
@@ -249,10 +242,7 @@ function classnames_for_block_core_search( $attributes ) {
}
if ( 'button-only' === $attributes['buttonPosition'] ) {
- $classnames[] = 'wp-block-search__button-only';
- if ( ! empty( $attributes['buttonBehavior'] ) && 'expand-searchfield' === $attributes['buttonBehavior'] ) {
- $classnames[] = 'wp-block-search__button-behavior-expand wp-block-search__searchfield-hidden';
- }
+ $classnames[] = 'wp-block-search__button-only wp-block-search__searchfield-hidden';
}
}
diff --git a/wp-includes/blocks/search/block.json b/wp-includes/blocks/search/block.json
index 5669a9089..8d5e20804 100644
--- a/wp-includes/blocks/search/block.json
+++ b/wp-includes/blocks/search/block.json
@@ -43,10 +43,6 @@
"type": "object",
"default": {}
},
- "buttonBehavior": {
- "type": "string",
- "default": "expand-searchfield"
- },
"isSearchFieldHidden": {
"type": "boolean",
"default": false
@@ -91,7 +87,6 @@
},
"html": false
},
- "viewScript": "file:./view.min.js",
"editorStyle": "wp-block-search-editor",
"style": "wp-block-search"
}
diff --git a/wp-includes/blocks/search/editor-rtl.css b/wp-includes/blocks/search/editor-rtl.css
index 05eeacfbb..26babe4f8 100644
--- a/wp-includes/blocks/search/editor-rtl.css
+++ b/wp-includes/blocks/search/editor-rtl.css
@@ -8,6 +8,7 @@
display:flex;
height:auto;
justify-content:center;
+ text-align:center;
}
.wp-block-search__components-button-group{
margin-top:10px;
diff --git a/wp-includes/blocks/search/editor-rtl.min.css b/wp-includes/blocks/search/editor-rtl.min.css
index b9c22f481..f24037ce5 100644
--- a/wp-includes/blocks/search/editor-rtl.min.css
+++ b/wp-includes/blocks/search/editor-rtl.min.css
@@ -1 +1 @@
-.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center}.wp-block-search__components-button-group{margin-top:10px}
\ No newline at end of file
+.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center;text-align:center}.wp-block-search__components-button-group{margin-top:10px}
\ No newline at end of file
diff --git a/wp-includes/blocks/search/editor.css b/wp-includes/blocks/search/editor.css
index 05eeacfbb..26babe4f8 100644
--- a/wp-includes/blocks/search/editor.css
+++ b/wp-includes/blocks/search/editor.css
@@ -8,6 +8,7 @@
display:flex;
height:auto;
justify-content:center;
+ text-align:center;
}
.wp-block-search__components-button-group{
margin-top:10px;
diff --git a/wp-includes/blocks/search/editor.min.css b/wp-includes/blocks/search/editor.min.css
index b9c22f481..f24037ce5 100644
--- a/wp-includes/blocks/search/editor.min.css
+++ b/wp-includes/blocks/search/editor.min.css
@@ -1 +1 @@
-.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center}.wp-block-search__components-button-group{margin-top:10px}
\ No newline at end of file
+.wp-block[data-align=center] .wp-block-search .wp-block-search__inside-wrapper{margin:auto}.wp-block-search .wp-block-search__button{align-items:center;border-radius:initial;display:flex;height:auto;justify-content:center;text-align:center}.wp-block-search__components-button-group{margin-top:10px}
\ No newline at end of file
diff --git a/wp-includes/blocks/search/style-rtl.css b/wp-includes/blocks/search/style-rtl.css
index ff600861b..755681c38 100644
--- a/wp-includes/blocks/search/style-rtl.css
+++ b/wp-includes/blocks/search/style-rtl.css
@@ -6,9 +6,11 @@
line-height:0;
}
.wp-block-search__button svg{
- fill:currentColor;
+ height:1.25em;
min-height:24px;
min-width:24px;
+ width:1.25em;
+ fill:currentColor;
vertical-align:text-bottom;
}
@@ -43,8 +45,33 @@
.wp-block-search.wp-block-search__button-only .wp-block-search__button{
flex-shrink:0;
margin-right:0;
+ max-width:100%;
+}
+.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{
max-width:calc(100% - 100px);
}
+.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{
+ min-width:0 !important;
+ transition-property:width;
+}
+.wp-block-search.wp-block-search__button-only .wp-block-search__input{
+ flex-basis:100%;
+ transition-duration:.3s;
+}
+.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{
+ overflow:hidden;
+}
+.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{
+ border-left-width:0 !important;
+ border-right-width:0 !important;
+ flex-basis:0;
+ flex-grow:0;
+ margin:0;
+ min-width:0 !important;
+ padding-left:0 !important;
+ padding-right:0 !important;
+ width:0 !important;
+}
:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){
border:1px solid #949494;
@@ -67,29 +94,6 @@
margin:auto;
}
-.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{
- min-width:0 !important;
- transition-property:width;
-}
-.wp-block-search__button-behavior-expand .wp-block-search__input{
- flex-basis:100%;
- transition-duration:.3s;
-}
-.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{
- overflow:hidden;
-}
-.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{
- border-left-width:0 !important;
- border-right-width:0 !important;
- flex-basis:0;
- flex-grow:0;
- margin:0;
- min-width:0 !important;
- padding-left:0 !important;
- padding-right:0 !important;
- width:0 !important;
-}
-
-.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{
+.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{
float:left;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/search/style-rtl.min.css b/wp-includes/blocks/search/style-rtl.min.css
index 73dea5a6f..19f9266c7 100644
--- a/wp-includes/blocks/search/style-rtl.min.css
+++ b/wp-includes/blocks/search/style-rtl.min.css
@@ -1 +1 @@
-.wp-block-search__button{margin-right:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-right:0;max-width:calc(100% - 100px)}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search__button-behavior-expand .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{float:left}
\ No newline at end of file
+.wp-block-search__button{margin-right:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{height:1.25em;min-height:24px;min-width:24px;width:1.25em;fill:currentColor;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-right:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{max-width:calc(100% - 100px)}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:left}
\ No newline at end of file
diff --git a/wp-includes/blocks/search/style.css b/wp-includes/blocks/search/style.css
index 91fe4f72f..536a2d10c 100644
--- a/wp-includes/blocks/search/style.css
+++ b/wp-includes/blocks/search/style.css
@@ -6,9 +6,11 @@
line-height:0;
}
.wp-block-search__button svg{
- fill:currentColor;
+ height:1.25em;
min-height:24px;
min-width:24px;
+ width:1.25em;
+ fill:currentColor;
vertical-align:text-bottom;
}
@@ -43,8 +45,33 @@
.wp-block-search.wp-block-search__button-only .wp-block-search__button{
flex-shrink:0;
margin-left:0;
+ max-width:100%;
+}
+.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{
max-width:calc(100% - 100px);
}
+.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{
+ min-width:0 !important;
+ transition-property:width;
+}
+.wp-block-search.wp-block-search__button-only .wp-block-search__input{
+ flex-basis:100%;
+ transition-duration:.3s;
+}
+.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{
+ overflow:hidden;
+}
+.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{
+ border-left-width:0 !important;
+ border-right-width:0 !important;
+ flex-basis:0;
+ flex-grow:0;
+ margin:0;
+ min-width:0 !important;
+ padding-left:0 !important;
+ padding-right:0 !important;
+ width:0 !important;
+}
:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){
border:1px solid #949494;
@@ -67,29 +94,6 @@
margin:auto;
}
-.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{
- min-width:0 !important;
- transition-property:width;
-}
-.wp-block-search__button-behavior-expand .wp-block-search__input{
- flex-basis:100%;
- transition-duration:.3s;
-}
-.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{
- overflow:hidden;
-}
-.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{
- border-left-width:0 !important;
- border-right-width:0 !important;
- flex-basis:0;
- flex-grow:0;
- margin:0;
- min-width:0 !important;
- padding-left:0 !important;
- padding-right:0 !important;
- width:0 !important;
-}
-
-.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{
+.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{
float:right;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/search/style.min.css b/wp-includes/blocks/search/style.min.css
index c744f3770..82d39a5e1 100644
--- a/wp-includes/blocks/search/style.min.css
+++ b/wp-includes/blocks/search/style.min.css
@@ -1 +1 @@
-.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:24px;min-width:24px;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-left:0;max-width:calc(100% - 100px)}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search__button-behavior-expand .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}.wp-block[data-align=right] .wp-block-search__button-behavior-expand .wp-block-search__inside-wrapper{float:right}
\ No newline at end of file
+.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{height:1.25em;min-height:24px;min-width:24px;width:1.25em;fill:currentColor;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{-webkit-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{flex-shrink:0;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true]{max-width:calc(100% - 100px)}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right}
\ No newline at end of file
diff --git a/wp-includes/blocks/search/view.asset.php b/wp-includes/blocks/search/view.asset.php
index 9ecb989ae..e9b5021ae 100644
--- a/wp-includes/blocks/search/view.asset.php
+++ b/wp-includes/blocks/search/view.asset.php
@@ -1 +1 @@
- array(), 'version' => 'bbd4958a430d8ba14c4c');
+ array(), 'version' => '2a0784014283afdd3c25');
diff --git a/wp-includes/blocks/search/view.js b/wp-includes/blocks/search/view.js
index 9d18abf48..223484749 100644
--- a/wp-includes/blocks/search/view.js
+++ b/wp-includes/blocks/search/view.js
@@ -1,101 +1,112 @@
-"use strict";
-(self["__WordPressPrivateInteractivityAPI__"] = self["__WordPressPrivateInteractivityAPI__"] || []).push([[222],{
+import * as __WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__ from "@wordpress/interactivity";
+/******/ // The require scope
+/******/ var __webpack_require__ = {};
+/******/
+/************************************************************************/
+/******/ /* webpack/runtime/define property getters */
+/******/ (() => {
+/******/ // define getter functions for harmony exports
+/******/ __webpack_require__.d = (exports, definition) => {
+/******/ for(var key in definition) {
+/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/ }
+/******/ }
+/******/ };
+/******/ })();
+/******/
+/******/ /* webpack/runtime/hasOwnProperty shorthand */
+/******/ (() => {
+/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
+/******/ })();
+/******/
+/************************************************************************/
+var __webpack_exports__ = {};
-/***/ 534:
-/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
-
-/* harmony import */ var _wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(754);
+;// CONCATENATED MODULE: external "@wordpress/interactivity"
+var x = (y) => {
+ var x = {}; __webpack_require__.d(x, y); return x
+}
+var y = (x) => (() => (x))
+const interactivity_namespaceObject = x({ ["getContext"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getContext), ["getElement"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.getElement), ["store"]: () => (__WEBPACK_EXTERNAL_MODULE__wordpress_interactivity_8e89b257__.store) });
+;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/view.js
/**
* WordPress dependencies
*/
-(0,_wordpress_interactivity__WEBPACK_IMPORTED_MODULE_0__/* .store */ .h)({
- selectors: {
- core: {
- search: {
- ariaLabel: ({
- context
- }) => {
- const {
- ariaLabelCollapsed,
- ariaLabelExpanded
- } = context.core.search;
- return context.core.search.isSearchInputVisible ? ariaLabelExpanded : ariaLabelCollapsed;
- },
- ariaControls: ({
- context
- }) => {
- return context.core.search.isSearchInputVisible ? null : context.core.search.inputId;
- },
- type: ({
- context
- }) => {
- return context.core.search.isSearchInputVisible ? 'submit' : 'button';
- },
- tabindex: ({
- context
- }) => {
- return context.core.search.isSearchInputVisible ? '0' : '-1';
- }
- }
+const {
+ actions
+} = (0,interactivity_namespaceObject.store)('core/search', {
+ state: {
+ get ariaLabel() {
+ const {
+ isSearchInputVisible,
+ ariaLabelCollapsed,
+ ariaLabelExpanded
+ } = (0,interactivity_namespaceObject.getContext)();
+ return isSearchInputVisible ? ariaLabelExpanded : ariaLabelCollapsed;
+ },
+ get ariaControls() {
+ const {
+ isSearchInputVisible,
+ inputId
+ } = (0,interactivity_namespaceObject.getContext)();
+ return isSearchInputVisible ? null : inputId;
+ },
+ get type() {
+ const {
+ isSearchInputVisible
+ } = (0,interactivity_namespaceObject.getContext)();
+ return isSearchInputVisible ? 'submit' : 'button';
+ },
+ get tabindex() {
+ const {
+ isSearchInputVisible
+ } = (0,interactivity_namespaceObject.getContext)();
+ return isSearchInputVisible ? '0' : '-1';
}
},
actions: {
- core: {
- search: {
- openSearchInput: ({
- context,
- event,
- ref
- }) => {
- if (!context.core.search.isSearchInputVisible) {
- event.preventDefault();
- context.core.search.isSearchInputVisible = true;
- ref.parentElement.querySelector('input').focus();
- }
- },
- closeSearchInput: ({
- context
- }) => {
- context.core.search.isSearchInputVisible = false;
- },
- handleSearchKeydown: store => {
- const {
- actions,
- event,
- ref
- } = store;
- // If Escape close the menu.
- if (event?.key === 'Escape') {
- actions.core.search.closeSearchInput(store);
- ref.querySelector('button').focus();
- }
- },
- handleSearchFocusout: store => {
- const {
- actions,
- event,
- ref
- } = store;
- // If focus is outside search form, and in the document, close menu
- // event.target === The element losing focus
- // event.relatedTarget === The element receiving focus (if any)
- // When focusout is outside the document,
- // `window.document.activeElement` doesn't change.
- if (!ref.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
- actions.core.search.closeSearchInput(store);
- }
- }
+ openSearchInput(event) {
+ const ctx = (0,interactivity_namespaceObject.getContext)();
+ const {
+ ref
+ } = (0,interactivity_namespaceObject.getElement)();
+ if (!ctx.isSearchInputVisible) {
+ event.preventDefault();
+ ctx.isSearchInputVisible = true;
+ ref.parentElement.querySelector('input').focus();
+ }
+ },
+ closeSearchInput() {
+ const ctx = (0,interactivity_namespaceObject.getContext)();
+ ctx.isSearchInputVisible = false;
+ },
+ handleSearchKeydown(event) {
+ const {
+ ref
+ } = (0,interactivity_namespaceObject.getElement)();
+ // If Escape close the menu.
+ if (event?.key === 'Escape') {
+ actions.closeSearchInput();
+ ref.querySelector('button').focus();
+ }
+ },
+ handleSearchFocusout(event) {
+ const {
+ ref
+ } = (0,interactivity_namespaceObject.getElement)();
+ // If focus is outside search form, and in the document, close menu
+ // event.target === The element losing focus
+ // event.relatedTarget === The element receiving focus (if any)
+ // When focusout is outside the document,
+ // `window.document.activeElement` doesn't change.
+ if (!ref.contains(event.relatedTarget) && event.target !== window.document.activeElement) {
+ actions.closeSearchInput();
}
}
}
+}, {
+ lock: true
});
-/***/ })
-
-},
-/******/ function(__webpack_require__) { // webpackRuntimeModules
-/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
-/******/ var __webpack_exports__ = (__webpack_exec__(534));
-/******/ }
-]);
\ No newline at end of file
diff --git a/wp-includes/blocks/search/view.min.asset.php b/wp-includes/blocks/search/view.min.asset.php
index dc204c939..f9f2fddc7 100644
--- a/wp-includes/blocks/search/view.min.asset.php
+++ b/wp-includes/blocks/search/view.min.asset.php
@@ -1 +1 @@
- array(), 'version' => 'ff76b5016de2df424c55');
+ array(), 'version' => '765a40956d200c79d99e');
diff --git a/wp-includes/blocks/search/view.min.js b/wp-includes/blocks/search/view.min.js
index f38519d52..3f154f9aa 100644
--- a/wp-includes/blocks/search/view.min.js
+++ b/wp-includes/blocks/search/view.min.js
@@ -1 +1 @@
-"use strict";(self.__WordPressPrivateInteractivityAPI__=self.__WordPressPrivateInteractivityAPI__||[]).push([[222],{534:function(e,t,c){(0,c(754).h)({selectors:{core:{search:{ariaLabel:({context:e})=>{const{ariaLabelCollapsed:t,ariaLabelExpanded:c}=e.core.search;return e.core.search.isSearchInputVisible?c:t},ariaControls:({context:e})=>e.core.search.isSearchInputVisible?null:e.core.search.inputId,type:({context:e})=>e.core.search.isSearchInputVisible?"submit":"button",tabindex:({context:e})=>e.core.search.isSearchInputVisible?"0":"-1"}}},actions:{core:{search:{openSearchInput:({context:e,event:t,ref:c})=>{e.core.search.isSearchInputVisible||(t.preventDefault(),e.core.search.isSearchInputVisible=!0,c.parentElement.querySelector("input").focus())},closeSearchInput:({context:e})=>{e.core.search.isSearchInputVisible=!1},handleSearchKeydown:e=>{const{actions:t,event:c,ref:r}=e;"Escape"===c?.key&&(t.core.search.closeSearchInput(e),r.querySelector("button").focus())},handleSearchFocusout:e=>{const{actions:t,event:c,ref:r}=e;r.contains(c.relatedTarget)||c.target===window.document.activeElement||t.core.search.closeSearchInput(e)}}}}})}},function(e){var t;t=534,e(e.s=t)}]);
\ No newline at end of file
+import*as e from"@wordpress/interactivity";var t={d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const n=(e=>{var n={};return t.d(n,e),n})({getContext:()=>e.getContext,getElement:()=>e.getElement,store:()=>e.store}),{actions:r}=(0,n.store)("core/search",{state:{get ariaLabel(){const{isSearchInputVisible:e,ariaLabelCollapsed:t,ariaLabelExpanded:r}=(0,n.getContext)();return e?r:t},get ariaControls(){const{isSearchInputVisible:e,inputId:t}=(0,n.getContext)();return e?null:t},get type(){const{isSearchInputVisible:e}=(0,n.getContext)();return e?"submit":"button"},get tabindex(){const{isSearchInputVisible:e}=(0,n.getContext)();return e?"0":"-1"}},actions:{openSearchInput(e){const t=(0,n.getContext)(),{ref:r}=(0,n.getElement)();t.isSearchInputVisible||(e.preventDefault(),t.isSearchInputVisible=!0,r.parentElement.querySelector("input").focus())},closeSearchInput(){(0,n.getContext)().isSearchInputVisible=!1},handleSearchKeydown(e){const{ref:t}=(0,n.getElement)();"Escape"===e?.key&&(r.closeSearchInput(),t.querySelector("button").focus())},handleSearchFocusout(e){const{ref:t}=(0,n.getElement)();t.contains(e.relatedTarget)||e.target===window.document.activeElement||r.closeSearchInput()}}},{lock:!0});
\ No newline at end of file
diff --git a/wp-includes/blocks/separator/block.json b/wp-includes/blocks/separator/block.json
index 970f6b5cb..484627aaa 100644
--- a/wp-includes/blocks/separator/block.json
+++ b/wp-includes/blocks/separator/block.json
@@ -28,6 +28,9 @@
},
"spacing": {
"margin": [ "top", "bottom" ]
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"styles": [
diff --git a/wp-includes/blocks/separator/style-rtl.css b/wp-includes/blocks/separator/style-rtl.css
index e0faf6da6..f9ca0b502 100644
--- a/wp-includes/blocks/separator/style-rtl.css
+++ b/wp-includes/blocks/separator/style-rtl.css
@@ -1,8 +1,7 @@
@charset "UTF-8";
.wp-block-separator{
- border:1px solid;
- border-left:none;
- border-right:none;
+ border:none;
+ border-top:2px solid;
}
.wp-block-separator.is-style-dots{
background:none !important;
diff --git a/wp-includes/blocks/separator/style-rtl.min.css b/wp-includes/blocks/separator/style-rtl.min.css
index 20f594b09..d1c2dbfb8 100644
--- a/wp-includes/blocks/separator/style-rtl.min.css
+++ b/wp-includes/blocks/separator/style-rtl.min.css
@@ -1 +1 @@
-@charset "UTF-8";.wp-block-separator{border:1px solid;border-left:none;border-right:none}.wp-block-separator.is-style-dots{background:none!important;border:none;height:auto;line-height:1;text-align:center}.wp-block-separator.is-style-dots:before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}
\ No newline at end of file
+@charset "UTF-8";.wp-block-separator{border:none;border-top:2px solid}.wp-block-separator.is-style-dots{background:none!important;border:none;height:auto;line-height:1;text-align:center}.wp-block-separator.is-style-dots:before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}
\ No newline at end of file
diff --git a/wp-includes/blocks/separator/style.css b/wp-includes/blocks/separator/style.css
index e0faf6da6..f9ca0b502 100644
--- a/wp-includes/blocks/separator/style.css
+++ b/wp-includes/blocks/separator/style.css
@@ -1,8 +1,7 @@
@charset "UTF-8";
.wp-block-separator{
- border:1px solid;
- border-left:none;
- border-right:none;
+ border:none;
+ border-top:2px solid;
}
.wp-block-separator.is-style-dots{
background:none !important;
diff --git a/wp-includes/blocks/separator/style.min.css b/wp-includes/blocks/separator/style.min.css
index 20f594b09..d1c2dbfb8 100644
--- a/wp-includes/blocks/separator/style.min.css
+++ b/wp-includes/blocks/separator/style.min.css
@@ -1 +1 @@
-@charset "UTF-8";.wp-block-separator{border:1px solid;border-left:none;border-right:none}.wp-block-separator.is-style-dots{background:none!important;border:none;height:auto;line-height:1;text-align:center}.wp-block-separator.is-style-dots:before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}
\ No newline at end of file
+@charset "UTF-8";.wp-block-separator{border:none;border-top:2px solid}.wp-block-separator.is-style-dots{background:none!important;border:none;height:auto;line-height:1;text-align:center}.wp-block-separator.is-style-dots:before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}
\ No newline at end of file
diff --git a/wp-includes/blocks/shortcode/editor-rtl.css b/wp-includes/blocks/shortcode/editor-rtl.css
index 47d6207a3..548a36945 100644
--- a/wp-includes/blocks/shortcode/editor-rtl.css
+++ b/wp-includes/blocks/shortcode/editor-rtl.css
@@ -23,5 +23,5 @@
.blocks-shortcode__textarea:focus{
border-color:var(--wp-admin-theme-color) !important;
box-shadow:0 0 0 1px var(--wp-admin-theme-color) !important;
- outline:2px solid transparent !important;
+ outline:2px solid #0000 !important;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/shortcode/editor-rtl.min.css b/wp-includes/blocks/shortcode/editor-rtl.min.css
index 8128a6542..0917162a6 100644
--- a/wp-includes/blocks/shortcode/editor-rtl.min.css
+++ b/wp-includes/blocks/shortcode/editor-rtl.min.css
@@ -1 +1 @@
-[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important;resize:none}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px!important}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}
\ No newline at end of file
+[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important;resize:none}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px!important}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid #0000!important}
\ No newline at end of file
diff --git a/wp-includes/blocks/shortcode/editor.css b/wp-includes/blocks/shortcode/editor.css
index 47d6207a3..548a36945 100644
--- a/wp-includes/blocks/shortcode/editor.css
+++ b/wp-includes/blocks/shortcode/editor.css
@@ -23,5 +23,5 @@
.blocks-shortcode__textarea:focus{
border-color:var(--wp-admin-theme-color) !important;
box-shadow:0 0 0 1px var(--wp-admin-theme-color) !important;
- outline:2px solid transparent !important;
+ outline:2px solid #0000 !important;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/shortcode/editor.min.css b/wp-includes/blocks/shortcode/editor.min.css
index 8128a6542..0917162a6 100644
--- a/wp-includes/blocks/shortcode/editor.min.css
+++ b/wp-includes/blocks/shortcode/editor.min.css
@@ -1 +1 @@
-[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important;resize:none}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px!important}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid transparent!important}
\ No newline at end of file
+[data-type="core/shortcode"].components-placeholder{min-height:0}.blocks-shortcode__textarea{background:#fff!important;border:1px solid #1e1e1e!important;border-radius:2px!important;box-shadow:none!important;box-sizing:border-box;color:#1e1e1e!important;font-family:Menlo,Consolas,monaco,monospace!important;font-size:16px!important;max-height:250px;padding:12px!important;resize:none}@media (min-width:600px){.blocks-shortcode__textarea{font-size:13px!important}}.blocks-shortcode__textarea:focus{border-color:var(--wp-admin-theme-color)!important;box-shadow:0 0 0 1px var(--wp-admin-theme-color)!important;outline:2px solid #0000!important}
\ No newline at end of file
diff --git a/wp-includes/blocks/site-logo/block.json b/wp-includes/blocks/site-logo/block.json
index d1e3d1b20..3bdbdc1b8 100644
--- a/wp-includes/blocks/site-logo/block.json
+++ b/wp-includes/blocks/site-logo/block.json
@@ -45,6 +45,9 @@
"margin": false,
"padding": false
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"styles": [
diff --git a/wp-includes/blocks/site-logo/editor-rtl.css b/wp-includes/blocks/site-logo/editor-rtl.css
index 78cb4544a..08710ac1f 100644
--- a/wp-includes/blocks/site-logo/editor-rtl.css
+++ b/wp-includes/blocks/site-logo/editor-rtl.css
@@ -94,7 +94,7 @@
.block-library-site-logo__inspector-media-replace-container img{
aspect-ratio:1;
border-radius:50% !important;
- box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);
+ box-shadow:inset 0 0 0 1px #0003;
min-width:20px;
width:20px;
}
diff --git a/wp-includes/blocks/site-logo/editor-rtl.min.css b/wp-includes/blocks/site-logo/editor-rtl.min.css
index 4d7d77704..01f56f2e1 100644
--- a/wp-includes/blocks/site-logo/editor-rtl.min.css
+++ b/wp-includes/blocks/site-logo/editor-rtl.min.css
@@ -1 +1 @@
-.wp-block-site-logo.aligncenter>div,.wp-block[data-align=center]>.wp-block-site-logo{display:table;margin-left:auto;margin-right:auto}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo .custom-logo-link{cursor:inherit}.wp-block-site-logo .custom-logo-link:focus{box-shadow:none}.wp-block-site-logo .custom-logo-link.is-transient img{opacity:.3}.wp-block-site-logo img{display:block;height:auto;max-width:100%}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:60px;width:60px}.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container,.wp-block-site-logo.wp-block-site-logo>div{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder{align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;min-height:48px;min-width:48px;padding:0;width:100%}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text,.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:inherit}.block-library-site-logo__inspector-upload-container{position:relative}.block-library-site-logo__inspector-upload-container .components-drop-zone__content-icon{display:none}.block-library-site-logo__inspector-media-replace-container button.components-button,.block-library-site-logo__inspector-upload-container button.components-button{box-shadow:inset 0 0 0 1px #ccc;color:#1e1e1e;display:block;height:40px;width:100%}.block-library-site-logo__inspector-media-replace-container button.components-button:hover,.block-library-site-logo__inspector-upload-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container button.components-button:focus,.block-library-site-logo__inspector-upload-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-media-replace-title,.block-library-site-logo__inspector-upload-container .block-library-site-logo__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-library-site-logo__inspector-media-replace-container .components-dropdown{display:block}.block-library-site-logo__inspector-media-replace-container img{aspect-ratio:1;border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);min-width:20px;width:20px}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-readonly-logo-preview{display:flex;height:40px;padding:6px 12px}
\ No newline at end of file
+.wp-block-site-logo.aligncenter>div,.wp-block[data-align=center]>.wp-block-site-logo{display:table;margin-left:auto;margin-right:auto}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo .custom-logo-link{cursor:inherit}.wp-block-site-logo .custom-logo-link:focus{box-shadow:none}.wp-block-site-logo .custom-logo-link.is-transient img{opacity:.3}.wp-block-site-logo img{display:block;height:auto;max-width:100%}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:60px;width:60px}.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container,.wp-block-site-logo.wp-block-site-logo>div{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder{align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;min-height:48px;min-width:48px;padding:0;width:100%}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text,.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:inherit}.block-library-site-logo__inspector-upload-container{position:relative}.block-library-site-logo__inspector-upload-container .components-drop-zone__content-icon{display:none}.block-library-site-logo__inspector-media-replace-container button.components-button,.block-library-site-logo__inspector-upload-container button.components-button{box-shadow:inset 0 0 0 1px #ccc;color:#1e1e1e;display:block;height:40px;width:100%}.block-library-site-logo__inspector-media-replace-container button.components-button:hover,.block-library-site-logo__inspector-upload-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container button.components-button:focus,.block-library-site-logo__inspector-upload-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-media-replace-title,.block-library-site-logo__inspector-upload-container .block-library-site-logo__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-library-site-logo__inspector-media-replace-container .components-dropdown{display:block}.block-library-site-logo__inspector-media-replace-container img{aspect-ratio:1;border-radius:50%!important;box-shadow:inset 0 0 0 1px #0003;min-width:20px;width:20px}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-readonly-logo-preview{display:flex;height:40px;padding:6px 12px}
\ No newline at end of file
diff --git a/wp-includes/blocks/site-logo/editor.css b/wp-includes/blocks/site-logo/editor.css
index 78cb4544a..08710ac1f 100644
--- a/wp-includes/blocks/site-logo/editor.css
+++ b/wp-includes/blocks/site-logo/editor.css
@@ -94,7 +94,7 @@
.block-library-site-logo__inspector-media-replace-container img{
aspect-ratio:1;
border-radius:50% !important;
- box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);
+ box-shadow:inset 0 0 0 1px #0003;
min-width:20px;
width:20px;
}
diff --git a/wp-includes/blocks/site-logo/editor.min.css b/wp-includes/blocks/site-logo/editor.min.css
index 4d7d77704..01f56f2e1 100644
--- a/wp-includes/blocks/site-logo/editor.min.css
+++ b/wp-includes/blocks/site-logo/editor.min.css
@@ -1 +1 @@
-.wp-block-site-logo.aligncenter>div,.wp-block[data-align=center]>.wp-block-site-logo{display:table;margin-left:auto;margin-right:auto}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo .custom-logo-link{cursor:inherit}.wp-block-site-logo .custom-logo-link:focus{box-shadow:none}.wp-block-site-logo .custom-logo-link.is-transient img{opacity:.3}.wp-block-site-logo img{display:block;height:auto;max-width:100%}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:60px;width:60px}.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container,.wp-block-site-logo.wp-block-site-logo>div{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder{align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;min-height:48px;min-width:48px;padding:0;width:100%}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text,.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:inherit}.block-library-site-logo__inspector-upload-container{position:relative}.block-library-site-logo__inspector-upload-container .components-drop-zone__content-icon{display:none}.block-library-site-logo__inspector-media-replace-container button.components-button,.block-library-site-logo__inspector-upload-container button.components-button{box-shadow:inset 0 0 0 1px #ccc;color:#1e1e1e;display:block;height:40px;width:100%}.block-library-site-logo__inspector-media-replace-container button.components-button:hover,.block-library-site-logo__inspector-upload-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container button.components-button:focus,.block-library-site-logo__inspector-upload-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-media-replace-title,.block-library-site-logo__inspector-upload-container .block-library-site-logo__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-library-site-logo__inspector-media-replace-container .components-dropdown{display:block}.block-library-site-logo__inspector-media-replace-container img{aspect-ratio:1;border-radius:50%!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);min-width:20px;width:20px}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-readonly-logo-preview{display:flex;height:40px;padding:6px 12px}
\ No newline at end of file
+.wp-block-site-logo.aligncenter>div,.wp-block[data-align=center]>.wp-block-site-logo{display:table;margin-left:auto;margin-right:auto}.wp-block-site-logo a{pointer-events:none}.wp-block-site-logo .custom-logo-link{cursor:inherit}.wp-block-site-logo .custom-logo-link:focus{box-shadow:none}.wp-block-site-logo .custom-logo-link.is-transient img{opacity:.3}.wp-block-site-logo img{display:block;height:auto;max-width:100%}.wp-block-site-logo.wp-block-site-logo.is-default-size .components-placeholder{height:60px;width:60px}.wp-block-site-logo.wp-block-site-logo .components-resizable-box__container,.wp-block-site-logo.wp-block-site-logo>div{border-radius:inherit}.wp-block-site-logo.wp-block-site-logo .components-placeholder{align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;min-height:48px;min-width:48px;padding:0;width:100%}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-drop-zone__content-text,.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-form-file-upload{display:none}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;padding:0;position:relative;width:48px}.wp-block-site-logo.wp-block-site-logo .components-placeholder .components-button.components-button>svg{color:inherit}.block-library-site-logo__inspector-upload-container{position:relative}.block-library-site-logo__inspector-upload-container .components-drop-zone__content-icon{display:none}.block-library-site-logo__inspector-media-replace-container button.components-button,.block-library-site-logo__inspector-upload-container button.components-button{box-shadow:inset 0 0 0 1px #ccc;color:#1e1e1e;display:block;height:40px;width:100%}.block-library-site-logo__inspector-media-replace-container button.components-button:hover,.block-library-site-logo__inspector-upload-container button.components-button:hover{color:var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container button.components-button:focus,.block-library-site-logo__inspector-upload-container button.components-button:focus{box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-media-replace-title,.block-library-site-logo__inspector-upload-container .block-library-site-logo__inspector-media-replace-title{text-align:start;text-align-last:center;white-space:normal;word-break:break-all}.block-library-site-logo__inspector-media-replace-container .components-dropdown{display:block}.block-library-site-logo__inspector-media-replace-container img{aspect-ratio:1;border-radius:50%!important;box-shadow:inset 0 0 0 1px #0003;min-width:20px;width:20px}.block-library-site-logo__inspector-media-replace-container .block-library-site-logo__inspector-readonly-logo-preview{display:flex;height:40px;padding:6px 12px}
\ No newline at end of file
diff --git a/wp-includes/blocks/site-tagline/block.json b/wp-includes/blocks/site-tagline/block.json
index 22fb59aab..2361be9ea 100644
--- a/wp-includes/blocks/site-tagline/block.json
+++ b/wp-includes/blocks/site-tagline/block.json
@@ -43,6 +43,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-site-tagline-editor"
diff --git a/wp-includes/blocks/site-title/block.json b/wp-includes/blocks/site-title/block.json
index e936bad0e..6179452cd 100644
--- a/wp-includes/blocks/site-title/block.json
+++ b/wp-includes/blocks/site-title/block.json
@@ -56,12 +56,11 @@
"__experimentalFontWeight": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
- "fontSize": true,
- "lineHeight": true,
- "fontAppearance": true,
- "letterSpacing": true,
- "textTransform": true
+ "fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-site-title-editor",
diff --git a/wp-includes/blocks/social-link.php b/wp-includes/blocks/social-link.php
index cda8e1250..12c2904d5 100644
--- a/wp-includes/blocks/social-link.php
+++ b/wp-includes/blocks/social-link.php
@@ -33,7 +33,7 @@ function render_block_core_social_link( $attributes, $content, $block ) {
* The `is_email` returns false for emails with schema.
*/
if ( is_email( $url ) ) {
- $url = 'mailto:' . $url;
+ $url = 'mailto:' . antispambot( $url );
}
/**
@@ -62,10 +62,10 @@ function render_block_core_social_link( $attributes, $content, $block ) {
$processor = new WP_HTML_Tag_Processor( $link );
$processor->next_tag( 'a' );
if ( $open_in_new_tab ) {
- $processor->set_attribute( 'rel', esc_attr( $rel ) . ' noopener nofollow' );
+ $processor->set_attribute( 'rel', trim( $rel . ' noopener nofollow' ) );
$processor->set_attribute( 'target', '_blank' );
} elseif ( '' !== $rel ) {
- $processor->set_attribute( 'rel', esc_attr( $rel ) );
+ $processor->set_attribute( 'rel', trim( $rel ) );
}
return $processor->get_updated_html();
}
@@ -194,6 +194,10 @@ function block_core_social_link_services( $service = '', $field = '' ) {
'name' => 'GitHub',
'icon' => '
',
),
+ 'gravatar' => array(
+ 'name' => 'Gravatar',
+ 'icon' => '
',
+ ),
'instagram' => array(
'name' => 'Instagram',
'icon' => '
',
@@ -224,7 +228,7 @@ function block_core_social_link_services( $service = '', $field = '' ) {
),
'patreon' => array(
'name' => 'Patreon',
- 'icon' => '
',
+ 'icon' => '
',
),
'pinterest' => array(
'name' => 'Pinterest',
diff --git a/wp-includes/blocks/social-link/block.json b/wp-includes/blocks/social-link/block.json
index 50e95efed..d487465ef 100644
--- a/wp-includes/blocks/social-link/block.json
+++ b/wp-includes/blocks/social-link/block.json
@@ -31,7 +31,10 @@
],
"supports": {
"reusable": false,
- "html": false
+ "html": false,
+ "interactivity": {
+ "clientNavigation": true
+ }
},
"editorStyle": "wp-block-social-link-editor"
}
diff --git a/wp-includes/blocks/social-links/block.json b/wp-includes/blocks/social-links/block.json
index 20206511a..0c8c7be1e 100644
--- a/wp-includes/blocks/social-links/block.json
+++ b/wp-includes/blocks/social-links/block.json
@@ -4,6 +4,7 @@
"name": "core/social-links",
"title": "Social Icons",
"category": "widgets",
+ "allowedBlocks": [ "core/social-link" ],
"description": "Display icons linking to your social media profiles or sites.",
"keywords": [ "links" ],
"textdomain": "default",
@@ -77,6 +78,9 @@
"margin": true,
"padding": false
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"styles": [
diff --git a/wp-includes/blocks/social-links/style-rtl.css b/wp-includes/blocks/social-links/style-rtl.css
index b8defda33..c564d34e6 100644
--- a/wp-includes/blocks/social-links/style-rtl.css
+++ b/wp-includes/blocks/social-links/style-rtl.css
@@ -65,9 +65,14 @@
transform:scale(1.1);
}
-.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{
- fill:currentColor;
+.wp-block-social-links .wp-block-social-link.wp-social-link{
+ display:inline-block;
+ margin:0;
+ padding:0;
+}
+.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{
color:currentColor;
+ fill:currentColor;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{
@@ -134,6 +139,10 @@
background-color:#ea4434;
color:#fff;
}
+.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{
+ background-color:#1d4fc4;
+ color:#fff;
+}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{
background-color:#f00075;
color:#fff;
@@ -159,7 +168,7 @@
color:#fff;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{
- background-color:#ff424d;
+ background-color:#000;
color:#fff;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{
@@ -179,9 +188,9 @@
color:#fff;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{
- stroke:#000;
background-color:#fefc00;
color:#fff;
+ stroke:#000;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{
background-color:#ff5600;
@@ -295,6 +304,9 @@
.wp-block-social-links.is-style-logos-only .wp-social-link-google{
color:#ea4434;
}
+.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{
+ color:#1d4fc4;
+}
.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{
color:#f00075;
}
@@ -314,7 +326,7 @@
color:#f6405f;
}
.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{
- color:#ff424d;
+ color:#000;
}
.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{
color:#e60122;
@@ -329,8 +341,8 @@
color:#0478d7;
}
.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{
- stroke:#000;
color:#fff;
+ stroke:#000;
}
.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{
color:#ff5600;
diff --git a/wp-includes/blocks/social-links/style-rtl.min.css b/wp-includes/blocks/social-links/style-rtl.min.css
index a54b7a1b0..ac85bbe9a 100644
--- a/wp-includes/blocks/social-links/style-rtl.min.css
+++ b/wp-includes/blocks/social-links/style-rtl.min.css
@@ -1 +1 @@
-.wp-block-social-links{background:none;box-sizing:border-box;margin-right:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000}
\ No newline at end of file
+.wp-block-social-links{background:none;box-sizing:border-box;margin-right:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{color:currentColor;fill:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{background-color:#fefc00;color:#fff;stroke:#000}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{color:#1d4fc4}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{color:#fff;stroke:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000}
\ No newline at end of file
diff --git a/wp-includes/blocks/social-links/style.css b/wp-includes/blocks/social-links/style.css
index 925361500..f86085dbf 100644
--- a/wp-includes/blocks/social-links/style.css
+++ b/wp-includes/blocks/social-links/style.css
@@ -65,9 +65,14 @@
transform:scale(1.1);
}
-.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{
- fill:currentColor;
+.wp-block-social-links .wp-block-social-link.wp-social-link{
+ display:inline-block;
+ margin:0;
+ padding:0;
+}
+.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{
color:currentColor;
+ fill:currentColor;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{
@@ -134,6 +139,10 @@
background-color:#ea4434;
color:#fff;
}
+.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{
+ background-color:#1d4fc4;
+ color:#fff;
+}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{
background-color:#f00075;
color:#fff;
@@ -159,7 +168,7 @@
color:#fff;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{
- background-color:#ff424d;
+ background-color:#000;
color:#fff;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{
@@ -179,9 +188,9 @@
color:#fff;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{
- stroke:#000;
background-color:#fefc00;
color:#fff;
+ stroke:#000;
}
.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{
background-color:#ff5600;
@@ -295,6 +304,9 @@
.wp-block-social-links.is-style-logos-only .wp-social-link-google{
color:#ea4434;
}
+.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{
+ color:#1d4fc4;
+}
.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{
color:#f00075;
}
@@ -314,7 +326,7 @@
color:#f6405f;
}
.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{
- color:#ff424d;
+ color:#000;
}
.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{
color:#e60122;
@@ -329,8 +341,8 @@
color:#0478d7;
}
.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{
- stroke:#000;
color:#fff;
+ stroke:#000;
}
.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{
color:#ff5600;
diff --git a/wp-includes/blocks/social-links/style.min.css b/wp-includes/blocks/social-links/style.min.css
index 050e5ef96..fdb8c92f1 100644
--- a/wp-includes/blocks/social-links/style.min.css
+++ b/wp-includes/blocks/social-links/style.min.css
@@ -1 +1 @@
-.wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000}
\ No newline at end of file
+.wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{color:currentColor;fill:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{background-color:#fefc00;color:#fff;stroke:#000}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads,.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar{color:#1d4fc4}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{color:#fff;stroke:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-threads,.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-x{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000}
\ No newline at end of file
diff --git a/wp-includes/blocks/spacer/block.json b/wp-includes/blocks/spacer/block.json
index a9da8d537..447ea99cc 100644
--- a/wp-includes/blocks/spacer/block.json
+++ b/wp-includes/blocks/spacer/block.json
@@ -23,6 +23,9 @@
"__experimentalDefaultControls": {
"margin": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-spacer-editor",
diff --git a/wp-includes/blocks/spacer/editor-rtl.css b/wp-includes/blocks/spacer/editor-rtl.css
index 6602e84df..0c5e70979 100644
--- a/wp-includes/blocks/spacer/editor-rtl.css
+++ b/wp-includes/blocks/spacer/editor-rtl.css
@@ -10,10 +10,10 @@
}
.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{
- background:rgba(0,0,0,.1);
+ background:#0000001a;
}
.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{
- background:hsla(0,0%,100%,.15);
+ background:#ffffff26;
}
.block-library-spacer__resize-container{
@@ -27,5 +27,6 @@
content:none;
}
.block-library-spacer__resize-container.resize-horizontal{
+ height:100% !important;
margin-bottom:0;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/spacer/editor-rtl.min.css b/wp-includes/blocks/spacer/editor-rtl.min.css
index 1200948e0..59d9906e5 100644
--- a/wp-includes/blocks/spacer/editor-rtl.min.css
+++ b/wp-includes/blocks/spacer/editor-rtl.min.css
@@ -1 +1 @@
-.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;height:100%;min-height:8px;min-width:8px;position:absolute;width:100%;z-index:1}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{background:rgba(0,0,0,.1)}.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container:not(.is-resizing){height:100%!important;width:100%!important}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0}
\ No newline at end of file
+.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;height:100%;min-height:8px;min-width:8px;position:absolute;width:100%;z-index:1}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{background:#0000001a}.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{background:#ffffff26}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container:not(.is-resizing){height:100%!important;width:100%!important}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{height:100%!important;margin-bottom:0}
\ No newline at end of file
diff --git a/wp-includes/blocks/spacer/editor.css b/wp-includes/blocks/spacer/editor.css
index 6602e84df..0c5e70979 100644
--- a/wp-includes/blocks/spacer/editor.css
+++ b/wp-includes/blocks/spacer/editor.css
@@ -10,10 +10,10 @@
}
.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{
- background:rgba(0,0,0,.1);
+ background:#0000001a;
}
.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{
- background:hsla(0,0%,100%,.15);
+ background:#ffffff26;
}
.block-library-spacer__resize-container{
@@ -27,5 +27,6 @@
content:none;
}
.block-library-spacer__resize-container.resize-horizontal{
+ height:100% !important;
margin-bottom:0;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/spacer/editor.min.css b/wp-includes/blocks/spacer/editor.min.css
index 1200948e0..59d9906e5 100644
--- a/wp-includes/blocks/spacer/editor.min.css
+++ b/wp-includes/blocks/spacer/editor.min.css
@@ -1 +1 @@
-.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;height:100%;min-height:8px;min-width:8px;position:absolute;width:100%;z-index:1}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{background:rgba(0,0,0,.1)}.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{background:hsla(0,0%,100%,.15)}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container:not(.is-resizing){height:100%!important;width:100%!important}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{margin-bottom:0}
\ No newline at end of file
+.block-editor-block-list__block[data-type="core/spacer"]:before{content:"";display:block;height:100%;min-height:8px;min-width:8px;position:absolute;width:100%;z-index:1}.block-library-spacer__resize-container.has-show-handle,.wp-block-spacer.is-hovered .block-library-spacer__resize-container,.wp-block-spacer.is-selected.custom-sizes-disabled{background:#0000001a}.is-dark-theme .block-library-spacer__resize-container.has-show-handle,.is-dark-theme .wp-block-spacer.is-hovered .block-library-spacer__resize-container,.is-dark-theme .wp-block-spacer.is-selected.custom-sizes-disabled{background:#ffffff26}.block-library-spacer__resize-container{clear:both}.block-library-spacer__resize-container:not(.is-resizing){height:100%!important;width:100%!important}.block-library-spacer__resize-container .components-resizable-box__handle:before{content:none}.block-library-spacer__resize-container.resize-horizontal{height:100%!important;margin-bottom:0}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/block.json b/wp-includes/blocks/table/block.json
index d1139d6c5..44177ef50 100644
--- a/wp-includes/blocks/table/block.json
+++ b/wp-includes/blocks/table/block.json
@@ -12,10 +12,9 @@
"default": false
},
"caption": {
- "type": "string",
- "source": "html",
- "selector": "figcaption",
- "default": ""
+ "type": "rich-text",
+ "source": "rich-text",
+ "selector": "figcaption"
},
"head": {
"type": "array",
@@ -30,8 +29,8 @@
"selector": "td,th",
"query": {
"content": {
- "type": "string",
- "source": "html"
+ "type": "rich-text",
+ "source": "rich-text"
},
"tag": {
"type": "string",
@@ -75,8 +74,8 @@
"selector": "td,th",
"query": {
"content": {
- "type": "string",
- "source": "html"
+ "type": "rich-text",
+ "source": "rich-text"
},
"tag": {
"type": "string",
@@ -120,8 +119,8 @@
"selector": "td,th",
"query": {
"content": {
- "type": "string",
- "source": "html"
+ "type": "rich-text",
+ "source": "rich-text"
},
"tag": {
"type": "string",
@@ -196,7 +195,10 @@
"width": true
}
},
- "__experimentalSelector": ".wp-block-table > table"
+ "__experimentalSelector": ".wp-block-table > table",
+ "interactivity": {
+ "clientNavigation": true
+ }
},
"styles": [
{
diff --git a/wp-includes/blocks/table/editor-rtl.css b/wp-includes/blocks/table/editor-rtl.css
index 6be0c40a3..ab8325eac 100644
--- a/wp-includes/blocks/table/editor-rtl.css
+++ b/wp-includes/blocks/table/editor-rtl.css
@@ -1,6 +1,3 @@
-.wp-block-table{
- margin:0;
-}
.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{
height:auto;
}
@@ -33,25 +30,15 @@
align-items:flex-start;
display:flex;
flex-direction:column;
-}
-.blocks-table__placeholder-form.blocks-table__placeholder-form>*{
- margin-bottom:8px;
+ gap:8px;
}
@media (min-width:782px){
.blocks-table__placeholder-form.blocks-table__placeholder-form{
align-items:flex-end;
flex-direction:row;
}
- .blocks-table__placeholder-form.blocks-table__placeholder-form>*{
- margin-bottom:0;
- }
}
.blocks-table__placeholder-input{
- margin-bottom:0;
- margin-left:8px;
width:112px;
-}
-.blocks-table__placeholder-input input{
- height:36px;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/editor-rtl.min.css b/wp-includes/blocks/table/editor-rtl.min.css
index 09fac9c6d..f048b398c 100644
--- a/wp-includes/blocks/table/editor-rtl.min.css
+++ b/wp-includes/blocks/table/editor-rtl.min.css
@@ -1 +1 @@
-.wp-block-table{margin:0}.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{margin-bottom:0;margin-left:8px;width:112px}.blocks-table__placeholder-input input{height:36px}
\ No newline at end of file
+.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column;gap:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}}.blocks-table__placeholder-input{width:112px}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/editor.css b/wp-includes/blocks/table/editor.css
index 0cdedbc9c..ab8325eac 100644
--- a/wp-includes/blocks/table/editor.css
+++ b/wp-includes/blocks/table/editor.css
@@ -1,6 +1,3 @@
-.wp-block-table{
- margin:0;
-}
.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{
height:auto;
}
@@ -33,25 +30,15 @@
align-items:flex-start;
display:flex;
flex-direction:column;
-}
-.blocks-table__placeholder-form.blocks-table__placeholder-form>*{
- margin-bottom:8px;
+ gap:8px;
}
@media (min-width:782px){
.blocks-table__placeholder-form.blocks-table__placeholder-form{
align-items:flex-end;
flex-direction:row;
}
- .blocks-table__placeholder-form.blocks-table__placeholder-form>*{
- margin-bottom:0;
- }
}
.blocks-table__placeholder-input{
- margin-bottom:0;
- margin-right:8px;
width:112px;
-}
-.blocks-table__placeholder-input input{
- height:36px;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/editor.min.css b/wp-includes/blocks/table/editor.min.css
index 25f31c90d..f048b398c 100644
--- a/wp-includes/blocks/table/editor.min.css
+++ b/wp-includes/blocks/table/editor.min.css
@@ -1 +1 @@
-.wp-block-table{margin:0}.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}.blocks-table__placeholder-form.blocks-table__placeholder-form>*{margin-bottom:0}}.blocks-table__placeholder-input{margin-bottom:0;margin-right:8px;width:112px}.blocks-table__placeholder-input input{height:36px}
\ No newline at end of file
+.wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column;gap:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}}.blocks-table__placeholder-input{width:112px}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/style-rtl.css b/wp-includes/blocks/table/style-rtl.css
index 2adaeaacd..025c2edfd 100644
--- a/wp-includes/blocks/table/style-rtl.css
+++ b/wp-includes/blocks/table/style-rtl.css
@@ -42,7 +42,7 @@
background-color:#fcf0ef;
}
.wp-block-table.is-style-stripes{
- background-color:transparent;
+ background-color:initial;
border-bottom:1px solid #f0f0f0;
border-collapse:inherit;
border-spacing:0;
@@ -63,7 +63,7 @@
background-color:#fcf0ef;
}
.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{
- border-color:transparent;
+ border-color:#0000;
}
.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{
border-color:inherit;
@@ -72,7 +72,7 @@
border-top-color:inherit;
}
.wp-block-table table[style*=border-top-color] tr:not(:first-child){
- border-top-color:currentColor;
+ border-top-color:initial;
}
.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{
border-left-color:inherit;
@@ -81,7 +81,7 @@
border-bottom-color:inherit;
}
.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){
- border-bottom-color:currentColor;
+ border-bottom-color:initial;
}
.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{
border-right-color:inherit;
diff --git a/wp-includes/blocks/table/style-rtl.min.css b/wp-includes/blocks/table/style-rtl.min.css
index 079ed40ff..cd4106a5c 100644
--- a/wp-includes/blocks/table/style-rtl.min.css
+++ b/wp-includes/blocks/table/style-rtl.min.css
@@ -1 +1 @@
-.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:transparent;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:currentColor}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:currentColor}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}
\ No newline at end of file
+.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:initial;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:#0000}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:initial}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:initial}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/style.css b/wp-includes/blocks/table/style.css
index ce4281ade..692ab26ea 100644
--- a/wp-includes/blocks/table/style.css
+++ b/wp-includes/blocks/table/style.css
@@ -42,7 +42,7 @@
background-color:#fcf0ef;
}
.wp-block-table.is-style-stripes{
- background-color:transparent;
+ background-color:initial;
border-bottom:1px solid #f0f0f0;
border-collapse:inherit;
border-spacing:0;
@@ -63,7 +63,7 @@
background-color:#fcf0ef;
}
.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{
- border-color:transparent;
+ border-color:#0000;
}
.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{
border-color:inherit;
@@ -72,7 +72,7 @@
border-top-color:inherit;
}
.wp-block-table table[style*=border-top-color] tr:not(:first-child){
- border-top-color:currentColor;
+ border-top-color:initial;
}
.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{
border-right-color:inherit;
@@ -81,7 +81,7 @@
border-bottom-color:inherit;
}
.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){
- border-bottom-color:currentColor;
+ border-bottom-color:initial;
}
.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{
border-left-color:inherit;
diff --git a/wp-includes/blocks/table/style.min.css b/wp-includes/blocks/table/style.min.css
index a4b917acf..5ebe69d47 100644
--- a/wp-includes/blocks/table/style.min.css
+++ b/wp-includes/blocks/table/style.min.css
@@ -1 +1 @@
-.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:transparent;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:currentColor}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:currentColor}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}
\ No newline at end of file
+.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:initial;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:#0000}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:initial}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:initial}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/theme-rtl.css b/wp-includes/blocks/table/theme-rtl.css
index 064ae1d0f..f8b6627f5 100644
--- a/wp-includes/blocks/table/theme-rtl.css
+++ b/wp-includes/blocks/table/theme-rtl.css
@@ -10,5 +10,5 @@
text-align:center;
}
.is-dark-theme .wp-block-table figcaption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/theme-rtl.min.css b/wp-includes/blocks/table/theme-rtl.min.css
index b78100319..ca464b7f5 100644
--- a/wp-includes/blocks/table/theme-rtl.min.css
+++ b/wp-includes/blocks/table/theme-rtl.min.css
@@ -1 +1 @@
-.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}
\ No newline at end of file
+.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:#ffffffa6}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/theme.css b/wp-includes/blocks/table/theme.css
index 064ae1d0f..f8b6627f5 100644
--- a/wp-includes/blocks/table/theme.css
+++ b/wp-includes/blocks/table/theme.css
@@ -10,5 +10,5 @@
text-align:center;
}
.is-dark-theme .wp-block-table figcaption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
\ No newline at end of file
diff --git a/wp-includes/blocks/table/theme.min.css b/wp-includes/blocks/table/theme.min.css
index b78100319..ca464b7f5 100644
--- a/wp-includes/blocks/table/theme.min.css
+++ b/wp-includes/blocks/table/theme.min.css
@@ -1 +1 @@
-.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}
\ No newline at end of file
+.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:#ffffffa6}
\ No newline at end of file
diff --git a/wp-includes/blocks/tag-cloud/block.json b/wp-includes/blocks/tag-cloud/block.json
index 9481dc945..b95e02204 100644
--- a/wp-includes/blocks/tag-cloud/block.json
+++ b/wp-includes/blocks/tag-cloud/block.json
@@ -48,6 +48,9 @@
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalLetterSpacing": true
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-tag-cloud-editor"
diff --git a/wp-includes/blocks/template-part.php b/wp-includes/blocks/template-part.php
index 3ad400906..8c01c5a4b 100644
--- a/wp-includes/blocks/template-part.php
+++ b/wp-includes/blocks/template-part.php
@@ -43,10 +43,10 @@ function render_block_core_template_part( $attributes ) {
if ( $template_part_post ) {
// A published post might already exist if this template part was customized elsewhere
// or if it's part of a customized template.
- $content = $template_part_post->post_content;
- $area_terms = get_the_terms( $template_part_post, 'wp_template_part_area' );
- if ( ! is_wp_error( $area_terms ) && false !== $area_terms ) {
- $area = $area_terms[0]->name;
+ $block_template = _build_block_template_result_from_post( $template_part_post );
+ $content = $block_template->content;
+ if ( isset( $block_template->area ) ) {
+ $area = $block_template->area;
}
/**
* Fires when a block template part is loaded from a template post stored in the database.
@@ -70,6 +70,12 @@ function render_block_core_template_part( $attributes ) {
if ( isset( $block_template->area ) ) {
$area = $block_template->area;
}
+
+ // Needed for the `render_block_core_template_part_file` and `render_block_core_template_part_none` actions below.
+ $block_template_file = _get_block_template_file( 'wp_template_part', $attributes['slug'] );
+ if ( $block_template_file ) {
+ $template_part_file_path = $block_template_file['path'];
+ }
}
if ( '' !== $content && null !== $content ) {
@@ -103,16 +109,16 @@ function render_block_core_template_part( $attributes ) {
// is set in `wp_debug_mode()`.
$is_debug = WP_DEBUG && WP_DEBUG_DISPLAY;
- if ( is_null( $content ) && $is_debug ) {
- if ( ! isset( $attributes['slug'] ) ) {
- // If there is no slug this is a placeholder and we dont want to return any message.
- return;
+ if ( is_null( $content ) ) {
+ if ( $is_debug && isset( $attributes['slug'] ) ) {
+ return sprintf(
+ /* translators: %s: Template part slug. */
+ __( 'Template part has been deleted or is unavailable: %s' ),
+ $attributes['slug']
+ );
}
- return sprintf(
- /* translators: %s: Template part slug. */
- __( 'Template part has been deleted or is unavailable: %s' ),
- $attributes['slug']
- );
+
+ return '';
}
if ( isset( $seen_ids[ $template_part_id ] ) ) {
@@ -275,8 +281,8 @@ function register_block_core_template_part() {
register_block_type_from_metadata(
__DIR__ . '/template-part',
array(
- 'render_callback' => 'render_block_core_template_part',
- 'variations' => build_template_part_block_variations(),
+ 'render_callback' => 'render_block_core_template_part',
+ 'variation_callback' => 'build_template_part_block_variations',
)
);
}
diff --git a/wp-includes/blocks/template-part/block.json b/wp-includes/blocks/template-part/block.json
index 9fe431150..9710bdeee 100644
--- a/wp-includes/blocks/template-part/block.json
+++ b/wp-includes/blocks/template-part/block.json
@@ -23,7 +23,11 @@
"supports": {
"align": true,
"html": false,
- "reusable": false
+ "reusable": false,
+ "renaming": false,
+ "interactivity": {
+ "clientNavigation": true
+ }
},
"editorStyle": "wp-block-template-part-editor"
}
diff --git a/wp-includes/blocks/term-description/block.json b/wp-includes/blocks/term-description/block.json
index fc91a4aff..7a3f27c80 100644
--- a/wp-includes/blocks/term-description/block.json
+++ b/wp-includes/blocks/term-description/block.json
@@ -37,6 +37,9 @@
"__experimentalDefaultControls": {
"fontSize": true
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
}
}
diff --git a/wp-includes/blocks/text-columns/block.json b/wp-includes/blocks/text-columns/block.json
index 3af169fad..2599df111 100644
--- a/wp-includes/blocks/text-columns/block.json
+++ b/wp-includes/blocks/text-columns/block.json
@@ -29,7 +29,10 @@
}
},
"supports": {
- "inserter": false
+ "inserter": false,
+ "interactivity": {
+ "clientNavigation": true
+ }
},
"editorStyle": "wp-block-text-columns-editor",
"style": "wp-block-text-columns"
diff --git a/wp-includes/blocks/verse/block.json b/wp-includes/blocks/verse/block.json
index d0fffc8ae..1d6b817c0 100644
--- a/wp-includes/blocks/verse/block.json
+++ b/wp-includes/blocks/verse/block.json
@@ -9,10 +9,9 @@
"textdomain": "default",
"attributes": {
"content": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "pre",
- "default": "",
"__unstablePreserveWhiteSpace": true,
"__experimentalRole": "content"
},
@@ -40,8 +39,7 @@
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalDefaultControls": {
- "fontSize": true,
- "fontAppearance": true
+ "fontSize": true
}
},
"spacing": {
@@ -57,6 +55,9 @@
"width": true,
"color": true,
"style": true
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"style": "wp-block-verse",
diff --git a/wp-includes/blocks/video/block.json b/wp-includes/blocks/video/block.json
index debe6f20f..2bc153bc1 100644
--- a/wp-includes/blocks/video/block.json
+++ b/wp-includes/blocks/video/block.json
@@ -15,8 +15,8 @@
"attribute": "autoplay"
},
"caption": {
- "type": "string",
- "source": "html",
+ "type": "rich-text",
+ "source": "rich-text",
"selector": "figcaption",
"__experimentalRole": "content"
},
@@ -88,6 +88,9 @@
"margin": false,
"padding": false
}
+ },
+ "interactivity": {
+ "clientNavigation": true
}
},
"editorStyle": "wp-block-video-editor",
diff --git a/wp-includes/blocks/video/theme-rtl.css b/wp-includes/blocks/video/theme-rtl.css
index 384cff955..457862873 100644
--- a/wp-includes/blocks/video/theme-rtl.css
+++ b/wp-includes/blocks/video/theme-rtl.css
@@ -4,7 +4,7 @@
text-align:center;
}
.is-dark-theme .wp-block-video figcaption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
.wp-block-video{
diff --git a/wp-includes/blocks/video/theme-rtl.min.css b/wp-includes/blocks/video/theme-rtl.min.css
index 64b3a34e9..84c9cee48 100644
--- a/wp-includes/blocks/video/theme-rtl.min.css
+++ b/wp-includes/blocks/video/theme-rtl.min.css
@@ -1 +1 @@
-.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video{margin:0 0 1em}
\ No newline at end of file
+.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:#ffffffa6}.wp-block-video{margin:0 0 1em}
\ No newline at end of file
diff --git a/wp-includes/blocks/video/theme.css b/wp-includes/blocks/video/theme.css
index 384cff955..457862873 100644
--- a/wp-includes/blocks/video/theme.css
+++ b/wp-includes/blocks/video/theme.css
@@ -4,7 +4,7 @@
text-align:center;
}
.is-dark-theme .wp-block-video figcaption{
- color:hsla(0,0%,100%,.65);
+ color:#ffffffa6;
}
.wp-block-video{
diff --git a/wp-includes/blocks/video/theme.min.css b/wp-includes/blocks/video/theme.min.css
index 64b3a34e9..84c9cee48 100644
--- a/wp-includes/blocks/video/theme.min.css
+++ b/wp-includes/blocks/video/theme.min.css
@@ -1 +1 @@
-.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video{margin:0 0 1em}
\ No newline at end of file
+.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:#ffffffa6}.wp-block-video{margin:0 0 1em}
\ No newline at end of file
diff --git a/wp-includes/blocks/widget-group/block.json b/wp-includes/blocks/widget-group/block.json
index c29e81155..0e59e58ac 100644
--- a/wp-includes/blocks/widget-group/block.json
+++ b/wp-includes/blocks/widget-group/block.json
@@ -1,4 +1,5 @@
{
+ "$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/widget-group",
"category": "widgets",
diff --git a/wp-includes/bookmark.php b/wp-includes/bookmark.php
index 47a86d865..7513a5622 100644
--- a/wp-includes/bookmark.php
+++ b/wp-includes/bookmark.php
@@ -11,7 +11,8 @@
*
* @since 2.1.0
*
- * @global wpdb $wpdb WordPress database abstraction object.
+ * @global object $link Current link object.
+ * @global wpdb $wpdb WordPress database abstraction object.
*
* @param int|stdClass $bookmark
* @param string $output Optional. The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which
diff --git a/wp-includes/canonical.php b/wp-includes/canonical.php
index d97d26303..849e15ac7 100644
--- a/wp-includes/canonical.php
+++ b/wp-includes/canonical.php
@@ -316,7 +316,9 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
$redirect['query'] = remove_query_arg( 'year', $redirect['query'] );
}
}
- } elseif ( is_author() && ! empty( $_GET['author'] ) && preg_match( '|^[0-9]+$|', $_GET['author'] ) ) {
+ } elseif ( is_author() && ! empty( $_GET['author'] )
+ && is_string( $_GET['author'] ) && preg_match( '|^[0-9]+$|', $_GET['author'] )
+ ) {
$author = get_userdata( get_query_var( 'author' ) );
if ( false !== $author
@@ -947,6 +949,9 @@ function redirect_guess_404_permalink() {
}
if ( get_query_var( 'name' ) ) {
+ $publicly_viewable_statuses = array_filter( get_post_stati(), 'is_post_status_viewable' );
+ $publicly_viewable_post_types = array_filter( get_post_types( array( 'exclude_from_search' => false ) ), 'is_post_type_viewable' );
+
/**
* Filters whether to perform a strict guess for a 404 redirect.
*
@@ -967,12 +972,19 @@ function redirect_guess_404_permalink() {
// If any of post_type, year, monthnum, or day are set, use them to refine the query.
if ( get_query_var( 'post_type' ) ) {
if ( is_array( get_query_var( 'post_type' ) ) ) {
+ $post_types = array_intersect( get_query_var( 'post_type' ), $publicly_viewable_post_types );
+ if ( empty( $post_types ) ) {
+ return false;
+ }
$where .= " AND post_type IN ('" . join( "', '", esc_sql( get_query_var( 'post_type' ) ) ) . "')";
} else {
+ if ( ! in_array( get_query_var( 'post_type' ), $publicly_viewable_post_types, true ) ) {
+ return false;
+ }
$where .= $wpdb->prepare( ' AND post_type = %s', get_query_var( 'post_type' ) );
}
} else {
- $where .= " AND post_type IN ('" . implode( "', '", get_post_types( array( 'public' => true ) ) ) . "')";
+ $where .= " AND post_type IN ('" . implode( "', '", esc_sql( $publicly_viewable_post_types ) ) . "')";
}
if ( get_query_var( 'year' ) ) {
@@ -985,7 +997,6 @@ function redirect_guess_404_permalink() {
$where .= $wpdb->prepare( ' AND DAYOFMONTH(post_date) = %d', get_query_var( 'day' ) );
}
- $publicly_viewable_statuses = array_filter( get_post_stati(), 'is_post_status_viewable' );
// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
$post_id = $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE $where AND post_status IN ('" . implode( "', '", esc_sql( $publicly_viewable_statuses ) ) . "')" );
diff --git a/wp-includes/class-avif-info.php b/wp-includes/class-avif-info.php
new file mode 100644
index 000000000..93280b380
--- /dev/null
+++ b/wp-includes/class-avif-info.php
@@ -0,0 +1,781 @@
+= 2^31 on 32-bit systems.
+ // See https://www.php.net/manual/en/function.unpack.php#106041
+ return unpack( 'N', $input ) [1];
+ }
+}
+
+/**
+ * Reads bytes and advances the stream position by the same count.
+ *
+ * @param stream $handle Bytes will be read from this resource.
+ * @param int $num_bytes Number of bytes read. Must be greater than 0.
+ * @return binary string|false The raw bytes or false on failure.
+ */
+function read( $handle, $num_bytes ) {
+ $data = fread( $handle, $num_bytes );
+ return ( $data !== false && strlen( $data ) >= $num_bytes ) ? $data : false;
+}
+
+/**
+ * Advances the stream position by the given offset.
+ *
+ * @param stream $handle Bytes will be skipped from this resource.
+ * @param int $num_bytes Number of skipped bytes. Can be 0.
+ * @return bool True on success or false on failure.
+ */
+// Skips 'num_bytes' from the 'stream'. 'num_bytes' can be zero.
+function skip( $handle, $num_bytes ) {
+ return ( fseek( $handle, $num_bytes, SEEK_CUR ) == 0 );
+}
+
+//------------------------------------------------------------------------------
+// Features are parsed into temporary property associations.
+
+class Tile { // Tile item id <-> parent item id associations.
+ public $tile_item_id;
+ public $parent_item_id;
+}
+
+class Prop { // Property index <-> item id associations.
+ public $property_index;
+ public $item_id;
+}
+
+class Dim_Prop { // Property <-> features associations.
+ public $property_index;
+ public $width;
+ public $height;
+}
+
+class Chan_Prop { // Property <-> features associations.
+ public $property_index;
+ public $bit_depth;
+ public $num_channels;
+}
+
+class Features {
+ public $has_primary_item = false; // True if "pitm" was parsed.
+ public $has_alpha = false; // True if an alpha "auxC" was parsed.
+ public $primary_item_id;
+ public $primary_item_features = array( // Deduced from the data below.
+ 'width' => UNDEFINED, // In number of pixels.
+ 'height' => UNDEFINED, // Ignores mirror and rotation.
+ 'bit_depth' => UNDEFINED, // Likely 8, 10 or 12 bits per channel per pixel.
+ 'num_channels' => UNDEFINED // Likely 1, 2, 3 or 4 channels:
+ // (1 monochrome or 3 colors) + (0 or 1 alpha)
+ );
+
+ public $tiles = array(); // Tile[]
+ public $props = array(); // Prop[]
+ public $dim_props = array(); // Dim_Prop[]
+ public $chan_props = array(); // Chan_Prop[]
+
+ /**
+ * Binds the width, height, bit depth and number of channels from stored internal features.
+ *
+ * @param int $target_item_id Id of the item whose features will be bound.
+ * @param int $tile_depth Maximum recursion to search within tile-parent relations.
+ * @return Status FOUND on success or NOT_FOUND on failure.
+ */
+ private function get_item_features( $target_item_id, $tile_depth ) {
+ foreach ( $this->props as $prop ) {
+ if ( $prop->item_id != $target_item_id ) {
+ continue;
+ }
+
+ // Retrieve the width and height of the primary item if not already done.
+ if ( $target_item_id == $this->primary_item_id &&
+ ( $this->primary_item_features['width'] == UNDEFINED ||
+ $this->primary_item_features['height'] == UNDEFINED ) ) {
+ foreach ( $this->dim_props as $dim_prop ) {
+ if ( $dim_prop->property_index != $prop->property_index ) {
+ continue;
+ }
+ $this->primary_item_features['width'] = $dim_prop->width;
+ $this->primary_item_features['height'] = $dim_prop->height;
+ if ( $this->primary_item_features['bit_depth'] != UNDEFINED &&
+ $this->primary_item_features['num_channels'] != UNDEFINED ) {
+ return FOUND;
+ }
+ break;
+ }
+ }
+ // Retrieve the bit depth and number of channels of the target item if not
+ // already done.
+ if ( $this->primary_item_features['bit_depth'] == UNDEFINED ||
+ $this->primary_item_features['num_channels'] == UNDEFINED ) {
+ foreach ( $this->chan_props as $chan_prop ) {
+ if ( $chan_prop->property_index != $prop->property_index ) {
+ continue;
+ }
+ $this->primary_item_features['bit_depth'] = $chan_prop->bit_depth;
+ $this->primary_item_features['num_channels'] = $chan_prop->num_channels;
+ if ( $this->primary_item_features['width'] != UNDEFINED &&
+ $this->primary_item_features['height'] != UNDEFINED ) {
+ return FOUND;
+ }
+ break;
+ }
+ }
+ }
+
+ // Check for the bit_depth and num_channels in a tile if not yet found.
+ if ( $tile_depth < 3 ) {
+ foreach ( $this->tiles as $tile ) {
+ if ( $tile->parent_item_id != $target_item_id ) {
+ continue;
+ }
+ $status = get_item_features( $tile->tile_item_id, $tile_depth + 1 );
+ if ( $status != NOT_FOUND ) {
+ return $status;
+ }
+ }
+ }
+ return NOT_FOUND;
+ }
+
+ /**
+ * Finds the width, height, bit depth and number of channels of the primary item.
+ *
+ * @return Status FOUND on success or NOT_FOUND on failure.
+ */
+ public function get_primary_item_features() {
+ // Nothing to do without the primary item ID.
+ if ( !$this->has_primary_item ) {
+ return NOT_FOUND;
+ }
+ // Early exit.
+ if ( empty( $this->dim_props ) || empty( $this->chan_props ) ) {
+ return NOT_FOUND;
+ }
+ $status = $this->get_item_features( $this->primary_item_id, /*tile_depth=*/ 0 );
+ if ( $status != FOUND ) {
+ return $status;
+ }
+
+ // "auxC" is parsed before the "ipma" properties so it is known now, if any.
+ if ( $this->has_alpha ) {
+ ++$this->primary_item_features['num_channels'];
+ }
+ return FOUND;
+ }
+}
+
+//------------------------------------------------------------------------------
+
+class Box {
+ public $size; // In bytes.
+ public $type; // Four characters.
+ public $version; // 0 or actual version if this is a full box.
+ public $flags; // 0 or actual value if this is a full box.
+ public $content_size; // 'size' minus the header size.
+
+ /**
+ * Reads the box header.
+ *
+ * @param stream $handle The resource the header will be parsed from.
+ * @param int $num_parsed_boxes The total number of parsed boxes. Prevents timeouts.
+ * @param int $num_remaining_bytes The number of bytes that should be available from the resource.
+ * @return Status FOUND on success or an error on failure.
+ */
+ public function parse( $handle, &$num_parsed_boxes, $num_remaining_bytes = MAX_SIZE ) {
+ // See ISO/IEC 14496-12:2012(E) 4.2
+ $header_size = 8; // box 32b size + 32b type (at least)
+ if ( $header_size > $num_remaining_bytes ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $handle, 8 ) ) ) {
+ return TRUNCATED;
+ }
+ $this->size = read_big_endian( $data, 4 );
+ $this->type = substr( $data, 4, 4 );
+ // 'box->size==1' means 64-bit size should be read after the box type.
+ // 'box->size==0' means this box extends to all remaining bytes.
+ if ( $this->size == 1 ) {
+ $header_size += 8;
+ if ( $header_size > $num_remaining_bytes ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $handle, 8 ) ) ) {
+ return TRUNCATED;
+ }
+ // Stop the parsing if any box has a size greater than 4GB.
+ if ( read_big_endian( $data, 4 ) != 0 ) {
+ return ABORTED;
+ }
+ // Read the 32 least-significant bits.
+ $this->size = read_big_endian( substr( $data, 4, 4 ), 4 );
+ } else if ( $this->size == 0 ) {
+ $this->size = $num_remaining_bytes;
+ }
+ if ( $this->size < $header_size ) {
+ return INVALID;
+ }
+ if ( $this->size > $num_remaining_bytes ) {
+ return INVALID;
+ }
+
+ $has_fullbox_header = $this->type == 'meta' || $this->type == 'pitm' ||
+ $this->type == 'ipma' || $this->type == 'ispe' ||
+ $this->type == 'pixi' || $this->type == 'iref' ||
+ $this->type == 'auxC';
+ if ( $has_fullbox_header ) {
+ $header_size += 4;
+ }
+ if ( $this->size < $header_size ) {
+ return INVALID;
+ }
+ $this->content_size = $this->size - $header_size;
+ // Avoid timeouts. The maximum number of parsed boxes is arbitrary.
+ ++$num_parsed_boxes;
+ if ( $num_parsed_boxes >= MAX_NUM_BOXES ) {
+ return ABORTED;
+ }
+
+ $this->version = 0;
+ $this->flags = 0;
+ if ( $has_fullbox_header ) {
+ if ( !( $data = read( $handle, 4 ) ) ) {
+ return TRUNCATED;
+ }
+ $this->version = read_big_endian( $data, 1 );
+ $this->flags = read_big_endian( substr( $data, 1, 3 ), 3 );
+ // See AV1 Image File Format (AVIF) 8.1
+ // at https://aomediacodec.github.io/av1-avif/#avif-boxes (available when
+ // https://github.com/AOMediaCodec/av1-avif/pull/170 is merged).
+ $is_parsable = ( $this->type == 'meta' && $this->version <= 0 ) ||
+ ( $this->type == 'pitm' && $this->version <= 1 ) ||
+ ( $this->type == 'ipma' && $this->version <= 1 ) ||
+ ( $this->type == 'ispe' && $this->version <= 0 ) ||
+ ( $this->type == 'pixi' && $this->version <= 0 ) ||
+ ( $this->type == 'iref' && $this->version <= 1 ) ||
+ ( $this->type == 'auxC' && $this->version <= 0 );
+ // Instead of considering this file as invalid, skip unparsable boxes.
+ if ( !$is_parsable ) {
+ $this->type = 'unknownversion';
+ }
+ }
+ // print_r( $this ); // Uncomment to print all boxes.
+ return FOUND;
+ }
+}
+
+//------------------------------------------------------------------------------
+
+class Parser {
+ private $handle; // Input stream.
+ private $num_parsed_boxes = 0;
+ private $data_was_skipped = false;
+ public $features;
+
+ function __construct( $handle ) {
+ $this->handle = $handle;
+ $this->features = new Features();
+ }
+
+ /**
+ * Parses an "ipco" box.
+ *
+ * "ispe" is used for width and height, "pixi" and "av1C" are used for bit depth
+ * and number of channels, and "auxC" is used for alpha.
+ *
+ * @param stream $handle The resource the box will be parsed from.
+ * @param int $num_remaining_bytes The number of bytes that should be available from the resource.
+ * @return Status FOUND on success or an error on failure.
+ */
+ private function parse_ipco( $num_remaining_bytes ) {
+ $box_index = 1; // 1-based index. Used for iterating over properties.
+ do {
+ $box = new Box();
+ $status = $box->parse( $this->handle, $this->num_parsed_boxes, $num_remaining_bytes );
+ if ( $status != FOUND ) {
+ return $status;
+ }
+
+ if ( $box->type == 'ispe' ) {
+ // See ISO/IEC 23008-12:2017(E) 6.5.3.2
+ if ( $box->content_size < 8 ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, 8 ) ) ) {
+ return TRUNCATED;
+ }
+ $width = read_big_endian( substr( $data, 0, 4 ), 4 );
+ $height = read_big_endian( substr( $data, 4, 4 ), 4 );
+ if ( $width == 0 || $height == 0 ) {
+ return INVALID;
+ }
+ if ( count( $this->features->dim_props ) <= MAX_FEATURES &&
+ $box_index <= MAX_VALUE ) {
+ $dim_prop_count = count( $this->features->dim_props );
+ $this->features->dim_props[$dim_prop_count] = new Dim_Prop();
+ $this->features->dim_props[$dim_prop_count]->property_index = $box_index;
+ $this->features->dim_props[$dim_prop_count]->width = $width;
+ $this->features->dim_props[$dim_prop_count]->height = $height;
+ } else {
+ $this->data_was_skipped = true;
+ }
+ if ( !skip( $this->handle, $box->content_size - 8 ) ) {
+ return TRUNCATED;
+ }
+ } else if ( $box->type == 'pixi' ) {
+ // See ISO/IEC 23008-12:2017(E) 6.5.6.2
+ if ( $box->content_size < 1 ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, 1 ) ) ) {
+ return TRUNCATED;
+ }
+ $num_channels = read_big_endian( $data, 1 );
+ if ( $num_channels < 1 ) {
+ return INVALID;
+ }
+ if ( $box->content_size < 1 + $num_channels ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, 1 ) ) ) {
+ return TRUNCATED;
+ }
+ $bit_depth = read_big_endian( $data, 1 );
+ if ( $bit_depth < 1 ) {
+ return INVALID;
+ }
+ for ( $i = 1; $i < $num_channels; ++$i ) {
+ if ( !( $data = read( $this->handle, 1 ) ) ) {
+ return TRUNCATED;
+ }
+ // Bit depth should be the same for all channels.
+ if ( read_big_endian( $data, 1 ) != $bit_depth ) {
+ return INVALID;
+ }
+ if ( $i > 32 ) {
+ return ABORTED; // Be reasonable.
+ }
+ }
+ if ( count( $this->features->chan_props ) <= MAX_FEATURES &&
+ $box_index <= MAX_VALUE && $bit_depth <= MAX_VALUE &&
+ $num_channels <= MAX_VALUE ) {
+ $chan_prop_count = count( $this->features->chan_props );
+ $this->features->chan_props[$chan_prop_count] = new Chan_Prop();
+ $this->features->chan_props[$chan_prop_count]->property_index = $box_index;
+ $this->features->chan_props[$chan_prop_count]->bit_depth = $bit_depth;
+ $this->features->chan_props[$chan_prop_count]->num_channels = $num_channels;
+ } else {
+ $this->data_was_skipped = true;
+ }
+ if ( !skip( $this->handle, $box->content_size - ( 1 + $num_channels ) ) ) {
+ return TRUNCATED;
+ }
+ } else if ( $box->type == 'av1C' ) {
+ // See AV1 Codec ISO Media File Format Binding 2.3.1
+ // at https://aomediacodec.github.io/av1-isobmff/#av1c
+ // Only parse the necessary third byte. Assume that the others are valid.
+ if ( $box->content_size < 3 ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, 3 ) ) ) {
+ return TRUNCATED;
+ }
+ $byte = read_big_endian( substr( $data, 2, 1 ), 1 );
+ $high_bitdepth = ( $byte & 0x40 ) != 0;
+ $twelve_bit = ( $byte & 0x20 ) != 0;
+ $monochrome = ( $byte & 0x10 ) != 0;
+ if ( $twelve_bit && !$high_bitdepth ) {
+ return INVALID;
+ }
+ if ( count( $this->features->chan_props ) <= MAX_FEATURES &&
+ $box_index <= MAX_VALUE ) {
+ $chan_prop_count = count( $this->features->chan_props );
+ $this->features->chan_props[$chan_prop_count] = new Chan_Prop();
+ $this->features->chan_props[$chan_prop_count]->property_index = $box_index;
+ $this->features->chan_props[$chan_prop_count]->bit_depth =
+ $high_bitdepth ? $twelve_bit ? 12 : 10 : 8;
+ $this->features->chan_props[$chan_prop_count]->num_channels = $monochrome ? 1 : 3;
+ } else {
+ $this->data_was_skipped = true;
+ }
+ if ( !skip( $this->handle, $box->content_size - 3 ) ) {
+ return TRUNCATED;
+ }
+ } else if ( $box->type == 'auxC' ) {
+ // See AV1 Image File Format (AVIF) 4
+ // at https://aomediacodec.github.io/av1-avif/#auxiliary-images
+ $kAlphaStr = "urn:mpeg:mpegB:cicp:systems:auxiliary:alpha\0";
+ $kAlphaStrLength = 44; // Includes terminating character.
+ if ( $box->content_size >= $kAlphaStrLength ) {
+ if ( !( $data = read( $this->handle, $kAlphaStrLength ) ) ) {
+ return TRUNCATED;
+ }
+ if ( substr( $data, 0, $kAlphaStrLength ) == $kAlphaStr ) {
+ // Note: It is unlikely but it is possible that this alpha plane does
+ // not belong to the primary item or a tile. Ignore this issue.
+ $this->features->has_alpha = true;
+ }
+ if ( !skip( $this->handle, $box->content_size - $kAlphaStrLength ) ) {
+ return TRUNCATED;
+ }
+ } else {
+ if ( !skip( $this->handle, $box->content_size ) ) {
+ return TRUNCATED;
+ }
+ }
+ } else {
+ if ( !skip( $this->handle, $box->content_size ) ) {
+ return TRUNCATED;
+ }
+ }
+ ++$box_index;
+ $num_remaining_bytes -= $box->size;
+ } while ( $num_remaining_bytes > 0 );
+ return NOT_FOUND;
+ }
+
+ /**
+ * Parses an "iprp" box.
+ *
+ * The "ipco" box contain the properties which are linked to items by the "ipma" box.
+ *
+ * @param stream $handle The resource the box will be parsed from.
+ * @param int $num_remaining_bytes The number of bytes that should be available from the resource.
+ * @return Status FOUND on success or an error on failure.
+ */
+ private function parse_iprp( $num_remaining_bytes ) {
+ do {
+ $box = new Box();
+ $status = $box->parse( $this->handle, $this->num_parsed_boxes, $num_remaining_bytes );
+ if ( $status != FOUND ) {
+ return $status;
+ }
+
+ if ( $box->type == 'ipco' ) {
+ $status = $this->parse_ipco( $box->content_size );
+ if ( $status != NOT_FOUND ) {
+ return $status;
+ }
+ } else if ( $box->type == 'ipma' ) {
+ // See ISO/IEC 23008-12:2017(E) 9.3.2
+ $num_read_bytes = 4;
+ if ( $box->content_size < $num_read_bytes ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, $num_read_bytes ) ) ) {
+ return TRUNCATED;
+ }
+ $entry_count = read_big_endian( $data, 4 );
+ $id_num_bytes = ( $box->version < 1 ) ? 2 : 4;
+ $index_num_bytes = ( $box->flags & 1 ) ? 2 : 1;
+ $essential_bit_mask = ( $box->flags & 1 ) ? 0x8000 : 0x80;
+
+ for ( $entry = 0; $entry < $entry_count; ++$entry ) {
+ if ( $entry >= MAX_PROPS ||
+ count( $this->features->props ) >= MAX_PROPS ) {
+ $this->data_was_skipped = true;
+ break;
+ }
+ $num_read_bytes += $id_num_bytes + 1;
+ if ( $box->content_size < $num_read_bytes ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, $id_num_bytes + 1 ) ) ) {
+ return TRUNCATED;
+ }
+ $item_id = read_big_endian(
+ substr( $data, 0, $id_num_bytes ), $id_num_bytes );
+ $association_count = read_big_endian(
+ substr( $data, $id_num_bytes, 1 ), 1 );
+
+ for ( $property = 0; $property < $association_count; ++$property ) {
+ if ( $property >= MAX_PROPS ||
+ count( $this->features->props ) >= MAX_PROPS ) {
+ $this->data_was_skipped = true;
+ break;
+ }
+ $num_read_bytes += $index_num_bytes;
+ if ( $box->content_size < $num_read_bytes ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, $index_num_bytes ) ) ) {
+ return TRUNCATED;
+ }
+ $value = read_big_endian( $data, $index_num_bytes );
+ // $essential = ($value & $essential_bit_mask); // Unused.
+ $property_index = ( $value & ~$essential_bit_mask );
+ if ( $property_index <= MAX_VALUE && $item_id <= MAX_VALUE ) {
+ $prop_count = count( $this->features->props );
+ $this->features->props[$prop_count] = new Prop();
+ $this->features->props[$prop_count]->property_index = $property_index;
+ $this->features->props[$prop_count]->item_id = $item_id;
+ } else {
+ $this->data_was_skipped = true;
+ }
+ }
+ if ( $property < $association_count ) {
+ break; // Do not read garbage.
+ }
+ }
+
+ // If all features are available now, do not look further.
+ $status = $this->features->get_primary_item_features();
+ if ( $status != NOT_FOUND ) {
+ return $status;
+ }
+
+ // Mostly if 'data_was_skipped'.
+ if ( !skip( $this->handle, $box->content_size - $num_read_bytes ) ) {
+ return TRUNCATED;
+ }
+ } else {
+ if ( !skip( $this->handle, $box->content_size ) ) {
+ return TRUNCATED;
+ }
+ }
+ $num_remaining_bytes -= $box->size;
+ } while ( $num_remaining_bytes > 0 );
+ return NOT_FOUND;
+ }
+
+ /**
+ * Parses an "iref" box.
+ *
+ * The "dimg" boxes contain links between tiles and their parent items, which
+ * can be used to infer bit depth and number of channels for the primary item
+ * when the latter does not have these properties.
+ *
+ * @param stream $handle The resource the box will be parsed from.
+ * @param int $num_remaining_bytes The number of bytes that should be available from the resource.
+ * @return Status FOUND on success or an error on failure.
+ */
+ private function parse_iref( $num_remaining_bytes ) {
+ do {
+ $box = new Box();
+ $status = $box->parse( $this->handle, $this->num_parsed_boxes, $num_remaining_bytes );
+ if ( $status != FOUND ) {
+ return $status;
+ }
+
+ if ( $box->type == 'dimg' ) {
+ // See ISO/IEC 14496-12:2015(E) 8.11.12.2
+ $num_bytes_per_id = ( $box->version == 0 ) ? 2 : 4;
+ $num_read_bytes = $num_bytes_per_id + 2;
+ if ( $box->content_size < $num_read_bytes ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, $num_read_bytes ) ) ) {
+ return TRUNCATED;
+ }
+ $from_item_id = read_big_endian( $data, $num_bytes_per_id );
+ $reference_count = read_big_endian( substr( $data, $num_bytes_per_id, 2 ), 2 );
+
+ for ( $i = 0; $i < $reference_count; ++$i ) {
+ if ( $i >= MAX_TILES ) {
+ $this->data_was_skipped = true;
+ break;
+ }
+ $num_read_bytes += $num_bytes_per_id;
+ if ( $box->content_size < $num_read_bytes ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, $num_bytes_per_id ) ) ) {
+ return TRUNCATED;
+ }
+ $to_item_id = read_big_endian( $data, $num_bytes_per_id );
+ $tile_count = count( $this->features->tiles );
+ if ( $from_item_id <= MAX_VALUE && $to_item_id <= MAX_VALUE &&
+ $tile_count < MAX_TILES ) {
+ $this->features->tiles[$tile_count] = new Tile();
+ $this->features->tiles[$tile_count]->tile_item_id = $to_item_id;
+ $this->features->tiles[$tile_count]->parent_item_id = $from_item_id;
+ } else {
+ $this->data_was_skipped = true;
+ }
+ }
+
+ // If all features are available now, do not look further.
+ $status = $this->features->get_primary_item_features();
+ if ( $status != NOT_FOUND ) {
+ return $status;
+ }
+
+ // Mostly if 'data_was_skipped'.
+ if ( !skip( $this->handle, $box->content_size - $num_read_bytes ) ) {
+ return TRUNCATED;
+ }
+ } else {
+ if ( !skip( $this->handle, $box->content_size ) ) {
+ return TRUNCATED;
+ }
+ }
+ $num_remaining_bytes -= $box->size;
+ } while ( $num_remaining_bytes > 0 );
+ return NOT_FOUND;
+ }
+
+ /**
+ * Parses a "meta" box.
+ *
+ * It looks for the primary item ID in the "pitm" box and recurses into other boxes
+ * to find its features.
+ *
+ * @param stream $handle The resource the box will be parsed from.
+ * @param int $num_remaining_bytes The number of bytes that should be available from the resource.
+ * @return Status FOUND on success or an error on failure.
+ */
+ private function parse_meta( $num_remaining_bytes ) {
+ do {
+ $box = new Box();
+ $status = $box->parse( $this->handle, $this->num_parsed_boxes, $num_remaining_bytes );
+ if ( $status != FOUND ) {
+ return $status;
+ }
+
+ if ( $box->type == 'pitm' ) {
+ // See ISO/IEC 14496-12:2015(E) 8.11.4.2
+ $num_bytes_per_id = ( $box->version == 0 ) ? 2 : 4;
+ if ( $num_bytes_per_id > $num_remaining_bytes ) {
+ return INVALID;
+ }
+ if ( !( $data = read( $this->handle, $num_bytes_per_id ) ) ) {
+ return TRUNCATED;
+ }
+ $primary_item_id = read_big_endian( $data, $num_bytes_per_id );
+ if ( $primary_item_id > MAX_VALUE ) {
+ return ABORTED;
+ }
+ $this->features->has_primary_item = true;
+ $this->features->primary_item_id = $primary_item_id;
+ if ( !skip( $this->handle, $box->content_size - $num_bytes_per_id ) ) {
+ return TRUNCATED;
+ }
+ } else if ( $box->type == 'iprp' ) {
+ $status = $this->parse_iprp( $box->content_size );
+ if ( $status != NOT_FOUND ) {
+ return $status;
+ }
+ } else if ( $box->type == 'iref' ) {
+ $status = $this->parse_iref( $box->content_size );
+ if ( $status != NOT_FOUND ) {
+ return $status;
+ }
+ } else {
+ if ( !skip( $this->handle, $box->content_size ) ) {
+ return TRUNCATED;
+ }
+ }
+ $num_remaining_bytes -= $box->size;
+ } while ( $num_remaining_bytes != 0 );
+ // According to ISO/IEC 14496-12:2012(E) 8.11.1.1 there is at most one "meta".
+ return INVALID;
+ }
+
+ /**
+ * Parses a file stream.
+ *
+ * The file type is checked through the "ftyp" box.
+ *
+ * @return bool True if the input stream is an AVIF bitstream or false.
+ */
+ public function parse_ftyp() {
+ $box = new Box();
+ $status = $box->parse( $this->handle, $this->num_parsed_boxes );
+ if ( $status != FOUND ) {
+ return false;
+ }
+
+ if ( $box->type != 'ftyp' ) {
+ return false;
+ }
+ // Iterate over brands. See ISO/IEC 14496-12:2012(E) 4.3.1
+ if ( $box->content_size < 8 ) {
+ return false;
+ }
+ for ( $i = 0; $i + 4 <= $box->content_size; $i += 4 ) {
+ if ( !( $data = read( $this->handle, 4 ) ) ) {
+ return false;
+ }
+ if ( $i == 4 ) {
+ continue; // Skip minor_version.
+ }
+ if ( substr( $data, 0, 4 ) == 'avif' || substr( $data, 0, 4 ) == 'avis' ) {
+ return skip( $this->handle, $box->content_size - ( $i + 4 ) );
+ }
+ if ( $i > 32 * 4 ) {
+ return false; // Be reasonable.
+ }
+
+ }
+ return false; // No AVIF brand no good.
+ }
+
+ /**
+ * Parses a file stream.
+ *
+ * Features are extracted from the "meta" box.
+ *
+ * @return bool True if the main features of the primary item were parsed or false.
+ */
+ public function parse_file() {
+ $box = new Box();
+ while ( $box->parse( $this->handle, $this->num_parsed_boxes ) == FOUND ) {
+ if ( $box->type === 'meta' ) {
+ if ( $this->parse_meta( $box->content_size ) != FOUND ) {
+ return false;
+ }
+ return true;
+ }
+ if ( !skip( $this->handle, $box->content_size ) ) {
+ return false;
+ }
+ }
+ return false; // No "meta" no good.
+ }
+}
diff --git a/wp-includes/class-simplepie.php b/wp-includes/class-simplepie.php
index 2bd27359e..976ce72cb 100644
--- a/wp-includes/class-simplepie.php
+++ b/wp-includes/class-simplepie.php
@@ -340,7 +340,6 @@ function wp_simplepie_autoload( $class ) {
/**
* RSS 2.0 Namespace
- * (Stupid, I know, but I'm certain it will confuse people less with support.)
*/
define('SIMPLEPIE_NAMESPACE_RSS_20', '');
@@ -1205,12 +1204,12 @@ public function set_cache_name_function($function = 'md5')
}
/**
- * Set options to make SP as fast as possible
+ * Set options to make SimplePie as fast as possible.
*
- * Forgoes a substantial amount of data sanitization in favor of speed. This
- * turns SimplePie into a dumb parser of feeds.
+ * Forgoes a substantial amount of data sanitization in favor of speed.
+ * This turns SimplePie into a less clever parser of feeds.
*
- * @param bool $set Whether to set them or not
+ * @param bool $set Whether to set them or not.
*/
public function set_stupidly_fast($set = false)
{
diff --git a/wp-includes/class-wp-admin-bar.php b/wp-includes/class-wp-admin-bar.php
index ee3888edb..093ed0187 100644
--- a/wp-includes/class-wp-admin-bar.php
+++ b/wp-includes/class-wp-admin-bar.php
@@ -107,6 +107,7 @@ public function remove_menu( $id ) {
*
* @since 3.1.0
* @since 4.5.0 Added the ability to pass 'lang' and 'dir' meta data.
+ * @since 6.5.0 Added the ability to pass 'menu_title' for an ARIA menu name.
*
* @param array $args {
* Arguments for adding a node.
@@ -117,7 +118,7 @@ public function remove_menu( $id ) {
* @type string $href Optional. Link for the item.
* @type bool $group Optional. Whether or not the node is a group. Default false.
* @type array $meta Meta data including the following keys: 'html', 'class', 'rel', 'lang', 'dir',
- * 'onclick', 'target', 'title', 'tabindex'. Default empty.
+ * 'onclick', 'target', 'title', 'tabindex', 'menu_title'. Default empty.
* }
*/
public function add_node( $args ) {
@@ -478,9 +479,6 @@ final protected function _render( $root ) {
}
?>