Class: Primer::OpenProject::PageHeader

Inherits:
Component
  • Object
show all
Defined in:
app/components/primer/open_project/page_header.rb

Overview

A ViewComponent PageHeader inspired by the primer react variant

Constant Summary collapse

HEADING_TAG_OPTIONS =
[:h1, :h2, :h3, :h4, :h5, :h6].freeze
HEADING_TAG_FALLBACK =
:h2
DEFAULT_HEADER_VARIANT =
:large
HEADER_VARIANT_OPTIONS =
[
  :medium,
  DEFAULT_HEADER_VARIANT
].freeze
DEFAULT_BACK_BUTTON_SIZE =
:medium
BACK_BUTTON_SIZE_OPTIONS =
[
  :small,
  DEFAULT_BACK_BUTTON_SIZE,
  :large
].freeze
DEFAULT_BACK_BUTTON_ICON =
"arrow-left"
BACK_BUTTON_ICON_OPTIONS =
[
  DEFAULT_BACK_BUTTON_ICON,
  "chevron-left",
  "triangle-left"
].freeze
DEFAULT_BACK_BUTTON_DISPLAY =
[:none, :flex].freeze
DEFAULT_BREADCRUMBS_DISPLAY =
[:none, :flex].freeze
[:block, :none].freeze
DEFAULT_CONTEXT_BAR_ACTIONS_DISPLAY =
[:block, :none].freeze

Constants inherited from Component

Component::INVALID_ARIA_LABEL_TAGS

Constants included from Status::Dsl

Status::Dsl::STATUSES

Constants included from ViewHelper

ViewHelper::HELPERS

Constants included from TestSelectorHelper

TestSelectorHelper::TEST_SELECTOR_TAG

Constants included from FetchOrFallbackHelper

FetchOrFallbackHelper::InvalidValueError

Constants included from AttributesHelper

AttributesHelper::PLURAL_ARIA_ATTRIBUTES, AttributesHelper::PLURAL_DATA_ATTRIBUTES

Instance Method Summary collapse

Methods inherited from Component

deprecated?, generate_id

Methods included from JoinStyleArgumentsHelper

#join_style_arguments

Methods included from TestSelectorHelper

#add_test_selector

Methods included from FetchOrFallbackHelper

#fetch_or_fallback, #fetch_or_fallback_boolean, #silence_deprecations?

Methods included from ClassNameHelper

#class_names

Methods included from AttributesHelper

#aria, #data, #merge_aria, #merge_data, #merge_prefixed_attribute_hashes

Methods included from ExperimentalSlotHelpers

included

Methods included from ExperimentalRenderHelpers

included

Constructor Details

#initialize(**system_arguments) ⇒ PageHeader



144
145
146
147
148
149
150
151
152
153
# File 'app/components/primer/open_project/page_header.rb', line 144

def initialize(**system_arguments)
  @system_arguments = deny_tag_argument(**system_arguments)

  @system_arguments[:tag] = :header
  @system_arguments[:classes] =
    class_names(
      @system_arguments[:classes],
      "PageHeader"
    )
end

Instance Method Details

#render?Boolean



155
156
157
# File 'app/components/primer/open_project/page_header.rb', line 155

def render?
  title?
end