class Playbook::PbCheckbox::Checkbox

def checkbox_label_status

def checkbox_label_status
  error ? "negative" : nil
end

def checked_class

def checked_class
  checked ? "on" : "off"
end

def classname

def classname
  generate_classname("pb_checkbox_kit", checked_class) + error_class
end

def data

def data
  Hash(prop(:data)).merge(
    pb_checkbox_indeterminate_main: indeterminate_main,
    pb_checkbox_indeterminate_parent: indeterminate_parent
  )
end

def error_class

def error_class
  error ? " error" : ""
end

def input

def input
  inputs = []
  effective_name = name || input_options[:name]
  effective_value = value || input_options[:value] || "1"
  is_checked = checked || input_options[:checked]
  inputs << hidden_field_tag(effective_name, hidden_value || "0") if hidden_input && effective_name.present?
  inputs << check_box_tag(
    effective_name,
    effective_value,
    is_checked,
    input_options.merge(disabled: disabled)
  )
  safe_join(inputs)
end