/**
* Avada Builder Text Shadow Helper class.
*
* @package Avada-Builder
* @since 3.1
*/
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct script access denied.' );
}
/**
* Avada Builder Box Shadow Helper class.
*
* @since 3.1
*/
class Fusion_Builder_Text_Shadow_Helper {
/**
* Get text-shadow params.
*
* @static
* @access public
* @since 3.1
* @param array $args The placeholder arguments.
* @return array
*/
public static function get_params( $args ) {
$params = [
[
'type' => 'radio_button_set',
'heading' => esc_attr__( 'Text Shadow', 'fusion-builder' ),
'description' => esc_attr__( 'Set to "Yes" to enable text shadows.', 'fusion-builder' ),
'param_name' => 'text_shadow',
'default' => 'no',
'group' => esc_html__( 'Design', 'fusion-builder' ),
'value' => [
'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
'no' => esc_attr__( 'No', 'fusion-builder' ),
],
'callback' => [],
],
[
'type' => 'dimension',
'remove_from_atts' => true,
'heading' => esc_attr__( 'Text Shadow Position', 'fusion-builder' ),
'description' => esc_attr__( 'Set the vertical and horizontal position of the text shadow. Positive values put the shadow below and right of the text, negative values put it above and left of the text. In pixels, ex. 5px.', 'fusion-builder' ),
'param_name' => 'dimension_text_shadow',
'value' => [
'text_shadow_vertical' => '',
'text_shadow_horizontal' => '',
],
'group' => esc_html__( 'Design', 'fusion-builder' ),
'dependency' => [
[
'element' => 'text_shadow',
'value' => 'yes',
'operator' => '==',
],
],
'callback' => [],
],
[
'type' => 'range',
'heading' => esc_attr__( 'Text Shadow Blur Radius', 'fusion-builder' ),
'description' => esc_attr__( 'Set the blur radius of the text shadow. In pixels.', 'fusion-builder' ),
'param_name' => 'text_shadow_blur',
'value' => '0',
'min' => '0',
'max' => '100',
'step' => '1',
'group' => esc_html__( 'Design', 'fusion-builder' ),
'dependency' => [
[
'element' => 'text_shadow',
'value' => 'yes',
'operator' => '==',
],
],
'callback' => [],
],
[
'type' => 'colorpickeralpha',
'heading' => esc_attr__( 'Text Shadow Color', 'fusion-builder' ),
'description' => esc_attr__( 'Controls the color of the text shadow.', 'fusion-builder' ),
'param_name' => 'text_shadow_color',
'value' => '',
'group' => esc_html__( 'Design', 'fusion-builder' ),
'dependency' => [
[
'element' => 'text_shadow',
'value' => 'yes',
'operator' => '==',
],
],
'callback' => [],
],
];
foreach ( $params as $key => $param ) {
$tmp_args = $args;
// Prevent param being dependant on itself.
if ( isset( $args['dependency'] ) ) {
foreach ( $tmp_args['dependency'] as $k => $dep ) {
if ( $param['param_name'] === $dep['element'] ) {
unset( $tmp_args['dependency'][ $k ] );
}
}
}
$params[ $key ] = wp_parse_args( $tmp_args, $param );
}
return $params;
}
/**
* Get text-shadow styles.
*
* @since 2.2
* @access public
* @param array $params The text-shadow parameters.
* @return string
*/
public static function get_text_shadow_styles( $params ) {
$style = fusion_library()->sanitize->get_value_with_unit( $params['text_shadow_horizontal'] );
$style .= ' ' . fusion_library()->sanitize->get_value_with_unit( $params['text_shadow_vertical'] );
$style .= ' ' . fusion_library()->sanitize->get_value_with_unit( $params['text_shadow_blur'] );
$style .= ' ' . $params['text_shadow_color'];
$style .= ';';
return $style;
}
}
/**
* WooCommerce compatibility functions.
*
* @author ThemeFusion
* @copyright (c) Copyright by ThemeFusion
* @link https://theme-fusion.com
* @package Avada
* @subpackage Core
* @since 5.0.0
*/
if ( ! function_exists( 'fusion_wc_get_page_id' ) ) {
/**
* The woocommerce_get_page_id function was deprecated in WooCommerce 2.7.
* This is a proxy function to ensure Avada works with all WC versions.
*
* @param string $page The page we want to find.
* @return int The page ID.
*/
function fusion_wc_get_page_id( $page ) {
if ( function_exists( 'wc_get_page_id' ) ) {
return wc_get_page_id( $page );
} elseif ( function_exists( 'woocommerce_get_page_id' ) ) {
return woocommerce_get_page_id( $page );
}
}
}
if ( ! function_exists( 'fusion_wc_get_template' ) ) {
/**
* The woocommerce_get_template function was deprecated in WooCommerce 2.7.
* This is a proxy function to ensure Avada works with all WC versions.
*
* @param mixed $slug The template slug.
* @param string $name (default: '').
*/
function fusion_wc_get_template( $slug, $name = '' ) {
if ( function_exists( 'wc_get_template' ) ) {
wc_get_template( $slug, $name );
} elseif ( function_exists( 'woocommerce_get_template' ) ) {
woocommerce_get_template( $slug, $name );
}
}
}
if ( ! function_exists( 'fusion_wc_get_template_part' ) ) {
/**
* The woocommerce_get_template_part function was deprecated in WooCommerce 2.7.
* This is a proxy function to ensure Avada works with all WC versions.
*
* @param mixed $slug The template slug.
* @param string $name (default: '').
*/
function fusion_wc_get_template_part( $slug, $name = '' ) {
if ( function_exists( 'wc_get_template_part' ) ) {
wc_get_template_part( $slug, $name );
} elseif ( function_exists( 'woocommerce_get_template_part' ) ) {
woocommerce_get_template_part( $slug, $name );
}
}
}
if ( ! function_exists( 'fusion_get_product' ) ) {
/**
* The get_product function was deprecated in WooCommerce 2.7.
* This is a proxy function to ensure Avada works with all WC versions.
*
* @param mixed $the_product Post object or post ID of the product.
* @param array $args Previously used to pass arguments to the factory, e.g. to force a type.
* @return WC_Product|null
*/
function fusion_get_product( $the_product = false, $args = [] ) {
if ( function_exists( 'wc_get_product' ) ) {
return wc_get_product( $the_product, $args );
} elseif ( function_exists( 'get_product' ) ) {
return get_product( $the_product, $args );
}
}
}
/* Omit closing PHP tag to avoid "Headers already sent" issues. */
/**
* Days of the month.
*
* @package fusion-builder
*/
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct script access denied.' );
}
/**
* Adds Days of the month to predefined choices
*
* @param array $choices The predefined choices.
*/
function fusion_builder_predefined_days_of_the_month( $choices = [] ) {
$values = [];
for ( $x = 1; $x <= 31; $x++ ) {
$values[] = (string) $x;
}
$choices[] = [
'name' => __( 'Days of the Month', 'fusion-builder' ),
'values' => $values,
];
return $choices;
}
add_filter( 'fusion_predefined_choices', 'fusion_builder_predefined_days_of_the_month' );
import { Card } from '@elementor/app-ui';
import { SiteTemplateHeader } from './site-template-header';
import { SiteTemplateBody } from './site-template-body';
import { SiteTemplateFooter } from './site-template-footer';
import './site-template.scss';
export default function SiteTemplate( props ) {
const baseClassName = 'e-site-template',
classes = [ baseClassName ],
ref = React.useRef( null );
React.useEffect( () => {
if ( ! props.isSelected ) {
return;
}
ref.current.scrollIntoView( {
behavior: 'smooth',
block: 'start',
} );
}, [ props.isSelected ] );
if ( props.extended ) {
classes.push( `${ baseClassName }--extended` );
}
if ( props.aspectRatio ) {
classes.push( `${ baseClassName }--${ props.aspectRatio }` );
}
const CardFooter = props.extended && props.showInstances ? : '';
return (
{ CardFooter }
);
}
SiteTemplate.propTypes = {
aspectRatio: PropTypes.string,
className: PropTypes.string,
extended: PropTypes.bool,
id: PropTypes.number.isRequired,
isActive: PropTypes.bool.isRequired,
status: PropTypes.string,
thumbnail: PropTypes.string.isRequired,
title: PropTypes.string.isRequired,
isSelected: PropTypes.bool,
type: PropTypes.string.isRequired,
showInstances: PropTypes.bool,
};
SiteTemplate.defaultProps = {
isSelected: false,
};
// Hide paging when TTA collapses to accordion (except pageable)
// ==========================
@media (max-width: @vc_tta-breakpoint) {
.vc_tta-container {
.vc_tta:not([class*="vc_tta-pageable"]) {
.vc_pagination {
display: none;
}
}
}
}/**
* Add an element to fusion-builder.
*
* @package fusion-builder
* @since 1.0
*/
/**
* Map shortcode to Avada Builder.
*/
function fusion_element_slider_revolution() {
if ( ! defined( 'RS_PLUGIN_PATH' ) ) {
return;
}
fusion_builder_map(
[
'name' => esc_attr__( 'Slider Revolution', 'fusion-builder' ),
'shortcode' => 'rev_slider',
'icon' => 'fusiona-air',
'preview' => FUSION_BUILDER_PLUGIN_DIR . 'inc/templates/previews/fusion-revolution-slider-preview.php',
'preview_id' => 'fusion-builder-block-module-revolution-slider-preview-template',
'help_url' => 'https://theme-fusion.com/documentation/fusion-builder/elements/slider-revolution-element/',
'params' => [
[
'type' => 'select',
'heading' => esc_attr__( 'Select Slider', 'fusion-builder' ),
'description' => esc_attr__( 'Select a slider group.', 'fusion-builder' ),
'param_name' => 'alias',
'value' => fusion_builder_get_revslider_slides(),
],
],
]
);
}
add_action( 'fusion_builder_before_init', 'fusion_element_slider_revolution' );
/**
* Add an element to fusion-builder.
*
* @package fusion-builder
* @since 1.0
*/
if ( ! class_exists( 'FusionSC_Row' ) ) {
/**
* Shortcode class.
*
* @since 3.0
*/
class FusionSC_Row extends Fusion_Row_Element {
/**
* Constructor.
*
* @access public
* @since 3.0
*/
public function __construct() {
$shortcode = 'fusion_builder_row';
$shortcode_attr_id = 'row';
$classname = 'fusion-row';
$content_filter = 'fusion_element_row_content';
parent::__construct( $shortcode, $shortcode_attr_id, $classname, $content_filter );
}
}
}
new FusionSC_Row();
/**
* Map Row shortcode to Avada Builder
*/
function fusion_element_row() {
fusion_builder_map(
fusion_builder_frontend_data(
'FusionSC_Row',
[
'name' => esc_attr__( 'Row', 'fusion-builder' ),
'shortcode' => 'fusion_builder_row',
'hide_from_builder' => true,
]
)
);
}
add_action( 'fusion_builder_before_init', 'fusion_element_row' );
/**
* Add an element to fusion-builder.
*
* @package fusion-builder
* @since 1.0
*/
if ( fusion_is_element_enabled( 'fusion_social_links' ) ) {
if ( ! class_exists( 'FusionSC_SocialLinks' ) ) {
/**
* Shortcode class.
*
* @since 1.0
*/
class FusionSC_SocialLinks extends Fusion_Element {
/**
* An array of the shortcode arguments.
*
* @access protected
* @since 1.0
* @var array
*/
protected $args;
/**
* Constructor.
*
* @access public
* @since 1.0
*/
public function __construct() {
parent::__construct();
add_filter( 'fusion_attr_social-links-shortcode', [ $this, 'attr' ] );
add_filter( 'fusion_attr_social-links-shortcode-social-networks', [ $this, 'social_networks_attr' ] );
add_filter( 'fusion_attr_social-links-shortcode-icon', [ $this, 'icon_attr' ] );
add_shortcode( 'fusion_social_links', [ $this, 'render' ] );
}
/**
* Gets the default values.
*
* @static
* @access public
* @since 2.0.0
* @return array
*/
public static function get_element_defaults() {
$fusion_settings = fusion_get_fusion_settings();
return [
'hide_on_mobile' => fusion_builder_default_visibility( 'string' ),
'sticky_display' => '',
'class' => '',
'id' => '',
'font_size' => $fusion_settings->get( 'social_links_font_size' ),
'icons_boxed' => ( 1 == $fusion_settings->get( 'social_links_boxed' ) ) ? 'yes' : $fusion_settings->get( 'social_links_boxed' ), // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
'icons_boxed_radius' => fusion_library()->sanitize->size( $fusion_settings->get( 'social_links_boxed_radius' ) ),
'color_type' => $fusion_settings->get( 'social_links_color_type' ),
'icon_colors' => $fusion_settings->get( 'social_links_icon_color' ),
'box_colors' => $fusion_settings->get( 'social_links_box_color' ),
'icon_order' => '',
'show_custom' => 'no',
'alignment' => '',
'tooltip_placement' => strtolower( $fusion_settings->get( 'social_links_tooltip_placement' ) ),
'facebook' => '',
'tiktok' => '',
'twitch' => '',
'twitter' => '',
'instagram' => '',
'linkedin' => '',
'dribbble' => '',
'rss' => '',
'youtube' => '',
'pinterest' => '',
'flickr' => '',
'vimeo' => '',
'tumblr' => '',
'discord' => '',
'digg' => '',
'blogger' => '',
'skype' => '',
'myspace' => '',
'deviantart' => '',
'yahoo' => '',
'reddit' => '',
'forrst' => '',
'paypal' => '',
'dropbox' => '',
'soundcloud' => '',
'vk' => '',
'wechat' => '',
'whatsapp' => '',
'xing' => '',
'yelp' => '',
'spotify' => '',
'email' => '',
'phone' => '',
];
}
/**
* Maps settings to param variables.
*
* @static
* @access public
* @since 2.0.0
* @return array
*/
public static function settings_to_params() {
return [
'social_links_boxed' => [
'param' => 'icons_boxed',
'callback' => 'toYes',
],
'social_links_boxed_radius' => 'icons_boxed_radius',
'social_links_color_type' => 'color_type',
'social_links_icon_color' => 'icon_colors',
'social_links_box_color' => 'box_colors',
'social_links_font_size' => 'font_size',
'social_links_tooltip_placement' => [
'param' => 'tooltip_placement',
'callback' => 'toLowerCase',
],
];
}
/**
* Used to set any other variables for use on front-end editor template.
*
* @static
* @access public
* @since 2.0.0
* @return array
*/
public static function get_element_extras() {
$fusion_settings = fusion_get_fusion_settings();
return [
'linktarget' => $fusion_settings->get( 'social_icons_new' ),
'social_links_box_color' => $fusion_settings->get( 'social_links_box_color' ),
'social_links_icon_color' => $fusion_settings->get( 'social_links_icon_color' ),
'social_media_icons' => $fusion_settings->get( 'social_media_icons' ),
'boxed_padding' => $fusion_settings->get( 'social_links_boxed_padding' ),
];
}
/**
* Maps settings to extra variables.
*
* @static
* @access public
* @since 2.0.0
* @return array
*/
public static function settings_to_extras() {
return [
'social_icons_new' => 'linktarget',
'social_links_box_color' => 'social_links_box_color',
'social_links_icon_color' => 'social_links_icon_color',
'social_media_icons' => 'social_media_icons',
];
}
/**
* Render the shortcode
*
* @access public
* @since 1.0
* @param array $args Shortcode parameters.
* @param string $content Content between shortcode.
* @return string HTML output.
*/
public function render( $args, $content = '' ) {
global $fusion_settings;
$defaults = FusionBuilder::set_shortcode_defaults( self::get_element_defaults(), $args, 'fusion_social_links' );
$content = apply_filters( 'fusion_shortcode_content', $content, 'fusion_social_links', $args );
foreach ( $args as $key => $arg ) {
if ( false !== strpos( $key, 'custom_' ) ) {
$defaults[ $key ] = $arg;
}
}
$defaults['icons_boxed_radius'] = FusionBuilder::validate_shortcode_attr_value( $defaults['icons_boxed_radius'], 'px' );
$defaults['font_size'] = FusionBuilder::validate_shortcode_attr_value( $defaults['font_size'], 'px' );
extract( $defaults );
$this->args = $defaults;
if ( empty( $defaults['color_type'] ) ) {
$defaults['box_colors'] = $fusion_settings->get( 'social_links_box_color' );
$defaults['icon_colors'] = $fusion_settings->get( 'social_links_icon_color' );
}
$social_networks = fusion_builder_get_social_networks( $defaults );
$social_networks = fusion_builder_sort_social_networks( $social_networks );
$icons = fusion_builder_build_social_links( $social_networks, 'social-links-shortcode-icon', $defaults );
$html = '
';
$html .= '
';
$html .= '
';
$html .= $icons;
$html .= '
';
$html .= '
';
$html .= '
';
if ( $alignment && ! fusion_element_rendering_is_flex() ) {
$html = '' . $html . '
';
}
$this->on_render();
return apply_filters( 'fusion_element_social_links_content', $html, $args );
}
/**
* Builds the attributes array.
*
* @access public
* @since 1.0
* @return array
*/
public function attr() {
$attr = fusion_builder_visibility_atts(
$this->args['hide_on_mobile'],
[
'class' => 'fusion-social-links',
]
);
$attr['class'] .= Fusion_Builder_Sticky_Visibility_Helper::get_sticky_class( $this->args['sticky_display'] );
if ( fusion_element_rendering_is_flex() && $this->args['alignment'] ) {
$attr['style'] = 'text-align:' . $this->args['alignment'];
}
if ( $this->args['class'] ) {
$attr['class'] .= ' ' . $this->args['class'];
}
if ( $this->args['id'] ) {
$attr['id'] = $this->args['id'];
}
return $attr;
}
/**
* Builds the social-networks attributes array.
*
* @access public
* @since 1.0
* @return array
*/
public function social_networks_attr() {
$attr = [
'class' => 'fusion-social-networks',
];
if ( 'yes' === $this->args['icons_boxed'] ) {
$attr['class'] .= ' boxed-icons';
}
return $attr;
}
/**
* Builds the icon attributes array.
*
* @access public
* @since 1.0
* @param array $args The arguments array.
* @return array
*/
public function icon_attr( $args ) {
global $fusion_settings;
$attr = [
'class' => '',
'style' => '',
];
$tooltip = Fusion_Social_Icon::get_social_network_name( $args['social_network'] );
if ( '' === $args['social_network'] || 'custom_' === substr( $args['social_network'], 0, 7 ) ) {
$attr['class'] .= 'custom ';
$args['social_network'] = strtolower( str_replace( ' ', '-', $tooltip ) );
}
if ( 'none' !== strtolower( $this->args['tooltip_placement'] ) ) {
$attr['data-placement'] = strtolower( $this->args['tooltip_placement'] );
$attr['data-title'] = $tooltip;
$attr['data-toggle'] = 'tooltip';
}
$attr['title'] = $tooltip;
$attr['class'] .= 'fusion-social-network-icon fusion-tooltip fusion-' . $args['social_network'] . ' fusion-icon-' . $args['social_network'];
$attr['aria-label'] = $args['social_network'];
$link = $args['social_link'];
$attr['target'] = ( $fusion_settings->get( 'social_icons_new' ) ) ? '_blank' : '_self';
if ( '_blank' === $attr['target'] ) {
$attr['rel'] = 'noopener noreferrer';
}
if ( 'mail' === $args['social_network'] ) {
$link = $args['social_link'];
if ( 'http' !== substr( $args['social_link'], 0, 4 ) ) {
if ( apply_filters( 'fusion_disable_antispambot', false ) ) {
$link = 'mailto:' . str_replace( 'mailto:', '', $args['social_link'] );
} else {
$link = 'mailto:' . antispambot( str_replace( 'mailto:', '', $args['social_link'] ) );
}
}
}
if ( 'phone' === $args['social_network'] ) {
$link = 'tel:' . str_replace( 'tel:', '', $args['social_link'] );
$attr['target'] = '_self';
}
$attr['href'] = $link;
if ( $fusion_settings->get( 'nofollow_social_links' ) ) {
$attr['rel'] = ( isset( $attr['rel'] ) ) ? $attr['rel'] . ' nofollow' : 'nofollow';
}
if ( $args['icon_color'] ) {
$attr['style'] = 'color:' . $args['icon_color'] . ';';
}
if ( $this->args['font_size'] ) {
$attr['style'] .= 'font-size:' . $this->args['font_size'] . ';';
if ( 'yes' === $this->args['icons_boxed'] ) {
$attr['style'] .= 'width: calc(' . $this->args['font_size'] . ' + (2 * (' . $fusion_settings->get( 'social_links_boxed_padding' ) . ')) + 2px);';
}
}
if ( 'yes' === $this->args['icons_boxed'] && $args['box_color'] ) {
$attr['style'] .= 'background-color:' . $args['box_color'] . ';border-color:' . $args['box_color'] . ';';
}
if ( 'yes' === $this->args['icons_boxed'] && $this->args['icons_boxed_radius'] || '0' === $this->args['icons_boxed_radius'] ) {
if ( 'round' === $this->args['icons_boxed_radius'] ) {
$this->args['icons_boxed_radius'] = '50%';
}
$attr['style'] .= 'border-radius:' . $this->args['icons_boxed_radius'] . ';';
}
return $attr;
}
/**
* Adds settings to element options panel.
*
* @access public
* @since 1.1
* @return array $sections Social Links settings.
*/
public function add_options() {
global $fusion_settings;
return [
'social_links_shortcode_section' => [
'label' => esc_html__( 'Social Links Element', 'fusion-builder' ),
'description' => '',
'id' => 'social_links_shortcode_section',
'type' => 'accordion',
'icon' => 'fusiona-link',
'fields' => [
'social_links_info' => [
'id' => 'social_links_info',
'type' => 'custom',
'description' => '' . __( 'IMPORTANT NOTE: These social icon global options control both the social link element and person element.', 'fusion-builder' ) . '
',
],
'social_links_font_size' => [
'label' => esc_html__( 'Social Links Icons Font Size', 'fusion-builder' ),
'description' => esc_html__( 'Controls the font size for the social link icons.', 'fusion-builder' ),
'id' => 'social_links_font_size',
'default' => '16px',
'type' => 'dimension',
'css_vars' => [
[
'name' => '--social_links_font_size',
'element' => '.fusion-social-links',
],
],
],
'social_links_color_type' => [
'label' => esc_html__( 'Social Links Icon Color Type', 'fusion-builder' ),
'description' => esc_html__( 'Custom colors allow you to choose a color for icons and boxes. Brand colors will use the exact brand color of each network for the icons or boxes.', 'fusion-builder' ),
'id' => 'social_links_color_type',
'default' => 'custom',
'type' => 'radio-buttonset',
'transport' => 'postMessage',
'choices' => [
'custom' => esc_html__( 'Custom Colors', 'fusion-builder' ),
'brand' => esc_html__( 'Brand Colors', 'fusion-builder' ),
],
],
'social_links_icon_color' => [
'label' => esc_html__( 'Social Links Custom Icons Color', 'fusion-builder' ),
'description' => esc_html__( 'Controls the color of the custom icons.', 'fusion-builder' ),
'id' => 'social_links_icon_color',
'default' => '#9ea0a4',
'type' => 'color-alpha',
'transport' => 'postMessage',
'soft_dependency' => true,
],
'social_links_boxed' => [
'label' => esc_html__( 'Social Links Icons Boxed', 'fusion-builder' ),
'description' => esc_html__( 'Turn on to have the icon displayed in a small box. Turn off to have the icon displayed with no box.', 'fusion-builder' ),
'id' => 'social_links_boxed',
'default' => '0',
'type' => 'switch',
'transport' => 'postMessage',
],
'social_links_box_color' => [
'label' => esc_html__( 'Social Links Icons Custom Box Color', 'fusion-builder' ),
'description' => esc_html__( 'Select a custom social icon box color.', 'fusion-builder' ),
'id' => 'social_links_box_color',
'default' => '#f2f3f5',
'type' => 'color-alpha',
'transport' => 'postMessage',
'soft_dependency' => true,
],
'social_links_boxed_radius' => [
'label' => esc_html__( 'Social Links Icons Boxed Radius', 'fusion-builder' ),
'description' => esc_html__( 'Box radius for the social icons.', 'fusion-builder' ),
'id' => 'social_links_boxed_radius',
'default' => '4px',
'type' => 'dimension',
'choices' => [ 'px', 'em' ],
'transport' => 'postMessage',
'soft_dependency' => true,
],
'social_links_boxed_padding' => [
'label' => esc_html__( 'Social Links Icons Boxed Padding', 'fusion-builder' ),
'id' => 'social_links_boxed_padding',
'default' => '8px',
'type' => 'dimension',
'transport' => 'postMessage',
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--social_links_boxed_padding',
'element' => '.fusion-social-links',
],
],
],
'social_links_tooltip_placement' => [
'label' => esc_html__( 'Social Links Icons Tooltip Position', 'fusion-builder' ),
'description' => esc_html__( 'Controls the tooltip position of the social links icons.', 'fusion-builder' ),
'id' => 'social_links_tooltip_placement',
'default' => 'Top',
'type' => 'radio-buttonset',
'transport' => 'postMessage',
'choices' => [
'Top' => esc_html__( 'Top', 'fusion-builder' ),
'Right' => esc_html__( 'Right', 'fusion-builder' ),
'Bottom' => esc_html__( 'Bottom', 'fusion-builder' ),
'Left' => esc_html__( 'Left', 'fusion-builder' ),
'None' => esc_html__( 'None', 'fusion-builder' ),
],
],
],
],
];
}
/**
* Sets the necessary scripts.
*
* @access public
* @since 3.2
* @return void
*/
public function on_first_render() {
Fusion_Dynamic_JS::enqueue_script( 'fusion-tooltip' );
}
/**
* Load base CSS.
*
* @access public
* @since 3.0
* @return void
*/
public function add_css_files() {
FusionBuilder()->add_element_css( FUSION_BUILDER_PLUGIN_DIR . 'assets/css/shortcodes/social-links.min.css' );
}
}
}
new FusionSC_SocialLinks();
}
/**
* Map shortcode to Avada Builder.
*
* @since 1.0
*/
function fusion_element_social_links() {
$social_options = [
'name' => esc_attr__( 'Social Links', 'fusion-builder' ),
'shortcode' => 'fusion_social_links',
'icon' => 'fusiona-link',
'help_url' => 'https://theme-fusion.com/documentation/fusion-builder/elements/social-links-element/',
'params' => [
[
'type' => 'textfield',
'heading' => esc_attr__( 'Social Icons Font Size', 'fusion-builder' ),
'description' => esc_attr__( 'Controls the font size for the social icons. Enter value including CSS unit (px, em, rem), ex: 10px', 'fusion-builder' ),
'param_name' => 'font_size',
'value' => '',
'group' => esc_attr__( 'Design', 'fusion-builder' ),
],
[
'type' => 'radio_button_set',
'heading' => esc_attr__( 'Boxed Social Icons', 'fusion-builder' ),
'description' => esc_attr__( 'Choose to get boxed icons.', 'fusion-builder' ),
'param_name' => 'icons_boxed',
'value' => [
'' => esc_attr__( 'Default', 'fusion-builder' ),
'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
'no' => esc_attr__( 'No', 'fusion-builder' ),
],
'default' => '',
'group' => esc_attr__( 'Design', 'fusion-builder' ),
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Social Icon Box Radius', 'fusion-builder' ),
'description' => esc_attr__( 'Choose the border radius of the boxed icons. In pixels (px), ex: 1px, or "round". ', 'fusion-builder' ),
'param_name' => 'icons_boxed_radius',
'value' => '',
'dependency' => [
[
'element' => 'icons_boxed',
'value' => 'no',
'operator' => '!=',
],
],
'group' => esc_attr__( 'Design', 'fusion-builder' ),
],
[
'type' => 'radio_button_set',
'heading' => esc_attr__( 'Social Icons Color Type', 'fusion-builder' ),
'description' => esc_attr__( 'Choose the color type of social icons. Brand colors will use the exact brand color of each network for the icons or boxes.', 'fusion-builder' ),
'param_name' => 'color_type',
'value' => [
'' => esc_attr__( 'Default', 'fusion-builder' ),
'custom' => esc_attr__( 'Custom Colors', 'fusion-builder' ),
'brand' => esc_attr__( 'Brand Colors', 'fusion-builder' ),
],
'default' => '',
'group' => esc_attr__( 'Design', 'fusion-builder' ),
],
[
'type' => 'textarea',
'heading' => esc_attr__( 'Social Icon Custom Colors', 'fusion-builder' ),
'description' => esc_attr__( 'Specify the color of social icons.', 'fusion-builder' ),
'param_name' => 'icon_colors',
'value' => '',
'dependency' => [
[
'element' => 'color_type',
'value' => 'brand',
'operator' => '!=',
],
],
'group' => esc_attr__( 'Design', 'fusion-builder' ),
],
[
'type' => 'textarea',
'heading' => esc_attr__( 'Social Icon Custom Box Colors', 'fusion-builder' ),
'description' => esc_attr__( 'Specify the box color of social icons.', 'fusion-builder' ),
'param_name' => 'box_colors',
'value' => '',
'dependency' => [
[
'element' => 'icons_boxed',
'value' => 'no',
'operator' => '!=',
],
[
'element' => 'color_type',
'value' => 'brand',
'operator' => '!=',
],
],
'group' => esc_attr__( 'Design', 'fusion-builder' ),
],
[
'type' => 'radio_button_set',
'heading' => esc_attr__( 'Social Icon Tooltip Position', 'fusion-builder' ),
'description' => esc_attr__( 'Choose the display position for tooltips.', 'fusion-builder' ),
'param_name' => 'tooltip_placement',
'value' => [
'' => esc_attr__( 'Default', 'fusion-builder' ),
'top' => esc_attr__( 'Top', 'fusion-builder' ),
'bottom' => esc_attr__( 'Bottom', 'fusion-builder' ),
'left' => esc_attr__( 'Left', 'fusion-builder' ),
'Right' => esc_attr__( 'Right', 'fusion-builder' ),
'none' => esc_html__( 'None', 'fusion-builder' ),
],
'default' => '',
'group' => esc_attr__( 'Design', 'fusion-builder' ),
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Blogger Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Blogger link.', 'fusion-builder' ),
'param_name' => 'blogger',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Deviantart Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Deviantart link.', 'fusion-builder' ),
'param_name' => 'deviantart',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Discord Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Discord link.', 'fusion-builder' ),
'param_name' => 'discord',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Digg Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Digg link.', 'fusion-builder' ),
'param_name' => 'digg',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Dribbble Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Dribbble link.', 'fusion-builder' ),
'param_name' => 'dribbble',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Dropbox Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Dropbox link.', 'fusion-builder' ),
'param_name' => 'dropbox',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Facebook Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Facebook link.', 'fusion-builder' ),
'param_name' => 'facebook',
'value' => '#',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Flickr Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Flickr link.', 'fusion-builder' ),
'param_name' => 'flickr',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Forrst Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Forrst link.', 'fusion-builder' ),
'param_name' => 'forrst',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Instagram Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Instagram link.', 'fusion-builder' ),
'param_name' => 'instagram',
'value' => '#',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'LinkedIn Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom LinkedIn link.', 'fusion-builder' ),
'param_name' => 'linkedin',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Myspace Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Myspace link.', 'fusion-builder' ),
'param_name' => 'myspace',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'PayPal Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom PayPal link.', 'fusion-builder' ),
'param_name' => 'paypal',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Pinterest Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Pinterest link.', 'fusion-builder' ),
'param_name' => 'pinterest',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Reddit Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Reddit link.', 'fusion-builder' ),
'param_name' => 'reddit',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'RSS Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom RSS link.', 'fusion-builder' ),
'param_name' => 'rss',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Skype Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Skype link.', 'fusion-builder' ),
'param_name' => 'skype',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'SoundCloud Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom SoundCloud link.', 'fusion-builder' ),
'param_name' => 'soundcloud',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Spotify Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Spotify link.', 'fusion-builder' ),
'param_name' => 'spotify',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Tiktok Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Tiktok link.', 'fusion-builder' ),
'param_name' => 'tiktok',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Tumblr Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Tumblr link.', 'fusion-builder' ),
'param_name' => 'tumblr',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Twitch Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Twitch link.', 'fusion-builder' ),
'param_name' => 'twitch',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Twitter Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Twitter link.', 'fusion-builder' ),
'param_name' => 'twitter',
'value' => '#',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Vimeo Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Vimeo link.', 'fusion-builder' ),
'param_name' => 'vimeo',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'VK Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom VK link.', 'fusion-builder' ),
'param_name' => 'vk',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'WeChat Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom WeChat link.', 'fusion-builder' ),
'param_name' => 'wechat',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'WhatsApp Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom WhatsApp link.', 'fusion-builder' ),
'param_name' => 'whatsapp',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Xing Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Xing link.', 'fusion-builder' ),
'param_name' => 'xing',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Yahoo Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Yahoo link.', 'fusion-builder' ),
'param_name' => 'yahoo',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Yelp Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Yelp link.', 'fusion-builder' ),
'param_name' => 'yelp',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Youtube Link', 'fusion-builder' ),
'description' => esc_attr__( 'Insert your custom Youtube link.', 'fusion-builder' ),
'param_name' => 'youtube',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Email Address', 'fusion-builder' ),
'description' => esc_attr__( 'Insert an email address to display the email icon.', 'fusion-builder' ),
'param_name' => 'email',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'textfield',
'heading' => esc_attr__( 'Phone Number', 'fusion-builder' ),
'description' => esc_attr__( 'Insert a phone number to display the phone icon.', 'fusion-builder' ),
'param_name' => 'phone',
'value' => '',
'dynamic_data' => true,
],
[
'type' => 'radio_button_set',
'heading' => esc_attr__( 'Show Custom Social Icon', 'fusion-builder' ),
'description' => esc_attr__( 'Show the custom social icon specified in Global Options.', 'fusion-builder' ),
'param_name' => 'show_custom',
'value' => [
'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
'no' => esc_attr__( 'No', 'fusion-builder' ),
],
'default' => 'no',
],
],
];
$custom_social_networks = fusion_builder_get_custom_social_networks();
if ( is_array( $custom_social_networks ) ) {
$custom_networks = [];
foreach ( $custom_social_networks as $key => $custom_network ) {
$social_options['params'][] = [
'type' => 'textfield',
/* translators: The network-name. */
'heading' => sprintf( esc_attr__( '%s Link', 'fusion-builder' ), $custom_network['title'] ),
'description' => esc_attr__( 'Insert your custom social link.', 'fusion-builder' ),
'param_name' => 'custom_' . $key,
'value' => '',
'dependency' => [
[
'element' => 'show_custom',
'value' => 'yes',
'operator' => '==',
],
],
];
}
}
$social_options['params'][] = [
'type' => 'radio_button_set',
'heading' => esc_attr__( 'Alignment', 'fusion-builder' ),
'description' => esc_attr__( "Select the icon's alignment.", 'fusion-builder' ),
'param_name' => 'alignment',
'value' => [
'' => esc_attr__( 'Text Flow', 'fusion-builder' ),
'left' => esc_attr__( 'Left', 'fusion-builder' ),
'center' => esc_attr__( 'Center', 'fusion-builder' ),
'right' => esc_attr__( 'Right', 'fusion-builder' ),
],
'default' => '',
'group' => esc_attr__( 'Design', 'fusion-builder' ),
];
$social_options['params'][] = [
'type' => 'checkbox_button_set',
'heading' => esc_attr__( 'Element Visibility', 'fusion-builder' ),
'param_name' => 'hide_on_mobile',
'value' => fusion_builder_visibility_options( 'full' ),
'default' => fusion_builder_default_visibility( 'array' ),
'description' => esc_attr__( 'Choose to show or hide the element on small, medium or large screens. You can choose more than one at a time.', 'fusion-builder' ),
];
$social_options['params']['fusion_sticky_visibility_placeholder'] = [];
$social_options['params'][] = [
'type' => 'textfield',
'heading' => esc_attr__( 'CSS Class', 'fusion-builder' ),
'param_name' => 'class',
'value' => '',
'description' => esc_attr__( 'Add a class to the wrapping HTML element.', 'fusion-builder' ),
];
$social_options['params'][] = [
'type' => 'textfield',
'heading' => esc_attr__( 'CSS ID', 'fusion-builder' ),
'param_name' => 'id',
'value' => '',
'description' => esc_attr__( 'Add an ID to the wrapping HTML element.', 'fusion-builder' ),
];
fusion_builder_map( fusion_builder_frontend_data( 'FusionSC_SocialLinks', $social_options ) );
}
add_action( 'fusion_builder_before_init', 'fusion_element_social_links' );
/*! elementor - v3.14.0 - 26-06-2023 */
"use strict";
(self["webpackChunkelementor"] = self["webpackChunkelementor"] || []).push([["toggle"],{
/***/ "../assets/dev/js/frontend/handlers/base-tabs.js":
/*!*******************************************************!*\
!*** ../assets/dev/js/frontend/handlers/base-tabs.js ***!
\*******************************************************/
/***/ ((__unused_webpack_module, exports) => {
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
class baseTabs extends elementorModules.frontend.handlers.Base {
getDefaultSettings() {
return {
selectors: {
tablist: '[role="tablist"]',
tabTitle: '.elementor-tab-title',
tabContent: '.elementor-tab-content'
},
classes: {
active: 'elementor-active'
},
showTabFn: 'show',
hideTabFn: 'hide',
toggleSelf: true,
hidePrevious: true,
autoExpand: true,
keyDirection: {
ArrowLeft: elementorFrontendConfig.is_rtl ? 1 : -1,
ArrowUp: -1,
ArrowRight: elementorFrontendConfig.is_rtl ? -1 : 1,
ArrowDown: 1
}
};
}
getDefaultElements() {
const selectors = this.getSettings('selectors');
return {
$tabTitles: this.findElement(selectors.tabTitle),
$tabContents: this.findElement(selectors.tabContent)
};
}
activateDefaultTab() {
const settings = this.getSettings();
if (!settings.autoExpand || 'editor' === settings.autoExpand && !this.isEdit) {
return;
}
const defaultActiveTab = this.getEditSettings('activeItemIndex') || 1,
originalToggleMethods = {
showTabFn: settings.showTabFn,
hideTabFn: settings.hideTabFn
};
// Toggle tabs without animation to avoid jumping
this.setSettings({
showTabFn: 'show',
hideTabFn: 'hide'
});
this.changeActiveTab(defaultActiveTab);
// Return back original toggle effects
this.setSettings(originalToggleMethods);
}
handleKeyboardNavigation(event) {
const tab = event.currentTarget,
$tabList = jQuery(tab.closest(this.getSettings('selectors').tablist)),
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
$tabs = $tabList.find(this.getSettings('selectors').tabTitle),
isVertical = 'vertical' === $tabList.attr('aria-orientation');
switch (event.key) {
case 'ArrowLeft':
case 'ArrowRight':
if (isVertical) {
return;
}
break;
case 'ArrowUp':
case 'ArrowDown':
if (!isVertical) {
return;
}
event.preventDefault();
break;
case 'Home':
event.preventDefault();
$tabs.first().trigger('focus');
return;
case 'End':
event.preventDefault();
$tabs.last().trigger('focus');
return;
default:
return;
}
const tabIndex = tab.getAttribute('data-tab') - 1,
direction = this.getSettings('keyDirection')[event.key],
nextTab = $tabs[tabIndex + direction];
if (nextTab) {
nextTab.focus();
} else if (-1 === tabIndex + direction) {
$tabs.last().trigger('focus');
} else {
$tabs.first().trigger('focus');
}
}
deactivateActiveTab(tabIndex) {
const settings = this.getSettings(),
activeClass = settings.classes.active,
activeFilter = tabIndex ? '[data-tab="' + tabIndex + '"]' : '.' + activeClass,
$activeTitle = this.elements.$tabTitles.filter(activeFilter),
$activeContent = this.elements.$tabContents.filter(activeFilter);
$activeTitle.add($activeContent).removeClass(activeClass);
$activeTitle.attr({
tabindex: '-1',
'aria-selected': 'false',
'aria-expanded': 'false'
});
$activeContent[settings.hideTabFn]();
$activeContent.attr('hidden', 'hidden');
}
activateTab(tabIndex) {
const settings = this.getSettings(),
activeClass = settings.classes.active,
$requestedTitle = this.elements.$tabTitles.filter('[data-tab="' + tabIndex + '"]'),
$requestedContent = this.elements.$tabContents.filter('[data-tab="' + tabIndex + '"]'),
animationDuration = 'show' === settings.showTabFn ? 0 : 400;
$requestedTitle.add($requestedContent).addClass(activeClass);
$requestedTitle.attr({
tabindex: '0',
'aria-selected': 'true',
'aria-expanded': 'true'
});
$requestedContent[settings.showTabFn](animationDuration, () => elementorFrontend.elements.$window.trigger('elementor-pro/motion-fx/recalc'));
$requestedContent.removeAttr('hidden');
}
isActiveTab(tabIndex) {
return this.elements.$tabTitles.filter('[data-tab="' + tabIndex + '"]').hasClass(this.getSettings('classes.active'));
}
bindEvents() {
this.elements.$tabTitles.on({
keydown: event => {
// Support for old markup that includes an `` tag in the tab
if (jQuery(event.target).is('a') && `Enter` === event.key) {
event.preventDefault();
}
// We listen to keydowon event for these keys in order to prevent undesired page scrolling
if (['End', 'Home', 'ArrowUp', 'ArrowDown'].includes(event.key)) {
this.handleKeyboardNavigation(event);
}
},
keyup: event => {
switch (event.code) {
case 'ArrowLeft':
case 'ArrowRight':
this.handleKeyboardNavigation(event);
break;
case 'Enter':
case 'Space':
event.preventDefault();
this.changeActiveTab(event.currentTarget.getAttribute('data-tab'));
break;
}
},
click: event => {
event.preventDefault();
this.changeActiveTab(event.currentTarget.getAttribute('data-tab'));
}
});
}
onInit() {
super.onInit(...arguments);
this.activateDefaultTab();
}
onEditSettingsChange(propertyName) {
if ('activeItemIndex' === propertyName) {
this.activateDefaultTab();
}
}
changeActiveTab(tabIndex) {
const isActiveTab = this.isActiveTab(tabIndex),
settings = this.getSettings();
if ((settings.toggleSelf || !isActiveTab) && settings.hidePrevious) {
this.deactivateActiveTab();
}
if (!settings.hidePrevious && isActiveTab) {
this.deactivateActiveTab(tabIndex);
}
if (!isActiveTab) {
this.activateTab(tabIndex);
}
}
}
exports["default"] = baseTabs;
/***/ }),
/***/ "../assets/dev/js/frontend/handlers/toggle.js":
/*!****************************************************!*\
!*** ../assets/dev/js/frontend/handlers/toggle.js ***!
\****************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _baseTabs = _interopRequireDefault(__webpack_require__(/*! ./base-tabs */ "../assets/dev/js/frontend/handlers/base-tabs.js"));
class Toggle extends _baseTabs.default {
getDefaultSettings() {
const defaultSettings = super.getDefaultSettings();
return {
...defaultSettings,
showTabFn: 'slideDown',
hideTabFn: 'slideUp',
hidePrevious: false,
autoExpand: 'editor'
};
}
}
exports["default"] = Toggle;
/***/ })
}]);
//# sourceMappingURL=toggle.29e5a34bb6e51dab4600.bundle.js.map(function ($) {
"use strict";
vc.atts.g5element_number_and_unit = {
init: function (param, $field) {
var $inputField = $field.find('.g5element_number_and_unit_field');
$field.find('.g5element-vc-number-and-unit-field').on('change',function(){
var value = '';
$field.find('.g5element-vc-number-and-unit-field').each(function(){
if (value === '') {
value += $(this).val();
} else {
value += $(this).val();
}
});
$inputField.val(value);
});
}
}
})(jQuery);
{{ option.name }}
/**
* Avada Options.
*
* @author ThemeFusion
* @copyright (c) Copyright by ThemeFusion
* @link https://theme-fusion.com
* @package Avada
* @subpackage Core
* @since 4.0.0
*/
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct script access denied.' );
}
/**
* Menu
*
* @param array $sections An array of our sections.
* @return array
*/
function avada_options_section_menu( $sections ) {
$option_name = Avada::get_option_name();
$settings = (array) get_option( $option_name );
if ( ! isset( $settings['header_position'] ) ) {
$settings['header_position'] = 'top';
}
if ( ! isset( $settings['side_header_break_point'] ) ) {
$settings['side_header_break_point'] = 800;
}
/* translators: value. */
$menu_height_hint = '';
// If we can get logo height and the logo margins are in pixels, then we can provide a hint.
if ( is_admin() ) {
$logo_data = Avada()->images->get_logo_data( 'logo' );
if ( isset( $logo_data['height'] ) && '' !== $logo_data['height'] && isset( $settings['logo_margin']['top'] ) && isset( $settings['logo_margin']['bottom'] ) ) {
$logo_top_margin = Fusion_Sanitize::size( $settings['logo_margin']['top'] );
$logo_bottom_margin = Fusion_Sanitize::size( $settings['logo_margin']['bottom'] );
if ( strpos( $logo_top_margin, 'px' ) && strpos( $logo_bottom_margin, 'px' ) ) {
$total_logo_height = intval( $logo_top_margin ) + intval( $logo_bottom_margin ) + intval( $logo_data['height'] );
/* translators: value. */
$menu_height_hint = '';
}
}
}
$menu_edit_link = '';
// Only needed in front end builder.
if ( function_exists( 'fusion_is_preview_frame' ) ) {
$menu_locations = get_nav_menu_locations();
$menu_edit_link = isset( $menu_locations['main_navigation'] ) ? admin_url( 'nav-menus.php?action=edit&menu=' . $menu_locations['main_navigation'] ) : admin_url( 'nav-menus.php' );
}
// Check if we have a global header override.
$has_global_header = false;
if ( class_exists( 'Fusion_Template_Builder' ) ) {
$default_layout = Fusion_Template_Builder::get_default_layout();
$has_global_header = isset( $default_layout['data']['template_terms'] ) && isset( $default_layout['data']['template_terms']['header'] ) && $default_layout['data']['template_terms']['header'];
}
$sections['menu'] = [
'label' => esc_html__( 'Menu', 'Avada' ),
'id' => 'heading_menu_section',
'priority' => 1,
'icon' => 'el-icon-lines',
'alt_icon' => 'fusiona-bars',
'fields' => [],
];
if ( $has_global_header ) {
$sections['menu']['fields']['menu_global_header_override_template_notice'] = [
'id' => 'menu_global_header_override_template_notice',
'label' => '',
'hidden' => ! $has_global_header,
'description' => sprintf(
/* translators: 1: Content|Footer|Page Title Bar. 2: URL. */
'' . __( '
IMPORTANT NOTE: The options on this tab are not available because a global %1$s override is currently used. To edit your global layout please visit
this page .', 'Avada' ) . '
',
Fusion_Template_Builder::get_instance()->get_template_terms()['header']['label'],
admin_url( 'admin.php?page=avada-layouts' )
),
'type' => 'custom',
];
}
$fields = [
'heading_menu' => [
'label' => esc_html__( 'Main Menu', 'Avada' ),
'id' => 'heading_menu',
'priority' => 6,
'type' => 'sub-section',
'hidden' => $has_global_header,
'fields' => [
'nav_height' => [
'label' => esc_html__( 'Main Menu Height', 'Avada' ),
'description' => esc_html__( 'Controls the menu height.', 'Avada' ) . $menu_height_hint,
'id' => 'nav_height',
'default' => '94',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '300',
'step' => '1',
],
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--nav_height',
'element' => '.fusion-main-menu',
'value_pattern' => '$px',
],
],
'output' => [
// This is for the avadaHeaderVars.nav_height var.
[
'element' => 'helperElement',
'property' => 'bottom',
'js_callback' => [
'fusionGlobalScriptSet',
[
'globalVar' => 'avadaHeaderVars',
'id' => 'nav_height',
'trigger' => [ 'fusion-reinit-sticky-header' ],
],
],
'sanitize_callback' => '__return_empty_string',
],
],
'edit_shortcut' => [
'selector' => [ '.fusion-header', '#side-header .side-header-wrapper' ],
'shortcuts' => [
[
'aria_label' => esc_html__( 'Edit Main Menu', 'Avada' ),
'link' => $menu_edit_link,
'order' => 3,
],
],
],
],
'menu_highlight_style' => [
'label' => esc_html__( 'Main Menu Highlight Style', 'Avada' ),
'description' => __( 'Controls the highlight style for main menu links and also affects the look of menu dropdowns. Arrow style cannot work with a transparent header background. Bar highlights will display vertically on side header layouts. IMPORTANT: Arrow & Background style can require configuration of other options depending on desired effect.', 'Avada' ) . ' ' . esc_html__( 'See this post for more information', 'Avada' ) . ' .',
'id' => 'menu_highlight_style',
'default' => 'bar',
'choices' => [
'bar' => esc_html__( 'Top Bar', 'Avada' ),
'bottombar' => esc_html__( 'Bottom Bar', 'Avada' ),
'arrow' => esc_html__( 'Arrow', 'Avada' ),
'background' => esc_html__( 'Background', 'Avada' ),
'textcolor' => esc_html__( 'Color Only', 'Avada' ),
],
'type' => 'radio-buttonset',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'output' => [
// Change body class.
[
'element' => 'body',
'function' => 'attr',
'attr' => 'class',
'value_pattern' => 'avada-menu-highlight-style-$',
'remove_attrs' => [ 'avada-menu-highlight-style-bar', 'avada-menu-highlight-style-bottombar', 'avada-menu-highlight-style-arrow', 'avada-menu-highlight-style-background', 'avada-menu-highlight-style-textcolor' ],
],
// Change the avadaHeaderVars.nav_highlight_style var.
[
'element' => 'helperElement',
'property' => 'bottom',
'js_callback' => [
'fusionGlobalScriptSet',
[
'choice' => 'top',
'globalVar' => 'avadaHeaderVars',
'id' => 'nav_highlight_style',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
// Partial refresh for the header.
'partial_refresh' => [
'menu_highlight_style_header_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'menu_highlight_style_header_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'menu_highlight_style_header' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
],
'menu_highlight_background' => [
'label' => esc_html__( 'Main Menu Highlight Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of main menu highlight.', 'Avada' ),
'id' => 'menu_highlight_background',
'default' => '#65bc7b',
'type' => 'color-alpha',
'class' => 'fusion-gutter-and-or-and',
'required' => [
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'background',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'background',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--menu_highlight_background',
'callback' => [ 'sanitize_color' ],
],
],
],
'menu_arrow_size' => [
'label' => esc_html__( 'Main Menu Arrow Size', 'Avada' ),
'description' => esc_html__( 'Controls the width and height of the main menu arrow.', 'Avada' ),
'id' => 'menu_arrow_size',
'units' => false,
'default' => [
'width' => '23px',
'height' => '12px',
],
'type' => 'dimensions',
'class' => 'fusion-gutter-and-or-and',
'required' => [
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'arrow',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'arrow',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--menu_arrow_size-width',
'choice' => 'width',
],
[
'name' => '--menu_arrow_size-height',
'choice' => 'height',
],
[
'name' => '--menu_arrow_size-width-header_border_color_condition_5',
'choice' => 'width',
'callback' => [ 'header_border_color_condition_5', '' ],
],
],
],
'nav_highlight_border' => [
'label' => esc_html__( 'Main Menu Highlight Bar Size', 'Avada' ),
'description' => esc_html__( 'Controls the size of the menu highlight bar.', 'Avada' ),
'id' => 'nav_highlight_border',
'default' => '3',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '40',
'step' => '1',
],
'class' => 'fusion-gutter-and-or-and-or-and-or-and',
'required' => [
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'bar',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'bar',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'bottombar',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'bottombar',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--nav_highlight_border',
'value_pattern' => '$px',
'callback' => [ 'fallback_to_value', '0' ],
],
],
'output' => [
// Change the avadaHeaderVars.nav_height var.
[
'element' => 'helperElement',
'property' => 'bottom',
'js_callback' => [
'fusionGlobalScriptSet',
[
'choice' => 'top',
'globalVar' => 'avadaHeaderVars',
'id' => 'nav_highlight_border',
],
],
'sanitize_callback' => '__return_empty_string',
],
// Change the avadaHeaderVars.nav_height var.
[
'element' => 'helperElement',
'property' => 'bottom',
'js_callback' => [
'fusionGlobalScriptSet',
[
'choice' => 'top',
'globalVar' => 'avadaHeaderVars',
'id' => 'nav_height',
'trigger' => [ 'fusion-reinit-sticky-header' ],
'condition' => [ 'menu_highlight_style', '===', 'bar', '$', '0' ],
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'nav_padding' => [
'label' => esc_html__( 'Main Menu Item Padding', 'Avada' ),
'description' => esc_html__( 'Controls the right padding for menu text (left on RTL).', 'Avada' ),
'id' => 'nav_padding',
'default' => '48',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '200',
'step' => '1',
],
'required' => [
[
'setting' => 'header_position',
'operator' => '==',
'value' => 'top',
],
],
'css_vars' => [
[
'name' => '--nav_padding',
'value_pattern' => '$px',
],
[
'name' => '--nav_padding-no-zero',
'callback' => [
'conditional_return_value',
[
'value_pattern' => [ '$px', '' ],
'conditions' => [
[ 'nav_padding', '==', '0' ],
],
],
],
],
],
],
'mobile_nav_padding' => [
'label' => esc_html__( 'Main Menu Item Padding On Mobile', 'Avada' ),
'description' => esc_html__( 'Controls the right padding for menu text (left on RTL) when the normal desktop menu is used on mobile devices.', 'Avada' ),
'id' => 'mobile_nav_padding',
'default' => '25',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '200',
'step' => '1',
],
'required' => [
[
'setting' => 'header_position',
'operator' => '==',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--mobile_nav_padding',
'element' => '.fusion-main-menu',
'value_pattern' => '$px',
],
],
],
'megamenu_shadow' => [
'label' => esc_html__( 'Main Menu Drop Shadow', 'Avada' ),
'description' => esc_html__( 'Turn on to display a drop shadow on menu dropdowns.', 'Avada' ),
'id' => 'megamenu_shadow',
'default' => '1',
'type' => 'switch',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'true' ],
'element' => 'body',
'className' => 'avada-has-megamenu-shadow',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'main_menu_sub_menu_animation' => [
'label' => esc_html__( 'Main Menu Dropdown / Mega Menu Animation', 'Avada' ),
'description' => esc_html__( 'Controls the animation type for all sub-menus.', 'Avada' ),
'id' => 'main_menu_sub_menu_animation',
'type' => 'radio-buttonset',
'default' => 'fade',
'choices' => [
'fade' => esc_html__( 'Fade', 'Avada' ),
'slide' => esc_html__( 'Slide', 'Avada' ),
],
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
// Change body class.
[
'element' => 'body',
'function' => 'attr',
'attr' => 'class',
'value_pattern' => 'fusion-sub-menu-$',
'remove_attrs' => [ 'fusion-sub-menu-fade', 'fusion-sub-menu-slide' ],
],
],
'dropdown_menu_top_border_size' => [
'label' => esc_html__( 'Main Menu Dropdown Top Border Size', 'Avada' ),
'description' => esc_html__( 'Controls top border size of dropdown menus and mega menus.', 'Avada' ),
'id' => 'dropdown_menu_top_border_size',
'default' => '3',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '50',
'step' => '1',
],
'class' => 'fusion-gutter-and-or-and-or-and-or-and',
'required' => [
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'bar',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'bar',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'bottombar',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'menu_highlight_style',
'operator' => '==',
'value' => 'bottombar',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--dropdown_menu_top_border_size',
'value_pattern' => '$px',
],
],
],
'dropdown_menu_width' => [
'label' => esc_html__( 'Main Menu Dropdown Width', 'Avada' ),
'description' => esc_html__( 'Controls the width of the dropdown.', 'Avada' ),
'id' => 'dropdown_menu_width',
'default' => '200',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '500',
'step' => '1',
],
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--dropdown_menu_width',
'value_pattern' => '$px',
],
],
],
'mainmenu_dropdown_vertical_padding' => [
'label' => esc_html__( 'Main Menu Dropdown Item Padding', 'Avada' ),
'description' => esc_html__( 'Controls the top/bottom padding for dropdown menu items.', 'Avada' ),
'id' => 'mainmenu_dropdown_vertical_padding',
'default' => '12',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '50',
'step' => '1',
],
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--mainmenu_dropdown_vertical_padding',
'value_pattern' => '$px',
],
],
],
'mainmenu_dropdown_display_divider' => [
'label' => esc_html__( 'Main Menu Dropdown Divider', 'Avada' ),
'description' => esc_html__( 'Turn on to display a divider line on dropdown menu items.', 'Avada' ),
'id' => 'mainmenu_dropdown_display_divider',
'default' => '0',
'type' => 'switch',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'true' ],
'element' => 'body',
'className' => 'avada-has-mainmenu-dropdown-divider',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'menu_display_dropdown_indicator' => [
'label' => esc_html__( 'Main Menu Dropdown Indicator', 'Avada' ),
'description' => esc_html__( 'Turn on to display arrow indicators next to parent level menu items.', 'Avada' ),
'id' => 'menu_display_dropdown_indicator',
'default' => 'none',
'choices' => [
'parent' => esc_html__( 'Parent', 'Avada' ),
'parent_child' => esc_html__( 'Parent + Child', 'Avada' ),
'none' => esc_html__( 'None', 'Avada' ),
],
'type' => 'radio-buttonset',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
// Partial refresh for the header.
'partial_refresh' => [
'header_menu_display_dropdown_indicator_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'header_menu_display_dropdown_indicator_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'header_menu_display_dropdown_indicator' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
],
'main_nav_search_icon' => [
'label' => esc_html__( 'Main Menu Search Icon', 'Avada' ),
'description' => esc_html__( 'Turn on to display the search icon in the main menu.', 'Avada' ),
'id' => 'main_nav_search_icon',
'default' => '1',
'type' => 'switch',
// Partial refresh for the header.
'partial_refresh' => [
'header_main_nav_search_icon_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'header_main_nav_search_icon_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'header_main_nav_search_icon' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'true' ],
'element' => 'body',
'className' => 'avada-has-main-nav-search-icon',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'main_nav_search_layout' => [
'label' => esc_html__( 'Main Menu Search Layout', 'Avada' ),
'description' => esc_html__( 'Controls the layout of the search bar in the main menu.', 'Avada' ),
'id' => 'main_nav_search_layout',
'default' => 'overlay',
'choices' => [
'dropdown' => esc_html__( 'Drop-Down', 'Avada' ),
'overlay' => esc_html__( 'Menu Overlay', 'Avada' ),
],
'type' => 'radio-buttonset',
'required' => [
[
'setting' => 'main_nav_search_icon',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '==',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'partial_refresh' => [
'main_nav_search_layout_refresh' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ 'dropdown', 'overlay' ],
'element' => 'body',
'className' => [ 'fusion-main-menu-search-dropdown', 'fusion-main-menu-search-overlay' ],
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'main_nav_icon_circle' => [
'label' => esc_html__( 'Main Menu Icon Circle Borders', 'Avada' ),
'description' => esc_html__( 'Turn on to display a circle border on the cart and search icons.', 'Avada' ),
'id' => 'main_nav_icon_circle',
'default' => '0',
'type' => 'switch',
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'true' ],
'element' => 'body',
'className' => 'fusion-has-main-nav-icon-circle',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'main_nav_highlight_radius' => [
'label' => esc_html__( 'Menu Highlight Label Radius', 'Avada' ),
'description' => esc_html__( 'Controls the border radius of all your menu highlight labels.', 'Avada' ),
'id' => 'main_nav_highlight_radius',
'default' => '2px',
'type' => 'dimension',
'css_vars' => [
[
'name' => '--main_nav_highlight_radius',
'element' => '.fusion-menu-highlight-label',
],
],
],
'menu_sub_bg_color' => [
'label' => esc_html__( 'Main Menu Dropdown Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the main menu dropdown.', 'Avada' ),
'id' => 'menu_sub_bg_color',
'default' => '#ffffff',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--menu_sub_bg_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'menu_bg_hover_color' => [
'label' => esc_html__( 'Main Menu Dropdown Background Hover Color', 'Avada' ),
'description' => esc_html__( 'Controls the background hover color of the main menu dropdown.', 'Avada' ),
'id' => 'menu_bg_hover_color',
'default' => '#f9f9fb',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--menu_bg_hover_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'menu_sub_sep_color' => [
'label' => esc_html__( 'Main Menu Dropdown Separator Color', 'Avada' ),
'description' => esc_html__( 'Controls the color of the separators in the main menu dropdown.', 'Avada' ),
'id' => 'menu_sub_sep_color',
'default' => '#e2e2e2',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--menu_sub_sep_color',
'callback' => [ 'sanitize_color' ],
],
],
'output' => [
[
'element' => [ '.fusion-main-menu .fusion-main-menu-search .fusion-custom-menu-item-contents', '.fusion-main-menu .fusion-main-menu-cart .fusion-custom-menu-item-contents', '.fusion-main-menu .fusion-menu-login-box .fusion-custom-menu-item-contents' ],
'property' => 'border',
'js_callback' => [
'fusionReturnStringIfTransparent',
[
'transparent' => '0',
'opaque' => '',
],
],
'sanitize_callback' => [ 'Avada_Output_Callbacks', 'menu_sub_sep_color' ],
],
],
],
'menu_h45_bg_color' => [
'label' => esc_html__( 'Main Menu Background Color For Header 4 & 5', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the main menu when using header 4 or 5.', 'Avada' ),
'id' => 'menu_h45_bg_color',
'default' => '#ffffff',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_layout',
'operator' => '==',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '==',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--menu_h45_bg_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'main_menu_typography_info' => [
'label' => esc_html__( 'Main Menu Typography', 'Avada' ),
'description' => '',
'id' => 'main_menu_typography_info',
'type' => 'info',
],
'nav_typography' => [
'id' => 'nav_typography',
'label' => esc_html__( 'Menus Typography', 'Avada' ),
'description' => esc_html__( 'These settings control the typography for all main menu top-level items.', 'Avada' ),
'type' => 'typography',
'class' => 'avada-no-fontsize',
'choices' => [
'font-family' => true,
'font-weight' => true,
'font-size' => true,
'letter-spacing' => true,
'color' => true,
],
'default' => [
'font-family' => 'Open Sans',
'font-weight' => '400',
'font-size' => '14px',
'letter-spacing' => '0',
'color' => '#212934',
],
'css_vars' => [
[
'name' => '--nav_typography-font-family',
'choice' => 'font-family',
'callback' => [ 'combined_font_family', 'nav_typography' ],
],
[
'name' => '--nav_typography-font-weight',
'choice' => 'font-weight',
'callback' => [ 'font_weight_no_regular', '' ],
],
[
'name' => '--nav_typography-font-size',
'choice' => 'font-size',
],
[
'name' => '--nav_typography-font-style',
'choice' => 'font-style',
],
[
'name' => '--nav_typography-letter-spacing',
'choice' => 'letter-spacing',
'callback' => [ 'maybe_append_px', '' ],
],
[
'name' => '--nav_typography-color',
'choice' => 'color',
],
[
'name' => '--nav_typography-color-65a',
'choice' => 'color',
'callback' => [ 'color_alpha_set', .65 ],
],
[
'name' => '--nav_typography-color-35a',
'choice' => 'color',
'callback' => [ 'color_alpha_set', .35 ],
],
],
],
'menu_text_align' => [
'label' => esc_html__( 'Main Menu Text Align', 'Avada' ),
'description' => esc_html__( 'Controls the main menu text alignment for top headers 4-5 and side headers.', 'Avada' ),
'id' => 'menu_text_align',
'default' => 'center',
'choices' => [
'left' => esc_html__( 'Left', 'Avada' ),
'center' => esc_html__( 'Center', 'Avada' ),
'right' => esc_html__( 'Right', 'Avada' ),
],
'type' => 'radio-buttonset',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_layout',
'operator' => '==',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '==',
'value' => 'v5',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
],
'css_vars' => [
[
'name' => '--menu_text_align',
'element' => '.fusion-main-menu',
],
],
'output' => [
( class_exists( 'SitePress' ) ) ? [
'element' => [ '#side-header .fusion-main-menu .wpml-ls-item > a', '#side-header .fusion-main-menu .wpml-ls-item .menu-text' ],
'property' => 'justify-content',
'value_pattern' => ( is_rtl() ) ? 'flex-end' : 'flex-start',
'exclude' => [ 'right', 'center' ],
] : [],
( class_exists( 'SitePress' ) ) ? [
'element' => [ '#side-header .fusion-main-menu .wpml-ls-item > a', '#side-header .fusion-main-menu .wpml-ls-item .menu-text' ],
'property' => 'justify-content',
'value_pattern' => ( is_rtl() ) ? 'flex-start' : 'flex-end',
'exclude' => [ 'left', 'center' ],
] : [],
[
'element' => 'body',
'function' => 'attr',
'attr' => 'class',
'value_pattern' => 'menu-text-align-$',
'remove_attrs' => [ 'menu-text-align-left', 'menu-text-align-center', 'menu-text-align-right' ],
],
],
// Partial refresh for the header.
'partial_refresh' => [
'menu_text_align_header_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'menu_text_align_header_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'menu_text_align_header' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
],
'menu_hover_first_color' => [
'label' => esc_html__( 'Main Menu Font Hover/Active Color', 'Avada' ),
'description' => esc_html__( 'Controls the color for main menu text hover and active states, highlight bar and dropdown border.', 'Avada' ),
'id' => 'menu_hover_first_color',
'default' => '#65bc7b',
'type' => 'color-alpha',
'css_vars' => [
[
'name' => '--menu_hover_first_color',
'callback' => [ 'sanitize_color' ],
],
[
'name' => '--menu_hover_first_color-65a',
'callback' => [ 'color_alpha_set', '0.65' ],
],
],
],
'menu_sub_color' => [
'label' => esc_html__( 'Main Menu Dropdown Font Color', 'Avada' ),
'description' => esc_html__( 'Controls the color for main menu dropdown text.', 'Avada' ),
'id' => 'menu_sub_color',
'default' => '#212934',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--menu_sub_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'nav_dropdown_font_size' => [
'label' => esc_html__( 'Main Menu Dropdown Font Size', 'Avada' ),
'description' => esc_html__( 'Controls the font size for main menu dropdown text.', 'Avada' ),
'id' => 'nav_dropdown_font_size',
'default' => '14px',
'type' => 'dimension',
'choices' => [
'units' => [ 'px', 'em' ],
],
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
'css_vars' => [
[
'name' => '--nav_dropdown_font_size',
],
],
],
'side_nav_font_size' => [
'label' => esc_html__( 'Side Navigation Font Size', 'Avada' ),
'description' => esc_html__( 'Controls the font size for the menu text when using the side navigation page template.', 'Avada' ),
'id' => 'side_nav_font_size',
'default' => '16px',
'type' => 'dimension',
'choices' => [
'units' => [ 'px', 'em' ],
],
'css_vars' => [
[
'name' => '--side_nav_font_size',
'element' => '.side-nav',
],
],
],
],
],
'flyout_menu_subsection' => [
'label' => esc_html__( 'Flyout Menu', 'Avada' ),
'id' => 'flyout_menu_subsection',
'type' => 'sub-section',
'hidden' => $has_global_header,
'fields' => [
'flyout_menu_important_note_info' => ( '0' === Avada()->settings->get( 'dependencies_status' ) ) ? [] : [
'label' => '',
'description' => '' . __( 'IMPORTANT NOTE: Flyout Menu Options are only available when using Header Layout #6 or Mobile Flyout Menu. Your current setup does not utilize the flyout menu.', 'Avada' ) . '
',
'id' => 'flyout_menu_important_note_info',
'type' => 'custom',
'class' => 'fusion-gutter-and-or-and',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
],
],
'flyout_menu_icon_font_size' => [
'label' => esc_html__( 'Flyout Menu Icon Font Size', 'Avada' ),
'description' => esc_html__( 'Controls the font size for the flyout menu icons.', 'Avada' ),
'id' => 'flyout_menu_icon_font_size',
'default' => '20px',
'type' => 'dimension',
'class' => 'fusion-gutter-and-or',
'choices' => [
'units' => [ 'px', 'em' ],
],
'required' => [
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v6',
],
[
'setting' => 'header_position',
'operator' => '=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--flyout_menu_icon_font_size',
],
[
'name' => '--flyout_menu_icon_font_size_px',
'callback' => [ 'units_to_px' ],
],
],
],
'flyout_nav_icons_padding' => [
'label' => esc_html__( 'Flyout Menu Icon Padding', 'Avada' ),
'description' => esc_html__( 'Controls the right padding for flyout menu icons (left on RTL).', 'Avada' ),
'id' => 'flyout_nav_icons_padding',
'default' => '32',
'type' => 'slider',
'class' => 'fusion-gutter-and-or',
'choices' => [
'min' => '0',
'max' => '200',
'step' => '1',
],
'required' => [
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v6',
],
[
'setting' => 'header_position',
'operator' => '=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--flyout_nav_icons_padding',
'element' => '.fusion-flyout-menu-icons',
'value_pattern' => '$px',
],
],
],
'flyout_menu_icon_color' => [
'label' => esc_html__( 'Flyout Menu Icon Color', 'Avada' ),
'description' => esc_html__( 'Controls the color of the flyout menu icons.', 'Avada' ),
'id' => 'flyout_menu_icon_color',
'default' => '#212934',
'type' => 'color-alpha',
'class' => 'fusion-gutter-and-or',
'required' => [
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v6',
],
[
'setting' => 'header_position',
'operator' => '=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--flyout_menu_icon_color',
'element' => '.fusion-flyout-menu-icons',
'callback' => [ 'sanitize_color' ],
],
],
],
'flyout_menu_icon_hover_color' => [
'label' => esc_html__( 'Flyout Menu Icon Hover Color', 'Avada' ),
'description' => esc_html__( 'Controls the hover color of the flyout menu icons.', 'Avada' ),
'id' => 'flyout_menu_icon_hover_color',
'default' => '#65bc7b',
'type' => 'color-alpha',
'class' => 'fusion-gutter-and-or',
'required' => [
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v6',
],
[
'setting' => 'header_position',
'operator' => '=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--flyout_menu_icon_hover_color',
'element' => '.fusion-flyout-menu-icons',
'callback' => [ 'sanitize_color' ],
],
],
],
'flyout_menu_background_color' => [
'label' => esc_html__( 'Flyout Menu Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the flyout menu', 'Avada' ),
'id' => 'flyout_menu_background_color',
'default' => 'rgba(255,255,255,0.96)',
'type' => 'color-alpha',
'class' => 'fusion-gutter-and-or',
'required' => [
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v6',
],
[
'setting' => 'header_position',
'operator' => '=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--flyout_menu_background_color',
'element' => '.fusion-flyout-menu-bg',
'callback' => [ 'sanitize_color' ],
],
],
],
'flyout_menu_direction' => [
'label' => esc_html__( 'Flyout Menu Direction', 'Avada' ),
'description' => esc_html__( 'Controls the direction the flyout menu starts from.', 'Avada' ),
'id' => 'flyout_menu_direction',
'default' => 'fade',
'type' => 'select',
'class' => 'fusion-gutter-and-or',
'choices' => [
'fade' => esc_html__( 'Fade', 'Avada' ),
'left' => esc_html__( 'Left', 'Avada' ),
'right' => esc_html__( 'Right', 'Avada' ),
'bottom' => esc_html__( 'Bottom', 'Avada' ),
'top' => esc_html__( 'Top', 'Avada' ),
],
'required' => [
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v6',
],
[
'setting' => 'header_position',
'operator' => '=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '=',
'value' => 'flyout',
],
],
'output' => [
[
'element' => '.fusion-logo-alignment',
'function' => 'attr',
'attr' => 'class',
'value_pattern' => 'avada-flyout-menu-direction-$',
'remove_attrs' => [ 'avada-flyout-menu-direction-fade', 'avada-flyout-menu-direction-left', 'avada-flyout-menu-direction-right', 'avada-flyout-menu-direction-bottom', 'avada-flyout-menu-direction-top' ],
],
],
],
'flyout_menu_item_padding' => [
'label' => esc_html__( 'Flyout Menu Item Padding', 'Avada' ),
'description' => esc_html__( 'Controls the padding between flyout menu items.', 'Avada' ),
'id' => 'flyout_menu_item_padding',
'default' => '32',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '100',
'step' => '1',
],
'class' => 'fusion-gutter-and-or',
'required' => [
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v6',
],
[
'setting' => 'header_position',
'operator' => '=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--flyout_menu_item_padding',
'element' => '.fusion-flyout-menu',
'value_pattern' => '$px',
],
],
],
],
],
'heading_secondary_top_menu' => [
'label' => esc_html__( 'Secondary Top Menu', 'Avada' ),
'id' => 'heading_secondary_top_menu',
'priority' => 6,
'type' => 'sub-section',
'hidden' => $has_global_header,
'fields' => [
'no_secondary_menu_note' => ( '0' === Avada()->settings->get( 'dependencies_status' ) ) ? [] : [
'label' => '',
'description' => '' . __( 'IMPORTANT NOTE: Secondary Top Menu Options are only available when using Header Layouts #2-5. Your current Header Layout does not utilize the secondary top menu.', 'Avada' ) . '
',
'id' => 'no_secondary_menu_note',
'type' => 'custom',
'required' => [
[
'setting' => 'header_position',
'operator' => '==',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v5',
],
],
],
'topmenu_dropwdown_width' => [
'label' => esc_html__( 'Secondary Menu Dropdown Width', 'Avada' ),
'description' => esc_html__( 'Controls the width of the secondary menu dropdown.', 'Avada' ),
'id' => 'topmenu_dropwdown_width',
'default' => '200',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '500',
'step' => '1',
],
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--topmenu_dropwdown_width',
'element' => '.fusion-secondary-menu',
'value_pattern' => '$px',
],
],
],
'header_top_first_border_color' => [
'label' => esc_html__( 'Secondary Menu Divider Color', 'Avada' ),
'description' => esc_html__( 'Controls the divider color of the first level secondary menu.', 'Avada' ),
'id' => 'header_top_first_border_color',
'default' => 'rgba(0,0,0,0.06)',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--header_top_first_border_color',
'element' => '.fusion-secondary-menu',
'callback' => [ 'sanitize_color' ],
],
],
],
'header_top_sub_bg_color' => [
'label' => esc_html__( 'Secondary Menu Dropdown Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the secondary menu dropdown.', 'Avada' ),
'id' => 'header_top_sub_bg_color',
'default' => '#ffffff',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--header_top_sub_bg_color',
'element' => '.fusion-secondary-menu',
'callback' => [ 'sanitize_color' ],
],
],
],
'header_top_menu_bg_hover_color' => [
'label' => esc_html__( 'Secondary Menu Dropdown Background Hover Color', 'Avada' ),
'description' => esc_html__( 'Controls the background hover color of the secondary menu dropdown.', 'Avada' ),
'id' => 'header_top_menu_bg_hover_color',
'default' => '#f9f9fb',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--header_top_menu_bg_hover_color',
'element' => '.fusion-secondary-menu',
'callback' => [ 'sanitize_color' ],
],
],
],
'header_top_menu_sub_sep_color' => [
'label' => esc_html__( 'Secondary Menu Dropdown Separator Color', 'Avada' ),
'description' => esc_html__( 'Controls the color of the separators in the secondary menu dropdown.', 'Avada' ),
'id' => 'header_top_menu_sub_sep_color',
'default' => '#e2e2e2',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--header_top_menu_sub_sep_color',
'element' => '.fusion-secondary-menu',
'callback' => [ 'sanitize_color' ],
],
],
],
'secondary_menu_typography_info' => [
'label' => esc_html__( 'Secondary Top Menu Typography', 'Avada' ),
'id' => 'secondary_menu_typography_info',
'type' => 'info',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
],
'snav_font_size' => [
'label' => esc_html__( 'Secondary Menu Font Size', 'Avada' ),
'description' => esc_html__( 'Controls the font size for secondary menu text.', 'Avada' ),
'id' => 'snav_font_size',
'default' => '12px',
'type' => 'dimension',
'choices' => [
'units' => [ 'px', 'em' ],
],
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--snav_font_size',
],
],
],
'sec_menu_lh' => [
'label' => esc_html__( 'Secondary Menu Line Height', 'Avada' ),
'description' => esc_html__( 'Controls the line height for secondary menu.', 'Avada' ),
'id' => 'sec_menu_lh',
'default' => '48px',
'type' => 'dimension',
'choices' => [
'units' => [ 'px', 'em' ],
],
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--sec_menu_lh',
],
[
'name' => '--top-bar-height',
'element' => '.fusion-header',
'callback' => [
'conditional_return_value',
[
'value_pattern' => [ 'calc($ / 2)', '21.5px' ],
'conditions' => [
[ 'sec_menu_lh', '>', '43' ],
],
],
],
],
],
],
'snav_color' => [
'label' => esc_html__( 'Secondary Menu Font Color', 'Avada' ),
'description' => esc_html__( 'Controls the color for secondary menu text.', 'Avada' ),
'id' => 'snav_color',
'default' => '#ffffff',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--snav_color',
'element' => '.fusion-secondary-header',
'callback' => [ 'sanitize_color' ],
],
],
],
'header_top_menu_sub_color' => [
'label' => esc_html__( 'Secondary Menu Dropdown Font Color', 'Avada' ),
'description' => esc_html__( 'Controls the color for secondary menu dropdown text.', 'Avada' ),
'id' => 'header_top_menu_sub_color',
'default' => '#4a4e57',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--header_top_menu_sub_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'header_top_menu_sub_hover_color' => [
'label' => esc_html__( 'Secondary Menu Dropdown Font Hover Color', 'Avada' ),
'description' => esc_html__( 'Controls the hover color for secondary menu dropdown text.', 'Avada' ),
'id' => 'header_top_menu_sub_hover_color',
'default' => '#65bc7b',
'type' => 'color-alpha',
'class' => 'fusion-or-gutter',
'required' => [
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v2',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v3',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v4',
],
[
'setting' => 'header_layout',
'operator' => '=',
'value' => 'v5',
],
],
'css_vars' => [
[
'name' => '--header_top_menu_sub_hover_color',
'element' => '.fusion-secondary-menu',
'callback' => [ 'sanitize_color' ],
],
],
],
],
],
'heading_mobile_menu' => [
'label' => esc_html__( 'Mobile Menu', 'Avada' ),
'id' => 'heading_mobile_menu',
'priority' => 6,
'type' => 'sub-section',
'hidden' => $has_global_header,
'fields' => [
'no_responsive_mode_info_1' => ( '0' === Avada()->settings->get( 'dependencies_status' ) ) ? [] : [
'label' => '',
'description' => '' . __( 'IMPORTANT NOTE: Please enable responsive mode. Mobile menus are only available when you\'re using the responsive mode. To enable it please go to the "Responsive" section and set the "Responsive Design" option to ON.', 'Avada' ) . '
',
'id' => 'no_responsive_mode_info_1',
'type' => 'custom',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '0',
],
],
],
'no_mobile_menu_note' => ( '0' === Avada()->settings->get( 'dependencies_status' ) ) ? [] : [
'label' => '',
'description' => '' . __( 'IMPORTANT NOTE: Because of the design of your Header Layout #6, only a few options are available here. More options are available when using Header Layouts #1-5 or 7. The rest of the options for Header Layout #6 are on the Flyout Menu and Main Menu tab.', 'Avada' ) . '
',
'id' => 'no_mobile_menu_note',
'type' => 'custom',
'required' => [
[
'setting' => 'header_layout',
'operator' => '==',
'value' => 'v6',
],
[
'setting' => 'header_position',
'operator' => '==',
'value' => 'top',
],
],
],
'mobile_menu_design' => [
'label' => esc_html__( 'Mobile Menu Design Style', 'Avada' ),
'description' => esc_html__( 'Controls the design of the mobile menu. Flyout design style only allows parent level menu items.', 'Avada' ),
'id' => 'mobile_menu_design',
'default' => 'classic',
'type' => 'radio-buttonset',
'class' => 'fusion-gutter-and-or-and',
'choices' => [
'classic' => esc_html__( 'Classic', 'Avada' ),
'modern' => esc_html__( 'Modern', 'Avada' ),
'flyout' => esc_html__( 'Flyout', 'Avada' ),
],
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
],
'output' => [
[
'element' => 'body',
'function' => 'attr',
'attr' => 'class',
'value_pattern' => 'mobile-menu-design-$',
'remove_attrs' => [ 'mobile-menu-design-classic', 'mobile-menu-design-modern', 'mobile-menu-design-flyout' ],
'sanitize_callback' => '__return_empty_string',
],
],
// Partial refresh for the header.
'partial_refresh' => [
'mobile_menu_design_header_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'mobile_menu_design_header_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'mobile_menu_design_header' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
],
'mobile_menu_icons_top_margin' => [
'label' => esc_html__( 'Mobile Menu Icons Top Margin', 'Avada' ),
'description' => esc_html__( 'Controls the top margin for the icons in the modern and flyout mobile menu design.', 'Avada' ),
'id' => 'mobile_menu_icons_top_margin',
'default' => '2',
'type' => 'slider',
'class' => 'fusion-gutter-and-and-or-and-and',
'choices' => [
'min' => '0',
'max' => '200',
'step' => '1',
],
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'classic',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'classic',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
],
'css_vars' => [
[
'name' => '--mobile_menu_icons_top_margin',
'value_pattern' => '$px',
],
],
],
'mobile_menu_nav_height' => [
'label' => esc_html__( 'Mobile Menu Dropdown Item Height', 'Avada' ),
'description' => esc_html__( 'Controls the height of each dropdown menu item.', 'Avada' ),
'id' => 'mobile_menu_nav_height',
'default' => '42',
'type' => 'slider',
'class' => 'fusion-gutter-and-and-or-and-and',
'choices' => [
'min' => '0',
'max' => '200',
'step' => '1',
],
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--mobile_menu_nav_height',
'value_pattern' => '$px',
],
],
],
'mobile_nav_submenu_slideout' => [
'label' => esc_html__( 'Mobile Menu Dropdown Slide Outs', 'Avada' ),
'description' => esc_html__( 'Turn on to allow dropdown sections to slide out when tapped.', 'Avada' ),
'id' => 'mobile_nav_submenu_slideout',
'default' => '1',
'type' => 'switch',
'class' => 'fusion-gutter-and-and-or-and-and',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
],
'output' => [
// This is for the avadaMenuVars.submenu_slideout var.
[
'element' => 'helperElement',
'property' => 'bottom',
'js_callback' => [
'fusionGlobalScriptSet',
[
'globalVar' => 'avadaMenuVars',
'id' => 'submenu_slideout',
'trigger' => [ 'fusionMobileMenu' ],
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'mobile_menu_search' => [
'label' => esc_html__( 'Display Mobile Menu Search Icon/Field', 'Avada' ),
'description' => esc_html__( 'Turn on to display the search icon/field in the mobile menu.', 'Avada' ),
'id' => 'mobile_menu_search',
'default' => '1',
'type' => 'switch',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
],
// Partial refresh for the header.
'partial_refresh' => [
'mobile_menu_search_header_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'mobile_menu_search_header_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'mobile_menu_search_header' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
],
'mobile_menu_submenu_indicator' => [
'label' => esc_html__( 'Mobile Menu Sub-Menu Indicator', 'Avada' ),
'description' => esc_html__( 'Turn on to display the mobile menu sub-menu indicator: "-".', 'Avada' ),
'id' => 'mobile_menu_submenu_indicator',
'default' => '1',
'type' => 'switch',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
],
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'false' ],
'element' => '.fusion-mobile-nav-holder',
'className' => 'fusion-mobile-menu-indicator-hide',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'mobile_header_bg_color' => [
'label' => esc_html__( 'Mobile Header Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the header on mobile devices.', 'Avada' ),
'id' => 'mobile_header_bg_color',
'default' => '#ffffff',
'type' => 'color-alpha',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
],
'css_vars' => [
[
'name' => '--mobile_header_bg_color',
'callback' => [ 'sanitize_color' ],
],
],
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'not-opaque' ],
'element' => 'html',
'className' => 'avada-mobile-header-color-not-opaque',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
'update_callback' => [
[
'condition' => 'is_archive',
'operator' => '===',
'value' => false,
],
],
],
'mobile_archive_header_bg_color' => [
'label' => esc_html__( 'Mobile Archive Header Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the archive page header on mobile devices.', 'Avada' ),
'id' => 'mobile_archive_header_bg_color',
'type' => 'color-alpha',
'default' => '#ffffff',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
],
'css_vars' => [
[
'name' => '--mobile_header_bg_color',
'callback' => [ 'sanitize_color' ],
],
],
'update_callback' => [
[
'condition' => 'is_archive',
'operator' => '===',
'value' => true,
],
],
],
'mobile_menu_background_color' => [
'label' => esc_html__( 'Mobile Menu Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the mobile menu dropdown and classic mobile menu box.', 'Avada' ),
'id' => 'mobile_menu_background_color',
'default' => '#ffffff',
'type' => 'color-alpha',
'class' => 'fusion-gutter-and-and-or-and-and',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--mobile_menu_background_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'mobile_menu_hover_color' => [
'label' => esc_html__( 'Mobile Menu Background Hover Color', 'Avada' ),
'description' => esc_html__( 'Controls the background hover color of the mobile menu dropdown.', 'Avada' ),
'id' => 'mobile_menu_hover_color',
'default' => '#f9f9fb',
'type' => 'color-alpha',
'class' => 'fusion-gutter-and-and-or-and-and',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--mobile_menu_hover_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'mobile_menu_border_color' => [
'label' => esc_html__( 'Mobile Menu Border Color', 'Avada' ),
'description' => esc_html__( 'Controls the border and divider colors of the mobile menu dropdown and classic mobile menu box.', 'Avada' ),
'id' => 'mobile_menu_border_color',
'default' => '#e2e2e2',
'type' => 'color-alpha',
'class' => 'fusion-gutter-and-and-or-and-and',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--mobile_menu_border_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'mobile_menu_toggle_color' => [
'label' => esc_html__( 'Mobile Menu Toggle Color', 'Avada' ),
'description' => esc_html__( 'Controls the color of the mobile menu toggle icon.', 'Avada' ),
'id' => 'mobile_menu_toggle_color',
'default' => '#9ea0a4',
'type' => 'color-alpha',
'class' => 'fusion-gutter-and-and-or-and-and',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
],
'css_vars' => [
[
'name' => '--mobile_menu_toggle_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'mobile_menu_typography_info' => [
'label' => esc_html__( 'Mobile Menu Typography', 'Avada' ),
'description' => '',
'id' => 'mobile_menu_typography_info',
'type' => 'info',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
],
],
'mobile_menu_typography' => [
'id' => 'mobile_menu_typography',
'label' => esc_html__( 'Mobile Menu Typography', 'Avada' ),
'description' => esc_html__( 'These settings control the typography for mobile menu.', 'Avada' ),
'type' => 'typography',
'class' => 'fusion-gutter-and-or-and',
'choices' => [
'font-family' => true,
'font-size' => true,
'font-weight' => true,
'line-height' => true,
'letter-spacing' => true,
'color' => true,
],
'default' => [
'font-family' => 'Open Sans',
'font-size' => '12px',
'font-weight' => '400',
'line-height' => '42px',
'letter-spacing' => '0',
'color' => '#4a4e57',
],
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
],
'css_vars' => [
[
'name' => '--mobile_menu_typography-font-family',
'choice' => 'font-family',
'callback' => [ 'combined_font_family', 'mobile_menu_typography' ],
],
[
'name' => '--mobile_menu_typography-font-size',
'choice' => 'font-size',
],
[
'name' => '--mobile_menu_typography-font-weight',
'choice' => 'font-weight',
'callback' => [ 'font_weight_no_regular', '' ],
],
[
'name' => '--mobile_menu_typography-line-height',
'choice' => 'line-height',
],
[
'name' => '--mobile_menu_typography-letter-spacing',
'choice' => 'letter-spacing',
'callback' => [ 'maybe_append_px', '' ],
],
[
'name' => '--mobile_menu_typography-color',
'choice' => 'color',
],
[
'name' => '--mobile_menu_typography-font-style',
'choice' => 'font-style',
],
[
'name' => '--mobile_menu_typography-font-weight',
'choice' => 'font-weight',
],
[
'name' => '--mobile_menu_typography-font-size-30-or-24px',
'choice' => 'font-size',
'callback' => [
'conditional_return_value',
[
'value_pattern' => [ '30px', '24px' ],
'conditions' => [
[ 'mobile_menu_typography[font-size]', '>', '35' ],
],
],
],
],
[
'name' => '--mobile_menu_typography-font-size-open-submenu',
'choice' => 'font-size',
'callback' => [
'conditional_return_value',
[
'value_pattern' => [ '20px', 'var(--mobile_menu_typography-font-size, 13px)' ],
'conditions' => [
[ 'mobile_menu_typography[font-size]', '>', '30' ],
],
],
],
],
],
],
'mobile_menu_font_hover_color' => [
'label' => esc_html__( 'Mobile Menu Hover Color', 'Avada' ),
'description' => esc_html__( 'Controls the hover color of the mobile menu item. Also, used to highlight current mobile menu item.', 'Avada' ),
'id' => 'mobile_menu_font_hover_color',
'default' => '#212934',
'type' => 'color-alpha',
'class' => 'fusion-gutter-and-or-and',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
],
'css_vars' => [
[
'name' => '--mobile_menu_font_hover_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'mobile_menu_text_align' => [
'label' => esc_html__( 'Mobile Menu Text Align', 'Avada' ),
'description' => esc_html__( 'Controls the mobile menu text alignment.', 'Avada' ),
'id' => 'mobile_menu_text_align',
'default' => 'left',
'choices' => [
'left' => esc_html__( 'Left', 'Avada' ),
'center' => esc_html__( 'Center', 'Avada' ),
'right' => esc_html__( 'Right', 'Avada' ),
],
'type' => 'radio-buttonset',
'class' => 'fusion-gutter-and-and-or-and-and',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_position',
'operator' => '!=',
'value' => 'top',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'mobile_menu_design',
'operator' => '!=',
'value' => 'flyout',
],
],
'output' => [
( class_exists( 'SitePress' ) ) ? [
'element' => [ '.fusion-mobile-nav-holder .wpml-ls-item .menu-text', '.wpml-ls-item .menu-text, .wpml-ls-item .sub-menu a > span', '.fusion-mobile-nav-holder .wpml-ls-item > a' ],
'property' => 'justify-content',
'value_pattern' => 'center',
'exclude' => [ 'left', 'right' ],
'media_query' => 'fusion-max-sh-shbp',
] : [],
( class_exists( 'SitePress' ) ) ? [
'element' => [ '.fusion-mobile-nav-holder .wpml-ls-item .menu-text', '.wpml-ls-item .menu-text, .wpml-ls-item .sub-menu a > span', '.fusion-mobile-nav-holder .wpml-ls-item > a' ],
'property' => 'justify-content',
'value_pattern' => ( is_rtl() ) ? 'flex-end' : 'flex-start',
'exclude' => [ 'center', 'right' ],
'media_query' => 'fusion-max-sh-shbp',
] : [],
( class_exists( 'SitePress' ) ) ? [
'element' => [ '.fusion-mobile-nav-holder .wpml-ls-item .menu-text', '.wpml-ls-item .menu-text, .wpml-ls-item .sub-menu a > span', '.fusion-mobile-nav-holder .wpml-ls-item > a' ],
'property' => 'justify-content',
'value_pattern' => ( is_rtl() ) ? 'flex-start' : 'flex-end',
'exclude' => [ 'left', 'center' ],
'media_query' => 'fusion-max-sh-shbp',
] : [],
[
'element' => 'nav.fusion-mobile-nav-holder',
'function' => 'attr',
'attr' => 'class',
'value_pattern' => 'fusion-mobile-menu-text-align-$',
'remove_attrs' => [ 'fusion-mobile-menu-text-align-left', 'fusion-mobile-menu-text-align-center', 'fusion-mobile-menu-text-align-right' ],
'callback' => [
'conditional_return_value',
[
'conditions' => [
[ 'mobile_menu_design', '!==', 'flyout' ],
],
],
],
],
],
],
],
],
'mega_menu_subsection' => [
'label' => esc_html__( 'Mega Menu', 'Avada' ),
'id' => 'mega_menu_subsection',
'type' => 'sub-section',
'fields' => [
'header_v6_used_note' => ( '0' === Avada()->settings->get( 'dependencies_status' ) ) ? [] : [
'label' => '',
'description' => '' . __( 'IMPORTANT NOTE: Mega Menu Options are only available when using Header Layouts #1-5. Your current Header Layout #6 does not utilize the mega menu.', 'Avada' ) . '
',
'id' => 'header_v6_used_note',
'type' => 'custom',
'required' => [
[
'setting' => 'header_layout',
'operator' => '==',
'value' => 'v6',
],
],
],
'megamenu_disabled_note' => ( '0' === Avada()->settings->get( 'dependencies_status' ) ) ? [] : [
'label' => '',
'description' => '' . __( 'IMPORTANT NOTE: Mega Menu is disabled in Advanced > Theme Features section. Please enable it to see the options.', 'Avada' ) . '
',
'id' => 'megamenu_disabled_note',
'type' => 'custom',
'required' => [
[
'setting' => 'disable_megamenu',
'operator' => '=',
'value' => '0',
],
],
],
'megamenu_width' => [
'label' => esc_html__( 'Mega Menu Wrapper Max Width', 'Avada' ),
'description' => esc_html__( 'Controls the max width of the mega menu. On boxed side header layouts, "Viewport Width" will match "Site Width".', 'Avada' ),
'id' => 'megamenu_width',
'type' => 'radio-buttonset',
'default' => 'site_width',
'choices' => [
'site_width' => esc_html__( 'Site Width', 'Avada' ),
'viewport_width' => esc_html__( '100% Width', 'Avada' ),
'custom_width' => esc_html__( 'Custom Width', 'Avada' ),
],
'required' => [
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'disable_megamenu',
'operator' => '=',
'value' => '1',
],
],
'output' => [
// This is for the avadaMenuVars.megamenu_base_width var.
[
'element' => 'helperElement',
'property' => 'bottom',
'js_callback' => [
'fusionGlobalScriptSet',
[
'globalVar' => 'avadaMenuVars',
'id' => 'megamenu_base_width',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
// See https://github.com/Theme-Fusion/Fusion-Builder/issues/4785.
'transport' => 'refresh',
// Partial refresh for the header.
'partial_refresh' => [
'megamenu_width_header_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'megamenu_width_header_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'mmegamenu_width_header' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
],
'megamenu_max_width' => [
'label' => esc_html__( 'Mega Menu Max-Width', 'Avada' ),
'description' => esc_html__( 'Controls the max width of the mega menu.', 'Avada' ),
'id' => 'megamenu_max_width',
'default' => '1200',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '4096',
'step' => '1',
],
'required' => [
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'disable_megamenu',
'operator' => '=',
'value' => '1',
],
[
'setting' => 'megamenu_width',
'operator' => '=',
'value' => 'custom_width',
],
],
// Partial refresh for the header.
'partial_refresh' => [
'megamenu_max_width_header_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'megamenu_max_width_header_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'megamenu_max_width_header' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
],
'megamenu_interior_content_width' => [
'label' => esc_html__( 'Mega Menu Interior Content Width', 'Avada' ),
'description' => esc_html__( 'For full width mega menus select if the interior menu content is contained to site width or 100% width.', 'Avada' ),
'id' => 'megamenu_interior_content_width',
'type' => 'radio-buttonset',
'default' => 'viewport_width',
'choices' => [
'site_width' => esc_html__( 'Site Width', 'Avada' ),
'viewport_width' => esc_html__( '100% Width', 'Avada' ),
],
'required' => [
[
'setting' => 'header_position',
'operator' => '=',
'value' => 'top',
],
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'disable_megamenu',
'operator' => '=',
'value' => '1',
],
[
'setting' => 'megamenu_width',
'operator' => '=',
'value' => 'viewport_width',
],
],
// Partial refresh for the header.
'partial_refresh' => [
'megamenu_width_header_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'megamenu_width_header_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'mmegamenu_width_header' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
],
'megamenu_title_size' => [
'label' => esc_html__( 'Mega Menu Column Title Size', 'Avada' ),
'description' => esc_html__( 'Controls the font size for mega menu column titles.', 'Avada' ),
'id' => 'megamenu_title_size',
'default' => '18px',
'hidden' => $has_global_header,
'type' => 'dimension',
'required' => [
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'disable_megamenu',
'operator' => '=',
'value' => '1',
],
],
'css_vars' => [
[
'name' => '--megamenu_title_size',
'element' => '.fusion-megamenu-title',
],
],
],
'megamenu_item_vertical_padding' => [
'label' => esc_html__( 'Mega Menu Dropdown Item Padding', 'Avada' ),
'description' => esc_html__( 'Controls the top/bottom padding for mega menu dropdown items.', 'Avada' ),
'id' => 'megamenu_item_vertical_padding',
'default' => '7',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '50',
'step' => '1',
],
'required' => [
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'disable_megamenu',
'operator' => '=',
'value' => '1',
],
],
'css_vars' => [
[
'name' => '--megamenu_item_vertical_padding',
'element' => '.fusion-megamenu-submenu',
'value_pattern' => '$px',
],
],
],
'megamenu_item_display_divider' => [
'label' => esc_html__( 'Mega Menu Item Divider', 'Avada' ),
'description' => esc_html__( 'Turn on to display a divider between mega menu dropdown items.', 'Avada' ),
'id' => 'megamenu_item_display_divider',
'default' => '0',
'type' => 'switch',
'required' => [
[
'setting' => 'header_layout',
'operator' => '!=',
'value' => 'v6',
],
[
'setting' => 'disable_megamenu',
'operator' => '=',
'value' => '1',
],
],
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'true' ],
'element' => 'body',
'className' => 'avada-has-megamenu-item-divider',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
],
],
'menu_icons_subsection' => [
'label' => esc_html__( 'Main Menu Icons', 'Avada' ),
'id' => 'menu_icons_subsection',
'type' => 'sub-section',
'hidden' => $has_global_header,
'fields' => [
'menu_icons_note' => [
'label' => '',
'description' => '' . __( 'IMPORTANT NOTE: Icons are available for both the main and dropdown menus. However, the options below only apply to the main menu. Dropdown menu icons do not use these options below, they follow the dropdown font size and color. The icons themselves can be added to your menu items in the Appearance > Menus section.', 'Avada' ) . '
',
'id' => 'menu_icons_note',
'type' => 'custom',
],
'menu_icon_position' => [
'label' => esc_html__( 'Main Menu Icon Position', 'Avada' ),
'description' => esc_html__( 'Controls the main menu icon position.', 'Avada' ),
'id' => 'menu_icon_position',
'default' => 'left',
'choices' => [
'top' => esc_html__( 'Top', 'Avada' ),
'right' => esc_html__( 'Right', 'Avada' ),
'bottom' => esc_html__( 'Bottom', 'Avada' ),
'left' => esc_html__( 'Left', 'Avada' ),
],
'type' => 'radio-buttonset',
'output' => [
[
'element' => 'body',
'function' => 'attr',
'attr' => 'class',
'value_pattern' => 'avada-menu-icon-position-$',
'remove_attrs' => [ 'avada-menu-icon-position-top', 'avada-menu-icon-position-right', 'avada-menu-icon-position-bottom', 'avada-menu-icon-position-left' ],
],
],
// Partial refresh for the header.
'partial_refresh' => [
'menu_icon_position_header_remove_before_hook' => [
'selector' => '.avada-hook-before-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'menu_icon_position_header_remove_after_hook' => [
'selector' => '.avada-hook-after-header-wrapper',
'container_inclusive' => true,
'render_callback' => '__return_null',
],
'menu_icon_position_header' => [
'selector' => '.fusion-header-wrapper',
'container_inclusive' => true,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'header' ],
'success_trigger_event' => 'header-rendered',
],
],
],
'menu_icon_size' => [
'label' => esc_html__( 'Main Menu Icon Size', 'Avada' ),
'description' => esc_html__( 'Controls the size of the top-level menu icons.', 'Avada' ),
'id' => 'menu_icon_size',
'default' => '14',
'type' => 'slider',
'choices' => [
'min' => '0',
'max' => '100',
'step' => '1',
],
'css_vars' => [
[
'name' => '--menu_icon_size',
'value_pattern' => '$px',
],
],
],
'menu_icon_color' => [
'label' => esc_html__( 'Main Menu Icon Color', 'Avada' ),
'description' => esc_html__( 'Controls the color of the top-level main menu icons.', 'Avada' ),
'id' => 'menu_icon_color',
'default' => '#212934',
'type' => 'color-alpha',
'css_vars' => [
[
'name' => '--menu_icon_color',
'element' => '.fusion-megamenu-icon',
'callback' => [ 'sanitize_color' ],
],
],
],
'menu_icon_hover_color' => [
'label' => esc_html__( 'Main Menu Icon Hover Color', 'Avada' ),
'description' => esc_html__( 'Controls the hover color of the top-level main menu icons.', 'Avada' ),
'id' => 'menu_icon_hover_color',
'default' => '#65bc7b',
'type' => 'color-alpha',
'css_vars' => [
[
'name' => '--menu_icon_hover_color',
'element' => '.fusion-megamenu-icon',
'callback' => [ 'sanitize_color' ],
],
],
],
'menu_thumbnail_size' => [
'label' => esc_html__( 'Mega Menu Thumbnail Size', 'Avada' ),
'description' => esc_html__( 'Controls the width and height of the top-level mega menu thumbnails. Use "auto" for automatic resizing if you added either width or height.', 'Avada' ),
'id' => 'menu_thumbnail_size',
'units' => false,
'default' => [
'width' => '26px',
'height' => '14px',
],
'type' => 'dimensions',
'required' => [
[
'setting' => 'disable_megamenu',
'operator' => '==',
'value' => '1',
],
],
'css_vars' => [
[
'name' => '--menu_thumbnail_size-width',
'choice' => 'width',
'element' => '.fusion-main-menu',
],
[
'name' => '--menu_thumbnail_size-height',
'choice' => 'height',
'element' => '.fusion-main-menu',
],
],
],
],
],
];
$sections['menu']['fields'] = array_merge( $sections['menu']['fields'], $fields );
return $sections;
}
/**
* Avada Options.
*
* @author ThemeFusion
* @copyright (c) Copyright by ThemeFusion
* @link https://theme-fusion.com
* @package Avada
* @subpackage Core
* @since 4.0.0
*/
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct script access denied.' );
}
/**
* Page Title Bar
*
* @param array $sections An array of our sections.
* @return array
*/
function avada_options_section_page_title_bar( $sections ) {
// Check if we have a global PTB override.
$has_global_ptb = false;
if ( class_exists( 'Fusion_Template_Builder' ) ) {
$default_layout = Fusion_Template_Builder::get_default_layout();
$has_global_ptb = isset( $default_layout['data']['template_terms'] ) && isset( $default_layout['data']['template_terms']['page_title_bar'] ) && $default_layout['data']['template_terms']['page_title_bar'];
}
$sections['page_title_bar'] = [
'label' => esc_html__( 'Page Title Bar', 'Avada' ),
'id' => 'heading_page_title_bar',
'priority' => 7,
'icon' => 'el-icon-adjust-alt',
'alt_icon' => 'fusiona-page_title',
'fields' => [
'page_title_bar_template_notice' => class_exists( 'Fusion_Template_Builder' ) ? [
'id' => 'page_title_bar_template_notice',
'label' => '',
'description' => sprintf(
/* translators: 1: Content|Footer|Page Title Bar. 2: URL. */
'' . __( '
IMPORTANT NOTE: The options on this tab are not available because a global %1$s override is currently used. To edit your global layout please visit
this page .', 'Avada' ) . '
',
Fusion_Template_Builder::get_instance()->get_template_terms()['page_title_bar']['label'],
admin_url( 'admin.php?page=avada-layouts' )
),
'hidden' => ! $has_global_ptb,
'type' => 'custom',
] : [],
'page_title_bar' => [
'label' => esc_html__( 'Page Title Bar', 'Avada' ),
'description' => esc_html__( 'Controls how the page title bar displays.', 'Avada' ),
'id' => 'page_title_bar',
'default' => 'bar_and_content',
'hidden' => $has_global_ptb,
'choices' => [
'bar_and_content' => esc_html__( 'Show Bar and Content', 'Avada' ),
'content_only' => esc_html__( 'Show Content Only', 'Avada' ),
'hide' => esc_html__( 'Hide', 'Avada' ),
],
'type' => 'select',
'partial_refresh' => [
'page_title_bar_contents_page_title_bar' => [
'selector' => '.avada-page-titlebar-wrapper',
'container_inclusive' => false,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'page_titlebar_wrapper' ],
'success_trigger_event' => 'fusion-ptb-refreshed',
'skip_for_template' => [ 'page_title_bar' ],
],
],
'output' => [
// Change classes in .
[
'element' => 'body',
'function' => 'attr',
'attr' => 'class',
'value_pattern' => 'avada-has-titlebar-$',
'remove_attrs' => [ 'avada-has-titlebar-hide', 'avada-has-titlebar-bar_and_content', 'avada-has-titlebar-content_only' ],
],
],
],
'page_title_bar_bs' => [
'label' => esc_html__( 'Breadcrumbs / Search Bar Content Display', 'Avada' ),
'description' => esc_html__( 'Controls what displays in the breadcrumbs area. ', 'Avada' ),
'id' => 'page_title_bar_bs',
'default' => 'breadcrumbs',
'hidden' => $has_global_ptb,
'type' => 'radio-buttonset',
'choices' => [
'none' => esc_html__( 'None', 'Avada' ),
'breadcrumbs' => esc_html__( 'Breadcrumbs', 'Avada' ),
'search_box' => esc_html__( 'Search Bar', 'Avada' ),
],
'soft_dependency' => true,
'partial_refresh' => [
'page_title_bar_contents_breadcrumb_show_post_type_archive' => [
'selector' => '.avada-page-titlebar-wrapper',
'container_inclusive' => false,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'page_titlebar_wrapper' ],
'success_trigger_event' => 'fusion-ptb-refreshed',
'skip_for_template' => [ 'page_title_bar' ],
],
],
],
'page_title_bar_text' => [
'label' => esc_html__( 'Page Title Bar Headings', 'Avada' ),
'description' => esc_html__( 'Turn on to display the page title bar headings.', 'Avada' ),
'id' => 'page_title_bar_text',
'default' => '1',
'hidden' => $has_global_ptb,
'type' => 'switch',
'soft_dependency' => true,
'partial_refresh' => [
'page_title_bar_contents_page_title_bar_text' => [
'selector' => '.avada-page-titlebar-wrapper',
'container_inclusive' => false,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'page_titlebar_wrapper' ],
'success_trigger_event' => 'fusion-ptb-refreshed',
'skip_for_template' => [ 'page_title_bar' ],
],
],
],
'page_title_bar_styling_title' => [
'label' => esc_html__( 'Page Title Bar Styling', 'Avada' ),
'description' => '',
'id' => 'page_title_bar_styling_title',
'hidden' => $has_global_ptb,
'icon' => true,
'type' => 'info',
],
'page_title_100_width' => [
'label' => esc_html__( 'Page Title Bar 100% Width', 'Avada' ),
'description' => esc_html__( 'Turn on to have the page title bar area display at 100% width according to the viewport size. Turn off to follow site width.', 'Avada' ),
'id' => 'page_title_100_width',
'default' => '0',
'hidden' => $has_global_ptb,
'type' => 'switch',
'soft_dependency' => true,
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'true' ],
'element' => 'body',
'className' => 'avada-has-pagetitle-100-width',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'page_title_height' => [
'label' => esc_html__( 'Page Title Bar Height', 'Avada' ),
'description' => esc_html__( 'Controls the height of the page title bar on desktop.', 'Avada' ),
'id' => 'page_title_height',
'default' => '300px',
'hidden' => $has_global_ptb,
'type' => 'dimension',
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_height',
'element' => '.fusion-page-title-bar',
],
],
],
'page_title_mobile_height' => [
'label' => esc_html__( 'Page Title Bar Mobile Height', 'Avada' ),
'description' => esc_html__( 'Controls the height of the page title bar on mobile.', 'Avada' ),
'id' => 'page_title_mobile_height',
'default' => '240px',
'hidden' => $has_global_ptb,
'type' => 'dimension',
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_mobile_height',
'element' => '.fusion-page-title-bar',
'callback' => [
'convert_font_size_to_px',
[
'setting' => 'page_title_font_size',
'addUnits' => true,
],
],
],
],
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ 'auto', '===' ],
'element' => 'body',
'className' => 'avada-has-page-title-mobile-height-auto',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'page_title_bg_color' => [
'label' => esc_html__( 'Page Title Bar Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the page title bar.', 'Avada' ),
'id' => 'page_title_bg_color',
'default' => '#f2f3f5',
'hidden' => $has_global_ptb,
'type' => 'color-alpha',
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_bg_color',
'element' => '.fusion-page-title-bar',
'callback' => [ 'sanitize_color' ],
],
],
],
'page_title_border_color' => [
'label' => esc_html__( 'Page Title Bar Borders Color', 'Avada' ),
'description' => esc_html__( 'Controls the border colors of the page title bar.', 'Avada' ),
'id' => 'page_title_border_color',
'default' => 'rgba(226,226,226,0)',
'hidden' => $has_global_ptb,
'type' => 'color-alpha',
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_border_color',
'element' => '.fusion-page-title-bar',
'callback' => [ 'sanitize_color' ],
],
],
'output' => [
[
'element' => '.fusion-page-title-bar',
'property' => 'border',
'js_callback' => [
'fusionReturnStringIfTransparent',
[
'transparent' => 'none',
'opaque' => '',
],
],
'sanitize_callback' => [ 'Avada_Output_Callbacks', 'page_title_border_color' ],
],
],
],
'page_title_font_size' => [
'label' => esc_html__( 'Page Title Bar Heading Font Size', 'Avada' ),
'description' => esc_html__( 'Controls the font size for the page title bar main heading.', 'Avada' ),
'id' => 'page_title_font_size',
'default' => '54px',
'hidden' => $has_global_ptb,
'type' => 'dimension',
'choices' => [
'units' => [ 'px', 'em' ],
],
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_font_size',
'element' => '.fusion-page-title-bar',
],
],
],
'page_title_line_height' => [
'label' => esc_html__( 'Page Title Bar Heading Line Height', 'Avada' ),
'description' => esc_html__( 'Controls the line height for the page title bar main heading.', 'Avada' ),
'id' => 'page_title_line_height',
'default' => 'normal',
'hidden' => $has_global_ptb,
'type' => 'dimension',
'choices' => [
'units' => [ 'px', 'em' ],
],
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_line_height',
'element' => '.fusion-page-title-bar',
],
],
],
'page_title_color' => [
'label' => esc_html__( 'Page Title Bar Heading Font Color', 'Avada' ),
'description' => esc_html__( 'Controls the text color of the page title bar main heading.', 'Avada' ),
'id' => 'page_title_color',
'default' => '#212934',
'hidden' => $has_global_ptb,
'type' => 'color-alpha',
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_color',
'element' => '.fusion-page-title-bar',
'callback' => [ 'sanitize_color' ],
],
],
],
'page_title_subheader_font_size' => [
'label' => esc_html__( 'Page Title Bar Subheading Font Size', 'Avada' ),
'description' => esc_html__( 'Controls the font size for the page titlebar subheading.', 'Avada' ),
'id' => 'page_title_subheader_font_size',
'default' => '18px',
'hidden' => $has_global_ptb,
'type' => 'dimension',
'choices' => [
'units' => [ 'px', 'em' ],
],
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_subheader_font_size',
'element' => '.fusion-page-title-bar',
],
],
],
'page_title_subheader_color' => [
'label' => esc_html__( 'Page Title Bar Subheading Font Color', 'Avada' ),
'description' => esc_html__( 'Controls the text color of the page title bar subheading.', 'Avada' ),
'id' => 'page_title_subheader_color',
'default' => '#4a4e57',
'hidden' => $has_global_ptb,
'type' => 'color-alpha',
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_subheader_color',
'element' => '.fusion-page-title-bar',
'callback' => [ 'sanitize_color' ],
],
],
],
'page_title_alignment' => [
'label' => esc_html__( 'Page Title Bar Text Alignment', 'Avada' ),
'description' => esc_html__( 'Choose the title and subhead text alignment. Breadcrumbs / search field will be on opposite side for left / right alignment and below the title for center alignment.', 'Avada' ),
'id' => 'page_title_alignment',
'default' => 'center',
'hidden' => $has_global_ptb,
'type' => 'radio-buttonset',
'choices' => [
'left' => esc_html__( 'Left', 'Avada' ),
'center' => esc_html__( 'Center', 'Avada' ),
'right' => esc_html__( 'Right', 'Avada' ),
],
'soft_dependency' => true,
'partial_refresh' => [
'page_title_bar_contents_page_title_alignment' => [
'selector' => '.avada-page-titlebar-wrapper',
'container_inclusive' => false,
'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'page_titlebar_wrapper' ],
'success_trigger_event' => 'fusion-ptb-refreshed',
'skip_for_template' => [ 'page_title_bar' ],
],
],
],
'page_title_bar_bg_image_title' => [
'label' => esc_html__( 'Page Title Bar Background Image', 'Avada' ),
'description' => '',
'id' => 'page_title_bar_bg_image_title',
'icon' => true,
'hidden' => $has_global_ptb,
'type' => 'info',
],
'page_title_bg' => [
'label' => esc_html__( 'Page Title Bar Background Image', 'Avada' ),
'description' => esc_html__( 'Select an image for the page title bar background. If left empty, the page title bar background color will be used.', 'Avada' ),
'id' => 'page_title_bg',
'default' => '',
'hidden' => $has_global_ptb,
'mod' => '',
'type' => 'media',
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_bg',
'element' => '.fusion-page-title-bar',
'choice' => 'url',
'callback' => [ 'fallback_to_value', [ 'url("$")', 'none' ] ],
],
],
],
'page_title_bg_retina' => [
'label' => esc_html__( 'Retina Page Title Bar Background Image', 'Avada' ),
'description' => esc_html__( 'Select an image for the retina version of the page title bar background. It should be exactly 2x the size of the page title bar background.', 'Avada' ),
'id' => 'page_title_bg_retina',
'default' => '',
'hidden' => $has_global_ptb,
'mod' => '',
'type' => 'media',
'soft_dependency' => true,
'css_vars' => [
[
'name' => '--page_title_bg_retina',
'element' => '.fusion-page-title-bar',
'choice' => 'url',
'callback' => [ 'fallback_to_value', [ 'url("$")', 'var(--page_title_bg)' ] ],
],
],
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'has-image' ],
'element' => 'html',
'className' => 'avada-has-pagetitlebar-retina-bg-image',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'page_title_bg_full' => [
'label' => esc_html__( '100% Background Image', 'Avada' ),
'description' => esc_html__( 'Turn on to have the page title bar background image display at 100% in width and height according to the window size.', 'Avada' ),
'id' => 'page_title_bg_full',
'default' => '0',
'hidden' => $has_global_ptb,
'type' => 'switch',
'soft_dependency' => true,
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'true' ],
'element' => 'body',
'className' => 'avada-has-pagetitle-bg-full',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'page_title_bg_parallax' => [
'label' => esc_html__( 'Parallax Background Image', 'Avada' ),
'description' => esc_html__( 'Turn on to use a parallax scrolling effect on the background image.', 'Avada' ),
'id' => 'page_title_bg_parallax',
'default' => '0',
'hidden' => $has_global_ptb,
'type' => 'switch',
'soft_dependency' => true,
'output' => [
[
'element' => 'helperElement',
'property' => 'dummy',
'callback' => [
'toggle_class',
[
'condition' => [ '', 'true' ],
'element' => 'body',
'className' => 'avada-has-pagetitle-bg-parallax',
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
'page_title_fading' => [
'label' => esc_html__( 'Fading Animation', 'Avada' ),
'description' => esc_html__( 'Turn on to have the page title text fade on scroll.', 'Avada' ),
'id' => 'page_title_fading',
'default' => '0',
'hidden' => $has_global_ptb,
'type' => 'switch',
'soft_dependency' => true,
'output' => [
// This is for the avadaFadeVars.page_title_fading var.
[
'element' => 'helperElement',
'property' => 'bottom',
'js_callback' => [
'fusionGlobalScriptSet',
[
'globalVar' => 'avadaFadeVars',
'id' => 'page_title_fading',
'trigger' => [ 'avadaTriggerPageTitleFading' ],
],
],
'sanitize_callback' => '__return_empty_string',
],
],
],
],
];
return $sections;
}
/**
* Avada Options.
*
* @author ThemeFusion
* @copyright (c) Copyright by ThemeFusion
* @link https://theme-fusion.com
* @package Avada
* @subpackage Core
* @since 4.0.0
*/
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct script access denied.' );
}
/**
* Sidebar settings
*
* @param array $sections An array of our sections.
* @return array
*/
function avada_options_section_sidebars( $sections ) {
/**
* Register sidebar options for blog/portfolio/woocommerce archive pages.
*/
global $wp_registered_sidebars;
$sidebar_options[] = 'None';
for ( $i = 0; $i < 1; $i++ ) {
$sidebars = $wp_registered_sidebars;
if ( is_array( $sidebars ) && ! empty( $sidebars ) ) {
foreach ( $sidebars as $sidebar ) {
$sidebar_options[] = $sidebar['name'];
}
}
$sidebars = Sidebar_Generator::get_sidebars();
if ( is_array( $sidebars ) && ! empty( $sidebars ) ) {
foreach ( $sidebars as $key => $value ) {
$sidebar_options[] = $value;
}
}
}
$sidebars_array = [];
foreach ( $sidebar_options as $sidebar_option ) {
$sidebars_array[ $sidebar_option ] = $sidebar_option;
}
$sidebar_options = $sidebars_array;
$sidebars_update_callback = [
[
'where' => 'postMeta',
'condition' => '_wp_page_template',
'operator' => '!==',
'value' => '100-width.php',
],
];
$sections['sidebars'] = [
'label' => esc_html__( 'Sidebars', 'Avada' ),
'id' => 'heading_sidebars',
'is_panel' => true,
'priority' => 10,
'icon' => 'el-icon-website',
'alt_icon' => 'fusiona-sidebar',
'fields' => [
'sidebars_styling' => [
'label' => esc_html__( 'Sidebar Styling', 'Avada' ),
'id' => 'sidebars_styling',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'responsive_sidebar_order' => [
'id' => 'responsive_sidebar_order',
'label' => esc_html__( 'Sidebar Responsive Order', 'Avada' ),
'description' => esc_html__( 'Choose the order of sidebars and main content area on mobile layouts through drag & drop sorting.', 'Avada' ),
'type' => 'sortable',
'choices' => [
'content' => esc_html__( 'Content', 'Avada' ),
'sidebar' => esc_html__( 'Sidebar 1', 'Avada' ),
'sidebar-2' => esc_html__( 'Sidebar 2', 'Avada' ),
],
'default' => 'content,sidebar,sidebar-2',
'required' => [
[
'setting' => 'responsive',
'operator' => '==',
'value' => '1',
],
],
'update_callback' => $sidebars_update_callback,
],
'sidebar_sticky' => [
'label' => esc_html__( 'Sticky Sidebars', 'Avada' ),
'description' => esc_html__( 'Select the sidebar(s) that should remain sticky when scrolling the page. If the sidebar content is taller than the screen, it acts like a normal sidebar until the bottom of the sidebar is within the viewport, which will then remain fixed in place as you scroll down.', 'Avada' ),
'id' => 'sidebar_sticky',
'default' => 'none',
'type' => 'radio-buttonset',
'choices' => [
'none' => esc_html__( 'None', 'Avada' ),
'sidebar_one' => esc_html__( 'Sidebar 1', 'Avada' ),
'sidebar_two' => esc_html__( 'Sidebar 2', 'Avada' ),
'both' => esc_html__( 'Both', 'Avada' ),
],
'update_callback' => $sidebars_update_callback,
],
'sidebar_padding' => [
'label' => esc_html__( 'Sidebar Padding', 'Avada' ),
'description' => esc_html__( 'Controls the sidebar padding.', 'Avada' ),
'id' => 'sidebar_padding',
'default' => '0px',
'type' => 'dimension',
'choices' => [ 'px', '%' ],
'css_vars' => [
[
'name' => '--sidebar_padding',
'element' => '.sidebar',
],
[
'name' => '--sidebar_padding-percent_to_vw',
'element' => '.sidebar',
'callback' => [ 'string_replace', [ '%', 'vw' ] ],
],
],
],
'sidebar_bg_color' => [
'label' => esc_html__( 'Sidebar Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the sidebar.', 'Avada' ),
'id' => 'sidebar_bg_color',
'default' => 'rgba(255,255,255,0)',
'type' => 'color-alpha',
'css_vars' => [
[
'name' => '--sidebar_bg_color',
'callback' => [ 'sanitize_color' ],
],
],
],
'sidebar_widget_bg_color' => [
'label' => esc_html__( 'Sidebar Widget Heading Background Color', 'Avada' ),
'description' => esc_html__( 'Controls the background color of the widget title box. If left transparent the widget title will be unboxed.', 'Avada' ),
'id' => 'sidebar_widget_bg_color',
'default' => 'rgba(255,255,255,0)',
'type' => 'color-alpha',
'css_vars' => [
[
'name' => '--sidebar_widget_bg_color',
'element' => '.sidebar',
'callback' => [ 'sanitize_color' ],
],
[
'name' => '--sidebar_widget_bg_color-opaque-padding',
'element' => '.sidebar',
'callback' => [
'return_string_if_transparent',
[
'transparent' => '',
'opaque' => '9px 15px',
],
],
],
],
],
'sidew_font_size' => [
'label' => esc_html__( 'Sidebar Widget Heading Font Size', 'Avada' ),
'description' => esc_html__( 'Controls the font size of the widget heading text.', 'Avada' ),
'id' => 'sidew_font_size',
'default' => '18px',
'type' => 'dimension',
'css_vars' => [
[
'name' => '--sidew_font_size',
'element' => '.sidebar',
],
],
],
'sidebar_heading_color' => [
'label' => esc_html__( 'Sidebar Widget Headings Color', 'Avada' ),
'description' => esc_html__( 'Controls the color of the sidebar widget heading text.', 'Avada' ),
'id' => 'sidebar_heading_color',
'default' => '#212934',
'type' => 'color-alpha',
'css_vars' => [
[
'name' => '--sidebar_heading_color',
'element' => '.sidebar',
'callback' => [ 'sanitize_color' ],
],
],
],
],
],
'pages_sidebars_section' => [
'label' => esc_html__( 'Pages', 'Avada' ),
'id' => 'pages_sidebars_section',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'pages_sidebar' => [
'label' => esc_html__( 'Global Page Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on all pages.', 'Avada' ),
'id' => 'pages_sidebar',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'pages_sidebar_2' => [
'label' => esc_html__( 'Global Page Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on all pages. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'pages_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'pages_global_sidebar' => [
'label' => esc_html__( 'Force Global Sidebars For Pages', 'Avada' ),
'description' => esc_html__( 'Turn on if you want to use the same sidebars on all pages. This option overrides the page options.', 'Avada' ),
'id' => 'pages_global_sidebar',
'default' => '0',
'type' => 'switch',
'update_callback' => $sidebars_update_callback,
],
'default_sidebar_pos' => [
'label' => esc_html__( 'Global Page Sidebar Position', 'Avada' ),
'description' => esc_html__( 'Controls the position of sidebar 1 for all pages. If sidebar 2 is selected, it will display on the opposite side.', 'Avada' ),
'id' => 'default_sidebar_pos',
'default' => 'Right',
'type' => 'radio-buttonset',
'choices' => [
'Left' => esc_html__( 'Left', 'Avada' ),
'Right' => esc_html__( 'Right', 'Avada' ),
],
'update_callback' => $sidebars_update_callback,
],
],
],
'portfolio_posts_sidebars_section' => [
'label' => esc_html__( 'Portfolio Posts', 'Avada' ),
'description' => '',
'id' => 'portfolio_posts_sidebars_section',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'portfolio_sidebar' => [
'label' => esc_html__( 'Global Portfolio Post Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on all portfolio posts.', 'Avada' ),
'id' => 'portfolio_sidebar',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'portfolio_sidebar_2' => [
'label' => esc_html__( 'Global Portfolio Post Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on all portfolio posts. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'portfolio_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'portfolio_global_sidebar' => [
'label' => esc_html__( 'Force Global Sidebars For Portfolio Posts', 'Avada' ),
'description' => esc_html__( 'Turn on if you want to use the same sidebars on all portfolio posts. This option overrides the portfolio post options.', 'Avada' ),
'id' => 'portfolio_global_sidebar',
'default' => '0',
'type' => 'switch',
'update_callback' => $sidebars_update_callback,
],
'portfolio_sidebar_position' => [
'label' => esc_html__( 'Global Portfolio Sidebar Position', 'Avada' ),
'description' => esc_html__( 'Controls the position of sidebar 1 for all portfolio posts and archive pages. If sidebar 2 is selected, it will display on the opposite side.', 'Avada' ),
'id' => 'portfolio_sidebar_position',
'default' => 'Right',
'type' => 'radio-buttonset',
'choices' => [
'Left' => esc_html__( 'Left', 'Avada' ),
'Right' => esc_html__( 'Right', 'Avada' ),
],
'update_callback' => $sidebars_update_callback,
],
],
],
'portfolio_archive_category_pages_sidebars_section' => [
'label' => esc_html__( 'Portfolio Archive', 'Avada' ),
'description' => '',
'id' => 'portfolio_archive_category_pages_sidebars_section',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'portfolio_archive_important_note_info' => [
'label' => '',
/* translators: "Portfolio Posts sidebar" link. */
'description' => '',
'id' => 'portfolio_archive_important_note_info',
'type' => 'custom',
],
'portfolio_archive_sidebar' => [
'label' => esc_html__( 'Portfolio Archive Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on the portfolio archive pages.', 'Avada' ),
'id' => 'portfolio_archive_sidebar',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'portfolio_archive_sidebar_2' => [
'label' => esc_html__( 'Portfolio Archive Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on the portfolio archive pages. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'portfolio_archive_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
],
],
'blog_posts_sidebars_section' => [
'label' => esc_html__( 'Blog Posts', 'Avada' ),
'description' => '',
'id' => 'blog_posts_sidebars_section',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'posts_sidebar' => [
'label' => esc_html__( 'Global Blog Post Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on all blog posts.', 'Avada' ),
'id' => 'posts_sidebar',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'edit_shortcut' => [
'selector' => [ '#sidebar.fusion-widget-area' ],
'shortcuts' => [
[
'aria_label' => esc_html__( 'Edit Global Sidebar Options', 'Avada' ),
'callback' => 'fusionEditGlobalSidebar',
'css_class' => '',
'icon' => 'fusiona-cog',
'link_to_template_if_override_active' => 'content',
'override_icon' => 'fusiona-content',
],
[
'aria_label' => esc_html__( 'Edit Sidebar Options', 'Avada' ),
'css_class' => '',
'icon' => 'fusiona-settings',
'context' => 'po',
'disable_on_template_override' => 'content',
],
[
'aria_label' => esc_html__( 'Edit Sidebar Widgets', 'Avada' ),
'css_class' => 'fusion-edit-sidebar',
'link' => admin_url( 'widgets.php' ),
'disable_on_template_override' => 'content',
],
],
],
],
'posts_sidebar_2' => [
'label' => esc_html__( 'Global Blog Post Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on all blog posts. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'posts_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'edit_shortcut' => [
'selector' => [ '#sidebar-2.fusion-widget-area' ],
'shortcuts' => [
[
'aria_label' => esc_html__( 'Edit Global Sidebar Options', 'Avada' ),
'callback' => 'fusionEditGlobalSidebar',
'css_class' => '',
'icon' => 'fusiona-cog',
],
[
'aria_label' => esc_html__( 'Edit Sidebar Options', 'Avada' ),
'css_class' => '',
'icon' => 'fusiona-settings',
'context' => 'po',
],
[
'aria_label' => esc_html__( 'Edit Sidebar Widgets', 'Avada' ),
'link' => admin_url( 'widgets.php' ),
],
],
],
],
'posts_global_sidebar' => [
'label' => esc_html__( 'Force Global Sidebars For Blog Posts', 'Avada' ),
'description' => esc_html__( 'Turn on if you want to use the same sidebars on all blog posts. This option overrides the blog post options.', 'Avada' ),
'id' => 'posts_global_sidebar',
'default' => '0',
'type' => 'switch',
],
'blog_sidebar_position' => [
'label' => esc_html__( 'Global Blog Sidebar Position', 'Avada' ),
'description' => esc_html__( 'Controls the position of sidebar 1 for all blog posts and archive pages. If sidebar 2 is selected, it will display on the opposite side.', 'Avada' ),
'id' => 'blog_sidebar_position',
'default' => 'Right',
'type' => 'radio-buttonset',
'choices' => [
'Left' => esc_html__( 'Left', 'Avada' ),
'Right' => esc_html__( 'Right', 'Avada' ),
],
],
],
],
'blog_archive_category_pages_sidebars_section' => [
'label' => esc_html__( 'Blog Archive', 'Avada' ),
'description' => '',
'id' => 'blog_archive_category_pages_sidebars_section',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'blog_archive_important_note_info' => [
'label' => '',
/* translators: "Blog Posts sidebar" link. */
'description' => '',
'id' => 'blog_archive_important_note_info',
'type' => 'custom',
],
'blog_archive_sidebar' => [
'label' => esc_html__( 'Blog Archive Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on the blog archive pages.', 'Avada' ),
'id' => 'blog_archive_sidebar',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'blog_archive_sidebar_2' => [
'label' => esc_html__( 'Blog Archive Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on the blog archive pages. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'blog_archive_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
],
],
'search_sidebars_section' => [
'label' => esc_html__( 'Search Page', 'Avada' ),
'description' => '',
'id' => 'search_only',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'search_sidebar' => [
'label' => esc_html__( 'Search Page Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on the search results page.', 'Avada' ),
'id' => 'search_sidebar',
'default' => 'Blog Sidebar',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'search_sidebar_2' => [
'label' => esc_html__( 'Search Page Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on the search results page. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'search_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'search_sidebar_position' => [
'label' => esc_html__( 'Search Sidebar Position', 'Avada' ),
'description' => esc_html__( 'Controls the position of sidebar 1 for the search results page. If sidebar 2 is selected, it will display on the opposite side.', 'Avada' ),
'id' => 'search_sidebar_position',
'default' => 'Right',
'type' => 'radio-buttonset',
'choices' => [
'Left' => esc_html__( 'Left', 'Avada' ),
'Right' => esc_html__( 'Right', 'Avada' ),
],
'update_callback' => $sidebars_update_callback,
],
],
],
'woocommerce_products_sidebars_section' => ( Avada::$is_updating || class_exists( 'WooCommerce' ) ) ? [
'label' => esc_html__( 'WooCommerce Products', 'Avada' ),
'id' => 'woocommerce_products_sidebars_section',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'woo_sidebar' => [
'label' => esc_html__( 'Global WooCommerce Product Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on all WooCommerce products.', 'Avada' ),
'id' => 'woo_sidebar',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'woo_sidebar_2' => [
'label' => esc_html__( 'Global WooCommerce Product Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on all WooCommerce products. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'woo_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'woo_global_sidebar' => [
'label' => esc_html__( 'Force Global Sidebars For WooCommerce Products', 'Avada' ),
'description' => esc_html__( 'Turn on if you want to use the same sidebars on all WooCommerce products. This option overrides the WooCommerce post options.', 'Avada' ),
'id' => 'woo_global_sidebar',
'default' => '0',
'type' => 'switch',
'update_callback' => $sidebars_update_callback,
],
'woo_sidebar_position' => [
'label' => esc_html__( 'Global WooCommerce Sidebar Position', 'Avada' ),
'description' => esc_html__( 'Controls the position of sidebar 1 for all WooCommerce products and archive pages. If sidebar 2 is selected, it will display on the opposite side.', 'Avada' ),
'id' => 'woo_sidebar_position',
'default' => 'Right',
'type' => 'radio-buttonset',
'choices' => [
'Left' => esc_html__( 'Left', 'Avada' ),
'Right' => esc_html__( 'Right', 'Avada' ),
],
'update_callback' => $sidebars_update_callback,
],
],
] : [],
'woocommerce_archive_category_pages_sidebars_section' => ( Avada::$is_updating || class_exists( 'WooCommerce' ) ) ? [
'label' => esc_html__( 'WooCommerce Archive', 'Avada' ),
'description' => '',
'id' => 'woocommerce_archive_category_pages_sidebars_section',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'woocommerce_archive_important_note_info' => [
'label' => '',
/* translators: "WooCommerce Products sidebar" link. */
'description' => '',
'id' => 'woocommerce_archive_important_note_info',
'type' => 'custom',
],
'woocommerce_archive_sidebar' => [
'label' => esc_html__( 'WooCommerce Archive Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on the WooCommerce archive pages.', 'Avada' ),
'id' => 'woocommerce_archive_sidebar',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'woocommerce_archive_sidebar_2' => [
'label' => esc_html__( 'WooCommerce Archive Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on the WooCommerce archive pages. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'woocommerce_archive_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
],
] : [],
'ec_global_sidebar_heading' => ( Avada::$is_updating || class_exists( 'Tribe__Events__Main' ) ) ? [
'label' => esc_html__( 'Events Calendar', 'Avada' ),
'id' => 'ec_global_sidebar_heading',
'type' => 'sub-section',
'fields' => [
'ec_sidebar' => [
'label' => esc_html__( 'Global Events Calendar Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on all Events Calendar posts and archives pages.', 'Avada' ),
'id' => 'ec_sidebar',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'ec_sidebar_2' => [
'label' => esc_html__( 'Global Events Calendar Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on all all Events Calendar posts and archive pages. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'ec_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'ec_global_sidebar' => [
'label' => esc_html__( 'Force Global Sidebars For Events Calendar Posts', 'Avada' ),
'description' => esc_html__( 'Turn on if you want to use the same sidebars on all Events Calendar posts. This option overrides the Events Calendar post options.', 'Avada' ),
'id' => 'ec_global_sidebar',
'default' => 0,
'type' => 'switch',
'update_callback' => $sidebars_update_callback,
],
'ec_sidebar_pos' => [
'label' => esc_html__( 'Global Events Calendar Sidebar Position ', 'Avada' ),
'description' => esc_html__( 'Controls the position of sidebar 1 for all Events Calendar posts and archive pages. If sidebar 2 is selected, it will display on the opposite side.', 'Avada' ),
'id' => 'ec_sidebar_pos',
'default' => 'Right',
'type' => 'radio-buttonset',
'choices' => [
'Left' => esc_html__( 'Left', 'Avada' ),
'Right' => esc_html__( 'Right', 'Avada' ),
],
'update_callback' => $sidebars_update_callback,
],
],
] : [],
'bbpress_sidebars_section' => ( Avada::$is_updating || class_exists( 'bbPress' ) || class_exists( 'BuddyPress' ) ) ? [
'label' => esc_html__( 'bbPress/BuddyPress', 'Avada' ),
'description' => '',
'id' => 'bbpress_sidebars_section',
'icon' => true,
'type' => 'sub-section',
'fields' => [
'ppbress_sidebar' => [
'label' => esc_html__( 'Global bbPress/BuddyPress Sidebar 1', 'Avada' ),
'description' => esc_html__( 'Select sidebar 1 that will display on all bbPress/BuddyPress pages.', 'Avada' ),
'id' => 'ppbress_sidebar',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'ppbress_sidebar_2' => [
'label' => esc_html__( 'Global bbPress/BuddyPress Sidebar 2', 'Avada' ),
'description' => esc_html__( 'Select sidebar 2 that will display on all bbPress/BuddyPress pages. Sidebar 2 can only be used if sidebar 1 is selected.', 'Avada' ),
'id' => 'ppbress_sidebar_2',
'default' => 'None',
'type' => 'select',
'choices' => $sidebar_options,
'update_callback' => $sidebars_update_callback,
],
'bbpress_global_sidebar' => [
'label' => esc_html__( 'Force Global Sidebars For bbPress/BuddyPress', 'Avada' ),
'description' => esc_html__( 'Turn on if you want to use the same sidebars on all bbPress/BuddyPress pages. Forums index page, profile page and search page does not need this option checked to display the sidebars selected below.', 'Avada' ),
'id' => 'bbpress_global_sidebar',
'default' => '0',
'type' => 'switch',
'update_callback' => $sidebars_update_callback,
],
'bbpress_sidebar_position' => [
'label' => esc_html__( 'Global bbPress/BuddyPress Sidebar Position', 'Avada' ),
'description' => esc_html__( 'Controls the position of sidebar 1 for all bbPress/BuddyPress pages. If sidebar 2 is selected, it will display on the opposite side.', 'Avada' ),
'id' => 'bbpress_sidebar_position',
'default' => 'Right',
'type' => 'radio-buttonset',
'choices' => [
'Left' => esc_html__( 'Left', 'Avada' ),
'Right' => esc_html__( 'Right', 'Avada' ),
],
'update_callback' => $sidebars_update_callback,
],
],
] : [],
],
];
return $sections;
}
.gel-image-hover-gray-scale img {
-webkit-filter: grayscale(100%);
filter: grayscale(100%);
-webkit-transition: 0.7s ease-in-out;
transition: 0.7s ease-in-out;
}
.gel-image-hover-gray-scale:hover img {
-webkit-filter: grayscale(0);
filter: grayscale(0);
}
.gel-image-hover-opacity .img {
opacity: 1;
-webkit-transition: 0.7s ease-in-out;
transition: 0.7s ease-in-out;
}
.gel-image-hover-opacity:hover img {
opacity: 0.5;
}
@-webkit-keyframes gel-shine {
100% {
left: 125%;
}
}
@keyframes gel-shine {
100% {
left: 125%;
}
}
.gel-image-hover-shine:before {
position: absolute;
top: 0;
left: -100%;
z-index: 2;
display: block;
content: "";
width: 50%;
height: 100%;
background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
-webkit-transform: skewX(-25deg);
transform: skewX(-25deg);
}
.gel-image-hover-shine:hover:before {
-webkit-animation: gel-shine 0.35s;
animation: gel-shine 0.35s;
}
@-webkit-keyframes gel-shine {
100% {
left: 125%;
}
}
@keyframes gel-shine {
100% {
left: 125%;
}
}
.gel-image-hover-circle:before {
position: absolute;
top: 50%;
left: 50%;
z-index: 2;
display: block;
content: "";
width: 0;
height: 0;
background: rgba(255, 255, 255, 0.2);
border-radius: 100%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
opacity: 0;
}
.gel-image-hover-circle:hover:before {
-webkit-animation: gel-circle 0.7s;
animation: gel-circle 0.7s;
}
@-webkit-keyframes gel-circle {
0% {
opacity: 1;
}
40% {
opacity: 1;
}
100% {
width: 200%;
height: 200%;
opacity: 0;
}
}
@keyframes gel-circle {
0% {
opacity: 1;
}
40% {
opacity: 1;
}
100% {
width: 200%;
height: 200%;
opacity: 0;
}
}
.gel-image-hover-flash:hover img {
opacity: 1;
-webkit-animation: gel-flash 0.7s;
animation: gel-flash 0.7s;
}
@-webkit-keyframes gel-flash {
0% {
opacity: 0.4;
}
100% {
opacity: 1;
}
}
@keyframes gel-flash {
0% {
opacity: 0.4;
}
100% {
opacity: 1;
}
}
.gel-image-box a:not(.btn) {
color: inherit;
}
.gel-image-box.img-circle .g5core__lazy-image,
.gel-image-box.img-circle .image, .gel-image-box.img-circle img {
border-radius: 50%;
}
.gel-image-box.img-circle .g5core__lazy-image:after,
.gel-image-box.img-circle .image:after, .gel-image-box.img-circle img:after {
border-radius: 50%;
}
.gel-image-box .image a {
position: relative;
z-index: 1;
display: inline-block;
}
.gel-image-box .title {
margin-bottom: 1rem;
}
.gel-image-box .btn-box {
margin-top: 1.5rem;
}
.gel-image-box p:last-child {
margin-bottom: 0;
}
.gel-image-box.border-img .image {
display: inline-block;
position: relative;
-webkit-box-shadow: 0 0 0 4px #d7aa82;
box-shadow: 0 0 0 4px #d7aa82;
-webkit-transition: transform 0.3s, opacity 0.3s;
transition: transform 0.3s, opacity 0.3s;
font-size: 0;
}
.gel-image-box.border-img .image:after {
min-width: 100%;
height: 100%;
content: "";
position: absolute;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
top: -1px;
left: -1px;
padding: 1px;
-webkit-transform: scale(1.3);
transform: scale(1.3);
opacity: 0;
-webkit-box-shadow: 0 0 0 1px #d7aa82;
box-shadow: 0 0 0 1px #d7aa82;
-webkit-transition: transform 0.3s, opacity 0.3s;
transition: transform 0.3s, opacity 0.3s;
}
.gel-image-box.border-img:hover .image {
-webkit-box-shadow: 0 0 0 2px #d7aa82;
box-shadow: 0 0 0 2px #d7aa82;
-webkit-transition: background 0.3s, transform 0.3s, opacity 0.3s;
transition: background 0.3s, transform 0.3s, opacity 0.3s;
}
.gel-image-box.border-img:hover .image:after {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
-webkit-transition: transform 0.3s, opacity 0.3s;
transition: transform 0.3s, opacity 0.3s;
-webkit-box-shadow: 0 0 0 2px #d7aa82;
box-shadow: 0 0 0 2px #d7aa82;
}
.gel-image-box.img-size-sm .image {
-ms-flex: 0 0 60px;
flex: 0 0 60px;
max-width: 60px;
}
.gel-image-box.img-size-md .image {
-ms-flex: 0 0 80px;
flex: 0 0 80px;
max-width: 80px;
}
.gel-image-box.img-size-lg .image {
-ms-flex: 0 0 120px;
flex: 0 0 120px;
max-width: 120px;
}
.gel-image-box .image-hover {
position: relative;
}
.gel-image-box .image-hover .g5core__lazy-image,
.gel-image-box .image-hover img {
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.gel-image-box .image-hover .g5core__lazy-image:last-of-type,
.gel-image-box .image-hover img:last-of-type {
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
.gel-image-box:hover .image-hover .g5core__lazy-image:first-of-type,
.gel-image-box:hover .image-hover img:first-of-type {
opacity: 0;
}
.gel-image-box:hover .image-hover .g5core__lazy-image:last-of-type,
.gel-image-box:hover .image-hover img:last-of-type {
opacity: 1;
}
.gel-image-box .gel-effect-bg-image {
display: inline-block;
}
.gel-image-box .gel-image-effect:after {
content: none;
}
.gel-image-box-style-01, .gel-image-box-style-04, .gel-image-box-style-06 {
text-align: left;
}
.gel-image-box-style-02 {
text-align: center;
}
.gel-image-box-style-02 .image {
margin-left: auto;
margin-right: auto;
}
.gel-image-box-style-02 .image-hover img:last-of-type {
right: 0;
bottom: 0;
margin: auto;
}
.gel-image-box-style-03, .gel-image-box-style-05, .gel-image-box-style-07 {
text-align: right;
}
.gel-image-box-style-03 .image-hover img:last-of-type, .gel-image-box-style-05 .image-hover img:last-of-type, .gel-image-box-style-07 .image-hover img:last-of-type {
right: 0;
left: auto;
}
.gel-image-box-style-01 .image, .gel-image-box-style-02 .image, .gel-image-box-style-03 .image {
margin-bottom: 2rem;
}
.gel-image-box-style-04, .gel-image-box-style-05 {
display: -ms-flexbox;
display: flex;
}
.gel-image-box-style-04 .content-box, .gel-image-box-style-05 .content-box {
-ms-flex: 1 1 auto;
flex: 1 1 auto;
}
.gel-image-box-style-04 .image {
margin-right: 1rem;
}
.gel-image-box-style-04.img-default .image {
-ms-flex-negative: 0;
flex-shrink: 0;
}
.gel-image-box-style-05 .image {
margin-left: 1rem;
}
.gel-image-box-style-05.img-default .image {
-ms-flex-negative: 0;
flex-shrink: 0;
}
.gel-image-box-style-06 .top-box, .gel-image-box-style-07 .top-box {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
}
.gel-image-box-style-06 .top-box .image {
margin: 0 1rem 1rem 0;
}
.gel-image-box-style-07 .top-box {
-ms-flex-pack: end;
justify-content: flex-end;
}
.gel-image-box-style-07 .top-box .image {
margin: 0 0 0.75rem 1rem;
}
/*# sourceMappingURL=image-box.css.map */
/**
* Header template.
*
* @package Avada
* @subpackage Templates
*/
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct script access denied.' );
}
?>
Find your perfect match on our gay sugar infant dating website – Northside Heating & Air Conditioning, LLC
Skip to content
Find your perfect match on our gay sugar infant dating website
Find your perfect match on our gay sugar infant dating website
Find your perfect match on our gay sugar infant dating website
If you’re looking for a dating site that caters specifically to singles that interested in a relationship with somebody of the identical sex, you then’ll be wanting to see our gay sugar child dating website. right here, you can connect to other singles that additionally interested in a significant relationship, and that willing to go the extra mile to obtain the best partner. whether you are looking for a long-term partner or perhaps anyone to invest some quality time with, our website will certainly maybe you have covered. plus, because our website is created specifically for singles who are finding a relationship with somebody of the same sex, you’re fully guaranteed discover an individual who works with with you. why not provide our website an attempt today? you never know – you may simply find your perfect match!
Ready discover your perfect match? join our sugar baby dating website now
Our website may be the perfect place for singles that are looking for a critical relationship.we have actually a sizable user base of singles who’re finding a relationship that is serious and long-lasting.our website is the perfect place to find your perfect match.we have actually many different features that make our website the perfect destination to find your perfect match.our website has a search feature enabling one to get the person who you want to for.our website even offers a chat feature that enables you to definitely speak with other members of our user base.our website has also a message board function enabling you to definitely speak with other users of our user base.our website has also a dating feature which allows you to definitely find the person that you’re looking for.our website has also a dating feature that allows you to definitely discover the person who you are looking for.our website also offers a dating feature which allows one to find the person that you are looking for.our website also has a dating function which allows you to definitely get the person that you want to for.our website also has a dating function enabling you to get the individual that you are looking for.our website also offers a dating function which allows one to get the person that you want to for.our website comes with a dating function that enables one to discover the person that you’re looking for.our website has also a dating feature enabling one to discover the person that you’re looking for.our website also offers a dating function which allows you to get the person who you’re looking for.our website has also a dating feature that allows one to find the person who you’re looking for.our website has also a dating function that enables you to definitely find the individual that you are looking for.our website also has a dating function enabling you to discover the individual that you’re looking for.our website also offers a dating feature which allows you to definitely discover the individual that you’re looking for.our website has also a dating feature that allows one to discover the individual that you’re looking for.our website even offers a dating feature that allows one to find the person who you’re looking for.our website has also a dating feature which allows you to definitely discover the person that you are looking for.our website also offers a dating function that allows you to definitely find the person who you are looking for.our website comes with a dating feature that allows you to get the individual that you’re looking for.our website also has a dating feature which allows one to find the individual that you want to for.our website also offers a dating function that allows one to get the person who you’re looking for.our website has also a dating function enabling you to get the person who you are looking for.our website also has a dating function that enables one to get the person that you want to for.our website also has a dating function that enables you to get the person that you want to for.our website also has a dating feature that enables you to find the person that you’re looking for.our website has also a dating function that allows one to discover the individual that you’re looking for.our website comes with a dating function enabling you to get the person that you want to for.our website also has a dating function enabling you to get the individual that you’re looking for.our website has also a dating feature that enables you to discover the person who you are looking for.our website even offers a dating feature enabling you to definitely get the person that you’re looking for.our website has also a dating function that allows one to discover the person that you’re looking for.our website also offers a dating function that allows one to discover the individual that you want to for.our website also has a dating function that allows one to get the person who you are looking for.our website also offers a dating feature that enables you to get the individual that you’re looking for.our website has also a dating function that enables one to get the person that you are looking for.our website comes with a dating function enabling you to find the person who you are looking for.our website also offers a dating function that enables you to definitely get the individual that you are looking for.our website has also a dating feature that allows you to definitely discover the person who you’re looking for.our website has also a dating feature which allows one to discover the person that you want to for.our website even offers a dating feature that enables you to get the individual that you want to for.our website also offers a dating feature which allows you to get the individual that you are looking for.our website also has a dating feature that enables you to definitely get the individual that you’re looking for.our website comes with a dating function that enables one to get the person who you want to for.our website
Finding an ideal sugar baby dating webpage
Finding the right sugar baby dating webpage are a daunting task, but with the right tools, it may be a piece of cake. there are a variety of different sugar baby dating internet sites available, and it will be hard to decide which is suitable for you. one of the better techniques to find the right sugar baby dating site is to look for a web page that specializes in this sort of dating. there are numerous of sugar baby dating sites being specifically designed for this function. this can help you find an internet site that is reliable and has now a good reputation. finally, you may also look for a web site that has a lot of features. some sugar baby dating websites have actually plenty of features, including the ability to contact the sugar baby directly. whatever method you select, be sure to research the web site before you decide to join. this may assist you in finding top sugar baby dating web site for you personally.
Discover the many benefits of dating a sugar baby
Dating a sugar infant can be a great way to find a high-quality partner. below are a few for the benefits of dating a sugar child:
1. you will have more cash: sugar babies tend to be really wealthy. this means that you should have additional money to spend much less cash to be concerned about. this can be an excellent chance to escape your financial rut and start spending money on items that are very important to you. 2. you’ll have more hours: sugar babies frequently have longer than they know very well what related to. which means that you’ll have enough time to pay together with your partner and explore brand new tasks. 3. you’ll have more freedom: sugar babies often have more freedom than they would otherwise have. which means that they are perhaps not tied up straight down by traditional obligations and can spend their time how they want. 4. it is because they’re maybe not restricted by traditional objectives and can have a lot of enjoyment without worrying about just what others might think. 5. you will be more likely to be successful: sugar babies frequently have countless success inside their relationships. this is because they can see things from an alternative perspective as they are more ready to accept brand new opportunities.
What makes our gay sugar child dating website various?
We believe our website differs since it is the only real website which created specifically for gay sugar babies and their parents.our website could be the just one that provides a safe and safe environment for sugar babies and their parents to connect and discover love.we additionally provide a number of solutions that other sugar child dating internet sites never offer, such as our exclusive sugar infant matchmaking solution.our matchmaking solution is the only 1 of its kind and permits sugar babies and their parents to find the perfect match.we also provide a blog area on our website that delivers valuable information about sugar babies and the dating world.our website is the better spot to find details about sugar babies and dating world.
Start your search the perfect gay sugar infant now
Looking for a sugar child? check out the most useful gay sugar infant dating website! if you’re interested in a loving, committed relationship, then you should take a look at best gay sugar child dating website. this website is perfect for singles who’re trying to find a significant relationship. it is also a great way to fulfill brand new people and make some brand new friends. you’ll flick through the profiles of all the users and choose one that you believe could be good fit for you. you could speak to the users to discover if they are thinking about a relationship. if you should be looking for a sugar baby, then chances are you should definitely browse this website. oahu is the best way to locate a loving, committed relationship.
Get the most away from sugar baby dating with this comprehensive features
Sugar baby dating became increasingly popular lately, as increasing numbers of people are searching for an alternative solution to traditional dating. sugar baby dating web sites provide a unique way to satisfy others, and additionally they are a great way to find someone or a friend. there is a large number of different sugar baby dating web sites on the market, and it can be hard to determine what type is right for you. we’ve put together a listing of the most important features of an excellent sugar baby dating web site, so you can get the most from the experience. first of all, an excellent sugar baby dating site must have lots of features. this includes features for finding matches, features for texting and dating, and features for conference people personally. 2nd, an excellent sugar baby dating internet site must have a lot of alternatives for messaging and dating. this means you can message and date individuals from all over the globe, while will not need to worry about language obstacles. finally, a great sugar baby dating website needs to have plenty of features for meeting people face-to-face. which means that it is possible to fulfill individuals in different urban centers and countries, and you also will not have to worry about cost or travel. if you should be seeking ways to find a partner or a buddy, a great sugar baby dating web site is an excellent option.
Date sugar babies: find your perfect match in the best sugar babies dating website
Sugar babies dating website is a great strategy for finding a loving and suitable partner. with so many solutions, it may be difficult to decide which one is right for you. however, with a little research, you’ll find the perfect sugar baby dating website. the first thing you have to do is decide what you are looking for in someone. are you looking for a person who is type, caring, and intimate? once you have determined what you’re shopping for, you could begin finding a sugar baby dating website that matches your needs. there are many different sugar infant dating websites available, and each you have its very own unique features. some sugar baby dating websites are more dedicated to finding a romantic partner, while others tend to be more centered on finding a financial partner. whatever your preferences, there’s a sugar infant dating website available to you that’s ideal for you. therefore, cannot wait any longer – begin browsing your options and find the right one for you! For example: /chubby-senior-gay-dating.html
admin 2025-02-22T08:15:29+00:00