module Ariadne::Static::GeneratePreviews
def call
def call Lookbook.previews.filter_map do |preview| next if preview.preview_class == Ariadne::FormsPreview next if Ariadne::Accessibility.ignore_preview?(preview.preview_class) class_name, _ = Ariadne::Yard::DocsHelper.component_and_short_name(preview.preview_class) { type: preview.lookup_path.split("/")[1], # e.g. preview.lookup_path => "ariadne/ui/badge" name: preview.name, component: class_name, lookup_path: preview.lookup_path, examples: preview.scenarios.flat_map do |parent_scenario| scenarios = parent_scenario.type == :scenario_group ? parent_scenario.scenarios : [parent_scenario] scenarios.map do |scenario| snapshot_tag = scenario.tags.find { |tag| tag.tag_name == "snapshot" } snapshot = if snapshot_tag.nil? "false" elsif snapshot_tag.text.blank? "true" else snapshot_tag.text end { preview_path: scenario.lookup_path, name: scenario.name, snapshot: snapshot, skip_rules: Ariadne::Accessibility.axe_rules_to_skip( component: class_name, scenario_name: scenario.name, ), } end end, } end end