I've decided to build Majesty's user interface using Svelte components, and spent some time integrating Phaser and Svelte and building a small example project.
The example project can be seen here.

Until now I've been using Phaser's limited UI facilities to create buttons and the like, so this will open up a lot of possibilities going forward, although I still need to integrate this work with the actual game. I don't have many screenshots this time because this isn't too interesting, but the UI can be seen in the example.