Responsive Menu - Version 4.1.0

Version Description

(26th February 2021) = Feature: Bundled all free themes in plugin Feature: Added new option for font weight and font family for menu title Feature: Added home button on preview device Feature: Added border radius as new option for toggle button Feature: Added theme upload feature in wizards Feature: To support the advanced menu themes Enhancement: Improved push animation to work with only body element Enhancement: Added loader to show while uploading and changing theme Enhancement: Show message when theme page is empty Enhancement: Show spinner while deleting theme Enhancement: Redirected user directly to customizer after creating a new menu Enhancement: Prevent deleting a theme if being used by active menu Enhancement: Added color alpha feature and push animation Enhancement: Added custom admin notice to upgrade Enhancement: Added admin notice with doc link if no menu created. Enhancement: Improved the default theme with new UI Enhancement: Improved the wizards UI Enhancement: Added hide menu input in new menu wizard Enhancement: Improved caching and minimize API requests Enhancement: Added support for WordPress core version 5.7 Bug: Prevent to load the customizer screen in preview section Bug: Fixed additional contents to process the shortcode Bug: Fixed Menu item height issue with long text Bug: Fixed default wp menu items Bug: Improved live preview and update required Bug: Fixed PHP warning and errors

Download this release

Release Info

Developer expresstech
Plugin Icon 128x128 Responsive Menu
Version 4.1.0
Comparing to
See all releases

Code changes from version 4.0.4 to 4.1.0

Files changed (52) hide show
  1. readme.txt +38 -18
  2. responsive-menu.php +36 -2
  3. v4.0.0/.eslintrc.json +2 -1
  4. v4.0.0/assets/admin/build/css/rmpMain.css +1 -0
  5. v4.0.0/assets/admin/build/js/rmpMain.js +2 -0
  6. v4.0.0/assets/admin/js/rmp-admin.js +67 -122
  7. v4.0.0/assets/admin/js/rmp-editor.js +0 -11
  8. v4.0.0/assets/admin/js/rmp-icon.js +10 -1
  9. v4.0.0/assets/admin/js/rmp-menu-wizard.js +224 -0
  10. v4.0.0/assets/admin/js/rmp-preview.js +1181 -933
  11. v4.0.0/assets/admin/rmp-main.js +13 -0
  12. v4.0.0/assets/admin/scss/admin.css +108 -394
  13. v4.0.0/assets/admin/scss/wizard-ui.scss +525 -0
  14. v4.0.0/assets/images/default-theme-preview.png +0 -0
  15. v4.0.0/assets/js/rmp-menu.js +12 -2
  16. v4.0.0/assets/scss/common.scss +1 -1
  17. v4.0.0/assets/scss/main.scss +121 -110
  18. v4.0.0/inc/classes/class-admin.php +16 -5
  19. v4.0.0/inc/classes/class-assets.php +37 -28
  20. v4.0.0/inc/classes/class-control-manager.php +1 -1
  21. v4.0.0/inc/classes/class-plugin.php +98 -1
  22. v4.0.0/inc/classes/class-rmp-menu.php +68 -11
  23. v4.0.0/inc/classes/class-style-manager.php +58 -6
  24. v4.0.0/inc/classes/class-theme-manager.php +493 -156
  25. v4.0.0/inc/helpers/default-options.php +330 -385
  26. v4.0.0/package-lock.json +1212 -947
  27. v4.0.0/package.json +4 -5
  28. v4.0.0/templates/admin-notices.php +25 -0
  29. v4.0.0/templates/legacy-settings.php +4 -3
  30. v4.0.0/templates/menu-elements/title.php +27 -1
  31. v4.0.0/templates/new-menu-wizard.php +157 -117
  32. v4.0.0/templates/rmp-editor.php +93 -54
  33. v4.0.0/templates/rmp-roadmap.php +7 -0
  34. v4.0.0/templates/rmp-themes.php +25 -6
  35. v4.0.0/templates/rmp-wizards.php +50 -41
  36. v4.0.0/themes/electric blue theme/blue-background.png +0 -0
  37. v4.0.0/themes/electric blue theme/config.json +5 -0
  38. v4.0.0/themes/electric blue theme/electric-blue-theme.php +69 -0
  39. v4.0.0/themes/electric blue theme/options.json +302 -0
  40. v4.0.0/themes/electric blue theme/person.png +0 -0
  41. v4.0.0/themes/electric blue theme/preview.png +0 -0
  42. v4.0.0/themes/full-width-theme/config.json +5 -0
  43. v4.0.0/themes/full-width-theme/full-width-theme.php +68 -0
  44. v4.0.0/themes/full-width-theme/options.json +302 -0
  45. v4.0.0/themes/full-width-theme/person.png +0 -0
  46. v4.0.0/themes/full-width-theme/preview.png +0 -0
  47. v4.0.0/themes/simple-red-free/config.json +5 -0
  48. v4.0.0/themes/simple-red-free/options.json +302 -0
  49. v4.0.0/themes/simple-red-free/person.png +0 -0
  50. v4.0.0/themes/simple-red-free/preview.png +0 -0
  51. v4.0.0/themes/simple-red-free/simple-red-theme.php +68 -0
  52. v4.0.0/webpack.config.js +9 -12
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Responsive Menu - Create Mobile-Friendly Menu ===
2
- Contributors: expresstech,responsivemenu
3
  Tags: responsive, mega menu, navigation, mobile, hamburger
4
  Requires at least: 3.6
5
- Tested up to: 5.6
6
- Stable tag: 4.0.4
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -93,23 +93,43 @@ To view our FAQ, please go to [https://responsive.menu/faq/](https://responsive.
93
 
94
  == Screenshots ==
95
 
96
- 1. Animated Screencast
97
- 2. Example Front End Menu Button
98
- 3. Front End Expanded Menu with Background Image
99
- 4. Alternative Example Front End Expanded Menu with Background Image
100
- 5. Alternative Example Front End Expanded Menu with Background Image
101
- 6. Alternative Example Front End Expanded Menu with Background Image
102
- 7. Admin Initial Setup Section
103
- 8. Admin Container Section
104
- 9. Admin Menu Section
105
- 10. Admin Sub Menus Section
106
- 11. Admin Button Section
107
- 12. Admin Technical Section
108
- 13. Admin Advanced Section
109
- 14. Admin Header Bar Section
110
- 15. Admin Desktop Menu Section
111
 
112
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  = 4.0.4 (19th January 2021) =
114
  * Bug: Fixed security vulnerabilities
115
 
1
  === Responsive Menu - Create Mobile-Friendly Menu ===
2
+ Contributors: expresstech,responsivemenu,imvarunkmr,surajkumarsingh
3
  Tags: responsive, mega menu, navigation, mobile, hamburger
4
  Requires at least: 3.6
5
+ Tested up to: 5.7
6
+ Stable tag: 4.1.0
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
93
 
94
  == Screenshots ==
95
 
96
+ 1. Dashboard
97
+ 2. Select theme
98
+ 3. Menu setting
99
+ 4. Mobile view setting
100
+ 5. Desktop view setting
101
+ 6. Toggle button
102
+ 7. Main menu
 
 
 
 
 
 
 
 
103
 
104
  == Changelog ==
105
+ = 4.1.0 (26th February 2021) =
106
+ Feature: Bundled all free themes in plugin
107
+ Feature: Added new option for font weight and font family for menu title
108
+ Feature: Added home button on preview device
109
+ Feature: Added border radius as new option for toggle button
110
+ Feature: Added theme upload feature in wizards
111
+ Feature: To support the advanced menu themes
112
+ Enhancement: Improved push animation to work with only body element
113
+ Enhancement: Added loader to show while uploading and changing theme
114
+ Enhancement: Show message when theme page is empty
115
+ Enhancement: Show spinner while deleting theme
116
+ Enhancement: Redirected user directly to customizer after creating a new menu
117
+ Enhancement: Prevent deleting a theme if being used by active menu
118
+ Enhancement: Added color alpha feature and push animation
119
+ Enhancement: Added custom admin notice to upgrade
120
+ Enhancement: Added admin notice with doc link if no menu created.
121
+ Enhancement: Improved the default theme with new UI
122
+ Enhancement: Improved the wizards UI
123
+ Enhancement: Added hide menu input in new menu wizard
124
+ Enhancement: Improved caching and minimize API requests
125
+ Enhancement: Added support for WordPress core version 5.7
126
+ Bug: Prevent to load the customizer screen in preview section
127
+ Bug: Fixed additional contents to process the shortcode
128
+ Bug: Fixed Menu item height issue with long text
129
+ Bug: Fixed default wp menu items
130
+ Bug: Improved live preview and update required
131
+ Bug: Fixed PHP warning and errors
132
+
133
  = 4.0.4 (19th January 2021) =
134
  * Bug: Fixed security vulnerabilities
135
 
responsive-menu.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Responsive Menu
5
  Plugin URI: https://expresstech.io
6
  Description: Highly Customisable Responsive Menu Plugin for WordPress
7
- Version: 4.0.4
8
  Author: ExpressTech
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
@@ -16,7 +16,7 @@ Tags: responsive, menu, responsive menu, mega menu, max mega menu, max menu
16
  * Constant as plugin version.
17
  */
18
  if ( ! defined( 'RMP_PLUGIN_VERSION' ) ) {
19
- define( 'RMP_PLUGIN_VERSION', '4.0.4' );
20
  }
21
 
22
  define('RESPONSIVE_MENU_URL', plugin_dir_url( __FILE__ ) );
@@ -221,4 +221,38 @@ include dirname(__FILE__) . '/config/polylang.php';
221
  flush_rewrite_rules();
222
  }
223
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  }
4
  Plugin Name: Responsive Menu
5
  Plugin URI: https://expresstech.io
6
  Description: Highly Customisable Responsive Menu Plugin for WordPress
7
+ Version: 4.1.0
8
  Author: ExpressTech
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
16
  * Constant as plugin version.
17
  */
18
  if ( ! defined( 'RMP_PLUGIN_VERSION' ) ) {
19
+ define( 'RMP_PLUGIN_VERSION', '4.1.0' );
20
  }
21
 
22
  define('RESPONSIVE_MENU_URL', plugin_dir_url( __FILE__ ) );
221
  flush_rewrite_rules();
222
  }
223
 
224
+ /**
225
+ * Function to include the menu themes templates.
226
+ *
227
+ * @since 4.0.5
228
+ *
229
+ * @return void
230
+ */
231
+ function rm_includes_menu_theme_template() {
232
+
233
+ $theme_manager = \RMP\Features\Inc\Theme_Manager::get_instance();
234
+
235
+ //Check class theme manager has this method or not.
236
+ if ( ! method_exists( $theme_manager, 'get_menu_active_themes' ) ) {
237
+ return;
238
+ }
239
+
240
+ $active_themes = $theme_manager->get_menu_active_themes();
241
+ if ( empty( $active_themes ) ) {
242
+ return;
243
+ }
244
+
245
+ //Include the file from each theme which has php template.
246
+ foreach( $active_themes as $key => $theme_name ) {
247
+
248
+ $theme_index = $theme_manager->get_theme_index_file( $theme_name );
249
+
250
+ if ( file_exists( $theme_index ) ) {
251
+ require_once $theme_index;
252
+ }
253
+ }
254
+
255
+ }
256
+
257
+ rm_includes_menu_theme_template();
258
  }
v4.0.0/.eslintrc.json CHANGED
@@ -35,6 +35,7 @@
35
  "no-tabs": 0,
36
  "prefer-destructuring": 0,
37
  "no-undef": 0,
38
- "no-param-reassign": 0
 
39
  }
40
  }
35
  "no-tabs": 0,
36
  "prefer-destructuring": 0,
37
  "no-undef": 0,
38
+ "no-param-reassign": 0,
39
+ "linebreak-style": 0
40
  }
41
  }
v4.0.0/assets/admin/build/css/rmpMain.css ADDED
@@ -0,0 +1 @@
 
1
+ .rmp-dialog-overlay{font-family:Product Sans}.rmp-dialog-overlay .rmp-menu-section{display:none}.rmp-dialog-overlay .rmp-menu-section.current{display:block}.rmp-dialog-overlay .rmp-dialog-backdrop{position:fixed;left:-1.25rem;right:0;top:0;bottom:0;background:rgba(13,19,61,.5098039215686274);z-index:999999}.rmp-dialog-overlay .rmp-dialog-wrap{clear:both;position:absolute;top:10%;left:0;right:0;bottom:3%;background:#fff;box-shadow:0 1px 1.25rem .3125rem rgba(0,0,0,.1);z-index:999999;box-sizing:border-box;-webkit-overflow-scrolling:touch;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.rmp-dialog-overlay .rmp-dialog-wrap .rmp-dialog-contents{max-height:36.25rem;overflow-y:overlay}.rmp-dialog-overlay .rmp-dialog-header{height:4rem;border-bottom:1px solid #eee;overflow:hidden;display:flex;justify-content:space-between;align-items:center;box-shadow:0 0 .125rem 0 rgba(0,0,0,.1607843137254902)}.rmp-dialog-overlay .rmp-dialog-header .title{font-size:1rem;height:4rem;display:flex;align-items:center;padding-left:1.25rem;text-transform:capitalize;font-family:Product Sans Medium;color:#7e7e7e}.rmp-dialog-overlay .rmp-dialog-header .close{cursor:pointer;font-size:1.875rem;width:4rem;color:#ccd0d4;height:4rem;border:0;background-color:transparent;border-left:1px solid #ccd0d4}.rmp-dialog-overlay .rmp-dialog-footer{position:relative;text-align:right;bottom:0;left:0;right:0;padding:.625rem 1.25rem;box-sizing:border-box;height:4rem;box-shadow:0 -1px .125rem 0 rgba(0,0,0,.1607843137254902)}.rmp-dialog-overlay .rmp-theme-title .item-controls{top:unset}.rmp-dialog-overlay a{text-decoration:none}.rmp-dialog-overlay a:focus{border:0;outline:unset;box-shadow:unset}#rmp-new-menu-wizard .rmp-page-loader{background-color:hsla(0,0%,100%,.5019607843137255);height:auto;top:4rem;bottom:0}#rmp-new-menu-wizard .rmp-page-loader .rmp-loader-message{font-style:normal;font-size:.875rem;text-align:center;font-weight:600}#rmp-new-menu-wizard .rmp-theme-apply,#rmp-new-menu-wizard .rmp-theme-use{padding:.25rem .75rem;border:1px solid #c8c8c8;border-radius:.3125rem;color:#9d9d9d;letter-spacing:.14px}#rmp-new-menu-wizard .input-group{margin-bottom:.5rem;display:flex;align-items:center;padding:1.4rem 2rem;box-shadow:0 0 .25rem 0 rgba(0,0,0,.1);border:1px solid #dedcdc;background-color:#f6f6f6}#rmp-new-menu-wizard .input-group .input-label{width:35%}#rmp-new-menu-wizard .input-group .input-control{width:65%}#rmp-new-menu-wizard .input-label-title{font-family:PRODUCT SANS MEDIUM;font-size:1rem;font-weight:400;letter-spacing:.16px;color:#303030;margin-bottom:.375rem}#rmp-new-menu-wizard .input-label-description{font-family:PRODUCT SANS;font-size:.875rem;line-height:1.14;letter-spacing:.14px;color:#7b7b7b;margin-right:25%}#rmp-new-menu-wizard .input-label-description a{text-decoration:underline;color:#00adf5}#rmp-new-menu-wizard .rmp-dialog-contents .rmp-new-menu-elements{padding:2% 8%}#rmp-new-menu-wizard .input-control input[type=text],#rmp-new-menu-wizard .input-control select{width:100%;max-width:100%;max-width:34.375rem;box-shadow:0 1px .375rem 0 rgba(0,0,0,.16);border:1px solid #dedcdc;border-radius:0;height:2.625rem}#rmp-new-menu-wizard .rmp-dialog-wrap{top:5%;transition:color .5s linear}#rmp-new-menu-wizard .rmp-dialog-wrap .rmp-dialog-contents{padding:2% 3%;background:#f1f1f1;min-height:26.25rem}#rmp-new-menu-wizard .rmp-dialog-wrap .nav-tab-wrapper{border:0}#rmp-new-menu-wizard .rmp-dialog-wrap .nav-tab-wrapper .nav-tab{color:#6e6e6e;border:0;padding:0;background:unset;margin:0 2rem 0 0;font-size:.875rem;line-height:1.14;letter-spacing:.14px;position:relative;height:1.875rem;font-weight:500}#rmp-new-menu-wizard .rmp-dialog-wrap .nav-tab-wrapper .ui-tabs-active .nav-tab{color:#0085ba}#rmp-new-menu-wizard .rmp-dialog-wrap .rmp-v-divider:after{content:"";position:absolute;height:1.25rem;width:1px;background:#d2d2d2;right:-1rem}#rmp-new-menu-wizard .rmp-dialog-wrap .btn-import-theme{width:5rem;height:2.1875rem;border-radius:.375rem;box-shadow:0 .1875rem .375rem 0 rgba(0,0,0,.16);background-color:#23b507;color:#fff;border:unset}#rmp-new-menu-wizard .rmp-dialog-wrap .rmp-themes{margin:1.25rem 0}#rmp-new-menu-wizard .rmp-dialog-wrap .rmp-item-card_image{line-height:0}#rmp-new-menu-wizard .rmp-dialog-wrap .rmp-item-card_image img{height:15.625rem}#rmp-new-menu-wizard .rmp-dialog-wrap .rmp-item-card_contents{display:inline}#rmp-new-menu-wizard .rmp-dialog-wrap .rmp-item-card-backside{opacity:0;visibility:hidden;display:flex;position:absolute;top:0;left:0;height:calc(100% - .625rem);width:calc(100% - .625rem);margin:.3125rem;background:#000;flex-direction:column;justify-content:center;align-items:center;text-align:center;transform:translate3d(0,50%,0);transition:all .3s ease-in-out}#rmp-new-menu-wizard .rmp-item-card_contents h4{margin:0 .1875rem 1.375rem 0;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.17;letter-spacing:.18px;text-align:center;color:#fff}#rmp-new-menu-wizard .rmp-item-card{padding:.3125rem;background:#eaeaea;border:.3125rem solid #eaeaea;transition:border .3s ease-in-out}#rmp-new-menu-wizard .rmp-item-card:hover .rmp-item-card-backside{opacity:1;visibility:visible;transform:translateZ(0)}#rmp-new-menu-wizard #rmp-theme-upload{background:#36bef7;border:.125rem solid #36bef7;font-family:Product Sans Medium;border-radius:.25rem;font-size:.75rem}#rmp-new-menu-wizard .button{width:6.5625rem;height:2.1875rem;border-radius:.3125rem;background-color:#f80668;border:unset;color:#fff}#rmp-new-menu-wizard .button.btn-blue{background-color:#36bef7}#rmp-new-menu-wizard .rmp-theme-option:checked+label{border:.3125rem solid #0085ba!important}#rmp-new-menu-wizard .item-controls .rmp-theme-option:checked+label.rmp-theme-use{background-color:#0085ba;border:1px solid #0085ba!important;color:#fff}#rmp-new-menu-wizard .rmp-new-menu-step-conatiner{margin-right:12%}#rmp-new-menu-wizard .rmp-dialog-header .title span{padding:0 .625rem}#rmp-new-menu-wizard .rmp-dialog-header .rmp-new-menu-steps{display:flex;flex-direction:row;align-items:center}#rmp-new-menu-wizard .rmp-dialog-header .rmp-new-menu-step{font-size:1.25rem;padding:0 .9375rem;height:4rem;line-height:4rem;font-size:20px;color:#000;cursor:pointer;position:relative}#rmp-new-menu-wizard .rmp-dialog-header .rmp-new-menu-step.current:after{content:"";position:absolute;width:100%;height:.3125rem;background:#f80668;bottom:0;left:0}#rmp-new-menu-wizard .rmp-theme-upload-container{display:flex;flex-direction:column;justify-content:center}#rmp-new-menu-wizard .rmp-theme-upload-container p{color:#555d66;font-size:1.125rem;font-style:normal;margin:0;padding:0;text-align:center}#rmp-new-menu-wizard .rmp-theme-upload-container.hide{display:none}#rmp-new-menu-wizard .wp-upload-form{background:#fafafa;border:1px solid #ccd0d4;padding:1.875rem;margin:1.875rem auto;display:inline-flex;justify-content:space-between;align-items:center}#rmp-new-menu-wizard .rmp-dialog-footer #rmp-create-new-menu,#rmp-new-menu-wizard .rmp-dialog-footer #rmp-menu-next-step{width:8.125rem;font-size:1rem;height:2.8125rem;border:1px solid #00adf5;background-color:#36bef7;border-radius:unset}#rmp-new-menu-wizard .default-item{width:11.5rem;height:15.6rem;display:flex;justify-content:center;align-items:center;font-size:1.125rem;border:.3125rem solid #eaeaea}#rmp-new-menu-wizard .rmp_theme_grids,.rmp-theme-page .rmp_theme_grids{display:flex;justify-content:flex-start;flex-wrap:wrap}.rmp-new-menu-themes .rmp-themes .rmp-theme-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;visibility:hidden;display:none}.rmp-new-menu-themes .rmp-themes .rmp-theme-title{position:relative;background:#fff;padding:1rem;line-height:1.55;font-weight:500;color:#6e6e6e;font-weight:400;margin:.3125rem 0;border:1px solid #ddd;font-family:Product Sans;font-size:.875rem;text-transform:capitalize;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media only screen and (min-width:1170px){.rmp-dialog-overlay .rmp-dialog-wrap{width:73.125rem;margin:0 auto}}@media only screen and (max-width:780px){.rmp-dialog-overlay .rmp-dialog-overlay .rmp-dialog-wrap,.rmp-dialog-overlay .rmp-dialog-wrap{top:0;right:0;bottom:0;left:0;border:none;z-index:999999;position:absolute}#rmp-new-menu-wizard .input-group{flex-direction:column}#rmp-new-menu-wizard .input-group .input-control,#rmp-new-menu-wizard .input-group .input-label{width:100%;margin-bottom:.625rem}#rmp-new-menu-wizard .rmp-dialog-contents .rmp-new-menu-elements{padding:0}#rmp-new-menu-wizard .rmp-dialog-overlay .rmp-dialog-contents{flex-direction:column}#rmp-new-menu-wizard .rmp-dialog-contents .rmp-new-menu-themes{width:100%;border-right:unset;margin-bottom:.625rem}#rmp-new-menu-wizard .rmp-dialog-contents .rmp-new-menu-elements{width:auto}#rmp-new-menu-wizard .rmp-mega-menu-dialog .icon-tabs,#rmp-new-menu-wizard .rmp-menu-icons-dialog .icon-tabs{flex-direction:column}.rmp-dialog-contents .rmp-new-menu-elements{padding:0}.rmp-mega-menu-dialog .icon-tabs,.rmp-menu-icons-dialog .icon-tabs{flex-direction:column}}
v4.0.0/assets/admin/build/js/rmpMain.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! For license information please see rmpMain.js.LICENSE.txt */
2
+ !function(e){var n={};function r(t){if(n[t])return n[t].exports;var i=n[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)r.d(t,i,function(n){return e[n]}.bind(null,i));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=0)}({"./assets/admin/js/rmp-admin.js":function(module,exports){eval("/**\r\n * This is admin scripts file which contain the admin actions.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @author Expresstech System\r\n *\r\n */\njQuery(document).ready(function (jQuery) {\n /**\r\n * Rollback the plugin version.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @fires Click\r\n */\n jQuery('#rmp-rollback-version').on('click', function (e) {\n e.preventDefault();\n var version = jQuery('#rmp-versions').val();\n\n if ('3.1.30' === version) {\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n action: 'rmp_rollback_version'\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error) {\n jQuery(this).prop('disabled', false);\n },\n success: function success(response) {\n if (response.data.redirect) {\n location.href = response.data.redirect;\n }\n }\n });\n }\n });\n /**\r\n * Iframe loader and contents show/hide.\r\n */\n\n jQuery('#rmp-preview-iframe').on('load', function () {\n jQuery('#rmp-preview-iframe-loader').hide();\n jQuery('#rmp-menu-update-notification').remove();\n jQuery('#rmp-preview-iframe').show();\n jQuery('#rmp-preview-iframe').contents().find('a').on('click', function (e) {\n e.stopPropagation();\n e.preventDefault();\n var url = jQuery(this).attr('href'); // Prevent to load the customizer page on preview aria.\n\n if ('#' == url) {\n return;\n }\n\n if (url.indexOf('?') >= 0) {\n url = url + '&rmp_preview_mode=true';\n } else {\n url = url + '?rmp_preview_mode=true';\n }\n\n jQuery('#rmp-preview-iframe').attr('src', url);\n });\n });\n /**\r\n * Save the theme as template.\r\n *\r\n * @since 4.0.0\r\n *\r\n * @fires Click\r\n */\n\n jQuery('button#rmp-save-theme').on('click', function (e) {\n e.stopPropagation();\n e.preventDefault();\n var themeName = jQuery('#rmp-save-theme-name').val();\n\n if (3 > themeName.length) {\n alert('Please give meaning full name to this theme');\n return;\n }\n\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_save_theme',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'theme_name': themeName,\n 'menu_id': jQuery('#menu_id').val(),\n 'form': jQuery('#rmp-editor-form').serialize()\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error2) {\n console.log(_error2.statusText);\n },\n success: function success(response) {\n jQuery(e.target).parents('.rmp-dialog-contents').append('<div class=\"notice notice-success settings-error is-dismissible\"><p>' + response.data.message + '</p></div>');\n }\n });\n });\n /**\r\n * Ajax call to save the menu settings when click on update.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @fires click\r\n */\n\n jQuery(document).on('click', 'button#rmp-save-menu-options,#rmp-menu-quick-update-button', function (e) {\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_save_menu_action',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'form': jQuery('#rmp-editor-form').serialize()\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery('#rmp-preview-iframe-loader').show();\n },\n error: function error(_error3) {\n console.log(_error3.statusText);\n jQuery('#rmp-preview-iframe-loader').hide();\n },\n success: function success(response) {\n // If options is updated successfully then reload the iframe.\n if (response.success) {\n var url = jQuery('#rmp-preview-iframe').attr('src');\n jQuery('#rmp-preview-iframe').attr('src', url);\n }\n }\n });\n }); // Initiate the color picker instances.\n\n jQuery('.rmp-color-input').wpColorPicker(); // Fix events glitch on color textbox.\n\n jQuery('.rmp-color-input').removeAttr('style');\n jQuery(document).find('.rmp-color-input').off('focus'); // Initiate the tab elements.\n\n jQuery('.tabs,#rmp-setting-tabs').tabs({\n hide: {\n effect: 'explode',\n duration: 1000\n },\n show: {\n effect: 'explode',\n duration: 800\n },\n active: 0\n }); // Active tabs under ordering elements.\n\n jQuery('.nav-tab-wrapper').on('click', '.nav-tab', function (e) {\n jQuery('.nav-tab-wrapper .nav-tab').removeClass('nav-tab-active');\n jQuery(this).addClass('nav-tab-active');\n });\n /**\r\n * Check open/close of device options switcher.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @fires click\r\n */\n\n jQuery('.rmp-device-switcher').on('click', function () {\n var isOpen = jQuery(this).hasClass('open');\n\n if (isOpen) {\n jQuery(this).removeClass('open');\n } else {\n jQuery('.rmp-device-switcher').removeClass('open');\n jQuery(this).addClass('open');\n }\n });\n /**\r\n * Change the option when select a device.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @fires click\r\n */\n\n jQuery('.rmp-device-switcher li').on('click', function () {\n var selectedDevice = jQuery(this).attr('data-device');\n var firstDevice = jQuery('.rmp-device-switcher li:first-child').attr('data-device');\n\n if (selectedDevice != firstDevice) {\n activeDeviceOptions(selectedDevice);\n\n if ('desktop' == selectedDevice) {\n jQuery('#rmp-preview-desktop').trigger('click');\n } else if ('tablet' == selectedDevice) {\n jQuery('#rmp-preview-tablet').trigger('click');\n } else {\n jQuery('#rmp-preview-mobile').trigger('click');\n }\n }\n });\n /**\r\n * Active all the device options in editor.\r\n *\r\n * @version 4.0.0;\r\n * @param {string} selectedDevice This device name which is active.\r\n */\n\n function activeDeviceOptions(selectedDevice) {\n var firstDevice = jQuery('.rmp-device-switcher li:first-child').attr('data-device');\n var selectedIcon = jQuery('.rmp-device-switcher li[data-device=' + selectedDevice + ']').html();\n var firstIcon = jQuery('.rmp-device-switcher li:first-child').html();\n jQuery('.rmp-device-switcher li').each(function () {\n if (jQuery(this).attr('data-device') === selectedDevice) {\n jQuery(this).html(firstIcon);\n jQuery(this).attr('data-device', firstDevice);\n } else if (jQuery(this).attr('data-device') === firstDevice) {\n jQuery(this).html(selectedIcon);\n jQuery(this).attr('data-device', selectedDevice);\n }\n });\n }\n /**\r\n * Close the device switcher when mouseup other places.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @fires mouseup\r\n */\n\n\n jQuery(document).on('mouseup', function (event) {\n var target = event.target;\n var deviceSwitcher = jQuery('.rmp-device-switcher');\n\n if (!deviceSwitcher.is(target) && 0 === deviceSwitcher.has(target).length) {\n deviceSwitcher.removeClass('open');\n }\n });\n /**\r\n * Active preview as per clicked device.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @fires Click\r\n */\n\n jQuery('#rmp-editor-footer .rmp-preview-device-wrapper').on('click', 'button', function (e) {\n jQuery('#rmp-editor-footer').find('.rmp-preview-device-wrapper button').removeClass('active');\n jQuery('#rmp-editor-footer').find('.rmp-preview-device-wrapper button').attr('aria-pressed', 'false');\n jQuery(this).addClass('active');\n jQuery(this).attr('aria-pressed', 'true');\n var device = jQuery(this).data('device');\n var deviceEditor = jQuery('#rmp-editor-wrapper');\n var allClasses = deviceEditor.attr('class').split(' ');\n allClasses.forEach(function (value) {\n if (value.includes('rmp-preview-')) {\n deviceEditor.removeClass(value);\n }\n });\n deviceEditor.addClass('rmp-preview-' + device);\n activeDeviceOptions(device);\n });\n /**\r\n * Instantiate the accordion elements.\r\n * @version 4.0.0\r\n */\n\n jQuery('.rmp-accordion-container,.rmp-sub-accordion-container').accordion({\n collapsible: true,\n heightStyle: 'content',\n animate: 200,\n active: 0\n });\n /**\r\n * Instantiate the draggable and sortable menu item order elements.\r\n * \t@version 4.0.0\r\n */\n\n jQuery('#rmp-menu-ordering-items').accordion().sortable({\n placeholder: 'sortable-placeholder',\n opacity: 0.9,\n cursor: 'move',\n delay: 150,\n forcePlaceholderSize: true,\n active: false\n });\n /**\r\n * Stop propagating when click on item control element.\r\n */\n\n jQuery('#tab-container .item-controls, #tab-header-bar .item-controls').on('click', function (event) {\n event.stopPropagation();\n });\n /**\r\n * Show/Hide tooltip for option description.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @fires click,mouseleave\r\n */\n\n jQuery('.rmp-tooltip-icon').on('click', function (e) {\n if (jQuery(this).hasClass('show-tooltip')) {\n return;\n } else {\n jQuery(this).addClass('show-tooltip');\n }\n\n var toolTipContents = jQuery(this).find('.rmp-tooltip-content');\n toolTipContents.css({\n 'left': e.pageX - toolTipContents.width() / 100 * 60,\n 'position': 'fixed',\n 'top': e.pageY - toolTipContents.height() - 10,\n 'bottom': 'unset'\n });\n toolTipContents.fadeIn();\n }).on('mouseleave', function () {\n jQuery(this).removeClass('show-tooltip');\n jQuery(this).find('.rmp-tooltip-content').fadeOut();\n });\n /**\r\n * Remove image from image picker\r\n *\r\n * @version 4.0.0\r\n *\r\n * @fires Click\r\n */\n\n jQuery('.rmp-image-picker ').on('click', '.rmp-image-picker-trash', function (e) {\n e.stopPropagation();\n e.preventDefault();\n jQuery(this).parent('.rmp-image-picker').siblings('input.rmp-image-url-input').val('');\n jQuery(this).parent('.rmp-image-picker').removeAttr('style');\n jQuery(this).remove();\n\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n addUpdateNotification();\n }\n });\n /**\r\n * Show/Hide the theme uploader section in theme page.\r\n */\n\n jQuery('#rmp-upload-new-theme').on('click', function () {\n jQuery('#rmp-menu-library-import').toggleClass('hide');\n });\n /**\r\n * Hide theme uploader section when click on cancel.\r\n */\n\n jQuery('#rmp-menu-library-import-form').on('click', '.cancel', function (e) {\n jQuery('#rmp-menu-library-import').addClass('hide');\n });\n /**\r\n * Upload the theme file using dropzone.\r\n *\r\n * @version 4.0.0\r\n */\n\n jQuery('#rmp-menu-library-import-form').dropzone({\n clickable: true,\n acceptedFiles: '.zip',\n uploadMultiple: false,\n success: function success(file, response) {\n location.reload();\n },\n totaluploadprogress: function totaluploadprogress() {\n jQuery('.rmp-page-loader').css('display', 'flex');\n }\n });\n /**\r\n * Open theme options in editor footer.\r\n */\n\n jQuery('#rmp-theme-action').on('click', function (e) {\n jQuery('#rmp-footer-theme-options').toggleClass('open');\n });\n /**\r\n * Show/Hide the save theme wizard.\r\n */\n\n jQuery('.rmp-theme-save-button, #rmp-menu-save-theme-wizard .rmp-dialog-wrap .close').on('click', function (e) {\n jQuery('#rmp-menu-save-theme-wizard').toggle();\n });\n /**\r\n * Delete the theme from theme page.\r\n */\n\n jQuery('.rmp-theme-delete').on('click', function (e) {\n e.preventDefault();\n /** Ask for delete confirmation */\n\n var isConfirm = confirm('Are you sure, You want to delete this theme ?');\n\n if (!isConfirm) {\n return;\n } //Show the loader on deleting theme.\n\n\n var current_theme = jQuery(this);\n current_theme.append('<span class=\"spinner is-active\"></span>');\n var themeName = jQuery(this).attr('data-theme');\n var themeType = jQuery(this).attr('data-theme-type').toLowerCase();\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_theme_delete',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'theme_name': themeName,\n 'theme_type': themeType\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error4) {\n console.log(_error4.statusText);\n },\n success: function success(response) {\n current_theme.find('.spinner').removeClass('is-active');\n\n if (response.success) {\n location.reload();\n } else {\n alert(response.data.message);\n }\n }\n });\n });\n /**\r\n * Apply the selected theme in current active menu in editor.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @fires click\r\n */\n\n jQuery(document).on('click', '.rmp-theme-apply', function (e) {\n //Show the overlay with loader.\n jQuery('.rmp-page-loader').css('display', 'flex');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_theme_apply',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'theme_name': jQuery(this).attr('theme-name'),\n 'theme_type': jQuery(this).attr('theme-type').toLowerCase(),\n 'menu_id': jQuery('#menu_id').val(),\n 'menu_to_use': jQuery('#rmp-menu-to-use').val()\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error5) {\n console.log(_error5.statusText);\n jQuery('.rmp-page-loader').hide();\n },\n success: function success(response) {\n if (response.success) {\n location.reload();\n } else {\n jQuery('.rmp-page-loader').hide();\n alert(response.data.message);\n }\n }\n });\n });\n /**\r\n * Save the global settings on click.\r\n * \r\n * @version 4.0.0\r\n * \r\n * @fires click\r\n */\n\n jQuery('.rmp-save-global-settings-button').on('click', function (e) {\n e.preventDefault();\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_save_global_settings',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'form': jQuery('#rmp-global-settings').serialize()\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery(this).prop('disabled', true);\n jQuery('.spinner').addClass('is-active');\n },\n error: function error(_error6) {\n console.log('Internal Error !' + _error6);\n },\n success: function success(response) {\n jQuery('.spinner').removeClass('is-active');\n jQuery(this).prop('disabled', false);\n }\n });\n });\n /**\r\n * Initiate multiple selectize option of editor.\r\n */\n\n jQuery('#rmp-keyboard-shortcut-close-menu,#rmp-keyboard-shortcut-open-menu').selectize({\n maxItems: 2,\n plugins: ['remove_button']\n });\n /**\r\n * Event to linked the group inputs.\r\n * \r\n * @fires Click\r\n */\n\n jQuery(document).on('click', 'button.rmp-group-input-linked', function () {\n jQuery(this).toggleClass('is-linked');\n });\n /**\r\n * Event to type on all sibblings input if linked.\r\n * \r\n * @fires keyup\r\n */\n\n jQuery(document).on('keyup', 'input.rmp-group-input', function (event) {\n var pressedKeys = this.value.toLocaleLowerCase();\n var parent = jQuery(this).parents('.rmp-input-group-control');\n var isLinked = parent.find('.is-linked');\n\n if (isLinked.length) {\n parent.find('input.rmp-group-input').val(pressedKeys);\n } else {\n jQuery(this).val(pressedKeys);\n }\n });\n /**\r\n * Function to add the notification and update button.\r\n */\n\n function addUpdateNotification() {\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n jQuery('#rmp-editor-main').prepend('<div id=\"rmp-menu-update-notification\" class=\"rmp-order-item rmp-order-item-description\">' + '<span> <span class=\"rmp-font-icon dashicons dashicons-warning \"></span> Update Required </span>' + '<a href=\"javascript:void(0)\" id=\"rmp-menu-quick-update-button\">UPDATE</a>' + '</div>');\n }\n }\n\n jQuery('form#rmp-editor-form').on('keyup change paste', 'input, select, textarea, radio, checkbox', function () {\n if (!jQuery(this).hasClass('no-updates')) {\n addUpdateNotification();\n }\n });\n jQuery(document).on('click', '#rmp-icon-dialog-select,.media-button-select,.rmp-icon-picker,.rmp-image-picker', function () {\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n addUpdateNotification();\n }\n });\n /**\r\n * Event to download exported menu settings as json file.\r\n *\r\n * @version 4.0.0 \r\n */\n\n jQuery('#rmp-export-menu-button').on('click', function (e) {\n e.preventDefault();\n var menu_id = jQuery('#rmp_export_menu_list').val();\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_export_menu',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'menu_id': menu_id\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery('#rmp-export-menu-button').prop('disabled', true);\n },\n error: function error(_error7) {\n console.log(_error7.statusText);\n jQuery('#rmp-export-menu-button').prop('disabled', false);\n },\n success: function success(response) {\n jQuery('#rmp-export-menu-button').prop('disabled', false);\n\n if (response.data) {\n var menu_name = jQuery('#rmp_export_menu_list').children(\":selected\").text().trim().toLocaleLowerCase().split(' ').join('-');\n download_file(response.data, menu_name + '.json', 'application/json');\n }\n }\n });\n });\n /**\r\n * Function to download the content as file.\r\n * \r\n * @since 4.0.0\r\n * \r\n * @param {String} content Contents for file\r\n * @param {String} name Name of the file. \r\n * @param {String} type File type\r\n */\n\n function download_file(content, name, type) {\n var link = document.body.appendChild(document.createElement('a'));\n var file = new Blob([content], {\n type: type\n });\n link.href = URL.createObjectURL(file);\n link.download = name;\n link.click();\n }\n /**\r\n * Event to download exported menu settings as json file.\r\n *\r\n * @version 4.0.0 \r\n */\n\n\n jQuery('#rmp-import-menu-button').on('click', function (e) {\n e.preventDefault();\n var menu_id = jQuery('#rmp_import_menu_list').val();\n\n if (!menu_id) {\n alert('Please create menu first ! ');\n return;\n }\n\n var file_data = jQuery('#rmp_input_import_file')[0].files[0];\n\n if (!file_data) {\n alert('Choose export file ! ');\n return;\n }\n\n var form_data = new FormData();\n form_data.append('file', file_data);\n form_data.append('ajax_nonce', rmpObject.ajax_nonce);\n form_data.append('menu_id', menu_id);\n form_data.append('action', 'rmp_import_menu');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: form_data,\n type: 'POST',\n cache: false,\n contentType: false,\n processData: false,\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery('#rmp-import-menu-button').prop('disabled', true);\n },\n error: function error(_error8) {\n console.log(_error8.statusText);\n jQuery('#rmp-import-menu-button').prop('disabled', false);\n },\n success: function success(response) {\n jQuery('#rmp-import-menu-button').prop('disabled', false);\n noticeClass = 'notice-error';\n\n if (response.success) {\n noticeClass = 'notice-success';\n jQuery('#rmp_input_import_file').val('');\n }\n\n jQuery('#rmp-global-settings').before('<div class=\"notice ' + noticeClass + ' settings-error is-dismissible\"> <p>' + response.data.message + '</p></div>');\n setTimeout(function () {\n jQuery('#rmp-global-settings').parent().find('.notice').remove();\n }, 3000);\n }\n });\n });\n /**\r\n * Function to manage menu container animation options.\r\n *\r\n * @param {String} optionValue \r\n */\n\n function updateMenuContainerAnimationOptions(optionValue) {\n if ('push' === optionValue) {\n jQuery('#rmp-page-wrapper').parents('.rmp-input-control-wrapper').fadeIn();\n } else {\n jQuery('#rmp-page-wrapper').parents('.rmp-input-control-wrapper').fadeOut();\n }\n\n if ('fade' === optionValue) {\n jQuery('#rmp-menu-appear-from option[value=\"top\"]').hide();\n jQuery('#rmp-menu-appear-from option[value=\"bottom\"]').hide();\n } else {\n jQuery('#rmp-menu-appear-from option[value=\"top\"]').show();\n jQuery('#rmp-menu-appear-from option[value=\"bottom\"]').show();\n }\n } // Menu container animation type and their options.\n\n\n updateMenuContainerAnimationOptions(jQuery('#rmp-animation-type').val());\n jQuery('#rmp-editor-wrapper').on('change', '#rmp-animation-type', function (e) {\n var optionValue = jQuery(this).val();\n updateMenuContainerAnimationOptions(optionValue);\n });\n /**\r\n * Event to back on home page under preview screen.\r\n *\r\n * @since 4.1.0\r\n *\r\n * @fires click\r\n *\r\n * @return void\r\n */\n\n jQuery('#rmp-preview-wrapper').on('click', function () {\n var url = window.location.href;\n url = url.substring(0, url.indexOf('wp-admin')) + '?rmp_preview_mode=true';\n jQuery('#rmp-preview-iframe-loader').show();\n jQuery('#rmp-preview-iframe').attr('src', url);\n });\n /** Call ajax to hide admin notice permanent. */\n\n jQuery('.notice-responsive-menu').on('click', '.notice-dismiss', function (event) {\n event.preventDefault();\n jQuery.ajax({\n type: \"POST\",\n url: rmpObject.ajaxURL,\n data: 'action=rmp_upgrade_admin_notice_dismiss'\n });\n });\n});\n\n//# sourceURL=webpack:///./assets/admin/js/rmp-admin.js?")},"./assets/admin/js/rmp-editor.js":function(module,exports){eval("/**\r\n * This file container the editor multi level features.\r\n *\r\n * @version 4.0.0\r\n *\r\n * @type {Object}\r\n */\nvar rmpEditor = {\n editorSidebar: '#rmp-editor-wrapper',\n sidebarDrawer: 'button.collapse-sidebar',\n mainForm: '#rmp-editor-form',\n editorContainer: '#rmp-editor-main',\n topParentNav: '#rmp-editor-nav',\n topParentTab: '#rmp-editor-pane',\n childTabs: '.rmp-accordions',\n tabItem: 'li.rmp-tab-item',\n titleLogo: '.rmp-editor-header-logo',\n closeButton: '.rmp-editor-header-close',\n titleText: '.rmp-editor-header-title',\n backButton: '.rmp-editor-header-back',\n tabId: null,\n level: 0,\n triggerBack: function triggerBack() {\n this.level--;\n parentId = jQuery('#' + this.tabId).attr('aria-parent');\n jQuery('#' + parentId).show();\n var title = jQuery('#' + parentId).attr('aria-label');\n this.updateHeader(title);\n jQuery('#' + this.tabId).hide();\n this.tabId = parentId;\n },\n updatePanel: function updatePanel(current) {\n this.tabId = current.attr('aria-owns');\n jQuery('#' + this.tabId).show();\n parentId = current.parent('ul').parent('div').attr('id');\n jQuery('#' + this.tabId).attr('aria-parent', parentId);\n jQuery('#' + parentId).hide();\n },\n updateHeader: function updateHeader(title) {\n if (0 == this.level) {\n jQuery(this.titleLogo).find('img').show();\n jQuery(this.closeButton).show();\n jQuery(this.backButton).hide();\n } else if (1 == this.level) {\n jQuery(this.backButton).css('display', 'flex');\n jQuery(this.titleLogo).find('img').hide();\n jQuery(this.closeButton).hide();\n }\n\n jQuery(this.titleText).text(title);\n },\n init: function init() {\n var self = this; // Move on next panel when click on item.\n\n jQuery(self.editorContainer).on('click', self.tabItem, function (e) {\n e.stopPropagation();\n e.preventDefault();\n current = jQuery(this);\n self.level++;\n self.updateHeader(current.text());\n self.updatePanel(current);\n }); // Back from inner panel when click on back button.\n\n jQuery(self.backButton).on('click', function (e) {\n e.stopPropagation();\n self.triggerBack();\n }); // Open/Close the editor setting sidebar.\n\n jQuery(self.sidebarDrawer).on('click', function (e) {\n jQuery(self.editorSidebar).toggleClass('expanded collapsed');\n });\n }\n};\nrmpEditor.init();\n\n//# sourceURL=webpack:///./assets/admin/js/rmp-editor.js?")},"./assets/admin/js/rmp-icon.js":function(module,exports){eval("/**\r\n * This file contain the script to handle the icon wizard and it's operation.\r\n *\r\n * @version 4.0.0\r\n */\njQuery(document).ready(function () {\n var RMP_Icon = {\n iconSelect: '#rmp-icon-dialog-select',\n iconContainer: '.rmp-menu-icons-dialog',\n clearSelector: '#rmp-icon-dialog-clear',\n closeSelector: '.rmp-menu-icons-dialog .rmp-dialog-header button.close',\n clear: function clear() {\n var self = this;\n jQuery(self.clearSelector).on('click', function () {\n jQuery(self.iconContainer).find('input').prop('checked', false);\n });\n },\n closeDialog: function closeDialog() {\n var self = this;\n jQuery(self.closeSelector).on('click', function () {\n jQuery(self.iconContainer).hide();\n });\n },\n openDialog: function openDialog(iconChooser) {\n var self = this;\n jQuery(iconChooser).on('click', function (e) {\n e.stopPropagation();\n jQuery(self.iconContainer).show();\n jQuery(self.iconSelect).attr('data-click', jQuery(e.target).attr('id'));\n });\n },\n getIconElementWrap: function getIconElementWrap(icon_class) {\n if (icon_class.includes('material-icons')) {\n icon_class = icon_class.replace('material-icons', '');\n return '<span class=\"rmp-font-icon material-icons\">' + icon_class + '</span>';\n }\n\n return '<span class=\"rmp-font-icon ' + icon_class + ' \"></span>';\n },\n removeIcon: function removeIcon(iconChooser) {\n jQuery(iconChooser).on('click', '.rmp-icon-picker-trash', function (e) {\n e.preventDefault();\n e.stopPropagation();\n jQuery(this).parent('.rmp-icon-picker').siblings('input.rmp-icon-hidden-input').val('');\n jQuery(this).siblings('.rmp-font-icon').remove();\n jQuery(this).parent('.rmp-icon-picker').removeAttr('data-icon');\n jQuery(this).remove();\n\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n jQuery('#rmp-editor-main').prepend('<div id=\"rmp-menu-update-notification\" class=\"rmp-order-item rmp-order-item-description\">' + '<span> <span class=\"rmp-font-icon dashicons dashicons-warning \"></span> Update Required </span>' + '<a href=\"javascript:void(0)\" id=\"rmp-menu-quick-update-button\">UPDATE</a>' + '</div>');\n }\n });\n },\n getIcon: function getIcon() {\n var self = this;\n jQuery(document).on('click', this.iconSelect, function () {\n icon_class = jQuery(self.iconContainer).find('input:checked').val();\n clicker = '#' + jQuery(self.iconSelect).attr('data-click');\n icon_wrap = self.getIconElementWrap(icon_class);\n jQuery(clicker).find('.rmp-font-icon').remove();\n jQuery(clicker).prev('input.rmp-icon-hidden-input').val(icon_wrap);\n jQuery(clicker).append(icon_wrap);\n jQuery(clicker).attr('data-icon', true);\n jQuery(clicker).find('.rmp-icon-picker-trash').remove();\n jQuery(clicker).append('<i class=\"rmp-icon-picker-trash dashicons dashicons-trash\" aria-hidden=\"true\"></i>');\n jQuery(self.iconSelect).removeAttr('data-click');\n jQuery(self.closeSelector).click();\n jQuery(clicker).prev('input').first().focus();\n });\n },\n init: function init(iconChooser) {\n this.openDialog(iconChooser);\n this.removeIcon(iconChooser);\n this.getIcon();\n this.clear();\n this.closeDialog();\n jQuery('#rmp-icon-search').on('keyup', _.debounce(this.searchIcon, 500));\n jQuery('#rmp-icon-search').on('keyup', function () {\n var query_string = this.value.toLocaleLowerCase();\n\n if (query_string.length) {\n if (!jQuery('#rmp-icon-search-typing-message').length) {\n jQuery(this).after('<span id=\"rmp-icon-search-typing-message\"> Waiting for more keystrokes... </span>');\n } else {\n jQuery('#rmp-icon-search-typing-message').html('Waiting for more keystrokes...');\n }\n }\n });\n /**\r\n * Create menu item icon selector.\r\n */\n\n jQuery(document).on('click', '.delete-menu-item-icon', function () {\n jQuery(this).closest('.rmp-menu-item-icon-container').remove();\n });\n },\n searchIcon: function searchIcon(e) {\n jQuery('#rmp-icon-search-typing-message').html('Please wait moment..');\n var query_string = this.value.toLocaleLowerCase();\n var activeTab = jQuery('.rmp-menu-icons-dialog').find('.nav-tab-active');\n\n if (!activeTab.length) {\n activeTab = jQuery('.rmp-menu-icons-dialog').find('.nav-tab').first();\n }\n\n icon_container = activeTab.attr('href');\n var icon_selector = jQuery(icon_container + ' .font-icon');\n var is_exist = false;\n icon_selector.each(function () {\n var icon_label = jQuery(this).children('input').val().toLocaleLowerCase();\n\n if (icon_label.includes(query_string)) {\n jQuery(this).show();\n is_exist = true;\n } else {\n jQuery(this).hide();\n }\n });\n\n if (is_exist) {\n jQuery('#rmp-icon-search-typing-message').html('Done, Check results..');\n } else {\n jQuery('#rmp-icon-search-typing-message').html('Sorry, Not found..');\n }\n }\n };\n RMP_Icon.init('.rmp-icon-picker');\n});\n\n//# sourceURL=webpack:///./assets/admin/js/rmp-icon.js?")},"./assets/admin/js/rmp-menu-wizard.js":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/**\r\n * This is js hook scripts file for responsive menu.\r\n *\r\n * @file This files defines the rmpNewMenuWizard object.\r\n * @author ExpressTech System.\r\n *\r\n * @since 4.1.0\r\n *\r\n * @package responsive-menu-pro\r\n */\n\n/**\r\n * Hooks class.\r\n *\r\n * @type {Object}\r\n *\r\n * @since 4.1.0\r\n */\n\nvar rmpMenuWizard = {\n /**\r\n * Initialize.\r\n *\r\n * @return {void}\r\n */\n init: function init() {\n this.setProps();\n },\n\n /**\r\n * Set properties and selectors.\r\n *\r\n * @return {void}\r\n */\n setProps: function setProps() {\n var _this = this;\n\n //Assign wizard container element id.\n var menuWizardContainer = jQuery('#rmp-new-menu-wizard'); //Open new create menu wizard on click event.\n\n jQuery(document).on('click', 'a.page-title-action', function (e) {\n e.preventDefault();\n menuWizardContainer.show();\n }); //Close the new menu wizard.\n\n jQuery('#rmp-new-menu-wizard .rmp-dialog-header button.close').on('click', function () {\n menuWizardContainer.hide();\n }); //Show/Hide the page selection input control.\n\n menuWizardContainer.on('change', '.rmp-menu-display-option', function (e) {\n var optionValue = jQuery(this).val();\n\n if ('exclude-pages' === optionValue || 'include-pages' === optionValue) {\n jQuery('#rmp-menu-page-selector').show();\n return;\n }\n\n jQuery('#rmp-menu-page-selector').hide();\n }); //Show/Hide change theme wizard in customizer page.\n\n jQuery('.rmp-theme-change-button').on('click', function (e) {\n menuWizardContainer.toggle();\n }); //Multi step form event for next button.\n\n jQuery('#rmp-menu-next-step').on('click', function () {\n _this.nextSection();\n }); //Multi step form event for top item label.\n\n jQuery('li.rmp-new-menu-step').on('click', function (e) {\n var index = jQuery(e.currentTarget).index();\n\n _this.goToSection(index);\n }); //Call ajax to save the new create menu.\n\n jQuery('#rmp-create-new-menu').on('click', function (e) {\n e.preventDefault();\n var menuName = jQuery('#rmp-menu-name');\n var themeName = jQuery('.rmp-theme-option:checked').val();\n\n if (themeName == undefined) {\n themeName = '';\n }\n\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_create_new_menu',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'menu_name': menuName.val(),\n 'menu_to_hide': jQuery('#rmp-hide-menu').val(),\n 'menu_to_use': jQuery('#rmp-menu-to-use').val(),\n 'menu_show_on_pages': jQuery('#rmp-menu-display-on-pages').val(),\n 'menu_show_on': jQuery('.rmp-menu-display-option').val(),\n 'menu_theme': themeName,\n 'theme_type': jQuery('.rmp-theme-option:checked').attr('theme-type')\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery(e.currentTarget).prop('disabled', true);\n jQuery('.spinner').addClass('is-active');\n },\n error: function error(_error) {\n console.log('Internal Error !');\n jQuery('#rmp-create-new-menu').prop('disabled', false);\n jQuery('.spinner').removeClass('is-active');\n },\n success: function success(response) {\n jQuery('.spinner').removeClass('is-active');\n jQuery('#rmp-create-new-menu').prop('disabled', false);\n\n if (response.success) {\n window.location.href = response.data.customize_url;\n } else {\n alert(response.data.message);\n }\n }\n });\n }); //Ajax call to upload the theme.\n\n jQuery('#rmp-theme-upload').on('click', function (e) {\n e.preventDefault();\n var formData = new FormData();\n var file = jQuery('#rmp_menu_theme_zip').prop('files')[0];\n formData.append('file', file);\n formData.append('action', 'rmp_menu_theme_upload');\n formData.append('ajax_nonce', rmpObject.ajax_nonce);\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: formData,\n type: 'POST',\n processData: false,\n contentType: false,\n dataType: 'json',\n success: function success(response) {\n jQuery('#rmp_menu_theme_zip').val('');\n alert(response.data.message);\n\n if (response.data.html) {\n jQuery('#rmp-new-menu-wizard').find('#tabs-1').html(response.data.html);\n jQuery('#rmp-menu-library-import').addClass('hide');\n }\n }\n });\n }); //Ajax call to check the recent changes the theme api.\n\n jQuery('.rmp-call-theme-api-button').on('click', function (e) {\n if (!jQuery(e.currentTarget).hasClass('rmp-call-theme-api-button')) {\n return;\n }\n\n jQuery('#rmp-new-menu-wizard').find('.rmp-page-loader').css('display', 'flex');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_call_theme_api',\n 'ajax_nonce': rmpObject.ajax_nonce\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error2) {\n jQuery('#rmp-new-menu-wizard').find('.rmp-page-loader').hide();\n jQuery('#rmp-new-menu-wizard').find('#tabs-2 .rmp_theme_grids').html('Internal Error !');\n },\n success: function success(response) {\n if (response.data.html) {\n jQuery('#rmp-new-menu-wizard').find('#tabs-2 .rmp_theme_grids').html(response.data.html);\n jQuery(e.currentTarget).removeClass('rmp-call-theme-api-button');\n }\n }\n });\n });\n },\n\n /**\r\n * Jump to the next section of wizard.\r\n *\r\n * @return {void}\r\n */\n nextSection: function nextSection() {\n var currectSectionIndex = jQuery('div.rmp-menu-section.current').index();\n this.goToSection(currectSectionIndex + 1);\n },\n\n /**\r\n * Show the indexed section in wizard.\r\n *\r\n * @return {void}\r\n */\n goToSection: function goToSection(currectSectionIndex) {\n if (1 <= currectSectionIndex) {\n jQuery('#rmp-create-new-menu').show();\n jQuery('#rmp-menu-next-step').hide();\n } else {\n jQuery('#rmp-create-new-menu').hide();\n jQuery('#rmp-menu-next-step').show();\n }\n\n jQuery('div.rmp-menu-section').eq(currectSectionIndex).addClass('current').siblings().removeClass('current');\n jQuery('li.rmp-new-menu-step').eq(currectSectionIndex).addClass('current').siblings().removeClass('current');\n }\n};\nrmpMenuWizard.init();\n/* harmony default export */ __webpack_exports__[\"default\"] = (rmpMenuWizard);\n\n//# sourceURL=webpack:///./assets/admin/js/rmp-menu-wizard.js?")},"./assets/admin/js/rmp-preview.js":function(module,exports){eval("/**\r\n * This is preview scripts file for responsive menu customizer.\r\n *\r\n * @file This files defines the rmpHook object.\r\n * @author ExpressTech System.\r\n * @type {Object}\r\n *\r\n * @since 4.0.0\r\n *\r\n * @package responsive-menu-pro\r\n */\n\n/**\r\n * Hooks class.\r\n *\r\n * @type {Object}\r\n *\r\n * @since 4.0.0\r\n */\nvar rmpHook = {\n hooks: [],\n isBreak: false,\n\n /**\r\n * Function to register the hook.\r\n *\r\n * @since 4.0.0\r\n *\r\n * @param String name Hook Name.\r\n * @param function callback Associated function.\r\n */\n register: function register(name, callback) {\n if ('undefined' == typeof rmpHook.hooks[name]) {\n rmpHook.hooks[name] = [];\n }\n\n rmpHook.hooks[name].push(callback);\n },\n\n /**\r\n * Function to call the hook.\r\n *\r\n * @since 4.0.0\r\n *\r\n * @param String name Hook Name.\r\n * @param function params Paramter list.\r\n */\n call: function call(name, params) {\n if ('undefined' != typeof rmpHook.hooks[name]) {\n for (var i = 0; i < rmpHook.hooks[name].length; ++i) {\n var output = rmpHook.hooks[name][i](params);\n\n if (false == output) {\n rmpHook.isBreak = true;\n return false;\n }\n\n return output;\n }\n }\n\n return true;\n }\n};\n/**\r\n * Register function to color the menu elements.\r\n * \r\n * @since 4.0.0\r\n * \r\n * @param {Object} args List of inputs.\r\n * @return {String}\r\n */\n\nrmpHook.register('rmp_color_style', function (args) {\n if (!args) {\n return false;\n } // Set the state/pseudo class.\n\n\n if ('hover' == args.state) {\n args.outputSelector = args.outputSelector + ':hover';\n } else if ('placeholder' == args.state) {\n args.outputSelector = args.outputSelector + '::placeholder';\n } else if ('before' == args.state) {\n args.outputSelector = args.outputSelector + '::before';\n } else if ('after' == args.state) {\n args.outputSelector = args.outputSelector + '::after';\n } //Prepare css string and return.\n\n\n return args.outputSelector + '{ ' + args.attr + ' : ' + args.value + ';}';\n});\n/**\r\n * rmpPreview class\r\n * \r\n * @since 4.0.0\r\n * \r\n * @type {Object}\r\n */\n\nwindow.RMP_Preview = {\n iframe: '#rmp-preview-iframe',\n menuId: jQuery('#menu_id').val(),\n mobile_breakpoint: jQuery('#rmp-menu-mobile-breakpoint').val() + 'px',\n tablet_breakpoint: jQuery('#rmp-menu-tablet-breakpoint').val() + 'px',\n active_device: jQuery('#rmp_device_mode'),\n menuContainer: '#rmp-container-' + self.menuId,\n onTyping: function onTyping(inputSelector, outputSelector, type) {\n var meta = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var self = this;\n var iframe = jQuery(self.iframe);\n jQuery(inputSelector).on('keyup change paste', function () {\n switch (type) {\n case 'border-radius':\n var value = jQuery(this).val();\n css = outputSelector + '{ border-radius : ' + value + 'px;}';\n self.inlineCssInjector(css);\n break;\n\n case 'section-padding':\n var value = jQuery(this).val();\n var is_linked = jQuery(this).parents('.rmp-input-group-control').find('.rmp-group-input-linked').hasClass('is-linked');\n var attr = 'padding';\n\n if (!is_linked) {\n pos = jQuery(this).attr('data-input');\n attr = attr + '-' + pos;\n }\n\n css = outputSelector + '{ ' + attr + ' : ' + value + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-text':\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).html(this.value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').before('<div class=\"rmp-trigger-label rmp-trigger-label-top\"><span class=\"rmp-trigger-text\">\"' + this.value + '\"</span></div>');\n }\n\n break;\n\n case 'trigger-text-open':\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).html(this.value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').before('<div class=\"rmp-trigger-label rmp-trigger-label-top\"><span class=\"rmp-trigger-text-open\">\"' + this.value + '\"</span></div>');\n }\n\n break;\n\n case 'text':\n iframe.contents().find(outputSelector).html(this.value);\n break;\n\n case 'placeholder':\n iframe.contents().find(outputSelector).attr('placeholder', this.value);\n break;\n\n case 'href':\n iframe.contents().find(outputSelector).attr('href', this.value);\n break;\n\n case 'font-size':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n var value = jQuery(this).val();\n css = outputSelector + '{ font-size : ' + (value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n css = outputSelector + '{ width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'height':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ height : ' + (this.value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'line-height':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ line-height : ' + (this.value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'min-width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ min-width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'max-width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ max-width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-side-position':\n side = jQuery('#rmp-menu-button-left-or-right').val();\n unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();\n value = jQuery('#rmp-menu-button-distance-from-side').val();\n css = outputSelector + '{ ' + side + ' :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'top':\n value = jQuery(this).val();\n unit = jQuery('#rmp-menu-button-top-unit').val();\n css = outputSelector + '{ top :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'border-width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n css = outputSelector + '{ border-width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'padding':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n if (meta == 'lr') {\n css = outputSelector + '{ padding : 0 ' + (this.value + unit) + ';}';\n }\n\n self.inlineCssInjector(css);\n break;\n }\n });\n },\n bindImage: function bindImage(inputSelector, outputSelector, type) {\n var self = this;\n var iframe = jQuery(self.iframe);\n jQuery(document).on('click', inputSelector, function (e) {\n e.preventDefault();\n var button = jQuery(this),\n custom_uploader = wp.media({\n title: 'Select image',\n library: {\n type: 'image'\n },\n button: {\n text: 'Use this image'\n },\n multiple: false\n }).on('select', function () {\n var attachment = custom_uploader.state().get('selection').first().toJSON();\n jQuery(e.target).prev('input.rmp-image-url-input').val(attachment.url);\n jQuery(e.target).css('background-image', 'url(' + attachment.url + ')');\n jQuery(e.target).append('<i class=\"rmp-image-picker-trash dashicons dashicons-trash\" aria-hidden=\"true\"></i>');\n\n if (type == 'img-src') {\n iframe.contents().find(outputSelector).attr('src', attachment.url);\n } else if (type == 'background') {\n css = outputSelector + '{ background-image : url(' + attachment.url + ');}';\n self.inlineCssInjector(css);\n } else if (type == 'trigger-icon') {\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).attr('src', attachment.url);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<img class=\"rmp-trigger-icon rmp-trigger-icon-inactive\" src=\"' + attachment.url + '\"/>');\n }\n } else if (type == 'trigger-icon-open') {\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).attr('src', attachment.url);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<img class=\"rmp-trigger-icon rmp-trigger-icon-active\" src=\"' + attachment.url + '\"/>');\n }\n }\n }).open();\n });\n },\n toggleElements: function toggleElements(inputSelector, outputSelector) {\n var self = this;\n jQuery(inputSelector).on('change', function (e) {\n e.preventDefault();\n e.stopPropagation();\n var iframe = jQuery(self.iframe);\n\n if (iframe.contents().find(outputSelector).length) {\n if (jQuery(this).is(':checked')) {\n iframe.contents().find(outputSelector).fadeIn(500);\n } else {\n iframe.contents().find(outputSelector).fadeOut(500);\n }\n } else {\n e.preventDefault();\n var menuId = jQuery('#menu_id').val(),\n toggle_on = jQuery(this).data('toggle');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_enable_menu_item',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'menu_id': menuId,\n 'menu_element': toggle_on\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery(this).prop('disabled', true);\n jQuery('#iframe-spinner').show();\n },\n error: function error(_error) {\n console.log('Internal Error !');\n jQuery(this).prop('disabled', false);\n jQuery('#iframe-spinner').hide();\n },\n success: function success(response) {\n if (response.data.markup) {\n iframe.contents().find('#rmp-container-' + self.menuId).append(response.data.markup);\n self.orderMenuElements();\n }\n\n jQuery(this).prop('disabled', false);\n jQuery('#iframe-spinner').hide();\n }\n });\n }\n });\n },\n orderMenuElements: function orderMenuElements() {\n var list = [];\n var self = this;\n var iframeContents = jQuery(self.iframe).contents();\n jQuery('#tab-container .item-title').each(function () {\n var val = jQuery(this).text().toLocaleLowerCase().trim();\n\n if (val == 'title') {\n list.push(iframeContents.find(self.menuTitle));\n iframeContents.find(self.menuTitle).remove();\n } else if (val == 'search') {\n list.push(iframeContents.find(self.menuSearch));\n iframeContents.find(self.menuSearch).remove();\n } else if (val == 'menu') {\n list.push(iframeContents.find(self.menuWrap));\n iframeContents.find(self.menuWrap).remove();\n } else {\n list.push(iframeContents.find(self.menuContents));\n iframeContents.find(self.menuContents).remove();\n }\n });\n list.forEach(function (menuElement) {\n iframeContents.find(self.menuContainer).append(menuElement);\n });\n },\n\n /**\r\n * Function to bind the color input with option and elements.\r\n * \r\n * @version 4.0.0\r\n * \r\n * @param {String} inputSelector \r\n * @param {String} outputSelector \r\n * @param {String} attr \r\n * @param {String} state \r\n */\n bindColor: function bindColor(inputSelector, outputSelector, attr, state) {\n var self = this;\n jQuery(inputSelector).wpColorPicker({\n change: function change(event, ui) {\n var value = ui.color.toString();\n var css = rmpHook.call('rmp_color_style', {\n 'outputSelector': outputSelector,\n 'attr': attr,\n 'value': value,\n 'state': state\n });\n\n if (jQuery(inputSelector).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n }\n });\n },\n mediaQuery: function mediaQuery(css) {\n var self = this;\n self.tablet_breakpoint = jQuery('#rmp-menu-tablet-breakpoint').val() + 'px';\n css = '@media screen and (max-width: ' + self.tablet_breakpoint + ' ) {' + css + '}';\n return css;\n },\n inlineCssInjector: function inlineCssInjector(css) {\n var self = this;\n var iframe = jQuery(self.iframe);\n var styleElement = iframe.contents().find('#rmp-inline-css-' + self.menuId);\n\n if (styleElement.length) {\n styleElement.append(css);\n } else {\n style = '<style id=\"rmp-inline-css-' + self.menuId + '\">' + css + '</style>';\n iframe.contents().find('head').append(style);\n }\n },\n changeInput: function changeInput(inputSelector, outputSelector, attr) {\n var meta = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var self = this;\n var iframe = jQuery(self.iframe);\n jQuery(inputSelector).on('change', function (e) {\n switch (attr) {\n case 'height-unit':\n value = jQuery(this).prev('input').val();\n unit = jQuery(this).val();\n css = outputSelector + '{ height : ' + (value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'line-height-unit':\n value = jQuery(this).prev('input').val();\n unit = jQuery(this).val();\n css = outputSelector + '{ line-height : ' + (value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'width-unit':\n var value = jQuery(this).prev('input').val();\n var unit = jQuery(this).val();\n css = outputSelector + '{ width : ' + (value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'font-size':\n value = jQuery(this).prev('input').val();\n unit = jQuery(this).val();\n css = outputSelector + '{ font-size :' + value + unit + ' !important;}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'font-family':\n value = jQuery(this).val();\n css = outputSelector + '{ font-family :' + value + ' !important;}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'font-weight':\n value = jQuery(this).val();\n css = outputSelector + '{ font-weight :' + value + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'padding-unit':\n var unit = jQuery(this).val();\n var value = jQuery(this).prev('input').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n if (meta == 'lr') {\n css = outputSelector + '{ padding : 0 ' + (value + unit) + ';}';\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'letter-spacing':\n value = jQuery(this).val();\n css = outputSelector + '{ letter-spacing :' + value + 'px; }';\n self.inlineCssInjector(css);\n break;\n\n case 'position-alignment':\n if (iframe.contents().find(outputSelector).length) {\n position = jQuery(this).val();\n var rmpTriggerBox = iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box');\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').remove();\n\n if (position == 'top' || position == 'left') {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId).append(rmpTriggerBox);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId).prepend(rmpTriggerBox);\n }\n }\n\n break;\n\n case 'trigger-animation':\n value = jQuery(this).val();\n var new_class = 'rmp-menu-trigger-' + value;\n all_class = iframe.contents().find(outputSelector).attr('class').split(\" \");\n all_class.forEach(function (value) {\n if (value.includes('rmp-menu-trigger-')) {\n iframe.contents().find(outputSelector).removeClass(value);\n iframe.contents().find(outputSelector).addClass(new_class);\n }\n });\n break;\n\n case 'top':\n var unit = jQuery(this).val();\n value = jQuery(this).prev('input').val();\n css = outputSelector + '{ top :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-side-position':\n side = jQuery('#rmp-menu-button-left-or-right').val();\n unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();\n value = jQuery('#rmp-menu-button-distance-from-side').val();\n css = outputSelector + '{ ' + side + ' :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-side':\n side = jQuery(this).val();\n value = jQuery('#rmp-menu-button-distance-from-side').val();\n unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();\n\n if (side == 'left') {\n css = outputSelector + '{' + side + ':' + (value + unit) + ' !important;right:unset !important}';\n } else {\n css = outputSelector + '{' + side + ':' + (value + unit) + ' !important;left:unset !important}';\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'position':\n value = jQuery(this).val();\n css = outputSelector + '{ position :' + value + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-background':\n if (jQuery(this).is(':checked')) {\n iframe.contents().find(outputSelector).attr('style', 'background:unset !important;');\n } else {\n iframe.contents().find(outputSelector).removeAttr('style');\n }\n\n break;\n\n case 'target':\n var value = jQuery(this).val();\n\n if (!value.length) {\n value = '_self';\n }\n\n iframe.contents().find(outputSelector).attr('target', value);\n break;\n\n case 'text-align':\n var value = jQuery(this).val();\n iframe.contents().find(outputSelector).css({\n 'text-align': value\n });\n break;\n }\n });\n },\n init: function init() {\n var self = this; //Mobile menu elements.\n\n self.menuContainer = '#rmp-container-' + self.menuId;\n self.menuTitle = '#rmp-menu-title-' + self.menuId;\n self.menuSearch = '#rmp-search-box-' + self.menuId;\n self.menuWrap = '#rmp-menu-wrap-' + self.menuId;\n self.menuContents = '#rmp-menu-additional-content-' + self.menuId; //Menu container background color.\n\n self.bindColor('#rmp-container-background-colour', '#rmp-container-' + self.menuId, 'background', ''); //Menu background.\n\n self.bindColor('#rmp-menu-background-colour', '#rmp-menu-wrap-' + self.menuId, 'background'); //Menu title section background color.\n\n self.bindColor('#rmp-menu-title-background-colour', '#rmp-menu-title-' + self.menuId, 'background'); //Menu title section background hover color.\n\n self.bindColor('#rmp-menu-title-background-hover-colour', '#rmp-menu-title-' + self.menuId, 'background', 'hover'); // Menu item trigger\n\n self.bindColor('#rmp-menu-sub-arrow-shape-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'color');\n self.bindColor('#rmp-menu-sub-arrow-shape-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-shape-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'color');\n self.bindColor('#rmp-menu-sub-arrow-shape-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-border-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-color');\n self.bindColor('#rmp-menu-sub-arrow-border-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-border-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active', 'border-color');\n self.bindColor('#rmp-menu-sub-arrow-border-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active', 'border-color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'background', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-background-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'background', 'hover'); //Legacy options\n\n self.bindColor('#rmp-submenu-sub-arrow-shape-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'color');\n self.bindColor('#rmp-submenu-sub-arrow-shape-colour-hover', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-shape-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'color');\n self.bindColor('#rmp-submenu-sub-arrow-shape-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-border-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'border-color');\n self.bindColor('#rmp-submenu-sub-arrow-border-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-border-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active', 'border-color');\n self.bindColor('#rmp-submenu-sub-arrow-border-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'background');\n self.bindColor('#rmp-submenu-sub-arrow-background-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'background', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-background-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'background');\n self.bindColor('#rmp-submenu-sub-arrow-background-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'background', 'hover');\n self.bindColor('#rmp-menu-title-colour', '#rmp-menu-title-' + self.menuId + ' > a', 'color');\n self.bindColor('#rmp-menu-title-hover-colour', '#rmp-menu-title-' + self.menuId + ' > a', 'color', 'hover');\n self.bindColor('#rmp-menu-additional-content-color', '#rmp-container-' + self.menuId + ' #rmp-menu-additional-content-' + self.menuId, 'color');\n self.bindColor('#rmp-menu-search-box-text-colour', '#rmp-container-' + self.menuId + ' #rmp-search-box-' + self.menuId + ' .rmp-search-box', 'color');\n self.bindColor('#rmp-menu-search-box-background-colour', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'background');\n self.bindColor('#rmp-menu-search-box-border-colour', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'border-color');\n self.bindColor('#rmp-menu-search-box-placeholder-colour', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'color', 'placeholder');\n self.changeInput('#rmp-menu-title-font-weight', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'font-weight');\n self.changeInput('#rmp-menu-title-font-family', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'font-family'); //Menu Trigger\n\n self.bindColor('#rmp-menu-button-background-colour', '#rmp_menu_trigger-' + self.menuId, 'background', '');\n self.bindColor('#rmp-menu-button-background-colour-hover', '#rmp_menu_trigger-' + self.menuId, 'background-color', 'hover');\n self.bindColor('#rmp-menu-button-background-colour-active', '#rmp_menu_trigger-' + self.menuId + '.is-active', 'background', '');\n self.bindColor('#rmp-menu-button-line-colour', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'background', '');\n self.bindColor('#rmp-menu-button-line-colour-active', '.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after,.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'background', '');\n self.bindColor('#rmp-menu-button-line-colour-hover', '#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner:before', 'background', '');\n self.bindColor('#rmp-menu-button-text-colour', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'color');\n self.onTyping('#rmp-menu-toggle-border-radius', '#rmp_menu_trigger-' + self.menuId, 'border-radius');\n self.onTyping('.rmp-menu-container-padding', '#rmp-container-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-title-section-padding', '#rmp-menu-title-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-section-padding', '#rmp-menu-wrap-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-search-section-padding', '#rmp-search-box-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-additional-section-padding', '#rmp-menu-additional-content-' + self.menuId, 'section-padding'); // CONTENT BASED ELEMENTS.\n\n self.onTyping('#rmp-menu-search-box-height', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'height');\n self.onTyping('#rmp-menu-search-box-border-radius', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'border-radius');\n self.onTyping('#rmp-menu-menu-title', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link span', 'text');\n self.onTyping('#rmp-menu-additional-content', '#rmp-menu-additional-content-' + self.menuId, 'text');\n self.onTyping('#rmp-menu-search-box-text', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'placeholder');\n self.onTyping('#rmp-menu-title-link', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'href');\n self.onTyping('#rmp-menu-title-image-alt', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'alt');\n self.onTyping('#rmp-menu-title-font-size', '#rmp-menu-title-' + self.menuId + ' > a', 'font-size');\n self.onTyping('#rmp-menu-title-image-width', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'width');\n self.onTyping('#rmp-menu-title-image-height', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'height');\n self.bindImage('#rmp-menu-title-image-selector', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src');\n self.onTyping('#rmp-menu-additional-content-font-size', '#rmp-menu-additional-content-' + self.menuId, 'font-size');\n self.onTyping('#rmp-menu-container-width', '#rmp-container-' + self.menuId, 'width');\n self.onTyping('#rmp-menu-container-min-width', '#rmp-container-' + self.menuId, 'min-width');\n self.onTyping('#rmp-menu-container-max-width', '#rmp-container-' + self.menuId, 'max-width');\n self.onTyping('#rmp-menu-button-image-alt-when-clicked', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'alt');\n self.onTyping('#rmp-menu-button-image-alt', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'alt');\n self.onTyping('#rmp-menu-button-title-open', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text-open', 'trigger-text-open');\n self.onTyping('#rmp-menu-button-title', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text', 'trigger-text');\n self.onTyping('#rmp-menu-button-font-size', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-size');\n self.onTyping('#rmp-menu-button-title-line-height', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'line-height'); //Menu Trigger\n\n self.onTyping('#rmp-menu-button-width', '#rmp_menu_trigger-' + self.menuId, 'width');\n self.onTyping('#rmp-menu-button-height', '#rmp_menu_trigger-' + self.menuId, 'height');\n self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner', 'width');\n self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after', 'width');\n self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'width');\n self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner', 'height');\n self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after', 'height');\n self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'height');\n self.bindImage('#rmp-button-title-image', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src');\n self.bindImage('#rmp-menu-background-image-selector', '#rmp-container-' + self.menuId, 'background');\n self.bindImage('#rmp-menu-button-image-when-clicked-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'trigger-icon-open');\n self.bindImage('#rmp-menu-button-image-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'trigger-icon');\n self.changeInput('#rmp-menu-title-link-location', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'target');\n self.changeInput('.rmp-menu-title-alignment', '#rmp-menu-title-' + self.menuId, 'text-align');\n self.changeInput('.rmp-menu-additional-content-alignment', '#rmp-menu-additional-content-' + self.menuId, 'text-align'); //Top menu item links\n\n self.onTyping('#rmp-menu-links-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'height');\n self.onTyping('#rmp-menu-links-line-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'line-height');\n self.onTyping('#rmp-menu-font-size', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'font-size');\n self.changeInput('#rmp-menu-font', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-family');\n self.changeInput('#rmp-menu-font-weight', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-weight');\n self.changeInput('.rmp-menu-text-alignment', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'text-align');\n self.changeInput('#rmp-menu-text-letter-spacing', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'letter-spacing');\n self.onTyping('#rmp-menu-depth-level-0', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'padding', 'lr');\n self.onTyping('#rmp-menu-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-width');\n self.onTyping('#rmp-menu-sub-arrow-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-width');\n self.onTyping('#rmp-submenu-sub-arrow-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'border-width');\n self.bindColor('#rmp-menu-link-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-menu-link-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-menu-current-link-active-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-menu-current-link-active-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-menu-item-background-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-menu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background', 'hover');\n self.bindColor('#rmp-menu-current-item-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-menu-current-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background', 'hover');\n self.bindColor('#rmp-menu-item-border-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color');\n self.bindColor('#rmp-menu-item-border-colour-hover', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-menu-current-item-border-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-menu-item-border-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color'); // Trigger of top level\n\n self.bindImage('#rmp-menu-inactive-arrow-image-selector', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background');\n self.bindImage('#rmp-menu-active-arrow-image-selector', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background');\n self.onTyping('#rmp-submenu-arrow-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'height');\n self.onTyping('#rmp-submenu-arrow-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'width');\n self.onTyping('#rmp-submenu-child-arrow-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'height');\n self.onTyping('#rmp-submenu-child-arrow-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'width');\n self.changeInput('#rmp-submenu-child-arrow-width-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'width-unit');\n self.changeInput('#rmp-submenu-child-arrow-height-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'height-unit');\n self.bindColor('#rmp-menu-sub-arrow-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-background-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background', 'hover'); //sub menu item links\n\n self.onTyping('#rmp-submenu-links-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'height');\n self.changeInput('#rmp-submenu-links-height-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'height-unit');\n self.onTyping('#rmp-submenu-links-line-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'line-height');\n self.changeInput('#rmp-submenu-links-line-height-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'line-height-unit');\n self.onTyping('#rmp-submenu-font-size', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-size');\n self.changeInput('#rmp-submenu-font', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-family');\n self.changeInput('#rmp-submenu-font-weight', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-weight');\n self.changeInput('.rmp-submenu-text-alignment', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'text-align');\n self.changeInput('#rmp-submenu-text-letter-spacing', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'letter-spacing');\n self.onTyping('#rmp-submenu-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-width');\n self.bindColor('#rmp-submenu-item-border-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-color');\n self.bindColor('#rmp-submenu-item-border-colour-hover', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-item-border-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'border-color');\n self.bindColor('#rmp-submenu-current-item-border-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-link-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-submenu-link-hover-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-submenu-link-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-submenu-link-active-hover-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-submenu-item-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-submenu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'background', 'hover');\n self.bindColor('#rmp-submenu-current-item-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-submenu-current-item-background-hover-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'background', 'hover'); //Menu Trigger\n\n self.changeInput('.rmp-menu-button-transparent-background', '#rmp_menu_trigger-' + self.menuId, 'background', '');\n self.changeInput('#rmp-menu-button-position-type', '#rmp_menu_trigger-' + self.menuId, 'position');\n self.changeInput('.rmp-menu-button-left-or-right', '#rmp_menu_trigger-' + self.menuId, 'trigger-side');\n self.onTyping('#rmp-menu-button-distance-from-side', '#rmp_menu_trigger-' + self.menuId, 'trigger-side-position');\n self.onTyping('#rmp-menu-button-top', '#rmp_menu_trigger-' + self.menuId, 'top');\n self.changeInput('#rmp-menu-button-click-animation', '#rmp_menu_trigger-' + self.menuId, 'trigger-animation');\n self.changeInput('#rmp-menu-button-font', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-family');\n self.changeInput('.rmp-menu-button-title-position', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'position-alignment');\n jQuery(\"#rmp-menu-button-font-icon\").focus(function () {\n var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-inactive';\n value = jQuery(this).val();\n var iframe = jQuery(self.iframe);\n\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).addClass(value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<span class=\"rmp-trigger-icon rmp-trigger-icon-inactive ' + value + '\"></span>');\n }\n });\n jQuery(\"#rmp-menu-button-font-icon-when-clicked\").focus(function () {\n var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-active';\n value = jQuery(this).val();\n var iframe = jQuery(self.iframe);\n\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).addClass(value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<span class=\"rmp-trigger-icon rmp-trigger-icon-active ' + value + '\"></span>');\n }\n }); // Ordering elements\n\n self.toggleElements('#rmp-item-order-title', '#rmp-menu-title-' + self.menuId);\n self.toggleElements('#rmp-item-order-additional-content', '#rmp-menu-additional-content-' + self.menuId);\n self.toggleElements('#rmp-item-order-search', '#rmp-search-box-' + self.menuId);\n self.toggleElements('#rmp-item-order-menu', '#rmp-menu-wrap-' + self.menuId);\n jQuery('#rmp-menu-ordering-items').sortable({\n update: function update(event, ui) {\n self.orderMenuElements();\n }\n });\n }\n};\nRMP_Preview.init();\n\n//# sourceURL=webpack:///./assets/admin/js/rmp-preview.js?")},"./assets/admin/js/wp-color-alpha.js":function(module,exports){eval("/**!\r\n * wp-color-picker-alpha\r\n *\r\n * Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker\r\n * Only run in input and is defined data alpha in true\r\n *\r\n * Version: 2.1.4\r\n * https://github.com/kallookoo/wp-color-picker-alpha\r\n * Licensed under the GPLv2 license or later.\r\n */\n(function ($) {\n // Prevent double-init.\n if ($.wp.wpColorPicker.prototype._hasAlpha) {\n return;\n } // Variable for some backgrounds ( grid )\n\n\n var image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==',\n //Dtml stuff for wpColorPicker copy of the original color-picker.js\n _after = '<div class=\"wp-picker-holder\" />',\n _wrap = '<div class=\"wp-picker-container\" />',\n _before = '<button type=\"button\" class=\"button wp-color-result\" aria-expanded=\"false\"></button>',\n _wrappingLabel = '<label></label>',\n _wrappingLabelText = '<span class=\"screen-reader-text\"></span>';\n /**\r\n * Overwrite Color\r\n * for enable support rbga\r\n */\n\n Color.fn.toString = function () {\n if (this._alpha < 1) return this.toCSS('rgba', this._alpha).replace(/\\s+/g, '');\n var hex = parseInt(this._color, 10).toString(16);\n if (this.error) return '';\n if (hex.length < 6) hex = ('00000' + hex).substr(-6);\n return '#' + hex;\n };\n /**\r\n * Overwrite wpColorPicker\r\n */\n\n\n $.widget('wp.wpColorPicker', $.wp.wpColorPicker, {\n _hasAlpha: true,\n\n /**\r\n * @summary Creates the color picker.\r\n *\r\n * Creates the color picker, sets default values, css classes and wraps it all in HTML.\r\n *\r\n * @since 3.5.0\r\n *\r\n * @access private\r\n *\r\n * @returns {void}\r\n */\n _create: function _create() {\n // Return early if Iris support is missing.\n if (!$.support.iris) {\n return;\n }\n\n var self = this,\n el = self.element; // Override default options with options bound to the element.\n\n $.extend(self.options, el.data()); // Create a color picker which only allows adjustments to the hue.\n\n if (self.options.type === 'hue') {\n return self._createHueOnly();\n } // Bind the close event.\n\n\n self.close = $.proxy(self.close, self);\n self.initialValue = el.val(); // Add a CSS class to the input field.\n\n el.addClass('wp-color-picker');\n /*\r\n \t* Check if there's already a wrapping label, e.g. in the Customizer.\r\n \t* If there's no label, add a default one to match the Customizer template.\r\n \t*/\n\n if (!el.parent('label').length) {\n // Wrap the input field in the default label.\n el.wrap(_wrappingLabel); // Insert the default label text.\n\n self.wrappingLabelText = $(_wrappingLabelText).insertBefore(el).text('Color Picker');\n }\n /*\r\n \t* At this point, either it's the standalone version or the Customizer\r\n \t* one, we have a wrapping label to use as hook in the DOM, let's store it.\r\n \t*/\n\n\n self.wrappingLabel = el.parent(); // Wrap the label in the main wrapper.\n\n self.wrappingLabel.wrap(_wrap); // Store a reference to the main wrapper.\n\n self.wrap = self.wrappingLabel.parent(); // Set up the toggle button and insert it before the wrapping label.\n\n self.toggler = $(_before).insertBefore(self.wrappingLabel).css({\n backgroundColor: self.initialValue\n }); // Set up the Iris container and insert it after the wrapping label.\n\n self.pickerContainer = $(_after).insertAfter(self.wrappingLabel); // Wrap the wrapping label in its wrapper and append the Clear/Default button.\n\n self.wrappingLabel.wrap('<span class=\"wp-picker-input-wrap hidden rmp-color-input-wrap\" />');\n /*\r\n * The input wrapper now contains the label+input+Clear/Default button.\r\n * Store a reference to the input wrapper: we'll use this to toggle\r\n * the controls visibility.\r\n */\n\n self.inputWrapper = el.closest('.wp-picker-input-wrap');\n el.iris({\n target: self.pickerContainer,\n hide: self.options.hide,\n width: 240,\n mode: self.options.mode,\n palettes: self.options.palettes,\n\n /**\r\n * @summary Handles the onChange event if one has been defined in the options.\r\n *\r\n * Handles the onChange event if one has been defined in the options and additionally\r\n * sets the background color for the toggler element.\r\n *\r\n * @since 3.5.0\r\n *\r\n * @param {Event} event The event that's being called.\r\n * @param {HTMLElement} ui The HTMLElement containing the color picker.\r\n *\r\n * @returns {void}\r\n */\n change: function change(event, ui) {\n if (self.options.alpha) {\n self.toggler.css({\n 'background-image': 'url(' + image + ')'\n });\n self.toggler.css({\n 'position': 'relative'\n });\n\n if (self.toggler.find('span.color-alpha').length == 0) {\n self.toggler.append('<span class=\"color-alpha\" />');\n }\n\n self.toggler.find('span.color-alpha').css({\n 'width': '38px',\n 'height': '100%',\n 'position': 'absolute',\n 'top': 0,\n 'left': 0,\n 'background': ui.color.toString()\n });\n } else {\n self.toggler.css({\n backgroundColor: ui.color.toString()\n });\n }\n\n if ($.isFunction(self.options.change)) {\n self.options.change.call(this, event, ui);\n }\n }\n });\n el.val(self.initialValue);\n\n self._addListeners(); // Force the color picker to always be closed on initial load.\n\n\n if (!self.options.hide) {\n self.toggler.click();\n }\n },\n\n /**\r\n * @summary Binds event listeners to the color picker.\r\n *\r\n * @since 3.5.0\r\n *\r\n * @access private\r\n *\r\n * @returns {void}\r\n */\n _addListeners: function _addListeners() {\n var self = this;\n /**\r\n * @summary Prevent any clicks inside this widget from leaking to the top and closing it.\r\n *\r\n * @since 3.5.0\r\n *\r\n * @param {Event} event The event that's being called.\r\n *\r\n * @returs {void}\r\n */\n\n self.wrap.on('click.wpcolorpicker', function (event) {\n event.stopPropagation();\n });\n /**\r\n * @summary Open or close the color picker depending on the class.\r\n *\r\n * @since 3.5\r\n */\n\n self.toggler.click(function () {\n if (self.toggler.hasClass('wp-picker-open')) {\n self.close();\n } else {\n self.open();\n }\n });\n /**\r\n * @summary Checks if value is empty when changing the color in the color picker.\r\n *\r\n * Checks if value is empty when changing the color in the color picker.\r\n * If so, the background color is cleared.\r\n *\r\n * @since 3.5.0\r\n *\r\n * @param {Event} event The event that's being called.\r\n *\r\n * @returns {void}\r\n */\n\n self.element.on('change', function (event) {\n // Empty or Error = clear\n if ($(this).val() === '' || self.element.hasClass('iris-error')) {\n if (self.options.alpha) {\n self.toggler.find('span.color-alpha').css('backgroundColor', '');\n } else {\n self.toggler.css('backgroundColor', '');\n } // fire clear callback if we have one\n\n\n if ($.isFunction(self.options.clear)) self.options.clear.call(this, event);\n }\n });\n }\n });\n /**\r\n * Overwrite iris\r\n */\n\n $.widget('a8c.iris', $.a8c.iris, {\n _create: function _create() {\n this._super(); // Global option for check is mode rbga is enabled\n\n\n this.options.alpha = this.element.data('alpha') || false; // Is not input disabled\n\n if (!this.element.is(':input')) this.options.alpha = false;\n\n if (typeof this.options.alpha !== 'undefined' && this.options.alpha) {\n var self = this,\n el = self.element,\n _html = '<div class=\"iris-strip iris-slider iris-alpha-slider\"><div class=\"iris-slider-offset iris-slider-offset-alpha\"></div></div>',\n aContainer = $(_html).appendTo(self.picker.find('.iris-picker-inner')),\n aSlider = aContainer.find('.iris-slider-offset-alpha'),\n controls = {\n aContainer: aContainer,\n aSlider: aSlider\n };\n\n if (typeof el.data('custom-width') !== 'undefined') {\n self.options.customWidth = parseInt(el.data('custom-width')) || 0;\n } else {\n self.options.customWidth = 100;\n } // Set default width for input reset\n\n\n self.options.defaultWidth = el.width(); // Update width for input\n\n if (self._color._alpha < 1 || self._color.toString().indexOf('rgb') != -1) el.width(parseInt(self.options.defaultWidth + self.options.customWidth)); // Push new controls\n\n $.each(controls, function (k, v) {\n self.controls[k] = v;\n }); // Change size strip and add margin for sliders\n\n self.controls.square.css({\n 'margin-right': '0'\n });\n var emptyWidth = self.picker.width() - self.controls.square.width() - 20,\n stripsMargin = emptyWidth / 6,\n stripsWidth = emptyWidth / 2 - stripsMargin;\n $.each(['aContainer', 'strip'], function (k, v) {\n self.controls[v].width(stripsWidth).css({\n 'margin-left': stripsMargin + 'px'\n });\n }); // Add new slider\n\n self._initControls(); // For updated widget\n\n\n self._change();\n }\n },\n _initControls: function _initControls() {\n this._super();\n\n if (this.options.alpha) {\n var self = this,\n controls = self.controls;\n controls.aSlider.slider({\n orientation: 'vertical',\n min: 0,\n max: 100,\n step: 1,\n value: parseInt(self._color._alpha * 100),\n slide: function slide(event, ui) {\n // Update alpha value\n self._color._alpha = parseFloat(ui.value / 100);\n\n self._change.apply(self, arguments);\n }\n });\n }\n },\n _change: function _change() {\n this._super();\n\n var self = this,\n el = self.element;\n\n if (this.options.alpha) {\n var controls = self.controls,\n alpha = parseInt(self._color._alpha * 100),\n color = self._color.toRgb(),\n gradient = ['rgb(' + color.r + ',' + color.g + ',' + color.b + ') 0%', 'rgba(' + color.r + ',' + color.g + ',' + color.b + ', 0) 100%'],\n defaultWidth = self.options.defaultWidth,\n customWidth = self.options.customWidth,\n target = self.picker.closest('.wp-picker-container').find('.wp-color-result'); // Generate background slider alpha, only for CSS3 old browser fuck!! :)\n\n\n controls.aContainer.css({\n 'background': 'linear-gradient(to bottom, ' + gradient.join(', ') + '), url(' + image + ')'\n });\n\n if (target.hasClass('wp-picker-open')) {\n // Update alpha value\n controls.aSlider.slider('value', alpha);\n /**\r\n * Disabled change opacity in default slider Saturation ( only is alpha enabled )\r\n * and change input width for view all value\r\n */\n // if ( self._color._alpha < 1 ) {\n // \tcontrols.strip.attr( 'style', controls.strip.attr( 'style' ).replace( /rgba\\(([0-9]+,)(\\s+)?([0-9]+,)(\\s+)?([0-9]+)(,(\\s+)?[0-9\\.]+)\\)/g, 'rgb($1$3$5)' ) );\n // \tel.width( parseInt( defaultWidth + customWidth ) );\n // } else {\n // \tel.width( defaultWidth );\n // }\n }\n }\n\n var reset = el.data('reset-alpha') || false;\n\n if (reset) {\n self.picker.find('.iris-palette-container').on('click.palette', '.iris-palette', function () {\n self._color._alpha = 1;\n self.active = 'external';\n\n self._change();\n });\n }\n\n el.trigger('change');\n },\n _addInputListeners: function _addInputListeners(input) {\n var self = this,\n debounceTimeout = 100,\n callback = function callback(event) {\n var color = new Color(input.val()),\n val = input.val();\n input.removeClass('iris-error'); // we gave a bad color\n\n if (color.error) {\n // don't error on an empty input\n if (val !== '') input.addClass('iris-error');\n } else {\n if (color.toString() !== self._color.toString()) {\n // let's not do this on keyup for hex shortcodes\n if (!(event.type === 'keyup' && val.match(/^[0-9a-fA-F]{3}$/))) self._setOption('color', color.toString());\n }\n }\n };\n\n input.on('change', callback).on('keyup', self._debounce(callback, debounceTimeout)); // If we initialized hidden, show on first focus. The rest is up to you.\n\n if (self.options.hide) {\n input.on('focus', function () {\n self.show();\n });\n }\n }\n });\n})(jQuery);\n\n//# sourceURL=webpack:///./assets/admin/js/wp-color-alpha.js?")},"./assets/admin/rmp-main.js":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _scss_wizard_ui_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scss/wizard-ui.scss */ "./assets/admin/scss/wizard-ui.scss");\n/* harmony import */ var _scss_wizard_ui_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scss_wizard_ui_scss__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _js_rmp_admin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./js/rmp-admin.js */ "./assets/admin/js/rmp-admin.js");\n/* harmony import */ var _js_rmp_admin_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_admin_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _js_wp_color_alpha_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./js/wp-color-alpha.js */ "./assets/admin/js/wp-color-alpha.js");\n/* harmony import */ var _js_wp_color_alpha_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_js_wp_color_alpha_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _js_rmp_editor_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./js/rmp-editor.js */ "./assets/admin/js/rmp-editor.js");\n/* harmony import */ var _js_rmp_editor_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_editor_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _js_rmp_icon_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./js/rmp-icon.js */ "./assets/admin/js/rmp-icon.js");\n/* harmony import */ var _js_rmp_icon_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_icon_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _js_rmp_preview_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./js/rmp-preview.js */ "./assets/admin/js/rmp-preview.js");\n/* harmony import */ var _js_rmp_preview_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_preview_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _js_rmp_menu_wizard_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./js/rmp-menu-wizard.js */ "./assets/admin/js/rmp-menu-wizard.js");\n/**\r\n * Main scripts file.\r\n *\r\n * @package responsive-menu-pro\r\n */\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n//# sourceURL=webpack:///./assets/admin/rmp-main.js?')},"./assets/admin/scss/wizard-ui.scss":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./assets/admin/scss/wizard-ui.scss?")},0:function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__(/*! C:\\xampp\\htdocs\\rmp-menu\\wp-content\\plugins\\responsive-menu\\v4.0.0\\assets\\admin/rmp-main.js */"./assets/admin/rmp-main.js");\n\n\n//# sourceURL=webpack:///multi_./assets/admin/rmp-main.js?')}});
v4.0.0/assets/admin/js/rmp-admin.js CHANGED
@@ -9,114 +9,6 @@
9
 
10
  jQuery( document ).ready( function( jQuery ) {
11
 
12
- /**
13
- * Open new create menu wizard on click event.
14
- *
15
- * @since 4.0.0
16
- *
17
- * @fires Click
18
- */
19
- jQuery( document ).on( 'click', 'a.page-title-action', function( e ) {
20
- e.preventDefault();
21
- jQuery( '#rmp-new-menu-wizard' ).show();
22
- } );
23
-
24
- /**
25
- * Close the new menu wizard.
26
- *
27
- * @since 4.0.0
28
- *
29
- * @fires Click
30
- */
31
- jQuery( '#rmp-new-menu-wizard .rmp-dialog-header button.close' ).on( 'click', function() {
32
- jQuery( '#rmp-new-menu-wizard' ).hide();
33
- } );
34
-
35
- /**
36
- * Move on next tab content for theme selection.
37
- */
38
- jQuery( '#rmp-create-menu-first-step' ).on( 'click', () => {
39
- jQuery( '#rmp-create-menu-first-step' ).hide();
40
- jQuery( '#rmp-create-new-menu' ).show();
41
- jQuery( 'a[href="#select-themes"]' ).trigger( 'click' );
42
- } );
43
-
44
- // Handle next and create button visibility.
45
- jQuery( 'a[href="#select-themes"]' ).on( 'click', ()=> {
46
- jQuery( '#rmp-create-new-menu' ).show();
47
- jQuery( '#rmp-create-menu-first-step' ).hide();
48
- } );
49
-
50
- // Handle next and create button visibility.
51
- jQuery( 'a[href="#menu-settings"]' ).on( 'click', () => {
52
- jQuery( '#rmp-create-new-menu' ).hide();
53
- jQuery( '#rmp-create-menu-first-step' ).show();
54
- } );
55
-
56
- /**
57
- * Call ajax to save the new create menu.
58
- *
59
- * @version 4.0.0
60
- *
61
- * @fires Click
62
- */
63
- jQuery( '#rmp-create-new-menu' ).on( 'click', function( e ) {
64
- e.preventDefault();
65
- let menuName = jQuery( '#rmp-menu-name' );
66
- let themeName = jQuery( '.rmp-theme-option:checked' ).val();
67
-
68
- if ( themeName == undefined ) {
69
- themeName = '';
70
- }
71
-
72
- jQuery.ajax( {
73
- url: rmpObject.ajaxURL,
74
- data: {
75
- 'action': 'rmp_create_new_menu',
76
- 'ajax_nonce': rmpObject.ajax_nonce,
77
- 'menu_name': menuName.val(),
78
- 'menu_to_use': jQuery( '#rmp-menu-to-use' ).val(),
79
- 'menu_show_on_pages': jQuery( '#rmp-menu-display-on-pages' ).val(),
80
- 'menu_show_on': jQuery( '.rmp-menu-display-option' ).val(),
81
- 'menu_theme': themeName,
82
- 'theme_type': jQuery( '.rmp-theme-option:checked' ).attr( 'theme-type' )
83
- },
84
- type: 'POST',
85
- dataType: 'json',
86
- beforeSend: function() {
87
- jQuery( '#rmp-create-new-menu' ).prop( 'disabled', true );
88
- jQuery( '.spinner' ).addClass( 'is-active' );
89
- },
90
- error: function( error ) {
91
- console.log( 'Internal Error !' );
92
- jQuery( '#rmp-create-new-menu' ).prop( 'disabled', false );
93
- jQuery( '.spinner' ).removeClass( 'is-active' );
94
- },
95
- success: function( response ) {
96
- jQuery( '#rmp-create-new-menu' ).prop( 'disabled', false );
97
- noticeClass = 'notice-error';
98
- if ( true == response.success ) {
99
- isSuccess = 'notice-success';
100
- }
101
-
102
- jQuery( '.rmp-new-menu-elements' ).prepend(
103
- '<div class="notice ' + noticeClass + ' settings-error is-dismissible"> <p>' + response.data.message + '</p></div>'
104
- );
105
-
106
- setTimeout( function() {
107
- jQuery( '.rmp-new-menu-elements' ).find( '.notice' ).remove();
108
- }, 3000 );
109
- }
110
- } ).always( function( response ) {
111
- jQuery( '.spinner' ).removeClass( 'is-active' );
112
- } ).done( function( response ) {
113
- if ( response.success ) {
114
- location.reload();
115
- }
116
- } );
117
-
118
- } );
119
-
120
  /**
121
  * Rollback the plugin version.
122
  *
@@ -160,6 +52,11 @@ jQuery( document ).ready( function( jQuery ) {
160
  e.preventDefault();
161
  var url = jQuery(this).attr('href');
162
 
 
 
 
 
 
163
  if ( url.indexOf('?') >= 0 ) {
164
  url = url + '&rmp_preview_mode=true';
165
  } else {
@@ -250,8 +147,8 @@ jQuery( document ).ready( function( jQuery ) {
250
  jQuery( '.rmp-color-input' ).wpColorPicker();
251
 
252
  // Fix events glitch on color textbox.
253
- jQuery('.rmp-color-input').removeAttr( 'style' );
254
- jQuery('.rmp-color-input').off( 'focus' );
255
 
256
  // Initiate the tab elements.
257
  jQuery( '.tabs,#rmp-setting-tabs' ).tabs( {
@@ -449,6 +346,11 @@ jQuery( document ).ready( function( jQuery ) {
449
  jQuery( this ).parent( '.rmp-image-picker' ).siblings( 'input.rmp-image-url-input' ).val( '' );
450
  jQuery( this ).parent( '.rmp-image-picker' ).removeAttr( 'style' );
451
  jQuery( this ).remove();
 
 
 
 
 
452
  } );
453
 
454
  /**
@@ -476,7 +378,11 @@ jQuery( document ).ready( function( jQuery ) {
476
  uploadMultiple: false,
477
  success: function ( file, response ) {
478
  location.reload();
 
 
 
479
  }
 
480
  } );
481
 
482
  /**
@@ -493,13 +399,6 @@ jQuery( document ).ready( function( jQuery ) {
493
  jQuery( '#rmp-menu-save-theme-wizard' ).toggle();
494
  } );
495
 
496
- /**
497
- * Show/Hide change theme wizard.
498
- */
499
- jQuery( '.rmp-theme-change-button' ).on( 'click', function( e ) {
500
- jQuery( '#rmp-new-menu-wizard' ).toggle();
501
- } );
502
-
503
  /**
504
  * Delete the theme from theme page.
505
  */
@@ -507,12 +406,16 @@ jQuery( document ).ready( function( jQuery ) {
507
  e.preventDefault();
508
 
509
  /** Ask for delete confirmation */
510
- const isConfirm = confirm( 'Are you sure, you want delete this theme ?' );
511
 
512
  if ( ! isConfirm ) {
513
  return;
514
  }
515
 
 
 
 
 
516
  let themeName = jQuery( this ).attr( 'data-theme' );
517
  let themeType = jQuery( this ).attr( 'data-theme-type' ).toLowerCase();
518
 
@@ -530,7 +433,13 @@ jQuery( document ).ready( function( jQuery ) {
530
  console.log( error.statusText );
531
  },
532
  success: function( response ) {
533
- location.reload();
 
 
 
 
 
 
534
  }
535
  } );
536
 
@@ -541,9 +450,12 @@ jQuery( document ).ready( function( jQuery ) {
541
  *
542
  * @version 4.0.0
543
  *
544
- * @fires 4.0.0
545
  */
546
- jQuery( '.rmp-theme-apply' ).on( 'click', function( e ) {
 
 
 
547
 
548
  jQuery.ajax( {
549
  url: rmpObject.ajaxURL,
@@ -559,9 +471,16 @@ jQuery( document ).ready( function( jQuery ) {
559
  dataType: 'json',
560
  error: function( error ) {
561
  console.log( error.statusText );
 
562
  },
563
  success: function( response ) {
564
- location.reload();
 
 
 
 
 
 
565
  }
566
  } );
567
 
@@ -817,4 +736,30 @@ jQuery( document ).ready( function( jQuery ) {
817
  updateMenuContainerAnimationOptions( optionValue );
818
  });
819
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
820
  } );
9
 
10
  jQuery( document ).ready( function( jQuery ) {
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  /**
13
  * Rollback the plugin version.
14
  *
52
  e.preventDefault();
53
  var url = jQuery(this).attr('href');
54
 
55
+ // Prevent to load the customizer page on preview aria.
56
+ if ( '#' == url ) {
57
+ return;
58
+ }
59
+
60
  if ( url.indexOf('?') >= 0 ) {
61
  url = url + '&rmp_preview_mode=true';
62
  } else {
147
  jQuery( '.rmp-color-input' ).wpColorPicker();
148
 
149
  // Fix events glitch on color textbox.
150
+ jQuery( '.rmp-color-input' ).removeAttr( 'style' );
151
+ jQuery( document ).find( '.rmp-color-input' ).off( 'focus' );
152
 
153
  // Initiate the tab elements.
154
  jQuery( '.tabs,#rmp-setting-tabs' ).tabs( {
346
  jQuery( this ).parent( '.rmp-image-picker' ).siblings( 'input.rmp-image-url-input' ).val( '' );
347
  jQuery( this ).parent( '.rmp-image-picker' ).removeAttr( 'style' );
348
  jQuery( this ).remove();
349
+
350
+ if ( ! jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length ) {
351
+ addUpdateNotification();
352
+ }
353
+
354
  } );
355
 
356
  /**
378
  uploadMultiple: false,
379
  success: function ( file, response ) {
380
  location.reload();
381
+ },
382
+ totaluploadprogress: function() {
383
+ jQuery('.rmp-page-loader').css( 'display','flex' );
384
  }
385
+
386
  } );
387
 
388
  /**
399
  jQuery( '#rmp-menu-save-theme-wizard' ).toggle();
400
  } );
401
 
 
 
 
 
 
 
 
402
  /**
403
  * Delete the theme from theme page.
404
  */
406
  e.preventDefault();
407
 
408
  /** Ask for delete confirmation */
409
+ const isConfirm = confirm( 'Are you sure, You want to delete this theme ?' );
410
 
411
  if ( ! isConfirm ) {
412
  return;
413
  }
414
 
415
+ //Show the loader on deleting theme.
416
+ const current_theme = jQuery(this);
417
+ current_theme.append( '<span class="spinner is-active"></span>' );
418
+
419
  let themeName = jQuery( this ).attr( 'data-theme' );
420
  let themeType = jQuery( this ).attr( 'data-theme-type' ).toLowerCase();
421
 
433
  console.log( error.statusText );
434
  },
435
  success: function( response ) {
436
+ current_theme.find('.spinner').removeClass('is-active');
437
+
438
+ if ( response.success ) {
439
+ location.reload();
440
+ } else {
441
+ alert( response.data.message );
442
+ }
443
  }
444
  } );
445
 
450
  *
451
  * @version 4.0.0
452
  *
453
+ * @fires click
454
  */
455
+ jQuery( document ).on( 'click', '.rmp-theme-apply', function( e ) {
456
+
457
+ //Show the overlay with loader.
458
+ jQuery('.rmp-page-loader').css('display','flex');
459
 
460
  jQuery.ajax( {
461
  url: rmpObject.ajaxURL,
471
  dataType: 'json',
472
  error: function( error ) {
473
  console.log( error.statusText );
474
+ jQuery( '.rmp-page-loader' ).hide();
475
  },
476
  success: function( response ) {
477
+
478
+ if ( response.success ) {
479
+ location.reload();
480
+ } else {
481
+ jQuery( '.rmp-page-loader' ).hide();
482
+ alert( response.data.message );
483
+ }
484
  }
485
  } );
486
 
736
  updateMenuContainerAnimationOptions( optionValue );
737
  });
738
 
739
+ /**
740
+ * Event to back on home page under preview screen.
741
+ *
742
+ * @since 4.1.0
743
+ *
744
+ * @fires click
745
+ *
746
+ * @return void
747
+ */
748
+ jQuery('#rmp-preview-wrapper').on( 'click', () => {
749
+ let url = window.location.href;
750
+ url = url.substring( 0, url.indexOf( 'wp-admin' ) ) + '?rmp_preview_mode=true' ;
751
+ jQuery('#rmp-preview-iframe-loader').show();
752
+ jQuery('#rmp-preview-iframe').attr('src', url );
753
+ } );
754
+
755
+ /** Call ajax to hide admin notice permanent. */
756
+ jQuery( '.notice-responsive-menu' ).on( 'click', '.notice-dismiss', function( event ) {
757
+ event.preventDefault();
758
+ jQuery.ajax( {
759
+ type: "POST",
760
+ url: rmpObject.ajaxURL,
761
+ data: 'action=rmp_upgrade_admin_notice_dismiss',
762
+ });
763
+ });
764
+
765
  } );
v4.0.0/assets/admin/js/rmp-editor.js CHANGED
@@ -20,11 +20,6 @@ const rmpEditor = {
20
  backButton: '.rmp-editor-header-back',
21
  tabId: null,
22
  level: 0,
23
- close: function () {
24
- jQuery( window ).bind( 'beforeunload', function() {
25
- return;
26
- } );
27
- },
28
  triggerBack: function() {
29
 
30
  this.level--;
@@ -77,12 +72,6 @@ const rmpEditor = {
77
  self.triggerBack();
78
  } );
79
 
80
- // Close the editor and back to menu admin.
81
- jQuery( this.closeButton ).on( 'click', function( e ) {
82
- e.stopPropagation();
83
- self.close();
84
- } );
85
-
86
  // Open/Close the editor setting sidebar.
87
  jQuery( self.sidebarDrawer ).on( 'click', function(e) {
88
  jQuery( self.editorSidebar ).toggleClass( 'expanded collapsed' );
20
  backButton: '.rmp-editor-header-back',
21
  tabId: null,
22
  level: 0,
 
 
 
 
 
23
  triggerBack: function() {
24
 
25
  this.level--;
72
  self.triggerBack();
73
  } );
74
 
 
 
 
 
 
 
75
  // Open/Close the editor setting sidebar.
76
  jQuery( self.sidebarDrawer ).on( 'click', function(e) {
77
  jQuery( self.editorSidebar ).toggleClass( 'expanded collapsed' );
v4.0.0/assets/admin/js/rmp-icon.js CHANGED
@@ -9,7 +9,7 @@ jQuery( document ).ready( function() {
9
  iconSelect: '#rmp-icon-dialog-select',
10
  iconContainer: '.rmp-menu-icons-dialog',
11
  clearSelector: '#rmp-icon-dialog-clear',
12
- closeSelector: '.rmp-menu-icons-dialog .rmp-dialog-header span.close',
13
  clear: function () {
14
  var self = this;
15
  jQuery( self.clearSelector ).on( 'click', function() {
@@ -47,6 +47,15 @@ jQuery( document ).ready( function() {
47
  jQuery(this).siblings('.rmp-font-icon').remove();
48
  jQuery(this).parent('.rmp-icon-picker').removeAttr('data-icon');
49
  jQuery(this).remove();
 
 
 
 
 
 
 
 
 
50
  });
51
  },
52
  getIcon : function() {
9
  iconSelect: '#rmp-icon-dialog-select',
10
  iconContainer: '.rmp-menu-icons-dialog',
11
  clearSelector: '#rmp-icon-dialog-clear',
12
+ closeSelector: '.rmp-menu-icons-dialog .rmp-dialog-header button.close',
13
  clear: function () {
14
  var self = this;
15
  jQuery( self.clearSelector ).on( 'click', function() {
47
  jQuery(this).siblings('.rmp-font-icon').remove();
48
  jQuery(this).parent('.rmp-icon-picker').removeAttr('data-icon');
49
  jQuery(this).remove();
50
+
51
+ if ( ! jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length ) {
52
+ jQuery( '#rmp-editor-main' ).prepend(
53
+ '<div id="rmp-menu-update-notification" class="rmp-order-item rmp-order-item-description">' +
54
+ '<span> <span class="rmp-font-icon dashicons dashicons-warning "></span> Update Required </span>' +
55
+ '<a href="javascript:void(0)" id="rmp-menu-quick-update-button">UPDATE</a>' +
56
+ '</div>'
57
+ );
58
+ }
59
  });
60
  },
61
  getIcon : function() {
v4.0.0/assets/admin/js/rmp-menu-wizard.js ADDED
@@ -0,0 +1,224 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * This is js hook scripts file for responsive menu.
3
+ *
4
+ * @file This files defines the rmpNewMenuWizard object.
5
+ * @author ExpressTech System.
6
+ *
7
+ * @since 4.1.0
8
+ *
9
+ * @package responsive-menu-pro
10
+ */
11
+
12
+ 'use strict';
13
+
14
+ /**
15
+ * Hooks class.
16
+ *
17
+ * @type {Object}
18
+ *
19
+ * @since 4.1.0
20
+ */
21
+ const rmpMenuWizard = {
22
+
23
+ /**
24
+ * Initialize.
25
+ *
26
+ * @return {void}
27
+ */
28
+ init() {
29
+ this.setProps();
30
+ },
31
+
32
+ /**
33
+ * Set properties and selectors.
34
+ *
35
+ * @return {void}
36
+ */
37
+ setProps() {
38
+
39
+ //Assign wizard container element id.
40
+ const menuWizardContainer = jQuery( '#rmp-new-menu-wizard' );
41
+
42
+ //Open new create menu wizard on click event.
43
+ jQuery( document ).on( 'click', 'a.page-title-action', function( e ) {
44
+ e.preventDefault();
45
+ menuWizardContainer.show();
46
+ } );
47
+
48
+ //Close the new menu wizard.
49
+ jQuery( '#rmp-new-menu-wizard .rmp-dialog-header button.close' ).on( 'click', function() {
50
+ menuWizardContainer.hide();
51
+ } );
52
+
53
+ //Show/Hide the page selection input control.
54
+ menuWizardContainer.on( 'change', '.rmp-menu-display-option', function( e ) {
55
+ const optionValue = jQuery( this ).val();
56
+ if ( 'exclude-pages' === optionValue || 'include-pages' === optionValue ) {
57
+ jQuery( '#rmp-menu-page-selector' ).show();
58
+ return;
59
+ }
60
+
61
+ jQuery( '#rmp-menu-page-selector' ).hide();
62
+ } );
63
+
64
+
65
+ //Show/Hide change theme wizard in customizer page.
66
+ jQuery( '.rmp-theme-change-button' ).on( 'click', function( e ) {
67
+ menuWizardContainer.toggle();
68
+ } );
69
+
70
+ //Multi step form event for next button.
71
+ jQuery( '#rmp-menu-next-step' ).on( 'click', () => {
72
+ this.nextSection();
73
+ } );
74
+
75
+ //Multi step form event for top item label.
76
+ jQuery( 'li.rmp-new-menu-step' ).on( 'click', ( e ) => {
77
+ const index = jQuery( e.currentTarget ).index();
78
+ this.goToSection( index );
79
+ } );
80
+
81
+ //Call ajax to save the new create menu.
82
+ jQuery( '#rmp-create-new-menu' ).on( 'click', ( e ) => {
83
+ e.preventDefault();
84
+
85
+ const menuName = jQuery( '#rmp-menu-name' );
86
+ let themeName = jQuery( '.rmp-theme-option:checked' ).val();
87
+
88
+ if ( themeName == undefined ) {
89
+ themeName = '';
90
+ }
91
+
92
+ jQuery.ajax( {
93
+ url: rmpObject.ajaxURL,
94
+ data: {
95
+ 'action': 'rmp_create_new_menu',
96
+ 'ajax_nonce': rmpObject.ajax_nonce,
97
+ 'menu_name': menuName.val(),
98
+ 'menu_to_hide': jQuery( '#rmp-hide-menu' ).val(),
99
+ 'menu_to_use': jQuery( '#rmp-menu-to-use' ).val(),
100
+ 'menu_show_on_pages': jQuery( '#rmp-menu-display-on-pages' ).val(),
101
+ 'menu_show_on': jQuery( '.rmp-menu-display-option' ).val(),
102
+ 'menu_theme': themeName,
103
+ 'theme_type': jQuery( '.rmp-theme-option:checked' ).attr( 'theme-type' ),
104
+ },
105
+ type: 'POST',
106
+ dataType: 'json',
107
+ beforeSend: function() {
108
+ jQuery( e.currentTarget ).prop( 'disabled', true );
109
+ jQuery( '.spinner' ).addClass( 'is-active' );
110
+ },
111
+ error: function( error ) {
112
+ console.log( 'Internal Error !' );
113
+ jQuery( '#rmp-create-new-menu' ).prop( 'disabled', false );
114
+ jQuery( '.spinner' ).removeClass( 'is-active' );
115
+ },
116
+ success: function( response ) {
117
+ jQuery( '.spinner' ).removeClass( 'is-active' );
118
+ jQuery( '#rmp-create-new-menu' ).prop( 'disabled', false );
119
+
120
+ if ( response.success ) {
121
+ window.location.href = response.data.customize_url;
122
+ } else {
123
+ alert( response.data.message );
124
+ }
125
+ }
126
+ } );
127
+
128
+ } );
129
+
130
+ //Ajax call to upload the theme.
131
+ jQuery( '#rmp-theme-upload' ).on( 'click', ( e ) => {
132
+ e.preventDefault();
133
+
134
+ let formData = new FormData();
135
+ let file = jQuery( '#rmp_menu_theme_zip' ).prop( 'files' )[0];
136
+ formData.append( 'file', file );
137
+ formData.append( 'action', 'rmp_menu_theme_upload' );
138
+ formData.append( 'ajax_nonce', rmpObject.ajax_nonce );
139
+
140
+ jQuery.ajax( {
141
+ url: rmpObject.ajaxURL,
142
+ data: formData,
143
+ type: 'POST',
144
+ processData: false,
145
+ contentType: false,
146
+ dataType: 'json',
147
+ success: ( response ) => {
148
+ jQuery( '#rmp_menu_theme_zip' ).val( '' );
149
+ alert( response.data.message );
150
+ if ( response.data.html ) {
151
+ jQuery( '#rmp-new-menu-wizard' ).find( '#tabs-1' ).html( response.data.html );
152
+ jQuery( '#rmp-menu-library-import' ).addClass( 'hide' );
153
+ }
154
+ }
155
+ } );
156
+
157
+ } );
158
+
159
+ //Ajax call to check the recent changes the theme api.
160
+ jQuery( '.rmp-call-theme-api-button' ).on( 'click', ( e ) => {
161
+
162
+ if ( ! jQuery( e.currentTarget ).hasClass( 'rmp-call-theme-api-button' ) ) {
163
+ return;
164
+ }
165
+
166
+ jQuery( '#rmp-new-menu-wizard' ).find( '.rmp-page-loader' ).css( 'display', 'flex' );
167
+
168
+ jQuery.ajax( {
169
+ url: rmpObject.ajaxURL,
170
+ data: {
171
+ 'action': 'rmp_call_theme_api',
172
+ 'ajax_nonce': rmpObject.ajax_nonce
173
+ },
174
+ type: 'POST',
175
+ dataType: 'json',
176
+ error: function( error ) {
177
+ jQuery( '#rmp-new-menu-wizard' ).find( '.rmp-page-loader' ).hide();
178
+ jQuery( '#rmp-new-menu-wizard' ).find( '#tabs-2 .rmp_theme_grids' ).html( 'Internal Error !' );
179
+ },
180
+ success: ( response ) => {
181
+ if ( response.data.html ) {
182
+ jQuery( '#rmp-new-menu-wizard' ).find( '#tabs-2 .rmp_theme_grids' ).html( response.data.html );
183
+ jQuery( e.currentTarget ).removeClass( 'rmp-call-theme-api-button' );
184
+ }
185
+ }
186
+ } );
187
+ } );
188
+
189
+ },
190
+
191
+ /**
192
+ * Jump to the next section of wizard.
193
+ *
194
+ * @return {void}
195
+ */
196
+ nextSection() {
197
+ var currectSectionIndex = jQuery( 'div.rmp-menu-section.current' ).index();
198
+ this.goToSection( currectSectionIndex + 1 );
199
+ },
200
+
201
+ /**
202
+ * Show the indexed section in wizard.
203
+ *
204
+ * @return {void}
205
+ */
206
+ goToSection( currectSectionIndex ) {
207
+
208
+ if ( 1 <= currectSectionIndex ) {
209
+ jQuery( '#rmp-create-new-menu' ).show();
210
+ jQuery( '#rmp-menu-next-step' ).hide();
211
+ } else {
212
+ jQuery( '#rmp-create-new-menu' ).hide();
213
+ jQuery( '#rmp-menu-next-step' ).show();
214
+ }
215
+
216
+ jQuery( 'div.rmp-menu-section' ).eq( currectSectionIndex ).addClass( 'current' ).siblings().removeClass( 'current' );
217
+ jQuery( 'li.rmp-new-menu-step' ).eq( currectSectionIndex ).addClass( 'current' ).siblings().removeClass( 'current' );
218
+ }
219
+
220
+ };
221
+
222
+ rmpMenuWizard.init();
223
+
224
+ export default rmpMenuWizard;
v4.0.0/assets/admin/js/rmp-preview.js CHANGED
@@ -1,1008 +1,1256 @@
1
- jQuery(document).ready(function(jQuery) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  /**
4
- * Hooks class.
5
- *
6
  * @since 4.0.0
 
 
 
7
  */
8
- var rmpHook = {
9
- hooks: [ ],
10
- is_break: false,
11
-
12
- /**
13
- * Function to register the hook.
14
- *
15
- * @since 4.0.0
16
- *
17
- * @param String name Hook Name.
18
- * @param function callback Associated function.
19
- */
20
- register: function( name, callback ) {
21
- if ( 'undefined' == typeof ( rmpHook.hooks[name] ) ) {
22
- rmpHook.hooks[name] = [ ];
23
- }
24
- rmpHook.hooks[name].push( callback );
25
- },
26
-
27
- /**
28
- * Function to call the hook.
29
- *
30
- * @since 4.0.0
31
- *
32
- * @param String name Hook Name.
33
- * @param function arguments Paramter list.
34
- */
35
- call: function( name, arguments ) {
36
- if ( 'undefined' != typeof ( rmpHook.hooks[name] ) ) {
37
- for ( i = 0; i < rmpHook.hooks[name].length; ++i ) {
38
- output = rmpHook.hooks[name][i]( arguments );
39
- if ( false == output ) {
40
- rmpHook.is_break = true;
41
- return false;
42
- }
43
 
44
- return output;
45
- }
46
- }
47
- return true;
48
  }
49
- };
 
 
50
 
51
  /**
52
- * Register function to color the menu elements.
53
- *
54
  * @since 4.0.0
55
- *
56
- * @param {Object} args List of inputs.
57
- * @return {String}
58
  */
59
- rmpHook.register( 'rmp_color_style', function ( args ) {
 
 
 
 
 
 
 
 
60
 
61
- if ( ! args ) {
62
- return false;
63
  }
64
 
65
- // Set the state/pseudo class.
66
- if ( 'hover' == args.state ) {
67
- args.outputSelector = args.outputSelector + ':hover';
68
- } else if( 'placeholder' == args.state ) {
69
- args.outputSelector = args.outputSelector + '::placeholder';
70
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
 
72
- //Prepare css string and return.
73
- return args.outputSelector + '{ ' + args.attr +' : ' + args.value + ';}';
74
- } );
75
-
76
- var RMP_Preview = {
77
- iframe : '#rmp-preview-iframe',
78
- menuId : jQuery('#menu_id').val(),
79
- mobile_breakpoint : jQuery('#rmp-menu-mobile-breakpoint').val() + 'px',
80
- tablet_breakpoint : jQuery('#rmp-menu-tablet-breakpoint').val() + 'px',
81
- active_device: jQuery('#rmp_device_mode'),
82
- menuContainer : '#rmp-container-'+ self.menuId,
83
-
84
- onTyping: function( inputSelector, outputSelector, type) {
85
- var self = this;
86
- var iframe = jQuery(self.iframe);
87
- jQuery(inputSelector).on( 'keyup change paste', function() {
88
- switch( type ) {
89
- case 'border-radius':
90
- var value = jQuery(this).val();
91
- css = outputSelector + '{ border-radius : '+ ( value ) +'px;}';
92
- self.inlineCssInjector(css);
93
- break;
94
- case 'section-padding':
95
- var value = jQuery(this).val();
96
- var is_linked = jQuery(this).parents('.rmp-input-group-control').find('.rmp-group-input-linked').hasClass('is-linked');
97
- var attr = 'padding';
98
- if( ! is_linked ) {
99
- pos = jQuery(this).attr('data-input');
100
- attr = attr + '-' + pos;
101
  }
102
- css = outputSelector + '{ '+ attr +' : '+ ( value ) +';}';
103
- self.inlineCssInjector(css);
104
-
105
- break;
106
- case 'trigger-line-width':
107
- var unit = jQuery(this).next('.is-unit').val();
108
- css = outputSelector + '{ width : '+ ( this.value + unit ) +';}';
109
- self.inlineCssInjector(css);
110
- break;
111
- case 'trigger-line-height':
112
- var unit = jQuery(this).next('.is-unit').val();
113
- css = outputSelector + '{ height : '+ ( this.value + unit ) +';}';
114
- self.inlineCssInjector(css);
115
- break;
116
- case 'trigger-text':
117
- if ( iframe.contents().find(outputSelector).length ) {
118
- iframe.contents().find(outputSelector).html(this.value);
119
- } else {
120
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text">"'+ this.value + '"</span></div>')
121
- }
122
- break;
123
-
124
- case 'trigger-text-open':
125
- if ( iframe.contents().find(outputSelector).length ) {
126
- iframe.contents().find(outputSelector).html(this.value);
127
- } else {
128
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text-open">"'+ this.value + '"</span></div>')
129
- }
130
- break;
131
-
132
- case 'text' :
133
- iframe.contents().find( outputSelector ).html(this.value);
134
- break;
135
-
136
- case 'placeholder' :
137
- iframe.contents().find(outputSelector).attr('placeholder', this.value );
138
- break;
139
- case 'href' :
140
- iframe.contents().find(outputSelector).attr('href', this.value );
141
- break;
142
-
143
- case 'font-size':
144
- var unit = jQuery(this).next( '.is-unit' ).val();
145
-
146
- if ( ! unit.length ) {
147
- unit = 'px';
148
  }
 
149
 
150
- var value = jQuery(this).val();
151
- css = outputSelector + '{ font-size : '+ ( value + unit ) + '!important;}';
 
152
 
153
- if ( jQuery(this).attr( 'multi-device') ) {
154
- css = self.mediaQuery( css );
155
- }
 
 
 
156
 
157
- self.inlineCssInjector(css);
 
158
 
159
- break;
 
 
160
 
161
- case 'width':
162
- var unit = jQuery(this).next('.is-unit').val();
163
 
164
- if ( ! unit ) {
165
- unit = 'px';
166
- }
167
 
168
- css = outputSelector + '{ width : '+ (this.value + unit) +';}';
169
- self.inlineCssInjector(css);
170
 
171
- break;
172
 
173
- case 'height':
174
- var unit = jQuery(this).next('.is-unit').val();
175
 
176
- if ( ! unit.length ) {
177
- unit = 'px';
178
- }
179
 
180
- css = outputSelector + '{ height : '+ ( this.value + unit ) + ';}';
 
181
 
182
- if ( jQuery(this).attr( 'multi-device') ) {
183
- css = self.mediaQuery( css );
184
- }
185
 
186
- self.inlineCssInjector(css);
 
187
 
188
- break;
189
- case 'line-height':
190
- var unit = jQuery(this).next('.is-unit').val();
191
 
192
- if ( ! unit.length ) {
193
- unit = 'px';
194
- }
195
 
196
- css = outputSelector + '{ line-height : '+ ( this.value + unit ) + ';}';
 
 
197
 
198
- if ( jQuery(this).attr( 'multi-device') ) {
199
- css = self.mediaQuery( css );
200
- }
201
 
202
- self.inlineCssInjector(css);
 
 
203
 
204
- break;
205
- case 'min-width':
206
- var unit = jQuery(this).next('.is-unit').val();
207
 
208
- if ( ! unit.length ) {
209
- unit = 'px';
210
- }
211
 
212
- css = outputSelector + '{ min-width : '+ (this.value + unit) +';}';
213
-
214
- self.inlineCssInjector(css);
215
 
216
- break;
217
- case 'max-width':
218
- var unit = jQuery(this).next('.is-unit').val();
219
 
220
- if ( ! unit.length ) {
221
- unit = 'px';
222
- }
223
- css = outputSelector + '{ max-width : '+ (this.value + unit) +';}';
224
- self.inlineCssInjector(css);
225
 
226
- break;
227
- }
228
- });
229
- },
230
- bindImage : function(inputSelector, outputSelector, type ) {
231
- var self = this;
232
- var iframe = jQuery(self.iframe);
233
- jQuery(document).on( 'click', inputSelector, function(e) {
234
- e.preventDefault();
235
- var button = jQuery(this),
236
-
237
- custom_uploader = wp.media({
238
- title: 'Select image',
239
- library : {
240
- type : 'image'
241
- },
242
- button: {
243
- text: 'Use this image'
244
- },
245
- multiple: false,
246
- }).on('select', function() {
247
- var attachment = custom_uploader.state().get('selection').first().toJSON();
248
-
249
- jQuery(e.target).prev('input.rmp-image-url-input').val(attachment.url);
250
- jQuery(e.target).css('background-image', 'url(' + attachment.url + ')');
251
- jQuery(e.target).append('<i class="rmp-image-picker-trash dashicons dashicons-trash" aria-hidden="true"></i>');
252
-
253
- if ( type == 'img-src') {
254
- iframe.contents().find(outputSelector).attr('src', attachment.url );
255
- } else if( type == 'background' ) {
256
- css = outputSelector + '{ background-image : url('+ attachment.url + ');}';
257
- self.inlineCssInjector(css);
258
- } else if( type == 'trigger-icon' ) {
259
 
260
- if ( iframe.contents().find(outputSelector).length ) {
261
- iframe.contents().find(outputSelector).attr('src', attachment.url );
262
- } else {
263
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
264
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<img class="rmp-trigger-icon rmp-trigger-icon-inactive" src="'+ attachment.url +'"/>')
265
- }
266
- } else if( type == 'trigger-icon-open' ) {
267
 
268
- if ( iframe.contents().find(outputSelector).length ) {
269
- iframe.contents().find(outputSelector).attr('src', attachment.url );
270
- } else {
271
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
272
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<img class="rmp-trigger-icon rmp-trigger-icon-active" src="'+ attachment.url +'"/>')
273
- }
274
  }
275
- }).open();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
276
 
277
- });
278
- },
279
- toggleElements: function( inputSelector, outputSelector ) {
280
- var self = this;
281
- jQuery(inputSelector).on( 'change', function(e) {
282
- e.preventDefault();
283
- e.stopPropagation();
284
- var iframe = jQuery(self.iframe);
285
- if ( iframe.contents().find(outputSelector).length ) {
286
- if ( jQuery(this).is(':checked') ) {
287
- iframe.contents().find(outputSelector).fadeIn(500);
288
  } else {
289
- iframe.contents().find(outputSelector).fadeOut(500);
 
 
 
 
 
 
 
 
 
290
  }
291
- } else {
292
- e.preventDefault();
293
- var menuId = jQuery('#menu_id').val(),
294
- toggle_on = jQuery(this).data('toggle');
295
-
296
- jQuery.ajax({
297
- url: rmpObject.ajaxURL,
298
- data: {
299
- 'action' : 'rmp_enable_menu_item',
300
- 'ajax_nonce' : rmpObject.ajax_nonce,
301
- 'menu_id' : menuId,
302
- 'menu_element' : toggle_on,
303
- },
304
- type: 'POST',
305
- dataType: 'json',
306
- beforeSend: function(){
307
- jQuery(this).prop('disabled' , true);
308
- jQuery('#iframe-spinner').show();
309
- },
310
- error: function( error ) {
311
- console.log('Internal Error !');
312
- jQuery(this).prop('disabled', false);
313
- jQuery('#iframe-spinner').hide();
314
- },
315
- success: function( response ) {
316
-
317
- if ( response.data.markup ) {
318
- iframe.contents().find( '#rmp-container-'+ self.menuId ).append(response.data.markup);
319
- self.orderMenuElements();
320
- }
321
-
322
- jQuery(this).prop('disabled', false);
323
- jQuery('#iframe-spinner').hide();
324
- }
325
- });
326
  }
327
- });
328
- },
329
- orderMenuElements: function() {
330
- var list = [];
331
- var self = this;
332
- var iframeContents = jQuery(self.iframe).contents();
333
- jQuery('#tab-container .item-title').each(function () {
334
- var val = jQuery(this).text().toLocaleLowerCase().trim();
335
-
336
- if ( val=='title') {
337
- list.push( iframeContents.find( self.menuTitle ) );
338
- iframeContents.find( self.menuTitle ).remove();
339
- } else if( val=='search' ) {
340
- list.push( iframeContents.find( self.menuSearch ) );
341
- iframeContents.find( self.menuSearch ).remove();
342
- } else if( val == 'menu' ) {
343
- list.push( iframeContents.find( self.menuWrap ) );
344
- iframeContents.find( self.menuWrap ).remove();
345
  } else {
346
- list.push( iframeContents.find( self.menuContents ) );
347
- iframeContents.find( self.menuContents ).remove();
348
  }
349
- } );
350
-
351
- list.forEach( function( menuElement ) {
352
- iframeContents.find( self.menuContainer ).append( menuElement );
353
- });
354
-
355
- },
356
- /**
357
- * Function to bind the color input with option and elements.
358
- *
359
- * @version 4.0.0
360
- *
361
- * @param {String} inputSelector
362
- * @param {String} outputSelector
363
- * @param {String} attr
364
- * @param {String} state
365
- */
366
- bindColor: function( inputSelector, outputSelector, attr, state ) {
367
- var self = this;
368
- jQuery( inputSelector ).wpColorPicker( {
369
- change: function(event, ui) {
370
- var value = ui.color.toString();
371
- var css = rmpHook.call(
372
- 'rmp_color_style', {
373
- 'outputSelector' : outputSelector,
374
- 'attr' : attr,
375
- 'value': value,
376
- 'state': state
377
- } );
378
-
379
- if ( jQuery( inputSelector ).attr( 'multi-device') ) {
380
- css = self.mediaQuery( css );
 
381
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
382
 
383
- self.inlineCssInjector(css);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
384
  }
385
- });
386
- },
387
- mediaQuery: function( css ) {
388
-
389
- var self = this;
390
-
391
- self.mobile_breakpoint = jQuery('#rmp-menu-mobile-breakpoint').val() + 'px';
392
- self.tablet_breakpoint = jQuery('#rmp-menu-tablet-breakpoint').val() + 'px';
393
- self.active_device = jQuery('#rmp_device_mode');
394
-
395
- if( 'desktop' === self.active_device.val() ) {
396
- $css = '@media screen and (min-width: '+ self.tablet_breakpoint +' ) {' + css + '}';
397
- return $css;
398
- } else if( 'tablet' === self.active_device.val() ) {
399
- $css = '@media screen and (max-width: '+ self.tablet_breakpoint +') and (min-width : '+ self.mobile_breakpoint +') {' + css + '}';
400
- return $css;
401
- } else if( 'mobile' === self.active_device.val() ) {
402
- $css = '@media screen and (max-width: '+ self.mobile_breakpoint +' ) {' + css + '}';
403
- return $css;
404
- }
405
 
406
- return css;
407
- },
408
- inlineCssInjector: function( css ) {
409
- var self = this;
410
- var iframe = jQuery(self.iframe);
411
- var styleElement = iframe.contents().find( '#rmp-inline-css-' + self.menuId );
412
- if ( styleElement.length ) {
413
- styleElement.append(css);
414
- } else {
415
- style = '<style id="rmp-inline-css-'+ self.menuId +'">'+ css + '</style>';
416
- iframe.contents().find('head').append(style);
417
  }
418
- },
419
- changeInput: function( inputSelector, outputSelector , attr, meta = '' ) {
420
- var self = this;
421
- var iframe = jQuery(self.iframe);
422
- jQuery(inputSelector).on( 'change', function(e) {
423
- switch (attr) {
424
- case 'height-unit':
425
- value = jQuery(this).prev('input').val();
426
- unit = jQuery(this).val();
427
-
428
- css = outputSelector + '{ height : '+ ( value + unit ) + ';}';
429
- if ( jQuery(this).attr( 'multi-device') ) {
430
- css = self.mediaQuery( css );
431
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
432
 
433
- self.inlineCssInjector(css);
434
- break;
435
- case 'line-height-unit':
436
- value = jQuery(this).prev('input').val();
437
- unit = jQuery(this).val();
438
 
439
- css = outputSelector + '{ line-height : '+ ( value+unit ) + ';}';
440
 
441
- if ( jQuery(this).attr( 'multi-device') ) {
442
- css = self.mediaQuery( css );
443
- }
444
 
445
- self.inlineCssInjector(css);
446
- break;
447
- case 'width-unit':
448
- value = jQuery(this).prev('input').val();
449
- unit = jQuery(this).val();
450
- iframe.contents().find( outputSelector ).css({
451
- 'width' : value+unit,
452
- } );
453
- break;
454
- case 'font-size':
455
- value = jQuery(this).prev('input').val();
456
- unit = jQuery(this).val();
457
- css = outputSelector + '{ font-size :' + value + unit + ' !important;}';
458
-
459
- if ( jQuery(this).attr( 'multi-device') ) {
460
- css = self.mediaQuery( css );
461
- }
462
 
463
- self.inlineCssInjector(css);
464
- break;
465
- case 'font-family':
466
- value = jQuery(this).val();
467
- css = outputSelector + '{ font-family :' + value +' !important;}';
468
-
469
- if ( jQuery(this).attr( 'multi-device') ) {
470
- css = self.mediaQuery( css );
471
- }
472
 
473
- self.inlineCssInjector(css);
474
- break;
475
- case 'font-weight':
476
- value = jQuery(this).val();
477
- css = outputSelector + '{ font-weight :' + value +';}';
478
- self.inlineCssInjector(css);
479
- break;
480
- case 'padding':
481
- var unit = jQuery(this).next('.is-unit').val();
482
-
483
- if ( ! unit ) {
484
- unit = 'px';
485
- }
486
 
487
- if( meta == 'lr') {
488
- css = outputSelector + '{ padding : 0 '+ (this.value + unit) +';}';
489
- }
 
 
 
 
 
 
490
 
491
- self.inlineCssInjector(css);
492
- break;
493
- case 'letter-spacing':
494
- value = jQuery(this).val();
495
- css = outputSelector + '{ letter-spacing :' + value +'px; }';
496
- self.inlineCssInjector(css);
497
- break;
498
- case 'position-alignment':
499
-
500
- if ( iframe.contents().find( outputSelector ).length ) {
501
- position = jQuery(this).val();
502
- var rmpTriggerBox = iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' );
503
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).remove();
504
- if ( position == 'top' || position == 'left' ) {
505
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId ).append(rmpTriggerBox);
506
- } else {
507
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId ).prepend(rmpTriggerBox);
508
- }
509
 
510
- }
511
- break;
512
- case 'trigger-animation':
513
- value = jQuery(this).val();
514
- var new_class = 'rmp-menu-trigger-' + value;
515
- all_class = iframe.contents().find( outputSelector ).attr('class').split(" ");
516
- all_class.forEach( function( value ) {
517
- if ( value.includes( 'rmp-menu-trigger-' ) ) {
518
- iframe.contents().find( outputSelector ).removeClass(value);
519
- iframe.contents().find( outputSelector ).addClass(new_class);
520
- }
521
- });
522
- break;
523
- case 'top':
524
- value = jQuery(this).val();
525
- unit = jQuery('#rmp-menu-button-top-unit').val();
526
- css = outputSelector + '{ top :' + (value + unit) +' !important;}';
527
- self.inlineCssInjector(css);
528
- break;
529
- case 'trigger-side-position':
530
- side = jQuery('#rmp-menu-button-left-or-right').val();
531
- unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();
532
- value = jQuery('#rmp-menu-button-distance-from-side').val();
533
- css = outputSelector + '{ '+ side +' :'+ (value + unit) +' !important;}';
534
- self.inlineCssInjector(css);
535
- break;
536
- case 'trigger-side':
537
- side = jQuery(this).val();
538
- value = jQuery('#rmp-menu-button-distance-from-side').val();
539
- unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();
540
-
541
- if( side == 'left' ) {
542
- css = outputSelector + '{' + side + ':'+ ( value + unit ) +' !important;right:unset !important}';
543
- } else {
544
- css = outputSelector + '{' + side + ':'+ ( value + unit ) +' !important;left:unset !important}';
545
- }
546
 
547
- self.inlineCssInjector(css);
548
-
549
- break;
550
- case 'position':
551
- value = jQuery(this).val();
552
- css = outputSelector + '{ position :'+ value +' !important;}';
553
- self.inlineCssInjector(css);
554
- break;
555
- case 'trigger-background' :
556
- if ( jQuery(this).is(':checked') ) {
557
- iframe.contents().find( outputSelector ).attr('style', 'background:unset !important;');
558
- } else {
559
- iframe.contents().find( outputSelector ).removeAttr( 'style' );
560
- }
561
- break;
562
- case 'target':
563
- if ( jQuery(this).is(':checked') ) {
564
- iframe.contents().find(outputSelector).attr('target', '_blank' );
565
  } else {
566
- iframe.contents().find(outputSelector).attr('target', '_self' );
567
  }
568
- break;
569
- case 'text-align':
570
- var value = jQuery(this).val();
571
- iframe.contents().find( outputSelector ).css({
572
- 'text-align' : value,
573
- } );
574
- break;
575
- case 'border-width':
576
- var unit = jQuery(this).next('.is-unit').val();
577
-
578
- if ( ! unit ) {
579
- unit = 'px';
580
- }
581
-
582
- css = outputSelector + '{ border-width : '+ (this.value + unit) +';}';
583
- self.inlineCssInjector(css);
584
 
585
- break;
586
- }
587
- });
588
- },
589
-
590
- init: function() {
591
- var self = this;
592
-
593
- //Mobile menu elements.
594
- self.menuContainer = '#rmp-container-'+ self.menuId;
595
- self.menuTitle = '#rmp-menu-title-' + self.menuId;
596
- self.menuSearch = '#rmp-search-box-' + self.menuId;
597
- self.menuWrap = '#rmp-menu-wrap-' + self.menuId;
598
- self.menuContents = '#rmp-menu-additional-content-' + self.menuId;
599
-
600
- //Menu container background color.
601
- self.bindColor(
602
- '#rmp-container-background-colour',
603
- '#rmp-container-' + self.menuId ,
604
- 'background',
605
- ''
606
- );
607
-
608
- //Menu background.
609
- self.bindColor(
610
- '#rmp-menu-background-colour',
611
- '#rmp-menu-wrap-' + self.menuId ,
612
- 'background'
613
- );
614
-
615
- //Menu title section background color.
616
- self.bindColor(
617
- '#rmp-menu-title-background-colour',
618
- '#rmp-menu-title-' + self.menuId ,
619
- 'background'
620
- );
621
-
622
- //Menu title section background hover color.
623
- self.bindColor(
624
- '#rmp-menu-title-background-hover-colour',
625
- '#rmp-menu-title-' + self.menuId ,
626
- 'background',
627
- 'hover'
628
- );
629
-
630
- // Menu item trigger
631
-
632
- self.bindColor(
633
- '#rmp-menu-sub-arrow-shape-colour',
634
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
635
- 'color'
636
- );
637
-
638
- self.bindColor(
639
- '#rmp-menu-sub-arrow-shape-hover-colour',
640
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
641
- 'color',
642
- 'hover'
643
- );
644
-
645
- self.bindColor(
646
- '#rmp-menu-sub-arrow-shape-colour-active',
647
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
648
- 'color'
649
- );
650
-
651
- self.bindColor(
652
- '#rmp-menu-sub-arrow-shape-hover-colour-active',
653
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
654
- 'color',
655
- 'hover'
656
- );
657
-
658
- self.bindColor(
659
- '#rmp-menu-sub-arrow-border-colour',
660
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
661
- 'border-color'
662
- );
663
-
664
- self.bindColor(
665
- '#rmp-menu-sub-arrow-border-hover-colour',
666
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
667
- 'border-color',
668
- 'hover'
669
- );
670
-
671
- self.bindColor(
672
- '#rmp-menu-sub-arrow-border-colour-active',
673
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
674
- 'border-color'
675
- );
676
-
677
-
678
- self.bindColor(
679
- '#rmp-menu-sub-arrow-border-hover-colour-active',
680
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
681
- 'border-color',
682
- 'hover'
683
- );
684
-
685
- self.bindColor(
686
- '#rmp-menu-sub-arrow-background-color',
687
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
688
- 'background'
689
- );
690
-
691
- self.bindColor(
692
- '#rmp-menu-sub-arrow-background-hover-colour',
693
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
694
- 'background',
695
- 'hover'
696
- );
697
-
698
- self.bindColor(
699
- '#rmp-menu-sub-arrow-background-colour-active',
700
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
701
- 'background'
702
- );
703
-
704
- self.bindColor(
705
- '#rmp-menu-sub-arrow-background-hover-colour-active',
706
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
707
- 'background',
708
- 'hover'
709
- );
710
-
711
- //Legacy options
712
- self.bindColor(
713
- '#rmp-submenu-sub-arrow-shape-colour',
714
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
715
- 'color'
716
- );
717
-
718
- self.bindColor(
719
- '#rmp-submenu-item-border-colour-hover',
720
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
721
- 'color',
722
- 'hover'
723
- );
724
-
725
-
726
- self.bindColor(
727
- '#rmp-submenu-sub-arrow-shape-colour-active',
728
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active',
729
- 'color'
730
- );
731
-
732
-
733
- self.bindColor(
734
- '#rmp-submenu-sub-arrow-shape-hover-colour-active',
735
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active',
736
- 'color',
737
- 'hover'
738
- );
739
-
740
- self.bindColor(
741
- '#rmp-submenu-sub-arrow-border-colour',
742
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
743
- 'border-color'
744
- );
745
-
746
- self.bindColor(
747
- '#rmp-submenu-sub-arrow-border-hover-colour',
748
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
749
- 'border-color',
750
- 'hover'
751
- );
752
-
753
- self.bindColor(
754
- '#rmp-submenu-sub-arrow-border-colour-active',
755
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active',
756
- 'border-color'
757
- );
758
-
759
- self.bindColor(
760
- '#rmp-submenu-sub-arrow-border-hover-colour-active',
761
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active',
762
- 'border-color',
763
- 'hover'
764
- );
765
-
766
- self.bindColor(
767
- '#rmp-submenu-sub-arrow-background-color',
768
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
769
- 'background'
770
- );
771
-
772
- self.bindColor(
773
- '#rmp-submenu-sub-arrow-background-hover-colour',
774
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
775
- 'background',
776
- 'hover'
777
- );
778
-
779
- self.bindColor(
780
- '#rmp-submenu-sub-arrow-background-colour-active',
781
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active',
782
- 'background'
783
- );
784
 
785
- self.bindColor(
786
- '#rmp-submenu-sub-arrow-background-hover-colour-active',
787
- '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active',
788
- 'background',
789
- 'hover'
790
- );
791
 
792
- self.bindColor('#rmp-menu-title-colour', '#rmp-menu-title-' + self.menuId + ' > a' , 'color');
793
- self.bindColor('#rmp-menu-title-hover-colour', '#rmp-menu-title-' + self.menuId + ' > a' , 'color','hover');
794
- self.bindColor('#rmp-menu-additional-content-color', '#rmp-container-'+ self.menuId + ' #rmp-menu-additional-content-' + self.menuId , 'color');
795
- self.bindColor('#rmp-menu-search-box-text-colour', '#rmp-container-'+ self.menuId + ' #rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'color');
796
- self.bindColor('#rmp-menu-search-box-background-colour', '#rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'background');
797
- self.bindColor('#rmp-menu-search-box-border-colour', '#rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'border-color');
798
- self.bindColor('#rmp-menu-search-box-placeholder-colour', '#rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'color', 'placeholder');
799
-
800
- //Menu Trigger
801
- self.bindColor('#rmp-menu-button-background-colour', '#rmp_menu_trigger-' + self.menuId , 'background', '' );
802
- self.bindColor('#rmp-menu-button-background-colour-hover', '#rmp_menu_trigger-' + self.menuId , 'background-color', 'hover' );
803
- self.bindColor('#rmp-menu-button-background-colour-active', '#rmp_menu_trigger-' + self.menuId + '.is-active' , 'background', '' );
804
-
805
- self.bindColor('#rmp-menu-button-line-colour', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before', 'background', '' );
806
- self.bindColor('#rmp-menu-button-line-colour-active', '.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,.is-active#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after,.is-active#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before', 'background','' );
807
- self.bindColor('#rmp-menu-button-line-colour-hover', '#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId +':hover .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId +':hover .responsive-menu-pro-inner:before', 'background','' );
808
- self.bindColor('#rmp-menu-button-text-colour', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'color' );
809
-
810
- self.onTyping('.rmp-menu-container-padding','#rmp-container-'+ self.menuId , 'section-padding' );
811
- self.onTyping('.rmp-menu-title-section-padding','#rmp-menu-title-'+ self.menuId , 'section-padding' );
812
- self.onTyping('.rmp-menu-section-padding','#rmp-menu-wrap-'+ self.menuId , 'section-padding' );
813
- self.onTyping('.rmp-menu-search-section-padding','#rmp-search-box-'+ self.menuId , 'section-padding' );
814
- self.onTyping('.rmp-menu-additional-section-padding','#rmp-menu-additional-content-'+ self.menuId , 'section-padding' );
815
-
816
- // CONTENT BASED ELEMENTS.
817
 
818
- self.onTyping('#rmp-menu-search-box-height','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','height' );
819
- self.changeInput('#rmp-menu-search-box-height-unit','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','height-unit' );
820
-
821
-
822
- self.onTyping('#rmp-menu-search-box-border-radius','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','border-radius' );
823
-
824
-
825
- self.onTyping('#rmp-menu-menu-title','#rmp-menu-title-'+ self.menuId +' #rmp-menu-title-link span', 'text' );
826
- self.onTyping('#rmp-menu-additional-content','#rmp-menu-additional-content-'+ self.menuId,'text');
827
- self.onTyping('#rmp-menu-search-box-text','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','placeholder');
828
- self.onTyping('#rmp-menu-title-link', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link','href');
829
- self.onTyping('#rmp-menu-title-image-alt', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image','alt');
830
- self.onTyping('#rmp-menu-title-font-size', '#rmp-menu-title-' + self.menuId + ' > a','font-size');
831
- self.changeInput('#rmp-menu-title-font-size-unit', '#rmp-menu-title-' + self.menuId + ' > a','font-size' );
832
- self.changeInput('#rmp-menu-additional-content-font-size-unit', '#rmp-menu-additional-content-' + self.menuId ,'font-size' );
833
 
834
- self.onTyping('#rmp-menu-title-image-width', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image','width');
835
- self.onTyping('#rmp-menu-title-image-height', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image','height');
836
- self.bindImage('#rmp-menu-title-image-selector', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src' );
837
-
838
- self.onTyping('#rmp-menu-additional-content-font-size', '#rmp-menu-additional-content-' + self.menuId ,'font-size' );
839
-
840
- self.onTyping('#rmp-menu-container-width', '#rmp-container-'+ self.menuId, 'width' );
841
- self.changeInput('#rmp-menu-container-width-unit', '#rmp-container-'+ self.menuId, 'width-unit' );
842
- self.changeInput('#rmp-menu-button-width-unit', '#rmp_menu_trigger-' + self.menuId, 'width-unit' );
843
-
844
- self.changeInput('#rmp-menu-button-height-unit', '#rmp_menu_trigger-' + self.menuId , 'height-unit');
845
-
846
-
847
- self.onTyping('#rmp-menu-container-min-width', '#rmp-container-'+ self.menuId, 'min-width' );
848
- self.onTyping('#rmp-menu-container-max-width', '#rmp-container-'+ self.menuId, 'max-width' );
849
-
850
- self.onTyping('#rmp-menu-button-image-alt-when-clicked', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'alt' );
851
- self.onTyping('#rmp-menu-button-image-alt', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'alt' );
852
-
853
- self.onTyping('#rmp-menu-button-title-open', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text-open', 'trigger-text-open' );
854
- self.onTyping('#rmp-menu-button-title', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text', 'trigger-text' );
855
- self.onTyping('#rmp-menu-button-font-size', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-size' );
856
- self.changeInput('#rmp-menu-button-font-size-unit', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-size' );
857
-
858
- self.onTyping('#rmp-menu-button-title-line-height', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'line-height' );
859
- self.changeInput('#rmp-menu-button-title-line-height-unit', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'line-height-unit' );
860
-
861
- //Menu Trigger
862
- self.onTyping('#rmp-menu-button-width', '#rmp_menu_trigger-' + self.menuId, 'width' );
863
- self.onTyping('#rmp-menu-button-height', '#rmp_menu_trigger-' + self.menuId , 'height');
864
-
865
- self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner', 'trigger-line-width' );
866
- self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after', 'trigger-line-width' );
867
- self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before', 'trigger-line-width' );
868
- self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner', 'trigger-line-height' );
869
- self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after', 'trigger-line-height' );
870
- self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before', 'trigger-line-height' );
871
-
872
- self.bindImage('#rmp-button-title-image', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src' );
873
- self.bindImage('#rmp-menu-background-image-selector', '#rmp-container-'+ self.menuId, 'background' );
874
-
875
- self.bindImage('#rmp-menu-button-image-when-clicked-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'trigger-icon-open' );
876
- self.bindImage('#rmp-menu-button-image-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'trigger-icon' );
877
-
878
-
879
-
880
-
881
- self.changeInput('#rmp-menu-title-link-location', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link','target');
882
- self.changeInput('.rmp-menu-title-alignment', '#rmp-menu-title-' + self.menuId ,'text-align');
883
- self.changeInput('.rmp-menu-additional-content-alignment', '#rmp-menu-additional-content-'+ self.menuId,'text-align');
884
-
885
- //Top menu item links
886
- self.onTyping('#rmp-menu-links-height', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'height');
887
- self.onTyping('#rmp-menu-links-line-height', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'line-height');
888
- self.onTyping('#rmp-menu-font-size', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-size');
889
- self.changeInput('#rmp-menu-font-size-unit', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-size');
890
-
891
-
892
- self.changeInput('#rmp-menu-font', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-family' );
893
- self.changeInput('#rmp-menu-font-weight', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-weight' );
894
- self.changeInput('.rmp-menu-text-alignment', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'text-align' );
895
- self.changeInput('#rmp-menu-text-letter-spacing', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'letter-spacing' );
896
- self.changeInput('#rmp-menu-depth-level-0', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'padding', 'lr' );
897
-
898
- self.changeInput('#rmp-menu-border-width', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'border-width' );
899
- self.changeInput('#rmp-menu-sub-arrow-border-width', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-width' );
900
- self.changeInput('#rmp-submenu-sub-arrow-border-width', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-sub-level-item .rmp-menu-subarrow', 'border-width' );
901
-
902
- self.bindColor('#rmp-menu-link-color', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'color');
903
- self.bindColor('#rmp-menu-link-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'color','hover');
904
- self.bindColor('#rmp-menu-current-link-active-color', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item.rmp-menu-current-item .rmp-menu-item-link', 'color');
905
- self.bindColor('#rmp-menu-current-link-active-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item.rmp-menu-current-item .rmp-menu-item-link', 'color','hover');
906
-
907
- self.bindColor('#rmp-menu-item-background-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'background');
908
- self.bindColor('#rmp-menu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'background','hover');
909
- self.bindColor('#rmp-menu-current-item-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item.rmp-menu-current-item .rmp-menu-item-link', 'background');
910
- self.bindColor('#rmp-menu-current-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item.rmp-menu-current-item .rmp-menu-item-link', 'background','hover');
911
-
912
- self.bindColor('#rmp-menu-item-border-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'border-color');
913
-
914
- // Trigger of top level
915
- self.bindImage('#rmp-menu-inactive-arrow-image-selector', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background' );
916
- self.bindImage('#rmp-menu-active-arrow-image-selector', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background' );
917
-
918
- self.onTyping('#rmp-submenu-arrow-height', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'height');
919
- self.onTyping('#rmp-submenu-arrow-width', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'width');
920
- self.changeInput('#rmp-submenu-arrow-width-unit', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'width-unit');
921
- self.changeInput('#rmp-submenu-arrow-height-unit', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'height-unit');
922
-
923
- self.onTyping('#rmp-submenu-child-arrow-height', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-sub-level-item .rmp-menu-subarrow', 'height');
924
- self.onTyping('#rmp-submenu-child-arrow-width', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-sub-level-item .rmp-menu-subarrow', 'width');
925
- self.changeInput('#rmp-submenu-child-arrow-width-unit', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-sub-level-item .rmp-menu-subarrow', 'width-unit');
926
- self.changeInput('#rmp-submenu-child-arrow-height-unit', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-sub-level-item .rmp-menu-subarrow', 'height-unit');
927
-
928
-
929
- self.bindColor('#rmp-menu-sub-arrow-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background');
930
- self.bindColor('#rmp-menu-sub-arrow-background-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background','hover');
931
- self.bindColor('#rmp-menu-sub-arrow-background-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background');
932
- self.bindColor('#rmp-menu-sub-arrow-background-hover-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background','hover' );
933
-
934
- //sub menu item links
935
- self.onTyping('#rmp-submenu-links-height', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'height');
936
- self.onTyping('#rmp-submenu-links-line-height', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'line-height');
937
- self.onTyping('#rmp-submenu-font-size', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-size');
938
- self.changeInput('#rmp-submenu-font', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-family' );
939
- self.changeInput('#rmp-submenu-font-weight', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-weight' );
940
- self.changeInput('.rmp-submenu-text-alignment', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'text-align' );
941
- self.changeInput('#rmp-submenu-text-letter-spacing', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'letter-spacing' );
942
-
943
- self.changeInput('#rmp-submenu-border-width', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-width' );
944
- self.bindColor('#rmp-submenu-item-border-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-color');
945
-
946
- self.bindColor('#rmp-submenu-link-color', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'color');
947
- self.bindColor('#rmp-submenu-link-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'color','hover');
948
- self.bindColor('#rmp-submenu-link-colour-active', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'color');
949
- self.bindColor('#rmp-submenu-link-active-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'color','hover');
950
-
951
- self.bindColor('#rmp-submenu-item-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'background');
952
- self.bindColor('#rmp-submenu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'background','hover');
953
- self.bindColor('#rmp-submenu-current-item-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'background');
954
- self.bindColor('#rmp-submenu-current-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'background','hover');
955
-
956
- //Menu Trigger
957
- self.changeInput('.rmp-menu-button-transparent-background', '#rmp_menu_trigger-' + self.menuId , 'background','');
958
- self.changeInput('#rmp-menu-button-position-type', '#rmp_menu_trigger-' + self.menuId , 'position');
959
- self.changeInput('.rmp-menu-button-left-or-right', '#rmp_menu_trigger-' + self.menuId , 'trigger-side');
960
- self.changeInput('#rmp-menu-button-distance-from-side', '#rmp_menu_trigger-' + self.menuId , 'trigger-side-position');
961
- self.changeInput('#rmp-menu-button-top', '#rmp_menu_trigger-' + self.menuId , 'top');
962
- self.changeInput('#rmp-menu-button-click-animation', '#rmp_menu_trigger-' + self.menuId , 'trigger-animation');
963
- self.changeInput('#rmp-menu-button-font', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-family' );
964
- self.changeInput('.rmp-menu-button-title-position', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'position-alignment' );
965
-
966
- jQuery("#rmp-menu-button-font-icon").focus(function() {
967
- var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-inactive';
968
- value = jQuery(this).val();
969
- var iframe = jQuery(self.iframe);
970
- if ( iframe.contents().find(outputSelector).length ) {
971
- iframe.contents().find( outputSelector ).addClass(value);
972
- } else {
973
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon' ).hide();
974
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
975
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<span class="rmp-trigger-icon rmp-trigger-icon-inactive ' + value +'"></span>')
976
- }
977
- });
978
-
979
- jQuery("#rmp-menu-button-font-icon-when-clicked").focus(function() {
980
- var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-active';
981
- value = jQuery(this).val();
982
- var iframe = jQuery(self.iframe);
983
- if ( iframe.contents().find(outputSelector).length ) {
984
- iframe.contents().find( outputSelector ).addClass(value);
985
- } else {
986
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon' ).hide();
987
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
988
- iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<span class="rmp-trigger-icon rmp-trigger-icon-active ' + value +'"></span>')
989
- }
990
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
991
 
992
- // Ordering elements
993
- self.toggleElements('#rmp-item-order-title','#rmp-menu-title-' + self.menuId );
994
- self.toggleElements('#rmp-item-order-additional-content','#rmp-menu-additional-content-' + self.menuId );
995
- self.toggleElements('#rmp-item-order-search','#rmp-search-box-'+ self.menuId);
996
- self.toggleElements('#rmp-item-order-menu','#rmp-menu-wrap-' + self.menuId );
997
 
998
- jQuery( '#rmp-menu-ordering-items' ).sortable( {
999
- update: function( event, ui ) {
1000
- self.orderMenuElements();
1001
- }
1002
- });
1003
- }
1004
- };
1005
 
1006
- RMP_Preview.init();
1007
- });
1008
 
1
+
2
+ /**
3
+ * This is preview scripts file for responsive menu customizer.
4
+ *
5
+ * @file This files defines the rmpHook object.
6
+ * @author ExpressTech System.
7
+ * @type {Object}
8
+ *
9
+ * @since 4.0.0
10
+ *
11
+ * @package responsive-menu-pro
12
+ */
13
+
14
+ /**
15
+ * Hooks class.
16
+ *
17
+ * @type {Object}
18
+ *
19
+ * @since 4.0.0
20
+ */
21
+ const rmpHook = {
22
+ hooks: [ ],
23
+ isBreak: false,
24
 
25
  /**
26
+ * Function to register the hook.
27
+ *
28
  * @since 4.0.0
29
+ *
30
+ * @param String name Hook Name.
31
+ * @param function callback Associated function.
32
  */
33
+ register: function( name, callback ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
+ if ( 'undefined' == typeof ( rmpHook.hooks[name] ) ) {
36
+ rmpHook.hooks[name] = [ ];
 
 
37
  }
38
+
39
+ rmpHook.hooks[name].push( callback );
40
+ },
41
 
42
  /**
43
+ * Function to call the hook.
44
+ *
45
  * @since 4.0.0
46
+ *
47
+ * @param String name Hook Name.
48
+ * @param function params Paramter list.
49
  */
50
+ call: function( name, params ) {
51
+
52
+ if ( 'undefined' != typeof ( rmpHook.hooks[name] ) ) {
53
+ for ( let i = 0; i < rmpHook.hooks[name].length; ++i ) {
54
+ let output = rmpHook.hooks[name][i]( params );
55
+ if ( false == output ) {
56
+ rmpHook.isBreak = true;
57
+ return false;
58
+ }
59
 
60
+ return output;
61
+ }
62
  }
63
 
64
+ return true;
65
+ }
66
+ };
67
+
68
+ /**
69
+ * Register function to color the menu elements.
70
+ *
71
+ * @since 4.0.0
72
+ *
73
+ * @param {Object} args List of inputs.
74
+ * @return {String}
75
+ */
76
+ rmpHook.register( 'rmp_color_style', function ( args ) {
77
+
78
+ if ( ! args ) {
79
+ return false;
80
+ }
81
+
82
+ // Set the state/pseudo class.
83
+ if ( 'hover' == args.state ) {
84
+ args.outputSelector = args.outputSelector + ':hover';
85
+ } else if ( 'placeholder' == args.state ) {
86
+ args.outputSelector = args.outputSelector + '::placeholder';
87
+ } else if ( 'before' == args.state ) {
88
+ args.outputSelector = args.outputSelector + '::before';
89
+ } else if ( 'after' == args.state ) {
90
+ args.outputSelector = args.outputSelector + '::after';
91
+ }
92
+
93
+ //Prepare css string and return.
94
+ return args.outputSelector + '{ ' + args.attr + ' : ' + args.value + ';}';
95
+ } );
96
+
97
+ /**
98
+ * rmpPreview class
99
+ *
100
+ * @since 4.0.0
101
+ *
102
+ * @type {Object}
103
+ */
104
+ window.RMP_Preview = {
105
+ iframe : '#rmp-preview-iframe',
106
+ menuId : jQuery('#menu_id').val(),
107
+ mobile_breakpoint : jQuery('#rmp-menu-mobile-breakpoint').val() + 'px',
108
+ tablet_breakpoint : jQuery('#rmp-menu-tablet-breakpoint').val() + 'px',
109
+ active_device: jQuery('#rmp_device_mode'),
110
+ menuContainer : '#rmp-container-'+ self.menuId,
111
+
112
+ onTyping: function( inputSelector, outputSelector, type, meta = '' ) {
113
+ var self = this;
114
+ var iframe = jQuery(self.iframe);
115
+ jQuery(inputSelector).on( 'keyup change paste', function() {
116
+ switch( type ) {
117
+ case 'border-radius':
118
+ var value = jQuery(this).val();
119
+ css = outputSelector + '{ border-radius : '+ ( value ) +'px;}';
120
+ self.inlineCssInjector(css);
121
+ break;
122
+ case 'section-padding':
123
+ var value = jQuery(this).val();
124
+ var is_linked = jQuery(this).parents('.rmp-input-group-control').find('.rmp-group-input-linked').hasClass('is-linked');
125
+ var attr = 'padding';
126
+ if( ! is_linked ) {
127
+ pos = jQuery(this).attr('data-input');
128
+ attr = attr + '-' + pos;
129
+ }
130
+ css = outputSelector + '{ '+ attr +' : '+ ( value ) +';}';
131
+ self.inlineCssInjector(css);
132
 
133
+ break;
134
+ case 'trigger-text':
135
+ if ( iframe.contents().find(outputSelector).length ) {
136
+ iframe.contents().find(outputSelector).html(this.value);
137
+ } else {
138
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text">"'+ this.value + '"</span></div>')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  }
140
+ break;
141
+
142
+ case 'trigger-text-open':
143
+ if ( iframe.contents().find(outputSelector).length ) {
144
+ iframe.contents().find(outputSelector).html(this.value);
145
+ } else {
146
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text-open">"'+ this.value + '"</span></div>')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  }
148
+ break;
149
 
150
+ case 'text' :
151
+ iframe.contents().find( outputSelector ).html(this.value);
152
+ break;
153
 
154
+ case 'placeholder' :
155
+ iframe.contents().find(outputSelector).attr('placeholder', this.value );
156
+ break;
157
+ case 'href' :
158
+ iframe.contents().find(outputSelector).attr('href', this.value );
159
+ break;
160
 
161
+ case 'font-size':
162
+ var unit = jQuery(this).next( '.is-unit' ).val();
163
 
164
+ if ( ! unit.length ) {
165
+ unit = 'px';
166
+ }
167
 
168
+ var value = jQuery(this).val();
169
+ css = outputSelector + '{ font-size : '+ ( value + unit ) + ';}';
170
 
171
+ if ( jQuery(this).attr( 'multi-device') ) {
172
+ css = self.mediaQuery( css );
173
+ }
174
 
175
+ self.inlineCssInjector(css);
 
176
 
177
+ break;
178
 
179
+ case 'width':
180
+ var unit = jQuery(this).next('.is-unit').val();
181
 
182
+ if ( ! unit ) {
183
+ unit = 'px';
184
+ }
185
 
186
+ css = outputSelector + '{ width : '+ (this.value + unit) +';}';
187
+ self.inlineCssInjector(css);
188
 
189
+ break;
 
 
190
 
191
+ case 'height':
192
+ var unit = jQuery(this).next('.is-unit').val();
193
 
194
+ if ( ! unit.length ) {
195
+ unit = 'px';
196
+ }
197
 
198
+ css = outputSelector + '{ height : '+ ( this.value + unit ) + ';}';
 
 
199
 
200
+ if ( jQuery(this).attr( 'multi-device') ) {
201
+ css = self.mediaQuery( css );
202
+ }
203
 
204
+ self.inlineCssInjector(css);
 
 
205
 
206
+ break;
207
+ case 'line-height':
208
+ var unit = jQuery(this).next('.is-unit').val();
209
 
210
+ if ( ! unit.length ) {
211
+ unit = 'px';
212
+ }
213
 
214
+ css = outputSelector + '{ line-height : '+ ( this.value + unit ) + ';}';
 
 
215
 
216
+ if ( jQuery(this).attr( 'multi-device') ) {
217
+ css = self.mediaQuery( css );
218
+ }
219
 
220
+ self.inlineCssInjector(css);
 
 
221
 
222
+ break;
223
+ case 'min-width':
224
+ var unit = jQuery(this).next('.is-unit').val();
 
 
225
 
226
+ if ( ! unit.length ) {
227
+ unit = 'px';
228
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
 
230
+ css = outputSelector + '{ min-width : '+ (this.value + unit) +';}';
231
+
232
+ self.inlineCssInjector(css);
 
 
 
 
233
 
234
+ break;
235
+ case 'max-width':
236
+ var unit = jQuery(this).next('.is-unit').val();
237
+
238
+ if ( ! unit.length ) {
239
+ unit = 'px';
240
  }
241
+ css = outputSelector + '{ max-width : '+ (this.value + unit) +';}';
242
+ self.inlineCssInjector(css);
243
+ break;
244
+ case 'trigger-side-position':
245
+
246
+ side = jQuery('#rmp-menu-button-left-or-right').val();
247
+
248
+ unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();
249
+
250
+ value = jQuery('#rmp-menu-button-distance-from-side').val();
251
+
252
+ css = outputSelector + '{ '+ side +' :'+ (value + unit) +' !important;}';
253
+
254
+ self.inlineCssInjector(css);
255
+
256
+ break;
257
+
258
+ case 'top':
259
+ value = jQuery(this).val();
260
+ unit = jQuery('#rmp-menu-button-top-unit').val();
261
+ css = outputSelector + '{ top :' + (value + unit) +' !important;}';
262
+ self.inlineCssInjector(css);
263
+ break;
264
+
265
+ case 'border-width':
266
+ var unit = jQuery(this).next('.is-unit').val();
267
+ if ( ! unit ) {
268
+ unit = 'px';
269
+ }
270
+ css = outputSelector + '{ border-width : '+ (this.value + unit) +';}';
271
+ self.inlineCssInjector(css);
272
+ break;
273
+
274
+ case 'padding':
275
+ var unit = jQuery(this).next('.is-unit').val();
276
+ if ( ! unit ) {
277
+ unit = 'px';
278
+ }
279
+
280
+ if ( meta == 'lr') {
281
+ css = outputSelector + '{ padding : 0 '+ (this.value + unit) +';}';
282
+ }
283
+ self.inlineCssInjector(css);
284
+ break;
285
+ }
286
+ });
287
+ },
288
+ bindImage : function(inputSelector, outputSelector, type ) {
289
+ var self = this;
290
+ var iframe = jQuery(self.iframe);
291
+ jQuery(document).on( 'click', inputSelector, function(e) {
292
+ e.preventDefault();
293
+ var button = jQuery(this),
294
+
295
+ custom_uploader = wp.media({
296
+ title: 'Select image',
297
+ library : {
298
+ type : 'image'
299
+ },
300
+ button: {
301
+ text: 'Use this image'
302
+ },
303
+ multiple: false,
304
+ }).on('select', function() {
305
+ var attachment = custom_uploader.state().get('selection').first().toJSON();
306
+
307
+ jQuery(e.target).prev('input.rmp-image-url-input').val(attachment.url);
308
+ jQuery(e.target).css('background-image', 'url(' + attachment.url + ')');
309
+ jQuery(e.target).append('<i class="rmp-image-picker-trash dashicons dashicons-trash" aria-hidden="true"></i>');
310
 
311
+ if ( type == 'img-src') {
312
+ iframe.contents().find(outputSelector).attr('src', attachment.url );
313
+ } else if( type == 'background' ) {
314
+ css = outputSelector + '{ background-image : url('+ attachment.url + ');}';
315
+ self.inlineCssInjector(css);
316
+ } else if( type == 'trigger-icon' ) {
317
+
318
+ if ( iframe.contents().find(outputSelector).length ) {
319
+ iframe.contents().find(outputSelector).attr('src', attachment.url );
 
 
320
  } else {
321
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
322
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<img class="rmp-trigger-icon rmp-trigger-icon-inactive" src="'+ attachment.url +'"/>')
323
+ }
324
+ } else if( type == 'trigger-icon-open' ) {
325
+
326
+ if ( iframe.contents().find(outputSelector).length ) {
327
+ iframe.contents().find(outputSelector).attr('src', attachment.url );
328
+ } else {
329
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
330
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<img class="rmp-trigger-icon rmp-trigger-icon-active" src="'+ attachment.url +'"/>')
331
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
332
  }
333
+ }).open();
334
+
335
+ });
336
+ },
337
+ toggleElements: function( inputSelector, outputSelector ) {
338
+ var self = this;
339
+ jQuery(inputSelector).on( 'change', function(e) {
340
+ e.preventDefault();
341
+ e.stopPropagation();
342
+ var iframe = jQuery(self.iframe);
343
+ if ( iframe.contents().find(outputSelector).length ) {
344
+ if ( jQuery(this).is(':checked') ) {
345
+ iframe.contents().find(outputSelector).fadeIn(500);
 
 
 
 
 
346
  } else {
347
+ iframe.contents().find(outputSelector).fadeOut(500);
 
348
  }
349
+ } else {
350
+ e.preventDefault();
351
+ var menuId = jQuery('#menu_id').val(),
352
+ toggle_on = jQuery(this).data('toggle');
353
+
354
+ jQuery.ajax({
355
+ url: rmpObject.ajaxURL,
356
+ data: {
357
+ 'action' : 'rmp_enable_menu_item',
358
+ 'ajax_nonce' : rmpObject.ajax_nonce,
359
+ 'menu_id' : menuId,
360
+ 'menu_element' : toggle_on,
361
+ },
362
+ type: 'POST',
363
+ dataType: 'json',
364
+ beforeSend: function(){
365
+ jQuery(this).prop('disabled' , true);
366
+ jQuery('#iframe-spinner').show();
367
+ },
368
+ error: function( error ) {
369
+ console.log('Internal Error !');
370
+ jQuery(this).prop('disabled', false);
371
+ jQuery('#iframe-spinner').hide();
372
+ },
373
+ success: function( response ) {
374
+
375
+ if ( response.data.markup ) {
376
+ iframe.contents().find( '#rmp-container-'+ self.menuId ).append(response.data.markup);
377
+ self.orderMenuElements();
378
+ }
379
+
380
+ jQuery(this).prop('disabled', false);
381
+ jQuery('#iframe-spinner').hide();
382
  }
383
+ });
384
+ }
385
+ });
386
+ },
387
+ orderMenuElements: function() {
388
+ var list = [];
389
+ var self = this;
390
+ var iframeContents = jQuery(self.iframe).contents();
391
+ jQuery('#tab-container .item-title').each(function () {
392
+ var val = jQuery(this).text().toLocaleLowerCase().trim();
393
+
394
+ if ( val=='title') {
395
+ list.push( iframeContents.find( self.menuTitle ) );
396
+ iframeContents.find( self.menuTitle ).remove();
397
+ } else if( val=='search' ) {
398
+ list.push( iframeContents.find( self.menuSearch ) );
399
+ iframeContents.find( self.menuSearch ).remove();
400
+ } else if( val == 'menu' ) {
401
+ list.push( iframeContents.find( self.menuWrap ) );
402
+ iframeContents.find( self.menuWrap ).remove();
403
+ } else {
404
+ list.push( iframeContents.find( self.menuContents ) );
405
+ iframeContents.find( self.menuContents ).remove();
406
+ }
407
+ } );
408
 
409
+ list.forEach( function( menuElement ) {
410
+ iframeContents.find( self.menuContainer ).append( menuElement );
411
+ });
412
+
413
+ },
414
+ /**
415
+ * Function to bind the color input with option and elements.
416
+ *
417
+ * @version 4.0.0
418
+ *
419
+ * @param {String} inputSelector
420
+ * @param {String} outputSelector
421
+ * @param {String} attr
422
+ * @param {String} state
423
+ */
424
+ bindColor: function( inputSelector, outputSelector, attr, state ) {
425
+ var self = this;
426
+ jQuery( inputSelector ).wpColorPicker( {
427
+ change: function(event, ui) {
428
+ var value = ui.color.toString();
429
+ var css = rmpHook.call(
430
+ 'rmp_color_style', {
431
+ 'outputSelector' : outputSelector,
432
+ 'attr' : attr,
433
+ 'value': value,
434
+ 'state': state
435
+ } );
436
+
437
+ if ( jQuery( inputSelector ).attr( 'multi-device') ) {
438
+ css = self.mediaQuery( css );
439
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
 
441
+ self.inlineCssInjector(css);
 
 
 
 
 
 
 
 
 
 
442
  }
443
+ });
444
+ },
445
+ mediaQuery: function( css ) {
446
+
447
+ var self = this;
448
+ self.tablet_breakpoint = jQuery('#rmp-menu-tablet-breakpoint').val() + 'px';
449
+ css = '@media screen and (max-width: '+ self.tablet_breakpoint +' ) {' + css + '}';
450
+
451
+ return css;
452
+ },
453
+ inlineCssInjector: function( css ) {
454
+ var self = this;
455
+ var iframe = jQuery(self.iframe);
456
+ var styleElement = iframe.contents().find( '#rmp-inline-css-' + self.menuId );
457
+ if ( styleElement.length ) {
458
+ styleElement.append(css);
459
+ } else {
460
+ style = '<style id="rmp-inline-css-'+ self.menuId +'">'+ css + '</style>';
461
+ iframe.contents().find('head').append(style);
462
+ }
463
+ },
464
+ changeInput: function( inputSelector, outputSelector , attr, meta = '' ) {
465
+ var self = this;
466
+ var iframe = jQuery(self.iframe);
467
+ jQuery(inputSelector).on( 'change', function(e) {
468
+ switch (attr) {
469
+ case 'height-unit':
470
+ value = jQuery(this).prev('input').val();
471
+ unit = jQuery(this).val();
472
+
473
+ css = outputSelector + '{ height : '+ ( value + unit ) + ';}';
474
+ if ( jQuery(this).attr( 'multi-device') ) {
475
+ css = self.mediaQuery( css );
476
+ }
477
 
478
+ self.inlineCssInjector(css);
479
+ break;
480
+ case 'line-height-unit':
481
+ value = jQuery(this).prev('input').val();
482
+ unit = jQuery(this).val();
483
 
484
+ css = outputSelector + '{ line-height : '+ ( value+unit ) + ';}';
485
 
486
+ if ( jQuery(this).attr( 'multi-device') ) {
487
+ css = self.mediaQuery( css );
488
+ }
489
 
490
+ self.inlineCssInjector(css);
491
+ break;
492
+ case 'width-unit':
493
+ var value = jQuery(this).prev('input').val();
494
+ var unit = jQuery(this).val();
495
+ css = outputSelector + '{ width : '+ ( value + unit) +';}';
496
+ self.inlineCssInjector(css);
497
+ break;
 
 
 
 
 
 
 
 
 
498
 
499
+ case 'font-size':
500
+ value = jQuery(this).prev('input').val();
501
+ unit = jQuery(this).val();
502
+ css = outputSelector + '{ font-size :' + value + unit + ' !important;}';
 
 
 
 
 
503
 
504
+ if ( jQuery(this).attr( 'multi-device') ) {
505
+ css = self.mediaQuery( css );
506
+ }
 
 
 
 
 
 
 
 
 
 
507
 
508
+ self.inlineCssInjector(css);
509
+ break;
510
+ case 'font-family':
511
+ value = jQuery(this).val();
512
+ css = outputSelector + '{ font-family :' + value +' !important;}';
513
+
514
+ if ( jQuery(this).attr( 'multi-device') ) {
515
+ css = self.mediaQuery( css );
516
+ }
517
 
518
+ self.inlineCssInjector(css);
519
+ break;
520
+ case 'font-weight':
521
+ value = jQuery(this).val();
522
+ css = outputSelector + '{ font-weight :' + value +';}';
523
+ self.inlineCssInjector(css);
524
+ break;
525
+ case 'padding-unit':
526
+ var unit = jQuery(this).val();
527
+ var value = jQuery(this).prev('input').val();
528
+ if ( ! unit ) {
529
+ unit = 'px';
530
+ }
 
 
 
 
 
531
 
532
+ if( meta == 'lr') {
533
+ css = outputSelector + '{ padding : 0 '+ (value + unit) +';}';
534
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
535
 
536
+ self.inlineCssInjector(css);
537
+ break;
538
+ case 'letter-spacing':
539
+ value = jQuery(this).val();
540
+ css = outputSelector + '{ letter-spacing :' + value +'px; }';
541
+ self.inlineCssInjector(css);
542
+ break;
543
+ case 'position-alignment':
544
+
545
+ if ( iframe.contents().find( outputSelector ).length ) {
546
+ position = jQuery(this).val();
547
+ var rmpTriggerBox = iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' );
548
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).remove();
549
+ if ( position == 'top' || position == 'left' ) {
550
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId ).append(rmpTriggerBox);
 
 
 
551
  } else {
552
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId ).prepend(rmpTriggerBox);
553
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
554
 
555
+ }
556
+ break;
557
+ case 'trigger-animation':
558
+ value = jQuery(this).val();
559
+ var new_class = 'rmp-menu-trigger-' + value;
560
+ all_class = iframe.contents().find( outputSelector ).attr('class').split(" ");
561
+ all_class.forEach( function( value ) {
562
+ if ( value.includes( 'rmp-menu-trigger-' ) ) {
563
+ iframe.contents().find( outputSelector ).removeClass(value);
564
+ iframe.contents().find( outputSelector ).addClass(new_class);
565
+ }
566
+ });
567
+ break;
568
+ case 'top':
569
+ var unit = jQuery(this).val();
570
+ value = jQuery(this).prev('input').val();
571
+ css = outputSelector + '{ top :' + (value + unit) +' !important;}';
572
+ self.inlineCssInjector(css);
573
+ break;
574
+ case 'trigger-side-position':
575
+ side = jQuery('#rmp-menu-button-left-or-right').val();
576
+ unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();
577
+ value = jQuery('#rmp-menu-button-distance-from-side').val();
578
+ css = outputSelector + '{ '+ side +' :'+ (value + unit) +' !important;}';
579
+ self.inlineCssInjector(css);
580
+ break;
581
+ case 'trigger-side':
582
+ side = jQuery(this).val();
583
+ value = jQuery('#rmp-menu-button-distance-from-side').val();
584
+ unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();
585
+
586
+ if( side == 'left' ) {
587
+ css = outputSelector + '{' + side + ':'+ ( value + unit ) +' !important;right:unset !important}';
588
+ } else {
589
+ css = outputSelector + '{' + side + ':'+ ( value + unit ) +' !important;left:unset !important}';
590
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
591
 
592
+ self.inlineCssInjector(css);
 
 
 
 
 
593
 
594
+ break;
595
+ case 'position':
596
+ value = jQuery(this).val();
597
+ css = outputSelector + '{ position :'+ value +' !important;}';
598
+ self.inlineCssInjector(css);
599
+ break;
600
+ case 'trigger-background' :
601
+ if ( jQuery(this).is(':checked') ) {
602
+ iframe.contents().find( outputSelector ).attr('style', 'background:unset !important;');
603
+ } else {
604
+ iframe.contents().find( outputSelector ).removeAttr( 'style' );
605
+ }
606
+ break;
607
+ case 'target':
608
+ var value = jQuery(this).val();
609
+
610
+ if( ! value.length ) {
611
+ value = '_self';
612
+ }
 
 
 
 
 
 
613
 
614
+ iframe.contents().find(outputSelector).attr('target', value );
615
+ break;
 
 
 
 
 
 
 
 
 
 
 
 
 
616
 
617
+ case 'text-align':
618
+ var value = jQuery(this).val();
619
+ iframe.contents().find( outputSelector ).css({
620
+ 'text-align' : value,
621
+ } );
622
+ break;
623
+ }
624
+ });
625
+ },
626
+
627
+ init: function() {
628
+ var self = this;
629
+
630
+ //Mobile menu elements.
631
+ self.menuContainer = '#rmp-container-'+ self.menuId;
632
+ self.menuTitle = '#rmp-menu-title-' + self.menuId;
633
+ self.menuSearch = '#rmp-search-box-' + self.menuId;
634
+ self.menuWrap = '#rmp-menu-wrap-' + self.menuId;
635
+ self.menuContents = '#rmp-menu-additional-content-' + self.menuId;
636
+
637
+ //Menu container background color.
638
+ self.bindColor(
639
+ '#rmp-container-background-colour',
640
+ '#rmp-container-' + self.menuId ,
641
+ 'background',
642
+ ''
643
+ );
644
+
645
+ //Menu background.
646
+ self.bindColor(
647
+ '#rmp-menu-background-colour',
648
+ '#rmp-menu-wrap-' + self.menuId ,
649
+ 'background'
650
+ );
651
+
652
+ //Menu title section background color.
653
+ self.bindColor(
654
+ '#rmp-menu-title-background-colour',
655
+ '#rmp-menu-title-' + self.menuId ,
656
+ 'background'
657
+ );
658
+
659
+ //Menu title section background hover color.
660
+ self.bindColor(
661
+ '#rmp-menu-title-background-hover-colour',
662
+ '#rmp-menu-title-' + self.menuId ,
663
+ 'background',
664
+ 'hover'
665
+ );
666
+
667
+ // Menu item trigger
668
+
669
+ self.bindColor(
670
+ '#rmp-menu-sub-arrow-shape-colour',
671
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
672
+ 'color'
673
+ );
674
+
675
+ self.bindColor(
676
+ '#rmp-menu-sub-arrow-shape-hover-colour',
677
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
678
+ 'color',
679
+ 'hover'
680
+ );
681
+
682
+ self.bindColor(
683
+ '#rmp-menu-sub-arrow-shape-colour-active',
684
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
685
+ 'color'
686
+ );
687
+
688
+ self.bindColor(
689
+ '#rmp-menu-sub-arrow-shape-hover-colour-active',
690
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
691
+ 'color',
692
+ 'hover'
693
+ );
694
+
695
+ self.bindColor(
696
+ '#rmp-menu-sub-arrow-border-colour',
697
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
698
+ 'border-color'
699
+ );
700
+
701
+ self.bindColor(
702
+ '#rmp-menu-sub-arrow-border-hover-colour',
703
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
704
+ 'border-color',
705
+ 'hover'
706
+ );
707
+
708
+ self.bindColor(
709
+ '#rmp-menu-sub-arrow-border-colour-active',
710
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active',
711
+ 'border-color'
712
+ );
713
+
714
+
715
+ self.bindColor(
716
+ '#rmp-menu-sub-arrow-border-hover-colour-active',
717
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active',
718
+ 'border-color',
719
+ 'hover'
720
+ );
721
+
722
+ self.bindColor(
723
+ '#rmp-menu-sub-arrow-background-color',
724
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
725
+ 'background'
726
+ );
727
+
728
+ self.bindColor(
729
+ '#rmp-menu-sub-arrow-background-hover-colour',
730
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
731
+ 'background',
732
+ 'hover'
733
+ );
734
+
735
+ self.bindColor(
736
+ '#rmp-menu-sub-arrow-background-colour-active',
737
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
738
+ 'background'
739
+ );
740
+
741
+ self.bindColor(
742
+ '#rmp-menu-sub-arrow-background-hover-colour-active',
743
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
744
+ 'background',
745
+ 'hover'
746
+ );
747
+
748
+ //Legacy options
749
+ self.bindColor(
750
+ '#rmp-submenu-sub-arrow-shape-colour',
751
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
752
+ 'color'
753
+ );
754
+
755
+ self.bindColor(
756
+ '#rmp-submenu-sub-arrow-shape-colour-hover',
757
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
758
+ 'color',
759
+ 'hover'
760
+ );
761
+
762
+
763
+ self.bindColor(
764
+ '#rmp-submenu-sub-arrow-shape-colour-active',
765
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
766
+ 'color'
767
+ );
768
+
769
+
770
+ self.bindColor(
771
+ '#rmp-submenu-sub-arrow-shape-hover-colour-active',
772
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
773
+ 'color',
774
+ 'hover'
775
+ );
776
+
777
+ self.bindColor(
778
+ '#rmp-submenu-sub-arrow-border-colour',
779
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
780
+ 'border-color'
781
+ );
782
+
783
+ self.bindColor(
784
+ '#rmp-submenu-sub-arrow-border-hover-colour',
785
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
786
+ 'border-color',
787
+ 'hover'
788
+ );
789
+
790
+ self.bindColor(
791
+ '#rmp-submenu-sub-arrow-border-colour-active',
792
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active',
793
+ 'border-color'
794
+ );
795
+
796
+ self.bindColor(
797
+ '#rmp-submenu-sub-arrow-border-hover-colour-active',
798
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
799
+ 'border-color',
800
+ 'hover'
801
+ );
802
+
803
+ self.bindColor(
804
+ '#rmp-submenu-sub-arrow-background-color',
805
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
806
+ 'background'
807
+ );
808
+
809
+ self.bindColor(
810
+ '#rmp-submenu-sub-arrow-background-hover-colour',
811
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
812
+ 'background',
813
+ 'hover'
814
+ );
815
+
816
+ self.bindColor(
817
+ '#rmp-submenu-sub-arrow-background-colour-active',
818
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
819
+ 'background'
820
+ );
821
+
822
+ self.bindColor(
823
+ '#rmp-submenu-sub-arrow-background-hover-colour-active',
824
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
825
+ 'background',
826
+ 'hover'
827
+ );
828
+
829
+ self.bindColor('#rmp-menu-title-colour', '#rmp-menu-title-' + self.menuId + ' > a' , 'color');
830
+ self.bindColor('#rmp-menu-title-hover-colour', '#rmp-menu-title-' + self.menuId + ' > a' , 'color','hover');
831
+ self.bindColor('#rmp-menu-additional-content-color', '#rmp-container-'+ self.menuId + ' #rmp-menu-additional-content-' + self.menuId , 'color');
832
+ self.bindColor('#rmp-menu-search-box-text-colour', '#rmp-container-'+ self.menuId + ' #rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'color');
833
+ self.bindColor('#rmp-menu-search-box-background-colour', '#rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'background');
834
+ self.bindColor('#rmp-menu-search-box-border-colour', '#rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'border-color');
835
+ self.bindColor('#rmp-menu-search-box-placeholder-colour', '#rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'color', 'placeholder');
836
+ self.changeInput('#rmp-menu-title-font-weight', '#rmp-menu-title-' + self.menuId +' #rmp-menu-title-link', 'font-weight' );
837
+ self.changeInput('#rmp-menu-title-font-family', '#rmp-menu-title-' + self.menuId +' #rmp-menu-title-link', 'font-family' );
838
+
839
+ //Menu Trigger
840
+ self.bindColor('#rmp-menu-button-background-colour', '#rmp_menu_trigger-' + self.menuId , 'background', '' );
841
+ self.bindColor('#rmp-menu-button-background-colour-hover', '#rmp_menu_trigger-' + self.menuId , 'background-color', 'hover' );
842
+ self.bindColor('#rmp-menu-button-background-colour-active', '#rmp_menu_trigger-' + self.menuId + '.is-active' , 'background', '' );
843
+
844
+ self.bindColor('#rmp-menu-button-line-colour', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before', 'background', '' );
845
+ self.bindColor('#rmp-menu-button-line-colour-active', '.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,.is-active#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after,.is-active#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before', 'background','' );
846
+ self.bindColor('#rmp-menu-button-line-colour-hover', '#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId +':hover .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId +':hover .responsive-menu-pro-inner:before', 'background','' );
847
+ self.bindColor('#rmp-menu-button-text-colour', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'color' );
848
+ self.onTyping('#rmp-menu-toggle-border-radius','#rmp_menu_trigger-' + self.menuId ,'border-radius' );
849
+
850
+ self.onTyping('.rmp-menu-container-padding','#rmp-container-'+ self.menuId , 'section-padding' );
851
+ self.onTyping('.rmp-menu-title-section-padding','#rmp-menu-title-'+ self.menuId , 'section-padding' );
852
+ self.onTyping('.rmp-menu-section-padding','#rmp-menu-wrap-'+ self.menuId , 'section-padding' );
853
+ self.onTyping('.rmp-menu-search-section-padding','#rmp-search-box-'+ self.menuId , 'section-padding' );
854
+ self.onTyping('.rmp-menu-additional-section-padding','#rmp-menu-additional-content-'+ self.menuId , 'section-padding' );
855
+
856
+ // CONTENT BASED ELEMENTS.
857
+
858
+ self.onTyping('#rmp-menu-search-box-height','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','height' );
859
+ self.onTyping('#rmp-menu-search-box-border-radius','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','border-radius' );
860
+
861
+
862
+ self.onTyping('#rmp-menu-menu-title','#rmp-menu-title-'+ self.menuId +' #rmp-menu-title-link span', 'text' );
863
+ self.onTyping('#rmp-menu-additional-content','#rmp-menu-additional-content-'+ self.menuId,'text');
864
+ self.onTyping('#rmp-menu-search-box-text','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','placeholder');
865
+ self.onTyping('#rmp-menu-title-link', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link','href');
866
+ self.onTyping('#rmp-menu-title-image-alt', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image','alt');
867
+ self.onTyping('#rmp-menu-title-font-size', '#rmp-menu-title-' + self.menuId + ' > a','font-size');
868
+
869
+ self.onTyping('#rmp-menu-title-image-width', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image','width');
870
+ self.onTyping('#rmp-menu-title-image-height', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image','height');
871
+
872
+ self.bindImage('#rmp-menu-title-image-selector', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src' );
873
+
874
+ self.onTyping('#rmp-menu-additional-content-font-size', '#rmp-menu-additional-content-' + self.menuId ,'font-size' );
875
+
876
+ self.onTyping('#rmp-menu-container-width', '#rmp-container-'+ self.menuId, 'width' );
877
+ self.onTyping('#rmp-menu-container-min-width', '#rmp-container-'+ self.menuId, 'min-width' );
878
+ self.onTyping('#rmp-menu-container-max-width', '#rmp-container-'+ self.menuId, 'max-width' );
879
+
880
+ self.onTyping('#rmp-menu-button-image-alt-when-clicked', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'alt' );
881
+ self.onTyping('#rmp-menu-button-image-alt', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'alt' );
882
+
883
+ self.onTyping('#rmp-menu-button-title-open', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text-open', 'trigger-text-open' );
884
+ self.onTyping('#rmp-menu-button-title', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text', 'trigger-text' );
885
+ self.onTyping('#rmp-menu-button-font-size', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-size' );
886
+ self.onTyping('#rmp-menu-button-title-line-height', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'line-height' );
887
+
888
+ //Menu Trigger
889
+ self.onTyping(
890
+ '#rmp-menu-button-width',
891
+ '#rmp_menu_trigger-' + self.menuId,
892
+ 'width'
893
+ );
894
+ self.onTyping(
895
+ '#rmp-menu-button-height',
896
+ '#rmp_menu_trigger-' + self.menuId ,
897
+ 'height'
898
+ );
899
+
900
+ self.onTyping(
901
+ '#rmp-menu-button-line-width',
902
+ '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner',
903
+ 'width'
904
+ );
905
+
906
+ self.onTyping(
907
+ '#rmp-menu-button-line-width',
908
+ '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after',
909
+ 'width'
910
+ );
911
+
912
+ self.onTyping(
913
+ '#rmp-menu-button-line-width',
914
+ '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before',
915
+ 'width'
916
+ );
917
+
918
+ self.onTyping(
919
+ '#rmp-menu-button-line-height',
920
+ '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner',
921
+ 'height'
922
+ );
923
+
924
+ self.onTyping(
925
+ '#rmp-menu-button-line-height',
926
+ '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after',
927
+ 'height'
928
+ );
929
+
930
+ self.onTyping(
931
+ '#rmp-menu-button-line-height',
932
+ '#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before',
933
+ 'height'
934
+ );
935
+
936
+ self.bindImage('#rmp-button-title-image', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src' );
937
+ self.bindImage('#rmp-menu-background-image-selector', '#rmp-container-'+ self.menuId, 'background' );
938
+
939
+ self.bindImage('#rmp-menu-button-image-when-clicked-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'trigger-icon-open' );
940
+ self.bindImage('#rmp-menu-button-image-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'trigger-icon' );
941
+
942
+ self.changeInput(
943
+ '#rmp-menu-title-link-location',
944
+ '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link',
945
+ 'target'
946
+ );
947
+
948
+ self.changeInput('.rmp-menu-title-alignment', '#rmp-menu-title-' + self.menuId ,'text-align');
949
+ self.changeInput('.rmp-menu-additional-content-alignment', '#rmp-menu-additional-content-'+ self.menuId,'text-align');
950
+
951
+ //Top menu item links
952
+ self.onTyping(
953
+ '#rmp-menu-links-height',
954
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
955
+ 'height'
956
+ );
957
+
958
+ self.onTyping(
959
+ '#rmp-menu-links-line-height',
960
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
961
+ 'line-height'
962
+ );
963
+
964
+ self.onTyping(
965
+ '#rmp-menu-font-size',
966
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
967
+ 'font-size'
968
+ );
969
+
970
+ self.changeInput('#rmp-menu-font', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-family' );
971
+ self.changeInput('#rmp-menu-font-weight', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-weight' );
972
+ self.changeInput('.rmp-menu-text-alignment', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'text-align' );
973
+
974
+ self.changeInput(
975
+ '#rmp-menu-text-letter-spacing',
976
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
977
+ 'letter-spacing'
978
+ );
979
+
980
+ self.onTyping(
981
+ '#rmp-menu-depth-level-0',
982
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
983
+ 'padding',
984
+ 'lr'
985
+ );
986
+
987
+ self.onTyping(
988
+ '#rmp-menu-border-width',
989
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
990
+ 'border-width'
991
+ );
992
+
993
+ self.onTyping(
994
+ '#rmp-menu-sub-arrow-border-width',
995
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
996
+ 'border-width'
997
+ );
998
+
999
+ self.onTyping(
1000
+ '#rmp-submenu-sub-arrow-border-width',
1001
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
1002
+ 'border-width'
1003
+ );
1004
+
1005
+ self.bindColor('#rmp-menu-link-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color');
1006
+ self.bindColor('#rmp-menu-link-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color','hover');
1007
+ self.bindColor('#rmp-menu-current-link-active-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color');
1008
+ self.bindColor('#rmp-menu-current-link-active-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color','hover');
1009
+
1010
+ self.bindColor('#rmp-menu-item-background-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background');
1011
+ self.bindColor('#rmp-menu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background','hover');
1012
+ self.bindColor('#rmp-menu-current-item-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background');
1013
+ self.bindColor('#rmp-menu-current-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background','hover');
1014
+
1015
+ self.bindColor('#rmp-menu-item-border-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color');
1016
+ self.bindColor('#rmp-menu-item-border-colour-hover', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color', 'hover' );
1017
+ self.bindColor('#rmp-menu-current-item-border-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color', 'hover' );
1018
+ self.bindColor('#rmp-menu-item-border-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color');
1019
+
1020
+ // Trigger of top level
1021
+ self.bindImage('#rmp-menu-inactive-arrow-image-selector', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background' );
1022
+ self.bindImage('#rmp-menu-active-arrow-image-selector', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background' );
1023
+
1024
+ self.onTyping(
1025
+ '#rmp-submenu-arrow-height',
1026
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
1027
+ 'height'
1028
+ );
1029
+
1030
+ self.onTyping(
1031
+ '#rmp-submenu-arrow-width',
1032
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
1033
+ 'width'
1034
+ );
1035
+
1036
+ self.onTyping(
1037
+ '#rmp-submenu-child-arrow-height',
1038
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
1039
+ 'height'
1040
+ );
1041
+
1042
+
1043
+ self.onTyping(
1044
+ '#rmp-submenu-child-arrow-width',
1045
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
1046
+ 'width'
1047
+ );
1048
+
1049
+ self.changeInput(
1050
+ '#rmp-submenu-child-arrow-width-unit',
1051
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
1052
+ 'width-unit'
1053
+ );
1054
+
1055
+ self.changeInput(
1056
+ '#rmp-submenu-child-arrow-height-unit',
1057
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
1058
+ 'height-unit'
1059
+ );
1060
+
1061
+ self.bindColor('#rmp-menu-sub-arrow-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background');
1062
+ self.bindColor('#rmp-menu-sub-arrow-background-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background','hover');
1063
+ self.bindColor('#rmp-menu-sub-arrow-background-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background');
1064
+ self.bindColor('#rmp-menu-sub-arrow-background-hover-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background','hover' );
1065
+
1066
+ //sub menu item links
1067
+ self.onTyping(
1068
+ '#rmp-submenu-links-height',
1069
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1070
+ 'height'
1071
+ );
1072
+
1073
+ self.changeInput(
1074
+ '#rmp-submenu-links-height-unit',
1075
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1076
+ 'height-unit'
1077
+ );
1078
+
1079
+ self.onTyping(
1080
+ '#rmp-submenu-links-line-height',
1081
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1082
+ 'line-height'
1083
+ );
1084
+
1085
+ self.changeInput(
1086
+ '#rmp-submenu-links-line-height-unit',
1087
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1088
+ 'line-height-unit'
1089
+ );
1090
+
1091
+ self.onTyping(
1092
+ '#rmp-submenu-font-size',
1093
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1094
+ 'font-size'
1095
+ );
1096
+
1097
+ self.changeInput(
1098
+ '#rmp-submenu-font',
1099
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1100
+ 'font-family'
1101
+ );
1102
+
1103
+ self.changeInput(
1104
+ '#rmp-submenu-font-weight',
1105
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1106
+ 'font-weight'
1107
+ );
1108
+
1109
+ self.changeInput(
1110
+ '.rmp-submenu-text-alignment',
1111
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1112
+ 'text-align'
1113
+ );
1114
+
1115
+ self.changeInput(
1116
+ '#rmp-submenu-text-letter-spacing',
1117
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1118
+ 'letter-spacing'
1119
+ );
1120
+
1121
+ self.onTyping(
1122
+ '#rmp-submenu-border-width',
1123
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1124
+ 'border-width'
1125
+ );
1126
+
1127
+ self.bindColor(
1128
+ '#rmp-submenu-item-border-colour',
1129
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1130
+ 'border-color'
1131
+ );
1132
+
1133
+ self.bindColor(
1134
+ '#rmp-submenu-item-border-colour-hover',
1135
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1136
+ 'border-color',
1137
+ 'hover'
1138
+ );
1139
+
1140
+ self.bindColor(
1141
+ '#rmp-submenu-item-border-colour-active',
1142
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
1143
+ 'border-color',
1144
+ );
1145
+
1146
+ self.bindColor(
1147
+ '#rmp-submenu-current-item-border-hover-colour',
1148
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
1149
+ 'border-color',
1150
+ 'hover'
1151
+ );
1152
+
1153
+ self.bindColor(
1154
+ '#rmp-submenu-link-color',
1155
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1156
+ 'color'
1157
+ );
1158
+
1159
+ self.bindColor(
1160
+ '#rmp-submenu-link-hover-color',
1161
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1162
+ 'color',
1163
+ 'hover'
1164
+ );
1165
+
1166
+ self.bindColor(
1167
+ '#rmp-submenu-link-colour-active',
1168
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
1169
+ 'color'
1170
+ );
1171
+
1172
+ self.bindColor(
1173
+ '#rmp-submenu-link-active-hover-color',
1174
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
1175
+ 'color',
1176
+ 'hover'
1177
+ );
1178
+
1179
+ self.bindColor(
1180
+ '#rmp-submenu-item-background-color',
1181
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1182
+ 'background'
1183
+ );
1184
+
1185
+ self.bindColor(
1186
+ '#rmp-submenu-item-background-hover-color',
1187
+ ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
1188
+ 'background',
1189
+ 'hover'
1190
+ );
1191
+
1192
+ self.bindColor(
1193
+ '#rmp-submenu-current-item-background-color',
1194
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
1195
+ 'background'
1196
+ );
1197
+
1198
+ self.bindColor(
1199
+ '#rmp-submenu-current-item-background-hover-color',
1200
+ '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
1201
+ 'background',
1202
+ 'hover'
1203
+ );
1204
+
1205
+ //Menu Trigger
1206
+ self.changeInput('.rmp-menu-button-transparent-background', '#rmp_menu_trigger-' + self.menuId , 'background','');
1207
+ self.changeInput('#rmp-menu-button-position-type', '#rmp_menu_trigger-' + self.menuId , 'position');
1208
+ self.changeInput('.rmp-menu-button-left-or-right', '#rmp_menu_trigger-' + self.menuId , 'trigger-side');
1209
+ self.onTyping('#rmp-menu-button-distance-from-side', '#rmp_menu_trigger-' + self.menuId , 'trigger-side-position');
1210
+ self.onTyping('#rmp-menu-button-top', '#rmp_menu_trigger-' + self.menuId , 'top');
1211
+ self.changeInput('#rmp-menu-button-click-animation', '#rmp_menu_trigger-' + self.menuId , 'trigger-animation');
1212
+ self.changeInput('#rmp-menu-button-font', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-family' );
1213
+ self.changeInput('.rmp-menu-button-title-position', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'position-alignment' );
1214
+
1215
+ jQuery("#rmp-menu-button-font-icon").focus(function() {
1216
+ var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-inactive';
1217
+ value = jQuery(this).val();
1218
+ var iframe = jQuery(self.iframe);
1219
+ if ( iframe.contents().find(outputSelector).length ) {
1220
+ iframe.contents().find( outputSelector ).addClass(value);
1221
+ } else {
1222
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon' ).hide();
1223
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
1224
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<span class="rmp-trigger-icon rmp-trigger-icon-inactive ' + value +'"></span>')
1225
+ }
1226
+ });
1227
+
1228
+ jQuery("#rmp-menu-button-font-icon-when-clicked").focus(function() {
1229
+ var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-active';
1230
+ value = jQuery(this).val();
1231
+ var iframe = jQuery(self.iframe);
1232
+ if ( iframe.contents().find(outputSelector).length ) {
1233
+ iframe.contents().find( outputSelector ).addClass(value);
1234
+ } else {
1235
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon' ).hide();
1236
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
1237
+ iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<span class="rmp-trigger-icon rmp-trigger-icon-active ' + value +'"></span>')
1238
+ }
1239
+ });
1240
 
1241
+ // Ordering elements
1242
+ self.toggleElements('#rmp-item-order-title','#rmp-menu-title-' + self.menuId );
1243
+ self.toggleElements('#rmp-item-order-additional-content','#rmp-menu-additional-content-' + self.menuId );
1244
+ self.toggleElements('#rmp-item-order-search','#rmp-search-box-'+ self.menuId);
1245
+ self.toggleElements('#rmp-item-order-menu','#rmp-menu-wrap-' + self.menuId );
1246
 
1247
+ jQuery( '#rmp-menu-ordering-items' ).sortable( {
1248
+ update: function( event, ui ) {
1249
+ self.orderMenuElements();
1250
+ }
1251
+ });
1252
+ }
1253
+ };
1254
 
1255
+ RMP_Preview.init();
 
1256
 
v4.0.0/assets/admin/rmp-main.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Main scripts file.
3
+ *
4
+ * @package responsive-menu-pro
5
+ */
6
+
7
+ import './scss/wizard-ui.scss';
8
+ import RMPAdmin from './js/rmp-admin.js';
9
+ import RMPColorAlpha from './js/wp-color-alpha.js';
10
+ import rmpEditor from './js/rmp-editor.js';
11
+ import RMP_Icon from './js/rmp-icon.js';
12
+ import rmpPreview from './js/rmp-preview.js';
13
+ import rmpMenuWizard from './js/rmp-menu-wizard.js';
v4.0.0/assets/admin/scss/admin.css CHANGED
@@ -420,10 +420,6 @@ input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus
420
  margin: 0 -1px;
421
  }
422
 
423
- /* #title-contents{
424
- border:1px solid #ccc;
425
- } */
426
-
427
  .rmp-dialog-overlay .nav-tab-active,
428
  .rmp-menu-tab-container .nav-tab-wrapper .nav-tab-active,
429
  .rmp-accordion-container .nav-tab-wrapper .nav-tab-active,
@@ -443,97 +439,6 @@ input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus
443
  padding: 20px;
444
  }
445
 
446
-
447
-
448
- /* New Menu create dialog */
449
- @media only screen and (min-width: 1140px) {
450
- .rmp-dialog-overlay .rmp-dialog-wrap {
451
- width: 1140px;
452
- margin: 0 auto;
453
- }
454
- }
455
-
456
- .rmp-dialog-overlay .rmp-dialog-backdrop {
457
- position: fixed;
458
- left: -20px;
459
- right: 0;
460
- top: 0;
461
- bottom: 0;
462
- background: #f5f6fa;
463
- background: #0d133d82;
464
- z-index: 999999;
465
- }
466
-
467
- .rmp-dialog-overlay .rmp-dialog-wrap {
468
- clear: both;
469
- position: absolute;
470
- top: 10%;
471
- left: 0;
472
- right: 0;
473
- bottom: 3%;
474
- background: #fff;
475
- box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1);
476
- z-index: 999999;
477
- box-sizing: border-box;
478
- -webkit-overflow-scrolling: touch;
479
- height: fit-content;
480
- font-family: 'Product Sans';
481
- }
482
-
483
- .rmp-dialog-overlay .rmp-dialog-header {
484
- height: 64px;
485
- border-bottom: 1px solid #ddd;
486
- color: #2d405a;
487
- background: #f5f6fa;
488
- overflow: hidden;
489
- font-family: 'Product Sans';
490
- font-size: 14px;
491
- }
492
-
493
- .rmp-dialog-overlay .rmp-dialog-header .close {
494
- cursor: pointer;
495
- font-size: 30px;
496
- width: 64px;
497
- color: #2d405a;
498
- height: 64px;
499
- text-align: center;
500
- float: right;
501
- border: 0;
502
- border-left: 1px solid #ddd;
503
- background-color: transparent;
504
- transition: color .1s ease-in-out;
505
- padding: 15px 0;
506
- }
507
-
508
- .rmp-dialog-overlay .rmp-dialog-footer {
509
- position: relative;
510
- text-align: right;
511
- bottom: 0;
512
- left: 0;
513
- right: 0;
514
- padding: 1rem;
515
- box-sizing: border-box;
516
- border-top: 1px solid #eee;
517
- }
518
-
519
- .rmp-dialog-overlay .rmp-dialog-header .title {
520
- font-size: 18px;
521
- float: left;
522
- height: 64px;
523
- display: flex;
524
- align-items: center;
525
- padding: 0 20px;
526
- text-transform: capitalize;
527
- font-family: 'Product Sans Medium';
528
- font-weight: normal;
529
- }
530
-
531
-
532
-
533
- .rmp-dialog-overlay .rmp-dialog-contents {
534
- display: flex;
535
- }
536
-
537
  /* Icons dialog */
538
 
539
  .rmp-menu-icons-dialog .icon-tabs {
@@ -542,7 +447,6 @@ input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus
542
 
543
  .rmp-menu-icons-dialog .nav-tab-wrapper {
544
  border: unset;
545
- height: 100%;
546
  border-right: 1px solid #ddd;
547
  background: #fff;
548
  }
@@ -561,7 +465,7 @@ input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus
561
  }
562
 
563
  .rmp-icon-tab-contents {
564
- padding: 0;
565
  width: 100%;
566
  max-height: 520px;
567
  min-height: 480px;
@@ -622,174 +526,10 @@ input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus
622
  color: #007cba;
623
  }
624
 
625
- @media only screen and (max-width: 780px) {
626
- .rmp-dialog-overlay .rmp-dialog-wrap, .rmp-dialog-overlay .rmp-dialog-wrap {
627
- top: 0;
628
- right: 0;
629
- bottom: 0;
630
- left: 0;
631
- border: none;
632
- z-index: 999999;
633
- position: absolute;
634
- }
635
-
636
- #rmp-new-menu-wizard .new_menu_tab_items{
637
- width: auto;
638
- border:unset;
639
- }
640
-
641
- .rmp-dialog-contents .rmp-new-menu-elements{
642
- padding: 0;
643
- }
644
-
645
- .rmp-dialog-overlay .rmp-dialog-contents {
646
- flex-direction: column;
647
- }
648
-
649
- .rmp-dialog-overlay .rmp-dialog-contents .rmp-new-menu-themes {
650
- width: 100%;
651
- border-right:unset;
652
- margin-bottom: 10px;
653
- }
654
-
655
- .rmp-dialog-overlay .rmp-dialog-contents .rmp-new-menu-elements {
656
- width: auto;
657
- }
658
-
659
- .rmp-menu-icons-dialog .icon-tabs {
660
- flex-direction: column;
661
- }
662
- }
663
-
664
  .theme-overlay .theme-header button {
665
  padding: 0;
666
  }
667
 
668
- .rmp-dialog-contents .rmp-new-menu-themes {
669
- width: 100%;
670
- padding: 2%;
671
- max-height: 480px;
672
- overflow-y: overlay;
673
- }
674
-
675
- .rmp-new-menu-themes .rmp-themes{
676
- margin: 30px 0;
677
- }
678
-
679
- .rmp-new-menu-themes .rmp-themes .rmp-theme-title {
680
- position: relative;
681
- font-size: 12px;
682
- display: block;
683
- margin: 10px;
684
- border: solid 1px #ddd;
685
- cursor: auto;
686
- background-color: #fafafa;
687
- padding: 10px;
688
- line-height: 1.55;
689
- font-size: 16px;
690
- font-weight: 400;
691
- color: #2d405a;
692
- font-weight: bold;
693
- margin: 5px 0px;
694
- cursor: pointer;
695
- background-color: #fff;
696
- border-bottom: 1px solid #ddd;
697
- font-family: 'Product Sans';
698
- font-size: 13px;
699
- text-transform: capitalize;
700
- transition: .15s color ease-in-out, .15s background-color ease-in-out, .15s border-color ease-in-out;
701
- }
702
-
703
- .rmp-new-menu-themes .rmp-themes .rmp-theme-option {
704
- -webkit-appearance: none;
705
- -moz-appearance: none;
706
- appearance: none;
707
- visibility: hidden;
708
- display: none;
709
- }
710
-
711
- .rmp-new-menu-themes .rmp-themes .rmp-theme-option:checked + label{
712
- background: #0085ba;
713
- border: solid 2px #0085ba;
714
- color: #fff;
715
- }
716
-
717
- .rmp-new-menu-themes #tabs .nav-tab-wrapper{
718
- border: unset;
719
- display: flex;
720
- justify-content: center;
721
- }
722
-
723
- .rmp-new-menu-themes #tabs .nav-tab-wrapper .nav-tab {
724
- margin: 0;
725
- border: solid 1px #ffffff;
726
- padding: 5px 20px;
727
- box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
728
- }
729
-
730
- #tabs .nav-tab-wrapper .nav-tab {
731
- background: #fff;
732
- color: #2d405a;
733
- font-weight: normal;
734
- font-family: 'Product Sans';
735
- font-size: 12px;
736
- }
737
-
738
- #rmp-new-menu-wizard #tabs .nav-tab-wrapper .ui-tabs-active .nav-tab,
739
- #tabs .nav-tab-wrapper .nav-tab.nav-tab-active {
740
- color:white;
741
- background: #0085ba;
742
- transition: all 500ms linear;
743
- }
744
-
745
- #rmp-new-menu-wizard .rmp-dialog-contents{
746
- background: #f3f3f3;
747
- }
748
-
749
- #rmp-new-menu-wizard .rmp-dialog-header,
750
- #rmp-new-menu-wizard .rmp-dialog-footer{
751
- background: #fff;
752
- border-color: #ddd;
753
- }
754
-
755
-
756
- #rmp-new-menu-wizard .rmp-menu-condition-options {
757
- margin: 10px 0;
758
- }
759
-
760
- #rmp-new-menu-wizard .rmp-menu-condition-options span{
761
- margin-right: 15px;
762
- }
763
-
764
- .rmp-dialog-contents .rmp-new-menu-elements {
765
- width: 100%;
766
- padding: 2%;
767
- }
768
-
769
- .rmp-dialog-contents .rmp-new-menu-elements input[type="text"],
770
- .rmp-dialog-contents .rmp-new-menu-elements select{
771
- width: 100%;
772
- max-width: 100%;
773
- height: 35px;
774
- border: solid 1px #dddddd;
775
- }
776
-
777
- .rmp-new-menu-elements label {
778
- display: block;
779
- font-size: 14px;
780
- margin-bottom: 5px;
781
- font-family: inherit;
782
- }
783
-
784
- .rmp-new-menu-elements .input-group {
785
- margin-bottom: 10px;
786
- background: white;
787
- padding: 3% 4%;
788
- position: relative;
789
- }
790
-
791
-
792
-
793
  .rmp-dialog-contents .tabs{
794
  width: 100%;
795
  }
@@ -803,10 +543,6 @@ input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus
803
  margin-bottom: 20px;
804
  }
805
 
806
- #tabs .nav-tab-wrapper {
807
- padding: unset;
808
- }
809
-
810
  /* Spinner */
811
  .spinner {
812
  float: unset;
@@ -832,6 +568,7 @@ margin: 5px 0px 10px;
832
  transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
833
  position: relative;
834
  box-shadow: 0px 3px 0 #BBB, 0px 4px 0 #BBB, 0px 5px 0 #BBB, 0px 7px 0 #BBB, 1px 6px 15px #2d405a;
 
835
  }
836
 
837
  #rmp-preview-iframe,
@@ -840,6 +577,7 @@ margin: 5px 0px 10px;
840
  width: 100%;
841
  background: rgb(255 255 255 / 0.8);
842
  display: block;
 
843
  }
844
 
845
  #rmp-preview-iframe-loader{
@@ -1783,6 +1521,7 @@ margin: 5px 0px 10px;
1783
  border-radius: 4px;
1784
  background-position: center;
1785
  background-repeat: no-repeat;
 
1786
  }
1787
 
1788
  .rmp-image-picker .rmp-image-picker-trash,
@@ -1972,36 +1711,6 @@ button.menu-save {
1972
  align-items: center;
1973
  }
1974
 
1975
- .rmp-new-menu-wizard .new_menu_tab_items {
1976
- width: 40%;
1977
- border: unset;
1978
- border-right: 2px solid #dddddd;
1979
- min-width: 300px;
1980
- display: flex;
1981
- flex-direction: column;
1982
- padding: 20px !important;
1983
- }
1984
-
1985
- .rmp-new-menu-wizard .new_menu_tab_items li{
1986
- margin-bottom: 20px;
1987
- }
1988
-
1989
- .rmp-new-menu-wizard .new_menu_tab_items .nav-tab{
1990
- padding: 0;
1991
- margin: 0;
1992
- border: solid 1px #dddddd;
1993
- width: 100%;
1994
- white-space: normal;
1995
- }
1996
-
1997
- .rmp-new-menu-wizard .device-icons-group {
1998
- justify-content: flex-start;
1999
- margin-top: 10px;
2000
- }
2001
-
2002
- .rmp-new-menu-wizard .device-icons-group .device-icon {
2003
- margin-right: 20px;
2004
- }
2005
 
2006
  .nav-item-label{
2007
  padding: 10px 15px;
@@ -2010,43 +1719,12 @@ button.menu-save {
2010
  line-height: 1.3;
2011
  }
2012
 
2013
- .nav-item-label .nav-item-label-icon {
2014
- font-size: 32px;
2015
- margin-right: 20px;
2016
- line-height: 20px;
2017
- }
2018
-
2019
- .nav-item-label .nav-item-label-content span{
2020
- font-size: 12px;
2021
- font-weight: normal;
2022
- }
2023
-
2024
- #rmp-new-menu-wizard .rmp-dialog-wrap {
2025
- height: fit-content;
2026
-
2027
- }
2028
-
2029
- #rmp-new-menu-wizard .rmp-dialog-wrap,
2030
- #rmp-new-menu-wizard .rmp-dialog-header .title,
2031
- #rmp-new-menu-wizard #tabs .nav-tab-wrapper .nav-tab,
2032
- #rmp-new-menu-wizard .rmp-item-card_contents h4,
2033
- #rmp-new-menu-wizard .rmp-item-card_action .button {
2034
- font-family: inherit;
2035
- }
2036
-
2037
- #rmp-new-menu-wizard .rmp_theme_grids,
2038
- .rmp-theme-page .rmp_theme_grids{
2039
- display: flex;
2040
- justify-content: flex-start;
2041
- flex-wrap: wrap;
2042
- }
2043
-
2044
  .rmp-item-card {
2045
  display: block;
2046
  background: white;
2047
  margin-bottom: 15px;
2048
  margin-right: 15px;
2049
- max-width: 170px;
2050
  position: relative;
2051
  cursor: pointer;
2052
  border: solid 1px #eee;
@@ -2054,17 +1732,6 @@ button.menu-save {
2054
  box-shadow: 0 1px 3px rgb(0 0 0 / 0%), 0 1px 2px rgb(0 0 0 / 10%);
2055
  }
2056
 
2057
- .default-item {
2058
- width: 165px;
2059
- height: 295px;
2060
- display: flex;
2061
- justify-content: center;
2062
- align-items: center;
2063
- flex-direction: column;
2064
- border: 2px dashed #0085ba;
2065
- background: unset;
2066
- }
2067
-
2068
  .rmp-theme-page .rmp-item-card {
2069
  width: 180px;
2070
  max-width: 100%;
@@ -2093,7 +1760,6 @@ button.menu-save {
2093
  font-weight: 600;
2094
  font-size: 12px;
2095
  display: inline-flex;
2096
- background: #fff;
2097
  transition: all .5s;
2098
  width: -webkit-fill-available;
2099
  }
@@ -2102,7 +1768,6 @@ button.menu-save {
2102
  margin: 0;
2103
  font-size: 14px;
2104
  color: #191e23;
2105
- background: #fff;
2106
  font-family: 'Product Sans Medium';
2107
  font-weight: normal;
2108
  text-transform: capitalize;
@@ -2111,23 +1776,22 @@ button.menu-save {
2111
 
2112
  .rmp-item-card_action {
2113
  padding:10px;
2114
- background: #fff;
2115
  position: relative;
2116
  bottom: 0;
2117
  z-index: 9;
2118
- display: flex;
 
2119
  }
2120
 
2121
- .rmp-item-card_action .button{
2122
  width: 100%;
2123
  display: inline-block;
2124
  text-decoration: none;
2125
  font-size: 12px;
2126
  line-height: normal;
2127
- margin: 0;
2128
  text-align: center;
2129
  padding: 10px;
2130
- margin: 0 5px;
2131
  cursor: pointer;
2132
  border-width: 1px;
2133
  border-style: solid;
@@ -2141,49 +1805,6 @@ button.menu-save {
2141
  font-family: 'Product Sans Medium';
2142
  }
2143
 
2144
- .rmp-item-card a.favorite-heart{
2145
- text-decoration: none;
2146
- color: gray;
2147
- }
2148
-
2149
- .rmp-item-card a.favorite-heart.liked{
2150
- color: #e56060;
2151
- }
2152
-
2153
- .rmp-item-card a.favorite-heart:focus{
2154
- box-shadow: unset;
2155
- }
2156
-
2157
- .rmp-item-card .rmp-item-card_label {
2158
- position: absolute;
2159
- top: 10px;
2160
- background: #f46242;
2161
- color: white;
2162
- left: 10px;
2163
- margin: 0;
2164
- line-height: 1.5;
2165
- font-size: 12px;
2166
- font-weight: 600;
2167
- padding: 2px 8px;
2168
- text-transform: uppercase;
2169
- border-radius: 3px;
2170
- box-shadow: 0 1px 3px rgb(0 0 0 / 31%), 0 1px 2px rgb(0 0 0 / 28%);
2171
- }
2172
-
2173
- .rmp-item-card .rmp-item-card_label.Pro{
2174
- background: #f46242;
2175
- }
2176
-
2177
- .rmp-item-card .rmp-item-card_label.Free{
2178
- background: #17c326;
2179
- }
2180
-
2181
- .rmp-item-card .rmp-item-card_label span.dashicons {
2182
- font-size: 14px;
2183
- width: 14px;
2184
- height: 18px;
2185
- }
2186
-
2187
  #rmp-menu-library-import {
2188
  margin: 40px auto;
2189
  display: flex;
@@ -2384,11 +2005,6 @@ button.menu-save {
2384
  border: 2px solid #0d133d;
2385
  }
2386
 
2387
-
2388
- .rmp-dialog-overlay .rmp-theme-title .item-controls{
2389
- top: unset;
2390
- }
2391
-
2392
  .rmp-theme-page .rmp-item-card_image img{
2393
  width: 100%;
2394
  max-height: 240px;
@@ -2487,7 +2103,7 @@ button.menu-save {
2487
 
2488
  #rmp-menu-update-notification:hover {
2489
  animation: shake 0.5s;
2490
- animation-iteration-count: 5;
2491
  }
2492
 
2493
  #rmp-menu-update-notification a{
@@ -2634,3 +2250,101 @@ div.notice-responsive-menu .notice-responsive-menu-action a:hover {
2634
  font-size: 12px;
2635
  line-height: 20px;
2636
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
420
  margin: 0 -1px;
421
  }
422
 
 
 
 
 
423
  .rmp-dialog-overlay .nav-tab-active,
424
  .rmp-menu-tab-container .nav-tab-wrapper .nav-tab-active,
425
  .rmp-accordion-container .nav-tab-wrapper .nav-tab-active,
439
  padding: 20px;
440
  }
441
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
442
  /* Icons dialog */
443
 
444
  .rmp-menu-icons-dialog .icon-tabs {
447
 
448
  .rmp-menu-icons-dialog .nav-tab-wrapper {
449
  border: unset;
 
450
  border-right: 1px solid #ddd;
451
  background: #fff;
452
  }
465
  }
466
 
467
  .rmp-icon-tab-contents {
468
+ padding: 10px 20px 30px 20px;
469
  width: 100%;
470
  max-height: 520px;
471
  min-height: 480px;
526
  color: #007cba;
527
  }
528
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
529
  .theme-overlay .theme-header button {
530
  padding: 0;
531
  }
532
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
533
  .rmp-dialog-contents .tabs{
534
  width: 100%;
535
  }
543
  margin-bottom: 20px;
544
  }
545
 
 
 
 
 
546
  /* Spinner */
547
  .spinner {
548
  float: unset;
568
  transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
569
  position: relative;
570
  box-shadow: 0px 3px 0 #BBB, 0px 4px 0 #BBB, 0px 5px 0 #BBB, 0px 7px 0 #BBB, 1px 6px 15px #2d405a;
571
+ pointer-events: none;
572
  }
573
 
574
  #rmp-preview-iframe,
577
  width: 100%;
578
  background: rgb(255 255 255 / 0.8);
579
  display: block;
580
+ pointer-events: initial;
581
  }
582
 
583
  #rmp-preview-iframe-loader{
1521
  border-radius: 4px;
1522
  background-position: center;
1523
  background-repeat: no-repeat;
1524
+ background-size: cover;
1525
  }
1526
 
1527
  .rmp-image-picker .rmp-image-picker-trash,
1711
  align-items: center;
1712
  }
1713
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1714
 
1715
  .nav-item-label{
1716
  padding: 10px 15px;
1719
  line-height: 1.3;
1720
  }
1721
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1722
  .rmp-item-card {
1723
  display: block;
1724
  background: white;
1725
  margin-bottom: 15px;
1726
  margin-right: 15px;
1727
+ max-width: 184px;
1728
  position: relative;
1729
  cursor: pointer;
1730
  border: solid 1px #eee;
1732
  box-shadow: 0 1px 3px rgb(0 0 0 / 0%), 0 1px 2px rgb(0 0 0 / 10%);
1733
  }
1734
 
 
 
 
 
 
 
 
 
 
 
 
1735
  .rmp-theme-page .rmp-item-card {
1736
  width: 180px;
1737
  max-width: 100%;
1760
  font-weight: 600;
1761
  font-size: 12px;
1762
  display: inline-flex;
 
1763
  transition: all .5s;
1764
  width: -webkit-fill-available;
1765
  }
1768
  margin: 0;
1769
  font-size: 14px;
1770
  color: #191e23;
 
1771
  font-family: 'Product Sans Medium';
1772
  font-weight: normal;
1773
  text-transform: capitalize;
1776
 
1777
  .rmp-item-card_action {
1778
  padding:10px;
 
1779
  position: relative;
1780
  bottom: 0;
1781
  z-index: 9;
1782
+ display: flex;
1783
+ flex-direction: column;
1784
  }
1785
 
1786
+ .rmp-item-card_action .button {
1787
  width: 100%;
1788
  display: inline-block;
1789
  text-decoration: none;
1790
  font-size: 12px;
1791
  line-height: normal;
1792
+ margin: 0 0 10px 0;
1793
  text-align: center;
1794
  padding: 10px;
 
1795
  cursor: pointer;
1796
  border-width: 1px;
1797
  border-style: solid;
1805
  font-family: 'Product Sans Medium';
1806
  }
1807
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1808
  #rmp-menu-library-import {
1809
  margin: 40px auto;
1810
  display: flex;
2005
  border: 2px solid #0d133d;
2006
  }
2007
 
 
 
 
 
 
2008
  .rmp-theme-page .rmp-item-card_image img{
2009
  width: 100%;
2010
  max-height: 240px;
2103
 
2104
  #rmp-menu-update-notification:hover {
2105
  animation: shake 0.5s;
2106
+ animation-iteration-count: 2;
2107
  }
2108
 
2109
  #rmp-menu-update-notification a{
2250
  font-size: 12px;
2251
  line-height: 20px;
2252
  }
2253
+
2254
+ .rmp-theme-page-empty {
2255
+ display: flex;
2256
+ flex-direction: column;
2257
+ align-items: center;
2258
+ text-align: center;
2259
+ line-height: normal;
2260
+ padding: 10%;
2261
+ width: -webkit-fill-available;
2262
+ }
2263
+
2264
+ .rmp-theme-page-empty .rmp-menu-library-title,
2265
+ .rmp-theme-page-empty .rmp-menu-library-blank-icon {
2266
+ color: #cecece94;
2267
+ }
2268
+
2269
+ .rmp-theme-page-empty .rmp-menu-library-title {
2270
+ font-size: 2rem;
2271
+ }
2272
+
2273
+ /* Loader styles */
2274
+ .rmp-page-loader {
2275
+ background: rgb(255 255 255 / 0.9);
2276
+ width: 100%;
2277
+ height: 100%;
2278
+ position: absolute;
2279
+ top: 0;
2280
+ left: 0;
2281
+ z-index: 999999;
2282
+ display: none;
2283
+ align-items: center;
2284
+ justify-content: center;
2285
+ flex-direction: column;
2286
+ }
2287
+
2288
+ .rmp-page-loader .rmp-loader-message {
2289
+ font-style: italic;
2290
+ font-family: 'Product Sans';
2291
+ color: #555d66;
2292
+ padding: 10px;
2293
+ }
2294
+
2295
+ @-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
2296
+ @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
2297
+ @keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
2298
+
2299
+ .rmp-page-loader .rmp-loader-image {
2300
+ max-width: 60px;
2301
+ -webkit-animation:spin 1s linear infinite;
2302
+ -moz-animation:spin 1s linear infinite;
2303
+ animation:spin 1s linear infinite;
2304
+ }
2305
+
2306
+ .rmp-page-loader .rmp-loader-image.large {
2307
+ max-width: 100px;
2308
+ }
2309
+
2310
+ .rmp-theme-delete .spinner {
2311
+ margin: 0;
2312
+ position: absolute;
2313
+ right: 2rem;
2314
+ top: 1.2rem;
2315
+ }
2316
+
2317
+ .rmp-preview-mobile #rmp-preview-wrapper::after,
2318
+ .rmp-preview-tablet #rmp-preview-wrapper::after,
2319
+ .rmp-preview-mobile #rmp-preview-wrapper::before,
2320
+ .rmp-preview-tablet #rmp-preview-wrapper::before {
2321
+ content:"";
2322
+ box-shadow: 0px 0px 0px 2px #666;
2323
+ position: absolute;
2324
+ text-align: center;
2325
+ border-radius: 15px;
2326
+ background: #222;
2327
+ }
2328
+
2329
+ .rmp-preview-mobile #rmp-preview-wrapper::after,
2330
+ .rmp-preview-tablet #rmp-preview-wrapper::after {
2331
+ content: "\f102";
2332
+ font: normal 20px/1 dashicons;
2333
+ line-height: 25px;
2334
+ color: #777;
2335
+ width: 70px;
2336
+ bottom: -40px;
2337
+ left: calc(50% - 30px);
2338
+ cursor: pointer;
2339
+ pointer-events:all;
2340
+ }
2341
+
2342
+ .rmp-preview-mobile #rmp-preview-wrapper::before,
2343
+ .rmp-preview-tablet #rmp-preview-wrapper::before {
2344
+ content: "o";
2345
+ width: 15px;
2346
+ height: 15px;
2347
+ line-height: 12px;
2348
+ top: -32px;
2349
+ left: 50%;
2350
+ }
v4.0.0/assets/admin/scss/wizard-ui.scss ADDED
@@ -0,0 +1,525 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * This is style file for all wizards.
3
+ * @package responsive_menu_pro
4
+ */
5
+
6
+ // Initialize all color variables.
7
+ $wizard-background-color : #fff;
8
+
9
+ .rmp-dialog-overlay {
10
+
11
+ font-family: Product Sans;
12
+
13
+ .rmp-menu-section {
14
+ display: none;
15
+
16
+ &.current {
17
+ display: block;
18
+ }
19
+ }
20
+ .rmp-dialog-backdrop {
21
+ position: fixed;
22
+ left: -20px;
23
+ right: 0;
24
+ top: 0;
25
+ bottom: 0;
26
+ background: #0d133d82;
27
+ z-index: 999999;
28
+ }
29
+
30
+ .rmp-dialog-wrap {
31
+ clear: both;
32
+ position: absolute;
33
+ top: 10%;
34
+ left: 0;
35
+ right: 0;
36
+ bottom: 3%;
37
+ background: $wizard-background-color;
38
+ box-shadow: 0 1px 20px 5px rgba(0, 0, 0, 0.1);
39
+ z-index: 999999;
40
+ box-sizing: border-box;
41
+ -webkit-overflow-scrolling: touch;
42
+ height: fit-content;
43
+
44
+ .rmp-dialog-contents {
45
+ max-height: 580px;
46
+ overflow-y: overlay;
47
+ }
48
+ }
49
+
50
+ .rmp-dialog-header {
51
+ height: 4rem;
52
+ border-bottom: 1px solid #eee;
53
+ overflow: hidden;
54
+ display: flex;
55
+ justify-content: space-between;
56
+ align-items: center;
57
+ box-shadow: 0 0 2px 0 #00000029;
58
+ .title {
59
+ font-size: 1rem;
60
+ height: 4rem;
61
+ display: flex;
62
+ align-items: center;
63
+ padding-left: 1.25rem;
64
+ text-transform: capitalize;
65
+ font-family: Product Sans Medium;
66
+ color: #7e7e7e;
67
+ }
68
+
69
+ .close {
70
+ cursor: pointer;
71
+ font-size: 1.875rem;
72
+ width: 4rem;
73
+ color: #ccd0d4;
74
+ height: 4rem;
75
+ border: 0;
76
+ background-color: transparent;
77
+ border-left: 1px solid #ccd0d4;
78
+ }
79
+ }
80
+
81
+ .rmp-dialog-footer {
82
+ position: relative;
83
+ text-align: right;
84
+ bottom: 0;
85
+ left: 0;
86
+ right: 0;
87
+ padding: .625rem 1.25rem;
88
+ box-sizing: border-box;
89
+ height: 4rem;
90
+ box-shadow: 0 -1px 2px 0 #00000029;
91
+ }
92
+
93
+ .rmp-theme-title .item-controls{
94
+ top: unset;
95
+ }
96
+
97
+ @media only screen and (min-width: 1170px) {
98
+ .rmp-dialog-wrap {
99
+ width: 1170px;
100
+ margin: 0 auto;
101
+ }
102
+ }
103
+
104
+ @media only screen and (max-width: 780px) {
105
+ .rmp-dialog-wrap,
106
+ .rmp-dialog-overlay
107
+ .rmp-dialog-wrap {
108
+ top: 0;
109
+ right: 0;
110
+ bottom: 0;
111
+ left: 0;
112
+ border: none;
113
+ z-index: 999999;
114
+ position: absolute;
115
+ }
116
+ }
117
+
118
+ a {
119
+ text-decoration: none;
120
+ &:focus{
121
+ border: 0;
122
+ outline: unset;
123
+ box-shadow: unset;
124
+ }
125
+ }
126
+ }
127
+
128
+ // New menu wizards styling.
129
+ #rmp-new-menu-wizard {
130
+
131
+ .rmp-page-loader {
132
+ background-color: #ffffff80;
133
+ height: auto;
134
+ top: 64px;
135
+ bottom: 0px;
136
+ .rmp-loader-message {
137
+ font-style: initial;
138
+ font-size: 14px;
139
+ text-align: center;
140
+ font-weight: 600;
141
+ }
142
+ }
143
+
144
+ .rmp-theme-use,
145
+ .rmp-theme-apply {
146
+ padding: 4px 12px;
147
+ border: solid 1px #c8c8c8;
148
+ border-radius: 5px;
149
+ color: #9d9d9d;
150
+ letter-spacing: 0.14px;
151
+ }
152
+
153
+ .input-group {
154
+ margin-bottom: 8px;
155
+ padding: 20px 30px;
156
+ display: flex;
157
+ align-items: center;
158
+ padding: 1.4rem 2rem;
159
+ box-shadow: 0 0px 4px 0 rgba(0, 0, 0, 0.1);
160
+ border: solid 1px #dedcdc;
161
+ background-color: #f6f6f6;
162
+ }
163
+
164
+ .input-group .input-label {
165
+ width: 35%;
166
+ }
167
+
168
+ .input-group .input-control {
169
+ width: 65%;
170
+ }
171
+
172
+ .input-label-title {
173
+ font-family: 'PRODUCT SANS MEDIUM';
174
+ font-size: 1rem;
175
+ font-weight: normal;
176
+ letter-spacing: .16px;
177
+ color: #303030;
178
+ margin-bottom: .375rem;
179
+ }
180
+
181
+ .input-label-description {
182
+ font-family: 'PRODUCT SANS';
183
+ font-size: .875rem;
184
+ line-height: 1.14;
185
+ letter-spacing: .14px;
186
+ color: #7b7b7b;
187
+ margin-right: 25%;
188
+
189
+ a {
190
+ text-decoration: underline;
191
+ color: #00adf5;
192
+ }
193
+ }
194
+
195
+ .rmp-dialog-contents .rmp-new-menu-elements {
196
+ padding: 2% 8%;
197
+ }
198
+
199
+ .input-control input[type="text"],
200
+ .input-control select {
201
+ width: 100%;
202
+ max-width: 100%;
203
+ border: 1px solid #ddd;
204
+ max-width: 34.375rem;
205
+ box-shadow: 0 1px 6px 0 rgba(0,0,0,0.16);
206
+ border: solid 1px #dedcdc;
207
+ border-radius: 0;
208
+ height: 42px;
209
+ }
210
+
211
+ .rmp-dialog-wrap {
212
+ top:5%;
213
+ transition: color .5s linear;
214
+
215
+ .rmp-dialog-contents {
216
+ padding: 2% 3%;
217
+ background: #f1f1f1;
218
+ min-height: 420px;
219
+ }
220
+
221
+ .nav-tab-wrapper {
222
+ border: 0;
223
+
224
+ .nav-tab {
225
+ color: #6e6e6e;
226
+ border: 0;
227
+ padding: 0;
228
+ background: unset;
229
+ margin: 0 2rem 0 0;
230
+ font-size: .875rem;
231
+ line-height: 1.14;
232
+ letter-spacing: .14px;
233
+ position: relative;
234
+ height: 30px;
235
+ font-weight: 500;
236
+ }
237
+
238
+ .ui-tabs-active .nav-tab {
239
+ color: #0085ba;
240
+ }
241
+ }
242
+
243
+ .rmp-v-divider::after {
244
+ content: "";
245
+ position: absolute;
246
+ height: 20px;
247
+ width: 1px;
248
+ background: #d2d2d2;
249
+ right: -1rem;
250
+ }
251
+
252
+ .btn-import-theme {
253
+ width: 5rem;
254
+ height: 2.1875rem;
255
+ border-radius: .375rem;
256
+ box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
257
+ background-color: #23b507;
258
+ color: #fff;
259
+ border: unset;
260
+ }
261
+
262
+ .rmp-themes {
263
+ margin: 20px 0;
264
+ }
265
+
266
+ .rmp-item-card_image {
267
+ line-height: 0;
268
+ }
269
+
270
+ .rmp-item-card_image img {
271
+ height: 250px;
272
+ }
273
+
274
+ .rmp-item-card_contents {
275
+ display: inline;
276
+ }
277
+
278
+ .rmp-item-card-backside {
279
+ opacity: 0;
280
+ visibility: hidden;
281
+ display: flex;
282
+ position: absolute;
283
+ top: 0;
284
+ left: 0;
285
+ height: calc( 100% - 10px);
286
+ width: calc( 100% - 10px);
287
+ margin: 5px;
288
+ background: #000;
289
+ flex-direction: column;
290
+ justify-content: center;
291
+ text-align: center;
292
+ align-items: center;
293
+ text-align: center;
294
+ transform: translate3d(0%, 50%, 0);
295
+ transition: all .3s ease-in-out;
296
+ }
297
+
298
+ }
299
+
300
+ .rmp-item-card_contents h4 {
301
+ margin: 0 3px 22px 0;
302
+ font-size: 18px;
303
+ font-weight: normal;
304
+ font-stretch: normal;
305
+ font-style: normal;
306
+ line-height: 1.17;
307
+ letter-spacing: 0.18px;
308
+ text-align: center;
309
+ color: #ffffff;
310
+ }
311
+
312
+ .rmp-item-card {
313
+ padding: 5px;
314
+ background: #eaeaea;
315
+ border: solid 5px #eaeaea;
316
+ transition: border 0.3s ease-in-out;
317
+ &:hover {
318
+ .rmp-item-card-backside{
319
+ opacity: 1;
320
+ visibility: visible;
321
+ transform: translate3d(0, 0, 0);
322
+ }
323
+ }
324
+ }
325
+
326
+ #rmp-theme-upload{
327
+ background: #36bef7;
328
+ border: .125rem solid #36bef7;
329
+ font-family: 'Product Sans Medium';
330
+ border-radius: 4px;
331
+ font-size: 12px;
332
+ }
333
+
334
+ .button {
335
+ width: 6.5625rem;
336
+ height: 2.1875rem;
337
+ border-radius: .3125rem;
338
+ background-color: #f80668;
339
+ border: unset;
340
+ color: #fff;
341
+ &.btn-blue{
342
+ background-color: #36bef7;
343
+ }
344
+ }
345
+
346
+ .rmp-theme-option:checked + label{
347
+ border: solid 5px #0085ba !important;
348
+ }
349
+
350
+ .item-controls .rmp-theme-option:checked + label.rmp-theme-use{
351
+ background-color: #0085ba;
352
+ border: solid 1px #0085ba !important;
353
+ color: #fff;
354
+ }
355
+
356
+ .rmp-new-menu-step-conatiner {
357
+ margin-right: 12%;
358
+ }
359
+
360
+ .rmp-dialog-header {
361
+
362
+ .title span {
363
+ padding: 0 10px;
364
+ }
365
+
366
+ .rmp-new-menu-steps {
367
+ display: flex;
368
+ flex-direction: row;
369
+ align-items: center;
370
+ }
371
+
372
+ .rmp-new-menu-step {
373
+ font-size: 1.25rem;
374
+ padding: 0 15px;
375
+ height: 4rem;
376
+ line-height: 4rem;
377
+ font-size: 20px;
378
+ color: #000000;
379
+ cursor: pointer;
380
+ position: relative;
381
+ &.current {
382
+ &::after{
383
+ content: "";
384
+ position: absolute;
385
+ width: 100%;
386
+ height: 5px;
387
+ background: #f80668;
388
+ bottom: 0;
389
+ left: 0;
390
+ }
391
+ }
392
+ }
393
+
394
+ }
395
+
396
+ .rmp-theme-upload-container {
397
+ display: flex;
398
+ flex-direction: column;
399
+ justify-content: center;
400
+
401
+ p {
402
+ color: #555d66;
403
+ font-size: 18px;
404
+ font-style: normal;
405
+ margin: 0;
406
+ padding: 0;
407
+ text-align: center;
408
+ }
409
+
410
+ &.hide{
411
+ display: none;
412
+ }
413
+ }
414
+
415
+ .wp-upload-form{
416
+ background: #fafafa;
417
+ border: 1px solid #ccd0d4;
418
+ padding: 30px;
419
+ margin: 30px auto;
420
+ display: inline-flex;
421
+ justify-content: space-between;
422
+ align-items: center;
423
+ }
424
+
425
+ .rmp-dialog-footer {
426
+ #rmp-menu-next-step,
427
+ #rmp-create-new-menu {
428
+ width: 130px;
429
+ font-size: 16px;
430
+ height: 45px;
431
+ border: solid 1px #00adf5;
432
+ background-color: #36bef7;
433
+ border-radius: unset;
434
+ }
435
+ }
436
+
437
+ .default-item {
438
+ width: 184px;
439
+ height: 15.6rem;
440
+ display: flex;
441
+ justify-content: center;
442
+ align-items: center;
443
+ font-size: 18px;
444
+ border: 5px solid #eaeaea;
445
+ }
446
+
447
+ @media only screen and (max-width: 780px) {
448
+
449
+ .input-group {
450
+ flex-direction: column;
451
+
452
+ .input-label,
453
+ .input-control {
454
+ width: 100%;
455
+ margin-bottom: 10px;
456
+ }
457
+ }
458
+
459
+ .rmp-dialog-contents .rmp-new-menu-elements{
460
+ padding: 0;
461
+ }
462
+
463
+ .rmp-dialog-overlay .rmp-dialog-contents {
464
+ flex-direction: column;
465
+ }
466
+
467
+ .rmp-dialog-contents .rmp-new-menu-themes {
468
+ width: 100%;
469
+ border-right:unset;
470
+ margin-bottom: 10px;
471
+ }
472
+
473
+ .rmp-dialog-contents .rmp-new-menu-elements {
474
+ width: auto;
475
+ }
476
+
477
+ .rmp-menu-icons-dialog .icon-tabs,
478
+ .rmp-mega-menu-dialog .icon-tabs{
479
+ flex-direction: column;
480
+ }
481
+ }
482
+ }
483
+
484
+ @media only screen and (max-width: 780px) {
485
+
486
+ .rmp-dialog-contents .rmp-new-menu-elements {
487
+ padding: 0;
488
+ }
489
+
490
+ .rmp-menu-icons-dialog .icon-tabs,
491
+ .rmp-mega-menu-dialog .icon-tabs{
492
+ flex-direction: column;
493
+ }
494
+ }
495
+
496
+ #rmp-new-menu-wizard .rmp_theme_grids,
497
+ .rmp-theme-page .rmp_theme_grids{
498
+ display: flex;
499
+ justify-content: flex-start;
500
+ flex-wrap: wrap;
501
+ }
502
+
503
+ .rmp-new-menu-themes .rmp-themes .rmp-theme-option {
504
+ -webkit-appearance: none;
505
+ -moz-appearance: none;
506
+ appearance: none;
507
+ visibility: hidden;
508
+ display: none;
509
+ }
510
+
511
+ .rmp-new-menu-themes .rmp-themes .rmp-theme-title {
512
+ position: relative;
513
+ background: $wizard-background-color;
514
+ padding: 1rem 1rem;
515
+ line-height: 1.55;
516
+ font-weight: 500;
517
+ color: #6e6e6e;
518
+ font-weight: normal;
519
+ margin: .3125rem 0;
520
+ border: 1px solid #ddd;
521
+ font-family: 'Product Sans';
522
+ font-size: 14px;
523
+ text-transform: capitalize;
524
+ transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
525
+ }
v4.0.0/assets/images/default-theme-preview.png ADDED
Binary file
v4.0.0/assets/js/rmp-menu.js CHANGED
@@ -141,24 +141,34 @@ jQuery( document ).ready( function( jQuery ) {
141
  * Set push translate for toggle and page wrapper.
142
  */
143
  setWrapperTranslate() {
144
- let translate = '';
145
  switch( this.options['menu_appear_from'] ) {
146
  case 'left':
147
  translate = 'translateX(' + this.menuWidth() + 'px)';
 
148
  break;
149
  case 'right':
150
  translate = 'translateX(-' + this.menuWidth() + 'px)';
 
151
  break;
152
  case 'top':
153
  translate = 'translateY(' + this.wrapperHeight() + 'px)';
 
154
  break;
155
  case 'bottom':
156
  translate = 'translateY(-' + this.menuHeight() + 'px)';
157
- break;
 
158
  }
159
 
160
  if ( this.options['animation_type'] == 'push' ) {
161
  jQuery(this.pageWrapper).css( { 'transform':translate } );
 
 
 
 
 
 
162
  }
163
 
164
  if ( this.options['button_push_with_animation'] == 'on' ) {
141
  * Set push translate for toggle and page wrapper.
142
  */
143
  setWrapperTranslate() {
144
+ let translate,translateContainer;
145
  switch( this.options['menu_appear_from'] ) {
146
  case 'left':
147
  translate = 'translateX(' + this.menuWidth() + 'px)';
148
+ translateContainer = 'translateX(-' + this.menuWidth() + 'px)';
149
  break;
150
  case 'right':
151
  translate = 'translateX(-' + this.menuWidth() + 'px)';
152
+ translateContainer = 'translateX(' + this.menuWidth() + 'px)';
153
  break;
154
  case 'top':
155
  translate = 'translateY(' + this.wrapperHeight() + 'px)';
156
+ translateContainer = 'translateY(-' + this.menuHeight() + 'px)';
157
  break;
158
  case 'bottom':
159
  translate = 'translateY(-' + this.menuHeight() + 'px)';
160
+ translateContainer = 'translateY(' + this.menuHeight() + 'px)';
161
+ break;
162
  }
163
 
164
  if ( this.options['animation_type'] == 'push' ) {
165
  jQuery(this.pageWrapper).css( { 'transform':translate } );
166
+
167
+ //If push Wrapper has body element then handle menu position.
168
+ if ( 'body' == this.pageWrapper ) {
169
+ jQuery( this.container ).css( { 'transform' : translateContainer } );
170
+ }
171
+
172
  }
173
 
174
  if ( this.options['button_push_with_animation'] == 'on' ) {
v4.0.0/assets/scss/common.scss CHANGED
@@ -185,7 +185,7 @@ button.rmp_menu_trigger {
185
  display: inline-block;
186
  position: relative;
187
  pointer-events: none;
188
- vertical-align: middle;
189
  }
190
 
191
  }
185
  display: inline-block;
186
  position: relative;
187
  pointer-events: none;
188
+ vertical-align: super;
189
  }
190
 
191
  }
v4.0.0/assets/scss/main.scss CHANGED
@@ -12,105 +12,110 @@
12
  }
13
  }
14
 
15
- /* Hamburger menu styling */
16
- @media screen and (max-width: $tablet_breakpoint ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
- #{$menu_trigger_id} {
 
 
19
 
20
- width : $menu_trigger_width;
21
- height : $menu_trigger_height;
22
- position: $menu_trigger_position_type;
23
- top : $menu_trigger_distance_from_top;
24
- display: inline-block;
25
 
26
- @if ( $menu_trigger_side == right ) {
27
- right: $menu_trigger_distance_from_side;
28
- } @else {
29
- left: $menu_trigger_distance_from_side;
30
  }
31
 
32
- @if ( $menu_trigger_transparent_background == 'on' ) {
33
- background: transparent;
34
- } @else {
 
35
 
36
- background: $menu_trigger_background_color;
37
 
38
- &:hover,
39
- &:focus,
40
- &.is-active:hover {
41
- background: $menu_trigger_background_color_hover;
42
- text-decoration: unset;
43
- }
44
 
45
- &.is-active {
46
- background: $menu_trigger_active_color;
47
- }
48
- }
49
 
50
- transition: transform $animation_speed, background-color $color_transition_speed;
 
 
 
51
 
52
- .rmp-trigger-box {
53
- width: $menu_trigger_line_width + $menu_trigger_line_width_unit;
54
- color: $menu_trigger_title_color;
55
- }
56
 
57
- .rmp-trigger-icon-active,
58
- .rmp-trigger-text-open {
59
- display: none;
60
- }
61
 
62
- &.is-active .rmp-trigger-icon-active,
63
- &.is-active .rmp-trigger-text-open {
64
- display:inline;
65
- }
 
66
 
67
- &.is-active .rmp-trigger-icon-inactive,
68
- &.is-active .rmp-trigger-text {
69
- display: none;
70
- }
71
 
72
- .rmp-trigger-label {
73
- color:$menu_trigger_title_color;
74
- pointer-events: none;
75
- line-height: $menu_trigger_title_line_height;
76
 
77
- @if( $menu_trigger_title_font != '' ) {
78
- font-family: $menu_trigger_title_font;
79
- } @else {
80
- font-family: inherit
81
- }
 
 
 
 
82
 
83
- font-size: $menu_trigger_title_font_size;
84
- display: inline;
85
- text-transform: inherit;
86
- }
 
87
 
88
- .responsive-menu-pro-inner {
89
- display: block;
90
- }
 
 
91
 
92
- .responsive-menu-pro-inner,
93
- .responsive-menu-pro-inner::before,
94
- .responsive-menu-pro-inner::after {
95
- width: $menu_trigger_line_width + $menu_trigger_line_width_unit;
96
- height: $menu_trigger_line_height + $menu_trigger_line_height_unit;
97
- background-color: $menu_trigger_line_color;
98
- border-radius: 4px;
99
- position: absolute;
100
- }
101
 
102
- &.is-active .responsive-menu-pro-inner,
103
- &.is-active .responsive-menu-pro-inner::before,
104
- &.is-active .responsive-menu-pro-inner::after {
105
- background-color: $menu_trigger_line_active_color;
106
- }
107
 
108
- &:hover .responsive-menu-pro-inner,
109
- &:hover .responsive-menu-pro-inner::before,
110
- &:hover .responsive-menu-pro-inner::after {
111
- background-color: $menu_trigger_line_color_hover;
112
- }
113
-
114
  }
115
 
116
  #{$menu_container} {
@@ -195,8 +200,15 @@
195
  padding: 0;
196
  }
197
 
198
- .rmp-submenu-depth-1 .rmp-menu-item-link {
199
- padding-#{$menu_depth_side} : ( $menu_item_padding_depth_1 + $menu_item_padding_depth_1_unit);
 
 
 
 
 
 
 
200
  }
201
 
202
  .rmp-submenu-depth-2 .rmp-menu-item-link {
@@ -257,6 +269,7 @@
257
  width: 100%;
258
  text-decoration: none;
259
  position: relative;
 
260
  transition: background-color $color_transition_speed, border-color $color_transition_speed, $color_transition_speed;
261
 
262
  @if ( $menu_word_wrap == 'on' ) {
@@ -265,12 +278,7 @@
265
  }
266
 
267
  padding: 0 ( $menu_item_padding + $menu_item_padding_unit);
268
-
269
- @if ( $menu_item_toggle_position == 'left' ) {
270
- padding-left: ( $menu_item_toggle_width + $menu_item_toggle_width_unit );
271
- } @else if( $menu_item_toggle_position == 'right' ) {
272
- padding-right: ( $menu_item_toggle_width + $menu_item_toggle_width_unit );
273
- }
274
 
275
  &:after,
276
  &:before{
@@ -293,7 +301,7 @@
293
  height: ( $menu_item_height + $menu_item_height_unit);
294
  line-height: ( $menu_item_line_height + $menu_item_line_height_unit );
295
  margin-right: 10px;
296
- font-size: ( $menu_item_font_size * 1.5 ) + $menu_item_font_size_unit;
297
  }
298
  }
299
 
@@ -322,18 +330,14 @@
322
  overflow: hidden;
323
  @if ( $menu_item_toggle_position == 'left' ) {
324
  left: 0;
325
- @if( $menu_item_toggle_border_width != 0 ) {
326
- border-right-style:solid;
327
- border-right-color:$menu_item_toggle_border_color;
328
- border-right-width: ( $menu_item_toggle_border_width + $menu_item_toggle_border_width_unit );
329
- }
330
  } @else {
331
  right: 0;
332
- @if( $menu_item_toggle_border_width != 0 ) {
333
- border-left-style:solid;
334
- border-left-color:$menu_item_toggle_border_color;
335
- border-left-width: ( $menu_item_toggle_border_width + $menu_item_toggle_border_width_unit );
336
- }
337
  }
338
 
339
  height: ($menu_item_toggle_height + $menu_item_toggle_height_unit);
@@ -376,7 +380,11 @@
376
  .rmp-menu-item-link {
377
  height: ( $submenu_item_height + $submenu_item_height_unit);
378
  line-height: ( $submenu_item_line_height + $submenu_item_line_height_unit );
379
- font-size: ( $submenu_item_font_size + $submenu_item_font_size_unit );
 
 
 
 
380
 
381
  @if( $submenu_item_border_width != '' ) {
382
  border-bottom: ( $submenu_item_border_width + $submenu_item_border_width_unit ) solid $submenu_item_border_color;
@@ -423,19 +431,15 @@
423
  @if ( $submenu_item_toggle_position == 'left' ) {
424
  left: 0;
425
  border-left: unset;
426
- @if( $submenu_item_toggle_border_width != 0 ) {
427
- border-right-style:solid;
428
- border-right-color:$submenu_item_toggle_border_color;
429
- border-right-width: ( $submenu_item_toggle_border_width + $submenu_item_toggle_border_width_unit );
430
- }
431
  } @else {
432
  right: 0;
433
  border-right: unset;
434
- @if( $submenu_item_toggle_border_width != 0 ) {
435
- border-left-style:solid;
436
- border-left-color:$submenu_item_toggle_border_color;
437
- border-left-width: ( $submenu_item_toggle_border_width + $submenu_item_toggle_border_width_unit );
438
- }
439
  }
440
 
441
  height: ($submenu_item_toggle_height + $submenu_item_toggle_height_unit);
@@ -511,8 +515,9 @@
511
  height: ( $menu_search_box_height + $menu_search_box_height_unit );
512
  -webkit-appearance: none;
513
  &::placeholder {
514
- color : black;
515
  }
 
516
  &:focus {
517
  background-color: $menu_search_box_background_color;
518
  outline:2px solid $menu_search_box_border_color;
@@ -556,6 +561,12 @@
556
  padding-right : $menu_title_section_padding_right;
557
  }
558
 
 
 
 
 
 
 
559
  transition: background-color $color_transition_speed, border-color $color_transition_speed, color $color_transition_speed;
560
 
561
  &:hover {
12
  }
13
  }
14
 
15
+ #{$menu_trigger_id} {
16
+
17
+ width : $menu_trigger_width;
18
+ height : $menu_trigger_height;
19
+ position: $menu_trigger_position_type;
20
+ top : $menu_trigger_distance_from_top;
21
+ border-radius: $toggle_button_border_radius + px;
22
+ display: none;
23
+ text-decoration: none;
24
+
25
+ @if ( $menu_trigger_side == right ) {
26
+ right: $menu_trigger_distance_from_side;
27
+ } @else {
28
+ left: $menu_trigger_distance_from_side;
29
+ }
30
 
31
+ @if ( $menu_trigger_transparent_background == on ) {
32
+ background: transparent;
33
+ } @else {
34
 
35
+ background: $menu_trigger_background_color;
 
 
 
 
36
 
37
+ &:hover,
38
+ &:focus {
39
+ background: $menu_trigger_background_color_hover;
40
+ text-decoration: unset;
41
  }
42
 
43
+ &.is-active {
44
+ background: $menu_trigger_active_color;
45
+ }
46
+ }
47
 
48
+ transition: transform $animation_speed, background-color $color_transition_speed;
49
 
50
+ .rmp-trigger-box {
51
+ width: $menu_trigger_line_width + $menu_trigger_line_width_unit;
52
+ color: $menu_trigger_title_color;
53
+ }
 
 
54
 
55
+ .rmp-trigger-icon-active,
56
+ .rmp-trigger-text-open {
57
+ display: none;
58
+ }
59
 
60
+ &.is-active .rmp-trigger-icon-active,
61
+ &.is-active .rmp-trigger-text-open {
62
+ display:inline;
63
+ }
64
 
65
+ &.is-active .rmp-trigger-icon-inactive,
66
+ &.is-active .rmp-trigger-text {
67
+ display: none;
68
+ }
69
 
70
+ .rmp-trigger-label {
71
+ color:$menu_trigger_title_color;
72
+ pointer-events: none;
73
+ line-height: $menu_trigger_title_line_height;
74
 
75
+ @if( $menu_trigger_title_font != '' ) {
76
+ font-family: $menu_trigger_title_font;
77
+ } @else {
78
+ font-family: inherit
79
+ }
80
 
81
+ font-size: $menu_trigger_title_font_size;
82
+ display: inline;
83
+ text-transform: inherit;
84
+ }
85
 
86
+ .responsive-menu-pro-inner {
87
+ display: block;
88
+ }
 
89
 
90
+ .responsive-menu-pro-inner,
91
+ .responsive-menu-pro-inner::before,
92
+ .responsive-menu-pro-inner::after {
93
+ width: $menu_trigger_line_width + $menu_trigger_line_width_unit;
94
+ height: $menu_trigger_line_height + $menu_trigger_line_height_unit;
95
+ background-color: $menu_trigger_line_color;
96
+ border-radius: 4px;
97
+ position: absolute;
98
+ }
99
 
100
+ &.is-active .responsive-menu-pro-inner,
101
+ &.is-active .responsive-menu-pro-inner::before,
102
+ &.is-active .responsive-menu-pro-inner::after {
103
+ background-color: $menu_trigger_line_active_color;
104
+ }
105
 
106
+ &:hover .responsive-menu-pro-inner,
107
+ &:hover .responsive-menu-pro-inner::before,
108
+ &:hover .responsive-menu-pro-inner::after {
109
+ background-color: $menu_trigger_line_color_hover;
110
+ }
111
 
112
+ }
 
 
 
 
 
 
 
 
113
 
114
+ /* Hamburger menu styling */
115
+ @media screen and (max-width: $tablet_breakpoint ) {
 
 
 
116
 
117
+ #{$menu_trigger_id} {
118
+ display: block;
 
 
 
 
119
  }
120
 
121
  #{$menu_container} {
200
  padding: 0;
201
  }
202
 
203
+ // If legacy setting is on then add these settings.
204
+ @if( $is_legacy == 'on' and $submenu_item_toggle_position == left) {
205
+ .rmp-submenu-depth-1 .rmp-menu-item-link {
206
+ padding-left: ( $submenu_item_toggle_width + 10 ) + $submenu_item_toggle_width_unit;
207
+ }
208
+ }@else{
209
+ .rmp-submenu-depth-1 .rmp-menu-item-link {
210
+ padding-#{$menu_depth_side} : ( $menu_item_padding_depth_1 + $menu_item_padding_depth_1_unit);
211
+ }
212
  }
213
 
214
  .rmp-submenu-depth-2 .rmp-menu-item-link {
269
  width: 100%;
270
  text-decoration: none;
271
  position: relative;
272
+ overflow: hidden;
273
  transition: background-color $color_transition_speed, border-color $color_transition_speed, $color_transition_speed;
274
 
275
  @if ( $menu_word_wrap == 'on' ) {
278
  }
279
 
280
  padding: 0 ( $menu_item_padding + $menu_item_padding_unit);
281
+ padding-#{$menu_item_toggle_position}: ( $menu_item_toggle_width + 10 ) + $menu_item_toggle_width_unit;
 
 
 
 
 
282
 
283
  &:after,
284
  &:before{
301
  height: ( $menu_item_height + $menu_item_height_unit);
302
  line-height: ( $menu_item_line_height + $menu_item_line_height_unit );
303
  margin-right: 10px;
304
+ font-size: $menu_item_font_size + $menu_item_font_size_unit;
305
  }
306
  }
307
 
330
  overflow: hidden;
331
  @if ( $menu_item_toggle_position == 'left' ) {
332
  left: 0;
333
+ border-right-style:solid;
334
+ border-right-color:$menu_item_toggle_border_color;
335
+ border-right-width: ( $menu_item_toggle_border_width + $menu_item_toggle_border_width_unit );
 
 
336
  } @else {
337
  right: 0;
338
+ border-left-style:solid;
339
+ border-left-color:$menu_item_toggle_border_color;
340
+ border-left-width: ( $menu_item_toggle_border_width + $menu_item_toggle_border_width_unit );
 
 
341
  }
342
 
343
  height: ($menu_item_toggle_height + $menu_item_toggle_height_unit);
380
  .rmp-menu-item-link {
381
  height: ( $submenu_item_height + $submenu_item_height_unit);
382
  line-height: ( $submenu_item_line_height + $submenu_item_line_height_unit );
383
+ letter-spacing: ($submenu_text_letter_spacing + px);
384
+
385
+ @if( $submenu_item_font_size != '' ) {
386
+ font-size: ( $submenu_item_font_size + $submenu_item_font_size_unit );
387
+ }
388
 
389
  @if( $submenu_item_border_width != '' ) {
390
  border-bottom: ( $submenu_item_border_width + $submenu_item_border_width_unit ) solid $submenu_item_border_color;
431
  @if ( $submenu_item_toggle_position == 'left' ) {
432
  left: 0;
433
  border-left: unset;
434
+ border-right-style:solid;
435
+ border-right-color:$submenu_item_toggle_border_color;
436
+ border-right-width: ( $submenu_item_toggle_border_width + $submenu_item_toggle_border_width_unit );
 
 
437
  } @else {
438
  right: 0;
439
  border-right: unset;
440
+ border-left-style:solid;
441
+ border-left-color:$submenu_item_toggle_border_color;
442
+ border-left-width: ( $submenu_item_toggle_border_width + $submenu_item_toggle_border_width_unit );
 
 
443
  }
444
 
445
  height: ($submenu_item_toggle_height + $submenu_item_toggle_height_unit);
515
  height: ( $menu_search_box_height + $menu_search_box_height_unit );
516
  -webkit-appearance: none;
517
  &::placeholder {
518
+ color : $menu_search_box_placeholder_color;
519
  }
520
+
521
  &:focus {
522
  background-color: $menu_search_box_background_color;
523
  outline:2px solid $menu_search_box_border_color;
561
  padding-right : $menu_title_section_padding_right;
562
  }
563
 
564
+ @if( $menu_title_font_family != '' ) {
565
+ font-family : $menu_title_font_family;
566
+ }
567
+
568
+ font-weight: $menu_title_font_weight;
569
+
570
  transition: background-color $color_transition_speed, border-color $color_transition_speed, color $color_transition_speed;
571
 
572
  &:hover {
v4.0.0/inc/classes/class-admin.php CHANGED
@@ -138,6 +138,8 @@ class Admin {
138
  wp_send_json_error( [ 'message' => __('Select menu to use !', 'responsive-menu-pro') ] );
139
  }
140
 
 
 
141
  $menu_theme = '';
142
  if ( ! empty( $_POST['menu_theme'] ) ) {
143
  $menu_theme = sanitize_text_field( $_POST['menu_theme'] );
@@ -162,7 +164,7 @@ class Admin {
162
  // Get appropriate theme as per theme type and theme name.
163
  if ( ! empty( $theme_type ) && 'downloaded' == $theme_type ) {
164
  $theme_manager = Theme_Manager::get_instance();
165
- $theme_options = $theme_manager->get_downloaded_theme_settings( $menu_theme );
166
  } else if ( ! empty( $theme_type ) && 'template' == $theme_type ) {
167
  $theme_manager = Theme_Manager::get_instance();
168
  $theme_options = $theme_manager->get_saved_theme_options( $menu_theme );
@@ -187,7 +189,8 @@ class Admin {
187
  'theme_type' => $theme_type,
188
  'menu_display_on' => $menu_show_on,
189
  'menu_show_on_pages' => $menu_show_on_pages,
190
- 'menu_id' => $menu_id
 
191
  );
192
 
193
  $new_options = array_merge( $theme_options , $new_options );
@@ -203,13 +206,21 @@ class Admin {
203
  */
204
  do_action( 'rmp_create_new_menu', $menu_id );
205
 
206
- $status = __('Menu is created successfully', 'responsive-menu-pro');
 
 
 
 
 
 
 
 
 
207
 
208
  } else {
209
- $status = __('Unable to create new Menu', 'responsive-menu-pro');
210
  }
211
 
212
- wp_send_json_success( ['message' => $status ] );
213
  }
214
 
215
  /**
138
  wp_send_json_error( [ 'message' => __('Select menu to use !', 'responsive-menu-pro') ] );
139
  }
140
 
141
+ $menu_to_hide = sanitize_text_field( $_POST['menu_to_hide'] );
142
+
143
  $menu_theme = '';
144
  if ( ! empty( $_POST['menu_theme'] ) ) {
145
  $menu_theme = sanitize_text_field( $_POST['menu_theme'] );
164
  // Get appropriate theme as per theme type and theme name.
165
  if ( ! empty( $theme_type ) && 'downloaded' == $theme_type ) {
166
  $theme_manager = Theme_Manager::get_instance();
167
+ $theme_options = $theme_manager->get_available_theme_settings( $menu_theme );
168
  } else if ( ! empty( $theme_type ) && 'template' == $theme_type ) {
169
  $theme_manager = Theme_Manager::get_instance();
170
  $theme_options = $theme_manager->get_saved_theme_options( $menu_theme );
189
  'theme_type' => $theme_type,
190
  'menu_display_on' => $menu_show_on,
191
  'menu_show_on_pages' => $menu_show_on_pages,
192
+ 'menu_id' => $menu_id,
193
+ 'menu_to_hide' => $menu_to_hide
194
  );
195
 
196
  $new_options = array_merge( $theme_options , $new_options );
206
  */
207
  do_action( 'rmp_create_new_menu', $menu_id );
208
 
209
+ wp_send_json_success(
210
+ [
211
+ 'message' => __('Menu is created successfully', 'responsive-menu-pro'),
212
+ 'customize_url' => sprintf(
213
+ '%spost.php?post=%s&action=edit&editor=true',
214
+ get_admin_url(),
215
+ $menu_id
216
+ )
217
+ ]
218
+ );
219
 
220
  } else {
221
+ wp_send_json_error( [ 'message' => __( 'Unable to create new Menu !', 'responsive-menu-pro' ) ] );
222
  }
223
 
 
224
  }
225
 
226
  /**
v4.0.0/inc/classes/class-assets.php CHANGED
@@ -122,21 +122,21 @@ class Assets {
122
  wp_enqueue_media();
123
  }
124
 
125
- wp_enqueue_script(
126
- 'rmp_editor_scripts',
127
- RMP_PLUGIN_URL_V4 . '/assets/admin/js/rmp-editor.js',
128
- array('jquery'),
129
- RMP_PLUGIN_VERSION,
130
- true
131
- );
132
 
133
- wp_enqueue_script(
134
- 'rmp_admin_icon_scripts',
135
- RMP_PLUGIN_URL_V4 . '/assets/admin/js/rmp-icon.js',
136
- array('jquery'),
137
- RMP_PLUGIN_VERSION,
138
- true
139
- );
140
 
141
  wp_enqueue_script(
142
  'rmp_admin_selectize_scripts',
@@ -152,13 +152,22 @@ class Assets {
152
  RMP_PLUGIN_VERSION
153
  );
154
 
155
- wp_enqueue_script(
156
- 'rmp_custom_color_alpha_scripts',
157
- RMP_PLUGIN_URL_V4 . '/assets/admin/js/wp-color-alpha.js',
158
- array('wp-color-picker'),
 
 
 
 
 
 
 
 
159
  RMP_PLUGIN_VERSION
160
  );
161
 
 
162
  wp_enqueue_script(
163
  'rmp_admin_dropzone_scripts',
164
  'https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.7.0/min/dropzone.min.js',
@@ -175,7 +184,7 @@ class Assets {
175
 
176
  wp_register_script(
177
  'rmp_admin_scripts',
178
- RMP_PLUGIN_URL_V4 . '/assets/admin/js/rmp-admin.js',
179
  array( 'wp-color-picker', 'jquery' ),
180
  RMP_PLUGIN_VERSION,
181
  true
@@ -193,13 +202,13 @@ class Assets {
193
 
194
  wp_enqueue_script( 'rmp_admin_scripts' );
195
 
196
- wp_enqueue_script(
197
- 'rmp_preview_scripts',
198
- RMP_PLUGIN_URL_V4 . '/assets/admin/js/rmp-preview.js',
199
- array('jquery'),
200
- RMP_PLUGIN_VERSION,
201
- true
202
- );
203
 
204
  /** Enqueue the icons resources */
205
 
@@ -220,9 +229,9 @@ class Assets {
220
  );
221
 
222
  /**
223
- * Fires after enqueue the scripts.
224
  */
225
- do_action( 'after_rmp_enqueue_scripts' );
226
  }
227
 
228
  }
122
  wp_enqueue_media();
123
  }
124
 
125
+ // wp_enqueue_script(
126
+ // 'rmp_editor_scripts',
127
+ // RMP_PLUGIN_URL_V4 . '/assets/admin/js/rmp-editor.js',
128
+ // array('jquery'),
129
+ // RMP_PLUGIN_VERSION,
130
+ // true
131
+ // );
132
 
133
+ // wp_enqueue_script(
134
+ // 'rmp_admin_icon_scripts',
135
+ // RMP_PLUGIN_URL_V4 . '/assets/admin/js/rmp-icon.js',
136
+ // array('jquery'),
137
+ // RMP_PLUGIN_VERSION,
138
+ // true
139
+ // );
140
 
141
  wp_enqueue_script(
142
  'rmp_admin_selectize_scripts',
152
  RMP_PLUGIN_VERSION
153
  );
154
 
155
+ //Color alpha feature in color input controls by below custom scripts.
156
+ // wp_enqueue_script(
157
+ // 'rmp_custom_color_alpha_scripts',
158
+ // RMP_PLUGIN_URL_V4 . '/assets/admin/js/wp-color-alpha.js',
159
+ // array('wp-color-picker'),
160
+ // RMP_PLUGIN_VERSION
161
+ // );
162
+
163
+ wp_enqueue_style(
164
+ 'rmp_admin_main_styles',
165
+ RMP_PLUGIN_URL_V4 . '/assets/admin/build/css/rmpMain.css',
166
+ null,
167
  RMP_PLUGIN_VERSION
168
  );
169
 
170
+
171
  wp_enqueue_script(
172
  'rmp_admin_dropzone_scripts',
173
  'https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.7.0/min/dropzone.min.js',
184
 
185
  wp_register_script(
186
  'rmp_admin_scripts',
187
+ RMP_PLUGIN_URL_V4 . '/assets/admin/build/js/rmpMain.js',
188
  array( 'wp-color-picker', 'jquery' ),
189
  RMP_PLUGIN_VERSION,
190
  true
202
 
203
  wp_enqueue_script( 'rmp_admin_scripts' );
204
 
205
+ // wp_enqueue_script(
206
+ // 'rmp_preview_scripts',
207
+ // RMP_PLUGIN_URL_V4 . '/assets/admin/js/rmp-preview.js',
208
+ // array('jquery'),
209
+ // RMP_PLUGIN_VERSION,
210
+ // true
211
+ // );
212
 
213
  /** Enqueue the icons resources */
214
 
229
  );
230
 
231
  /**
232
+ * Fires after enqueue the admin scripts.
233
  */
234
+ do_action( 'after_rmp_enqueue_admin_scripts' );
235
  }
236
 
237
  }
v4.0.0/inc/classes/class-control-manager.php CHANGED
@@ -427,7 +427,7 @@ class Control_Manager {
427
  $class = $param['class'];
428
  }
429
 
430
- $html .= sprintf( '<input type="text" id="%s" name="%s" %s class="no-updates rmp-color-input %s" value="%s">',
431
  esc_attr( $param['id'] ),
432
  esc_attr( $param['name'] ),
433
  esc_attr( $has_multi_device ),
427
  $class = $param['class'];
428
  }
429
 
430
+ $html .= sprintf( '<input type="text" data-alpha="true" id="%s" name="%s" %s class="no-updates rmp-color-input %s" value="%s">',
431
  esc_attr( $param['id'] ),
432
  esc_attr( $param['name'] ),
433
  esc_attr( $has_multi_device ),
v4.0.0/inc/classes/class-plugin.php CHANGED
@@ -47,9 +47,12 @@ class Plugin {
47
 
48
  add_action( 'plugins_loaded', [ $this, 'rmp_load_plugin_text_domain' ] );
49
  add_action( 'admin_notices', [ $this, 'rmp_deactivate_paid_version_notice' ] );
 
 
 
 
50
 
51
  // Check current config and environment support wp_body_open or not.
52
-
53
  if( $this->has_support( 'wp_body_open' ) ) {
54
  add_action( 'wp_body_open' , [ $this, 'menu_render_on_frontend'] );
55
  } else {
@@ -57,6 +60,100 @@ class Plugin {
57
  }
58
  }
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  /**
61
  * Function to show the admin notice if plugin deactivate.
62
  *
47
 
48
  add_action( 'plugins_loaded', [ $this, 'rmp_load_plugin_text_domain' ] );
49
  add_action( 'admin_notices', [ $this, 'rmp_deactivate_paid_version_notice' ] );
50
+ add_action( 'admin_notices', [ $this, 'rmp_upgrade_pro_admin_notice'] );
51
+ add_action( 'plugin_action_links_' . plugin_basename( RMP_PLUGIN_FILE ) , [ $this, 'rmp_upgrade_pro_plugin_link' ] );
52
+ add_action( "wp_ajax_rmp_upgrade_admin_notice_dismiss", [ $this, 'rmp_upgrade_pro_notice_dismiss'] );
53
+ add_action( 'admin_notices', [ $this, 'no_menu_admin_notice'] );
54
 
55
  // Check current config and environment support wp_body_open or not.
 
56
  if( $this->has_support( 'wp_body_open' ) ) {
57
  add_action( 'wp_body_open' , [ $this, 'menu_render_on_frontend'] );
58
  } else {
60
  }
61
  }
62
 
63
+ /**
64
+ * Function to show the admin notice when no menu exist.
65
+ *
66
+ * @since 4.1.0
67
+ *
68
+ * @return void
69
+ */
70
+ public function no_menu_admin_notice() {
71
+
72
+ //Check post type.
73
+ $post_type = get_post_type();
74
+ if ( empty( $post_type ) && ! empty( $_GET['post_type'] ) ) {
75
+ $post_type = $_GET['post_type'];
76
+ }
77
+
78
+ if ( 'rmp_menu' !== $post_type || ! empty( $_GET['page'] ) ) {
79
+ return;
80
+ }
81
+
82
+ // Count all post which are in list except trash.
83
+ $post_count = 0;
84
+ foreach( wp_count_posts( 'rmp_menu' ) as $status => $count ) {
85
+
86
+ if ( 'trash' == $status ) {
87
+ continue;
88
+ }
89
+
90
+ $post_count += $count;
91
+ }
92
+
93
+ if ( $post_count >= 1 ) {
94
+ return;
95
+ }
96
+
97
+ printf(
98
+ '<div class="notice notice-error">
99
+ <p> %s <a href="%s" target="_blank"> documentation </a> </p>
100
+ </div>',
101
+ __( 'Responsive menu list is empty. Create a menu by clicking the <b>Create New Menu</b> button. For more details visit ', 'responsive-menu-pro' ),
102
+ esc_url( 'https://responsive.menu/knowledgebase/responsive-menu-4-0-overview/' )
103
+ );
104
+ }
105
+
106
+ /**
107
+ * Add plugin upgrade link.
108
+ *
109
+ * Add a link to the settings page on the responsive menu page.
110
+ *
111
+ * @param array $links List of existing plugin action links.
112
+ * @return array List of modified plugin action links.
113
+ */
114
+ public function rmp_upgrade_pro_plugin_link( $links ) {
115
+
116
+ $links = array_merge(
117
+ $links,
118
+ array( '<a class="responsive-menu-license-upgrade-link" target="_blank" href="https://responsive.menu/pricing/">' . __( 'Upgrade', 'responsive-menu-pro') . '</a>')
119
+ );
120
+
121
+ return $links;
122
+ }
123
+
124
+ /**
125
+ * Function to add the admin notice to upgrade as pro.
126
+ *
127
+ * @version 4.1.0
128
+ *
129
+ */
130
+ public function rmp_upgrade_pro_admin_notice() {
131
+
132
+ $post_type = get_post_type();
133
+ if ( empty( $post_type ) && ! empty( $_GET['post_type'] ) ) {
134
+ $post_type = $_GET['post_type'];
135
+ }
136
+
137
+ if ( 'rmp_menu' !== $post_type ) {
138
+ return;
139
+ }
140
+
141
+ $user_id = get_current_user_id();
142
+ if ( ! empty( get_user_meta( $user_id, 'rmp_upgrade_pro_admin_notice') ) ) {
143
+ return;
144
+ }
145
+
146
+ include_once RMP_PLUGIN_PATH_V4 . '/templates/admin-notices.php';
147
+ }
148
+
149
+ /**
150
+ * Function to hide the admin notice permanent.
151
+ */
152
+ public function rmp_upgrade_pro_notice_dismiss() {
153
+ $user_id = get_current_user_id();
154
+ update_user_meta( $user_id, 'rmp_upgrade_pro_admin_notice', true );
155
+ }
156
+
157
  /**
158
  * Function to show the admin notice if plugin deactivate.
159
  *
v4.0.0/inc/classes/class-rmp-menu.php CHANGED
@@ -97,10 +97,13 @@ if ( ! class_exists( 'RMP_Menu' ) ) :
97
  }
98
 
99
  $side_animation = 'rmp-' . $this->options['animation_type'] . '-' . $this->options['menu_appear_from'];
 
 
 
100
  $html = sprintf( '%s<div id="rmp-container-%s" class="rmp-container %s">%s</div>',
101
  $menu_switcher,
102
  $this->menu_id,
103
- esc_attr( $side_animation ),
104
  $html
105
  );
106
 
@@ -111,13 +114,39 @@ if ( ! class_exists( 'RMP_Menu' ) ) :
111
  * Function to print the menu markups in webpage.
112
  */
113
  public function build_menu() {
114
- echo $this->mobile_menu();
115
- return;
 
 
 
 
 
 
 
 
 
 
 
 
116
  }
117
 
 
 
 
 
 
 
 
118
  public function menu() {
 
119
  $param = $this->rmp_nav_menu_args();
 
 
 
 
 
120
  $param['echo'] = false;
 
121
  return wp_nav_menu( $param );
122
  }
123
 
@@ -200,19 +229,26 @@ if ( ! class_exists( 'RMP_Menu' ) ) :
200
  $menu_trigger_content .= $menu_trigger_text;
201
  }
202
 
203
-
204
  $trigger_click_animation = '';
205
  if ( ! empty( $this->options['button_click_animation'] ) ) {
206
- $trigger_click_animation = $this->options['button_click_animation'];
207
  }
208
 
 
 
 
 
 
 
 
 
209
  $rmp_menu_trigger = sprintf(
210
- '<button type="button" aria-controls="rmp-container-%s" aria-label="Menu Trigger" id="rmp_menu_trigger-%s" class="rmp_menu_trigger rmp-menu-trigger-%s">
211
  %s
212
  </button>',
213
  $this->menu_id,
214
  $this->menu_id,
215
- $trigger_click_animation,
216
  $menu_trigger_content
217
  );
218
 
@@ -295,23 +331,44 @@ if ( ! class_exists( 'RMP_Menu' ) ) :
295
  return $menu_search_wrap;
296
  }
297
 
 
 
 
 
 
 
 
298
  public function menu_additional_content() {
299
 
300
  $content = '';
301
 
302
  if ( ! empty( $this->options['menu_additional_content'] ) ) {
303
- $content = $this->options['menu_additional_content'];
 
 
 
304
  }
305
 
306
- $menu_content_wrap = sprintf(
307
  '<div id="rmp-menu-additional-content-%s" class="rmp-menu-additional-content">
308
  %s
309
  </div>',
310
- esc_attr( $this->menu_id),
311
  $content
312
  );
313
 
314
- return $menu_content_wrap;
 
 
 
 
 
 
 
 
 
 
 
315
  }
316
 
317
  public function rmp_nav_menu_args( $args = null ) {
97
  }
98
 
99
  $side_animation = 'rmp-' . $this->options['animation_type'] . '-' . $this->options['menu_appear_from'];
100
+ $menu_container_classes = apply_filters( 'rmp_menu_container_classes', [ 'rmp-container', $side_animation ], $this->menu_id );
101
+ $menu_container_classes = implode( ' ' , $menu_container_classes );
102
+
103
  $html = sprintf( '%s<div id="rmp-container-%s" class="rmp-container %s">%s</div>',
104
  $menu_switcher,
105
  $this->menu_id,
106
+ esc_attr( $menu_container_classes ),
107
  $html
108
  );
109
 
114
  * Function to print the menu markups in webpage.
115
  */
116
  public function build_menu() {
117
+
118
+ $html = $this->mobile_menu();
119
+
120
+ /**
121
+ * Filters the menu marksup.
122
+ *
123
+ * @since 4.1.0
124
+ *
125
+ * @param HTML|string $html
126
+ * @param int menu_id
127
+ */
128
+ $html = apply_filters( 'rmp_menu_html', $html, $this->menu_id );
129
+
130
+ echo $html;
131
  }
132
 
133
+ /**
134
+ * Function to return the prepared menu items.
135
+ *
136
+ * @since 4.0.0
137
+ *
138
+ * @return HTML|string
139
+ */
140
  public function menu() {
141
+
142
  $param = $this->rmp_nav_menu_args();
143
+
144
+ if ( empty( $param ) ) {
145
+ return;
146
+ }
147
+
148
  $param['echo'] = false;
149
+
150
  return wp_nav_menu( $param );
151
  }
152
 
229
  $menu_trigger_content .= $menu_trigger_text;
230
  }
231
 
 
232
  $trigger_click_animation = '';
233
  if ( ! empty( $this->options['button_click_animation'] ) ) {
234
+ $trigger_click_animation = 'rmp-menu-trigger-' . $this->options['button_click_animation'];
235
  }
236
 
237
+ $toggle_theme_class = '';
238
+ if ( ! empty( $this->options['menu_theme'] ) ) {
239
+ $toggle_theme_class = 'rmp-' . str_replace( ' ', '-', strtolower( $this->options['menu_theme'] ) ) . '-trigger';
240
+ }
241
+
242
+ $toggle_theme_class = apply_filters( 'rmp_menu_toggle_classes', [ 'rmp_menu_trigger', $trigger_click_animation ], $this->menu_id );
243
+ $toggle_theme_class = implode( ' ' , $toggle_theme_class );
244
+
245
  $rmp_menu_trigger = sprintf(
246
+ '<button type="button" aria-controls="rmp-container-%s" aria-label="Menu Trigger" id="rmp_menu_trigger-%s" class=" %s ">
247
  %s
248
  </button>',
249
  $this->menu_id,
250
  $this->menu_id,
251
+ esc_attr( $toggle_theme_class ),
252
  $menu_trigger_content
253
  );
254
 
331
  return $menu_search_wrap;
332
  }
333
 
334
+ /**
335
+ * Function to prepare the the menu additional content section.
336
+ *
337
+ * @since 4.0.0
338
+ *
339
+ * @return HTML|string $content
340
+ */
341
  public function menu_additional_content() {
342
 
343
  $content = '';
344
 
345
  if ( ! empty( $this->options['menu_additional_content'] ) ) {
346
+
347
+ //Remove script tags if found in menu contents.
348
+ $content = preg_replace( '#<script(.*?)>(.*?)</script>#', '', $this->options['menu_additional_content'] );
349
+ $content = do_shortcode( $content );
350
  }
351
 
352
+ $content = sprintf(
353
  '<div id="rmp-menu-additional-content-%s" class="rmp-menu-additional-content">
354
  %s
355
  </div>',
356
+ esc_attr( $this->menu_id ),
357
  $content
358
  );
359
 
360
+ /**
361
+ * Filters the menu additional contents markups.
362
+ *
363
+ * @since 4.1.0
364
+ *
365
+ * @param string $content
366
+ * @param int $menu_id
367
+ *
368
+ */
369
+ $content = apply_filters( 'menu_additional_content_html', $content, $this->menu_id );
370
+
371
+ return $content;
372
  }
373
 
374
  public function rmp_nav_menu_args( $args = null ) {
v4.0.0/inc/classes/class-style-manager.php CHANGED
@@ -288,6 +288,12 @@ class Style_Manager {
288
  $this->enqueue_styles_as_file();
289
  }
290
 
 
 
 
 
 
 
291
  }
292
 
293
  /**
@@ -377,6 +383,11 @@ class Style_Manager {
377
  $menu_trigger_active_color = $options['button_background_colour_active'];
378
  }
379
 
 
 
 
 
 
380
  $menu_trigger_transparent_background = '';
381
  if ( ! empty( $options['button_transparent_background'] ) ) {
382
  $menu_trigger_transparent_background = $options['button_transparent_background'];
@@ -588,6 +599,16 @@ class Style_Manager {
588
  $menu_title_background_hover = $options['menu_title_background_hover_colour'];
589
  }
590
 
 
 
 
 
 
 
 
 
 
 
591
  $menu_title_font_color = '';
592
  if ( ! empty( $options['menu_title_colour'] ) ) {
593
  $menu_title_font_color = $options['menu_title_colour'];
@@ -758,6 +779,11 @@ class Style_Manager {
758
  $menu_item_letter_spacing = $options['menu_text_letter_spacing'];
759
  }
760
 
 
 
 
 
 
761
  $menu_item_border_width = '0';
762
  if ( ! empty( $options['menu_border_width'] ) ) {
763
  $menu_item_border_width = $options['menu_border_width'];
@@ -1051,7 +1077,7 @@ class Style_Manager {
1051
  $submenu_current_item_border_color_hover = $options['submenu_current_item_border_hover_colour'];
1052
  }
1053
 
1054
- $submenu_item_font_size = '0';
1055
  if ( ! empty( $options['submenu_font_size'] ) ) {
1056
  $submenu_item_font_size = $options['submenu_font_size'];
1057
  }
@@ -1254,6 +1280,7 @@ class Style_Manager {
1254
  'menu_trigger_background_color' => $menu_trigger_background_color,
1255
  'menu_trigger_background_color_hover' => $menu_trigger_background_color_hover,
1256
  'menu_trigger_active_color' => $menu_trigger_active_color,
 
1257
  'menu_trigger_transparent_background' => $menu_trigger_transparent_background,
1258
  'menu_trigger_line_color' => $menu_trigger_line_color,
1259
  'menu_trigger_line_color_hover' => $menu_trigger_line_color_hover,
@@ -1296,6 +1323,8 @@ class Style_Manager {
1296
 
1297
  // Menu title options.
1298
  'menu_title_wrap' => $menu_title_wrap,
 
 
1299
  'menu_title_background' => $menu_title_background,
1300
  'menu_title_background_hover' => $menu_title_background_hover,
1301
  'menu_title_font_color' => $menu_title_font_color,
@@ -1378,11 +1407,10 @@ class Style_Manager {
1378
  'menu_current_item_toggle_background_color_hover' => $menu_current_item_toggle_background_color_hover,
1379
  'menu_item_toggle_border_color' => $menu_item_toggle_border_color,
1380
  'menu_item_toggle_border_color_hover' => $menu_item_toggle_border_color_hover,
1381
- 'menu_current_item_toggle_border_color' => $menu_item_toggle_border_color_hover,
1382
  'menu_current_item_toggle_border_color_hover' => $menu_current_item_toggle_border_color_hover,
1383
-
1384
- 'menu_item_toggle_border_width' => $menu_sub_arrow_border_width,
1385
- 'menu_item_toggle_border_width_unit' => $menu_sub_arrow_border_width_unit,
1386
 
1387
  // Sub-level menu items options.
1388
  'submenu_item_height' => $submenu_item_height,
@@ -1401,7 +1429,8 @@ class Style_Manager {
1401
  'submenu_item_font_size_unit' => $submenu_item_font_size_unit,
1402
  'submenu_item_font_family' => $submenu_item_font_family,
1403
  'submenu_item_text_alignment' => $submenu_item_text_alignment,
1404
-
 
1405
  'submenu_item_text_color' => $submenu_item_text_color,
1406
  'submenu_item_text_color_hover' => $submenu_item_text_color_hover,
1407
  'submenu_current_item_text_color' => $submenu_current_item_text_color,
@@ -1451,11 +1480,34 @@ class Style_Manager {
1451
  'sub_menu_transition_speed' => $sub_menu_transition_speed
1452
  );
1453
 
 
 
 
 
 
 
 
 
 
 
 
1454
  $scss = new Compiler();
1455
  $scss->setImportPaths( RMP_PLUGIN_PATH_V4 . '/assets/scss/' );
1456
  $scss->setVariables( $parse_options );
1457
  $css = $scss->compile( '@import "main.scss";' );
1458
 
 
 
 
 
 
 
 
 
 
 
 
 
1459
  return $css;
1460
  }
1461
 
288
  $this->enqueue_styles_as_file();
289
  }
290
 
291
+ /**
292
+ * Fires after frontend scripts are enqueued.
293
+ *
294
+ * @since 4.0.4
295
+ */
296
+ do_action( 'after_rmp_enqueue_frontend_scripts' );
297
  }
298
 
299
  /**
383
  $menu_trigger_active_color = $options['button_background_colour_active'];
384
  }
385
 
386
+ $toggle_button_border_radius = '0';
387
+ if ( ! empty( $options['toggle_button_border_radius'] ) ) {
388
+ $toggle_button_border_radius = $options['toggle_button_border_radius'];
389
+ }
390
+
391
  $menu_trigger_transparent_background = '';
392
  if ( ! empty( $options['button_transparent_background'] ) ) {
393
  $menu_trigger_transparent_background = $options['button_transparent_background'];
599
  $menu_title_background_hover = $options['menu_title_background_hover_colour'];
600
  }
601
 
602
+ $menu_title_font_family = '';
603
+ if ( ! empty( $options['menu_title_font_family'] ) ) {
604
+ $menu_title_font_family = $options['menu_title_font_family'];
605
+ }
606
+
607
+ $menu_title_font_weight = '';
608
+ if ( ! empty( $options['menu_title_font_weight'] ) ) {
609
+ $menu_title_font_weight = $options['menu_title_font_weight'];
610
+ }
611
+
612
  $menu_title_font_color = '';
613
  if ( ! empty( $options['menu_title_colour'] ) ) {
614
  $menu_title_font_color = $options['menu_title_colour'];
779
  $menu_item_letter_spacing = $options['menu_text_letter_spacing'];
780
  }
781
 
782
+ $submenu_text_letter_spacing = '0';
783
+ if ( ! empty( $options['submenu_text_letter_spacing'] ) ) {
784
+ $submenu_text_letter_spacing = $options['submenu_text_letter_spacing'];
785
+ }
786
+
787
  $menu_item_border_width = '0';
788
  if ( ! empty( $options['menu_border_width'] ) ) {
789
  $menu_item_border_width = $options['menu_border_width'];
1077
  $submenu_current_item_border_color_hover = $options['submenu_current_item_border_hover_colour'];
1078
  }
1079
 
1080
+ $submenu_item_font_size = '';
1081
  if ( ! empty( $options['submenu_font_size'] ) ) {
1082
  $submenu_item_font_size = $options['submenu_font_size'];
1083
  }
1280
  'menu_trigger_background_color' => $menu_trigger_background_color,
1281
  'menu_trigger_background_color_hover' => $menu_trigger_background_color_hover,
1282
  'menu_trigger_active_color' => $menu_trigger_active_color,
1283
+ 'toggle_button_border_radius' => $toggle_button_border_radius,
1284
  'menu_trigger_transparent_background' => $menu_trigger_transparent_background,
1285
  'menu_trigger_line_color' => $menu_trigger_line_color,
1286
  'menu_trigger_line_color_hover' => $menu_trigger_line_color_hover,
1323
 
1324
  // Menu title options.
1325
  'menu_title_wrap' => $menu_title_wrap,
1326
+ 'menu_title_font_weight' => $menu_title_font_weight,
1327
+ 'menu_title_font_family' => $menu_title_font_family,
1328
  'menu_title_background' => $menu_title_background,
1329
  'menu_title_background_hover' => $menu_title_background_hover,
1330
  'menu_title_font_color' => $menu_title_font_color,
1407
  'menu_current_item_toggle_background_color_hover' => $menu_current_item_toggle_background_color_hover,
1408
  'menu_item_toggle_border_color' => $menu_item_toggle_border_color,
1409
  'menu_item_toggle_border_color_hover' => $menu_item_toggle_border_color_hover,
1410
+ 'menu_current_item_toggle_border_color' => $menu_current_item_toggle_border_color,
1411
  'menu_current_item_toggle_border_color_hover' => $menu_current_item_toggle_border_color_hover,
1412
+ 'menu_item_toggle_border_width' => $menu_sub_arrow_border_width,
1413
+ 'menu_item_toggle_border_width_unit' => $menu_sub_arrow_border_width_unit,
 
1414
 
1415
  // Sub-level menu items options.
1416
  'submenu_item_height' => $submenu_item_height,
1429
  'submenu_item_font_size_unit' => $submenu_item_font_size_unit,
1430
  'submenu_item_font_family' => $submenu_item_font_family,
1431
  'submenu_item_text_alignment' => $submenu_item_text_alignment,
1432
+ 'submenu_text_letter_spacing' => $submenu_text_letter_spacing,
1433
+
1434
  'submenu_item_text_color' => $submenu_item_text_color,
1435
  'submenu_item_text_color_hover' => $submenu_item_text_color_hover,
1436
  'submenu_current_item_text_color' => $submenu_current_item_text_color,
1480
  'sub_menu_transition_speed' => $sub_menu_transition_speed
1481
  );
1482
 
1483
+ /**
1484
+ * Apply before parse the scss to css.
1485
+ *
1486
+ * @since 4.1.0
1487
+ *
1488
+ * @param array $parse_options Parsed menu settings.
1489
+ * @param int $menu_id Menu Id.
1490
+ * @param array $options Menu options array.
1491
+ */
1492
+ $parse_options = apply_filters( 'rmp_before_parse_scss_to_css', $parse_options, $menu_id, $options );
1493
+
1494
  $scss = new Compiler();
1495
  $scss->setImportPaths( RMP_PLUGIN_PATH_V4 . '/assets/scss/' );
1496
  $scss->setVariables( $parse_options );
1497
  $css = $scss->compile( '@import "main.scss";' );
1498
 
1499
+ /**
1500
+ * Apply after parsed the scss to css.
1501
+ *
1502
+ * @since 4.1.0
1503
+ *
1504
+ * @param string $css Compiled CSS.
1505
+ * @param int $menu_id Menu Id.
1506
+ * @param array $parse_options Parsed menu settings.
1507
+ * @param array $options Menu options array.
1508
+ */
1509
+ $css = apply_filters( 'rmp_after_parse_scss_to_css', $css, $menu_id, $parse_options, $options );
1510
+
1511
  return $css;
1512
  }
1513
 
v4.0.0/inc/classes/class-theme-manager.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
  /**
3
  * This file contain the Theme_Manager class and it's functionalities for menu.
4
- *
5
- * @since 4.0.0
6
  * @author Expresstech System
7
  *
8
  * @package responsive-menu-pro
@@ -11,7 +11,7 @@
11
  namespace RMP\Features\Inc;
12
 
13
  use RMP\Features\Inc\Traits\Singleton;
14
- use responsive_menu_pro\frontend\RMP_Menu;
15
 
16
  // Disable the direct access to this class.
17
  if ( ! defined( 'ABSPATH' ) ) {
@@ -51,17 +51,18 @@ class Theme_Manager {
51
  protected function setup_hooks() {
52
  add_action('wp_ajax_rmp_save_theme', array( $this, 'rmp_save_theme' ) );
53
  add_action('admin_post_rmp_upload_theme_file', array( $this, 'rmp_upload_theme' ) );
 
54
  add_action('wp_ajax_rmp_theme_delete', array( $this, 'rmp_theme_delete' ) );
55
  add_action('wp_ajax_rmp_theme_apply', array( $this, 'rmp_theme_apply' ) );
56
- add_action('wp_ajax_rmp_theme_download', array( $this, 'rmp_theme_download' ) );
57
  }
58
 
 
59
  /**
60
  * Function to get the list of pro theme from store.
 
 
61
  *
62
- * @since 4.0.0 Added this function to call the menu theme API
63
- * @since 4.0.3 Cached the API response
64
- *
65
  * @return array $pro_themes
66
  */
67
  public function get_themes_by_api() {
@@ -88,6 +89,7 @@ class Theme_Manager {
88
  'name' => $product['info']['title'],
89
  'slug' => $product['info']['slug'],
90
  'preview_url' => $product['info']['thumbnail'],
 
91
  'buy_link' => $product['info']['link'],
92
  'price' => $product['pricing']['amount']
93
  );
@@ -103,7 +105,7 @@ class Theme_Manager {
103
 
104
  /**
105
  * Function to apply the theme in the menu.
106
- *
107
  * @since 4.0.0
108
  *
109
  * @return json
@@ -117,14 +119,14 @@ class Theme_Manager {
117
  wp_send_json_error( [ 'message' => __( 'Theme Name Missing', 'responsive-menu-pro' ) ] );
118
  }
119
 
120
- $theme_type = sanitize_text_field( $_POST['theme_type'] );
121
- $menu_id = sanitize_text_field( $_POST['menu_id'] );
122
- $menu_to_use = sanitize_text_field( $_POST['menu_to_use'] );
123
 
124
  if ( 'template' === $theme_type ) {
125
  $theme_option = $this->get_saved_theme_options( $theme_name );
126
  } else {
127
- $theme_option = $this->get_downloaded_theme_settings( $theme_name );
128
  }
129
 
130
  $theme_option['menu_id'] = $menu_id;
@@ -142,50 +144,77 @@ class Theme_Manager {
142
  */
143
  do_action('rmp_theme_apply', $menu_id );
144
 
145
- wp_send_json_error( [ 'message' => __( 'Theme applied', 'responsive-menu-pro' ) ] );
146
 
147
  }
148
 
149
- public function get_downloaded_theme_settings( $theme_name ) {
 
 
 
 
 
 
 
 
 
 
150
  $theme_dir_path = wp_upload_dir()['basedir'] . '/rmp-menu/themes';
151
  $theme_dirs = glob( $theme_dir_path . '/*' , GLOB_ONLYDIR );
152
 
 
 
 
 
 
 
153
  foreach( $theme_dirs as $theme_dir ) {
154
  $config_file = $theme_dir . '/config.json';
155
  if ( file_exists( $config_file ) ) {
156
  $config = json_decode( file_get_contents( $config_file ), true);
157
  if ( $config['name'] == $theme_name ) {
 
158
  $options = json_decode( file_get_contents( $theme_dir . '/options.json' ), true);
159
- return $options;
160
  }
161
  }
162
  }
163
 
164
- return [];
165
- }
166
-
167
- public function rmp_theme_delete() {
168
-
169
- check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
170
-
171
- $theme_name = sanitize_text_field( $_POST['theme_name'] );
172
- if ( empty( $theme_name ) ) {
173
- wp_send_json_error( [ 'message' => __( 'Theme Name Missing', 'responsive-menu-pro' ) ] );
174
- }
175
-
176
- $theme_type = sanitize_text_field( $_POST['theme_type'] );
177
-
178
- if ( 'template' === $theme_type ) {
179
- $this->delete_template( $theme_name );
180
- } else {
181
- $this->delete_theme_folder( $theme_name );
182
  }
183
 
184
- wp_send_json_success( [ 'message' => __( 'Theme deleted', 'responsive-menu-pro' ) ] );
 
 
 
 
 
 
 
 
185
 
 
186
  }
187
 
188
- public function rmp_theme_download() {
 
 
 
 
 
 
 
 
189
 
190
  check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
191
 
@@ -196,67 +225,37 @@ class Theme_Manager {
196
 
197
  $theme_type = sanitize_text_field( $_POST['theme_type'] );
198
 
199
- $theme_option = [];
200
- if ( 'template' === $theme_type ) {
201
- $theme_option = $this->get_saved_theme_options( $theme_name );
202
- } else {
203
- $theme = $this->download_zip( $theme_name );
204
  }
205
 
206
- $theme_options_json = json_encode( $theme_option );
207
-
208
- wp_send_json_success( $theme_options_json );
209
- }
210
-
211
- public function prepare_theme_zip_file( $theme_name, $options ) {
212
- $zip_file_name = $theme_name . '.zip';
213
-
214
- $zip = new ZipArchive();
215
-
216
- if ( $zip->open( $zip_file_name ) === TRUE ) {
217
- $zip->addFile( '/path/to/index.txt', 'newname.txt' );
218
- $zip->close();
219
  } else {
220
- echo 'failed';
221
- }
222
- }
223
-
224
- public function download_zip( $theme_name ) {
225
-
226
- $theme_dir = $this->get_theme_dir( $theme_name );
227
-
228
- if ( empty( $theme_dir ) ) {
229
- return;
230
  }
231
 
232
- $theme_root = wp_upload_dir()['basedir'] . '/rmp-menu/themes';
233
-
234
- // Filename for a zip package
235
- $file_name = strtolower ( preg_replace('/\s+/', '-', $theme_name ) ) . '.zip';
236
- $zip_file = $theme_root.'/'.$file_name;
237
-
238
- $zip = new \ZipArchive();
239
- if ( $zip->open( $zip_file , \ZipArchive::CREATE | \ZipArchive::OVERWRITE ) ) {
240
-
241
- foreach ( glob( $theme_dir . "/*" ) as $file) {
242
- $zip->addFile($file);
243
- }
244
-
245
- $zip->close();
246
- }
247
 
248
- if ( file_exists( $zip_file ) ) {
249
- header('Content-Type: application/zip');
250
- header('Content-Disposition: attachment; filename="'.basename( $zip_file ).'"');
251
- header('Content-Length: ' . filesize($zip_file));
252
- }
253
  }
254
 
 
 
 
 
 
 
 
 
255
  public function get_theme_dir( $theme_name ) {
256
 
 
257
  $theme_dir_path = wp_upload_dir()['basedir'] . '/rmp-menu/themes';
258
  $theme_dirs = glob( $theme_dir_path . '/*' , GLOB_ONLYDIR );
259
 
 
 
 
260
  foreach( $theme_dirs as $theme_dir ) {
261
  $config_file = $theme_dir . '/config.json';
262
  if ( file_exists( $config_file ) ) {
@@ -266,9 +265,17 @@ class Theme_Manager {
266
  }
267
  }
268
  }
 
269
  return false;
270
  }
271
 
 
 
 
 
 
 
 
272
  public function delete_theme_folder( $theme_name ) {
273
 
274
  if ( empty( $theme_name ) ) {
@@ -283,6 +290,13 @@ class Theme_Manager {
283
  $this->delete_files( $theme_dir );
284
  }
285
 
 
 
 
 
 
 
 
286
  public function delete_files( $dir ) {
287
  foreach( glob($dir . '/*') as $file) {
288
  if( is_dir($file)) delete_files($file); else unlink($file);
@@ -290,6 +304,13 @@ class Theme_Manager {
290
  rmdir($dir);
291
  }
292
 
 
 
 
 
 
 
 
293
  public function delete_template( $theme_name ) {
294
  $rmp_themes = get_option( self::$theme_option );
295
 
@@ -329,6 +350,7 @@ class Theme_Manager {
329
  status_header(200);
330
 
331
  $theme = $_FILES['file']['tmp_name'];
 
332
  WP_Filesystem();
333
  $upload_dir = wp_upload_dir()['basedir'] . '/rmp-menu/themes/';
334
  $unzip_file = unzip_file( $theme , $upload_dir );
@@ -346,25 +368,38 @@ class Theme_Manager {
346
  * Returns the theme list with meta info.
347
  *
348
  * @since 4.0.0
 
349
  *
350
  * @return array $theme
351
  */
352
  public function get_themes_from_uploads() {
353
 
354
- $theme_url = wp_upload_dir()['baseurl'] . '/rmp-menu/themes';
355
- $theme_dir_path = wp_upload_dir()['basedir'] . '/rmp-menu/themes';
 
 
356
  $theme_dirs = glob( $theme_dir_path . '/*' , GLOB_ONLYDIR );
357
 
 
 
 
358
  $themes = [];
 
 
 
 
 
 
 
 
 
359
 
360
- foreach( $theme_dirs as $theme_dir ) {
361
- $config_file = $theme_dir . '/config.json';
362
  if ( file_exists( $config_file ) ) {
363
  $config = json_decode( file_get_contents( $config_file ), true);
364
  $themes[basename($theme_dir)]['theme_name'] = $config['name'];
365
  $themes[basename($theme_dir)]['theme_version'] = $config['version'];
366
- $themes[basename($theme_dir)]['status'] = ! empty( $config['is_paid'] ) ? 'Pro' : 'Free';
367
- $themes[basename($theme_dir)]['theme_preview_url'] = $theme_url .'/'. basename($theme_dir) . '/preview.png';
368
  }
369
  }
370
 
@@ -387,6 +422,7 @@ class Theme_Manager {
387
  }
388
 
389
  $theme_dirs = [];
 
390
  foreach( $themes as $theme => $theme_meta ) {
391
 
392
  // Replace the these older themes dir name as slug.
@@ -423,12 +459,6 @@ class Theme_Manager {
423
  parse_str( $_POST['form'], $options );
424
  $options = $options['menu'];
425
 
426
- foreach( $options['mega_menu'] as $key ) {
427
- $options['mega_menu_item'][$key] = get_post_meta( $menu_id, '_rmp_mega_menu_' . $key );
428
- }
429
-
430
- unset( $options['mega_menu'] );
431
-
432
  $rmp_themes = get_option( self::$theme_option );
433
  if ( empty( $rmp_themes ) || ! is_array( $rmp_themes ) ) {
434
  $rmp_theme = [];
@@ -483,46 +513,58 @@ class Theme_Manager {
483
  return [];
484
  }
485
 
486
- public function rmp_saves_theme_list_html() {
 
 
 
 
 
 
 
 
487
 
488
  $rmp_themes = $this->saved_theme_list();
489
 
 
490
  if ( empty( $rmp_themes ) ) {
491
- return;
 
 
 
 
 
 
492
  }
493
 
 
494
  $html = '';
495
  foreach( $rmp_themes as $theme_name ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
496
  $html .= sprintf(
497
  '<div class="rmp-theme-title ">
498
  <span class="item-title"> %1$s </span>
499
  <span class="item-controls">
500
- <a theme-name="%1$s" class="rmp-theme-apply" theme-type="template">Apply</a>
501
  </span>
502
  </div>',
503
- esc_attr( $theme_name )
504
- );
505
- }
506
-
507
- return $html;
508
- }
509
-
510
- public function rmp_saved_theme_list_for_new_menu() {
511
-
512
- $rmp_themes = $this->saved_theme_list();
513
-
514
- if ( empty( $rmp_themes ) ) {
515
- return;
516
- }
517
-
518
- $html = '';
519
- foreach( $rmp_themes as $theme_name ) {
520
- $html .= sprintf('
521
- <div class="rmp-theme-item">
522
- <input type="radio" class="rmp-theme-option" name="menu_theme" id="%1$s" value="%1$s" theme-type="template"/>
523
- <label class="rmp-theme-title" for="%1$s"> %1$s </label>
524
- </div>',
525
- esc_attr( $theme_name )
526
  );
527
  }
528
 
@@ -533,18 +575,13 @@ class Theme_Manager {
533
  * Design the theme list which are from stored.
534
  *
535
  * @since 4.0.0
536
- *
537
  * @return HTML|string $html
538
  */
539
- public function get_themes_from_theme_store( $in_wizard = false ) {
540
-
541
- $themes = $this->get_themes_by_api();
542
-
543
- if ( empty( $themes ) && $in_wizard ) {
544
- return __( '<h2>Coming soon..</h2>', 'responsive-menu-pro' );
545
- }
546
 
 
547
  $uploaded_themes = $this->get_uploaded_theme_dir();
 
548
  if ( empty( $uploaded_themes ) || ! is_array( $uploaded_themes ) ) {
549
  $uploaded_themes = [];
550
  }
@@ -557,11 +594,19 @@ class Theme_Manager {
557
  continue;
558
  }
559
 
560
- $action_label = __( 'BUY NOW','responsive-menu-pro' );
561
- $status = __( 'Pro','responsive-menu-pro' );
562
  if ( 0 == $theme['price'] ) {
563
- $status = __( 'Free','responsive-menu-pro' );
564
- $action_label = __( 'DOWNLOAD','responsive-menu-pro' );
 
 
 
 
 
 
 
 
 
565
  }
566
 
567
  $html .= sprintf(
@@ -569,24 +614,34 @@ class Theme_Manager {
569
  <div class="rmp-item-card">
570
  <figure class="rmp-item-card_image">
571
  <img src="%1$s" alt="%2$s" loading="lazy"/>
572
- <figcaption class="rmp-item-card_label %3$s">
573
- <span class="dashicons dashicons-star-filled "></span> %3$s
574
- </figcaption>
575
  </figure>
576
- <div class="rmp-item-card_contents">
577
- <h4> %2$s </h4>
578
- </div>
579
- <div class="rmp-item-card_action">
580
- <a href="%4$s" target="_blank" class="button %5$s"> %5$s </a>
581
- </div>
 
 
 
582
  </div>
583
  </li>',
584
  esc_url( $theme['preview_url']),
585
  esc_attr( $theme['name'] ),
586
- $status,
587
  esc_url( $theme['buy_link'] ),
588
- $action_label
589
- );
 
 
 
 
 
 
 
 
 
 
 
590
  }
591
 
592
  return $html;
@@ -616,39 +671,321 @@ class Theme_Manager {
616
  return $all_themes;
617
  }
618
 
 
 
 
 
 
 
 
619
  public function get_theme_preview_url( $theme_name ) {
620
 
621
- $theme_url = wp_upload_dir()['baseurl'] . '/rmp-menu/themes';
622
- $theme_dir_path = wp_upload_dir()['basedir'] . '/rmp-menu/themes';
 
 
623
  $theme_dirs = glob( $theme_dir_path . '/*' , GLOB_ONLYDIR );
624
 
625
- foreach( $theme_dirs as $theme_dir ) {
626
- $config_file = $theme_dir . '/config.json';
 
 
 
 
 
 
 
 
 
 
 
627
  if ( file_exists( $config_file ) ) {
628
  $config = json_decode( file_get_contents( $config_file ), true);
629
  if ( $config['name'] == $theme_name ) {
630
- return $theme_url .'/'. basename($theme_dir) . '/preview.png';
631
  }
632
  }
633
  }
634
- return '';
 
635
  }
636
 
 
 
 
 
 
 
 
637
  public function get_theme_thumbnail( $theme_name, $theme_type ) {
638
- if( 'Default' == $theme_name || $theme_type != 'downloaded' ) {
 
 
639
  return sprintf( '<img src="%s" class="theme-thumbnail">',
640
  esc_url( RMP_PLUGIN_URL_V4 .'/assets/images/no-preview.jpeg' )
641
  );
642
- } else {
643
- $theme_url = $this->get_theme_preview_url( $theme_name );
 
 
644
  return sprintf( '<img src="%s" class="theme-thumbnail">',
645
- esc_url( $theme_url )
646
  );
647
  }
 
 
 
 
 
 
 
 
 
 
 
648
  }
649
 
650
- }
 
 
 
 
 
 
 
651
 
 
 
 
652
 
 
 
653
 
 
 
 
 
 
 
 
 
 
 
654
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  /**
3
  * This file contain the Theme_Manager class and it's functionalities for menu.
4
+ *
5
+ * @version 4.0.0
6
  * @author Expresstech System
7
  *
8
  * @package responsive-menu-pro
11
  namespace RMP\Features\Inc;
12
 
13
  use RMP\Features\Inc\Traits\Singleton;
14
+ use RMP\Features\Inc\Option_Manager;
15
 
16
  // Disable the direct access to this class.
17
  if ( ! defined( 'ABSPATH' ) ) {
51
  protected function setup_hooks() {
52
  add_action('wp_ajax_rmp_save_theme', array( $this, 'rmp_save_theme' ) );
53
  add_action('admin_post_rmp_upload_theme_file', array( $this, 'rmp_upload_theme' ) );
54
+ add_action( 'wp_ajax_rmp_menu_theme_upload', [ $this, 'rmp_theme_upload_from_wizard' ] );
55
  add_action('wp_ajax_rmp_theme_delete', array( $this, 'rmp_theme_delete' ) );
56
  add_action('wp_ajax_rmp_theme_apply', array( $this, 'rmp_theme_apply' ) );
57
+ add_action('wp_ajax_rmp_call_theme_api', array( $this, 'update_theme_api_cache' ) );
58
  }
59
 
60
+
61
  /**
62
  * Function to get the list of pro theme from store.
63
+ *
64
+ * @since 4.0.0
65
  *
 
 
 
66
  * @return array $pro_themes
67
  */
68
  public function get_themes_by_api() {
89
  'name' => $product['info']['title'],
90
  'slug' => $product['info']['slug'],
91
  'preview_url' => $product['info']['thumbnail'],
92
+ 'demo_link' => ! empty( $product['info']['demo_link'] ) ? $product['info']['demo_link'] : '',
93
  'buy_link' => $product['info']['link'],
94
  'price' => $product['pricing']['amount']
95
  );
105
 
106
  /**
107
  * Function to apply the theme in the menu.
108
+ *
109
  * @since 4.0.0
110
  *
111
  * @return json
119
  wp_send_json_error( [ 'message' => __( 'Theme Name Missing', 'responsive-menu-pro' ) ] );
120
  }
121
 
122
+ $theme_type = sanitize_text_field( $_POST['theme_type'] );
123
+ $menu_id = sanitize_text_field( $_POST['menu_id'] );
124
+ $menu_to_use = sanitize_text_field( $_POST['menu_to_use'] );
125
 
126
  if ( 'template' === $theme_type ) {
127
  $theme_option = $this->get_saved_theme_options( $theme_name );
128
  } else {
129
+ $theme_option = $this->get_available_theme_settings( $theme_name );
130
  }
131
 
132
  $theme_option['menu_id'] = $menu_id;
144
  */
145
  do_action('rmp_theme_apply', $menu_id );
146
 
147
+ wp_send_json_success( [ 'message' => __( 'Theme applied', 'responsive-menu-pro' ) ] );
148
 
149
  }
150
 
151
+ /**
152
+ * Function to get the theme options from availbale theme.
153
+ *
154
+ * @since 4.0.0
155
+ * @since 4.1.0 Add plugin bundle themes, Rename the function and Check minimum version support.
156
+ *
157
+ * @return array
158
+ */
159
+ public function get_available_theme_settings( $theme_name ) {
160
+
161
+ //Themes from uploads directory.
162
  $theme_dir_path = wp_upload_dir()['basedir'] . '/rmp-menu/themes';
163
  $theme_dirs = glob( $theme_dir_path . '/*' , GLOB_ONLYDIR );
164
 
165
+ //Themes from plugin bundle.
166
+ $theme_dirs = array_merge( glob( RMP_PLUGIN_PATH_V4 . '/themes/*' , GLOB_ONLYDIR ), $theme_dirs );
167
+
168
+ $options = [];
169
+ $min_version = '4.0.0';
170
+
171
  foreach( $theme_dirs as $theme_dir ) {
172
  $config_file = $theme_dir . '/config.json';
173
  if ( file_exists( $config_file ) ) {
174
  $config = json_decode( file_get_contents( $config_file ), true);
175
  if ( $config['name'] == $theme_name ) {
176
+ $min_version = ! empty( $config['min_rm_version'] ) ? $config['min_rm_version'] : '4.0.0';
177
  $options = json_decode( file_get_contents( $theme_dir . '/options.json' ), true);
178
+ break;
179
  }
180
  }
181
  }
182
 
183
+ // Check menu theme minimum version compatibility.
184
+ if ( version_compare( RMP_PLUGIN_VERSION , $min_version , '<' ) ) {
185
+ wp_send_json_error(
186
+ [
187
+ 'message' => sprintf(
188
+ '%s required Responsive Menu %s version or higher. Please update the plugin with the latest version.',
189
+ $theme_name,
190
+ $min_version
191
+ )
192
+ ]
193
+ );
 
 
 
 
 
 
 
194
  }
195
 
196
+ /**
197
+ * Filters the theme setting options.
198
+ *
199
+ * @since 4.0.1
200
+ *
201
+ * @param array $option
202
+ * @param string $theme_name
203
+ */
204
+ $options = apply_filters( 'get_available_theme_settings', $options, $theme_name );
205
 
206
+ return $options;
207
  }
208
 
209
+ /**
210
+ * Function to delete the theme.
211
+ *
212
+ * @since 4.0.0
213
+ * @since 4.1.0 Added condition for active theme.
214
+ *
215
+ * @return json
216
+ */
217
+ public function rmp_theme_delete() {
218
 
219
  check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
220
 
225
 
226
  $theme_type = sanitize_text_field( $_POST['theme_type'] );
227
 
228
+ if ( $this->is_active_theme( $theme_name, $theme_type ) ) {
229
+ wp_send_json_error( [ 'message' => __( 'This theme is currently active. Please choose another theme and then try deleting.', 'responsive-menu-pro' ) ] );
 
 
 
230
  }
231
 
232
+ if ( 'template' === $theme_type ) {
233
+ $this->delete_template( $theme_name );
 
 
 
 
 
 
 
 
 
 
 
234
  } else {
235
+ $this->delete_theme_folder( $theme_name );
 
 
 
 
 
 
 
 
 
236
  }
237
 
238
+ wp_send_json_success( [ 'message' => __( 'Theme deleted', 'responsive-menu-pro' ) ] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
 
 
 
 
 
 
240
  }
241
 
242
+ /**
243
+ * Function to return the theme dir path.
244
+ *
245
+ * @since 4.0.0
246
+ * @since 4.1.0 Added the plugin bundle theme.
247
+ *
248
+ * @return string
249
+ */
250
  public function get_theme_dir( $theme_name ) {
251
 
252
+ //Themes from uploads directory.
253
  $theme_dir_path = wp_upload_dir()['basedir'] . '/rmp-menu/themes';
254
  $theme_dirs = glob( $theme_dir_path . '/*' , GLOB_ONLYDIR );
255
 
256
+ //Themes from plugin bundle.
257
+ $theme_dirs = array_merge( glob( RMP_PLUGIN_PATH_V4 . '/themes/*' , GLOB_ONLYDIR ), $theme_dirs );
258
+
259
  foreach( $theme_dirs as $theme_dir ) {
260
  $config_file = $theme_dir . '/config.json';
261
  if ( file_exists( $config_file ) ) {
265
  }
266
  }
267
  }
268
+
269
  return false;
270
  }
271
 
272
+ /**
273
+ * Function to delete the theme dir.
274
+ *
275
+ * @since 4.0.0
276
+ *
277
+ * @return void
278
+ */
279
  public function delete_theme_folder( $theme_name ) {
280
 
281
  if ( empty( $theme_name ) ) {
290
  $this->delete_files( $theme_dir );
291
  }
292
 
293
+ /**
294
+ * Function to delete the theme files.
295
+ *
296
+ * @since 4.0.0
297
+ *
298
+ * @return void
299
+ */
300
  public function delete_files( $dir ) {
301
  foreach( glob($dir . '/*') as $file) {
302
  if( is_dir($file)) delete_files($file); else unlink($file);
304
  rmdir($dir);
305
  }
306
 
307
+ /**
308
+ * Function to delete the saved template.
309
+ *
310
+ * @since 4.0.0
311
+ *
312
+ * @return boolean
313
+ */
314
  public function delete_template( $theme_name ) {
315
  $rmp_themes = get_option( self::$theme_option );
316
 
350
  status_header(200);
351
 
352
  $theme = $_FILES['file']['tmp_name'];
353
+
354
  WP_Filesystem();
355
  $upload_dir = wp_upload_dir()['basedir'] . '/rmp-menu/themes/';
356
  $unzip_file = unzip_file( $theme , $upload_dir );
368
  * Returns the theme list with meta info.
369
  *
370
  * @since 4.0.0
371
+ * @since 4.1.0 Added bundle themes.
372
  *
373
  * @return array $theme
374
  */
375
  public function get_themes_from_uploads() {
376
 
377
+ //Get theme from uploads directory.
378
+ $upload_dir = wp_upload_dir();
379
+ $theme_url = $upload_dir['baseurl'] . '/rmp-menu/themes';
380
+ $theme_dir_path = $upload_dir['basedir'] . '/rmp-menu/themes';
381
  $theme_dirs = glob( $theme_dir_path . '/*' , GLOB_ONLYDIR );
382
 
383
+ //Get themes from plugin bundle.
384
+ $theme_dirs = array_merge( glob( RMP_PLUGIN_PATH_V4 . '/themes/*' , GLOB_ONLYDIR ), $theme_dirs );
385
+
386
  $themes = [];
387
+ foreach( $theme_dirs as $theme_dir ) {
388
+
389
+ $config_file = $theme_dir . '/config.json';
390
+ $theme_preview_url = $theme_url .'/'. basename( $theme_dir ) . '/preview.png';
391
+
392
+ //Theme preview image from plugin bundle.
393
+ if ( strpos( $theme_dir , 'uploads' ) == false ) {
394
+ $theme_preview_url = plugin_dir_url( $config_file ) . '/preview.png';
395
+ }
396
 
 
 
397
  if ( file_exists( $config_file ) ) {
398
  $config = json_decode( file_get_contents( $config_file ), true);
399
  $themes[basename($theme_dir)]['theme_name'] = $config['name'];
400
  $themes[basename($theme_dir)]['theme_version'] = $config['version'];
401
+ $themes[basename($theme_dir)]['demo_link'] = ! empty( $config['demo_link'] ) ? $config['demo_link'] : '';
402
+ $themes[basename($theme_dir)]['theme_preview_url'] = $theme_preview_url;
403
  }
404
  }
405
 
422
  }
423
 
424
  $theme_dirs = [];
425
+
426
  foreach( $themes as $theme => $theme_meta ) {
427
 
428
  // Replace the these older themes dir name as slug.
459
  parse_str( $_POST['form'], $options );
460
  $options = $options['menu'];
461
 
 
 
 
 
 
 
462
  $rmp_themes = get_option( self::$theme_option );
463
  if ( empty( $rmp_themes ) || ! is_array( $rmp_themes ) ) {
464
  $rmp_theme = [];
513
  return [];
514
  }
515
 
516
+ /**
517
+ * Function to return the list of saved template themes.
518
+ *
519
+ * @since 4.0.0
520
+ * @since Updated the funtion to add the condition
521
+ *
522
+ * @return HTML|string
523
+ */
524
+ public function rmp_saves_theme_template_list( $in_customizer = false ) {
525
 
526
  $rmp_themes = $this->saved_theme_list();
527
 
528
+ //Check the list is empty or not.
529
  if ( empty( $rmp_themes ) ) {
530
+ return sprintf(
531
+ '<div class="rmp-theme-page-empty">
532
+ <span class="rmp-menu-library-blank-icon dashicons dashicons-welcome-widgets-menus"></span>
533
+ <h3 class="rmp-menu-library-title"> %s </h3>
534
+ </div>',
535
+ __( 'You have no template !', 'responsive-menu-pro' )
536
+ );
537
  }
538
 
539
+ //Prepare the saved theme list and wrapped into html.
540
  $html = '';
541
  foreach( $rmp_themes as $theme_name ) {
542
+
543
+ $actions = '';
544
+ if ( $in_customizer ) {
545
+ $actions = sprintf( '<a theme-name="%1$s" class="rmp-theme-apply" theme-type="template">%2$s</a>',
546
+ esc_attr( $theme_name ),
547
+ __('Apply','responsive-menu-pro')
548
+ );
549
+
550
+ } else {
551
+ $actions = sprintf(
552
+ '<input type="radio" class="rmp-theme-option" name="menu_theme" id="%1$s" value="%1$s" theme-type="template"/>
553
+ <label theme-name="%1$s" class="rmp-theme-use" for="%1$s">%2$s</label>',
554
+ esc_attr( $theme_name ),
555
+ __('Use','responsive-menu-pro')
556
+ );
557
+ }
558
+
559
  $html .= sprintf(
560
  '<div class="rmp-theme-title ">
561
  <span class="item-title"> %1$s </span>
562
  <span class="item-controls">
563
+ %2$s
564
  </span>
565
  </div>',
566
+ esc_attr( $theme_name ),
567
+ $actions
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
568
  );
569
  }
570
 
575
  * Design the theme list which are from stored.
576
  *
577
  * @since 4.0.0
 
578
  * @return HTML|string $html
579
  */
580
+ public function get_themes_from_theme_store() {
 
 
 
 
 
 
581
 
582
+ $themes = $this->get_themes_by_api();
583
  $uploaded_themes = $this->get_uploaded_theme_dir();
584
+
585
  if ( empty( $uploaded_themes ) || ! is_array( $uploaded_themes ) ) {
586
  $uploaded_themes = [];
587
  }
594
  continue;
595
  }
596
 
597
+ $action_label = __( 'Purchase','responsive-menu-pro' );
 
598
  if ( 0 == $theme['price'] ) {
599
+ $action_label = __( 'Download','responsive-menu-pro' );
600
+ }
601
+
602
+ $demo_link = '';
603
+ if ( ! empty( $theme['demo_link' ] ) ) {
604
+ $demo_link = sprintf(
605
+ '<a href="%s" alt="%s" target="_blank" class="button">%s</a>',
606
+ esc_url( $theme['demo_link' ] ),
607
+ esc_attr( $theme['name'] ),
608
+ __( 'View Demo','responsive-menu-pro' )
609
+ );
610
  }
611
 
612
  $html .= sprintf(
614
  <div class="rmp-item-card">
615
  <figure class="rmp-item-card_image">
616
  <img src="%1$s" alt="%2$s" loading="lazy"/>
 
 
 
617
  </figure>
618
+ <div class="rmp-item-card-backside">
619
+ <div class="rmp-item-card_contents">
620
+ <h4> %2$s </h4>
621
+ </div>
622
+ <div class="rmp-item-card_action">
623
+ %5$s
624
+ <a href="%3$s" target="_blank" class="button btn-blue %4$s"> %4$s </a>
625
+ </div>
626
+ </div>
627
  </div>
628
  </li>',
629
  esc_url( $theme['preview_url']),
630
  esc_attr( $theme['name'] ),
 
631
  esc_url( $theme['buy_link'] ),
632
+ $action_label,
633
+ $demo_link
634
+ );
635
+ }
636
+
637
+ if ( empty( $html ) ) {
638
+ return sprintf(
639
+ '<div class="rmp-theme-page-empty">
640
+ <span class="rmp-menu-library-blank-icon fas fa-file-download"></span>
641
+ <h3 class="rmp-menu-library-title"> %s </h3>
642
+ </div>',
643
+ __( 'No theme available !', 'responsive-menu-pro' )
644
+ );
645
  }
646
 
647
  return $html;
671
  return $all_themes;
672
  }
673
 
674
+ /**
675
+ * Returns the thumbnail of theme.
676
+ *
677
+ * @since 4.0.0
678
+ *
679
+ * @return string|url|null
680
+ */
681
  public function get_theme_preview_url( $theme_name ) {
682
 
683
+ //Get theme from uploads directory.
684
+ $upload_dir = wp_upload_dir();
685
+ $theme_url = $upload_dir['baseurl'] . '/rmp-menu/themes';
686
+ $theme_dir_path = $upload_dir['basedir'] . '/rmp-menu/themes';
687
  $theme_dirs = glob( $theme_dir_path . '/*' , GLOB_ONLYDIR );
688
 
689
+ //Get themes from plugin bundle.
690
+ $theme_dirs = array_merge( glob( RMP_PLUGIN_PATH_V4 . '/themes/*' , GLOB_ONLYDIR ), $theme_dirs );
691
+
692
+ foreach( $theme_dirs as $theme_dir ) {
693
+
694
+ $config_file = $theme_dir . '/config.json';
695
+ $theme_preview_url = $theme_url .'/'. basename( $theme_dir ) . '/preview.png';
696
+
697
+ //Theme preview image from plugin bundle.
698
+ if ( strpos( $theme_dir , 'uploads' ) == false ) {
699
+ $theme_preview_url = plugin_dir_url( $config_file ) . '/preview.png';
700
+ }
701
+
702
  if ( file_exists( $config_file ) ) {
703
  $config = json_decode( file_get_contents( $config_file ), true);
704
  if ( $config['name'] == $theme_name ) {
705
+ return $theme_preview_url;
706
  }
707
  }
708
  }
709
+
710
+ return;
711
  }
712
 
713
+ /**
714
+ * Function to return the theme thumbnail element.
715
+ *
716
+ * @since 4.0.0
717
+ *
718
+ * @return strinh|HTML|null
719
+ */
720
  public function get_theme_thumbnail( $theme_name, $theme_type ) {
721
+
722
+ //If theme is saved template.
723
+ if ( $theme_type == 'template' ) {
724
  return sprintf( '<img src="%s" class="theme-thumbnail">',
725
  esc_url( RMP_PLUGIN_URL_V4 .'/assets/images/no-preview.jpeg' )
726
  );
727
+ }
728
+
729
+ //If theme is default.
730
+ if( 'default' == $theme_type ) {
731
  return sprintf( '<img src="%s" class="theme-thumbnail">',
732
+ esc_url( RMP_PLUGIN_URL_V4 .'/assets/images/default-theme-preview.png' )
733
  );
734
  }
735
+
736
+ $theme_preview_url = $this->get_theme_preview_url( $theme_name );
737
+ if ( empty( $theme_preview_url ) ) {
738
+ return;
739
+ }
740
+
741
+ return sprintf(
742
+ '<img src="%s" class="theme-thumbnail">',
743
+ esc_url( $theme_preview_url )
744
+ );
745
+
746
  }
747
 
748
+ /**
749
+ * Returns the theme index file path.
750
+ *
751
+ * @since 4.1.0
752
+ *
753
+ * @return string;
754
+ */
755
+ public function get_theme_index_file( $theme_name ) {
756
 
757
+ //Get theme from uploads directory.
758
+ $theme_dir_path = wp_upload_dir()['basedir'] . '/rmp-menu/themes';
759
+ $theme_dirs = glob( $theme_dir_path . '/*' , GLOB_ONLYDIR );
760
 
761
+ //Get themes from plugin bundle.
762
+ $theme_dirs = array_merge( glob( RMP_PLUGIN_PATH_V4 . '/themes/*' , GLOB_ONLYDIR ), $theme_dirs );
763
 
764
+ foreach( $theme_dirs as $theme_dir ) {
765
+ $config_file = $theme_dir . '/config.json';
766
+
767
+ if ( file_exists( $config_file ) ) {
768
+ $config = json_decode( file_get_contents( $config_file ), true);
769
+ if ( $config['name'] == $theme_name && ! empty( $config['index'] ) ) {
770
+ return $theme_dir . '/' . $config['index'];
771
+ }
772
+ }
773
+ }
774
 
775
+ return;
776
+ }
777
+
778
+ /**
779
+ * Returns all uploaded theme list.
780
+ *
781
+ * @since 4.1.0
782
+ *
783
+ * @return array
784
+ */
785
+ public function get_menu_active_themes() {
786
+
787
+ $active_themes = [];
788
+ $themes = $this->get_themes_from_uploads();
789
+ foreach ( $themes as $key => $theme ) {
790
+
791
+ if ( empty( $theme['theme_name'] ) ) {
792
+ continue;
793
+ }
794
+
795
+ $active_themes[ $key ] = $theme['theme_name'];
796
+ }
797
+
798
+ return $active_themes;
799
+ }
800
+
801
+ /**
802
+ * Check theme is active or not.
803
+ *
804
+ * @since 4.1.0
805
+ *
806
+ * @return bool
807
+ */
808
+ public function is_active_theme( $theme_name, $theme_type ) {
809
+
810
+ if ( empty( $theme_name ) || empty( $theme_type ) ) {
811
+ return false;
812
+ }
813
+
814
+ $option_manager = Option_Manager::get_instance();
815
+ $menu_ids = get_all_rmp_menu_ids();
816
+
817
+ foreach ( $menu_ids as $menu_id ) {
818
+ $options = $option_manager->get_options( $menu_id );
819
+
820
+ if ( empty( $options['menu_theme'] ) || empty( $options['theme_type'] ) ) {
821
+ continue;
822
+ }
823
+
824
+ if ( $options['menu_theme'] == $theme_name && $options['theme_type'] == $theme_type ) {
825
+ return true;
826
+ }
827
+ }
828
+
829
+ return false;
830
+ }
831
+
832
+ /**
833
+ * Function to returns the available theme list.
834
+ *
835
+ * @since 4.1.0
836
+ * @return HTML|string $html
837
+ */
838
+ public function get_available_themes( $in_customizer = false ) {
839
+
840
+ $html = '<ul class="rmp_theme_grids">';
841
+
842
+ if( ! $in_customizer ) {
843
+ $html .= sprintf(
844
+ '<li class="rmp_theme_grid_item">
845
+ <input type="radio" checked id="default" class="rmp-theme-option" name="menu_theme" value="" theme-type="default"/>
846
+ <label class="rmp-item-card default-item" for="default">
847
+ <figure class="rmp-item-card_image">
848
+ <img src="%1$s" alt="%2$s" loading="lazy"/>
849
+ </figure>
850
+ <div class="rmp-item-card-backside">
851
+ <div class="rmp-item-card_contents">
852
+ <h4> %2$s </h4>
853
+ </div>
854
+ </div>
855
+ </label>
856
+ </li>',
857
+ esc_url( RMP_PLUGIN_URL_V4 .'/assets/images/default-theme-preview.png' ),
858
+ __( 'Default Theme', 'responsive-menu-pro')
859
+ );
860
+ }
861
+
862
+ $downloaded_themes = $this->get_themes_from_uploads();
863
+ foreach( $downloaded_themes as $theme ) {
864
+ $id = 'rmp-theme-' . preg_replace('/\s+/', '', $theme['theme_name'] );
865
+
866
+ $demo_link = '';
867
+ if ( ! empty( $theme['demo_link' ] ) ) {
868
+ $demo_link = sprintf(
869
+ '<a href="%s" alt="%s" target="_blank" class="button">%s</a>',
870
+ esc_url( $theme['demo_link' ] ),
871
+ esc_attr( $theme['theme_name'] ),
872
+ __( 'View Demo','responsive-menu-pro' )
873
+ );
874
+ }
875
+
876
+ $select_option = $apply_button = '';
877
+ if ( $in_customizer ) {
878
+ $apply_button = sprintf( '<button class="button btn-blue rmp-theme-apply" theme-name="%s" theme-type="downloaded" >%s</button>',
879
+ esc_html( $theme['theme_name'] ),
880
+ __('Apply', 'responsive-menu-pro')
881
+ );
882
+ } else {
883
+ $select_option = sprintf(
884
+ '<input type="radio" id="%1$s" theme-type="downloaded" class="rmp-theme-option" name="menu_theme" value="%2$s"/>',
885
+ esc_attr( $id ),
886
+ esc_html( $theme['theme_name'] )
887
+ );
888
+ }
889
+
890
+ $html .= sprintf('
891
+ <li class="rmp_theme_grid_item">
892
+ %5$s
893
+ <label class="rmp-item-card" for="%1$s">
894
+ <figure class="rmp-item-card_image">
895
+ <img src="%3$s" alt="%2$s" loading="lazy"/>
896
+ </figure>
897
+ <div class="rmp-item-card-backside">
898
+ <div class="rmp-item-card_contents">
899
+ <h4> %2$s </h4>
900
+ </div>
901
+ <div class="rmp-item-card_action">
902
+ %4$s
903
+ %6$s
904
+ </div>
905
+ </div>
906
+ </label>
907
+ </li>',
908
+ esc_attr( $id ),
909
+ esc_html( $theme['theme_name'] ),
910
+ esc_url( $theme['theme_preview_url'] ),
911
+ $demo_link,
912
+ $select_option,
913
+ $apply_button
914
+ );
915
+ }
916
+
917
+ $html .= '</ul>';
918
+
919
+ return $html;
920
+ }
921
+
922
+ /**
923
+ * Function to upload the theme by ajax.
924
+ *
925
+ * @since 4.1.0
926
+ *
927
+ * @return json
928
+ */
929
+ public function rmp_theme_upload_from_wizard() {
930
+
931
+ //Check nonce to verify the authenticate upload file.
932
+ check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
933
+
934
+ //Check if files are empty then return error message.
935
+ if ( empty( $_FILES['file']['tmp_name'] ) ) {
936
+ wp_send_json_error(
937
+ [ 'message' => __( 'File not found !', 'responsive-menu-pro' )]
938
+ );
939
+ }
940
+
941
+ //Upload the file in upload directory.
942
+ status_header(200);
943
+ WP_Filesystem();
944
+ $upload_dir = wp_upload_dir()['basedir'] . '/rmp-menu/themes/';
945
+ $unzip_file = unzip_file( $_FILES['file']['tmp_name'] , $upload_dir );
946
+
947
+ if ( is_wp_error( $unzip_file ) ) {
948
+ return wp_send_json_error(
949
+ [ 'message' => $unzip_file->get_error_message() ]
950
+ );
951
+ }
952
+
953
+ //Check the request origin either from customizer or create menu page.
954
+ $is_customizer_request = false;
955
+ if ( ! empty( $_SERVER[ 'HTTP_REFERER' ] ) ) {
956
+ parse_str( parse_url( $_SERVER[ 'HTTP_REFERER' ] )['query'], $params );
957
+ if ( ! empty( $params['action'] ) && ! empty( $params['editor'] ) ) {
958
+ $is_customizer_request = true;
959
+ }
960
+ }
961
+
962
+ //Return the response
963
+ return wp_send_json_success(
964
+ [
965
+ 'message' => __( 'Theme is uploaded successfully', 'responsive-menu-pro' ),
966
+ 'html' => $this->get_available_themes( $is_customizer_request )
967
+ ]
968
+ );
969
+ }
970
+
971
+ /**
972
+ * Function to update the theme api cached data.
973
+ *
974
+ * @since 4.1.0
975
+ *
976
+ * @return json
977
+ */
978
+ public function update_theme_api_cache() {
979
+
980
+ //Check nonce to verify the authenticate upload file.
981
+ check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
982
+
983
+ return wp_send_json_success(
984
+ [
985
+ 'message' => __( 'Cache data updated !', 'responsive-menu-pro' ),
986
+ 'html' => $this->get_themes_from_theme_store()
987
+ ]
988
+ );
989
+ }
990
+
991
+ }
v4.0.0/inc/helpers/default-options.php CHANGED
@@ -732,399 +732,344 @@ function rmp_all_glyph_icons() {
732
  */
733
  function rmp_get_default_options() {
734
 
735
- $default_options = array (
736
- //Initial Setup -> Device breakpoints
737
- 'mobile_breakpoint' => 600,
738
- 'tablet_breakpoint' => 8000,
739
-
740
- //Initial Setup -> Menu settings
741
- 'menu_name' => '',
742
- 'menu_to_use' => '',
743
- //'current_theme_location' => 'off',
744
- 'use_desktop_menu' => 'on',
745
- 'use_mobile_menu' => 'on',
746
- 'use_tablet_menu' => 'on',
747
- 'menu_display_on' => 'all-pages',
748
- 'menu_show_on_pages' => '',
749
- 'different_menu_for_mobile' => 'off',
750
- 'menu_to_use_in_mobile' => '',
751
- 'menu_to_hide' => '',
752
-
753
- //Container -> Title, Image
754
- 'menu_title' => '',
755
- 'menu_title_alignment' => 'left',
756
- 'menu_title_font_size' => 14,
757
- 'menu_title_font_size_unit' => 'px',
758
- 'menu_title_colour' => '#fff',
759
- 'menu_title_hover_colour' => '#fff',
760
- 'menu_title_background_colour' => '',
761
- 'menu_title_background_hover_colour' => '#212121',
762
- 'menu_title_link' => '#',
763
- 'menu_title_link_location' => '_self',
764
- 'menu_title_image_icon' => 'off',
765
- 'menu_title_font_icon' => null,
766
- 'menu_title_image' => '',
767
- 'menu_title_image_alt' => '',
768
- 'menu_title_image_height' => null,
769
- 'menu_title_image_height_unit' => 'px',
770
- 'menu_title_image_width' => null,
771
- 'menu_title_image_width_unit' => '%',
772
- 'menu_title_padding' => [
773
- 'left' => '0px',
774
- 'top' => '0px',
775
- 'right' => '0px',
776
- 'bottom' => '0px'
777
- ],
778
- //Container -> Search box
779
- 'menu_search_box_text' => 'Search',
780
- 'menu_search_box_text_colour' => '#333',
781
- 'menu_search_box_border_colour' => '#dadada',
782
- 'menu_search_box_background_colour' => '#fff',
783
- 'menu_search_box_placeholder_colour' => '#c7c7cd',
784
- 'menu_search_box_height' => '50',
785
- 'menu_search_box_height_unit' => 'px',
786
- 'menu_search_box_border_radius' => '0',
787
- 'menu_search_section_padding' => [
788
- 'left' => '0px',
789
- 'top' => '0px',
790
- 'right' => '0px',
791
- 'bottom' => '0px'
792
- ],
793
-
794
- //Container -> Additional
795
- 'menu_additional_content' => '',
796
- 'menu_additional_content_colour' => '#fff',
797
- 'menu_additional_content_font_size' => 16 ,
798
- 'menu_additional_content_font_size_unit' => 'px',
799
- 'menu_additional_content_alignment' => 'left',
800
- 'menu_additional_section_padding' => [
801
- 'left' => '0px',
802
- 'top' => '0px',
803
- 'right' => '0px',
804
- 'bottom' => '0px'
805
- ],
806
- //Container -> Menu
807
- 'menu_background_colour' => '',
808
- 'menu_section_padding' => [
809
- 'left' => '0px',
810
- 'top' => '0px',
811
- 'right' => '0px',
812
- 'bottom' => '0px'
813
- ],
814
-
815
- 'menu_depth' => 5,
816
- 'submenu_descriptions_on' => 'off',
817
- 'menu_depth_side' => 'left',
818
- 'menu_depth_0' => 5,
819
- 'menu_depth_1' => 10,
820
- 'menu_depth_2' => 15,
821
- 'menu_depth_3' => 20,
822
- 'menu_depth_4' => 25,
823
- 'menu_depth_5' => 30,
824
- 'menu_depth_0_unit' => '%',
825
- 'menu_depth_1_unit' => '%',
826
- 'menu_depth_2_unit' => '%',
827
- 'menu_depth_3_unit' => '%',
828
- 'menu_depth_4_unit' => '%',
829
- 'menu_depth_5_unit' => '%',
830
- 'theme_location_menu' => '',
831
- 'custom_walker' => '',
832
-
833
- // Container > Appearance
834
- 'menu_width' => 75,
835
- 'menu_width_unit' => '%',
836
- 'menu_maximum_width' => '',
837
- 'menu_maximum_width_unit' => 'px',
838
- 'menu_minimum_width' => '',
839
- 'menu_minimum_width_unit' => 'px',
840
- 'menu_auto_height' => 'off',
841
- 'menu_container_background_colour' => '#212121',
842
- 'menu_background_image' => '',
843
- 'menu_appear_from' => 'left',
844
- 'animation_type' => 'slide',
845
- 'page_wrapper' => '',
846
- 'menu_container_padding' => [
847
- 'left' => '0px',
848
- 'top' => '0px',
849
- 'right' => '0px',
850
- 'bottom' => '0px'
851
- ],
852
-
853
- // Container > Behaviour
854
- 'menu_close_on_link_click' => 'off',
855
- 'menu_close_on_body_click' => 'off',
856
- 'menu_close_on_scroll' => 'off',
857
- 'enable_touch_gestures' => 'off',
858
- 'keyboard_shortcut_open_menu' => '',
859
- 'keyboard_shortcut_close_menu' => '',
860
-
861
- // Toggle Button > Hamburger Element
862
- 'button_width' => 55,
863
- 'button_width_unit' => 'px',
864
- 'button_height' => 55,
865
- 'button_height_unit' => 'px',
866
- 'button_background_colour' => '#000',
867
- 'button_background_colour_hover' => '#000',
868
- 'button_background_colour_active' => '#000',
869
- 'button_transparent_background' => 'off',
870
-
871
- // Toggle Button > Positioning
872
- 'button_left_or_right' => 'right',
873
- 'button_position_type' => 'fixed',
874
- 'button_top' => 15,
875
- 'button_top_unit' => 'px',
876
- 'button_distance_from_side' => 5,
877
- 'button_distance_from_side_unit' => '%',
878
- 'button_push_with_animation' => 'off',
879
-
880
-
881
- // Toggle BUtton > Hamburger Type
882
- 'button_click_animation' => 'boring',
883
- 'button_line_colour' => '#fff',
884
- 'button_line_colour_hover' => '#fff',
885
- 'button_line_colour_active' => '#fff',
886
- 'button_line_margin' => 5,
887
- 'button_line_margin_unit' => 'px',
888
- 'button_line_height' => 3,
889
- 'button_line_height_unit' => 'px',
890
- 'button_line_width' => 25,
891
- 'button_line_width_unit' => 'px',
892
-
893
-
894
- // Toggle BUtton > Title
895
- 'button_title' => '',
896
- 'button_title_open' => '',
897
- 'button_text_colour' => '#fff',
898
- 'button_font_size' => 14,
899
- 'button_font_size_unit' => 'px',
900
- 'button_title_position' => 'left',
901
- 'button_title_line_height' => '13',
902
- 'button_title_line_height_unit' => 'px',
903
- 'button_font' => null,
904
-
905
- // Toggle BUtton > Image
906
- 'button_image' => null,
907
- 'button_image_alt' => null,
908
- 'button_image_when_clicked' => null,
909
- 'button_image_alt_when_clicked' => null,
910
-
911
- // Toggle BUtton > Font-icons
912
- 'button_font_icon' => null,
913
- 'button_font_icon_when_clicked' => null,
914
-
915
- // Toggle Button > Others
916
- 'button_trigger_type_click' => 'on',
917
- 'button_trigger_type_hover' => 'off',
918
- 'button_click_trigger' => '#responsive-menu-pro-button',
919
-
920
-
921
-
922
- // Dropdown -> Top level Menu -> Item Styling
923
-
924
- // Animation Settings
925
-
926
- 'animation_speed' => 0.5,
927
- 'transition_speed' => 0.5,
928
- 'sub_menu_speed' => 0.2,
929
-
930
- // Menu Settings
931
- 'active_arrow_shape' => '▲',
932
- 'inactive_arrow_shape' => '▼',
933
- 'active_arrow_image' => '',
934
- 'active_arrow_image_alt' => '',
935
- 'inactive_arrow_image' => '',
936
- 'inactive_arrow_image_alt' => '',
937
- 'active_arrow_font_icon' => '',
938
- 'inactive_arrow_font_icon' => '',
939
- 'arrow_position' => 'right',
940
- 'submenu_arrow_width' => '40',
941
- 'submenu_arrow_width_unit' => 'px',
942
- 'submenu_arrow_height' => '39',
943
- 'submenu_arrow_height_unit' => 'px',
944
-
945
- 'accordion_animation' => 'off',
946
- 'auto_expand_all_submenus' => 'off',
947
- 'auto_expand_current_submenus' => 'off',
948
-
949
-
950
- 'menu_item_background_colour' => '#212121',
951
- 'menu_item_background_hover_colour' => '#3f3f3f',
952
- 'menu_item_border_colour' => '#212121',
953
- 'menu_item_border_colour_hover' => '#212121',
954
-
955
- 'menu_current_item_background_colour' => '#212121',
956
- 'menu_current_item_background_hover_colour' => '#3f3f3f',
957
- 'menu_current_item_border_colour' => '#212121',
958
- 'menu_current_item_border_hover_colour' => '#3f3f3f',
959
-
960
  'menu_link_colour' => '#fff',
961
  'menu_link_hover_colour' => '#fff',
962
  'menu_current_link_colour' => '#fff',
963
  'menu_current_link_hover_colour' => '#fff',
964
- 'menu_sub_arrow_border_width' => '0',
965
- 'menu_sub_arrow_border_width_unit' => 'px',
966
- 'menu_sub_arrow_border_colour' => '#212121',
967
- 'menu_sub_arrow_border_hover_colour' => '#3f3f3f',
968
- 'menu_sub_arrow_border_colour_active' => '#212121',
969
- 'menu_sub_arrow_border_hover_colour_active' => '#3f3f3f',
970
- 'menu_sub_arrow_background_colour' => '#212121',
971
- 'menu_sub_arrow_background_hover_colour' => '#3f3f3f',
972
- 'menu_sub_arrow_background_colour_active' => '#212121',
973
- 'menu_sub_arrow_background_hover_colour_active' => '#3f3f3f',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
974
  'menu_sub_arrow_shape_colour' => '#fff',
975
  'menu_sub_arrow_shape_hover_colour' => '#fff',
976
  'menu_sub_arrow_shape_colour_active' => '#fff',
977
  'menu_sub_arrow_shape_hover_colour_active' => '#fff',
978
-
979
- // Sub Menus > Styling
980
- 'submenu_font' => null,
981
- 'submenu_font_size' => 13,
982
- 'submenu_font_size_unit' => 'px',
983
- 'submenu_links_height' => 40,
984
- 'submenu_links_height_unit' => 'px',
985
- 'submenu_links_line_height' => 40,
986
- 'submenu_links_line_height_unit' => 'px',
987
- 'submenu_text_alignment' => 'left',
988
-
989
- // Sub Menus > Item Borders
990
- 'submenu_border_width' => 0,
991
- 'submenu_border_width_unit' => 'px',
992
- 'submenu_item_border_colour' => '#212121',
993
- 'submenu_item_border_colour_hover' => '#212121',
994
- 'submenu_current_item_border_colour' => '#212121',
995
- 'submenu_current_item_border_hover_colour' => '#3f3f3f',
996
-
997
- // Sub Menus > Item Text
998
- 'submenu_link_colour' => '#fff',
999
- 'submenu_link_hover_colour' => '#fff',
1000
- 'submenu_current_link_colour' => '#fff',
1001
- 'submenu_current_link_hover_colour' => '#fff',
1002
-
1003
- // Sub Menus > Item Background
1004
- 'submenu_item_background_colour' => '#212121',
1005
- 'submenu_item_background_hover_colour' => '#3f3f3f',
1006
- 'submenu_current_item_background_colour' => '#212121',
1007
- 'submenu_current_item_background_hover_colour' => '#3f3f3f',
1008
-
1009
- // Sub Menus > Trigger Icon
1010
- 'submenu_arrow_position' => 'right',
1011
-
1012
- // Sub Menus > Trigger Sizing
1013
- 'submenu_submenu_arrow_height' => '39',
1014
- 'submenu_submenu_arrow_height_unit' => 'px',
1015
- 'submenu_submenu_arrow_width' => '40',
1016
- 'submenu_submenu_arrow_width_unit' => 'px',
1017
-
1018
- // Sub Menus > Trigger Colours
1019
- 'submenu_sub_arrow_shape_colour' => '#fff',
1020
- 'submenu_sub_arrow_shape_hover_colour' => '#fff',
1021
- 'submenu_sub_arrow_shape_colour_active' => '#fff',
1022
- 'submenu_sub_arrow_shape_hover_colour_active' => '#fff',
1023
-
1024
- // Sub Menus > Trigger Background
1025
- 'submenu_sub_arrow_background_colour' => '#212121',
1026
- 'submenu_sub_arrow_background_hover_colour' => '#3f3f3f',
1027
- 'submenu_sub_arrow_background_colour_active' => '#212121',
1028
- 'submenu_sub_arrow_background_hover_colour_active' => '#3f3f3f',
1029
-
1030
- // Sub Menus > Trigger Border
1031
- 'submenu_sub_arrow_border_width' => '0',
1032
- 'submenu_sub_arrow_border_width_unit' => 'px',
1033
- 'submenu_sub_arrow_border_colour' => '#212121',
1034
- 'submenu_sub_arrow_border_hover_colour' => '#3f3f3f',
1035
- 'submenu_sub_arrow_border_colour_active' => '#212121',
1036
- 'submenu_sub_arrow_border_hover_colour_active' => '#3f3f3f',
1037
-
1038
- 'menu_font' => null,
1039
- 'menu_font_size' => 13,
1040
- 'menu_font_size_unit' => 'px',
1041
-
1042
- 'menu_text_alignment' => 'left',
1043
- 'menu_links_height' => 40,
1044
- 'menu_links_height_unit' => 'px',
1045
- 'menu_links_line_height' => 40,
1046
- 'menu_links_line_height_unit' => 'px',
1047
- 'menu_border_width' => 0,
1048
- 'menu_border_width_unit' => 'px',
1049
-
1050
-
1051
- // Container > Technical
1052
-
1053
-
1054
- 'menu_item_click_to_trigger_submenu' => 'off',
1055
- 'menu_disable_scrolling' => 'off',
1056
- 'menu_overlay' => 'off',
1057
- 'menu_overlay_colour' => 'rgba(0,0,0,0.7)',
1058
- 'menu_font_icons' => '',
1059
-
1060
- 'menu_word_wrap' => 'off',
1061
-
1062
- 'desktop_menu_positioning' => 'absolute',
1063
- 'desktop_menu_hide_and_show' => false,
1064
- 'desktop_submenu_open_on_click' => false,
1065
- 'desktop_submenu_open_animation' => '',
1066
- 'desktop_submenu_open_animation_speed' => '0ms',
1067
- 'desktop_menu_width' => '',
1068
- 'desktop_menu_width_unit' => '%',
1069
- 'desktop_menu_side' => 'left',
1070
-
1071
- 'use_header_bar' => 'off',
1072
- 'header_bar_adjust_page' => null,
1073
- 'header_bar_breakpoint' => '8000',
1074
- 'header_bar_logo' => null,
1075
- 'header_bar_logo_height' => null,
1076
- 'header_bar_logo_height_unit' => 'px',
1077
- 'header_bar_logo_width' => null,
1078
- 'header_bar_logo_width_unit' => '%',
1079
- 'header_bar_logo_alt' => '',
1080
- 'header_bar_logo_link' => null,
1081
- 'header_bar_title' => null,
1082
- 'header_bar_html_content' => null,
1083
- 'header_bar_height' => '80',
1084
- 'header_bar_height_unit' => 'px',
1085
- 'header_bar_font_size' => '14',
1086
- 'header_bar_font_size_unit' => 'px',
1087
- 'header_bar_font' => null,
1088
- 'header_bar_background_color' => '#212121',
1089
- 'header_bar_text_color' => '#ffffff',
1090
- 'header_bar_position_type' => 'fixed',
1091
-
1092
- 'header_bar_items_order' => [
1093
- 'title' => 'off',
1094
- 'search' => 'off',
1095
- 'additional content' => 'off',
1096
- 'logo' => 'on',
1097
- 'menu' => 'on'
1098
- ],
1099
-
1100
- 'items_order' => [
1101
- 'title' => 'off',
1102
- 'menu' => 'on',
1103
- 'search' => 'on',
1104
- 'additional content' => 'off'
1105
- ],
1106
- // Menu > Animations
1107
- 'smooth_scroll_on' => 'off',
1108
- 'smooth_scroll_speed' => 500,
1109
-
1110
- // Menu > Fade Items In
1111
- 'fade_submenus' => 'off',
1112
- 'fade_submenus_side' => 'left',
1113
- 'fade_submenus_delay' => 100,
1114
- 'fade_submenus_speed' => 500,
1115
-
1116
- 'use_slide_effect' => 'off',
1117
- 'slide_effect_back_to_text' => 'Back',
1118
-
1119
- 'theme_type' => 'default',
1120
- 'menu_theme' => null,
1121
-
1122
- 'menu_display_device' => '',
1123
- 'menu_display_condition' => '',
1124
- 'menu_font_weight' => 'normal',
1125
- 'submenu_font_weight' => 'normal',
1126
- 'menu_text_letter_spacing' => '0',
1127
- 'submenu_text_letter_spacing' => '0',
 
 
1128
  );
1129
 
1130
  return $default_options;
732
  */
733
  function rmp_get_default_options() {
734
 
735
+ $default_options = array (
736
+ 'menu_theme' => 'Default',
737
+ 'theme_type' => 'default',
738
+ 'theme_location_menu' => '0',
739
+ 'submenu_submenu_arrow_width' => '40',
740
+ 'submenu_submenu_arrow_width_unit' => 'px',
741
+ 'submenu_submenu_arrow_height' => '39',
742
+ 'submenu_submenu_arrow_height_unit' => 'px',
743
+ 'submenu_arrow_position' => 'right',
744
+ 'submenu_sub_arrow_background_colour' => 'rgba(33,33,33,0)',
745
+ 'submenu_sub_arrow_background_hover_colour' => 'rgba(63,63,63,0)',
746
+ 'submenu_sub_arrow_background_colour_active' => 'rgba(33,33,33,0)',
747
+ 'submenu_sub_arrow_background_hover_colour_active' => 'rgba(63,63,63,0)',
748
+ 'submenu_sub_arrow_border_width' => '',
749
+ 'submenu_sub_arrow_border_width_unit' => 'px',
750
+ 'submenu_sub_arrow_border_colour' => '#1d4354',
751
+ 'submenu_sub_arrow_border_hover_colour' => '#3f3f3f',
752
+ 'submenu_sub_arrow_border_colour_active' => '#1d4354',
753
+ 'submenu_sub_arrow_border_hover_colour_active' => '#3f3f3f',
754
+ 'submenu_sub_arrow_shape_colour' => '#fff',
755
+ 'submenu_sub_arrow_shape_hover_colour' => '#fff',
756
+ 'submenu_sub_arrow_shape_colour_active' => '#fff',
757
+ 'submenu_sub_arrow_shape_hover_colour_active' => '#fff',
758
+ 'use_header_bar' => 'off',
759
+ 'header_bar_items_order' =>
760
+ array (
761
+ 'logo' => 'off',
762
+ 'title' => 'on',
763
+ 'additional content' => 'off',
764
+ 'menu' => 'on',
765
+ 'search' => 'off',
766
+ ),
767
+ 'header_bar_title' => 'Responsive Menu',
768
+ 'header_bar_html_content' => '',
769
+ 'header_bar_logo' => '',
770
+ 'header_bar_logo_link' => '',
771
+ 'header_bar_logo_width' => '',
772
+ 'header_bar_logo_width_unit' => '%',
773
+ 'header_bar_logo_height' => '',
774
+ 'header_bar_logo_height_unit' => 'px',
775
+ 'header_bar_height' => '80',
776
+ 'header_bar_height_unit' => 'px',
777
+ 'header_bar_padding' =>
778
+ array (
779
+ 'top' => '0px',
780
+ 'right' => '5%',
781
+ 'bottom' => '0px',
782
+ 'left' => '5%',
783
+ ),
784
+ 'header_bar_font' => '',
785
+ 'header_bar_font_size' => '14',
786
+ 'header_bar_font_size_unit' => 'px',
787
+ 'header_bar_text_color' => '#ffffff',
788
+ 'header_bar_background_color' => '#1d4354',
789
+ 'header_bar_breakpoint' => '8000',
790
+ 'header_bar_position_type' => 'fixed',
791
+ 'header_bar_adjust_page' => 'on',
792
+ 'header_bar_scroll_enable' => 'off',
793
+ 'header_bar_scroll_background_color' => '#36bdf6',
794
+ 'mobile_breakpoint' => '600',
795
+ 'tablet_breakpoint' => '8000',
796
+ 'transition_speed' => '0.5',
797
+ 'sub_menu_speed' => '0.2',
798
+ 'show_menu_on_page_load' => 'off',
799
+ 'menu_disable_scrolling' => 'off',
800
+ 'menu_overlay' => 'off',
801
+ 'menu_overlay_colour' => 'rgba(0,0,0,0.7)',
802
+ 'desktop_menu_width' => '',
803
+ 'desktop_menu_width_unit' => '%',
804
+ 'desktop_menu_positioning' => 'absolute',
805
+ 'desktop_menu_side' => 'left',
806
+ 'desktop_menu_to_hide' => '',
807
+ 'use_current_theme_location' => 'off',
808
+ 'mega_menu' =>
809
+ array (
810
+ 225 => 'off',
811
+ 227 => 'off',
812
+ 229 => 'off',
813
+ 228 => 'off',
814
+ 226 => 'off',
815
+ ),
816
+ 'desktop_submenu_open_animation' => 'none',
817
+ 'desktop_submenu_open_animation_speed' => '100ms',
818
+ 'desktop_submenu_open_on_click' => 'off',
819
+ 'desktop_menu_hide_and_show' => 'off',
820
+ 'menu_name' => 'Primary Menu',
821
+ 'menu_to_use' => 'main-menu',
822
+ 'different_menu_for_mobile' => 'off',
823
+ 'menu_to_use_in_mobile' => 'main-menu',
824
+ 'use_mobile_menu' => 'on',
825
+ 'use_tablet_menu' => 'on',
826
+ 'use_desktop_menu' => 'on',
827
+ 'menu_display_on' => 'all-pages',
828
+ 'menu_to_hide' => '',
829
+ 'submenu_descriptions_on' => 'off',
830
+ 'custom_walker' => '',
831
+ 'menu_background_colour' => 'rgba(0,0,0,0)',
832
+ 'menu_depth' => '5',
833
+ 'smooth_scroll_on' => 'off',
834
+ 'smooth_scroll_speed' => '500',
835
+ 'menu_font_icons' =>
836
+ array (
837
+ 'id' =>
838
+ array (
839
+ 0 => '225',
840
+ ),
841
+ 'icon' =>
842
+ array (
843
+ 0 => '',
844
+ ),
845
+ ),
846
+ 'menu_links_height' => '40',
847
+ 'menu_links_height_unit' => 'px',
848
+ 'menu_links_line_height' => '40',
849
+ 'menu_links_line_height_unit' => 'px',
850
+ 'menu_depth_0' => '5',
851
+ 'menu_depth_0_unit' => '%',
852
+ 'menu_font_size' => '15',
853
+ 'menu_font_size_unit' => 'px',
854
+ 'menu_font' => '',
855
+ 'menu_font_weight' => 'normal',
856
+ 'menu_text_alignment' => 'left',
857
+ 'menu_text_letter_spacing' => '',
858
+ 'menu_word_wrap' => 'off',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
859
  'menu_link_colour' => '#fff',
860
  'menu_link_hover_colour' => '#fff',
861
  'menu_current_link_colour' => '#fff',
862
  'menu_current_link_hover_colour' => '#fff',
863
+ 'menu_item_background_colour' => 'rgba(33,33,33,0)',
864
+ 'menu_item_background_hover_colour' => 'rgba(63,63,63,0)',
865
+ 'menu_current_item_background_colour' => '#6fda44',
866
+ 'menu_current_item_background_hover_colour' => 'rgba(63,63,63,0)',
867
+ 'menu_border_width' => '',
868
+ 'menu_border_width_unit' => 'px',
869
+ 'menu_item_border_colour' => '#1d4354',
870
+ 'menu_item_border_colour_hover' => '#1d4354',
871
+ 'menu_current_item_border_colour' => '#1d4354',
872
+ 'menu_current_item_border_hover_colour' => '#3f3f3f',
873
+ 'submenu_links_height' => '40',
874
+ 'submenu_links_height_unit' => 'px',
875
+ 'submenu_links_line_height' => '40',
876
+ 'submenu_links_line_height_unit' => 'px',
877
+ 'menu_depth_side' => 'left',
878
+ 'menu_depth_1' => '10',
879
+ 'menu_depth_1_unit' => '%',
880
+ 'menu_depth_2' => '15',
881
+ 'menu_depth_2_unit' => '%',
882
+ 'menu_depth_3' => '20',
883
+ 'menu_depth_3_unit' => '%',
884
+ 'menu_depth_4' => '25',
885
+ 'menu_depth_4_unit' => '%',
886
+ 'submenu_item_background_colour' => 'rgba(33,33,33,0)',
887
+ 'submenu_item_background_hover_colour' => 'rgba(63,63,63,0)',
888
+ 'submenu_current_item_background_colour' => 'rgba(33,33,33,0)',
889
+ 'submenu_current_item_background_hover_colour' => 'rgba(63,63,63,0)',
890
+ 'submenu_border_width' => '',
891
+ 'submenu_border_width_unit' => 'px',
892
+ 'submenu_item_border_colour' => '#1d4354',
893
+ 'submenu_item_border_colour_hover' => '#1d4354',
894
+ 'submenu_current_item_border_colour' => '#1d4354',
895
+ 'submenu_current_item_border_hover_colour' => '#3f3f3f',
896
+ 'submenu_font_size' => '13',
897
+ 'submenu_font_size_unit' => 'px',
898
+ 'submenu_font' => '',
899
+ 'submenu_font_weight' => 'normal',
900
+ 'submenu_text_letter_spacing' => '',
901
+ 'submenu_text_alignment' => 'left',
902
+ 'submenu_link_colour' => '#fff',
903
+ 'submenu_link_hover_colour' => '#fff',
904
+ 'submenu_current_link_colour' => '#fff',
905
+ 'submenu_current_link_hover_colour' => '#fff',
906
+ 'inactive_arrow_shape' => '▼',
907
+ 'active_arrow_shape' => '▲',
908
+ 'inactive_arrow_font_icon' => '',
909
+ 'active_arrow_font_icon' => '',
910
+ 'inactive_arrow_image' => '',
911
+ 'active_arrow_image' => '',
912
+ 'submenu_arrow_width' => '40',
913
+ 'submenu_arrow_width_unit' => 'px',
914
+ 'submenu_arrow_height' => '39',
915
+ 'submenu_arrow_height_unit' => 'px',
916
+ 'arrow_position' => 'right',
917
  'menu_sub_arrow_shape_colour' => '#fff',
918
  'menu_sub_arrow_shape_hover_colour' => '#fff',
919
  'menu_sub_arrow_shape_colour_active' => '#fff',
920
  'menu_sub_arrow_shape_hover_colour_active' => '#fff',
921
+ 'menu_sub_arrow_border_width' => '',
922
+ 'menu_sub_arrow_border_width_unit' => 'px',
923
+ 'menu_sub_arrow_border_colour' => '#1d4354',
924
+ 'menu_sub_arrow_border_hover_colour' => '#3f3f3f',
925
+ 'menu_sub_arrow_border_colour_active' => '#1d4354',
926
+ 'menu_sub_arrow_border_hover_colour_active' => '#3f3f3f',
927
+ 'menu_sub_arrow_background_colour' => 'rgba(33,33,33,0)',
928
+ 'menu_sub_arrow_background_hover_colour' => 'rgba(63,63,63,0)',
929
+ 'menu_sub_arrow_background_colour_active' => 'rgba(33,33,33,0.01)',
930
+ 'menu_sub_arrow_background_hover_colour_active' => 'rgba(63,63,63,0)',
931
+ 'fade_submenus' => 'off',
932
+ 'fade_submenus_side' => 'left',
933
+ 'fade_submenus_delay' => '100',
934
+ 'fade_submenus_speed' => '500',
935
+ 'use_slide_effect' => 'off',
936
+ 'slide_effect_back_to_text' => 'Back',
937
+ 'accordion_animation' => 'off',
938
+ 'auto_expand_all_submenus' => 'off',
939
+ 'auto_expand_current_submenus' => 'off',
940
+ 'menu_item_click_to_trigger_submenu' => 'off',
941
+ 'button_width' => '55',
942
+ 'button_width_unit' => 'px',
943
+ 'button_height' => '55',
944
+ 'button_height_unit' => 'px',
945
+ 'button_background_colour' => '#1d4354',
946
+ 'button_background_colour_hover' => '#1d4354',
947
+ 'button_background_colour_active' => '#6fda44',
948
+ 'toggle_button_border_radius' => '5',
949
+ 'button_transparent_background' => 'off',
950
+ 'button_left_or_right' => 'right',
951
+ 'button_position_type' => 'fixed',
952
+ 'button_distance_from_side' => '5',
953
+ 'button_distance_from_side_unit' => '%',
954
+ 'button_top' => '15',
955
+ 'button_top_unit' => 'px',
956
+ 'button_push_with_animation' => 'off',
957
+ 'button_click_animation' => 'boring',
958
+ 'button_line_margin' => '5',
959
+ 'button_line_margin_unit' => 'px',
960
+ 'button_line_width' => '25',
961
+ 'button_line_width_unit' => 'px',
962
+ 'button_line_height' => '3',
963
+ 'button_line_height_unit' => 'px',
964
+ 'button_line_colour' => '#fff',
965
+ 'button_line_colour_hover' => '#fff',
966
+ 'button_line_colour_active' => '#fff',
967
+ 'button_font_icon' => '',
968
+ 'button_font_icon_when_clicked' => '',
969
+ 'button_image' => '',
970
+ 'button_image_when_clicked' => '',
971
+ 'button_title' => '',
972
+ 'button_title_open' => '',
973
+ 'button_title_position' => 'left',
974
+ 'button_font' => '',
975
+ 'button_font_size' => '14',
976
+ 'button_font_size_unit' => 'px',
977
+ 'button_title_line_height' => '13',
978
+ 'button_title_line_height_unit' => 'px',
979
+ 'button_text_colour' => '#fff',
980
+ 'button_trigger_type_click' => 'on',
981
+ 'button_trigger_type_hover' => 'off',
982
+ 'button_click_trigger' => '',
983
+ 'items_order' =>
984
+ array (
985
+ 'title' => 'on',
986
+ 'additional content' => 'on',
987
+ 'menu' => 'on',
988
+ 'search' => 'on',
989
+ ),
990
+ 'menu_title' => 'Responsive Menu',
991
+ 'menu_title_link' => '',
992
+ 'menu_title_link_location' => '_self',
993
+ 'menu_title_image' => '',
994
+ 'menu_title_font_icon' => '',
995
+ 'menu_title_section_padding' =>
996
+ array (
997
+ 'top' => '10%',
998
+ 'right' => '5%',
999
+ 'bottom' => '0%',
1000
+ 'left' => '5%',
1001
+ ),
1002
+ 'menu_title_background_colour' => 'rgba(109,109,109,0)',
1003
+ 'menu_title_background_hover_colour' => 'rgba(109,109,109,0)',
1004
+ 'menu_title_font_size' => '25',
1005
+ 'menu_title_font_size_unit' => 'px',
1006
+ 'menu_title_alignment' => 'center',
1007
+ 'menu_title_font_weight' => '400',
1008
+ 'menu_title_font_family' => '',
1009
+ 'menu_title_colour' => '#ffffff',
1010
+ 'menu_title_hover_colour' => '#fff',
1011
+ 'menu_title_image_width' => '',
1012
+ 'menu_title_image_width_unit' => '%',
1013
+ 'menu_title_image_height' => '',
1014
+ 'menu_title_image_height_unit' => 'px',
1015
+ 'menu_additional_content' => 'Add more content here...',
1016
+ 'menu_additional_section_padding' =>
1017
+ array (
1018
+ 'top' => '0%',
1019
+ 'right' => '5%',
1020
+ 'bottom' => '10%',
1021
+ 'left' => '5%',
1022
+ ),
1023
+ 'menu_additional_content_font_size' => '16',
1024
+ 'menu_additional_content_font_size_unit' => 'px',
1025
+ 'menu_additional_content_alignment' => 'center',
1026
+ 'menu_additional_content_colour' => '#6fda44',
1027
+ 'menu_search_box_text' => 'Search',
1028
+ 'menu_search_section_padding' =>
1029
+ array (
1030
+ 'top' => '5%',
1031
+ 'right' => '5%',
1032
+ 'bottom' => '5%',
1033
+ 'left' => '5%',
1034
+ ),
1035
+ 'menu_search_box_height' => '45',
1036
+ 'menu_search_box_height_unit' => 'px',
1037
+ 'menu_search_box_border_radius' => '30',
1038
+ 'menu_search_box_text_colour' => '#1d4354',
1039
+ 'menu_search_box_background_colour' => '#ffffff',
1040
+ 'menu_search_box_placeholder_colour' => '#1d4354',
1041
+ 'menu_search_box_border_colour' => 'rgba(255,255,255,0)',
1042
+ 'menu_section_padding' =>
1043
+ array (
1044
+ 'top' => '0px',
1045
+ 'right' => '0px',
1046
+ 'bottom' => '0px',
1047
+ 'left' => '0px',
1048
+ ),
1049
+ 'menu_width' => '75',
1050
+ 'menu_width_unit' => '%',
1051
+ 'menu_maximum_width' => '350',
1052
+ 'menu_maximum_width_unit' => 'px',
1053
+ 'menu_minimum_width' => '320',
1054
+ 'menu_minimum_width_unit' => 'px',
1055
+ 'menu_auto_height' => 'off',
1056
+ 'menu_container_padding' =>
1057
+ array (
1058
+ 'top' => '0px',
1059
+ 'right' => '0px',
1060
+ 'bottom' => '0px',
1061
+ 'left' => '0px',
1062
+ ),
1063
+ 'menu_container_background_colour' => '#1d4354',
1064
+ 'menu_background_image' => '',
1065
+ 'animation_type' => 'slide',
1066
+ 'menu_appear_from' => 'left',
1067
+ 'animation_speed' => '0.5',
1068
+ 'page_wrapper' => 'body',
1069
+ 'menu_close_on_body_click' => 'off',
1070
+ 'menu_close_on_scroll' => 'off',
1071
+ 'menu_close_on_link_click' => 'off',
1072
+ 'enable_touch_gestures' => 'off',
1073
  );
1074
 
1075
  return $default_options;
v4.0.0/package-lock.json CHANGED
@@ -1,456 +1,433 @@
1
  {
2
- "name": "rmp-menu",
3
  "version": "1.0.0",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
7
  "@babel/code-frame": {
8
- "version": "7.10.4",
9
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
10
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
11
  "dev": true,
12
  "requires": {
13
- "@babel/highlight": "^7.10.4"
14
  }
15
  },
16
  "@babel/compat-data": {
17
- "version": "7.11.0",
18
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.11.0.tgz",
19
- "integrity": "sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==",
20
- "dev": true,
21
- "requires": {
22
- "browserslist": "^4.12.0",
23
- "invariant": "^2.2.4",
24
- "semver": "^5.5.0"
25
- }
26
  },
27
  "@babel/core": {
28
- "version": "7.11.6",
29
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz",
30
- "integrity": "sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==",
31
- "dev": true,
32
- "requires": {
33
- "@babel/code-frame": "^7.10.4",
34
- "@babel/generator": "^7.11.6",
35
- "@babel/helper-module-transforms": "^7.11.0",
36
- "@babel/helpers": "^7.10.4",
37
- "@babel/parser": "^7.11.5",
38
- "@babel/template": "^7.10.4",
39
- "@babel/traverse": "^7.11.5",
40
- "@babel/types": "^7.11.5",
41
  "convert-source-map": "^1.7.0",
42
  "debug": "^4.1.0",
43
  "gensync": "^1.0.0-beta.1",
44
  "json5": "^2.1.2",
45
  "lodash": "^4.17.19",
46
- "resolve": "^1.3.2",
47
  "semver": "^5.4.1",
48
  "source-map": "^0.5.0"
49
  }
50
  },
51
  "@babel/generator": {
52
- "version": "7.11.6",
53
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
54
- "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
55
  "dev": true,
56
  "requires": {
57
- "@babel/types": "^7.11.5",
58
  "jsesc": "^2.5.1",
59
  "source-map": "^0.5.0"
60
  }
61
  },
62
  "@babel/helper-annotate-as-pure": {
63
- "version": "7.10.4",
64
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
65
- "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
66
  "dev": true,
67
  "requires": {
68
- "@babel/types": "^7.10.4"
69
  }
70
  },
71
  "@babel/helper-builder-binary-assignment-operator-visitor": {
72
- "version": "7.10.4",
73
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
74
- "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==",
75
  "dev": true,
76
  "requires": {
77
- "@babel/helper-explode-assignable-expression": "^7.10.4",
78
- "@babel/types": "^7.10.4"
79
  }
80
  },
81
  "@babel/helper-compilation-targets": {
82
- "version": "7.10.4",
83
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz",
84
- "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==",
85
  "dev": true,
86
  "requires": {
87
- "@babel/compat-data": "^7.10.4",
88
- "browserslist": "^4.12.0",
89
- "invariant": "^2.2.4",
90
- "levenary": "^1.1.1",
91
  "semver": "^5.5.0"
92
  }
93
  },
94
  "@babel/helper-create-class-features-plugin": {
95
- "version": "7.10.5",
96
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz",
97
- "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==",
98
  "dev": true,
99
  "requires": {
100
- "@babel/helper-function-name": "^7.10.4",
101
- "@babel/helper-member-expression-to-functions": "^7.10.5",
102
- "@babel/helper-optimise-call-expression": "^7.10.4",
103
- "@babel/helper-plugin-utils": "^7.10.4",
104
- "@babel/helper-replace-supers": "^7.10.4",
105
- "@babel/helper-split-export-declaration": "^7.10.4"
106
  }
107
  },
108
  "@babel/helper-create-regexp-features-plugin": {
109
- "version": "7.10.4",
110
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz",
111
- "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==",
112
- "dev": true,
113
- "requires": {
114
- "@babel/helper-annotate-as-pure": "^7.10.4",
115
- "@babel/helper-regex": "^7.10.4",
116
- "regexpu-core": "^4.7.0"
117
- }
118
- },
119
- "@babel/helper-define-map": {
120
- "version": "7.10.5",
121
- "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz",
122
- "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==",
123
  "dev": true,
124
  "requires": {
125
- "@babel/helper-function-name": "^7.10.4",
126
- "@babel/types": "^7.10.5",
127
- "lodash": "^4.17.19"
128
  }
129
  },
130
  "@babel/helper-explode-assignable-expression": {
131
- "version": "7.11.4",
132
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz",
133
- "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==",
134
  "dev": true,
135
  "requires": {
136
- "@babel/types": "^7.10.4"
137
  }
138
  },
139
  "@babel/helper-function-name": {
140
- "version": "7.10.4",
141
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
142
- "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
143
  "dev": true,
144
  "requires": {
145
- "@babel/helper-get-function-arity": "^7.10.4",
146
- "@babel/template": "^7.10.4",
147
- "@babel/types": "^7.10.4"
148
  }
149
  },
150
  "@babel/helper-get-function-arity": {
151
- "version": "7.10.4",
152
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
153
- "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
154
  "dev": true,
155
  "requires": {
156
- "@babel/types": "^7.10.4"
157
  }
158
  },
159
  "@babel/helper-hoist-variables": {
160
- "version": "7.10.4",
161
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz",
162
- "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==",
163
  "dev": true,
164
  "requires": {
165
- "@babel/types": "^7.10.4"
166
  }
167
  },
168
  "@babel/helper-member-expression-to-functions": {
169
- "version": "7.11.0",
170
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
171
- "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
172
  "dev": true,
173
  "requires": {
174
- "@babel/types": "^7.11.0"
175
  }
176
  },
177
  "@babel/helper-module-imports": {
178
- "version": "7.10.4",
179
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
180
- "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
181
  "dev": true,
182
  "requires": {
183
- "@babel/types": "^7.10.4"
184
  }
185
  },
186
  "@babel/helper-module-transforms": {
187
- "version": "7.11.0",
188
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
189
- "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
190
- "dev": true,
191
- "requires": {
192
- "@babel/helper-module-imports": "^7.10.4",
193
- "@babel/helper-replace-supers": "^7.10.4",
194
- "@babel/helper-simple-access": "^7.10.4",
195
- "@babel/helper-split-export-declaration": "^7.11.0",
196
- "@babel/template": "^7.10.4",
197
- "@babel/types": "^7.11.0",
 
 
198
  "lodash": "^4.17.19"
199
  }
200
  },
201
  "@babel/helper-optimise-call-expression": {
202
- "version": "7.10.4",
203
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
204
- "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
205
  "dev": true,
206
  "requires": {
207
- "@babel/types": "^7.10.4"
208
  }
209
  },
210
  "@babel/helper-plugin-utils": {
211
- "version": "7.10.4",
212
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
213
- "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
214
  "dev": true
215
  },
216
- "@babel/helper-regex": {
217
- "version": "7.10.5",
218
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz",
219
- "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==",
220
- "dev": true,
221
- "requires": {
222
- "lodash": "^4.17.19"
223
- }
224
- },
225
  "@babel/helper-remap-async-to-generator": {
226
- "version": "7.11.4",
227
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz",
228
- "integrity": "sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==",
229
  "dev": true,
230
  "requires": {
231
- "@babel/helper-annotate-as-pure": "^7.10.4",
232
- "@babel/helper-wrap-function": "^7.10.4",
233
- "@babel/template": "^7.10.4",
234
- "@babel/types": "^7.10.4"
235
  }
236
  },
237
  "@babel/helper-replace-supers": {
238
- "version": "7.10.4",
239
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
240
- "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
241
  "dev": true,
242
  "requires": {
243
- "@babel/helper-member-expression-to-functions": "^7.10.4",
244
- "@babel/helper-optimise-call-expression": "^7.10.4",
245
- "@babel/traverse": "^7.10.4",
246
- "@babel/types": "^7.10.4"
247
  }
248
  },
249
  "@babel/helper-simple-access": {
250
- "version": "7.10.4",
251
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
252
- "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
253
  "dev": true,
254
  "requires": {
255
- "@babel/template": "^7.10.4",
256
- "@babel/types": "^7.10.4"
257
  }
258
  },
259
  "@babel/helper-skip-transparent-expression-wrappers": {
260
- "version": "7.11.0",
261
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz",
262
- "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==",
263
  "dev": true,
264
  "requires": {
265
- "@babel/types": "^7.11.0"
266
  }
267
  },
268
  "@babel/helper-split-export-declaration": {
269
- "version": "7.11.0",
270
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
271
- "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
272
  "dev": true,
273
  "requires": {
274
- "@babel/types": "^7.11.0"
275
  }
276
  },
277
  "@babel/helper-validator-identifier": {
278
- "version": "7.10.4",
279
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
280
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
 
 
 
 
 
 
281
  "dev": true
282
  },
283
  "@babel/helper-wrap-function": {
284
- "version": "7.10.4",
285
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz",
286
- "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==",
287
  "dev": true,
288
  "requires": {
289
- "@babel/helper-function-name": "^7.10.4",
290
- "@babel/template": "^7.10.4",
291
- "@babel/traverse": "^7.10.4",
292
- "@babel/types": "^7.10.4"
293
  }
294
  },
295
  "@babel/helpers": {
296
- "version": "7.10.4",
297
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz",
298
- "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==",
299
  "dev": true,
300
  "requires": {
301
- "@babel/template": "^7.10.4",
302
- "@babel/traverse": "^7.10.4",
303
- "@babel/types": "^7.10.4"
304
  }
305
  },
306
  "@babel/highlight": {
307
- "version": "7.10.4",
308
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
309
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
310
  "dev": true,
311
  "requires": {
312
- "@babel/helper-validator-identifier": "^7.10.4",
313
  "chalk": "^2.0.0",
314
  "js-tokens": "^4.0.0"
315
  }
316
  },
317
  "@babel/parser": {
318
- "version": "7.11.5",
319
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
320
- "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
321
  "dev": true
322
  },
323
  "@babel/plugin-proposal-async-generator-functions": {
324
- "version": "7.10.5",
325
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz",
326
- "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==",
327
  "dev": true,
328
  "requires": {
329
- "@babel/helper-plugin-utils": "^7.10.4",
330
- "@babel/helper-remap-async-to-generator": "^7.10.4",
331
  "@babel/plugin-syntax-async-generators": "^7.8.0"
332
  }
333
  },
334
  "@babel/plugin-proposal-class-properties": {
335
- "version": "7.10.4",
336
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz",
337
- "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==",
338
  "dev": true,
339
  "requires": {
340
- "@babel/helper-create-class-features-plugin": "^7.10.4",
341
- "@babel/helper-plugin-utils": "^7.10.4"
342
  }
343
  },
344
  "@babel/plugin-proposal-dynamic-import": {
345
- "version": "7.10.4",
346
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz",
347
- "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==",
348
  "dev": true,
349
  "requires": {
350
- "@babel/helper-plugin-utils": "^7.10.4",
351
  "@babel/plugin-syntax-dynamic-import": "^7.8.0"
352
  }
353
  },
354
  "@babel/plugin-proposal-export-namespace-from": {
355
- "version": "7.10.4",
356
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz",
357
- "integrity": "sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg==",
358
  "dev": true,
359
  "requires": {
360
- "@babel/helper-plugin-utils": "^7.10.4",
361
  "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
362
  }
363
  },
364
  "@babel/plugin-proposal-json-strings": {
365
- "version": "7.10.4",
366
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz",
367
- "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==",
368
  "dev": true,
369
  "requires": {
370
- "@babel/helper-plugin-utils": "^7.10.4",
371
  "@babel/plugin-syntax-json-strings": "^7.8.0"
372
  }
373
  },
374
  "@babel/plugin-proposal-logical-assignment-operators": {
375
- "version": "7.11.0",
376
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz",
377
- "integrity": "sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q==",
378
  "dev": true,
379
  "requires": {
380
- "@babel/helper-plugin-utils": "^7.10.4",
381
  "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
382
  }
383
  },
384
  "@babel/plugin-proposal-nullish-coalescing-operator": {
385
- "version": "7.10.4",
386
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
387
- "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==",
388
  "dev": true,
389
  "requires": {
390
- "@babel/helper-plugin-utils": "^7.10.4",
391
  "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
392
  }
393
  },
394
  "@babel/plugin-proposal-numeric-separator": {
395
- "version": "7.10.4",
396
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz",
397
- "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==",
398
  "dev": true,
399
  "requires": {
400
- "@babel/helper-plugin-utils": "^7.10.4",
401
  "@babel/plugin-syntax-numeric-separator": "^7.10.4"
402
  }
403
  },
404
  "@babel/plugin-proposal-object-rest-spread": {
405
- "version": "7.11.0",
406
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz",
407
- "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==",
408
  "dev": true,
409
  "requires": {
410
- "@babel/helper-plugin-utils": "^7.10.4",
411
  "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
412
- "@babel/plugin-transform-parameters": "^7.10.4"
413
  }
414
  },
415
  "@babel/plugin-proposal-optional-catch-binding": {
416
- "version": "7.10.4",
417
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz",
418
- "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==",
419
  "dev": true,
420
  "requires": {
421
- "@babel/helper-plugin-utils": "^7.10.4",
422
  "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
423
  }
424
  },
425
  "@babel/plugin-proposal-optional-chaining": {
426
- "version": "7.11.0",
427
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz",
428
- "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==",
429
  "dev": true,
430
  "requires": {
431
- "@babel/helper-plugin-utils": "^7.10.4",
432
- "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0",
433
  "@babel/plugin-syntax-optional-chaining": "^7.8.0"
434
  }
435
  },
436
  "@babel/plugin-proposal-private-methods": {
437
- "version": "7.10.4",
438
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz",
439
- "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==",
440
  "dev": true,
441
  "requires": {
442
- "@babel/helper-create-class-features-plugin": "^7.10.4",
443
- "@babel/helper-plugin-utils": "^7.10.4"
444
  }
445
  },
446
  "@babel/plugin-proposal-unicode-property-regex": {
447
- "version": "7.10.4",
448
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz",
449
- "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==",
450
  "dev": true,
451
  "requires": {
452
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
453
- "@babel/helper-plugin-utils": "^7.10.4"
454
  }
455
  },
456
  "@babel/plugin-syntax-async-generators": {
@@ -463,12 +440,12 @@
463
  }
464
  },
465
  "@babel/plugin-syntax-class-properties": {
466
- "version": "7.10.4",
467
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz",
468
- "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==",
469
  "dev": true,
470
  "requires": {
471
- "@babel/helper-plugin-utils": "^7.10.4"
472
  }
473
  },
474
  "@babel/plugin-syntax-dynamic-import": {
@@ -553,354 +530,352 @@
553
  }
554
  },
555
  "@babel/plugin-syntax-top-level-await": {
556
- "version": "7.10.4",
557
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz",
558
- "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==",
559
  "dev": true,
560
  "requires": {
561
- "@babel/helper-plugin-utils": "^7.10.4"
562
  }
563
  },
564
  "@babel/plugin-transform-arrow-functions": {
565
- "version": "7.10.4",
566
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz",
567
- "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==",
568
  "dev": true,
569
  "requires": {
570
- "@babel/helper-plugin-utils": "^7.10.4"
571
  }
572
  },
573
  "@babel/plugin-transform-async-to-generator": {
574
- "version": "7.10.4",
575
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz",
576
- "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==",
577
  "dev": true,
578
  "requires": {
579
- "@babel/helper-module-imports": "^7.10.4",
580
- "@babel/helper-plugin-utils": "^7.10.4",
581
- "@babel/helper-remap-async-to-generator": "^7.10.4"
582
  }
583
  },
584
  "@babel/plugin-transform-block-scoped-functions": {
585
- "version": "7.10.4",
586
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz",
587
- "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==",
588
  "dev": true,
589
  "requires": {
590
- "@babel/helper-plugin-utils": "^7.10.4"
591
  }
592
  },
593
  "@babel/plugin-transform-block-scoping": {
594
- "version": "7.11.1",
595
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz",
596
- "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==",
597
  "dev": true,
598
  "requires": {
599
- "@babel/helper-plugin-utils": "^7.10.4"
600
  }
601
  },
602
  "@babel/plugin-transform-classes": {
603
- "version": "7.10.4",
604
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz",
605
- "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==",
606
  "dev": true,
607
  "requires": {
608
- "@babel/helper-annotate-as-pure": "^7.10.4",
609
- "@babel/helper-define-map": "^7.10.4",
610
- "@babel/helper-function-name": "^7.10.4",
611
- "@babel/helper-optimise-call-expression": "^7.10.4",
612
- "@babel/helper-plugin-utils": "^7.10.4",
613
- "@babel/helper-replace-supers": "^7.10.4",
614
- "@babel/helper-split-export-declaration": "^7.10.4",
615
  "globals": "^11.1.0"
616
  }
617
  },
618
  "@babel/plugin-transform-computed-properties": {
619
- "version": "7.10.4",
620
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz",
621
- "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==",
622
  "dev": true,
623
  "requires": {
624
- "@babel/helper-plugin-utils": "^7.10.4"
625
  }
626
  },
627
  "@babel/plugin-transform-destructuring": {
628
- "version": "7.10.4",
629
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz",
630
- "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==",
631
  "dev": true,
632
  "requires": {
633
- "@babel/helper-plugin-utils": "^7.10.4"
634
  }
635
  },
636
  "@babel/plugin-transform-dotall-regex": {
637
- "version": "7.10.4",
638
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz",
639
- "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==",
640
  "dev": true,
641
  "requires": {
642
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
643
- "@babel/helper-plugin-utils": "^7.10.4"
644
  }
645
  },
646
  "@babel/plugin-transform-duplicate-keys": {
647
- "version": "7.10.4",
648
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz",
649
- "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==",
650
  "dev": true,
651
  "requires": {
652
- "@babel/helper-plugin-utils": "^7.10.4"
653
  }
654
  },
655
  "@babel/plugin-transform-exponentiation-operator": {
656
- "version": "7.10.4",
657
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz",
658
- "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==",
659
  "dev": true,
660
  "requires": {
661
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
662
- "@babel/helper-plugin-utils": "^7.10.4"
663
  }
664
  },
665
  "@babel/plugin-transform-for-of": {
666
- "version": "7.10.4",
667
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz",
668
- "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==",
669
  "dev": true,
670
  "requires": {
671
- "@babel/helper-plugin-utils": "^7.10.4"
672
  }
673
  },
674
  "@babel/plugin-transform-function-name": {
675
- "version": "7.10.4",
676
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz",
677
- "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==",
678
  "dev": true,
679
  "requires": {
680
- "@babel/helper-function-name": "^7.10.4",
681
- "@babel/helper-plugin-utils": "^7.10.4"
682
  }
683
  },
684
  "@babel/plugin-transform-literals": {
685
- "version": "7.10.4",
686
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz",
687
- "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==",
688
  "dev": true,
689
  "requires": {
690
- "@babel/helper-plugin-utils": "^7.10.4"
691
  }
692
  },
693
  "@babel/plugin-transform-member-expression-literals": {
694
- "version": "7.10.4",
695
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz",
696
- "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==",
697
  "dev": true,
698
  "requires": {
699
- "@babel/helper-plugin-utils": "^7.10.4"
700
  }
701
  },
702
  "@babel/plugin-transform-modules-amd": {
703
- "version": "7.10.5",
704
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz",
705
- "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==",
706
  "dev": true,
707
  "requires": {
708
- "@babel/helper-module-transforms": "^7.10.5",
709
- "@babel/helper-plugin-utils": "^7.10.4",
710
  "babel-plugin-dynamic-import-node": "^2.3.3"
711
  }
712
  },
713
  "@babel/plugin-transform-modules-commonjs": {
714
- "version": "7.10.4",
715
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz",
716
- "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==",
717
  "dev": true,
718
  "requires": {
719
- "@babel/helper-module-transforms": "^7.10.4",
720
- "@babel/helper-plugin-utils": "^7.10.4",
721
- "@babel/helper-simple-access": "^7.10.4",
722
  "babel-plugin-dynamic-import-node": "^2.3.3"
723
  }
724
  },
725
  "@babel/plugin-transform-modules-systemjs": {
726
- "version": "7.10.5",
727
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz",
728
- "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==",
729
  "dev": true,
730
  "requires": {
731
- "@babel/helper-hoist-variables": "^7.10.4",
732
- "@babel/helper-module-transforms": "^7.10.5",
733
- "@babel/helper-plugin-utils": "^7.10.4",
 
734
  "babel-plugin-dynamic-import-node": "^2.3.3"
735
  }
736
  },
737
  "@babel/plugin-transform-modules-umd": {
738
- "version": "7.10.4",
739
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz",
740
- "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==",
741
  "dev": true,
742
  "requires": {
743
- "@babel/helper-module-transforms": "^7.10.4",
744
- "@babel/helper-plugin-utils": "^7.10.4"
745
  }
746
  },
747
  "@babel/plugin-transform-named-capturing-groups-regex": {
748
- "version": "7.10.4",
749
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz",
750
- "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==",
751
  "dev": true,
752
  "requires": {
753
- "@babel/helper-create-regexp-features-plugin": "^7.10.4"
754
  }
755
  },
756
  "@babel/plugin-transform-new-target": {
757
- "version": "7.10.4",
758
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz",
759
- "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==",
760
  "dev": true,
761
  "requires": {
762
- "@babel/helper-plugin-utils": "^7.10.4"
763
  }
764
  },
765
  "@babel/plugin-transform-object-super": {
766
- "version": "7.10.4",
767
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz",
768
- "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==",
769
  "dev": true,
770
  "requires": {
771
- "@babel/helper-plugin-utils": "^7.10.4",
772
- "@babel/helper-replace-supers": "^7.10.4"
773
  }
774
  },
775
  "@babel/plugin-transform-parameters": {
776
- "version": "7.10.5",
777
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz",
778
- "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==",
779
  "dev": true,
780
  "requires": {
781
- "@babel/helper-get-function-arity": "^7.10.4",
782
- "@babel/helper-plugin-utils": "^7.10.4"
783
  }
784
  },
785
  "@babel/plugin-transform-property-literals": {
786
- "version": "7.10.4",
787
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz",
788
- "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==",
789
  "dev": true,
790
  "requires": {
791
- "@babel/helper-plugin-utils": "^7.10.4"
792
  }
793
  },
794
  "@babel/plugin-transform-regenerator": {
795
- "version": "7.10.4",
796
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz",
797
- "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==",
798
  "dev": true,
799
  "requires": {
800
  "regenerator-transform": "^0.14.2"
801
  }
802
  },
803
  "@babel/plugin-transform-reserved-words": {
804
- "version": "7.10.4",
805
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz",
806
- "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==",
807
  "dev": true,
808
  "requires": {
809
- "@babel/helper-plugin-utils": "^7.10.4"
810
  }
811
  },
812
  "@babel/plugin-transform-shorthand-properties": {
813
- "version": "7.10.4",
814
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz",
815
- "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==",
816
  "dev": true,
817
  "requires": {
818
- "@babel/helper-plugin-utils": "^7.10.4"
819
  }
820
  },
821
  "@babel/plugin-transform-spread": {
822
- "version": "7.11.0",
823
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz",
824
- "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==",
825
  "dev": true,
826
  "requires": {
827
- "@babel/helper-plugin-utils": "^7.10.4",
828
- "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0"
829
  }
830
  },
831
  "@babel/plugin-transform-sticky-regex": {
832
- "version": "7.10.4",
833
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz",
834
- "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==",
835
  "dev": true,
836
  "requires": {
837
- "@babel/helper-plugin-utils": "^7.10.4",
838
- "@babel/helper-regex": "^7.10.4"
839
  }
840
  },
841
  "@babel/plugin-transform-template-literals": {
842
- "version": "7.10.5",
843
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz",
844
- "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==",
845
  "dev": true,
846
  "requires": {
847
- "@babel/helper-annotate-as-pure": "^7.10.4",
848
- "@babel/helper-plugin-utils": "^7.10.4"
849
  }
850
  },
851
  "@babel/plugin-transform-typeof-symbol": {
852
- "version": "7.10.4",
853
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz",
854
- "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==",
855
  "dev": true,
856
  "requires": {
857
- "@babel/helper-plugin-utils": "^7.10.4"
858
  }
859
  },
860
  "@babel/plugin-transform-unicode-escapes": {
861
- "version": "7.10.4",
862
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz",
863
- "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==",
864
  "dev": true,
865
  "requires": {
866
- "@babel/helper-plugin-utils": "^7.10.4"
867
  }
868
  },
869
  "@babel/plugin-transform-unicode-regex": {
870
- "version": "7.10.4",
871
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz",
872
- "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==",
873
  "dev": true,
874
  "requires": {
875
- "@babel/helper-create-regexp-features-plugin": "^7.10.4",
876
- "@babel/helper-plugin-utils": "^7.10.4"
877
  }
878
  },
879
  "@babel/preset-env": {
880
- "version": "7.11.5",
881
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.11.5.tgz",
882
- "integrity": "sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA==",
883
- "dev": true,
884
- "requires": {
885
- "@babel/compat-data": "^7.11.0",
886
- "@babel/helper-compilation-targets": "^7.10.4",
887
- "@babel/helper-module-imports": "^7.10.4",
888
- "@babel/helper-plugin-utils": "^7.10.4",
889
- "@babel/plugin-proposal-async-generator-functions": "^7.10.4",
890
- "@babel/plugin-proposal-class-properties": "^7.10.4",
891
- "@babel/plugin-proposal-dynamic-import": "^7.10.4",
892
- "@babel/plugin-proposal-export-namespace-from": "^7.10.4",
893
- "@babel/plugin-proposal-json-strings": "^7.10.4",
894
- "@babel/plugin-proposal-logical-assignment-operators": "^7.11.0",
895
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
896
- "@babel/plugin-proposal-numeric-separator": "^7.10.4",
897
- "@babel/plugin-proposal-object-rest-spread": "^7.11.0",
898
- "@babel/plugin-proposal-optional-catch-binding": "^7.10.4",
899
- "@babel/plugin-proposal-optional-chaining": "^7.11.0",
900
- "@babel/plugin-proposal-private-methods": "^7.10.4",
901
- "@babel/plugin-proposal-unicode-property-regex": "^7.10.4",
 
902
  "@babel/plugin-syntax-async-generators": "^7.8.0",
903
- "@babel/plugin-syntax-class-properties": "^7.10.4",
904
  "@babel/plugin-syntax-dynamic-import": "^7.8.0",
905
  "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
906
  "@babel/plugin-syntax-json-strings": "^7.8.0",
@@ -910,45 +885,42 @@
910
  "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
911
  "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
912
  "@babel/plugin-syntax-optional-chaining": "^7.8.0",
913
- "@babel/plugin-syntax-top-level-await": "^7.10.4",
914
- "@babel/plugin-transform-arrow-functions": "^7.10.4",
915
- "@babel/plugin-transform-async-to-generator": "^7.10.4",
916
- "@babel/plugin-transform-block-scoped-functions": "^7.10.4",
917
- "@babel/plugin-transform-block-scoping": "^7.10.4",
918
- "@babel/plugin-transform-classes": "^7.10.4",
919
- "@babel/plugin-transform-computed-properties": "^7.10.4",
920
- "@babel/plugin-transform-destructuring": "^7.10.4",
921
- "@babel/plugin-transform-dotall-regex": "^7.10.4",
922
- "@babel/plugin-transform-duplicate-keys": "^7.10.4",
923
- "@babel/plugin-transform-exponentiation-operator": "^7.10.4",
924
- "@babel/plugin-transform-for-of": "^7.10.4",
925
- "@babel/plugin-transform-function-name": "^7.10.4",
926
- "@babel/plugin-transform-literals": "^7.10.4",
927
- "@babel/plugin-transform-member-expression-literals": "^7.10.4",
928
- "@babel/plugin-transform-modules-amd": "^7.10.4",
929
- "@babel/plugin-transform-modules-commonjs": "^7.10.4",
930
- "@babel/plugin-transform-modules-systemjs": "^7.10.4",
931
- "@babel/plugin-transform-modules-umd": "^7.10.4",
932
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4",
933
- "@babel/plugin-transform-new-target": "^7.10.4",
934
- "@babel/plugin-transform-object-super": "^7.10.4",
935
- "@babel/plugin-transform-parameters": "^7.10.4",
936
- "@babel/plugin-transform-property-literals": "^7.10.4",
937
- "@babel/plugin-transform-regenerator": "^7.10.4",
938
- "@babel/plugin-transform-reserved-words": "^7.10.4",
939
- "@babel/plugin-transform-shorthand-properties": "^7.10.4",
940
- "@babel/plugin-transform-spread": "^7.11.0",
941
- "@babel/plugin-transform-sticky-regex": "^7.10.4",
942
- "@babel/plugin-transform-template-literals": "^7.10.4",
943
- "@babel/plugin-transform-typeof-symbol": "^7.10.4",
944
- "@babel/plugin-transform-unicode-escapes": "^7.10.4",
945
- "@babel/plugin-transform-unicode-regex": "^7.10.4",
946
  "@babel/preset-modules": "^0.1.3",
947
- "@babel/types": "^7.11.5",
948
- "browserslist": "^4.12.0",
949
- "core-js-compat": "^3.6.2",
950
- "invariant": "^2.2.2",
951
- "levenary": "^1.1.1",
952
  "semver": "^5.5.0"
953
  }
954
  },
@@ -966,49 +938,49 @@
966
  }
967
  },
968
  "@babel/runtime": {
969
- "version": "7.11.2",
970
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz",
971
- "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==",
972
  "dev": true,
973
  "requires": {
974
  "regenerator-runtime": "^0.13.4"
975
  }
976
  },
977
  "@babel/template": {
978
- "version": "7.10.4",
979
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
980
- "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
981
  "dev": true,
982
  "requires": {
983
- "@babel/code-frame": "^7.10.4",
984
- "@babel/parser": "^7.10.4",
985
- "@babel/types": "^7.10.4"
986
  }
987
  },
988
  "@babel/traverse": {
989
- "version": "7.11.5",
990
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
991
- "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
992
  "dev": true,
993
  "requires": {
994
- "@babel/code-frame": "^7.10.4",
995
- "@babel/generator": "^7.11.5",
996
- "@babel/helper-function-name": "^7.10.4",
997
- "@babel/helper-split-export-declaration": "^7.11.0",
998
- "@babel/parser": "^7.11.5",
999
- "@babel/types": "^7.11.5",
1000
  "debug": "^4.1.0",
1001
  "globals": "^11.1.0",
1002
  "lodash": "^4.17.19"
1003
  }
1004
  },
1005
  "@babel/types": {
1006
- "version": "7.11.5",
1007
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz",
1008
- "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==",
1009
  "dev": true,
1010
  "requires": {
1011
- "@babel/helper-validator-identifier": "^7.10.4",
1012
  "lodash": "^4.17.19",
1013
  "to-fast-properties": "^2.0.0"
1014
  }
@@ -1029,6 +1001,33 @@
1029
  "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
1030
  "dev": true
1031
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1032
  "@types/glob": {
1033
  "version": "7.1.3",
1034
  "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
@@ -1040,9 +1039,9 @@
1040
  }
1041
  },
1042
  "@types/json-schema": {
1043
- "version": "7.0.6",
1044
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
1045
- "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
1046
  "dev": true
1047
  },
1048
  "@types/minimatch": {
@@ -1052,15 +1051,15 @@
1052
  "dev": true
1053
  },
1054
  "@types/minimist": {
1055
- "version": "1.2.0",
1056
- "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz",
1057
- "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=",
1058
  "dev": true
1059
  },
1060
  "@types/node": {
1061
- "version": "14.11.8",
1062
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.8.tgz",
1063
- "integrity": "sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw==",
1064
  "dev": true
1065
  },
1066
  "@types/normalize-package-data": {
@@ -1306,10 +1305,28 @@
1306
  "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
1307
  "dev": true
1308
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1309
  "ajv": {
1310
- "version": "6.12.5",
1311
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz",
1312
- "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==",
1313
  "dev": true,
1314
  "requires": {
1315
  "fast-deep-equal": "^3.1.1",
@@ -1629,9 +1646,9 @@
1629
  "dev": true
1630
  },
1631
  "aws4": {
1632
- "version": "1.10.1",
1633
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz",
1634
- "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==",
1635
  "dev": true
1636
  },
1637
  "babel-code-frame": {
@@ -1905,15 +1922,14 @@
1905
  }
1906
  },
1907
  "babel-loader": {
1908
- "version": "8.1.0",
1909
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
1910
- "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
1911
  "dev": true,
1912
  "requires": {
1913
- "find-cache-dir": "^2.1.0",
1914
  "loader-utils": "^1.4.0",
1915
- "mkdirp": "^0.5.3",
1916
- "pify": "^4.0.1",
1917
  "schema-utils": "^2.6.5"
1918
  }
1919
  },
@@ -2513,9 +2529,9 @@
2513
  }
2514
  },
2515
  "base64-js": {
2516
- "version": "1.3.1",
2517
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
2518
- "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
2519
  "dev": true
2520
  },
2521
  "bcrypt-pbkdf": {
@@ -2534,9 +2550,9 @@
2534
  "dev": true
2535
  },
2536
  "binary-extensions": {
2537
- "version": "2.1.0",
2538
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
2539
- "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
2540
  "dev": true,
2541
  "optional": true
2542
  },
@@ -2649,21 +2665,13 @@
2649
  }
2650
  },
2651
  "browserify-rsa": {
2652
- "version": "4.0.1",
2653
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
2654
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
2655
  "dev": true,
2656
  "requires": {
2657
- "bn.js": "^4.1.0",
2658
  "randombytes": "^2.0.1"
2659
- },
2660
- "dependencies": {
2661
- "bn.js": {
2662
- "version": "4.11.9",
2663
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
2664
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
2665
- "dev": true
2666
- }
2667
  }
2668
  },
2669
  "browserify-sign": {
@@ -2721,15 +2729,16 @@
2721
  }
2722
  },
2723
  "browserslist": {
2724
- "version": "4.14.5",
2725
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz",
2726
- "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==",
2727
  "dev": true,
2728
  "requires": {
2729
- "caniuse-lite": "^1.0.30001135",
2730
- "electron-to-chromium": "^1.3.571",
2731
- "escalade": "^3.1.0",
2732
- "node-releases": "^1.1.61"
 
2733
  }
2734
  },
2735
  "buffer": {
@@ -2880,6 +2889,16 @@
2880
  "bluebird": "3.x.x"
2881
  }
2882
  },
 
 
 
 
 
 
 
 
 
 
2883
  "call-me-maybe": {
2884
  "version": "1.0.1",
2885
  "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
@@ -2946,9 +2965,9 @@
2946
  }
2947
  },
2948
  "caniuse-lite": {
2949
- "version": "1.0.30001146",
2950
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001146.tgz",
2951
- "integrity": "sha512-VAy5RHDfTJhpxnDdp2n40GPPLp3KqNrXz1QqFv4J64HvArKs8nuNMOWkB3ICOaBTU/Aj4rYAo/ytdQDDFF/Pug==",
2952
  "dev": true
2953
  },
2954
  "caseless": {
@@ -2958,9 +2977,9 @@
2958
  "dev": true
2959
  },
2960
  "ccount": {
2961
- "version": "1.0.5",
2962
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz",
2963
- "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==",
2964
  "dev": true
2965
  },
2966
  "chalk": {
@@ -3004,20 +3023,20 @@
3004
  "dev": true
3005
  },
3006
  "chokidar": {
3007
- "version": "3.4.2",
3008
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz",
3009
- "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==",
3010
  "dev": true,
3011
  "optional": true,
3012
  "requires": {
3013
  "anymatch": "~3.1.1",
3014
  "braces": "~3.0.2",
3015
- "fsevents": "~2.1.2",
3016
  "glob-parent": "~5.1.0",
3017
  "is-binary-path": "~2.1.0",
3018
  "is-glob": "~4.0.1",
3019
  "normalize-path": "~3.0.0",
3020
- "readdirp": "~3.4.0"
3021
  },
3022
  "dependencies": {
3023
  "braces": {
@@ -3117,6 +3136,12 @@
3117
  }
3118
  }
3119
  },
 
 
 
 
 
 
3120
  "clean-webpack-plugin": {
3121
  "version": "0.1.19",
3122
  "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz",
@@ -3379,18 +3404,18 @@
3379
  "dev": true
3380
  },
3381
  "core-js": {
3382
- "version": "2.6.11",
3383
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
3384
- "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
3385
  "dev": true
3386
  },
3387
  "core-js-compat": {
3388
- "version": "3.6.5",
3389
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
3390
- "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
3391
  "dev": true,
3392
  "requires": {
3393
- "browserslist": "^4.8.5",
3394
  "semver": "7.0.0"
3395
  },
3396
  "dependencies": {
@@ -3724,28 +3749,28 @@
3724
  "dev": true
3725
  },
3726
  "csso": {
3727
- "version": "4.0.3",
3728
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
3729
- "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
3730
  "dev": true,
3731
  "requires": {
3732
- "css-tree": "1.0.0-alpha.39"
3733
  },
3734
  "dependencies": {
3735
  "css-tree": {
3736
- "version": "1.0.0-alpha.39",
3737
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
3738
- "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
3739
  "dev": true,
3740
  "requires": {
3741
- "mdn-data": "2.0.6",
3742
  "source-map": "^0.6.1"
3743
  }
3744
  },
3745
  "mdn-data": {
3746
- "version": "2.0.6",
3747
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
3748
- "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
3749
  "dev": true
3750
  },
3751
  "source-map": {
@@ -3786,9 +3811,9 @@
3786
  "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
3787
  },
3788
  "debug": {
3789
- "version": "4.2.0",
3790
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
3791
- "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
3792
  "dev": true,
3793
  "requires": {
3794
  "ms": "2.1.2"
@@ -3972,14 +3997,14 @@
3972
  },
3973
  "dependencies": {
3974
  "domelementtype": {
3975
- "version": "2.0.2",
3976
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz",
3977
- "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA=="
3978
  },
3979
  "entities": {
3980
- "version": "2.0.3",
3981
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
3982
- "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
3983
  }
3984
  }
3985
  },
@@ -4075,24 +4100,24 @@
4075
  }
4076
  },
4077
  "electron-to-chromium": {
4078
- "version": "1.3.578",
4079
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.578.tgz",
4080
- "integrity": "sha512-z4gU6dA1CbBJsAErW5swTGAaU2TBzc2mPAonJb00zqW1rOraDo2zfBMDRvaz9cVic+0JEZiYbHWPw/fTaZlG2Q==",
4081
  "dev": true
4082
  },
4083
  "elliptic": {
4084
- "version": "6.5.3",
4085
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",
4086
- "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
4087
  "dev": true,
4088
  "requires": {
4089
- "bn.js": "^4.4.0",
4090
- "brorand": "^1.0.1",
4091
  "hash.js": "^1.0.0",
4092
- "hmac-drbg": "^1.0.0",
4093
- "inherits": "^2.0.1",
4094
- "minimalistic-assert": "^1.0.0",
4095
- "minimalistic-crypto-utils": "^1.0.0"
4096
  },
4097
  "dependencies": {
4098
  "bn.js": {
@@ -4124,9 +4149,9 @@
4124
  }
4125
  },
4126
  "enhanced-resolve": {
4127
- "version": "4.3.0",
4128
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
4129
- "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==",
4130
  "dev": true,
4131
  "requires": {
4132
  "graceful-fs": "^4.1.2",
@@ -4182,9 +4207,9 @@
4182
  "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY="
4183
  },
4184
  "errno": {
4185
- "version": "0.1.7",
4186
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
4187
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
4188
  "dev": true,
4189
  "requires": {
4190
  "prr": "~1.0.1"
@@ -4209,23 +4234,25 @@
4209
  }
4210
  },
4211
  "es-abstract": {
4212
- "version": "1.18.0-next.1",
4213
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
4214
- "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
4215
  "dev": true,
4216
  "requires": {
 
4217
  "es-to-primitive": "^1.2.1",
4218
  "function-bind": "^1.1.1",
 
4219
  "has": "^1.0.3",
4220
  "has-symbols": "^1.0.1",
4221
  "is-callable": "^1.2.2",
4222
- "is-negative-zero": "^2.0.0",
4223
  "is-regex": "^1.1.1",
4224
- "object-inspect": "^1.8.0",
4225
  "object-keys": "^1.1.1",
4226
- "object.assign": "^4.1.1",
4227
- "string.prototype.trimend": "^1.0.1",
4228
- "string.prototype.trimstart": "^1.0.1"
4229
  }
4230
  },
4231
  "es-to-primitive": {
@@ -4240,9 +4267,9 @@
4240
  }
4241
  },
4242
  "escalade": {
4243
- "version": "3.1.0",
4244
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.0.tgz",
4245
- "integrity": "sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig==",
4246
  "dev": true
4247
  },
4248
  "escape-string-regexp": {
@@ -4301,9 +4328,9 @@
4301
  "dev": true
4302
  },
4303
  "import-fresh": {
4304
- "version": "3.2.1",
4305
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
4306
- "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
4307
  "dev": true,
4308
  "requires": {
4309
  "parent-module": "^1.0.0",
@@ -4395,9 +4422,9 @@
4395
  "dev": true
4396
  },
4397
  "esquery": {
4398
- "version": "1.3.1",
4399
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
4400
- "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
4401
  "dev": true,
4402
  "requires": {
4403
  "estraverse": "^5.1.0"
@@ -4747,14 +4774,14 @@
4747
  }
4748
  },
4749
  "find-cache-dir": {
4750
- "version": "2.1.0",
4751
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
4752
- "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
4753
  "dev": true,
4754
  "requires": {
4755
  "commondir": "^1.0.1",
4756
- "make-dir": "^2.0.0",
4757
- "pkg-dir": "^3.0.0"
4758
  }
4759
  },
4760
  "find-up": {
@@ -5012,6 +5039,15 @@
5012
  "universalify": "^0.1.0"
5013
  }
5014
  },
 
 
 
 
 
 
 
 
 
5015
  "fs-write-stream-atomic": {
5016
  "version": "1.0.10",
5017
  "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
@@ -5030,9 +5066,9 @@
5030
  "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
5031
  },
5032
  "fsevents": {
5033
- "version": "2.1.3",
5034
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
5035
- "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
5036
  "dev": true,
5037
  "optional": true
5038
  },
@@ -5123,9 +5159,9 @@
5123
  }
5124
  },
5125
  "gensync": {
5126
- "version": "1.0.0-beta.1",
5127
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
5128
- "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
5129
  "dev": true
5130
  },
5131
  "get-caller-file": {
@@ -5133,6 +5169,17 @@
5133
  "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
5134
  "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
5135
  },
 
 
 
 
 
 
 
 
 
 
 
5136
  "get-stdin": {
5137
  "version": "4.0.1",
5138
  "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
@@ -5236,6 +5283,12 @@
5236
  "slash": "^2.0.0"
5237
  },
5238
  "dependencies": {
 
 
 
 
 
 
5239
  "slash": {
5240
  "version": "2.0.0",
5241
  "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
@@ -5271,9 +5324,9 @@
5271
  }
5272
  },
5273
  "graceful-fs": {
5274
- "version": "4.2.4",
5275
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
5276
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
5277
  "dev": true
5278
  },
5279
  "har-schema": {
@@ -5561,9 +5614,9 @@
5561
  }
5562
  },
5563
  "ieee754": {
5564
- "version": "1.1.13",
5565
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
5566
- "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
5567
  "dev": true
5568
  },
5569
  "iferr": {
@@ -5620,6 +5673,17 @@
5620
  "requires": {
5621
  "pkg-dir": "^3.0.0",
5622
  "resolve-cwd": "^2.0.0"
 
 
 
 
 
 
 
 
 
 
 
5623
  }
5624
  },
5625
  "imurmurhash": {
@@ -5670,9 +5734,9 @@
5670
  "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
5671
  },
5672
  "ini": {
5673
- "version": "1.3.5",
5674
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
5675
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
5676
  "dev": true
5677
  },
5678
  "inquirer": {
@@ -5811,9 +5875,9 @@
5811
  "dev": true
5812
  },
5813
  "is-callable": {
5814
- "version": "1.2.2",
5815
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
5816
- "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
5817
  "dev": true
5818
  },
5819
  "is-color-stop": {
@@ -5830,6 +5894,15 @@
5830
  "rgba-regex": "^1.0.0"
5831
  }
5832
  },
 
 
 
 
 
 
 
 
 
5833
  "is-data-descriptor": {
5834
  "version": "0.1.4",
5835
  "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -5926,9 +5999,9 @@
5926
  "dev": true
5927
  },
5928
  "is-negative-zero": {
5929
- "version": "2.0.0",
5930
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
5931
- "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
5932
  "dev": true
5933
  },
5934
  "is-number": {
@@ -5973,11 +6046,12 @@
5973
  }
5974
  },
5975
  "is-regex": {
5976
- "version": "1.1.1",
5977
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
5978
- "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
5979
  "dev": true,
5980
  "requires": {
 
5981
  "has-symbols": "^1.0.1"
5982
  }
5983
  },
@@ -6076,6 +6150,34 @@
6076
  "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
6077
  "dev": true
6078
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6079
  "jquery": {
6080
  "version": "3.5.1",
6081
  "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
@@ -6095,9 +6197,9 @@
6095
  "dev": true
6096
  },
6097
  "js-yaml": {
6098
- "version": "3.14.0",
6099
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
6100
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
6101
  "dev": true,
6102
  "requires": {
6103
  "argparse": "^1.0.7",
@@ -6168,9 +6270,9 @@
6168
  "dev": true
6169
  },
6170
  "json5": {
6171
- "version": "2.1.3",
6172
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
6173
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
6174
  "dev": true,
6175
  "requires": {
6176
  "minimist": "^1.2.5"
@@ -6220,20 +6322,11 @@
6220
  }
6221
  },
6222
  "leven": {
6223
- "version": "3.1.0",
6224
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
6225
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
6226
  "dev": true
6227
  },
6228
- "levenary": {
6229
- "version": "1.1.1",
6230
- "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
6231
- "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
6232
- "dev": true,
6233
- "requires": {
6234
- "leven": "^3.1.0"
6235
- }
6236
- },
6237
  "levn": {
6238
  "version": "0.3.0",
6239
  "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -6271,12 +6364,6 @@
6271
  "requires": {
6272
  "error-ex": "^1.2.0"
6273
  }
6274
- },
6275
- "pify": {
6276
- "version": "2.3.0",
6277
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
6278
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
6279
- "dev": true
6280
  }
6281
  }
6282
  },
@@ -6442,13 +6529,20 @@
6442
  }
6443
  },
6444
  "make-dir": {
6445
- "version": "2.1.0",
6446
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
6447
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
6448
  "dev": true,
6449
  "requires": {
6450
- "pify": "^4.0.1",
6451
- "semver": "^5.6.0"
 
 
 
 
 
 
 
6452
  }
6453
  },
6454
  "map-cache": {
@@ -6485,9 +6579,9 @@
6485
  "dev": true
6486
  },
6487
  "matched": {
6488
- "version": "5.0.0",
6489
- "resolved": "https://registry.npmjs.org/matched/-/matched-5.0.0.tgz",
6490
- "integrity": "sha512-O0LCuxYYBNBjP2dmAg0i6PME0Mb0dvjulpMC0tTIeMRh6kXYsugOT5GOWpFkSzqjQjgOUs/eiyvpVhXdN2La4g==",
6491
  "dev": true,
6492
  "requires": {
6493
  "glob": "^7.1.6",
@@ -6586,6 +6680,12 @@
6586
  "trim-newlines": "^1.0.0"
6587
  }
6588
  },
 
 
 
 
 
 
6589
  "merge2": {
6590
  "version": "1.4.1",
6591
  "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -6632,24 +6732,24 @@
6632
  }
6633
  },
6634
  "mime": {
6635
- "version": "2.4.6",
6636
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
6637
- "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
6638
  "dev": true
6639
  },
6640
  "mime-db": {
6641
- "version": "1.44.0",
6642
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
6643
- "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
6644
  "dev": true
6645
  },
6646
  "mime-types": {
6647
- "version": "2.1.27",
6648
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
6649
- "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
6650
  "dev": true,
6651
  "requires": {
6652
- "mime-db": "1.44.0"
6653
  }
6654
  },
6655
  "mimic-fn": {
@@ -6724,6 +6824,68 @@
6724
  "is-plain-obj": "^1.1.0"
6725
  }
6726
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6727
  "mississippi": {
6728
  "version": "3.0.0",
6729
  "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
@@ -6799,9 +6961,9 @@
6799
  "dev": true
6800
  },
6801
  "nan": {
6802
- "version": "2.14.1",
6803
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
6804
- "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
6805
  "dev": true
6806
  },
6807
  "nanomatch": {
@@ -6958,9 +7120,9 @@
6958
  }
6959
  },
6960
  "node-releases": {
6961
- "version": "1.1.61",
6962
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.61.tgz",
6963
- "integrity": "sha512-DD5vebQLg8jLCOzwupn954fbIiZht05DAZs0k2u8NStSe6h9XdsuIQL8hSRKYiU8WUQRznmSDrKGbv3ObOmC7g==",
6964
  "dev": true
6965
  },
6966
  "node-sass": {
@@ -7169,9 +7331,9 @@
7169
  "dev": true
7170
  },
7171
  "object-inspect": {
7172
- "version": "1.8.0",
7173
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
7174
- "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
7175
  "dev": true
7176
  },
7177
  "object-keys": {
@@ -7190,46 +7352,26 @@
7190
  }
7191
  },
7192
  "object.assign": {
7193
- "version": "4.1.1",
7194
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz",
7195
- "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==",
7196
  "dev": true,
7197
  "requires": {
 
7198
  "define-properties": "^1.1.3",
7199
- "es-abstract": "^1.18.0-next.0",
7200
  "has-symbols": "^1.0.1",
7201
  "object-keys": "^1.1.1"
7202
  }
7203
  },
7204
  "object.getownpropertydescriptors": {
7205
- "version": "2.1.0",
7206
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
7207
- "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
7208
  "dev": true,
7209
  "requires": {
 
7210
  "define-properties": "^1.1.3",
7211
- "es-abstract": "^1.17.0-next.1"
7212
- },
7213
- "dependencies": {
7214
- "es-abstract": {
7215
- "version": "1.17.7",
7216
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
7217
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
7218
- "dev": true,
7219
- "requires": {
7220
- "es-to-primitive": "^1.2.1",
7221
- "function-bind": "^1.1.1",
7222
- "has": "^1.0.3",
7223
- "has-symbols": "^1.0.1",
7224
- "is-callable": "^1.2.2",
7225
- "is-regex": "^1.1.1",
7226
- "object-inspect": "^1.8.0",
7227
- "object-keys": "^1.1.1",
7228
- "object.assign": "^4.1.1",
7229
- "string.prototype.trimend": "^1.0.1",
7230
- "string.prototype.trimstart": "^1.0.1"
7231
- }
7232
- }
7233
  }
7234
  },
7235
  "object.pick": {
@@ -7242,36 +7384,15 @@
7242
  }
7243
  },
7244
  "object.values": {
7245
- "version": "1.1.1",
7246
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
7247
- "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
7248
  "dev": true,
7249
  "requires": {
 
7250
  "define-properties": "^1.1.3",
7251
- "es-abstract": "^1.17.0-next.1",
7252
- "function-bind": "^1.1.1",
7253
  "has": "^1.0.3"
7254
- },
7255
- "dependencies": {
7256
- "es-abstract": {
7257
- "version": "1.17.7",
7258
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
7259
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
7260
- "dev": true,
7261
- "requires": {
7262
- "es-to-primitive": "^1.2.1",
7263
- "function-bind": "^1.1.1",
7264
- "has": "^1.0.3",
7265
- "has-symbols": "^1.0.1",
7266
- "is-callable": "^1.2.2",
7267
- "is-regex": "^1.1.1",
7268
- "object-inspect": "^1.8.0",
7269
- "object-keys": "^1.1.1",
7270
- "object.assign": "^4.1.1",
7271
- "string.prototype.trimend": "^1.0.1",
7272
- "string.prototype.trimstart": "^1.0.1"
7273
- }
7274
- }
7275
  }
7276
  },
7277
  "once": {
@@ -7359,6 +7480,15 @@
7359
  "p-limit": "^2.0.0"
7360
  }
7361
  },
 
 
 
 
 
 
 
 
 
7362
  "p-try": {
7363
  "version": "2.2.0",
7364
  "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
@@ -7534,14 +7664,6 @@
7534
  "graceful-fs": "^4.1.2",
7535
  "pify": "^2.0.0",
7536
  "pinkie-promise": "^2.0.0"
7537
- },
7538
- "dependencies": {
7539
- "pify": {
7540
- "version": "2.3.0",
7541
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
7542
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
7543
- "dev": true
7544
- }
7545
  }
7546
  },
7547
  "pbkdf2": {
@@ -7576,9 +7698,9 @@
7576
  "dev": true
7577
  },
7578
  "pify": {
7579
- "version": "4.0.1",
7580
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
7581
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
7582
  "dev": true
7583
  },
7584
  "pinkie": {
@@ -7597,12 +7719,48 @@
7597
  }
7598
  },
7599
  "pkg-dir": {
7600
- "version": "3.0.0",
7601
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
7602
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
7603
  "dev": true,
7604
  "requires": {
7605
- "find-up": "^3.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7606
  }
7607
  },
7608
  "posix-character-classes": {
@@ -8794,9 +8952,9 @@
8794
  }
8795
  },
8796
  "readdirp": {
8797
- "version": "3.4.0",
8798
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
8799
- "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
8800
  "dev": true,
8801
  "optional": true,
8802
  "requires": {
@@ -8814,9 +8972,9 @@
8814
  }
8815
  },
8816
  "regenerate": {
8817
- "version": "1.4.1",
8818
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz",
8819
- "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==",
8820
  "dev": true
8821
  },
8822
  "regenerate-unicode-properties": {
@@ -8880,9 +9038,9 @@
8880
  "dev": true
8881
  },
8882
  "regjsparser": {
8883
- "version": "0.6.4",
8884
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
8885
- "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
8886
  "dev": true,
8887
  "requires": {
8888
  "jsesc": "~0.5.0"
@@ -9035,11 +9193,12 @@
9035
  "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
9036
  },
9037
  "resolve": {
9038
- "version": "1.17.0",
9039
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
9040
- "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
9041
  "dev": true,
9042
  "requires": {
 
9043
  "path-parse": "^1.0.6"
9044
  }
9045
  },
@@ -9217,6 +9376,12 @@
9217
  "semver": "^6.3.0"
9218
  },
9219
  "dependencies": {
 
 
 
 
 
 
9220
  "semver": {
9221
  "version": "6.3.0",
9222
  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -9276,10 +9441,13 @@
9276
  "dev": true
9277
  },
9278
  "serialize-javascript": {
9279
- "version": "1.9.1",
9280
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz",
9281
- "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==",
9282
- "dev": true
 
 
 
9283
  },
9284
  "set-blocking": {
9285
  "version": "2.0.0",
@@ -9394,12 +9562,6 @@
9394
  "is-fullwidth-code-point": "^2.0.0"
9395
  }
9396
  },
9397
- "slick-carousel": {
9398
- "version": "1.8.1",
9399
- "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz",
9400
- "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==",
9401
- "dev": true
9402
- },
9403
  "snapdragon": {
9404
  "version": "0.8.2",
9405
  "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -9557,9 +9719,9 @@
9557
  }
9558
  },
9559
  "source-map-url": {
9560
- "version": "0.4.0",
9561
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
9562
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
9563
  "dev": true
9564
  },
9565
  "spdx-correct": {
@@ -9589,9 +9751,9 @@
9589
  }
9590
  },
9591
  "spdx-license-ids": {
9592
- "version": "3.0.6",
9593
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz",
9594
- "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==",
9595
  "dev": true
9596
  },
9597
  "specificity": {
@@ -9835,65 +9997,23 @@
9835
  }
9836
  },
9837
  "string.prototype.trimend": {
9838
- "version": "1.0.1",
9839
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
9840
- "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
9841
  "dev": true,
9842
  "requires": {
9843
- "define-properties": "^1.1.3",
9844
- "es-abstract": "^1.17.5"
9845
- },
9846
- "dependencies": {
9847
- "es-abstract": {
9848
- "version": "1.17.7",
9849
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
9850
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
9851
- "dev": true,
9852
- "requires": {
9853
- "es-to-primitive": "^1.2.1",
9854
- "function-bind": "^1.1.1",
9855
- "has": "^1.0.3",
9856
- "has-symbols": "^1.0.1",
9857
- "is-callable": "^1.2.2",
9858
- "is-regex": "^1.1.1",
9859
- "object-inspect": "^1.8.0",
9860
- "object-keys": "^1.1.1",
9861
- "object.assign": "^4.1.1",
9862
- "string.prototype.trimend": "^1.0.1",
9863
- "string.prototype.trimstart": "^1.0.1"
9864
- }
9865
- }
9866
  }
9867
  },
9868
  "string.prototype.trimstart": {
9869
- "version": "1.0.1",
9870
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
9871
- "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
9872
  "dev": true,
9873
  "requires": {
9874
- "define-properties": "^1.1.3",
9875
- "es-abstract": "^1.17.5"
9876
- },
9877
- "dependencies": {
9878
- "es-abstract": {
9879
- "version": "1.17.7",
9880
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
9881
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
9882
- "dev": true,
9883
- "requires": {
9884
- "es-to-primitive": "^1.2.1",
9885
- "function-bind": "^1.1.1",
9886
- "has": "^1.0.3",
9887
- "has-symbols": "^1.0.1",
9888
- "is-callable": "^1.2.2",
9889
- "is-regex": "^1.1.1",
9890
- "object-inspect": "^1.8.0",
9891
- "object-keys": "^1.1.1",
9892
- "object.assign": "^4.1.1",
9893
- "string.prototype.trimend": "^1.0.1",
9894
- "string.prototype.trimstart": "^1.0.1"
9895
- }
9896
- }
9897
  }
9898
  },
9899
  "string_decoder": {
@@ -10105,12 +10225,6 @@
10105
  "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
10106
  "dev": true
10107
  },
10108
- "leven": {
10109
- "version": "2.1.0",
10110
- "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
10111
- "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
10112
- "dev": true
10113
- },
10114
  "load-json-file": {
10115
  "version": "4.0.0",
10116
  "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
@@ -10205,6 +10319,12 @@
10205
  }
10206
  }
10207
  },
 
 
 
 
 
 
10208
  "postcss-selector-parser": {
10209
  "version": "3.1.2",
10210
  "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
@@ -10321,9 +10441,9 @@
10321
  }
10322
  },
10323
  "stylelint-scss": {
10324
- "version": "3.18.0",
10325
- "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.18.0.tgz",
10326
- "integrity": "sha512-LD7+hv/6/ApNGt7+nR/50ft7cezKP2HM5rI8avIdGaUWre3xlHfV4jKO/DRZhscfuN+Ewy9FMhcTq0CcS0C/SA==",
10327
  "dev": true,
10328
  "requires": {
10329
  "lodash": "^4.17.15",
@@ -10419,20 +10539,20 @@
10419
  }
10420
  },
10421
  "terser": {
10422
- "version": "4.8.0",
10423
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
10424
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
10425
  "dev": true,
10426
  "requires": {
10427
  "commander": "^2.20.0",
10428
- "source-map": "~0.6.1",
10429
- "source-map-support": "~0.5.12"
10430
  },
10431
  "dependencies": {
10432
  "source-map": {
10433
- "version": "0.6.1",
10434
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
10435
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
10436
  "dev": true
10437
  },
10438
  "source-map-support": {
@@ -10443,45 +10563,108 @@
10443
  "requires": {
10444
  "buffer-from": "^1.0.0",
10445
  "source-map": "^0.6.0"
 
 
 
 
 
 
 
 
10446
  }
10447
  }
10448
  }
10449
  },
10450
  "terser-webpack-plugin": {
10451
- "version": "1.4.5",
10452
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
10453
- "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
10454
  "dev": true,
10455
  "requires": {
10456
- "cacache": "^12.0.2",
10457
- "find-cache-dir": "^2.1.0",
10458
- "is-wsl": "^1.1.0",
10459
- "schema-utils": "^1.0.0",
10460
- "serialize-javascript": "^4.0.0",
 
10461
  "source-map": "^0.6.1",
10462
- "terser": "^4.1.2",
10463
- "webpack-sources": "^1.4.0",
10464
- "worker-farm": "^1.7.0"
10465
- },
10466
- "dependencies": {
10467
- "schema-utils": {
10468
- "version": "1.0.0",
10469
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
10470
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10471
  "dev": true,
10472
  "requires": {
10473
- "ajv": "^6.1.0",
10474
- "ajv-errors": "^1.0.0",
10475
- "ajv-keywords": "^3.1.0"
10476
  }
10477
  },
10478
- "serialize-javascript": {
10479
- "version": "4.0.0",
10480
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
10481
- "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
 
 
 
 
 
 
10482
  "dev": true,
10483
  "requires": {
10484
- "randombytes": "^2.1.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10485
  }
10486
  },
10487
  "source-map": {
@@ -10489,6 +10672,35 @@
10489
  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
10490
  "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
10491
  "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10492
  }
10493
  }
10494
  },
@@ -10547,9 +10759,9 @@
10547
  }
10548
  },
10549
  "timers-browserify": {
10550
- "version": "2.0.11",
10551
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
10552
- "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
10553
  "dev": true,
10554
  "requires": {
10555
  "setimmediate": "^1.0.4"
@@ -10653,9 +10865,9 @@
10653
  "dev": true
10654
  },
10655
  "trim-trailing-lines": {
10656
- "version": "1.1.3",
10657
- "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz",
10658
- "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==",
10659
  "dev": true
10660
  },
10661
  "trough": {
@@ -10674,9 +10886,9 @@
10674
  }
10675
  },
10676
  "tslib": {
10677
- "version": "1.14.0",
10678
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.0.tgz",
10679
- "integrity": "sha512-+Zw5lu0D9tvBMjGP8LpvMb0u2WW2QV3y+D8mO6J+cNzCYIN4sVy43Bf9vl92nqFahutN0I8zHa7cc4vihIshnw==",
10680
  "dev": true
10681
  },
10682
  "tty-browserify": {
@@ -10721,48 +10933,6 @@
10721
  "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
10722
  "dev": true
10723
  },
10724
- "uglify-js": {
10725
- "version": "3.11.1",
10726
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.1.tgz",
10727
- "integrity": "sha512-OApPSuJcxcnewwjSGGfWOjx3oix5XpmrK9Z2j0fTRlHGoZ49IU6kExfZTM0++fCArOOCet+vIfWwFHbvWqwp6g==",
10728
- "dev": true
10729
- },
10730
- "uglifyjs-webpack-plugin": {
10731
- "version": "2.2.0",
10732
- "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.2.0.tgz",
10733
- "integrity": "sha512-mHSkufBmBuJ+KHQhv5H0MXijtsoA1lynJt1lXOaotja8/I0pR4L9oGaPIZw+bQBOFittXZg9OC1sXSGO9D9ZYg==",
10734
- "dev": true,
10735
- "requires": {
10736
- "cacache": "^12.0.2",
10737
- "find-cache-dir": "^2.1.0",
10738
- "is-wsl": "^1.1.0",
10739
- "schema-utils": "^1.0.0",
10740
- "serialize-javascript": "^1.7.0",
10741
- "source-map": "^0.6.1",
10742
- "uglify-js": "^3.6.0",
10743
- "webpack-sources": "^1.4.0",
10744
- "worker-farm": "^1.7.0"
10745
- },
10746
- "dependencies": {
10747
- "schema-utils": {
10748
- "version": "1.0.0",
10749
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
10750
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
10751
- "dev": true,
10752
- "requires": {
10753
- "ajv": "^6.1.0",
10754
- "ajv-errors": "^1.0.0",
10755
- "ajv-keywords": "^3.1.0"
10756
- }
10757
- },
10758
- "source-map": {
10759
- "version": "0.6.1",
10760
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
10761
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
10762
- "dev": true
10763
- }
10764
- }
10765
- },
10766
  "unherit": {
10767
  "version": "1.1.3",
10768
  "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
@@ -10976,9 +11146,9 @@
10976
  "optional": true
10977
  },
10978
  "uri-js": {
10979
- "version": "4.4.0",
10980
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
10981
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
10982
  "dev": true,
10983
  "requires": {
10984
  "punycode": "^2.1.0"
@@ -11077,9 +11247,9 @@
11077
  "dev": true
11078
  },
11079
  "v8-compile-cache": {
11080
- "version": "2.1.1",
11081
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
11082
- "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
11083
  "dev": true
11084
  },
11085
  "validate-npm-package-license": {
@@ -11122,9 +11292,9 @@
11122
  },
11123
  "dependencies": {
11124
  "is-buffer": {
11125
- "version": "2.0.4",
11126
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
11127
- "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
11128
  "dev": true
11129
  },
11130
  "unist-util-stringify-position": {
@@ -11167,21 +11337,21 @@
11167
  "dev": true
11168
  },
11169
  "watchpack": {
11170
- "version": "1.7.4",
11171
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz",
11172
- "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==",
11173
  "dev": true,
11174
  "requires": {
11175
  "chokidar": "^3.4.1",
11176
  "graceful-fs": "^4.1.2",
11177
  "neo-async": "^2.5.0",
11178
- "watchpack-chokidar2": "^2.0.0"
11179
  }
11180
  },
11181
  "watchpack-chokidar2": {
11182
- "version": "2.0.0",
11183
- "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz",
11184
- "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==",
11185
  "dev": true,
11186
  "optional": true,
11187
  "requires": {
@@ -11312,9 +11482,9 @@
11312
  "integrity": "sha1-23hhKSU8tujq5UwvsF+HCvZnW64="
11313
  },
11314
  "webpack": {
11315
- "version": "4.44.2",
11316
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz",
11317
- "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==",
11318
  "dev": true,
11319
  "requires": {
11320
  "@webassemblyjs/ast": "1.9.0",
@@ -11325,7 +11495,7 @@
11325
  "ajv": "^6.10.2",
11326
  "ajv-keywords": "^3.4.1",
11327
  "chrome-trace-event": "^1.0.2",
11328
- "enhanced-resolve": "^4.3.0",
11329
  "eslint-scope": "^4.0.3",
11330
  "json-parse-better-errors": "^1.0.2",
11331
  "loader-runner": "^2.4.0",
@@ -11342,6 +11512,42 @@
11342
  "webpack-sources": "^1.4.1"
11343
  },
11344
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11345
  "schema-utils": {
11346
  "version": "1.0.0",
11347
  "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
@@ -11352,6 +11558,59 @@
11352
  "ajv-errors": "^1.0.0",
11353
  "ajv-keywords": "^3.1.0"
11354
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11355
  }
11356
  }
11357
  },
@@ -11497,9 +11756,9 @@
11497
  }
11498
  },
11499
  "wp-pot": {
11500
- "version": "1.9.6",
11501
- "resolved": "https://registry.npmjs.org/wp-pot/-/wp-pot-1.9.6.tgz",
11502
- "integrity": "sha512-nNhn4vzJ/hg7j3lbG8NGzFyzDfbsmw1HE2Qoy8qw+esAZwgt6kibkelc/p0FduZd1VziVQ0kT0PM/AoZMLoyig==",
11503
  "dev": true,
11504
  "requires": {
11505
  "matched": "^5.0.0",
@@ -11599,9 +11858,9 @@
11599
  }
11600
  },
11601
  "parse-json": {
11602
- "version": "5.1.0",
11603
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz",
11604
- "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==",
11605
  "dev": true,
11606
  "requires": {
11607
  "@babel/code-frame": "^7.0.0",
@@ -11735,9 +11994,9 @@
11735
  "dev": true
11736
  },
11737
  "y18n": {
11738
- "version": "4.0.0",
11739
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
11740
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
11741
  },
11742
  "yallist": {
11743
  "version": "2.1.2",
@@ -11770,6 +12029,12 @@
11770
  "camelcase": "^5.0.0",
11771
  "decamelize": "^1.2.0"
11772
  }
 
 
 
 
 
 
11773
  }
11774
  }
11775
  }
1
  {
2
+ "name": "responsive-menu-pro",
3
  "version": "1.0.0",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
7
  "@babel/code-frame": {
8
+ "version": "7.12.13",
9
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
10
+ "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
11
  "dev": true,
12
  "requires": {
13
+ "@babel/highlight": "^7.12.13"
14
  }
15
  },
16
  "@babel/compat-data": {
17
+ "version": "7.12.13",
18
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.13.tgz",
19
+ "integrity": "sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==",
20
+ "dev": true
 
 
 
 
 
21
  },
22
  "@babel/core": {
23
+ "version": "7.12.16",
24
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.16.tgz",
25
+ "integrity": "sha512-t/hHIB504wWceOeaOoONOhu+gX+hpjfeN6YRBT209X/4sibZQfSF1I0HFRRlBe97UZZosGx5XwUg1ZgNbelmNw==",
26
+ "dev": true,
27
+ "requires": {
28
+ "@babel/code-frame": "^7.12.13",
29
+ "@babel/generator": "^7.12.15",
30
+ "@babel/helper-module-transforms": "^7.12.13",
31
+ "@babel/helpers": "^7.12.13",
32
+ "@babel/parser": "^7.12.16",
33
+ "@babel/template": "^7.12.13",
34
+ "@babel/traverse": "^7.12.13",
35
+ "@babel/types": "^7.12.13",
36
  "convert-source-map": "^1.7.0",
37
  "debug": "^4.1.0",
38
  "gensync": "^1.0.0-beta.1",
39
  "json5": "^2.1.2",
40
  "lodash": "^4.17.19",
 
41
  "semver": "^5.4.1",
42
  "source-map": "^0.5.0"
43
  }
44
  },
45
  "@babel/generator": {
46
+ "version": "7.12.15",
47
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz",
48
+ "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==",
49
  "dev": true,
50
  "requires": {
51
+ "@babel/types": "^7.12.13",
52
  "jsesc": "^2.5.1",
53
  "source-map": "^0.5.0"
54
  }
55
  },
56
  "@babel/helper-annotate-as-pure": {
57
+ "version": "7.12.13",
58
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz",
59
+ "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==",
60
  "dev": true,
61
  "requires": {
62
+ "@babel/types": "^7.12.13"
63
  }
64
  },
65
  "@babel/helper-builder-binary-assignment-operator-visitor": {
66
+ "version": "7.12.13",
67
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz",
68
+ "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==",
69
  "dev": true,
70
  "requires": {
71
+ "@babel/helper-explode-assignable-expression": "^7.12.13",
72
+ "@babel/types": "^7.12.13"
73
  }
74
  },
75
  "@babel/helper-compilation-targets": {
76
+ "version": "7.12.16",
77
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.16.tgz",
78
+ "integrity": "sha512-dBHNEEaZx7F3KoUYqagIhRIeqyyuI65xMndMZ3WwGwEBI609I4TleYQHcrS627vbKyNTXqShoN+fvYD9HuQxAg==",
79
  "dev": true,
80
  "requires": {
81
+ "@babel/compat-data": "^7.12.13",
82
+ "@babel/helper-validator-option": "^7.12.16",
83
+ "browserslist": "^4.14.5",
 
84
  "semver": "^5.5.0"
85
  }
86
  },
87
  "@babel/helper-create-class-features-plugin": {
88
+ "version": "7.12.16",
89
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.16.tgz",
90
+ "integrity": "sha512-KbSEj8l9zYkMVHpQqM3wJNxS1d9h3U9vm/uE5tpjMbaj3lTp+0noe3KPsV5dSD9jxKnf9jO9Ip9FX5PKNZCKow==",
91
  "dev": true,
92
  "requires": {
93
+ "@babel/helper-function-name": "^7.12.13",
94
+ "@babel/helper-member-expression-to-functions": "^7.12.16",
95
+ "@babel/helper-optimise-call-expression": "^7.12.13",
96
+ "@babel/helper-replace-supers": "^7.12.13",
97
+ "@babel/helper-split-export-declaration": "^7.12.13"
 
98
  }
99
  },
100
  "@babel/helper-create-regexp-features-plugin": {
101
+ "version": "7.12.16",
102
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.16.tgz",
103
+ "integrity": "sha512-jAcQ1biDYZBdaAxB4yg46/XirgX7jBDiMHDbwYQOgtViLBXGxJpZQ24jutmBqAIB/q+AwB6j+NbBXjKxEY8vqg==",
 
 
 
 
 
 
 
 
 
 
 
104
  "dev": true,
105
  "requires": {
106
+ "@babel/helper-annotate-as-pure": "^7.12.13",
107
+ "regexpu-core": "^4.7.1"
 
108
  }
109
  },
110
  "@babel/helper-explode-assignable-expression": {
111
+ "version": "7.12.13",
112
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz",
113
+ "integrity": "sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==",
114
  "dev": true,
115
  "requires": {
116
+ "@babel/types": "^7.12.13"
117
  }
118
  },
119
  "@babel/helper-function-name": {
120
+ "version": "7.12.13",
121
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz",
122
+ "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==",
123
  "dev": true,
124
  "requires": {
125
+ "@babel/helper-get-function-arity": "^7.12.13",
126
+ "@babel/template": "^7.12.13",
127
+ "@babel/types": "^7.12.13"
128
  }
129
  },
130
  "@babel/helper-get-function-arity": {
131
+ "version": "7.12.13",
132
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz",
133
+ "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==",
134
  "dev": true,
135
  "requires": {
136
+ "@babel/types": "^7.12.13"
137
  }
138
  },
139
  "@babel/helper-hoist-variables": {
140
+ "version": "7.12.13",
141
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz",
142
+ "integrity": "sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==",
143
  "dev": true,
144
  "requires": {
145
+ "@babel/types": "^7.12.13"
146
  }
147
  },
148
  "@babel/helper-member-expression-to-functions": {
149
+ "version": "7.12.16",
150
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.16.tgz",
151
+ "integrity": "sha512-zYoZC1uvebBFmj1wFAlXwt35JLEgecefATtKp20xalwEK8vHAixLBXTGxNrVGEmTT+gzOThUgr8UEdgtalc1BQ==",
152
  "dev": true,
153
  "requires": {
154
+ "@babel/types": "^7.12.13"
155
  }
156
  },
157
  "@babel/helper-module-imports": {
158
+ "version": "7.12.13",
159
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz",
160
+ "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==",
161
  "dev": true,
162
  "requires": {
163
+ "@babel/types": "^7.12.13"
164
  }
165
  },
166
  "@babel/helper-module-transforms": {
167
+ "version": "7.12.13",
168
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz",
169
+ "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==",
170
+ "dev": true,
171
+ "requires": {
172
+ "@babel/helper-module-imports": "^7.12.13",
173
+ "@babel/helper-replace-supers": "^7.12.13",
174
+ "@babel/helper-simple-access": "^7.12.13",
175
+ "@babel/helper-split-export-declaration": "^7.12.13",
176
+ "@babel/helper-validator-identifier": "^7.12.11",
177
+ "@babel/template": "^7.12.13",
178
+ "@babel/traverse": "^7.12.13",
179
+ "@babel/types": "^7.12.13",
180
  "lodash": "^4.17.19"
181
  }
182
  },
183
  "@babel/helper-optimise-call-expression": {
184
+ "version": "7.12.13",
185
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz",
186
+ "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==",
187
  "dev": true,
188
  "requires": {
189
+ "@babel/types": "^7.12.13"
190
  }
191
  },
192
  "@babel/helper-plugin-utils": {
193
+ "version": "7.12.13",
194
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz",
195
+ "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==",
196
  "dev": true
197
  },
 
 
 
 
 
 
 
 
 
198
  "@babel/helper-remap-async-to-generator": {
199
+ "version": "7.12.13",
200
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz",
201
+ "integrity": "sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==",
202
  "dev": true,
203
  "requires": {
204
+ "@babel/helper-annotate-as-pure": "^7.12.13",
205
+ "@babel/helper-wrap-function": "^7.12.13",
206
+ "@babel/types": "^7.12.13"
 
207
  }
208
  },
209
  "@babel/helper-replace-supers": {
210
+ "version": "7.12.13",
211
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz",
212
+ "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==",
213
  "dev": true,
214
  "requires": {
215
+ "@babel/helper-member-expression-to-functions": "^7.12.13",
216
+ "@babel/helper-optimise-call-expression": "^7.12.13",
217
+ "@babel/traverse": "^7.12.13",
218
+ "@babel/types": "^7.12.13"
219
  }
220
  },
221
  "@babel/helper-simple-access": {
222
+ "version": "7.12.13",
223
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz",
224
+ "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==",
225
  "dev": true,
226
  "requires": {
227
+ "@babel/types": "^7.12.13"
 
228
  }
229
  },
230
  "@babel/helper-skip-transparent-expression-wrappers": {
231
+ "version": "7.12.1",
232
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz",
233
+ "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==",
234
  "dev": true,
235
  "requires": {
236
+ "@babel/types": "^7.12.1"
237
  }
238
  },
239
  "@babel/helper-split-export-declaration": {
240
+ "version": "7.12.13",
241
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz",
242
+ "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==",
243
  "dev": true,
244
  "requires": {
245
+ "@babel/types": "^7.12.13"
246
  }
247
  },
248
  "@babel/helper-validator-identifier": {
249
+ "version": "7.12.11",
250
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
251
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
252
+ "dev": true
253
+ },
254
+ "@babel/helper-validator-option": {
255
+ "version": "7.12.16",
256
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.16.tgz",
257
+ "integrity": "sha512-uCgsDBPUQDvzr11ePPo4TVEocxj8RXjUVSC/Y8N1YpVAI/XDdUwGJu78xmlGhTxj2ntaWM7n9LQdRtyhOzT2YQ==",
258
  "dev": true
259
  },
260
  "@babel/helper-wrap-function": {
261
+ "version": "7.12.13",
262
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz",
263
+ "integrity": "sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==",
264
  "dev": true,
265
  "requires": {
266
+ "@babel/helper-function-name": "^7.12.13",
267
+ "@babel/template": "^7.12.13",
268
+ "@babel/traverse": "^7.12.13",
269
+ "@babel/types": "^7.12.13"
270
  }
271
  },
272
  "@babel/helpers": {
273
+ "version": "7.12.13",
274
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz",
275
+ "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==",
276
  "dev": true,
277
  "requires": {
278
+ "@babel/template": "^7.12.13",
279
+ "@babel/traverse": "^7.12.13",
280
+ "@babel/types": "^7.12.13"
281
  }
282
  },
283
  "@babel/highlight": {
284
+ "version": "7.12.13",
285
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz",
286
+ "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==",
287
  "dev": true,
288
  "requires": {
289
+ "@babel/helper-validator-identifier": "^7.12.11",
290
  "chalk": "^2.0.0",
291
  "js-tokens": "^4.0.0"
292
  }
293
  },
294
  "@babel/parser": {
295
+ "version": "7.12.16",
296
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.16.tgz",
297
+ "integrity": "sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==",
298
  "dev": true
299
  },
300
  "@babel/plugin-proposal-async-generator-functions": {
301
+ "version": "7.12.13",
302
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz",
303
+ "integrity": "sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA==",
304
  "dev": true,
305
  "requires": {
306
+ "@babel/helper-plugin-utils": "^7.12.13",
307
+ "@babel/helper-remap-async-to-generator": "^7.12.13",
308
  "@babel/plugin-syntax-async-generators": "^7.8.0"
309
  }
310
  },
311
  "@babel/plugin-proposal-class-properties": {
312
+ "version": "7.12.13",
313
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz",
314
+ "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==",
315
  "dev": true,
316
  "requires": {
317
+ "@babel/helper-create-class-features-plugin": "^7.12.13",
318
+ "@babel/helper-plugin-utils": "^7.12.13"
319
  }
320
  },
321
  "@babel/plugin-proposal-dynamic-import": {
322
+ "version": "7.12.16",
323
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.16.tgz",
324
+ "integrity": "sha512-yiDkYFapVxNOCcBfLnsb/qdsliroM+vc3LHiZwS4gh7pFjo5Xq3BDhYBNn3H3ao+hWPvqeeTdU+s+FIvokov+w==",
325
  "dev": true,
326
  "requires": {
327
+ "@babel/helper-plugin-utils": "^7.12.13",
328
  "@babel/plugin-syntax-dynamic-import": "^7.8.0"
329
  }
330
  },
331
  "@babel/plugin-proposal-export-namespace-from": {
332
+ "version": "7.12.13",
333
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz",
334
+ "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==",
335
  "dev": true,
336
  "requires": {
337
+ "@babel/helper-plugin-utils": "^7.12.13",
338
  "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
339
  }
340
  },
341
  "@babel/plugin-proposal-json-strings": {
342
+ "version": "7.12.13",
343
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz",
344
+ "integrity": "sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg==",
345
  "dev": true,
346
  "requires": {
347
+ "@babel/helper-plugin-utils": "^7.12.13",
348
  "@babel/plugin-syntax-json-strings": "^7.8.0"
349
  }
350
  },
351
  "@babel/plugin-proposal-logical-assignment-operators": {
352
+ "version": "7.12.13",
353
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz",
354
+ "integrity": "sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ==",
355
  "dev": true,
356
  "requires": {
357
+ "@babel/helper-plugin-utils": "^7.12.13",
358
  "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
359
  }
360
  },
361
  "@babel/plugin-proposal-nullish-coalescing-operator": {
362
+ "version": "7.12.13",
363
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz",
364
+ "integrity": "sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q==",
365
  "dev": true,
366
  "requires": {
367
+ "@babel/helper-plugin-utils": "^7.12.13",
368
  "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
369
  }
370
  },
371
  "@babel/plugin-proposal-numeric-separator": {
372
+ "version": "7.12.13",
373
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz",
374
+ "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==",
375
  "dev": true,
376
  "requires": {
377
+ "@babel/helper-plugin-utils": "^7.12.13",
378
  "@babel/plugin-syntax-numeric-separator": "^7.10.4"
379
  }
380
  },
381
  "@babel/plugin-proposal-object-rest-spread": {
382
+ "version": "7.12.13",
383
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz",
384
+ "integrity": "sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==",
385
  "dev": true,
386
  "requires": {
387
+ "@babel/helper-plugin-utils": "^7.12.13",
388
  "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
389
+ "@babel/plugin-transform-parameters": "^7.12.13"
390
  }
391
  },
392
  "@babel/plugin-proposal-optional-catch-binding": {
393
+ "version": "7.12.13",
394
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz",
395
+ "integrity": "sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg==",
396
  "dev": true,
397
  "requires": {
398
+ "@babel/helper-plugin-utils": "^7.12.13",
399
  "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
400
  }
401
  },
402
  "@babel/plugin-proposal-optional-chaining": {
403
+ "version": "7.12.16",
404
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.16.tgz",
405
+ "integrity": "sha512-O3ohPwOhkwji5Mckb7F/PJpJVJY3DpPsrt/F0Bk40+QMk9QpAIqeGusHWqu/mYqsM8oBa6TziL/2mbERWsUZjg==",
406
  "dev": true,
407
  "requires": {
408
+ "@babel/helper-plugin-utils": "^7.12.13",
409
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
410
  "@babel/plugin-syntax-optional-chaining": "^7.8.0"
411
  }
412
  },
413
  "@babel/plugin-proposal-private-methods": {
414
+ "version": "7.12.13",
415
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz",
416
+ "integrity": "sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg==",
417
  "dev": true,
418
  "requires": {
419
+ "@babel/helper-create-class-features-plugin": "^7.12.13",
420
+ "@babel/helper-plugin-utils": "^7.12.13"
421
  }
422
  },
423
  "@babel/plugin-proposal-unicode-property-regex": {
424
+ "version": "7.12.13",
425
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz",
426
+ "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==",
427
  "dev": true,
428
  "requires": {
429
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
430
+ "@babel/helper-plugin-utils": "^7.12.13"
431
  }
432
  },
433
  "@babel/plugin-syntax-async-generators": {
440
  }
441
  },
442
  "@babel/plugin-syntax-class-properties": {
443
+ "version": "7.12.13",
444
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
445
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
446
  "dev": true,
447
  "requires": {
448
+ "@babel/helper-plugin-utils": "^7.12.13"
449
  }
450
  },
451
  "@babel/plugin-syntax-dynamic-import": {
530
  }
531
  },
532
  "@babel/plugin-syntax-top-level-await": {
533
+ "version": "7.12.13",
534
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz",
535
+ "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==",
536
  "dev": true,
537
  "requires": {
538
+ "@babel/helper-plugin-utils": "^7.12.13"
539
  }
540
  },
541
  "@babel/plugin-transform-arrow-functions": {
542
+ "version": "7.12.13",
543
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz",
544
+ "integrity": "sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg==",
545
  "dev": true,
546
  "requires": {
547
+ "@babel/helper-plugin-utils": "^7.12.13"
548
  }
549
  },
550
  "@babel/plugin-transform-async-to-generator": {
551
+ "version": "7.12.13",
552
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz",
553
+ "integrity": "sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A==",
554
  "dev": true,
555
  "requires": {
556
+ "@babel/helper-module-imports": "^7.12.13",
557
+ "@babel/helper-plugin-utils": "^7.12.13",
558
+ "@babel/helper-remap-async-to-generator": "^7.12.13"
559
  }
560
  },
561
  "@babel/plugin-transform-block-scoped-functions": {
562
+ "version": "7.12.13",
563
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz",
564
+ "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==",
565
  "dev": true,
566
  "requires": {
567
+ "@babel/helper-plugin-utils": "^7.12.13"
568
  }
569
  },
570
  "@babel/plugin-transform-block-scoping": {
571
+ "version": "7.12.13",
572
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz",
573
+ "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==",
574
  "dev": true,
575
  "requires": {
576
+ "@babel/helper-plugin-utils": "^7.12.13"
577
  }
578
  },
579
  "@babel/plugin-transform-classes": {
580
+ "version": "7.12.13",
581
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz",
582
+ "integrity": "sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA==",
583
  "dev": true,
584
  "requires": {
585
+ "@babel/helper-annotate-as-pure": "^7.12.13",
586
+ "@babel/helper-function-name": "^7.12.13",
587
+ "@babel/helper-optimise-call-expression": "^7.12.13",
588
+ "@babel/helper-plugin-utils": "^7.12.13",
589
+ "@babel/helper-replace-supers": "^7.12.13",
590
+ "@babel/helper-split-export-declaration": "^7.12.13",
 
591
  "globals": "^11.1.0"
592
  }
593
  },
594
  "@babel/plugin-transform-computed-properties": {
595
+ "version": "7.12.13",
596
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz",
597
+ "integrity": "sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA==",
598
  "dev": true,
599
  "requires": {
600
+ "@babel/helper-plugin-utils": "^7.12.13"
601
  }
602
  },
603
  "@babel/plugin-transform-destructuring": {
604
+ "version": "7.12.13",
605
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz",
606
+ "integrity": "sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ==",
607
  "dev": true,
608
  "requires": {
609
+ "@babel/helper-plugin-utils": "^7.12.13"
610
  }
611
  },
612
  "@babel/plugin-transform-dotall-regex": {
613
+ "version": "7.12.13",
614
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz",
615
+ "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==",
616
  "dev": true,
617
  "requires": {
618
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
619
+ "@babel/helper-plugin-utils": "^7.12.13"
620
  }
621
  },
622
  "@babel/plugin-transform-duplicate-keys": {
623
+ "version": "7.12.13",
624
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz",
625
+ "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==",
626
  "dev": true,
627
  "requires": {
628
+ "@babel/helper-plugin-utils": "^7.12.13"
629
  }
630
  },
631
  "@babel/plugin-transform-exponentiation-operator": {
632
+ "version": "7.12.13",
633
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz",
634
+ "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==",
635
  "dev": true,
636
  "requires": {
637
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13",
638
+ "@babel/helper-plugin-utils": "^7.12.13"
639
  }
640
  },
641
  "@babel/plugin-transform-for-of": {
642
+ "version": "7.12.13",
643
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz",
644
+ "integrity": "sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ==",
645
  "dev": true,
646
  "requires": {
647
+ "@babel/helper-plugin-utils": "^7.12.13"
648
  }
649
  },
650
  "@babel/plugin-transform-function-name": {
651
+ "version": "7.12.13",
652
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz",
653
+ "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==",
654
  "dev": true,
655
  "requires": {
656
+ "@babel/helper-function-name": "^7.12.13",
657
+ "@babel/helper-plugin-utils": "^7.12.13"
658
  }
659
  },
660
  "@babel/plugin-transform-literals": {
661
+ "version": "7.12.13",
662
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz",
663
+ "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==",
664
  "dev": true,
665
  "requires": {
666
+ "@babel/helper-plugin-utils": "^7.12.13"
667
  }
668
  },
669
  "@babel/plugin-transform-member-expression-literals": {
670
+ "version": "7.12.13",
671
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz",
672
+ "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==",
673
  "dev": true,
674
  "requires": {
675
+ "@babel/helper-plugin-utils": "^7.12.13"
676
  }
677
  },
678
  "@babel/plugin-transform-modules-amd": {
679
+ "version": "7.12.13",
680
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz",
681
+ "integrity": "sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA==",
682
  "dev": true,
683
  "requires": {
684
+ "@babel/helper-module-transforms": "^7.12.13",
685
+ "@babel/helper-plugin-utils": "^7.12.13",
686
  "babel-plugin-dynamic-import-node": "^2.3.3"
687
  }
688
  },
689
  "@babel/plugin-transform-modules-commonjs": {
690
+ "version": "7.12.13",
691
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz",
692
+ "integrity": "sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ==",
693
  "dev": true,
694
  "requires": {
695
+ "@babel/helper-module-transforms": "^7.12.13",
696
+ "@babel/helper-plugin-utils": "^7.12.13",
697
+ "@babel/helper-simple-access": "^7.12.13",
698
  "babel-plugin-dynamic-import-node": "^2.3.3"
699
  }
700
  },
701
  "@babel/plugin-transform-modules-systemjs": {
702
+ "version": "7.12.13",
703
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz",
704
+ "integrity": "sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA==",
705
  "dev": true,
706
  "requires": {
707
+ "@babel/helper-hoist-variables": "^7.12.13",
708
+ "@babel/helper-module-transforms": "^7.12.13",
709
+ "@babel/helper-plugin-utils": "^7.12.13",
710
+ "@babel/helper-validator-identifier": "^7.12.11",
711
  "babel-plugin-dynamic-import-node": "^2.3.3"
712
  }
713
  },
714
  "@babel/plugin-transform-modules-umd": {
715
+ "version": "7.12.13",
716
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz",
717
+ "integrity": "sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w==",
718
  "dev": true,
719
  "requires": {
720
+ "@babel/helper-module-transforms": "^7.12.13",
721
+ "@babel/helper-plugin-utils": "^7.12.13"
722
  }
723
  },
724
  "@babel/plugin-transform-named-capturing-groups-regex": {
725
+ "version": "7.12.13",
726
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz",
727
+ "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==",
728
  "dev": true,
729
  "requires": {
730
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13"
731
  }
732
  },
733
  "@babel/plugin-transform-new-target": {
734
+ "version": "7.12.13",
735
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz",
736
+ "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==",
737
  "dev": true,
738
  "requires": {
739
+ "@babel/helper-plugin-utils": "^7.12.13"
740
  }
741
  },
742
  "@babel/plugin-transform-object-super": {
743
+ "version": "7.12.13",
744
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz",
745
+ "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==",
746
  "dev": true,
747
  "requires": {
748
+ "@babel/helper-plugin-utils": "^7.12.13",
749
+ "@babel/helper-replace-supers": "^7.12.13"
750
  }
751
  },
752
  "@babel/plugin-transform-parameters": {
753
+ "version": "7.12.13",
754
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz",
755
+ "integrity": "sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==",
756
  "dev": true,
757
  "requires": {
758
+ "@babel/helper-plugin-utils": "^7.12.13"
 
759
  }
760
  },
761
  "@babel/plugin-transform-property-literals": {
762
+ "version": "7.12.13",
763
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz",
764
+ "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==",
765
  "dev": true,
766
  "requires": {
767
+ "@babel/helper-plugin-utils": "^7.12.13"
768
  }
769
  },
770
  "@babel/plugin-transform-regenerator": {
771
+ "version": "7.12.13",
772
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz",
773
+ "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==",
774
  "dev": true,
775
  "requires": {
776
  "regenerator-transform": "^0.14.2"
777
  }
778
  },
779
  "@babel/plugin-transform-reserved-words": {
780
+ "version": "7.12.13",
781
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz",
782
+ "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==",
783
  "dev": true,
784
  "requires": {
785
+ "@babel/helper-plugin-utils": "^7.12.13"
786
  }
787
  },
788
  "@babel/plugin-transform-shorthand-properties": {
789
+ "version": "7.12.13",
790
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz",
791
+ "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==",
792
  "dev": true,
793
  "requires": {
794
+ "@babel/helper-plugin-utils": "^7.12.13"
795
  }
796
  },
797
  "@babel/plugin-transform-spread": {
798
+ "version": "7.12.13",
799
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz",
800
+ "integrity": "sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg==",
801
  "dev": true,
802
  "requires": {
803
+ "@babel/helper-plugin-utils": "^7.12.13",
804
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1"
805
  }
806
  },
807
  "@babel/plugin-transform-sticky-regex": {
808
+ "version": "7.12.13",
809
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz",
810
+ "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==",
811
  "dev": true,
812
  "requires": {
813
+ "@babel/helper-plugin-utils": "^7.12.13"
 
814
  }
815
  },
816
  "@babel/plugin-transform-template-literals": {
817
+ "version": "7.12.13",
818
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz",
819
+ "integrity": "sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg==",
820
  "dev": true,
821
  "requires": {
822
+ "@babel/helper-plugin-utils": "^7.12.13"
 
823
  }
824
  },
825
  "@babel/plugin-transform-typeof-symbol": {
826
+ "version": "7.12.13",
827
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz",
828
+ "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==",
829
  "dev": true,
830
  "requires": {
831
+ "@babel/helper-plugin-utils": "^7.12.13"
832
  }
833
  },
834
  "@babel/plugin-transform-unicode-escapes": {
835
+ "version": "7.12.13",
836
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz",
837
+ "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==",
838
  "dev": true,
839
  "requires": {
840
+ "@babel/helper-plugin-utils": "^7.12.13"
841
  }
842
  },
843
  "@babel/plugin-transform-unicode-regex": {
844
+ "version": "7.12.13",
845
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz",
846
+ "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==",
847
  "dev": true,
848
  "requires": {
849
+ "@babel/helper-create-regexp-features-plugin": "^7.12.13",
850
+ "@babel/helper-plugin-utils": "^7.12.13"
851
  }
852
  },
853
  "@babel/preset-env": {
854
+ "version": "7.12.16",
855
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.16.tgz",
856
+ "integrity": "sha512-BXCAXy8RE/TzX416pD2hsVdkWo0G+tYd16pwnRV4Sc0fRwTLRS/Ssv8G5RLXUGQv7g4FG7TXkdDJxCjQ5I+Zjg==",
857
+ "dev": true,
858
+ "requires": {
859
+ "@babel/compat-data": "^7.12.13",
860
+ "@babel/helper-compilation-targets": "^7.12.16",
861
+ "@babel/helper-module-imports": "^7.12.13",
862
+ "@babel/helper-plugin-utils": "^7.12.13",
863
+ "@babel/helper-validator-option": "^7.12.16",
864
+ "@babel/plugin-proposal-async-generator-functions": "^7.12.13",
865
+ "@babel/plugin-proposal-class-properties": "^7.12.13",
866
+ "@babel/plugin-proposal-dynamic-import": "^7.12.16",
867
+ "@babel/plugin-proposal-export-namespace-from": "^7.12.13",
868
+ "@babel/plugin-proposal-json-strings": "^7.12.13",
869
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13",
870
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13",
871
+ "@babel/plugin-proposal-numeric-separator": "^7.12.13",
872
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.13",
873
+ "@babel/plugin-proposal-optional-catch-binding": "^7.12.13",
874
+ "@babel/plugin-proposal-optional-chaining": "^7.12.16",
875
+ "@babel/plugin-proposal-private-methods": "^7.12.13",
876
+ "@babel/plugin-proposal-unicode-property-regex": "^7.12.13",
877
  "@babel/plugin-syntax-async-generators": "^7.8.0",
878
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
879
  "@babel/plugin-syntax-dynamic-import": "^7.8.0",
880
  "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
881
  "@babel/plugin-syntax-json-strings": "^7.8.0",
885
  "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
886
  "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
887
  "@babel/plugin-syntax-optional-chaining": "^7.8.0",
888
+ "@babel/plugin-syntax-top-level-await": "^7.12.13",
889
+ "@babel/plugin-transform-arrow-functions": "^7.12.13",
890
+ "@babel/plugin-transform-async-to-generator": "^7.12.13",
891
+ "@babel/plugin-transform-block-scoped-functions": "^7.12.13",
892
+ "@babel/plugin-transform-block-scoping": "^7.12.13",
893
+ "@babel/plugin-transform-classes": "^7.12.13",
894
+ "@babel/plugin-transform-computed-properties": "^7.12.13",
895
+ "@babel/plugin-transform-destructuring": "^7.12.13",
896
+ "@babel/plugin-transform-dotall-regex": "^7.12.13",
897
+ "@babel/plugin-transform-duplicate-keys": "^7.12.13",
898
+ "@babel/plugin-transform-exponentiation-operator": "^7.12.13",
899
+ "@babel/plugin-transform-for-of": "^7.12.13",
900
+ "@babel/plugin-transform-function-name": "^7.12.13",
901
+ "@babel/plugin-transform-literals": "^7.12.13",
902
+ "@babel/plugin-transform-member-expression-literals": "^7.12.13",
903
+ "@babel/plugin-transform-modules-amd": "^7.12.13",
904
+ "@babel/plugin-transform-modules-commonjs": "^7.12.13",
905
+ "@babel/plugin-transform-modules-systemjs": "^7.12.13",
906
+ "@babel/plugin-transform-modules-umd": "^7.12.13",
907
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13",
908
+ "@babel/plugin-transform-new-target": "^7.12.13",
909
+ "@babel/plugin-transform-object-super": "^7.12.13",
910
+ "@babel/plugin-transform-parameters": "^7.12.13",
911
+ "@babel/plugin-transform-property-literals": "^7.12.13",
912
+ "@babel/plugin-transform-regenerator": "^7.12.13",
913
+ "@babel/plugin-transform-reserved-words": "^7.12.13",
914
+ "@babel/plugin-transform-shorthand-properties": "^7.12.13",
915
+ "@babel/plugin-transform-spread": "^7.12.13",
916
+ "@babel/plugin-transform-sticky-regex": "^7.12.13",
917
+ "@babel/plugin-transform-template-literals": "^7.12.13",
918
+ "@babel/plugin-transform-typeof-symbol": "^7.12.13",
919
+ "@babel/plugin-transform-unicode-escapes": "^7.12.13",
920
+ "@babel/plugin-transform-unicode-regex": "^7.12.13",
921
  "@babel/preset-modules": "^0.1.3",
922
+ "@babel/types": "^7.12.13",
923
+ "core-js-compat": "^3.8.0",
 
 
 
924
  "semver": "^5.5.0"
925
  }
926
  },
938
  }
939
  },
940
  "@babel/runtime": {
941
+ "version": "7.12.13",
942
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.13.tgz",
943
+ "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==",
944
  "dev": true,
945
  "requires": {
946
  "regenerator-runtime": "^0.13.4"
947
  }
948
  },
949
  "@babel/template": {
950
+ "version": "7.12.13",
951
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz",
952
+ "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==",
953
  "dev": true,
954
  "requires": {
955
+ "@babel/code-frame": "^7.12.13",
956
+ "@babel/parser": "^7.12.13",
957
+ "@babel/types": "^7.12.13"
958
  }
959
  },
960
  "@babel/traverse": {
961
+ "version": "7.12.13",
962
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz",
963
+ "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==",
964
  "dev": true,
965
  "requires": {
966
+ "@babel/code-frame": "^7.12.13",
967
+ "@babel/generator": "^7.12.13",
968
+ "@babel/helper-function-name": "^7.12.13",
969
+ "@babel/helper-split-export-declaration": "^7.12.13",
970
+ "@babel/parser": "^7.12.13",
971
+ "@babel/types": "^7.12.13",
972
  "debug": "^4.1.0",
973
  "globals": "^11.1.0",
974
  "lodash": "^4.17.19"
975
  }
976
  },
977
  "@babel/types": {
978
+ "version": "7.12.13",
979
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz",
980
+ "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==",
981
  "dev": true,
982
  "requires": {
983
+ "@babel/helper-validator-identifier": "^7.12.11",
984
  "lodash": "^4.17.19",
985
  "to-fast-properties": "^2.0.0"
986
  }
1001
  "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
1002
  "dev": true
1003
  },
1004
+ "@npmcli/move-file": {
1005
+ "version": "1.1.2",
1006
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
1007
+ "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
1008
+ "dev": true,
1009
+ "requires": {
1010
+ "mkdirp": "^1.0.4",
1011
+ "rimraf": "^3.0.2"
1012
+ },
1013
+ "dependencies": {
1014
+ "mkdirp": {
1015
+ "version": "1.0.4",
1016
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
1017
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
1018
+ "dev": true
1019
+ },
1020
+ "rimraf": {
1021
+ "version": "3.0.2",
1022
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1023
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1024
+ "dev": true,
1025
+ "requires": {
1026
+ "glob": "^7.1.3"
1027
+ }
1028
+ }
1029
+ }
1030
+ },
1031
  "@types/glob": {
1032
  "version": "7.1.3",
1033
  "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
1039
  }
1040
  },
1041
  "@types/json-schema": {
1042
+ "version": "7.0.7",
1043
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
1044
+ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
1045
  "dev": true
1046
  },
1047
  "@types/minimatch": {
1051
  "dev": true
1052
  },
1053
  "@types/minimist": {
1054
+ "version": "1.2.1",
1055
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz",
1056
+ "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==",
1057
  "dev": true
1058
  },
1059
  "@types/node": {
1060
+ "version": "14.14.28",
1061
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.28.tgz",
1062
+ "integrity": "sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g==",
1063
  "dev": true
1064
  },
1065
  "@types/normalize-package-data": {
1305
  "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
1306
  "dev": true
1307
  },
1308
+ "aggregate-error": {
1309
+ "version": "3.1.0",
1310
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
1311
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
1312
+ "dev": true,
1313
+ "requires": {
1314
+ "clean-stack": "^2.0.0",
1315
+ "indent-string": "^4.0.0"
1316
+ },
1317
+ "dependencies": {
1318
+ "indent-string": {
1319
+ "version": "4.0.0",
1320
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
1321
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
1322
+ "dev": true
1323
+ }
1324
+ }
1325
+ },
1326
  "ajv": {
1327
+ "version": "6.12.6",
1328
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
1329
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
1330
  "dev": true,
1331
  "requires": {
1332
  "fast-deep-equal": "^3.1.1",
1646
  "dev": true
1647
  },
1648
  "aws4": {
1649
+ "version": "1.11.0",
1650
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
1651
+ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
1652
  "dev": true
1653
  },
1654
  "babel-code-frame": {
1922
  }
1923
  },
1924
  "babel-loader": {
1925
+ "version": "8.2.2",
1926
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz",
1927
+ "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==",
1928
  "dev": true,
1929
  "requires": {
1930
+ "find-cache-dir": "^3.3.1",
1931
  "loader-utils": "^1.4.0",
1932
+ "make-dir": "^3.1.0",
 
1933
  "schema-utils": "^2.6.5"
1934
  }
1935
  },
2529
  }
2530
  },
2531
  "base64-js": {
2532
+ "version": "1.5.1",
2533
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
2534
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
2535
  "dev": true
2536
  },
2537
  "bcrypt-pbkdf": {
2550
  "dev": true
2551
  },
2552
  "binary-extensions": {
2553
+ "version": "2.2.0",
2554
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
2555
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
2556
  "dev": true,
2557
  "optional": true
2558
  },
2665
  }
2666
  },
2667
  "browserify-rsa": {
2668
+ "version": "4.1.0",
2669
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
2670
+ "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
2671
  "dev": true,
2672
  "requires": {
2673
+ "bn.js": "^5.0.0",
2674
  "randombytes": "^2.0.1"
 
 
 
 
 
 
 
 
2675
  }
2676
  },
2677
  "browserify-sign": {
2729
  }
2730
  },
2731
  "browserslist": {
2732
+ "version": "4.16.3",
2733
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz",
2734
+ "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==",
2735
  "dev": true,
2736
  "requires": {
2737
+ "caniuse-lite": "^1.0.30001181",
2738
+ "colorette": "^1.2.1",
2739
+ "electron-to-chromium": "^1.3.649",
2740
+ "escalade": "^3.1.1",
2741
+ "node-releases": "^1.1.70"
2742
  }
2743
  },
2744
  "buffer": {
2889
  "bluebird": "3.x.x"
2890
  }
2891
  },
2892
+ "call-bind": {
2893
+ "version": "1.0.2",
2894
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
2895
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
2896
+ "dev": true,
2897
+ "requires": {
2898
+ "function-bind": "^1.1.1",
2899
+ "get-intrinsic": "^1.0.2"
2900
+ }
2901
+ },
2902
  "call-me-maybe": {
2903
  "version": "1.0.1",
2904
  "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
2965
  }
2966
  },
2967
  "caniuse-lite": {
2968
+ "version": "1.0.30001187",
2969
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001187.tgz",
2970
+ "integrity": "sha512-w7/EP1JRZ9552CyrThUnay2RkZ1DXxKe/Q2swTC4+LElLh9RRYrL1Z+27LlakB8kzY0fSmHw9mc7XYDUKAKWMA==",
2971
  "dev": true
2972
  },
2973
  "caseless": {
2977
  "dev": true
2978
  },
2979
  "ccount": {
2980
+ "version": "1.1.0",
2981
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz",
2982
+ "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==",
2983
  "dev": true
2984
  },
2985
  "chalk": {
3023
  "dev": true
3024
  },
3025
  "chokidar": {
3026
+ "version": "3.5.1",
3027
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
3028
+ "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
3029
  "dev": true,
3030
  "optional": true,
3031
  "requires": {
3032
  "anymatch": "~3.1.1",
3033
  "braces": "~3.0.2",
3034
+ "fsevents": "~2.3.1",
3035
  "glob-parent": "~5.1.0",
3036
  "is-binary-path": "~2.1.0",
3037
  "is-glob": "~4.0.1",
3038
  "normalize-path": "~3.0.0",
3039
+ "readdirp": "~3.5.0"
3040
  },
3041
  "dependencies": {
3042
  "braces": {
3136
  }
3137
  }
3138
  },
3139
+ "clean-stack": {
3140
+ "version": "2.2.0",
3141
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
3142
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
3143
+ "dev": true
3144
+ },
3145
  "clean-webpack-plugin": {
3146
  "version": "0.1.19",
3147
  "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz",
3404
  "dev": true
3405
  },
3406
  "core-js": {
3407
+ "version": "2.6.12",
3408
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
3409
+ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
3410
  "dev": true
3411
  },
3412
  "core-js-compat": {
3413
+ "version": "3.8.3",
3414
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz",
3415
+ "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==",
3416
  "dev": true,
3417
  "requires": {
3418
+ "browserslist": "^4.16.1",
3419
  "semver": "7.0.0"
3420
  },
3421
  "dependencies": {
3749
  "dev": true
3750
  },
3751
  "csso": {
3752
+ "version": "4.2.0",
3753
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
3754
+ "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
3755
  "dev": true,
3756
  "requires": {
3757
+ "css-tree": "^1.1.2"
3758
  },
3759
  "dependencies": {
3760
  "css-tree": {
3761
+ "version": "1.1.2",
3762
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz",
3763
+ "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==",
3764
  "dev": true,
3765
  "requires": {
3766
+ "mdn-data": "2.0.14",
3767
  "source-map": "^0.6.1"
3768
  }
3769
  },
3770
  "mdn-data": {
3771
+ "version": "2.0.14",
3772
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
3773
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
3774
  "dev": true
3775
  },
3776
  "source-map": {
3811
  "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
3812
  },
3813
  "debug": {
3814
+ "version": "4.3.1",
3815
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
3816
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
3817
  "dev": true,
3818
  "requires": {
3819
  "ms": "2.1.2"
3997
  },
3998
  "dependencies": {
3999
  "domelementtype": {
4000
+ "version": "2.1.0",
4001
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz",
4002
+ "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w=="
4003
  },
4004
  "entities": {
4005
+ "version": "2.2.0",
4006
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
4007
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
4008
  }
4009
  }
4010
  },
4100
  }
4101
  },
4102
  "electron-to-chromium": {
4103
+ "version": "1.3.666",
4104
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.666.tgz",
4105
+ "integrity": "sha512-/mP4HFQ0fKIX4sXltG6kfcoGrfNDZwCIyWbH2SIcVaa9u7Rm0HKjambiHNg5OEruicTl9s1EwbERLwxZwk19aw==",
4106
  "dev": true
4107
  },
4108
  "elliptic": {
4109
+ "version": "6.5.4",
4110
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
4111
+ "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
4112
  "dev": true,
4113
  "requires": {
4114
+ "bn.js": "^4.11.9",
4115
+ "brorand": "^1.1.0",
4116
  "hash.js": "^1.0.0",
4117
+ "hmac-drbg": "^1.0.1",
4118
+ "inherits": "^2.0.4",
4119
+ "minimalistic-assert": "^1.0.1",
4120
+ "minimalistic-crypto-utils": "^1.0.1"
4121
  },
4122
  "dependencies": {
4123
  "bn.js": {
4149
  }
4150
  },
4151
  "enhanced-resolve": {
4152
+ "version": "4.5.0",
4153
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
4154
+ "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
4155
  "dev": true,
4156
  "requires": {
4157
  "graceful-fs": "^4.1.2",
4207
  "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY="
4208
  },
4209
  "errno": {
4210
+ "version": "0.1.8",
4211
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
4212
+ "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
4213
  "dev": true,
4214
  "requires": {
4215
  "prr": "~1.0.1"
4234
  }
4235
  },
4236
  "es-abstract": {
4237
+ "version": "1.18.0-next.2",
4238
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz",
4239
+ "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==",
4240
  "dev": true,
4241
  "requires": {
4242
+ "call-bind": "^1.0.2",
4243
  "es-to-primitive": "^1.2.1",
4244
  "function-bind": "^1.1.1",
4245
+ "get-intrinsic": "^1.0.2",
4246
  "has": "^1.0.3",
4247
  "has-symbols": "^1.0.1",
4248
  "is-callable": "^1.2.2",
4249
+ "is-negative-zero": "^2.0.1",
4250
  "is-regex": "^1.1.1",
4251
+ "object-inspect": "^1.9.0",
4252
  "object-keys": "^1.1.1",
4253
+ "object.assign": "^4.1.2",
4254
+ "string.prototype.trimend": "^1.0.3",
4255
+ "string.prototype.trimstart": "^1.0.3"
4256
  }
4257
  },
4258
  "es-to-primitive": {
4267
  }
4268
  },
4269
  "escalade": {
4270
+ "version": "3.1.1",
4271
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
4272
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
4273
  "dev": true
4274
  },
4275
  "escape-string-regexp": {
4328
  "dev": true
4329
  },
4330
  "import-fresh": {
4331
+ "version": "3.3.0",
4332
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
4333
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
4334
  "dev": true,
4335
  "requires": {
4336
  "parent-module": "^1.0.0",
4422
  "dev": true
4423
  },
4424
  "esquery": {
4425
+ "version": "1.4.0",
4426
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
4427
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
4428
  "dev": true,
4429
  "requires": {
4430
  "estraverse": "^5.1.0"
4774
  }
4775
  },
4776
  "find-cache-dir": {
4777
+ "version": "3.3.1",
4778
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
4779
+ "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
4780
  "dev": true,
4781
  "requires": {
4782
  "commondir": "^1.0.1",
4783
+ "make-dir": "^3.0.2",
4784
+ "pkg-dir": "^4.1.0"
4785
  }
4786
  },
4787
  "find-up": {
5039
  "universalify": "^0.1.0"
5040
  }
5041
  },
5042
+ "fs-minipass": {
5043
+ "version": "2.1.0",
5044
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
5045
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
5046
+ "dev": true,
5047
+ "requires": {
5048
+ "minipass": "^3.0.0"
5049
+ }
5050
+ },
5051
  "fs-write-stream-atomic": {
5052
  "version": "1.0.10",
5053
  "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
5066
  "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
5067
  },
5068
  "fsevents": {
5069
+ "version": "2.3.2",
5070
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
5071
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
5072
  "dev": true,
5073
  "optional": true
5074
  },
5159
  }
5160
  },
5161
  "gensync": {
5162
+ "version": "1.0.0-beta.2",
5163
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
5164
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
5165
  "dev": true
5166
  },
5167
  "get-caller-file": {
5169
  "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
5170
  "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
5171
  },
5172
+ "get-intrinsic": {
5173
+ "version": "1.1.1",
5174
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
5175
+ "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
5176
+ "dev": true,
5177
+ "requires": {
5178
+ "function-bind": "^1.1.1",
5179
+ "has": "^1.0.3",
5180
+ "has-symbols": "^1.0.1"
5181
+ }
5182
+ },
5183
  "get-stdin": {
5184
  "version": "4.0.1",
5185
  "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
5283
  "slash": "^2.0.0"
5284
  },
5285
  "dependencies": {
5286
+ "pify": {
5287
+ "version": "4.0.1",
5288
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
5289
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
5290
+ "dev": true
5291
+ },
5292
  "slash": {
5293
  "version": "2.0.0",
5294
  "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
5324
  }
5325
  },
5326
  "graceful-fs": {
5327
+ "version": "4.2.6",
5328
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
5329
+ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
5330
  "dev": true
5331
  },
5332
  "har-schema": {
5614
  }
5615
  },
5616
  "ieee754": {
5617
+ "version": "1.2.1",
5618
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
5619
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
5620
  "dev": true
5621
  },
5622
  "iferr": {
5673
  "requires": {
5674
  "pkg-dir": "^3.0.0",
5675
  "resolve-cwd": "^2.0.0"
5676
+ },
5677
+ "dependencies": {
5678
+ "pkg-dir": {
5679
+ "version": "3.0.0",
5680
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
5681
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
5682
+ "dev": true,
5683
+ "requires": {
5684
+ "find-up": "^3.0.0"
5685
+ }
5686
+ }
5687
  }
5688
  },
5689
  "imurmurhash": {
5734
  "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
5735
  },
5736
  "ini": {
5737
+ "version": "1.3.8",
5738
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
5739
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
5740
  "dev": true
5741
  },
5742
  "inquirer": {
5875
  "dev": true
5876
  },
5877
  "is-callable": {
5878
+ "version": "1.2.3",
5879
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz",
5880
+ "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==",
5881
  "dev": true
5882
  },
5883
  "is-color-stop": {
5894
  "rgba-regex": "^1.0.0"
5895
  }
5896
  },
5897
+ "is-core-module": {
5898
+ "version": "2.2.0",
5899
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
5900
+ "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
5901
+ "dev": true,
5902
+ "requires": {
5903
+ "has": "^1.0.3"
5904
+ }
5905
+ },
5906
  "is-data-descriptor": {
5907
  "version": "0.1.4",
5908
  "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
5999
  "dev": true
6000
  },
6001
  "is-negative-zero": {
6002
+ "version": "2.0.1",
6003
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
6004
+ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
6005
  "dev": true
6006
  },
6007
  "is-number": {
6046
  }
6047
  },
6048
  "is-regex": {
6049
+ "version": "1.1.2",
6050
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz",
6051
+ "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==",
6052
  "dev": true,
6053
  "requires": {
6054
+ "call-bind": "^1.0.2",
6055
  "has-symbols": "^1.0.1"
6056
  }
6057
  },
6150
  "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
6151
  "dev": true
6152
  },
6153
+ "jest-worker": {
6154
+ "version": "26.6.2",
6155
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
6156
+ "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
6157
+ "dev": true,
6158
+ "requires": {
6159
+ "@types/node": "*",
6160
+ "merge-stream": "^2.0.0",
6161
+ "supports-color": "^7.0.0"
6162
+ },
6163
+ "dependencies": {
6164
+ "has-flag": {
6165
+ "version": "4.0.0",
6166
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
6167
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
6168
+ "dev": true
6169
+ },
6170
+ "supports-color": {
6171
+ "version": "7.2.0",
6172
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
6173
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
6174
+ "dev": true,
6175
+ "requires": {
6176
+ "has-flag": "^4.0.0"
6177
+ }
6178
+ }
6179
+ }
6180
+ },
6181
  "jquery": {
6182
  "version": "3.5.1",
6183
  "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
6197
  "dev": true
6198
  },
6199
  "js-yaml": {
6200
+ "version": "3.14.1",
6201
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
6202
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
6203
  "dev": true,
6204
  "requires": {
6205
  "argparse": "^1.0.7",
6270
  "dev": true
6271
  },
6272
  "json5": {
6273
+ "version": "2.2.0",
6274
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
6275
+ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
6276
  "dev": true,
6277
  "requires": {
6278
  "minimist": "^1.2.5"
6322
  }
6323
  },
6324
  "leven": {
6325
+ "version": "2.1.0",
6326
+ "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
6327
+ "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
6328
  "dev": true
6329
  },
 
 
 
 
 
 
 
 
 
6330
  "levn": {
6331
  "version": "0.3.0",
6332
  "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
6364
  "requires": {
6365
  "error-ex": "^1.2.0"
6366
  }
 
 
 
 
 
 
6367
  }
6368
  }
6369
  },
6529
  }
6530
  },
6531
  "make-dir": {
6532
+ "version": "3.1.0",
6533
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
6534
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
6535
  "dev": true,
6536
  "requires": {
6537
+ "semver": "^6.0.0"
6538
+ },
6539
+ "dependencies": {
6540
+ "semver": {
6541
+ "version": "6.3.0",
6542
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
6543
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
6544
+ "dev": true
6545
+ }
6546
  }
6547
  },
6548
  "map-cache": {
6579
  "dev": true
6580
  },
6581
  "matched": {
6582
+ "version": "5.0.1",
6583
+ "resolved": "https://registry.npmjs.org/matched/-/matched-5.0.1.tgz",
6584
+ "integrity": "sha512-E1fhSTPRyhAlNaNvGXAgZQlq1hL0bgYMTk/6bktVlIhzUnX/SZs7296ACdVeNJE8xFNGSuvd9IpI7vSnmcqLvw==",
6585
  "dev": true,
6586
  "requires": {
6587
  "glob": "^7.1.6",
6680
  "trim-newlines": "^1.0.0"
6681
  }
6682
  },
6683
+ "merge-stream": {
6684
+ "version": "2.0.0",
6685
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
6686
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
6687
+ "dev": true
6688
+ },
6689
  "merge2": {
6690
  "version": "1.4.1",
6691
  "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
6732
  }
6733
  },
6734
  "mime": {
6735
+ "version": "2.5.0",
6736
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz",
6737
+ "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==",
6738
  "dev": true
6739
  },
6740
  "mime-db": {
6741
+ "version": "1.45.0",
6742
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz",
6743
+ "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==",
6744
  "dev": true
6745
  },
6746
  "mime-types": {
6747
+ "version": "2.1.28",
6748
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz",
6749
+ "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==",
6750
  "dev": true,
6751
  "requires": {
6752
+ "mime-db": "1.45.0"
6753
  }
6754
  },
6755
  "mimic-fn": {
6824
  "is-plain-obj": "^1.1.0"
6825
  }
6826
  },
6827
+ "minipass": {
6828
+ "version": "3.1.3",
6829
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
6830
+ "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
6831
+ "dev": true,
6832
+ "requires": {
6833
+ "yallist": "^4.0.0"
6834
+ },
6835
+ "dependencies": {
6836
+ "yallist": {
6837
+ "version": "4.0.0",
6838
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
6839
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
6840
+ "dev": true
6841
+ }
6842
+ }
6843
+ },
6844
+ "minipass-collect": {
6845
+ "version": "1.0.2",
6846
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
6847
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
6848
+ "dev": true,
6849
+ "requires": {
6850
+ "minipass": "^3.0.0"
6851
+ }
6852
+ },
6853
+ "minipass-flush": {
6854
+ "version": "1.0.5",
6855
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
6856
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
6857
+ "dev": true,
6858
+ "requires": {
6859
+ "minipass": "^3.0.0"
6860
+ }
6861
+ },
6862
+ "minipass-pipeline": {
6863
+ "version": "1.2.4",
6864
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
6865
+ "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
6866
+ "dev": true,
6867
+ "requires": {
6868
+ "minipass": "^3.0.0"
6869
+ }
6870
+ },
6871
+ "minizlib": {
6872
+ "version": "2.1.2",
6873
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
6874
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
6875
+ "dev": true,
6876
+ "requires": {
6877
+ "minipass": "^3.0.0",
6878
+ "yallist": "^4.0.0"
6879
+ },
6880
+ "dependencies": {
6881
+ "yallist": {
6882
+ "version": "4.0.0",
6883
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
6884
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
6885
+ "dev": true
6886
+ }
6887
+ }
6888
+ },
6889
  "mississippi": {
6890
  "version": "3.0.0",
6891
  "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
6961
  "dev": true
6962
  },
6963
  "nan": {
6964
+ "version": "2.14.2",
6965
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
6966
+ "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
6967
  "dev": true
6968
  },
6969
  "nanomatch": {
7120
  }
7121
  },
7122
  "node-releases": {
7123
+ "version": "1.1.70",
7124
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz",
7125
+ "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==",
7126
  "dev": true
7127
  },
7128
  "node-sass": {
7331
  "dev": true
7332
  },
7333
  "object-inspect": {
7334
+ "version": "1.9.0",
7335
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
7336
+ "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
7337
  "dev": true
7338
  },
7339
  "object-keys": {
7352
  }
7353
  },
7354
  "object.assign": {
7355
+ "version": "4.1.2",
7356
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
7357
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
7358
  "dev": true,
7359
  "requires": {
7360
+ "call-bind": "^1.0.0",
7361
  "define-properties": "^1.1.3",
 
7362
  "has-symbols": "^1.0.1",
7363
  "object-keys": "^1.1.1"
7364
  }
7365
  },
7366
  "object.getownpropertydescriptors": {
7367
+ "version": "2.1.1",
7368
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz",
7369
+ "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==",
7370
  "dev": true,
7371
  "requires": {
7372
+ "call-bind": "^1.0.0",
7373
  "define-properties": "^1.1.3",
7374
+ "es-abstract": "^1.18.0-next.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7375
  }
7376
  },
7377
  "object.pick": {
7384
  }
7385
  },
7386
  "object.values": {
7387
+ "version": "1.1.2",
7388
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz",
7389
+ "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==",
7390
  "dev": true,
7391
  "requires": {
7392
+ "call-bind": "^1.0.0",
7393
  "define-properties": "^1.1.3",
7394
+ "es-abstract": "^1.18.0-next.1",
 
7395
  "has": "^1.0.3"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7396
  }
7397
  },
7398
  "once": {
7480
  "p-limit": "^2.0.0"
7481
  }
7482
  },
7483
+ "p-map": {
7484
+ "version": "4.0.0",
7485
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
7486
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
7487
+ "dev": true,
7488
+ "requires": {
7489
+ "aggregate-error": "^3.0.0"
7490
+ }
7491
+ },
7492
  "p-try": {
7493
  "version": "2.2.0",
7494
  "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
7664
  "graceful-fs": "^4.1.2",
7665
  "pify": "^2.0.0",
7666
  "pinkie-promise": "^2.0.0"
 
 
 
 
 
 
 
 
7667
  }
7668
  },
7669
  "pbkdf2": {
7698
  "dev": true
7699
  },
7700
  "pify": {
7701
+ "version": "2.3.0",
7702
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
7703
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
7704
  "dev": true
7705
  },
7706
  "pinkie": {
7719
  }
7720
  },
7721
  "pkg-dir": {
7722
+ "version": "4.2.0",
7723
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
7724
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
7725
  "dev": true,
7726
  "requires": {
7727
+ "find-up": "^4.0.0"
7728
+ },
7729
+ "dependencies": {
7730
+ "find-up": {
7731
+ "version": "4.1.0",
7732
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
7733
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
7734
+ "dev": true,
7735
+ "requires": {
7736
+ "locate-path": "^5.0.0",
7737
+ "path-exists": "^4.0.0"
7738
+ }
7739
+ },
7740
+ "locate-path": {
7741
+ "version": "5.0.0",
7742
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
7743
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
7744
+ "dev": true,
7745
+ "requires": {
7746
+ "p-locate": "^4.1.0"
7747
+ }
7748
+ },
7749
+ "p-locate": {
7750
+ "version": "4.1.0",
7751
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
7752
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
7753
+ "dev": true,
7754
+ "requires": {
7755
+ "p-limit": "^2.2.0"
7756
+ }
7757
+ },
7758
+ "path-exists": {
7759
+ "version": "4.0.0",
7760
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
7761
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
7762
+ "dev": true
7763
+ }
7764
  }
7765
  },
7766
  "posix-character-classes": {
8952
  }
8953
  },
8954
  "readdirp": {
8955
+ "version": "3.5.0",
8956
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
8957
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
8958
  "dev": true,
8959
  "optional": true,
8960
  "requires": {
8972
  }
8973
  },
8974
  "regenerate": {
8975
+ "version": "1.4.2",
8976
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
8977
+ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
8978
  "dev": true
8979
  },
8980
  "regenerate-unicode-properties": {
9038
  "dev": true
9039
  },
9040
  "regjsparser": {
9041
+ "version": "0.6.7",
9042
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz",
9043
+ "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==",
9044
  "dev": true,
9045
  "requires": {
9046
  "jsesc": "~0.5.0"
9193
  "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
9194
  },
9195
  "resolve": {
9196
+ "version": "1.20.0",
9197
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
9198
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
9199
  "dev": true,
9200
  "requires": {
9201
+ "is-core-module": "^2.2.0",
9202
  "path-parse": "^1.0.6"
9203
  }
9204
  },
9376
  "semver": "^6.3.0"
9377
  },
9378
  "dependencies": {
9379
+ "pify": {
9380
+ "version": "4.0.1",
9381
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
9382
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
9383
+ "dev": true
9384
+ },
9385
  "semver": {
9386
  "version": "6.3.0",
9387
  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
9441
  "dev": true
9442
  },
9443
  "serialize-javascript": {
9444
+ "version": "5.0.1",
9445
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
9446
+ "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
9447
+ "dev": true,
9448
+ "requires": {
9449
+ "randombytes": "^2.1.0"
9450
+ }
9451
  },
9452
  "set-blocking": {
9453
  "version": "2.0.0",
9562
  "is-fullwidth-code-point": "^2.0.0"
9563
  }
9564
  },
 
 
 
 
 
 
9565
  "snapdragon": {
9566
  "version": "0.8.2",
9567
  "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
9719
  }
9720
  },
9721
  "source-map-url": {
9722
+ "version": "0.4.1",
9723
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
9724
+ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
9725
  "dev": true
9726
  },
9727
  "spdx-correct": {
9751
  }
9752
  },
9753
  "spdx-license-ids": {
9754
+ "version": "3.0.7",
9755
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
9756
+ "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==",
9757
  "dev": true
9758
  },
9759
  "specificity": {
9997
  }
9998
  },
9999
  "string.prototype.trimend": {
10000
+ "version": "1.0.3",
10001
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
10002
+ "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
10003
  "dev": true,
10004
  "requires": {
10005
+ "call-bind": "^1.0.0",
10006
+ "define-properties": "^1.1.3"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10007
  }
10008
  },
10009
  "string.prototype.trimstart": {
10010
+ "version": "1.0.3",
10011
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
10012
+ "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
10013
  "dev": true,
10014
  "requires": {
10015
+ "call-bind": "^1.0.0",
10016
+ "define-properties": "^1.1.3"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10017
  }
10018
  },
10019
  "string_decoder": {
10225
  "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
10226
  "dev": true
10227
  },
 
 
 
 
 
 
10228
  "load-json-file": {
10229
  "version": "4.0.0",
10230
  "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
10319
  }
10320
  }
10321
  },
10322
+ "pify": {
10323
+ "version": "4.0.1",
10324
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
10325
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
10326
+ "dev": true
10327
+ },
10328
  "postcss-selector-parser": {
10329
  "version": "3.1.2",
10330
  "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
10441
  }
10442
  },
10443
  "stylelint-scss": {
10444
+ "version": "3.19.0",
10445
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.19.0.tgz",
10446
+ "integrity": "sha512-Ic5bsmpS4wVucOw44doC1Yi9f5qbeVL4wPFiEOaUElgsOuLEN6Ofn/krKI8BeNL2gAn53Zu+IcVV4E345r6rBw==",
10447
  "dev": true,
10448
  "requires": {
10449
  "lodash": "^4.17.15",
10539
  }
10540
  },
10541
  "terser": {
10542
+ "version": "5.6.0",
10543
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz",
10544
+ "integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==",
10545
  "dev": true,
10546
  "requires": {
10547
  "commander": "^2.20.0",
10548
+ "source-map": "~0.7.2",
10549
+ "source-map-support": "~0.5.19"
10550
  },
10551
  "dependencies": {
10552
  "source-map": {
10553
+ "version": "0.7.3",
10554
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
10555
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
10556
  "dev": true
10557
  },
10558
  "source-map-support": {
10563
  "requires": {
10564
  "buffer-from": "^1.0.0",
10565
  "source-map": "^0.6.0"
10566
+ },
10567
+ "dependencies": {
10568
+ "source-map": {
10569
+ "version": "0.6.1",
10570
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
10571
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
10572
+ "dev": true
10573
+ }
10574
  }
10575
  }
10576
  }
10577
  },
10578
  "terser-webpack-plugin": {
10579
+ "version": "4.2.3",
10580
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz",
10581
+ "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==",
10582
  "dev": true,
10583
  "requires": {
10584
+ "cacache": "^15.0.5",
10585
+ "find-cache-dir": "^3.3.1",
10586
+ "jest-worker": "^26.5.0",
10587
+ "p-limit": "^3.0.2",
10588
+ "schema-utils": "^3.0.0",
10589
+ "serialize-javascript": "^5.0.1",
10590
  "source-map": "^0.6.1",
10591
+ "terser": "^5.3.4",
10592
+ "webpack-sources": "^1.4.3"
10593
+ },
10594
+ "dependencies": {
10595
+ "cacache": {
10596
+ "version": "15.0.5",
10597
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz",
10598
+ "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==",
10599
+ "dev": true,
10600
+ "requires": {
10601
+ "@npmcli/move-file": "^1.0.1",
10602
+ "chownr": "^2.0.0",
10603
+ "fs-minipass": "^2.0.0",
10604
+ "glob": "^7.1.4",
10605
+ "infer-owner": "^1.0.4",
10606
+ "lru-cache": "^6.0.0",
10607
+ "minipass": "^3.1.1",
10608
+ "minipass-collect": "^1.0.2",
10609
+ "minipass-flush": "^1.0.5",
10610
+ "minipass-pipeline": "^1.2.2",
10611
+ "mkdirp": "^1.0.3",
10612
+ "p-map": "^4.0.0",
10613
+ "promise-inflight": "^1.0.1",
10614
+ "rimraf": "^3.0.2",
10615
+ "ssri": "^8.0.0",
10616
+ "tar": "^6.0.2",
10617
+ "unique-filename": "^1.1.1"
10618
+ }
10619
+ },
10620
+ "chownr": {
10621
+ "version": "2.0.0",
10622
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
10623
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
10624
+ "dev": true
10625
+ },
10626
+ "lru-cache": {
10627
+ "version": "6.0.0",
10628
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
10629
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
10630
  "dev": true,
10631
  "requires": {
10632
+ "yallist": "^4.0.0"
 
 
10633
  }
10634
  },
10635
+ "mkdirp": {
10636
+ "version": "1.0.4",
10637
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
10638
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
10639
+ "dev": true
10640
+ },
10641
+ "p-limit": {
10642
+ "version": "3.1.0",
10643
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
10644
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
10645
  "dev": true,
10646
  "requires": {
10647
+ "yocto-queue": "^0.1.0"
10648
+ }
10649
+ },
10650
+ "rimraf": {
10651
+ "version": "3.0.2",
10652
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
10653
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
10654
+ "dev": true,
10655
+ "requires": {
10656
+ "glob": "^7.1.3"
10657
+ }
10658
+ },
10659
+ "schema-utils": {
10660
+ "version": "3.0.0",
10661
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
10662
+ "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
10663
+ "dev": true,
10664
+ "requires": {
10665
+ "@types/json-schema": "^7.0.6",
10666
+ "ajv": "^6.12.5",
10667
+ "ajv-keywords": "^3.5.2"
10668
  }
10669
  },
10670
  "source-map": {
10672
  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
10673
  "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
10674
  "dev": true
10675
+ },
10676
+ "ssri": {
10677
+ "version": "8.0.1",
10678
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
10679
+ "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
10680
+ "dev": true,
10681
+ "requires": {
10682
+ "minipass": "^3.1.1"
10683
+ }
10684
+ },
10685
+ "tar": {
10686
+ "version": "6.1.0",
10687
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz",
10688
+ "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==",
10689
+ "dev": true,
10690
+ "requires": {
10691
+ "chownr": "^2.0.0",
10692
+ "fs-minipass": "^2.0.0",
10693
+ "minipass": "^3.0.0",
10694
+ "minizlib": "^2.1.1",
10695
+ "mkdirp": "^1.0.3",
10696
+ "yallist": "^4.0.0"
10697
+ }
10698
+ },
10699
+ "yallist": {
10700
+ "version": "4.0.0",
10701
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
10702
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
10703
+ "dev": true
10704
  }
10705
  }
10706
  },
10759
  }
10760
  },
10761
  "timers-browserify": {
10762
+ "version": "2.0.12",
10763
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
10764
+ "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
10765
  "dev": true,
10766
  "requires": {
10767
  "setimmediate": "^1.0.4"
10865
  "dev": true
10866
  },
10867
  "trim-trailing-lines": {
10868
+ "version": "1.1.4",
10869
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz",
10870
+ "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==",
10871
  "dev": true
10872
  },
10873
  "trough": {
10886
  }
10887
  },
10888
  "tslib": {
10889
+ "version": "1.14.1",
10890
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
10891
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
10892
  "dev": true
10893
  },
10894
  "tty-browserify": {
10933
  "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
10934
  "dev": true
10935
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10936
  "unherit": {
10937
  "version": "1.1.3",
10938
  "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
11146
  "optional": true
11147
  },
11148
  "uri-js": {
11149
+ "version": "4.4.1",
11150
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
11151
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
11152
  "dev": true,
11153
  "requires": {
11154
  "punycode": "^2.1.0"
11247
  "dev": true
11248
  },
11249
  "v8-compile-cache": {
11250
+ "version": "2.2.0",
11251
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
11252
+ "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
11253
  "dev": true
11254
  },
11255
  "validate-npm-package-license": {
11292
  },
11293
  "dependencies": {
11294
  "is-buffer": {
11295
+ "version": "2.0.5",
11296
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
11297
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
11298
  "dev": true
11299
  },
11300
  "unist-util-stringify-position": {
11337
  "dev": true
11338
  },
11339
  "watchpack": {
11340
+ "version": "1.7.5",
11341
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
11342
+ "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
11343
  "dev": true,
11344
  "requires": {
11345
  "chokidar": "^3.4.1",
11346
  "graceful-fs": "^4.1.2",
11347
  "neo-async": "^2.5.0",
11348
+ "watchpack-chokidar2": "^2.0.1"
11349
  }
11350
  },
11351
  "watchpack-chokidar2": {
11352
+ "version": "2.0.1",
11353
+ "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
11354
+ "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
11355
  "dev": true,
11356
  "optional": true,
11357
  "requires": {
11482
  "integrity": "sha1-23hhKSU8tujq5UwvsF+HCvZnW64="
11483
  },
11484
  "webpack": {
11485
+ "version": "4.46.0",
11486
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
11487
+ "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
11488
  "dev": true,
11489
  "requires": {
11490
  "@webassemblyjs/ast": "1.9.0",
11495
  "ajv": "^6.10.2",
11496
  "ajv-keywords": "^3.4.1",
11497
  "chrome-trace-event": "^1.0.2",
11498
+ "enhanced-resolve": "^4.5.0",
11499
  "eslint-scope": "^4.0.3",
11500
  "json-parse-better-errors": "^1.0.2",
11501
  "loader-runner": "^2.4.0",
11512
  "webpack-sources": "^1.4.1"
11513
  },
11514
  "dependencies": {
11515
+ "find-cache-dir": {
11516
+ "version": "2.1.0",
11517
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
11518
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
11519
+ "dev": true,
11520
+ "requires": {
11521
+ "commondir": "^1.0.1",
11522
+ "make-dir": "^2.0.0",
11523
+ "pkg-dir": "^3.0.0"
11524
+ }
11525
+ },
11526
+ "make-dir": {
11527
+ "version": "2.1.0",
11528
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
11529
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
11530
+ "dev": true,
11531
+ "requires": {
11532
+ "pify": "^4.0.1",
11533
+ "semver": "^5.6.0"
11534
+ }
11535
+ },
11536
+ "pify": {
11537
+ "version": "4.0.1",
11538
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
11539
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
11540
+ "dev": true
11541
+ },
11542
+ "pkg-dir": {
11543
+ "version": "3.0.0",
11544
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
11545
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
11546
+ "dev": true,
11547
+ "requires": {
11548
+ "find-up": "^3.0.0"
11549
+ }
11550
+ },
11551
  "schema-utils": {
11552
  "version": "1.0.0",
11553
  "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
11558
  "ajv-errors": "^1.0.0",
11559
  "ajv-keywords": "^3.1.0"
11560
  }
11561
+ },
11562
+ "serialize-javascript": {
11563
+ "version": "4.0.0",
11564
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
11565
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
11566
+ "dev": true,
11567
+ "requires": {
11568
+ "randombytes": "^2.1.0"
11569
+ }
11570
+ },
11571
+ "source-map": {
11572
+ "version": "0.6.1",
11573
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
11574
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
11575
+ "dev": true
11576
+ },
11577
+ "source-map-support": {
11578
+ "version": "0.5.19",
11579
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
11580
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
11581
+ "dev": true,
11582
+ "requires": {
11583
+ "buffer-from": "^1.0.0",
11584
+ "source-map": "^0.6.0"
11585
+ }
11586
+ },
11587
+ "terser": {
11588
+ "version": "4.8.0",
11589
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
11590
+ "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
11591
+ "dev": true,
11592
+ "requires": {
11593
+ "commander": "^2.20.0",
11594
+ "source-map": "~0.6.1",
11595
+ "source-map-support": "~0.5.12"
11596
+ }
11597
+ },
11598
+ "terser-webpack-plugin": {
11599
+ "version": "1.4.5",
11600
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
11601
+ "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
11602
+ "dev": true,
11603
+ "requires": {
11604
+ "cacache": "^12.0.2",
11605
+ "find-cache-dir": "^2.1.0",
11606
+ "is-wsl": "^1.1.0",
11607
+ "schema-utils": "^1.0.0",
11608
+ "serialize-javascript": "^4.0.0",
11609
+ "source-map": "^0.6.1",
11610
+ "terser": "^4.1.2",
11611
+ "webpack-sources": "^1.4.0",
11612
+ "worker-farm": "^1.7.0"
11613
+ }
11614
  }
11615
  }
11616
  },
11756
  }
11757
  },
11758
  "wp-pot": {
11759
+ "version": "1.9.8",
11760
+ "resolved": "https://registry.npmjs.org/wp-pot/-/wp-pot-1.9.8.tgz",
11761
+ "integrity": "sha512-F861Rx872AW57paoX9Pi8yQA9GW4grw/g7Koe//LSL2G1W0z3T+M/xMSFd2e//vWv2DAsoeiIkNpztpWhLxkTg==",
11762
  "dev": true,
11763
  "requires": {
11764
  "matched": "^5.0.0",
11858
  }
11859
  },
11860
  "parse-json": {
11861
+ "version": "5.2.0",
11862
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
11863
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
11864
  "dev": true,
11865
  "requires": {
11866
  "@babel/code-frame": "^7.0.0",
11994
  "dev": true
11995
  },
11996
  "y18n": {
11997
+ "version": "4.0.1",
11998
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
11999
+ "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ=="
12000
  },
12001
  "yallist": {
12002
  "version": "2.1.2",
12029
  "camelcase": "^5.0.0",
12030
  "decamelize": "^1.2.0"
12031
  }
12032
+ },
12033
+ "yocto-queue": {
12034
+ "version": "0.1.0",
12035
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
12036
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
12037
+ "dev": true
12038
  }
12039
  }
12040
  }
v4.0.0/package.json CHANGED
@@ -1,5 +1,5 @@
1
  {
2
- "name": "rmp-menu",
3
  "version": "1.0.0",
4
  "description": "Responsive Menu Packages",
5
  "author": "Surajkumar Singh",
@@ -8,10 +8,10 @@
8
  "scripts": {
9
  "clean": "rm -rf build/*",
10
  "dev": "cross-env NODE_ENV=development webpack --watch --mode development --progress",
11
- "init": "npm install && ./bin/rename.js && npm run pot && rm -rf .git .github ./bin/ languages/rmp-menu.pot",
12
  "lint-css": "stylelint sass/**/*.scss --syntax scss",
13
  "lint-js": "eslint js/",
14
- "pot": "wp-pot --src '**/*.php' --dest-file 'languages/rmp-menu.pot' --domain 'rmp-menu' --package 'rmp-menu' ",
15
  "precommit": "npm run lint-css && npm run lint-js && npm run pot",
16
  "prod": "cross-env NODE_ENV=production webpack --mode production --progress",
17
  "update-deps": "rm -rf node_modules && rm package-lock.json && npm install"
@@ -50,12 +50,11 @@
50
  "postcss-scss": "^2.0.0",
51
  "sass-loader": "^7.1.0",
52
  "sass-mq": "^5.0.0",
53
- "slick-carousel": "^1.8.1",
54
  "style-loader": "^0.23.1",
55
  "stylelint": "^9.6.0",
56
  "stylelint-config-wordpress": "^13.1.0",
57
  "stylelint-webpack-plugin": "^0.10.5",
58
- "uglifyjs-webpack-plugin": "^2.0.1",
59
  "webpack": "^4.20.2",
60
  "webpack-assets-manifest": "^3.1.0",
61
  "webpack-cli": "^3.1.2",
1
  {
2
+ "name": "responsive-menu-pro",
3
  "version": "1.0.0",
4
  "description": "Responsive Menu Packages",
5
  "author": "Surajkumar Singh",
8
  "scripts": {
9
  "clean": "rm -rf build/*",
10
  "dev": "cross-env NODE_ENV=development webpack --watch --mode development --progress",
11
+ "init": "npm install && ./bin/rename.js && npm run pot && rm -rf .git .github ./bin/ languages/responsive-menu-pro.pot",
12
  "lint-css": "stylelint sass/**/*.scss --syntax scss",
13
  "lint-js": "eslint js/",
14
+ "pot": "wp-pot --src '**/*.php' --dest-file 'languages/responsive-menu-pro.pot' --domain 'responsive-menu-pro' --package 'responsive-menu-pro' ",
15
  "precommit": "npm run lint-css && npm run lint-js && npm run pot",
16
  "prod": "cross-env NODE_ENV=production webpack --mode production --progress",
17
  "update-deps": "rm -rf node_modules && rm package-lock.json && npm install"
50
  "postcss-scss": "^2.0.0",
51
  "sass-loader": "^7.1.0",
52
  "sass-mq": "^5.0.0",
 
53
  "style-loader": "^0.23.1",
54
  "stylelint": "^9.6.0",
55
  "stylelint-config-wordpress": "^13.1.0",
56
  "stylelint-webpack-plugin": "^0.10.5",
57
+ "terser-webpack-plugin": "^4.2.3",
58
  "webpack": "^4.20.2",
59
  "webpack-assets-manifest": "^3.1.0",
60
  "webpack-cli": "^3.1.2",
v4.0.0/templates/admin-notices.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This is admin notice template file.
4
+ *
5
+ * @since 4.1.0
6
+ */
7
+ ?>
8
+
9
+ <div class="notice-responsive-menu notice error is-dismissible">
10
+ <div class="notice-responsive-menu-logo">
11
+ <img src="<?php echo esc_url( RMP_PLUGIN_URL_V4 .'/assets/images/rmp-logo.png' ); ?>" width="60" height="60" alt="logo" />
12
+ </div>
13
+
14
+ <div class="notice-responsive-menu-message">
15
+ <h4 style="font-weight: 700;"> <?php esc_html_e( 'Welcome to Responsive Menu', 'responsive-menu-pro' ); ?></h4>
16
+ <p><?php _e( 'Upgrade to the pro version to get feature updates, premium support and unlimited access to the menu settings.', 'responsive-menu-pro' ); ?></p>
17
+ </div>
18
+
19
+ <div class="notice-responsive-menu-action">
20
+ <a target="_blank" href="https://responsive.menu/pricing/" data-toggle="tab">
21
+ <span class="dashicons dashicons-update-alt"></span>
22
+ <?php esc_html_e( 'Upgrade To Pro', 'responsive-menu-pro' );?>
23
+ </a>
24
+ </div>
25
+ </div>
v4.0.0/templates/legacy-settings.php CHANGED
@@ -141,9 +141,10 @@
141
  'class' => 'no-updates',
142
  'has_unit' => [
143
  'unit_type' => 'all',
144
- 'id' => 'rmp-menu-sub-arrow-border-width-unit',
145
  'name' => 'menu[submenu_sub_arrow_border_width_unit]',
146
- 'classes' => 'is-unit',
 
147
  'value' => rmp_get_value($options,'submenu_sub_arrow_border_width_unit'),
148
  ],
149
  ] );
@@ -202,7 +203,7 @@
202
 
203
  echo $control_manager->add_color_control( [
204
  'label' => __('Hover','responsive-menu-pro'),
205
- 'id' => 'rmp-submenu-item-border-colour-hover',
206
  'name' => 'menu[submenu_sub_arrow_shape_hover_colour]',
207
  'value' => rmp_get_value($options,'submenu_sub_arrow_shape_hover_colour'),
208
 
141
  'class' => 'no-updates',
142
  'has_unit' => [
143
  'unit_type' => 'all',
144
+ 'id' => 'rmp-submenu-sub-arrow-border-width-unit',
145
  'name' => 'menu[submenu_sub_arrow_border_width_unit]',
146
+ 'classes' => 'is-unit no-updates',
147
+ 'default' => 'px',
148
  'value' => rmp_get_value($options,'submenu_sub_arrow_border_width_unit'),
149
  ],
150
  ] );
203
 
204
  echo $control_manager->add_color_control( [
205
  'label' => __('Hover','responsive-menu-pro'),
206
+ 'id' => 'rmp-submenu-sub-arrow-shape-colour-hover',
207
  'name' => 'menu[submenu_sub_arrow_shape_hover_colour]',
208
  'value' => rmp_get_value($options,'submenu_sub_arrow_shape_hover_colour'),
209
 
v4.0.0/templates/menu-elements/title.php CHANGED
@@ -33,6 +33,7 @@
33
  'label' => __('Link ','responsive-menu-pro'),
34
  'group_classes' => 'full-size',
35
  'type' => 'text',
 
36
  'placeholder' => 'Enter Link',
37
  'id' => 'rmp-menu-title-link',
38
  'name' => 'menu[menu_title_link]',
@@ -41,7 +42,8 @@
41
 
42
  echo $control_manager->add_select_control( [
43
  'label' => __('Link Target','responsive-menu-pro'),
44
- 'id' => 'rmp-menu-title-link-location',
 
45
  'name' => 'menu[menu_title_link_location]',
46
  'options' => array( '_blank' => 'New Tab' , '_self' => 'Same Page', '_parent' => 'Parent Page', '_top' => 'Full Window Body' ),
47
  'value' => rmp_get_value($options,'menu_title_link_location'),
@@ -131,6 +133,28 @@
131
  ] );
132
  echo $ui_manager->end_group_controls();
133
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  echo $ui_manager->start_group_controls();
135
  echo $control_manager->add_color_control( [
136
  'label' => __(' Text Color','responsive-menu-pro'),
@@ -155,6 +179,7 @@
155
  'label' => __('Image Width','responsive-menu-pro'),
156
  'type' => 'number',
157
  'id' => 'rmp-menu-title-image-width',
 
158
  'name' => 'menu[menu_title_image_width]',
159
  'value' => rmp_get_value($options,'menu_title_image_width'),
160
  'placeholder' => __('Enter width','responsive-menu-pro'),
@@ -172,6 +197,7 @@
172
  'label' => __('Image Height','responsive-menu-pro'),
173
  'type' => 'number',
174
  'id' => 'rmp-menu-title-image-height',
 
175
  'name' => 'menu[menu_title_image_height]',
176
  'value' => rmp_get_value($options,'menu_title_image_height'),
177
  'placeholder' => __('Enter height','responsive-menu-pro'),
33
  'label' => __('Link ','responsive-menu-pro'),
34
  'group_classes' => 'full-size',
35
  'type' => 'text',
36
+ 'class' => 'no-updates',
37
  'placeholder' => 'Enter Link',
38
  'id' => 'rmp-menu-title-link',
39
  'name' => 'menu[menu_title_link]',
42
 
43
  echo $control_manager->add_select_control( [
44
  'label' => __('Link Target','responsive-menu-pro'),
45
+ 'id' => 'rmp-menu-title-link-location',
46
+ 'class' => 'no-updates',
47
  'name' => 'menu[menu_title_link_location]',
48
  'options' => array( '_blank' => 'New Tab' , '_self' => 'Same Page', '_parent' => 'Parent Page', '_top' => 'Full Window Body' ),
49
  'value' => rmp_get_value($options,'menu_title_link_location'),
133
  ] );
134
  echo $ui_manager->end_group_controls();
135
 
136
+ //Font family and Font weight options.
137
+ echo $ui_manager->start_group_controls();
138
+ echo $control_manager->add_select_control( [
139
+ 'label' => __('Font Weight','responsive-menu-pro'),
140
+ 'id' => 'rmp-menu-title-font-weight',
141
+ 'class' => 'no-updates',
142
+ 'name' => 'menu[menu_title_font_weight]',
143
+ 'options' => rmp_font_weight_options(),
144
+ 'value' => rmp_get_value($options,'menu_title_font_weight'),
145
+ 'group_classes' => 'full-size',
146
+ ] );
147
+
148
+ echo $control_manager->add_text_input_control( [
149
+ 'label' => __('Font Family','responsive-menu-pro'),
150
+ 'type' => 'text',
151
+ 'id' => 'rmp-menu-title-font-family',
152
+ 'name' => 'menu[menu_title_font_family]',
153
+ 'class' => 'no-updates',
154
+ 'value' => rmp_get_value($options,'menu_title_font_family'),
155
+ ] );
156
+ echo $ui_manager->end_group_controls();
157
+
158
  echo $ui_manager->start_group_controls();
159
  echo $control_manager->add_color_control( [
160
  'label' => __(' Text Color','responsive-menu-pro'),
179
  'label' => __('Image Width','responsive-menu-pro'),
180
  'type' => 'number',
181
  'id' => 'rmp-menu-title-image-width',
182
+ 'class' => 'no-updates',
183
  'name' => 'menu[menu_title_image_width]',
184
  'value' => rmp_get_value($options,'menu_title_image_width'),
185
  'placeholder' => __('Enter width','responsive-menu-pro'),
197
  'label' => __('Image Height','responsive-menu-pro'),
198
  'type' => 'number',
199
  'id' => 'rmp-menu-title-image-height',
200
+ 'class' => 'no-updates',
201
  'name' => 'menu[menu_title_image_height]',
202
  'value' => rmp_get_value($options,'menu_title_image_height'),
203
  'placeholder' => __('Enter height','responsive-menu-pro'),
v4.0.0/templates/new-menu-wizard.php CHANGED
@@ -6,67 +6,131 @@
6
  *
7
  * @package responsive_menu_pro
8
  */
9
- use RMP\Features\Inc\Theme_Manager;
10
- use RMP\Features\Inc\Option_Manager;
11
 
12
- $theme_manager = Theme_Manager::get_instance();
13
- $option_manager = Option_Manager::get_instance();
 
 
 
 
 
 
14
 
15
  ?>
16
  <section id="rmp-new-menu-wizard" class="rmp-dialog-overlay rmp-new-menu-wizard" style="display:none">
17
  <div class="rmp-dialog-backdrop"></div>
18
  <div class="rmp-dialog-wrap wp-clearfix">
19
- <div class="rmp-dialog-header">
20
- <strong class="title"><?php esc_html_e('Create New Menu', 'responsive-menu-pro'); ?></strong>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  <button class="close dashicons dashicons-no"></button>
22
  </div>
23
- <div class="rmp-dialog-contents wp-clearfix tabs" id="tabs" >
24
- <ul class="nav-tab-wrapper new_menu_tab_items">
25
- <li>
26
- <a class="nav-tab" href="#menu-settings">
27
- <div class="nav-item-label">
28
- <span class="nav-item-label-icon dashicons dashicons-admin-generic "></span>
29
- <div class="nav-item-label-content">
30
- <h4><?php esc_html_e( 'Menu Setting', 'responsive-menu-pro'); ?></h4>
31
- <span><?php esc_html_e( 'Fill menu settings and show/hide as per preferences', 'responsive-menu-pro'); ?></span>
32
- </div>
33
- </div>
34
- </a>
35
- </li>
36
-
37
- <li>
38
- <a class="nav-tab" href="#select-themes">
39
- <div class="nav-item-label">
40
- <span class="nav-item-label-icon dashicons dashicons-layout "></span>
41
- <div class="nav-item-label-content">
42
- <h4><?php esc_html_e( 'Select Themes', 'responsive-menu-pro' ); ?></h4>
43
- <span><?php esc_html_e( 'Use pre-made theme to speed up the things.', 'responsive-menu-pro'); ?></span>
44
- </div>
45
- </div>
46
- </a>
47
- </li>
48
- </ul>
49
 
50
- <div id="menu-settings" class="rmp-new-menu-elements">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  <div class="input-group">
52
- <label for="rmp-menu-name"> <?php esc_html_e('Enter Menu Name', 'responsive-menu-pro'); ?> </label>
53
- <input type="text" name="menu-name" id="rmp-menu-name" required>
 
 
 
 
 
 
 
 
54
  </div>
 
55
  <div class="input-group">
56
- <label for="rmp-menu-to-use"> <?php esc_html_e('Menu to Use', 'responsive-menu-pro'); ?> </label>
57
- <select name="menu-to-use" id="rmp-menu-to-use">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  <?php
59
- $menus = wp_get_nav_menus();
60
- foreach ( $menus as $menu ) {
61
- printf(
62
- '<option value="%s">%s</option>',
63
- esc_attr( $menu->slug ),
64
- esc_html( $menu->name )
65
- );
66
- }
67
- ?>
68
- </select>
69
- <?php
70
  if( empty( $menus ) ) {
71
  printf(
72
  '<p class="rmp-admin-notice">
@@ -79,16 +143,38 @@ $option_manager = Option_Manager::get_instance();
79
  esc_html__( 'create wp menu', 'responsive-menu-pro')
80
  );
81
  }
82
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  </div>
84
 
85
  <div class="rmp-input-control-wrapper input-group">
86
- <label class="rmp-input-control-label">
87
- <span> <?php esc_html_e('Device Visibility', 'responsive-menu-pro'); ?> </span>
88
- <a target="_blank" class="upgrade-tooltip" href="https://responsive.menu/pricing?utm_source=free-plugin&utm_medium=option&utm_campaign=hide_on_mobile" > PRO </a>
89
 
90
- </label>
91
- <div class="rmp-input-control">
 
 
 
 
 
 
 
 
 
 
92
  <div class="device-icons-group">
93
  <div class="device-icon">
94
  <input disabled class="rmp-menu-display-device checkbox mobile" type="checkbox" rel="&#xf120"/>
@@ -139,13 +225,20 @@ $option_manager = Option_Manager::get_instance();
139
  </div>
140
  </div>
141
  </div>
 
142
  <div class="input-group">
143
- <label for="rmp-menu-display-on-pages">
144
- <span> <?php esc_html_e('Display Condition', 'responsive-menu-pro'); ?> </span>
145
- <a target="_blank" class="upgrade-tooltip" href="https://responsive.menu/pricing?utm_source=free-plugin&utm_medium=option&utm_campaign=hide_on_mobile" > SEMI-PRO </a>
146
- </label>
 
 
 
 
 
 
147
 
148
- <div class="rmp-menu-condition-options">
149
  <select name="rmp-menu-display-on" class="rmp-menu-display-option">
150
  <option value="all-pages"> <?php esc_html_e('Show on all pages ', 'responsive-menu-pro'); ?></option>
151
  <option value="shortcode"> <?php esc_html_e('Use as shortcode', 'responsive-menu-pro'); ?></option>
@@ -154,74 +247,21 @@ $option_manager = Option_Manager::get_instance();
154
  </select>
155
  </div>
156
  </div>
157
- </div>
158
-
159
- <div id="select-themes" class="rmp-new-menu-themes">
160
- <div id="tabs" class="tabs">
161
- <ul class="nav-tab-wrapper">
162
- <li><a class="nav-tab" href="#tabs-2"><?php esc_html_e('My Downloads', 'responsive-menu-pro'); ?></a></li>
163
- <li><a class="nav-tab" href="#tabs-1"><?php esc_html_e('Premium', 'responsive-menu-pro'); ?></a></li>
164
- <li><a class="nav-tab" href="#tabs-3"><?php esc_html_e('Templates', 'responsive-menu-pro'); ?></a></li>
165
- </ul>
166
 
167
- <div id="tabs-1" class="rmp-themes">
168
- <ul class="rmp_theme_grids">
169
- <?php echo $theme_manager->get_themes_from_theme_store( true ); ?>
170
- </ul>
171
- </div>
172
- <div id="tabs-2" class="rmp-themes">
173
- <ul class="rmp_theme_grids">
174
-
175
- <li class="rmp_theme_grid_item">
176
- <input type="radio" id="default" class="rmp-theme-option" name="menu_theme" value="" theme-type="default"/>
177
- <label class="rmp-item-card default-item" for="default">
178
- <span> <?php esc_html_e('Default Theme', 'responsive-menu-pro'); ?> </span>
179
- </label>
180
- </li>
181
-
182
- <?php
183
- $downloaded_themes = $theme_manager->get_themes_from_uploads();
184
- foreach( $downloaded_themes as $theme ) {
185
- $id = 'rmp-theme-' . preg_replace('/\s+/', '', $theme['theme_name'] );
186
- ?>
187
- <li class="rmp_theme_grid_item">
188
- <div class="rmp-item-card">
189
- <figure class="rmp-item-card_image">
190
- <img src="<?php echo esc_url( $theme['theme_preview_url'] );?>" alt="" loading="lazy"/>
191
- <figcaption class="rmp-item-card_label <?php echo $theme['status']; ?>">
192
- <span class="dashicons dashicons-star-filled "></span> <?php echo $theme['status']; ?>
193
- </figcaption>
194
- </figure>
195
- <div class="rmp-item-card_contents">
196
- <h4> <?php echo esc_html( $theme['theme_name'] ); ?> </h4>
197
- </div>
198
- <div class="rmp-item-card_action">
199
- <input type="radio" id="<?php echo $id; ?>" theme-type="downloaded" class="rmp-theme-option" name="menu_theme" value="<?php echo esc_html( $theme['theme_name'] ); ?>"/>
200
- <label class="button" for="<?php echo $id; ?>"> <?php esc_html_e('Select Theme', 'responsive-menu-pro'); ?> </label>
201
- </div>
202
- </div>
203
- </li>
204
-
205
- <?php } ?>
206
- </ul>
207
- </div>
208
- <div id="tabs-3" class="rmp-themes">
209
- <?php
210
- echo $theme_manager->rmp_saved_theme_list_for_new_menu();
211
- ?>
212
- </div>
213
- </div>
214
  </div>
215
  </div>
216
- <div class="rmp-dialog-footer">
217
 
 
 
218
  <span class="spinner"></span>
219
- <button class="button button-primary button-large hide-if-no-js" id="rmp-create-menu-first-step" >
220
  <?php esc_html_e('Next', 'responsive-menu-pro'); ?>
221
  </button>
 
222
  <button class="button button-primary button-large hide-if-no-js" id="rmp-create-new-menu" style="display:none">
223
  <?php esc_html_e('Create Menu', 'responsive-menu-pro'); ?>
224
  </button>
225
  </div>
 
226
  </div>
227
  </section>
6
  *
7
  * @package responsive_menu_pro
8
  */
 
 
9
 
10
+ $theme_manager = RMP\Features\Inc\Theme_Manager::get_instance();
11
+
12
+ // If theme list is cached then access it.
13
+ $cached_data = get_transient( 'rmp_theme_api_response' );
14
+ $rmp_browse_class = '';
15
+ if ( empty( $cached_data ) ) {
16
+ $rmp_browse_class = 'rmp-call-theme-api-button';
17
+ }
18
 
19
  ?>
20
  <section id="rmp-new-menu-wizard" class="rmp-dialog-overlay rmp-new-menu-wizard" style="display:none">
21
  <div class="rmp-dialog-backdrop"></div>
22
  <div class="rmp-dialog-wrap wp-clearfix">
23
+
24
+ <!-- This is new new wizard header -->
25
+ <div class="rmp-dialog-header">
26
+ <div class="title">
27
+ <img alt="logo" width="34" height="34" src="<?php echo RMP_PLUGIN_URL_V4 .'/assets/images/rmp-logo.png'; ?>" />
28
+ <span> <?php esc_html_e('Create New Menu', 'responsive-menu-pro'); ?> </span>
29
+ </div>
30
+ <nav class="rmp-new-menu-step-conatiner">
31
+ <ul class="rmp-new-menu-steps">
32
+ <li class="rmp-new-menu-step current">
33
+ <?php esc_html_e( 'Select Themes', 'responsive-menu-pro' ); ?>
34
+ </li>
35
+ <li class="rmp-new-menu-step">
36
+ <?php esc_html_e( 'Menu Settings', 'responsive-menu-pro'); ?>
37
+ </li>
38
+ </ul>
39
+ </nav>
40
  <button class="close dashicons dashicons-no"></button>
41
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
 
43
+ <!-- This is menu create wizard setting sections. -->
44
+ <div class="rmp-dialog-contents" >
45
+
46
+ <div id="select-themes" class="rmp-new-menu-themes rmp-menu-section current">
47
+ <div id="tabs" class="tabs">
48
+ <!-- This is theme type list -->
49
+ <ul class="nav-tab-wrapper">
50
+ <li><a class="nav-tab rmp-v-divider" href="#tabs-1"><?php esc_html_e('Installed Themes', 'responsive-menu-pro'); ?></a></li>
51
+ <li><a class="nav-tab rmp-v-divider <?php echo $rmp_browse_class; ?>" href="#tabs-2"><?php esc_html_e('Marketplace', 'responsive-menu-pro'); ?></a></li>
52
+ <li><a class="nav-tab" href="#tabs-3"><?php esc_html_e('Saved Templates', 'responsive-menu-pro'); ?></a></li>
53
+ <li style="float:right;"><button id="rmp-upload-new-theme" class="button btn-import-theme"><?php esc_html_e('Import', 'responsive-menu-pro'); ?></button></li>
54
+ </ul>
55
+
56
+ <!-- This is menu theme upload section -->
57
+ <div id="rmp-menu-library-import" class="rmp-theme-upload-container hide" >
58
+ <p><?php esc_html_e('If you have a menu theme in a .zip format, you can upload here.', 'responsive-menu-pro'); ?></p>
59
+ <form method="post" enctype="multipart/form-data" id="rmp-menu-theme-upload-form" class="wp-upload-form">
60
+ <label class="screen-reader-text" for="themezip">Upload zip</label>
61
+ <input type="file" accept=".zip" id="rmp_menu_theme_zip" name="rmp_menu_theme_zip" />
62
+ <button id="rmp-theme-upload" class="button" type="button"> Upload Theme </button>
63
+ </form>
64
+ </div>
65
+
66
+ <!-- This is theme list from stored -->
67
+ <div id="tabs-2" class="rmp-themes">
68
+ <ul class="rmp_theme_grids">
69
+ <?php
70
+ if ( ! empty( $cached_data ) ) {
71
+ echo $theme_manager->get_themes_from_theme_store();
72
+ } else {
73
+ ?>
74
+ <div class="rmp-page-loader" style="display:flex;">
75
+ <img class="rmp-loader-image" src="<?php echo RMP_PLUGIN_URL_V4 .'/assets/images/rmp-logo.png'; ?>"/>
76
+ <h3 class="rmp-loader-message">
77
+ <?php _e( 'Just a moment <br/> Getting data from the server..', 'responsive-menu-pro' ); ?>
78
+ </h3>
79
+ </div>
80
+ <?php } ?>
81
+ </ul>
82
+ </div>
83
+
84
+ <!-- This is available theme list. -->
85
+ <div id="tabs-1" class="rmp-themes">
86
+ <?php echo $theme_manager->get_available_themes(); ?>
87
+ </div>
88
+
89
+ <!-- This is saved template themes. -->
90
+ <div id="tabs-3" class="rmp-themes">
91
+ <?php echo $theme_manager->rmp_saves_theme_template_list(); ?>
92
+ </div>
93
+ </div>
94
+ </div>
95
+
96
+
97
+ <div id="menu-settings" class="rmp-new-menu-elements rmp-menu-section">
98
  <div class="input-group">
99
+ <div for="rmp-menu-name" class="input-label">
100
+ <h4 class="input-label-title"> <?php esc_html_e('Name Your Menu', 'responsive-menu-pro'); ?> </h4>
101
+ <p class="input-label-description">
102
+ <?php esc_html_e('Please enter a descriptive name to identify this menu later', 'responsive-menu-pro'); ?>
103
+ </p>
104
+ </div>
105
+
106
+ <div class="input-control">
107
+ <input type="text" name="menu-name" id="rmp-menu-name" required>
108
+ </div>
109
  </div>
110
+
111
  <div class="input-group">
112
+ <div for="rmp-menu-to-use" class="input-label">
113
+ <h4 class="input-label-title"><?php esc_html_e('Link WordPress Menu', 'responsive-menu-pro'); ?></h4>
114
+ <p class="input-label-description">
115
+ <?php esc_html_e('Map with your existing WordPress menu.', 'responsive-menu-pro'); ?>
116
+ </p>
117
+ </div>
118
+
119
+ <div class="input-control">
120
+ <select name="menu-to-use" id="rmp-menu-to-use">
121
+ <?php
122
+ $menus = wp_get_nav_menus();
123
+ foreach ( $menus as $menu ) {
124
+ printf(
125
+ '<option value="%s">%s</option>',
126
+ esc_attr( $menu->slug ),
127
+ esc_html( $menu->name )
128
+ );
129
+ }
130
+ ?>
131
+ </select>
132
+
133
  <?php
 
 
 
 
 
 
 
 
 
 
 
134
  if( empty( $menus ) ) {
135
  printf(
136
  '<p class="rmp-admin-notice">
143
  esc_html__( 'create wp menu', 'responsive-menu-pro')
144
  );
145
  }
146
+ ?>
147
+ </div>
148
+ </div>
149
+
150
+ <div class="input-group">
151
+ <div for="rmp-menu-name" class="input-label">
152
+ <h4 class="input-label-title"><?php esc_html_e('Hide Theme Menu', 'responsive-menu-pro'); ?></h4>
153
+ <p class="input-label-description">
154
+ <?php esc_html_e( 'Add any valid css selector to hide the existing menu on your website.', 'responsive-menu-pro'); ?>
155
+ <a href="https://responsive.menu/knowledgebase/hiding-original-wordpress-menu/" target="_blank"> Know More </a>
156
+ </p>
157
+ </div>
158
+
159
+ <div class="input-control">
160
+ <input type="text" name="rmp-hide-menu" id="rmp-hide-menu" />
161
+ </div>
162
  </div>
163
 
164
  <div class="rmp-input-control-wrapper input-group">
 
 
 
165
 
166
+ <div class="rmp-input-control-label input-label">
167
+ <h4 class="input-label-title">
168
+ <span> <?php esc_html_e('Device Visibility', 'responsive-menu-pro'); ?> </span>
169
+ <a target="_blank" class="upgrade-tooltip" href="https://responsive.menu/pricing?utm_source=free-plugin&utm_medium=option&utm_campaign=hide_on_mobile" > PRO </a>
170
+ </h4>
171
+
172
+ <p class="input-label-description">
173
+ <?php esc_html_e('Select devices where you want to show this menu', 'responsive-menu-pro'); ?>
174
+ </p>
175
+ </div>
176
+
177
+ <div class="input-control">
178
  <div class="device-icons-group">
179
  <div class="device-icon">
180
  <input disabled class="rmp-menu-display-device checkbox mobile" type="checkbox" rel="&#xf120"/>
225
  </div>
226
  </div>
227
  </div>
228
+
229
  <div class="input-group">
230
+ <div for="rmp-menu-display-on-pages" class="input-label">
231
+ <h4 class="input-label-title">
232
+ <span> <?php esc_html_e('Display Condition', 'responsive-menu-pro'); ?></span>
233
+ <a target="_blank" class="upgrade-tooltip" href="https://responsive.menu/pricing?utm_source=free-plugin&utm_medium=option&utm_campaign=hide_on_mobile" > SEMI-PRO </a>
234
+ </h4>
235
+
236
+ <p class="input-label-description">
237
+ <?php esc_html_e('Select specific pages where you want to show this menu.', 'responsive-menu-pro'); ?>
238
+ </p>
239
+ </div>
240
 
241
+ <div class="input-control">
242
  <select name="rmp-menu-display-on" class="rmp-menu-display-option">
243
  <option value="all-pages"> <?php esc_html_e('Show on all pages ', 'responsive-menu-pro'); ?></option>
244
  <option value="shortcode"> <?php esc_html_e('Use as shortcode', 'responsive-menu-pro'); ?></option>
247
  </select>
248
  </div>
249
  </div>
 
 
 
 
 
 
 
 
 
250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
251
  </div>
252
  </div>
 
253
 
254
+ <!-- This is menu create wizard footer. -->
255
+ <div class="rmp-dialog-footer">
256
  <span class="spinner"></span>
257
+ <button class="button button-primary button-large hide-if-no-js" id="rmp-menu-next-step" >
258
  <?php esc_html_e('Next', 'responsive-menu-pro'); ?>
259
  </button>
260
+
261
  <button class="button button-primary button-large hide-if-no-js" id="rmp-create-new-menu" style="display:none">
262
  <?php esc_html_e('Create Menu', 'responsive-menu-pro'); ?>
263
  </button>
264
  </div>
265
+
266
  </div>
267
  </section>
v4.0.0/templates/rmp-editor.php CHANGED
@@ -117,7 +117,7 @@ $options = $option_manager->get_options( $menu_id );
117
  <?php
118
  echo $ui_manager->start_accordion_item( [
119
  'item_header' => [
120
- 'item_title' => __('Theme options','responsive-menu-pro'),
121
  ]
122
  ] );
123
 
@@ -173,6 +173,17 @@ $options = $option_manager->get_options( $menu_id );
173
 
174
 
175
  echo $ui_manager->end_accordion_item();
 
 
 
 
 
 
 
 
 
 
 
176
  ?>
177
  </ul>
178
  </div>
@@ -511,30 +522,6 @@ $options = $option_manager->get_options( $menu_id );
511
  ]
512
  );
513
 
514
- echo $ui_manager->start_group_controls();
515
-
516
- echo $control_manager->add_color_control( [
517
- 'label' => __('Menu Background','responsive-menu-pro'),
518
- 'id' => 'rmp-menu-background-colour',
519
- 'name' => 'menu[menu_background_colour]',
520
- 'value' => rmp_get_value($options,'menu_background_colour'),
521
- ] );
522
-
523
- echo $control_manager->add_select_control( [
524
- 'label' => __('Depth Level','responsive-menu-pro'),
525
- 'id' => 'rmp-menu-depth',
526
- 'tool_tip' => [
527
- 'text' => __('Set the level of nesting for sub menus.','responsive-menu-pro'),
528
- ],
529
- 'name' => 'menu[menu_depth]',
530
- 'options' => array( '1'=>1, '2'=>2, '3' => 3, '4'=>4,'5'=>5 ),
531
- 'value' => rmp_get_value($options,'menu_depth'),
532
- ] );
533
-
534
- echo $ui_manager->end_group_controls();
535
-
536
- echo $ui_manager->accordion_divider();
537
-
538
  echo $control_manager->add_switcher_control( [
539
  'label' => __('Item Descriptions','responsive-menu-pro'),
540
  'id' => 'rmp-menu-submenu-descriptions-on',
@@ -567,6 +554,29 @@ $options = $option_manager->get_options( $menu_id );
567
  'item_class' => 'title-contents',
568
  ]
569
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
570
  echo $control_manager->add_switcher_control( [
571
  'label' => __('Smooth Scroll Enabled','responsive-menu-pro'),
572
  'id' => 'rmp-menu-smooth-scroll-on',
@@ -640,6 +650,7 @@ $options = $option_manager->get_options( $menu_id );
640
  'label' => __('Item Height','responsive-menu-pro'),
641
  'type' => 'number',
642
  'id' => 'rmp-menu-links-height',
 
643
  'name' => 'menu[menu_links_height]',
644
  'value' => rmp_get_value($options,'menu_links_height'),
645
  'group_classes' => 'full-size',
@@ -648,7 +659,7 @@ $options = $option_manager->get_options( $menu_id );
648
  'unit_type' => 'all',
649
  'id' => 'rmp-menu-links-height-unit',
650
  'name' => 'menu[menu_links_height_unit]',
651
- 'classes' => 'is-unit',
652
  'default' => 'px',
653
  'value' => rmp_get_value($options,'menu_links_height_unit'),
654
  'multi_device' => true,
@@ -659,6 +670,7 @@ $options = $option_manager->get_options( $menu_id );
659
  'label' => __('Line Height','responsive-menu-pro'),
660
  'type' => 'number',
661
  'id' => 'rmp-menu-links-line-height',
 
662
  'name' => 'menu[menu_links_line_height]',
663
  'value' => rmp_get_value($options,'menu_links_line_height'),
664
  'group_classes' => 'full-size',
@@ -667,7 +679,7 @@ $options = $option_manager->get_options( $menu_id );
667
  'unit_type' => 'all',
668
  'id' => 'rmp-menu-links-line-height-unit',
669
  'name' => 'menu[menu_links_line_height_unit]',
670
- 'classes' => 'is-unit',
671
  'default' => 'px',
672
  'value' => rmp_get_value($options,'menu_links_line_height_unit'),
673
  'multi_device' => true,
@@ -678,6 +690,7 @@ $options = $option_manager->get_options( $menu_id );
678
  'label' => __('Padding','responsive-menu-pro'),
679
  'type' => 'number',
680
  'id' => 'rmp-menu-depth-level-0',
 
681
  'name' => 'menu[menu_depth_0]',
682
  'value' => rmp_get_value($options,'menu_depth_0'),
683
  'group_classes' => 'full-size',
@@ -685,7 +698,7 @@ $options = $option_manager->get_options( $menu_id );
685
  'unit_type' => 'all',
686
  'id' => 'rmp-menu-depth-level-0-unit',
687
  'name' => 'menu[menu_depth_0_unit]',
688
- 'classes' => 'is-unit',
689
  'default' => '%',
690
  'value' => rmp_get_value($options,'menu_depth_0_unit'),
691
  ],
@@ -754,6 +767,7 @@ $options = $option_manager->get_options( $menu_id );
754
  'label' => __('Letter Spacing','responsive-menu-pro'),
755
  'type' => 'number',
756
  'id' => 'rmp-menu-text-letter-spacing',
 
757
  'name' => 'menu[menu_text_letter_spacing]',
758
  'value' => rmp_get_value($options,'menu_text_letter_spacing'),
759
  'group_classes' => 'full-size',
@@ -880,7 +894,7 @@ $options = $option_manager->get_options( $menu_id );
880
  'unit_type' => 'all',
881
  'id' => 'rmp-menu-border-width-unit',
882
  'name' => 'menu[menu_border_width_unit]',
883
- 'classes' => 'is-unit',
884
  'default' => 'px',
885
  'value' => rmp_get_value($options,'menu_border_width_unit'),
886
  ],
@@ -907,7 +921,7 @@ $options = $option_manager->get_options( $menu_id );
907
  echo $ui_manager->start_group_controls();
908
  echo $control_manager->add_color_control( [
909
  'label' => __('Active Item','responsive-menu-pro'),
910
- 'id' => 'rmp-menu-button-line-colour-active',
911
  'name' => 'menu[menu_current_item_border_colour]',
912
  'value' => rmp_get_value($options,'menu_current_item_border_colour'),
913
 
@@ -940,6 +954,7 @@ $options = $option_manager->get_options( $menu_id );
940
  'label' => __('Item Height','responsive-menu-pro'),
941
  'type' => 'number',
942
  'id' => 'rmp-submenu-links-height',
 
943
  'name' => 'menu[submenu_links_height]',
944
  'value' => rmp_get_value($options,'submenu_links_height'),
945
  'multi_device' => true,
@@ -948,7 +963,7 @@ $options = $option_manager->get_options( $menu_id );
948
  'unit_type' => 'all',
949
  'id' => 'rmp-submenu-links-height-unit',
950
  'name' => 'menu[submenu_links_height_unit]',
951
- 'classes' => 'is-unit',
952
  'default' => 'px',
953
  'value' => rmp_get_value($options,'submenu_links_height_unit'),
954
  'multi_device' => true,
@@ -959,6 +974,7 @@ $options = $option_manager->get_options( $menu_id );
959
  'label' => __('Line Height','responsive-menu-pro'),
960
  'type' => 'number',
961
  'id' => 'rmp-submenu-links-line-height',
 
962
  'name' => 'menu[submenu_links_line_height]',
963
  'value' => rmp_get_value($options,'submenu_links_line_height'),
964
  'multi_device' => true,
@@ -967,7 +983,7 @@ $options = $option_manager->get_options( $menu_id );
967
  'unit_type' => 'all',
968
  'id' => 'rmp-submenu-links-line-height-unit',
969
  'name' => 'menu[submenu_links_line_height_unit]',
970
- 'classes' => 'is-unit',
971
  'default' => 'px',
972
  'value' => rmp_get_value($options,'submenu_links_line_height_unit'),
973
  'multi_device' => true,
@@ -1115,6 +1131,7 @@ $options = $option_manager->get_options( $menu_id );
1115
  'label' => __('Border Width','responsive-menu-pro'),
1116
  'type' => 'number',
1117
  'id' => 'rmp-submenu-border-width',
 
1118
  'name' => 'menu[submenu_border_width]',
1119
  'value' => rmp_get_value($options,'submenu_border_width'),
1120
  'tool_tip' => [
@@ -1124,7 +1141,8 @@ $options = $option_manager->get_options( $menu_id );
1124
  'unit_type' => 'all',
1125
  'id' => 'rmp-submenu-border-width-unit',
1126
  'name' => 'menu[submenu_border_width_unit]',
1127
- 'classes' => 'is-unit',
 
1128
  'value' => rmp_get_value($options,'submenu_border_width_unit'),
1129
  ],
1130
  ] );
@@ -1150,10 +1168,9 @@ $options = $option_manager->get_options( $menu_id );
1150
  echo $ui_manager->start_group_controls();
1151
  echo $control_manager->add_color_control( [
1152
  'label' => __('Active Item','responsive-menu-pro'),
1153
- 'id' => 'rmp-submenu-button-line-colour-active',
1154
  'name' => 'menu[submenu_current_item_border_colour]',
1155
- 'value' => rmp_get_value($options,'submenu_current_item_border_colour'),
1156
-
1157
  ] );
1158
 
1159
  echo $control_manager->add_color_control( [
@@ -1186,7 +1203,7 @@ $options = $option_manager->get_options( $menu_id );
1186
  'unit_type' => 'all',
1187
  'id' => 'rmp-submenu-font-size-unit',
1188
  'name' => 'menu[submenu_font_size_unit]',
1189
- 'classes' => 'is-unit',
1190
  'default' => 'px',
1191
  'value' => rmp_get_value($options,'submenu_font_size_unit'),
1192
  'multi_device' => true,
@@ -1218,6 +1235,7 @@ $options = $option_manager->get_options( $menu_id );
1218
  'label' => __('Letter Spacing','responsive-menu-pro'),
1219
  'type' => 'number',
1220
  'id' => 'rmp-submenu-text-letter-spacing',
 
1221
  'name' => 'menu[submenu_text_letter_spacing]',
1222
  'value' => rmp_get_value($options,'submenu_text_letter_spacing'),
1223
  'has_unit' => [
@@ -1426,7 +1444,8 @@ $options = $option_manager->get_options( $menu_id );
1426
  'unit_type' => 'all',
1427
  'id' => 'rmp-submenu-arrow-width-unit',
1428
  'name' => 'menu[submenu_arrow_width_unit]',
1429
- 'classes' => 'is-unit no-updates',
 
1430
  'value' => rmp_get_value($options,'submenu_arrow_width_unit'),
1431
  ],
1432
  ] );
@@ -1445,7 +1464,8 @@ $options = $option_manager->get_options( $menu_id );
1445
  'unit_type' => 'all',
1446
  'id' => 'rmp-submenu-arrow-height-unit',
1447
  'name' => 'menu[submenu_arrow_height_unit]',
1448
- 'classes' => 'is-unit no-updates',
 
1449
  'value' => rmp_get_value($options,'submenu_arrow_height_unit')
1450
  ],
1451
  ] );
@@ -1527,7 +1547,7 @@ $options = $option_manager->get_options( $menu_id );
1527
  'unit_type' => 'all',
1528
  'id' => 'rmp-menu-sub-arrow-border-width-unit',
1529
  'name' => 'menu[menu_sub_arrow_border_width_unit]',
1530
- 'classes' => 'is-unit',
1531
  'value' => rmp_get_value($options,'menu_sub_arrow_border_width_unit'),
1532
  ],
1533
  ] );
@@ -1758,14 +1778,27 @@ $options = $option_manager->get_options( $menu_id );
1758
 
1759
  echo $ui_manager->end_group_controls();
1760
 
 
1761
  echo $control_manager->add_color_control( [
1762
  'label' => __('Active Color','responsive-menu-pro'),
1763
  'id' => 'rmp-menu-button-background-colour-active',
1764
  'name' => 'menu[button_background_colour_active]',
1765
- 'value' => rmp_get_value($options,'button_background_colour_active'),
1766
-
1767
  ] );
1768
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1769
  echo $control_manager->add_switcher_control( [
1770
  'label' => __('Transparent Background','responsive-menu-pro'),
1771
  'id' => 'rmp-menu-button-transparent-background',
@@ -1830,7 +1863,7 @@ $options = $option_manager->get_options( $menu_id );
1830
  'unit_type' => 'all',
1831
  'id' => 'rmp-menu-button-distance-from-side-unit',
1832
  'name' => 'menu[button_distance_from_side_unit]',
1833
- 'classes' => 'is-unit',
1834
  'default' => '%',
1835
  'value' => rmp_get_value($options,'button_distance_from_side_unit')
1836
  ]
@@ -1850,7 +1883,7 @@ $options = $option_manager->get_options( $menu_id );
1850
  'unit_type' => 'all',
1851
  'id' => 'rmp-menu-button-top-unit',
1852
  'name' => 'menu[button_top_unit]',
1853
- 'classes' => 'is-unit',
1854
  'default' => 'px',
1855
  'value' => rmp_get_value($options,'button_top_unit')
1856
  ],
@@ -1950,7 +1983,6 @@ $options = $option_manager->get_options( $menu_id );
1950
  'id' => 'rmp-menu-button-line-width',
1951
  'name' => 'menu[button_line_width]',
1952
  'value' => rmp_get_value($options,'button_line_width'),
1953
-
1954
  'tool_tip' => [
1955
  'text' => __('Set the width of each individual button line and it\'s unit','responsive-menu-pro')
1956
  ],
@@ -1958,7 +1990,7 @@ $options = $option_manager->get_options( $menu_id );
1958
  'unit_type' => 'all',
1959
  'id' => 'rmp-menu-button-line-width-unit',
1960
  'name' => 'menu[button_line_width_unit]',
1961
- 'classes' => 'is-unit',
1962
  'default' => 'px',
1963
  'value' => rmp_get_value($options,'button_line_width_unit')
1964
  ]
@@ -2099,7 +2131,7 @@ $options = $option_manager->get_options( $menu_id );
2099
  'label' => __('Text','responsive-menu-pro'),
2100
  'id' => 'rmp-menu-button-title',
2101
  'type' => 'text',
2102
- 'class' => 'on-updates',
2103
  'placeholder' => __('Enter text','responsive-menu-pro'),
2104
  'name' => 'menu[button_title]',
2105
  'value' => rmp_get_value($options,'button_title'),
@@ -2112,7 +2144,7 @@ $options = $option_manager->get_options( $menu_id );
2112
  'label' => __('Active Text','responsive-menu-pro'),
2113
  'id' => 'rmp-menu-button-title-open',
2114
  'name' => 'menu[button_title_open]',
2115
- 'class' => 'on-updates',
2116
  'placeholder' => __('Enter text','responsive-menu-pro'),
2117
  'type' => 'text',
2118
  'value' => rmp_get_value($options,'button_title_open'),
@@ -2125,7 +2157,7 @@ $options = $option_manager->get_options( $menu_id );
2125
  echo $control_manager->add_select_control( [
2126
  'label' => __('Text Position','responsive-menu-pro'),
2127
  'id' => 'rmp-menu-button-title-position',
2128
- 'class' => 'on-updates',
2129
  'class' => 'rmp-menu-button-title-position',
2130
  'name' => 'menu[button_title_position]',
2131
  'options' => array( 'top' => 'Top' , 'left' => 'Left', 'bottom' => 'Bottom', 'right'=>'Right' ),
@@ -2147,7 +2179,7 @@ $options = $option_manager->get_options( $menu_id );
2147
  echo $control_manager->add_text_input_control( [
2148
  'label' => __('Font Size','responsive-menu-pro'),
2149
  'type' => 'number',
2150
- 'class' => 'on-updates',
2151
  'id' => 'rmp-menu-button-font-size',
2152
  'name' => 'menu[button_font_size]',
2153
  'value' => rmp_get_value($options,'button_font_size'),
@@ -2165,7 +2197,7 @@ $options = $option_manager->get_options( $menu_id );
2165
  echo $control_manager->add_text_input_control( [
2166
  'label' => __('Line Height','responsive-menu-pro'),
2167
  'type' => 'number',
2168
- 'class' => 'on-updates',
2169
  'id' => 'rmp-menu-button-title-line-height',
2170
  'name' => 'menu[button_title_line_height]',
2171
  'value' => rmp_get_value($options,'button_title_line_height'),
@@ -2297,7 +2329,7 @@ $options = $option_manager->get_options( $menu_id );
2297
  'unit_type' => 'all',
2298
  'id' => 'rmp-menu-container-max-width-unit',
2299
  'name' => 'menu[menu_maximum_width_unit]',
2300
- 'classes' => 'is-unit',
2301
  'default' => 'px',
2302
  'value' => rmp_get_value($options,'menu_maximum_width_unit'),
2303
  ]
@@ -2315,7 +2347,7 @@ $options = $option_manager->get_options( $menu_id );
2315
  'unit_type' => 'all',
2316
  'id' => 'rmp-menu-container-min-width-unit',
2317
  'name' => 'menu[menu_minimum_width_unit]',
2318
- 'classes' => 'is-unit',
2319
  'default' => 'px',
2320
  'value' => rmp_get_value($options,'menu_minimum_width_unit'),
2321
  ]
@@ -2376,7 +2408,7 @@ $options = $option_manager->get_options( $menu_id );
2376
  'label' => __('Type','responsive-menu-pro'),
2377
  'id' => 'rmp-animation-type',
2378
  'name' => 'menu[animation_type]',
2379
- 'options' => [ 'slide' => 'Slide' , 'push' => 'Push', 'fade' => 'Fade (PRO)' ],
2380
  'value' => rmp_get_value($options,'animation_type')
2381
  ] );
2382
 
@@ -2535,5 +2567,12 @@ $options = $option_manager->get_options( $menu_id );
2535
  <div id="rmp-required-footer">
2536
  <?php wp_footer(); ?>
2537
  </div>
 
 
 
 
 
 
 
2538
  </body>
2539
  </html>
117
  <?php
118
  echo $ui_manager->start_accordion_item( [
119
  'item_header' => [
120
+ 'item_title' => __('Theme Details','responsive-menu-pro'),
121
  ]
122
  ] );
123
 
173
 
174
 
175
  echo $ui_manager->end_accordion_item();
176
+
177
+ /**
178
+ * Fires after prepare the theme setting section.
179
+ *
180
+ * @since 4.1.0
181
+ *
182
+ * @param int $menu_id
183
+ * @param array $options
184
+ */
185
+ do_action( 'rmp_tab_themes', $menu_id, $options );
186
+
187
  ?>
188
  </ul>
189
  </div>
522
  ]
523
  );
524
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
525
  echo $control_manager->add_switcher_control( [
526
  'label' => __('Item Descriptions','responsive-menu-pro'),
527
  'id' => 'rmp-menu-submenu-descriptions-on',
554
  'item_class' => 'title-contents',
555
  ]
556
  );
557
+
558
+ echo $ui_manager->start_group_controls();
559
+ echo $control_manager->add_color_control( [
560
+ 'label' => __('Menu Background','responsive-menu-pro'),
561
+ 'id' => 'rmp-menu-background-colour',
562
+ 'name' => 'menu[menu_background_colour]',
563
+ 'value' => rmp_get_value($options,'menu_background_colour'),
564
+ ] );
565
+
566
+ echo $control_manager->add_select_control( [
567
+ 'label' => __('Depth Level','responsive-menu-pro'),
568
+ 'id' => 'rmp-menu-depth',
569
+ 'tool_tip' => [
570
+ 'text' => __('Set the level of nesting for sub menus.','responsive-menu-pro'),
571
+ ],
572
+ 'name' => 'menu[menu_depth]',
573
+ 'options' => array( '1'=>1, '2'=>2, '3' => 3, '4'=>4,'5'=>5 ),
574
+ 'value' => rmp_get_value($options,'menu_depth'),
575
+ ] );
576
+
577
+ echo $ui_manager->end_group_controls();
578
+ echo $ui_manager->accordion_divider();
579
+
580
  echo $control_manager->add_switcher_control( [
581
  'label' => __('Smooth Scroll Enabled','responsive-menu-pro'),
582
  'id' => 'rmp-menu-smooth-scroll-on',
650
  'label' => __('Item Height','responsive-menu-pro'),
651
  'type' => 'number',
652
  'id' => 'rmp-menu-links-height',
653
+ 'class' => 'no-updates',
654
  'name' => 'menu[menu_links_height]',
655
  'value' => rmp_get_value($options,'menu_links_height'),
656
  'group_classes' => 'full-size',
659
  'unit_type' => 'all',
660
  'id' => 'rmp-menu-links-height-unit',
661
  'name' => 'menu[menu_links_height_unit]',
662
+ 'classes' => 'is-unit no-updates',
663
  'default' => 'px',
664
  'value' => rmp_get_value($options,'menu_links_height_unit'),
665
  'multi_device' => true,
670
  'label' => __('Line Height','responsive-menu-pro'),
671
  'type' => 'number',
672
  'id' => 'rmp-menu-links-line-height',
673
+ 'class' => 'no-updates',
674
  'name' => 'menu[menu_links_line_height]',
675
  'value' => rmp_get_value($options,'menu_links_line_height'),
676
  'group_classes' => 'full-size',
679
  'unit_type' => 'all',
680
  'id' => 'rmp-menu-links-line-height-unit',
681
  'name' => 'menu[menu_links_line_height_unit]',
682
+ 'classes' => 'is-unit no-updates',
683
  'default' => 'px',
684
  'value' => rmp_get_value($options,'menu_links_line_height_unit'),
685
  'multi_device' => true,
690
  'label' => __('Padding','responsive-menu-pro'),
691
  'type' => 'number',
692
  'id' => 'rmp-menu-depth-level-0',
693
+ 'class' => 'no-updates',
694
  'name' => 'menu[menu_depth_0]',
695
  'value' => rmp_get_value($options,'menu_depth_0'),
696
  'group_classes' => 'full-size',
698
  'unit_type' => 'all',
699
  'id' => 'rmp-menu-depth-level-0-unit',
700
  'name' => 'menu[menu_depth_0_unit]',
701
+ 'classes' => 'is-unit no-updates',
702
  'default' => '%',
703
  'value' => rmp_get_value($options,'menu_depth_0_unit'),
704
  ],
767
  'label' => __('Letter Spacing','responsive-menu-pro'),
768
  'type' => 'number',
769
  'id' => 'rmp-menu-text-letter-spacing',
770
+ 'class' => 'no-updates',
771
  'name' => 'menu[menu_text_letter_spacing]',
772
  'value' => rmp_get_value($options,'menu_text_letter_spacing'),
773
  'group_classes' => 'full-size',
894
  'unit_type' => 'all',
895
  'id' => 'rmp-menu-border-width-unit',
896
  'name' => 'menu[menu_border_width_unit]',
897
+ 'classes' => 'is-unit no-updates',
898
  'default' => 'px',
899
  'value' => rmp_get_value($options,'menu_border_width_unit'),
900
  ],
921
  echo $ui_manager->start_group_controls();
922
  echo $control_manager->add_color_control( [
923
  'label' => __('Active Item','responsive-menu-pro'),
924
+ 'id' => 'rmp-menu-item-border-colour-active',
925
  'name' => 'menu[menu_current_item_border_colour]',
926
  'value' => rmp_get_value($options,'menu_current_item_border_colour'),
927
 
954
  'label' => __('Item Height','responsive-menu-pro'),
955
  'type' => 'number',
956
  'id' => 'rmp-submenu-links-height',
957
+ 'class' => 'no-updates',
958
  'name' => 'menu[submenu_links_height]',
959
  'value' => rmp_get_value($options,'submenu_links_height'),
960
  'multi_device' => true,
963
  'unit_type' => 'all',
964
  'id' => 'rmp-submenu-links-height-unit',
965
  'name' => 'menu[submenu_links_height_unit]',
966
+ 'classes' => 'is-unit no-updates',
967
  'default' => 'px',
968
  'value' => rmp_get_value($options,'submenu_links_height_unit'),
969
  'multi_device' => true,
974
  'label' => __('Line Height','responsive-menu-pro'),
975
  'type' => 'number',
976
  'id' => 'rmp-submenu-links-line-height',
977
+ 'class' => 'no-updates',
978
  'name' => 'menu[submenu_links_line_height]',
979
  'value' => rmp_get_value($options,'submenu_links_line_height'),
980
  'multi_device' => true,
983
  'unit_type' => 'all',
984
  'id' => 'rmp-submenu-links-line-height-unit',
985
  'name' => 'menu[submenu_links_line_height_unit]',
986
+ 'classes' => 'is-unit no-updates',
987
  'default' => 'px',
988
  'value' => rmp_get_value($options,'submenu_links_line_height_unit'),
989
  'multi_device' => true,
1131
  'label' => __('Border Width','responsive-menu-pro'),
1132
  'type' => 'number',
1133
  'id' => 'rmp-submenu-border-width',
1134
+ 'class' => 'no-updates',
1135
  'name' => 'menu[submenu_border_width]',
1136
  'value' => rmp_get_value($options,'submenu_border_width'),
1137
  'tool_tip' => [
1141
  'unit_type' => 'all',
1142
  'id' => 'rmp-submenu-border-width-unit',
1143
  'name' => 'menu[submenu_border_width_unit]',
1144
+ 'classes' => 'is-unit no-updates',
1145
+ 'default' => 'px',
1146
  'value' => rmp_get_value($options,'submenu_border_width_unit'),
1147
  ],
1148
  ] );
1168
  echo $ui_manager->start_group_controls();
1169
  echo $control_manager->add_color_control( [
1170
  'label' => __('Active Item','responsive-menu-pro'),
1171
+ 'id' => 'rmp-submenu-item-border-colour-active',
1172
  'name' => 'menu[submenu_current_item_border_colour]',
1173
+ 'value' => rmp_get_value($options,'submenu_current_item_border_colour')
 
1174
  ] );
1175
 
1176
  echo $control_manager->add_color_control( [
1203
  'unit_type' => 'all',
1204
  'id' => 'rmp-submenu-font-size-unit',
1205
  'name' => 'menu[submenu_font_size_unit]',
1206
+ 'classes' => 'is-unit no-updates',
1207
  'default' => 'px',
1208
  'value' => rmp_get_value($options,'submenu_font_size_unit'),
1209
  'multi_device' => true,
1235
  'label' => __('Letter Spacing','responsive-menu-pro'),
1236
  'type' => 'number',
1237
  'id' => 'rmp-submenu-text-letter-spacing',
1238
+ 'class' => 'no-updates',
1239
  'name' => 'menu[submenu_text_letter_spacing]',
1240
  'value' => rmp_get_value($options,'submenu_text_letter_spacing'),
1241
  'has_unit' => [
1444
  'unit_type' => 'all',
1445
  'id' => 'rmp-submenu-arrow-width-unit',
1446
  'name' => 'menu[submenu_arrow_width_unit]',
1447
+ 'classes' => 'is-unit',
1448
+ 'default' => 'px',
1449
  'value' => rmp_get_value($options,'submenu_arrow_width_unit'),
1450
  ],
1451
  ] );
1464
  'unit_type' => 'all',
1465
  'id' => 'rmp-submenu-arrow-height-unit',
1466
  'name' => 'menu[submenu_arrow_height_unit]',
1467
+ 'classes' => 'is-unit',
1468
+ 'default' => 'px',
1469
  'value' => rmp_get_value($options,'submenu_arrow_height_unit')
1470
  ],
1471
  ] );
1547
  'unit_type' => 'all',
1548
  'id' => 'rmp-menu-sub-arrow-border-width-unit',
1549
  'name' => 'menu[menu_sub_arrow_border_width_unit]',
1550
+ 'classes' => 'is-unit no-updates',
1551
  'value' => rmp_get_value($options,'menu_sub_arrow_border_width_unit'),
1552
  ],
1553
  ] );
1778
 
1779
  echo $ui_manager->end_group_controls();
1780
 
1781
+ echo $ui_manager->start_group_controls();
1782
  echo $control_manager->add_color_control( [
1783
  'label' => __('Active Color','responsive-menu-pro'),
1784
  'id' => 'rmp-menu-button-background-colour-active',
1785
  'name' => 'menu[button_background_colour_active]',
1786
+ 'value' => rmp_get_value($options,'button_background_colour_active')
 
1787
  ] );
1788
 
1789
+ echo $control_manager->add_text_input_control( [
1790
+ 'label' => __('Border Radius','responsive-menu-pro'),
1791
+ 'type' => 'number',
1792
+ 'class' => 'no-updates',
1793
+ 'id' => 'rmp-menu-toggle-border-radius',
1794
+ 'name' => 'menu[toggle_button_border_radius]',
1795
+ 'value' => rmp_get_value($options,'toggle_button_border_radius'),
1796
+ 'has_unit' => [
1797
+ 'unit_type' => 'px',
1798
+ ]
1799
+ ] );
1800
+ echo $ui_manager->end_group_controls();
1801
+
1802
  echo $control_manager->add_switcher_control( [
1803
  'label' => __('Transparent Background','responsive-menu-pro'),
1804
  'id' => 'rmp-menu-button-transparent-background',
1863
  'unit_type' => 'all',
1864
  'id' => 'rmp-menu-button-distance-from-side-unit',
1865
  'name' => 'menu[button_distance_from_side_unit]',
1866
+ 'classes' => 'is-unit no-updates',
1867
  'default' => '%',
1868
  'value' => rmp_get_value($options,'button_distance_from_side_unit')
1869
  ]
1883
  'unit_type' => 'all',
1884
  'id' => 'rmp-menu-button-top-unit',
1885
  'name' => 'menu[button_top_unit]',
1886
+ 'classes' => 'is-unit no-updates',
1887
  'default' => 'px',
1888
  'value' => rmp_get_value($options,'button_top_unit')
1889
  ],
1983
  'id' => 'rmp-menu-button-line-width',
1984
  'name' => 'menu[button_line_width]',
1985
  'value' => rmp_get_value($options,'button_line_width'),
 
1986
  'tool_tip' => [
1987
  'text' => __('Set the width of each individual button line and it\'s unit','responsive-menu-pro')
1988
  ],
1990
  'unit_type' => 'all',
1991
  'id' => 'rmp-menu-button-line-width-unit',
1992
  'name' => 'menu[button_line_width_unit]',
1993
+ 'classes' => 'is-unit no-updates',
1994
  'default' => 'px',
1995
  'value' => rmp_get_value($options,'button_line_width_unit')
1996
  ]
2131
  'label' => __('Text','responsive-menu-pro'),
2132
  'id' => 'rmp-menu-button-title',
2133
  'type' => 'text',
2134
+ 'class' => 'no-updates',
2135
  'placeholder' => __('Enter text','responsive-menu-pro'),
2136
  'name' => 'menu[button_title]',
2137
  'value' => rmp_get_value($options,'button_title'),
2144
  'label' => __('Active Text','responsive-menu-pro'),
2145
  'id' => 'rmp-menu-button-title-open',
2146
  'name' => 'menu[button_title_open]',
2147
+ 'class' => 'no-updates',
2148
  'placeholder' => __('Enter text','responsive-menu-pro'),
2149
  'type' => 'text',
2150
  'value' => rmp_get_value($options,'button_title_open'),
2157
  echo $control_manager->add_select_control( [
2158
  'label' => __('Text Position','responsive-menu-pro'),
2159
  'id' => 'rmp-menu-button-title-position',
2160
+ 'class' => 'no-updates',
2161
  'class' => 'rmp-menu-button-title-position',
2162
  'name' => 'menu[button_title_position]',
2163
  'options' => array( 'top' => 'Top' , 'left' => 'Left', 'bottom' => 'Bottom', 'right'=>'Right' ),
2179
  echo $control_manager->add_text_input_control( [
2180
  'label' => __('Font Size','responsive-menu-pro'),
2181
  'type' => 'number',
2182
+ 'class' => 'no-updates',
2183
  'id' => 'rmp-menu-button-font-size',
2184
  'name' => 'menu[button_font_size]',
2185
  'value' => rmp_get_value($options,'button_font_size'),
2197
  echo $control_manager->add_text_input_control( [
2198
  'label' => __('Line Height','responsive-menu-pro'),
2199
  'type' => 'number',
2200
+ 'class' => 'no-updates',
2201
  'id' => 'rmp-menu-button-title-line-height',
2202
  'name' => 'menu[button_title_line_height]',
2203
  'value' => rmp_get_value($options,'button_title_line_height'),
2329
  'unit_type' => 'all',
2330
  'id' => 'rmp-menu-container-max-width-unit',
2331
  'name' => 'menu[menu_maximum_width_unit]',
2332
+ 'classes' => 'is-unit no-updates',
2333
  'default' => 'px',
2334
  'value' => rmp_get_value($options,'menu_maximum_width_unit'),
2335
  ]
2347
  'unit_type' => 'all',
2348
  'id' => 'rmp-menu-container-min-width-unit',
2349
  'name' => 'menu[menu_minimum_width_unit]',
2350
+ 'classes' => 'is-unit no-updates',
2351
  'default' => 'px',
2352
  'value' => rmp_get_value($options,'menu_minimum_width_unit'),
2353
  ]
2408
  'label' => __('Type','responsive-menu-pro'),
2409
  'id' => 'rmp-animation-type',
2410
  'name' => 'menu[animation_type]',
2411
+ 'options' => [ 'slide' => 'Slide' , 'push' => 'Push', 'fade' => 'Fade' ],
2412
  'value' => rmp_get_value($options,'animation_type')
2413
  ] );
2414
 
2567
  <div id="rmp-required-footer">
2568
  <?php wp_footer(); ?>
2569
  </div>
2570
+
2571
+ <!-- Page loader -->
2572
+ <div class="rmp-page-loader">
2573
+ <img class="rmp-loader-image large" src="<?php echo RMP_PLUGIN_URL_V4 .'/assets/images/rmp-logo.png'; ?>"/>
2574
+ <h3 class="rmp-loader-message"><?php esc_html_e( 'Just a moment, the theme is applying...', 'responsive-menu-pro' ); ?> </h3>
2575
+ </div>
2576
+
2577
  </body>
2578
  </html>
v4.0.0/templates/rmp-roadmap.php CHANGED
@@ -9,6 +9,13 @@
9
  ?>
10
  <div class="wrap rmp-container">
11
 
 
 
 
 
 
 
 
12
  <!-- Roadmap page title -->
13
  <h1 class="wp-heading-inline"> <?php esc_html_e( 'Roadmap', 'responsive-menu-pro' ); ?> </h1>
14
 
9
  ?>
10
  <div class="wrap rmp-container">
11
 
12
+ <script>
13
+ var ps_config = {
14
+ productId : "9128555b-ea35-4af1-852b-b7a68679c4a4"
15
+ };
16
+ </script>
17
+ <script type="text/javascript" src="https://app.productstash.io/js/productstash-embed.js" defer="defer"></script>
18
+
19
  <!-- Roadmap page title -->
20
  <h1 class="wp-heading-inline"> <?php esc_html_e( 'Roadmap', 'responsive-menu-pro' ); ?> </h1>
21
 
v4.0.0/templates/rmp-themes.php CHANGED
@@ -24,6 +24,12 @@ $theme_manager = Theme_Manager::get_instance();
24
  <!-- Theme drop and upload location -->
25
  <div id="rmp-menu-library-import" class="hide">
26
  <form action="<?php echo admin_url( 'admin-post.php' ); ?>" id="rmp-menu-library-import-form" method="post" enctype="multipart/form-data">
 
 
 
 
 
 
27
  <input type="hidden" id="rmp_theme_upload_nonce" name="rmp_theme_upload_nonce" value="<?php echo wp_create_nonce('rmp_nonce'); ?>"/>
28
  <a class="cancel">
29
  <span class="dashicons dashicons-no-alt "></span>
@@ -45,13 +51,24 @@ $theme_manager = Theme_Manager::get_instance();
45
 
46
  <!--- Theme grids --->
47
  <div class="rmp-theme-page" >
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  <ul class="rmp_theme_grids">
49
  <?php
50
- $themes = $theme_manager->all_theme_combine_list();
51
-
52
- if ( empty( $themes ) ) {
53
- $themes = [];
54
- }
55
 
56
  foreach( $themes as $theme ) {
57
 
@@ -77,7 +94,9 @@ $theme_manager = Theme_Manager::get_instance();
77
 
78
  <!-- Theme actions -->
79
  <div class="rmp-item-card_action">
80
- <button class="button rmp-theme-delete" data-theme="<?php echo $theme['name']; ?>" data-theme-type="<?php echo $theme['type']; ?> "> Delete </button>
 
 
81
  </div>
82
 
83
  </div>
24
  <!-- Theme drop and upload location -->
25
  <div id="rmp-menu-library-import" class="hide">
26
  <form action="<?php echo admin_url( 'admin-post.php' ); ?>" id="rmp-menu-library-import-form" method="post" enctype="multipart/form-data">
27
+
28
+ <div class="rmp-page-loader">
29
+ <img class="rmp-loader-image" src="<?php echo RMP_PLUGIN_URL_V4 .'/assets/images/rmp-logo.png'; ?>"/>
30
+ <h3 class="rmp-loader-message"><?php esc_html_e( 'Uploading zip file...', 'responsive-menu-pro' ); ?> </h3>
31
+ </div>
32
+
33
  <input type="hidden" id="rmp_theme_upload_nonce" name="rmp_theme_upload_nonce" value="<?php echo wp_create_nonce('rmp_nonce'); ?>"/>
34
  <a class="cancel">
35
  <span class="dashicons dashicons-no-alt "></span>
51
 
52
  <!--- Theme grids --->
53
  <div class="rmp-theme-page" >
54
+ <?php
55
+ $themes = $theme_manager->all_theme_combine_list();
56
+ if ( empty( $themes ) ) {
57
+ //Empty message if theme doesn't exist.
58
+ printf(
59
+ '<div class="rmp-theme-page-empty">
60
+ <span class="rmp-menu-library-blank-icon fas fa-save"></span>
61
+ <h3 class="rmp-menu-library-title"> %s </h3>
62
+ </div>',
63
+ __( 'You have no theme here', 'responsive-menu-pro' )
64
+ );
65
+
66
+ $themes = [];
67
+ }
68
+ ?>
69
+
70
  <ul class="rmp_theme_grids">
71
  <?php
 
 
 
 
 
72
 
73
  foreach( $themes as $theme ) {
74
 
94
 
95
  <!-- Theme actions -->
96
  <div class="rmp-item-card_action">
97
+ <button class="button rmp-theme-delete" data-theme="<?php echo $theme['name']; ?>" data-theme-type="<?php echo $theme['type']; ?> ">
98
+ <?php esc_html_e( 'Delete', 'responsive-menu-pro' ); ?>
99
+ </button>
100
  </div>
101
 
102
  </div>
v4.0.0/templates/rmp-wizards.php CHANGED
@@ -6,14 +6,25 @@
6
  *
7
  * @package responsive_menu_pro
8
  */
 
 
 
 
 
 
 
 
9
  ?>
10
  <!--- This is icon picker wizard markups -->
11
  <section class="rmp-dialog-overlay rmp-menu-icons-dialog" style="display:none">
12
  <div class="rmp-dialog-backdrop"></div>
13
  <div class="rmp-dialog-wrap wp-clearfix">
14
  <div class="rmp-dialog-header">
15
- <strong class="title"><?php esc_html_e('Select icon', 'responsive-menu-pro'); ?></strong>
16
- <span class="close dashicons dashicons-no"></span>
 
 
 
17
  </div>
18
  <div class="rmp-dialog-contents wp-clearfix">
19
  <div id="tabs" class="tabs icon-tabs">
@@ -152,65 +163,63 @@
152
  </div>
153
  </section>
154
 
155
- <!--- Theme list wizard markups -->
156
  <section id="rmp-new-menu-wizard" class="rmp-dialog-overlay rmp-new-menu-wizard" style="display:none">
157
  <div class="rmp-dialog-backdrop"></div>
158
  <div class="rmp-dialog-wrap wp-clearfix">
159
  <div class="rmp-dialog-header">
160
- <strong class="title"><?php esc_html_e('Use theme', 'responsive-menu-pro'); ?></strong>
 
 
 
 
161
  <button class="close dashicons dashicons-no"></button>
162
  </div>
163
  <div class="rmp-dialog-contents wp-clearfix tabs" id="tabs" >
164
  <div id="select-themes" class="rmp-new-menu-themes">
165
  <div id="tabs" class="tabs">
166
  <ul class="nav-tab-wrapper">
167
- <li><a class="nav-tab" href="#tabs-1"><?php esc_html_e('Premium', 'responsive-menu-pro'); ?></a></li>
168
- <li><a class="nav-tab" href="#tabs-2"><?php esc_html_e('My Downloads', 'responsive-menu-pro'); ?></a></li>
169
- <li><a class="nav-tab" href="#tabs-3"><?php esc_html_e('Templates', 'responsive-menu-pro'); ?></a></li>
 
170
  </ul>
171
 
172
- <div id="tabs-1" class="rmp-themes">
173
- <ul class="rmp_theme_grids">
174
- <?php
175
- echo $theme_manager->get_themes_from_theme_store( true );
176
- ?>
177
- </ul>
 
 
178
  </div>
179
 
180
  <div id="tabs-2" class="rmp-themes">
181
- <ul class="rmp_theme_grids">
182
- <?php
183
- $downloaded_themes = $theme_manager->get_themes_from_uploads();
184
- foreach( $downloaded_themes as $theme ) {
185
- $id = 'rmp-theme-' . preg_replace('/\s+/', '', $theme['theme_name'] );
186
- ?>
187
- <li class="rmp_theme_grid_item">
188
- <div class="rmp-item-card">
189
- <figure class="rmp-item-card_image">
190
- <img src="<?php echo esc_url( $theme['theme_preview_url'] );?>" alt="" loading="lazy"/>
191
- <figcaption class="rmp-item-card_label <?php echo $theme['status']; ?>">
192
- <span class="dashicons dashicons-star-filled "></span> <?php echo $theme['status']; ?>
193
- </figcaption>
194
- </figure>
195
- <div class="rmp-item-card_contents">
196
- <h4> <?php echo esc_html( $theme['theme_name'] ); ?> </h4>
197
- </div>
198
- <div class="rmp-item-card_action">
199
- <button class="button rmp-theme-apply" theme-name="<?php echo esc_attr( $theme['theme_name'] ); ?>" theme-type="downloaded">
200
- <?php esc_html_e('Apply', 'responsive-menu-pro'); ?>
201
- </button>
202
- </div>
203
  </div>
204
- </li>
205
-
206
- <?php } ?>
207
  </ul>
208
  </div>
 
 
 
 
 
209
  <div id="tabs-3" class="rmp-themes">
210
- <?php
211
- echo $theme_manager->rmp_saves_theme_list_html();
212
- ?>
213
  </div>
 
214
  </div>
215
  </div>
216
  </div>
6
  *
7
  * @package responsive_menu_pro
8
  */
9
+
10
+ // If theme list is cached then access it.
11
+ $cached_data = get_transient( 'rmp_theme_api_response' );
12
+ $rmp_browse_class = '';
13
+ if ( empty( $cached_data ) ) {
14
+ $rmp_browse_class = 'rmp-call-theme-api-button';
15
+ }
16
+
17
  ?>
18
  <!--- This is icon picker wizard markups -->
19
  <section class="rmp-dialog-overlay rmp-menu-icons-dialog" style="display:none">
20
  <div class="rmp-dialog-backdrop"></div>
21
  <div class="rmp-dialog-wrap wp-clearfix">
22
  <div class="rmp-dialog-header">
23
+ <div class="title">
24
+ <img alt="logo" width="34" height="34" src="<?php echo RMP_PLUGIN_URL_V4 .'/assets/images/rmp-logo.png'; ?>" />
25
+ <span> <?php esc_html_e('Select Icon', 'responsive-menu-pro'); ?> </span>
26
+ </div>
27
+ <button class="close dashicons dashicons-no"></button>
28
  </div>
29
  <div class="rmp-dialog-contents wp-clearfix">
30
  <div id="tabs" class="tabs icon-tabs">
163
  </div>
164
  </section>
165
 
166
+ <!-- Theme wizard in customizer page. -->
167
  <section id="rmp-new-menu-wizard" class="rmp-dialog-overlay rmp-new-menu-wizard" style="display:none">
168
  <div class="rmp-dialog-backdrop"></div>
169
  <div class="rmp-dialog-wrap wp-clearfix">
170
  <div class="rmp-dialog-header">
171
+ <div class="title">
172
+ <img alt="logo" width="34" height="34" src="<?php echo RMP_PLUGIN_URL_V4 .'/assets/images/rmp-logo.png'; ?>" />
173
+ <span> <?php esc_html_e('Use Theme', 'responsive-menu-pro'); ?> </span>
174
+ </div>
175
+
176
  <button class="close dashicons dashicons-no"></button>
177
  </div>
178
  <div class="rmp-dialog-contents wp-clearfix tabs" id="tabs" >
179
  <div id="select-themes" class="rmp-new-menu-themes">
180
  <div id="tabs" class="tabs">
181
  <ul class="nav-tab-wrapper">
182
+ <li><a class="nav-tab rmp-v-divider" href="#tabs-1"><?php esc_html_e('Installed Themes', 'responsive-menu-pro'); ?></a></li>
183
+ <li><a class="nav-tab rmp-v-divider <?php echo $rmp_browse_class; ?>" href="#tabs-2"><?php esc_html_e( 'Marketplace', 'responsive-menu-pro'); ?></a></li>
184
+ <li><a class="nav-tab" href="#tabs-3"><?php esc_html_e('Saved Templates', 'responsive-menu-pro'); ?></a></li>
185
+ <li style="float:right;"><button id="rmp-upload-new-theme" class="button btn-import-theme"><?php esc_html_e('Import', 'responsive-menu-pro'); ?></button></li>
186
  </ul>
187
 
188
+ <!-- This is menu theme upload section -->
189
+ <div id="rmp-menu-library-import" class="rmp-theme-upload-container hide" >
190
+ <p><?php esc_html_e('If you have a menu theme in a .zip format, you can upload here.', 'responsive-menu-pro'); ?></p>
191
+ <form method="post" enctype="multipart/form-data" id="rmp-menu-theme-upload-form" class="wp-upload-form">
192
+ <label class="screen-reader-text" for="themezip">Upload zip</label>
193
+ <input type="file" accept=".zip" id="rmp_menu_theme_zip" name="rmp_menu_theme_zip" />
194
+ <button id="rmp-theme-upload" class="button" type="button"> Upload Theme </button>
195
+ </form>
196
  </div>
197
 
198
  <div id="tabs-2" class="rmp-themes">
199
+ <ul class="rmp_theme_grids">
200
+ <?php
201
+ if ( ! empty( $cached_data ) ) {
202
+ echo $theme_manager->get_themes_from_theme_store();
203
+ } else {
204
+ ?>
205
+ <div class="rmp-page-loader" style="display:flex;">
206
+ <img class="rmp-loader-image" src="<?php echo RMP_PLUGIN_URL_V4 .'/assets/images/rmp-logo.png'; ?>"/>
207
+ <h3 class="rmp-loader-message">
208
+ <?php _e( 'Just a moment <br/> Getting data from the server..', 'responsive-menu-pro' ); ?>
209
+ </h3>
 
 
 
 
 
 
 
 
 
 
 
210
  </div>
211
+ <?php } ?>
 
 
212
  </ul>
213
  </div>
214
+
215
+ <div id="tabs-1" class="rmp-themes">
216
+ <?php echo $theme_manager->get_available_themes( true ); ?>
217
+ </div>
218
+
219
  <div id="tabs-3" class="rmp-themes">
220
+ <?php echo $theme_manager->rmp_saves_theme_template_list( true ); ?>
 
 
221
  </div>
222
+
223
  </div>
224
  </div>
225
  </div>
v4.0.0/themes/electric blue theme/blue-background.png ADDED
Binary file
v4.0.0/themes/electric blue theme/config.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ {
2
+ "name": "Electric blue theme",
3
+ "version": "2.0.0",
4
+ "index": "electric-blue-theme.php"
5
+ }
v4.0.0/themes/electric blue theme/electric-blue-theme.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Electric_Blue_Theme Class.
4
+ *
5
+ * @since 2.0.0
6
+ * @author Expresstech System
7
+ * @package responsive_menu_pro
8
+ */
9
+
10
+ namespace RMP\Features\Theme;
11
+
12
+ use RMP\Features\Inc\Traits\Singleton;
13
+
14
+ // Disable the direct access to this class.
15
+ if ( ! defined( 'ABSPATH' ) ) {
16
+ exit;
17
+ }
18
+
19
+ /**
20
+ * Constant as menu theme version.
21
+ */
22
+ if ( ! defined( 'EBT_SAT_VERSION' ) ) {
23
+ define( 'EBT_SAT_VERSION', '2.0.0' );
24
+ }
25
+
26
+ /**
27
+ * Class Electric_Blue_Theme
28
+ * @since 2.0.0
29
+ */
30
+ class Electric_Blue_Theme {
31
+
32
+ use Singleton;
33
+
34
+ /**
35
+ * Construct method.
36
+ */
37
+ protected function __construct() {
38
+ $this->setup_hooks();
39
+ }
40
+
41
+ /**
42
+ * To setup action/filter.
43
+ *
44
+ * @return void
45
+ */
46
+ protected function setup_hooks() {
47
+ add_filter( 'get_available_theme_settings', [ $this, 'update_resources' ],10, 2 );
48
+ }
49
+
50
+ /**
51
+ * Function to update the dynamic optins and resource for theme.
52
+ *
53
+ * @since 2.0.0
54
+ * @return array
55
+ */
56
+ public function update_resources( $options, $theme_name ) {
57
+
58
+ if ( 'Electric blue theme' == $theme_name ) {
59
+ $options['menu_background_image'] = RMP_PLUGIN_URL_V4 . '/themes/electric blue theme/blue-background.png';
60
+ $options['menu_title_image'] = RMP_PLUGIN_URL_V4 . '/themes/electric blue theme/person.png';
61
+ }
62
+
63
+ return $options;
64
+ }
65
+
66
+ }
67
+
68
+ //Initiate the theme object.
69
+ Electric_Blue_Theme::get_instance();
v4.0.0/themes/electric blue theme/options.json ADDED
@@ -0,0 +1,302 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "menu_theme":"Electric blue theme",
3
+ "theme_type":"downloaded",
4
+ "use_header_bar":"off",
5
+ "header_bar_items_order":{
6
+ "title":"off",
7
+ "search":"off",
8
+ "additional content":"off",
9
+ "logo":"on",
10
+ "menu":"on"
11
+ },
12
+ "header_bar_title":"",
13
+ "header_bar_html_content":"",
14
+ "header_bar_logo":"",
15
+ "header_bar_logo_link":"",
16
+ "header_bar_logo_width":"",
17
+ "header_bar_logo_width_unit":"%",
18
+ "header_bar_logo_height":"",
19
+ "header_bar_logo_height_unit":"px",
20
+ "header_bar_height":"80",
21
+ "header_bar_height_unit":"px",
22
+ "header_bar_padding":{
23
+ "top":"0px",
24
+ "right":"0px",
25
+ "bottom":"0px",
26
+ "left":"0px"
27
+ },
28
+ "header_bar_font":"",
29
+ "header_bar_font_size":"14",
30
+ "header_bar_font_size_unit":"px",
31
+ "header_bar_text_color":"#ffffff",
32
+ "header_bar_background_color":"#212121",
33
+ "header_bar_breakpoint":"8000",
34
+ "header_bar_position_type":"fixed",
35
+ "header_bar_adjust_page":"off",
36
+ "mobile_breakpoint":"687",
37
+ "tablet_breakpoint":"8000",
38
+ "transition_speed":"0.5",
39
+ "sub_menu_speed":"0.2",
40
+ "show_menu_on_page_load":"off",
41
+ "menu_disable_scrolling":"off",
42
+ "menu_overlay":"off",
43
+ "menu_overlay_colour":"rgba(0,0,0,0.7)",
44
+ "desktop_menu_width":"",
45
+ "desktop_menu_width_unit":"%",
46
+ "desktop_menu_positioning":"absolute",
47
+ "desktop_menu_side":"left",
48
+ "desktop_submenu_open_animation":"none",
49
+ "desktop_submenu_open_animation_speed":"100ms",
50
+ "desktop_menu_to_hide":"",
51
+ "mega_menu":{
52
+ "7":"off",
53
+ "6":"off",
54
+ "11":"off"
55
+ },
56
+ "desktop_submenu_open_on_click":"off",
57
+ "desktop_menu_hide_and_show":"off",
58
+ "menu_name":"Primary Menu",
59
+ "menu_to_use":"primary-menu",
60
+ "different_menu_for_mobile":"off",
61
+ "menu_to_use_in_mobile":"primary-menu",
62
+ "use_mobile_menu":"on",
63
+ "use_tablet_menu":"on",
64
+ "use_desktop_menu":"on",
65
+ "menu_display_on":"all-pages",
66
+ "menu_to_hide":"",
67
+ "menu_background_colour":"",
68
+ "menu_depth":"5",
69
+ "submenu_descriptions_on":"off",
70
+ "custom_walker":"",
71
+ "smooth_scroll_on":"off",
72
+ "smooth_scroll_speed":"500",
73
+ "menu_font_icons":{
74
+ "id":[
75
+ "7",
76
+ "6",
77
+ "11"
78
+ ],
79
+ "icon":[
80
+ "<span class=\"rmp-font-icon fas fa-home \"><\/span>",
81
+ "<span class=\"rmp-font-icon dashicons dashicons-category \"><\/span>",
82
+ "<span class=\"rmp-font-icon dashicons dashicons-googleplus \"><\/span>"
83
+ ]
84
+ },
85
+ "menu_links_height":"40",
86
+ "menu_links_height_unit":"px",
87
+ "menu_links_line_height":"40",
88
+ "menu_links_line_height_unit":"px",
89
+ "menu_depth_0":"5",
90
+ "menu_depth_0_unit":"%",
91
+ "menu_font_size":"14",
92
+ "menu_font_size_unit":"px",
93
+ "menu_font":"",
94
+ "menu_font_weight":"500",
95
+ "menu_text_alignment":"left",
96
+ "menu_text_letter_spacing":"",
97
+ "menu_word_wrap":"off",
98
+ "menu_link_colour":"#fff",
99
+ "menu_link_hover_colour":"#fff",
100
+ "menu_current_link_colour":"#fff",
101
+ "menu_current_link_hover_colour":"#fff",
102
+ "menu_item_background_colour":"",
103
+ "menu_item_background_hover_colour":"",
104
+ "menu_current_item_background_colour":"",
105
+ "menu_current_item_background_hover_colour":"",
106
+ "menu_border_width":"",
107
+ "menu_border_width_unit":"px",
108
+ "menu_item_border_colour":"#212121",
109
+ "menu_item_border_colour_hover":"#212121",
110
+ "menu_current_item_border_colour":"#212121",
111
+ "menu_current_item_border_hover_colour":"#3f3f3f",
112
+ "submenu_links_height":"40",
113
+ "submenu_links_height_unit":"px",
114
+ "submenu_links_line_height":"40",
115
+ "submenu_links_line_height_unit":"px",
116
+ "menu_depth_side":"left",
117
+ "menu_depth_1":"10",
118
+ "menu_depth_1_unit":"%",
119
+ "menu_depth_2":"",
120
+ "menu_depth_2_unit":"%",
121
+ "menu_depth_3":"",
122
+ "menu_depth_3_unit":"%",
123
+ "menu_depth_4":"25",
124
+ "menu_depth_4_unit":"%",
125
+ "submenu_item_background_colour":"",
126
+ "submenu_item_background_hover_colour":"",
127
+ "submenu_current_item_background_colour":"",
128
+ "submenu_current_item_background_hover_colour":"",
129
+ "submenu_border_width":"",
130
+ "submenu_border_width_unit":"px",
131
+ "submenu_item_border_colour":"",
132
+ "submenu_item_border_colour_hover":"",
133
+ "submenu_current_item_border_colour":"",
134
+ "submenu_current_item_border_hover_colour":"",
135
+ "submenu_font_size":"13",
136
+ "submenu_font_size_unit":"px",
137
+ "submenu_font":"",
138
+ "submenu_font_weight":"500",
139
+ "submenu_text_letter_spacing":"",
140
+ "submenu_text_alignment":"left",
141
+ "submenu_link_colour":"#fff",
142
+ "submenu_link_hover_colour":"#fff",
143
+ "submenu_current_link_colour":"#fff",
144
+ "submenu_current_link_hover_colour":"#fff",
145
+ "inactive_arrow_shape":"\u25bc",
146
+ "active_arrow_shape":"\u25b2",
147
+ "inactive_arrow_font_icon":"<span class=\"rmp-font-icon dashicons dashicons-arrow-up-alt2 \"><\/span>",
148
+ "active_arrow_font_icon":"<span class=\"rmp-font-icon dashicons dashicons-arrow-down-alt2 \"><\/span>",
149
+ "inactive_arrow_image":"",
150
+ "active_arrow_image":"",
151
+ "submenu_arrow_width":"40",
152
+ "submenu_arrow_width_unit":"px",
153
+ "submenu_arrow_height":"40",
154
+ "submenu_arrow_height_unit":"px",
155
+ "arrow_position":"right",
156
+ "menu_sub_arrow_shape_colour":"#fff",
157
+ "menu_sub_arrow_shape_hover_colour":"#fff",
158
+ "menu_sub_arrow_shape_colour_active":"#fff",
159
+ "menu_sub_arrow_shape_hover_colour_active":"#fff",
160
+ "menu_sub_arrow_border_width":"",
161
+ "menu_sub_arrow_border_width_unit":"px",
162
+ "menu_sub_arrow_border_colour":"",
163
+ "menu_sub_arrow_border_hover_colour":"",
164
+ "menu_sub_arrow_border_colour_active":"",
165
+ "menu_sub_arrow_background_hover_colour_active":"",
166
+ "menu_sub_arrow_background_colour":"",
167
+ "menu_sub_arrow_background_hover_colour":"",
168
+ "menu_sub_arrow_background_colour_active":"",
169
+ "fade_submenus":"off",
170
+ "fade_submenus_side":"left",
171
+ "fade_submenus_delay":"100",
172
+ "fade_submenus_speed":"500",
173
+ "use_slide_effect":"off",
174
+ "slide_effect_back_to_text":"Back",
175
+ "accordion_animation":"off",
176
+ "auto_expand_all_submenus":"off",
177
+ "auto_expand_current_submenus":"off",
178
+ "menu_item_click_to_trigger_submenu":"off",
179
+ "button_width":"55",
180
+ "button_width_unit":"px",
181
+ "button_height":"55",
182
+ "button_height_unit":"px",
183
+ "button_background_colour":"#000",
184
+ "button_background_colour_hover":"#000",
185
+ "button_background_colour_active":"#000",
186
+ "button_transparent_background":"on",
187
+ "button_left_or_right":"right",
188
+ "button_position_type":"fixed",
189
+ "button_distance_from_side":"5",
190
+ "button_distance_from_side_unit":"%",
191
+ "button_top":"15",
192
+ "button_top_unit":"px",
193
+ "button_push_with_animation":"off",
194
+ "button_click_animation":"boring",
195
+ "button_line_margin":"5",
196
+ "button_line_margin_unit":"px",
197
+ "button_line_width":"25",
198
+ "button_line_width_unit":"px",
199
+ "button_line_height":"3",
200
+ "button_line_height_unit":"px",
201
+ "button_line_colour":"#3692f7",
202
+ "button_line_colour_hover":"#fff",
203
+ "button_line_colour_active":"#fff",
204
+ "button_font_icon":"",
205
+ "button_font_icon_when_clicked":"",
206
+ "button_image":"",
207
+ "button_image_when_clicked":"",
208
+ "button_title":"",
209
+ "button_title_open":"",
210
+ "button_title_position":"left",
211
+ "button_font":"",
212
+ "button_font_size":"14",
213
+ "button_font_size_unit":"px",
214
+ "button_title_line_height":"13",
215
+ "button_title_line_height_unit":"px",
216
+ "button_text_colour":"#fff",
217
+ "button_trigger_type_click":"on",
218
+ "button_trigger_type_hover":"off",
219
+ "button_click_trigger":"#responsive-menu-pro-button",
220
+ "items_order":{
221
+ "title":"on",
222
+ "additional content":"on",
223
+ "menu":"on",
224
+ "search":"on"
225
+ },
226
+ "menu_title":"Alexa Seleno",
227
+ "menu_title_link":"#",
228
+ "menu_title_link_location":"_self",
229
+ "menu_title_image":"http:\/\/suraj.expresstech.dev\/wp-content\/uploads\/2020\/11\/clipart1005846.png",
230
+ "menu_title_font_icon":"",
231
+ "menu_title_section_padding":{
232
+ "top":"10%",
233
+ "right":"10%",
234
+ "bottom":"0%",
235
+ "left":"10%"
236
+ },
237
+ "menu_title_background_colour":"",
238
+ "menu_title_background_hover_colour":"",
239
+ "menu_title_font_size":"18",
240
+ "menu_title_font_size_unit":"px",
241
+ "menu_title_alignment":"center",
242
+ "menu_title_colour":"#fff",
243
+ "menu_title_hover_colour":"#fff",
244
+ "menu_title_image_width":"60",
245
+ "menu_title_image_width_unit":"px",
246
+ "menu_title_image_height":"60",
247
+ "menu_title_image_height_unit":"px",
248
+ "menu_additional_content":"<strong>@alexaseleno<\/strong>",
249
+ "menu_additional_section_padding":{
250
+ "top":"1%",
251
+ "right":"1%",
252
+ "bottom":"1%",
253
+ "left":"1%"
254
+ },
255
+ "menu_additional_content_font_size":"10",
256
+ "menu_additional_content_font_size_unit":"px",
257
+ "menu_additional_content_alignment":"center",
258
+ "menu_additional_content_colour":"#e5e5e5",
259
+ "menu_section_padding":{
260
+ "top":"5%",
261
+ "right":"10%",
262
+ "bottom":"1%",
263
+ "left":"10%"
264
+ },
265
+ "menu_search_box_text":"Search",
266
+ "menu_search_section_padding":{
267
+ "top":"5%",
268
+ "right":"10%",
269
+ "bottom":"5%",
270
+ "left":"10%"
271
+ },
272
+ "menu_search_box_height":"45",
273
+ "menu_search_box_height_unit":"px",
274
+ "menu_search_box_border_radius":"",
275
+ "menu_search_box_text_colour":"#ffffff",
276
+ "menu_search_box_background_colour":"rgba(255,255,255,0.26)",
277
+ "menu_search_box_placeholder_colour":"#ffffff",
278
+ "menu_search_box_border_colour":"rgba(255,255,255,0.28)",
279
+ "menu_width":"70",
280
+ "menu_width_unit":"%",
281
+ "menu_maximum_width":"320",
282
+ "menu_maximum_width_unit":"px",
283
+ "menu_minimum_width":"280",
284
+ "menu_minimum_width_unit":"px",
285
+ "menu_auto_height":"off",
286
+ "menu_container_padding":{
287
+ "top":"0px",
288
+ "right":"0px",
289
+ "bottom":"0px",
290
+ "left":"0px"
291
+ },
292
+ "menu_container_background_colour":"#3692f7",
293
+ "menu_background_image":"http:\/\/suraj.expresstech.dev\/wp-content\/uploads\/2020\/11\/Reef.png",
294
+ "menu_appear_from":"right",
295
+ "animation_type":"slide",
296
+ "animation_speed":"0.5",
297
+ "page_wrapper":"",
298
+ "menu_close_on_body_click":"on",
299
+ "menu_close_on_scroll":"off",
300
+ "menu_close_on_link_click":"off",
301
+ "enable_touch_gestures":"off"
302
+ }
v4.0.0/themes/electric blue theme/person.png ADDED
Binary file
v4.0.0/themes/electric blue theme/preview.png ADDED
Binary file
v4.0.0/themes/full-width-theme/config.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ {
2
+ "name": "Full width theme",
3
+ "version": "2.0.0",
4
+ "index": "full-width-theme.php"
5
+ }
v4.0.0/themes/full-width-theme/full-width-theme.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Full_Width_Theme Class.
4
+ *
5
+ * @since 2.0.0
6
+ * @author Expresstech System
7
+ * @package responsive_menu_pro
8
+ */
9
+
10
+ namespace RMP\Features\Theme;
11
+
12
+ use RMP\Features\Inc\Traits\Singleton;
13
+
14
+ // Disable the direct access to this class.
15
+ if ( ! defined( 'ABSPATH' ) ) {
16
+ exit;
17
+ }
18
+
19
+ /**
20
+ * Constant as menu theme version.
21
+ */
22
+ if ( ! defined( 'FWT_SAT_VERSION' ) ) {
23
+ define( 'FWT_SAT_VERSION', '2.0.0' );
24
+ }
25
+
26
+ /**
27
+ * Class Full_Width_Theme
28
+ * @since 2.0.0
29
+ */
30
+ class Full_Width_Theme {
31
+
32
+ use Singleton;
33
+
34
+ /**
35
+ * Construct method.
36
+ */
37
+ protected function __construct() {
38
+ $this->setup_hooks();
39
+ }
40
+
41
+ /**
42
+ * To setup action/filter.
43
+ *
44
+ * @return void
45
+ */
46
+ protected function setup_hooks() {
47
+ add_filter( 'get_available_theme_settings', [ $this, 'update_resources' ],10, 2 );
48
+ }
49
+
50
+ /**
51
+ * Function to update the dynamic optins and resource for theme.
52
+ *
53
+ * @since 2.0.0
54
+ * @return array
55
+ */
56
+ public function update_resources( $options, $theme_name ) {
57
+
58
+ if ( 'Full width theme' == $theme_name ) {
59
+ $options['menu_title_image'] = RMP_PLUGIN_URL_V4 . '/themes/full-width-theme/person.png';
60
+ }
61
+
62
+ return $options;
63
+ }
64
+
65
+ }
66
+
67
+ //Initiate the theme object.
68
+ Full_Width_Theme::get_instance();
v4.0.0/themes/full-width-theme/options.json ADDED
@@ -0,0 +1,302 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "menu_theme":"Full width theme",
3
+ "theme_type":"downloaded",
4
+ "use_header_bar":"off",
5
+ "header_bar_items_order":{
6
+ "title":"off",
7
+ "search":"off",
8
+ "additional content":"off",
9
+ "logo":"on",
10
+ "menu":"on"
11
+ },
12
+ "header_bar_title":"",
13
+ "header_bar_html_content":"",
14
+ "header_bar_logo":"",
15
+ "header_bar_logo_link":"",
16
+ "header_bar_logo_width":"",
17
+ "header_bar_logo_width_unit":"%",
18
+ "header_bar_logo_height":"",
19
+ "header_bar_logo_height_unit":"px",
20
+ "header_bar_height":"80",
21
+ "header_bar_height_unit":"px",
22
+ "header_bar_padding":{
23
+ "top":"0px",
24
+ "right":"0px",
25
+ "bottom":"0px",
26
+ "left":"0px"
27
+ },
28
+ "header_bar_font":"",
29
+ "header_bar_font_size":"14",
30
+ "header_bar_font_size_unit":"px",
31
+ "header_bar_text_color":"#ffffff",
32
+ "header_bar_background_color":"#212121",
33
+ "header_bar_breakpoint":"8000",
34
+ "header_bar_position_type":"fixed",
35
+ "header_bar_adjust_page":"off",
36
+ "mobile_breakpoint":"687",
37
+ "tablet_breakpoint":"8000",
38
+ "transition_speed":"0.5",
39
+ "sub_menu_speed":"0.2",
40
+ "show_menu_on_page_load":"off",
41
+ "menu_disable_scrolling":"off",
42
+ "menu_overlay":"off",
43
+ "menu_overlay_colour":"rgba(0,0,0,0.7)",
44
+ "desktop_menu_width":"",
45
+ "desktop_menu_width_unit":"%",
46
+ "desktop_menu_positioning":"absolute",
47
+ "desktop_menu_side":"left",
48
+ "desktop_submenu_open_animation":"none",
49
+ "desktop_submenu_open_animation_speed":"100ms",
50
+ "desktop_menu_to_hide":"",
51
+ "mega_menu":{
52
+ "7":"off",
53
+ "6":"off",
54
+ "11":"off"
55
+ },
56
+ "desktop_submenu_open_on_click":"off",
57
+ "desktop_menu_hide_and_show":"off",
58
+ "menu_name":"Blue aligent",
59
+ "menu_to_use":"primary-menu",
60
+ "different_menu_for_mobile":"off",
61
+ "menu_to_use_in_mobile":"primary-menu",
62
+ "use_mobile_menu":"on",
63
+ "use_tablet_menu":"on",
64
+ "use_desktop_menu":"on",
65
+ "menu_display_on":"all-pages",
66
+ "menu_to_hide":"",
67
+ "menu_background_colour":"",
68
+ "menu_depth":"5",
69
+ "submenu_descriptions_on":"off",
70
+ "custom_walker":"",
71
+ "smooth_scroll_on":"off",
72
+ "smooth_scroll_speed":"500",
73
+ "menu_font_icons":{
74
+ "id":[
75
+ "7",
76
+ "6",
77
+ "11"
78
+ ],
79
+ "icon":[
80
+ "<span class=\"rmp-font-icon fas fa-home \"><\/span>",
81
+ "<span class=\"rmp-font-icon dashicons dashicons-category \"><\/span>",
82
+ "<span class=\"rmp-font-icon dashicons dashicons-googleplus \"><\/span>"
83
+ ]
84
+ },
85
+ "menu_links_height":"40",
86
+ "menu_links_height_unit":"px",
87
+ "menu_links_line_height":"40",
88
+ "menu_links_line_height_unit":"px",
89
+ "menu_depth_0":"5",
90
+ "menu_depth_0_unit":"%",
91
+ "menu_font_size":"14",
92
+ "menu_font_size_unit":"px",
93
+ "menu_font":"",
94
+ "menu_font_weight":"600",
95
+ "menu_text_alignment":"left",
96
+ "menu_text_letter_spacing":"",
97
+ "menu_word_wrap":"off",
98
+ "menu_link_colour":"#000000",
99
+ "menu_link_hover_colour":"#000000",
100
+ "menu_current_link_colour":"#000000",
101
+ "menu_current_link_hover_colour":"#000000",
102
+ "menu_item_background_colour":"",
103
+ "menu_item_background_hover_colour":"",
104
+ "menu_current_item_background_colour":"",
105
+ "menu_current_item_background_hover_colour":"",
106
+ "menu_border_width":"",
107
+ "menu_border_width_unit":"px",
108
+ "menu_item_border_colour":"#212121",
109
+ "menu_item_border_colour_hover":"#212121",
110
+ "menu_current_item_border_colour":"#212121",
111
+ "menu_current_item_border_hover_colour":"#3f3f3f",
112
+ "submenu_links_height":"40",
113
+ "submenu_links_height_unit":"px",
114
+ "submenu_links_line_height":"40",
115
+ "submenu_links_line_height_unit":"px",
116
+ "menu_depth_side":"left",
117
+ "menu_depth_1":"10",
118
+ "menu_depth_1_unit":"%",
119
+ "menu_depth_2":"",
120
+ "menu_depth_2_unit":"%",
121
+ "menu_depth_3":"",
122
+ "menu_depth_3_unit":"%",
123
+ "menu_depth_4":"25",
124
+ "menu_depth_4_unit":"%",
125
+ "submenu_item_background_colour":"",
126
+ "submenu_item_background_hover_colour":"",
127
+ "submenu_current_item_background_colour":"",
128
+ "submenu_current_item_background_hover_colour":"",
129
+ "submenu_border_width":"",
130
+ "submenu_border_width_unit":"px",
131
+ "submenu_item_border_colour":"",
132
+ "submenu_item_border_colour_hover":"",
133
+ "submenu_current_item_border_colour":"",
134
+ "submenu_current_item_border_hover_colour":"",
135
+ "submenu_font_size":"16",
136
+ "submenu_font_size_unit":"px",
137
+ "submenu_font":"",
138
+ "submenu_font_weight":"600",
139
+ "submenu_text_letter_spacing":"",
140
+ "submenu_text_alignment":"left",
141
+ "submenu_link_colour":"#707070",
142
+ "submenu_link_hover_colour":"#707070",
143
+ "submenu_current_link_colour":"#707070",
144
+ "submenu_current_link_hover_colour":"#707070",
145
+ "inactive_arrow_shape":"\u25bc",
146
+ "active_arrow_shape":"\u25b2",
147
+ "inactive_arrow_font_icon":"<span class=\"rmp-font-icon dashicons dashicons-arrow-up-alt2 \"><\/span>",
148
+ "active_arrow_font_icon":"<span class=\"rmp-font-icon dashicons dashicons-arrow-down-alt2 \"><\/span>",
149
+ "inactive_arrow_image":"",
150
+ "active_arrow_image":"",
151
+ "submenu_arrow_width":"40",
152
+ "submenu_arrow_width_unit":"px",
153
+ "submenu_arrow_height":"40",
154
+ "submenu_arrow_height_unit":"px",
155
+ "arrow_position":"right",
156
+ "menu_sub_arrow_shape_colour":"#000000",
157
+ "menu_sub_arrow_shape_hover_colour":"#000000",
158
+ "menu_sub_arrow_shape_colour_active":"#000000",
159
+ "menu_sub_arrow_shape_hover_colour_active":"#000000",
160
+ "menu_sub_arrow_border_width":"",
161
+ "menu_sub_arrow_border_width_unit":"px",
162
+ "menu_sub_arrow_border_colour":"",
163
+ "menu_sub_arrow_border_hover_colour":"",
164
+ "menu_sub_arrow_border_colour_active":"",
165
+ "menu_sub_arrow_background_hover_colour_active":"",
166
+ "menu_sub_arrow_background_colour":"",
167
+ "menu_sub_arrow_background_hover_colour":"",
168
+ "menu_sub_arrow_background_colour_active":"",
169
+ "fade_submenus":"on",
170
+ "fade_submenus_side":"left",
171
+ "fade_submenus_delay":"100",
172
+ "fade_submenus_speed":"500",
173
+ "use_slide_effect":"off",
174
+ "slide_effect_back_to_text":"Back",
175
+ "accordion_animation":"off",
176
+ "auto_expand_all_submenus":"off",
177
+ "auto_expand_current_submenus":"off",
178
+ "menu_item_click_to_trigger_submenu":"off",
179
+ "button_width":"55",
180
+ "button_width_unit":"px",
181
+ "button_height":"55",
182
+ "button_height_unit":"px",
183
+ "button_background_colour":"#000",
184
+ "button_background_colour_hover":"#000",
185
+ "button_background_colour_active":"#000",
186
+ "button_transparent_background":"on",
187
+ "button_left_or_right":"right",
188
+ "button_position_type":"fixed",
189
+ "button_distance_from_side":"5",
190
+ "button_distance_from_side_unit":"%",
191
+ "button_top":"15",
192
+ "button_top_unit":"px",
193
+ "button_push_with_animation":"off",
194
+ "button_click_animation":"boring",
195
+ "button_line_margin":"5",
196
+ "button_line_margin_unit":"px",
197
+ "button_line_width":"25",
198
+ "button_line_width_unit":"px",
199
+ "button_line_height":"3",
200
+ "button_line_height_unit":"px",
201
+ "button_line_colour":"#000000",
202
+ "button_line_colour_hover":"#000000",
203
+ "button_line_colour_active":"#000000",
204
+ "button_font_icon":"",
205
+ "button_font_icon_when_clicked":"",
206
+ "button_image":"",
207
+ "button_image_when_clicked":"",
208
+ "button_title":"",
209
+ "button_title_open":"",
210
+ "button_title_position":"left",
211
+ "button_font":"",
212
+ "button_font_size":"14",
213
+ "button_font_size_unit":"px",
214
+ "button_title_line_height":"13",
215
+ "button_title_line_height_unit":"px",
216
+ "button_text_colour":"#fff",
217
+ "button_trigger_type_click":"on",
218
+ "button_trigger_type_hover":"off",
219
+ "button_click_trigger":"#responsive-menu-pro-button",
220
+ "items_order":{
221
+ "title":"on",
222
+ "additional content":"on",
223
+ "search":"on",
224
+ "menu":"on"
225
+ },
226
+ "menu_title":"Mr. Jackson",
227
+ "menu_title_link":"#",
228
+ "menu_title_link_location":"_self",
229
+ "menu_title_image":"http:\/\/suraj.expresstech.dev\/wp-content\/uploads\/2020\/11\/clipart1005846.png",
230
+ "menu_title_font_icon":"",
231
+ "menu_title_section_padding":{
232
+ "top":"15%",
233
+ "right":"20%",
234
+ "bottom":"10px",
235
+ "left":"20%"
236
+ },
237
+ "menu_title_background_colour":"",
238
+ "menu_title_background_hover_colour":"",
239
+ "menu_title_font_size":"18",
240
+ "menu_title_font_size_unit":"px",
241
+ "menu_title_alignment":"center",
242
+ "menu_title_colour":"#000000",
243
+ "menu_title_hover_colour":"#000000",
244
+ "menu_title_image_width":"60",
245
+ "menu_title_image_width_unit":"px",
246
+ "menu_title_image_height":"60",
247
+ "menu_title_image_height_unit":"px",
248
+ "menu_additional_content":"<strong>@mrjackson<\/strong>",
249
+ "menu_additional_section_padding":{
250
+ "top":"0%",
251
+ "right":"20%",
252
+ "bottom":"0%",
253
+ "left":"20%"
254
+ },
255
+ "menu_additional_content_font_size":"10",
256
+ "menu_additional_content_font_size_unit":"px",
257
+ "menu_additional_content_alignment":"center",
258
+ "menu_additional_content_colour":"#a5a5a5",
259
+ "menu_search_box_text":"Search",
260
+ "menu_search_section_padding":{
261
+ "top":"20px",
262
+ "right":"20%",
263
+ "bottom":"0px",
264
+ "left":"20%"
265
+ },
266
+ "menu_search_box_height":"45",
267
+ "menu_search_box_height_unit":"px",
268
+ "menu_search_box_border_radius":"30",
269
+ "menu_search_box_text_colour":"#000000",
270
+ "menu_search_box_background_colour":"rgba(255,255,255,0)",
271
+ "menu_search_box_placeholder_colour":"#aaaaaa",
272
+ "menu_search_box_border_colour":"#aaaaaa",
273
+ "menu_section_padding":{
274
+ "top":"10px",
275
+ "right":"20%",
276
+ "bottom":"10px",
277
+ "left":"20%"
278
+ },
279
+ "menu_width":"100",
280
+ "menu_width_unit":"%",
281
+ "menu_maximum_width":"100",
282
+ "menu_maximum_width_unit":"%",
283
+ "menu_minimum_width":"100",
284
+ "menu_minimum_width_unit":"%",
285
+ "menu_auto_height":"off",
286
+ "menu_container_padding":{
287
+ "top":"0px",
288
+ "right":"0px",
289
+ "bottom":"0px",
290
+ "left":"0px"
291
+ },
292
+ "menu_container_background_colour":"#f3f3f3",
293
+ "menu_background_image":"",
294
+ "menu_appear_from":"left",
295
+ "animation_type":"slide",
296
+ "animation_speed":"0.5",
297
+ "page_wrapper":"",
298
+ "menu_close_on_body_click":"on",
299
+ "menu_close_on_scroll":"off",
300
+ "menu_close_on_link_click":"off",
301
+ "enable_touch_gestures":"off"
302
+ }
v4.0.0/themes/full-width-theme/person.png ADDED
Binary file
v4.0.0/themes/full-width-theme/preview.png ADDED
Binary file
v4.0.0/themes/simple-red-free/config.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ {
2
+ "name": "Simple red theme",
3
+ "version": "2.0.0",
4
+ "index": "simple-red-theme.php"
5
+ }
v4.0.0/themes/simple-red-free/options.json ADDED
@@ -0,0 +1,302 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "menu_theme":"Simple red theme",
3
+ "theme_type":"downloaded",
4
+ "use_header_bar":"off",
5
+ "header_bar_items_order":{
6
+ "title":"off",
7
+ "search":"off",
8
+ "additional content":"off",
9
+ "logo":"on",
10
+ "menu":"on"
11
+ },
12
+ "header_bar_title":"",
13
+ "header_bar_html_content":"",
14
+ "header_bar_logo":"",
15
+ "header_bar_logo_link":"",
16
+ "header_bar_logo_width":"",
17
+ "header_bar_logo_width_unit":"%",
18
+ "header_bar_logo_height":"",
19
+ "header_bar_logo_height_unit":"px",
20
+ "header_bar_height":"80",
21
+ "header_bar_height_unit":"px",
22
+ "header_bar_padding":{
23
+ "top":"0px",
24
+ "right":"0px",
25
+ "bottom":"0px",
26
+ "left":"0px"
27
+ },
28
+ "header_bar_font":"",
29
+ "header_bar_font_size":"14",
30
+ "header_bar_font_size_unit":"px",
31
+ "header_bar_text_color":"#ffffff",
32
+ "header_bar_background_color":"#212121",
33
+ "header_bar_breakpoint":"8000",
34
+ "header_bar_position_type":"fixed",
35
+ "header_bar_adjust_page":"off",
36
+ "mobile_breakpoint":"687",
37
+ "tablet_breakpoint":"8000",
38
+ "transition_speed":"0.5",
39
+ "sub_menu_speed":"0.2",
40
+ "show_menu_on_page_load":"off",
41
+ "menu_disable_scrolling":"off",
42
+ "menu_overlay":"off",
43
+ "menu_overlay_colour":"rgba(0,0,0,0.7)",
44
+ "desktop_menu_width":"",
45
+ "desktop_menu_width_unit":"%",
46
+ "desktop_menu_positioning":"absolute",
47
+ "desktop_menu_side":"left",
48
+ "desktop_submenu_open_animation":"none",
49
+ "desktop_submenu_open_animation_speed":"100ms",
50
+ "desktop_menu_to_hide":"",
51
+ "mega_menu":{
52
+ "7":"off",
53
+ "6":"off",
54
+ "11":"off"
55
+ },
56
+ "desktop_submenu_open_on_click":"off",
57
+ "desktop_menu_hide_and_show":"off",
58
+ "menu_name":"Primary Menu",
59
+ "menu_to_use":"primary-menu",
60
+ "different_menu_for_mobile":"off",
61
+ "menu_to_use_in_mobile":"primary-menu",
62
+ "use_mobile_menu":"on",
63
+ "use_tablet_menu":"on",
64
+ "use_desktop_menu":"on",
65
+ "menu_display_on":"all-pages",
66
+ "menu_to_hide":"",
67
+ "menu_background_colour":"",
68
+ "menu_depth":"5",
69
+ "submenu_descriptions_on":"off",
70
+ "custom_walker":"",
71
+ "smooth_scroll_on":"off",
72
+ "smooth_scroll_speed":"500",
73
+ "menu_font_icons":{
74
+ "id":[
75
+ "7",
76
+ "6",
77
+ "11"
78
+ ],
79
+ "icon":[
80
+ "<span class=\"rmp-font-icon fas fa-home \"><\/span>",
81
+ "<span class=\"rmp-font-icon dashicons dashicons-category \"><\/span>",
82
+ "<span class=\"rmp-font-icon dashicons dashicons-googleplus \"><\/span>"
83
+ ]
84
+ },
85
+ "menu_links_height":"40",
86
+ "menu_links_height_unit":"px",
87
+ "menu_links_line_height":"40",
88
+ "menu_links_line_height_unit":"px",
89
+ "menu_depth_0":"5",
90
+ "menu_depth_0_unit":"%",
91
+ "menu_font_size":"14",
92
+ "menu_font_size_unit":"px",
93
+ "menu_font":"",
94
+ "menu_font_weight":"500",
95
+ "menu_text_alignment":"left",
96
+ "menu_text_letter_spacing":"",
97
+ "menu_word_wrap":"off",
98
+ "menu_link_colour":"#fff",
99
+ "menu_link_hover_colour":"#fff",
100
+ "menu_current_link_colour":"#fff",
101
+ "menu_current_link_hover_colour":"#fff",
102
+ "menu_item_background_colour":"",
103
+ "menu_item_background_hover_colour":"",
104
+ "menu_current_item_background_colour":"",
105
+ "menu_current_item_background_hover_colour":"",
106
+ "menu_border_width":"",
107
+ "menu_border_width_unit":"px",
108
+ "menu_item_border_colour":"#212121",
109
+ "menu_item_border_colour_hover":"#212121",
110
+ "menu_current_item_border_colour":"#212121",
111
+ "menu_current_item_border_hover_colour":"#3f3f3f",
112
+ "submenu_links_height":"40",
113
+ "submenu_links_height_unit":"px",
114
+ "submenu_links_line_height":"40",
115
+ "submenu_links_line_height_unit":"px",
116
+ "menu_depth_side":"left",
117
+ "menu_depth_1":"10",
118
+ "menu_depth_1_unit":"%",
119
+ "menu_depth_2":"",
120
+ "menu_depth_2_unit":"%",
121
+ "menu_depth_3":"",
122
+ "menu_depth_3_unit":"%",
123
+ "menu_depth_4":"25",
124
+ "menu_depth_4_unit":"%",
125
+ "submenu_item_background_colour":"",
126
+ "submenu_item_background_hover_colour":"",
127
+ "submenu_current_item_background_colour":"",
128
+ "submenu_current_item_background_hover_colour":"",
129
+ "submenu_border_width":"",
130
+ "submenu_border_width_unit":"px",
131
+ "submenu_item_border_colour":"",
132
+ "submenu_item_border_colour_hover":"",
133
+ "submenu_current_item_border_colour":"",
134
+ "submenu_current_item_border_hover_colour":"",
135
+ "submenu_font_size":"13",
136
+ "submenu_font_size_unit":"px",
137
+ "submenu_font":"",
138
+ "submenu_font_weight":"500",
139
+ "submenu_text_letter_spacing":"",
140
+ "submenu_text_alignment":"left",
141
+ "submenu_link_colour":"#fff",
142
+ "submenu_link_hover_colour":"#fff",
143
+ "submenu_current_link_colour":"#fff",
144
+ "submenu_current_link_hover_colour":"#fff",
145
+ "inactive_arrow_shape":"\u25bc",
146
+ "active_arrow_shape":"\u25b2",
147
+ "inactive_arrow_font_icon":"<span class=\"rmp-font-icon dashicons dashicons-arrow-up-alt2 \"><\/span>",
148
+ "active_arrow_font_icon":"<span class=\"rmp-font-icon dashicons dashicons-arrow-down-alt2 \"><\/span>",
149
+ "inactive_arrow_image":"",
150
+ "active_arrow_image":"",
151
+ "submenu_arrow_width":"40",
152
+ "submenu_arrow_width_unit":"px",
153
+ "submenu_arrow_height":"40",
154
+ "submenu_arrow_height_unit":"px",
155
+ "arrow_position":"right",
156
+ "menu_sub_arrow_shape_colour":"#fff",
157
+ "menu_sub_arrow_shape_hover_colour":"#fff",
158
+ "menu_sub_arrow_shape_colour_active":"#fff",
159
+ "menu_sub_arrow_shape_hover_colour_active":"#fff",
160
+ "menu_sub_arrow_border_width":"",
161
+ "menu_sub_arrow_border_width_unit":"px",
162
+ "menu_sub_arrow_border_colour":"",
163
+ "menu_sub_arrow_border_hover_colour":"",
164
+ "menu_sub_arrow_border_colour_active":"",
165
+ "menu_sub_arrow_background_hover_colour_active":"",
166
+ "menu_sub_arrow_background_colour":"",
167
+ "menu_sub_arrow_background_hover_colour":"",
168
+ "menu_sub_arrow_background_colour_active":"",
169
+ "fade_submenus":"off",
170
+ "fade_submenus_side":"left",
171
+ "fade_submenus_delay":"100",
172
+ "fade_submenus_speed":"500",
173
+ "use_slide_effect":"off",
174
+ "slide_effect_back_to_text":"Back",
175
+ "accordion_animation":"on",
176
+ "auto_expand_all_submenus":"off",
177
+ "auto_expand_current_submenus":"off",
178
+ "menu_item_click_to_trigger_submenu":"off",
179
+ "button_width":"55",
180
+ "button_width_unit":"px",
181
+ "button_height":"55",
182
+ "button_height_unit":"px",
183
+ "button_background_colour":"#000",
184
+ "button_background_colour_hover":"#000",
185
+ "button_background_colour_active":"#000",
186
+ "button_transparent_background":"on",
187
+ "button_left_or_right":"right",
188
+ "button_position_type":"fixed",
189
+ "button_distance_from_side":"5",
190
+ "button_distance_from_side_unit":"%",
191
+ "button_top":"15",
192
+ "button_top_unit":"px",
193
+ "button_push_with_animation":"off",
194
+ "button_click_animation":"boring",
195
+ "button_line_margin":"5",
196
+ "button_line_margin_unit":"px",
197
+ "button_line_width":"25",
198
+ "button_line_width_unit":"px",
199
+ "button_line_height":"3",
200
+ "button_line_height_unit":"px",
201
+ "button_line_colour":"#f95348",
202
+ "button_line_colour_hover":"#f95348",
203
+ "button_line_colour_active":"#f95348",
204
+ "button_font_icon":"",
205
+ "button_font_icon_when_clicked":"",
206
+ "button_image":"",
207
+ "button_image_when_clicked":"",
208
+ "button_title":"",
209
+ "button_title_open":"",
210
+ "button_title_position":"left",
211
+ "button_font":"",
212
+ "button_font_size":"14",
213
+ "button_font_size_unit":"px",
214
+ "button_title_line_height":"13",
215
+ "button_title_line_height_unit":"px",
216
+ "button_text_colour":"#fff",
217
+ "button_trigger_type_click":"on",
218
+ "button_trigger_type_hover":"off",
219
+ "button_click_trigger":"#responsive-menu-pro-button",
220
+ "items_order":{
221
+ "title":"on",
222
+ "additional content":"on",
223
+ "search":"on",
224
+ "menu":"on"
225
+ },
226
+ "menu_title":"Oleo Bone",
227
+ "menu_title_link":"#",
228
+ "menu_title_link_location":"_self",
229
+ "menu_title_image":"http:\/\/suraj.expresstech.dev\/wp-content\/uploads\/2020\/11\/clipart1005846.png",
230
+ "menu_title_font_icon":"",
231
+ "menu_title_section_padding":{
232
+ "top":"10%",
233
+ "right":"10%",
234
+ "bottom":"0%",
235
+ "left":"10%"
236
+ },
237
+ "menu_title_background_colour":"",
238
+ "menu_title_background_hover_colour":"",
239
+ "menu_title_font_size":"18",
240
+ "menu_title_font_size_unit":"px",
241
+ "menu_title_alignment":"center",
242
+ "menu_title_colour":"#fff",
243
+ "menu_title_hover_colour":"#fff",
244
+ "menu_title_image_width":"60",
245
+ "menu_title_image_width_unit":"px",
246
+ "menu_title_image_height":"60",
247
+ "menu_title_image_height_unit":"px",
248
+ "menu_additional_content":"<strong>@oleobone<\/strong>",
249
+ "menu_additional_section_padding":{
250
+ "top":"1%",
251
+ "right":"5%",
252
+ "bottom":"0%",
253
+ "left":"5%"
254
+ },
255
+ "menu_additional_content_font_size":"10",
256
+ "menu_additional_content_font_size_unit":"px",
257
+ "menu_additional_content_alignment":"center",
258
+ "menu_additional_content_colour":"#e5e5e5",
259
+ "menu_search_box_text":"Search",
260
+ "menu_search_section_padding":{
261
+ "top":"5%",
262
+ "right":"5%",
263
+ "bottom":"1%",
264
+ "left":"5%"
265
+ },
266
+ "menu_search_box_height":"50",
267
+ "menu_search_box_height_unit":"px",
268
+ "menu_search_box_border_radius":"30",
269
+ "menu_search_box_text_colour":"#ffffff",
270
+ "menu_search_box_background_colour":"rgba(255,255,255,0.26)",
271
+ "menu_search_box_placeholder_colour":"#ffffff",
272
+ "menu_search_box_border_colour":"rgba(218,218,218,0)",
273
+ "menu_section_padding":{
274
+ "top":"2%",
275
+ "right":"5%",
276
+ "bottom":"5%",
277
+ "left":"5%"
278
+ },
279
+ "menu_width":"70",
280
+ "menu_width_unit":"%",
281
+ "menu_maximum_width":"320",
282
+ "menu_maximum_width_unit":"px",
283
+ "menu_minimum_width":"300",
284
+ "menu_minimum_width_unit":"px",
285
+ "menu_auto_height":"off",
286
+ "menu_container_padding":{
287
+ "top":"0px",
288
+ "right":"0px",
289
+ "bottom":"0px",
290
+ "left":"0px"
291
+ },
292
+ "menu_container_background_colour":"#f85149",
293
+ "menu_background_image":"",
294
+ "menu_appear_from":"left",
295
+ "animation_type":"slide",
296
+ "animation_speed":"0.5",
297
+ "page_wrapper":"",
298
+ "menu_close_on_body_click":"off",
299
+ "menu_close_on_scroll":"off",
300
+ "menu_close_on_link_click":"off",
301
+ "enable_touch_gestures":"off"
302
+ }
v4.0.0/themes/simple-red-free/person.png ADDED
Binary file
v4.0.0/themes/simple-red-free/preview.png ADDED
Binary file
v4.0.0/themes/simple-red-free/simple-red-theme.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Simple_Red_Theme Class.
4
+ *
5
+ * @since 2.0.0
6
+ * @author Expresstech System
7
+ * @package responsive_menu_pro
8
+ */
9
+
10
+ namespace RMP\Features\Theme;
11
+
12
+ use RMP\Features\Inc\Traits\Singleton;
13
+
14
+ // Disable the direct access to this class.
15
+ if ( ! defined( 'ABSPATH' ) ) {
16
+ exit;
17
+ }
18
+
19
+ /**
20
+ * Constant as menu theme version.
21
+ */
22
+ if ( ! defined( 'SRT_SAT_VERSION' ) ) {
23
+ define( 'SRT_SAT_VERSION', '2.0.0' );
24
+ }
25
+
26
+ /**
27
+ * Class Simple_Red_Theme
28
+ * @since 2.0.0
29
+ */
30
+ class Simple_Red_Theme {
31
+
32
+ use Singleton;
33
+
34
+ /**
35
+ * Construct method.
36
+ */
37
+ protected function __construct() {
38
+ $this->setup_hooks();
39
+ }
40
+
41
+ /**
42
+ * To setup action/filter.
43
+ *
44
+ * @return void
45
+ */
46
+ protected function setup_hooks() {
47
+ add_filter( 'get_available_theme_settings', [ $this, 'update_resources' ],10, 2 );
48
+ }
49
+
50
+ /**
51
+ * Function to update the dynamic optins and resource for theme.
52
+ *
53
+ * @since 2.0.0
54
+ * @return array
55
+ */
56
+ public function update_resources( $options, $theme_name ) {
57
+
58
+ if ( 'Simple red theme' == $theme_name ) {
59
+ $options['menu_title_image'] = RMP_PLUGIN_URL_V4 . '/themes/simple-red-free/person.png';
60
+ }
61
+
62
+ return $options;
63
+ }
64
+
65
+ }
66
+
67
+ //Initiate the theme object.
68
+ Simple_Red_Theme::get_instance();
v4.0.0/webpack.config.js CHANGED
@@ -1,25 +1,25 @@
1
  const DEV = 'production' !== process.env.NODE_ENV;
2
 
3
  /**
4
- * Plugins
5
  */
6
  const path = require( 'path' );
7
  const MiniCssExtractPlugin = require( 'mini-css-extract-plugin' );
8
  const OptimizeCssAssetsPlugin = require( 'optimize-css-assets-webpack-plugin' );
9
  const cssnano = require( 'cssnano' );
10
  const CleanWebpackPlugin = require( 'clean-webpack-plugin' );
11
- const UglifyJsPlugin = require( 'uglifyjs-webpack-plugin' );
12
  const StyleLintPlugin = require( 'stylelint-webpack-plugin' );
13
  const FriendlyErrorsPlugin = require( 'friendly-errors-webpack-plugin' );
14
 
15
  // Assets Directory path.
16
- const JSDir = path.resolve( __dirname, 'assets/js' );
17
- const Assets = path.resolve( __dirname, 'assets' );
18
- const BUILD_DIR = path.resolve( __dirname, 'assets/build' );
19
 
20
  // Entry points
21
  const entry = {
22
- main: Assets + '/js/rmp-menu.js'
23
  };
24
 
25
  // Outputs
@@ -42,7 +42,7 @@ const plugins = ( argv ) => [
42
  new FriendlyErrorsPlugin( {
43
  clearConsole: false
44
  } )
45
- ];
46
 
47
  const rules = [
48
  {
@@ -64,7 +64,7 @@ const rules = [
64
  MiniCssExtractPlugin.loader,
65
  'css-loader',
66
  'postcss-loader',
67
- 'sass-loader',
68
  ]
69
  }
70
  ];
@@ -74,12 +74,9 @@ const optimization = [
74
  cssProcessor: cssnano
75
  } ),
76
 
77
- new UglifyJsPlugin( {
78
- cache: false
79
- } )
80
  ];
81
 
82
-
83
  module.exports = ( argv ) => ( {
84
  entry: entry,
85
  output: output,
1
  const DEV = 'production' !== process.env.NODE_ENV;
2
 
3
  /**
4
+ * NPM Plugins.
5
  */
6
  const path = require( 'path' );
7
  const MiniCssExtractPlugin = require( 'mini-css-extract-plugin' );
8
  const OptimizeCssAssetsPlugin = require( 'optimize-css-assets-webpack-plugin' );
9
  const cssnano = require( 'cssnano' );
10
  const CleanWebpackPlugin = require( 'clean-webpack-plugin' );
11
+ const TerserPlugin = require( 'terser-webpack-plugin' );
12
  const StyleLintPlugin = require( 'stylelint-webpack-plugin' );
13
  const FriendlyErrorsPlugin = require( 'friendly-errors-webpack-plugin' );
14
 
15
  // Assets Directory path.
16
+ const JSDir = path.resolve( __dirname, 'assets/admin/js' );
17
+ const Assets = path.resolve( __dirname, 'assets/admin' );
18
+ const BUILD_DIR = path.resolve( __dirname, 'assets/admin/build' );
19
 
20
  // Entry points
21
  const entry = {
22
+ rmpMain: [ Assets + '/rmp-main.js' ]
23
  };
24
 
25
  // Outputs
42
  new FriendlyErrorsPlugin( {
43
  clearConsole: false
44
  } )
45
+ ];
46
 
47
  const rules = [
48
  {
64
  MiniCssExtractPlugin.loader,
65
  'css-loader',
66
  'postcss-loader',
67
+ 'sass-loader'
68
  ]
69
  }
70
  ];
74
  cssProcessor: cssnano
75
  } ),
76
 
77
+ new TerserPlugin()
 
 
78
  ];
79
 
 
80
  module.exports = ( argv ) => ( {
81
  entry: entry,
82
  output: output,