Class: Primer::Alpha::TreeView::LeafNode
- Defined in:
- app/components/primer/alpha/tree_view/leaf_node.rb
Overview
A TreeView leaf node.
This component is part of the <%= link_to_component(Primer::Alpha::TreeView) %> component and should not be used directly.
Direct Known Subclasses
Constant Summary
Constants inherited from Component
Component::INVALID_ARIA_LABEL_TAGS
Constants included from Status::Dsl
Constants included from ViewHelper
Constants included from TestSelectorHelper
TestSelectorHelper::TEST_SELECTOR_TAG
Constants included from SafeHrefHelper
SafeHrefHelper::DISALLOWED_HREF_SCHEMES
Constants included from FetchOrFallbackHelper
FetchOrFallbackHelper::InvalidValueError
Constants included from Primer::AttributesHelper
Primer::AttributesHelper::PLURAL_ARIA_ATTRIBUTES, Primer::AttributesHelper::PLURAL_DATA_ATTRIBUTES
Instance Method Summary collapse
-
#initialize(label:, **system_arguments) ⇒ LeafNode
constructor
A new instance of LeafNode.
-
#with_leading_action_button(**system_arguments, &block) ⇒ Object
Adds a leading action rendered to the left of the node's label and any leading visuals or checkboxes.
-
#with_leading_visual_icon(label: nil, **system_arguments, &block) ⇒ Object
Adds a leading visual icon rendered to the left of the node's label.
-
#with_trailing_visual_icon(label: nil, **system_arguments, &block) ⇒ Object
Adds a trailing visual icon rendered to the right of the node's label.
Methods inherited from Component
Methods included from JoinStyleArgumentsHelper
Methods included from TestSelectorHelper
Methods included from SafeHrefHelper
Methods included from FetchOrFallbackHelper
#fetch_or_fallback, #fetch_or_fallback_boolean, #silence_deprecations?
Methods included from ClassNameHelper
Methods included from Primer::AttributesHelper
#aria, #data, #extract_data, #merge_aria, #merge_data, #merge_prefixed_attribute_hashes
Methods included from ExperimentalSlotHelpers
Methods included from ExperimentalRenderHelpers
Constructor Details
#initialize(label:, **system_arguments) ⇒ LeafNode
Returns a new instance of LeafNode.
73 74 75 76 77 78 79 80 81 82 |
# File 'app/components/primer/alpha/tree_view/leaf_node.rb', line 73 def initialize(label:, **system_arguments) @label = label @system_arguments = system_arguments @system_arguments[:data] = merge_data( @system_arguments, data: { "node-type": "leaf" } ) @node = Primer::Alpha::TreeView::Node.new(**@system_arguments) end |
Instance Method Details
#with_leading_action_button(**system_arguments, &block) ⇒ Object
Adds a leading action rendered to the left of the node's label and any leading visuals or checkboxes.
40 41 42 43 44 45 46 47 48 49 |
# File 'app/components/primer/alpha/tree_view/leaf_node.rb', line 40 renders_one :leading_action, types: { button: lambda { |**system_arguments| LeadingAction.new( action: Primer::Beta::IconButton.new( scheme: :invisible, **system_arguments ) ) } } |
#with_leading_visual_icon(label: nil, **system_arguments, &block) ⇒ Object
Adds a leading visual icon rendered to the left of the node's label.
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/components/primer/alpha/tree_view/leaf_node.rb', line 19 renders_one :leading_visual, types: { icon: lambda { |label: nil, **system_arguments| merge_system_arguments!( aria: { describedby: leading_visual_label_id } ) Visual.new( id: leading_visual_label_id, visual: Icon.new(**system_arguments), label: label ) } } |
#with_trailing_visual_icon(label: nil, **system_arguments, &block) ⇒ Object
Adds a trailing visual icon rendered to the right of the node's label.
59 60 61 62 63 64 65 66 67 |
# File 'app/components/primer/alpha/tree_view/leaf_node.rb', line 59 renders_one :trailing_visual, types: { icon: lambda { |label: nil, **system_arguments| Visual.new( id: nil, visual: Icon.new(**system_arguments), label: label ) } } |