class Playbook::PbLineGraph::LineGraph

def chart_options

def chart_options
  standard_options.deep_merge(custom_options)
end

def chart_type

def chart_type
  gradient ? "area" : "line"
end

def classname

def classname
  generate_classname("pb_line_graph")
end

def standard_options

def standard_options
  {
    align: align,
    id: id,
    className: classname,
    chartData: chart_data,
    dark: dark ? "dark" : "",
    type: chart_type,
    title: title,
    subTitle: subtitle,
    axisTitle: axis_title,
    pointStart: point_start,
    xAxisCategories: x_axis_categories,
    yAxisMin: y_axis_min,
    yAxisMax: y_axis_max,
    legend: legend,
    toggleLegendClick: toggle_legend_click,
    height: height,
    colors: colors,
    layout: layout,
    verticalAlign: vertical_align,
    x: x,
    y: y,
  }
end

def vertical_align_props

def vertical_align_props
  if vertical_align
    if object.vertical_align
      original_result = super
      class_to_remove = "vertical_align_#{object.vertical_align}"
      modified_result = original_result.gsub(class_to_remove, "").strip
      modified_result.empty? ? nil : modified_result
    else
      super
    end
  else
    super
  end
end