Skip to content

Customize Handsontable’s appearance using the Theme API, Figma Theme Generator, CSS variables, or the visual Theme Builder.

Overview

CSS variables provide a powerful and flexible way to customize Handsontable’s appearance by adjusting design elements such as colors, spacing, borders, and typography to match your application’s design system. These variables give you granular control over every visual aspect of the data grid, from basic styling to advanced component customization.

We provide multiple approaches for leveraging CSS variables to create any look that your designer can imagine. From quick theme modifications to completely custom designs, your options include:

  1. Theme API – Modify themes via configuration parameters or register your own custom theme programmatically.
  2. Figma Theme Generator – Modify design variables in Figma and export them using the Figma Theme Generator tool.
  3. Override CSS variables – Directly override CSS variables or edit CSS files from the /styles directory for full control.
  4. Theme Builder UI – Use the online Theme Builder to visually customize and export your theme without writing code.

The data grid’s styling system is built entirely on CSS variables, with over 200 variables organized into logical categories covering typography, colors, spacing, borders, and component-specific styling listed below.

Option 1: Theme API

The Theme API allows you to customize themes programmatically by registering custom themes and configuring them at runtime. You can use the theme option with a ThemeBuilder object for dynamic configuration.

Register a custom theme

Use registerTheme to create a custom theme with your own configuration:

import Handsontable from 'handsontable';
import { mainTheme, registerTheme } from 'handsontable/themes';
// Register main theme
const myTheme = registerTheme(mainTheme);
// Configure the theme at runtime
myTheme.setColorScheme('light');
myTheme.setDensityType('default');
<hot-table [theme]="myTheme">
</hot-table>

Configure theme parameters

Use the params() method to update theme parameters dynamically:

myTheme.params({
colors: {
primary: {
500: '#9333ea', // Change primary color
},
},
tokens: {
fontSize: '16px',
iconSize: 'sizing.size_5',
borderColor: ['colors.primary.500', 'colors.primary.600'],
},
});

Theme API example

The following example demonstrates using the Theme API to register a theme with a custom purple accent color:

TypeScript
/* file: app.component.ts */
import { Component } from '@angular/core';
import { GridSettings } from '@handsontable/angular-wrapper';
import { horizonTheme, registerTheme } from 'handsontable/themes';
// Register Handsontable's modules
registerAllModules();
// Register the main theme with custom parameters
const myTheme = registerTheme(horizonTheme);
// Configure theme parameters using the params() method
myTheme.params({
colors: {
primary: {
500: '#9333ea', // Change primary color
},
},
tokens: {
fontSize: '16px',
iconSize: 'sizing.size_5',
accentColor: ['colors.primary.500', 'colors.primary.600'],
},
});
// Set color scheme and density type
myTheme.setColorScheme('light');
myTheme.setDensityType('default');
@Component({
selector: 'example2-demo',
standalone: false,
template: ` <div>
<hot-table [data]="data" [settings]="gridSettings"></hot-table>
</div>`,
})
export class Example2DemoComponent {
readonly data: Array<Array<string | number>> = [
['John Doe', 'johndoe@example.com', 'New York', 32, 'Engineer'],
['Jane Smith', 'janesmith@example.com', 'Los Angeles', 29, 'Designer'],
['Sam Wilson', 'samwilson@example.com', 'Chicago', 41, 'Manager'],
['Emily Johnson', 'emilyj@example.com', 'San Francisco', 35, 'Developer'],
['Michael Brown', 'mbrown@example.com', 'Boston', 38, 'Analyst'],
];
readonly gridSettings: GridSettings = {
theme: myTheme,
colHeaders: ['Name', 'Email', 'City', 'Age', 'Position'],
columns: [
{ data: 0, type: 'text' },
{ data: 1, type: 'text' },
{ data: 2, type: 'text' },
{ data: 3, type: 'numeric' },
{ data: 4, type: 'text' }
],
rowHeaders: true,
dropdownMenu: true,
width: '100%',
height: 'auto',
licenseKey: 'non-commercial-and-evaluation'
};
}
/* end-file */
/* file: app.module.ts */
import { NgModule, ApplicationConfig } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { registerAllModules } from 'handsontable/registry';
import { HOT_GLOBAL_CONFIG, HotGlobalConfig, HotTableModule } from '@handsontable/angular-wrapper';
import { CommonModule } from '@angular/common';
import { NON_COMMERCIAL_LICENSE } from '@handsontable/angular-wrapper';
/* start:skip-in-compilation */
import { Example2DemoComponent } from './app.component';
/* end:skip-in-compilation */
// register Handsontable's modules
registerAllModules();
export const appConfig: ApplicationConfig = {
providers: [
{
provide: HOT_GLOBAL_CONFIG,
useValue: {
license: NON_COMMERCIAL_LICENSE,
} as HotGlobalConfig
}
],
};
@NgModule({
imports: [ BrowserModule, HotTableModule, CommonModule ],
declarations: [ Example2DemoComponent ],
providers: [...appConfig.providers],
bootstrap: [ Example2DemoComponent ]
})
export class AppModule { }
/* end-file */
HTML
<example2-demo></example2-demo>

Option 2: Figma Theme Generator

The Figma Theme Generator allows designers and developers to work together seamlessly by exporting design tokens directly from Figma into a CSS theme file.

Export themes from Figma

To create a new theme or modify an existing one in Figma:

  1. Open your Figma design file and modify the design variables (colors, spacing, typography, etc.) to match your requirements.
  2. Export the design tokens as JSON using Figma’s built-in variables export or a plugin.
  3. Visit the Handsontable Theme Generator and follow the instructions to convert your Figma tokens into CSS theme files or JS variable objects.

The Theme Generator transforms JSON tokens exported from Figma into properly formatted theme files that work with Handsontable. It outputs CSS files (with or without icons) and JS variable files for colors, tokens, and icons. This approach is ideal for teams where designers define the visual language in Figma and developers implement it in code.

Option 3: Override CSS variables

For full control over your theme, you can override CSS variables directly. Follow these steps to apply a theme, then override the variables for your chosen theme.

You can also directly modify the CSS theme files located in handsontable/dist/styles/themes/. This gives you immediate access to all CSS variables and allows for quick iterations.

Here’s an example for .ht-theme-main:

TypeScript
/* file: app.component.ts */
import { Component } from '@angular/core';
import { GridSettings } from '@handsontable/angular-wrapper';
@Component({
selector: 'example1-demo',
standalone: false,
template: ` <div>
<hot-table [data]="data" [settings]="gridSettings"></hot-table>
</div>`,
})
export class Example1DemoComponent {
readonly data: Array<Array<string | number>> = [
['John Doe', 'johndoe@example.com', 'New York', 32, 'Engineer'],
['Jane Smith', 'janesmith@example.com', 'Los Angeles', 29, 'Designer'],
['Sam Wilson', 'samwilson@example.com', 'Chicago', 41, 'Manager'],
['Emily Johnson', 'emilyj@example.com', 'San Francisco', 35, 'Developer'],
['Michael Brown', 'mbrown@example.com', 'Boston', 38, 'Analyst'],
];
readonly gridSettings: GridSettings = {
colHeaders: ['Name', 'Email', 'City', 'Age', 'Position'],
columns: [
{ data: 0, type: 'text' },
{ data: 1, type: 'text' },
{ data: 2, type: 'text' },
{ data: 3, type: 'numeric' },
{ data: 4, type: 'text' }
],
rowHeaders: true,
width: '100%',
height: 'auto',
licenseKey: 'non-commercial-and-evaluation'
};
}
/* end-file */
/* file: app.module.ts */
import { NgModule, ApplicationConfig } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { registerAllModules } from 'handsontable/registry';
import { HOT_GLOBAL_CONFIG, HotGlobalConfig, HotTableModule } from '@handsontable/angular-wrapper';
import { CommonModule } from '@angular/common';
import { NON_COMMERCIAL_LICENSE } from '@handsontable/angular-wrapper';
/* start:skip-in-compilation */
import { Example1DemoComponent } from './app.component';
/* end:skip-in-compilation */
import 'handsontable/styles/ht-theme-main.css';
// register Handsontable's modules
registerAllModules();
export const appConfig: ApplicationConfig = {
providers: [
{
provide: HOT_GLOBAL_CONFIG,
useValue: {
theme: 'ht-theme-main',
license: NON_COMMERCIAL_LICENSE,
} as HotGlobalConfig
}
],
};
@NgModule({
imports: [ BrowserModule, HotTableModule, CommonModule ],
declarations: [ Example1DemoComponent ],
providers: [...appConfig.providers],
bootstrap: [ Example1DemoComponent ]
})
export class AppModule { }
/* end-file */
HTML
<div class="disable-auto-theme">
<style>
.ht-theme-main {
--ht-accent-color: #2c78d4;
--ht-foreground-color: #1a2533;
--ht-background-color: #f8f9fa;
--ht-row-header-odd-background-color: #f8f9fa;
--ht-row-header-even-background-color: #e9ecef;
--ht-row-cell-odd-background-color: #f8f9fa;
--ht-row-cell-even-background-color: #e9ecef;
--ht-cell-horizontal-border-color: #cbd5e0;
--ht-cell-vertical-border-color: #cbd5e0;
--ht-wrapper-border-color: #a0aec0;
}
</style>
<example1-demo></example1-demo>
</div>

Option 4: Use the Theme Builder UI

If you prefer a visual approach to creating themes, use the Handsontable Theme Builder. This online tool provides an intuitive interface for customizing colors, spacing, and other theme properties without writing code. Once you’re satisfied with your design, you can export the generated your theme and integrate it into your project.

Variables Reference

Handsontable provides a comprehensive set of JS and CSS variables that let you customize the appearance of every component.

CSS Variable — The names of the CSS custom properties (e.g. --ht-sizing-size-1) you can override in your stylesheet.

JS Option — The values in this column are the keys you use when customizing a theme via the Theme API. Call theme.params() on your registered theme and pass an object where each key is nested under one of:

  • sizing — spacing and size scale (e.g. sizing.size_1)
  • density.sizes.default, density.sizes.compact, or density.sizes.comfortable — density-specific spacing (e.g. cellVertical, gap)
  • colors — color palette (e.g. colors.primary.500)
  • tokens — design tokens used by components (e.g. tokens.fontSize)

Example: to override the tokens.gapSize, use the JS Option like this:

myTheme.params({
tokens: {
gapSize: 'sizing.size_1'
}
})

Sizing Variables

VariableDescription
CSS: --ht-sizing-size-0
JS: size_0
Zero size (0px)
CSS: --ht-sizing-size-0-25
JS: size_0_25
Quarter unit size (1px)
CSS: --ht-sizing-size-0-5
JS: size_0_5
Half unit size (2px)
CSS: --ht-sizing-size-1
JS: size_1
Base unit size (4px)
CSS: --ht-sizing-size-1-5
JS: size_1_5
1.5x unit size (6px)
CSS: --ht-sizing-size-2
JS: size_2
2x unit size (8px)
CSS: --ht-sizing-size-3
JS: size_3
3x unit size (12px)
CSS: --ht-sizing-size-4
JS: size_4
4x unit size (16px)
CSS: --ht-sizing-size-5
JS: size_5
5x unit size (20px)
CSS: --ht-sizing-size-6
JS: size_6
6x unit size (24px)
CSS: --ht-sizing-size-7
JS: size_7
7x unit size (28px)
CSS: --ht-sizing-size-8
JS: size_8
8x unit size (32px)
CSS: --ht-sizing-size-9
JS: size_9
9x unit size (36px)
CSS: --ht-sizing-size-10
JS: size_10
10x unit size (40px)

Density Variables

VariableDescription
CSS: --ht-density-cell-vertical
JS: cellVertical
Vertical padding for cells
CSS: --ht-density-cell-horizontal
JS: cellHorizontal
Horizontal padding for cells
CSS: --ht-density-bars-horizontal
JS: barsHorizontal
Horizontal padding for bars
CSS: --ht-density-bars-vertical
JS: barsVertical
Vertical padding for bars
CSS: --ht-density-gap
JS: gap
Standard gap size
CSS: --ht-density-button-horizontal
JS: buttonHorizontal
Horizontal padding for buttons
CSS: --ht-density-button-vertical
JS: buttonVertical
Vertical padding for buttons
CSS: --ht-density-dialog-horizontal
JS: dialogHorizontal
Horizontal padding for dialogs
CSS: --ht-density-dialog-vertical
JS: dialogVertical
Vertical padding for dialogs
CSS: --ht-density-input-horizontal
JS: inputHorizontal
Horizontal padding for inputs
CSS: --ht-density-input-vertical
JS: inputVertical
Vertical padding for inputs
CSS: --ht-density-menu-vertical
JS: menuVertical
Vertical padding for menus
CSS: --ht-density-menu-horizontal
JS: menuHorizontal
Horizontal padding for menus
CSS: --ht-density-menu-item-vertical
JS: menuItemVertical
Vertical padding for menu items
CSS: --ht-density-menu-item-horizontal
JS: menuItemHorizontal
Horizontal padding for menu items

Color Palette Variables

VariableDescription
CSS: --ht-colors-white
JS: white
Pure white color
CSS: --ht-colors-black
JS: black
Pure black color
CSS: --ht-colors-transparent
JS: transparent
Transparent color
CSS: --ht-colors-primary-100
JS: primary.100
Lightest primary accent
CSS: --ht-colors-primary-200
JS: primary.200
Light primary accent
CSS: --ht-colors-primary-300
JS: primary.300
Medium-light primary accent
CSS: --ht-colors-primary-400
JS: primary.400
Medium primary accent
CSS: --ht-colors-primary-500
JS: primary.500
Main primary accent
CSS: --ht-colors-primary-600
JS: primary.600
Dark primary accent
CSS: --ht-colors-palette-50
JS: palette.50
Lightest gray
CSS: --ht-colors-palette-100
JS: palette.100
Very light gray
CSS: --ht-colors-palette-200
JS: palette.200
Light gray
CSS: --ht-colors-palette-300
JS: palette.300
Medium-light gray
CSS: --ht-colors-palette-400
JS: palette.400
Medium gray
CSS: --ht-colors-palette-500
JS: palette.500
Medium-dark gray
CSS: --ht-colors-palette-600
JS: palette.600
Dark gray
CSS: --ht-colors-palette-700
JS: palette.700
Darker gray
CSS: --ht-colors-palette-800
JS: palette.800
Very dark gray
CSS: --ht-colors-palette-900
JS: palette.900
Near black
CSS: --ht-colors-palette-950
JS: palette.950
Darkest gray

Tokens Variables

Typography Variables

VariableDescription
CSS: --ht-font-family
JS: fontFamily
Font family for all text elements
CSS: --ht-font-size
JS: fontSize
Base font size for all text elements
CSS: --ht-font-size-small
JS: fontSizeSmall
Font size for smaller text
CSS: --ht-line-height
JS: lineHeight
Line height for text elements
CSS: --ht-line-height-small
JS: lineHeightSmall
Line height for smaller text
CSS: --ht-font-weight
JS: fontWeight
Font weight for text elements
CSS: --ht-letter-spacing
JS: letterSpacing
Letter spacing for text elements

Layout & Spacing Variables

VariableDescription
CSS: --ht-gap-size
JS: gapSize
Standard gap size used throughout the component
CSS: --ht-icon-size
JS: iconSize
Size of icons throughout the interface
CSS: --ht-table-transition
JS: tableTransition
Transition duration for table animations

Color System Variables

VariableDescription
CSS: --ht-border-color
JS: borderColor
Default border color for all elements
CSS: --ht-accent-color
JS: accentColor
Primary accent color used for highlights and active states
CSS: --ht-foreground-color
JS: foregroundColor
Primary text color
CSS: --ht-foreground-secondary-color
JS: foregroundSecondaryColor
Secondary text color
CSS: --ht-background-color
JS: backgroundColor
Primary background color
CSS: --ht-background-secondary-color
JS: backgroundSecondaryColor
Secondary background color
CSS: --ht-placeholder-color
JS: placeholderColor
Color for placeholder text
CSS: --ht-read-only-color
JS: readOnlyColor
Color for read-only text
CSS: --ht-disabled-color
JS: disabledColor
Color for disabled elements

Shadow Variables

VariableDescription
CSS: --ht-shadow-color
JS: shadowColor
Base color used for shadows
CSS: --ht-shadow-x
JS: shadowX
Horizontal offset of shadows
CSS: --ht-shadow-y
JS: shadowY
Vertical offset of shadows
CSS: --ht-shadow-blur
JS: shadowBlur
Blur radius of shadows
CSS: --ht-shadow-opacity
JS: shadowOpacity
Opacity of shadows

Bar Variables

VariableDescription
CSS: --ht-bar-foreground-color
JS: barForegroundColor
Foreground color of bar elements
CSS: --ht-bar-background-color
JS: barBackgroundColor
Background color of bar elements
CSS: --ht-bar-horizontal-padding
JS: barHorizontalPadding
Horizontal padding inside bar elements
CSS: --ht-bar-vertical-padding
JS: barVerticalPadding
Vertical padding inside bar elements

Cell Border Variables

VariableDescription
CSS: --ht-cell-horizontal-border-color
JS: cellHorizontalBorderColor
Color of horizontal cell borders
CSS: --ht-cell-vertical-border-color
JS: cellVerticalBorderColor
Color of vertical cell borders

Wrapper Variables

VariableDescription
CSS: --ht-wrapper-border-width
JS: wrapperBorderWidth
Width of the table wrapper border
CSS: --ht-wrapper-border-radius
JS: wrapperBorderRadius
Border radius of the table wrapper
CSS: --ht-wrapper-border-color
JS: wrapperBorderColor
Color of the table wrapper border

Row Styling Variables

VariableDescription
CSS: --ht-row-header-odd-background-color
JS: rowHeaderOddBackgroundColor
Background color for odd row headers
CSS: --ht-row-header-even-background-color
JS: rowHeaderEvenBackgroundColor
Background color for even row headers
CSS: --ht-row-cell-odd-background-color
JS: rowCellOddBackgroundColor
Background color for odd row cells
CSS: --ht-row-cell-even-background-color
JS: rowCellEvenBackgroundColor
Background color for even row cells

Cell Padding Variables

VariableDescription
CSS: --ht-cell-horizontal-padding
JS: cellHorizontalPadding
Horizontal padding inside cells
CSS: --ht-cell-vertical-padding
JS: cellVerticalPadding
Vertical padding inside cells

Cell Editor Variables

VariableDescription
CSS: --ht-cell-editor-border-width
JS: cellEditorBorderWidth
Border width of cell editors
CSS: --ht-cell-editor-border-color
JS: cellEditorBorderColor
Border color of cell editors
CSS: --ht-cell-editor-foreground-color
JS: cellEditorForegroundColor
Text color in cell editors
CSS: --ht-cell-editor-background-color
JS: cellEditorBackgroundColor
Background color of cell editors
CSS: --ht-cell-editor-shadow-blur-radius
JS: cellEditorShadowBlurRadius
Shadow blur radius for cell editors
CSS: --ht-cell-editor-shadow-color
JS: cellEditorShadowColor
Shadow color for cell editors

Cell State Variables

VariableDescription
CSS: --ht-cell-success-background-color
JS: cellSuccessBackgroundColor
Background color for successful cell operations
CSS: --ht-cell-error-background-color
JS: cellErrorBackgroundColor
Background color for error states in cells
CSS: --ht-cell-read-only-background-color
JS: cellReadOnlyBackgroundColor
Background color for read-only cells

Cell Selection Variables

VariableDescription
CSS: --ht-cell-selection-border-color
JS: cellSelectionBorderColor
Border color for selected cells
CSS: --ht-cell-selection-background-color
JS: cellSelectionBackgroundColor
Background color for selected cells

Cell Autofill Variables

VariableDescription
CSS: --ht-cell-autofill-size
JS: cellAutofillSize
Size of the autofill handle
CSS: --ht-cell-autofill-hit-area-size
JS: cellAutofillHitAreaSize
Size of the autofill hit area
CSS: --ht-cell-autofill-border-width
JS: cellAutofillBorderWidth
Border width of autofill elements
CSS: --ht-cell-autofill-border-radius
JS: cellAutofillBorderRadius
Border radius of autofill elements
CSS: --ht-cell-autofill-border-color
JS: cellAutofillBorderColor
Border color of autofill elements
CSS: --ht-cell-autofill-background-color
JS: cellAutofillBackgroundColor
Background color of autofill elements
CSS: --ht-cell-autofill-fill-border-color
JS: cellAutofillFillBorderColor
Border color of autofill fill indicator

Cell Mobile Handle Variables

VariableDescription
CSS: --ht-cell-mobile-handle-size
JS: cellMobileHandleSize
Size of mobile touch handles
CSS: --ht-cell-mobile-handle-border-width
JS: cellMobileHandleBorderWidth
Border width of mobile handles
CSS: --ht-cell-mobile-handle-border-radius
JS: cellMobileHandleBorderRadius
Border radius of mobile handles
CSS: --ht-cell-mobile-handle-border-color
JS: cellMobileHandleBorderColor
Border color of mobile handles
CSS: --ht-cell-mobile-handle-background-color
JS: cellMobileHandleBackgroundColor
Background color of mobile handles
CSS: --ht-cell-mobile-handle-background-opacity
JS: cellMobileHandleBackgroundOpacity
Background opacity of mobile handles

Indicator Variables

VariableDescription
CSS: --ht-resize-indicator-color
JS: resizeIndicatorColor
Color of resize indicators
CSS: --ht-move-backlight-color
JS: moveBacklightColor
Background color for move operations
CSS: --ht-move-backlight-opacity
JS: moveBacklightOpacity
Opacity of move backlight
CSS: --ht-move-indicator-color
JS: moveIndicatorColor
Color of move indicators
CSS: --ht-hidden-indicator-color
JS: hiddenIndicatorColor
Color of hidden element indicators

Scrollbar Variables

VariableDescription
CSS: --ht-scrollbar-border-radius
JS: scrollbarBorderRadius
Border radius of scrollbars
CSS: --ht-scrollbar-track-color
JS: scrollbarTrackColor
Background color of scrollbar tracks
CSS: --ht-scrollbar-thumb-color
JS: scrollbarThumbColor
Color of scrollbar thumbs

Header Variables

VariableDescription
CSS: --ht-header-font-weight
JS: headerFontWeight
Font weight for header text
CSS: --ht-header-foreground-color
JS: headerForegroundColor
Text color for headers
CSS: --ht-header-background-color
JS: headerBackgroundColor
Background color for headers
CSS: --ht-header-highlighted-shadow-size
JS: headerHighlightedShadowSize
Shadow size for highlighted headers
CSS: --ht-header-highlighted-foreground-color
JS: headerHighlightedForegroundColor
Text color for highlighted headers
CSS: --ht-header-highlighted-background-color
JS: headerHighlightedBackgroundColor
Background color for highlighted headers
CSS: --ht-header-active-border-color
JS: headerActiveBorderColor
Border color for active headers
CSS: --ht-header-active-foreground-color
JS: headerActiveForegroundColor
Text color for active headers
CSS: --ht-header-active-background-color
JS: headerActiveBackgroundColor
Background color for active headers
CSS: --ht-header-filter-background-color
JS: headerFilterBackgroundColor
Background color for header filters

Header Row Variables

VariableDescription
CSS: --ht-header-row-foreground-color
JS: headerRowForegroundColor
Text color for header rows
CSS: --ht-header-row-background-color
JS: headerRowBackgroundColor
Background color for header rows
CSS: --ht-header-row-highlighted-foreground-color
JS: headerRowHighlightedForegroundColor
Text color for highlighted header rows
CSS: --ht-header-row-highlighted-background-color
JS: headerRowHighlightedBackgroundColor
Background color for highlighted header rows
CSS: --ht-header-row-active-foreground-color
JS: headerRowActiveForegroundColor
Text color for active header rows
CSS: --ht-header-row-active-background-color
JS: headerRowActiveBackgroundColor
Background color for active header rows

Checkbox Variables

VariableDescription
CSS: --ht-checkbox-size
JS: checkboxSize
Size of checkbox elements
CSS: --ht-checkbox-border-radius
JS: checkboxBorderRadius
Border radius of checkboxes
CSS: --ht-checkbox-border-color
JS: checkboxBorderColor
Border color of checkboxes
CSS: --ht-checkbox-background-color
JS: checkboxBackgroundColor
Background color of checkboxes
CSS: --ht-checkbox-icon-color
JS: checkboxIconColor
Color of checkbox icons
CSS: --ht-checkbox-focus-border-color
JS: checkboxFocusBorderColor
Border color of focused checkboxes
CSS: --ht-checkbox-focus-background-color
JS: checkboxFocusBackgroundColor
Background color of focused checkboxes
CSS: --ht-checkbox-focus-icon-color
JS: checkboxFocusIconColor
Icon color of focused checkboxes
CSS: --ht-checkbox-focus-ring-color
JS: checkboxFocusRingColor
Focus ring color for checkboxes
CSS: --ht-checkbox-disabled-border-color
JS: checkboxDisabledBorderColor
Border color of disabled checkboxes
CSS: --ht-checkbox-disabled-background-color
JS: checkboxDisabledBackgroundColor
Background color of disabled checkboxes
CSS: --ht-checkbox-disabled-icon-color
JS: checkboxDisabledIconColor
Icon color of disabled checkboxes
CSS: --ht-checkbox-checked-border-color
JS: checkboxCheckedBorderColor
Border color of checked checkboxes
CSS: --ht-checkbox-checked-background-color
JS: checkboxCheckedBackgroundColor
Background color of checked checkboxes
CSS: --ht-checkbox-checked-icon-color
JS: checkboxCheckedIconColor
Icon color of checked checkboxes
CSS: --ht-checkbox-checked-focus-border-color
JS: checkboxCheckedFocusBorderColor
Border color of focused checked checkboxes
CSS: --ht-checkbox-checked-focus-background-color
JS: checkboxCheckedFocusBackgroundColor
Background color of focused checked checkboxes
CSS: --ht-checkbox-checked-focus-icon-color
JS: checkboxCheckedFocusIconColor
Icon color of focused checked checkboxes
CSS: --ht-checkbox-checked-disabled-border-color
JS: checkboxCheckedDisabledBorderColor
Border color of disabled checked checkboxes
CSS: --ht-checkbox-checked-disabled-background-color
JS: checkboxCheckedDisabledBackgroundColor
Background color of disabled checked checkboxes
CSS: --ht-checkbox-checked-disabled-icon-color
JS: checkboxCheckedDisabledIconColor
Icon color of disabled checked checkboxes
CSS: --ht-checkbox-indeterminate-border-color
JS: checkboxIndeterminateBorderColor
Border color of indeterminate checkboxes
CSS: --ht-checkbox-indeterminate-background-color
JS: checkboxIndeterminateBackgroundColor
Background color of indeterminate checkboxes
CSS: --ht-checkbox-indeterminate-icon-color
JS: checkboxIndeterminateIconColor
Icon color of indeterminate checkboxes
CSS: --ht-checkbox-indeterminate-focus-border-color
JS: checkboxIndeterminateFocusBorderColor
Border color of focused indeterminate checkboxes
CSS: --ht-checkbox-indeterminate-focus-background-color
JS: checkboxIndeterminateFocusBackgroundColor
Background color of focused indeterminate checkboxes
CSS: --ht-checkbox-indeterminate-focus-icon-color
JS: checkboxIndeterminateFocusIconColor
Icon color of focused indeterminate checkboxes
CSS: --ht-checkbox-indeterminate-disabled-border-color
JS: checkboxIndeterminateDisabledBorderColor
Border color of disabled indeterminate checkboxes
CSS: --ht-checkbox-indeterminate-disabled-background-color
JS: checkboxIndeterminateDisabledBackgroundColor
Background color of disabled indeterminate checkboxes
CSS: --ht-checkbox-indeterminate-disabled-icon-color
JS: checkboxIndeterminateDisabledIconColor
Icon color of disabled indeterminate checkboxes

Radio Button Variables

VariableDescription
CSS: --ht-radio-size
JS: radioSize
Size of radio button elements
CSS: --ht-radio-border-color
JS: radioBorderColor
Border color of radio buttons
CSS: --ht-radio-background-color
JS: radioBackgroundColor
Background color of radio buttons
CSS: --ht-radio-icon-color
JS: radioIconColor
Color of radio button icons
CSS: --ht-radio-focus-border-color
JS: radioFocusBorderColor
Border color of focused radio buttons
CSS: --ht-radio-focus-background-color
JS: radioFocusBackgroundColor
Background color of focused radio buttons
CSS: --ht-radio-focus-icon-color
JS: radioFocusIconColor
Icon color of focused radio buttons
CSS: --ht-radio-focus-ring-color
JS: radioFocusRingColor
Focus ring color for radio buttons
CSS: --ht-radio-disabled-border-color
JS: radioDisabledBorderColor
Border color of disabled radio buttons
CSS: --ht-radio-disabled-background-color
JS: radioDisabledBackgroundColor
Background color of disabled radio buttons
CSS: --ht-radio-disabled-icon-color
JS: radioDisabledIconColor
Icon color of disabled radio buttons
CSS: --ht-radio-checked-border-color
JS: radioCheckedBorderColor
Border color of checked radio buttons
CSS: --ht-radio-checked-background-color
JS: radioCheckedBackgroundColor
Background color of checked radio buttons
CSS: --ht-radio-checked-icon-color
JS: radioCheckedIconColor
Icon color of checked radio buttons
CSS: --ht-radio-checked-focus-border-color
JS: radioCheckedFocusBorderColor
Border color of focused checked radio buttons
CSS: --ht-radio-checked-focus-background-color
JS: radioCheckedFocusBackgroundColor
Background color of focused checked radio buttons
CSS: --ht-radio-checked-focus-icon-color
JS: radioCheckedFocusIconColor
Icon color of focused checked radio buttons
CSS: --ht-radio-checked-disabled-border-color
JS: radioCheckedDisabledBorderColor
Border color of disabled checked radio buttons
CSS: --ht-radio-checked-disabled-background-color
JS: radioCheckedDisabledBackgroundColor
Background color of disabled checked radio buttons
CSS: --ht-radio-checked-disabled-icon-color
JS: radioCheckedDisabledIconColor
Icon color of disabled checked radio buttons

Icon Button Variables

VariableDescription
CSS: --ht-icon-button-border-radius
JS: iconButtonBorderRadius
Border radius of icon buttons
CSS: --ht-icon-button-large-border-radius
JS: iconButtonLargeBorderRadius
Border radius of large icon buttons
CSS: --ht-icon-button-large-padding
JS: iconButtonLargePadding
Padding of large icon buttons
CSS: --ht-icon-button-border-color
JS: iconButtonBorderColor
Border color of icon buttons
CSS: --ht-icon-button-background-color
JS: iconButtonBackgroundColor
Background color of icon buttons
CSS: --ht-icon-button-icon-color
JS: iconButtonIconColor
Color of icon button icons
CSS: --ht-icon-button-hover-border-color
JS: iconButtonHoverBorderColor
Border color of hovered icon buttons
CSS: --ht-icon-button-hover-background-color
JS: iconButtonHoverBackgroundColor
Background color of hovered icon buttons
CSS: --ht-icon-button-hover-icon-color
JS: iconButtonHoverIconColor
Icon color of hovered icon buttons
CSS: --ht-icon-button-active-border-color
JS: iconButtonActiveBorderColor
Border color of active icon buttons
CSS: --ht-icon-button-active-background-color
JS: iconButtonActiveBackgroundColor
Background color of active icon buttons
CSS: --ht-icon-button-active-icon-color
JS: iconButtonActiveIconColor
Icon color of active icon buttons
CSS: --ht-icon-button-active-hover-border-color
JS: iconButtonActiveHoverBorderColor
Border color of hovered active icon buttons
CSS: --ht-icon-button-active-hover-background-color
JS: iconButtonActiveHoverBackgroundColor
Background color of hovered active icon buttons
CSS: --ht-icon-button-active-hover-icon-color
JS: iconButtonActiveHoverIconColor
Icon color of hovered active icon buttons
CSS: --ht-icon-button-hit-area-size
JS: iconButtonHitAreaSize
Hit area size of icon buttons

Collapse Button Variables

VariableDescription
CSS: --ht-collapse-button-border-radius
JS: collapseButtonBorderRadius
Border radius of collapse buttons
CSS: --ht-collapse-button-open-border-color
JS: collapseButtonOpenBorderColor
Border color of open collapse buttons
CSS: --ht-collapse-button-open-background-color
JS: collapseButtonOpenBackgroundColor
Background color of open collapse buttons
CSS: --ht-collapse-button-open-icon-color
JS: collapseButtonOpenIconColor
Icon color of open collapse buttons
CSS: --ht-collapse-button-open-icon-active-color
JS: collapseButtonOpenIconActiveColor
Active icon color of open collapse buttons
CSS: --ht-collapse-button-open-hover-border-color
JS: collapseButtonOpenHoverBorderColor
Border color of hovered open collapse buttons
CSS: --ht-collapse-button-open-hover-background-color
JS: collapseButtonOpenHoverBackgroundColor
Background color of hovered open collapse buttons
CSS: --ht-collapse-button-open-hover-icon-color
JS: collapseButtonOpenHoverIconColor
Icon color of hovered open collapse buttons
CSS: --ht-collapse-button-open-hover-icon-active-color
JS: collapseButtonOpenHoverIconActiveColor
Active icon color of hovered open collapse buttons
CSS: --ht-collapse-button-close-border-color
JS: collapseButtonCloseBorderColor
Border color of closed collapse buttons
CSS: --ht-collapse-button-close-background-color
JS: collapseButtonCloseBackgroundColor
Background color of closed collapse buttons
CSS: --ht-collapse-button-close-icon-color
JS: collapseButtonCloseIconColor
Icon color of closed collapse buttons
CSS: --ht-collapse-button-close-icon-active-color
JS: collapseButtonCloseIconActiveColor
Active icon color of closed collapse buttons
CSS: --ht-collapse-button-close-hover-border-color
JS: collapseButtonCloseHoverBorderColor
Border color of hovered closed collapse buttons
CSS: --ht-collapse-button-close-hover-background-color
JS: collapseButtonCloseHoverBackgroundColor
Background color of hovered closed collapse buttons
CSS: --ht-collapse-button-close-hover-icon-color
JS: collapseButtonCloseHoverIconColor
Icon color of hovered closed collapse buttons
CSS: --ht-collapse-button-close-hover-icon-active-color
JS: collapseButtonCloseHoverIconActiveColor
Active icon color of hovered closed collapse buttons

Button Variables

VariableDescription
CSS: --ht-button-border-radius
JS: buttonBorderRadius
Border radius of buttons
CSS: --ht-button-horizontal-padding
JS: buttonHorizontalPadding
Horizontal padding of buttons
CSS: --ht-button-vertical-padding
JS: buttonVerticalPadding
Vertical padding of buttons

Primary Button Variables

VariableDescription
CSS: --ht-primary-button-border-color
JS: primaryButtonBorderColor
Border color of primary buttons
CSS: --ht-primary-button-foreground-color
JS: primaryButtonForegroundColor
Text color of primary buttons
CSS: --ht-primary-button-background-color
JS: primaryButtonBackgroundColor
Background color of primary buttons
CSS: --ht-primary-button-disabled-border-color
JS: primaryButtonDisabledBorderColor
Border color of disabled primary buttons
CSS: --ht-primary-button-disabled-foreground-color
JS: primaryButtonDisabledForegroundColor
Text color of disabled primary buttons
CSS: --ht-primary-button-disabled-background-color
JS: primaryButtonDisabledBackgroundColor
Background color of disabled primary buttons
CSS: --ht-primary-button-hover-border-color
JS: primaryButtonHoverBorderColor
Border color of hovered primary buttons
CSS: --ht-primary-button-hover-foreground-color
JS: primaryButtonHoverForegroundColor
Text color of hovered primary buttons
CSS: --ht-primary-button-hover-background-color
JS: primaryButtonHoverBackgroundColor
Background color of hovered primary buttons
CSS: --ht-primary-button-focus-border-color
JS: primaryButtonFocusBorderColor
Border color of focused primary buttons
CSS: --ht-primary-button-focus-foreground-color
JS: primaryButtonFocusForegroundColor
Text color of focused primary buttons
CSS: --ht-primary-button-focus-background-color
JS: primaryButtonFocusBackgroundColor
Background color of focused primary buttons

Secondary Button Variables

VariableDescription
CSS: --ht-secondary-button-border-color
JS: secondaryButtonBorderColor
Border color of secondary buttons
CSS: --ht-secondary-button-foreground-color
JS: secondaryButtonForegroundColor
Text color of secondary buttons
CSS: --ht-secondary-button-background-color
JS: secondaryButtonBackgroundColor
Background color of secondary buttons
CSS: --ht-secondary-button-disabled-border-color
JS: secondaryButtonDisabledBorderColor
Border color of disabled secondary buttons
CSS: --ht-secondary-button-disabled-foreground-color
JS: secondaryButtonDisabledForegroundColor
Text color of disabled secondary buttons
CSS: --ht-secondary-button-disabled-background-color
JS: secondaryButtonDisabledBackgroundColor
Background color of disabled secondary buttons
CSS: --ht-secondary-button-hover-border-color
JS: secondaryButtonHoverBorderColor
Border color of hovered secondary buttons
CSS: --ht-secondary-button-hover-foreground-color
JS: secondaryButtonHoverForegroundColor
Text color of hovered secondary buttons
CSS: --ht-secondary-button-hover-background-color
JS: secondaryButtonHoverBackgroundColor
Background color of hovered secondary buttons
CSS: --ht-secondary-button-focus-border-color
JS: secondaryButtonFocusBorderColor
Border color of focused secondary buttons
CSS: --ht-secondary-button-focus-foreground-color
JS: secondaryButtonFocusForegroundColor
Text color of focused secondary buttons
CSS: --ht-secondary-button-focus-background-color
JS: secondaryButtonFocusBackgroundColor
Background color of focused secondary buttons

Chip Variables

VariableDescription
CSS: --ht-chip-background
JS: chipBackground
Background color of chip elements
CSS: --ht-chip-border-radius
JS: chipBorderRadius
Border radius of chip elements
CSS: --ht-chip-vertical-padding
JS: chipVerticalPadding
Vertical padding of chip elements
CSS: --ht-chip-horizontal-padding
JS: chipHorizontalPadding
Horizontal padding of chip elements
CSS: --ht-chip-gap
JS: chipGap
Gap between chip elements

Comments Variables

VariableDescription
CSS: --ht-comments-textarea-horizontal-padding
JS: commentsTextareaHorizontalPadding
Horizontal padding of comment textareas
CSS: --ht-comments-textarea-vertical-padding
JS: commentsTextareaVerticalPadding
Vertical padding of comment textareas
CSS: --ht-comments-textarea-border-width
JS: commentsTextareaBorderWidth
Border width of comment textareas
CSS: --ht-comments-textarea-border-color
JS: commentsTextareaBorderColor
Border color of comment textareas
CSS: --ht-comments-textarea-foreground-color
JS: commentsTextareaForegroundColor
Text color of comment textareas
CSS: --ht-comments-textarea-background-color
JS: commentsTextareaBackgroundColor
Background color of comment textareas
CSS: --ht-comments-textarea-focus-border-width
JS: commentsTextareaFocusBorderWidth
Border width of focused comment textareas
CSS: --ht-comments-textarea-focus-border-color
JS: commentsTextareaFocusBorderColor
Border color of focused comment textareas
CSS: --ht-comments-textarea-focus-foreground-color
JS: commentsTextareaFocusForegroundColor
Text color of focused comment textareas
CSS: --ht-comments-textarea-focus-background-color
JS: commentsTextareaFocusBackgroundColor
Background color of focused comment textareas
CSS: --ht-comments-indicator-size
JS: commentsIndicatorSize
Size of comment indicators
CSS: --ht-comments-indicator-color
JS: commentsIndicatorColor
Color of comment indicators

License Variables

VariableDescription
CSS: --ht-license-horizontal-padding
JS: licenseHorizontalPadding
Horizontal padding of license elements
CSS: --ht-license-vertical-padding
JS: licenseVerticalPadding
Vertical padding of license elements
CSS: --ht-license-foreground-color
JS: licenseForegroundColor
Text color of license elements
CSS: --ht-license-background-color
JS: licenseBackgroundColor
Background color of license elements
VariableDescription
CSS: --ht-link-color
JS: linkColor
Color of links
CSS: --ht-link-hover-color
JS: linkHoverColor
Color of hovered links

Input Variables

VariableDescription
CSS: --ht-input-border-width
JS: inputBorderWidth
Border width of input elements
CSS: --ht-input-border-radius
JS: inputBorderRadius
Border radius of input elements
CSS: --ht-input-horizontal-padding
JS: inputHorizontalPadding
Horizontal padding of input elements
CSS: --ht-input-vertical-padding
JS: inputVerticalPadding
Vertical padding of input elements
CSS: --ht-input-border-color
JS: inputBorderColor
Border color of input elements
CSS: --ht-input-foreground-color
JS: inputForegroundColor
Text color of input elements
CSS: --ht-input-background-color
JS: inputBackgroundColor
Background color of input elements
CSS: --ht-input-hover-border-color
JS: inputHoverBorderColor
Border color of hovered input elements
CSS: --ht-input-hover-foreground-color
JS: inputHoverForegroundColor
Text color of hovered input elements
CSS: --ht-input-hover-background-color
JS: inputHoverBackgroundColor
Background color of hovered input elements
CSS: --ht-input-disabled-border-color
JS: inputDisabledBorderColor
Border color of disabled input elements
CSS: --ht-input-disabled-foreground-color
JS: inputDisabledForegroundColor
Text color of disabled input elements
CSS: --ht-input-disabled-background-color
JS: inputDisabledBackgroundColor
Background color of disabled input elements
CSS: --ht-input-focus-border-color
JS: inputFocusBorderColor
Border color of focused input elements
CSS: --ht-input-focus-foreground-color
JS: inputFocusForegroundColor
Text color of focused input elements
CSS: --ht-input-focus-background-color
JS: inputFocusBackgroundColor
Background color of focused input elements
VariableDescription
CSS: --ht-menu-border-width
JS: menuBorderWidth
Border width of menu elements
CSS: --ht-menu-border-radius
JS: menuBorderRadius
Border radius of menu elements
CSS: --ht-menu-horizontal-padding
JS: menuHorizontalPadding
Horizontal padding of menu elements
CSS: --ht-menu-vertical-padding
JS: menuVerticalPadding
Vertical padding of menu elements
CSS: --ht-menu-item-horizontal-padding
JS: menuItemHorizontalPadding
Horizontal padding of menu items
CSS: --ht-menu-item-vertical-padding
JS: menuItemVerticalPadding
Vertical padding of menu items
CSS: --ht-menu-border-color
JS: menuBorderColor
Border color of menu elements
CSS: --ht-menu-shadow-x
JS: menuShadowX
Horizontal shadow offset of menus
CSS: --ht-menu-shadow-y
JS: menuShadowY
Vertical shadow offset of menus
CSS: --ht-menu-shadow-blur
JS: menuShadowBlur
Shadow blur radius of menus
CSS: --ht-menu-shadow-color
JS: menuShadowColor
Shadow color of menus
CSS: --ht-menu-shadow-opacity
JS: menuShadowOpacity
Shadow opacity of menus
CSS: --ht-menu-item-hover-color
JS: menuItemHoverColor
Background color of hovered menu items
CSS: --ht-menu-item-hover-color-opacity
JS: menuItemHoverColorOpacity
Opacity of hovered menu item background
CSS: --ht-menu-item-active-color
JS: menuItemActiveColor
Background color of active menu items
CSS: --ht-menu-item-active-color-opacity
JS: menuItemActiveColorOpacity
Opacity of active menu item background

Dialog Variables

VariableDescription
CSS: --ht-dialog-semi-transparent-background-color
JS: dialogSemiTransparentBackgroundColor
Semi-transparent background color of dialog overlay
CSS: --ht-dialog-semi-transparent-background-opacity
JS: dialogSemiTransparentBackgroundOpacity
Opacity of semi-transparent dialog background
CSS: --ht-dialog-solid-background-color
JS: dialogSolidBackgroundColor
Solid background color of dialog overlay
CSS: --ht-dialog-content-padding-horizontal
JS: dialogContentPaddingHorizontal
Horizontal padding of dialog content
CSS: --ht-dialog-content-padding-vertical
JS: dialogContentPaddingVertical
Vertical padding of dialog content
CSS: --ht-dialog-content-border-radius
JS: dialogContentBorderRadius
Border radius of dialog content
CSS: --ht-dialog-content-background-color
JS: dialogContentBackgroundColor
Background color of dialog content

Pagination Variables

VariableDescription
CSS: --ht-pagination-bar-foreground-color
JS: paginationBarForegroundColor
Text color of pagination bar
CSS: --ht-pagination-bar-background-color
JS: paginationBarBackgroundColor
Background color of pagination bar
CSS: --ht-pagination-bar-horizontal-padding
JS: paginationBarHorizontalPadding
Horizontal padding of pagination bar
CSS: --ht-pagination-bar-vertical-padding
JS: paginationBarVerticalPadding
Vertical padding of pagination bar