Your IP : 216.73.216.196
<?php
/***********
MENU STYLES
************/
///////////////////////////////////////
//////// THE MANAGEMENT
///////////////////////////////////////
function ubermenu_generate_all_menu_styles( $menu_styles = false ){
$styles = '';
if( !$menu_styles ){
$menu_styles = get_option( UBERMENU_MENU_STYLES , array() );
}
foreach( $menu_styles as $menu_id => $rules ){
if( empty( $rules ) ) continue;
$styles.= "/* $menu_id */\n";
//Normal
ubermenu_process_menu_rules( $rules , false , $styles );
//Responsive
if( isset( $rules['_responsive'] ) ){
$breakpoint = ubermenu_op( 'responsive_breakpoint' , 'general' );
if( !$breakpoint ) $breakpoint = 959;
if( is_numeric( $breakpoint ) ) $breakpoint.= 'px';
$styles.= "/* $menu_id - responsive */\n";
$styles.= "@media screen and (max-width:$breakpoint){\n";
ubermenu_process_menu_rules( $rules , '_responsive' , $styles );
$styles.= "}\n";
}
}
return $styles;
}
function ubermenu_process_menu_rules( $rules , $flag, &$styles ){
if( $flag ){
if( isset( $rules[$flag] ) ){
$rules = $rules[$flag];
}
else return;
}
$prefix_boost = ubermenu_op( 'custom_prefix' , 'general' );
foreach( $rules as $selector => $property_map ){
if( $selector == '_responsive' ) continue;
$styles.= "$prefix_boost $selector { ";
foreach( $property_map as $property => $value ){
if( is_array( $value ) ){
//Multiple instances of this property (for example, when using browser prefix gradients)
foreach( $value as $v ){
$styles.= "$property:$v; ";
}
}
else{
$styles.= "$property:$value; ";
}
}
$styles.= "}\n";
}
//return $styles;
}
/**
* Call ubermenu_save_menu_styles() for each menu instance
*/
add_action( 'ubermenu_settings_panel_updated' , 'ubermenu_save_all_menu_styles' );
add_action( 'customize_save_after' , 'ubermenu_save_all_menu_styles' );
function ubermenu_save_all_menu_styles(){
ubermenu_save_menu_styles( 'main' );
if( function_exists( 'ubermenu_get_menu_instances' ) ){
$menus = ubermenu_get_menu_instances();
foreach( $menus as $menu_id ){
ubermenu_save_menu_styles( $menu_id );
}
}
ubermenu_reset_generated_styles(); //clears transient
add_settings_error( 'menu' , 'menu-styles' , 'Custom menu styles updated.' , 'updated' );
}
/**
* For each field, checks to see if it has a custom style callback.
* If callback exists, runs it to generate the style and adds that
* style to the master array of styles. Then saves all styles back
* to the DB in an array format
* ($menu_id => $selector => $property => $value )
*
* @param string $menu_id The ID of the menu instance to save
* @param boolean $fields An optional set of fields to use.
* Uses all registered settings by default
*/
function ubermenu_save_menu_styles( $menu_id , $fields = false ){
$menu_key = UBERMENU_PREFIX . $menu_id;
if( !$fields ){
$all_fields = ubermenu_get_settings_fields();
$fields = $all_fields[$menu_key];
}
$menu_styles = array();
/*
if( !isset( $menu_styles[$menu_id] ) ){
$menu_styles[$menu_id] = array();
}
*/
foreach( $fields as $field ){
if( isset( $field['custom_style'] ) ){
$callback = 'ubermenu_get_menu_style_'. $field['custom_style'];
if( function_exists( $callback ) ){
$callback( $field , $menu_id , $menu_styles );
}
}
}
//up( $menu_styles );
$all_styles = get_option( UBERMENU_MENU_STYLES , array() );
$all_styles[$menu_id] = $menu_styles;
//uberp( $all_styles , 3 );
update_option( UBERMENU_MENU_STYLES , $all_styles );
}
function ubermenu_delete_menu_styles( $menu_id ){
$all_styles = get_option( UBERMENU_MENU_STYLES , array() );
unset( $all_styles[$menu_id] );
update_option( UBERMENU_MENU_STYLES , $all_styles );
ubermenu_reset_generated_styles(); //clear transient
}
///////////////////////////////////////
//////// HELPERS
///////////////////////////////////////
/*
* HELPER: BACKGROUND GRADIENT
*/
function ubermenu_set_menu_style_background_gradient( $val , $selector , &$menu_styles ){
$colors = explode( ',' , $val );
switch( count( $colors ) ){
/* Flat */
case 1:
$menu_styles[$selector]['background'] = $val;
break;
/* Gradient */
case 2:
$c1 = $colors[0];
$c2 = $colors[1];
//Check for leading #hash
if( $c1[0] != '#' ) $c1 = '#'.$c1;
if( $c2[0] != '#' ) $c2 = '#'.$c2;
//$property_map = array();
$menu_styles[$selector]['background-color'] = $c1;
//Multiple background values
$menu_styles[$selector]['background'] = array();
$menu_styles[$selector]['background'][] = "-webkit-gradient(linear,left top,left bottom,from($c1),to($c2))";
$menu_styles[$selector]['background'][] = "-webkit-linear-gradient(top,$c1,$c2)";
$menu_styles[$selector]['background'][] = "-moz-linear-gradient(top,$c1,$c2)";
$menu_styles[$selector]['background'][] = "-ms-linear-gradient(top,$c1,$c2)";
$menu_styles[$selector]['background'][] = "-o-linear-gradient(top,$c1,$c2)";
$menu_styles[$selector]['background'][] = "linear-gradient(top,$c1,$c2)";
}
}
///////////////////////////////////////
//////// CALLBACKS
///////////////////////////////////////
/*
* MENU BAR BACKGROUND
*/
function ubermenu_get_menu_style_menu_bar_background( $field , $menu_id , &$menu_styles ){
//echo 'mbback';
$val = ubermenu_op( $field['name'] , $menu_id );
$selector = ".ubermenu-$menu_id";
if( $val ){
ubermenu_set_menu_style_background_gradient( $val , $selector , $menu_styles );
//$menu_styles[$selector]['background'] = $background;
}
else{
//echo 'unset';
//unset( $menu_styles[$selector]['background'] );
}
}
/*
* MENU BAR TRANSPARENT
*/
function ubermenu_get_menu_style_menu_bar_transparent( $field , $menu_id , &$menu_styles ){
//echo 'mbback';
$val = ubermenu_op( $field['name'] , $menu_id );
$selector = ".ubermenu.ubermenu-$menu_id";
if( $val == 'on' ){
$menu_styles[$selector]['background'] = 'none';
$menu_styles[$selector]['border'] = 'none';
$menu_styles[$selector]['box-shadow'] = 'none';
$top_items_selector = "$selector .ubermenu-item-level-0 > .ubermenu-target";
$menu_styles[$top_items_selector]['border'] = 'none';
$menu_styles[$top_items_selector]['box-shadow'] = 'none';
//No border, align subs to the left and top
if( ubermenu_op( 'style_menu_bar_border' , $menu_id ) == '' ){
$full_sub_selector = "$selector.ubermenu-horizontal .ubermenu-submenu-drop.ubermenu-submenu-align-left_edge_bar, $selector.ubermenu-horizontal .ubermenu-submenu-drop.ubermenu-submenu-align-full_width";
$menu_styles[$full_sub_selector]['left'] = 0;
$active_sub_selector = "$selector.ubermenu-horizontal .ubermenu-item-level-0.ubermenu-active > .ubermenu-submenu-drop, $selector.ubermenu-horizontal:not(.ubermenu-transition-shift) .ubermenu-item-level-0 > .ubermenu-submenu-drop";
$menu_styles[$active_sub_selector]['margin-top'] = 0;
}
}
}
/*
* MENU BAR BORDER
*/
function ubermenu_get_menu_style_menu_bar_border( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id";
$color = $val[0] == '#' ? $val : '#'.$val;
$menu_styles[$selector]['border'] = "1px solid $color";
}
else{
if( ubermenu_op( 'skin' , $menu_id ) == 'none' ){
$menu_styles[".ubermenu-$menu_id.ubermenu-transition-fade .ubermenu-item .ubermenu-submenu-drop"]['margin-top'] = 0;
}
}
}
/*
* MENU BAR RADIUS
*/
function ubermenu_get_menu_style_menu_bar_radius( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id, .ubermenu-$menu_id > .ubermenu-nav";
$radius = $val;
if( is_numeric( $radius ) ) $radius.= 'px';
$menu_styles[$selector]['-webkit-border-radius'] = $radius;
$menu_styles[$selector]['-moz-border-radius'] = $radius;
$menu_styles[$selector]['-o-border-radius'] = $radius;
$menu_styles[$selector]['border-radius'] = $radius;
//If items are aligned left, give the first item a radius as well
if( is_numeric( $val ) && ubermenu_op( 'items_align' , $menu_id ) == 'left' ){
$selector = ".ubermenu-$menu_id > .ubermenu-nav > .ubermenu-item:first-child > .ubermenu-target";
$radius = "{$val}px 0 0 {$val}px";
$menu_styles[$selector]['-webkit-border-radius'] = $radius;
$menu_styles[$selector]['-moz-border-radius'] = $radius;
$menu_styles[$selector]['-o-border-radius'] = $radius;
$menu_styles[$selector]['border-radius'] = $radius;
}
}
}
/*
* TOP LEVEL FONT SIZE
*/
function ubermenu_get_menu_style_top_level_font_size( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
$size = is_numeric( $val ) ? $val.'px' : $val;
$menu_styles[$selector]['font-size'] = $size;
}
}
/*
* TOP LEVEL LINE HEIGHT
*/
function ubermenu_get_menu_style_top_level_line_height( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target, ".
".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target.ubermenu-item-notext > .ubermenu-icon";
$height = is_numeric( $val ) ? $val.'px' : $val;
$menu_styles[$selector]['line-height'] = $height;
}
}
/*
* TOP LEVEL TEXT TRANSFORM
*/
function ubermenu_get_menu_style_top_level_text_transform( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
$menu_styles[$selector]['text-transform'] = $val;
}
}
/*
* TOP LEVEL FONT WEIGHT
*/
function ubermenu_get_menu_style_top_level_font_weight( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-nav .ubermenu-item.ubermenu-item-level-0 > .ubermenu-target";
$menu_styles[$selector]['font-weight'] = $val;
}
}
/*
* TOP LEVEL FONT COLOR
*/
function ubermenu_get_menu_style_top_level_font_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TOP LEVEL FONT COLOR - HOVER
*/
function ubermenu_get_menu_style_top_level_font_color_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-item-level-0:hover > .ubermenu-target, .ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-active > .ubermenu-target"; //removed notouch
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TOP LEVEL FONT COLOR - CURRENT
*/
function ubermenu_get_menu_style_top_level_font_color_current( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target, ".
".ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-current-menu-parent > .ubermenu-target, ".
".ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-current-menu-ancestor > .ubermenu-target";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TOP LEVEL FONT COLOR - HIGHLIGHT
*/
function ubermenu_get_menu_style_top_level_font_color_highlight( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item.ubermenu-item-level-0 > .ubermenu-highlight";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TOP LEVEL ITEM MARGIN - INDIVIDUAL ITEMS
*/
function ubermenu_get_menu_style_top_level_margin( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( is_numeric( $val ) ) $val = $val.='px';
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-item-level-0";
$menu_styles[$selector]['margin'] = $val;
}
}
/*
* TOP LEVEL ITEM BORDER RADIUS - INDIVIDUAL ITEMS
*/
function ubermenu_get_menu_style_top_level_border_radius( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( is_numeric( $val ) ) $val = $val.='px';
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
$menu_styles[$selector]['border-radius'] = $val;
}
}
/*
* TOP LEVEL BACKGROUND - INDIVIDUAL ITEMS
*/
function ubermenu_get_menu_style_top_level_background( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
ubermenu_set_menu_style_background_gradient( $val , $selector , $menu_styles );
}
}
/*
* TOP LEVEL BACKGROUND - HOVER
*/
function ubermenu_get_menu_style_top_level_background_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-item-level-0:hover > .ubermenu-target, .ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-active > .ubermenu-target"; //removed notouch
//$menu_styles[$selector]['background'] = $val;
ubermenu_set_menu_style_background_gradient( $val , $selector , $menu_styles );
}
}
/*
* TOP LEVEL BACKGROUND - CURRENT
*/
function ubermenu_get_menu_style_top_level_background_current( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target, ".
".ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-current-menu-parent > .ubermenu-target, ".
".ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-current-menu-ancestor > .ubermenu-target";
//$menu_styles[$selector]['background'] = $val;
ubermenu_set_menu_style_background_gradient( $val , $selector , $menu_styles );
}
}
/*
* TOP LEVEL BACKGROUND - HIGHLIGHT
*/
function ubermenu_get_menu_style_top_level_background_highlight( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item.ubermenu-item-level-0 > .ubermenu-highlight";
//$menu_styles[$selector]['background'] = $val;
ubermenu_set_menu_style_background_gradient( $val , $selector , $menu_styles );
}
}
function ubermenu_force_styles( $menu_id ){
if( ubermenu_op( 'force_styles' , $menu_id ) == 'on' ){
return true;
}
return false;
}
/*
* TOP LEVEL ITEM DIVIDER COLOR
*/
function ubermenu_get_menu_style_top_level_item_divider_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( ubermenu_op( 'orientation' , $menu_id ) == 'vertical' ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
if( ubermenu_force_styles( $menu_id ) ){
$menu_styles[$selector]['border-top'] = "1px solid $val";
}
else{
$menu_styles[$selector]['border-top-color'] = $val;
}
}
else{
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
if( ubermenu_force_styles( $menu_id ) ){
$menu_styles[$selector]['border-left'] = "1px solid $val";
}
else{
$menu_styles[$selector]['border-left-color'] = $val;
}
}
}
}
function ubermenu_get_menu_style_top_level_item_divider_disable( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val == 'on' ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
$menu_styles[$selector]['border'] = "none";
/*
if( ubermenu_op( 'orientation' , $menu_id ) == 'vertical' ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
if( ubermenu_force_styles( $menu_id ) ){
$menu_styles[$selector]['border-top'] = "1px solid $val";
}
else{
$menu_styles[$selector]['border-top-color'] = $val;
}
}
else{
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
if( ubermenu_force_styles( $menu_id ) ){
$menu_styles[$selector]['border-left'] = "1px solid $val";
}
else{
$menu_styles[$selector]['border-left-color'] = $val;
}
}
*/
}
}
/*
* TOP LEVEL ITEM GLOW OPACITY
*/
function ubermenu_get_menu_style_top_level_item_glow_opacity( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( is_numeric( $val ) ){
switch( ubermenu_op( 'orientation' , $menu_id ) ){
case 'horizontal':
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target"; //added .ubermenu here, otherwise specificity to low to override Vertical orientation styles
$menu_styles[$selector]['-webkit-box-shadow'] = 'inset 1px 0 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['-moz-box-shadow'] = 'inset 1px 0 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['-o-box-shadow'] = 'inset 1px 0 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['box-shadow'] = 'inset 1px 0 0 0 rgba(255,255,255,'. $val.')';
break;
case 'vertical';
$selector = ".ubermenu-$menu_id.ubermenu-vertical .ubermenu-item-level-0 > .ubermenu-target"; //added .ubermenu here, otherwise specificity to low to override Vertical orientation styles
$menu_styles[$selector]['-webkit-box-shadow'] = 'inset 1px 1px 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['-moz-box-shadow'] = 'inset 1px 1px 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['-o-box-shadow'] = 'inset 1px 1px 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['box-shadow'] = 'inset 1px 1px 0 0 rgba(255,255,255,'. $val.')';
break;
}
}
}
/*
* TOP LEVEL ITEM GLOW OPACITY - Hover
*/
function ubermenu_get_menu_style_top_level_item_glow_opacity_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( is_numeric( $val ) ){
switch( ubermenu_op( 'orientation' , $menu_id ) ){
case 'horizontal':
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-active > .ubermenu-target,.ubermenu-$menu_id .ubermenu-item-level-0:hover > .ubermenu-target";
$menu_styles[$selector]['-webkit-box-shadow'] = 'inset 1px 0 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['-moz-box-shadow'] = 'inset 1px 0 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['-o-box-shadow'] = 'inset 1px 0 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['box-shadow'] = 'inset 1px 0 0 0 rgba(255,255,255,'. $val.')';
break;
case 'vertical';
$selector = ".ubermenu-$menu_id.ubermenu-vertical .ubermenu-item-level-0.ubermenu-active > .ubermenu-target,.ubermenu-$menu_id.ubermenu-vertical .ubermenu-item-level-0:hover > .ubermenu-target";
$menu_styles[$selector]['-webkit-box-shadow'] = 'inset 1px 1px 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['-moz-box-shadow'] = 'inset 1px 1px 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['-o-box-shadow'] = 'inset 1px 1px 0 0 rgba(255,255,255,'. $val.')';
$menu_styles[$selector]['box-shadow'] = 'inset 1px 1px 0 0 rgba(255,255,255,'. $val.')';
break;
}
}
}
/*
* TOP LEVEL VERTICAL PADDING
*/
function ubermenu_get_menu_style_top_level_padding( $field , $menu_id , &$menu_styles ){
$padding = ubermenu_op( $field['name'] , $menu_id );
if( $padding ){
if( is_numeric($padding) ) $padding.= 'px';
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target, ".".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-custom-content.ubermenu-custom-content-padded";
$menu_styles[$selector]['padding-top'] = $padding;
$menu_styles[$selector]['padding-bottom'] = $padding;
}
}
/*
* TOP LEVEL VERTICAL PADDING - [RESPONSIVE]
*/
function ubermenu_get_menu_style_top_level_padding_responsive( $field , $menu_id , &$menu_styles ){
$padding = ubermenu_op( $field['name'] , $menu_id );
if( $padding ){
if( is_numeric($padding) ) $padding.= 'px';
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
$menu_styles['_responsive'][$selector]['padding-top'] = $padding;
$menu_styles['_responsive'][$selector]['padding-bottom'] = $padding;
}
}
/*
* TOP LEVEL HORIZONTAL PADDING
*/
function ubermenu_get_menu_style_top_level_horiz_padding( $field , $menu_id , &$menu_styles ){
$padding = ubermenu_op( $field['name'] , $menu_id );
$indicator_width = 15;
if( $padding ){
$padding_raw = $padding;
if( is_numeric($padding) ){
$padding.= 'px';
}
else{
//$padding_sub_indicator = trim( $padding_sub_indicator , 'px' );
$padding_raw = trim( $padding_raw , 'px' );
}
$padding_sub_indicator = $padding_raw;
$selector_offset = $padding_raw;
if( is_numeric( $padding_sub_indicator ) ){
$padding_sub_indicator+= $indicator_width;
$padding_sub_indicator.= 'px';
}
else{
$padding_sub_indicator = false;
}
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
$menu_styles[$selector]['padding-left'] = $padding;
$menu_styles[$selector]['padding-right'] = $padding;
//If a numeric or px value was set, add extra padding for the indicator
if( $padding_sub_indicator && ( ubermenu_op( 'style_extra_submenu_indicator_padding' , $menu_id ) != 'off' ) ){
$with_sub_selector = ".ubermenu-{$menu_id}.ubermenu-sub-indicators .ubermenu-item-level-0.ubermenu-has-submenu-drop > .ubermenu-target:not(.ubermenu-noindicator)";
$menu_styles[$with_sub_selector]['padding-right'] = $padding_sub_indicator;
//However, don't override the padding on items with disabled indicators
$disabled_sub_selector = ".ubermenu-{$menu_id}.ubermenu-sub-indicators .ubermenu-item-level-0.ubermenu-has-submenu-drop > .ubermenu-target.ubermenu-noindicator";
$menu_styles[$disabled_sub_selector]['padding-right'] = $padding;
}
else{
$selector_offset-= $indicator_width;
if( $selector_offset < 0 ) $selector_offset = 0;
}
// if( is_numeric( $selector_offset ) && ubermenu_op( 'style_align_submenu_indicator' , $menu_id ) == 'text' ){
// $indicator_selector = ".ubermenu-{$menu_id}.ubermenu-sub-indicators .ubermenu-item-level-0.ubermenu-has-submenu-drop > .ubermenu-target:after";
// $selector_offset.='px';
// $menu_styles[$indicator_selector]['right'] = $selector_offset;
// }
}
}
/*
* TOP LEVEL ITEM HEIGHT
*/
function ubermenu_get_menu_style_top_level_item_height( $field , $menu_id , &$menu_styles ){
$height = ubermenu_op( $field['name'] , $menu_id );
if( $height ){
if( is_numeric($height) ) $height.= 'px';
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-target";
$menu_styles[$selector]['height'] = $height;
}
}
/*
* SUBMENU BACKGROUND COLOR
*/
function ubermenu_get_menu_style_submenu_background_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu.ubermenu-submenu-drop";
$menu_styles[$selector]['background-color'] = $val;
}
}
/*
* SUBMENU BORDER COLOR
*/
function ubermenu_get_menu_style_submenu_border_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu.ubermenu-submenu-drop";
if( ubermenu_force_styles( $menu_id ) ){
$menu_styles[$selector]['border'] = "1px solid $val";
}
else{
$menu_styles[$selector]['border-color'] = $val;
}
}
}
/*
* SUBMENU DROPSHADOW OPACITY
*/
function ubermenu_get_menu_style_submenu_dropshadow_opacity( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( is_numeric( $val ) ){
if( $val > 1 ) $val = $val / 100;
$propval = "0 0 20px rgba(0,0,0, $val)";
if( $val == 0 ) $propval = 'none';
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0 > .ubermenu-submenu-drop";
$menu_styles[$selector]['box-shadow'] = $propval;
}
}
/*
* SUBMENU FALLBACK FONT COLOR
*/
function ubermenu_get_menu_style_submenu_fallback_font_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu.ubermenu-submenu-drop";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* SUBMENU MINIMUM COLUMN WIDTH
*/
function ubermenu_get_menu_style_submenu_minimum_column_width( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-column";
$menu_styles[$selector]['min-width'] = $val;
}
}
/*
* SUBMENU HIGHLIGHT FONT COLOR
*/
function ubermenu_get_menu_style_submenu_highlight_font_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-highlight";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* HEADER FONT SIZE
*/
function ubermenu_get_menu_style_header_font_size( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-item-header > .ubermenu-target, .ubermenu-$menu_id .ubermenu-tab > .ubermenu-target";
$menu_styles[$selector]['font-size'] = $val;
}
}
/*
* HEADER TEXT TRANSFORM
*/
function ubermenu_get_menu_style_header_text_transform( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-item-header > .ubermenu-target, .ubermenu-$menu_id .ubermenu-tab > .ubermenu-target";
$menu_styles[$selector]['text-transform'] = $val;
}
}
/*
* HEADER FONT COLOR
*/
function ubermenu_get_menu_style_header_font_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-item-header > .ubermenu-target";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* HEADER FONT COLOR - HOVER
*/
function ubermenu_get_menu_style_header_font_color_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-item-header > .ubermenu-target:hover";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* HEADER FONT COLOR - CURRENT
*/
function ubermenu_get_menu_style_header_font_color_current( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-item-header.ubermenu-current-menu-item > .ubermenu-target";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* HEADER BACKGROUND COLOR
*/
function ubermenu_get_menu_style_header_background_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-item-header > .ubermenu-target";
$menu_styles[$selector]['background-color'] = $val;
}
}
/*
* HEADER BACKGROUND COLOR - HOVER
*/
function ubermenu_get_menu_style_header_background_color_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-item-header > .ubermenu-target:hover";
$menu_styles[$selector]['background-color'] = $val;
}
}
/*
* HEADER BACKGROUND COLOR - CURRENT
*/
function ubermenu_get_menu_style_header_background_color_current( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-item-header.ubermenu-current-menu-item > .ubermenu-target";
$menu_styles[$selector]['background-color'] = $val;
}
}
/*
* HEADER FONT WEIGHT
*/
function ubermenu_get_menu_style_header_font_weight( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-nav .ubermenu-submenu .ubermenu-item-header > .ubermenu-target";
$menu_styles[$selector]['font-weight'] = $val;
}
}
/*
* HEADER BORDER COLOR
*/
function ubermenu_get_menu_style_header_border_color( $field , $menu_id , &$menu_styles ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-item-header.ubermenu-has-submenu-stack > .ubermenu-target";
if( ubermenu_op( 'display_header_border_color' , $menu_id ) == 'off' ){
$menu_styles[$selector]['border'] = 'none';
$menu_styles[".ubermenu-$menu_id .ubermenu-submenu-type-stack"]['padding-top'] = 0;
}
else{
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( ubermenu_force_styles( $menu_id ) ){
$menu_styles[$selector]['border-bottom'] = "1px solid $val";
}
else{
$menu_styles[$selector]['border-color'] = $val;
}
}
}
}
/*
* SUBMENU ITEM PADDING
*/
function ubermenu_get_menu_style_submenu_item_padding( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val || is_numeric( $val ) ){ //include '0'
if( is_numeric( $val ) ){
$val.= 'px';
}
$selector =
".ubermenu-$menu_id .ubermenu-item-normal > .ubermenu-target,".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-target,".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-nonlink,".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-widget,".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-custom-content-padded,".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-retractor,".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-colgroup .ubermenu-column,".
".ubermenu-$menu_id .ubermenu-submenu.ubermenu-submenu-type-stack > .ubermenu-item-normal > .ubermenu-target,".
".ubermenu-$menu_id .ubermenu-submenu.ubermenu-submenu-padded";
$menu_styles[$selector]['padding'] = $val;
//Grid Row
$menu_styles[".ubermenu-$menu_id .ubermenu-grid-row"]['padding-right'] = $val;
$menu_styles[".ubermenu-$menu_id .ubermenu-grid-row .ubermenu-target"]['padding-right'] = 0;
//With submenu indicators, add padding if it's set low
if( intval( $val ) < 15 ){
$menu_styles[".ubermenu-$menu_id.ubermenu-sub-indicators .ubermenu-submenu :not(.ubermenu-tabs-layout-right) .ubermenu-has-submenu-drop > .ubermenu-target"]['padding-right'] = '25px';
}
}
}
/*
* NORMAL FONT COLOR
*/
function ubermenu_get_menu_style_normal_font_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-normal > .ubermenu-target";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* NORMAL FONT COLOR - HOVER
*/
function ubermenu_get_menu_style_normal_font_color_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-item-normal > .ubermenu-target:hover, .ubermenu.ubermenu-$menu_id .ubermenu-item-normal.ubermenu-active > .ubermenu-target"; //removed notouch
$menu_styles[$selector]['color'] = $val;
}
}
/*
* NORMAL FONT COLOR - CURRENT
*/
function ubermenu_get_menu_style_normal_font_color_current( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-normal.ubermenu-current-menu-item > .ubermenu-target";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* NORMAL FONT SIZE
*/
function ubermenu_get_menu_style_normal_font_size( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu-$menu_id .ubermenu-item-normal > .ubermenu-target";
$menu_styles[$selector]['font-size'] = $val;
}
}
/*
* NORMAL FONT WEIGHT
*/
function ubermenu_get_menu_style_normal_font_weight( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-normal > .ubermenu-target";
$menu_styles[$selector]['font-weight'] = $val;
}
}
/*
* NORMAL TEXT TRANSFORM
*/
function ubermenu_get_menu_style_normal_text_transform( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-normal > .ubermenu-target";
$menu_styles[$selector]['text-transform'] = $val;
}
}
/*
* NORMAL TEXT UNDERLINE HOVER
*/
function ubermenu_get_menu_style_normal_underline_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val == 'on' ){
$selector = ".ubermenu-$menu_id .ubermenu-item-normal > .ubermenu-target:hover > .ubermenu-target-text";
$menu_styles[$selector]['text-decoration'] = 'underline';
}
}
/*
* NORMAL BACKGROUND COLOR - HOVER
*/
function ubermenu_get_menu_style_normal_background_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-item-normal > .ubermenu-target:hover, .ubermenu.ubermenu-$menu_id .ubermenu-item-normal.ubermenu-active > .ubermenu-target"; //removed notouch
$menu_styles[$selector]['background-color'] = $val;
}
}
/*
* FLYOUT VERTICAL PADDING
*/
function ubermenu_get_menu_style_flyout_vertical_padding( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu-$menu_id .ubermenu-submenu-type-flyout > .ubermenu-item-normal > .ubermenu-target";
$menu_styles[$selector]['padding-top'] = $val;
$menu_styles[$selector]['padding-bottom'] = $val;
}
}
/*
* FLYOUT DIVIDERS
*/
function ubermenu_get_menu_style_flyout_divider( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu-type-flyout > .ubermenu-item-normal > .ubermenu-target";
$menu_styles[$selector]['border-bottom'] = "1px solid $val";
}
}
/*
* TABS FONT SIZE
*/
function ubermenu_get_menu_style_tabs_font_size( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val = $val.='px';
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tabs .ubermenu-tabs-group > .ubermenu-tab > .ubermenu-target";
$menu_styles[$selector]['font-size'] = $val;
}
}
/*
* TABS FONT WEIGHT
*/
function ubermenu_get_menu_style_tabs_font_weight( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tabs .ubermenu-tabs-group > .ubermenu-tab > .ubermenu-target";
$menu_styles[$selector]['font-weight'] = $val;
}
}
/*
* TABS GROUP BACKGROUND COLOR
*/
function ubermenu_get_menu_style_tabs_background( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tabs .ubermenu-tabs-group";
$menu_styles[$selector]['background-color'] = $val;
}
}
/*
* TAB TOGGLES FONT COLOR
*/
function ubermenu_get_menu_style_tabs_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tab > .ubermenu-target";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TAB TOGGLES FONT COLOR - HOVER
*/
function ubermenu_get_menu_style_tabs_color_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-submenu .ubermenu-tab.ubermenu-active > .ubermenu-target";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TAB TOGGLES FONT COLOR - CURRENT
*/
function ubermenu_get_menu_style_tabs_color_current( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-tab.ubermenu-current-menu-item > .ubermenu-target, ".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-tab.ubermenu-current-menu-parent > .ubermenu-target, ".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-tab.ubermenu-current-menu-ancestor > .ubermenu-target";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TAB TOGGLES BACKGROUND COLOR - HOVER
*/
function ubermenu_get_menu_style_tabs_background_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tab.ubermenu-active > .ubermenu-target";
$menu_styles[$selector]['background-color'] = $val;
}
}
/*
* TAB TOGGLES BACKGROUND COLOR - CURRENT
*/
function ubermenu_get_menu_style_tabs_background_current( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-tab.ubermenu-current-menu-item > .ubermenu-target, ".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-tab.ubermenu-current-menu-parent > .ubermenu-target, ".
".ubermenu-$menu_id .ubermenu-submenu .ubermenu-tab.ubermenu-current-menu-ancestor > .ubermenu-target";
$menu_styles[$selector]['background-color'] = $val;
}
}
/*
* TABS CONTENT PANEL BACKGROUND COLOR
*/
function ubermenu_get_menu_style_tab_content_background( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tab-content-panel";
$menu_styles[$selector]['background-color'] = $val;
}
}
/*
* TABS CONTENT PANEL HEADER FONT COLOR
*/
function ubermenu_get_menu_style_tab_content_force_header_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tabs-group .ubermenu-item-header > .ubermenu-target";
$menu_styles[$selector]['color'] = $val .' !important';
}
}
/*
* TABS CONTENT PANEL NORMAL FONT COLOR
*/
function ubermenu_get_menu_style_tab_content_force_normal_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tabs-group .ubermenu-item-normal > .ubermenu-target";
$menu_styles[$selector]['color'] = $val .' !important';
}
}
/*
* TABS CONTENT PANEL DESCRIPTION FONT COLOR
*/
function ubermenu_get_menu_style_tab_content_force_description_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tabs-group .ubermenu-target > .ubermenu-target-description";
$menu_styles[$selector]['color'] = $val .' !important';
}
}
/*
* TABS / CONTENT PANEL DIVIDER COLOR
*/
function ubermenu_get_menu_style_tab_divider_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-tabs-group";
$menu_styles[$selector]['border-color'] = $val;
}
}
/*
* DESCRIPTION FONT SIZE
*/
function ubermenu_get_menu_style_description_font_size( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu-$menu_id .ubermenu-target > .ubermenu-target-description";
$menu_styles[$selector]['font-size'] = $val;
}
}
/*
* DESCRIPTION FONT COLOR
*/
function ubermenu_get_menu_style_description_font_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-target > .ubermenu-target-description, .ubermenu-$menu_id .ubermenu-submenu .ubermenu-target > .ubermenu-target-description";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* DESCRIPTION FONT COLOR - ACTIVE/HOVER
*/
function ubermenu_get_menu_style_description_font_color_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-target:hover > .ubermenu-target-description, .ubermenu-$menu_id .ubermenu-active > .ubermenu-target > .ubermenu-target-description, .ubermenu-$menu_id .ubermenu-submenu .ubermenu-target:hover > .ubermenu-target-description, .ubermenu-$menu_id .ubermenu-submenu .ubermenu-active > .ubermenu-target > .ubermenu-target-description";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* DESCRIPTION TEXT TRANSFORM
*/
function ubermenu_get_menu_style_description_text_transform( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-target > .ubermenu-target-description";
$menu_styles[$selector]['text-transform'] = $val;
}
}
/*
* TOP LEVEL ARROW COLOR
*/
function ubermenu_get_menu_style_top_level_arrow_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-item-level-0.ubermenu-has-submenu-drop > .ubermenu-target > .ubermenu-sub-indicator";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* SUBMENU ARROW COLOR
*/
function ubermenu_get_menu_style_submenu_arrow_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-has-submenu-drop > .ubermenu-target > .ubermenu-sub-indicator";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* HR
*/
function ubermenu_get_menu_style_hr( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id .ubermenu-submenu .ubermenu-divider > hr";
$menu_styles[$selector]['border-top-color'] = $val;
}
}
/*
* RESPONSIVE MENU MAX HEIGHT
*/
function ubermenu_get_menu_style_responsive_max_height( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu.ubermenu-$menu_id:not(.ubermenu-responsive-collapse)";
$menu_styles[$selector]['max-height'] = $val;
//$breakpoint = ubermenu_op( 'responsive_breakpoint' , 'general' );
//$menu_styles[$selector]['media_query'] = "@media screen and (max-width:$breakpoint)";
}
}
/*
* SEARCH BACKGROUND
*/
function ubermenu_get_menu_style_search_background( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-search input.ubermenu-search-input";
$menu_styles[$selector]['background'] = $val;
}
}
/*
* SEARCH TEXT COLOR
*/
function ubermenu_get_menu_style_search_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-search input.ubermenu-search-input";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* SEACH FONT SIZE
*/
function ubermenu_get_menu_style_search_font_size( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.= 'px';
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-search input.ubermenu-search-input";
$menu_styles[$selector.", .ubermenu.ubermenu-$menu_id .ubermenu-search button[type='submit']"]['font-size'] = $val;
$menu_styles[$selector.'::-webkit-input-placeholder']['font-size'] = $val;
$menu_styles[$selector.'::-moz-placeholder']['font-size'] = $val;
$menu_styles[$selector.'::-ms-input-placeholder']['font-size'] = $val;
}
}
/*
* SEARCH PLACEHOLDER COLOR
*/
function ubermenu_get_menu_style_search_placeholder_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-search input.ubermenu-search-input";
$menu_styles[$selector.'::-webkit-input-placeholder']['color'] = $val;
$menu_styles[$selector.'::-moz-placeholder']['color'] = $val;
$menu_styles[$selector.'::-ms-input-placeholder']['color'] = $val;
}
}
/*
* SEARCH ICON COLOR
*/
function ubermenu_get_menu_style_search_icon_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu.ubermenu-$menu_id .ubermenu-search .ubermenu-search-submit";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TOGGLE BACKGROUND
*/
function ubermenu_get_menu_style_toggle_background( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-responsive-toggle.ubermenu-responsive-toggle-$menu_id";
$menu_styles[$selector]['background'] = $val;
}
}
/*
* TOGGLE COLOR
*/
function ubermenu_get_menu_style_toggle_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-responsive-toggle.ubermenu-responsive-toggle-$menu_id";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TOGGLE BACKGROUND - HOVER
*/
function ubermenu_get_menu_style_toggle_background_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-responsive-toggle.ubermenu-responsive-toggle-$menu_id:hover";
$menu_styles[$selector]['background'] = $val;
}
}
/*
* TOGGLE COLOR - HOVER
*/
function ubermenu_get_menu_style_toggle_color_hover( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-responsive-toggle.ubermenu-responsive-toggle-$menu_id:hover";
$menu_styles[$selector]['color'] = $val;
}
}
/*
* TOGGLE FONT SIZE
*/
function ubermenu_get_menu_style_toggle_font_size( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu-responsive-toggle.ubermenu-responsive-toggle-$menu_id";
$menu_styles[$selector]['font-size'] = $val;
}
}
/*
* TOGGLE FONT WEIGHT
*/
function ubermenu_get_menu_style_toggle_font_weight( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
//if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu-responsive-toggle.ubermenu-responsive-toggle-$menu_id";
$menu_styles[$selector]['font-weight'] = $val;
}
}
/*
* TOGGLE PADDING
*/
function ubermenu_get_menu_style_toggle_padding( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$selector = ".ubermenu-responsive-toggle.ubermenu-responsive-toggle-$menu_id";
$menu_styles[$selector]['padding'] = $val;
}
}
/*
* ROW SPACING
*/
function ubermenu_get_menu_style_row_spacing( $field , $menu_id , &$menu_styles ){
$row_spacing = ubermenu_op( $field['name'] , $menu_id );
if( $row_spacing !== '' ){
$selector = ".ubermenu-$menu_id .ubermenu-row";
//Assume pixels if no units provided
if( is_numeric( $row_spacing ) ){
$row_spacing.='px';
}
$menu_styles[$selector]['margin-bottom'] = $row_spacing;
}
}
/*
* ICON WIDTH
*/
function ubermenu_get_menu_style_icon_width( $field , $menu_id , &$menu_styles ){
$icon_width = ubermenu_op( $field['name'] , $menu_id );
if( $icon_width !== '' ){
$selector = ".ubermenu-$menu_id .ubermenu-icon";
//Assume pixels if no units provided
if( is_numeric( $icon_width ) ){
$icon_width.='px';
}
$menu_styles[$selector]['width'] = $icon_width;
}
}
/*
* ICON NUDGE
*/
function ubermenu_get_menu_style_icon_nudge( $field , $menu_id , &$menu_styles ){
$icon_nudge = ubermenu_op( $field['name'] , $menu_id );
if( $icon_nudge !== '' ){
$selector = ".ubermenu-$menu_id .ubermenu-icon";
//Assume pixels if no units provided
if( is_numeric( $icon_nudge ) ){
$icon_nudge.='px';
}
$menu_styles[$selector]['transform'] = "translateY($icon_nudge)";
}
}
/*
* MENU BAR WIDTH
*/
function ubermenu_get_menu_style_bar_width( $field , $menu_id , &$menu_styles ){
$bar_width = ubermenu_op( $field['name'] , $menu_id );
if( $bar_width ){
$selector = ".ubermenu-$menu_id";
//Assume pixels if no units provided
if( is_numeric( $bar_width ) ){
$bar_width.='px';
}
$menu_styles[$selector]['max-width'] = $bar_width;
}
}
/*
* MENU BAR MARGIN TOP
*/
function ubermenu_get_menu_style_bar_margin_top( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id";
//Assume pixels if no units provided
if( is_numeric( $val ) ){
$val.='px';
}
$menu_styles[$selector]['margin-top'] = $val;
}
}
/*
* MENU BAR MARGIN BOTTOM
*/
function ubermenu_get_menu_style_bar_margin_bottom( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id";
//Assume pixels if no units provided
if( is_numeric( $val ) ){
$val.='px';
}
$menu_styles[$selector]['margin-bottom'] = $val;
}
}
/*
* INNER MENU BAR WIDTH
*/
function ubermenu_get_menu_style_bar_inner_width( $field , $menu_id , &$menu_styles ){
$bar_width = ubermenu_op( $field['name'] , $menu_id );
if( $bar_width ){
$selector = ".ubermenu-$menu_id .ubermenu-nav";
//Assume pixels if no units provided
if( is_numeric( $bar_width ) ){
$bar_width.='px';
}
$menu_styles[$selector]['max-width'] = $bar_width;
}
}
/*
* BOUND SUBMENUS CUSTOM
*/
// function ubermenu_get_menu_style_bound_submenu_custom( $field , $menu_id , &$menu_styles ){
//
// $submenu_bounds = ubermenu_op( $field['bound_submenu_custom'] , $menu_id );
// if( $submenu_bounds ){
// $selector = $submenu_bounds;
//
// $menu_styles[$selector]['position'] = 'relative';
// }
//
// }
/*
* SUBMENU INNER WIDTH
*/
function ubermenu_get_menu_style_submenu_inner_width( $field , $menu_id , &$menu_styles ){
$submenu_width = ubermenu_op( $field['name'] , $menu_id );
if( $submenu_width ){
$selector = ".ubermenu-$menu_id .ubermenu-row";
//Assume pixels if no units provided
if( is_numeric( $submenu_width ) ){
$submenu_width.='px';
}
$menu_styles[$selector]['max-width'] = $submenu_width;
$menu_styles[$selector]['margin-left'] = 'auto';
$menu_styles[$selector]['margin-right'] = 'auto';
}
}
/*
* SUBMENU MAX HEIGHT
*/
function ubermenu_get_menu_style_submenu_max_height( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$selector = ".ubermenu-$menu_id.ubermenu-transition-slide .ubermenu-active > .ubermenu-submenu.ubermenu-submenu-type-mega,".
".ubermenu-$menu_id:not(.ubermenu-transition-slide) .ubermenu-submenu.ubermenu-submenu-type-mega,".
".ubermenu .ubermenu-force > .ubermenu-submenu";
//Assume pixels if no units provided
if( is_numeric( $val ) ){
$val.='px';
}
$menu_styles[$selector]['max-height'] = $val;
}
}
/*
* VERTICAL SUBMENU WIDTH
*/
function ubermenu_get_menu_style_vertical_submenu_width( $field , $menu_id , &$menu_styles ){
$submenu_width = ubermenu_op( $field['name'] , $menu_id );
if( $submenu_width ){
$selector = ".ubermenu-$menu_id.ubermenu-vertical .ubermenu-submenu-type-mega";
//Assume pixels if no units provided
if( is_numeric( $submenu_width ) ){
$submenu_width.='px';
}
$menu_styles[$selector]['width'] = $submenu_width;
}
}
/*
* IMAGE WIDTH
*/
function ubermenu_get_menu_style_image_width( $field , $menu_id , &$menu_styles ){
$rules = array(
'image_left' => array(
'selector' => ".ubermenu-$menu_id .ubermenu-item-layout-image_left > .ubermenu-target-text",
'property' => 'padding-left',
),
'image_right' => array(
'selector' => ".ubermenu-$menu_id .ubermenu-item-layout-image_right > .ubermenu-target-text",
'property' => 'padding-right',
),
'woocommerce_image_left_price' => array(
'selector' => ".ubermenu-$menu_id .ubermenu-item-layout-woocommerce_image_left_price > .ubermenu-target-text",
'property' => 'padding-left',
),
);
$value = ubermenu_op( $field['name'] , $menu_id ); // + 10;
if( !$value ) return;
$value+= 10; //10px padding
$value.= 'px';
//echo $value;
foreach( $rules as $layout => $rule ){
$selector = $rule['selector'];
$property = $rule['property'];
if( !isset( $menu_styles[$selector] ) ){
//if( !isset( $menu_styles[$menu_id][$selector] ) ){
$menu_styles[$selector] = array();
//$menu_styles[$menu_id][$selector] = array();
}
$menu_styles[$selector][$property] = $value;
//$menu_styles[$menu_id][$selector][$property] = $value;
}
}
/*
* IMAGE TEXT TOP PADDING
*/
function ubermenu_get_menu_style_image_text_top_padding( $field , $menu_id , &$menu_styles ){
$value = ubermenu_op( $field['name'] , $menu_id );
if( $value ){
if( is_numeric( $value ) ) $value.= 'px';
$selector = ".ubermenu-$menu_id .ubermenu-item-layout-image_left > .ubermenu-target-title, .ubermenu-$menu_id .ubermenu-item-layout-image_right > .ubermenu-target-title" ;
$menu_styles[$selector]['padding-top'] = $value;
}
}
/*
* TRANSITION DURATION
*/
function ubermenu_get_menu_style_transition_duration( $field , $menu_id , &$menu_styles ){
$duration = ubermenu_op( $field['name'] , $menu_id );
if( $duration ){
//Assume seconds if no units provided
if( is_numeric( $duration ) ){
$duration.= 's';
}
$selector = ".ubermenu-$menu_id .ubermenu-item .ubermenu-submenu-drop";
$menu_styles[$selector]['-webkit-transition-duration'] = $duration;
$menu_styles[$selector]['-ms-transition-duration'] = $duration;
$menu_styles[$selector]['transition-duration'] = $duration;
}
}
/*
* DROPDOWN WITHIN MEGA
*/
function ubermenu_get_menu_style_dropdown_within_mega( $field , $menu_id , &$menu_styles ){
if( ubermenu_op( $field['name'] , $menu_id ) == 'on' ){
$menu_styles[".ubermenu-$menu_id .ubermenu-item.ubermenu-active > .ubermenu-submenu-drop.ubermenu-submenu-type-mega"]['overflow'] = 'visible';
}
}
/*
* Badge - Text
*/
function ubermenu_get_menu_style_badge_text_color( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$menu_styles[".ubermenu-$menu_id .ubermenu-badge"]['color'] = $val;
}
}
/*
* Badge - Background
*/
function ubermenu_get_menu_style_badge_background( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$menu_styles[".ubermenu-$menu_id .ubermenu-badge"]['background-color'] = $val;
}
}
/*
* Badge - Font Size
*/
function ubermenu_get_menu_style_badge_font_size( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( is_numeric( $val ) ) $val.= 'px';
if( $val ){
$menu_styles[".ubermenu-$menu_id .ubermenu-badge"]['font-size'] = $val;
}
}
/*
* Badge - Border Radius
*/
function ubermenu_get_menu_style_badge_border_radius( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( is_numeric( $val ) ) $val.= 'px';
if( $val ){
$menu_styles[".ubermenu-$menu_id .ubermenu-badge"]['border-radius'] = $val;
}
}
/*
* Badge - Padding
*/
function ubermenu_get_menu_style_badge_padding( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( is_numeric( $val ) ) $val.= 'px';
if( $val ){
$menu_styles[".ubermenu-$menu_id .ubermenu-badge"]['padding'] = $val;
}
}
/*
* Badge - Font Weight
*/
function ubermenu_get_menu_style_badge_font_weight( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$menu_styles[".ubermenu-$menu_id .ubermenu-badge"]['font-weight'] = $val;
}
}
/*
* Badge - Text Transform
*/
function ubermenu_get_menu_style_badge_text_transform( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$menu_styles[".ubermenu-$menu_id .ubermenu-badge"]['text-transform'] = $val;
}
}
/*
* Mobile Accordion Indent
*/
function ubermenu_get_menu_style_mobile_accordion_indent( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
if( is_numeric( $val ) ) $val.='px';
$menu_styles[".ubermenu-$menu_id.ubermenu-mobile-accordion-indent"]['--ubermenu-accordion-indent'] = $val;
}
}
/*
* Mobile Modal
*/
function ubermenu_get_menu_style_mobile_modal_background( $field , $menu_id , &$menu_styles ){
$val = ubermenu_op( $field['name'] , $menu_id );
if( $val ){
$menu_styles[".ubermenu-$menu_id.ubermenu-mobile-modal.ubermenu-mobile-view"]['background'] = $val;
}
}