lib/lookbook/theme.rb
module Lookbook class Theme BASE_THEMES = [:indigo, :zinc, :blue] def initialize(config = {}) @config = config @css = nil end def to_css return @css unless @css.nil? @css ||= if @config.present? styles = [":root {"] styles << @config.map do |key, value| " --lookbook-#{key.to_s.underscore.gsub("_","-")}: #{value};" end styles.push "}" styles.join("\n") else "" end end def self.valid_theme?(name) BASE_THEMES.include? name.to_sym end end end