Currently, Wikibase’s repo/resources/wikibase.wbui2025/ directory contains some .vue files with included <style> blocks, and some .vue files with associated separate .less files. We would like to use the former style for all components, with no separate .less files anymore.
The reason for the current format is purely technical. Our server-side rendering approach can render .vue files into HTML that we can send to no-JS clients; however, it currently ignores <style> blocks inside those files. Thus, if we want the server-rendered no-JS HTML to be styled at all, those styles need to be in separate .less files, which we can then serve via a separate ResourceLoader module (wikibase.wbui2025.entityView.styles); whereas components that are never server-rendered (anything interactive) don’t need this and can use normal <style> blocks inside the component.
We should extend php-vuejs-templating so that it can extract the <style> blocks, wire those up so they can be served by ResourceLoader, and then merge all the .less files into the corresponding .vue files.
Acceptance criteria:
- there are no more separate .less files inside repo/resources/wikibase.wbui2025
- the server-rendered HTML still looks nice and correctly styled without JavaScript enabled
