Sha256: 4ff212721e8d9d8dfda1f764b4f43facb690af9525de9caeaad1b09bba225db2

Contents?: true

Size: 1.43 KB

Versions: 27

Compression:

Stored size: 1.43 KB

Contents

# frozen_string_literal: true

module Primer
  module Alpha
    class ActionList
      # Heading used to describe each sub list within an action list.
      class Heading < Primer::Component
        DEFAULT_SCHEME = :subtle
        SCHEME_MAPPINGS = {
          DEFAULT_SCHEME => nil,
          :filled => "ActionList-sectionDivider--filled"
        }.freeze
        SCHEME_OPTIONS = SCHEME_MAPPINGS.keys.freeze

        # @param list_id [String] The unique identifier of the sub list the heading belongs to. Used internally.
        # @param title [String] Sub list title.
        # @param subtitle [String] Optional sub list description.
        # @param scheme [Symbol] Display a background color if scheme is `filled`.
        # @param tag [Symbol] Semantic tag for the heading.
        # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
        def initialize(list_id:, title:, tag: :h3, scheme: DEFAULT_SCHEME, subtitle: nil, **system_arguments)
          @tag = tag
          @system_arguments = system_arguments
          @list_id = list_id
          @title = title
          @subtitle = subtitle
          @scheme = fetch_or_fallback(SCHEME_OPTIONS, scheme, DEFAULT_SCHEME)
          @system_arguments[:tag] = :li
          @system_arguments[:classes] = class_names(
            "ActionList-sectionDivider",
            SCHEME_MAPPINGS[@scheme],
            @system_arguments[:classes]
          )
        end
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
primer_view_components-0.1.0 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.123 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.122 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.121 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.120 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.119 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.118 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.117 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.116 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.114 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.113 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.112 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.111 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.110 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.109 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.108 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.107 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.106 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.105 app/components/primer/alpha/action_list/heading.rb
primer_view_components-0.0.104 app/components/primer/alpha/action_list/heading.rb