JS Days 2025 Replays are now live! Watch all sessions on-demand Watch Now

Build a Completely Custom Ext JS Theme in Less Than 10 Minutes

April 7, 2016 2021 Views
Show

Build a Completely Custom Ext JS Theme in Less Than 10 Minutes

Developers need to quickly theme applications to match their company‘s branding, identity, and guidelines.

The good news – Ext JS has an extremely powerful theming system due to its massively integrated component library.

One of the primary benefits of the Ext JS integrated component library is that components are organized in a hierarchy and inherit properties from their parent components. This hierarchy allows you to quickly theme an application by changing a small set of Sass variables that flow from top-level components down to their child components and then throughout the entire application. This inheritance hierarchy is precisely what distinguishes Ext JS as a powerful and user-friendly Javascript Web Framework for theming your applications.

Using Ext JS Sass Variables to Theme Your Apps

Ext JS 6

There are four major areas developers and designers should concentrate on when theming an Ext JS application:

  • Colors
  • Fonts
  • Spacing
  • Animation

Changing the default Ext JS Sass variables for colors and fonts can be done quickly and has a big effect on the theming. Because the goal of this blog is to help you quickly theme an app, we will only focus on these areas for the remainder of this article.
(Changes to spacing and animation take longer to implement and have a smaller impact.)

When theming an Ext JS application from scratch, you should begin by changing the default Global_CSS variables and then the Component Sass variables.

Changing the Sass variables in the following order will have the greatest impact:

  1. Global_CSS
  2. Buttons
  3. Containers
  4. Toolbars

I’ve taken 21 Sass variables from Global_CSS and the Components listed above for the Classic toolkit, and I’ve made them available on Github, so it’s easy to get started. Try changing these variables in your application to see the powerful changes. If you want to create a completely new theme package, so you can reuse the theme in multiple applications, see instructions in the Ext JS docs.

If you want a great starter app to test your theme, check out the Theme Helper App on Github; it was created by my colleague Lee Boonstra.

Using Sencha Architect to Theme Your Apps

If you are using Sencha Architect, Quick Theming is an option that is also available to you using most of the same Sass variables in the Github link above.

To access Quick Theme:

  1. Select the Theme Option in the Toolbox.
  2. Then under the “Quick Themes” dropdown, drag and drop one of the available Quick Themes to Resources in the Project Inspector.
Quick Theme in Sencha Architect

Quick Theme in Sencha Architect

Share Your Experience

The Sass variables that I shared in Github are just a few that can have a big impact on the look of your app. Do you agree with this list? If not, fork my variable list in Github and add your own; please post the link in the comments below, so everyone can see your new theme.

You can download the latest version of Ext JS here and start theming!

Recommended Articles

Why Rapid Ext JS Is Ideal for Developers Who Need Speed, Scalability, and Rapid Application Development

Rapid Ext JS, which is an Extended JavaScript framework, speeds up app development using low-code tools. It makes building apps that can grow with your…

Top 5 Front-End Frameworks for Custom Software Development in 2025

Custom software needs the right tools to stay fast, flexible, and reliable. Off the shelf solutions often fall short, so teams turn to experts who…

JS Days 2025 – Where JavaScript Mastery Meets Modern Engineering

The JavaScript ecosystem evolves at a relentless pace. Frameworks emerge, tools iterate, and AI redefines paradigms. For developers navigating this landscape, JS Days 2025 (August…

Guide to Estimating ROI When Switching From DIY Libraries to Full Software Development Platforms Like Ext JS

Teams started with Do It Yourself, or DIY, JavaScript tools like jQuery and Bootstrap. But those fall apart as projects scale. Scattered code, user interface…

Top Mistakes Developers Make When Using React UI Component Library (And How to Avoid Them)

React’s everywhere. If you’ve built a web app lately, chances are you’ve already used it. Around 40% of developers use React JS for web development,…

Top Frameworks Developers Are Using for Custom Software Development in 2025

We’re seeing it more every year; teams aren’t settling for plug-and-play tools anymore. In healthcare, finance, logistics, and other data-heavy industries, there’s a clear shift.…

View More

Trusted by Top Developers: Learn how to enhance your development journey — for free

Get the latest newsletter keeping thousands of developers in the loop.

Loved by developers at
JSDays Replay