@@ -8,7 +8,12 @@ module Blacklight
       # @param [Array<String>] options explicit spellcheck options to render
       def initialize(response:, options: nil)
         @response = response
-        @options = options || @response&.spelling&.words
+        @options = options
+        if @response&.spelling&.collation
+          @options = [@response.spelling.collation]
+        elsif @response&.spelling&.words
+          @options = response.spelling.words
+        end
       end
 
       def link_to_query(query)
# frozen_string_literal: true

module Blacklight
  module Response
    # Render spellcheck results for a search query
    class SpellcheckComponent < ViewComponent::Base
      # @param [Blacklight::Response] response
      # @param [Array<String>] options explicit spellcheck options to render
      def initialize(response:, options: nil)
        @response = response
        @options = options || @response&.spelling&.words
      end

      def link_to_query(query)
        Deprecation.silence(Blacklight::UrlHelperBehavior) do
          @view_context.link_to_query(query)
        end
      end

      def render?
        Deprecation.silence(Blacklight::BlacklightHelperBehavior) do
          @options.any? && @view_context.should_show_spellcheck_suggestions?(@response)
        end
      end
    end
  end
end

There's a change in behavior here that I don't think is intentional: Prior to the PR, a passed options param will always provide the value of `@options`; here, either form of spelling suggestion will override it. Was this intentional?