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 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_action_button(**system_arguments, &block) ⇒ Object
Adds a trailing action rendered to the right of the node's content.
-
#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 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.
91 92 93 94 95 96 97 98 99 100 |
# File 'app/components/primer/alpha/tree_view/leaf_node.rb', line 91 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_action_button(**system_arguments, &block) ⇒ Object
Adds a trailing action rendered to the right of the node's content.
58 59 60 61 62 63 64 65 66 67 |
# File 'app/components/primer/alpha/tree_view/leaf_node.rb', line 58 renders_one :trailing_action, types: { button: lambda { |**system_arguments| TrailingAction.new( action: Primer::Beta::IconButton.new( scheme: :invisible, **system_arguments ) ) } } |
#with_trailing_visual_icon(label: nil, **system_arguments, &block) ⇒ Object
Adds a trailing visual icon rendered to the right of the node's label.
77 78 79 80 81 82 83 84 85 |
# File 'app/components/primer/alpha/tree_view/leaf_node.rb', line 77 renders_one :trailing_visual, types: { icon: lambda { |label: nil, **system_arguments| Visual.new( id: nil, visual: Icon.new(**system_arguments), label: label ) } } |