class Playbook::KitBase

def combined_html_options

def combined_html_options
  default_html_options.merge(html_options.deep_merge(data_attributes))
end

def data_attributes

def data_attributes
  {
    data: data,
    aria: aria,
  }.transform_keys { |key| key.to_s.tr("_", "-").to_sym }
end

def default_html_options

def default_html_options
  {}
end

def default_options

def default_options
  {
    id: id,
    data: data,
    class: classname,
    aria: aria,
  }
end

def object

def object
  self
end

def pb_content_tag(name = :div, content_or_options_with_block = {}, options = {}, escape = true, &block)

rubocop:disable Style/OptionalBooleanParameter
def pb_content_tag(name = :div, content_or_options_with_block = {}, options = {}, escape = true, &block)
  combined_options = options
                     .merge(combined_html_options)
                     .merge(default_options.merge(content_or_options_with_block))
  content_tag(name, combined_options, options, escape, &block)
end