diff --git a/views/views_sparkline_plugin_style_sparkline.inc b/views/views_sparkline_plugin_style_sparkline.inc
index bd31d17..43f1a21 100644
--- a/views/views_sparkline_plugin_style_sparkline.inc
+++ b/views/views_sparkline_plugin_style_sparkline.inc
@@ -55,7 +55,7 @@ class views_sparkline_plugin_style_sparkline extends views_plugin_style {
    */
   function get_fields() {
     $sanitized = array();
-      $fields = $this->display->handler->get_option('fields');
+    $fields = $this->display->handler->get_option('fields');
 
     // Preconfigure the sanitized array so that the order is retained.
     foreach ($fields as $field => $info) {
@@ -97,16 +97,22 @@ class views_sparkline_plugin_style_sparkline extends views_plugin_style {
         '#title' => t('Field'),
         '#options' => $columns,
         '#default_value' => $this->options['series'][$key]['field'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array("edit-style-options-series-$key-enable" => array(1)),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+          ),
+        ),
       );
       $form['series'][$key]['type'] = array(
         '#type' => 'select',
         '#title' => t('Type'),
         '#options' => array('line' => t('Line'), 'bar' => t('Bar')),
         '#default_value' => $this->options['series'][$key]['type'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array("edit-style-options-series-$key-enable" => array(1)),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+          ),
+        ),
       );
 
       $form['series'][$key]['color'] = array(
@@ -114,19 +120,24 @@ class views_sparkline_plugin_style_sparkline extends views_plugin_style {
         '#title' => t('Color'),
         '#description' => t('A color to use for the chart in hexadecimal. For example \'#336699\''),
         '#default_value' => $this->options['series'][$key]['color'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array("edit-style-options-series-$key-enable" => array(1)),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+          ),
+        ),
       );
       $form['series'][$key]['line_width'] = array(
         '#type' => 'textfield',
         '#title' => t('Line width'),
         '#description' => t('Line width in pixels. For example \'1.5\''),
         '#default_value' => $this->options['series'][$key]['line_width'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-type" => array('line'),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-type" => array('value' => 'line'),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
       $form['series'][$key]['line_fill'] = array(
@@ -134,11 +145,13 @@ class views_sparkline_plugin_style_sparkline extends views_plugin_style {
         '#title' => t('Line fill'),
         '#description' => t('Fill area under line'),
         '#default_value' => $this->options['series'][$key]['line_fill'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-type" => array('line'),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-type" => array('value' => 'line'),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
       $form['series'][$key]['bar_width'] = array(
@@ -146,74 +159,86 @@ class views_sparkline_plugin_style_sparkline extends views_plugin_style {
         '#title' => t('Bar width'),
         '#description' => t('Bar width in terms of graph units. For example \'1\' is equal to one unit of width along the x-axis.'),
         '#default_value' => $this->options['series'][$key]['bar_width'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-type" => array('bar'),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-type" => array('value' => 'line'),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
       $form['series'][$key]['bar_align'] = array(
         '#type' => 'select',
         '#title' => t('Bar alignment'),
         '#default_value' => $this->options['series'][$key]['bar_align'],
-        '#process' => array('views_process_dependency'),
         '#options' => array('left' => t('Left'), 'center' => t('Center'), 'right' => t('Right')),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-type" => array('bar'),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-type" => array('value' => 'bar'),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
       $form['series'][$key]['shadow_size'] = array(
         '#type' => 'textfield',
         '#title' => t('Shadow size'),
         '#default_value' => $this->options['series'][$key]['shadow_size'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+          ),
         ),
       );
       $form['series'][$key]['label_point'] = array(
         '#type' => 'checkbox',
         '#title' => t('Label last point'),
         '#default_value' => $this->options['series'][$key]['label_point'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+          ),
         ),
       );
       $form['series'][$key]['label_point_radius'] = array(
         '#type' => 'textfield',
         '#title' => t('Radius of last point'),
         '#default_value' => $this->options['series'][$key]['label_point_radius'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-label-point" => array(1),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-label-point" => array('checked' => TRUE),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
       $form['series'][$key]['label_point_color'] = array(
         '#type' => 'textfield',
         '#title' => t('Color of last point'),
         '#default_value' => $this->options['series'][$key]['label_point_color'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-label-point" => array(1),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-label-point" => array('checked' => TRUE),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
       $form['series'][$key]['label_point_fill_color'] = array(
         '#type' => 'textfield',
         '#title' => t('Fill color of last point'),
         '#default_value' => $this->options['series'][$key]['label_point_fill_color'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-label-point" => array(1),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-label-point" => array('checked' => TRUE),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
       $form['series'][$key]['label_point_left_offset'] = array(
@@ -221,11 +246,13 @@ class views_sparkline_plugin_style_sparkline extends views_plugin_style {
         '#title' => t('Label left offset'),
         '#description' => t('Offset of the label of the last point in pixels. Can be positive or negative.'),
         '#default_value' => $this->options['series'][$key]['label_point_left_offset'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-label-point" => array(1),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-label-point" => array('checked' => TRUE),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
       $form['series'][$key]['label_point_top_offset'] = array(
@@ -233,11 +260,13 @@ class views_sparkline_plugin_style_sparkline extends views_plugin_style {
         '#title' => t('Label top offset'),
         '#description' => t('Offset of the label of the last point in pixels. Can be positive or negative.'),
         '#default_value' => $this->options['series'][$key]['label_point_top_offset'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-label-point" => array(1),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-label-point" => array('checked' => TRUE),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
 
@@ -247,19 +276,24 @@ class views_sparkline_plugin_style_sparkline extends views_plugin_style {
         '#options' => array('none' => t('None'), 'left' => t('Left'), 'right' => t('Right')),
         '#description' => t('If the view returns less rows than the number of items to display, optionally pad the view with null points to the left or right of the returned rows.'),
         '#default_value' => $this->options['series'][$key]['pad'],
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array("edit-style-options-series-$key-enable" => array(1)),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+          ),
+        ),
       );
       $form['series'][$key]['pad_value'] = array(
         '#type' => 'select',
         '#title' => t('Pad value'),
         '#default_value' => $this->options['series'][$key]['pad_value'],
         '#options' => array('null' => t('Null'), 'zero' => t('Zero')),
-        '#process' => array('views_process_dependency'),
-        '#dependency' => array(
-          "edit-style-options-series-$key-enable" => array(1),
-          "edit-style-options-series-$key-pad" => array('left', 'right'),
+        '#states' => array(
+          'visible' => array(
+            "input[name='style-options-series-$key-enable" => array('checked' => TRUE),
+            "input[name='style-options-series-$key-label-point" => array('value' => array('left', 'right')),
+          ),
         ),
+        // @fixme states equivalent?
         '#dependency_count' => 2
       );
     }
diff --git a/views_sparkline.info b/views_sparkline.info
index cfca405..b664c2c 100644
--- a/views_sparkline.info
+++ b/views_sparkline.info
@@ -1,5 +1,6 @@
 name = Views sparkline
 description = Views style plugin for displaying results as a sparkline.
-core = 6.x
+core = 7.x
 dependencies[] = views
 dependencies[] = flot
+files[] = views/views_sparkline_plugin_style_sparkline.inc
diff --git a/views_sparkline.module b/views_sparkline.module
index 9ab9d6a..42d49fa 100644
--- a/views_sparkline.module
+++ b/views_sparkline.module
@@ -6,22 +6,11 @@
  */
 
 /**
- * Implementation of hook_views_plugins().
+ * Implements hook_views_api().
  */
-function views_sparkline_views_plugins() {
+function views_sparkline_views_api() {
   return array(
-    'style' => array(
-      'views_sparkline' => array(
-        'title' => t('Sparkline'),
-        'help' => t('Display a sparkline style graph.'),
-        'path' => drupal_get_path('module', 'views_sparkline') .'/views',
-        'handler' => 'views_sparkline_plugin_style_sparkline',
-        'theme' => 'views_sparkline',
-        'uses options' => TRUE,
-        'uses fields' => TRUE,
-        'type' => 'normal',
-      ),
-    )
+    'api' => 3,
   );
 }
 
@@ -128,19 +117,18 @@ function template_preprocess_views_sparkline(&$vars) {
   }
 
 
-  $vars['sparkline'] = theme('flot_graph', $element, $series,
-    array(
-      'grid' => array(
-        'show' => FALSE,
-      ),
-      'xaxis' => array(
-        'mode' => 'time',
-        'ticks' => 0,
-        'labelHeight' => NULL,
-        'max' => $xaxis_max,
-      ),
-    )
+  $flot_graph_options = array(
+    'grid' => array(
+      'show' => FALSE,
+    ),
+    'xaxis' => array(
+      'mode' => 'time',
+      'ticks' => 0,
+      'labelHeight' => NULL,
+      'max' => $xaxis_max,
+    ),
   );
+  $vars['sparkline'] = theme('flot_graph', array('element' => $element, 'data' => $series, 'options' => $flot_graph_options));
 
   // Include the cached inline code in the output. Ugly, but there's no harm in
   // assigning the JS variable twice. Will be imporved by #1515468
@@ -151,4 +139,3 @@ function template_preprocess_views_sparkline(&$vars) {
     $vars['label_script'] .= '<script>' . $script . '</script>';
   }
 }
-
diff --git a/views_sparkline.views.inc b/views_sparkline.views.inc
new file mode 100644
index 0000000..eed9ef8
--- /dev/null
+++ b/views_sparkline.views.inc
@@ -0,0 +1,21 @@
+<?php
+
+/**
+ * Implements hook_views_plugins().
+ */
+function views_sparkline_views_plugins() {
+  return array(
+    'style' => array(
+      'views_sparkline' => array(
+        'title' => t('Sparkline'),
+        'help' => t('Display a sparkline style graph.'),
+        'path' => drupal_get_path('module', 'views_sparkline') .'/views',
+        'handler' => 'views_sparkline_plugin_style_sparkline',
+        'theme' => 'views_sparkline',
+        'uses options' => TRUE,
+        'uses fields' => TRUE,
+        'type' => 'normal',
+      ),
+    )
+  );
+}
