build_replacement_blankslate

in lib/primer/view_components/linters/blankslate_api_migration.rb [96:133]


      def build_replacement_blankslate(kwargs, indent)
        data = build_blankslate_arguments(kwargs)
        component_args = args_to_s(data[:arguments])

        
        return if data[:slots][:heading][:content].nil?
        
        return if data[:slots][:visual_icon].present? && data[:slots][:visual_image].present?

        slots = data[:slots].map do |slot, slot_data|
          next if slot_data.empty?

          slot_args = args_to_s(slot_data.except(:content))
          content = slot_data[:content]

          if content
            <<~HTML.indent(2)
              <% c.
                
              <% end %>
            HTML
          else
            <<~HTML.indent(2)
              <% c.
            HTML
          end
        end.compact.join("\n").chomp

        
        body = <<~HTML.indent(indent).chomp
          
          <% end %>
        HTML

        
        "<%= render Primer::Beta::Blankslate.new#{component_args} do |c| %>\n#{body}"
      end