Lumo JARs and Licensing

I recently downloaded the Business Starter App and took a look through its source code, and have a few questions about Lumo.

  1. All the views in the Vaadin Business Starter app use a MainLayout as their layouts, and MainLayout uses @HtmlImport("frontend://styles/shared-styles.html"). This shared-styles.html file in turn imports all the Lumo files stored under src/main/webapp. But is this really the best way to import Lumo into a project? Is Lumo available via CDN, or as a webjar (if so what are the Maven coordinates, vaadin-lumo-styles maybe)?

  2. Is Lumo open source and available for general use or is it only for Pro/Prime/Enterprise customers?

  3. I noticed in the Business Starter app there were a lot of Java classes under the ui.layout.size.* and ui.util.css.lumo.* packages (such as Size, BadgeColor, etc.) that are essentially enums representing specific Lumo styles. I don’t mind following suit in my own apps but it would great if there was an entire Java API for precisely this. Does anything like this exist or being planned on the Vaadin roadmap? I love Java, and hate CSS!

Hi Zac,

Apologies for the delay and great to hear that you love Java!

1] Importing in that way will ensure that the necessary files are included into the production bundle. All Vaadin components with Lumo support have the same imports, which means that you’d have to manually change all of them to use a CDN if you’d want to avoid loading duplicates. The Lumo files are indeed served from a webjar, but they are referenced in a non-webjarish way so that the same implementation can also work for those who don’t use webjars.

2] Lumo theme is open source. Business App Starter is a part of Vaadin Pro license (commercial).

3] Yes, this has been discussed heavily as it impacts the Developer Experience with our framework. The unofficial fix for this is after V14 launch.

Awesome, thanks for the feedback Ankurman!