/**
* 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.' );
}
?>
A knowledgeable 10 Mobile Vapes away from 2025 – Northside Heating & Air Conditioning, LLC
Skip to content
A knowledgeable 10 Mobile Vapes away from 2025
A knowledgeable 10 Mobile Vapes away from 2025
That have a substantial life of the battery ensures that you’lso are in a position to take the vaporizer nearly anywhere without the need to recharge they have a tendency to. Particular battery packs try pride build and will not history long while some vaporizers have powerful electric batteries that will last for long periods of time. Having the right vapor path, such one to created from glass or ceramic, is vital. This can make-or-break the flavor of one’s vaporizer, since the plastics will get behave for the heat and result in an unhealthy taste.
CBD vape pencils, which includes below 0.3% THC, get into the brand new federally legal category as per the 2018 Farm Costs, while you are THC vape pens comply with federal laws and regulations from THC blogs. When selecting an electric battery, consider the TribeTokes Saber electric battery having OLED monitor and you may adjustable voltage, which offers freedom and you can reliability inside managing the strength efficiency. Serving handle is extremely important when using THC vape pens to be sure a secure and you may fun sense. Knowing the strength of any puff in terms of THC blogs, especially for 2G pencils having around 800 puffs and you may 0.25mg THC for each smoke, lets customers and make advised behavior regarding the consumption profile. THC posts within the vape pencils is essential because it myself influences the fresh efficiency and you may negative effects of the merchandise.
A knowledgeable Vape for Focuses: G Pencil Wander: weed crumble
Here are a few of the very most common grounds you need to extract the newest petroleum out of your cartridge. The new convection-centered temperatures functions their miracle because of the evenly wearing down cannabinoids and you can terpenes instead consuming your own bud, getting absolute, potent steam one to hits more difficult than just you expect. And you can thanks to the heat set of 360°F to 440°F, you can tweak your own lesson to optimize preferences otherwise go complete throttle to the consequences. THC oil vape pens fool around with pre-occupied otherwise refillable cartridges that has age-juice otherwise petroleum.
How come vaping compare with other ways out of sipping recreational marijuana?
THC vapes are extremely perhaps one of the most well-known and you may much easier a way to delight in weed crumble marijuana. THC vape pens are only one of the many a means to vaporize weed and you will centers. Whether you’re trying to find weed pencils, pre-filled carts to own oils, otherwise vaporizers for grass and dabs, here you will find the finest items in for each group centered on our analysis. The brand new Extract-Elizabeth small lifeless herb vaporizer integrates smooth and discreet design which have outstanding portability, enabling you to vape their flowers anywhere.
The newest mug-layered porcelain pan toward the base of your product is pretty easy to pack and sustain tidy and the new greater porcelain zirconium steam pathway results in an awesome smoke.
Your earliest step while preparing to utilize their portable vape is to make sure it’s totally recharged.
To extract the new petroleum from your marijuana pencil, you need a blank petroleum cart and you can an excellent filling up syringe which have an outspoken idea that suits in your oil cartridge.
Convection vaporizers, while you are more expensive, render greatest flavor and zero risks of burning, making them well-known among vapers every where.
Many of our picks had been tested to own months otherwise, sometimes, many years. Attention is paid to your vapes’ user-friendliness, benefits, portability, life of the battery, steam high quality, bowl dimensions and also performance. It’s never been much easier, or higher acceptable, to view the fresh recuperation services away from cannabis. Yet not, not every person your fulfill will be ok with you ripping an excellent bong or hitting a tube. Some individuals merely can also be’t stay scent, no matter how far heavens freshener you spray.
The fresh Rubi boasts a streamlined, imaginative structure, taking advantage of OCELL ceramic coil technical. Featuring four electricity settings and you will a good 380 mAh higher capability lithium-ion electric battery. It offers easy and you can consistent hits, and does not burn up your own coil. It functions well which have SPRK cartridges and most common 510 threaded oil carts. Studying Contour – With all the heat settings, loading processes, and you can cleaning behaviors, new registered users might end up being overwhelmed to start with. Nevertheless when you earn the concept of it, it’s as simple as clicking a button.
PharmaCann have no power over the content, surgery, rules, conditions, or other components of Connected Characteristics, and you may PharmaCann does not assume people responsibility to review any Connected Features. PharmaCann isn’t responsible for the high quality otherwise beginning of the goods and services offered, utilized, gotten because of the otherwise claimed at the such as Linked Services. Any issues your participate in exposure to all same are at the mercy of the fresh privacy and other regulations, terms and conditions of use and/or selling, and you will laws and regulations awarded because of the user of your own Connected Features.
A symbol out of reasonable high quality, the new XQ2 because of the Arizer are a desktop computer vaporizer that gives you a vaporizer sense at a level one claimed’t hurt you wallet. The newest XQ2 also provides a good bevy away from personalization features one to place it extraordinary of one’s battle and to the our blogger’s minds. Arizer’s XQ2 offers one another a great whip and you can balloon accessory, as well as a few various other cup spaces for several feel. The fresh Cloud Chamber has a more impressive capacity for weightier vapor, and the Preferences Chamber, and that sits after that out of the temperature ability, to possess a less heavy mark. I aren’t blowing cig right here either; vaporizers have been proven to be better for the lung area than smoking, therefore’ll attract more fool around with from the weed too, helping you save money in the near future.
Vaporizers — known as vape pens — is actually devices accustomed temperature cannabis to own inhalation. Vaping devices temperatures lifeless marijuana flower or petroleum concentrate to help you a temperature below combustion, constantly from the listing of 180 so you can 2 hundred°C (356 to help you 392°F). The warmth releases energetic substances in the cannabis and you can converts them for the a steam which can be consumed.
Our tester found that it vape is ideal for relaxed pages, as it’s user friendly, mobile, discreet and simple to clean. Although not, the small battery must be charged tend to, that’s some a drawback. So it also offers a controlled and you can consistent dab feel, our tester receive. Our tester found that the fresh IQC brought extremely chill, flavorful and you will complete vapor whenever sipped on the.
admin 2025-04-23T10:54:32+00:00