module Primer::Accessibility

def axe_rules_to_skip(component: nil, scenario_name: nil, flatten: false)

def axe_rules_to_skip(component: nil, scenario_name: nil, flatten: false)
  to_skip = {
    wont_fix: Set.new(AXE_RULES_TO_SKIP.dig(:wont_fix, :global) || []),
    will_fix: Set.new(AXE_RULES_TO_SKIP.dig(:will_fix, :global) || [])
  }
  if component
    to_skip[:wont_fix].merge(AXE_RULES_TO_SKIP.dig(:wont_fix, :per_component, component, :all_scenarios) || [])
    to_skip[:will_fix].merge(AXE_RULES_TO_SKIP.dig(:will_fix, :per_component, component, :all_scenarios) || [])
    if scenario_name
      to_skip[:wont_fix].merge(AXE_RULES_TO_SKIP.dig(:wont_fix, :per_component, component, scenario_name) || [])
      to_skip[:will_fix].merge(AXE_RULES_TO_SKIP.dig(:will_fix, :per_component, component, scenario_name) || [])
    end
  end
  if flatten
    flattened = to_skip.each_with_object(Set.new) do |(_, rule_set), memo|
      memo.merge(rule_set)
    end
    return flattened.to_a
  end
  to_skip.transform_values(&:to_a)
end

def ignore_preview?(preview_class)

def ignore_preview?(preview_class)
  IGNORED_PREVIEWS.include?(preview_class)
end