Sha256: 5020946e336c0459628f9250ab61f8a864234c6bc4afff4c261c43d7647b90ef

Contents?: true

Size: 1.15 KB

Versions: 27

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module Primer
  module Alpha
    class ActionList
      # Section heading rendered above the section contents.
      class Divider < Primer::Component
        DEFAULT_SCHEME = :subtle
        SCHEME_MAPPINGS = {
          DEFAULT_SCHEME => nil,
          :filled => "ActionList-sectionDivider--filled"
        }.freeze
        SCHEME_OPTIONS = SCHEME_MAPPINGS.keys.freeze

        # @param scheme [Symbol] Display a background color if scheme is `filled`.
        # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
        def initialize(scheme: DEFAULT_SCHEME, **system_arguments)
          @system_arguments = system_arguments
          @system_arguments[:tag] = :li
          @system_arguments[:role] = :separator
          @system_arguments[:'aria-hidden'] = true
          @scheme = fetch_or_fallback(SCHEME_OPTIONS, scheme, DEFAULT_SCHEME)
          @system_arguments[:classes] = class_names(
            "ActionList-sectionDivider",
            SCHEME_MAPPINGS[@scheme]
          )
        end

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

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
primer_view_components-0.0.103 app/components/primer/alpha/action_list/divider.rb
primer_view_components-0.0.102 app/components/primer/alpha/action_list/divider.rb
primer_view_components-0.0.101 app/components/primer/alpha/action_list/divider.rb
primer_view_components-0.0.100 app/components/primer/alpha/action_list/divider.rb
primer_view_components-0.0.99 app/components/primer/alpha/action_list/divider.rb
primer_view_components-0.0.98 app/components/primer/alpha/action_list/divider.rb
primer_view_components-0.0.97 app/components/primer/alpha/action_list/divider.rb