Responsive Menu - Version 3.0.15

Version Description

(11th October 2016) = * Requires PHP 5.4 * Added border size option * Made submenu active colours free * Improved FontAwesome Icon check (Pro only) * Added sizing unit options (Pro only) * Bug fixes

Download this release

Release Info

Developer ResponsiveMenu
Plugin Icon 128x128 Responsive Menu
Version 3.0.15
Comparing to
See all releases

Code changes from version 3.0.14 to 3.0.15

readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://responsive.menu/donate
4
  Tags: responsive, menu, responsive menu, mobile menu, wordpress responsive menu, wp responsive menu, tablet menu, mobile, tablet, 3 lines, 3 line, three line, three lines
5
  Requires at least: 3.5.0
6
  Tested up to: 4.6
7
- Stable tag: 3.0.14
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -19,7 +19,6 @@ Highly customisable Responsive Menu Plugin for WordPress. With over 150 customis
19
  <br /><br />
20
  <a href="https://responsive.menu">https://responsive.menu</a>
21
  <br /><br />
22
- Demos:
23
  <a href="https://demo.responsive.menu">https://demo.responsive.menu</a>
24
  <br /><br />
25
  **Requirements:**
@@ -120,7 +119,15 @@ To view our whole FAQ, please go to https://responsive.menu/faq/
120
 
121
  == Changelog ==
122
 
123
- = 3.0.14 (22nd September 2016) =
 
 
 
 
 
 
 
 
124
  * **Requires PHP 5.4**
125
  * Improved PHP check on pre 5.3 systems
126
  * Improved width of first and last menu item borders
4
  Tags: responsive, menu, responsive menu, mobile menu, wordpress responsive menu, wp responsive menu, tablet menu, mobile, tablet, 3 lines, 3 line, three line, three lines
5
  Requires at least: 3.5.0
6
  Tested up to: 4.6
7
+ Stable tag: 3.0.15
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
19
  <br /><br />
20
  <a href="https://responsive.menu">https://responsive.menu</a>
21
  <br /><br />
 
22
  <a href="https://demo.responsive.menu">https://demo.responsive.menu</a>
23
  <br /><br />
24
  **Requirements:**
119
 
120
  == Changelog ==
121
 
122
+ = 3.0.15 (11th October 2016) =
123
+ * **Requires PHP 5.4**
124
+ * Added border size option
125
+ * Made submenu active colours free
126
+ * Improved FontAwesome Icon check (Pro only)
127
+ * Added sizing unit options (Pro only)
128
+ * Bug fixes
129
+
130
+ = 3.0.14 (4th October 2016) =
131
  * **Requires PHP 5.4**
132
  * Improved PHP check on pre 5.3 systems
133
  * Improved width of first and last menu item borders
responsive-menu.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Responsive Menu
5
  Plugin URI: https://responsive.menu
6
  Description: Highly Customisable Responsive Menu Plugin for WordPress
7
- Version: 3.0.14
8
  Author: Responsive Menu
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
4
  Plugin Name: Responsive Menu
5
  Plugin URI: https://responsive.menu
6
  Description: Highly Customisable Responsive Menu Plugin for WordPress
7
+ Version: 3.0.15
8
  Author: Responsive Menu
9
  Text Domain: responsive-menu
10
  Author URI: https://responsive.menu
src/app/Mappers/JsMapper.php CHANGED
@@ -65,19 +65,23 @@ class JsMapper {
65
  /* Set each parent arrow to inactive */
66
  top_siblings.each(function() {
67
  $(this).find('.responsive-menu-subarrow').first().html(self.inactiveArrow);
 
68
  });
69
  /* Now Repeat for the current item siblings */
70
  first_siblings.children('.responsive-menu-submenu').slideUp(200, 'linear').removeClass('responsive-menu-submenu-open');
71
  first_siblings.each(function() {
72
  $(this).find('.responsive-menu-subarrow').first().html(self.inactiveArrow);
 
73
  });
74
  }
75
  if(sub_menu.hasClass('responsive-menu-submenu-open')) {
76
  sub_menu.slideUp(200, 'linear').removeClass('responsive-menu-submenu-open');
77
  $(subarrow).html(this.inactiveArrow);
 
78
  } else {
79
  sub_menu.slideDown(200, 'linear').addClass('responsive-menu-submenu-open');
80
  $(subarrow).html(this.activeArrow);
 
81
  }
82
  },
83
  menuHeight: function() {
65
  /* Set each parent arrow to inactive */
66
  top_siblings.each(function() {
67
  $(this).find('.responsive-menu-subarrow').first().html(self.inactiveArrow);
68
+ $(this).find('.responsive-menu-subarrow').first().removeClass('responsive-menu-subarrow-active');
69
  });
70
  /* Now Repeat for the current item siblings */
71
  first_siblings.children('.responsive-menu-submenu').slideUp(200, 'linear').removeClass('responsive-menu-submenu-open');
72
  first_siblings.each(function() {
73
  $(this).find('.responsive-menu-subarrow').first().html(self.inactiveArrow);
74
+ $(this).find('.responsive-menu-subarrow').first().removeClass('responsive-menu-subarrow-active');
75
  });
76
  }
77
  if(sub_menu.hasClass('responsive-menu-submenu-open')) {
78
  sub_menu.slideUp(200, 'linear').removeClass('responsive-menu-submenu-open');
79
  $(subarrow).html(this.inactiveArrow);
80
+ $(subarrow).removeClass('responsive-menu-subarrow-active');
81
  } else {
82
  sub_menu.slideDown(200, 'linear').addClass('responsive-menu-submenu-open');
83
  $(subarrow).html(this.activeArrow);
84
+ $(subarrow).addClass('responsive-menu-subarrow-active');
85
  }
86
  },
87
  menuHeight: function() {
src/app/Mappers/ScssMenuMapper.php CHANGED
@@ -110,11 +110,9 @@ class ScssMenuMapper extends ScssMapper {
110
  #responsive-menu {
111
 
112
  > li.responsive-menu-item:first-child a {
113
- border-top-width: 2px;
114
- }
115
- > li.responsive-menu-item:last-child a{
116
- border-bottom-width: 2px;
117
  }
 
118
  li.responsive-menu-item {
119
  .responsive-menu-item-link {
120
  font-size: {$options['menu_font_size']}px;
@@ -122,8 +120,7 @@ class ScssMenuMapper extends ScssMapper {
122
 
123
  a {
124
  line-height: {$options['menu_links_height']}px;
125
- border-top: 1px solid {$options['menu_item_border_colour']};
126
- border-bottom: 1px solid {$options['menu_item_border_colour']};
127
 
128
  color: {$options['menu_link_colour']};
129
  background-color: {$options['menu_item_background_colour']};
@@ -144,9 +141,18 @@ class ScssMenuMapper extends ScssMapper {
144
  line-height: {$options['submenu_arrow_height']}px;
145
  width: {$options['submenu_arrow_width']}px;
146
  color: {$options['menu_sub_arrow_shape_colour']};
147
- border-left: 1px solid {$options['menu_sub_arrow_border_colour']};
148
  background-color: {$options['menu_sub_arrow_background_colour']};
149
-
 
 
 
 
 
 
 
 
 
150
  &:hover {
151
  color: {$options['menu_sub_arrow_shape_hover_colour']};
152
  border-color: {$options['menu_sub_arrow_border_hover_colour']};
@@ -188,7 +194,7 @@ class ScssMenuMapper extends ScssMapper {
188
  }
189
  @if '{$options['menu_to_hide']}' != '' {
190
  & {$options['menu_to_hide']} {
191
- display: none;
192
  }
193
  }
194
  }
110
  #responsive-menu {
111
 
112
  > li.responsive-menu-item:first-child a {
113
+ border-top: {$options['menu_border_width']}px solid {$options['menu_item_border_colour']};
 
 
 
114
  }
115
+
116
  li.responsive-menu-item {
117
  .responsive-menu-item-link {
118
  font-size: {$options['menu_font_size']}px;
120
 
121
  a {
122
  line-height: {$options['menu_links_height']}px;
123
+ border-bottom: {$options['menu_border_width']}px solid {$options['menu_item_border_colour']};
 
124
 
125
  color: {$options['menu_link_colour']};
126
  background-color: {$options['menu_item_background_colour']};
141
  line-height: {$options['submenu_arrow_height']}px;
142
  width: {$options['submenu_arrow_width']}px;
143
  color: {$options['menu_sub_arrow_shape_colour']};
144
+ border-left: {$options['menu_border_width']}px solid {$options['menu_sub_arrow_border_colour']};
145
  background-color: {$options['menu_sub_arrow_background_colour']};
146
+ &.responsive-menu-subarrow-active {
147
+ color: {$options['menu_sub_arrow_shape_colour_active']};
148
+ border-color: {$options['menu_sub_arrow_border_colour_active']};
149
+ background-color: {$options['menu_sub_arrow_background_colour_active']};
150
+ &:hover {
151
+ color: {$options['menu_sub_arrow_shape_hover_colour_active']};
152
+ border-color: {$options['menu_sub_arrow_border_hover_colour_active']};
153
+ background-color: {$options['menu_sub_arrow_background_hover_colour_active']};
154
+ }
155
+ }
156
  &:hover {
157
  color: {$options['menu_sub_arrow_shape_hover_colour']};
158
  border-color: {$options['menu_sub_arrow_border_hover_colour']};
194
  }
195
  @if '{$options['menu_to_hide']}' != '' {
196
  & {$options['menu_to_hide']} {
197
+ display: none !important;
198
  }
199
  }
200
  }
src/app/View/AdminView.php CHANGED
@@ -18,11 +18,11 @@ class AdminView implements View {
18
 
19
  wp_enqueue_script('jquery-ui-core');
20
 
21
- wp_register_style('admin-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/main.css', false, null );
22
- wp_enqueue_style('admin-css');
23
 
24
- wp_register_script('admin-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/main.js', 'jquery', null );
25
- wp_enqueue_script('admin-js' );
26
 
27
  endif;
28
  }
18
 
19
  wp_enqueue_script('jquery-ui-core');
20
 
21
+ wp_register_style('responsive-menu-admin-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/main.css', false, null);
22
+ wp_enqueue_style('responsive-menu-admin-css');
23
 
24
+ wp_register_script('responsive-menu-admin-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/main.js', 'jquery', null);
25
+ wp_enqueue_script('responsive-menu-admin-js');
26
 
27
  endif;
28
  }
src/app/ViewModels/Components/Admin/Boxes.php CHANGED
@@ -34,6 +34,7 @@ class Boxes {
34
  $semi_pro = isset($option['semi_pro']) ? 'semi_pro_option' : '';
35
  $type = isset($option['type']) ? $option['type'] : null;
36
  $unit = isset($option['unit']) ? '<span class="units">' . $option['unit'] . '</span>' : null;
 
37
  $select = isset($option['select']) ? $option['select'] : null;
38
  $output .= '<tr class="' . $pro . ' ' . $semi_pro . '" id="' . $option['option'] . '_container">
39
  <td>
@@ -41,8 +42,11 @@ class Boxes {
41
  <span class="description">' . $option['label'] . '</span>';
42
  $output .= isset($option['beta']) ? '<span class="beta">beta</span>' : '';
43
  $output .= '</td>
44
- <td>';
45
  $output .= $this->f($type, $option['option'], $select);
 
 
 
46
  $output .= isset($option['pro']) ? '<a href="https://responsive.menu/why-go-pro/?utm_source=free-plugin&utm_medium=option&utm_campaign=free-plugin-option-upgrade" target="_blank" class="responsive-menu-pro-overlay"><div class="responsive-menu-pro-overlay-text">Click to upgrade now to use</div></a>' : '';
47
  $output .= $unit . '</td>
48
  </tr>';
34
  $semi_pro = isset($option['semi_pro']) ? 'semi_pro_option' : '';
35
  $type = isset($option['type']) ? $option['type'] : null;
36
  $unit = isset($option['unit']) ? '<span class="units">' . $option['unit'] . '</span>' : null;
37
+ $has_sub_options_class = isset($option['sub_options']) ? 'has-sub-options' : '';
38
  $select = isset($option['select']) ? $option['select'] : null;
39
  $output .= '<tr class="' . $pro . ' ' . $semi_pro . '" id="' . $option['option'] . '_container">
40
  <td>
42
  <span class="description">' . $option['label'] . '</span>';
43
  $output .= isset($option['beta']) ? '<span class="beta">beta</span>' : '';
44
  $output .= '</td>
45
+ <td class="' . $has_sub_options_class . '">';
46
  $output .= $this->f($type, $option['option'], $select);
47
+ if(isset($option['sub_options']))
48
+ foreach($option['sub_options'] as $sub_option)
49
+ $output .= $this->f($sub_option['type'], $sub_option['option'], $sub_option['select']);
50
  $output .= isset($option['pro']) ? '<a href="https://responsive.menu/why-go-pro/?utm_source=free-plugin&utm_medium=option&utm_campaign=free-plugin-option-upgrade" target="_blank" class="responsive-menu-pro-overlay"><div class="responsive-menu-pro-overlay-text">Click to upgrade now to use</div></a>' : '';
51
  $output .= $unit . '</td>
52
  </tr>';
src/config/admin_ordering.php CHANGED
@@ -5,6 +5,20 @@ foreach(get_terms('nav_menu') as $menu) $menus_array[] = [ 'value' => $menu->slu
5
  foreach(get_registered_nav_menus() as $location => $menu) $location_menus[] = ['value' => $location, 'display' => $menu];
6
  $location_menus[] = ['value' => '', 'display' => 'None'];
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  $order_mapping = [
9
 
10
  /*
@@ -69,25 +83,71 @@ $order_mapping = [
69
  'option' => 'menu_width',
70
  'title' => __('Menu Width', 'responsive-menu'),
71
  'label' => __('', 'responsive-menu'),
72
- 'unit' => '%'
 
 
 
 
 
 
 
 
73
  ],
74
  [
75
  'option' => 'menu_maximum_width',
76
  'title' => __('Maximum Width', 'responsive-menu'),
77
  'label' => __('', 'responsive-menu'),
78
- 'unit' => 'px'
 
 
 
 
 
 
 
 
79
  ],
80
  [
81
  'option' => 'menu_minimum_width',
82
  'title' => __('Minimum Width', 'responsive-menu'),
83
  'label' => __('', 'responsive-menu'),
84
- 'unit' => 'px'
 
 
 
 
 
 
 
 
85
  ],
86
  [
87
  'option' => 'menu_links_height',
88
  'title' => __('Links Height', 'responsive-menu'),
89
  'label' => __('', 'responsive-menu'),
90
- 'unit' => 'px'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  ],
92
  [
93
  'option' => 'menu_auto_height',
@@ -125,7 +185,15 @@ $order_mapping = [
125
  'option' => 'menu_title_font_size',
126
  'title' => __('Title Font Size', 'responsive-menu'),
127
  'label' => __('', 'responsive-menu'),
128
- 'unit' => 'px'
 
 
 
 
 
 
 
 
129
  ],
130
  [
131
  'option' => 'menu_title_font_icon',
@@ -385,7 +453,15 @@ $order_mapping = [
385
  'option' => 'menu_font_size',
386
  'title' => __('Font Size', 'responsive-menu'),
387
  'label' => __('', 'responsive-menu'),
388
- 'unit' => 'px'
 
 
 
 
 
 
 
 
389
  ],
390
  [
391
  'option' => 'menu_text_alignment',
@@ -525,7 +601,15 @@ $order_mapping = [
525
  'option' => 'button_distance_from_side',
526
  'title' => __('Distance from Side', 'responsive-menu'),
527
  'label' => __('', 'responsive-menu'),
528
- 'unit' => '%'
 
 
 
 
 
 
 
 
529
  ],
530
  [
531
  'option' => 'button_left_or_right',
@@ -541,7 +625,15 @@ $order_mapping = [
541
  'option' => 'button_top',
542
  'title' => __('Distance from Top', 'responsive-menu'),
543
  'label' => __('', 'responsive-menu'),
544
- 'unit' => 'px'
 
 
 
 
 
 
 
 
545
  ],
546
  ],
547
  __('Container Sizing', 'responsive-menu') =>
@@ -550,13 +642,29 @@ $order_mapping = [
550
  'option' => 'button_height',
551
  'title' => __('Height', 'responsive-menu'),
552
  'label' => __('', 'responsive-menu'),
553
- 'unit' => 'px'
 
 
 
 
 
 
 
 
554
  ],
555
  [
556
  'option' => 'button_width',
557
  'title' => __('Width', 'responsive-menu'),
558
  'label' => __('', 'responsive-menu'),
559
- 'unit' => 'px'
 
 
 
 
 
 
 
 
560
  ],
561
  ],
562
  __('Hamburger Sizing', 'responsive-menu') =>
@@ -565,19 +673,43 @@ $order_mapping = [
565
  'option' => 'button_line_height',
566
  'title' => __('Line Height', 'responsive-menu'),
567
  'label' => __('', 'responsive-menu'),
568
- 'unit' => 'px'
 
 
 
 
 
 
 
 
569
  ],
570
  [
571
  'option' => 'button_line_margin',
572
  'title' => __('Line Margin', 'responsive-menu'),
573
  'label' => __('', 'responsive-menu'),
574
- 'unit' => 'px'
 
 
 
 
 
 
 
 
575
  ],
576
  [
577
  'option' => 'button_line_width',
578
  'title' => __('Line Width', 'responsive-menu'),
579
  'label' => __('', 'responsive-menu'),
580
- 'unit' => 'px'
 
 
 
 
 
 
 
 
581
  ],
582
 
583
  ],
@@ -646,13 +778,29 @@ $order_mapping = [
646
  'option' => 'button_font_size',
647
  'title' => __('Font Size', 'responsive-menu'),
648
  'label' => __('', 'responsive-menu'),
649
- 'unit' => 'px'
 
 
 
 
 
 
 
 
650
  ],
651
  [
652
  'option' => 'button_title_line_height',
653
  'title' => __('Line Height', 'responsive-menu'),
654
  'label' => __('', 'responsive-menu'),
655
- 'unit' => 'px'
 
 
 
 
 
 
 
 
656
  ],
657
  ],
658
  __('Image', 'responsive-menu') =>
@@ -730,14 +878,14 @@ __('Sub-Menus', 'responsive-menu') => [
730
  'title' => __('Background Colour Active', 'responsive-menu'),
731
  'label' => __('', 'responsive-menu'),
732
  'type' => 'colour',
733
- 'pro' => true
734
  ],
735
  [
736
  'option' => 'menu_sub_arrow_background_hover_colour_active',
737
  'title' => __('Background Hover Colour Active', 'responsive-menu'),
738
  'label' => __('', 'responsive-menu'),
739
  'type' => 'colour',
740
- 'pro' => true
741
  ],
742
  ],
743
  __('Toggle Button Border Colours', 'responsive-menu') =>
@@ -761,14 +909,14 @@ __('Sub-Menus', 'responsive-menu') => [
761
  'title' => __('Border Colour Active', 'responsive-menu'),
762
  'label' => __('', 'responsive-menu'),
763
  'type' => 'colour',
764
- 'pro' => true
765
  ],
766
  [
767
  'option' => 'menu_sub_arrow_border_hover_colour_active',
768
  'title' => __('Border Hover Colour Active', 'responsive-menu'),
769
  'label' => __('', 'responsive-menu'),
770
  'type' => 'colour',
771
- 'pro' => true
772
  ],
773
  ],
774
  __('Toggle Button Icon Colours', 'responsive-menu') =>
@@ -792,14 +940,14 @@ __('Sub-Menus', 'responsive-menu') => [
792
  'title' => __('Icon Colour Active', 'responsive-menu'),
793
  'label' => __('', 'responsive-menu'),
794
  'type' => 'colour',
795
- 'pro' => true
796
  ],
797
  [
798
  'option' => 'menu_sub_arrow_shape_hover_colour_active',
799
  'title' => __('Icon Hover Colour Active', 'responsive-menu'),
800
  'label' => __('', 'responsive-menu'),
801
  'type' => 'colour',
802
- 'pro' => true
803
  ],
804
  ],
805
  __('Animations', 'responsive-menu') =>
@@ -878,13 +1026,29 @@ __('Sub-Menus', 'responsive-menu') => [
878
  'option' => 'submenu_arrow_height',
879
  'title' => __('Toggle Button Height', 'responsive-menu'),
880
  'label' => __('', 'responsive-menu'),
881
- 'unit' => 'px'
 
 
 
 
 
 
 
 
882
  ],
883
  [
884
  'option' => 'submenu_arrow_width',
885
  'title' => __('Toggle Button Width', 'responsive-menu'),
886
  'label' => __('', 'responsive-menu'),
887
- 'unit' => 'px'
 
 
 
 
 
 
 
 
888
  ],
889
 
890
  ],
@@ -1057,6 +1221,7 @@ __('Sub-Menus', 'responsive-menu') => [
1057
  'option' => 'header_bar_breakpoint',
1058
  'title' => __('Breakpoint', 'responsive-menu'),
1059
  'label' => __('', 'responsive-menu'),
 
1060
  'pro' => true
1061
  ],
1062
  ],
@@ -1118,8 +1283,15 @@ __('Sub-Menus', 'responsive-menu') => [
1118
  'option' => 'header_bar_font_size',
1119
  'title' => __('Font Size', 'responsive-menu'),
1120
  'label' => __('', 'responsive-menu'),
1121
- 'unit' => 'px',
1122
- 'pro' => true
 
 
 
 
 
 
 
1123
  ],
1124
  ],
1125
  __('Sizing', 'responsive-menu') => [
@@ -1127,8 +1299,15 @@ __('Sub-Menus', 'responsive-menu') => [
1127
  'option' => 'header_bar_height',
1128
  'title' => __('Height', 'responsive-menu'),
1129
  'label' => __('', 'responsive-menu'),
1130
- 'unit' => 'px',
1131
- 'pro' => true
 
 
 
 
 
 
 
1132
  ],
1133
  ],
1134
  __('Colours', 'responsive-menu') => [
@@ -1235,8 +1414,15 @@ __('Sub-Menus', 'responsive-menu') => [
1235
  'option' => 'single_menu_font_size',
1236
  'title' => __('Font Size', 'responsive-menu'),
1237
  'label' => __('', 'responsive-menu'),
1238
- 'unit' => 'px',
1239
- 'pro' => true
 
 
 
 
 
 
 
1240
  ]
1241
  ],
1242
  __('Sub-Menu Styling', 'responsive-menu') => [
@@ -1250,8 +1436,15 @@ __('Sub-Menus', 'responsive-menu') => [
1250
  'option' => 'single_menu_submenu_font_size',
1251
  'title' => __('Font Size', 'responsive-menu'),
1252
  'label' => __('', 'responsive-menu'),
1253
- 'unit' => 'px',
1254
- 'pro' => true
 
 
 
 
 
 
 
1255
  ]
1256
  ],
1257
  __('Menu Sizing', 'responsive-menu') => [
@@ -1259,8 +1452,15 @@ __('Sub-Menus', 'responsive-menu') => [
1259
  'option' => 'single_menu_height',
1260
  'title' => __('Height', 'responsive-menu'),
1261
  'label' => __('', 'responsive-menu'),
1262
- 'unit' => 'px',
1263
- 'pro' => true
 
 
 
 
 
 
 
1264
  ]
1265
  ],
1266
  __('Sub-Menu Sizing', 'responsive-menu') => [
@@ -1268,8 +1468,15 @@ __('Sub-Menus', 'responsive-menu') => [
1268
  'option' => 'single_menu_submenu_height',
1269
  'title' => __('Height', 'responsive-menu'),
1270
  'label' => __('', 'responsive-menu'),
1271
- 'unit' => 'px',
1272
- 'pro' => true
 
 
 
 
 
 
 
1273
  ]
1274
  ]
1275
  ],
5
  foreach(get_registered_nav_menus() as $location => $menu) $location_menus[] = ['value' => $location, 'display' => $menu];
6
  $location_menus[] = ['value' => '', 'display' => 'None'];
7
 
8
+ $unit_options = [
9
+ ['value' => 'px', 'display' => 'px'],
10
+ ['value' => 'em', 'display' => 'em', 'disabled' => true],
11
+ ['value' => 'rem', 'display' => 'rem', 'disabled' => true],
12
+ ['value' => '%', 'display' => '%', 'disabled' => true]
13
+ ];
14
+
15
+ $percentage_unit_options = [
16
+ ['value' => 'px', 'display' => 'px', 'disabled' => true],
17
+ ['value' => 'em', 'display' => 'em', 'disabled' => true],
18
+ ['value' => 'rem', 'display' => 'rem', 'disabled' => true],
19
+ ['value' => '%', 'display' => '%']
20
+ ];
21
+
22
  $order_mapping = [
23
 
24
  /*
83
  'option' => 'menu_width',
84
  'title' => __('Menu Width', 'responsive-menu'),
85
  'label' => __('', 'responsive-menu'),
86
+ 'semi_pro' => true,
87
+ 'sub_options' =>
88
+ [
89
+ [
90
+ 'option' => 'menu_width_unit',
91
+ 'type' => 'select',
92
+ 'select' => $percentage_unit_options
93
+ ]
94
+ ]
95
  ],
96
  [
97
  'option' => 'menu_maximum_width',
98
  'title' => __('Maximum Width', 'responsive-menu'),
99
  'label' => __('', 'responsive-menu'),
100
+ 'semi_pro' => true,
101
+ 'sub_options' =>
102
+ [
103
+ [
104
+ 'option' => 'menu_maximum_width_unit',
105
+ 'type' => 'select',
106
+ 'select' => $unit_options
107
+ ]
108
+ ]
109
  ],
110
  [
111
  'option' => 'menu_minimum_width',
112
  'title' => __('Minimum Width', 'responsive-menu'),
113
  'label' => __('', 'responsive-menu'),
114
+ 'semi_pro' => true,
115
+ 'sub_options' =>
116
+ [
117
+ [
118
+ 'option' => 'menu_minimum_width_unit',
119
+ 'type' => 'select',
120
+ 'select' => $unit_options
121
+ ]
122
+ ]
123
  ],
124
  [
125
  'option' => 'menu_links_height',
126
  'title' => __('Links Height', 'responsive-menu'),
127
  'label' => __('', 'responsive-menu'),
128
+ 'semi_pro' => true,
129
+ 'sub_options' =>
130
+ [
131
+ [
132
+ 'option' => 'menu_links_height_unit',
133
+ 'type' => 'select',
134
+ 'select' => $unit_options
135
+ ]
136
+ ]
137
+ ],
138
+ [
139
+ 'option' => 'menu_border_width',
140
+ 'title' => __('Border Width', 'responsive-menu'),
141
+ 'label' => __('', 'responsive-menu'),
142
+ 'semi_pro' => true,
143
+ 'sub_options' =>
144
+ [
145
+ [
146
+ 'option' => 'menu_border_width_unit',
147
+ 'type' => 'select',
148
+ 'select' => $unit_options
149
+ ]
150
+ ]
151
  ],
152
  [
153
  'option' => 'menu_auto_height',
185
  'option' => 'menu_title_font_size',
186
  'title' => __('Title Font Size', 'responsive-menu'),
187
  'label' => __('', 'responsive-menu'),
188
+ 'semi_pro' => true,
189
+ 'sub_options' =>
190
+ [
191
+ [
192
+ 'option' => 'menu_title_font_size_unit',
193
+ 'type' => 'select',
194
+ 'select' => $unit_options
195
+ ]
196
+ ]
197
  ],
198
  [
199
  'option' => 'menu_title_font_icon',
453
  'option' => 'menu_font_size',
454
  'title' => __('Font Size', 'responsive-menu'),
455
  'label' => __('', 'responsive-menu'),
456
+ 'semi_pro' => true,
457
+ 'sub_options' =>
458
+ [
459
+ [
460
+ 'option' => 'menu_font_size_unit',
461
+ 'type' => 'select',
462
+ 'select' => $unit_options
463
+ ]
464
+ ]
465
  ],
466
  [
467
  'option' => 'menu_text_alignment',
601
  'option' => 'button_distance_from_side',
602
  'title' => __('Distance from Side', 'responsive-menu'),
603
  'label' => __('', 'responsive-menu'),
604
+ 'semi_pro' => true,
605
+ 'sub_options' =>
606
+ [
607
+ [
608
+ 'option' => 'button_distance_from_side_unit',
609
+ 'type' => 'select',
610
+ 'select' => $percentage_unit_options
611
+ ]
612
+ ]
613
  ],
614
  [
615
  'option' => 'button_left_or_right',
625
  'option' => 'button_top',
626
  'title' => __('Distance from Top', 'responsive-menu'),
627
  'label' => __('', 'responsive-menu'),
628
+ 'semi_pro' => true,
629
+ 'sub_options' =>
630
+ [
631
+ [
632
+ 'option' => 'button_top_unit',
633
+ 'type' => 'select',
634
+ 'select' => $unit_options
635
+ ]
636
+ ]
637
  ],
638
  ],
639
  __('Container Sizing', 'responsive-menu') =>
642
  'option' => 'button_height',
643
  'title' => __('Height', 'responsive-menu'),
644
  'label' => __('', 'responsive-menu'),
645
+ 'semi_pro' => true,
646
+ 'sub_options' =>
647
+ [
648
+ [
649
+ 'option' => 'button_height_unit',
650
+ 'type' => 'select',
651
+ 'select' => $unit_options
652
+ ]
653
+ ]
654
  ],
655
  [
656
  'option' => 'button_width',
657
  'title' => __('Width', 'responsive-menu'),
658
  'label' => __('', 'responsive-menu'),
659
+ 'semi_pro' => true,
660
+ 'sub_options' =>
661
+ [
662
+ [
663
+ 'option' => 'button_width_unit',
664
+ 'type' => 'select',
665
+ 'select' => $unit_options
666
+ ]
667
+ ]
668
  ],
669
  ],
670
  __('Hamburger Sizing', 'responsive-menu') =>
673
  'option' => 'button_line_height',
674
  'title' => __('Line Height', 'responsive-menu'),
675
  'label' => __('', 'responsive-menu'),
676
+ 'semi_pro' => true,
677
+ 'sub_options' =>
678
+ [
679
+ [
680
+ 'option' => 'button_line_height_unit',
681
+ 'type' => 'select',
682
+ 'select' => $unit_options
683
+ ]
684
+ ]
685
  ],
686
  [
687
  'option' => 'button_line_margin',
688
  'title' => __('Line Margin', 'responsive-menu'),
689
  'label' => __('', 'responsive-menu'),
690
+ 'semi_pro' => true,
691
+ 'sub_options' =>
692
+ [
693
+ [
694
+ 'option' => 'button_line_margin_unit',
695
+ 'type' => 'select',
696
+ 'select' => $unit_options
697
+ ]
698
+ ]
699
  ],
700
  [
701
  'option' => 'button_line_width',
702
  'title' => __('Line Width', 'responsive-menu'),
703
  'label' => __('', 'responsive-menu'),
704
+ 'semi_pro' => true,
705
+ 'sub_options' =>
706
+ [
707
+ [
708
+ 'option' => 'button_line_width_unit',
709
+ 'type' => 'select',
710
+ 'select' => $unit_options
711
+ ]
712
+ ]
713
  ],
714
 
715
  ],
778
  'option' => 'button_font_size',
779
  'title' => __('Font Size', 'responsive-menu'),
780
  'label' => __('', 'responsive-menu'),
781
+ 'semi_pro' => true,
782
+ 'sub_options' =>
783
+ [
784
+ [
785
+ 'option' => 'button_font_size_unit',
786
+ 'type' => 'select',
787
+ 'select' => $unit_options
788
+ ]
789
+ ]
790
  ],
791
  [
792
  'option' => 'button_title_line_height',
793
  'title' => __('Line Height', 'responsive-menu'),
794
  'label' => __('', 'responsive-menu'),
795
+ 'semi_pro' => true,
796
+ 'sub_options' =>
797
+ [
798
+ [
799
+ 'option' => 'button_title_line_height_unit',
800
+ 'type' => 'select',
801
+ 'select' => $unit_options
802
+ ]
803
+ ]
804
  ],
805
  ],
806
  __('Image', 'responsive-menu') =>
878
  'title' => __('Background Colour Active', 'responsive-menu'),
879
  'label' => __('', 'responsive-menu'),
880
  'type' => 'colour',
881
+ 'semi_pro' => true
882
  ],
883
  [
884
  'option' => 'menu_sub_arrow_background_hover_colour_active',
885
  'title' => __('Background Hover Colour Active', 'responsive-menu'),
886
  'label' => __('', 'responsive-menu'),
887
  'type' => 'colour',
888
+ 'semi_pro' => true
889
  ],
890
  ],
891
  __('Toggle Button Border Colours', 'responsive-menu') =>
909
  'title' => __('Border Colour Active', 'responsive-menu'),
910
  'label' => __('', 'responsive-menu'),
911
  'type' => 'colour',
912
+ 'semi_pro' => true
913
  ],
914
  [
915
  'option' => 'menu_sub_arrow_border_hover_colour_active',
916
  'title' => __('Border Hover Colour Active', 'responsive-menu'),
917
  'label' => __('', 'responsive-menu'),
918
  'type' => 'colour',
919
+ 'semi_pro' => true
920
  ],
921
  ],
922
  __('Toggle Button Icon Colours', 'responsive-menu') =>
940
  'title' => __('Icon Colour Active', 'responsive-menu'),
941
  'label' => __('', 'responsive-menu'),
942
  'type' => 'colour',
943
+ 'semi_pro' => true
944
  ],
945
  [
946
  'option' => 'menu_sub_arrow_shape_hover_colour_active',
947
  'title' => __('Icon Hover Colour Active', 'responsive-menu'),
948
  'label' => __('', 'responsive-menu'),
949
  'type' => 'colour',
950
+ 'semi_pro' => true
951
  ],
952
  ],
953
  __('Animations', 'responsive-menu') =>
1026
  'option' => 'submenu_arrow_height',
1027
  'title' => __('Toggle Button Height', 'responsive-menu'),
1028
  'label' => __('', 'responsive-menu'),
1029
+ 'semi_pro' => true,
1030
+ 'sub_options' =>
1031
+ [
1032
+ [
1033
+ 'option' => 'submenu_arrow_height_unit',
1034
+ 'type' => 'select',
1035
+ 'select' => $unit_options
1036
+ ]
1037
+ ]
1038
  ],
1039
  [
1040
  'option' => 'submenu_arrow_width',
1041
  'title' => __('Toggle Button Width', 'responsive-menu'),
1042
  'label' => __('', 'responsive-menu'),
1043
+ 'semi_pro' => true,
1044
+ 'sub_options' =>
1045
+ [
1046
+ [
1047
+ 'option' => 'submenu_arrow_width_unit',
1048
+ 'type' => 'select',
1049
+ 'select' => $unit_options
1050
+ ]
1051
+ ]
1052
  ],
1053
 
1054
  ],
1221
  'option' => 'header_bar_breakpoint',
1222
  'title' => __('Breakpoint', 'responsive-menu'),
1223
  'label' => __('', 'responsive-menu'),
1224
+ 'unit' => 'px',
1225
  'pro' => true
1226
  ],
1227
  ],
1283
  'option' => 'header_bar_font_size',
1284
  'title' => __('Font Size', 'responsive-menu'),
1285
  'label' => __('', 'responsive-menu'),
1286
+ 'pro' => true,
1287
+ 'sub_options' =>
1288
+ [
1289
+ [
1290
+ 'option' => 'header_bar_font_size_unit',
1291
+ 'type' => 'select',
1292
+ 'select' => $unit_options
1293
+ ]
1294
+ ]
1295
  ],
1296
  ],
1297
  __('Sizing', 'responsive-menu') => [
1299
  'option' => 'header_bar_height',
1300
  'title' => __('Height', 'responsive-menu'),
1301
  'label' => __('', 'responsive-menu'),
1302
+ 'pro' => true,
1303
+ 'sub_options' =>
1304
+ [
1305
+ [
1306
+ 'option' => 'header_bar_height_unit',
1307
+ 'type' => 'select',
1308
+ 'select' => $unit_options
1309
+ ]
1310
+ ]
1311
  ],
1312
  ],
1313
  __('Colours', 'responsive-menu') => [
1414
  'option' => 'single_menu_font_size',
1415
  'title' => __('Font Size', 'responsive-menu'),
1416
  'label' => __('', 'responsive-menu'),
1417
+ 'pro' => true,
1418
+ 'sub_options' =>
1419
+ [
1420
+ [
1421
+ 'option' => 'single_menu_font_size_unit',
1422
+ 'type' => 'select',
1423
+ 'select' => $unit_options
1424
+ ]
1425
+ ]
1426
  ]
1427
  ],
1428
  __('Sub-Menu Styling', 'responsive-menu') => [
1436
  'option' => 'single_menu_submenu_font_size',
1437
  'title' => __('Font Size', 'responsive-menu'),
1438
  'label' => __('', 'responsive-menu'),
1439
+ 'pro' => true,
1440
+ 'sub_options' =>
1441
+ [
1442
+ [
1443
+ 'option' => 'single_menu_submenu_font_size_unit',
1444
+ 'type' => 'select',
1445
+ 'select' => $unit_options
1446
+ ]
1447
+ ]
1448
  ]
1449
  ],
1450
  __('Menu Sizing', 'responsive-menu') => [
1452
  'option' => 'single_menu_height',
1453
  'title' => __('Height', 'responsive-menu'),
1454
  'label' => __('', 'responsive-menu'),
1455
+ 'pro' => true,
1456
+ 'sub_options' =>
1457
+ [
1458
+ [
1459
+ 'option' => 'single_menu_height_unit',
1460
+ 'type' => 'select',
1461
+ 'select' => $unit_options
1462
+ ]
1463
+ ]
1464
  ]
1465
  ],
1466
  __('Sub-Menu Sizing', 'responsive-menu') => [
1468
  'option' => 'single_menu_submenu_height',
1469
  'title' => __('Height', 'responsive-menu'),
1470
  'label' => __('', 'responsive-menu'),
1471
+ 'pro' => true,
1472
+ 'sub_options' =>
1473
+ [
1474
+ [
1475
+ 'option' => 'single_menu_submenu_height_unit',
1476
+ 'type' => 'select',
1477
+ 'select' => $unit_options
1478
+ ]
1479
+ ]
1480
  ]
1481
  ]
1482
  ],
src/config/default_options.php CHANGED
@@ -20,6 +20,7 @@ $default_options = [
20
  'button_click_trigger' => '#responsive-menu-button',
21
  'button_title_position' => 'left',
22
  'button_title_line_height' => '13',
 
23
  'button_background_colour' => '#000',
24
  'button_background_colour_hover' => '#000',
25
  'button_click_animation' => 'boring',
@@ -27,16 +28,24 @@ $default_options = [
27
  'button_text_colour' => '#fff',
28
  'button_transparent_background' => 'off',
29
  'button_width' => 55,
 
30
  'button_height' => 55,
 
31
  'button_line_margin' => 5,
 
32
  'button_line_height' => 3,
 
33
  'button_line_width' => 25,
 
34
  'button_top' => 15,
 
35
  'button_distance_from_side' => 5,
 
36
  'button_left_or_right' => 'right',
37
  'button_position_type' => 'fixed',
38
  'button_push_with_animation' => 'off',
39
  'button_font_size' => 14,
 
40
 
41
  // Animation Settings
42
  'animation_type' => 'slide',
@@ -55,7 +64,9 @@ $default_options = [
55
  'inactive_arrow_font_icon' => '',
56
  'arrow_position' => 'right',
57
  'submenu_arrow_width' => '40',
 
58
  'submenu_arrow_height' => '40',
 
59
  'accordion_animation' => 'off',
60
  'auto_expand_all_submenus' => 'off',
61
  'auto_expand_current_submenus' => 'off',
@@ -92,11 +103,18 @@ $default_options = [
92
  'menu_sub_arrow_shape_hover_colour_active' => '#fff',
93
  'menu_font' => null,
94
  'menu_font_size' => 13,
 
95
  'menu_title_font_size' => 13,
 
96
  'menu_text_alignment' => 'left',
97
  'menu_links_height' => 40,
 
 
 
98
  'menu_minimum_width' => null,
 
99
  'menu_maximum_width' => null,
 
100
  'menu_auto_height' => 'off',
101
  'menu_additional_content' => null,
102
  'menu_additional_content_colour' => '#fff',
@@ -108,6 +126,7 @@ $default_options = [
108
  'menu_title_link' => null,
109
  'menu_title_link_location' => '_self',
110
  'menu_width' => 75,
 
111
  'menu_close_on_link_click' => 'off',
112
  'menu_close_on_body_click' => 'off',
113
  'menu_item_click_to_trigger_submenu' => 'off',
@@ -134,12 +153,16 @@ $default_options = [
134
  'use_single_menu' => 'off',
135
 
136
  'single_menu_height' => '80',
 
137
  'single_menu_font' => null,
138
  'single_menu_font_size' => '14',
 
139
 
140
  'single_menu_submenu_height' => '40',
 
141
  'single_menu_submenu_font' => null,
142
  'single_menu_submenu_font_size' => '12',
 
143
 
144
  'single_menu_item_link_colour' => '#ffffff',
145
  'single_menu_item_link_colour_hover' => '#ffffff',
@@ -159,7 +182,9 @@ $default_options = [
159
  'header_bar_title' => null,
160
  'header_bar_html_content' => null,
161
  'header_bar_height' => '80',
 
162
  'header_bar_font_size' => '14',
 
163
  'header_bar_font' => null,
164
  'header_bar_background_color' => '#ffffff',
165
  'header_bar_text_color' => '#ffffff',
20
  'button_click_trigger' => '#responsive-menu-button',
21
  'button_title_position' => 'left',
22
  'button_title_line_height' => '13',
23
+ 'button_title_line_height_unit' => 'px',
24
  'button_background_colour' => '#000',
25
  'button_background_colour_hover' => '#000',
26
  'button_click_animation' => 'boring',
28
  'button_text_colour' => '#fff',
29
  'button_transparent_background' => 'off',
30
  'button_width' => 55,
31
+ 'button_width_unit' => 'px',
32
  'button_height' => 55,
33
+ 'button_height_unit' => 'px',
34
  'button_line_margin' => 5,
35
+ 'button_line_margin_unit' => 'px',
36
  'button_line_height' => 3,
37
+ 'button_line_height_unit' => 'px',
38
  'button_line_width' => 25,
39
+ 'button_line_width_unit' => 'px',
40
  'button_top' => 15,
41
+ 'button_top_unit' => 'px',
42
  'button_distance_from_side' => 5,
43
+ 'button_distance_from_side_unit' => '%',
44
  'button_left_or_right' => 'right',
45
  'button_position_type' => 'fixed',
46
  'button_push_with_animation' => 'off',
47
  'button_font_size' => 14,
48
+ 'button_font_size_unit' => 'px',
49
 
50
  // Animation Settings
51
  'animation_type' => 'slide',
64
  'inactive_arrow_font_icon' => '',
65
  'arrow_position' => 'right',
66
  'submenu_arrow_width' => '40',
67
+ 'submenu_arrow_width_unit' => 'px',
68
  'submenu_arrow_height' => '40',
69
+ 'submenu_arrow_height_unit' => 'px',
70
  'accordion_animation' => 'off',
71
  'auto_expand_all_submenus' => 'off',
72
  'auto_expand_current_submenus' => 'off',
103
  'menu_sub_arrow_shape_hover_colour_active' => '#fff',
104
  'menu_font' => null,
105
  'menu_font_size' => 13,
106
+ 'menu_font_size_unit' => 'px',
107
  'menu_title_font_size' => 13,
108
+ 'menu_title_font_size_unit' => 'px',
109
  'menu_text_alignment' => 'left',
110
  'menu_links_height' => 40,
111
+ 'menu_links_height_unit' => 'px',
112
+ 'menu_border_width' => 1,
113
+ 'menu_border_width_unit' => 'px',
114
  'menu_minimum_width' => null,
115
+ 'menu_minimum_width_unit' => 'px',
116
  'menu_maximum_width' => null,
117
+ 'menu_maximum_width_unit' => 'px',
118
  'menu_auto_height' => 'off',
119
  'menu_additional_content' => null,
120
  'menu_additional_content_colour' => '#fff',
126
  'menu_title_link' => null,
127
  'menu_title_link_location' => '_self',
128
  'menu_width' => 75,
129
+ 'menu_width_unit' => '%',
130
  'menu_close_on_link_click' => 'off',
131
  'menu_close_on_body_click' => 'off',
132
  'menu_item_click_to_trigger_submenu' => 'off',
153
  'use_single_menu' => 'off',
154
 
155
  'single_menu_height' => '80',
156
+ 'single_menu_height_unit' => 'px',
157
  'single_menu_font' => null,
158
  'single_menu_font_size' => '14',
159
+ 'single_menu_font_size_unit' => 'px',
160
 
161
  'single_menu_submenu_height' => '40',
162
+ 'single_menu_submenu_height_unit' => 'px',
163
  'single_menu_submenu_font' => null,
164
  'single_menu_submenu_font_size' => '12',
165
+ 'single_menu_submenu_font_size_unit' => 'px',
166
 
167
  'single_menu_item_link_colour' => '#ffffff',
168
  'single_menu_item_link_colour_hover' => '#ffffff',
182
  'header_bar_title' => null,
183
  'header_bar_html_content' => null,
184
  'header_bar_height' => '80',
185
+ 'header_bar_height_unit' => 'px',
186
  'header_bar_font_size' => '14',
187
+ 'header_bar_font_size_unit' => 'px',
188
  'header_bar_font' => null,
189
  'header_bar_background_color' => '#ffffff',
190
  'header_bar_text_color' => '#ffffff',
src/config/services.php CHANGED
@@ -3,7 +3,7 @@
3
  $container = new ResponsiveMenu\Routing\Container();
4
 
5
  $container['current_version'] = function($c) {
6
- return '3.0.14';
7
  };
8
 
9
  $container['option_helpers'] = function($c) {
3
  $container = new ResponsiveMenu\Routing\Container();
4
 
5
  $container['current_version'] = function($c) {
6
+ return '3.0.15';
7
  };
8
 
9
  $container['option_helpers'] = function($c) {
src/public/css/admin/main.css CHANGED
@@ -104,7 +104,6 @@ li.draggable {
104
  font-weight: bold;
105
  }
106
 
107
- .postbox .inside .select,
108
  .postbox .inside .image_button,
109
  .postbox .inside .image,
110
  .postbox .inside .text {
@@ -113,6 +112,10 @@ li.draggable {
113
  margin-right: 10px;
114
  }
115
 
 
 
 
 
116
  .postbox .inside .textarea {
117
  height: 100px;
118
  padding: 15px;
@@ -558,7 +561,7 @@ input[type="checkbox"]
558
  }
559
 
560
  .select-style select {
561
- width: 105%;
562
  border: none;
563
  cursor: pointer;
564
  box-shadow: none;
@@ -566,6 +569,7 @@ input[type="checkbox"]
566
  background-image: none;
567
  -webkit-appearance: none;
568
  max-width: 115%;
 
569
  }
570
 
571
  .select-style select:focus {
@@ -700,6 +704,18 @@ input[type="button"].image_button
700
  cursor: pointer;
701
  }
702
 
 
 
 
 
 
 
 
 
 
 
 
 
703
  @media (max-width: 1200px) {
704
  .preview,
705
  #delete-action {
104
  font-weight: bold;
105
  }
106
 
 
107
  .postbox .inside .image_button,
108
  .postbox .inside .image,
109
  .postbox .inside .text {
112
  margin-right: 10px;
113
  }
114
 
115
+ .postbox .inside .select {
116
+ height: 27px;
117
+ }
118
+
119
  .postbox .inside .textarea {
120
  height: 100px;
121
  padding: 15px;
561
  }
562
 
563
  .select-style select {
564
+ width: 110%;
565
  border: none;
566
  cursor: pointer;
567
  box-shadow: none;
569
  background-image: none;
570
  -webkit-appearance: none;
571
  max-width: 115%;
572
+ padding: 0 10px;
573
  }
574
 
575
  .select-style select:focus {
704
  cursor: pointer;
705
  }
706
 
707
+ .has-sub-options .select-style {
708
+ width: 15%;
709
+ display: inline-block;
710
+ vertical-align: top;
711
+ }
712
+
713
+ .postbox .inside .has-sub-options input.text {
714
+ width: 57%;
715
+ }
716
+
717
+
718
+
719
  @media (max-width: 1200px) {
720
  .preview,
721
  #delete-action {
tests/app/Form/HeaderBarOrderingTest.php CHANGED
@@ -9,9 +9,9 @@ class HeaderBarOrderingTest extends TestCase {
9
  }
10
 
11
  public function testRendering() {
12
- $output = $this->form_component->render(new ResponsiveMenu\Models\Option('a', '{"search": "on", "button": "off"}'));
13
  $this->assertContains('order-option-switch order-option-switch-on', $output);
14
- $this->assertContains('value="off" name="menu[a][button]"', $output);
15
  $this->assertContains('value="on" name="menu[a][search]"', $output);
16
  }
17
 
9
  }
10
 
11
  public function testRendering() {
12
+ $output = $this->form_component->render(new ResponsiveMenu\Models\Option('a', '{"search": "on", "title": "off"}'));
13
  $this->assertContains('order-option-switch order-option-switch-on', $output);
14
+ $this->assertContains('value="off" name="menu[a][title]"', $output);
15
  $this->assertContains('value="on" name="menu[a][search]"', $output);
16
  }
17
 
tests/app/Mappers/ScssMenuMapperTest.php CHANGED
@@ -11,6 +11,7 @@ class ScssMenuMapperTest extends TestCase {
11
  $this->collection->add(new ResponsiveMenu\Models\Option('page_wrapper', '#wrapper'));
12
  $this->collection->add(new ResponsiveMenu\Models\Option('animation_speed', 222));
13
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_width', 333));
 
14
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_appear_from', 'left'));
15
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_background_colour', '#ffffff'));
16
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_text_alignment', 'right'));
@@ -20,16 +21,21 @@ class ScssMenuMapperTest extends TestCase {
20
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_search_box_text_colour', '#ffffff'));
21
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_search_box_placholder_colour', '#ffffff'));
22
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_maximum_width', 444));
 
23
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_minimum_width', 555));
 
24
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_font', 'Arial'));
25
  $this->collection->add(new ResponsiveMenu\Models\Option('transition_speed', 777));
26
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_background_colour', '#ffffff'));
27
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_colour', '#ffffff'));
28
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_font_size', 888));
 
29
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_hover_colour', '#ffffff'));
30
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_background_hover_colour', '#ffffff'));
31
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_font_size', 999));
 
32
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_links_height', 1000));
 
33
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_item_border_colour', '#ffffff'));
34
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_link_colour', '#ffffff'));
35
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_item_background_colour', '#ffffff'));
@@ -41,7 +47,9 @@ class ScssMenuMapperTest extends TestCase {
41
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_background_hover_colour', '#ffffff'));
42
  $this->collection->add(new ResponsiveMenu\Models\Option('arrow_position', 'left'));
43
  $this->collection->add(new ResponsiveMenu\Models\Option('submenu_arrow_height', 2000));
 
44
  $this->collection->add(new ResponsiveMenu\Models\Option('submenu_arrow_width', 3000));
 
45
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_shape_colour', '#ffffff'));
46
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_border_colour', '#ffffff'));
47
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_background_colour', '#ffffff'));
@@ -51,7 +59,15 @@ class ScssMenuMapperTest extends TestCase {
51
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_current_item_background_hover_colour', '#ffffff'));
52
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_current_link_hover_colour', '#ffffff'));
53
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_current_item_border_hover_colour', '#ffffff'));
 
 
 
 
 
 
54
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_to_hide', '#tohide'));
 
 
55
  $this->scss = new scssc_free;
56
  $this->mapper = new ResponsiveMenu\Mappers\ScssMenuMapper($this->scss);
57
  }
11
  $this->collection->add(new ResponsiveMenu\Models\Option('page_wrapper', '#wrapper'));
12
  $this->collection->add(new ResponsiveMenu\Models\Option('animation_speed', 222));
13
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_width', 333));
14
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_width_unit', 'px'));
15
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_appear_from', 'left'));
16
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_background_colour', '#ffffff'));
17
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_text_alignment', 'right'));
21
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_search_box_text_colour', '#ffffff'));
22
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_search_box_placholder_colour', '#ffffff'));
23
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_maximum_width', 444));
24
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_maximum_width_unit', 'px'));
25
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_minimum_width', 555));
26
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_minimum_width_unit', 'px'));
27
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_font', 'Arial'));
28
  $this->collection->add(new ResponsiveMenu\Models\Option('transition_speed', 777));
29
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_background_colour', '#ffffff'));
30
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_colour', '#ffffff'));
31
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_font_size', 888));
32
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_font_size_unit', 'px'));
33
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_hover_colour', '#ffffff'));
34
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_background_hover_colour', '#ffffff'));
35
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_font_size', 999));
36
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_font_size_unit', 'px'));
37
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_links_height', 1000));
38
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_links_height_unit', 'px'));
39
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_item_border_colour', '#ffffff'));
40
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_link_colour', '#ffffff'));
41
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_item_background_colour', '#ffffff'));
47
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_background_hover_colour', '#ffffff'));
48
  $this->collection->add(new ResponsiveMenu\Models\Option('arrow_position', 'left'));
49
  $this->collection->add(new ResponsiveMenu\Models\Option('submenu_arrow_height', 2000));
50
+ $this->collection->add(new ResponsiveMenu\Models\Option('submenu_arrow_height_unit', 'px'));
51
  $this->collection->add(new ResponsiveMenu\Models\Option('submenu_arrow_width', 3000));
52
+ $this->collection->add(new ResponsiveMenu\Models\Option('submenu_arrow_width_unit', 'px'));
53
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_shape_colour', '#ffffff'));
54
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_border_colour', '#ffffff'));
55
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_background_colour', '#ffffff'));
59
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_current_item_background_hover_colour', '#ffffff'));
60
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_current_link_hover_colour', '#ffffff'));
61
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_current_item_border_hover_colour', '#ffffff'));
62
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_background_colour_active', '#ffffff'));
63
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_border_hover_colour_active', '#ffffff'));
64
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_border_colour_active', '#ffffff'));
65
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_shape_colour_active', '#ffffff'));
66
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_shape_hover_colour_active', '#ffffff'));
67
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_sub_arrow_background_hover_colour_active', '#ffffff'));
68
  $this->collection->add(new ResponsiveMenu\Models\Option('menu_to_hide', '#tohide'));
69
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_border_width', 1));
70
+ $this->collection->add(new ResponsiveMenu\Models\Option('menu_border_width_unit', 'px'));
71
  $this->scss = new scssc_free;
72
  $this->mapper = new ResponsiveMenu\Mappers\ScssMenuMapper($this->scss);
73
  }