module Lookbook::PageHelper

def embed(preview, scenario = nil, **opts)

Parameters:
  • opts (Hash) -- Options hash
  • scenario (String) -- Example method name
  • preview (String) -- Name of the preview class to embed
def embed(preview, scenario = nil, **opts)
  preview_entity = if preview.is_a?(Symbol)
    Engine.previews.find_by_path(preview)
  else
    Engine.previews.find_by_preview_class(preview)
  end
  scenario_entity = scenario ? preview_entity&.scenario(scenario) : preview_entity&.default_scenario
  opts[:actions] ||= ["inspect", "open"]
  lookbook_render Embed::Component.new(
    scenario: scenario_entity,
    params: opts.fetch(:params, {}),
    options: opts.except(:params)
  )
end