> For the complete documentation index, see [llms.txt](https://docs-uikit.gitbook.io/ui-kit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-uikit.gitbook.io/ui-kit/api-references/theme.md).

# Theme

A class inheriting the Theme class is created inside all components. The references of the Theme class are as follows:

```lua
local Element = Element:new()

element.theme:getColor(key)
element.theme:getProperty(key)
element.theme:setColor(key, value)
element.theme:setProperty(key, value)

element.theme:ch(name, shade, alpha): { r = 25, g = 25, b = 25, a = 155 } -- GRAY, 900, 0.6
element.theme:c(name, shade, alpha): Color element from tocolor -- GRAY, 900, 0.5
element.theme:combine(name, shade, alpha): { element = Color element, original = { r, g, b, a } }
```

This is how you can customize the individual buttons or elements you create.

{% hint style="warning" %}
We are working on a general theme customization!

You can still override all element types in this way. (or you can with Adapter method)
{% endhint %}

```lua
local customButtonTheme = ButtonTheme:new()
customButtonTheme:setProperty('borderRadius', 0)

local someButton = Button:new()
someButton.theme = customButtonTheme
someButton:doPulse()
```
