Responsive Menu - Version 4.0.0

Version Description

(7th Dec 2020) = * New and improved admin user interface * Added menu customizer with live preview features * Added feature to create menu templates * Improved menu themes * Added support for multiple menus * Added support for WordPress core version 5.6 and PHP 8.0 * Added support for twenty twenty one theme * Fixed several bugs in older version

Download this release

Release Info

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

Code changes from version 3.1.30 to 4.0.0

Files changed (111) hide show
  1. app/Walkers/Walker.php +6 -0
  2. config/routing.php +12 -0
  3. config/wp/scripts.php +22 -7
  4. public/css/admin/base.css +17 -2
  5. public/js/admin/additional.js +20 -1
  6. public/js/admin/base.js +1 -1
  7. readme.txt +13 -3
  8. responsive-menu.php +124 -2
  9. v4.0.0/.babelrc +3 -0
  10. v4.0.0/.distignore +20 -0
  11. v4.0.0/.editorconfig +37 -0
  12. v4.0.0/.eslintignore +4 -0
  13. v4.0.0/.eslintrc.json +40 -0
  14. v4.0.0/.gitignore +8 -0
  15. v4.0.0/.stylelintrc +29 -0
  16. v4.0.0/assets/admin/fonts/product-sans/Product Sans Bold Italic.ttf +0 -0
  17. v4.0.0/assets/admin/fonts/product-sans/Product Sans Bold.ttf +0 -0
  18. v4.0.0/assets/admin/fonts/product-sans/Product Sans Italic.ttf +0 -0
  19. v4.0.0/assets/admin/fonts/product-sans/Product Sans Medium.ttf +0 -0
  20. v4.0.0/assets/admin/fonts/product-sans/Product Sans Regular.ttf +0 -0
  21. v4.0.0/assets/admin/fonts/product-sans/google-product-sans.jpg +0 -0
  22. v4.0.0/assets/admin/icons/svg/advanced.svg +3 -0
  23. v4.0.0/assets/admin/icons/svg/container.svg +3 -0
  24. v4.0.0/assets/admin/icons/svg/desktop.svg +3 -0
  25. v4.0.0/assets/admin/icons/svg/dropdowns.svg +3 -0
  26. v4.0.0/assets/admin/icons/svg/general.svg +3 -0
  27. v4.0.0/assets/admin/icons/svg/header.svg +3 -0
  28. v4.0.0/assets/admin/icons/svg/image-placeholder.svg +13 -0
  29. v4.0.0/assets/admin/icons/svg/mobile.svg +3 -0
  30. v4.0.0/assets/admin/icons/svg/tablet.svg +3 -0
  31. v4.0.0/assets/admin/icons/svg/toggle.svg +3 -0
  32. v4.0.0/assets/admin/js/rmp-admin.js +775 -0
  33. v4.0.0/assets/admin/js/rmp-editor.js +95 -0
  34. v4.0.0/assets/admin/js/rmp-icon.js +142 -0
  35. v4.0.0/assets/admin/js/rmp-preview.js +1008 -0
  36. v4.0.0/assets/admin/js/selectize.js +3 -0
  37. v4.0.0/assets/admin/js/wp-color-alpha.js +416 -0
  38. v4.0.0/assets/admin/scss/admin.css +2622 -0
  39. v4.0.0/assets/admin/scss/glyphicons.css +810 -0
  40. v4.0.0/assets/admin/scss/selectize.css +324 -0
  41. v4.0.0/assets/images/no-preview.jpeg +0 -0
  42. v4.0.0/assets/images/placeholder.png +0 -0
  43. v4.0.0/assets/images/rmp-logo.png +0 -0
  44. v4.0.0/assets/js/rmp-menu.js +354 -0
  45. v4.0.0/assets/scss/common.scss +232 -0
  46. v4.0.0/assets/scss/main.scss +624 -0
  47. v4.0.0/inc/classes/class-admin.php +576 -0
  48. v4.0.0/inc/classes/class-assets.php +209 -0
  49. v4.0.0/inc/classes/class-control-manager.php +1271 -0
  50. v4.0.0/inc/classes/class-editor-manager.php +169 -0
  51. v4.0.0/inc/classes/class-editor.php +201 -0
  52. v4.0.0/inc/classes/class-option-manager.php +130 -0
  53. v4.0.0/inc/classes/class-plugin.php +147 -0
  54. v4.0.0/inc/classes/class-preview.php +74 -0
  55. v4.0.0/inc/classes/class-rmp-menu.php +442 -0
  56. v4.0.0/inc/classes/class-rmp-migration.php +301 -0
  57. v4.0.0/inc/classes/class-style-manager.php +1497 -0
  58. v4.0.0/inc/classes/class-theme-manager.php +572 -0
  59. v4.0.0/inc/classes/class-ui-manager.php +278 -0
  60. v4.0.0/inc/classes/class-walker.php +339 -0
  61. v4.0.0/inc/helpers/autoloader.php +91 -0
  62. v4.0.0/inc/helpers/custom-functions.php +192 -0
  63. v4.0.0/inc/helpers/default-options.php +1130 -0
  64. v4.0.0/inc/traits/trait-singleton.php +89 -0
  65. v4.0.0/languages/responsive-menu.pot +1546 -0
  66. v4.0.0/libs/scssphp/composer.json +5 -0
  67. v4.0.0/libs/scssphp/composer.lock +79 -0
  68. v4.0.0/libs/scssphp/vendor/autoload.php +7 -0
  69. v4.0.0/libs/scssphp/vendor/bin/pscss +14 -0
  70. v4.0.0/libs/scssphp/vendor/bin/pscss.bat +4 -0
  71. v4.0.0/libs/scssphp/vendor/composer/ClassLoader.php +445 -0
  72. v4.0.0/libs/scssphp/vendor/composer/LICENSE +21 -0
  73. v4.0.0/libs/scssphp/vendor/composer/autoload_classmap.php +9 -0
  74. v4.0.0/libs/scssphp/vendor/composer/autoload_namespaces.php +9 -0
  75. v4.0.0/libs/scssphp/vendor/composer/autoload_psr4.php +10 -0
  76. v4.0.0/libs/scssphp/vendor/composer/autoload_real.php +52 -0
  77. v4.0.0/libs/scssphp/vendor/composer/autoload_static.php +31 -0
  78. v4.0.0/libs/scssphp/vendor/composer/installed.json +65 -0
  79. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/LICENSE.md +20 -0
  80. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/README.md +46 -0
  81. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/bin/pscss +215 -0
  82. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/composer.json +51 -0
  83. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/scss.inc.php +34 -0
  84. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Base/Range.php +47 -0
  85. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Block.php +70 -0
  86. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Cache.php +239 -0
  87. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Colors.php +241 -0
  88. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Compiler.php +7838 -0
  89. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Compiler/Environment.php +45 -0
  90. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Exception/CompilerException.php +21 -0
  91. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Exception/ParserException.php +21 -0
  92. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Exception/RangeException.php +21 -0
  93. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Exception/ServerException.php +21 -0
  94. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Formatter.php +331 -0
  95. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Formatter/Compact.php +45 -0
  96. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Formatter/Compressed.php +81 -0
  97. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Formatter/Crunched.php +79 -0
  98. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Formatter/Debug.php +121 -0
  99. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Formatter/Expanded.php +68 -0
  100. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Formatter/Nested.php +229 -0
  101. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Formatter/OutputBlock.php +65 -0
  102. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Node.php +40 -0
  103. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Node/Number.php +390 -0
  104. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Parser.php +3404 -0
  105. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/SourceMap/Base64.php +184 -0
  106. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/SourceMap/Base64VLQ.php +146 -0
  107. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/SourceMap/SourceMapGenerator.php +348 -0
  108. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Type.php +70 -0
  109. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Util.php +70 -0
  110. v4.0.0/libs/scssphp/vendor/scssphp/scssphp/src/Version.php +22 -0
  111. v4.0.0/package-lock.json +320 -0
app/Walkers/Walker.php CHANGED
@@ -94,6 +94,12 @@ class Walker extends \Walker_Nav_Menu {
94
 
95
  $item_output .= '</a>';
96
 
 
 
 
 
 
 
97
  $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
98
 
99
  }
94
 
95
  $item_output .= '</a>';
96
 
97
+ // Theme support for twenty twenty one.
98
+ if ( function_exists( 'twenty_twenty_one_add_sub_menu_toggle' ) ) {
99
+ remove_filter( 'walker_nav_menu_start_el', 'twenty_twenty_one_add_sub_menu_toggle', 10 );
100
+ remove_filter( 'walker_nav_menu_start_el', 'twenty_twenty_one_nav_menu_social_icons', 10 );
101
+ }
102
+
103
  $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
104
 
105
  }
config/routing.php CHANGED
@@ -59,6 +59,18 @@ if(is_admin()):
59
  },
60
  'dashicons-menu');
61
  });
 
 
 
 
 
 
 
 
 
 
 
 
62
  else:
63
  add_action('template_redirect', function() {
64
  $controller = get_responsive_menu_service('front_controller');
59
  },
60
  'dashicons-menu');
61
  });
62
+
63
+ /** Function to move to the new version */
64
+ add_action('wp_ajax_rmp_switch_version', function() {
65
+
66
+ if ( empty ( update_option( 'is_rmp_new_version', 1 ) ) ) {
67
+ add_option( 'is_rmp_new_version', 1 );
68
+ }
69
+
70
+ wp_send_json_success( ['redirect' => admin_url('edit.php?post_type=rmp_menu')] );
71
+
72
+ });
73
+
74
  else:
75
  add_action('template_redirect', function() {
76
  $controller = get_responsive_menu_service('front_controller');
config/wp/scripts.php CHANGED
@@ -28,10 +28,10 @@ if(isset($_GET['page']) && $_GET['page'] == 'responsive-menu'):
28
  wp_enqueue_script('jquery-ui-sortable');
29
  wp_enqueue_script('jquery-ui-draggable');
30
 
31
- wp_register_style('responsive-menu-base-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/base.css', false, null);
32
  wp_enqueue_style('responsive-menu-base-css');
33
 
34
- wp_register_style('responsive-menu-additional-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/additional.css', false, null);
35
  wp_enqueue_style('responsive-menu-additional-css');
36
 
37
  $options = get_responsive_menu_service('option_manager')->all();
@@ -41,13 +41,28 @@ if(isset($_GET['page']) && $_GET['page'] == 'responsive-menu'):
41
  wp_enqueue_style('responsive-menu-admin-css-theme' . $theme);
42
  endif;
43
 
44
- wp_register_script('responsive-menu-base-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/base.js', 'jquery', null);
45
- wp_localize_script('responsive-menu-base-js', 'WP_HOME_URL', home_url('/'));
46
- wp_localize_script('responsive-menu-base-js', 'THEMES_FOLDER_URL', wp_upload_dir()['baseurl'] . '/responsive-menu-themes/');
 
 
 
 
 
 
 
 
 
 
 
47
  wp_enqueue_script('responsive-menu-base-js');
48
 
49
- wp_register_script('responsive-menu-additional-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/additional.js', 'jquery', null);
50
- wp_localize_script('responsive-menu-additional-js', 'WP_HOME_URL', home_url('/'));
 
 
 
 
51
  wp_enqueue_script('responsive-menu-additional-js');
52
 
53
  });
28
  wp_enqueue_script('jquery-ui-sortable');
29
  wp_enqueue_script('jquery-ui-draggable');
30
 
31
+ wp_register_style('responsive-menu-base-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/base.css', false, RMP_PLUGIN_VERSION );
32
  wp_enqueue_style('responsive-menu-base-css');
33
 
34
+ wp_register_style('responsive-menu-additional-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/additional.css', false, RMP_PLUGIN_VERSION );
35
  wp_enqueue_style('responsive-menu-additional-css');
36
 
37
  $options = get_responsive_menu_service('option_manager')->all();
41
  wp_enqueue_style('responsive-menu-admin-css-theme' . $theme);
42
  endif;
43
 
44
+ wp_register_script('responsive-menu-base-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/base.js', 'jquery', RMP_PLUGIN_VERSION );
45
+
46
+ wp_localize_script(
47
+ 'responsive-menu-base-js',
48
+ 'WP_RMP',
49
+ [ 'HOME_URL' => home_url('/') ]
50
+ );
51
+
52
+ wp_localize_script(
53
+ 'responsive-menu-base-js',
54
+ 'WP_RMP_THEME',
55
+ [ 'FOLDER_URL' => wp_upload_dir()['baseurl'] . '/responsive-menu-themes/' ]
56
+ );
57
+
58
  wp_enqueue_script('responsive-menu-base-js');
59
 
60
+ wp_register_script('responsive-menu-additional-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/additional.js', 'jquery', RMP_PLUGIN_VERSION );
61
+ wp_localize_script(
62
+ 'responsive-menu-additional-js',
63
+ 'WP_RMP',
64
+ [ 'HOME_URL' => home_url('/') ]
65
+ );
66
  wp_enqueue_script('responsive-menu-additional-js');
67
 
68
  });
public/css/admin/base.css CHANGED
@@ -324,7 +324,8 @@
324
 
325
  #responsive-menu-admin #upgrade-banner,
326
  #responsive-menu-admin #docs-banner,
327
- #responsive-menu-admin #themes-banner {
 
328
  background: #FAB719;
329
  padding: 35px;
330
  color: #333;
@@ -336,7 +337,8 @@
336
 
337
  #responsive-menu-admin #upgrade-banner .button,
338
  #responsive-menu-admin #docs-banner .button,
339
- #responsive-menu-admin #themes-banner .button {
 
340
  background: white;
341
  padding: 0 25px;
342
  height: 50px;
@@ -351,6 +353,19 @@
351
  margin-top: 15px;
352
  }
353
 
 
 
 
 
 
 
 
 
 
 
 
 
 
354
  #responsive-menu-admin #themes-banner {
355
  background: #15a4fa;
356
  color: white;
324
 
325
  #responsive-menu-admin #upgrade-banner,
326
  #responsive-menu-admin #docs-banner,
327
+ #responsive-menu-admin #themes-banner,
328
+ #responsive-menu-admin #new-version-banner {
329
  background: #FAB719;
330
  padding: 35px;
331
  color: #333;
337
 
338
  #responsive-menu-admin #upgrade-banner .button,
339
  #responsive-menu-admin #docs-banner .button,
340
+ #responsive-menu-admin #themes-banner .button,
341
+ #responsive-menu-admin #new-version-banner .button {
342
  background: white;
343
  padding: 0 25px;
344
  height: 50px;
353
  margin-top: 15px;
354
  }
355
 
356
+ #responsive-menu-admin #new-version-banner {
357
+ margin-bottom: 10px;
358
+ background: #3e4960;
359
+ color: #ffffff;
360
+ border: dashed #ffffff 2px;
361
+ }
362
+
363
+ #responsive-menu-admin #new-version-banner .button{
364
+ background: #0db932;
365
+ color: #fff;
366
+ border: solid 1px green;
367
+ }
368
+
369
  #responsive-menu-admin #themes-banner {
370
  background: #15a4fa;
371
  color: white;
public/js/admin/additional.js CHANGED
@@ -40,7 +40,7 @@ jQuery(function($) {
40
  $(document).on('click', '.responsive-menu-preview', function(e) {
41
  e.preventDefault();
42
  var form = $('#responsive-menu-form');
43
- form.attr('action', WP_HOME_URL + '?responsive-menu-preview=true');
44
  form.attr('target', '_blank');
45
  form.submit();
46
  form.attr('action', '');
@@ -48,4 +48,23 @@ jQuery(function($) {
48
  });
49
  /* <-- End Preview Options */
50
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  });
40
  $(document).on('click', '.responsive-menu-preview', function(e) {
41
  e.preventDefault();
42
  var form = $('#responsive-menu-form');
43
+ form.attr('action', WP_RMP.HOME_URL + '?responsive-menu-preview=true');
44
  form.attr('target', '_blank');
45
  form.submit();
46
  form.attr('action', '');
48
  });
49
  /* <-- End Preview Options */
50
 
51
+ /** Move to new version */
52
+ jQuery('#rmp-rollback-version').click( function(e) {
53
+ e.preventDefault();
54
+ jQuery.ajax({
55
+ url: ajaxurl,
56
+ data: { action : 'rmp_switch_version' },
57
+ type: 'POST',
58
+ dataType: 'json',
59
+ error: function( error ) {
60
+ jQuery(this).prop('disabled', false);
61
+ },
62
+ success: function( response ) {
63
+ if ( response.data.redirect ) {
64
+ location.href = response.data.redirect;
65
+ }
66
+ }
67
+ });
68
+ });
69
+
70
  });
public/js/admin/base.js CHANGED
@@ -193,7 +193,7 @@ jQuery(function($) {
193
  /* --> Theme Selector Script */
194
  $('#responsive-menu-menu-theme').on('changed.bs.select', function() {
195
  var selected_theme_key = $(this).val();
196
- var preview_image_url = THEMES_FOLDER_URL + selected_theme_key + '/preview.png';
197
  var $preview_image = $('#responsive-menu-theme-preview');
198
 
199
  $preview_image.attr('src', preview_image_url);
193
  /* --> Theme Selector Script */
194
  $('#responsive-menu-menu-theme').on('changed.bs.select', function() {
195
  var selected_theme_key = $(this).val();
196
+ var preview_image_url = WP_RMP_THEME.FOLDER_URL + selected_theme_key + '/preview.png';
197
  var $preview_image = $('#responsive-menu-theme-preview');
198
 
199
  $preview_image.attr('src', preview_image_url);
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: expresstech,responsivemenu
3
  Tags: responsive, mega menu, navigation, mobile, hamburger
4
  Requires at least: 3.6
5
- Tested up to: 5.5
6
- Stable tag: 3.1.30
7
- Requires PHP: 5.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -111,6 +111,16 @@ To view our FAQ, please go to [https://responsive.menu/faq/](https://responsive.
111
 
112
  == Changelog ==
113
 
 
 
 
 
 
 
 
 
 
 
114
  = 3.1.30 (23rd July 2020) =
115
  * Bug: Fixed menu arial-label
116
 
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.0
7
+ Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
111
 
112
  == Changelog ==
113
 
114
+ = 4.0.0 (7th Dec 2020) =
115
+ * New and improved admin user interface
116
+ * Added menu customizer with live preview features
117
+ * Added feature to create menu templates
118
+ * Improved menu themes
119
+ * Added support for multiple menus
120
+ * Added support for WordPress core version 5.6 and PHP 8.0
121
+ * Added support for twenty twenty one theme
122
+ * Fixed several bugs in older version
123
+
124
  = 3.1.30 (23rd July 2020) =
125
  * Bug: Fixed menu arial-label
126
 
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: 3.1.30
8
  Author: ExpressTech
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
@@ -12,6 +12,13 @@ License: GPL2
12
  Tags: responsive, menu, responsive menu, mega menu, max mega menu, max menu
13
  */
14
 
 
 
 
 
 
 
 
15
  add_action('admin_init', 'check_responsive_menu_php_version');
16
  function check_responsive_menu_php_version() {
17
  if(version_compare(PHP_VERSION, '5.4', '<')):
@@ -32,6 +39,8 @@ function responsive_menu_deactivation_text() {
32
  if(version_compare(PHP_VERSION, '5.4', '<'))
33
  return;
34
 
 
 
35
  add_action( 'admin_notices', 'og_pro_deactivate_pro_version_notice');
36
 
37
  function og_pro_deactivate_pro_version_notice() {
@@ -60,7 +69,6 @@ function og_deactivate_responsive_menu_pro() {
60
  //to check weather another plugin is acivated or not.
61
  register_activation_hook( __FILE__, 'og_deactivate_responsive_menu_pro');
62
 
63
-
64
  include dirname(__FILE__) . '/vendor/autoload.php';
65
  include dirname(__FILE__) . '/config/default_options.php';
66
  include dirname(__FILE__) . '/config/services.php';
@@ -68,3 +76,117 @@ include dirname(__FILE__) . '/config/wp/scripts.php';
68
  include dirname(__FILE__) . '/config/routing.php';
69
  include dirname(__FILE__) . '/migration.php';
70
  include dirname(__FILE__) . '/config/polylang.php';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  Plugin Name: Responsive Menu
5
  Plugin URI: https://expresstech.io
6
  Description: Highly Customisable Responsive Menu Plugin for WordPress
7
+ Version: 4.0.0
8
  Author: ExpressTech
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
12
  Tags: responsive, menu, responsive menu, mega menu, max mega menu, max menu
13
  */
14
 
15
+ /**
16
+ * Constant as plugin version.
17
+ */
18
+ if ( ! defined( 'RMP_PLUGIN_VERSION' ) ) {
19
+ define( 'RMP_PLUGIN_VERSION', '4.0.0' );
20
+ }
21
+
22
  add_action('admin_init', 'check_responsive_menu_php_version');
23
  function check_responsive_menu_php_version() {
24
  if(version_compare(PHP_VERSION, '5.4', '<')):
39
  if(version_compare(PHP_VERSION, '5.4', '<'))
40
  return;
41
 
42
+ if ( empty( get_option( 'is_rmp_new_version') ) && ! empty( get_option('responsive_menu_version') ) ) {
43
+
44
  add_action( 'admin_notices', 'og_pro_deactivate_pro_version_notice');
45
 
46
  function og_pro_deactivate_pro_version_notice() {
69
  //to check weather another plugin is acivated or not.
70
  register_activation_hook( __FILE__, 'og_deactivate_responsive_menu_pro');
71
 
 
72
  include dirname(__FILE__) . '/vendor/autoload.php';
73
  include dirname(__FILE__) . '/config/default_options.php';
74
  include dirname(__FILE__) . '/config/services.php';
76
  include dirname(__FILE__) . '/config/routing.php';
77
  include dirname(__FILE__) . '/migration.php';
78
  include dirname(__FILE__) . '/config/polylang.php';
79
+
80
+ } else {
81
+
82
+ // If this file called directly then abort.
83
+ if ( ! defined( 'WPINC' ) ) {
84
+ die;
85
+ }
86
+
87
+ /**
88
+ * Constant as plugin file.
89
+ */
90
+ if ( ! defined( 'RMP_PLUGIN_FILE' ) ) {
91
+ define('RMP_PLUGIN_FILE', plugin_dir_path( __FILE__ ) . 'responsive-menu.php');
92
+ }
93
+
94
+ /**
95
+ * Constant as dir of plugin.
96
+ */
97
+ if ( ! defined( 'RMP_PLUGIN_DIR_NAME' ) ) {
98
+ define( 'RMP_PLUGIN_DIR_NAME', untrailingslashit ( dirname( plugin_basename( __FILE__ ) ) ) );
99
+ }
100
+
101
+ /**
102
+ * Constant as plugin path.
103
+ */
104
+ if ( ! defined( 'RMP_PLUGIN_PATH' ) ) {
105
+ define( 'RMP_PLUGIN_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
106
+ }
107
+
108
+ /**
109
+ * Constant as plugin URL.
110
+ */
111
+ if ( ! defined( 'RMP_PLUGIN_URL' ) ) {
112
+ define( 'RMP_PLUGIN_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
113
+ }
114
+
115
+ /**
116
+ * Constant as URI of assets build.
117
+ */
118
+ if ( ! defined( 'RMP_PLUGIN_BUILD_URI' ) ) {
119
+ define( 'RMP_PLUGIN_BUILD_URI', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/assets/build' );
120
+ }
121
+
122
+ /**
123
+ * Constant as dir of assets build.
124
+ */
125
+ if ( ! defined( 'RMP_PLUGIN_BUILD_DIR' ) ) {
126
+ define( 'RMP_PLUGIN_BUILD_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/assets/build' );
127
+ }
128
+
129
+ /**
130
+ * Constant as path of template file.
131
+ */
132
+ if ( ! defined( 'RMP_PLUGIN_TEMPLATE_PATH' ) ) {
133
+ define( 'RMP_PLUGIN_TEMPLATE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/templates/' );
134
+ }
135
+
136
+ if ( ! defined( 'RMP_PLUGIN_PATH_V4' ) ) {
137
+ define ( 'RMP_PLUGIN_PATH_V4', RMP_PLUGIN_PATH . '/v4.0.0' );
138
+ }
139
+
140
+ if ( ! defined( 'RMP_PLUGIN_URL_V4' ) ) {
141
+ define ( 'RMP_PLUGIN_URL_V4', RMP_PLUGIN_URL . '/v4.0.0' );
142
+ }
143
+
144
+ /** Include the required files only*/
145
+ require_once RMP_PLUGIN_PATH_V4 . '/inc/helpers/autoloader.php';
146
+ require_once RMP_PLUGIN_PATH_V4 . '/inc/helpers/custom-functions.php';
147
+ require_once RMP_PLUGIN_PATH_V4 . '/inc/helpers/default-options.php';
148
+ require_once RMP_PLUGIN_PATH_V4 . '/libs/scssphp/vendor/autoload.php';
149
+
150
+ /**
151
+ * To load plugin manifest class.
152
+ *
153
+ * @return void
154
+ */
155
+ function responsive_menu_features_plugin_loader() {
156
+ \RMP\Features\Inc\Plugin::get_instance();
157
+ }
158
+
159
+ responsive_menu_features_plugin_loader();
160
+
161
+ // Active and de-active plugin hook.
162
+ register_activation_hook( __FILE__, 'responsive_menu_plugin_activation' );
163
+ register_deactivation_hook( __FILE__, 'responsive_menu_plugin_deactivation' );
164
+
165
+ /**
166
+ * Activation of plugin.
167
+ *
168
+ * @return void
169
+ */
170
+ function responsive_menu_plugin_activation() {
171
+
172
+ $plugin = 'responsive-menu-pro/responsive-menu-pro.php';
173
+
174
+ // Check if responsive menu (paid version) is activate then deactivate it.
175
+ if( is_plugin_active( $plugin ) ) {
176
+ deactivate_plugins( $plugin );
177
+ set_transient( 'og-admin-notice-activation-pro', true, 5 );
178
+ }
179
+
180
+ flush_rewrite_rules();
181
+ }
182
+
183
+ /**
184
+ * Deactivation of plugin.
185
+ *
186
+ * @return void
187
+ */
188
+ function responsive_menu_plugin_deactivation() {
189
+ flush_rewrite_rules();
190
+ }
191
+
192
+ }
v4.0.0/.babelrc ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ {
2
+ "presets": [ "@babel/preset-env" ]
3
+ }
v4.0.0/.distignore ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .gitignore
2
+ yarn.lock
3
+ webpack.config.js
4
+ .vscode/
5
+ .stylelintrc
6
+ postcss.config.js
7
+ _phpcs.xml
8
+ package.json
9
+ npm-debug.log
10
+ node_modules/
11
+ .eslintrc.json
12
+ .eslintignore
13
+ .editorconfig
14
+ .babelrc
15
+ ~/.vscode-root/
16
+ readme.md
17
+ readme.txt
18
+ yarn-error.log
19
+ .distignore
20
+ bin/
v4.0.0/.editorconfig ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file is for unifying the coding style for different editors and IDEs
2
+ # editorconfig.org
3
+ #
4
+ # Indent Brace Style:
5
+ # https://en.wikipedia.org/wiki/Indent_style#Placement_of_braces
6
+
7
+ root = true
8
+
9
+ [*]
10
+ end_of_line = lf
11
+ charset = utf-8
12
+ trim_trailing_whitespace = true
13
+ insert_final_newline = true
14
+
15
+ [**.js]
16
+ indent_style = tab
17
+ indent_size = 4
18
+ spaces_around_brackets = both
19
+ indent_brace_style = K&R
20
+
21
+ [**.css]
22
+ indent_style = tab
23
+ indent_size = 4
24
+
25
+ [**.scss]
26
+ indent_style = tab
27
+ indent_size = 4
28
+
29
+ [**.php]
30
+ indent_style = tab
31
+ indent_size = 4
32
+ spaces_around_brackets = both
33
+ indent_brace_style = K&R
34
+
35
+ [**.html]
36
+ indent_style = tab
37
+ indent_size = 4
v4.0.0/.eslintignore ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ **/*.min.js
2
+ **/node_modules/**
3
+ **/vendor/**
4
+ **/build/**
v4.0.0/.eslintrc.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "extends": "wordpress",
3
+ "parserOptions": {
4
+ "ecmaVersion": 6,
5
+ "ecmaFeatures": {
6
+ "jsx": true,
7
+ "arrowFunctions": true,
8
+ "blockBindings": true,
9
+ "classes": true,
10
+ "defaultParams": true,
11
+ "modules": true
12
+ },
13
+ "sourceType": "module"
14
+ },
15
+ "env": {
16
+ "es6": true,
17
+ "browser": true,
18
+ "node": true,
19
+ "commonjs": true,
20
+ "jquery": true
21
+ },
22
+ "rules": {
23
+ "camelcase": [1],
24
+ "space-in-parens": [1, "always"],
25
+ "no-trailing-spaces": [1],
26
+ "spaced-comment": [0],
27
+ "padded-blocks": [0],
28
+ "prefer-template": [0],
29
+ "max-len": [0],
30
+ "no-else-return": [0],
31
+ "func-names": [0],
32
+ "object-shorthand": [0],
33
+ "indent": ["error", "tab"],
34
+ "space-before-function-paren": 0,
35
+ "no-tabs": 0,
36
+ "prefer-destructuring": 0,
37
+ "no-undef": 0,
38
+ "no-param-reassign": 0
39
+ }
40
+ }
v4.0.0/.gitignore ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ .idea/
2
+ .vscode/
3
+ \~/.vscode-root
4
+ /node_modules
5
+ npm-debug.log
6
+ node_modules
7
+ *.DS_Store
8
+ .DS_Store
v4.0.0/.stylelintrc ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "ignoreFiles": "",
3
+ "rules": {
4
+ "at-rule-empty-line-before": null,
5
+ "block-no-empty": true,
6
+ "color-hex-case": "lower",
7
+ "color-no-invalid-hex": true,
8
+ "comment-no-empty": true,
9
+ "declaration-block-no-shorthand-property-overrides": true,
10
+ "declaration-colon-space-before": "never",
11
+ "declaration-no-important": true,
12
+ "font-family-name-quotes": "always-where-recommended",
13
+ "font-weight-notation": "numeric",
14
+ "function-url-quotes": "always",
15
+ "indentation": "tab",
16
+ "max-empty-lines": 1,
17
+ "no-missing-end-of-source-newline": true,
18
+ "number-leading-zero": "always",
19
+ "property-case": "lower",
20
+ "rule-empty-line-before": null,
21
+ "selector-combinator-space-after": "always",
22
+ "selector-list-comma-newline-after": null,
23
+ "selector-max-specificity": "0,3,1",
24
+ "selector-pseudo-element-case": "lower",
25
+ "selector-pseudo-element-colon-notation": "double",
26
+ "unit-case": "lower",
27
+ "unit-no-unknown": true
28
+ }
29
+ }
v4.0.0/assets/admin/fonts/product-sans/Product Sans Bold Italic.ttf ADDED
Binary file
v4.0.0/assets/admin/fonts/product-sans/Product Sans Bold.ttf ADDED
Binary file
v4.0.0/assets/admin/fonts/product-sans/Product Sans Italic.ttf ADDED
Binary file
v4.0.0/assets/admin/fonts/product-sans/Product Sans Medium.ttf ADDED
Binary file
v4.0.0/assets/admin/fonts/product-sans/Product Sans Regular.ttf ADDED
Binary file
v4.0.0/assets/admin/fonts/product-sans/google-product-sans.jpg ADDED
Binary file
v4.0.0/assets/admin/icons/svg/advanced.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="16" height="15" viewBox="0 0 16 15" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12.5 9.74414V11.9941H10.25V9.74414H12.5ZM12.5 8.25H10.25C9.83984 8.25 9.48828 8.39648 9.19531 8.68945C8.90234 8.98242 8.75586 9.33398 8.75586 9.74414V11.9941C8.75586 12.416 8.90234 12.7734 9.19531 13.0664C9.48828 13.3594 9.83984 13.5059 10.25 13.5059H12.5C12.9102 13.5059 13.2617 13.3594 13.5547 13.0664C13.8477 12.7734 13.9941 12.416 13.9941 11.9941V9.74414C13.9941 9.33398 13.8477 8.98242 13.5547 8.68945C13.2617 8.39648 12.9102 8.25 12.5 8.25ZM5.75 1.5V5.24414H2.00586V1.5H5.75ZM5.75 0.00585938H2.00586C1.58398 0.00585938 1.22656 0.152344 0.933594 0.445312C0.640625 0.738281 0.494141 1.08984 0.494141 1.5V5.24414C0.494141 5.66602 0.640625 6.02344 0.933594 6.31641C1.22656 6.60938 1.58398 6.75586 2.00586 6.75586H5.75C6.16016 6.75586 6.51172 6.60938 6.80469 6.31641C7.09766 6.02344 7.24414 5.66602 7.24414 5.24414V1.5C7.24414 1.08984 7.09766 0.738281 6.80469 0.445312C6.51172 0.152344 6.16016 0.00585938 5.75 0.00585938ZM13.9941 1.5V5.24414H10.25V1.5H13.9941ZM13.9941 0.00585938H10.25C9.83984 0.00585938 9.48828 0.152344 9.19531 0.445312C8.90234 0.738281 8.75586 1.08984 8.75586 1.5V5.24414C8.75586 5.66602 8.90234 6.02344 9.19531 6.31641C9.48828 6.60938 9.83984 6.75586 10.25 6.75586H13.9941C14.416 6.75586 14.7734 6.60938 15.0664 6.31641C15.3594 6.02344 15.5059 5.66602 15.5059 5.24414V1.5C15.5059 1.08984 15.3594 0.738281 15.0664 0.445312C14.7734 0.152344 14.416 0.00585938 13.9941 0.00585938ZM5.75 9.74414V13.5059H2.00586V9.74414H5.75ZM5.75 8.25H2.00586C1.58398 8.25 1.22656 8.39648 0.933594 8.68945C0.640625 8.98242 0.494141 9.33398 0.494141 9.74414V13.5059C0.494141 13.916 0.640625 14.2676 0.933594 14.5605C1.22656 14.8535 1.58398 15 2.00586 15H5.75C6.16016 15 6.51172 14.8535 6.80469 14.5605C7.09766 14.2676 7.24414 13.916 7.24414 13.5059V9.74414C7.24414 9.33398 7.09766 8.98242 6.80469 8.68945C6.51172 8.39648 6.16016 8.25 5.75 8.25Z" fill="#56606D"/>
3
+ </svg>
v4.0.0/assets/admin/icons/svg/container.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M11.1309 15H2.86914C2.1543 15 1.53906 14.7422 1.02344 14.2266C0.507812 13.7109 0.25 13.0957 0.25 12.3809V2.625C0.25 1.89844 0.507812 1.2832 1.02344 0.779297C1.53906 0.263672 2.1543 0.00585938 2.86914 0.00585938H11.1309C11.8457 0.00585938 12.4609 0.263672 12.9766 0.779297C13.4922 1.2832 13.75 1.89844 13.75 2.625V12.3809C13.75 13.0957 13.4922 13.7109 12.9766 14.2266C12.4609 14.7422 11.8457 15 11.1309 15ZM2.86914 1.5C2.56445 1.5 2.30078 1.61133 2.07812 1.83398C1.85547 2.05664 1.74414 2.32031 1.74414 2.625V12.3809C1.74414 12.6855 1.85547 12.9492 2.07812 13.1719C2.30078 13.3945 2.56445 13.5059 2.86914 13.5059H11.1309C11.4355 13.5059 11.6992 13.3945 11.9219 13.1719C12.1445 12.9492 12.2559 12.6855 12.2559 12.3809V2.625C12.2559 2.32031 12.1445 2.05664 11.9219 1.83398C11.6992 1.61133 11.4355 1.5 11.1309 1.5H2.86914ZM10.5684 10.5C10.5684 10.3477 10.5098 10.2188 10.3926 10.1133C10.2871 9.99609 10.1582 9.9375 10.0059 9.9375H3.99414C3.8418 9.9375 3.70703 9.99609 3.58984 10.1133C3.48438 10.2188 3.43164 10.3477 3.43164 10.5C3.43164 10.6523 3.48438 10.7871 3.58984 10.9043C3.70703 11.0098 3.8418 11.0625 3.99414 11.0625H10.0059C10.1582 11.0625 10.2871 11.0098 10.3926 10.9043C10.5098 10.7871 10.5684 10.6523 10.5684 10.5ZM10.5684 7.49414C10.5684 7.3418 10.5098 7.21289 10.3926 7.10742C10.2871 6.99023 10.1582 6.93164 10.0059 6.93164H3.99414C3.8418 6.93164 3.70703 6.99023 3.58984 7.10742C3.48438 7.21289 3.43164 7.3418 3.43164 7.49414C3.43164 7.6582 3.48438 7.79297 3.58984 7.89844C3.70703 8.00391 3.8418 8.05664 3.99414 8.05664H10.0059C10.1582 8.05664 10.2871 8.00391 10.3926 7.89844C10.5098 7.79297 10.5684 7.6582 10.5684 7.49414ZM10.5684 4.50586C10.5684 4.3418 10.5098 4.20703 10.3926 4.10156C10.2871 3.99609 10.1582 3.94336 10.0059 3.94336H3.99414C3.8418 3.94336 3.70703 3.99609 3.58984 4.10156C3.48438 4.20703 3.43164 4.3418 3.43164 4.50586C3.43164 4.6582 3.48438 4.79297 3.58984 4.91016C3.70703 5.01562 3.8418 5.06836 3.99414 5.06836H10.0059C10.1582 5.06836 10.2871 5.01562 10.3926 4.91016C10.5098 4.79297 10.5684 4.6582 10.5684 4.50586Z" fill="#56606D"/>
3
+ </svg>
v4.0.0/assets/admin/icons/svg/desktop.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M15.9512 0.673828H4.04883C3.16081 0.673828 2.40169 0.988932 1.77148 1.61914C1.14128 2.23503 0.826172 2.98698 0.826172 3.875V12.125C0.826172 13.013 1.14128 13.7721 1.77148 14.4023C2.40169 15.0182 3.16081 15.3262 4.04883 15.3262H9.07617V17.1738H6.32617C6.08268 17.1738 5.86784 17.2669 5.68164 17.4531C5.50977 17.625 5.42383 17.8327 5.42383 18.0762C5.42383 18.334 5.50977 18.556 5.68164 18.7422C5.86784 18.9141 6.08268 19 6.32617 19H13.6738C13.9173 19 14.125 18.9141 14.2969 18.7422C14.4831 18.556 14.5762 18.334 14.5762 18.0762C14.5762 17.8327 14.4831 17.625 14.2969 17.4531C14.125 17.2669 13.9173 17.1738 13.6738 17.1738H10.9238V15.3262H15.9512C16.8392 15.3262 17.5983 15.0182 18.2285 14.4023C18.8587 13.7721 19.1738 13.013 19.1738 12.125V3.875C19.1738 2.98698 18.8587 2.23503 18.2285 1.61914C17.5983 0.988932 16.8392 0.673828 15.9512 0.673828ZM17.3262 12.125C17.3262 12.4974 17.1901 12.8197 16.918 13.0918C16.6602 13.3639 16.3379 13.5 15.9512 13.5H4.04883C3.66211 13.5 3.33268 13.3639 3.06055 13.0918C2.80273 12.8197 2.67383 12.4974 2.67383 12.125V3.875C2.67383 3.5026 2.80273 3.18034 3.06055 2.9082C3.33268 2.63607 3.66211 2.5 4.04883 2.5H15.9512C16.3379 2.5 16.6602 2.63607 16.918 2.9082C17.1901 3.18034 17.3262 3.5026 17.3262 3.875V12.125ZM7.76562 3.83203C7.83724 3.90365 7.88737 3.98242 7.91602 4.06836C7.95898 4.13997 7.98047 4.22591 7.98047 4.32617C7.98047 4.42643 7.95898 4.51953 7.91602 4.60547C7.88737 4.67708 7.83724 4.7487 7.76562 4.82031L5.01562 7.57031C4.95833 7.6276 4.88672 7.67057 4.80078 7.69922C4.72917 7.72786 4.64323 7.74219 4.54297 7.74219C4.35677 7.74219 4.19206 7.67773 4.04883 7.54883C3.91992 7.41992 3.85547 7.25521 3.85547 7.05469C3.85547 6.96875 3.86979 6.88997 3.89844 6.81836C3.94141 6.73242 3.99154 6.65365 4.04883 6.58203L6.79883 3.83203C6.85612 3.77474 6.92773 3.73177 7.01367 3.70312C7.09961 3.66016 7.19271 3.63867 7.29297 3.63867C7.37891 3.63867 7.46484 3.66016 7.55078 3.70312C7.63672 3.73177 7.70833 3.77474 7.76562 3.83203Z" fill="white"/>
3
+ </svg>
v4.0.0/assets/admin/icons/svg/dropdowns.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="18" height="17" viewBox="0 0 18 17" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M9 16.6504C8.08594 16.6387 7.18359 16.5742 6.29297 16.457C5.41406 16.3516 4.55273 16.1934 3.70898 15.9824L3.86719 16C3.30469 15.8242 2.8125 15.5312 2.39062 15.1211C1.98047 14.7109 1.6875 14.2305 1.51172 13.6797L1.49414 13.6445C1.29492 12.8711 1.13672 12.0508 1.01953 11.1836C0.914062 10.3047 0.861328 9.4082 0.861328 8.49414C0.861328 7.58008 0.914062 6.68359 1.01953 5.80469C1.13672 4.92578 1.30664 4.06445 1.5293 3.2207L1.49414 3.36133C1.68164 2.79883 1.98047 2.3125 2.39062 1.90234C2.80078 1.48047 3.28125 1.18164 3.83203 1.00586L3.84961 0.988281H3.86719C4.62891 0.789062 5.44336 0.636719 6.31055 0.53125C7.18945 0.414063 8.08594 0.355469 9 0.355469C9.91406 0.355469 10.8105 0.414063 11.6895 0.53125C12.5801 0.648437 13.4473 0.8125 14.291 1.02344L14.1328 0.988281C14.6953 1.17578 15.1816 1.47461 15.5918 1.88477C16.0137 2.29492 16.3125 2.77539 16.4883 3.32617L16.5059 3.34375C16.7051 4.11719 16.8574 4.94336 16.9629 5.82227C17.0801 6.68945 17.1387 7.58008 17.1387 8.49414C17.1387 9.4082 17.0801 10.3105 16.9629 11.2012C16.8574 12.0801 16.6934 12.9414 16.4707 13.7852L16.5059 13.6445C16.3184 14.207 16.0195 14.6934 15.6094 15.1035C15.1992 15.5137 14.7188 15.8125 14.168 16H14.1504C13.377 16.1992 12.5508 16.3516 11.6719 16.457C10.8047 16.5742 9.91406 16.6328 9 16.6328V16.6504ZM4.23633 2.44727C3.93164 2.56445 3.66797 2.73438 3.44531 2.95703C3.22266 3.16797 3.05859 3.41992 2.95312 3.71289V3.73047C2.76562 4.44531 2.61914 5.20703 2.51367 6.01562C2.4082 6.82422 2.35547 7.65039 2.35547 8.49414C2.35547 9.34961 2.4082 10.1875 2.51367 11.0078C2.61914 11.8281 2.77734 12.6309 2.98828 13.416L2.95312 13.2754C3.05859 13.5684 3.22266 13.8262 3.44531 14.0488C3.66797 14.2715 3.92578 14.4355 4.21875 14.541L4.23633 14.5586C4.95117 14.7461 5.71289 14.8926 6.52148 14.998C7.33008 15.0918 8.15625 15.1387 9 15.1387C9.84375 15.1387 10.6758 15.0859 11.4961 14.9805C12.3281 14.875 13.1367 14.7227 13.9219 14.5234L13.7812 14.541C14.0742 14.4355 14.332 14.2715 14.5547 14.0488C14.7773 13.8262 14.9414 13.5684 15.0469 13.2754C15.2344 12.5488 15.3809 11.7871 15.4863 10.9902C15.5918 10.1816 15.6445 9.34961 15.6445 8.49414C15.6445 7.65039 15.5918 6.81836 15.4863 5.99805C15.3809 5.17773 15.2227 4.375 15.0117 3.58984L15.0469 3.73047C14.9414 3.42578 14.7773 3.16797 14.5547 2.95703C14.332 2.73438 14.0742 2.56445 13.7812 2.44727H13.7637C13.0488 2.25977 12.2871 2.11328 11.4785 2.00781C10.6699 1.90234 9.84375 1.84961 9 1.84961C8.15625 1.84961 7.32422 1.90234 6.50391 2.00781C5.68359 2.11328 4.88086 2.27148 4.0957 2.48242L4.23633 2.44727ZM9.52734 10.3398L12.1465 7.7207C12.2168 7.65039 12.2695 7.57422 12.3047 7.49219C12.3398 7.39844 12.3574 7.29883 12.3574 7.19336C12.3574 6.99414 12.2812 6.82422 12.1289 6.68359C11.9883 6.53125 11.8184 6.45508 11.6191 6.45508C11.5137 6.45508 11.4141 6.47266 11.3203 6.50781C11.2383 6.54297 11.1621 6.5957 11.0918 6.66602L9 8.75781L6.9082 6.66602C6.83789 6.58398 6.75586 6.52539 6.66211 6.49023C6.56836 6.44336 6.46875 6.41992 6.36328 6.41992C6.15234 6.41992 5.9707 6.49609 5.81836 6.64844C5.67773 6.78906 5.60742 6.96484 5.60742 7.17578C5.60742 7.28125 5.625 7.38086 5.66016 7.47461C5.70703 7.56836 5.76562 7.65039 5.83594 7.7207L8.47266 10.3398C8.54297 10.4102 8.61914 10.4688 8.70117 10.5156C8.79492 10.5508 8.89453 10.5684 9 10.5684C9.10547 10.5684 9.19922 10.5508 9.28125 10.5156C9.375 10.4688 9.45703 10.4102 9.52734 10.3398Z" fill="#56606D"/>
3
+ </svg>
v4.0.0/assets/admin/icons/svg/general.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="18" height="17" viewBox="0 0 18 17" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M6.8418 16.9941C6.80273 16.9941 6.77018 16.9941 6.74414 16.9941C6.7181 16.9941 6.69206 16.9941 6.66602 16.9941C6.37956 16.9811 6.11263 16.929 5.86523 16.8379C5.61784 16.7467 5.38997 16.623 5.18164 16.4668L3.63867 15.334C3.32617 15.0866 3.07878 14.7871 2.89648 14.4355C2.71419 14.071 2.62305 13.6803 2.62305 13.2637C2.62305 12.9772 2.66211 12.7103 2.74023 12.4629C2.83138 12.2025 2.94857 11.9681 3.0918 11.7598C3.13086 11.7077 3.1569 11.6491 3.16992 11.584C3.19596 11.5189 3.20898 11.4473 3.20898 11.3691C3.20898 11.3301 3.20247 11.291 3.18945 11.252C3.18945 11.2129 3.18294 11.1738 3.16992 11.1348L3.11133 11.0176C3.09831 10.9395 3.06576 10.8678 3.01367 10.8027C2.97461 10.7376 2.92904 10.6855 2.87695 10.6465H2.85742C2.83138 10.6465 2.79883 10.64 2.75977 10.627C2.73372 10.6139 2.70117 10.6074 2.66211 10.6074H2.68164C2.16081 10.4251 1.73112 10.1126 1.39258 9.66992C1.06706 9.21419 0.904297 8.70638 0.904297 8.14648C0.904297 8.00326 0.917318 7.86654 0.943359 7.73633C0.969401 7.5931 1.00195 7.45638 1.04102 7.32617V7.3457L1.64648 5.41211C1.78971 4.87826 2.07617 4.44206 2.50586 4.10352C2.94857 3.76497 3.45638 3.5957 4.0293 3.5957C4.17253 3.5957 4.30924 3.60872 4.43945 3.63477C4.56966 3.64779 4.69987 3.68034 4.83008 3.73242L4.81055 3.71289C4.84961 3.72591 4.88216 3.73893 4.9082 3.75195C4.93424 3.75195 4.9668 3.75195 5.00586 3.75195C5.07096 3.75195 5.13607 3.74544 5.20117 3.73242C5.26628 3.70638 5.32487 3.67383 5.37695 3.63477L5.47461 3.55664C5.53971 3.50456 5.5918 3.43945 5.63086 3.36133C5.66992 3.27018 5.68945 3.17904 5.68945 3.08789V2.91211C5.68945 2.19596 5.93685 1.59049 6.43164 1.0957C6.92643 0.587891 7.52539 0.333984 8.22852 0.333984H10.1621C10.5137 0.333984 10.8392 0.399089 11.1387 0.529297C11.4512 0.659505 11.7181 0.841797 11.9395 1.07617C12.1738 1.31055 12.3561 1.58398 12.4863 1.89648C12.6296 2.20898 12.7012 2.54102 12.7012 2.89258C12.7012 2.9056 12.7012 2.91862 12.7012 2.93164V3.12695C12.7012 3.12695 12.7012 3.13346 12.7012 3.14648C12.7012 3.22461 12.7142 3.30273 12.7402 3.38086C12.7793 3.44596 12.8249 3.49805 12.877 3.53711H12.8965L12.9551 3.5957C12.9941 3.62174 13.0397 3.64779 13.0918 3.67383C13.1439 3.68685 13.196 3.69336 13.248 3.69336C13.2741 3.69336 13.3001 3.69336 13.3262 3.69336C13.3522 3.68034 13.3783 3.67383 13.4043 3.67383L13.6582 3.57617C13.7754 3.53711 13.8991 3.51107 14.0293 3.49805C14.1595 3.47201 14.2962 3.45898 14.4395 3.45898C14.9993 3.45898 15.4941 3.62174 15.9238 3.94727C16.3665 4.25977 16.6725 4.66992 16.8418 5.17773V5.19727C16.8418 5.19727 16.8418 5.21029 16.8418 5.23633C16.8548 5.26237 16.8613 5.27539 16.8613 5.27539L17.4668 7.15039C17.4928 7.26758 17.5189 7.39128 17.5449 7.52148C17.571 7.65169 17.584 7.78841 17.584 7.93164C17.584 8.49154 17.4212 8.99284 17.0957 9.43555C16.7702 9.87825 16.36 10.1908 15.8652 10.373H15.8457L15.6895 10.4316C15.5983 10.4577 15.5137 10.5098 15.4355 10.5879C15.3704 10.653 15.3249 10.7311 15.2988 10.8223V10.8418C15.2858 10.8678 15.2793 10.9004 15.2793 10.9395C15.2793 10.9655 15.2793 10.9915 15.2793 11.0176C15.2793 11.0827 15.2858 11.1478 15.2988 11.2129C15.3249 11.278 15.3509 11.3366 15.377 11.3887L15.5723 11.6621C15.7155 11.8704 15.8262 12.0983 15.9043 12.3457C15.9824 12.5931 16.0215 12.86 16.0215 13.1465C16.0215 13.5632 15.9303 13.9538 15.748 14.3184C15.5658 14.6699 15.3249 14.9629 15.0254 15.1973L15.0059 15.2168L13.502 16.3691C13.2936 16.5384 13.0592 16.6686 12.7988 16.7598C12.5384 16.8509 12.265 16.8965 11.9785 16.8965C11.5749 16.8965 11.1973 16.8053 10.8457 16.623C10.5072 16.4408 10.2207 16.2064 9.98633 15.9199V15.9004L9.81055 15.666C9.75846 15.6009 9.69336 15.5488 9.61523 15.5098C9.55013 15.4577 9.472 15.4316 9.38086 15.4316C9.30273 15.4316 9.22461 15.4577 9.14648 15.5098C9.08138 15.5488 9.02279 15.5944 8.9707 15.6465V15.666L8.81445 15.9004C8.61914 16.1868 8.37826 16.4212 8.0918 16.6035C7.80534 16.7858 7.49284 16.9095 7.1543 16.9746H7.13477C7.0957 16.9876 7.05013 16.9941 6.99805 16.9941C6.94596 16.9941 6.89388 16.9941 6.8418 16.9941ZM3.0918 8.98633C3.14388 8.98633 3.18945 8.99284 3.22852 9.00586C3.2806 9.00586 3.32617 9.01237 3.36523 9.02539H3.3457C3.68424 9.1556 3.9707 9.35091 4.20508 9.61133C4.43945 9.85872 4.60221 10.1517 4.69336 10.4902V10.5098L4.73242 10.5488C4.77148 10.679 4.80404 10.8158 4.83008 10.959C4.85612 11.0892 4.86914 11.2259 4.86914 11.3691C4.86914 11.6165 4.83008 11.8574 4.75195 12.0918C4.68685 12.3132 4.58919 12.5215 4.45898 12.7168C4.4069 12.7819 4.36133 12.8665 4.32227 12.9707C4.29622 13.0618 4.2832 13.153 4.2832 13.2441C4.2832 13.4004 4.31576 13.5436 4.38086 13.6738C4.44596 13.804 4.53711 13.9147 4.6543 14.0059L6.19727 15.1387C6.26237 15.1908 6.34049 15.2363 6.43164 15.2754C6.52279 15.3014 6.61393 15.3145 6.70508 15.3145C6.7181 15.3145 6.73112 15.321 6.74414 15.334C6.75716 15.334 6.77018 15.334 6.7832 15.334C6.79622 15.334 6.80924 15.334 6.82227 15.334C6.83529 15.334 6.8418 15.334 6.8418 15.334C6.85482 15.334 6.86784 15.334 6.88086 15.334C6.89388 15.334 6.9069 15.334 6.91992 15.334C7.02409 15.3079 7.11523 15.2624 7.19336 15.1973C7.28451 15.1322 7.36263 15.054 7.42773 14.9629L7.60352 14.709C7.81185 14.4225 8.06576 14.1947 8.36523 14.0254C8.67773 13.8561 9.02279 13.7715 9.40039 13.7715C9.76497 13.7715 10.1035 13.8626 10.416 14.0449C10.7285 14.2142 10.9824 14.4355 11.1777 14.709V14.7285L11.2559 14.8457C11.334 14.9368 11.4186 15.0215 11.5098 15.0996C11.6139 15.1647 11.7311 15.2038 11.8613 15.2168C11.8743 15.2168 11.8874 15.2168 11.9004 15.2168C11.9264 15.2168 11.9525 15.2168 11.9785 15.2168C12.0697 15.2168 12.1608 15.2038 12.252 15.1777C12.3431 15.1517 12.4212 15.1061 12.4863 15.041V15.0605L13.9902 13.8887C14.1074 13.7975 14.1986 13.6868 14.2637 13.5566C14.3288 13.4264 14.3613 13.2897 14.3613 13.1465C14.3613 13.0423 14.3418 12.9447 14.3027 12.8535C14.2767 12.7624 14.2376 12.6777 14.1855 12.5996L13.9902 12.3066C13.873 12.1243 13.7754 11.929 13.6973 11.7207C13.6322 11.4993 13.5996 11.265 13.5996 11.0176C13.5996 10.9004 13.6061 10.7897 13.6191 10.6855C13.6452 10.5684 13.6712 10.4577 13.6973 10.3535V10.373C13.8014 10.0085 13.9772 9.69596 14.2246 9.43555C14.485 9.16211 14.791 8.97331 15.1426 8.86914L15.1621 8.84961L15.2988 8.81055C15.4811 8.74544 15.6243 8.63477 15.7285 8.47852C15.8457 8.30924 15.9043 8.12695 15.9043 7.93164C15.9043 7.87956 15.8978 7.83398 15.8848 7.79492C15.8848 7.74284 15.8783 7.69076 15.8652 7.63867L15.2793 5.76367C15.2402 5.64648 15.1816 5.54232 15.1035 5.45117C15.0254 5.34701 14.9342 5.26888 14.8301 5.2168C14.778 5.19076 14.7194 5.17122 14.6543 5.1582C14.5892 5.13216 14.5176 5.11914 14.4395 5.11914C14.4004 5.11914 14.3548 5.12565 14.3027 5.13867C14.2507 5.13867 14.2051 5.15169 14.166 5.17773V5.1582L13.9121 5.25586C13.8079 5.2819 13.6973 5.30794 13.5801 5.33398C13.4759 5.34701 13.3652 5.35352 13.248 5.35352C13.0007 5.35352 12.7663 5.32096 12.5449 5.25586C12.3366 5.17773 12.1413 5.06706 11.959 4.92383L11.8809 4.88477C11.6204 4.67643 11.4121 4.42253 11.2559 4.12305C11.0996 3.82357 11.0215 3.49805 11.0215 3.14648C11.0215 3.13346 11.0215 3.12044 11.0215 3.10742V2.91211C11.0215 2.7819 10.9954 2.6582 10.9434 2.54102C10.9043 2.42383 10.8457 2.32617 10.7676 2.24805C10.6895 2.16992 10.5983 2.11133 10.4941 2.07227C10.39 2.02018 10.2728 1.99414 10.1426 1.99414H8.24805C8.00065 1.99414 7.78581 2.08529 7.60352 2.26758C7.43424 2.43685 7.34961 2.64518 7.34961 2.89258C7.34961 2.89258 7.34961 2.89909 7.34961 2.91211V3.08789C7.34961 3.45247 7.27148 3.79102 7.11523 4.10352C6.97201 4.40299 6.77018 4.6569 6.50977 4.86523L6.39258 4.96289C6.19727 5.10612 5.98242 5.2168 5.74805 5.29492C5.51367 5.37305 5.26628 5.41211 5.00586 5.41211C4.87565 5.41211 4.74544 5.4056 4.61523 5.39258C4.49805 5.36654 4.38086 5.33398 4.26367 5.29492H4.2832C4.24414 5.2819 4.19857 5.27539 4.14648 5.27539C4.10742 5.26237 4.06836 5.25586 4.0293 5.25586C3.96419 5.25586 3.89909 5.26237 3.83398 5.27539C3.76888 5.28841 3.71029 5.30794 3.6582 5.33398C3.56706 5.38607 3.48242 5.45768 3.4043 5.54883C3.33919 5.63997 3.28711 5.74414 3.24805 5.86133L2.62305 7.85352C2.61003 7.9056 2.59701 7.95768 2.58398 8.00977C2.58398 8.04883 2.58398 8.0944 2.58398 8.14648C2.58398 8.32878 2.62956 8.49805 2.7207 8.6543C2.81185 8.79753 2.93555 8.9082 3.0918 8.98633ZM9.24414 11.9941C8.31966 11.9941 7.5319 11.6686 6.88086 11.0176C6.22982 10.3665 5.9043 9.57878 5.9043 8.6543C5.9043 7.74284 6.22982 6.96159 6.88086 6.31055C7.5319 5.65951 8.31966 5.33398 9.24414 5.33398C10.1686 5.33398 10.9564 5.65951 11.6074 6.31055C12.2585 6.96159 12.584 7.74284 12.584 8.6543C12.584 9.57878 12.2585 10.3665 11.6074 11.0176C10.9564 11.6686 10.1686 11.9941 9.24414 11.9941ZM9.24414 6.99414C8.78841 6.99414 8.39779 7.1569 8.07227 7.48242C7.74674 7.80794 7.58398 8.19857 7.58398 8.6543C7.58398 9.12305 7.74674 9.52018 8.07227 9.8457C8.39779 10.1712 8.78841 10.334 9.24414 10.334C9.69987 10.334 10.0905 10.1712 10.416 9.8457C10.7415 9.52018 10.9043 9.12305 10.9043 8.6543C10.9043 8.19857 10.7415 7.80794 10.416 7.48242C10.0905 7.1569 9.69987 6.99414 9.24414 6.99414Z" fill="#56606D"/>
3
+ </svg>
v4.0.0/assets/admin/icons/svg/header.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M13.4102 0.160156H2.58984C2.01693 0.160156 1.52214 0.36849 1.10547 0.785156C0.701823 1.1888 0.5 1.67708 0.5 2.25V13.0898C0.5 13.6628 0.701823 14.151 1.10547 14.5547C1.52214 14.9583 2.01693 15.1602 2.58984 15.1602H13.4102C13.9831 15.1602 14.4714 14.9583 14.875 14.5547C15.2917 14.151 15.5 13.6628 15.5 13.0898V2.25C15.5 1.67708 15.2917 1.1888 14.875 0.785156C14.4714 0.36849 13.9831 0.160156 13.4102 0.160156ZM2.16016 2.25C2.16016 2.13281 2.19922 2.03516 2.27734 1.95703C2.36849 1.87891 2.47266 1.83984 2.58984 1.83984H13.4102C13.5273 1.83984 13.625 1.87891 13.7031 1.95703C13.7943 2.03516 13.8398 2.13281 13.8398 2.25V3.5H2.16016V2.25ZM13.8398 13.0898C13.8398 13.194 13.7943 13.2917 13.7031 13.3828C13.625 13.4609 13.5273 13.5 13.4102 13.5H2.58984C2.47266 13.5 2.36849 13.4609 2.27734 13.3828C2.19922 13.2917 2.16016 13.194 2.16016 13.0898V5.16016H13.8398V13.0898Z" fill="#56606D"/>
3
+ </svg>
v4.0.0/assets/admin/icons/svg/image-placeholder.svg ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svg width="23" height="22" viewBox="0 0 23 22" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g opacity="0.7">
3
+ <path d="M20.97 9.44678L18.2903 19.2319C18.0012 20.2869 16.8815 20.9043 15.7959 20.608L2.22618 16.8974C2.13863 16.8736 2.05317 16.8414 1.9771 16.811C1.08818 16.4491 0.570175 15.5212 0.747891 14.6C0.75259 14.5468 0.766863 14.4955 0.781136 14.4442L3.46096 4.65996C3.74903 3.6049 4.86876 2.98668 5.95437 3.28388L19.5241 6.99355C20.6107 7.28988 21.2589 8.39155 20.97 9.44678Z" fill="#F5F6FA"/>
4
+ <path d="M23 2.15624V13.1771C23 14.3654 22.0366 15.3334 20.8538 15.3334H6.0687C5.97334 15.3334 5.87798 15.3237 5.79204 15.3141C4.79054 15.1896 4.00842 14.3654 3.93209 13.3496C3.92249 13.2921 3.92249 13.2345 3.92249 13.1771V2.15624C3.92249 0.96792 4.88591 0 6.0687 0H20.8538C22.0366 0 23 0.96792 23 2.15624Z" fill="white"/>
5
+ <path d="M9.98455 4.81396C9.98455 5.60166 9.3459 6.24032 8.5582 6.24032C7.77032 6.24032 7.13184 5.60166 7.13184 4.81396C7.13184 4.02626 7.77032 3.3876 8.5582 3.3876C9.3459 3.3876 9.98455 4.02626 9.98455 4.81396Z" fill="#FFC107"/>
6
+ <path d="M21.5736 10.6444V13.0502C21.5736 14.1114 20.8353 14.9768 19.9284 14.9768H8.59141C8.51806 14.9768 8.44558 14.9682 8.37974 14.9597L15.9128 6.14187C16.4098 5.55997 17.2291 5.55997 17.727 6.14187L21.5736 10.6444Z" fill="#DFF6FF"/>
7
+ <path d="M15.5115 14.3801L6.36686 14.6202C6.29704 14.6202 6.22827 14.6135 6.16615 14.6058C5.43785 14.5155 4.86931 13.916 4.81384 13.1772L9.06272 9.6265C9.53378 9.15296 10.3107 9.15296 10.782 9.6265L15.5115 14.3801Z" fill="#DFF6FF"/>
8
+ <path d="M16.9937 21.0388C16.8123 21.0388 16.6271 21.016 16.4436 20.9684L1.59866 17.0272C0.453491 16.714 -0.229043 15.5396 0.0704773 14.4052L1.70237 8.2009C1.80221 7.82012 2.19489 7.58887 2.58072 7.69081C2.96479 7.7898 3.19611 8.17998 3.09539 8.56163L1.46332 14.7669C1.3626 15.1495 1.59199 15.5444 1.97605 15.6491L16.8123 19.5884C17.1934 19.6883 17.587 19.4636 17.6868 19.0877L18.1936 17.0605C18.2897 16.678 18.6794 16.4457 19.0652 16.5391C19.4512 16.6342 19.6864 17.0206 19.5913 17.4031L19.0826 19.4399C18.8262 20.404 17.9508 21.0388 16.9937 21.0388Z" fill="#36BEF7"/>
9
+ <path d="M20.8538 15.3334H6.0687C4.88504 15.3334 3.92249 14.3663 3.92249 13.1771V2.15624C3.92249 0.967043 4.88504 0 6.0687 0H20.8538C22.0375 0 23 0.967043 23 2.15624V13.1771C23 14.3663 22.0375 15.3334 20.8538 15.3334ZM6.0687 1.43749C5.6738 1.43749 5.3533 1.75949 5.3533 2.15624V13.1771C5.3533 13.5739 5.6738 13.8959 6.0687 13.8959H20.8538C21.2487 13.8959 21.5692 13.5739 21.5692 13.1771V2.15624C21.5692 1.75949 21.2487 1.43749 20.8538 1.43749H6.0687Z" fill="#36BEF7"/>
10
+ <path d="M8.64745 6.77518C7.61495 6.77518 6.77527 5.89556 6.77527 4.81394C6.77527 3.73232 7.61495 2.85269 8.64745 2.85269C9.67995 2.85269 10.5195 3.73232 10.5195 4.81394C10.5195 5.89556 9.67995 6.77518 8.64745 6.77518ZM8.64745 4.32358C8.38898 4.32358 8.17936 4.54335 8.17936 4.81394C8.17936 5.08452 8.38898 5.30429 8.64745 5.30429C8.90575 5.30429 9.11537 5.08452 9.11537 4.81394C9.11537 4.54335 8.90575 4.32358 8.64745 4.32358Z" fill="#36BEF7"/>
11
+ <path d="M4.63832 14.2636C4.45508 14.2636 4.27166 14.195 4.1323 14.0571C3.85255 13.782 3.85255 13.3358 4.1323 13.0607L8.44846 8.81637C9.1017 8.174 10.1644 8.174 10.8166 8.81637L11.9711 9.95169L15.5176 5.76547C15.8346 5.39167 16.2997 5.17571 16.7935 5.17296C17.3243 5.1439 17.7541 5.38135 18.0739 5.75051L22.8275 11.2043C23.0853 11.4992 23.0499 11.9443 22.7501 12.1977C22.4493 12.4514 21.9977 12.4166 21.7398 12.1217L16.9844 6.66609C16.9213 6.59181 16.844 6.59559 16.801 6.58235C16.7601 6.58235 16.6807 6.59456 16.6178 6.66781L12.569 11.4476C12.4399 11.5996 12.252 11.6917 12.0514 11.7001C11.847 11.7113 11.6541 11.6343 11.5127 11.4945L9.80354 9.81362C9.6822 9.6943 9.58201 9.6943 9.46066 9.81362L5.14451 14.0571C5.00498 14.195 4.82174 14.2636 4.63832 14.2636Z" fill="#36BEF7"/>
12
+ </g>
13
+ </svg>
v4.0.0/assets/admin/icons/svg/mobile.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="15" height="20" viewBox="0 0 15 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M7.5 5.625C7.5 5.625 7.49251 5.625 7.47754 5.625C7.28288 5.625 7.10319 5.57259 6.93848 5.46777C6.78874 5.34798 6.68392 5.20573 6.62402 5.04102C6.59408 4.98112 6.57161 4.92122 6.55664 4.86133C6.54167 4.80143 6.53418 4.74154 6.53418 4.68164C6.53418 4.68164 6.53418 4.67415 6.53418 4.65918C6.53418 4.62923 6.53418 4.59928 6.53418 4.56934C6.54915 4.53939 6.55664 4.50195 6.55664 4.45703V4.47949C6.57161 4.44954 6.5791 4.4196 6.5791 4.38965C6.59408 4.3597 6.60905 4.32975 6.62402 4.2998C6.639 4.26986 6.64648 4.23991 6.64648 4.20996C6.66146 4.18001 6.68392 4.15007 6.71387 4.12012C6.72884 4.10514 6.74382 4.08268 6.75879 4.05273C6.77376 4.02279 6.79622 4.00033 6.82617 3.98535C6.90104 3.89551 6.99837 3.82812 7.11816 3.7832C7.23796 3.73828 7.36523 3.71582 7.5 3.71582C7.52995 3.71582 7.5599 3.71582 7.58984 3.71582C7.61979 3.71582 7.64974 3.72331 7.67969 3.73828C7.70964 3.73828 7.73958 3.74577 7.76953 3.76074C7.81445 3.76074 7.8444 3.76823 7.85938 3.7832C7.88932 3.79818 7.91927 3.81315 7.94922 3.82812C7.97917 3.8431 8.00911 3.85807 8.03906 3.87305C8.06901 3.88802 8.09147 3.91048 8.10645 3.94043C8.13639 3.9554 8.15885 3.97038 8.17383 3.98535C8.20378 4.00033 8.22624 4.02279 8.24121 4.05273C8.25618 4.08268 8.27116 4.10514 8.28613 4.12012C8.31608 4.15007 8.33105 4.18001 8.33105 4.20996C8.34603 4.23991 8.361 4.26986 8.37598 4.2998C8.39095 4.32975 8.39844 4.3597 8.39844 4.38965C8.41341 4.4196 8.42839 4.44954 8.44336 4.47949C8.44336 4.50944 8.44336 4.53939 8.44336 4.56934C8.45833 4.59928 8.46582 4.62923 8.46582 4.65918C8.46582 4.73405 8.45833 4.80143 8.44336 4.86133C8.42839 4.92122 8.40592 4.98112 8.37598 5.04102C8.361 5.10091 8.33105 5.16081 8.28613 5.2207C8.25618 5.26562 8.21875 5.31055 8.17383 5.35547C8.08398 5.43034 7.97917 5.49772 7.85938 5.55762C7.75456 5.60254 7.63477 5.625 7.5 5.625ZM9.40918 16.1592C9.40918 15.9046 9.31185 15.6875 9.11719 15.5078C8.9375 15.3132 8.72038 15.2158 8.46582 15.2158H6.53418C6.27962 15.2158 6.05501 15.3132 5.86035 15.5078C5.68066 15.6875 5.59082 15.9046 5.59082 16.1592C5.59082 16.4287 5.68066 16.6608 5.86035 16.8555C6.05501 17.0352 6.27962 17.125 6.53418 17.125H8.46582C8.72038 17.125 8.9375 17.0352 9.11719 16.8555C9.31185 16.6608 9.40918 16.4287 9.40918 16.1592ZM14.2158 16.6533V4.1875C14.2158 3.25911 13.8864 2.47298 13.2275 1.8291C12.5687 1.17025 11.7751 0.84082 10.8467 0.84082H4.15332C3.22493 0.84082 2.43132 1.17025 1.77246 1.8291C1.11361 2.47298 0.78418 3.25911 0.78418 4.1875V16.6533C0.78418 17.5667 1.11361 18.3529 1.77246 19.0117C2.43132 19.6706 3.22493 20 4.15332 20H10.8467C11.7751 20 12.5687 19.6706 13.2275 19.0117C13.8864 18.3529 14.2158 17.5667 14.2158 16.6533ZM10.8467 2.75C11.251 2.75 11.5879 2.89225 11.8574 3.17676C12.1419 3.46126 12.2842 3.79818 12.2842 4.1875V16.6533C12.2842 17.0426 12.1419 17.3796 11.8574 17.6641C11.5879 17.9486 11.251 18.0908 10.8467 18.0908H4.15332C3.74902 18.0908 3.40462 17.9486 3.12012 17.6641C2.85059 17.3796 2.71582 17.0426 2.71582 16.6533V4.1875C2.71582 3.79818 2.85059 3.46126 3.12012 3.17676C3.40462 2.89225 3.74902 2.75 4.15332 2.75H10.8467Z" fill="#56606D"/>
3
+ </svg>
v4.0.0/assets/admin/icons/svg/tablet.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="16" height="19" viewBox="0 0 16 19" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12.125 19H3.875C2.98698 19 2.22786 18.6849 1.59766 18.0547C0.981771 17.4245 0.673828 16.6725 0.673828 15.7988V3.875C0.673828 2.98698 0.981771 2.23503 1.59766 1.61914C2.22786 0.988932 2.98698 0.673828 3.875 0.673828H12.125C13.013 0.673828 13.765 0.988932 14.3809 1.61914C15.0111 2.23503 15.3262 2.98698 15.3262 3.875V15.7988C15.3262 16.6725 15.0111 17.4245 14.3809 18.0547C13.765 18.6849 13.013 19 12.125 19ZM3.875 2.5C3.5026 2.5 3.18034 2.63607 2.9082 2.9082C2.63607 3.18034 2.5 3.5026 2.5 3.875V15.7988C2.5 16.1712 2.63607 16.4935 2.9082 16.7656C3.18034 17.0378 3.5026 17.1738 3.875 17.1738H12.125C12.4974 17.1738 12.8197 17.0378 13.0918 16.7656C13.3639 16.4935 13.5 16.1712 13.5 15.7988V3.875C13.5 3.5026 13.3639 3.18034 13.0918 2.9082C12.8197 2.63607 12.4974 2.5 12.125 2.5H3.875ZM8.64453 15.9922C8.73047 15.9062 8.79492 15.806 8.83789 15.6914C8.89518 15.5768 8.92383 15.4622 8.92383 15.3477C8.92383 15.3333 8.92383 15.3262 8.92383 15.3262C8.92383 15.0827 8.83073 14.875 8.64453 14.7031C8.47266 14.5169 8.25781 14.4238 8 14.4238C7.74219 14.4238 7.52018 14.5169 7.33398 14.7031C7.16211 14.875 7.07617 15.0827 7.07617 15.3262C7.07617 15.584 7.16211 15.806 7.33398 15.9922C7.52018 16.1641 7.74219 16.25 8 16.25C8.12891 16.25 8.24349 16.2285 8.34375 16.1855C8.45833 16.1283 8.55859 16.0638 8.64453 15.9922Z" fill="#56606D"/>
3
+ </svg>
v4.0.0/assets/admin/icons/svg/toggle.svg ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <svg width="16" height="11" viewBox="0 0 16 11" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M14.6719 6H1.32812C1.15104 6 0.994792 5.9375 0.859375 5.8125C0.734375 5.67708 0.671875 5.51562 0.671875 5.32812C0.671875 5.15104 0.734375 5 0.859375 4.875C0.994792 4.73958 1.15104 4.67188 1.32812 4.67188H14.6719C14.849 4.67188 15 4.73958 15.125 4.875C15.2604 5 15.3281 5.15104 15.3281 5.32812C15.3281 5.51562 15.2604 5.67708 15.125 5.8125C15 5.9375 14.849 6 14.6719 6ZM15.3281 0.671875C15.3281 0.484375 15.2604 0.328125 15.125 0.203125C15 0.0677083 14.849 0 14.6719 0H1.32812C1.15104 0 0.994792 0.0677083 0.859375 0.203125C0.734375 0.328125 0.671875 0.484375 0.671875 0.671875C0.671875 0.848958 0.734375 1.00521 0.859375 1.14062C0.994792 1.26562 1.15104 1.32812 1.32812 1.32812H14.6719C14.849 1.32812 15 1.26562 15.125 1.14062C15.2604 1.00521 15.3281 0.848958 15.3281 0.671875ZM15.3281 10C15.3281 9.8125 15.2604 9.65625 15.125 9.53125C15 9.39583 14.849 9.32812 14.6719 9.32812H1.32812C1.15104 9.32812 0.994792 9.39583 0.859375 9.53125C0.734375 9.65625 0.671875 9.8125 0.671875 10C0.671875 10.1875 0.734375 10.349 0.859375 10.4844C0.994792 10.6094 1.15104 10.6719 1.32812 10.6719H14.6719C14.849 10.6719 15 10.6094 15.125 10.4844C15.2604 10.349 15.3281 10.1875 15.3281 10Z" fill="#56606D"/>
3
+ </svg>
v4.0.0/assets/admin/js/rmp-admin.js ADDED
@@ -0,0 +1,775 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * This is admin scripts file which contain the admin actions.
3
+ *
4
+ * @version 4.0.0
5
+ *
6
+ * @author Expresstech System
7
+ *
8
+ */
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
+ *
123
+ * @version 4.0.0
124
+ *
125
+ * @fires Click
126
+ */
127
+ jQuery( '#rmp-rollback-version' ).on( 'click', function( e ) {
128
+ e.preventDefault();
129
+
130
+ const version = jQuery( '#rmp-versions' ).val();
131
+
132
+ if ( '3.1.29' === version ) {
133
+ jQuery.ajax( {
134
+ url: rmpObject.ajaxURL,
135
+ data: { action: 'rmp_rollback_version' },
136
+ type: 'POST',
137
+ dataType: 'json',
138
+ error: function( error ) {
139
+ jQuery( this ).prop( 'disabled', false );
140
+ },
141
+ success: function( response ) {
142
+ if ( response.data.redirect ) {
143
+ location.href = response.data.redirect;
144
+ }
145
+ }
146
+ } );
147
+ }
148
+ } );
149
+
150
+ /**
151
+ * Iframe loader and contents show/hide.
152
+ */
153
+ jQuery('#rmp-preview-iframe').on('load', function() {
154
+ jQuery( '#rmp-preview-iframe-loader' ).hide();
155
+ jQuery( '#rmp-menu-update-notification').remove();
156
+ jQuery('#rmp-preview-iframe').show();
157
+ });
158
+
159
+ /**
160
+ * Save the theme as template.
161
+ *
162
+ * @since 4.0.0
163
+ *
164
+ * @fires Click
165
+ */
166
+ jQuery( 'button#rmp-save-theme' ).on( 'click', function( e ) {
167
+ e.stopPropagation();
168
+ e.preventDefault();
169
+
170
+ const themeName = jQuery( '#rmp-save-theme-name' ).val();
171
+
172
+ if ( 3 > themeName.length ) {
173
+ alert( 'Please give meaning full name to this theme' );
174
+ return;
175
+ }
176
+
177
+ jQuery.ajax( {
178
+ url: rmpObject.ajaxURL,
179
+ data: {
180
+ 'action': 'rmp_save_theme',
181
+ 'ajax_nonce': rmpObject.ajax_nonce,
182
+ 'theme_name': themeName,
183
+ 'menu_id': jQuery( '#menu_id' ).val(),
184
+ 'form': jQuery( '#rmp-editor-form' ).serialize()
185
+ },
186
+ type: 'POST',
187
+ dataType: 'json',
188
+ error: function( error ) {
189
+ console.log( error.statusText );
190
+ },
191
+ success: function( response ) {
192
+ jQuery( e.target ).parents( '.rmp-dialog-contents' )
193
+ .append( '<div class="notice notice-success settings-error is-dismissible"><p>' + response.data.message + '</p></div>' );
194
+ }
195
+ } );
196
+ } );
197
+
198
+ /**
199
+ * Ajax call to save the menu settings when click on update.
200
+ *
201
+ * @version 4.0.0
202
+ *
203
+ * @fires click
204
+ */
205
+ jQuery(document).on( 'click', 'button#rmp-save-menu-options,#rmp-menu-quick-update-button', function( e ) {
206
+
207
+ jQuery.ajax( {
208
+ url: rmpObject.ajaxURL,
209
+ data: {
210
+ 'action': 'rmp_save_menu_action',
211
+ 'ajax_nonce': rmpObject.ajax_nonce,
212
+ 'form': jQuery( '#rmp-editor-form' ).serialize()
213
+ },
214
+ type: 'POST',
215
+ dataType: 'json',
216
+ beforeSend: function() {
217
+ jQuery( '#rmp-preview-iframe-loader' ).show();
218
+ },
219
+ error: function( error ) {
220
+ console.log( error.statusText );
221
+ jQuery( '#rmp-preview-iframe-loader' ).hide();
222
+ },
223
+ success: function( response ) {
224
+ // If options is updated successfully then reload the iframe.
225
+ if ( response.success ) {
226
+ const url = jQuery( '#rmp-preview-iframe' ).attr('src');
227
+ jQuery('#rmp-preview-iframe').attr('src', url );
228
+ }
229
+ }
230
+ } );
231
+ } );
232
+
233
+ // Initiate the color picker instances.
234
+ jQuery( '.rmp-color-input' ).wpColorPicker();
235
+
236
+ // Fix events glitch on color textbox.
237
+ jQuery('.rmp-color-input').removeAttr( 'style' );
238
+ jQuery('.rmp-color-input').off( 'focus' );
239
+
240
+ // Initiate the tab elements.
241
+ jQuery( '.tabs,#rmp-setting-tabs' ).tabs( {
242
+ hide: { effect: 'explode', duration: 1000 },
243
+ show: { effect: 'explode', duration: 800 },
244
+ active: 0
245
+ } );
246
+
247
+ // Active tabs under ordering elements.
248
+ jQuery( '.nav-tab-wrapper' ).on( 'click', '.nav-tab', function( e ) {
249
+ jQuery( '.nav-tab-wrapper .nav-tab' ).removeClass( 'nav-tab-active' );
250
+ jQuery( this ) .addClass( 'nav-tab-active' );
251
+ } );
252
+
253
+
254
+
255
+ /**
256
+ * Check open/close of device options switcher.
257
+ *
258
+ * @version 4.0.0
259
+ *
260
+ * @fires click
261
+ */
262
+ jQuery( '.rmp-device-switcher' ).on( 'click', function() {
263
+ var isOpen = jQuery( this ).hasClass( 'open' );
264
+
265
+ if ( isOpen ) {
266
+ jQuery( this ).removeClass( 'open' );
267
+ } else {
268
+ jQuery( '.rmp-device-switcher' ).removeClass( 'open' );
269
+ jQuery( this ).addClass( 'open' );
270
+ }
271
+
272
+ } );
273
+
274
+ /**
275
+ * Change the option when select a device.
276
+ *
277
+ * @version 4.0.0
278
+ *
279
+ * @fires click
280
+ */
281
+ jQuery( '.rmp-device-switcher li' ).on( 'click', function() {
282
+ var selectedDevice = jQuery( this ).attr( 'data-device' );
283
+ var firstDevice = jQuery( '.rmp-device-switcher li:first-child' ).attr( 'data-device' );
284
+ if ( selectedDevice != firstDevice ) {
285
+ activeDeviceOptions( selectedDevice );
286
+ if ( 'desktop' == selectedDevice ) {
287
+ jQuery( '#rmp-preview-desktop' ).trigger( 'click' );
288
+ } else if ( 'tablet' == selectedDevice ) {
289
+ jQuery( '#rmp-preview-tablet' ).trigger( 'click' );
290
+ } else {
291
+ jQuery( '#rmp-preview-mobile' ).trigger( 'click' );
292
+ }
293
+ }
294
+ } );
295
+
296
+
297
+ /**
298
+ * Active all the device options in editor.
299
+ *
300
+ * @version 4.0.0;
301
+ * @param {string} selectedDevice This device name which is active.
302
+ */
303
+ function activeDeviceOptions( selectedDevice ) {
304
+ const firstDevice = jQuery( '.rmp-device-switcher li:first-child' ).attr( 'data-device' );
305
+ const selectedIcon = jQuery( '.rmp-device-switcher li[data-device=' + selectedDevice + ']' ).html();
306
+ const firstIcon = jQuery( '.rmp-device-switcher li:first-child' ).html();
307
+
308
+ jQuery( '.rmp-device-switcher li' ).each( function() {
309
+ if ( jQuery( this ).attr( 'data-device' ) === selectedDevice ) {
310
+ jQuery( this ).html( firstIcon );
311
+ jQuery( this ).attr( 'data-device', firstDevice );
312
+ } else if ( jQuery( this ).attr( 'data-device' ) === firstDevice ) {
313
+ jQuery( this ).html( selectedIcon );
314
+ jQuery( this ).attr( 'data-device', selectedDevice );
315
+ }
316
+ } );
317
+ }
318
+
319
+ /**
320
+ * Close the device switcher when mouseup other places.
321
+ *
322
+ * @version 4.0.0
323
+ *
324
+ * @fires mouseup
325
+ */
326
+ jQuery( document ).on( 'mouseup', function( event ) {
327
+ var target = event.target;
328
+ var deviceSwitcher = jQuery( '.rmp-device-switcher' );
329
+
330
+ if ( ! deviceSwitcher.is( target ) && 0 === deviceSwitcher.has( target ).length ) {
331
+ deviceSwitcher.removeClass( 'open' );
332
+ }
333
+
334
+ } );
335
+
336
+ /**
337
+ * Active preview as per clicked device.
338
+ *
339
+ * @version 4.0.0
340
+ *
341
+ * @fires Click
342
+ */
343
+ jQuery( '#rmp-editor-footer .rmp-preview-device-wrapper' ).on( 'click', 'button', function( e ) {
344
+ jQuery( '#rmp-editor-footer' ).find( '.rmp-preview-device-wrapper button' ).removeClass( 'active' );
345
+ jQuery( '#rmp-editor-footer' ).find( '.rmp-preview-device-wrapper button' ).attr( 'aria-pressed', 'false' );
346
+ jQuery( this ).addClass( 'active' );
347
+ jQuery( this ).attr( 'aria-pressed', 'true' );
348
+ const device = jQuery( this ).data( 'device' );
349
+ const deviceEditor = jQuery( '#rmp-editor-wrapper' );
350
+ const allClasses = deviceEditor.attr( 'class' ).split( ' ' );
351
+
352
+ allClasses.forEach( function( value ) {
353
+ if ( value.includes( 'rmp-preview-' ) ) {
354
+ deviceEditor.removeClass( value );
355
+ }
356
+ } );
357
+
358
+ deviceEditor.addClass( 'rmp-preview-' + device );
359
+ activeDeviceOptions( device );
360
+ } );
361
+
362
+ /**
363
+ * Instantiate the accordion elements.
364
+ * @version 4.0.0
365
+ */
366
+ jQuery( '.rmp-accordion-container,.rmp-sub-accordion-container' ).accordion( {
367
+ collapsible: true,
368
+ heightStyle: 'content',
369
+ animate: 200,
370
+ active: 0,
371
+ } );
372
+
373
+ /**
374
+ * Instantiate the draggable and sortable menu item order elements.
375
+ * @version 4.0.0
376
+ */
377
+ jQuery( '#rmp-menu-ordering-items' ).accordion().sortable( {
378
+ placeholder: 'sortable-placeholder',
379
+ opacity: 0.9,
380
+ cursor: 'move',
381
+ delay: 150,
382
+ forcePlaceholderSize: true,
383
+ active: false
384
+ } );
385
+
386
+ /**
387
+ * Stop propagating when click on item control element.
388
+ */
389
+ jQuery( '#tab-container .item-controls, #tab-header-bar .item-controls' ).on( 'click', function( event ) {
390
+ event.stopPropagation();
391
+ } );
392
+
393
+ /**
394
+ * Show/Hide tooltip for option description.
395
+ *
396
+ * @version 4.0.0
397
+ *
398
+ * @fires click,mouseleave
399
+ */
400
+ jQuery( '.rmp-tooltip-icon' ).on( 'click', function(e) {
401
+
402
+ if ( jQuery(this).hasClass('show-tooltip') ) {
403
+ return;
404
+ } else {
405
+ jQuery( this ).addClass('show-tooltip');
406
+ }
407
+
408
+ var toolTipContents = jQuery( this ).find( '.rmp-tooltip-content' );
409
+ toolTipContents.css({
410
+ 'left': e.pageX - ( ( toolTipContents.width() / 100 ) * 60 ),
411
+ 'position': 'fixed',
412
+ 'top': ( e.pageY - toolTipContents.height() - 10 ),
413
+ 'bottom': 'unset'
414
+ });
415
+
416
+ toolTipContents.fadeIn();
417
+
418
+ } ).on( 'mouseleave', function() {
419
+ jQuery(this).removeClass('show-tooltip');
420
+ jQuery( this ).find( '.rmp-tooltip-content' ).fadeOut();
421
+ } );
422
+
423
+ /**
424
+ * Remove image from image picker
425
+ *
426
+ * @version 4.0.0
427
+ *
428
+ * @fires Click
429
+ */
430
+ jQuery( '.rmp-image-picker ' ).on( 'click', '.rmp-image-picker-trash', function( e ) {
431
+ e.stopPropagation();
432
+ e.preventDefault();
433
+ jQuery( this ).parent( '.rmp-image-picker' ).siblings( 'input.rmp-image-url-input' ).val( '' );
434
+ jQuery( this ).parent( '.rmp-image-picker' ).removeAttr( 'style' );
435
+ jQuery( this ).remove();
436
+ } );
437
+
438
+ /**
439
+ * Show/Hide the theme uploader section in theme page.
440
+ */
441
+ jQuery( '#rmp-upload-new-theme' ).on( 'click', function() {
442
+ jQuery( '#rmp-menu-library-import' ).toggleClass( 'hide' );
443
+ } );
444
+
445
+ /**
446
+ * Hide theme uploader section when click on cancel.
447
+ */
448
+ jQuery( '#rmp-menu-library-import-form' ).on( 'click', '.cancel', function( e ) {
449
+ jQuery( '#rmp-menu-library-import' ).addClass( 'hide' );
450
+ } );
451
+
452
+ /**
453
+ * Upload the theme file using dropzone.
454
+ *
455
+ * @version 4.0.0
456
+ */
457
+ jQuery( '#rmp-menu-library-import-form' ).dropzone( {
458
+ clickable: true,
459
+ acceptedFiles: '.zip',
460
+ uploadMultiple: false,
461
+ success: function ( file, response ) {
462
+ location.reload();
463
+ }
464
+ } );
465
+
466
+ /**
467
+ * Open theme options in editor footer.
468
+ */
469
+ jQuery( '#rmp-theme-action' ).on( 'click', function( e ) {
470
+ jQuery( '#rmp-footer-theme-options' ).toggleClass('open');
471
+ } );
472
+
473
+ /**
474
+ * Show/Hide the save theme wizard.
475
+ */
476
+ jQuery( '.rmp-theme-save-button, #rmp-menu-save-theme-wizard .rmp-dialog-wrap .close' ).on( 'click', function( e ) {
477
+ jQuery( '#rmp-menu-save-theme-wizard' ).toggle();
478
+ } );
479
+
480
+ /**
481
+ * Show/Hide change theme wizard.
482
+ */
483
+ jQuery( '.rmp-theme-change-button' ).on( 'click', function( e ) {
484
+ jQuery( '#rmp-new-menu-wizard' ).toggle();
485
+ } );
486
+
487
+ /**
488
+ * Delete the theme from theme page.
489
+ */
490
+ jQuery( '.rmp-theme-delete' ).on( 'click', function( e ) {
491
+ e.preventDefault();
492
+
493
+ /** Ask for delete confirmation */
494
+ const isConfirm = confirm( 'Are you sure, you want delete this theme ?' );
495
+
496
+ if ( ! isConfirm ) {
497
+ return;
498
+ }
499
+
500
+ let themeName = jQuery( this ).attr( 'data-theme' );
501
+ let themeType = jQuery( this ).attr( 'data-theme-type' ).toLowerCase();
502
+
503
+ jQuery.ajax( {
504
+ url: rmpObject.ajaxURL,
505
+ data: {
506
+ 'action': 'rmp_theme_delete',
507
+ 'ajax_nonce': rmpObject.ajax_nonce,
508
+ 'theme_name': themeName,
509
+ 'theme_type': themeType
510
+ },
511
+ type: 'POST',
512
+ dataType: 'json',
513
+ error: function( error ) {
514
+ console.log( error.statusText );
515
+ },
516
+ success: function( response ) {
517
+ location.reload();
518
+ }
519
+ } );
520
+
521
+ } );
522
+
523
+ /**
524
+ * Apply the selected theme in current active menu in editor.
525
+ *
526
+ * @version 4.0.0
527
+ *
528
+ * @fires 4.0.0
529
+ */
530
+ jQuery( '.rmp-theme-apply' ).on( 'click', function( e ) {
531
+
532
+ jQuery.ajax( {
533
+ url: rmpObject.ajaxURL,
534
+ data: {
535
+ 'action': 'rmp_theme_apply',
536
+ 'ajax_nonce': rmpObject.ajax_nonce,
537
+ 'theme_name': jQuery( this ).attr( 'theme-name' ),
538
+ 'theme_type': jQuery( this ).attr( 'theme-type' ).toLowerCase(),
539
+ 'menu_id': jQuery( '#menu_id' ).val(),
540
+ 'menu_to_use' : jQuery('#rmp-menu-to-use').val()
541
+ },
542
+ type: 'POST',
543
+ dataType: 'json',
544
+ error: function( error ) {
545
+ console.log( error.statusText );
546
+ },
547
+ success: function( response ) {
548
+ location.reload();
549
+ }
550
+ } );
551
+
552
+ } );
553
+
554
+ /**
555
+ * Save the global settings on click.
556
+ *
557
+ * @version 4.0.0
558
+ *
559
+ * @fires click
560
+ */
561
+ jQuery( '.rmp-save-global-settings-button' ).on( 'click', function( e ) {
562
+ e.preventDefault();
563
+
564
+ jQuery.ajax( {
565
+ url: rmpObject.ajaxURL,
566
+ data: {
567
+ 'action': 'rmp_save_global_settings',
568
+ 'ajax_nonce': rmpObject.ajax_nonce,
569
+ 'form': jQuery( '#rmp-global-settings' ).serialize()
570
+ },
571
+ type: 'POST',
572
+ dataType: 'json',
573
+ beforeSend: function() {
574
+ jQuery( this ).prop( 'disabled', true );
575
+ jQuery( '.spinner' ).addClass( 'is-active' );
576
+ },
577
+ error: function( error ) {
578
+ console.log( 'Internal Error !' + error );
579
+ },
580
+ success: function( response ) {
581
+ jQuery( '.spinner' ).removeClass( 'is-active' );
582
+ jQuery( this ).prop( 'disabled', false );
583
+ }
584
+ } );
585
+ } );
586
+
587
+ /**
588
+ * Initiate multiple selectize option of editor.
589
+ */
590
+ jQuery( '#rmp-keyboard-shortcut-close-menu,#rmp-keyboard-shortcut-open-menu' ).selectize( {
591
+ maxItems : 2,
592
+ plugins: [ 'remove_button' ]
593
+ } );
594
+
595
+ /**
596
+ * Event to linked the group inputs.
597
+ *
598
+ * @fires Click
599
+ */
600
+ jQuery( document ).on( 'click', 'button.rmp-group-input-linked', function() {
601
+ jQuery(this).toggleClass( 'is-linked' );
602
+ });
603
+
604
+ /**
605
+ * Event to type on all sibblings input if linked.
606
+ *
607
+ * @fires keyup
608
+ */
609
+ jQuery( document ).on( 'keyup', 'input.rmp-group-input', function( event ) {
610
+ var pressedKeys = this.value.toLocaleLowerCase();
611
+ const parent = jQuery(this).parents('.rmp-input-group-control');
612
+ const isLinked = parent.find( '.is-linked' );
613
+
614
+ if ( isLinked.length ) {
615
+ parent.find( 'input.rmp-group-input' ).val( pressedKeys);
616
+ } else {
617
+ jQuery( this ).val(pressedKeys);
618
+ }
619
+
620
+ });
621
+
622
+ /**
623
+ * Function to add the notification and update button.
624
+ */
625
+ function addUpdateNotification() {
626
+
627
+ if ( ! jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length ) {
628
+ jQuery( '#rmp-editor-main' ).prepend(
629
+ '<div id="rmp-menu-update-notification" class="rmp-order-item rmp-order-item-description">' +
630
+ '<span> <span class="rmp-font-icon dashicons dashicons-warning "></span> Update Required </span>' +
631
+ '<a href="javascript:void(0)" id="rmp-menu-quick-update-button">UPDATE</a>' +
632
+ '</div>'
633
+ );
634
+ }
635
+ }
636
+
637
+ jQuery( 'form#rmp-editor-form' ).on(
638
+ 'keyup change paste',
639
+ 'input, select, textarea, radio, checkbox',
640
+ function() {
641
+ if ( ! jQuery(this).hasClass('no-updates') ) {
642
+ addUpdateNotification();
643
+ }
644
+ }
645
+ );
646
+
647
+ jQuery(document).on(
648
+ 'click',
649
+ '#rmp-icon-dialog-select,.media-button-select,.rmp-icon-picker,.rmp-image-picker',
650
+ function() {
651
+ if ( ! jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length ) {
652
+ addUpdateNotification();
653
+ }
654
+ });
655
+
656
+ /**
657
+ * Event to download exported menu settings as json file.
658
+ *
659
+ * @version 4.0.0
660
+ */
661
+ jQuery( '#rmp-export-menu-button' ).on( 'click', function( e ) {
662
+ e.preventDefault();
663
+
664
+ let menu_id = jQuery('#rmp_export_menu_list').val();
665
+
666
+ jQuery.ajax( {
667
+ url: rmpObject.ajaxURL,
668
+ data: {
669
+ 'action': 'rmp_export_menu',
670
+ 'ajax_nonce': rmpObject.ajax_nonce,
671
+ 'menu_id': menu_id
672
+ },
673
+ type: 'POST',
674
+ dataType: 'json',
675
+ beforeSend: function() {
676
+ jQuery( '#rmp-export-menu-button' ).prop( 'disabled', true );
677
+ },
678
+ error: function( error ) {
679
+ console.log( error.statusText );
680
+ jQuery( '#rmp-export-menu-button' ).prop( 'disabled', false );
681
+ },
682
+ success: function( response ) {
683
+ jQuery( '#rmp-export-menu-button' ).prop( 'disabled', false );
684
+ if( response.data ) {
685
+ let menu_name = jQuery('#rmp_export_menu_list').children(":selected").text().trim().toLocaleLowerCase().split(' ').join('-');
686
+ download_file( response.data , menu_name + '.json' , 'application/json' );
687
+ }
688
+ }
689
+ });
690
+
691
+ });
692
+
693
+ /**
694
+ * Function to download the content as file.
695
+ *
696
+ * @since 4.0.0
697
+ *
698
+ * @param {String} content Contents for file
699
+ * @param {String} name Name of the file.
700
+ * @param {String} type File type
701
+ */
702
+