Follow-up to badd229bab. Moving
`position: sticky` to the same element as `contain: paint` defeated
the workaround. Move it to the parent elements again to make it work.
Bug: T373066
Change-Id: Ic942bfd599661a29cf7b2dbb6c6cc2ec521b8c82
This reverts commit b3ca12e628.
Reason for revert: Icons are appearing black on black in dark mode
in origin/wmf/1.43.0-wmf.18.
Change-Id: Ifdf3970c77b66e5a7835ca44eb45deec2b44eb43
This changes nothing about the existing classes, it just improves
how they are documented.
The FIXME comment was making things confusing.
Make sure every feature class is accounted for and audited and
throw a RuntimeException if we forget to document it.
Change-Id: I9d8f6553fe6b8c2ae80d8b2490c8895a8334a537
Add hook that renders when search displays for first time to allow
experimentation.
Code can call
```
mw.hook( 'search.display' ).add((node)=> { node.innerHTML = 'hello world' } );
Bug: T371294
Change-Id: Ib3ec73b8ed66877c11e0d8d290a6b564a013702b
Prevents dark-mode styles from affecting print media
by adding `@media screen` to dark-mode related styles.
Bug: T371331
Change-Id: I2ed7fbfc078c6d738c13a71c677783f7ccea2582
- Makes the dark-mode feedback link (the "report a dark mode issue" )
link in the Appearance menu, only appear when dark-mode is activated.
- Keeps the Appearance dropdown menu open after the dark-mode feedback
link has been clicked.
Bug: T367871
Change-Id: I75d040650f613a7af5db553689d734e56f910431
Creates a dark mode launch banner, (copied from the MinervaNue skin) to
announce the launch of dark-mode for Vector 2022.
The banner itself is not invoked anywhere by default, but will be
invoked through CentralNotice as a banner as part of a launch campaign.
To invoke the banner manually, execute the following in the dev console:
```
mw.loader.using( 'skins.vector.DarkModeLaunchBanner', function( require ) {
require( 'skins.vector.DarkModeLaunchBanner')();
} );
```
Bug: T370303
Change-Id: I1ca4aab8c302ef418bc1d12dde0d80c96c3b8d4f
Prevents dark-mode feedback link from turning blue
when clicked, caused by styles in the
`.mixin-vector-dropdown-menu-item()` mixin
Additionally, decreases the size of the heart icon
beside the dark-mode feedback link.
Bug: T367871
Change-Id: I348dbafcc3d3d3519da77dc6799818fdd743bba2
Currently, this selector is not specific enough, and so if there is an
additional client pref that is disabled on the page, we'll put the night
mode gadget message in the wrong spot. Target the skin-theme section
correctly this time, and add a test to ensure this is fixed properly
Bug: T369846
Change-Id: I3495aa9ebf3be510f62a8f19440968fe444be892
Addresses edge-cases for feedback link for dark-mode.
- Feedback link should not be visible if dark-mode gadget is enabled.
- Feedback link should not be visible if page is excluded from dark mode.
Additionally, turns feedback link green after click
and prevents further clicks on link (without removing link,
since removing the link changes the margins on the text)
and adds heart icon beside success message.
Bug: T367871
Change-Id: Idff14ffa7e8f497ec38250cf10252e998c234057
Adds the word "(beta)" beside the Color options in
the Appearance menu, as well as a link for user
feedback related to dark-mode issues.
Re-orders the "Color" options to come last in the
Appearance menu.
Bug: T367871
Depends-On: Iac6316cf7010b5ea92672e9ad6f09e8ee57e066b
Change-Id: I46f7554b4bcdcfae0e4ef2e849d52774242e3497
What:
Add styles for the footer buttons that reduces the padding from 15px to
8px on each side and adds an explicit background color.
Why:
This makes it follow the design spec outlines in T256190#9770626 and
fixes showing the buttons in the dark mode T256190#9900443
Bug: T256190
Change-Id: Iae144d554b5023fd3589ea29ae2d3c57c17e679f
This is in order to enable dark mode in echo and VisualEditor
Depends-On: Ibdfeb69c7c6f9dbf0e237c04c7f0f38a8306629a
Bug: T366322
Bug: T366737
Change-Id: I01cdde979b2ddf64d54013466a3fe51a493860cc
Visual changes: blue and red link colors have been updated to match codex, including hover/focus/active state colors
Bug: T366515
Change-Id: I16411a7ea47ae26c7e67a71f83e0521962c8ce61
These require JavaScript to work, so hide it by default and then
style it once JavaScript has loaded.
Change-Id: I34ded9f279600945ab18dd7ecfd69d22e141a324
@OOUIIndicatorSelectors was accidentally added to
the selector that prevents double inversion.
Bug: T365764
Change-Id: Idc3e2ac9ef50270512b9786db4f525a9ba4754a3
Follow up to I584491c280d93f18a48d8c90c4d8a6628f1a672f
Since these selectors are nested, this was generating unexpected
selectors, meaning the invert wasn't applying correctly to indicators.
This is evident on Special:Search
Bug: T365764
Change-Id: I40f8a8ad6598d145a6284c831e0cef944c5d7e75
In order for most OOUI black icons and indicators to be inverted
correctly, we need to apply the inversion to a limited number of
elements by a general class.
Applying here to keep OOUI library MediaWiki agnostic.
Bug: T365764
Depends-On: I792e89a8253a426b8c723486b96cb87bf9e1d85d
Change-Id: I584491c280d93f18a48d8c90c4d8a6628f1a672f
A number of icons using the vector-icon class that have been converted
to codex are being double inverted by this rule. Instead, switch it to
enumerate the full list of OOUI icons and invert them, so that
subsequent codex migrations can be easier as well
Also bumps the bundle size to account for the increase in bytes
Visual change for the table of contents arrows being fixed, ideally not
for anything else
Bug: T365951
Bug: T365580
Change-Id: Ia389e73c72432eb5f7a2df4ff9b48593751bc184
This reverts the revert commit 4da9b57dcf
and adds updated hardcoded values.
Note that we're also planning a better maintainable solution
with JS constants as Codex library output in T366622
Reason for revert: Working CSS changes now including hardcoded values
Given the issue described in T367103 with max width breakpoints,
these are left hardcoded at their new values with a FIXME to update
these later.
VISUAL CHANGES: there are 3 visual changes with Pixel with this change
- all 3 apply to legacy Vector and look like false positives.
Bug: T349793
Change-Id: I7d151c4ba608cabebe9375b960c0c18b3992954f
This reverts commit dd5b98515d.
Reason for revert: There are some hard-coded values in JS that reference these breakpoint, and need to be updated along with this change.
Change-Id: I4a16959d98c12ea1ca8b5b848f9cea0b9cea66f5
Adds hue-rotate( 180deg ) to the
.mixin-vector-arrowed-dropdown-toggle() mixin so that
the language icon doesn't appear with an orange
chevron in dark-mode.
Bug: T366337
Change-Id: If8f07e5924a31d761ac0af7efe0d982886bf6984
For now, let's exclude VisualEditor's toolbar from the night theme.
This should result in no visual change, but will make sure it and
its associated icons are not impacted by the roll out of OOUI.
Bug: T365764
Change-Id: Id626a75dbdeddc8809e4ea75eba3c0fd6d2b08fe
Two small changes per comments on
https://gerrit.wikimedia.org/r/c/mediawiki/skins/Vector/+/1036766:
* remove both night mode classes in a single function call
* slightly rework alterDisableLink logic to account for the possibility
that the message is empty when we check it
Bug: T365083
Change-Id: I1633df85e768b7da2f1f542fb793089f34bcc6b7
Satisfy typescripts needs
Literals are evaluated faster and what we use more consistently.
With typescript, since keys and values can be any value, we need
to declare explictly the expected types of the values via a
@type command.
Note Object is also a constructor, if you use `new Object()` you
would get the same typescript error.
Follow up to I9583ee7ebf8c810ddd504193d568034c954d28f2
Bug: T365083
Change-Id: Ibfda8ea1bcf2ecb6b280302197af33e4c4065d95
While our implementation of night mode is in beta, we want to respect
the existing night mode gadget and disable night mode in favor of the
gadget, providing a notice with an option to disable the gadget and
reload the page
Additionally, raise the max bundle size to account for the additional
code added
Note: the tests still aren't exactly where I'd like them to be, but
hopefully they raise confidence a little bit with reviewing this patch
Additional changes:
* Upgrade to latest version of TypeScript types and remove several
@ts-ignore statements
Bug: T365083
Change-Id: I9583ee7ebf8c810ddd504193d568034c954d28f2
Replacing Vector specific variable with standard token that is meant
for exactly the applied use cases.
Note, I've left `border-color-subtle-transparent` because of that
extra engineering leg. I assume it was meant for animating the property,
which is not there. It seems better to me to replace this variable too
with `border-color-transparent`.
Change-Id: If264e04e576f044b98ec0d61b085f65af0110b6d
This reverts commit ff5a61e9c6.
Reason for revert: The behaviour introduced in this patch needs some more consideration.
Bug: T364015
Change-Id: Ieab4ca4084df4f1b5c942fe81c7fb99b058e0623
Updates `CSSCustomProperties.less` to include `.oo-ui-popupWidget-popup` in
`@OOUIOverrideSelectors` for inverted color inheritance.
Bug: T364798
Change-Id: I6c3ac79d24f6af71a9171153e346494fb97acd3f
I accidentally enabled this on tablet breakpoint.
Follow up to e3d2ab5031
The Pixel UI report should only surface changes on mobile - all
of these are improvements as it means the whole UI is visible in
the viewport.
Bug: T361573
Change-Id: I8aa5699a8fe959c1595d74c03f19c14856f6470f
The values have slightly changed:
- Tablet breakpoint is decreased by 80px,
pushing lesser devices into a mobile only experience but
should make barely a difference to vast majority of our users.
- Biggest difference is in `min-width-breakpoint-desktop`,
which is increased by 120px in comparison to
`@width-breakpoint-desktop: 1000px`
Bug: T349793
Depends-On: I3afba8c51f60de9271054499bfa3ffbcc1a9d779
Change-Id: I56b93d5241d6a029dcb6814de02d18ac9f38ee5d
In preparation for enabling responsive Vector on Wikifunctions,
we lower the support threshold to 320px for Vector.
Minor adjustments are made to the header to make it use two
lines at lower resolutions.
Fixes to tables to make them responsive will be made shortly as
part of T330527 which will complete the responsive behaviour.
Bug: T361573
Change-Id: Idbac393ab6ee60100ba0fd6df4b224cc45949bfd
- Adds the notice "This page is always wide" and disables
the inputs for the "width" options in the Appearance menu
when pages are excluded via configuration ( `$wgVectorMaxWidthOptions`).
- Changes layout behaviour so that pages in the
$wgVectorMaxWidthOptions['exlcude'] configuration
stretch the entire viewport width.
- Stops the width settings in the Appearance menu from
being hidden on smaller resolutions.
Bug: T364015
Change-Id: Idee294adf3b309e03834276ea75e4ae43b0cffcb
1) Icon optimizations
* Load styles for expand icon in
JavaScript since it relates to table of contents and that is only
enabled with JavaScript
* Drop vector-icon--x-small class since it only applies to this icon
* Remove some FIXMEs to an issue that has already been fixed
upstream
2) Move styles that do not need to be render blocking to skins.vector.js
* Move sticky header to skins.vector.js since it doesn't work without
JavaScript
* Move popupNotification to skins.vector.js since this is never server
side rendered.
Change-Id: I98e6c0826b514aaefcf88f66275bba37125129b1
Follow-up to 26d39ec, change VE overlay selector
from `.ve-ui-overlay-global` to `.ve-ui-overlay`.
Bug: T363861
Change-Id: Ie531ce6d03d81fbce374f7e17c785d4bb076bfda
Creates a Less variable `@OOUIOverrideSelectors` which can serve
as a list of selectors that we want to treat the same as the `.notheme`
class (as an alternative to adding the `.notheme` class across repos).
Adds only one selector to this variable, `.ve-ui-overlay-global`
in order to force VE overlays to appear in light-mode while night-mode is
enabled.
This is a temporary measure until T363849 is resolved.
Bug: T363861
Change-Id: I3e3a209f1a9bd9130fc61915b9b2ff7134405e59
- New night theme added via Codex `.cdx-mode-dark();` mixin.
- CSS custom properties separated from skin.less.
- Font-size rem conversion removed since Codex now uses rems.
- bundlesize increased by 1kb ( followup from
Icfcb5c7418061a5727580f0685054356ba4edb72 ).
- Icons that use background-images are inverted for night-theme.
- Linter error fixed for long-lines in clientPreferences.js
Co-Author: <Bernard Wang> bwang@wikimedia.org
Bug: T354889
Depends-On: I1f54bf4f144eaec6ed317c04bd0c851c2f01b42c
Change-Id: I3a8a147b6be67bc830f0d3b816a4b85c26f99cf1
* Drop all hexcodes
* Drop unused background-color-secondary - only applies in legacy
skin and replaced by background-color-secondary--modern
* Drop unused border-color-content and border-color-content--tabs-inactive -
only apply to legacy Vector skin
Bug: T354889
Change-Id: Ie0accaaac2ac3717b6f034c5832f8c372b91c343
Since Codex switched over to rem units, all differences between the
"legacy" and non-legacy builds of the library have disappeared.
This change removes references to the legacy version of the library
in preparation for the removal of these artifacts from Codex.
Bug: T360806
Change-Id: I158519eddc1738a5daeedb94eb7d2f692e74b84a
Changes spacing around icons in the user-links menus
so that the spacing is more consistently 8px.
Bug: T353987
Change-Id: I860ab858363f0535fd80e3a823cf90f91c2e9a86
If night-mode is disabled on a certain page via the
exclude list in skin.json, then the following class:
".skin-theme-clientpref-excluded" will be added to the HTML element.
In this scenario, the related client-preferences
menu options are visible, but disabled, and a notice
is rendered below the options informing users of this state.
Bug: T361158
Change-Id: I46d335d079a2d27c7a4122e23ac7e479c286b886
This has been confusing a few editors and breaks support with
Extension:DarkMode so let's remove for now.
Change-Id: I84a58b49f8f3d5af8765531bc14c43b42fe39a1d