Cinder.Theme.DslModule (Cinder v0.8.1)
View SourceSimplified DSL module for creating custom Cinder themes.
This module provides the use Cinder.Theme functionality that allows
users to define custom themes using a simple macro-based DSL.
Usage
defmodule MyApp.CustomTheme do
use Cinder.Theme
component Cinder.Components.Table do
set :container_class, "my-custom-table-container"
set :row_class, "my-custom-row hover:bg-blue-50"
end
component Cinder.Components.Filters do
set :container_class, "my-filter-container"
set :text_input_class, "my-text-input"
end
endTheme Inheritance
You can extend built-in theme presets:
defmodule MyApp.DarkTheme do
use Cinder.Theme
extends :modern
component Cinder.Components.Table do
set :container_class, "bg-gray-900 text-white"
set :row_class, "border-gray-700 hover:bg-gray-800"
end
endOr extend your own custom themes:
defmodule MyApp.BaseTheme do
use Cinder.Theme
component Cinder.Components.Table do
set :container_class, "my-base-container"
set :row_class, "my-base-row"
end
end
defmodule MyApp.SpecializedTheme do
use Cinder.Theme
extends MyApp.BaseTheme
component Cinder.Components.Table do
set :container_class, "my-specialized-container"
# Inherits :row_class from BaseTheme
end
endNote: When extending custom themes, make sure the base theme module is compiled before the extending theme. In Phoenix applications, define your base themes before themes that extend them, or place them in separate files with appropriate compilation order.
Summary
Functions
Before compile callback to generate the theme configuration function.
Macro for defining component customizations.
Macro for extending from another theme.
Resolves a base theme at compile time.
Resolves a theme module's DSL configuration into a theme map.
Macro for setting theme properties within an override block.
Validates that all overrides in a theme module are valid.
Functions
Before compile callback to generate the theme configuration function.
Macro for defining component customizations.
Macro for extending from another theme.
Resolves a base theme at compile time.
Resolves a theme module's DSL configuration into a theme map.
Macro for setting theme properties within an override block.
Validates that all overrides in a theme module are valid.