Developers

Welcome to Nova! If you’re just starting with the system, you’re at the right place.

Understanding the stack

Nova is built on web components powered by StencilJS, leveraging the Light DOM to ensure flexibility and compatibility across frameworks like React, Angular, Vue, and Blazor. At the heart of our architecture is a meta-driven approach, where component metadata serves as a single source of truth. This enables us to automate the generation of framework wrappers, Storybooks, and documentation, keeping everything aligned and consistent.

Light DOM vs Shadow DOM

Why We Chose Light DOM

We opted for Light DOM to simplify customization and component integration. Unlike Shadow DOM, Light DOM:

  • Allows global styles to apply to slot content.
  • Makes styling and theming easier.
  • Provides better accessibility and compatibility with external libraries.

Limitations of Light DOM

  • It does not offer strict encapsulation like Shadow DOM.
  • It may lead to style conflicts if not managed properly.

However, we believe Light DOM provides a better developer experience in most cases.

First steps

Install your framework of choice

Nova officially supports the following frameworks: Blazor, Angular, React, VueJS and native HTML.

Head over to Framework for instructions on how to get started.

Explore our development resources

Get everything you need to build with Nova. Check out our Storybook for interactive component demos and customization options. For detailed instructions and tips, head over to our Component Documentation. Whether you’re exploring or integrating, we’ve got you covered.

Stay up to date

Our versioning system is loosely based on Semantic Versioning, with a few key differences.

  • Patch (x.y.Z) – For non-breaking changes only. Patch releases should be made regularly to deliver fixes and improvements.
  • Minor (x.Y.z) – May include small breaking changes, such as renamed properties or updated interfaces. These should be easy to adapt to with the help of in-code documentation. Use minor when a feature or fix introduces a breaking change that can be resolved quickly.
  • Major (X.y.z) – Reserved for larger, planned refactors. These are not taken lightly and are unlikely unless both Nova and our users have a strong reason. Only use major when the impact is clear and the benefit is significant.

Breaking changes are always clearly indicated in the changelog. We use a single version number and consistent functionality across all platforms.

Connect with us

If you have a question about any aspect of the frameworks or tools, you can contact us on Teams:

Note: these channels are only accessible to those working for Elia Group (Elia, 50hz, and subsidiaries).