PluginProbe
Responsive Menu – Mobile Menu & Hamburger Menu Builder / 4.7.4
Responsive Menu – Mobile Menu & Hamburger Menu Builder v4.7.4
4.7.4 4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 All 91 releases
responsive-menu / v4.0.0 / inc / classes / class-style-manager.php

class-style-manager.php in Responsive Menu – Mobile Menu & Hamburger Menu Builder 4.7.4, at v4.0.0/inc/classes/class-style-manager.php

1,686 lines 65.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * This file contain the Style_Manager class and it's functions.
4 *
5 * @version 4.0.0
6 * @author Expresstech System
7 *
8 * @package responsive-menu
9 */
10
11 namespace RMP\Features\Inc;
12
13 use RMP\Features\Inc\Option_Manager;
14 use RMP\Features\Inc\Traits\Singleton;
15 use ScssPhp\ScssPhp\Compiler;
16 use \Exception;
17
18 // Disable the direct access to this class.
19 if ( ! defined( 'ABSPATH' ) ) {
20 exit;
21 }
22
23 /**
24 * Class Style_Manager
25 *
26 * This class is responsible for handle the styling from frontend.
27 *
28 * @version 4.0.0
29 */
30 class Style_Manager {
31
32 use Singleton;
33
34 /**
35 * Instance of option manager class.
36 *
37 * @version 4.0.0
38 *
39 * @var array $option_manager.
40 */
41 protected $option_manager;
42
43 /**
44 * Construct method.
45 */
46 protected function __construct() {
47 $this->option_manager = Option_Manager::get_instance();
48 $this->setup_hooks();
49 }
50
51 /**
52 * To setup action/filter.
53 *
54 * @version 4.0.0
55 *
56 * @return void
57 */
58 protected function setup_hooks() {
59 add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_styles_as_inline' ) );
60 add_action( 'wp_enqueue_scripts', array( $this, 'add_rmp_menu_frontend_scripts' ) );
61 add_action( 'rmp_create_new_menu', array( $this, 'save_style_css_on_file' ), 10, 0 );
62 add_action( 'rmp_save_menu', array( $this, 'save_style_css_on_file' ), 10, 0 );
63 add_action( 'rmp_update_mega_menu_item', array( $this, 'save_style_css_on_file' ), 10, 0 );
64 add_action( 'rmp_save_global_settings', array( $this, 'save_style_css_on_file' ), 10, 0 );
65 add_action( 'rmp_theme_apply', array( $this, 'save_style_css_on_file' ), 10, 0 );
66 add_action( 'rmp_migrate_menu_style', array( $this, 'save_style_css_on_file' ), 10, 0 );
67 add_action( 'rmp_import_menu', array( $this, 'save_style_css_on_file' ), 10, 0 );
68 add_action('after_setup_theme', array( $this, 'rm_add_classic_menu_support' ) );
69
70 // Hide adminbar.
71 if ( 'hide' == $this->option_manager->get_global_option( 'menu_adjust_for_wp_admin_bar' ) ) {
72 add_filter( 'show_admin_bar', '__return_false' );
73 }
74 }
75
76 /**
77 * Function to call the css generate for all menu one by one.
78 *
79 * @return string $css
80 */
81 public function get_menus_scss_to_css() {
82 $menu_ids = get_all_rmp_menu_ids();
83
84 if ( empty( $menu_ids ) ) {
85 return;
86 }
87
88 $css = '';
89 foreach ( $menu_ids as $menu_id ) {
90 $css .= $this->get_css_for_menu( $menu_id );
91 }
92
93 $css .= $this->get_common_scss_to_css();
94
95 // Add custom css from setting page.
96 $css .= $this->option_manager->get_global_option( 'rmp_custom_css' );
97
98 // If minify is enable from settings then minify the style css.
99 if ( 'on' === $this->option_manager->get_global_option( 'rmp_minify_scripts' ) ) {
100 $css = $this->minify( $css );
101 }
102
103 return $css;
104 }
105
106 /**
107 * Function to save the css in files.
108 */
109 public function save_style_css_on_file() {
110 global $wp_filesystem;
111 if ( empty( $wp_filesystem ) ) {
112 require_once ABSPATH . 'wp-admin/includes/file.php';
113 }
114
115 WP_Filesystem();
116
117 $upload_dir = wp_upload_dir();
118
119 $dir = trailingslashit( $upload_dir['basedir'] ) . 'rmp-menu/css/';
120
121 if ( ! $wp_filesystem->is_dir( $dir ) ) {
122 wp_mkdir_p( $dir );
123 }
124
125 $css = $this->get_menus_scss_to_css();
126
127 if ( ! $wp_filesystem->put_contents( $dir . 'rmp-menu.css', $css, 0644 ) ) {
128 /*
129 * Hold the front end off before it tries again. The enqueue path rebuilds
130 * whenever the stored build does not match, so a write that keeps failing -
131 * uploads owned by another user after a migration, a read-only filesystem -
132 * would otherwise recompile every menu's stylesheet on every page load.
133 */
134 set_transient( 'rmp_css_write_failed', RMP_PLUGIN_VERSION, HOUR_IN_SECONDS );
135 return new \WP_Error( 'Notice: Unable to write css in file.' );
136 }
137
138 delete_transient( 'rmp_css_write_failed' );
139
140 /*
141 * Bust browser caches only now that the file really has changed. This used to
142 * run before the write, so a failing write moved the stylesheet URL on every
143 * attempt and browsers kept re-downloading a file that had not changed.
144 */
145 update_option( 'rmp_dynamic_file_version', current_time( 'H.i.s' ) );
146
147 // Record which build wrote this file so that a plugin update invalidates it.
148 update_option( 'rmp_generated_css_version', RMP_PLUGIN_VERSION );
149 }
150
151 /**
152 * Enqueue the stylesheet held on the filesystem.
153 */
154 public function enqueue_styles_as_file() {
155 $upload_dir = wp_upload_dir();
156
157 $filename = 'rmp-menu.css';
158
159 $file_path = trailingslashit( $upload_dir['basedir'] ) . 'rmp-menu/css/' . $filename;
160
161 /*
162 * Regenerate when the file is missing, and also when it was written by a different
163 * build. It is otherwise only rewritten when a menu is saved, so a release that
164 * changes the markup or the stylesheet would leave every site serving CSS that no
165 * longer matches its own HTML until an admin happened to re-save a menu.
166 */
167 $needs_build = ! file_exists( $file_path ) || RMP_PLUGIN_VERSION !== get_option( 'rmp_generated_css_version' );
168
169 // A recent write failed: serve what is on disk rather than recompiling every menu on
170 // every request. An admin saving a menu still retries straight away.
171 if ( $needs_build && ! get_transient( 'rmp_css_write_failed' ) ) {
172 $this->save_style_css_on_file();
173 }
174
175 if ( file_exists( $file_path ) ) {
176 $file_url = trailingslashit( $upload_dir['baseurl'] ) . 'rmp-menu/css/' . $filename;
177
178 $protocol = is_ssl() ? 'https://' : 'http://';
179
180 // Ensure we're using the correct protocol.
181 $file_url = str_replace( array( 'http://', 'https://' ), $protocol, $file_url );
182
183 wp_enqueue_style( 'rmp-menu-styles', $file_url, false, get_option('rmp_dynamic_file_version', wp_rand( 100, 1000 ) ) );
184 }
185 }
186
187 /**
188 * Function to minify the css to reduce the file size.
189 *
190 * @param string $row_css
191 *
192 * @return string $minified
193 */
194 public function minify( $row_css ) {
195
196 // Remove comments.
197 $minified = preg_replace( '!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $row_css );
198
199 // Remove tabs, spaces, newlines, etc.
200 $minified = str_replace( array( "\r\n", "\r", "\n", "\t", ' ', ' ', ' ' ), '', $minified );
201
202 // Remove other spaces before/after.
203 $minified = preg_replace( array( '(( )+{)', '({( )+)' ), '{', $minified );
204 $minified = preg_replace( array( '(( )+})', '(}( )+)', '(;( )*})' ), '}', $minified );
205 $minified = preg_replace( array( '(;( )+)', '(( )+;)' ), ';', $minified );
206
207 return $minified;
208 }
209
210 /**
211 * Function to combine the options of all the menus.
212 *
213 * @version 4.0.0
214 *
215 * @return array $options;
216 */
217 public function get_all_menu_options() {
218 $menu_ids = get_all_rmp_menu_ids();
219 $menu_options = array();
220
221 foreach ( $menu_ids as $menu_id ) {
222 $options = $this->option_manager->get_options( $menu_id );
223 $options['active_toggle_contents'] = $this->get_active_toggle_contents( $options );
224 $options['inactive_toggle_contents'] = $this->get_inactive_toggle_contents( $options );
225
226 $menu_options[] = $options;
227 }
228
229 return $menu_options;
230 }
231
232 /**
233 * Function get the active item toggle icon.
234 *
235 * @version 4.0.0
236 *
237 * @param array options
238 * @return HTML
239 */
240 public function get_active_toggle_contents( $options ) {
241 if ( ! empty( $options['active_arrow_font_icon'] ) ) {
242 return $options['active_arrow_font_icon'];
243 } elseif ( ! empty( $options['active_arrow_image'] ) ) {
244 return sprintf(
245 '<img alt="%s" src="%s" />',
246 rmp_image_alt_by_url( $options['active_arrow_image'] ),
247 esc_url( $options['active_arrow_image'] )
248 );
249 } else {
250 return $options['active_arrow_shape'];
251 }
252 }
253
254 /**
255 * Function get the inactive item toggle icon.
256 *
257 * @version 4.0.0
258 *
259 * @param array options
260 * @return HTML
261 */
262 public function get_inactive_toggle_contents( $options ) {
263 if ( ! empty( $options['inactive_arrow_font_icon'] ) ) {
264 return $options['inactive_arrow_font_icon'];
265 } elseif ( ! empty( $options['inactive_arrow_image'] ) ) {
266 return sprintf(
267 '<img alt="%s" src="%s" />',
268 rmp_image_alt_by_url( $options['inactive_arrow_image'] ),
269 esc_url( $options['inactive_arrow_image'] )
270 );
271 } else {
272 return $options['inactive_arrow_shape'];
273 }
274 }
275
276 /**
277 * Add menu scripts for frontend.
278 */
279 public function add_rmp_menu_frontend_scripts() {
280 $in_footer = false;
281 if ( 'on' === $this->option_manager->get_global_option( 'rmp_scripts_in_footer' ) ) {
282 $in_footer = true;
283 }
284
285 wp_enqueue_script( 'jquery' );
286
287 $rmp_front_js_path = '/assets/js/rmp-menu.js';
288 if ( 'on' === $this->option_manager->get_global_option( 'rmp_minify_scripts' ) ) {
289 $rmp_front_js_path = '/assets/js/rmp-menu.min.js';
290 }
291 wp_register_script(
292 'rmp_menu_scripts',
293 RMP_PLUGIN_URL_V4 . $rmp_front_js_path,
294 array( 'jquery' ),
295 RMP_PLUGIN_VERSION,
296 $in_footer
297 );
298
299 $menu_options = $this->get_all_menu_options();
300
301 wp_localize_script(
302 'rmp_menu_scripts',
303 'rmp_menu',
304 array(
305 'ajaxURL' => admin_url( 'admin-ajax.php' ),
306 'wp_nonce' => wp_create_nonce( 'ajax-nonce' ),
307 'menu' => $menu_options,
308 )
309 );
310
311 wp_enqueue_script( 'rmp_menu_scripts' );
312
313 if ( 'on' != $this->option_manager->get_global_option( 'rmp_remove_dashicons' ) ) {
314 wp_enqueue_style( 'dashicons' );
315 }
316
317 if ( 'on' === $this->option_manager->get_global_option( 'rmp_external_files' ) ) {
318 $this->enqueue_styles_as_file();
319 }
320
321 /**
322 * Fires after frontend scripts are enqueued.
323 *
324 * @since 4.0.4
325 */
326 do_action( 'after_rmp_enqueue_frontend_scripts' );
327 }
328
329 /**
330 * This function enqueue inline the menu style css.
331 *
332 * @version 4.0.0
333 */
334 public function enqueue_styles_as_inline() {
335 if ( 'on' == $this->option_manager->get_global_option( 'rmp_external_files' ) ) {
336 return;
337 }
338
339 $css = $this->get_menus_scss_to_css();
340 wp_register_style( 'responsive-menu', false, array(), RMP_PLUGIN_VERSION );
341 wp_enqueue_style( 'responsive-menu' );
342 wp_add_inline_style( 'responsive-menu', $css );
343 }
344
345 /**
346 * This function convert the scss to css for menu.
347 *
348 * @param int $menu_id This is menu id for which converting the scss to css.
349 *
350 * @return string|WP_Error
351 */
352 public function get_css_for_menu( $menu_id ) {
353 try {
354 $options = $this->option_manager->get_options( $menu_id );
355
356 $is_legacy = 'off';
357 if ( ! empty( get_option( 'responsive_menu_version' ) ) ) {
358 $is_legacy = 'on';
359 }
360
361 $tablet_breakpoint = '';
362 if ( ! empty( $options['tablet_breakpoint'] ) ) {
363 $tablet_breakpoint = $options['tablet_breakpoint'] . 'px';
364 }
365
366 $menu_trigger_id = '';
367 if ( ! empty( $options['menu_id'] ) ) {
368 $menu_trigger_id = '#rmp_menu_trigger-' . $options['menu_id'];
369 }
370
371 $button_position_type = '';
372 if ( ! empty( $options['button_position_type'] ) ) {
373 $button_position_type = $options['button_position_type'];
374 }
375
376 $menu_trigger_side = '';
377 if ( ! empty( $options['button_left_or_right'] ) ) {
378 $menu_trigger_side = $options['button_left_or_right'];
379 }
380
381 $button_distance_from_side = '0';
382 if ( ! empty( $options['button_distance_from_side'] ) ) {
383 $button_distance_from_side = $options['button_distance_from_side'] . $options['button_distance_from_side_unit'];
384 }
385
386 $menu_trigger_distance_from_top = '0';
387 if ( ! empty( $options['button_top'] ) ) {
388 $menu_trigger_distance_from_top = $options['button_top'] . $options['button_top_unit'];
389 }
390
391 $menu_trigger_width = '';
392 if ( ! empty( $options['button_width'] ) ) {
393 $menu_trigger_width = $options['button_width'] . $options['button_width_unit'];
394 }
395
396 $menu_trigger_height = '';
397 if ( ! empty( $options['button_height'] ) ) {
398 $menu_trigger_height = $options['button_height'] . $options['button_height_unit'];
399 }
400
401 $menu_trigger_background_color = 'inherit';
402 if ( ! empty( $options['button_background_colour'] ) ) {
403 $menu_trigger_background_color = $options['button_background_colour'];
404 }
405
406 $menu_trigger_background_color_hover = 'inherit';
407 if ( ! empty( $options['button_background_colour_hover'] ) ) {
408 $menu_trigger_background_color_hover = $options['button_background_colour_hover'];
409 }
410
411 $menu_trigger_active_color = 'inherit';
412 if ( ! empty( $options['button_background_colour_active'] ) ) {
413 $menu_trigger_active_color = $options['button_background_colour_active'];
414 }
415
416 $toggle_button_border_radius = '0';
417 if ( ! empty( $options['toggle_button_border_radius'] ) ) {
418 $toggle_button_border_radius = $options['toggle_button_border_radius'];
419 }
420
421 $menu_trigger_transparent_background = '';
422 if ( ! empty( $options['button_transparent_background'] ) ) {
423 $menu_trigger_transparent_background = $options['button_transparent_background'];
424 }
425
426 $menu_trigger_line_color = 'inherit';
427 if ( ! empty( $options['button_line_colour'] ) ) {
428 $menu_trigger_line_color = $options['button_line_colour'];
429 }
430
431 $menu_trigger_line_color_hover = 'inherit';
432 if ( ! empty( $options['button_line_colour_hover'] ) ) {
433 $menu_trigger_line_color_hover = $options['button_line_colour_hover'];
434 }
435
436 $menu_trigger_line_active_color = 'inherit';
437 if ( ! empty( $options['button_line_colour_active'] ) ) {
438 $menu_trigger_line_active_color = $options['button_line_colour_active'];
439 }
440
441 $menu_trigger_title_color = 'inherit';
442 if ( ! empty( $options['button_text_colour'] ) ) {
443 $menu_trigger_title_color = $options['button_text_colour'];
444 }
445
446 $menu_trigger_title_line_height = '';
447 if ( ! empty( $options['button_title_line_height'] ) ) {
448 $menu_trigger_title_line_height = $options['button_title_line_height'] . $options['button_title_line_height_unit'];
449 }
450
451 $menu_trigger_title_font_size = '';
452 if ( ! empty( $options['button_font_size'] ) ) {
453 $menu_trigger_title_font_size = $options['button_font_size'] . $options['button_font_size_unit'];
454 }
455
456 $menu_trigger_title_font = '';
457 if ( ! empty( $options['button_font'] ) ) {
458 $menu_trigger_title_font = $options['button_font'];
459 }
460
461 $menu_trigger_line_height = '';
462 if ( ! empty( $options['button_line_height'] ) ) {
463 $menu_trigger_line_height = $options['button_line_height'];
464 }
465
466 $menu_trigger_line_height_unit = '';
467 if ( ! empty( $options['button_line_height_unit'] ) ) {
468 $menu_trigger_line_height_unit = $options['button_line_height_unit'];
469 }
470
471 $menu_trigger_line_width = '';
472 if ( ! empty( $options['button_line_width'] ) ) {
473 $menu_trigger_line_width = $options['button_line_width'];
474 }
475
476 $menu_trigger_line_width_unit = '';
477 if ( ! empty( $options['button_line_width_unit'] ) ) {
478 $menu_trigger_line_width_unit = $options['button_line_width_unit'];
479 }
480
481 $menu_trigger_line_margin = '';
482 if ( ! empty( $options['button_line_margin'] ) ) {
483 $menu_trigger_line_margin = get_post_meta( $menu_id, 'rmp_lagecy_menu_line_space', true ) ? $options['button_line_margin'] : 10;
484 }
485
486 $menu_trigger_line_margin_unit = '';
487 if ( ! empty( $options['button_line_margin_unit'] ) ) {
488 $menu_trigger_line_margin_unit = $options['button_line_margin_unit'];
489 }
490
491 $menu_search_box_wrap = '';
492 if ( ! empty( $options['menu_id'] ) ) {
493 $menu_search_box_wrap = '#rmp-search-box-' . $options['menu_id'];
494 }
495
496 $menu_search_section_padding_left = '';
497 if ( ! empty( $options['menu_search_section_padding']['left'] ) ) {
498 $menu_search_section_padding_left = $options['menu_search_section_padding']['left'];
499 }
500
501 $menu_search_section_padding_top = '';
502 if ( ! empty( $options['menu_search_section_padding']['top'] ) ) {
503 $menu_search_section_padding_top = $options['menu_search_section_padding']['top'];
504 }
505
506 $menu_search_section_padding_right = '';
507 if ( ! empty( $options['menu_search_section_padding']['right'] ) ) {
508 $menu_search_section_padding_right = $options['menu_search_section_padding']['right'];
509 }
510
511 $menu_search_section_padding_bottom = '';
512 if ( ! empty( $options['menu_search_section_padding']['bottom'] ) ) {
513 $menu_search_section_padding_bottom = $options['menu_search_section_padding']['bottom'];
514 }
515
516 $menu_search_box_text_color = 'inherit';
517 if ( ! empty( $options['menu_search_box_text_colour'] ) ) {
518 $menu_search_box_text_color = $options['menu_search_box_text_colour'];
519 }
520
521 $menu_search_box_background_color = 'inherit';
522 if ( ! empty( $options['menu_search_box_background_colour'] ) ) {
523 $menu_search_box_background_color = $options['menu_search_box_background_colour'];
524 }
525
526 $menu_search_box_border_color = 'currentColor';
527 if ( ! empty( $options['menu_search_box_border_colour'] ) ) {
528 $menu_search_box_border_color = $options['menu_search_box_border_colour'];
529 }
530
531 $menu_search_box_placeholder_color = 'inherit';
532 if ( ! empty( $options['menu_search_box_placeholder_colour'] ) ) {
533 $menu_search_box_placeholder_color = $options['menu_search_box_placeholder_colour'];
534 }
535
536 $menu_search_box_border_radius = '0';
537 if ( ! empty( $options['menu_search_box_border_radius'] ) ) {
538 $menu_search_box_border_radius = $options['menu_search_box_border_radius'] . 'px';
539 }
540
541 $menu_search_box_height = '';
542 if ( ! empty( $options['menu_search_box_height'] ) ) {
543 $menu_search_box_height = $options['menu_search_box_height'];
544 }
545
546 $menu_search_box_height_unit = '';
547 if ( ! empty( $options['menu_search_box_height_unit'] ) ) {
548 $menu_search_box_height_unit = $options['menu_search_box_height_unit'];
549 }
550
551 $menu_additional_content_wrap = '';
552 if ( ! empty( $options['menu_id'] ) ) {
553 $menu_additional_content_wrap = '#rmp-menu-additional-content-' . $options['menu_id'];
554 }
555
556 $menu_additional_section_padding_left = '';
557 if ( ! empty( $options['menu_additional_section_padding']['left'] ) ) {
558 $menu_additional_section_padding_left = $options['menu_additional_section_padding']['left'];
559 }
560
561 $menu_additional_section_padding_top = '';
562 if ( ! empty( $options['menu_additional_section_padding']['top'] ) ) {
563 $menu_additional_section_padding_top = $options['menu_additional_section_padding']['top'];
564 }
565
566 $menu_additional_section_padding_right = '';
567 if ( ! empty( $options['menu_additional_section_padding']['right'] ) ) {
568 $menu_additional_section_padding_right = $options['menu_additional_section_padding']['right'];
569 }
570
571 $menu_additional_section_padding_bottom = '';
572 if ( ! empty( $options['menu_additional_section_padding']['bottom'] ) ) {
573 $menu_additional_section_padding_bottom = $options['menu_additional_section_padding']['bottom'];
574 }
575
576 $menu_additional_content_color = 'inherit';
577 if ( ! empty( $options['menu_additional_content_colour'] ) ) {
578 $menu_additional_content_color = $options['menu_additional_content_colour'];
579 }
580
581 $menu_additional_content_alignment = '';
582 if ( ! empty( $options['menu_additional_content_alignment'] ) ) {
583 $menu_additional_content_alignment = $options['menu_additional_content_alignment'];
584 }
585
586 $menu_additional_content_font_size = '';
587 if ( ! empty( $options['menu_additional_content_font_size'] ) ) {
588 $menu_additional_content_font_size = $options['menu_additional_content_font_size'];
589 }
590
591 $menu_additional_content_font_size_unit = '';
592 if ( ! empty( $options['menu_additional_content_font_size_unit'] ) ) {
593 $menu_additional_content_font_size_unit = $options['menu_additional_content_font_size_unit'];
594 }
595
596 $menu_social_icons_wrap = '';
597 if ( ! empty( $options['menu_id'] ) ) {
598 $menu_social_icons_wrap = '#rmp-menu-social-icons-' . $options['menu_id'];
599 }
600
601 $menu_social_icons_size = '';
602 if ( ! empty( $options['menu_social_icons_size'] ) ) {
603 $menu_social_icons_size = $options['menu_social_icons_size'];
604 }
605
606 $menu_social_icons_size_unit = 'px';
607 if ( ! empty( $options['menu_social_icons_size_unit'] ) ) {
608 $menu_social_icons_size_unit = $options['menu_social_icons_size_unit'];
609 }
610
611 $menu_social_icons_gap = '';
612 if ( ! empty( $options['menu_social_icons_gap'] ) ) {
613 $menu_social_icons_gap = $options['menu_social_icons_gap'];
614 }
615
616 $menu_social_icons_gap_unit = 'px';
617 if ( ! empty( $options['menu_social_icons_gap_unit'] ) ) {
618 $menu_social_icons_gap_unit = $options['menu_social_icons_gap_unit'];
619 }
620
621 $menu_social_icons_section_padding_left = '';
622 if ( ! empty( $options['menu_social_icons_section_padding']['left'] ) ) {
623 $menu_social_icons_section_padding_left = $options['menu_social_icons_section_padding']['left'];
624 }
625
626 $menu_social_icons_section_padding_top = '';
627 if ( ! empty( $options['menu_social_icons_section_padding']['top'] ) ) {
628 $menu_social_icons_section_padding_top = $options['menu_social_icons_section_padding']['top'];
629 }
630
631 $menu_social_icons_section_padding_right = '';
632 if ( ! empty( $options['menu_social_icons_section_padding']['right'] ) ) {
633 $menu_social_icons_section_padding_right = $options['menu_social_icons_section_padding']['right'];
634 }
635
636 $menu_social_icons_section_padding_bottom = '';
637 if ( ! empty( $options['menu_social_icons_section_padding']['bottom'] ) ) {
638 $menu_social_icons_section_padding_bottom = $options['menu_social_icons_section_padding']['bottom'];
639 }
640
641 $menu_title_wrap = '';
642 if ( ! empty( $options['menu_id'] ) ) {
643 $menu_title_wrap = '#rmp-menu-title-' . $options['menu_id'];
644 }
645
646 $menu_title_section_padding_left = '';
647 if ( ! empty( $options['menu_title_section_padding']['left'] ) ) {
648 $menu_title_section_padding_left = $options['menu_title_section_padding']['left'];
649 }
650
651 $menu_title_section_padding_top = '';
652 if ( ! empty( $options['menu_title_section_padding']['top'] ) ) {
653 $menu_title_section_padding_top = $options['menu_title_section_padding']['top'];
654 }
655
656 $menu_title_section_padding_right = '';
657 if ( ! empty( $options['menu_title_section_padding']['right'] ) ) {
658 $menu_title_section_padding_right = $options['menu_title_section_padding']['right'];
659 }
660
661 $menu_title_section_padding_bottom = '';
662 if ( ! empty( $options['menu_title_section_padding']['bottom'] ) ) {
663 $menu_title_section_padding_bottom = $options['menu_title_section_padding']['bottom'];
664 }
665
666 $menu_title_background = 'inherit';
667 if ( ! empty( $options['menu_title_background_colour'] ) ) {
668 $menu_title_background = $options['menu_title_background_colour'];
669 }
670
671 $menu_title_background_hover = 'inherit';
672 if ( ! empty( $options['menu_title_background_hover_colour'] ) ) {
673 $menu_title_background_hover = $options['menu_title_background_hover_colour'];
674 }
675
676 $menu_title_font_family = '';
677 if ( ! empty( $options['menu_title_font_family'] ) ) {
678 $menu_title_font_family = $options['menu_title_font_family'];
679 }
680
681 $menu_title_font_weight = '';
682 if ( ! empty( $options['menu_title_font_weight'] ) ) {
683 $menu_title_font_weight = $options['menu_title_font_weight'];
684 }
685
686 $menu_title_font_color = 'inherit';
687 if ( ! empty( $options['menu_title_colour'] ) ) {
688 $menu_title_font_color = $options['menu_title_colour'];
689 }
690
691 $menu_title_font_color_hover = 'inherit';
692 if ( ! empty( $options['menu_title_hover_colour'] ) ) {
693 $menu_title_font_color_hover = $options['menu_title_hover_colour'];
694 }
695
696 $menu_title_text_alignment = '';
697 if ( ! empty( $options['menu_title_alignment'] ) ) {
698 $menu_title_text_alignment = $options['menu_title_alignment'];
699 }
700
701 $menu_title_font_size = '';
702 if ( ! empty( $options['menu_title_font_size'] ) ) {
703 $menu_title_font_size = $options['menu_title_font_size'] . 'px';
704 }
705
706 $menu_title_image_width = '';
707 if ( ! empty( $options['menu_title_image_width'] ) ) {
708 $menu_title_image_width = $options['menu_title_image_width'] . $options['menu_title_image_width_unit'];
709 }
710
711 $menu_title_image_height = '';
712 if ( ! empty( $options['menu_title_image_height'] ) ) {
713 $menu_title_image_height = $options['menu_title_image_height'] . $options['menu_title_image_height_unit'];
714 }
715
716 $menu_container = '';
717 if ( ! empty( $options['menu_id'] ) ) {
718 $menu_container = '#rmp-container-' . $options['menu_id'];
719 }
720
721 $menu_container_padding_left = '';
722 if ( ! empty( $options['menu_container_padding']['left'] ) ) {
723 $menu_container_padding_left = $options['menu_container_padding']['left'];
724 }
725
726 $menu_container_padding_top = '';
727 if ( ! empty( $options['menu_container_padding']['top'] ) ) {
728 $menu_container_padding_top = $options['menu_container_padding']['top'];
729 }
730
731 $menu_container_padding_right = '';
732 if ( ! empty( $options['menu_container_padding']['right'] ) ) {
733 $menu_container_padding_right = $options['menu_container_padding']['right'];
734 }
735
736 $menu_container_padding_bottom = '';
737 if ( ! empty( $options['menu_container_padding']['bottom'] ) ) {
738 $menu_container_padding_bottom = $options['menu_container_padding']['bottom'];
739 }
740
741 $menu_width = '';
742 if ( ! empty( $options['menu_width'] ) ) {
743 $menu_width = $options['menu_width'];
744 }
745
746 $menu_width_unit = '';
747 if ( ! empty( $options['menu_width_unit'] ) ) {
748 $menu_width_unit = $options['menu_width_unit'];
749 }
750
751 $menu_maximum_width = '';
752 if ( ! empty( $options['menu_maximum_width'] ) ) {
753 $menu_maximum_width = $options['menu_maximum_width'];
754 }
755
756 $menu_maximum_width_unit = '';
757 if ( ! empty( $options['menu_maximum_width_unit'] ) ) {
758 $menu_maximum_width_unit = $options['menu_maximum_width_unit'];
759 }
760
761 $menu_minimum_width = '';
762 if ( ! empty( $options['menu_minimum_width'] ) ) {
763 $menu_minimum_width = $options['menu_minimum_width'];
764 }
765
766 $menu_minimum_width_unit = '';
767 if ( ! empty( $options['menu_minimum_width_unit'] ) ) {
768 $menu_minimum_width_unit = $options['menu_minimum_width_unit'];
769 }
770
771 $menu_container_background_colour = '';
772 if ( ! empty( $options['menu_container_background_colour'] ) ) {
773 $menu_container_background_colour = $options['menu_container_background_colour'];
774 }
775
776 $menu_container_background_image = '';
777 if ( ! empty( $options['menu_background_image'] ) ) {
778 $menu_container_background_image = $options['menu_background_image'];
779 }
780
781 $menu_container_appear_from = '';
782 if ( ! empty( $options['menu_appear_from'] ) ) {
783 $menu_container_appear_from = $options['menu_appear_from'];
784 }
785
786 $page_wrapper = '';
787 if ( ! empty( $options['page_wrapper'] ) ) {
788 $page_wrapper = $options['page_wrapper'];
789 }
790
791 $menu_wrap = '';
792 if ( ! empty( $options['menu_id'] ) ) {
793 $menu_wrap = '#rmp-menu-wrap-' . $options['menu_id'];
794 }
795
796 $menu_section_padding_left = '';
797 if ( ! empty( $options['menu_section_padding']['left'] ) ) {
798 $menu_section_padding_left = $options['menu_section_padding']['left'];
799 }
800
801 $menu_section_padding_top = '';
802 if ( ! empty( $options['menu_section_padding']['top'] ) ) {
803 $menu_section_padding_top = $options['menu_section_padding']['top'];
804 }
805
806 $menu_section_padding_right = '';
807 if ( ! empty( $options['menu_section_padding']['right'] ) ) {
808 $menu_section_padding_right = $options['menu_section_padding']['right'];
809 }
810
811 $menu_section_padding_bottom = '';
812 if ( ! empty( $options['menu_section_padding']['bottom'] ) ) {
813 $menu_section_padding_bottom = $options['menu_section_padding']['bottom'];
814 }
815
816 $menu_background_color = '';
817 if ( ! empty( $options['menu_background_colour'] ) ) {
818 $menu_background_color = $options['menu_background_colour'];
819 }
820
821 $menu_item_height = '';
822 if ( ! empty( $options['menu_links_height'] ) ) {
823 $menu_item_height = $options['menu_links_height'];
824 }
825
826 $menu_container_columns = '';
827 if ( ! empty( $options['menu_container_columns'] ) ) {
828 $menu_container_columns = $options['menu_container_columns'];
829 }
830
831 $menu_item_height_unit = '';
832 if ( ! empty( $options['menu_links_height_unit'] ) ) {
833 $menu_item_height_unit = $options['menu_links_height_unit'];
834 }
835
836 $menu_item_line_height = '';
837 if ( ! empty( $options['menu_links_line_height'] ) ) {
838 $menu_item_line_height = $options['menu_links_line_height'];
839 }
840
841 $menu_item_line_height_unit = '';
842 if ( ! empty( $options['menu_links_line_height_unit'] ) ) {
843 $menu_item_line_height_unit = $options['menu_links_line_height_unit'];
844 }
845
846 $menu_item_font_weight = 'intial';
847 if ( ! empty( $options['menu_font_weight'] ) ) {
848 $menu_item_font_weight = $options['menu_font_weight'];
849 }
850
851 $menu_item_letter_spacing = '0';
852 if ( ! empty( $options['menu_text_letter_spacing'] ) ) {
853 $menu_item_letter_spacing = $options['menu_text_letter_spacing'];
854 }
855
856 $submenu_text_letter_spacing = '0';
857 if ( ! empty( $options['submenu_text_letter_spacing'] ) ) {
858 $submenu_text_letter_spacing = $options['submenu_text_letter_spacing'];
859 }
860
861 $menu_item_border_width = '0';
862 if ( ! empty( $options['menu_border_width'] ) ) {
863 $menu_item_border_width = $options['menu_border_width'];
864 }
865
866 $menu_item_border_width_unit = '';
867 if ( ! empty( $options['menu_border_width_unit'] ) ) {
868 $menu_item_border_width_unit = $options['menu_border_width_unit'];
869 }
870
871 $menu_item_border_color = 'currentColor';
872 if ( ! empty( $options['menu_item_border_colour'] ) ) {
873 $menu_item_border_color = $options['menu_item_border_colour'];
874 }
875
876 $menu_item_border_color_hover = '';
877 if ( ! empty( $options['menu_item_border_colour_hover'] ) ) {
878 $menu_item_border_color_hover = $options['menu_item_border_colour_hover'];
879 }
880
881 $menu_current_item_border_color = 'currentColor';
882 if ( ! empty( $options['menu_current_item_border_colour'] ) ) {
883 $menu_current_item_border_color = $options['menu_current_item_border_colour'];
884 }
885
886 $menu_current_item_border_color_hover = '';
887 if ( ! empty( $options['menu_current_item_border_hover_colour'] ) ) {
888 $menu_current_item_border_color_hover = $options['menu_current_item_border_hover_colour'];
889 }
890
891 $menu_item_font_size = '';
892 if ( ! empty( $options['menu_font_size'] ) ) {
893 $menu_item_font_size = $options['menu_font_size'];
894 }
895
896 $menu_item_font_size_unit = '';
897 if ( ! empty( $options['menu_font_size_unit'] ) ) {
898 $menu_item_font_size_unit = $options['menu_font_size_unit'];
899 }
900
901 $menu_item_font_family = '';
902 if ( ! empty( $options['menu_font'] ) ) {
903 $menu_item_font_family = $options['menu_font'];
904 }
905
906 $menu_item_text_alignment = '';
907 if ( ! empty( $options['menu_text_alignment'] ) ) {
908 $menu_item_text_alignment = $options['menu_text_alignment'];
909 }
910
911 $menu_item_text_color = 'inherit';
912 if ( ! empty( $options['menu_link_colour'] ) ) {
913 $menu_item_text_color = $options['menu_link_colour'];
914 }
915
916 $menu_item_text_color_hover = 'inherit';
917 if ( ! empty( $options['menu_link_hover_colour'] ) ) {
918 $menu_item_text_color_hover = $options['menu_link_hover_colour'];
919 }
920
921 $menu_current_item_text_color = 'inherit';
922 if ( ! empty( $options['menu_current_link_colour'] ) ) {
923 $menu_current_item_text_color = $options['menu_current_link_colour'];
924 }
925
926 $menu_current_item_text_color_hover = 'inherit';
927 if ( ! empty( $options['menu_current_link_hover_colour'] ) ) {
928 $menu_current_item_text_color_hover = $options['menu_current_link_hover_colour'];
929 }
930
931 $menu_item_background_color = 'inherit';
932 if ( ! empty( $options['menu_item_background_colour'] ) ) {
933 $menu_item_background_color = $options['menu_item_background_colour'];
934 }
935
936 $menu_item_background_color_hover = 'inherit';
937 if ( ! empty( $options['menu_item_background_hover_colour'] ) ) {
938 $menu_item_background_color_hover = $options['menu_item_background_hover_colour'];
939 }
940
941 $menu_current_item_background_color = 'inherit';
942 if ( ! empty( $options['menu_current_item_background_colour'] ) ) {
943 $menu_current_item_background_color = $options['menu_current_item_background_colour'];
944 }
945
946 $menu_current_item_background_color_hover = 'inherit';
947 if ( ! empty( $options['menu_current_item_background_hover_colour'] ) ) {
948 $menu_current_item_background_color_hover = $options['menu_current_item_background_hover_colour'];
949 }
950
951 $menu_item_padding = '';
952 if ( ! empty( $options['menu_depth_0'] ) ) {
953 $menu_item_padding = $options['menu_depth_0'];
954 }
955
956 $menu_item_padding_unit = '';
957 if ( ! empty( $options['menu_depth_0_unit'] ) ) {
958 $menu_item_padding_unit = $options['menu_depth_0_unit'];
959 }
960
961 $menu_depth_side = '';
962 if ( ! empty( $options['menu_depth_side'] ) ) {
963 $menu_depth_side = $options['menu_depth_side'];
964 }
965
966 $menu_item_padding_depth_1 = '';
967 if ( ! empty( $options['menu_depth_1'] ) ) {
968 $menu_item_padding_depth_1 = $options['menu_depth_1'];
969 }
970
971 $menu_item_padding_depth_1_unit = '';
972 if ( ! empty( $options['menu_depth_1_unit'] ) ) {
973 $menu_item_padding_depth_1_unit = $options['menu_depth_1_unit'];
974 }
975
976 $menu_item_padding_depth_2 = '';
977 if ( ! empty( $options['menu_depth_2'] ) ) {
978 $menu_item_padding_depth_2 = $options['menu_depth_2'];
979 }
980
981 $menu_item_padding_depth_2_unit = '';
982 if ( ! empty( $options['menu_depth_2_unit'] ) ) {
983 $menu_item_padding_depth_2_unit = $options['menu_depth_2_unit'];
984 }
985
986 $menu_item_padding_depth_3 = '';
987 if ( ! empty( $options['menu_depth_3'] ) ) {
988 $menu_item_padding_depth_3 = $options['menu_depth_3'];
989 }
990
991 $menu_item_padding_depth_3_unit = '';
992 if ( ! empty( $options['menu_depth_3_unit'] ) ) {
993 $menu_item_padding_depth_3_unit = $options['menu_depth_3_unit'];
994 }
995
996 $menu_item_padding_depth_4 = '';
997 if ( ! empty( $options['menu_depth_4'] ) ) {
998 $menu_item_padding_depth_4 = $options['menu_depth_4'];
999 }
1000
1001 $menu_item_padding_depth_4_unit = '';
1002 if ( ! empty( $options['menu_depth_4_unit'] ) ) {
1003 $menu_item_padding_depth_4_unit = $options['menu_depth_4_unit'];
1004 }
1005
1006 $menu_word_wrap = '';
1007 if ( ! empty( $options['menu_word_wrap'] ) ) {
1008 $menu_word_wrap = $options['menu_word_wrap'];
1009 }
1010
1011 $menu_item_toggle_position = '';
1012 if ( ! empty( $options['arrow_position'] ) ) {
1013 $menu_item_toggle_position = $options['arrow_position'];
1014 }
1015
1016 $menu_item_toggle_height = '';
1017 if ( ! empty( $options['submenu_arrow_height'] ) ) {
1018 $menu_item_toggle_height = $options['submenu_arrow_height'];
1019 }
1020
1021 $menu_item_toggle_height_unit = '';
1022 if ( ! empty( $options['submenu_arrow_height_unit'] ) ) {
1023 $menu_item_toggle_height_unit = $options['submenu_arrow_height_unit'];
1024 }
1025
1026 $menu_item_toggle_width = '';
1027 if ( ! empty( $options['submenu_arrow_width'] ) ) {
1028 $menu_item_toggle_width = $options['submenu_arrow_width'];
1029 }
1030
1031 $menu_item_toggle_width_unit = '';
1032 if ( ! empty( $options['submenu_arrow_width_unit'] ) ) {
1033 $menu_item_toggle_width_unit = $options['submenu_arrow_width_unit'];
1034 }
1035
1036 $menu_item_toggle_text_color = 'inherit';
1037 if ( ! empty( $options['menu_sub_arrow_shape_colour'] ) ) {
1038 $menu_item_toggle_text_color = $options['menu_sub_arrow_shape_colour'];
1039 }
1040
1041 $menu_item_toggle_text_color_hover = 'inherit';
1042 if ( ! empty( $options['menu_sub_arrow_shape_hover_colour'] ) ) {
1043 $menu_item_toggle_text_color_hover = $options['menu_sub_arrow_shape_hover_colour'];
1044 }
1045
1046 $menu_current_item_toggle_text_color = 'inherit';
1047 if ( ! empty( $options['menu_sub_arrow_shape_colour_active'] ) ) {
1048 $menu_current_item_toggle_text_color = $options['menu_sub_arrow_shape_colour_active'];
1049 }
1050
1051 $menu_current_item_toggle_text_color_hover = 'inherit';
1052 if ( ! empty( $options['menu_sub_arrow_shape_hover_colour_active'] ) ) {
1053 $menu_current_item_toggle_text_color_hover = $options['menu_sub_arrow_shape_hover_colour_active'];
1054 }
1055
1056 $menu_item_toggle_background_color = 'inherit';
1057 if ( ! empty( $options['menu_sub_arrow_background_colour'] ) ) {
1058 $menu_item_toggle_background_color = $options['menu_sub_arrow_background_colour'];
1059 }
1060
1061 $menu_item_toggle_background_color_hover = 'inherit';
1062 if ( ! empty( $options['menu_sub_arrow_background_hover_colour'] ) ) {
1063 $menu_item_toggle_background_color_hover = $options['menu_sub_arrow_background_hover_colour'];
1064 }
1065
1066 $menu_current_item_toggle_background_color = 'inherit';
1067 if ( ! empty( $options['menu_sub_arrow_background_colour_active'] ) ) {
1068 $menu_current_item_toggle_background_color = $options['menu_sub_arrow_background_colour_active'];
1069 }
1070
1071 $menu_current_item_toggle_background_color_hover = 'inherit';
1072 if ( ! empty( $options['menu_sub_arrow_background_hover_colour_active'] ) ) {
1073 $menu_current_item_toggle_background_color_hover = $options['menu_sub_arrow_background_hover_colour_active'];
1074 }
1075
1076 $menu_item_toggle_border_color = 'currentColor';
1077 if ( ! empty( $options['menu_sub_arrow_border_colour'] ) ) {
1078 $menu_item_toggle_border_color = $options['menu_sub_arrow_border_colour'];
1079 }
1080
1081 $menu_item_toggle_border_color_hover = '';
1082 if ( ! empty( $options['menu_sub_arrow_border_hover_colour'] ) ) {
1083 $menu_item_toggle_border_color_hover = $options['menu_sub_arrow_border_hover_colour'];
1084 }
1085
1086 $menu_current_item_toggle_border_color = 'currentColor';
1087 if ( ! empty( $options['menu_sub_arrow_border_colour_active'] ) ) {
1088 $menu_current_item_toggle_border_color = $options['menu_sub_arrow_border_colour_active'];
1089 }
1090
1091 $menu_current_item_toggle_border_color_hover = '';
1092 if ( ! empty( $options['menu_sub_arrow_border_hover_colour_active'] ) ) {
1093 $menu_current_item_toggle_border_color_hover = $options['menu_sub_arrow_border_hover_colour_active'];
1094 }
1095
1096 $submenu_item_height = '';
1097 if ( ! empty( $options['submenu_links_height'] ) ) {
1098 $submenu_item_height = $options['submenu_links_height'];
1099 }
1100
1101 $submenu_item_height_unit = '';
1102 if ( ! empty( $options['submenu_links_height_unit'] ) ) {
1103 $submenu_item_height_unit = $options['submenu_links_height_unit'];
1104 }
1105
1106 $submenu_item_line_height = '';
1107 if ( ! empty( $options['submenu_links_line_height'] ) ) {
1108 $submenu_item_line_height = $options['submenu_links_line_height'];
1109 }
1110
1111 $submenu_item_line_height_unit = '';
1112 if ( ! empty( $options['submenu_links_line_height_unit'] ) ) {
1113 $submenu_item_line_height_unit = $options['submenu_links_line_height_unit'];
1114 }
1115
1116 $submenu_item_border_width = '0';
1117 if ( ! empty( $options['submenu_border_width'] ) ) {
1118 $submenu_item_border_width = $options['submenu_border_width'];
1119 }
1120
1121 $submenu_item_border_width_unit = '';
1122 if ( ! empty( $options['submenu_border_width_unit'] ) ) {
1123 $submenu_item_border_width_unit = $options['submenu_border_width_unit'];
1124 }
1125
1126 $submenu_item_border_color = 'currentColor';
1127 if ( ! empty( $options['submenu_item_border_colour'] ) ) {
1128 $submenu_item_border_color = $options['submenu_item_border_colour'];
1129 }
1130
1131 $submenu_item_border_color_hover = '';
1132 if ( ! empty( $options['submenu_item_border_colour_hover'] ) ) {
1133 $submenu_item_border_color_hover = $options['submenu_item_border_colour_hover'];
1134 }
1135
1136 $submenu_current_item_border_color = 'currentColor';
1137 if ( ! empty( $options['submenu_current_item_border_colour'] ) ) {
1138 $submenu_current_item_border_color = $options['submenu_current_item_border_colour'];
1139 }
1140
1141 $submenu_current_item_border_color_hover = '';
1142 if ( ! empty( $options['submenu_current_item_border_hover_colour'] ) ) {
1143 $submenu_current_item_border_color_hover = $options['submenu_current_item_border_hover_colour'];
1144 }
1145
1146 $submenu_item_font_size = '';
1147 if ( ! empty( $options['submenu_font_size'] ) ) {
1148 $submenu_item_font_size = $options['submenu_font_size'];
1149 }
1150
1151 $submenu_font_weight = '';
1152 if ( ! empty( $options['submenu_font_weight'] ) ) {
1153 $submenu_font_weight = $options['submenu_font_weight'];
1154 }
1155
1156 $submenu_item_font_size_unit = '';
1157 if ( ! empty( $options['submenu_font_size_unit'] ) ) {
1158 $submenu_item_font_size_unit = $options['submenu_font_size_unit'];
1159 }
1160
1161 $submenu_item_font_family = '';
1162 if ( ! empty( $options['submenu_font'] ) ) {
1163 $submenu_item_font_family = $options['submenu_font'];
1164 }
1165
1166 $submenu_item_text_alignment = '';
1167 if ( ! empty( $options['submenu_text_alignment'] ) ) {
1168 $submenu_item_text_alignment = $options['submenu_text_alignment'];
1169 }
1170
1171 $submenu_item_text_color = 'inherit';
1172 if ( ! empty( $options['submenu_link_colour'] ) ) {
1173 $submenu_item_text_color = $options['submenu_link_colour'];
1174 }
1175
1176 $submenu_item_text_color_hover = 'inherit';
1177 if ( ! empty( $options['submenu_link_hover_colour'] ) ) {
1178 $submenu_item_text_color_hover = $options['submenu_link_hover_colour'];
1179 }
1180
1181 $submenu_current_item_text_color = 'inherit';
1182 if ( ! empty( $options['submenu_current_link_colour'] ) ) {
1183 $submenu_current_item_text_color = $options['submenu_current_link_colour'];
1184 }
1185
1186 $submenu_current_item_text_color_hover = 'inherit';
1187 if ( ! empty( $options['submenu_current_link_hover_colour'] ) ) {
1188 $submenu_current_item_text_color_hover = $options['submenu_current_link_hover_colour'];
1189 }
1190
1191 $submenu_item_background_color = 'inherit';
1192 if ( ! empty( $options['submenu_item_background_colour'] ) ) {
1193 $submenu_item_background_color = $options['submenu_item_background_colour'];
1194 }
1195
1196 $submenu_item_background_color_hover = 'inherit';
1197 if ( ! empty( $options['submenu_item_background_hover_colour'] ) ) {
1198 $submenu_item_background_color_hover = $options['submenu_item_background_hover_colour'];
1199 }
1200
1201 $submenu_current_item_background_color = 'inherit';
1202 if ( ! empty( $options['submenu_current_item_background_colour'] ) ) {
1203 $submenu_current_item_background_color = $options['submenu_current_item_background_colour'];
1204 }
1205
1206 $submenu_current_item_background_color_hover = 'inherit';
1207 if ( ! empty( $options['submenu_current_item_background_hover_colour'] ) ) {
1208 $submenu_current_item_background_color_hover = $options['submenu_current_item_background_hover_colour'];
1209 }
1210
1211 $submenu_item_toggle_position = '';
1212 if ( ! empty( $options['submenu_arrow_position'] ) ) {
1213 $submenu_item_toggle_position = $options['submenu_arrow_position'];
1214 }
1215
1216 $submenu_item_toggle_height = '';
1217 if ( ! empty( $options['submenu_submenu_arrow_height'] ) ) {
1218 $submenu_item_toggle_height = $options['submenu_submenu_arrow_height'];
1219 }
1220
1221 $submenu_item_toggle_height_unit = '';
1222 if ( ! empty( $options['submenu_submenu_arrow_height_unit'] ) ) {
1223 $submenu_item_toggle_height_unit = $options['submenu_submenu_arrow_height_unit'];
1224 }
1225
1226 $submenu_item_toggle_width = '';
1227 if ( ! empty( $options['submenu_submenu_arrow_width'] ) ) {
1228 $submenu_item_toggle_width = $options['submenu_submenu_arrow_width'];
1229 }
1230
1231 $submenu_item_toggle_width_unit = '';
1232 if ( ! empty( $options['submenu_submenu_arrow_width_unit'] ) ) {
1233 $submenu_item_toggle_width_unit = $options['submenu_submenu_arrow_width_unit'];
1234 }
1235
1236 $menu_sub_arrow_border_width = '0';
1237 if ( ! empty( $options['menu_sub_arrow_border_width'] ) ) {
1238 $menu_sub_arrow_border_width = $options['menu_sub_arrow_border_width'];
1239 }
1240
1241 $menu_sub_arrow_border_width_unit = 'px';
1242 if ( ! empty( $options['menu_sub_arrow_border_width_unit'] ) ) {
1243 $menu_sub_arrow_border_width_unit = $options['menu_sub_arrow_border_width_unit'];
1244 }
1245
1246 $submenu_sub_arrow_border_width = '0';
1247 if ( ! empty( $options['submenu_sub_arrow_border_width'] ) ) {
1248 $submenu_sub_arrow_border_width = $options['submenu_sub_arrow_border_width'];
1249 }
1250
1251 $submenu_sub_arrow_border_width_unit = 'px';
1252 if ( ! empty( $options['submenu_sub_arrow_border_width_unit'] ) ) {
1253 $submenu_sub_arrow_border_width_unit = $options['submenu_sub_arrow_border_width_unit'];
1254 }
1255
1256 $submenu_item_toggle_text_color = 'inherit';
1257 if ( ! empty( $options['submenu_sub_arrow_shape_colour'] ) ) {
1258 $submenu_item_toggle_text_color = $options['submenu_sub_arrow_shape_colour'];
1259 }
1260
1261 $submenu_item_toggle_text_color_hover = 'inherit';
1262 if ( ! empty( $options['submenu_sub_arrow_shape_hover_colour'] ) ) {
1263 $submenu_item_toggle_text_color_hover = $options['submenu_sub_arrow_shape_hover_colour'];
1264 }
1265
1266 $submenu_current_item_toggle_text_color = 'inherit';
1267 if ( ! empty( $options['submenu_sub_arrow_shape_colour_active'] ) ) {
1268 $submenu_current_item_toggle_text_color = $options['submenu_sub_arrow_shape_colour_active'];
1269 }
1270
1271 $submenu_current_item_toggle_text_color_hover = 'inherit';
1272 if ( ! empty( $options['submenu_sub_arrow_shape_hover_colour_active'] ) ) {
1273 $submenu_current_item_toggle_text_color_hover = $options['submenu_sub_arrow_shape_hover_colour_active'];
1274 }
1275
1276 $submenu_item_toggle_background_color = 'inherit';
1277 if ( ! empty( $options['submenu_sub_arrow_background_colour'] ) ) {
1278 $submenu_item_toggle_background_color = $options['submenu_sub_arrow_background_colour'];
1279 }
1280
1281 $submenu_item_toggle_background_color_hover = 'inherit';
1282 if ( ! empty( $options['submenu_sub_arrow_background_hover_colour'] ) ) {
1283 $submenu_item_toggle_background_color_hover = $options['submenu_sub_arrow_background_hover_colour'];
1284 }
1285
1286 $submenu_current_item_toggle_background_color = 'inherit';
1287 if ( ! empty( $options['submenu_sub_arrow_background_colour_active'] ) ) {
1288 $submenu_current_item_toggle_background_color = $options['submenu_sub_arrow_background_colour_active'];
1289 }
1290
1291 $submenu_current_item_toggle_background_color_hover = 'inherit';
1292 if ( ! empty( $options['submenu_sub_arrow_background_hover_colour_active'] ) ) {
1293 $submenu_current_item_toggle_background_color_hover = $options['submenu_sub_arrow_background_hover_colour_active'];
1294 }
1295
1296 $submenu_item_toggle_border_color = 'currentColor';
1297 if ( ! empty( $options['submenu_sub_arrow_border_colour'] ) ) {
1298 $submenu_item_toggle_border_color = $options['submenu_sub_arrow_border_colour'];
1299 }
1300
1301 $submenu_item_toggle_border_color_hover = '';
1302 if ( ! empty( $options['submenu_sub_arrow_border_hover_colour'] ) ) {
1303 $submenu_item_toggle_border_color_hover = $options['submenu_sub_arrow_border_hover_colour'];
1304 }
1305
1306 $submenu_current_item_toggle_border_color = 'currentColor';
1307 if ( ! empty( $options['submenu_sub_arrow_border_colour_active'] ) ) {
1308 $submenu_current_item_toggle_border_color = $options['submenu_sub_arrow_border_colour_active'];
1309 }
1310
1311 $submenu_current_item_toggle_border_color_hover = '';
1312 if ( ! empty( $options['submenu_sub_arrow_border_hover_colour_active'] ) ) {
1313 $submenu_current_item_toggle_border_color_hover = $options['submenu_sub_arrow_border_hover_colour_active'];
1314 }
1315
1316 // Animation delay and times.
1317
1318 $animation_speed = '';
1319 if ( ! empty( $options['animation_speed'] ) ) {
1320 $animation_speed = $options['animation_speed'] . 's';
1321 }
1322
1323 $animation_type = '';
1324 if ( ! empty( $options['animation_type'] ) ) {
1325 $animation_type = $options['animation_type'];
1326 }
1327
1328 $color_transition_speed = '';
1329 if ( ! empty( $options['transition_speed'] ) ) {
1330 $color_transition_speed = $options['transition_speed'] . 's';
1331 }
1332
1333 $sub_menu_transition_speed = '';
1334 if ( ! empty( $options['sub_menu_speed'] ) ) {
1335 $sub_menu_transition_speed = $options['sub_menu_speed'] . 's';
1336 }
1337
1338 $menu_to_hide = '';
1339 if ( ! empty( $options['menu_to_hide'] ) ) {
1340 $menu_to_hide = $options['menu_to_hide'];
1341 }
1342
1343 $parse_options = array(
1344 // Menu breakpoints
1345 'tablet_breakpoint' => $tablet_breakpoint,
1346
1347 // Menu hamburger toggle options.
1348 'menu_trigger_id' => $menu_trigger_id,
1349 'menu_trigger_position_type' => $button_position_type,
1350 'menu_trigger_side' => $menu_trigger_side,
1351 'menu_trigger_distance_from_side' => $button_distance_from_side,
1352 'menu_trigger_distance_from_top' => $menu_trigger_distance_from_top,
1353 'menu_trigger_width' => $menu_trigger_width,
1354 'menu_trigger_height' => $menu_trigger_height,
1355 'menu_trigger_background_color' => $menu_trigger_background_color,
1356 'menu_trigger_background_color_hover' => $menu_trigger_background_color_hover,
1357 'menu_trigger_active_color' => $menu_trigger_active_color,
1358 'toggle_button_border_radius' => $toggle_button_border_radius,
1359 'menu_trigger_transparent_background' => $menu_trigger_transparent_background,
1360 'menu_trigger_line_color' => $menu_trigger_line_color,
1361 'menu_trigger_line_color_hover' => $menu_trigger_line_color_hover,
1362 'menu_trigger_line_active_color' => $menu_trigger_line_active_color,
1363 'menu_trigger_title_color' => $menu_trigger_title_color,
1364 'menu_trigger_title_line_height' => $menu_trigger_title_line_height,
1365 'menu_trigger_title_font_size' => $menu_trigger_title_font_size,
1366 'menu_trigger_title_font' => $menu_trigger_title_font,
1367 'menu_trigger_line_height' => $menu_trigger_line_height,
1368 'menu_trigger_line_height_unit' => $menu_trigger_line_height_unit,
1369 'menu_trigger_line_width' => $menu_trigger_line_width,
1370 'menu_trigger_line_width_unit' => $menu_trigger_line_width_unit,
1371 'menu_trigger_line_margin' => $menu_trigger_line_margin,
1372 'menu_trigger_line_margin_unit' => $menu_trigger_line_margin_unit,
1373
1374 // Menu searchbox options.
1375 'menu_search_box_wrap' => $menu_search_box_wrap,
1376 'menu_search_box_text_color' => $menu_search_box_text_color,
1377 'menu_search_box_background_color' => $menu_search_box_background_color,
1378 'menu_search_box_border_color' => $menu_search_box_border_color,
1379 'menu_search_box_placeholder_color' => $menu_search_box_placeholder_color,
1380 'menu_search_box_border_radius' => $menu_search_box_border_radius,
1381 'menu_search_box_height_unit' => $menu_search_box_height_unit,
1382 'menu_search_box_height' => $menu_search_box_height,
1383 'menu_search_section_padding_bottom' => $menu_search_section_padding_bottom,
1384 'menu_search_section_padding_right' => $menu_search_section_padding_right,
1385 'menu_search_section_padding_top' => $menu_search_section_padding_top,
1386 'menu_search_section_padding_left' => $menu_search_section_padding_left,
1387
1388 // Menu additional contents options.
1389 'menu_additional_content_wrap' => $menu_additional_content_wrap,
1390 'menu_additional_content_color' => $menu_additional_content_color,
1391 'menu_additional_content_alignment' => $menu_additional_content_alignment,
1392 'menu_additional_content_font_size' => $menu_additional_content_font_size,
1393 'menu_additional_content_font_size_unit' => $menu_additional_content_font_size_unit,
1394 'menu_additional_section_padding_left' => $menu_additional_section_padding_left,
1395 'menu_additional_section_padding_top' => $menu_additional_section_padding_top,
1396 'menu_additional_section_padding_bottom' => $menu_additional_section_padding_bottom,
1397 'menu_additional_section_padding_right' => $menu_additional_section_padding_right,
1398
1399 // Menu social icons options.
1400 'menu_social_icons_wrap' => $menu_social_icons_wrap,
1401 'menu_social_icons_size' => $menu_social_icons_size,
1402 'menu_social_icons_size_unit' => $menu_social_icons_size_unit,
1403 'menu_social_icons_gap' => $menu_social_icons_gap,
1404 'menu_social_icons_gap_unit' => $menu_social_icons_gap_unit,
1405 'menu_social_icons_section_padding_left' => $menu_social_icons_section_padding_left,
1406 'menu_social_icons_section_padding_top' => $menu_social_icons_section_padding_top,
1407 'menu_social_icons_section_padding_right' => $menu_social_icons_section_padding_right,
1408 'menu_social_icons_section_padding_bottom' => $menu_social_icons_section_padding_bottom,
1409
1410 // Menu title options.
1411 'menu_title_wrap' => $menu_title_wrap,
1412 'menu_title_font_weight' => $menu_title_font_weight,
1413 'menu_title_font_family' => $menu_title_font_family,
1414 'menu_title_background' => $menu_title_background,
1415 'menu_title_background_hover' => $menu_title_background_hover,
1416 'menu_title_font_color' => $menu_title_font_color,
1417 'menu_title_font_color_hover' => $menu_title_font_color_hover,
1418 'menu_title_font_size' => $menu_title_font_size,
1419 'menu_title_image_width' => $menu_title_image_width,
1420 'menu_title_image_height' => $menu_title_image_height,
1421 'menu_title_text_alignment' => $menu_title_text_alignment,
1422 'menu_title_section_padding_left' => $menu_title_section_padding_left,
1423 'menu_title_section_padding_top' => $menu_title_section_padding_top,
1424 'menu_title_section_padding_right' => $menu_title_section_padding_right,
1425 'menu_title_section_padding_bottom' => $menu_title_section_padding_bottom,
1426
1427 // Menu items and it's settings options.
1428 'menu_container' => $menu_container,
1429 'menu_width' => $menu_width,
1430 'menu_width_unit' => $menu_width_unit,
1431 'menu_maximum_width' => $menu_maximum_width,
1432 'menu_maximum_width_unit' => $menu_maximum_width_unit,
1433 'menu_minimum_width' => $menu_minimum_width,
1434 'menu_minimum_width_unit' => $menu_minimum_width_unit,
1435 'menu_container_background_colour' => $menu_container_background_colour,
1436 'menu_container_background_image' => "'" . $menu_container_background_image . "'",
1437 'menu_container_appear_from' => $menu_container_appear_from,
1438 'page_wrapper' => $page_wrapper,
1439 'menu_to_hide' => $menu_to_hide,
1440 'menu_container_padding_left' => $menu_container_padding_left,
1441 'menu_container_padding_top' => $menu_container_padding_top,
1442 'menu_container_padding_bottom' => $menu_container_padding_bottom,
1443 'menu_container_padding_right' => $menu_container_padding_right,
1444 'menu_wrap' => $menu_wrap,
1445 'menu_section_padding_bottom' => $menu_section_padding_bottom,
1446 'menu_section_padding_right' => $menu_section_padding_right,
1447 'menu_section_padding_top' => $menu_section_padding_top,
1448 'menu_section_padding_left' => $menu_section_padding_left,
1449
1450 'menu_background_color' => $menu_background_color,
1451 'menu_container_columns' => $menu_container_columns,
1452 'menu_item_height' => $menu_item_height,
1453 'menu_item_height_unit' => $menu_item_height_unit,
1454 'menu_item_line_height' => $menu_item_line_height,
1455 'menu_item_line_height_unit' => $menu_item_line_height_unit,
1456 'menu_item_font_weight' => $menu_item_font_weight,
1457 'menu_item_letter_spacing' => $menu_item_letter_spacing,
1458
1459 'menu_item_border_width' => $menu_item_border_width,
1460 'menu_item_border_width_unit' => $menu_item_border_width_unit,
1461 'menu_item_border_color' => $menu_item_border_color,
1462 'menu_item_border_color_hover' => $menu_item_border_color_hover,
1463 'menu_current_item_border_color' => $menu_current_item_border_color,
1464 'menu_current_item_border_color_hover' => $menu_current_item_border_color_hover,
1465
1466 'menu_item_font_size' => $menu_item_font_size,
1467 'menu_item_font_size_unit' => $menu_item_font_size_unit,
1468 'menu_item_font_family' => $menu_item_font_family,
1469 'menu_item_text_alignment' => $menu_item_text_alignment,
1470 'menu_item_text_color' => $menu_item_text_color,
1471 'menu_item_text_color_hover' => $menu_item_text_color_hover,
1472 'menu_current_item_text_color' => $menu_current_item_text_color,
1473 'menu_current_item_text_color_hover' => $menu_current_item_text_color_hover,
1474
1475 'menu_item_padding' => $menu_item_padding,
1476 'menu_item_padding_unit' => $menu_item_padding_unit,
1477 'menu_item_background_color' => $menu_item_background_color,
1478 'menu_item_background_color_hover' => $menu_item_background_color_hover,
1479 'menu_current_item_background_color' => $menu_current_item_background_color,
1480 'menu_current_item_background_color_hover' => $menu_current_item_background_color_hover,
1481
1482 'menu_item_toggle_position' => $menu_item_toggle_position,
1483 'menu_item_toggle_height' => $menu_item_toggle_height,
1484 'menu_item_toggle_height_unit' => $menu_item_toggle_height_unit,
1485 'menu_item_toggle_width' => $menu_item_toggle_width,
1486 'menu_item_toggle_width_unit' => $menu_item_toggle_width_unit,
1487 'menu_item_toggle_text_color' => $menu_item_toggle_text_color,
1488 'menu_item_toggle_text_color_hover' => $menu_item_toggle_text_color_hover,
1489 'menu_current_item_toggle_text_color' => $menu_current_item_toggle_text_color,
1490 'menu_current_item_toggle_text_color_hover' => $menu_current_item_toggle_text_color_hover,
1491 'menu_item_toggle_background_color' => $menu_item_toggle_background_color,
1492 'menu_item_toggle_background_color_hover' => $menu_item_toggle_background_color_hover,
1493 'menu_current_item_toggle_background_color' => $menu_current_item_toggle_background_color,
1494 'menu_current_item_toggle_background_color_hover' => $menu_current_item_toggle_background_color_hover,
1495 'menu_item_toggle_border_color' => $menu_item_toggle_border_color,
1496 'menu_item_toggle_border_color_hover' => $menu_item_toggle_border_color_hover,
1497 'menu_current_item_toggle_border_color' => $menu_current_item_toggle_border_color,
1498 'menu_current_item_toggle_border_color_hover' => $menu_current_item_toggle_border_color_hover,
1499 'menu_item_toggle_border_width' => $menu_sub_arrow_border_width,
1500 'menu_item_toggle_border_width_unit' => $menu_sub_arrow_border_width_unit,
1501
1502 // Sub-level menu items options.
1503 'submenu_item_height' => $submenu_item_height,
1504 'submenu_item_height_unit' => $submenu_item_height_unit,
1505 'submenu_item_line_height' => $submenu_item_line_height,
1506 'submenu_item_line_height_unit' => $submenu_item_line_height_unit,
1507
1508 'submenu_item_border_width' => $submenu_item_border_width,
1509 'submenu_item_border_width_unit' => $submenu_item_border_width_unit,
1510 'submenu_item_border_color' => $submenu_item_border_color,
1511 'submenu_item_border_color_hover' => $submenu_item_border_color_hover,
1512 'submenu_current_item_border_color' => $submenu_current_item_border_color,
1513 'submenu_current_item_border_color_hover' => $submenu_current_item_border_color_hover,
1514
1515 'submenu_item_font_size' => $submenu_item_font_size,
1516 'submenu_font_weight' => $submenu_font_weight,
1517 'submenu_item_font_size_unit' => $submenu_item_font_size_unit,
1518 'submenu_item_font_family' => $submenu_item_font_family,
1519 'submenu_item_text_alignment' => $submenu_item_text_alignment,
1520 'submenu_text_letter_spacing' => $submenu_text_letter_spacing,
1521
1522 'submenu_item_text_color' => $submenu_item_text_color,
1523 'submenu_item_text_color_hover' => $submenu_item_text_color_hover,
1524 'submenu_current_item_text_color' => $submenu_current_item_text_color,
1525 'submenu_current_item_text_color_hover' => $submenu_current_item_text_color_hover,
1526 'submenu_item_background_color' => $submenu_item_background_color,
1527 'submenu_item_background_color_hover' => $submenu_item_background_color_hover,
1528 'submenu_current_item_background_color' => $submenu_current_item_background_color,
1529 'submenu_current_item_background_color_hover' => $submenu_current_item_background_color_hover,
1530
1531 'submenu_item_toggle_position' => $submenu_item_toggle_position,
1532 'submenu_item_toggle_height' => $submenu_item_toggle_height,
1533 'submenu_item_toggle_height_unit' => $submenu_item_toggle_height_unit,
1534 'submenu_item_toggle_width' => $submenu_item_toggle_width,
1535 'submenu_item_toggle_width_unit' => $submenu_item_toggle_width_unit,
1536 'is_legacy' => $is_legacy,
1537
1538 'submenu_item_toggle_text_color' => $submenu_item_toggle_text_color,
1539 'submenu_item_toggle_text_color_hover' => $submenu_item_toggle_text_color_hover,
1540 'submenu_current_item_toggle_text_color' => $submenu_current_item_toggle_text_color,
1541 'submenu_current_item_toggle_text_color_hover' => $submenu_current_item_toggle_text_color_hover,
1542 'submenu_item_toggle_background_color' => $submenu_item_toggle_background_color,
1543 'submenu_item_toggle_background_color_hover' => $submenu_item_toggle_background_color_hover,
1544 'submenu_current_item_toggle_background_color' => $submenu_current_item_toggle_background_color,
1545 'submenu_current_item_toggle_background_color_hover' => $submenu_current_item_toggle_background_color_hover,
1546 'submenu_item_toggle_border_color' => $submenu_item_toggle_border_color,
1547 'submenu_item_toggle_border_color_hover' => $submenu_item_toggle_border_color_hover,
1548 'submenu_current_item_toggle_border_color' => $submenu_current_item_toggle_border_color,
1549 'submenu_current_item_toggle_border_color_hover' => $submenu_current_item_toggle_border_color_hover,
1550
1551 'submenu_item_toggle_border_width' => $submenu_sub_arrow_border_width,
1552 'submenu_item_toggle_border_width_unit' => $submenu_sub_arrow_border_width_unit,
1553
1554 'menu_depth_side' => $menu_depth_side,
1555 'menu_item_padding_depth_1' => $menu_item_padding_depth_1,
1556 'menu_item_padding_depth_1_unit' => $menu_item_padding_depth_1_unit,
1557 'menu_item_padding_depth_2' => $menu_item_padding_depth_2,
1558 'menu_item_padding_depth_2_unit' => $menu_item_padding_depth_2_unit,
1559 'menu_item_padding_depth_3' => $menu_item_padding_depth_3,
1560 'menu_item_padding_depth_3_unit' => $menu_item_padding_depth_3_unit,
1561 'menu_item_padding_depth_4' => $menu_item_padding_depth_4,
1562 'menu_item_padding_depth_4_unit' => $menu_item_padding_depth_4_unit,
1563 'menu_word_wrap' => $menu_word_wrap,
1564
1565 // Animation and transition.
1566 'animation_speed' => $animation_speed,
1567 'animation_type' => $animation_type,
1568 'color_transition_speed' => $color_transition_speed,
1569 'sub_menu_transition_speed' => $sub_menu_transition_speed,
1570 );
1571
1572 /**
1573 * Apply before parse the scss to css.
1574 *
1575 * @since 4.1.0
1576 *
1577 * @param array $parse_options Parsed menu settings.
1578 * @param int $menu_id Menu Id.
1579 * @param array $options Menu options array.
1580 */
1581 $parse_options = apply_filters( 'rmp_before_parse_scss_to_css', $parse_options, $menu_id, $options );
1582
1583 $scss = new Compiler();
1584 $scss->setImportPaths( RMP_PLUGIN_PATH_V4 . '/assets/scss/' );
1585 $scss->addVariables( $parse_options );
1586 $css = $scss->compile( '@import "main.scss";' );
1587
1588 /**
1589 * Apply after parsed the scss to css.
1590 *
1591 * @since 4.1.0
1592 *
1593 * @param string $css Compiled CSS.
1594 * @param int $menu_id Menu Id.
1595 * @param array $parse_options Parsed menu settings.
1596 * @param array $options Menu options array.
1597 */
1598 $css = apply_filters( 'rmp_after_parse_scss_to_css', $css, $menu_id, $parse_options, $options );
1599 $css .= $this->get_social_icons_color_css( $options );
1600
1601 return $css;
1602 } catch ( Exception $e ) {
1603 return new \WP_Error( 'Warning: Menu style scss compile failed <br/> <br />' . $e->getMessage() );
1604 }
1605 }
1606
1607 /**
1608 * Build dynamic social icon colors CSS.
1609 *
1610 * @param array $options Menu options array.
1611 *
1612 * @return string
1613 */
1614 private function get_social_icons_color_css( $options ) {
1615 if ( empty( $options['menu_id'] ) ) {
1616 return '';
1617 }
1618
1619 if ( empty( $options['menu_social_icons'] ) || ! is_array( $options['menu_social_icons'] ) ) {
1620 return '';
1621 }
1622
1623 $menu_id = $options['menu_id'];
1624 $css = '';
1625 $base = '#rmp-menu-social-icons-' . $menu_id;
1626
1627 foreach ( $options['menu_social_icons'] as $index => $icon ) {
1628 $color = ! empty( $icon['color'] ) ? sanitize_text_field( $icon['color'] ) : '';
1629 $hover = ! empty( $icon['hover_color'] ) ? sanitize_text_field( $icon['hover_color'] ) : '';
1630
1631 if ( '' === $color && '' === $hover ) {
1632 continue;
1633 }
1634
1635 $item_selector = $base . ' .rmp-social-icon-item--' . sanitize_html_class( (string) $index );
1636 $link_selector = $item_selector . ' .rmp-social-icon-link, ' . $item_selector . ' .rmp-social-icon-link--no-link';
1637 $hover_selector = $item_selector . ' .rmp-social-icon-link:hover, ' . $item_selector . ' .rmp-social-icon-link--no-link:hover';
1638
1639 if ( '' !== $color ) {
1640 $css .= $link_selector . '{ color:' . $color . '; }';
1641 $css .= $item_selector . ' .rmp-social-icon svg{ fill:' . $color . '; }';
1642 }
1643
1644 if ( '' !== $hover ) {
1645 $css .= $hover_selector . '{ color:' . $hover . '; }';
1646 $css .= $hover_selector . ' svg{ fill:' . $hover . '; }';
1647 }
1648 }
1649
1650 return $css;
1651 }
1652
1653 /**
1654 * This function convert the common scss style to css.
1655 *
1656 * @return string/WP_Error
1657 */
1658 public function get_common_scss_to_css() {
1659 try {
1660 $menu_adjust_for_wp_admin_bar = $this->option_manager->get_global_option( 'menu_adjust_for_wp_admin_bar' );
1661
1662 $options = array(
1663 'menu_adjust_for_wp_admin_bar' => $menu_adjust_for_wp_admin_bar,
1664 );
1665
1666 $scss = new Compiler();
1667 $scss->setImportPaths( RMP_PLUGIN_PATH_V4 . '/assets/scss/' );
1668 $scss->addVariables( $options );
1669 $css = $scss->compile( '@import "common.scss";' );
1670
1671 return $css;
1672 } catch ( Exception $e ) {
1673 return new \WP_Error( 'Warning: Common style scss compile failed <br/> <br />' . $e->getMessage() );
1674 }
1675 }
1676
1677 /**
1678 * Adding theme support for menus
1679 *
1680 * @since 4.2.0
1681 */
1682 public function rm_add_classic_menu_support() {
1683 add_theme_support( 'menus' );
1684 }
1685 }
1686