Commit 2d38512911 for wordpress.org

commit 2d38512911f89827ff6331f7ccb875a1c467825d
Author: Sergey Biryukov <sergeybiryukov.ru@gmail.com>
Date:   Thu Jan 15 22:23:06 2026 +0000

    Twenty Twenty-One: Correct RTL margins for left/right aligned blocks.

    Follow-up to [49216], [49574].

    Props sabernhardt, sagarladani, poena, karmatosed, SergeyBiryukov.
    Fixes #56748.
    Built from https://develop.svn.wordpress.org/trunk@61490


    git-svn-id: http://core.svn.wordpress.org/trunk@60801 1a063a9b-81f0-0310-95a4-ce76da25c4cd

diff --git a/wp-content/themes/twentytwentyone/assets/css/ie-editor.css b/wp-content/themes/twentytwentyone/assets/css/ie-editor.css
index 716629ca53..8d4d87d7b6 100644
--- a/wp-content/themes/twentytwentyone/assets/css/ie-editor.css
+++ b/wp-content/themes/twentytwentyone/assets/css/ie-editor.css
@@ -1000,6 +1000,18 @@ h6,
 	padding: 20px;
 }

+.wp-block[data-align=left] > .wp-block-image {
+
+	/*rtl:ignore*/
+	margin-left: 0;
+}
+
+.wp-block[data-align=right] > .wp-block-image {
+
+	/*rtl:ignore*/
+	margin-right: 0;
+}
+
 .wp-block-latest-comments {
 	padding-left: 0;
 }
@@ -2422,11 +2434,15 @@ pre.wp-block-verse {

 	.wp-block[data-align=left] > * {
 		max-width: 290px;
+
+		/*rtl:ignore*/
 		margin-right: 25px;
 	}

 	.wp-block[data-align=right] > * {
 		max-width: 290px;
+
+		/*rtl:ignore*/
 		margin-left: 25px;
 	}
 }
diff --git a/wp-content/themes/twentytwentyone/assets/css/ie.css b/wp-content/themes/twentytwentyone/assets/css/ie.css
index 7ee5c0b89d..9ce7cfd6cb 100644
--- a/wp-content/themes/twentytwentyone/assets/css/ie.css
+++ b/wp-content/themes/twentytwentyone/assets/css/ie.css
@@ -2439,11 +2439,21 @@ h6,
 }

 .wp-block-image .alignright {
+
+	/*rtl:ignore*/
 	margin-left: 25px;
+
+	/*rtl:ignore*/
+	margin-right: 0;
 }

 .wp-block-image .alignleft {
+
+	/*rtl:ignore*/
 	margin-right: 25px;
+
+	/*rtl:ignore*/
+	margin-left: 0;
 }

 .wp-block-image a:focus img {
@@ -2484,6 +2494,23 @@ h6,
 		margin-left: 0;
 		margin-right: 0;
 	}
+
+	.entry-content > .wp-block-image > .alignleft:after,
+	.entry-content > .wp-block-image > .alignright:after {
+		content: "";
+		display: block;
+		height: 1px;
+		width: 1em;
+
+		/*rtl:ignore*/
+		float: right;
+	}
+
+	.entry-content > .wp-block-image > .alignright:after {
+
+		/*rtl:ignore*/
+		float: left;
+	}
 }

 .wp-block-latest-comments {
diff --git a/wp-content/themes/twentytwentyone/assets/css/style-editor.css b/wp-content/themes/twentytwentyone/assets/css/style-editor.css
index 6c5d94e60b..df21ab67bb 100644
--- a/wp-content/themes/twentytwentyone/assets/css/style-editor.css
+++ b/wp-content/themes/twentytwentyone/assets/css/style-editor.css
@@ -1111,6 +1111,18 @@ h6,
 	padding: var(--global--spacing-unit);
 }

+.wp-block[data-align=left] > .wp-block-image {
+
+	/*rtl:ignore*/
+	margin-left: 0;
+}
+
+.wp-block[data-align=right] > .wp-block-image {
+
+	/*rtl:ignore*/
+	margin-right: 0;
+}
+
 .wp-block-latest-comments {
 	padding-left: 0;
 }
@@ -2311,11 +2323,15 @@ pre.wp-block-verse {

 	.wp-block[data-align=left] > * {
 		max-width: 290px;
+
+		/*rtl:ignore*/
 		margin-right: var(--global--spacing-horizontal);
 	}

 	.wp-block[data-align=right] > * {
 		max-width: 290px;
+
+		/*rtl:ignore*/
 		margin-left: var(--global--spacing-horizontal);
 	}
 }
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_editor.scss
index c108a60f9a..3b4b854cbf 100644
--- a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_editor.scss
+++ b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_editor.scss
@@ -19,3 +19,15 @@
 .wp-block-image.is-style-twentytwentyone-image-frame img {
 	padding: var(--global--spacing-unit);
 }
+
+.wp-block[data-align="left"] > .wp-block-image {
+
+	/*rtl:ignore*/
+	margin-left: 0;
+}
+
+.wp-block[data-align="right"] > .wp-block-image {
+
+	/*rtl:ignore*/
+	margin-right: 0;
+}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_style.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_style.scss
index 989f060634..51cea60f5f 100644
--- a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_style.scss
+++ b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/image/_style.scss
@@ -11,11 +11,21 @@
 	}

 	.alignright {
+
+		/*rtl:ignore*/
 		margin-left: var(--global--spacing-horizontal);
+
+		/*rtl:ignore*/
+		margin-right: 0;
 	}

 	.alignleft {
+
+		/*rtl:ignore*/
 		margin-right: var(--global--spacing-horizontal);
+
+		/*rtl:ignore*/
+		margin-left: 0;
 	}

 	a:focus img {
@@ -49,14 +59,36 @@

 	> .wp-block-image {

-		> .alignleft,
-		> .alignright {
-			@include media(mobile) {
+		@include media(mobile) {
+
+			> .alignleft,
+			> .alignright {
 				max-width: 50%;
 			}
-			@include media(mobile-only) {
+		}
+
+		@include media(mobile-only) {
+
+			> .alignleft,
+			> .alignright {
 				margin-left: 0;
 				margin-right: 0;
+
+				&:after {
+					content: "";
+					display: block;
+					height: 1px;
+					width: 1em;
+
+					/*rtl:ignore*/
+					float: right;
+				}
+			}
+
+			> .alignright:after {
+
+				/*rtl:ignore*/
+				float: left;
 			}
 		}
 	}
diff --git a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_editor.scss b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_editor.scss
index aa6eba6139..80b0ef85eb 100644
--- a/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_editor.scss
+++ b/wp-content/themes/twentytwentyone/assets/sass/05-blocks/utilities/_editor.scss
@@ -115,15 +115,19 @@
 	font-size: calc(1.2 * var(--heading--font-size-h1));
 }

-@media only screen and (min-width: 482px) {
+@include media(mobile) {

 	.wp-block[data-align="left"] > * {
 		max-width: 290px;
+
+		/*rtl:ignore*/
 		margin-right: var(--global--spacing-horizontal);
 	}

 	.wp-block[data-align="right"] > * {
 		max-width: 290px;
+
+		/*rtl:ignore*/
 		margin-left: var(--global--spacing-horizontal);
 	}
 }
diff --git a/wp-content/themes/twentytwentyone/style-rtl.css b/wp-content/themes/twentytwentyone/style-rtl.css
index b0fdc88b10..7ba25772bb 100644
--- a/wp-content/themes/twentytwentyone/style-rtl.css
+++ b/wp-content/themes/twentytwentyone/style-rtl.css
@@ -2274,11 +2274,13 @@ h6,
 }

 .wp-block-image .alignright {
-	margin-right: var(--global--spacing-horizontal);
+	margin-left: var(--global--spacing-horizontal);
+	margin-right: 0;
 }

 .wp-block-image .alignleft {
-	margin-left: var(--global--spacing-horizontal);
+	margin-right: var(--global--spacing-horizontal);
+	margin-left: 0;
 }

 .wp-block-image a:focus img {
@@ -2319,6 +2321,19 @@ h6,
 		margin-right: 0;
 		margin-left: 0;
 	}
+
+	.entry-content > .wp-block-image > .alignleft:after,
+	.entry-content > .wp-block-image > .alignright:after {
+		content: "";
+		display: block;
+		height: 1px;
+		width: 1em;
+		float: right;
+	}
+
+	.entry-content > .wp-block-image > .alignright:after {
+		float: left;
+	}
 }

 .wp-block-latest-comments {
diff --git a/wp-content/themes/twentytwentyone/style.css b/wp-content/themes/twentytwentyone/style.css
index 0eb8089779..c36175be86 100644
--- a/wp-content/themes/twentytwentyone/style.css
+++ b/wp-content/themes/twentytwentyone/style.css
@@ -2284,11 +2284,21 @@ h6,
 }

 .wp-block-image .alignright {
+
+	/*rtl:ignore*/
 	margin-left: var(--global--spacing-horizontal);
+
+	/*rtl:ignore*/
+	margin-right: 0;
 }

 .wp-block-image .alignleft {
+
+	/*rtl:ignore*/
 	margin-right: var(--global--spacing-horizontal);
+
+	/*rtl:ignore*/
+	margin-left: 0;
 }

 .wp-block-image a:focus img {
@@ -2329,6 +2339,23 @@ h6,
 		margin-left: 0;
 		margin-right: 0;
 	}
+
+	.entry-content > .wp-block-image > .alignleft:after,
+	.entry-content > .wp-block-image > .alignright:after {
+		content: "";
+		display: block;
+		height: 1px;
+		width: 1em;
+
+		/*rtl:ignore*/
+		float: right;
+	}
+
+	.entry-content > .wp-block-image > .alignright:after {
+
+		/*rtl:ignore*/
+		float: left;
+	}
 }

 .wp-block-latest-comments {
diff --git a/wp-includes/css/dist/index.php b/wp-includes/css/dist/index.php
index fa17b16ae6..f0147210d5 100644
--- a/wp-includes/css/dist/index.php
+++ b/wp-includes/css/dist/index.php
@@ -8,8 +8,8 @@

 return array(
 	array(
-		'handle' => 'wp-nux',
-		'path' => 'nux/style',
+		'handle' => 'wp-preferences',
+		'path' => 'preferences/style',
 		'dependencies' => array('wp-components'),
 	),
 	array(
@@ -18,8 +18,8 @@ return array(
 		'dependencies' => array('wp-components'),
 	),
 	array(
-		'handle' => 'wp-preferences',
-		'path' => 'preferences/style',
+		'handle' => 'wp-nux',
+		'path' => 'nux/style',
 		'dependencies' => array('wp-components'),
 	),
 	array(
@@ -32,16 +32,16 @@ return array(
 		'path' => 'patterns/style',
 		'dependencies' => array('wp-block-editor', 'wp-components'),
 	),
-	array(
-		'handle' => 'wp-commands',
-		'path' => 'commands/style',
-		'dependencies' => array('wp-components'),
-	),
 	array(
 		'handle' => 'wp-widgets',
 		'path' => 'widgets/style',
 		'dependencies' => array('wp-block-editor', 'wp-components'),
 	),
+	array(
+		'handle' => 'wp-commands',
+		'path' => 'commands/style',
+		'dependencies' => array('wp-components'),
+	),
 	array(
 		'handle' => 'wp-components',
 		'path' => 'components/style',
@@ -87,14 +87,14 @@ return array(
 		'path' => 'editor/style',
 		'dependencies' => array('wp-block-editor', 'wp-commands', 'wp-components', 'wp-media-utils', 'wp-patterns', 'wp-preferences'),
 	),
-	array(
-		'handle' => 'wp-edit-site',
-		'path' => 'edit-site/style',
-		'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-commands', 'wp-components', 'wp-editor', 'wp-patterns', 'wp-preferences', 'wp-widgets'),
-	),
 	array(
 		'handle' => 'wp-block-editor',
 		'path' => 'block-editor/style',
 		'dependencies' => array('wp-commands', 'wp-components', 'wp-preferences'),
 	),
+	array(
+		'handle' => 'wp-edit-site',
+		'path' => 'edit-site/style',
+		'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-commands', 'wp-components', 'wp-editor', 'wp-patterns', 'wp-preferences', 'wp-widgets'),
+	),
 );
diff --git a/wp-includes/js/dist/script-modules/index.php b/wp-includes/js/dist/script-modules/index.php
index 697113495e..d82cd4a4c4 100644
--- a/wp-includes/js/dist/script-modules/index.php
+++ b/wp-includes/js/dist/script-modules/index.php
@@ -7,16 +7,6 @@
  */

 return array(
-	array(
-		'id' => '@wordpress/interactivity',
-		'path' => 'interactivity/index',
-		'asset' => 'interactivity/index.min.asset.php',
-	),
-	array(
-		'id' => '@wordpress/a11y',
-		'path' => 'a11y/index',
-		'asset' => 'a11y/index.min.asset.php',
-	),
 	array(
 		'id' => '@wordpress/interactivity-router',
 		'path' => 'interactivity-router/index',
@@ -28,9 +18,14 @@ return array(
 		'asset' => 'interactivity-router/full-page.min.asset.php',
 	),
 	array(
-		'id' => '@wordpress/core-abilities',
-		'path' => 'core-abilities/index',
-		'asset' => 'core-abilities/index.min.asset.php',
+		'id' => '@wordpress/interactivity',
+		'path' => 'interactivity/index',
+		'asset' => 'interactivity/index.min.asset.php',
+	),
+	array(
+		'id' => '@wordpress/a11y',
+		'path' => 'a11y/index',
+		'asset' => 'a11y/index.min.asset.php',
 	),
 	array(
 		'id' => '@wordpress/latex-to-mathml',
@@ -42,21 +37,26 @@ return array(
 		'path' => 'latex-to-mathml/loader',
 		'asset' => 'latex-to-mathml/loader.min.asset.php',
 	),
+	array(
+		'id' => '@wordpress/core-abilities',
+		'path' => 'core-abilities/index',
+		'asset' => 'core-abilities/index.min.asset.php',
+	),
 	array(
 		'id' => '@wordpress/abilities',
 		'path' => 'abilities/index',
 		'asset' => 'abilities/index.min.asset.php',
 	),
-	array(
-		'id' => '@wordpress/route',
-		'path' => 'route/index',
-		'asset' => 'route/index.min.asset.php',
-	),
 	array(
 		'id' => '@wordpress/edit-site-init',
 		'path' => 'edit-site-init/index',
 		'asset' => 'edit-site-init/index.min.asset.php',
 	),
+	array(
+		'id' => '@wordpress/route',
+		'path' => 'route/index',
+		'asset' => 'route/index.min.asset.php',
+	),
 	array(
 		'id' => '@wordpress/lazy-editor',
 		'path' => 'lazy-editor/index',
diff --git a/wp-includes/version.php b/wp-includes/version.php
index c61a6602b0..920bb06dfa 100644
--- a/wp-includes/version.php
+++ b/wp-includes/version.php
@@ -16,7 +16,7 @@
  *
  * @global string $wp_version
  */
-$wp_version = '7.0-alpha-61489';
+$wp_version = '7.0-alpha-61490';

 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.