WordPress Charts and Graphs Lite - Version 3.7.4

Version Description

Download this release

Release Info

Developer themeisle
Plugin Icon WordPress Charts and Graphs Lite
Version 3.7.4
Comparing to
See all releases

Code changes from version 3.7.3 to 3.7.4

CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  ##### [Version 3.7.3](https://github.com/Codeinwp/visualizer/compare/v3.7.2...v3.7.3) (2022-01-19)
2
 
3
  - Fix multiple charts lazy rendering issue
1
+ ##### [Version 3.7.4](https://github.com/Codeinwp/visualizer/compare/v3.7.3...v3.7.4) (2022-02-07)
2
+
3
+ - Fix multiple lazy load charts issue
4
+ - Tested up to WordPress 5.9 version
5
+
6
  ##### [Version 3.7.3](https://github.com/Codeinwp/visualizer/compare/v3.7.2...v3.7.3) (2022-01-19)
7
 
8
  - Fix multiple charts lazy rendering issue
classes/Visualizer/Module/Frontend.php CHANGED
@@ -677,11 +677,22 @@ class Visualizer_Module_Frontend extends Visualizer_Module {
677
  elem.setAttribute("src", elem.getAttribute("data-visualizer-script"));
678
  elem.removeAttribute("data-visualizer-script");
679
  setTimeout( function() {
680
- jQuery( '.visualizer-front:not(.visualizer-chart-loaded)' ).resize();
681
  } );
682
  } );
683
  });
684
  }
 
 
 
 
 
 
 
 
 
 
 
685
  </script>
686
  <?php
687
  }
677
  elem.setAttribute("src", elem.getAttribute("data-visualizer-script"));
678
  elem.removeAttribute("data-visualizer-script");
679
  setTimeout( function() {
680
+ visualizerRefreshChart();
681
  } );
682
  } );
683
  });
684
  }
685
+
686
+ function visualizerRefreshChart() {
687
+ jQuery( '.visualizer-front:not(.visualizer-chart-loaded)' ).resize();
688
+ if ( jQuery( 'div.viz-facade-loaded:not(.visualizer-lazy):empty' ).length > 0 ) {
689
+ visualizerUserInteractionEvents.forEach( function( event ) {
690
+ window.addEventListener( event, function() {
691
+ jQuery( '.visualizer-front:not(.visualizer-chart-loaded)' ).resize();
692
+ }, { passive: true } );
693
+ } );
694
+ }
695
+ }
696
  </script>
697
  <?php
698
  }
classes/Visualizer/Plugin.php CHANGED
@@ -28,7 +28,7 @@
28
  class Visualizer_Plugin {
29
 
30
  const NAME = 'visualizer';
31
- const VERSION = '3.7.3';
32
 
33
  // custom post types
34
  const CPT_VISUALIZER = 'visualizer';
28
  class Visualizer_Plugin {
29
 
30
  const NAME = 'visualizer';
31
+ const VERSION = '3.7.4';
32
 
33
  // custom post types
34
  const CPT_VISUALIZER = 'visualizer';
css/media.css CHANGED
@@ -1,5 +1,5 @@
1
  /*
2
- Version: 3.7.3
3
  */
4
  #visualizer-library-view {
5
  padding: 30px 10px 10px 30px;
1
  /*
2
+ Version: 3.7.4
3
  */
4
  #visualizer-library-view {
5
  padding: 30px 10px 10px 30px;
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Visualizer: Tables and Charts for WordPress
4
  Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs-lite/
5
  Description: A simple, easy to use and quite powerful tool to create, manage and embed interactive charts into your WordPress posts and pages. The plugin uses Google Visualization API to render charts, which supports cross-browser compatibility (adopting VML for older IE versions) and cross-platform portability to iOS and new Android releases.
6
- Version: 3.7.3
7
  Author: Themeisle
8
  Author URI: http://themeisle.com
9
  Requires at least: 3.5
3
  Plugin Name: Visualizer: Tables and Charts for WordPress
4
  Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs-lite/
5
  Description: A simple, easy to use and quite powerful tool to create, manage and embed interactive charts into your WordPress posts and pages. The plugin uses Google Visualization API to render charts, which supports cross-browser compatibility (adopting VML for older IE versions) and cross-platform portability to iOS and new Android releases.
6
+ Version: 3.7.4
7
  Author: Themeisle
8
  Author URI: http://themeisle.com
9
  Requires at least: 3.5
js/render-facade.js CHANGED
@@ -106,6 +106,13 @@
106
  registerDefaultActions();
107
  });
108
 
 
 
 
 
 
 
 
109
  function initChartDisplay() {
110
  if(visualizer.is_front == true){ // jshint ignore:line
111
  displayChartsOnFrontEnd();
@@ -132,6 +139,7 @@
132
  $('div.visualizer-front:not(.visualizer-lazy):not(.viz-facade-loaded)').each(function(index, element){
133
  var id = $(element).addClass('viz-facade-loaded').attr('id');
134
  showChart(id);
 
135
  });
136
 
137
  // interate through all charts that are to be lazy-loaded and observe each one.
106
  registerDefaultActions();
107
  });
108
 
109
+ // Refresh charts if chart not generated.
110
+ function refreshEachCharts() {
111
+ setTimeout( function() {
112
+ displayChartsOnFrontEnd();
113
+ }, 100 );
114
+ }
115
+
116
  function initChartDisplay() {
117
  if(visualizer.is_front == true){ // jshint ignore:line
118
  displayChartsOnFrontEnd();
139
  $('div.visualizer-front:not(.visualizer-lazy):not(.viz-facade-loaded)').each(function(index, element){
140
  var id = $(element).addClass('viz-facade-loaded').attr('id');
141
  showChart(id);
142
+ refreshEachCharts();
143
  });
144
 
145
  // interate through all charts that are to be lazy-loaded and observe each one.
js/render-google.js CHANGED
@@ -508,19 +508,21 @@ var __visualizer_chart_images = [];
508
  }
509
 
510
  objects = {};
511
- google.load( 'visualization', 'current', {packages: $chart_types, mapsApiKey: v.map_api_key, 'language' : v.language,
512
- callback: function () {
513
- gv = google.visualization;
514
- all_charts = v.charts;
515
- if(v.is_front == true && typeof v.id !== 'undefined'){ // jshint ignore:line
516
- if ( document.getElementById( v.id ).offsetParent !== null ) {
517
- renderChart(v.id);
 
 
 
 
518
  }
519
- } else {
520
- render();
521
  }
522
- }
523
- });
524
  });
525
 
526
  $('body').on('visualizer:render:specificchart:start', function(event, v){
508
  }
509
 
510
  objects = {};
511
+ if ( 'object' === typeof google ) {
512
+ google.load( 'visualization', 'current', {packages: $chart_types, mapsApiKey: v.map_api_key, 'language' : v.language,
513
+ callback: function () {
514
+ gv = google.visualization;
515
+ all_charts = v.charts;
516
+ if(v.is_front == true && typeof v.id !== 'undefined'){ // jshint ignore:line
517
+ if ( document.getElementById( v.id ).offsetParent !== null ) {
518
+ renderChart(v.id);
519
+ }
520
+ } else {
521
+ render();
522
  }
 
 
523
  }
524
+ });
525
+ }
526
  });
527
 
528
  $('body').on('visualizer:render:specificchart:start', function(event, v){
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Contributors: codeinwp,themeisle,marius2012,marius_codeinwp,hardeepasrani,rozroz,Madalin_ThemeIsle
3
  Tags: tables, charts, pie, visualization, graphs
4
  Requires at least: 3.5
5
- Tested up to: 5.8
6
  Requires PHP: 5.6
7
  Stable tag: trunk
8
  License: GPL v2.0 or later
@@ -163,6 +163,14 @@ Pay attention that to turn your shortcodes into graphs, your theme has to have `
163
 
164
  == Changelog ==
165
 
 
 
 
 
 
 
 
 
166
  ##### [Version 3.7.3](https://github.com/Codeinwp/visualizer/compare/v3.7.2...v3.7.3) (2022-01-19)
167
 
168
  - Fix multiple charts lazy rendering issue
2
  Contributors: codeinwp,themeisle,marius2012,marius_codeinwp,hardeepasrani,rozroz,Madalin_ThemeIsle
3
  Tags: tables, charts, pie, visualization, graphs
4
  Requires at least: 3.5
5
+ Tested up to: 5.9
6
  Requires PHP: 5.6
7
  Stable tag: trunk
8
  License: GPL v2.0 or later
163
 
164
  == Changelog ==
165
 
166
+ ##### [Version 3.7.4](https://github.com/Codeinwp/visualizer/compare/v3.7.3...v3.7.4) (2022-02-07)
167
+
168
+ - Fix multiple lazy load charts issue
169
+ - Tested up to WordPress 5.9 version
170
+
171
+
172
+
173
+
174
  ##### [Version 3.7.3](https://github.com/Codeinwp/visualizer/compare/v3.7.2...v3.7.3) (2022-01-19)
175
 
176
  - Fix multiple charts lazy rendering issue
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit411f4947a8556dc7692d18ddb0ac0a76::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0::getLoader();
vendor/codeinwp/themeisle-sdk/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
 
 
 
 
 
1
  ##### [Version 3.2.22](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.21...v3.2.22) (2021-10-27)
2
 
3
  Fix edge case when reset failed checks was not working properly
1
+ ##### [Version 3.2.23](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.22...v3.2.23) (2022-02-02)
2
+
3
+ Fix php 8.1 issues
4
+ Fix edge case when update_themes site transient was empty and a fatal error was thrown
5
+
6
  ##### [Version 3.2.22](https://github.com/Codeinwp/themeisle-sdk/compare/v3.2.21...v3.2.22) (2021-10-27)
7
 
8
  Fix edge case when reset failed checks was not working properly
vendor/codeinwp/themeisle-sdk/load.php CHANGED
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  return;
15
  }
16
  // Current SDK version and path.
17
- $themeisle_sdk_version = '3.2.22';
18
  $themeisle_sdk_path = dirname( __FILE__ );
19
 
20
  global $themeisle_sdk_max_version;
@@ -28,12 +28,13 @@ if ( ! is_file( $themeisle_sdk_path . $themeisle_sdk_relative_licenser_path ) &&
28
  $themeisle_sdk_abs_licenser_path = $themeisle_sdk_max_path . $themeisle_sdk_relative_licenser_path;
29
  add_filter( 'themeisle_sdk_required_files', 'themeisle_sdk_load_licenser_if_present' );
30
  }
31
- if ( version_compare( $themeisle_sdk_version, $themeisle_sdk_max_path ) == 0 &&
 
32
  apply_filters( 'themeisle_sdk_should_overwrite_path', false, $themeisle_sdk_path, $themeisle_sdk_max_path ) ) {
33
  $themeisle_sdk_max_path = $themeisle_sdk_path;
34
  }
35
 
36
- if ( version_compare( $themeisle_sdk_version, $themeisle_sdk_max_version ) > 0 ) {
37
  $themeisle_sdk_max_version = $themeisle_sdk_version;
38
  $themeisle_sdk_max_path = $themeisle_sdk_path;
39
  }
14
  return;
15
  }
16
  // Current SDK version and path.
17
+ $themeisle_sdk_version = '3.2.23';
18
  $themeisle_sdk_path = dirname( __FILE__ );
19
 
20
  global $themeisle_sdk_max_version;
28
  $themeisle_sdk_abs_licenser_path = $themeisle_sdk_max_path . $themeisle_sdk_relative_licenser_path;
29
  add_filter( 'themeisle_sdk_required_files', 'themeisle_sdk_load_licenser_if_present' );
30
  }
31
+
32
+ if ( ( is_null( $themeisle_sdk_max_path ) || version_compare( $themeisle_sdk_version, $themeisle_sdk_max_path ) == 0 ) &&
33
  apply_filters( 'themeisle_sdk_should_overwrite_path', false, $themeisle_sdk_path, $themeisle_sdk_max_path ) ) {
34
  $themeisle_sdk_max_path = $themeisle_sdk_path;
35
  }
36
 
37
+ if ( is_null( $themeisle_sdk_max_version ) || version_compare( $themeisle_sdk_version, $themeisle_sdk_max_version ) > 0 ) {
38
  $themeisle_sdk_max_version = $themeisle_sdk_version;
39
  $themeisle_sdk_max_path = $themeisle_sdk_path;
40
  }
vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php CHANGED
@@ -629,10 +629,19 @@ class Licenser extends Abstract_Module {
629
  */
630
  public function theme_update_transient( $value ) {
631
  $update_data = $this->check_for_update();
632
- if ( $update_data ) {
633
- $value->response[ $this->product->get_slug() ] = $update_data;
634
  }
635
 
 
 
 
 
 
 
 
 
 
636
  return $value;
637
  }
638
 
629
  */
630
  public function theme_update_transient( $value ) {
631
  $update_data = $this->check_for_update();
632
+ if ( empty( $value ) ) {
633
+ return $value;
634
  }
635
 
636
+ if ( ! isset( $value->response ) ) {
637
+ return $value;
638
+ }
639
+
640
+ if ( ! $update_data ) {
641
+ return $value;
642
+ }
643
+
644
+ $value->response[ $this->product->get_slug() ] = $update_data;
645
  return $value;
646
  }
647
 
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit411f4947a8556dc7692d18ddb0ac0a76
6
  {
7
  private static $loader;
8
 
@@ -24,15 +24,15 @@ class ComposerAutoloaderInit411f4947a8556dc7692d18ddb0ac0a76
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit411f4947a8556dc7692d18ddb0ac0a76', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit411f4947a8556dc7692d18ddb0ac0a76', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
- call_user_func(\Composer\Autoload\ComposerStaticInit411f4947a8556dc7692d18ddb0ac0a76::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
@@ -53,12 +53,12 @@ class ComposerAutoloaderInit411f4947a8556dc7692d18ddb0ac0a76
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
- $includeFiles = Composer\Autoload\ComposerStaticInit411f4947a8556dc7692d18ddb0ac0a76::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
- composerRequire411f4947a8556dc7692d18ddb0ac0a76($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
@@ -70,7 +70,7 @@ class ComposerAutoloaderInit411f4947a8556dc7692d18ddb0ac0a76
70
  * @param string $file
71
  * @return void
72
  */
73
- function composerRequire411f4947a8556dc7692d18ddb0ac0a76($fileIdentifier, $file)
74
  {
75
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
76
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInit568905d56b9550ce6d51b8c60685e6f0', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
+ call_user_func(\Composer\Autoload\ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
+ $includeFiles = Composer\Autoload\ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
+ composerRequire568905d56b9550ce6d51b8c60685e6f0($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
70
  * @param string $file
71
  * @return void
72
  */
73
+ function composerRequire568905d56b9550ce6d51b8c60685e6f0($fileIdentifier, $file)
74
  {
75
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
76
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit411f4947a8556dc7692d18ddb0ac0a76
8
  {
9
  public static $files = array (
10
  '3af723442581d6c310bf44543f9f5c60' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Functions/adjoint.php',
@@ -356,10 +356,10 @@ class ComposerStaticInit411f4947a8556dc7692d18ddb0ac0a76
356
  public static function getInitializer(ClassLoader $loader)
357
  {
358
  return \Closure::bind(function () use ($loader) {
359
- $loader->prefixLengthsPsr4 = ComposerStaticInit411f4947a8556dc7692d18ddb0ac0a76::$prefixLengthsPsr4;
360
- $loader->prefixDirsPsr4 = ComposerStaticInit411f4947a8556dc7692d18ddb0ac0a76::$prefixDirsPsr4;
361
- $loader->prefixesPsr0 = ComposerStaticInit411f4947a8556dc7692d18ddb0ac0a76::$prefixesPsr0;
362
- $loader->classMap = ComposerStaticInit411f4947a8556dc7692d18ddb0ac0a76::$classMap;
363
 
364
  }, null, ClassLoader::class);
365
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0
8
  {
9
  public static $files = array (
10
  '3af723442581d6c310bf44543f9f5c60' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Functions/adjoint.php',
356
  public static function getInitializer(ClassLoader $loader)
357
  {
358
  return \Closure::bind(function () use ($loader) {
359
+ $loader->prefixLengthsPsr4 = ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$prefixLengthsPsr4;
360
+ $loader->prefixDirsPsr4 = ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$prefixDirsPsr4;
361
+ $loader->prefixesPsr0 = ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$prefixesPsr0;
362
+ $loader->classMap = ComposerStaticInit568905d56b9550ce6d51b8c60685e6f0::$classMap;
363
 
364
  }, null, ClassLoader::class);
365
  }
vendor/composer/installed.json CHANGED
@@ -7,18 +7,18 @@
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/Codeinwp/themeisle-sdk.git",
10
- "reference": "394d0f27e17dab350efa7e91bffff31f4b451fec"
11
  },
12
  "dist": {
13
  "type": "zip",
14
- "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/394d0f27e17dab350efa7e91bffff31f4b451fec",
15
- "reference": "394d0f27e17dab350efa7e91bffff31f4b451fec",
16
  "shasum": ""
17
  },
18
  "require-dev": {
19
  "codeinwp/phpcs-ruleset": "dev-main"
20
  },
21
- "time": "2021-10-27T10:27:45+00:00",
22
  "type": "library",
23
  "installation-source": "dist",
24
  "notification-url": "https://packagist.org/downloads/",
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/Codeinwp/themeisle-sdk.git",
10
+ "reference": "b56776ccf16904058a44d561190e58b6ac9b380e"
11
  },
12
  "dist": {
13
  "type": "zip",
14
+ "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/b56776ccf16904058a44d561190e58b6ac9b380e",
15
+ "reference": "b56776ccf16904058a44d561190e58b6ac9b380e",
16
  "shasum": ""
17
  },
18
  "require-dev": {
19
  "codeinwp/phpcs-ruleset": "dev-main"
20
  },
21
+ "time": "2022-02-02T14:03:42+00:00",
22
  "type": "library",
23
  "installation-source": "dist",
24
  "notification-url": "https://packagist.org/downloads/",
vendor/composer/installed.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php return array(
2
  'root' => array(
3
- 'pretty_version' => 'v3.7.3',
4
- 'version' => '3.7.3.0',
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => 'c81ac9fbbb0a1b0cd9dad8986011890bb9a0ee37',
9
  'name' => 'codeinwp/visualizer',
10
  'dev' => false,
11
  ),
@@ -16,16 +16,16 @@
16
  'type' => 'library',
17
  'install_path' => __DIR__ . '/../codeinwp/themeisle-sdk',
18
  'aliases' => array(),
19
- 'reference' => '394d0f27e17dab350efa7e91bffff31f4b451fec',
20
  'dev_requirement' => false,
21
  ),
22
  'codeinwp/visualizer' => array(
23
- 'pretty_version' => 'v3.7.3',
24
- 'version' => '3.7.3.0',
25
  'type' => 'wordpress-plugin',
26
  'install_path' => __DIR__ . '/../../',
27
  'aliases' => array(),
28
- 'reference' => 'c81ac9fbbb0a1b0cd9dad8986011890bb9a0ee37',
29
  'dev_requirement' => false,
30
  ),
31
  'markbaker/complex' => array(
1
  <?php return array(
2
  'root' => array(
3
+ 'pretty_version' => 'v3.7.4',
4
+ 'version' => '3.7.4.0',
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
+ 'reference' => 'c65a94bdf7828b45ac6f45c7bf5d0df57cbc3436',
9
  'name' => 'codeinwp/visualizer',
10
  'dev' => false,
11
  ),
16
  'type' => 'library',
17
  'install_path' => __DIR__ . '/../codeinwp/themeisle-sdk',
18
  'aliases' => array(),
19
+ 'reference' => 'b56776ccf16904058a44d561190e58b6ac9b380e',
20
  'dev_requirement' => false,
21
  ),
22
  'codeinwp/visualizer' => array(
23
+ 'pretty_version' => 'v3.7.4',
24
+ 'version' => '3.7.4.0',
25
  'type' => 'wordpress-plugin',
26
  'install_path' => __DIR__ . '/../../',
27
  'aliases' => array(),
28
+ 'reference' => 'c65a94bdf7828b45ac6f45c7bf5d0df57cbc3436',
29
  'dev_requirement' => false,
30
  ),
31
  'markbaker/complex' => array(