Class: UI::AccordionContentComponent

Inherits:
ViewComponent::Base
  • Object
show all
Includes:
AccordionContentBehavior
Defined in:
app/view_components/ui/accordion_content_component.rb

Overview

Accordion Content component (ViewComponent) Collapsible content area within an accordion item

Examples:

Basic usage

<%= render UI::AccordionContentComponent.new(item_value: "item-1") do %>
  This is the accordion content
<% end %>

Instance Method Summary collapse

Methods included from AccordionContentBehavior

#content_base_classes, #content_classes, #content_data_attributes, #content_html_attributes, #content_id, #content_state, #item_value, #merged_content_data_attributes, #trigger_id

Constructor Details

#initialize(item_value: nil, initial_open: false, classes: "", attributes: {}) ⇒ AccordionContentComponent

Returns a new instance of AccordionContentComponent.

Parameters:

  • item_value (String) (defaults to: nil)

    value from parent AccordionItem

  • initial_open (Boolean) (defaults to: false)

    initial state from parent AccordionItem

  • classes (String) (defaults to: "")

    additional CSS classes

  • attributes (Hash) (defaults to: {})

    additional HTML attributes



17
18
19
20
21
22
# File 'app/view_components/ui/accordion_content_component.rb', line 17

def initialize(item_value: nil, initial_open: false, classes: "", attributes: {})
  @item_value = item_value
  @initial_open = initial_open
  @classes = classes
  @attributes = attributes
end

Instance Method Details

#callObject



24
25
26
27
28
# File 'app/view_components/ui/accordion_content_component.rb', line 24

def call
   :div, **content_html_attributes do
     :div, content, class: "pt-0 pb-4"
  end
end