From d29050d08069601dd4c87839f990165740fe2889 Mon Sep 17 00:00:00 2001 From: Jon Robson Date: Fri, 23 Jun 2023 13:45:33 -0700 Subject: [PATCH] Use Codex styles for buttons in language overlay * Replace all instances of mw-ui markup with Codex markup * Use @wikimedia/codex as it is available in 1.39 and codex-search-styles is not. Bug: T340255 Change-Id: Id85cf3b4af782c0d93bfa3bed5f3e6cbed856f1b --- extension.json | 11 ++++---- resources/css/ext.uls.displaysettings.less | 3 ++- resources/css/ext.uls.inputsettings.less | 4 +-- resources/css/ext.uls.languagesettings.less | 10 +++++-- resources/js/ext.uls.actions.menu.js | 2 +- resources/js/ext.uls.compactlinks.js | 4 +-- resources/js/ext.uls.displaysettings.js | 29 +++++++++++---------- resources/js/ext.uls.inputsettings.js | 18 +++++++------ resources/js/ext.uls.interface.js | 11 ++++++-- resources/js/ext.uls.languagesettings.js | 4 +-- resources/js/ext.uls.setlang.js | 4 +-- 11 files changed, 58 insertions(+), 42 deletions(-) diff --git a/extension.json b/extension.json index fe0665f6..42d94c4b 100644 --- a/extension.json +++ b/extension.json @@ -172,7 +172,8 @@ "dependencies": [ "mediawiki.jqueryMsg", "mediawiki.language", - "ext.uls.common" + "ext.uls.common", + "@wikimedia/codex" ], "messages": [ "ext-uls-compact-link-count", @@ -209,9 +210,7 @@ "ext.uls.mediawiki", "ext.uls.webfonts", "mediawiki.api", - "mediawiki.ui.radio", - "mediawiki.ui.checkbox", - "mediawiki.ui.button", + "@wikimedia/codex", "mediawiki.user" ] }, @@ -279,7 +278,7 @@ "ext.uls.messages", "ext.uls.preferences", "jquery.uls.grid", - "mediawiki.ui.button" + "@wikimedia/codex" ] }, "ext.uls.mediawiki": { @@ -347,7 +346,7 @@ "dependencies": [ "mediawiki.api", "mediawiki.jqueryMsg", - "mediawiki.ui.button", + "@wikimedia/codex", "mediawiki.Uri" ], "messages": [ diff --git a/resources/css/ext.uls.displaysettings.less b/resources/css/ext.uls.displaysettings.less index 7cd82297..86675f33 100644 --- a/resources/css/ext.uls.displaysettings.less +++ b/resources/css/ext.uls.displaysettings.less @@ -9,7 +9,8 @@ .uls-button-group { display: inline-block; position: relative; - padding: 0; + // The 1px are needed to handle overflow in .cdx-button-group in 1.39 + padding: 1px 0 0 1px; left: -20px; z-index: 1; } diff --git a/resources/css/ext.uls.inputsettings.less b/resources/css/ext.uls.inputsettings.less index fe6c4db2..16d5d344 100644 --- a/resources/css/ext.uls.inputsettings.less +++ b/resources/css/ext.uls.inputsettings.less @@ -96,8 +96,8 @@ } } -.uls-input-settings-inputmethods-list .mw-ui-radio { - display: block; +.uls-input-settings .cdx-radio { + position: relative; } .uls-ime-notification-bubble .link { diff --git a/resources/css/ext.uls.languagesettings.less b/resources/css/ext.uls.languagesettings.less index 83330bd1..df1bab06 100644 --- a/resources/css/ext.uls.languagesettings.less +++ b/resources/css/ext.uls.languagesettings.less @@ -130,14 +130,20 @@ margin-left: 15px; } +// This can be removed when 1.39 support is dropped. +.uls-input-settings-inputmethods-list .cdx-radio__label, +.checkbox.cdx-checkbox__label { + padding-left: ~'calc(1.25em + 8px)'; +} + .uls-ui-languages p, .checkbox { color: @color-subtle; font-size: 10pt; } -/* mediawiki.ui does not have a pressed state style. */ -#languagesettings-panels .mw-ui-pressed { +/* @todo: Amend to use Codex when 1.39 support is no longer needed. */ +#languagesettings-panels .uls-cdx-button-pressed { background-color: @background-color-progressive--active; color: @color-inverted; border-color: @border-color-progressive--active; diff --git a/resources/js/ext.uls.actions.menu.js b/resources/js/ext.uls.actions.menu.js index 960badff..da1852a6 100644 --- a/resources/js/ext.uls.actions.menu.js +++ b/resources/js/ext.uls.actions.menu.js @@ -15,7 +15,7 @@ ActionsMenu.template = '
' + '
' + - '' + + '' + ' ' + '
' + '
' + diff --git a/resources/js/ext.uls.compactlinks.js b/resources/js/ext.uls.compactlinks.js index 392d7333..4c4a9493 100644 --- a/resources/js/ext.uls.compactlinks.js +++ b/resources/js/ext.uls.compactlinks.js @@ -190,7 +190,7 @@ this.compactList[ language ].parentNode.style.display = ''; } - mw.loader.using( 'mediawiki.ui.button' ).then( function () { + mw.loader.using( '@wikimedia/codex' ).then( function () { this.addTrigger(); }.bind( this ) ); @@ -330,7 +330,7 @@ CompactInterlanguageList.prototype.addTrigger = function () { var trigger = document.createElement( 'button' ); // TODO: Should we have a different class name where the CLS styles are attached? - trigger.className = 'mw-interlanguage-selector mw-ui-button'; + trigger.className = 'mw-interlanguage-selector cdx-button'; trigger.title = mw.message( 'ext-uls-compact-link-info' ).plain(); // Use text() because the message needs {{PLURAL:}} trigger.textContent = mw.message( diff --git a/resources/js/ext.uls.displaysettings.js b/resources/js/ext.uls.displaysettings.js index 9232c5cd..14f49348 100644 --- a/resources/js/ext.uls.displaysettings.js +++ b/resources/js/ext.uls.displaysettings.js @@ -25,10 +25,10 @@ // Tab switcher buttons '
' + '
' + - '
' + - '' + - '' + + '' + '
' + '
' + '
' + @@ -87,9 +87,10 @@ // Webfonts enabling checkbox with label '
' + '
' + - '
' + - '' + - '
'; @@ -169,10 +169,11 @@ return $(); } - $imeLabel = $( '
' + '
'; diff --git a/resources/js/ext.uls.setlang.js b/resources/js/ext.uls.setlang.js index e85ceca1..3c58550d 100644 --- a/resources/js/ext.uls.setlang.js +++ b/resources/js/ext.uls.setlang.js @@ -42,11 +42,11 @@ function getButtons() { $cancelBtn = $( '