Commit graph

1879 commits

Author SHA1 Message Date
alistair3149 daef66f141
fix(core): 🐛 use mw.requestIdleCallback for polyfill
Safari does not support rIC yet and MW has a polyfill for that.
2024-11-17 01:12:02 -05:00
alistair3149 34c9ae5fd4
fix(speculationRules): 🐛 stricter selector to pages to prerender 2024-11-13 19:24:45 -05:00
alistair3149 368ceb659a
feat(speculationRules): add basic implementation of Speculation Rules API
This is a basic implementation of Speculation Rules API that will prerender
any page under article path when the user hovers on the link for over 200ms.
2024-11-13 18:46:02 -05:00
alistair3149 4e09e3e3e3
refactor(serviceWorker): ♻️ early exit if wiki is not in root 2024-11-13 17:59:31 -05:00
alistair3149 0c3786c754
perf(share): ️ prerender the HTML for the share button
Instead of doing it in JS, just render it altogther in the HTML
2024-11-12 22:36:59 -05:00
alistair3149 57942075cc
feat(PWA): fallback to clipboard share if Web Share API is not supported 2024-11-12 22:26:03 -05:00
alistair3149 b78df56695
fix(toc): 🐛 fix clipping toc on desktop 2024-11-12 20:20:26 -05:00
alistair3149 937b3c7f5e
fix(preferences): 🐛 add missing padding to pref card 2024-11-12 20:16:33 -05:00
alistair3149 76a39eafdf
perf(preferences): ️ rewrite to use dropdown component
Dropdown + Menu component are already doing the same thing.
We can just extend those and drop all the custom handling
2024-11-12 20:13:47 -05:00
alistair3149 9556478443
perf(core): ️ defer background main scripts with requestIdleCallback 2024-11-12 18:48:03 -05:00
alistair3149 5431d1499a
refactor(core): ♻️ refactor sticky header element styles 2024-11-12 18:47:35 -05:00
alistair3149 5975e51f58
perf(stickyHeader): ️ use transition instead of position secondary sticky elements 2024-11-12 01:57:21 -05:00
alistair3149 98e6c2d7f1
fix(stickyHeader): 🐛 VE should use the same methods to handle sticky header state 2024-11-09 18:22:52 -05:00
alistair3149 d4d6345050
perf(stickyHeader): ️ only recalc stickyHeader height when width changes 2024-11-08 21:24:56 -05:00
alistair3149 252e98b085
perf(stickyHeader): ️ improve responsiveness for sticky header 2024-11-08 04:58:11 -05:00
alistair3149 ba5d0a7f92
refactor: ♻️ drop i18n-all-lists-margins styles
It is replaced by logical properties
2024-11-07 21:52:45 -05:00
alistair3149 3c39d6bbf5
refactor(core): ♻️ use CSS logical properties for elements 2024-11-07 21:51:08 -05:00
alistair3149 8280509517
refactor(core): ♻️ use CSS logical properties for shorthands 2024-11-07 21:39:00 -05:00
alistair3149 82d413f8ff
refactor(core): ♻️ remove IntersectionObserver fallback
Following Vector deprecation
2024-11-07 21:12:50 -05:00
alistair3149 2d7b03604a
refactor(core): ♻️ use margin-inline instead of left and right 2024-11-07 21:10:39 -05:00
alistair3149 8819757913
fix(stickyHeader): 🐛 do not reset stickyHeader when page title is visible
There is no need to trigger sticky header when page title is visible.
2024-11-07 21:10:39 -05:00
github-actions fc29af3478 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2024-11-08 01:54:15 +00:00
alistair3149 a74d17e130
perf(stickyHeader): ️ improve scroll performance 2024-11-07 20:53:21 -05:00
alistair3149 94936732ec
refactor(core): ♻️ clean up scroll direction observer 2024-11-07 20:33:56 -05:00
alistair3149 30fca942a7
perf(core): ️ move sticky header handling to observers 2024-11-07 19:12:48 -05:00
alistair3149 3b8022c3c1
refactor(core): ♻️ set up scroll direction observer in setupObservers
This is needed for centralizing the observers.
2024-11-07 19:12:48 -05:00
alistair3149 241ef66893
perf(core): ️ move window.resize to resizeObserver 2024-11-07 19:12:48 -05:00
alistair3149 ded49e61d8
fix(toc): 🐛 invisible toc icons on desktop 2024-11-06 14:10:03 -05:00
alistair3149 6523c5d3ab
fix(toc): 🐛 fix invisible toc on desktop 2024-11-05 22:31:28 -05:00
alistair3149 39ad06e99d
refactor(dropdown): ♻️ target dropdown icons specifically for content-visibility 2024-11-05 22:19:06 -05:00
alistair3149 0607e9fa24
fix(search): 🐛 do not set content-visbility for search card 2024-11-05 22:17:32 -05:00
alistair3149 70193eb568
perf(dropdown): ️ use content-visibility for icons and dropdown menus
This will reduce the initial render cost of the menus, and also prevent premature download
for the icons.
2024-11-05 21:50:54 -05:00
alistair3149 582a3544bd
feat(skinning): update message box styles to current standard 2024-11-05 00:45:11 -05:00
alistair3149 07179d50b1
perf(core): ️ defer non-essential init scripts 2024-11-03 10:39:10 -05:00
alistair3149 a32bc92a99
perf(footer): ️ add CSS containment to footer 2024-11-03 01:05:28 -04:00
alistair3149 e79ae5939c
perf(core): ️ put sticky header elements in DOM instead of creating them on init 2024-11-03 00:44:23 -04:00
alistair3149 ec097f2e42
perf(core): ️ only fire scroll direction function when direction changes 2024-11-02 02:24:54 -04:00
alistair3149 bbc6069748
fix(toc): 🐛 incorrect toc button height 2024-11-02 02:17:45 -04:00
alistair3149 25fbc14908
style(core): 🎨 rename intersectionObserver references to observer
We will be using it for more than intersectionObserver.
2024-11-02 02:00:21 -04:00
alistair3149 50a75c550c
perf(core): ️ do not use throttle for scroll direction observer
Just requestAnimationFrame should be enough. The previous throttle implemenation
makes the sticky header feel less responsive
2024-11-02 01:59:17 -04:00
alistair3149 a480cc27af
feat(skinning): apply floatleft and floatright to all elements
There are more block elements that might use floatleft and floatright.
We should not restrict it to only <div> and <table>
2024-10-30 22:20:12 -04:00
alistair3149 b9cfd0ebc8
fix(skinning): 🐛 stricter selector to select a element containing thumbnail 2024-10-30 15:57:41 -04:00
alistair3149 a9ff2da26d
feat(search): use 220px thumbnail for Action API search
220px is standardized to avoid further thumbnail fragmentation.
It should not affect the REST API search.
T322621
2024-10-30 02:01:18 -04:00
alistair3149 196f3d9063
perf(core): ️ use CSS containment for search card and sidebar 2024-10-29 23:55:50 -04:00
github-actions a65d5bac50 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2024-10-29 23:04:03 +00:00
alistair3149 eab9bcf228
fix(fonts): 🐛 remove serif and monospace fallback fonts
We don't provide web fonts for those, no need to have a fallback font
2024-10-29 19:03:16 -04:00
alistair3149 2d9febf0e2
perf(tokens): ️ reduce lang selector cost
The original lang selector was too broad and execute needlessly.
2024-10-29 18:48:13 -04:00
alistair3149 2b3dbd9960
refactor(toc): ♻️ avoid using important for top link 2024-10-29 18:35:06 -04:00
alistair3149 d46855c0c2
feat(fonts): define fallback fonts to avoid CLS 2024-10-29 18:07:13 -04:00
alistair3149 168a53d6ef
feat(tokens): increase saturation on surface colors 2024-10-28 16:31:48 -04:00