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
# Table
set :container_class, "my-custom-table-container"
set :row_class, "my-custom-row hover:bg-blue-50"
# Filters
set :filter_container_class, "my-filter-container"
set :filter_text_input_class, "my-text-input"
endTheme Inheritance
You can extend built-in theme presets:
defmodule MyApp.DarkTheme do
use Cinder.Theme
extends :modern
# Override just what you need
set :container_class, "bg-gray-900 text-white"
set :row_class, "border-gray-700 hover:bg-gray-800"
endOr extend your own custom themes:
defmodule MyApp.BaseTheme do
use Cinder.Theme
set :container_class, "my-base-container"
set :row_class, "my-base-row"
end
defmodule MyApp.SpecializedTheme do
use Cinder.Theme
extends MyApp.BaseTheme
# Override container, inherit row_class from BaseTheme
set :container_class, "my-specialized-container"
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.
Deprecated: component grouping is no longer needed.
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 a theme property.
Validates that all overrides in a theme module are valid.
Functions
Before compile callback to generate the theme configuration function.
Deprecated: component grouping is no longer needed.
This macro is kept for backwards compatibility but does nothing.
Run mix cinder.upgrade to update your themes to the new flat syntax.
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 a theme property.
Validates that all overrides in a theme module are valid.