in lib/primer/view_components/linters/blankslate_api_migration.rb [43:95]
def build_blankslate_arguments(kwargs)
new_blankslate = {
arguments: {},
slots: {
visual_icon: {},
visual_image: {},
heading: {
tag: ":h2"
},
description: {},
primary_action: {},
secondary_action: {}
}
}
kwargs&.pairs&.each do |pair|
source_value = pair.value.source
case pair.key.value.to_sym
when :title
new_blankslate[:slots][:heading][:content] = extract_value(pair.value)
when :title_tag
new_blankslate[:slots][:heading][:tag] = source_value
when :icon
new_blankslate[:slots][:visual_icon][:icon] = source_value
when :icon_size
new_blankslate[:slots][:visual_icon][:size] = source_value
when :image_src
new_blankslate[:slots][:visual_image][:src] = source_value
when :image_alt
new_blankslate[:slots][:visual_image][:alt] = source_value
when :description
new_blankslate[:slots][:description][:content] = extract_value(pair.value)
when :button_text
new_blankslate[:slots][:primary_action][:content] = extract_value(pair.value)
when :button_url
new_blankslate[:slots][:primary_action][:href] = source_value
when :button_classes
new_blankslate[:slots][:primary_action][:classes] = source_value
when :link_text
new_blankslate[:slots][:secondary_action][:content] = extract_value(pair.value)
when :link_url
new_blankslate[:slots][:secondary_action][:href] = source_value
when :large
next
else
new_blankslate[:arguments][pair.key.source] = source_value
end
end
new_blankslate
end