Sha256: cbfe2ceeeb4696e62d23cdeaae5b334051be6606762cb38c68963fb4c042c3f9

Contents?: true

Size: 1.52 KB

Versions: 19

Compression:

Stored size: 1.52 KB

Contents

# frozen_string_literal: true

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

        # @example Default
        #   <%= render(Primer::Beta::AutoComplete::Item.new(selected: true, value: "value")) do |c| %>
        #     Selected
        #   <% end %>
        #   <%= render(Primer::Beta::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 = deny_tag_argument(**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
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
primer_view_components-0.0.83 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.82 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.81 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.80 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.79 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.78 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.74 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.73 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.72 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.71 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.70 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.69 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.68 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.67 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.66 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.65 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.64 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.63 app/components/primer/beta/auto_complete/item.rb
primer_view_components-0.0.62 app/components/primer/beta/auto_complete/item.rb