class Playbook::PbDropdown::Dropdown

def classname

def classname
  generate_classname("pb_dropdown", variant, separators_class)
end

def data

def data
  Hash(prop(:data)).merge(
    pb_dropdown: true,
    pb_dropdown_multi_select: multi_select,
    form_pill_props: form_pill_props.to_json
  )
end

def error_class

def error_class
  error.present? ? " error" : ""
end

def input_default_value

def input_default_value
  return "" unless default_value.present?
  if multi_select
    default_value.map { |v| v.transform_keys(&:to_s)["id"] }.join(",")
  else
    default_value.transform_keys(&:to_s)["id"]
  end
end

def options_with_blank

def options_with_blank
  blank_selection.present? ? [{ id: "", value: "", label: blank_selection }] + options : options
end

def separators_class

def separators_class
  separators ? nil : "separators_hidden"
end