Sha256: 4db5d0fbbbe3960c517a6e069e9c128f9fd2cbf46bc66311c0b28341b64cc15e

Contents?: true

Size: 719 Bytes

Versions: 28

Compression:

Stored size: 719 Bytes

Contents

module Lookbook
  class Embed::Component < Lookbook::BaseComponent
    ACTIONS = [:inspect, :open]

    attr_reader :preview, :scenario, :params, :options

    def initialize(scenario:, params: {}, options: {}, **html_attrs)
      @scenario = scenario
      @preview = scenario.preview
      @params = params.to_h
      @options = options.to_h
      super(**html_attrs)
    end

    def preview_class
      preview.preview_class.name
    end

    def panels
      options.fetch(:panels, []).map(&:to_s)
    end

    def actions
      options.fetch(:actions, ACTIONS).map(&:to_s)
    end

    def params_attrs_str
      params.map { |key, value| "param-#{key}=\"#{value}\"" }.join(" ").strip.html_safe
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
lookbook-2.3.4 app/components/lookbook/embed/component.rb
lookbook-2.3.3 app/components/lookbook/embed/component.rb
lookbook-2.3.2 app/components/lookbook/embed/component.rb
lookbook-2.3.0 app/components/lookbook/embed/component.rb
lookbook-2.2.2 app/components/lookbook/embed/component.rb
lookbook-2.2.1 app/components/lookbook/embed/component.rb
lookbook-2.2.0 app/components/lookbook/embed/component.rb
lookbook-2.1.1 app/components/lookbook/embed/component.rb
lookbook-2.1.0 app/components/lookbook/embed/component.rb
lookbook-2.0.5 app/components/lookbook/embed/component.rb
lookbook-2.0.4 app/components/lookbook/embed/component.rb
lookbook-2.0.3 app/components/lookbook/embed/component.rb
lookbook-2.0.2 app/components/lookbook/embed/component.rb
lookbook-2.0.1 app/components/lookbook/embed/component.rb
lookbook-2.0.0 app/components/lookbook/embed/component.rb
lookbook-2.0.0.rc.3 app/components/lookbook/embed/component.rb
lookbook-2.0.0.rc.2 app/components/lookbook/embed/component.rb
lookbook-2.0.0.rc.1 app/components/lookbook/embed/component.rb
lookbook-2.0.0.beta.9 app/components/lookbook/embed/component.rb
lookbook-2.0.0.beta.8 app/components/lookbook/embed/component.rb