class Bootstrap::ViewHelpers::Components::Accordion::Card
Attributes
id[R]
Public Instance Methods
body(_ = nil) { || ... }
click to toggle source
# File lib/bootstrap/view_helpers/components/accordion/card.rb, line 13 def body(_ = nil, &_block) content_tag(:div, collapse_options) do content_tag(:div, class: body_class(options)) { yield } end end
header(_ = nil, _ = {})
click to toggle source
# File lib/bootstrap/view_helpers/components/accordion/card.rb, line 6 def header(_ = nil, _ = {}) content_tag(:div, class: "card-header p-0 #{options[:class]}", id: header_id) do title_tag(options[:title]) end end
Protected Instance Methods
accordion_item_id()
click to toggle source
# File lib/bootstrap/view_helpers/components/accordion/card.rb, line 36 def accordion_item_id @id ||= options[:id] || "group_#{SecureRandom.urlsafe_base64}" end
collapse_options()
click to toggle source
# File lib/bootstrap/view_helpers/components/accordion/card.rb, line 40 def collapse_options { class: "collapse #{'show' if options[:expanded]}", id: accordion_item_id, data: { parent: "##{options[:parent]}" }, aria: { labelled_by: header_id } } end
header_id()
click to toggle source
# File lib/bootstrap/view_helpers/components/accordion/card.rb, line 30 def header_id return @header_id if defined? @header_id random_id = "header_#{SecureRandom.urlsafe_base64}" @header_id = options[:header_id] || random_id end
title_tag(title)
click to toggle source
# File lib/bootstrap/view_helpers/components/accordion/card.rb, line 23 def title_tag(title) content_tag(:h5, class: header_options[:class]) do Button.new(view, { label: title, target: accordion_item_id, expanded: options[:expanded] }).to_html end end