ThemeGrill Demo Importer - Version 1.5.7

Version Description

  • 06-03-2019 =
  • Fix - Demo preview overlay not importing specific demo.
Download this release

Release Info

Developer ThemeGrill
Plugin Icon 128x128 ThemeGrill Demo Importer
Version 1.5.7
Comparing to
See all releases

Code changes from version 1.5.6 to 1.5.7

.wordpress-org/banner-1544x500.png ADDED
Binary file
.wordpress-org/banner-772x250.png ADDED
Binary file
.wordpress-org/icon-128x128.png ADDED
Binary file
.wordpress-org/icon-256x256.png ADDED
Binary file
.wordpress-org/screenshot-1.png ADDED
Binary file
.wordpress-org/screenshot-2.png ADDED
Binary file
.wordpress-org/screenshot-3.png ADDED
Binary file
CHANGELOG.txt ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ == Changelog ==
2
+
3
+ = 1.5.7 - 06-03-2019 =
4
+ * Fix - Demo preview overlay not importing specific demo.
5
+
6
+ = 1.5.6 - 15-02-2019 =
7
+ * Fetaure - Install plugins and import demo on a single click.
8
+ * Tweak - Remove the more details on demo preview hover.
9
+ * Dev - Improve Coding standard with husky compatibility.
10
+
11
+ = 1.5.5 - 05-11-2018 =
12
+ * Feature - Add support for elementor schemes.
13
+
14
+ = 1.5.4 - 02-11-2018 =
15
+ * Change Modular to Zakra
16
+
17
+ = 1.5.3 - 30-10-2018 =
18
+ * Support - Modular theme.
19
+
20
+ = 1.5.2 - 25-09-2018 =
21
+ * Fix - Custom CSS migration on demo import.
22
+ * Fix - Live Preview button when demo is successfully imported in demo preview page.
23
+
24
+ = 1.5.1 - 24-08-2018 =
25
+ * Support - Cenote Pro theme.
26
+
27
+ = 1.5.0 - 21-08-2018 =
28
+ * Feature - Fetches the demo config from GitHub repo.
29
+ * Feature - Category and pagebuilder routes for views.
30
+ * Fetaure - Install and activate plugins on a single click.
31
+ * Fix - Slashes to be stripped from imported comments.
32
+ * Fix - Importing export files with multiline term meta data.
33
+ * Fix - Deprecation notices including `wp_get_http()` and `screen_icon()`.
34
+ * Tweak - Demo preview is supported via iframe.
35
+ * Tweak - Different device preview is possible for a demo.
36
+ * Tweak - Only store single demo package files in upload directory.
37
+ * Dev - Improve PHP7 compatibility.
38
+ * Deprecated - Upload process for the demo packages.
39
+ * Deprecated - Filter hooks `themegrill_demo_importer_config` and `themegrill_demo_importer_packages`.
40
+
41
+ = 1.4.3 - 23-04-2018 =
42
+ * Support - Cenote theme.
43
+
44
+ = 1.4.2 - 25-12-2017 =
45
+ * Fix - Disable WooCommerce setup wizard for demo import.
46
+ * Fix - Styling issue caused by missing `theme-id-container` container.
47
+
48
+ = 1.4.1 - 08-12-2017 =
49
+ * Feature - Compatiable with Elementor page builder.
50
+ * Fix - Styling issue caused by missing `theme-id-container` container.
51
+
52
+ = 1.4.0 - 20-07-2017 =
53
+ * Feature - Plugin installer and activator mechinism.
54
+ * Fix - Call to undefined function `preg_filter()`.
55
+ * Dev - Improved file structure.
56
+ * Dev - Introduced `tg_demo_installer_enabled()`.
57
+ * Dev - Introduced `tg_demo_installer_preview()`.
58
+ * Dev - Introduced `tg_demo_preview_screenshot_url()`.
59
+
60
+ = 1.3.4 - 03-07-2017 =
61
+ * Feature - Support RTL for Importer.
62
+ * Feature - Reset wizard for clean up.
63
+ * Fixed - Undefined queue job update action.
64
+ * Fixed - Use of `wp-heading-inline` core class.
65
+ * Tweak - Use of defined constant for demo packs.
66
+ * Tweak - Uninstall data with a defined constant.
67
+ * Tweak - Fallback screenshot for flash demo preview.
68
+
69
+ = 1.3.3 =
70
+ * Tweak - Support demo import for suffice theme.
71
+
72
+ = 1.3.2 =
73
+ * Tweak - Load screenshots for pro theme demos.
74
+
75
+ = 1.3.1 =
76
+ * Tweak - Load screenshot from theme instead of plugin for themes with single demo.
77
+
78
+ = 1.3.0 =
79
+ * Tweak - Support data update for nested siteorigin layoutbuilder.
80
+ * Fix - Import button not working on firefox.
81
+
82
+ = 1.2.0 =
83
+ * Tweak - Load scripts perfecly on demo importer appearance page.
84
+ * Tweak - Set transient for redirecting to demo importer page after install or update.
85
+ * Tweak - Introduced filter hook `themegrill_demo_importer_installer` to control demo view.
86
+
87
+ = 1.1.0 =
88
+ * Feature - Backbone views interface for demos and previews
89
+ * Feature - Added download button for the preview not installed
90
+ * Feature - Robust quick search view to change in demo interface
91
+ * Feature - Detailed information in popup to showcase plugins, events, etc
92
+ * Refactor - Replace old way to import demo with new `wp.updates` methods
93
+ * Fix - Menu classes to hide admin menu if no JS using css class `hide-if-no-js`
94
+ * Fix - Remove the old demo pack if found and to update the new demo packs
95
+
96
+ = 1.0.0 =
97
+ * Initial Public Release
CODE_OF_CONDUCT.md ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ ## Our Standards
8
+
9
+ Examples of behavior that contributes to creating a positive environment include:
10
+
11
+ * Using welcoming and inclusive language
12
+ * Being respectful of differing viewpoints and experiences
13
+ * Gracefully accepting constructive criticism
14
+ * Focusing on what is best for the community
15
+ * Showing empathy towards other community members
16
+
17
+ Examples of unacceptable behavior by participants include:
18
+
19
+ * The use of sexualized language or imagery and unwelcome sexual attention or advances
20
+ * Trolling, insulting/derogatory comments, and personal or political attacks
21
+ * Public or private harassment
22
+ * Publishing others' private information, such as a physical or electronic address, without explicit permission
23
+ * Other conduct which could reasonably be considered inappropriate in a professional setting
24
+
25
+ ## Our Responsibilities
26
+
27
+ Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28
+
29
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30
+
31
+ ## Scope
32
+
33
+ This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34
+
35
+ ## Enforcement
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at support@themegrill.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38
+
39
+ Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40
+
41
+ ## Attribution
42
+
43
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44
+
45
+ [homepage]: http://contributor-covenant.org
46
+ [version]: http://contributor-covenant.org/version/1/4/
assets/js/admin/demo-importer.js CHANGED
@@ -556,9 +556,9 @@ demos.view.Demo = wp.Backbone.View.extend({
556
  },
557
 
558
  importDemo: function( event ) {
559
- var _this = this,
560
- $target = $( event.target ),
561
- pluginsList = $( event.target ).data( 'plugins' );
562
  event.preventDefault();
563
 
564
  if ( $target.hasClass( 'disabled' ) || $target.hasClass( 'updating-message' ) ) {
@@ -569,18 +569,6 @@ demos.view.Demo = wp.Backbone.View.extend({
569
  return;
570
  }
571
 
572
- // Bail if there were required plugins.
573
- if ( ! $.isEmptyObject( pluginsList ) ) {
574
- if ( $target.html() !== wp.updates.l10n.installing ) {
575
- $target.data( 'originaltext', $target.html() );
576
- }
577
-
578
- $target
579
- .addClass( 'updating-message' )
580
- .text( wp.updates.l10n.installing );
581
- wp.a11y.speak( wp.updates.l10n.installingMsg, 'polite' );
582
- }
583
-
584
  wp.updates.maybeRequestFilesystemCredentials( event );
585
 
586
  $( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
@@ -593,7 +581,9 @@ demos.view.Demo = wp.Backbone.View.extend({
593
  action: 'install-plugin',
594
  data: {
595
  plugin: plugin_data.slug,
596
- slug: plugin_slug
 
 
597
  }
598
  } );
599
  }
@@ -601,6 +591,7 @@ demos.view.Demo = wp.Backbone.View.extend({
601
 
602
  $( document ).on( 'wp-demo-import-success', function( event, response ) {
603
  if ( _this.model.get( 'id' ) === response.slug ) {
 
604
  _this.model.set( { 'imported': true } );
605
  }
606
  } );
@@ -757,8 +748,8 @@ demos.view.Preview = wp.Backbone.View.extend({
757
 
758
  importDemo: function( event ) {
759
  var _this = this,
 
760
  pluginsList = $( '.plugins-list-table' ).find( '#the-list tr' ),
761
- $target = $( '.demo-import' ),
762
  success = 0,
763
  error = 0,
764
  errorMessages = [];
@@ -773,23 +764,11 @@ demos.view.Preview = wp.Backbone.View.extend({
773
  return;
774
  }
775
 
776
- // Bail if there were required plugins.
777
- if ( pluginsList.length ) {
778
- if ( $target.html() !== wp.updates.l10n.installing ) {
779
- $target.data( 'originaltext', $target.html() );
780
- }
781
-
782
- $target
783
- .addClass( 'updating-message' )
784
- .text( wp.updates.l10n.installing );
785
- wp.a11y.speak( wp.updates.l10n.installingMsg, 'polite' );
786
-
787
- // Disable the next and previous demo.
788
- $( '.theme-install-overlay' ).find( '.next-theme, .previous-theme' ).addClass( 'disabled' );
789
- }
790
-
791
  wp.updates.maybeRequestFilesystemCredentials( event );
792
 
 
 
 
793
  $( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
794
 
795
  // Find all the plugins which are required.
@@ -806,7 +785,8 @@ demos.view.Preview = wp.Backbone.View.extend({
806
  action: 'install-plugin',
807
  data: {
808
  plugin: $itemRow.data( 'plugin' ),
809
- slug: $itemRow.data( 'slug' )
 
810
  }
811
  } );
812
  } );
@@ -874,7 +854,6 @@ demos.view.Preview = wp.Backbone.View.extend({
874
 
875
  $( document ).on( 'wp-demo-import-success', function( event, response ) {
876
  if ( _this.model.get( 'id' ) === response.slug ) {
877
- // _this.render();
878
  _this.model.set( { 'imported': true } );
879
  }
880
  } );
556
  },
557
 
558
  importDemo: function( event ) {
559
+ var _this = this,
560
+ $target = $( event.target ),
561
+ pluginsList = $( event.target ).data( 'plugins' );
562
  event.preventDefault();
563
 
564
  if ( $target.hasClass( 'disabled' ) || $target.hasClass( 'updating-message' ) ) {
569
  return;
570
  }
571
 
 
 
 
 
 
 
 
 
 
 
 
 
572
  wp.updates.maybeRequestFilesystemCredentials( event );
573
 
574
  $( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
581
  action: 'install-plugin',
582
  data: {
583
  plugin: plugin_data.slug,
584
+ name: plugin_data.name,
585
+ slug: plugin_slug,
586
+ demo: $target.data( 'slug' )
587
  }
588
  } );
589
  }
591
 
592
  $( document ).on( 'wp-demo-import-success', function( event, response ) {
593
  if ( _this.model.get( 'id' ) === response.slug ) {
594
+ _this.render();
595
  _this.model.set( { 'imported': true } );
596
  }
597
  } );
748
 
749
  importDemo: function( event ) {
750
  var _this = this,
751
+ $target = $( event.target ),
752
  pluginsList = $( '.plugins-list-table' ).find( '#the-list tr' ),
 
753
  success = 0,
754
  error = 0,
755
  errorMessages = [];
764
  return;
765
  }
766
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
767
  wp.updates.maybeRequestFilesystemCredentials( event );
768
 
769
+ // Disable the next and previous demo.
770
+ $( '.theme-install-overlay' ).find( '.next-theme, .previous-theme' ).addClass( 'disabled' );
771
+
772
  $( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
773
 
774
  // Find all the plugins which are required.
785
  action: 'install-plugin',
786
  data: {
787
  plugin: $itemRow.data( 'plugin' ),
788
+ slug: $itemRow.data( 'slug' ),
789
+ demo: $target.data( 'slug' )
790
  }
791
  } );
792
  } );
854
 
855
  $( document ).on( 'wp-demo-import-success', function( event, response ) {
856
  if ( _this.model.get( 'id' ) === response.slug ) {
 
857
  _this.model.set( { 'imported': true } );
858
  }
859
  } );
assets/js/admin/demo-importer.min.js CHANGED
@@ -1 +1 @@
1
- window.wp=window.wp||{},function(d){var a,i;(a=wp.demos=wp.demos||{}).data=_demoImporterSettings,i=a.data.l10n,a.isNew=!!a.data.settings.isNew,_.extend(a,{model:{},view:{},routes:{},router:{},template:wp.template}),a.Model=Backbone.Model.extend({initialize:function(){var e;this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(e=this.get("sections").description,this.set({description:e}))}}),a.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:d(window),page:0,initialize:function(e){_.bindAll(this,"scroller"),this.SearchView=e.SearchView?e.SearchView:a.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new a.view.Demos({collection:this.collection,parent:this}),this.search(),this.$el.removeClass("search-loading"),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered")},searchContainer:d(".search-form"),search:function(){var e;1!==a.data.demos.length&&(e=new this.SearchView({collection:this.collection,parent:this}),(this.SearchView=e).render(),this.searchContainer.append(d.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+i.search+"</label>")).append(e.el).on("submit",function(e){e.preventDefault()}))},scroller:function(){var e,t=this;this.window.scrollTop(),t.window.height(),e=t.$el.offset().top+t.$el.outerHeight(!1)-t.window.height(),e=Math.round(.9*e)}}),a.Collection=Backbone.Collection.extend({model:a.Model,terms:"",doSearch:function(e){this.terms!==e&&(this.terms=e,0<this.terms.length&&this.search(this.terms),""===this.terms&&(this.reset(a.data.demos),d("body").removeClass("no-results")),this.trigger("demos:update"))},search:function(t){var i,e,s,r,o,n;this.reset(a.data.demos,{silent:!0}),t=(t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")).replace(/ /g,")(?=.*"),i=new RegExp("^(?=.*"+t+").+","i"),0===(e=this.filter(function(e){return r=e.get("name").replace(/(<([^>]+)>)/gi,""),o=e.get("description").replace(/(<([^>]+)>)/gi,""),n=e.get("author").replace(/(<([^>]+)>)/gi,""),s=_.union([r,e.get("id"),o,n,e.get("tags")]),i.test(e.get("author"))&&2<t.length&&e.set("displayAuthor",!0),i.test(s)})).length?this.trigger("query:empty"):d("body").removeClass("no-results"),this.reset(e)},paginate:function(e){var t=this;return e=e||0,t=_(t.rest(20*e)),t=_(t.first(20))},count:!1,query:function(t){var e,i,s,r=this.queries,o=this;if(this.currentQuery.request=t,e=_.find(r,function(e){return _.isEqual(e.request,t)}),(i=_.has(t,"page"))||(this.currentQuery.page=1),e||i){if(i)return this.apiCall(t,i).done(function(e){o.add(e.demos),o.trigger("query:success"),o.loadingDemos=!1}).fail(function(){o.trigger("query:fail")});0===e.demos.length?o.trigger("query:empty"):d("body").removeClass("no-results"),_.isNumber(e.total)&&(this.count=e.total),this.reset(e.demos),e.total||(this.count=this.length),this.trigger("demos:update"),this.trigger("query:success",this.count)}else e=this.apiCall(t).done(function(e){e.demos&&(o.reset(e.demos),s=e.info.results,r.push({demos:e.demos,request:t,total:s})),o.trigger("demos:update"),o.trigger("query:success",s),e.demos&&0===e.demos.length&&o.trigger("query:empty")}).fail(function(){o.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(e,t){return wp.ajax.send("query-demos",{data:{request:_.extend({per_page:100},e)},beforeSend:function(){t||d("body").addClass("loading-content").removeClass("no-results")}})},loadingDemos:!1}),a.view.Demo=wp.Backbone.View.extend({className:"theme",state:"grid",html:a.template("demo"),events:{click:"preview",keydown:"preview",touchend:"preview",keyup:"addFocus",touchmove:"preventExpand","click .demo-import":"importDemo"},touchDrag:!1,initialize:function(){this.model.on("change",this.render,this)},render:function(){var e=this.model.toJSON();this.$el.html(this.html(e)).attr({tabindex:0,"aria-describedby":e.id+"-action "+e.id+"-name","data-slug":e.id}),this.activeDemo(),this.model.get("displayAuthor")&&this.$el.addClass("display-author")},activeDemo:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var e=d(":focus").hasClass("theme")?d(":focus"):d(":focus").parents(".theme");d(".theme.focus").removeClass("focus"),e.addClass("focus")},preventExpand:function(){this.touchDrag=!0},preview:function(e){var t,i,s=this;if(e=e||window.event,!0===this.touchDrag)return this.touchDrag=!1;d(e.target).not(".install-demo-preview").parents(".theme-actions").length||"keydown"===e.type&&13!==e.which&&32!==e.which||"keydown"===e.type&&13!==e.which&&d(":focus").hasClass("button")||(e.preventDefault(),e=e||window.event,a.focusedDemo=this.$el,a.preview=i=new a.view.Preview({model:this.model}),i.render(),this.setNavButtonsState(),1===this.model.collection.length?i.$el.addClass("no-navigation"):i.$el.removeClass("no-navigation"),d("div.wrap").append(i.el),this.listenTo(i,"demo:next",function(){if(t=s.model,_.isUndefined(s.current)||(t=s.current),s.current=s.model.collection.at(s.model.collection.indexOf(t)+1),_.isUndefined(s.current))return s.options.parent.parent.trigger("demo:end"),s.current=t;i.model=s.current,i.render(),this.setNavButtonsState(),d(".next-theme").focus()}).listenTo(i,"demo:previous",function(){t=s.model,0!==s.model.collection.indexOf(s.current)&&(_.isUndefined(s.current)||(t=s.current),s.current=s.model.collection.at(s.model.collection.indexOf(t)-1),_.isUndefined(s.current)||(i.model=s.current,i.render(),this.setNavButtonsState(),d(".previous-theme").focus()))}),this.listenTo(i,"preview:close",function(){s.current=s.model}))},setNavButtonsState:function(){var e=d(".theme-install-overlay"),t=_.isUndefined(this.current)?this.model:this.current,i=e.find(".previous-theme"),s=e.find(".next-theme");0===this.model.collection.indexOf(t)&&(i.addClass("disabled").prop("disabled",!0),s.focus()),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(t)+1))&&(s.addClass("disabled").prop("disabled",!0),i.focus())},importDemo:function(e){var i=this,t=d(e.target),s=d(e.target).data("plugins");e.preventDefault(),t.hasClass("disabled")||t.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(d.isEmptyObject(s)||(t.html()!==wp.updates.l10n.installing&&t.data("originaltext",t.html()),t.addClass("updating-message").text(wp.updates.l10n.installing),wp.a11y.speak(wp.updates.l10n.installingMsg,"polite")),wp.updates.maybeRequestFilesystemCredentials(e),d(document).trigger("wp-plugin-bulk-install",s),d.each(s,function(e,t){t.is_active||wp.updates.queue.push({action:"install-plugin",data:{plugin:t.slug,slug:e}})}),d(document).on("wp-demo-import-success",function(e,t){i.model.get("id")===t.slug&&i.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:t.data("slug")}}),wp.updates.queueChecker())}}),a.view.Preview=wp.Backbone.View.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .devices button":"previewDevice","click .previous-theme":"previousDemo","click .next-theme":"nextDemo",keyup:"keyEvent","click .demo-import":"importDemo"},html:a.template("demo-preview"),render:function(){var e,t=this,i=this.model.toJSON(),s=d(document.body);s.attr("aria-busy","true"),this.$el.removeClass("iframe-ready").html(this.html(i)),(e=this.$el.data("current-preview-device"))&&t.tooglePreviewDeviceButtons(e),a.router.navigate(a.router.baseUrl(a.router.demoPath+this.model.get("id")),{replace:!1}),this.$el.fadeIn(200,function(){s.addClass("demo-importer-active full-overlay-active")}),this.$el.find("iframe").one("load",function(){t.iframeLoaded()})},iframeLoaded:function(){this.$el.addClass("iframe-ready"),d(document.body).attr("aria-busy","false")},close:function(){return this.$el.fadeOut(200,function(){d("body").removeClass("demo-importer-active full-overlay-active"),a.focusedDemo&&a.focusedDemo.focus()}).removeClass("iframe-ready"),a.router.selectedTab?a.router.navigate(a.router.baseUrl("&browse="+a.router.selectedTab)):a.router.navigate(a.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(e){var t=d(e.currentTarget);return"true"===t.attr("aria-expanded")?t.attr({"aria-expanded":"false","aria-label":i.expandSidebar}):t.attr({"aria-expanded":"true","aria-label":i.collapseSidebar}),this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},previewDevice:function(e){var t=d(e.currentTarget).data("device");this.$el.removeClass("preview-desktop preview-tablet preview-mobile").addClass("preview-"+t).data("current-preview-device",t),this.tooglePreviewDeviceButtons(t)},tooglePreviewDeviceButtons:function(e){var t=d(".wp-full-overlay-footer .devices");t.find("button").removeClass("active").attr("aria-pressed",!1),t.find("button.preview-"+e).addClass("active").attr("aria-pressed",!0)},keyEvent:function(e){27===e.keyCode&&(this.undelegateEvents(),this.close()),39===e.keyCode&&_.once(this.nextDemo()),37===e.keyCode&&this.previousDemo()},nextDemo:function(){return this.trigger("demo:next",this.model.cid),!1},previousDemo:function(){return this.trigger("demo:previous",this.model.cid),!1},importDemo:function(e){var o=this,t=d(".plugins-list-table").find("#the-list tr"),n=d(".demo-import"),a=0,l=0,c=[];e.preventDefault(),n.hasClass("disabled")||n.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(t.length&&(n.html()!==wp.updates.l10n.installing&&n.data("originaltext",n.html()),n.addClass("updating-message").text(wp.updates.l10n.installing),wp.a11y.speak(wp.updates.l10n.installingMsg,"polite"),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")),wp.updates.maybeRequestFilesystemCredentials(e),d(document).trigger("wp-plugin-bulk-install",t),t.each(function(e,t){var i=d(t);i.hasClass("inactive")&&!i.find("notice-error").length&&wp.updates.queue.push({action:"install-plugin",data:{plugin:i.data("plugin"),slug:i.data("slug")}})}),d(document).on("wp-plugin-bulk-installing",function(){d(".wp-full-overlay-sidebar-content").animate({scrollTop:d(document).height()})}),d(document).on("wp-plugin-bulk-install-success wp-plugin-bulk-install-error",function(e,t){var i,s,r=d('[data-slug="'+t.slug+'"]');"wp-"+t.install+"-bulk-install-success"===e.type?a++:(s=t.pluginName?t.pluginName:r.find(".plugin-name").text(),l++,c.push(s+": "+t.errorMessage)),wp.updates.adminNotice=wp.template("wp-bulk-installs-admin-notice"),d(".plugins-details .bulk-action-notice").remove(),d(".plugins-details .plugins-info").after(wp.updates.adminNotice({id:"bulk-action-notice",className:"bulk-action-notice notice-alt",successes:a,errors:l,errorMessages:c,type:t.install})),i=d("#bulk-action-notice").on("click","button",function(){d(this).toggleClass("bulk-action-errors-collapsed").attr("aria-expanded",!d(this).hasClass("bulk-action-errors-collapsed")),i.find(".bulk-action-errors").toggleClass("hidden")}),wp.updates.queue.length||(0<l?n.removeClass("updating-message").text(n.data("originaltext")):(o.model.set({requiredPlugins:!1}),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")))}),d(document).on("wp-updates-notice-added",function(){wp.updates.adminNotice=wp.template("wp-updates-admin-notice")}),d(document).on("wp-demo-import-success",function(e,t){o.model.get("id")===t.slug&&o.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:n.data("slug")}}),wp.updates.queueChecker())}}),a.view.Demos=wp.Backbone.View.extend({className:"themes wp-clearfix",$overlay:d("div.theme-overlay"),index:0,count:d(".wrap .demo-count"),liveDemoCount:0,initialize:function(e){var t=this;this.parent=e.parent,this.setView("grid"),t.importedDemo(),this.listenTo(t.collection,"demos:update",function(){t.parent.page=0,t.importedDemo(),t.render(this)}),this.listenTo(t.collection,"query:success",function(e){_.isNumber(e)?(t.count.text(e),t.announceSearchResults(e)):(t.count.text(t.collection.length),t.announceSearchResults(t.collection.length))}),this.listenTo(t.collection,"query:empty",function(){d("body").addClass("no-results")}),this.listenTo(this.parent,"demo:scroll",function(){t.renderDemos(t.parent.page)})},render:function(){this.$el.empty(),0<this.options.collection.size()&&this.renderDemos(this.parent.page),this.liveDemoCount=this.collection.count?this.collection.count:this.collection.length,this.count.text(this.liveDemoCount)},renderDemos:function(e){var t=this;t.instance=t.collection.paginate(e),0!==t.instance.size()?(a.isNew&&1<=e&&d(".add-new-theme").remove(),t.instance.each(function(e){t.demo=new a.view.Demo({model:e,parent:t}),t.demo.render(),t.$el.append(t.demo.el)}),a.isNew&&a.data.settings.suggestURI&&this.$el.append('<div class="theme add-new-theme"><a href="'+a.data.settings.suggestURI+'" target="blank"><div class="theme-screenshot"><span></span></div><h2 class="theme-name">'+i.suggestNew+"</h2></a></div>"),this.parent.page++):this.parent.trigger("demo:end")},importedDemo:function(){var e;(e=this.collection.findWhere({active:!0}))&&(this.collection.remove(e),this.collection.add(e,{at:0}))},setView:function(e){return e},announceSearchResults:function(e){0===e?wp.a11y.speak(i.noDemosFound):wp.a11y.speak(i.demosFound.replace("%d",e))}}),a.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:i.searchPlaceholder,type:"search","aria-describedby":"live-search-desc"},events:{input:"search",keyup:"search",blur:"pushState"},initialize:function(e){this.parent=e.parent,this.listenTo(this.parent,"demo:close",function(){this.searching=!1})},search:function(e){"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e)},doSearch:function(e){var t={};this.collection.doSearch(e.target.value.replace(/\+/g," ")),this.searching&&13!==e.which?t.replace=!0:this.searching=!0,e.target.value?a.router.navigate(a.router.baseUrl(a.router.searchPath+e.target.value),t):a.router.navigate(a.router.baseUrl(""))},pushState:function(e){var t=a.router.baseUrl("");e.target.value&&(t=a.router.baseUrl(a.router.searchPath+encodeURIComponent(e.target.value))),this.searching=!1,a.router.navigate(t)}}),a.Router=Backbone.Router.extend({routes:{"themes.php?page=demo-importer&demo=:slug":"preview","themes.php?page=demo-importer&browse=:sort":"sort","themes.php?page=demo-importer&search=:query":"search","themes.php?page=demo-importer":"sort"},baseUrl:function(e){return"themes.php?page=demo-importer"+e},demoPath:"&demo=",browsePath:"&browse=",searchPath:"&search=",search:function(e){d(".wp-filter-search").val(e.replace(/\+/g," "))},navigate:function s(e,t){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.call(this,e,t)}}),a.view.InstallerSearch=a.view.Search.extend({events:{input:"search",keyup:"search"},terms:"",search:function(e){("keyup"!==e.type||9!==e.which&&16!==e.which)&&(this.collection=this.options.parent.view.collection,"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e.target.value))},doSearch:function(e){this.terms!==e&&(this.terms=e,d(".filter-links li > a.current").removeClass("current").removeAttr("aria-current"),this.collection.doSearch(e.replace(/\+/g," ")),a.router.navigate(a.router.baseUrl(a.router.searchPath+encodeURIComponent(e)),{replace:!0}))}}),a.view.Installer=a.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort"},render:function(){var e=this;this.search(),this.collection=new a.Collection,this.listenTo(this,"demo:end",function(){e.collection.loadingDemos||(e.collection.loadingDemos=!0,e.collection.currentQuery.page++,_.extend(e.collection.currentQuery.request,{page:e.collection.currentQuery.page}),e.collection.query(e.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove(),d(".theme-browser").find("div.themes").before('<div class="error"><p>'+i.error+'</p><p><button class="button try-again">'+i.tryAgain+"</button></p></div>"),d(".theme-browser .error .try-again").on("click",function(e){e.preventDefault(),d("input.wp-filter-search").trigger("input")})}),this.view&&this.view.remove(),this.view=new a.view.Demos({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(e,t){this.collection.query({browse:e,builder:t})},onSort:function(e){var t=d(e.target),i=t.data("sort"),s=t.data("type");e.preventDefault(),i=i||a.router.selectedTab,s=s||a.router.selectedType,t.hasClass(this.activeClass)||(this.sort(i,s),a.router.navigate(a.router.baseUrl(a.router.browsePath+i)))},sort:function(e,t){this.clearSearch(),a.router.selectedTab=e,a.router.selectedType=t,d(".filter-links li > a").removeClass(this.activeClass).removeAttr("aria-current"),d('[data-sort="'+e+'"]').addClass(this.activeClass).attr("aria-current","page"),d('[data-type="'+t+'"]').addClass(this.activeClass).attr("aria-current","page"),this.browse(e,t)},activeClass:"current",clearSearch:function(){d("#wp-filter-search-input").val("")}}),a.RunInstaller={init:function(){this.view=new a.view.Installer({section:"all",SearchView:a.view.InstallerSearch}),this.render(),this.view.SearchView.doSearch=_.debounce(this.view.SearchView.doSearch,500)},render:function(){this.view.render(),this.routes(),Backbone.History.started&&Backbone.history.stop(),Backbone.history.start({root:a.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var i=this,t={};a.router=new a.Router,a.router.on("route:preview",function(e){a.preview&&(a.preview.undelegateEvents(),a.preview.unbind()),i.view.view.demo&&i.view.view.demo.preview?(i.view.view.demo.model=i.view.collection.findWhere({slug:e}),i.view.view.demo.preview()):(t.demo=e,i.view.collection.query(t),i.view.collection.trigger("update"),i.view.collection.once("query:success",function(){d('div[data-slug="'+e+'"]').trigger("click")}))}),a.router.on("route:sort",function(e){var t=a.router.selectedType?a.router.selectedType:d(".filter-links.pagebuilders li").first().find("a").data("type");e&&d('[data-sort="'+e+'"]').length||(e="all",a.router.navigate(a.router.baseUrl("&browse=all"),{replace:!0})),i.view.sort(e,t),a.preview&&a.preview.close()}),a.router.on("route:search",function(){d(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},d(document).ready(function(){a.RunInstaller.init(),d(document.body).on("init_tooltips",function(){d("#tiptip_holder").removeAttr("style"),d("#tiptip_arrow").removeAttr("style"),d(".tips").tipTip({attribute:"data-tip",defaultPosition:"top",fadeIn:50,fadeOut:50,delay:50})}).trigger("init_tooltips"),d(".themegrill-reset-wordpress").on("click",function(){return window.confirm(_demoImporterSettings.settings.confirmReset)}),d(".themegrill-demo-importer-rating-link").on("click",function(){var e=d(this);d.post(a.data.settings.ajaxUrl,{action:"footer-text-rated"}),e.parent().text(e.data("rated"))})})}(jQuery);
1
+ window.wp=window.wp||{},function(d){var a,i;(a=wp.demos=wp.demos||{}).data=_demoImporterSettings,i=a.data.l10n,a.isNew=!!a.data.settings.isNew,_.extend(a,{model:{},view:{},routes:{},router:{},template:wp.template}),a.Model=Backbone.Model.extend({initialize:function(){var e;this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(e=this.get("sections").description,this.set({description:e}))}}),a.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:d(window),page:0,initialize:function(e){_.bindAll(this,"scroller"),this.SearchView=e.SearchView?e.SearchView:a.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new a.view.Demos({collection:this.collection,parent:this}),this.search(),this.$el.removeClass("search-loading"),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered")},searchContainer:d(".search-form"),search:function(){var e;1!==a.data.demos.length&&(e=new this.SearchView({collection:this.collection,parent:this}),(this.SearchView=e).render(),this.searchContainer.append(d.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+i.search+"</label>")).append(e.el).on("submit",function(e){e.preventDefault()}))},scroller:function(){var e,t=this;this.window.scrollTop(),t.window.height(),e=t.$el.offset().top+t.$el.outerHeight(!1)-t.window.height(),e=Math.round(.9*e)}}),a.Collection=Backbone.Collection.extend({model:a.Model,terms:"",doSearch:function(e){this.terms!==e&&(this.terms=e,0<this.terms.length&&this.search(this.terms),""===this.terms&&(this.reset(a.data.demos),d("body").removeClass("no-results")),this.trigger("demos:update"))},search:function(t){var i,e,r,s,o,n;this.reset(a.data.demos,{silent:!0}),t=(t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")).replace(/ /g,")(?=.*"),i=new RegExp("^(?=.*"+t+").+","i"),0===(e=this.filter(function(e){return s=e.get("name").replace(/(<([^>]+)>)/gi,""),o=e.get("description").replace(/(<([^>]+)>)/gi,""),n=e.get("author").replace(/(<([^>]+)>)/gi,""),r=_.union([s,e.get("id"),o,n,e.get("tags")]),i.test(e.get("author"))&&2<t.length&&e.set("displayAuthor",!0),i.test(r)})).length?this.trigger("query:empty"):d("body").removeClass("no-results"),this.reset(e)},paginate:function(e){var t=this;return e=e||0,t=_(t.rest(20*e)),t=_(t.first(20))},count:!1,query:function(t){var e,i,r,s=this.queries,o=this;if(this.currentQuery.request=t,e=_.find(s,function(e){return _.isEqual(e.request,t)}),(i=_.has(t,"page"))||(this.currentQuery.page=1),e||i){if(i)return this.apiCall(t,i).done(function(e){o.add(e.demos),o.trigger("query:success"),o.loadingDemos=!1}).fail(function(){o.trigger("query:fail")});0===e.demos.length?o.trigger("query:empty"):d("body").removeClass("no-results"),_.isNumber(e.total)&&(this.count=e.total),this.reset(e.demos),e.total||(this.count=this.length),this.trigger("demos:update"),this.trigger("query:success",this.count)}else e=this.apiCall(t).done(function(e){e.demos&&(o.reset(e.demos),r=e.info.results,s.push({demos:e.demos,request:t,total:r})),o.trigger("demos:update"),o.trigger("query:success",r),e.demos&&0===e.demos.length&&o.trigger("query:empty")}).fail(function(){o.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(e,t){return wp.ajax.send("query-demos",{data:{request:_.extend({per_page:100},e)},beforeSend:function(){t||d("body").addClass("loading-content").removeClass("no-results")}})},loadingDemos:!1}),a.view.Demo=wp.Backbone.View.extend({className:"theme",state:"grid",html:a.template("demo"),events:{click:"preview",keydown:"preview",touchend:"preview",keyup:"addFocus",touchmove:"preventExpand","click .demo-import":"importDemo"},touchDrag:!1,initialize:function(){this.model.on("change",this.render,this)},render:function(){var e=this.model.toJSON();this.$el.html(this.html(e)).attr({tabindex:0,"aria-describedby":e.id+"-action "+e.id+"-name","data-slug":e.id}),this.activeDemo(),this.model.get("displayAuthor")&&this.$el.addClass("display-author")},activeDemo:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var e=d(":focus").hasClass("theme")?d(":focus"):d(":focus").parents(".theme");d(".theme.focus").removeClass("focus"),e.addClass("focus")},preventExpand:function(){this.touchDrag=!0},preview:function(e){var t,i,r=this;if(e=e||window.event,!0===this.touchDrag)return this.touchDrag=!1;d(e.target).not(".install-demo-preview").parents(".theme-actions").length||"keydown"===e.type&&13!==e.which&&32!==e.which||"keydown"===e.type&&13!==e.which&&d(":focus").hasClass("button")||(e.preventDefault(),e=e||window.event,a.focusedDemo=this.$el,a.preview=i=new a.view.Preview({model:this.model}),i.render(),this.setNavButtonsState(),1===this.model.collection.length?i.$el.addClass("no-navigation"):i.$el.removeClass("no-navigation"),d("div.wrap").append(i.el),this.listenTo(i,"demo:next",function(){if(t=r.model,_.isUndefined(r.current)||(t=r.current),r.current=r.model.collection.at(r.model.collection.indexOf(t)+1),_.isUndefined(r.current))return r.options.parent.parent.trigger("demo:end"),r.current=t;i.model=r.current,i.render(),this.setNavButtonsState(),d(".next-theme").focus()}).listenTo(i,"demo:previous",function(){t=r.model,0!==r.model.collection.indexOf(r.current)&&(_.isUndefined(r.current)||(t=r.current),r.current=r.model.collection.at(r.model.collection.indexOf(t)-1),_.isUndefined(r.current)||(i.model=r.current,i.render(),this.setNavButtonsState(),d(".previous-theme").focus()))}),this.listenTo(i,"preview:close",function(){r.current=r.model}))},setNavButtonsState:function(){var e=d(".theme-install-overlay"),t=_.isUndefined(this.current)?this.model:this.current,i=e.find(".previous-theme"),r=e.find(".next-theme");0===this.model.collection.indexOf(t)&&(i.addClass("disabled").prop("disabled",!0),r.focus()),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(t)+1))&&(r.addClass("disabled").prop("disabled",!0),i.focus())},importDemo:function(e){var i=this,r=d(e.target),t=d(e.target).data("plugins");e.preventDefault(),r.hasClass("disabled")||r.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(wp.updates.maybeRequestFilesystemCredentials(e),d(document).trigger("wp-plugin-bulk-install",t),d.each(t,function(e,t){t.is_active||wp.updates.queue.push({action:"install-plugin",data:{plugin:t.slug,name:t.name,slug:e,demo:r.data("slug")}})}),d(document).on("wp-demo-import-success",function(e,t){i.model.get("id")===t.slug&&(i.render(),i.model.set({imported:!0}))}),wp.updates.queue.push({action:"import-demo",data:{slug:r.data("slug")}}),wp.updates.queueChecker())}}),a.view.Preview=wp.Backbone.View.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .devices button":"previewDevice","click .previous-theme":"previousDemo","click .next-theme":"nextDemo",keyup:"keyEvent","click .demo-import":"importDemo"},html:a.template("demo-preview"),render:function(){var e,t=this,i=this.model.toJSON(),r=d(document.body);r.attr("aria-busy","true"),this.$el.removeClass("iframe-ready").html(this.html(i)),(e=this.$el.data("current-preview-device"))&&t.tooglePreviewDeviceButtons(e),a.router.navigate(a.router.baseUrl(a.router.demoPath+this.model.get("id")),{replace:!1}),this.$el.fadeIn(200,function(){r.addClass("demo-importer-active full-overlay-active")}),this.$el.find("iframe").one("load",function(){t.iframeLoaded()})},iframeLoaded:function(){this.$el.addClass("iframe-ready"),d(document.body).attr("aria-busy","false")},close:function(){return this.$el.fadeOut(200,function(){d("body").removeClass("demo-importer-active full-overlay-active"),a.focusedDemo&&a.focusedDemo.focus()}).removeClass("iframe-ready"),a.router.selectedTab?a.router.navigate(a.router.baseUrl("&browse="+a.router.selectedTab)):a.router.navigate(a.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(e){var t=d(e.currentTarget);return"true"===t.attr("aria-expanded")?t.attr({"aria-expanded":"false","aria-label":i.expandSidebar}):t.attr({"aria-expanded":"true","aria-label":i.collapseSidebar}),this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},previewDevice:function(e){var t=d(e.currentTarget).data("device");this.$el.removeClass("preview-desktop preview-tablet preview-mobile").addClass("preview-"+t).data("current-preview-device",t),this.tooglePreviewDeviceButtons(t)},tooglePreviewDeviceButtons:function(e){var t=d(".wp-full-overlay-footer .devices");t.find("button").removeClass("active").attr("aria-pressed",!1),t.find("button.preview-"+e).addClass("active").attr("aria-pressed",!0)},keyEvent:function(e){27===e.keyCode&&(this.undelegateEvents(),this.close()),39===e.keyCode&&_.once(this.nextDemo()),37===e.keyCode&&this.previousDemo()},nextDemo:function(){return this.trigger("demo:next",this.model.cid),!1},previousDemo:function(){return this.trigger("demo:previous",this.model.cid),!1},importDemo:function(e){var o=this,n=d(e.target),t=d(".plugins-list-table").find("#the-list tr"),a=0,l=0,c=[];e.preventDefault(),n.hasClass("disabled")||n.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(wp.updates.maybeRequestFilesystemCredentials(e),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled"),d(document).trigger("wp-plugin-bulk-install",t),t.each(function(e,t){var i=d(t);i.hasClass("inactive")&&!i.find("notice-error").length&&wp.updates.queue.push({action:"install-plugin",data:{plugin:i.data("plugin"),slug:i.data("slug"),demo:n.data("slug")}})}),d(document).on("wp-plugin-bulk-installing",function(){d(".wp-full-overlay-sidebar-content").animate({scrollTop:d(document).height()})}),d(document).on("wp-plugin-bulk-install-success wp-plugin-bulk-install-error",function(e,t){var i,r,s=d('[data-slug="'+t.slug+'"]');"wp-"+t.install+"-bulk-install-success"===e.type?a++:(r=t.pluginName?t.pluginName:s.find(".plugin-name").text(),l++,c.push(r+": "+t.errorMessage)),wp.updates.adminNotice=wp.template("wp-bulk-installs-admin-notice"),d(".plugins-details .bulk-action-notice").remove(),d(".plugins-details .plugins-info").after(wp.updates.adminNotice({id:"bulk-action-notice",className:"bulk-action-notice notice-alt",successes:a,errors:l,errorMessages:c,type:t.install})),i=d("#bulk-action-notice").on("click","button",function(){d(this).toggleClass("bulk-action-errors-collapsed").attr("aria-expanded",!d(this).hasClass("bulk-action-errors-collapsed")),i.find(".bulk-action-errors").toggleClass("hidden")}),wp.updates.queue.length||(0<l?n.removeClass("updating-message").text(n.data("originaltext")):(o.model.set({requiredPlugins:!1}),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")))}),d(document).on("wp-updates-notice-added",function(){wp.updates.adminNotice=wp.template("wp-updates-admin-notice")}),d(document).on("wp-demo-import-success",function(e,t){o.model.get("id")===t.slug&&o.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:n.data("slug")}}),wp.updates.queueChecker())}}),a.view.Demos=wp.Backbone.View.extend({className:"themes wp-clearfix",$overlay:d("div.theme-overlay"),index:0,count:d(".wrap .demo-count"),liveDemoCount:0,initialize:function(e){var t=this;this.parent=e.parent,this.setView("grid"),t.importedDemo(),this.listenTo(t.collection,"demos:update",function(){t.parent.page=0,t.importedDemo(),t.render(this)}),this.listenTo(t.collection,"query:success",function(e){_.isNumber(e)?(t.count.text(e),t.announceSearchResults(e)):(t.count.text(t.collection.length),t.announceSearchResults(t.collection.length))}),this.listenTo(t.collection,"query:empty",function(){d("body").addClass("no-results")}),this.listenTo(this.parent,"demo:scroll",function(){t.renderDemos(t.parent.page)})},render:function(){this.$el.empty(),0<this.options.collection.size()&&this.renderDemos(this.parent.page),this.liveDemoCount=this.collection.count?this.collection.count:this.collection.length,this.count.text(this.liveDemoCount)},renderDemos:function(e){var t=this;t.instance=t.collection.paginate(e),0!==t.instance.size()?(a.isNew&&1<=e&&d(".add-new-theme").remove(),t.instance.each(function(e){t.demo=new a.view.Demo({model:e,parent:t}),t.demo.render(),t.$el.append(t.demo.el)}),a.isNew&&a.data.settings.suggestURI&&this.$el.append('<div class="theme add-new-theme"><a href="'+a.data.settings.suggestURI+'" target="blank"><div class="theme-screenshot"><span></span></div><h2 class="theme-name">'+i.suggestNew+"</h2></a></div>"),this.parent.page++):this.parent.trigger("demo:end")},importedDemo:function(){var e;(e=this.collection.findWhere({active:!0}))&&(this.collection.remove(e),this.collection.add(e,{at:0}))},setView:function(e){return e},announceSearchResults:function(e){0===e?wp.a11y.speak(i.noDemosFound):wp.a11y.speak(i.demosFound.replace("%d",e))}}),a.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:i.searchPlaceholder,type:"search","aria-describedby":"live-search-desc"},events:{input:"search",keyup:"search",blur:"pushState"},initialize:function(e){this.parent=e.parent,this.listenTo(this.parent,"demo:close",function(){this.searching=!1})},search:function(e){"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e)},doSearch:function(e){var t={};this.collection.doSearch(e.target.value.replace(/\+/g," ")),this.searching&&13!==e.which?t.replace=!0:this.searching=!0,e.target.value?a.router.navigate(a.router.baseUrl(a.router.searchPath+e.target.value),t):a.router.navigate(a.router.baseUrl(""))},pushState:function(e){var t=a.router.baseUrl("");e.target.value&&(t=a.router.baseUrl(a.router.searchPath+encodeURIComponent(e.target.value))),this.searching=!1,a.router.navigate(t)}}),a.Router=Backbone.Router.extend({routes:{"themes.php?page=demo-importer&demo=:slug":"preview","themes.php?page=demo-importer&browse=:sort":"sort","themes.php?page=demo-importer&search=:query":"search","themes.php?page=demo-importer":"sort"},baseUrl:function(e){return"themes.php?page=demo-importer"+e},demoPath:"&demo=",browsePath:"&browse=",searchPath:"&search=",search:function(e){d(".wp-filter-search").val(e.replace(/\+/g," "))},navigate:function r(e,t){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.call(this,e,t)}}),a.view.InstallerSearch=a.view.Search.extend({events:{input:"search",keyup:"search"},terms:"",search:function(e){("keyup"!==e.type||9!==e.which&&16!==e.which)&&(this.collection=this.options.parent.view.collection,"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e.target.value))},doSearch:function(e){this.terms!==e&&(this.terms=e,d(".filter-links li > a.current").removeClass("current").removeAttr("aria-current"),this.collection.doSearch(e.replace(/\+/g," ")),a.router.navigate(a.router.baseUrl(a.router.searchPath+encodeURIComponent(e)),{replace:!0}))}}),a.view.Installer=a.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort"},render:function(){var e=this;this.search(),this.collection=new a.Collection,this.listenTo(this,"demo:end",function(){e.collection.loadingDemos||(e.collection.loadingDemos=!0,e.collection.currentQuery.page++,_.extend(e.collection.currentQuery.request,{page:e.collection.currentQuery.page}),e.collection.query(e.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove(),d(".theme-browser").find("div.themes").before('<div class="error"><p>'+i.error+'</p><p><button class="button try-again">'+i.tryAgain+"</button></p></div>"),d(".theme-browser .error .try-again").on("click",function(e){e.preventDefault(),d("input.wp-filter-search").trigger("input")})}),this.view&&this.view.remove(),this.view=new a.view.Demos({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(e,t){this.collection.query({browse:e,builder:t})},onSort:function(e){var t=d(e.target),i=t.data("sort"),r=t.data("type");e.preventDefault(),i=i||a.router.selectedTab,r=r||a.router.selectedType,t.hasClass(this.activeClass)||(this.sort(i,r),a.router.navigate(a.router.baseUrl(a.router.browsePath+i)))},sort:function(e,t){this.clearSearch(),a.router.selectedTab=e,a.router.selectedType=t,d(".filter-links li > a").removeClass(this.activeClass).removeAttr("aria-current"),d('[data-sort="'+e+'"]').addClass(this.activeClass).attr("aria-current","page"),d('[data-type="'+t+'"]').addClass(this.activeClass).attr("aria-current","page"),this.browse(e,t)},activeClass:"current",clearSearch:function(){d("#wp-filter-search-input").val("")}}),a.RunInstaller={init:function(){this.view=new a.view.Installer({section:"all",SearchView:a.view.InstallerSearch}),this.render(),this.view.SearchView.doSearch=_.debounce(this.view.SearchView.doSearch,500)},render:function(){this.view.render(),this.routes(),Backbone.History.started&&Backbone.history.stop(),Backbone.history.start({root:a.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var i=this,t={};a.router=new a.Router,a.router.on("route:preview",function(e){a.preview&&(a.preview.undelegateEvents(),a.preview.unbind()),i.view.view.demo&&i.view.view.demo.preview?(i.view.view.demo.model=i.view.collection.findWhere({slug:e}),i.view.view.demo.preview()):(t.demo=e,i.view.collection.query(t),i.view.collection.trigger("update"),i.view.collection.once("query:success",function(){d('div[data-slug="'+e+'"]').trigger("click")}))}),a.router.on("route:sort",function(e){var t=a.router.selectedType?a.router.selectedType:d(".filter-links.pagebuilders li").first().find("a").data("type");e&&d('[data-sort="'+e+'"]').length||(e="all",a.router.navigate(a.router.baseUrl("&browse=all"),{replace:!0})),i.view.sort(e,t),a.preview&&a.preview.close()}),a.router.on("route:search",function(){d(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},d(document).ready(function(){a.RunInstaller.init(),d(document.body).on("init_tooltips",function(){d("#tiptip_holder").removeAttr("style"),d("#tiptip_arrow").removeAttr("style"),d(".tips").tipTip({attribute:"data-tip",defaultPosition:"top",fadeIn:50,fadeOut:50,delay:50})}).trigger("init_tooltips"),d(".themegrill-reset-wordpress").on("click",function(){return window.confirm(_demoImporterSettings.settings.confirmReset)}),d(".themegrill-demo-importer-rating-link").on("click",function(){var e=d(this);d.post(a.data.settings.ajaxUrl,{action:"footer-text-rated"}),e.parent().text(e.data("rated"))})})}(jQuery);
assets/js/admin/demo-updates.js CHANGED
@@ -153,21 +153,34 @@
153
  * decorated with an abort() method.
154
  */
155
  wp.updates.bulkInstallPlugin = function( args ) {
156
- var $pluginRow = $( 'tr[data-slug="' + args.slug + '"]' ),
157
- $message = $pluginRow.find( '.plugin-status span' );
158
 
159
  args = _.extend( {
160
  success: wp.updates.bulkInstallPluginSuccess,
161
  error: wp.updates.bulkInstallPluginError
162
  }, args );
163
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  if ( $message.html() !== wp.updates.l10n.installing ) {
165
  $message.data( 'originaltext', $message.html() );
166
  }
167
 
168
  $message
 
169
  .addClass( 'updating-message' )
170
- .attr( 'aria-label', wp.updates.l10n.pluginInstallingLabel.replace( '%s', $pluginRow.data( 'name' ) ) )
171
  .text( wp.updates.l10n.installing );
172
 
173
  wp.a11y.speak( wp.updates.l10n.installingMsg, 'polite' );
153
  * decorated with an abort() method.
154
  */
155
  wp.updates.bulkInstallPlugin = function( args ) {
156
+ var $pluginRow, $message, message;
 
157
 
158
  args = _.extend( {
159
  success: wp.updates.bulkInstallPluginSuccess,
160
  error: wp.updates.bulkInstallPluginError
161
  }, args );
162
 
163
+ if ( $document.find( 'body' ).hasClass( 'full-overlay-active' ) ) {
164
+ $pluginRow = $( 'tr[data-slug="' + args.slug + '"]' );
165
+ $message = $( '.theme-install-overlay .demo-import[data-slug="' + args.demo + '"]' );
166
+ message = wp.updates.l10n.pluginInstallingLabel.replace( '%s', $pluginRow.data( 'name' ) );
167
+ $pluginRow.find( '.plugin-status span' )
168
+ .addClass( 'updating-message' )
169
+ .attr( 'aria-label', wp.updates.l10n.pluginInstallingLabel.replace( '%s', $pluginRow.data( 'name' ) ) )
170
+ .text( wp.updates.l10n.installing );
171
+ } else {
172
+ $message = $( '.demo-import[data-slug="' + args.demo + '"]' );
173
+ message = wp.updates.l10n.pluginInstallingLabel.replace( '%s', args.name );
174
+ $message.parents( '.theme' ).addClass( 'focus' );
175
+ }
176
+
177
  if ( $message.html() !== wp.updates.l10n.installing ) {
178
  $message.data( 'originaltext', $message.html() );
179
  }
180
 
181
  $message
182
+ .attr( 'aria-label', message )
183
  .addClass( 'updating-message' )
 
184
  .text( wp.updates.l10n.installing );
185
 
186
  wp.a11y.speak( wp.updates.l10n.installingMsg, 'polite' );
assets/js/admin/demo-updates.min.js CHANGED
@@ -1 +1 @@
1
- !function(l,r,e){var i=l(document);(r=r||{}).updates=r.updates||{},r.updates.l10n=_.extend(r.updates.l10n,e.l10n||{}),r.updates.importDemo=function(e){var a=l('.demo-import[data-slug="'+e.slug+'"]');return i.find("body").hasClass("full-overlay-active")&&(a=l(".wp-full-overlay-header, .wp-full-overlay-footer").find(".demo-import")),e=_.extend({success:r.updates.importDemoSuccess,error:r.updates.importDemoError},e),a.addClass("updating-message"),a.parents(".theme").addClass("focus"),a.html()!==r.updates.l10n.importing&&a.data("originaltext",a.html()),a.text(r.updates.l10n.importing).attr("aria-label",r.updates.l10n.demoImportingLabel.replace("%s",a.data("name"))),r.a11y.speak(r.updates.l10n.importingMsg,"polite"),l('.install-theme-info, [data-slug="'+e.slug+'"]').removeClass("demo-import-failed").find(".notice.notice-error").remove(),i.trigger("wp-demo-importing",e),r.updates.ajax("import-demo",e)},r.updates.importDemoSuccess=function(e){var a,t=l(".wp-full-overlay-header, .wp-full-overlay-footer, [data-slug="+e.slug+"]");i.trigger("wp-demo-import-success",e),a=t.find(".button-primary").removeClass("updating-message").addClass("updated-message disabled").attr("aria-label",r.updates.l10n.demoImportedLabel.replace("%s",e.demoName)).text(r.updates.l10n.imported),r.a11y.speak(r.updates.l10n.importedMsg,"polite"),setTimeout(function(){e.previewUrl&&(a.siblings(".demo-preview").remove(),a.attr("target","_blank").attr("href",e.previewUrl).removeClass("demo-import updated-message disabled").addClass("live-preview").attr("aria-label",r.updates.l10n.livePreviewLabel.replace("%s",e.demoName)).text(r.updates.l10n.livePreview))},1e3)},r.updates.importDemoError=function(e){var a,t=r.updates.l10n.importFailed.replace("%s",e.errorMessage),s=r.updates.adminNotice({className:"update-message notice-error notice-alt",message:t});r.updates.isValidResponse(e,"import")&&(r.updates.maybeHandleCredentialError(e,"import-demo")||(i.find("body").hasClass("full-overlay-active")?(a=l('.demo-import[data-slug="'+e.slug+'"]'),l(".install-theme-info").prepend(s)):a=l('[data-slug="'+e.slug+'"]').removeClass("focus").addClass("demo-import-failed").append(s).find(".demo-import"),a.removeClass("updating-message").attr("aria-label",r.updates.l10n.demoImportFailedLabel.replace("%s",a.data("name"))).text(r.updates.l10n.importFailedShort),r.a11y.speak(t,"assertive"),i.trigger("wp-demo-import-error",e)))},r.updates.bulkInstallPlugin=function(e){var a=l('tr[data-slug="'+e.slug+'"]'),t=a.find(".plugin-status span");return e=_.extend({success:r.updates.bulkInstallPluginSuccess,error:r.updates.bulkInstallPluginError},e),t.html()!==r.updates.l10n.installing&&t.data("originaltext",t.html()),t.addClass("updating-message").attr("aria-label",r.updates.l10n.pluginInstallingLabel.replace("%s",a.data("name"))).text(r.updates.l10n.installing),r.a11y.speak(r.updates.l10n.installingMsg,"polite"),i.trigger("wp-plugin-bulk-installing",e),r.updates.ajax("install-required-plugin",e)},r.updates.bulkInstallPluginSuccess=function(e){l('tr[data-slug="'+e.slug+'"]').removeClass("install").addClass("installed").find(".plugin-status span").removeClass("updating-message install-now").addClass("updated-message active").attr("aria-label",r.updates.l10n.pluginInstalledLabel.replace("%s",e.pluginName)).text(r.updates.l10n.pluginInstalled),r.a11y.speak(r.updates.l10n.installedMsg,"polite"),i.trigger("wp-plugin-bulk-install-success",e)},r.updates.bulkInstallPluginError=function(e){var a,t=l('tr[data-slug="'+e.slug+'"]'),s=t.find(".plugin-status span");r.updates.isValidResponse(e,"install")&&(r.updates.maybeHandleCredentialError(e,"install-plugin")||(a=r.updates.l10n.installFailed.replace("%s",e.errorMessage),s.removeClass("updating-message").addClass("updated-message").attr("aria-label",r.updates.l10n.pluginInstallFailedLabel.replace("%s",t.data("name"))).text(r.updates.l10n.installFailedShort),r.a11y.speak(a,"assertive"),i.trigger("wp-plugin-bulk-install-error",e)))},r.updates.isValidResponse=function(e,a){var t,s=r.updates.l10n.unknownError;if(_.isObject(e)&&!_.isFunction(e.always))return!0;switch(_.isString(e)&&"-1"===e?s=r.updates.l10n.nonceError:_.isString(e)?s=e:"undefined"!=typeof e.readyState&&0===e.readyState?s=r.updates.l10n.connectionError:_.isString(e.statusText)&&(s=e.statusText+" "+r.updates.l10n.statusTextLink),a){case"import":t=r.updates.l10n.importFailed}return t=t.replace("%s",s),r.updates.addAdminNotice({id:"unknown_error",className:"notice-error is-dismissible",message:_.unescape(t)}),r.updates.ajaxLocked=!1,r.updates.queue=[],l(".button.updating-message").removeClass("updating-message").removeAttr("aria-label").text(r.updates.l10n.importFailedShort),r.a11y.speak(t,"assertive"),!1},r.updates.queueChecker=function(){var e;if(!r.updates.ajaxLocked&&r.updates.queue.length){switch((e=r.updates.queue.shift()).action){case"import-demo":r.updates.importDemo(e.data);break;case"install-plugin":r.updates.bulkInstallPlugin(e.data)}i.trigger("wp-updates-queue-job",e)}}}(jQuery,window.wp,window._demoUpdatesSettings);
1
+ !function(l,i,e){var r=l(document);(i=i||{}).updates=i.updates||{},i.updates.l10n=_.extend(i.updates.l10n,e.l10n||{}),i.updates.importDemo=function(e){var a=l('.demo-import[data-slug="'+e.slug+'"]');return r.find("body").hasClass("full-overlay-active")&&(a=l(".wp-full-overlay-header, .wp-full-overlay-footer").find(".demo-import")),e=_.extend({success:i.updates.importDemoSuccess,error:i.updates.importDemoError},e),a.addClass("updating-message"),a.parents(".theme").addClass("focus"),a.html()!==i.updates.l10n.importing&&a.data("originaltext",a.html()),a.text(i.updates.l10n.importing).attr("aria-label",i.updates.l10n.demoImportingLabel.replace("%s",a.data("name"))),i.a11y.speak(i.updates.l10n.importingMsg,"polite"),l('.install-theme-info, [data-slug="'+e.slug+'"]').removeClass("demo-import-failed").find(".notice.notice-error").remove(),r.trigger("wp-demo-importing",e),i.updates.ajax("import-demo",e)},i.updates.importDemoSuccess=function(e){var a,t=l(".wp-full-overlay-header, .wp-full-overlay-footer, [data-slug="+e.slug+"]");r.trigger("wp-demo-import-success",e),a=t.find(".button-primary").removeClass("updating-message").addClass("updated-message disabled").attr("aria-label",i.updates.l10n.demoImportedLabel.replace("%s",e.demoName)).text(i.updates.l10n.imported),i.a11y.speak(i.updates.l10n.importedMsg,"polite"),setTimeout(function(){e.previewUrl&&(a.siblings(".demo-preview").remove(),a.attr("target","_blank").attr("href",e.previewUrl).removeClass("demo-import updated-message disabled").addClass("live-preview").attr("aria-label",i.updates.l10n.livePreviewLabel.replace("%s",e.demoName)).text(i.updates.l10n.livePreview))},1e3)},i.updates.importDemoError=function(e){var a,t=i.updates.l10n.importFailed.replace("%s",e.errorMessage),s=i.updates.adminNotice({className:"update-message notice-error notice-alt",message:t});i.updates.isValidResponse(e,"import")&&(i.updates.maybeHandleCredentialError(e,"import-demo")||(r.find("body").hasClass("full-overlay-active")?(a=l('.demo-import[data-slug="'+e.slug+'"]'),l(".install-theme-info").prepend(s)):a=l('[data-slug="'+e.slug+'"]').removeClass("focus").addClass("demo-import-failed").append(s).find(".demo-import"),a.removeClass("updating-message").attr("aria-label",i.updates.l10n.demoImportFailedLabel.replace("%s",a.data("name"))).text(i.updates.l10n.importFailedShort),i.a11y.speak(t,"assertive"),r.trigger("wp-demo-import-error",e)))},i.updates.bulkInstallPlugin=function(e){var a,t,s;return e=_.extend({success:i.updates.bulkInstallPluginSuccess,error:i.updates.bulkInstallPluginError},e),r.find("body").hasClass("full-overlay-active")?(a=l('tr[data-slug="'+e.slug+'"]'),t=l('.theme-install-overlay .demo-import[data-slug="'+e.demo+'"]'),s=i.updates.l10n.pluginInstallingLabel.replace("%s",a.data("name")),a.find(".plugin-status span").addClass("updating-message").attr("aria-label",i.updates.l10n.pluginInstallingLabel.replace("%s",a.data("name"))).text(i.updates.l10n.installing)):(t=l('.demo-import[data-slug="'+e.demo+'"]'),s=i.updates.l10n.pluginInstallingLabel.replace("%s",e.name),t.parents(".theme").addClass("focus")),t.html()!==i.updates.l10n.installing&&t.data("originaltext",t.html()),t.attr("aria-label",s).addClass("updating-message").text(i.updates.l10n.installing),i.a11y.speak(i.updates.l10n.installingMsg,"polite"),r.trigger("wp-plugin-bulk-installing",e),i.updates.ajax("install-required-plugin",e)},i.updates.bulkInstallPluginSuccess=function(e){l('tr[data-slug="'+e.slug+'"]').removeClass("install").addClass("installed").find(".plugin-status span").removeClass("updating-message install-now").addClass("updated-message active").attr("aria-label",i.updates.l10n.pluginInstalledLabel.replace("%s",e.pluginName)).text(i.updates.l10n.pluginInstalled),i.a11y.speak(i.updates.l10n.installedMsg,"polite"),r.trigger("wp-plugin-bulk-install-success",e)},i.updates.bulkInstallPluginError=function(e){var a,t=l('tr[data-slug="'+e.slug+'"]'),s=t.find(".plugin-status span");i.updates.isValidResponse(e,"install")&&(i.updates.maybeHandleCredentialError(e,"install-plugin")||(a=i.updates.l10n.installFailed.replace("%s",e.errorMessage),s.removeClass("updating-message").addClass("updated-message").attr("aria-label",i.updates.l10n.pluginInstallFailedLabel.replace("%s",t.data("name"))).text(i.updates.l10n.installFailedShort),i.a11y.speak(a,"assertive"),r.trigger("wp-plugin-bulk-install-error",e)))},i.updates.isValidResponse=function(e,a){var t,s=i.updates.l10n.unknownError;if(_.isObject(e)&&!_.isFunction(e.always))return!0;switch(_.isString(e)&&"-1"===e?s=i.updates.l10n.nonceError:_.isString(e)?s=e:"undefined"!=typeof e.readyState&&0===e.readyState?s=i.updates.l10n.connectionError:_.isString(e.statusText)&&(s=e.statusText+" "+i.updates.l10n.statusTextLink),a){case"import":t=i.updates.l10n.importFailed}return t=t.replace("%s",s),i.updates.addAdminNotice({id:"unknown_error",className:"notice-error is-dismissible",message:_.unescape(t)}),i.updates.ajaxLocked=!1,i.updates.queue=[],l(".button.updating-message").removeClass("updating-message").removeAttr("aria-label").text(i.updates.l10n.importFailedShort),i.a11y.speak(t,"assertive"),!1},i.updates.queueChecker=function(){var e;if(!i.updates.ajaxLocked&&i.updates.queue.length){switch((e=i.updates.queue.shift()).action){case"import-demo":i.updates.importDemo(e.data);break;case"install-plugin":i.updates.bulkInstallPlugin(e.data)}r.trigger("wp-updates-queue-job",e)}}}(jQuery,window.wp,window._demoUpdatesSettings);
composer.lock ADDED
@@ -0,0 +1,497 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "content-hash": "03469ded4bf36ef1fd0d309313f9ed08",
8
+ "packages": [
9
+ {
10
+ "name": "composer/installers",
11
+ "version": "v1.5.6",
12
+ "source": {
13
+ "type": "git",
14
+ "url": "https://github.com/composer/installers.git",
15
+ "reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b"
16
+ },
17
+ "dist": {
18
+ "type": "zip",
19
+ "url": "https://api.github.com/repos/composer/installers/zipball/cfcca6b1b60bc4974324efb5783c13dca6932b5b",
20
+ "reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b",
21
+ "shasum": ""
22
+ },
23
+ "require": {
24
+ "composer-plugin-api": "^1.0"
25
+ },
26
+ "replace": {
27
+ "roundcube/plugin-installer": "*",
28
+ "shama/baton": "*"
29
+ },
30
+ "require-dev": {
31
+ "composer/composer": "1.0.*@dev",
32
+ "phpunit/phpunit": "^4.8.36"
33
+ },
34
+ "type": "composer-plugin",
35
+ "extra": {
36
+ "class": "Composer\\Installers\\Plugin",
37
+ "branch-alias": {
38
+ "dev-master": "1.0-dev"
39
+ }
40
+ },
41
+ "autoload": {
42
+ "psr-4": {
43
+ "Composer\\Installers\\": "src/Composer/Installers"
44
+ }
45
+ },
46
+ "notification-url": "https://packagist.org/downloads/",
47
+ "license": [
48
+ "MIT"
49
+ ],
50
+ "authors": [
51
+ {
52
+ "name": "Kyle Robinson Young",
53
+ "email": "kyle@dontkry.com",
54
+ "homepage": "https://github.com/shama"
55
+ }
56
+ ],
57
+ "description": "A multi-framework Composer library installer",
58
+ "homepage": "https://composer.github.io/installers/",
59
+ "keywords": [
60
+ "Craft",
61
+ "Dolibarr",
62
+ "Eliasis",
63
+ "Hurad",
64
+ "ImageCMS",
65
+ "Kanboard",
66
+ "Lan Management System",
67
+ "MODX Evo",
68
+ "Mautic",
69
+ "Maya",
70
+ "OXID",
71
+ "Plentymarkets",
72
+ "Porto",
73
+ "RadPHP",
74
+ "SMF",
75
+ "Thelia",
76
+ "WolfCMS",
77
+ "agl",
78
+ "aimeos",
79
+ "annotatecms",
80
+ "attogram",
81
+ "bitrix",
82
+ "cakephp",
83
+ "chef",
84
+ "cockpit",
85
+ "codeigniter",
86
+ "concrete5",
87
+ "croogo",
88
+ "dokuwiki",
89
+ "drupal",
90
+ "eZ Platform",
91
+ "elgg",
92
+ "expressionengine",
93
+ "fuelphp",
94
+ "grav",
95
+ "installer",
96
+ "itop",
97
+ "joomla",
98
+ "kohana",
99
+ "laravel",
100
+ "lavalite",
101
+ "lithium",
102
+ "magento",
103
+ "majima",
104
+ "mako",
105
+ "mediawiki",
106
+ "modulework",
107
+ "modx",
108
+ "moodle",
109
+ "osclass",
110
+ "phpbb",
111
+ "piwik",
112
+ "ppi",
113
+ "puppet",
114
+ "pxcms",
115
+ "reindex",
116
+ "roundcube",
117
+ "shopware",
118
+ "silverstripe",
119
+ "sydes",
120
+ "symfony",
121
+ "typo3",
122
+ "wordpress",
123
+ "yawik",
124
+ "zend",
125
+ "zikula"
126
+ ],
127
+ "time": "2018-08-27T06:10:37+00:00"
128
+ }
129
+ ],
130
+ "packages-dev": [
131
+ {
132
+ "name": "dealerdirect/phpcodesniffer-composer-installer",
133
+ "version": "v0.5.0",
134
+ "source": {
135
+ "type": "git",
136
+ "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
137
+ "reference": "e749410375ff6fb7a040a68878c656c2e610b132"
138
+ },
139
+ "dist": {
140
+ "type": "zip",
141
+ "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/e749410375ff6fb7a040a68878c656c2e610b132",
142
+ "reference": "e749410375ff6fb7a040a68878c656c2e610b132",
143
+ "shasum": ""
144
+ },
145
+ "require": {
146
+ "composer-plugin-api": "^1.0",
147
+ "php": "^5.3|^7",
148
+ "squizlabs/php_codesniffer": "^2|^3"
149
+ },
150
+ "require-dev": {
151
+ "composer/composer": "*",
152
+ "phpcompatibility/php-compatibility": "^9.0",
153
+ "sensiolabs/security-checker": "^4.1.0"
154
+ },
155
+ "type": "composer-plugin",
156
+ "extra": {
157
+ "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
158
+ },
159
+ "autoload": {
160
+ "psr-4": {
161
+ "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
162
+ }
163
+ },
164
+ "notification-url": "https://packagist.org/downloads/",
165
+ "license": [
166
+ "MIT"
167
+ ],
168
+ "authors": [
169
+ {
170
+ "name": "Franck Nijhof",
171
+ "email": "franck.nijhof@dealerdirect.com",
172
+ "homepage": "http://www.frenck.nl",
173
+ "role": "Developer / IT Manager"
174
+ }
175
+ ],
176
+ "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
177
+ "homepage": "http://www.dealerdirect.com",
178
+ "keywords": [
179
+ "PHPCodeSniffer",
180
+ "PHP_CodeSniffer",
181
+ "code quality",
182
+ "codesniffer",
183
+ "composer",
184
+ "installer",
185
+ "phpcs",
186
+ "plugin",
187
+ "qa",
188
+ "quality",
189
+ "standard",
190
+ "standards",
191
+ "style guide",
192
+ "stylecheck",
193
+ "tests"
194
+ ],
195
+ "time": "2018-10-26T13:21:45+00:00"
196
+ },
197
+ {
198
+ "name": "phpcompatibility/php-compatibility",
199
+ "version": "9.1.1",
200
+ "source": {
201
+ "type": "git",
202
+ "url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
203
+ "reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c"
204
+ },
205
+ "dist": {
206
+ "type": "zip",
207
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
208
+ "reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
209
+ "shasum": ""
210
+ },
211
+ "require": {
212
+ "php": ">=5.3",
213
+ "squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
214
+ },
215
+ "conflict": {
216
+ "squizlabs/php_codesniffer": "2.6.2"
217
+ },
218
+ "require-dev": {
219
+ "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
220
+ },
221
+ "suggest": {
222
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
223
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
224
+ },
225
+ "type": "phpcodesniffer-standard",
226
+ "notification-url": "https://packagist.org/downloads/",
227
+ "license": [
228
+ "LGPL-3.0-or-later"
229
+ ],
230
+ "authors": [
231
+ {
232
+ "name": "Contributors",
233
+ "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors"
234
+ },
235
+ {
236
+ "name": "Wim Godden",
237
+ "homepage": "https://github.com/wimg",
238
+ "role": "lead"
239
+ },
240
+ {
241
+ "name": "Juliette Reinders Folmer",
242
+ "homepage": "https://github.com/jrfnl",
243
+ "role": "lead"
244
+ }
245
+ ],
246
+ "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.",
247
+ "homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
248
+ "keywords": [
249
+ "compatibility",
250
+ "phpcs",
251
+ "standards"
252
+ ],
253
+ "time": "2018-12-30T23:16:27+00:00"
254
+ },
255
+ {
256
+ "name": "phpcompatibility/phpcompatibility-paragonie",
257
+ "version": "1.0.1",
258
+ "source": {
259
+ "type": "git",
260
+ "url": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie.git",
261
+ "reference": "9160de79fcd683b5c99e9c4133728d91529753ea"
262
+ },
263
+ "dist": {
264
+ "type": "zip",
265
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityParagonie/zipball/9160de79fcd683b5c99e9c4133728d91529753ea",
266
+ "reference": "9160de79fcd683b5c99e9c4133728d91529753ea",
267
+ "shasum": ""
268
+ },
269
+ "require": {
270
+ "phpcompatibility/php-compatibility": "^9.0"
271
+ },
272
+ "require-dev": {
273
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4"
274
+ },
275
+ "suggest": {
276
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.4 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
277
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
278
+ },
279
+ "type": "phpcodesniffer-standard",
280
+ "notification-url": "https://packagist.org/downloads/",
281
+ "license": [
282
+ "LGPL-3.0-or-later"
283
+ ],
284
+ "authors": [
285
+ {
286
+ "name": "Wim Godden",
287
+ "role": "lead"
288
+ },
289
+ {
290
+ "name": "Juliette Reinders Folmer",
291
+ "role": "lead"
292
+ }
293
+ ],
294
+ "description": "A set of rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.",
295
+ "homepage": "http://phpcompatibility.com/",
296
+ "keywords": [
297
+ "compatibility",
298
+ "paragonie",
299
+ "phpcs",
300
+ "polyfill",
301
+ "standards"
302
+ ],
303
+ "time": "2018-12-16T19:10:44+00:00"
304
+ },
305
+ {
306
+ "name": "phpcompatibility/phpcompatibility-wp",
307
+ "version": "2.0.0",
308
+ "source": {
309
+ "type": "git",
310
+ "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git",
311
+ "reference": "cb303f0067cd5b366a41d4fb0e254fb40ff02efd"
312
+ },
313
+ "dist": {
314
+ "type": "zip",
315
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/cb303f0067cd5b366a41d4fb0e254fb40ff02efd",
316
+ "reference": "cb303f0067cd5b366a41d4fb0e254fb40ff02efd",
317
+ "shasum": ""
318
+ },
319
+ "require": {
320
+ "phpcompatibility/php-compatibility": "^9.0",
321
+ "phpcompatibility/phpcompatibility-paragonie": "^1.0"
322
+ },
323
+ "require-dev": {
324
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3"
325
+ },
326
+ "suggest": {
327
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
328
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
329
+ },
330
+ "type": "phpcodesniffer-standard",
331
+ "notification-url": "https://packagist.org/downloads/",
332
+ "license": [
333
+ "LGPL-3.0-or-later"
334
+ ],
335
+ "authors": [
336
+ {
337
+ "name": "Wim Godden",
338
+ "role": "lead"
339
+ },
340
+ {
341
+ "name": "Juliette Reinders Folmer",
342
+ "role": "lead"
343
+ }
344
+ ],
345
+ "description": "A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.",
346
+ "homepage": "http://phpcompatibility.com/",
347
+ "keywords": [
348
+ "compatibility",
349
+ "phpcs",
350
+ "standards",
351
+ "wordpress"
352
+ ],
353
+ "time": "2018-10-07T18:31:37+00:00"
354
+ },
355
+ {
356
+ "name": "squizlabs/php_codesniffer",
357
+ "version": "3.4.0",
358
+ "source": {
359
+ "type": "git",
360
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
361
+ "reference": "379deb987e26c7cd103a7b387aea178baec96e48"
362
+ },
363
+ "dist": {
364
+ "type": "zip",
365
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/379deb987e26c7cd103a7b387aea178baec96e48",
366
+ "reference": "379deb987e26c7cd103a7b387aea178baec96e48",
367
+ "shasum": ""
368
+ },
369
+ "require": {
370
+ "ext-simplexml": "*",
371
+ "ext-tokenizer": "*",
372
+ "ext-xmlwriter": "*",
373
+ "php": ">=5.4.0"
374
+ },
375
+ "require-dev": {
376
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
377
+ },
378
+ "bin": [
379
+ "bin/phpcs",
380
+ "bin/phpcbf"
381
+ ],
382
+ "type": "library",
383
+ "extra": {
384
+ "branch-alias": {
385
+ "dev-master": "3.x-dev"
386
+ }
387
+ },
388
+ "notification-url": "https://packagist.org/downloads/",
389
+ "license": [
390
+ "BSD-3-Clause"
391
+ ],
392
+ "authors": [
393
+ {
394
+ "name": "Greg Sherwood",
395
+ "role": "lead"
396
+ }
397
+ ],
398
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
399
+ "homepage": "http://www.squizlabs.com/php-codesniffer",
400
+ "keywords": [
401
+ "phpcs",
402
+ "standards"
403
+ ],
404
+ "time": "2018-12-19T23:57:18+00:00"
405
+ },
406
+ {
407
+ "name": "wp-coding-standards/wpcs",
408
+ "version": "1.2.1",
409
+ "source": {
410
+ "type": "git",
411
+ "url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
412
+ "reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c"
413
+ },
414
+ "dist": {
415
+ "type": "zip",
416
+ "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
417
+ "reference": "f328bcafd97377e8e5e5d7b244d5ddbf301a3a5c",
418
+ "shasum": ""
419
+ },
420
+ "require": {
421
+ "php": ">=5.3",
422
+ "squizlabs/php_codesniffer": "^2.9.0 || ^3.0.2"
423
+ },
424
+ "require-dev": {
425
+ "phpcompatibility/php-compatibility": "^9.0"
426
+ },
427
+ "suggest": {
428
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
429
+ },
430
+ "type": "phpcodesniffer-standard",
431
+ "notification-url": "https://packagist.org/downloads/",
432
+ "license": [
433
+ "MIT"
434
+ ],
435
+ "authors": [
436
+ {
437
+ "name": "Contributors",
438
+ "homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors"
439
+ }
440
+ ],
441
+ "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
442
+ "keywords": [
443
+ "phpcs",
444
+ "standards",
445
+ "wordpress"
446
+ ],
447
+ "time": "2018-12-18T09:43:51+00:00"
448
+ },
449
+ {
450
+ "name": "wpeverest/wpeverest-sniffs",
451
+ "version": "0.0.2",
452
+ "source": {
453
+ "type": "git",
454
+ "url": "https://github.com/wpeverest/wpeverest-sniffs.git",
455
+ "reference": "090ab66b78d510e7ed0899c0684f495527c6db26"
456
+ },
457
+ "dist": {
458
+ "type": "zip",
459
+ "url": "https://api.github.com/repos/wpeverest/wpeverest-sniffs/zipball/090ab66b78d510e7ed0899c0684f495527c6db26",
460
+ "reference": "090ab66b78d510e7ed0899c0684f495527c6db26",
461
+ "shasum": ""
462
+ },
463
+ "require": {
464
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",
465
+ "php": ">=7.0",
466
+ "phpcompatibility/phpcompatibility-wp": "2.0.0",
467
+ "wp-coding-standards/wpcs": "^1.2"
468
+ },
469
+ "type": "phpcodesniffer-standard",
470
+ "notification-url": "https://packagist.org/downloads/",
471
+ "license": [
472
+ "MIT"
473
+ ],
474
+ "authors": [
475
+ {
476
+ "name": "Shiva Poudel",
477
+ "email": "dev.shivapoudel@gmail.com"
478
+ }
479
+ ],
480
+ "description": "WPEverest sniffs",
481
+ "keywords": [
482
+ "WPEverest",
483
+ "phpcs",
484
+ "standards",
485
+ "wordpress"
486
+ ],
487
+ "time": "2018-11-28T07:03:13+00:00"
488
+ }
489
+ ],
490
+ "aliases": [],
491
+ "minimum-stability": "dev",
492
+ "stability-flags": [],
493
+ "prefer-stable": true,
494
+ "prefer-lowest": false,
495
+ "platform": [],
496
+ "platform-dev": []
497
+ }
includes/class-themegrill-demo-importer.php CHANGED
@@ -20,7 +20,7 @@ final class ThemeGrill_Demo_Importer {
20
  *
21
  * @var string
22
  */
23
- public $version = '1.5.6';
24
 
25
  /**
26
  * Theme single instance of this class.
20
  *
21
  * @var string
22
  */
23
+ public $version = '1.5.7';
24
 
25
  /**
26
  * Theme single instance of this class.
languages/themegrill-demo-importer.pot CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the GPLv3 or later.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: ThemeGrill Demo Importer 1.5.6\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://github.com/themegrill/themegrill-demo-importer/issues\n"
8
- "POT-Creation-Date: 2019-02-14 11:36:33+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
2
  # This file is distributed under the GPLv3 or later.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: ThemeGrill Demo Importer 1.5.7\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://github.com/themegrill/themegrill-demo-importer/issues\n"
8
+ "POT-Creation-Date: 2019-03-05 22:48:22+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "themegrill-demo-importer",
3
- "version": "1.5.6",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
1
  {
2
  "name": "themegrill-demo-importer",
3
+ "version": "1.5.7",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: ThemeGrill, shivapoudel
3
  Tags: themegrill, theme demos, demo, importer, one click import
4
  Requires at least: 4.7
5
- Tested up to: 5.0
6
- Stable tag: 1.5.6
7
  License: GPLv3 or later
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -73,6 +73,9 @@ Yes you can! Join in on our [GitHub repository](https://github.com/themegrill/th
73
 
74
  == Changelog ==
75
 
 
 
 
76
  = 1.5.6 - 15-02-2019 =
77
  * Fetaure - Install plugins and import demo on a single click.
78
  * Tweak - Remove the more details on demo preview hover.
2
  Contributors: ThemeGrill, shivapoudel
3
  Tags: themegrill, theme demos, demo, importer, one click import
4
  Requires at least: 4.7
5
+ Tested up to: 5.1
6
+ Stable tag: 1.5.7
7
  License: GPLv3 or later
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
 
73
 
74
  == Changelog ==
75
 
76
+ = 1.5.7 - 06-03-2019 =
77
+ * Fix - Demo preview overlay not importing specific demo.
78
+
79
  = 1.5.6 - 15-02-2019 =
80
  * Fetaure - Install plugins and import demo on a single click.
81
  * Tweak - Remove the more details on demo preview hover.
themegrill-demo-importer.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: ThemeGrill Demo Importer
4
  * Plugin URI: https://themegrill.com/demo-importer/
5
  * Description: Import ThemeGrill official themes demo content, widgets and theme settings with just one click.
6
- * Version: 1.5.6
7
  * Author: ThemeGrill
8
  * Author URI: https://themegrill.com
9
  * License: GPLv3 or later
3
  * Plugin Name: ThemeGrill Demo Importer
4
  * Plugin URI: https://themegrill.com/demo-importer/
5
  * Description: Import ThemeGrill official themes demo content, widgets and theme settings with just one click.
6
+ * Version: 1.5.7
7
  * Author: ThemeGrill
8
  * Author URI: https://themegrill.com
9
  * License: GPLv3 or later