class Lookbook::Theme
def self.valid_theme?(name)
def self.valid_theme?(name) BASE_THEMES.key? name.to_sym end
def favicon_dark_mode
def favicon_dark_mode ( @overrides[:favicon_dark_mode].presence || @overrides[:favicon].presence || BASE_THEMES[@base_theme.to_sym][:favicon_dark_mode] ) end
def favicon_light_mode
def favicon_light_mode ( @overrides[:favicon_light_mode].presence || @overrides[:favicon].presence || BASE_THEMES[@base_theme.to_sym][:favicon_light_mode] ) end
def initialize(base_theme, overrides = {})
def initialize(base_theme, overrides = {}) @base_theme = base_theme @overrides = overrides @css = nil end
def to_css
def to_css return @css unless @css.nil? @css ||= if @overrides.present? styles = [":root {"] styles << @overrides.reject { |key| key.to_s.start_with?("favicon") }.map do |key, value| " --lookbook-#{key.to_s.underscore.tr("_", "-")}: #{value};" end styles.push "}" styles.join("\n") else "" end end