Commit graph

113 commits

Author SHA1 Message Date
alistair3149 20e88b8b5a
fix: incorrect tab colors 2024-06-02 13:53:44 -04:00
alistair3149 def11349b1
fix: do not unobserve tabber 2024-05-26 22:29:20 -04:00
alistair3149 dfff2946c1
refactor: use CSS variables 2024-05-26 21:54:52 -04:00
alistair3149 2819ba83a9
perf: detach event listeners when not needed 2024-05-26 21:54:17 -04:00
alistair3149 783199016d
refactor: remove unnessecary styles 2024-05-26 17:17:26 -04:00
alistair3149 032aef7989
fix: do not use passive scroll event listener for tab header
The buttons and indicator are all depending on it
2024-05-25 23:00:06 -04:00
alistair3149 476af1352b
refactor: separate classes into other files 2024-05-25 16:38:57 -04:00
alistair3149 bbde0ae7bd
feat: add keyboard navigation to tabs 2024-05-25 16:20:59 -04:00
alistair3149 78a987d7c1
refactor: drop spread syntax for iterating nodeList 2024-05-25 15:40:10 -04:00
alistair3149 9162321c3c
feat: avoid layout shift in init 2024-05-25 15:29:56 -04:00
alistair3149 b4b66b8172
feat: improve handling of animation 2024-05-25 15:27:47 -04:00
alistair3149 a66f6e604f
feat: use skeleton screen as transclude load animation 2024-05-25 03:40:39 -04:00
alistair3149 0a3b30504d
fix: incorrect selector for hiding tabpanel in init 2024-05-25 03:07:49 -04:00
alistair3149 8d410dfb49
refactor: use init module instead of inline style for skeleton screen 2024-05-25 03:02:18 -04:00
alistair3149 6ad24645e9
feat: use button elements instead of div for header navigations 2024-05-25 02:42:22 -04:00
alistair3149 6d09429849
fix: attach tabber--live class after tabber has finished init 2024-05-25 00:42:40 -04:00
alistair3149 bb110c6d98
feat: rewrite Javascript implementation
To ensure easier development and maintenance, IE support is dropped to allow
modern Javascript features. The old tabber module is rewritten into newer
standard and using classes to ensure proper scoping.
2024-05-25 00:33:22 -04:00
alistair3149 177c67681e
refactor: use data-mw- prefix for data attribute 2024-05-23 22:05:28 -04:00
alistair3149 7c760e9593
refactor: make some function reusuable
Plus various improvements and docs
2024-05-23 21:57:55 -04:00
alistair3149 7b1c319e24
feat: allow tab name to be parsed
This is an experimental config and can lead to performance issue and unexpected behavior.

Closes: #35
2024-04-24 15:13:08 -04:00
alistair3149 6e67dd2abb
fix: deprecate mobile target
Closes: #120
2024-04-24 14:04:06 -04:00
github-actions fcc47b044f ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2024-04-24 18:01:30 +00:00
alistair3149 99413c7854
fix: always round scrollLeft
Hopefully that will fix all the subpixel-related issues.

Closes: #124, #81
2024-04-24 14:01:16 -04:00
alistair3149 f82b5555f6
refactor: remove unused method 2023-08-31 15:36:20 -04:00
alistair3149 ca4df6d884
refactor: remove console log 2023-08-31 15:35:44 -04:00
alistair3149 5a2735121f
feat: use wikipage.content hook to init scripts 2023-08-31 15:35:22 -04:00
alistair3149 576918d32e
refactor: simplify header buttons implementation 2023-07-28 17:46:58 -04:00
alistair3149 420754d185
refactor: use one event listener for all tabs
TIL about event delegation
2023-07-28 17:18:15 -04:00
alistair3149 7c95e570a8
fix: aria-hidden return string instead of boolean 2023-07-28 03:27:42 -04:00
alistair3149 f6435de56a
refactor: check for active panel at update height function instead 2023-07-28 02:47:59 -04:00
alistair3149 54166529cb
fix: only resize section when it is the active panel 2023-07-28 02:43:26 -04:00
github-actions a7660375fc ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-07-12 02:07:37 +00:00
H. C. Kruse 7f75899995
feat: add support for nested tabbers in Codex (#95)
* refactor: Apply some code cleanup

* feat: WIP dynamic nested tabber in codex

* feat: Make deeply nested tabbers work

* doc: fix comment position

---------

Co-authored-by: alistair3149 <alistair3149@users.noreply.github.com>
2023-07-11 22:06:57 -04:00
alistair3149 857f6f1f9f
feat: allow nested Tabber to be shown in VE preview 2023-07-05 22:57:05 -04:00
alistair3149 a29e3a22c0
feat: reinitialize Tabber after VE edit part 2 2023-07-05 22:10:58 -04:00
github-actions dcfc693834 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-07-06 02:10:01 +00:00
alistair3149 cbf6ca0c1f
feat: reinitalize Tabber after VE edit 2023-07-05 22:09:39 -04:00
alistair3149 a4e59057bf
feat: add Vue component for tab content 2023-07-05 20:00:59 -04:00
alistair3149 5f856a1a73
fix: override default MW list styles 2023-07-05 18:33:04 -04:00
alistair3149 cd63b6c10f
refactor: remove noscript message
Tabber already shows content without JS, and noscript handling is a bit tricky in MW
2023-07-05 18:32:18 -04:00
alistair3149 0fbfefcb87
fix: avoid using noscript as it is disallowed by VE 2023-07-05 18:03:00 -04:00
alistair3149 f8e3b758b2
fix: fix var scope in VE scripts 2023-07-05 17:51:24 -04:00
alistair3149 49d4e8ec29
refactor: various eslint cleanups 2023-07-05 17:43:41 -04:00
github-actions 597f976e7e ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-07-05 21:28:55 +00:00
alistair3149 89e90af034
feat: add experimental support of Codex
It can be enabled by setting `$wgTabberNeueEnableLegacyMode` to `true`.
It is the first implementation and a WIP with numerous caveats:
- Nested Tabber does not work
- Tabber Transclue does not work
2023-07-05 17:26:33 -04:00
alistair3149 365777eae3
feat: improve noscript support
1. Allow other tabs to be shown
2. Put noscript message in warning box
2023-02-16 14:02:04 -05:00
alistair3149 7b61ca663e
feat(core): use data-title instead of title attribute for tab panel
Title attribute produces a tooltip over the whole tab panel.
That is not ideal and the a11y need is already fulfilled by aria-label.
2022-11-02 19:55:46 -04:00
alistair3149 e124e8170a
feat: do not animate indicator when scrolling 2022-10-23 18:06:52 -04:00
alistair3149 ce35fb8908
refactor: reduce variable scope 2022-10-23 17:33:39 -04:00
alistair3149 656f3967f9
refactor: use aria attribute instead of class to select panels 2022-10-23 17:11:18 -04:00