Sha256: dc8ef1a65ea40f9104049f6ff7c9fb30195f3d79463865ea519508d149343637

Contents?: true

Size: 1.4 KB

Versions: 8

Compression:

Stored size: 1.4 KB

Contents

# frozen_string_literal: true

module Primer
  class AutoComplete
    # Use `AutoCompleteItem` to list results of an auto-completed search.
    class Item < Primer::Component
      status :beta

      # @example Default
      #   <%= render(Primer::AutoComplete::Item.new(selected: true, value: "value")) do |c| %>
      #     Selected
      #   <% end %>
      #   <%= render(Primer::AutoComplete::Item.new(value: "value")) do |c| %>
      #     Not selected
      #   <% end %>
      #
      # @param value [String] Value of the item.
      # @param selected [Boolean] Whether the item is selected.
      # @param disabled [Boolean] Whether the item is disabled.
      # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
      def initialize(value:, selected: false, disabled: false, **system_arguments)
        @system_arguments = system_arguments
        @system_arguments[:tag] = :li
        @system_arguments[:role] = :option
        @system_arguments[:"data-autocomplete-value"] = value

        @system_arguments[:"aria-selected"] = true if selected
        @system_arguments[:"aria-disabled"] = true if disabled

        @system_arguments[:classes] = class_names(
          "autocomplete-item",
          system_arguments[:classes],
          "disabled" => disabled
        )
      end

      def call
        render(Primer::BaseComponent.new(**@system_arguments)) { content }
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
primer_view_components-0.0.46 app/components/primer/auto_complete/item.rb
primer_view_components-0.0.45 app/components/primer/auto_complete/item.rb
primer_view_components-0.0.44 app/components/primer/auto_complete/item.rb
primer_view_components-0.0.43 app/components/primer/auto_complete/item.rb
primer_view_components-0.0.42 app/components/primer/auto_complete/item.rb
primer_view_components-0.0.41 app/components/primer/auto_complete/item.rb
primer_view_components-0.0.40 app/components/primer/auto_complete/item.rb
primer_view_components-0.0.39 app/components/primer/auto_complete/item.rb