class Lookbook::Embed::Inspector::Component

def alpine_component

def alpine_component
  "embedInspectorComponent"
end

def alpine_data

def alpine_data
  [alpine_encode(id), "$store.pages.embeds"].join(",")
end

def data

def data
  context.fetch(:data, Store.new)
end

def display_action?(name)

def display_action?(name)
  actions.include?(name)
end

def display_option_controls?

def display_option_controls?
  options.fetch(:display_option_controls, true)
end

def drawer?

def drawer?
  panels.any?
end

def dynamic_display_options

def dynamic_display_options
  context.fetch(:dynamic_display_options, {}).to_h
end

def id

def id
  Utils.id(
    "embed-inspector",
    "#{scenarios.map(&:name).join}#{options.to_json}#{actions.to_json}#{panels.to_json}".hash
  )
end

def initialize(target:, context: nil, options: nil, scenarios: nil, panels: nil, actions: nil, **html_attrs)

def initialize(target:, context: nil, options: nil, scenarios: nil, panels: nil, actions: nil, **html_attrs)
  @target = target
  @context = context.to_h
  @options = options.to_h
  @panels = Array(panels)
  @actions = Array(actions).map(&:to_sym)
  @scenarios = Array(scenarios)
  super(**html_attrs)
end

def params

def params
  context.fetch(:params, {}).to_h
end

def scenario_select_options

def scenario_select_options
  scenarios.map { |scenario| [scenario.label, helpers.lookbook_embed_path(scenario.path)] }
end

def static_display_options

def static_display_options
  context.fetch(:static_display_options, {}).to_h
end