Theme Builder Overview

The Theme Builder is a web application that enables you to create new or customize existing themes.

It renders the same look and feel as the look and feel of all other components in the suite and delivers full control over their visual elements. After you create or customize your theme, you can download it and integrate it in your project.

If you work with designers, the Theme Builder allows you to style the KendoReact components exactly as required by your application's design and to apply your brand colors.

Creating New Themes

To create a new theme:

  1. Go to the Theme Builder application.
  2. Select the Start Theming option.
  3. Choose a Base Theme to serve as a starting point.
  4. Select the components which you intent to style. You can also change the selection at a later stage.

Theme Builder Create and Download 1

Complex KendoReact components, such as the Grid, rely on other components to deliver their full set of features. If you select the Grid, then all of its components dependencies styles (Button, AutoComplete, DropDownList, DatePicker, etc.) will also be included in the final bundle. The Theme Builder automatically updates the styling on all required components so that you do not need to customize each of them separately.

Customizing Existing Themes

To customize an existing theme, upload the variables.scss file and use the styling options that the Theme Builder delivers:

  1. Go to the Theme Builder application.
  2. Select Import Theme.
  3. Upload the variables.scss file. It contains the current parameters of the customized theme. As a result, the selected components and styling elements are loaded.
  4. Start customizing your theme by using the available available options.

Themebuilder import existing theme

The Theme Builder provides the following styling options:

  • Predefined color swatchesAllow you to give a new look to the components with minimal effort.
  • Color pickersGive you a granular control over the appearance of the components.

Theme Builder Create and Download 3

Implementing Design Requirements

To improve the collaboration between designers and developers, KendoReact comes with three UI Kits for Figma: Material, Bootstrap, and Kendo UI Default. Your designers will use them to create the required application design and to apply your brand colors. To implement these design requirements, you need to create a new theme in Theme Builder and customize it:

  1. Request from the designer to send you a link to the UI kit with the customized colors in Figma.

  2. Use the link to open the design in Figma.

    If you don't have a Figma account, you can create one for free.

  3. Navigate to the Components page and locate the Color Styles in the Inspect Panel, where you can find the values of all colors used in the design.

    Color Styles in a UI Kit for Figma

  4. Create a new theme in the Theme Builder application.

    • To select the correct Base Theme, ask your designer which UI Kit was used: Default, Bootstrap, or Material.
  5. Copy the color codes from the Color Styles in Figma and paste them in the Theme Builder color editor with the same name. For example, copy the value of the $primary color in Figma and paste it in the Primary color editor in the Theme Builder.

Using the Themes in Your Project

When you finish customizing the theme, you can start using it in your project:

  1. Download the theme files by clicking the Download button.

  2. Register the downloaded theme in your project:

    • To use the complete theme for all components, include the THEME_NAME.css file as precompiled CSS.

    • To use the theme as SCSS, include the variables.scss file in the build process of your application:

      // Import configuration from the theme builder
      @import 'variables.scss';
      
      // Import the base theme
      @import '~@progress/kendo-theme-default/scss/all';
    • If you include the bootstrap framework from its source, make sure to include kendo-theme-bootstrap and any ThemeBuilder output before you import the bootstrap framework:

      @import "variables";
      @import "~@progress/kendo-theme-bootstrap/scss/all";
      @import "~bootstrap/scss/bootstrap";