Replacing error colors with amended design system values.
Note, that error icon color is slightly lighter than the error
text color.
Change-Id: Ia25a9accff2c8ed643252c2cc609b9bb63db4c47
The existing code prevents a black square from appearing on late loading icons.
The problem with it is that if loaded late, it can override actual icon definitions
and make the icon invisible.
Since this typically applies in the case of icons loaded via JavaScript
this shouldn't be a problem on mobile web
Bug: T266361
Change-Id: Icee701761e9db69a6bffb7af4f608ec26c30f2be
Modules loaded with packageFiles are always executed in module scope
(with a closure), even in debug mode.
The behaviour of non-packageFiles debug mode is the only reason files
have closures.
https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript#Closure
Change-Id: I14ac680eb67d892618bbc13be9298ec9b8e0e2e9
Following the migration to Codex, icons do not need suffixes for
their icons.
If we merge this now, we don't need to worry about caching when working
on Bug T266361.
Bug: T266361
Change-Id: Iafeb21858c89df1af35660eb63889fa5335e2b34
It moves watchStar.less from .scripts to .base as star is
visible also when JavaScript isn't enabled so the right
time to apply styles to it isn't after scripts are added
but right from beginning to avoid initial animations.
It also limits minerva-animations-ready to transition
as that's the only style that needs page load to actually
happen and otherwise the styles will be limited to
JavaScript clients which isn't intended here.
Bug: T376872
Bug: T376559
Change-Id: I394d21689cae01822cf8791b361cd450771f5c31
The .minerva-icon rule sets a transparent PNG. If rules are loaded
before (as in the case of Echo) they get overriden. Make these rules
more specific so they do not apply.
Bug: T376491
Change-Id: Ia5399fa500df69b0a0d34931e30d961fe62a2124
* The switch to mask-image caused the regression
* Adds rule for notification circle to disable mask-image
Bug: T376414
Change-Id: I777d30458202698966ed8facfa4f7c1210d4feb2
Bug: T375832
Follow up to
I6e9e29fd5b140ae8eb4e6b011d558ea778c92028
Change-Id: I3f52f88b2b08f502eb584af48dcde0c5a8eb6674
Change-Id: Ib6a5de1397f2df8dab68deb97f079b316d4701b3
- Define icon size variables in icons.less
- Update icon classes to use
.cdx-mixin-css-icon()
- Remove temporary fixes in icons.less
- Add 'codex.styles' dependency in skin.json
- Set 'useMaskImage' to true in skin.json
Bug: T374145
Depends-On: Ia8f770aec365da77b39cb0258f546df7894e6ba4
Change-Id: I87b060cf98194d81679da2610944f58e8d941389
Resubmission of Ib68f45d93a (548e94da98), which caused an error due
to `require('../../`)` not working outside the module base directory.
This is fixed with regression test in T373065.
Further confirmed in this repo by viewing
`/wiki/Special:CreateAccount?campaign=loginCTA&useskin=minerva`
with this patch applied. Without the T373065 fix, the console warns:
> Error: Cannot require undefined file …/ToggleList.js
-------
Support for private require() in tests is available since MW 1.41:
https://mediawiki.org/wiki/RL/PKG#Private_export_and_importhttps://mediawiki.org/wiki/RL/PKG#Virtual_files_in_traditional_modules
This fixes a confusing assertion in page-issues/index.test.js,
where for "insertBannersOrNotice()" it was asserting that the HTML
contain "⧼skin-minerva-issue-learn-more⧽", where the ⧼ character
indicates the message is not found (i.e. an error).
The test had to be written this way in order to pass, because
the skins.minerva.scripts module was not actually loaded, and thus
its templates and messages are not present either. This lack was
filled in by index.js for mw.templates, but not mw.messages.
By adopting private require(), these workarounds can all be removed.
== Motivation ==
In change I3a4024ccf90e505581, I'm working on improving the testrunner
config to enforce uselang=qqx on all tests. This is passing except
for GrowthExperiments and Minerva, both of which have the above
workarounds in place that caused a message to be undefined, and then
kept in the assertion expectation. When using uselang=qqx, values are
returned as (key) instead of ⧼key⧽, which exposes these message
existence errors.
By removing this workaround, the test will simply import the module
in the test as normal, thus the messages will exist, and thus it
will expect (key), and thus it will continue to pass even after
enforcing uselang=qqx.
Bug: T373482
Depends-On: I777f2c12e845a738edeac00e19818d4c939a1ef1
Change-Id: I6348e5ae00776c2c01d91fa90a431b6ffe3da25d
This reverts commit 548e94da98.
Reason for revert: The patch was causing the following error on pageload
Error: Cannot require undefined file includes/Skins/ToggleList/ToggleList.js
require startup.js:1006
Bug: T373482
Change-Id: I22751109c124795af7d2e0ad6c4104745b2d6632
Added to MediaWiki core last year with I9fca9fdf9b7623b1.
This fixes a confusing assertion in page-issues/index.test.js,
where for "insertBannersOrNotice()" it was asserting that the HTML
contain "⧼skin-minerva-issue-learn-more⧽", where the ⧼ character
indicates the message is not found (i.e. an error).
The test had to be written this way in order to pass, because
the skins.minerva.scripts module was not actually loaded, and thus
its templates and messages are not present either. This lack was
filled in by index.js for mw.templates, but not mw.messages.
By adopting private require(), these workarounds can all be removed.
== Motivation ==
In change I3a4024ccf90e505581, I'm working on improving the testrunner
config to enforce uselang=qqx on all tests. This is passing except
for GrowthExperiments and Minerva, both of which have the above
workarounds in place that caused a message to be undefined, and then
kept in the assertion expectation. When using uselang=qqx, values are
returned as (key) instead of ⧼key⧽, which exposes these message
existence errors.
By removing this workaround, the test will simply import the module
in the test as normal, thus the messages will exist, and thus it
will expect (key), and thus it will continue to pass even after
enforcing uselang=qqx.
Change-Id: Ib68f45d93a7054ed8bd35fc5644e2852f2f90248
Prevents dark-mode styles from affecting print media
by adding `@media screen` to dark-mode related styles.
Bug: T371331
Change-Id: Ieeca30d086d8b8705aba96441a576e3d8e127838
* eslint-config-wikimedia: 0.27.0 → 0.28.2
The following rules are failing and were disabled:
* tests/selenium:
* implicit-arrow-linebreak
* no-mixed-spaces-and-tabs
* grunt-banana-checker: 0.11.1 → 0.13.0
* stylelint-config-wikimedia: 0.16.1 → 0.17.2
The following rules no longer exist and were removed:
* stylistic/selector-list-comma-newline-after
* braces: 3.0.2 → 3.0.3
* https://github.com/advisories/GHSA-grv7-fg5c-xmjg
Change-Id: Ia94454c1da778f241085714e1601a0233d547570
The message box is changed from warning to
notice for the following messages:
- mobile-frontend-generic-login-new
- mobile-frontend-watchlist-purpose
- mobile-frontend-watchlist-signup-action
Bug: T366127
Depends-On: I358ee59a1a0b7a5bb94e66bca9a2437517f40141
Change-Id: Ifa4418cbecda38011a6ee4d09c03db3ded7a9eb9
It keeps fallback definitions which will work for most of the
cases in older browser as the transformations provided by
CSS Janus.
Bug: T371265
Change-Id: I0df37ca675533cf72c5636747cd40bbb4fb7497a
This is akin to I404710209d59241991716bb7180bcaabcafffcec which
was for the most of desktop skins but since Minerva doesn't have
any dependency to `elements` and `i18n-all-lists-margins` it
should have it's own implementation of the change.
Bug: T371082
Change-Id: I1b98ced874a1caf049e7e09dbb678105d4d9e4d4
Nowadays even Apple iWatch has a minimum resolution of 352 pixels,
so we can safely remove the outdated feature phone font rules and
save bytes down-the-wire for users.
Bug: T369247
Change-Id: Ib482a32b0ed288ae1ea4e0b9dca5f6fdf74eb845
Additional changes:
* Update Minerva so that it doesn't output any APIs
to the documentation - this is intentional as Minerva does
not have any public facing APIs.
Bug: T368081
Change-Id: Ie1a3ea30cbf35663c7fdd2494c1698044882969e