Styles - set of functions and parameters for components to customize their behavior.
Styles is a table, where key is name of component, and value is style table for this component.
In component API documentation, you can find the style API for this component. Or just lookup for existing styles and modify them.
Setup default druid style for all druid instances via druid.set_default_style
You can pass nil or empty_table to use default values for all components (no styles)
local druid = require("druid.druid")
local my_style = require("my.amazing.style")
local function init(self)
druid.set_default_style(my_style)
end
Setup custom style to specific druid instance:
local druid = require("druid.druid")
local my_style = require("my.amazing.style")
local function init(self)
-- This druid instance will be use my_style as default
self.druid = druid.new(self, my_style)
end
Change component style with set_style function
local druid = require("druid.druid")
local my_style = require("my.amazing.style")
local function init(self)
self.druid = druid.new(self)
self.button = self.druid:new_button("node", function() end)
-- Setup custom style for specific component
self.button:set_style(my_style)
end
The most components have their styles. You can explore it on Druid API in table style section (button example). Or you can see, what fields component uses in code in function on_style_change
To create you style, create lua module, what return <component_name, component_style> table
Example: default druid style
Override all fields you want and set your style with one of next ways:
- Set your style as global via
druid.set_default_style
- Set style for concrete druid instance via
druid = druid.new(self, style)
- Set style for concrete instance via
component:set_style(style)