diff --git a/admin/class-admin-asset-manager.php b/admin/class-admin-asset-manager.php
index 07f11c50de3..fcd1bbdd91a 100644
--- a/admin/class-admin-asset-manager.php
+++ b/admin/class-admin-asset-manager.php
@@ -658,6 +658,11 @@ protected function styles_to_be_registered() {
[
'name' => 'tailwind',
'src' => 'tailwind-' . $flat_version,
+ // Note: The RTL suffix is not added here.
+ // Tailwind and our UI library provide styling that should be standalone compatible with RTL.
+ // To make it easier we should use the logical properties and values when possible.
+ // If there are exceptions, we can use the Tailwind modifier, e.g. `rtl:yst-space-x-reverse`.
+ 'rtl' => false,
],
[
'name' => 'new-settings',
diff --git a/config/grunt/task-config/rtlcss.js b/config/grunt/task-config/rtlcss.js
new file mode 100644
index 00000000000..ae282dc8034
--- /dev/null
+++ b/config/grunt/task-config/rtlcss.js
@@ -0,0 +1,11 @@
+// https://github.com/MohammadYounes/grunt-rtlcss
+module.exports = {
+ build: {
+ src: [
+ "**/*.css",
+ "!**/*-rtl.css",
+ // Exclude UI library CSS files, as they are already RTL compatible.
+ "!tailwind-*.css",
+ ],
+ },
+};
diff --git a/css/src/admin-global.css b/css/src/admin-global.css
index f2deec79f5c..5ced0085739 100644
--- a/css/src/admin-global.css
+++ b/css/src/admin-global.css
@@ -725,7 +725,7 @@ body.folded .wpseo-admin-submit-fixed {
box-sizing: border-box;
display: flex;
flex-direction: row;
- justify-content: left;
+ justify-content: flex-start;
align-items: center;
width: 100%;
}
diff --git a/package.json b/package.json
index 774ecc8814b..365ef67097d 100644
--- a/package.json
+++ b/package.json
@@ -40,7 +40,7 @@
"@babel/core": "^7.18.5",
"@slack/webhook": "^5.0.2",
"@tailwindcss/container-queries": "^0.1.1",
- "@tailwindcss/forms": "^0.5.2",
+ "@tailwindcss/forms": "^0.5.9",
"@wordpress/dependency-extraction-webpack-plugin": "^4.28.0",
"@wordpress/scripts": "^26.16.0",
"@yoast/babel-preset": "^1.1.1",
diff --git a/packages/js/src/academy/app.js b/packages/js/src/academy/app.js
index 8e188d3564f..6cf0be445a0 100644
--- a/packages/js/src/academy/app.js
+++ b/packages/js/src/academy/app.js
@@ -267,7 +267,7 @@ const App = () => {
/>
{ shouldShowPremiumBadge( course.dependencies, isPremium ) && (
-
+
{ __( "Premium", "wordpress-seo" ) }
) }
@@ -291,7 +291,7 @@ const App = () => {
__( "(Opens in a new browser tab)", "wordpress-seo" )
}
-
+
}
@@ -309,7 +309,7 @@ const App = () => {
rel="noopener"
{ ...premiumUpsellConfig }
>
-
+
{ sprintf(
/* translators: %1$s expands to Premium. */
__( "Unlock with %1$s", "wordpress-seo" ),
@@ -331,7 +331,7 @@ const App = () => {
rel="noopener"
>
{ __( "Start the course", "wordpress-seo" ) }
-
+
)
}
diff --git a/packages/js/src/components/MetaboxButton.js b/packages/js/src/components/MetaboxButton.js
index 8be24fc7a7f..02de58d090b 100644
--- a/packages/js/src/components/MetaboxButton.js
+++ b/packages/js/src/components/MetaboxButton.js
@@ -12,7 +12,8 @@ import PropTypes from "prop-types";
const MetaboxButtonText = ( { className, ...props } ) => (
(