class ActiveAdmin::Views::Tabs

def build(attributes = {}, &block)

def build(attributes = {}, &block)
  super(attributes)
  add_class "tabs"
  @menu = nav(class: "tabs-nav", role: "tablist", "data-tabs-toggle": "#tabs-container-#{object_id}")
  @tabs_content = div(class: "tabs-content", id: "tabs-container-#{object_id}")
end

def build_content_item(title, options, &block)

def build_content_item(title, options, &block)
  options = options.reverse_merge(id: fragmentize(title), class: "hidden", role: "tabpanel", "aria-labelledby": "#{title}-tab")
  div(options, &block)
end

def build_menu_item(title, options, &block)

def build_menu_item(title, options, &block)
  fragment = options.fetch(:id, fragmentize(title))
  html_options = options.fetch(:html_options, {}).merge("data-tabs-target": "##{fragment}", role: "tab", "aria-controls": fragment, href: "#")
  a html_options do
    title
  end
end

def fragmentize(string)

def fragmentize(string)
  "tabs-#{string.parameterize}-#{object_id}"
end

def tab(title, options = {}, &block)

def tab(title, options = {}, &block)
  title = title.to_s.titleize if title.is_a? Symbol
  @menu << build_menu_item(title, options, &block)
  @tabs_content << build_content_item(title, options, &block)
end