Sha256: 314726537c32f7da0ea77fac236953f6d90facd830f3753a2122e5a32663988f
Contents?: true
Size: 1.22 KB
Versions: 23
Compression:
Stored size: 1.22 KB
Contents
module Coco module App module Elements class ColorPicker < Coco::Component include Concerns::AcceptsOptions include Coco::AppHelper DEFAULT_SWATCHES = [ {color: "#111827"}, {color: "#F3F4F6"}, {color: "#FFFFFF"}, {color: "#FEC878"}, {color: "#FC5C0E"}, {color: "#D50201"}, {color: "#1A8871"}, {color: "#C1DAA9"}, {color: "#F5EEE6"}, {color: "#91C7E1"}, {color: "#0164FF"}, {color: "#3A2D86"} ] accepts_option :size, from: [:xs, :sm, :md, nil], default: :sm before_render do content unless content_evaluated? if @swatches.empty? @swatches = DEFAULT_SWATCHES end args[:resize]&.each { set_tag_data_attr("size-#{_1}", _2) } end renders_many :swatches, ->(color, name = nil) do @swatches << {name: name, color: color} end attr_reader :selected def initialize(selected: "FFFFFF", **kwargs) @selected = selected @swatches = [] end def color_swatches @swatches end end end end end
Version data entries
23 entries across 23 versions & 1 rubygems