Angular Theme in Syncfusion Components
19 Oct 202424 minutes to read
The Syncfusion Angular UI can allows you to apply styles for your application. The following list of themes are included in the Syncfusion Angular components library
Theme | Style Sheet Name |
---|---|
Bootstrap 5.3 | bootstrap5.3.css |
Bootstrap 5.3 Dark | bootstrap5.3-dark.css |
Fluent 2 | fluent2.css |
Fluent 2 Dark | fluent2-dark.css |
Material 3 | material3.css |
Material 3 Dark | material3-dark.css |
Bootstrap 5 | bootstrap5.css |
Bootstrap 5 Dark | bootstrap5-dark.css |
Fluent | fluent.css |
Fluent Dark | fluent-dark.css |
Google’s Material | material.css |
Google’s Material-Dark | material-dark.css |
Tailwind CSS | tailwind.css |
TailwindDark CSS | tailwind-dark.css |
Microsoft Office Fabric | fabric.css |
Microsoft Office Fabric Dark | fabric-dark.css |
High Contrast | highcontrast.css |
Optimized CSS files
Syncfusion components provide two size modes for each theme: normal and bigger. By default, the normal size mode is applied, offering a standard appearance that is suitable for all devices. The bigger size mode provides an enlarged interface for enhanced interactions, visibility, and an overall improved user experience by increasing the size of the UI components.
The bigger size mode is ideal when an enlarged appearance is needed, while the normal size mode works best for maintaining the default appearance of components.
Below is a comparison of the Button component in normal and bigger size modes:
Each theme includes both normal and bigger size modes, which increases the overall file size. To optimize performance, Syncfusion offers additional theme files (e.g., fluent2-lite.css
), which only include the normal size mode styles. This results in a significant reduction in file size, improving load times and overall application performance, especially when the bigger size mode is unnecessary.
Refer to the comparison below for the default and optimized theme file sizes:
Theme Name | Default Theme Size | Optimized Theme Size |
---|---|---|
Fluent 2 | 3.97 MB | 2.96 MB |
Installation
There are four ways to include Syncfusion Angular UI themes in application.
Install via NPM
Themes are shipped as individual and combined CSS files. Combined CSS file can be referred from the npm package @syncfusion/ej2
and individual CSS files are available within same component repository’s style
folder. In ej2 npm packages, we have shipped both CSS and SCSS files for all components.
To use the combined CSS files, install the npm package using the following command
npm install @syncfusion/ej2
CDN Direct Referral
Instead of using a local resource on your server, you can use a cloud CDN to reference the theme style sheets.
Syncfusion Angular Themes are available in the CDN. Make sure that the version in the URLs matches the version of the Syncfusion Angular Package you are using.
<head>
<link href="https://cdn.syncfusion.com/ej2/<version>/<theme_name>.css" rel="stylesheet"/>
</head>
To refer to optimized CSS files, use the following syntax:
<head>
<link href="https://cdn.syncfusion.com/ej2/<version>/<theme_name>-lite.css" rel="stylesheet"/>
</head>
Using Precompiled CSS and SCSS File
Precompiled css
In terms Precompiled means minified and optimized CSS.
The Syncfusion Angular UI theme includes a precompiled CSS file that contains the styles for all Syncfusion components.
@import "./node_modules/@syncfusion/ej2/<theme_name>.css";
Referring all components SCSS
@import "ej2/<theme_name>.scss";
We can get the individual theme from individual package or from ej2 package.
Referring individual Component from individual package
@import "ej2-buttons/button/<theme_name>.scss";
Referring all components optimized CSS file
To refer to all component’s optimized CSS files from the @syncfusion/ej2
package, follow the below syntax:
@import "@syncfusion/ej2/<theme_name>-lite.css";
/* or */
@import "@syncfusion/ej2/<theme_name>-lite.scss";
Example:
@import "@syncfusion/ej2/fluent2-lite.css";
/* or */
@import "@syncfusion/ej2/fluent2-lite.scss";
Referring individual component optimized CSS file
To refer to individual component’s optimized CSS files from an individual packages, follow the below syntax:
@import "<dependent-package>/styles/<theme_name>-lite.css";
/* or */
@import "<dependent-package>/styles/<theme_name>-lite.scss";
Example:
@import "@syncfusion/ej2-buttons/styles/fluent2-lite.css";
/* or */
@import "@syncfusion/ej2-buttons/styles/fluent2-lite.scss";
Advantages of individual components theme
- Reducing the page load time of application
- Reducing bundling size
- Avoid unused CSS
Compiling Themes from SCSS Source File
The Syncfusion Angular UI theme includes a compilation of SCSS file. Refer Compiling SCSS file section for more information.
Common Variables
The following list of common variables is used in the Syncfusion Angular library themes for all UI components. You can change these variables to customize the corresponding theme.
Syncfusion Bootstrap 5.3 theme
Name | Value (Default Theme) | Value (Dark Theme) |
---|---|---|
--color-sf-black | rgb(0,0,0) | rgb(0,0,0) |
--color-sf-white | rgb(255,255,255) | rgb(255,255,255) |
--color-sf-primary | rgba(13,110,253,1) | rgba(13,110,253,1) |
--color-sf-primary-text-color | #fff | #fff |
--color-sf-primary-light | #86b7fe | #86b7fe |
--color-sf-primary-lighter | #cfe2ff | #031633 |
--color-sf-primary-dark | #3367d1 | #073ba6 |
--color-sf-primary-darker | #052c65 | #6ea8fe |
--color-sf-success | rgba(25,135,84,1) | rgba(25,135,84,1) |
--color-sf-info | rgba(13,202,240,1) | rgba(13,202,240,1) |
--color-sf-warning | rgba(255,193,7,1) | rgba(255,193,7,1) |
--color-sf-danger | rgba(220,53,69,1) | rgba(220,53,69,1) |
--color-sf-success-light | #d1e7dd | #75b798 |
--color-sf-info-light | #cff4fc | #6edff6 |
--color-sf-warning-light | #fff3cd | #ffda6a |
--color-sf-danger-light | #f8d7da | #ea868f |
--color-sf-success-dark | #0a3622 | #75b798 |
--color-sf-info-dark | #055160 | #6edff6 |
--color-sf-warning-dark | #664d03 | #ffda6a |
--color-sf-danger-dark | #58151c | #ea868f |
--color-sf-success-light-alt | #d1e7dd | #051b11 |
--color-sf-info-light-alt | #cff4fc | #032830 |
--color-sf-warning-light-alt | #fff3cd | #332701 |
--color-sf-danger-light-alt | #f8d7da | #2c0b0e |
Syncfusion Fluent 2 theme
Name | Value (Default Theme) | Value (Dark Theme) |
---|---|---|
--color-sf-black | #000 | #000 |
--color-sf-white | #fff | #fff |
--color-sf-primary | #0f6cbd | #115ea3 |
--color-sf-primary-text-color | #fff | #fff |
--color-sf-primary-light | #b4d6fa | #0e4775 |
--color-sf-primary-lighter | #ebf3fc | #082338 |
--color-sf-primary-dark | #0f548c | #62abf5 |
--color-sf-primary-darker | #0c3b5e | #96c6fa |
--color-sf-success | #0e700e | #107c10 |
--color-sf-info | #008aa9 | #0099bc |
--color-sf-warning | #bc4b09 | #faa06b |
--color-sf-danger | #d13438 | #dc626d |
--color-sf-success-light | #54b054 | #094509 |
--color-sf-info-light | #56bfd7 | #005669 |
--color-sf-warning-light | #fee5d7 | #4a1e04 |
--color-sf-danger-light | #eeacb2 | #6e0811 |
--color-sf-success-dark | #54b054 | #c9eac9 |
--color-sf-info-dark | #56bfd7 | #cdedf4 |
--color-sf-warning-dark | #8a3707 | #fee5d7 |
--color-sf-danger-dark | #6e0811 | #fee5d7 |
--color-sf-success-light-alt | #f1faf1 | #052505 |
--color-sf-info-light-alt | #f2fafc | #002e38 |
--color-sf-warning-light-alt | #fff9f5 | #4a1e04 |
--color-sf-danger-light-alt | #fdf3f4 | #3b0509 |
--color-sf-badge-warning | #fde300 | #fde300 |
--color-sf-badge-warning-text | #847619 | #fde300 |
--color-sf-primary-label-color | #0f6cbd | #479ef5 |
--color-sf-primary-cell-selection | #ebf3fc | #ebf3fc |
Syncfusion Material 3 theme
Name | Value (Default Theme) | Value (Dark Theme) |
---|---|---|
--color-sf-black | rgb(0,0,0) | rgb(0,0,0) |
--color-sf-white | rgb(255,255,255) | rgb(255,255,255) |
--color-sf-primary | rgb(103, 80, 164) | rgb(208, 188, 255) |
--color-sf-primary-container | rgb(234, 221, 255) | rgb(79, 55, 139) |
--color-sf-on-primary | rgb(255, 255, 255) | rgb(55, 30, 115) |
--color-sf-on-primary-container | rgb(33, 0, 94) | rgb(234, 221, 255) |
--color-sf-surface | rgb(255, 255, 255) | rgb(28, 27, 31) |
--color-sf-surface-variant | rgb(231, 224, 236) | rgb(73, 69, 79) |
--color-sf-on-surface | rgb(28, 27, 31) | rgb(230, 225, 229) |
--color-sf-on-surface-variant | rgb(73, 69, 78) | rgb(202, 196, 208) |
--color-sf-secondary | rgb(98, 91, 113) | rgb(204, 194, 220) |
--color-sf-secondary-container | rgb(232, 222, 248) | rgb(74, 68, 88) |
--color-sf-on-secondary | rgb(255, 255, 255) | rgb(51, 45, 65) |
--color-sf-on-secondary-container | rgb(30, 25, 43) | rgb(232, 222, 248) |
--color-sf-tertiary | rgb(125, 82, 96) | rgb(239, 184, 200) |
--color-sf-tertiary-container | rgb(255, 216, 228) | rgb(99, 59, 72) |
--color-sf-on-tertiary | rgb(255, 255, 255) | rgb(73, 37, 50) |
--color-sf-on-tertiary-container | rgb(55, 11, 30) | rgb(255, 216, 228) |
--color-sf-background | rgb(255, 255, 255) | rgb(28, 27, 31) |
--color-sf-on-background | rgb(28, 27, 31) | rgb(230, 225, 229) |
--color-sf-outline | rgb(121, 116, 126) | rgb(147, 143, 153) |
--color-sf-outline-variant | rgb(196, 199, 197) | rgb(68, 71, 70) |
--color-sf-shadow | rgb(0, 0, 0) | rgb(0, 0, 0) |
--color-sf-surface-tint-color | rgb(103, 80, 164) | rgb(208, 188, 255) |
--color-sf-inverse-surface | rgb(49, 48, 51) | rgb(230, 225, 229) |
--color-sf-inverse-on-surface | rgb(244, 239, 244) | rgb(49, 48, 51) |
--color-sf-inverse-primary | rgb(208, 188, 255) | rgb(103, 80, 164) |
--color-sf-scrim | rgb(0, 0, 0) | rgb(0, 0, 0) |
--color-sf-error | rgb(179, 38, 30) | rgb(242, 184, 181) |
--color-sf-error-container | rgb(249, 222, 220) | rgb(140, 29, 24) |
--color-sf-on-error | rgb(255, 250, 250) | rgb(96, 20, 16) |
--color-sf-on-error-container | rgb(65, 14, 11) | rgb(249, 222, 220) |
--color-sf-success | rgb(32, 81, 7) | rgb(83, 202, 23) |
--color-sf-success-container | rgb(209, 255, 186) | rgb(22, 62, 2) |
--color-sf-on-success | rgb(244, 255, 239) | rgb(13, 39, 0) |
--color-sf-on-success-container | rgb(13, 39, 0) | rgb(183, 250, 150) |
--color-sf-info | rgb(1, 87, 155) | rgb(71, 172, 251) |
--color-sf-info-container | rgb(233, 245, 255) | rgb(0, 67, 120) |
--color-sf-on-info | rgb(250, 253, 255) | rgb(0, 51, 91) |
--color-sf-on-info-container | rgb(0, 51, 91) | rgb(173, 219, 255) |
--color-sf-warning | rgb(145, 76, 0) | rgb(245, 180, 130) |
--color-sf-warning-container | rgb(254, 236, 222) | rgb(123, 65, 0) |
--color-sf-on-warning | rgb(255, 255, 255) | rgb(99, 52, 0) |
--color-sf-on-warning-container | rgb(47, 21, 0) | rgb(255, 220, 193) |
Bootstrap 5 Theme
Name | Value (Default Theme) | Value (Dark Theme) |
---|---|---|
$black | #000 | #000 |
$white | #fff | #fff |
$gray-100 | #f8f9fa | #f8f9fa |
$gray-200 | #e9ecef | #e9ecef |
$gray-300 | #dee2e6 | #dee2e6 |
$gray-400 | #ced4da | #ced4da |
$gray-500 | #adb5bd | #adb5bd |
$gray-600 | #6c757d | #6c757d |
$gray-700 | #495057 | #495057 |
$gray-800 | #343a40 | #343a40 |
$gray-900 | #212529 | #212529 |
$blue | #0d6efd | #0d6efd |
$indigo | #6610f2 | #6610f2 |
$purple | #6f42c1 | #6f42c1 |
$pink | #d63384 | #d63384 |
$red | #dc3545 | #dc3545 |
$orange | #fd7e14 | #fd7e14 |
$yellow | #ffc107 | #ffc107 |
$green | #198754 | #198754 |
$teal | #20c997 | #20c997 |
$cyan | #0dcaf0 | #0dcaf0 |
Fluent Theme
Name | Value (Default Theme) | Value (Dark Theme) |
---|---|---|
$black | #000 | #000 |
$white | #fff | #fff |
$gray220 | #11100f | #11100f |
$gray210 | #161514 | #161514 |
$gray200 | #1b1a19 | #1b1a19 |
$gray190 | #201f1e | #201f1e |
$gray180 | #252423 | #252423 |
$gray170 | #292827 | #292827 |
$gray160 | #323130 | #323130 |
$gray150 | #3b3a39 | #3b3a39 |
$gray140 | #484644 | #484644 |
$gray130 | #605e5c | #605e5c |
$gray120 | #797775 | #797775 |
$gray110 | #8a8886 | #8a8886 |
$gray100 | #979593 | #979593 |
$gray90 | #a19f9d | #a19f9d |
$gray80 | #b3b0ad | #b3b0ad |
$gray70 | #bebbb8 | #bebbb8 |
$gray60 | #c8c6c4 | #c8c6c4 |
$gray50 | #d2d0ce | #d2d0ce |
$gray40 | #e1dfdd | #e1dfdd |
$gray30 | #edebe9 | #edebe9 |
$gray20 | #f3f2f1 | #f3f2f1 |
$gray10 | #faf9f8 | #faf9f8 |
$cyanblue10 | #0078d4 | #0078d4 |
$red10 | #d13438 | #d13438 |
$orange20 | #ca5010 | #ca5010 |
$green20 | #0b6a0b | #0b6a0b |
$cyan20 | #038387 | #038387 |
Material Theme
Name | Value (Default Theme) | Value (Dark Theme) |
---|---|---|
$accent | #e3165b | #ff80ab |
$accent-font | #fff | #000 |
$primary | #3f51b5 | #3f51b5 |
$primary-50 | #e8eaf6 | #e8eaf6 |
$primary-100 | #c5cae9 | #c5cae9 |
$primary-200 | #9fa8da | #9fa8da |
$primary-300 | #7986cb | #7986cb |
$primary-font | #fff | #fff |
$primary-50-font | #000 | #000 |
$primary-100-font | #000 | #000 |
$primary-200-font | #000 | #000 |
$primary-300-font | #fff | #fff |
$grey-white | #fff | #fff |
$grey-black | #000 | #000 |
$grey-50 | #fafafa | #fafafa |
$grey-100 | #f5f5f5 | #f5f5f5 |
$grey-200 | #eee | #eee |
$grey-300 | #e0e0e0 | #e0e0e0 |
$grey-400 | #bdbdbd | #bdbdbd |
$grey-500 | #9e9e9e | #9e9e9e |
$grey-600 | #757575 | #757575 |
$grey-700 | #616161 | #616161 |
$grey-800 | #424242 | #424242 |
$grey-900 | #212121 | #212121 |
$grey-dark | #303030 | #303030 |
$grey-light-font | #000 | #000 |
$grey-dark-font | #fff | #fff |
$base-font | #000 | #000 |
$error-font | #f44336 | #ff6652 |
$success-bg | #4caf50 | |
$error-bg | #ff6652 | |
$warning-bg | #ff9800 | |
$info-bg | #03a9f4 | |
$message-font | #fff | |
$success-font | #4caf50 | |
$warning-font | #ff9800 | |
$info-font | #03a9f4 |
Tailwind CSS Theme
Name | Value (Default Theme) | Value (Dark Theme) |
---|---|---|
$black | #000 | #000 |
$white | #fff | #fff |
$transparent | transparent | transparent |
$cool-gray-50 | #f9fafb | #f9fafb |
$cool-gray-100 | #f3f4f6 | #f3f4f6 |
$cool-gray-200 | #e5e7eb | #e5e7eb |
$cool-gray-300 | #d1d5db | #d1d5db |
$cool-gray-400 | #9ca3af | #9ca3af |
$cool-gray-500 | #6b7280 | #6b7280 |
$cool-gray-600 | #4b5563 | #4b5563 |
$cool-gray-700 | #374151 | #374151 |
$cool-gray-800 | #1f2937 | #1f2937 |
$cool-gray-900 | #111827 | #111827 |
$red-100 | #fee2e2 | #fee2e2 |
$red-400 | #f87171 | #f87171 |
$red-500 | #ef4444 | #ef4444 |
$red-600 | #dc2626 | #dc2626 |
$red-800 | #991b1b | #991b1b |
$green-100 | #dcfce7 | #dcfce7 |
$green-500 | #22c55e | #22c55e |
$green-600 | #16a34a | #16a34a |
$green-700 | #15803d | #15803d |
$orange-100 | #ffedd5 | #ffedd5 |
$orange-500 | #f97316 | #f97316 |
$orange-600 | #ea580c | #ea580c |
$orange-700 | #c2410c | #c2410c |
$orange-800 | #9a3412 | #9a3412 |
$cyan-300 | #67e8f9 | #67e8f9 |
$cyan-400 | #22d3ee | #22d3ee |
$cyan-500 | #06b6d4 | #06b6d4 |
$cyan-600 | #0891b2 | #0891b2 |
$cyan-800 | #155e75 | #155e75 |
$indigo-50 | #eef2ff | |
$indigo-100 | #e0e7ff | |
$indigo-200 | #c7d2fe | |
$indigo-300 | #a5b4fc | |
$indigo-400 | #818cf8 | |
$indigo-500 | #6366f1 | |
$indigo-600 | #4f46e5 | |
$indigo-700 | #4338ca | |
$indigo-800 | #3730a3 | |
$indigo-900 | #312e81 | |
$green-400 | #4ade80 | |
$light-blue-50 | #f0f9ff | |
$light-blue-100 | #e0f2fe | |
$light-blue-400 | #38bdf8 | |
$light-blue-500 | #0ea5e9 | |
$light-blue-600 | #0284c7 | |
$light-blue-700 | #0369a1 | |
$light-blue-800 | #075985 |
Microsoft Office Fabric Theme
Name | Value (Default Theme) | Value (Dark Theme) |
---|---|---|
$theme-primary | #0078d6 | #0074cc |
$theme-dark-alt | darken($theme-primary, 3%) | darken($theme-primary, 3%) |
$theme-dark | darken($theme-primary, 10%) | darken($theme-primary, 6%) |
$theme-darker | darken($theme-primary, 18%) | darken($theme-primary, 10%) |
$theme-secondary | lighten($theme-primary, 3%) | lighten($theme-primary, 3%) |
$theme-tertiary | lighten($theme-primary, 21%) | lighten($theme-primary, 21%) |
$theme-light | lighten($theme-primary, 44%) | lighten($theme-primary, 44%) |
$theme-lighter | lighten($theme-primary, 49%) | lighten($theme-primary, 49%) |
$theme-lighter-alt | lighten($theme-primary, 55%) | lighten($theme-primary, 55%) |
$neutral-white | #fff | #201f1f |
$neutral-lighter-alt | #f8f8f8 | #282727 |
$neutral-lighter | #f4f4f4 | #333232 |
$neutral-light | #eaeaea | #414040 |
$neutral-quintenaryalt | #dadada | #4a4848 |
$neutral-quintenary | #d0d0d0 | #514f4f |
$neutral-tertiary-alt | #c8c8c8 | #6f6c6c |
$neutral-tertiary | #a6a6a6 | #9a9a9a |
$neutral-secondary-alt | #767676 | #c8c8c8 |
$neutral-secondary | #666 | #dadada |
$neutral-primary | #333 | #fff |
$neutral-dark | #212121 | #f4f4f4 |
$neutral-black | #000 | #f8f8f8 |
$alert-bg | #deecf9 | #bf7500 |
$error-bg | #fde7e9 | #cd2a19 |
$success-bg | #dff6dd | #37844d |
$theme-dark-font | #fff | #fff |
$theme-primary-font | #fff | #fff |
$theme-light-font | #333 | #000 |
$neutral-light-font | #333 | #dadada |
$neutral-light-fontalt | #000 | #fff |
$grey-dark-font | #fff | #000 |
$base-font | #333 | #dadada |
$message-font | #333 | #fff |
$alert-font | #d83b01 | #ff9d48 |
$error-font | #a80000 | #ff5f5f |
$success-font | #107c10 | #8eff8d |
$info-bg | #1e79cb | |
$info-font | #62cfff |
High Contrast Theme
Name | Value |
---|---|
$selection-bg | #ffd939 |
$selection-font | #000 |
$selection-border | #ffd939 |
$hover-bg | #685708 |
$hover-font | #fff |
$hover-border | #fff |
$border-default | #969696 |
$border-alt | #757575 |
$border-fg | #fff |
$border-fg-alt | #ffd939 |
$bg-base-0 | #000 |
$bg-base-5 | #0d0d0d |
$bg-base-10 | #1a1a1a |
$bg-base-15 | #262626 |
$bg-base-20 | #333 |
$bg-base-75 | #bfbfbf |
$bg-base-100 | #fff |
$header-font | #ffd939 |
$header-font-alt | #fff |
$content-font | #fff |
$content-font-alt | #969696 |
$link | #8a8aff |
$invert-font | #000 |
$success-bg | #166600 |
$error-bg | #b30900 |
$message-font | #fff |
$alert-bg | #944000 |
$info-bg | #0056b3 |
$success-alt | #2bc700 |
$error-alt | #ff6161 |
$alert-alt | #ff7d1a |
$info-alt | #66b0ff |
$disable | #757575 |