module ViewComponent::PolymorphicSlots

def self.included(base)

Module#prepend and class methods.
In older rails versions, using a concern isn't a good idea here because they appear to not work with
def self.included(base)
  if base != ViewComponent::Base
    # :nocov:
    location = Kernel.caller_locations(1, 1)[0]
    warn(
      "warning: ViewComponent::PolymorphicSlots is now included in ViewComponent::Base by default " \
      "and can be removed from #{location.path}:#{location.lineno}"
    )
    # :nocov:
  end
  base.singleton_class.prepend(ClassMethods)
  base.include(InstanceMethods)
end