Skip to content
DominoKitPublic

Repository files navigation

logoimage

Development Build Status Maven Central Sonatype Nexus (Snapshots) GWT3/J2CL compatible

Domino-UI

Domino-UI is a type-safe, fluent Java UI component library that compiles to JavaScript GWT. It lets Java teams build modern UIs without external JavaScript dependencies, while keeping IDE refactoring, static typing, and a consistent API across components.

Requirements

Building Domino UI requires JDK 17 or newer.

Why Domino-UI

  • Fluent, structured composition that mirrors HTML hierarchies.
  • Rich component set (datatable, forms, layouts, menus, dialogs, etc.).
  • Strong typing and refactoring safety for large Java codebases.
  • Works with GWT/Java without runtime JavaScript dependencies.
  • Configurable themes, CSS utilities, and MDI icon integration.

Quick glance:

Domino-UI code should read like the HTML structure while staying debuggable. The preferred style initializes complex children first, then composes the tree fluently.

TextBox userName = TextBox.create("User name")
    .setRequired(true)
    .setAutoValidation(true);

TextBox password = TextBox.password("Password")
    .setRequired(true)
    .setAutoValidation(true);

Button login = Button.create(Icons.lock_open())
    .setBackground(Color.THEME)
    .setContent("Login")
    .block();

Card.create("LOGIN")
    .appendChild(userName)
    .appendChild(password)
    .appendChild(login);

Styling and theming

Domino UI provides scoped, composable CSS: color modes, visual identities, accents, density, character and surface themes, contextual colors, component emphasis, custom tokens, and runtime Dynamic CSS utilities. The complete styling and theming guide explains the design choices, stylesheet delivery options, Java APIs, accessibility guidance, customization recipes, and production optimization choices.

Links

License

Apache License 2.0

Releases

Sponsor this project

Packages

Used by

Contributors

Languages