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

Version Path
coveragebook_components-0.12.2 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.12.1 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.12.0 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.11.0 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.10.1.beta.2 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.10.1.beta.1 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.10.1.beta.0 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.10.0 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.9.1 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.9.0 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.9 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.8 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.7 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.6 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.5 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.4 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.3 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.2 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.1 app/components/coco/app/elements/color_picker/color_picker.rb
coveragebook_components-0.8.0 app/components/coco/app/elements/color_picker/color_picker.rb