Commit graph

253 commits

Author SHA1 Message Date
Jon Robson fdc064f714 Don't load Vue on page load
Loading skins.vector.search.codex.scripts pulls down Vue.js as
its a script-only module. It is not needed to display the appearance
menu so its presence here seems accidental.

Bug: T381030
Change-Id: I42be70b900340c4a3f10e5d31d1827ad9edd5e7a
2024-11-27 11:08:18 -08:00
Taavi Väänänen 39e3dd7f99
Fix dark mode issue in navbar separator
Fixes the separator bar used in the sticky navbar being a light gray
color on dark mode to be a dark gray instead. The light gray is changed
from #c8c8c8 to #c8ccd1 to match an existing Codex color.

Change-Id: I1638fb268dc7a1bbbe80d46b1f2678aa69ba7679
2024-11-15 17:47:24 +02:00
Ed Sanders f63aaf26fe Remove IntersectionObserver fallback
It is always provided by web2017-polyfills in core.

Also remove checks for requestAnimationFrame, which core now
assumes to exist.

Change-Id: Ia9dd0330b45c945cf4aca1ea0d4edadc7308e1fc
2024-11-07 15:53:33 -08:00
bwang 5d83c55f5e Update tables code to only target unwrapped tables
Bug: T367248
Change-Id: If4267e083cd6721bdb80d32a84c1fd9306096b50
2024-10-03 13:16:59 -05:00
jenkins-bot 9bba83b53f Merge "Add logging to table wrapping experiment" 2024-09-28 03:00:40 +00:00
bwang 1ccb5be4c3 Add logging to table wrapping experiment
Bug: T374493
Change-Id: I276a58635504cfb30c3bcdec93f6bb29f5df730b
2024-09-28 00:51:46 +00:00
bwang dd570d7912 Fix linter warnings
Change-Id: I012a98cb3fcbfaa2ba40d85c0225bcf44deb5c01
2024-09-26 14:24:25 -05:00
Jon Robson 111b3155e0 Drop support for non-Codex message box styles in Vector 2022 and Vector
Going forward these styles will be provided where needed by
the mediawiki.legacy.messageBox module.

Bug: T360668
Change-Id: I58d9e41f0c98adbd816240b161b5145a667436cd
2024-09-18 21:08:01 +00:00
Jon Robson a6e4370bbd Fixes: Echo icon not visible after click
Due to T343838, we need to adjust the Echo icon after clicking
so it renders consistently with Codex. This is a longstanding bug
and a slight adjustment to how we approach the icon now that Codex
and Vector 2022 use mask-image for their icons.

Bug: T373936
Change-Id: Icdb9cc49c157cb5cbf13fe1f7d5e91b7e986e92e
2024-09-04 18:16:13 +00:00
ksarabia ae6f0d5486 Remove old limited width toggle
* Removes js
* Updates bottomDock style rules
* skin mustache updated
* Remove appearance feature flag - show appearance menu
to all users.

Bug: T367591
Change-Id: Ie2617e2fa83b6a888a7a2799cc39f048731dc60d
2024-09-03 11:25:23 -07:00
Jon Robson 9695647608 VISUAL CHANGE: Use mask-image for all Vector icons
Visual changes are subtle, but impact 43 scenarios. The color
and positioning is slightly modified to match Codex.

Bug: T363920
Change-Id: Ie5c88e0aa243f73f2dc9f310d18fd59b831edc64
2024-08-29 17:17:35 +00:00
Jon Robson acb79c5e1b Improve documentation for how feature manager classes work.
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
2024-08-08 20:19:48 +00:00
Steph Toyofuku b8e9eaf6ed Show night mode gadget disable message on the correct section
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
2024-07-11 11:44:56 -07:00
jenkins-bot 50c05dca2b Merge "Follow-up to f115016 - Add beta tag & feedback link to Appearance menu" 2024-07-03 23:29:26 +00:00
Jdrewniak 9b93a64fdf Follow-up to f115016 - Add beta tag & feedback link to Appearance menu
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
2024-07-03 18:40:39 -04:00
Bartosz Dziewoński ce55e8d8e0 Compatibility with new heading HTML (table of contents)
Bug: T13555
Bug: T358452
Change-Id: Idafd8e242acbff20d4fed9f5606ebe480d1eb8a5
2024-07-03 20:54:48 +00:00
Jdrewniak f1150164e1 Add beta tag & feedback link to Appearance menu
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
2024-07-02 22:29:07 +00:00
Jon Robson 92307893fa Client preferences should user new user preference API
Follow up to Ic40da2af8ea46bd42cbebbdbceda2431bd8600ae

Bug: T341278
Change-Id: Iaaf75d9c91d594d826b556fc7d04965a3a3bd3a9
2024-06-18 12:26:16 -08:00
Jon Robson 0f594e0af7 Make all frontend stored preferences global
Additional change:
* Delete some unused messages

Bug: T341278
Depends-On: I254d7d883771dbd394ba97799d731012f7aaaefc
Change-Id: Ic40da2af8ea46bd42cbebbdbceda2431bd8600ae
2024-06-18 16:37:53 +00:00
Jon Robson 426ff06241 [Optimization] Remove bottom dock styles from critical path
These require JavaScript to work, so hide it by default and then
style it once JavaScript has loaded.

Change-Id: I34ded9f279600945ab18dd7ecfd69d22e141a324
2024-06-14 22:56:52 +00:00
VolkerE 695e355f95 Reapply "styles: Replace deprecated breakpoints"
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
2024-06-10 23:09:26 +00:00
bwang 711f67ce00 Avoid wrapping floated tables using computed styles
Bug: T366314
Change-Id: I71657b7f1f26bcf52f5ade5b7668955a1f4df24b
2024-06-07 16:49:30 +00:00
Ed Sanders 7e7486c4a5 build: Update eslint-config-wikimedia to 0.28.0 and autofix
Change-Id: I350941a711d2304fc968b3ba1f1e0afa5878578e
2024-06-06 16:22:05 +01:00
Steph Toyofuku 84be3de748 Minor fixes to gadget disable logic
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
2024-05-30 16:48:55 -07:00
jenkins-bot 66bc7dbca7 Merge "Minor code change to literal" 2024-05-30 23:04:38 +00:00
jenkins-bot 3fb0bb484b Merge "Disable night mode if gadget detected" 2024-05-30 22:53:51 +00:00
Jon Robson deedcbcdb1 Minor code change to literal
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
2024-05-30 15:38:04 -07:00
Steph Toyofuku 4a0c2cb684 Disable night mode if gadget detected
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
2024-05-30 20:23:38 +00:00
Bernard Wang 503559a05c Restrict table logic to nonfloated wikitables
Bug: T330527
Change-Id: I386a88481210f459d2174ff69e0f84d40fc9e3bd
2024-05-30 11:52:20 -05:00
Jon Robson dba9e16be2 Limit table wrapping to configuration flag
We want to limit this behaviour on initial roll out to certain
wikis.

Bug: T330527
Change-Id: If73f6f3d182cc386ebf0e750206afdb05fd3d863
2024-05-29 15:35:45 -07:00
Jon Robson caa650a881 Limit responsive tables to .wikitables
Bug: T330527
Change-Id: I61280270c6257ceaf5a6d74bb01be37063474bc7
2024-05-28 16:27:16 -07:00
jenkins-bot 4235ff0efd Merge "Wrap tables with JS" 2024-05-24 22:46:24 +00:00
bwang e42b235669 Wrap tables with JS
Depends-on: Ia271a57776e6f38384c5855727ab82fd7af83241
Bug: T330527
Change-Id: I756f8e1bcd86867bee52962a0d1c2dbb34ca75eb
2024-05-24 15:49:54 -05:00
jenkins-bot 685a02f8a6 Merge "watchstar: use mw.util.isInfinity() instead of comparing to 'infinity'" 2024-05-20 23:48:09 +00:00
MusikAnimal c06d62a531 watchstar: use mw.util.isInfinity() instead of comparing to 'infinity'
Bug: T353389
Bug: T353483
Change-Id: I580deb0ba47e4c13643524ddd4d57f1a8e0a35ae
2024-05-20 16:27:42 -07:00
Ed Sanders 54b750af14 vector-popup-notification: Use 14px font size instead of 16px
Vector still uses 14px almost everywhere, so use it here
as well.

Bug: T360335
Change-Id: Icf4891375a62480ffbb4808a357935aa6d6fdc58
2024-05-20 13:59:31 -07:00
Jon Robson 1d17b4624f Optimize styles
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
2024-05-17 16:26:16 +00:00
bwang 0109218ab9 Rename client preference menu to appearance menu
Bug: T362808
Change-Id: Id6800d38eebf433cf0c9e3f179dd83df2eefd1fb
2024-04-29 15:38:20 +00:00
libraryupgrader d22fd0d7ab build: Updating npm dependencies
* eslint-config-wikimedia: 0.26.0 → 0.27.0
* @wikimedia/codex: 1.3.5 → 1.4.0
* @wikimedia/codex-icons: 1.3.5 → 1.4.0

Change-Id: I3dbc33dde89f03b188918e29f89434aafc3690a9
2024-04-21 21:57:17 +00:00
bwang c69a53a16c Use client preferences for appearances menu
Bug: T361586
Change-Id: I636a557e724f23ea18da135bac59cb304ba81091
2024-04-15 22:36:48 +00:00
Jon Robson 3f7f355a2e Support legacy message box styles markup in JavaScript
Log a console warning to assist developers in migrating to the new
markup.

Bug: T360633
Change-Id: Iaa1a3fc3b910c5fe491459fc82c61bc329f3408d
2024-03-21 18:19:52 +00:00
Moh'd Khier Abualruz b3ab84f9e5 Vector - Rename the skin night mode classes to more readable classes
The classes:
- skin-night-mode-clientpref-0
- skin-night-mode-clientpref-1
- skin-night-mode-clientpref-2
is being replaced with
- skin-theme-clientpref-day
- skin-theme-clientpref-night
- skin-theme-clientpref-os

Other Changes:
- Change vector-night-mode preference to vector-theme
- Add skin-theme-os-label and other messages to skins.vector.clientPreferences
- Remove skin-night-mode-* messages from skins.vector.clientPreferences

Bug: T359983
Change-Id: I31eb086e623a97df9fbd004425559e05b0cae170
2024-03-20 23:54:47 +00:00
Steph Toyofuku 1492669009 Reorder client preferences (color above width)
In accordance with the original design, reorder the client prefs so that
night mode is above limited width

Visual change for users who have access to night mode

Bug: T357707
Change-Id: I21a976655734a2accc57d541bacba391961070a8
2024-03-13 16:29:11 -07:00
Moh'd Khier Abualruz 182bb7519b Migrate uses of codex-search in Vector to use CodexModule
- Loaded new skins.vector.search.codex.scripts module in skin.json, with only the CdxTypeaheadSearch component with codexScriptOnly flag set to true.
- Included skins.vector.search.codex.scripts in the script loading configuration for Vector22 within skin.json.
- Turned off the "interface-message-box" feature within Vector22's skins.vector.styles configuration in skin.json, as Codex now supplies these styles.
- Fix the style selector to add `.cdx-button` to `.vector-limited-width-toggle` in BottomDock.less since using the codex style
- Substituted "codex-search-styles" with "skins.vector.search.codex.styles" in the existing configuration.
- Ensured the availability of skins.vector.search.codex.scripts module for use, marking it in the list of modules in skin.js.
- Modified App.vue to utilize skins.vector.search.codex.scripts instead of @wikimedia/codex-search.
- Update App.test.js.snap to the latest output form
- Update bundlesize.config.json with newest values

Bug: T356677
Change-Id: I7fc223db01171efe6656792530d4b625be4c8edc
2024-03-13 15:58:26 +00:00
Moh'd Khier Abualruz a8eb85f3d5 Replace use of codex-styles in beta feature with CodexModule ResourceLoader
- Add new module 'skins.vector.search.codex.styles' to skin.json
- Added 'skins.vector.search.codex.styles' to bundlesize.config.json
- Replace the old styles module 'codex-search-styles' with the new one 'skins.vector.search.codex.styles' in skin.js

Bug: T353844
Change-Id: If3cbcac64242c403b42811159882741fda132555
2024-02-27 17:40:11 +00:00
bwang e964cbb785 Add Vector night mode feature flag
Bug: T355065
Change-Id: Ica63eb61ee042e8684168f6787b27a5e58e38bee
2024-02-05 11:33:37 -08:00
Jon Robson 63b3a23ead Register night mode as a client preference
The night mode setting should only show up if the feature flag
is enabled.

The messages are currently added to Vector, but we may want to upstream
these to core in future.

Change-Id: Idcd53399fa06821bbf5f463d1a242ecf59442c70
2024-01-31 10:14:30 -08:00
jenkins-bot 3961cbcfb4 Merge "Deactivate sticky header menus and search when sticky header is hidden attempt 2" 2024-01-30 19:36:34 +00:00
Bernard Wang 8172710236 Deactivate sticky header menus and search when sticky header is hidden attempt 2
This reverts commit 47e58d53d4.

Reason for revert: second attempt at the patch

Bug: T325083
Change-Id: I2190005fcad41ad61bbd02ea3603e222fc58ceb8
2024-01-30 18:14:21 +00:00
jenkins-bot 851bc5aecd Merge "Revert "Deactivate sticky header menus and search when sticky header is hidden"" 2024-01-30 02:48:24 +00:00