✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ webm004.cluster127.gra.hosting.ovh.net ​🇻​♯➤ 6.18.42-ovh-vps-grsec-zfs+ #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 54.36.91.62 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.70
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ _dyuweyrj4,_dyuweyrj4r,dl

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/docteuh/www/plugins/fusion-builder/shortcodes//fusion-tabs.php
<?php
/**
 * Add an element to fusion-builder.
 *
 * @package fusion-builder
 * @since 1.0
 */

if ( fusion_is_element_enabled( 'fusion_tabs' ) ) {

	if ( ! class_exists( 'FusionSC_Tabs' ) ) {
		/**
		 * Shortcode class.
		 *
		 * @since 1.0
		 */
		class FusionSC_Tabs extends Fusion_Element {

			/**
			 * Tabs counter.
			 *
			 * @access private
			 * @since 1.0
			 * @var int
			 */
			private $tabs_counter = 1;

			/**
			 * Tab counter.
			 *
			 * @access private
			 * @since 1.0
			 * @var int
			 */
			private $tab_counter = 1;

			/**
			 * Array of our tabs.
			 *
			 * @access private
			 * @since 1.0
			 * @var array
			 */
			private $tabs = [];

			/**
			 * Whether the tab is active or not.
			 *
			 * @access private
			 * @since 1.0
			 * @var bool
			 */
			private $active = false;

			/**
			 * Parent SC arguments.
			 *
			 * @access protected
			 * @since 1.0
			 * @var array
			 */
			protected $parent_args;

			/**
			 * Child SC arguments.
			 *
			 * @access protected
			 * @since 1.0
			 * @var array
			 */
			protected $child_args;

			/**
			 * Parent fusion_tabs SC arguments.
			 *
			 * @access protected
			 * @since 1.0
			 * @var array
			 */
			protected $fusion_tabs_args;

			/**
			 * Child fusion_tab SC arguments.
			 *
			 * @access protected
			 * @since 1.0
			 * @var array
			 */
			protected $fusion_tab_args;

			/**
			 * Constructor.
			 *
			 * @access public
			 * @since 1.0
			 */
			public function __construct() {
				parent::__construct();
				add_filter( 'fusion_attr_tabs-shortcode', [ $this, 'attr' ] );
				add_filter( 'fusion_attr_tabs-shortcode-navtabs', [ $this, 'navtabs_attr' ] );
				add_filter( 'fusion_attr_tabs-shortcode-link', [ $this, 'link_attr' ] );
				add_filter( 'fusion_attr_tabs-shortcode-icon', [ $this, 'icon_attr' ] );
				add_filter( 'fusion_attr_tabs-shortcode-tab', [ $this, 'tab_attr' ] );

				add_shortcode( 'fusion_old_tabs', [ $this, 'render_parent' ] );
				add_shortcode( 'fusion_old_tab', [ $this, 'render_child' ] );

				add_shortcode( 'fusion_tabs', [ $this, 'fusion_tabs' ] );
				add_shortcode( 'fusion_tab', [ $this, 'fusion_tab' ] );
			}

			/**
			 * Gets the default values.
			 *
			 * @static
			 * @access public
			 * @since 2.0.0
			 * @param 'parent'|'child' $context Whether we want parent or child.
			 * @return array
			 */
			public static function get_element_defaults( $context = 'parent' ) {
				$fusion_settings = awb_get_fusion_settings();
				$border_radius   = Fusion_Builder_Border_Radius_Helper::get_border_radius_array_with_fallback_value( $fusion_settings->get( 'tabs_title_border_radius' ) );

				$parent = [
					'hide_on_mobile'                   => fusion_builder_default_visibility( 'string' ),
					'class'                            => '',
					'id'                               => '',
					'backgroundcolor'                  => $fusion_settings->get( 'tabs_bg_color' ),
					'title_border_radius_top_left'     => $border_radius['top_left'],
					'title_border_radius_top_right'    => $border_radius['top_right'],
					'title_border_radius_bottom_right' => $border_radius['bottom_right'],
					'title_border_radius_bottom_left'  => $border_radius['bottom_left'],
					'bordercolor'                      => $fusion_settings->get( 'tabs_border_color' ),
					'active_border_color'              => $fusion_settings->get( 'primary_color' ),
					'icon_position'                    => $fusion_settings->get( 'tabs_icon_position' ),
					'icon_size'                        => $fusion_settings->get( 'tabs_icon_size' ),
					'icon_color'                       => $fusion_settings->get( 'tabs_icon_color' ),
					'icon_active_color'                => $fusion_settings->get( 'tabs_icon_active_color' ),
					'design'                           => 'classic',
					'inactivecolor'                    => $fusion_settings->get( 'tabs_inactive_color' ),
					'justified'                        => 'yes',
					'sticky_tabs'                      => 'no',
					'sticky_tabs_offset'               => '',
					'layout'                           => 'horizontal',
					'alignment'                        => '',
					'fusion_font_family_title_font'    => '',
					'fusion_font_variant_title_font'   => '',
					'title_font_size'                  => '',
					'title_line_height'                => '',
					'title_letter_spacing'             => '',
					'title_text_transform'             => '',
					'title_text_color'                 => $fusion_settings->get( 'tabs_title_color' ),
					'title_active_text_color'          => $fusion_settings->get( 'tabs_active_title_color' ),
					'title_tag'                        => 'h4',
					'title_padding_top'                => $fusion_settings->get( 'tabs_title_padding', 'top' ),
					'title_padding_right'              => $fusion_settings->get( 'tabs_title_padding', 'right' ),
					'title_padding_bottom'             => $fusion_settings->get( 'tabs_title_padding', 'bottom' ),
					'title_padding_left'               => $fusion_settings->get( 'tabs_title_padding', 'left' ),
					'title_padding_top_medium'         => '',
					'title_padding_right_medium'       => '',
					'title_padding_bottom_medium'      => '',
					'title_padding_left_medium'        => '',
					'title_padding_top_small'          => '',
					'title_padding_right_small'        => '',
					'title_padding_bottom_small'       => '',
					'title_padding_left_small'         => '',
					'content_padding_top'              => $fusion_settings->get( 'tabs_content_padding', 'top' ),
					'content_padding_right'            => $fusion_settings->get( 'tabs_content_padding', 'right' ),
					'content_padding_bottom'           => $fusion_settings->get( 'tabs_content_padding', 'bottom' ),
					'content_padding_left'             => $fusion_settings->get( 'tabs_content_padding', 'left' ),
					'content_padding_top_medium'       => '',
					'content_padding_right_medium'     => '',
					'content_padding_bottom_medium'    => '',
					'content_padding_left_medium'      => '',
					'content_padding_top_small'        => '',
					'content_padding_right_small'      => '',
					'content_padding_bottom_small'     => '',
					'content_padding_left_small'       => '',
					'mobile_mode'                      => $fusion_settings->get( 'tabs_mobile_mode', false, 'accordion' ),
					'mobile_sticky_tabs'               => $fusion_settings->get( 'tabs_mobile_sticky_tabs', false, 'no' ),
					// margin.
					'margin_top'                       => '',
					'margin_right'                     => '',
					'margin_bottom'                    => '',
					'margin_left'                      => '',
					'margin_top_medium'                => '',
					'margin_right_medium'              => '',
					'margin_bottom_medium'             => '',
					'margin_left_medium'               => '',
					'margin_top_small'                 => '',
					'margin_right_small'               => '',
					'margin_bottom_small'              => '',
					'margin_left_small'                => '',
					'dynamic_params'                   => '',
				];

				$child = [
					'icon'       => 'none',
					'id'         => '',
					'fusion_tab' => 'no',
				];

				if ( 'parent' === $context ) {
					return $parent;
				} elseif ( 'child' === $context ) {
					return $child;
				}
			}

			/**
			 * Maps settings to param variables.
			 *
			 * @static
			 * @access public
			 * @param string $context Whether we want parent or child.
			 * @since 2.0.0
			 * @return array
			 */
			public static function settings_to_params( $context = '' ) {

				$parent = [
					'tabs_bg_color'                       => 'backgroundcolor',
					'tabs_border_color'                   => 'bordercolor',
					'tabs_icon_position'                  => 'icon_position',
					'tabs_icon_size'                      => 'icon_size',
					'tabs_inactive_color'                 => 'inactivecolor',
					'tabs_icon_color'                     => 'icon_color',
					'tabs_icon_active_color'              => 'icon_active_color',
					'tabs_title_color'                    => 'title_text_color',
					'tabs_active_title_color'             => 'title_active_text_color',
					'tabs_title_padding[top]'             => 'title_padding_top',
					'tabs_title_padding[right]'           => 'title_padding_right',
					'tabs_title_padding[bottom]'          => 'title_padding_bottom',
					'tabs_title_padding[left]'            => 'title_padding_left',
					'tabs_title_border_radius[top_left]'  => 'title_border_radius_top_left',
					'tabs_title_border_radius[top_right]' => 'title_border_radius_top_right',
					'tabs_title_border_radius[bottom_right]' => 'title_border_radius_bottom_right',
					'tabs_title_border_radius[bottom_left]' => 'title_border_radius_bottom_left',
					'tabs_content_padding[top]'           => 'content_padding_top',
					'tabs_content_padding[right]'         => 'content_padding_right',
					'tabs_content_padding[bottom]'        => 'content_padding_bottom',
					'tabs_content_padding[left]'          => 'content_padding_left',
					'tabs_mobile_mode'                    => 'mobile_mode',
					'tabs_mobile_sticky_tabs'             => 'mobile_sticky_tabs',
				];

				$child = [];

				if ( 'parent' === $context ) {
					return $parent;
				} elseif ( 'child' === $context ) {
					return $child;
				} else {
					return [
						'parent' => $parent,
						'child'  => $child,
					];
				}
			}

			/**
			 * Render the parent shortcode.
			 *
			 * @access public
			 * @since 1.0
			 * @param  array  $args    Shortcode parameters.
			 * @param  string $content Content between shortcode.
			 * @return string          HTML output.
			 */
			public function render_parent( $args, $content = '' ) {

				$html     = '';
				$defaults = FusionBuilder::set_shortcode_defaults( self::get_element_defaults( 'parent' ), $args );

				$this->parent_args = $defaults;

				$html = '';
				if ( 'yes' === $this->parent_args['sticky_tabs'] && 'horizontal' === $this->parent_args['layout'] ) {
					$html .= '<div class="fusion-tabs-sticky-helper" style="height:1px;"></div>';
				}

				$html .= '<div ' . FusionBuilder::attributes( 'tabs-shortcode' ) . '><div ' . FusionBuilder::attributes( 'nav' ) . '>';

				$is_first_tab = true;

				if ( empty( $this->tabs ) ) {
					$this->parse_tab_parameter( $content, 'fusion_old_tab', $args );
				}

				if ( strpos( $content, 'fusion_tab' ) ) {
					preg_match_all( '/(\[fusion_tab (.*?)\](.*?)\[\/fusion_tab\])/s', $content, $matches );
				} else {
					preg_match_all( '/(\[fusion_old_tab (.*?)\](.*?)\[\/fusion_old_tab\])/s', $content, $matches );
				}

				$tab_content = $tab_nav = '';
				$tabs_count  = ! empty( $this->tabs ) ? count( $this->tabs ) : 0;

				for ( $i = 0; $i < $tabs_count; $i++ ) {
					$icon = $tab_title = '';
					if ( 'none' !== $this->tabs[ $i ]['icon'] ) {
						$icon = '<i ' . FusionBuilder::attributes( 'tabs-shortcode-icon', [ 'index' => $i ] ) . '></i>';
					}

					if ( 'right' === $this->parent_args['icon_position'] ) {
						$tab_title = $this->tabs[ $i ]['title'] . $icon;
					} else {
						$tab_title = $icon . $this->tabs[ $i ]['title'];
					}

					$title_tag = $this->parent_args['title_tag'];
					$tab_id    = 'fusion-tab-' . strtolower( preg_replace( '/\s+/', '', $this->tabs[ $i ]['title'] ) );

					if ( $is_first_tab ) {
						$tab_nav_item = '<li ' . FusionBuilder::attributes( 'active' ) . ' role="presentation"><a ' . FusionBuilder::attributes(
							'tabs-shortcode-link',
							[
								'index'  => $i,
								'tab_id' => $tab_id,
								'first'  => 'true',
							]
						) . '><' . $title_tag . ' ' . FusionBuilder::attributes( 'fusion-tab-heading' ) . '>' . $tab_title . '</' . $title_tag . '></a></li>';
						$is_first_tab = false;
					} else {
						$tab_nav_item = '<li role="presentation"><a ' . FusionBuilder::attributes(
							'tabs-shortcode-link',
							[
								'index'  => $i,
								'tab_id' => $tab_id,
								'first'  => 'false',
							]
						) . '><' . $title_tag . ' ' . FusionBuilder::attributes( 'fusion-tab-heading' ) . '>' . $tab_title . '</' . $title_tag . '></a></li>';
					}

					$tab_nav .= $tab_nav_item;

					// Change ID for mobile to ensure no duplicate ID.
					$tab_nav_item = str_replace( 'id="fusion-tab-', 'id="mobile-fusion-tab-', $tab_nav_item );
					if ( 'accordion' === $this->parent_args['mobile_mode'] || 'toggle' === $this->parent_args['mobile_mode'] ) {
						$tab_content .= '<div ' . FusionBuilder::attributes( 'nav fusion-mobile-tab-nav' ) . '><ul ' . FusionBuilder::attributes( 'tabs-shortcode-navtabs' ) . '>' . $tab_nav_item . '</ul></div>';
					}
					$tab_content .= ( isset( $matches[1][ $i ] ) ) ? do_shortcode( $matches[1][ $i ] ) : '';
				}

				$html .= '<ul ' . FusionBuilder::attributes( 'tabs-shortcode-navtabs' ) . '>' . $tab_nav . '</ul></div><div ' . FusionBuilder::attributes( 'tab-content' ) . '>' . $tab_content . '</div></div>';

				$this->tabs_counter++;
				$this->tab_counter = 1;
				$this->active      = false;
				unset( $this->tabs );

				$this->on_render();

				return apply_filters( 'fusion_element_tabs_parent_content', $html, $args );
			}

			/**
			 * Builds the attributes array.
			 *
			 * @access public
			 * @since 1.0
			 * @return array
			 */
			public function attr() {

				$attr = fusion_builder_visibility_atts(
					$this->parent_args['hide_on_mobile'],
					[
						'class' => 'fusion-tabs fusion-tabs-' . $this->tabs_counter . ' ' . $this->parent_args['design'],
						'style' => '',
					]
				);

				if ( 'yes' !== $this->parent_args['justified'] && 'vertical' !== $this->parent_args['layout'] ) {
					$attr['class'] .= ' nav-not-justified';
				}

				if ( 'yes' === $this->parent_args['justified'] && 'vertical' !== $this->parent_args['layout'] ) {
					$attr['class'] .= ' nav-is-justified';
				}

				if ( 'yes' === $this->parent_args['sticky_tabs'] && 'horizontal' === $this->parent_args['layout'] ) {
					$attr['class'] .= ' sticky-tabs';
					if ( '' !== $this->parent_args['sticky_tabs_offset'] && 0 !== $this->parent_args['sticky_tabs_offset'] ) {
						// If its not a selector then get value and set to css variable.
						if ( false === strpos( $this->parent_args['sticky_tabs_offset'], '.' ) && false === strpos( $this->parent_args['sticky_tabs_offset'], '#' ) ) {
							$attr['style'] .= '--awb-sticky-tabs-offset:' . fusion_library()->sanitize->get_value_with_unit( $this->parent_args['sticky_tabs_offset'] ) . ';';
						} else {
							$attr['data-sticky-offset'] = (string) $this->parent_args['sticky_tabs_offset'];
						}
					}
				}

				if ( $this->parent_args['class'] ) {
					$attr['class'] .= ' ' . $this->parent_args['class'];
				}

				$attr['class'] .= ( 'vertical' === $this->parent_args['layout'] ) ? ' vertical-tabs' : ' horizontal-tabs';

				$attr['class'] .= ( '' !== $this->parent_args['icon_position'] ) ? ' icon-position-' . $this->parent_args['icon_position'] : '';

				if ( $this->parent_args['id'] ) {
					$attr['id'] = $this->parent_args['id'];
				}

				if ( '' !== $this->parent_args['mobile_mode'] ) {
					$attr['class'] .= ' mobile-mode-' . $this->parent_args['mobile_mode'];
				}

				if ( 'carousel' === $this->parent_args['mobile_mode'] && 'yes' === $this->parent_args['mobile_sticky_tabs'] ) {
					$attr['class'] .= ' mobile-sticky-tabs';
				}

				if ( ! empty( $this->parent_args['icon_color'] ) ) {
					$attr['style'] .= '--icon-color:' . $this->parent_args['icon_color'] . ';';
				}

				if ( ! empty( $this->parent_args['icon_active_color'] ) ) {
					$attr['style'] .= '--icon-active-color:' . $this->parent_args['icon_active_color'] . ';';
				}

				$attr['style'] .= $this->get_style_variables();

				return $attr;
			}

			/**
			 * Builds the attributes array.
			 *
			 * @param array $atts The attributes array.
			 * @access public
			 * @since 1.0
			 * @return array
			 */
			public function navtabs_attr( $atts ) {
				$justified_class = '';
				if ( 'yes' === $this->parent_args['justified'] && 'vertical' !== $this->parent_args['layout'] ) {
					$justified_class = ' nav-justified';
				}

				$attr['class'] = 'nav-tabs' . $justified_class;

				$attr['role'] = 'tablist';

				return $attr;
			}

			/**
			 * Builds the link attributes array.
			 *
			 * @access public
			 * @since 1.0
			 * @param array $atts Default attributes.
			 * @return array
			 */
			public function link_attr( $atts ) {
				$index = $atts['index'];
				$attr  = [
					'class'         => 'tab-link',
					'data-toggle'   => 'tab',
					'role'          => 'tab',
					'aria-controls' => $this->tabs[ $index ]['unique_id'],
					'aria-selected' => $atts['first'],
				];

				if ( 'false' === $atts['first'] ) {
					$attr['tabindex'] = '-1';
				}

				$attr['id']   = $atts['tab_id'];
				$attr['href'] = '#' . $this->tabs[ $index ]['unique_id'];

				return $attr;
			}

			/**
			 * Builds the icon attributes array.
			 *
			 * @access public
			 * @since 1.0
			 * @param array $atts Default attributes.
			 * @return array
			 */
			public function icon_attr( $atts ) {
				$index = $atts['index'];
				$attr  = [
					'class'       => 'fontawesome-icon ' . fusion_font_awesome_name_handler( $this->tabs[ $index ]['icon'] ),
					'aria-hidden' => 'true',
					'style'       => '',
				];

				if ( '' !== $this->parent_args['icon_size'] ) {
					$attr['style'] .= 'font-size:' . $this->parent_args['icon_size'] . 'px;';
				}
				$icon_color = ! empty( $this->tabs[ $index ]['icon_color'] ) ? $this->tabs[ $index ]['icon_color'] : '';

				if ( $icon_color ) {
					$attr['style'] .= ' --icon-color:' . $icon_color . ';';
				}

				$icon_active_color = ! empty( $this->tabs[ $index ]['icon_active_color'] ) ? $this->tabs[ $index ]['icon_active_color'] : '';
				if ( $icon_active_color ) {
					$attr['style'] .= '--icon-active-color:' . $icon_active_color . ';';
				}

				return $attr;
			}

			/**
			 * Render the child shortcode.
			 *
			 * @access public
			 * @since 1.0
			 * @param  array  $args   Shortcode parameters.
			 * @param  string $content Content between shortcode.
			 * @return string         HTML output.
			 */
			public function render_child( $args, $content = '' ) {

				$defaults = FusionBuilder::set_shortcode_defaults(
					[
						'icon'        => 'none',
						'id'          => '',
						'fusion_tab'  => 'no',
						'tab_counter' => 1,
					],
					$args
				);

				$this->child_args = $defaults;

				$html = '<div ' . FusionBuilder::attributes( 'tabs-shortcode-tab' ) . '>' . do_shortcode( $content ) . '</div>';

				return apply_filters( 'fusion_element_tabs_child_content', $html, $args );
			}

			/**
			 * Builds the tab attributes array.
			 *
			 * @access public
			 * @since 1.0
			 * @return array
			 */
			public function tab_attr() {
				$index = $this->child_args['tab_counter'] - 1;

				$attr = [
					'class'           => 'tab-pane fade fusion-clearfix',
					'role'            => 'tabpanel',
					'tabindex'        => '0',
					'aria-labelledby' => 'fusion-tab-' . ( isset( $this->tabs[ $index ] ) ? strtolower( preg_replace( '/\s+/', '', $this->tabs[ $index ]['title'] ) ) : '' ), // isset check needed for Yoast's page analysis tool.
				];

				if ( ! isset( $this->active ) ) {
					$this->active = false;
				}

				if ( ! $this->active ) {
					$attr['class'] = 'tab-pane fade fusion-clearfix in active';
					$this->active  = true;
				}

				if ( 'yes' === $this->child_args['fusion_tab'] ) {
					$attr['id'] = $this->child_args['id'];
				} else {
					$index      = $this->child_args['id'] - 1;
					$attr['id'] = $this->tabs[ $index ]['unique_id'];
				}

				return $attr;
			}

			/**
			 * Returns the fusion-tabs.
			 *
			 * @access public
			 * @since 1.0
			 * @param array       $atts    The attributes.
			 * @param null|string $content The content.
			 * @return string
			 */
			public function fusion_tabs( $atts, $content = null ) {
				$fusion_settings = awb_get_fusion_settings();
				$border_radius   = Fusion_Builder_Border_Radius_Helper::get_border_radius_array_with_fallback_value( $fusion_settings->get( 'tabs_title_border_radius' ) );

				$defaults = FusionBuilder::set_shortcode_defaults(
					[
						'class'                            => '',
						'id'                               => '',
						'backgroundcolor'                  => $fusion_settings->get( 'tabs_bg_color' ),
						'bordercolor'                      => $fusion_settings->get( 'tabs_border_color' ),
						'title_border_radius_top_left'     => $border_radius['top_left'],
						'title_border_radius_top_right'    => $border_radius['top_right'],
						'title_border_radius_bottom_right' => $border_radius['bottom_right'],
						'title_border_radius_bottom_left'  => $border_radius['bottom_left'],
						'active_border_color'              => $fusion_settings->get( 'primary_color' ),
						'icon'                             => '',
						'icon_position'                    => $fusion_settings->get( 'tabs_icon_position' ),
						'icon_size'                        => $fusion_settings->get( 'tabs_icon_size' ),
						'icon_color'                       => $fusion_settings->get( 'tabs_icon_color' ),
						'icon_active_color'                => $fusion_settings->get( 'tabs_icon_active_color' ),
						'design'                           => 'classic',
						'inactivecolor'                    => $fusion_settings->get( 'tabs_inactive_color' ),
						'justified'                        => 'yes',
						'alignment'                        => '',
						'sticky_tabs'                      => 'no',
						'sticky_tabs_offset'               => '',
						'layout'                           => 'horizontal',
						'hide_on_mobile'                   => fusion_builder_default_visibility( 'string' ),
						'fusion_font_family_title_font'    => '',
						'fusion_font_variant_title_font'   => '',
						'title_font_size'                  => '',
						'title_line_height'                => '',
						'title_letter_spacing'             => '',
						'title_text_transform'             => '',
						'title_text_color'                 => '',
						'title_active_text_color'          => '',
						'title_tag'                        => '',
						'title_padding_top'                => '',
						'title_padding_right'              => '',
						'title_padding_bottom'             => '',
						'title_padding_left'               => '',
						'title_padding_top_medium'         => '',
						'title_padding_right_medium'       => '',
						'title_padding_bottom_medium'      => '',
						'title_padding_left_medium'        => '',
						'title_padding_top_small'          => '',
						'title_padding_right_small'        => '',
						'title_padding_bottom_small'       => '',
						'title_padding_left_small'         => '',
						'content_padding_top'              => '',
						'content_padding_right'            => '',
						'content_padding_bottom'           => '',
						'content_padding_left'             => '',
						'content_padding_top_medium'       => '',
						'content_padding_right_medium'     => '',
						'content_padding_bottom_medium'    => '',
						'content_padding_left_medium'      => '',
						'content_padding_top_small'        => '',
						'content_padding_right_small'      => '',
						'content_padding_bottom_small'     => '',
						'content_padding_left_small'       => '',
						'mobile_mode'                      => '',
						'mobile_sticky_tabs'               => '',
						// margin.
						'margin_top'                       => '',
						'margin_right'                     => '',
						'margin_bottom'                    => '',
						'margin_left'                      => '',
						'margin_top_medium'                => '',
						'margin_right_medium'              => '',
						'margin_bottom_medium'             => '',
						'margin_left_medium'               => '',
						'margin_top_small'                 => '',
						'margin_right_small'               => '',
						'margin_bottom_small'              => '',
						'margin_left_small'                => '',
						'dynamic_params'                   => '',
					],
					$atts,
					'fusion_tabs'
				);

				$this->fusion_tabs_args = $defaults;

				$atts = $defaults;

				$dynamic_data = json_decode( fusion_decode_if_needed( $atts['dynamic_params'] ), true );

				if ( isset( $dynamic_data['parent_dynamic_content'] ) ) {
					$content = self::get_acf_repeater( $dynamic_data['parent_dynamic_content'], $atts, $content, false );
				}

				$content = preg_replace( '/tab\][^\[]*/', 'tab]', $content );
				$content = preg_replace( '/^[^\[]*\[/', '[', $content );

				$this->parse_tab_parameter( $content, 'fusion_tab' );

				$shortcode_wrapper = '[fusion_old_tabs ';
				foreach ( $atts as $key => $value ) {
					$shortcode_wrapper .= $key . '="' . $value . '" ';
				}
				$shortcode_wrapper .= ']';
				$shortcode_wrapper .= $content;
				$shortcode_wrapper .= '[/fusion_old_tabs]';

				fusion_element_rendering_elements( true );
				$html = do_shortcode( $shortcode_wrapper );
				fusion_element_rendering_elements( false );

				return $html;
			}

			/**
			 * Returns the fusion-tab.
			 *
			 * @access public
			 * @since 1.0
			 * @param array       $atts    The attributes.
			 * @param null|string $content The content.
			 * @return string
			 */
			public function fusion_tab( $atts, $content = null ) {
				$defaults = FusionBuilder::set_shortcode_defaults(
					[
						'id'                => '',
						'icon'              => $this->fusion_tabs_args['icon'],
						'icon_color'        => $this->fusion_tabs_args['icon_color'],
						'icon_active_color' => $this->fusion_tabs_args['icon_active_color'],
						'title'             => '',
					],
					$atts,
					'fusion_tab'
				);

				$content = apply_filters( 'fusion_shortcode_content', $content, 'fusion_tab', $atts );

				$this->fusion_tab_args = $defaults;

				$atts = $defaults;

				// Create unique tab id for linking.
				$sanitized_title = hash( 'md5', $defaults['title'], false );
				$sanitized_title = 'tab' . str_replace( '-', '_', $sanitized_title );
				$unique_id       = 'tab-' . substr( md5( get_the_ID() . '-' . $this->tabs_counter . '-' . $this->tab_counter . '-' . $sanitized_title ), 13 );

				$shortcode_wrapper = '[fusion_old_tab id="' . $unique_id . '" icon="' . $defaults['icon'] . '" icon_color="' . $defaults['icon_color'] . '" icon_active_color="' . $defaults['icon_active_color'] . '" fusion_tab="yes" tab_counter="' . $this->tab_counter . '" title="' . $defaults['title'] . '"]' . do_shortcode( $content ) . '[/fusion_old_tab]';

				$this->tab_counter++;

				return do_shortcode( $shortcode_wrapper );
			}

			/**
			 * Parses the tab parameters.
			 *
			 * @access public
			 * @since 1.0
			 * @param string $content The content.
			 * @param string $shortcode The shortcode.
			 * @param array  $args      The arguments.
			 */
			public function parse_tab_parameter( $content, $shortcode, $args = null ) {
				$preg_match_tabs_single = preg_match_all( FusionBuilder::get_shortcode_regex( $shortcode ), $content, $tabs_single );

				if ( is_array( $tabs_single[0] ) ) {
					foreach ( $tabs_single[0] as $key => $tab ) {

						if ( is_array( $args ) ) {
							$preg_match_titles = preg_match_all( '/' . $shortcode . ' id=([0-9]+)/i', $tab, $ids );

							if ( array_key_exists( '0', $ids[1] ) ) {
								$id = $ids[1][0];
							} else {
								$title = 'default';
							}

							foreach ( $args as $key => $value ) {
								if ( 'tab' . $id === $key ) {
									$title = $value;
								}
							}
						} else {
							$preg_match_titles = preg_match_all( '/\[\[?' . $shortcode . ' .*?title="([^\"]+)"/i', $tab, $titles );
							$title             = ( array_key_exists( '0', $titles[1] ) ) ? $titles[1][0] : 'default';
						}
						$preg_match_icons = preg_match_all( '/\[\[?' . $shortcode . '( id=[0-9]+| title="[^\"]+")? icon="([^\"]+)"/i', $tab, $icons );
						$icon             = ( array_key_exists( '0', $icons[2] ) ) ? $icons[2][0] : 'none';

						if ( 'none' === $icon && ! empty( $this->fusion_tabs_args['icon'] ) ) {
							$icon = $this->fusion_tabs_args['icon'];
						}

						$preg_match_icon_colors = preg_match_all( '/\[\[?' . $shortcode . ' .*?icon_color="([^\"]+)"/i', $tab, $icon_colors );
						$icon_color             = ( array_key_exists( '0', $icon_colors[1] ) ) ? $icon_colors[1][0] : '';

						$preg_match_icon_colors = preg_match_all( '/\[\[?' . $shortcode . ' .*?icon_active_color="([^\"]+)"/i', $tab, $icon_active_colors );
						$icon_active_color      = ( array_key_exists( '0', $icon_active_colors[1] ) ) ? $icon_active_colors[1][0] : '';

						// Create unique tab id for linking.
						$sanitized_title = hash( 'md5', $title, false );
						$sanitized_title = 'tab' . str_replace( '-', '_', $sanitized_title );
						$unique_id       = 'tab-' . substr( md5( get_the_ID() . '-' . $this->tabs_counter . '-' . $this->tab_counter . '-' . $sanitized_title ), 13 );

						// Create array for every single tab shortcode.
						$this->tabs[] = [
							'title'             => $title,
							'icon'              => $icon,
							'icon_color'        => $icon_color,
							'icon_active_color' => $icon_active_color,
							'unique_id'         => $unique_id,
						];

						$this->tab_counter++;
					}

					$this->tab_counter = 1;
				}
			}

			/**
			 * Adds settings to element options panel.
			 *
			 * @access public
			 * @since 1.1
			 * @return array $sections Tabs settings.
			 */
			public function add_options() {

				return [
					'tabs_shortcode_section' => [
						'label'       => esc_html__( 'Tabs', 'fusion-builder' ),
						'description' => '',
						'id'          => 'tabs_shortcode_section',
						'icon'        => 'fusiona-folder',
						'type'        => 'accordion',
						'fields'      => [
							'tabs_info'                => [
								'id'          => 'social_links_info',
								'type'        => 'custom',
								'description' => '<div class="fusion-redux-important-notice">' . __( '<strong>IMPORTANT NOTE:</strong> These tab global options control both the tab element and Avada tab widget, however the widget does not utilize icons.', 'fusion-builder' ) . '</div>',
							],
							'tabs_bg_color'            => [
								'label'       => esc_html__( 'Tabs Background Color + Hover Color', 'fusion-builder' ),
								'description' => esc_html__( 'Controls the color of the active tab, tab hover and content background.', 'fusion-builder' ),
								'id'          => 'tabs_bg_color',
								'default'     => 'var(--awb-color1)',
								'type'        => 'color-alpha',
								'transport'   => 'postMessage',
								'css_vars'    => [
									[
										'name'     => '--tabs_bg_color',
										'callback' => [ 'sanitize_color' ],
									],
								],
							],
							'tabs_inactive_color'      => [
								'label'       => esc_html__( 'Tabs Inactive Color', 'fusion-builder' ),
								'description' => esc_html__( 'Controls the color of the inactive tabs as well as the post date box layout for the Avada Tab Widget.', 'fusion-builder' ),
								'id'          => 'tabs_inactive_color',
								'default'     => 'var(--awb-color2)',
								'type'        => 'color-alpha',
								'transport'   => 'postMessage',
								'css_vars'    => [
									[
										'name'     => '--tabs_inactive_color',
										'callback' => [ 'sanitize_color' ],
									],
								],
							],
							'tabs_title_border_radius' => [
								'label'       => esc_html__( 'Tabs Title Border Radius', 'fusion-builder' ),
								'description' => esc_html__( 'Controls the border radius of tabs title.', 'fusion-builder' ),
								'id'          => 'tabs_title_border_radius',
								'type'        => 'border_radius',
								'transport'   => 'postMessage',
								'choices'     => [
									'top_left'     => true,
									'top_right'    => true,
									'bottom_right' => true,
									'bottom_left'  => true,
									'units'        => [ 'px', '%', 'em' ],
								],
								'default'     => [
									'top_left'     => '0px',
									'top_right'    => '0px',
									'bottom_right' => '0px',
									'bottom_left'  => '0px',
								],
								'css_vars'    => [
									[
										'name'    => '--awb-tabs-title-border-top-left-radius-default',
										'choice'  => 'top_left',
										'element' => 'body',
									],
									[
										'name'    => '--awb-tabs-title-border-top-right-radius-default',
										'choice'  => 'top_right',
										'element' => 'body',
									],
									[
										'name'    => '--awb-tabs-title-border-bottom-right-radius-default',
										'choice'  => 'bottom_right',
										'element' => 'body',
									],
									[
										'name'    => '--awb-tabs-title-border-bottom-left-radius-default',
										'choice'  => 'bottom_left',
										'element' => 'body',
									],
								],
							],
							'tabs_border_color'        => [
								'label'       => esc_html__( 'Tabs Border Color', 'fusion-builder' ),
								'description' => esc_html__( 'Controls the color of the tab border.', 'fusion-builder' ),
								'id'          => 'tabs_border_color',
								'default'     => 'var(--awb-color3)',
								'type'        => 'color-alpha',
								'transport'   => 'postMessage',
								'css_vars'    => [
									[
										'name'     => '--tabs_border_color',
										'callback' => [ 'sanitize_color' ],
									],
								],
							],
							'tabs_title_padding'       => [
								'label'       => esc_html__( 'Tabs Title Padding', 'fusion-builder' ),
								'description' => esc_html__( 'Controls the padding of tabs title.', 'fusion-builder' ),
								'id'          => 'tabs_title_padding',
								'type'        => 'spacing',
								'transport'   => 'postMessage',
								'choices'     => [
									'top'    => true,
									'left'   => true,
									'bottom' => true,
									'right'  => true,
								],
								'default'     => [
									'top'    => '',
									'left'   => '',
									'bottom' => '',
									'right'  => '',
								],
							],
							'tabs_content_padding'     => [
								'label'       => esc_html__( 'Tabs Content Padding', 'fusion-builder' ),
								'description' => esc_html__( 'Controls the padding of tabs content.', 'fusion-builder' ),
								'id'          => 'tabs_content_padding',
								'type'        => 'spacing',
								'transport'   => 'postMessage',
								'choices'     => [
									'top'    => true,
									'left'   => true,
									'bottom' => true,
									'right'  => true,
								],
								'default'     => [
									'top'    => '',
									'left'   => '',
									'bottom' => '',
									'right'  => '',
								],
							],
							'tabs_icon_position'       => [
								'label'       => esc_html__( 'Icon Position', 'fusion-builder' ),
								'description' => esc_html__( 'Choose the position of the icon on the tab.', 'fusion-builder' ),
								'id'          => 'tabs_icon_position',
								'default'     => 'left',
								'type'        => 'radio-buttonset',
								'transport'   => 'postMessage',
								'choices'     => [
									'left'  => esc_attr__( 'Left', 'fusion-builder' ),
									'right' => esc_attr__( 'Right', 'fusion-builder' ),
									'top'   => esc_attr__( 'Top', 'fusion-builder' ),
								],
							],
							'tabs_icon_size'           => [
								'label'       => esc_html__( 'Tabs Icon Size', 'fusion-builder' ),
								'description' => esc_html__( 'Set the size of the icon.', 'fusion-builder' ),
								'id'          => 'tabs_icon_size',
								'default'     => '16',
								'transport'   => 'postMessage',
								'choices'     => [
									'min'  => '1',
									'max'  => '150',
									'step' => '1',
								],
								'type'        => 'slider',
							],
							'tabs_icon_color'          => [
								'label'       => esc_html__( 'Tabs Icon Color', 'fusion-builder' ),
								'description' => esc_html__( 'Set the color of the icon.', 'fusion-builder' ),
								'id'          => 'tabs_icon_color',
								'transport'   => 'postMessage',
								'type'        => 'color-alpha',
							],
							'tabs_icon_active_color'   => [
								'label'       => esc_html__( 'Active Tab Icon Color', 'fusion-builder' ),
								'description' => esc_html__( 'Set the color of the active tab icon.', 'fusion-builder' ),
								'id'          => 'tabs_icon_active_color',
								'transport'   => 'postMessage',
								'type'        => 'color-alpha',
							],
							'tabs_title_color'         => [
								'label'       => esc_html__( 'Tabs Title Color', 'fusion-builder' ),
								'description' => esc_html__( 'Set the color of the tabs title.', 'fusion-builder' ),
								'id'          => 'tabs_title_color',
								'transport'   => 'postMessage',
								'type'        => 'color-alpha',
							],
							'tabs_active_title_color'  => [
								'label'       => esc_html__( 'Tabs Active Title Color', 'fusion-builder' ),
								'description' => esc_html__( 'Set the color of the tabs active title.', 'fusion-builder' ),
								'id'          => 'tabs_active_title_color',
								'transport'   => 'postMessage',
								'type'        => 'color-alpha',
							],
							'tabs_mobile_breakpoint'   => [
								'label'       => esc_html__( 'Tabs Mobile Breakpoint', 'fusion-builder' ),
								'description' => esc_html__( 'Choose when the tabs will switch to mobile mode.', 'fusion-builder' ),
								'id'          => 'tabs_mobile_breakpoint',
								'default'     => 'medium',
								'type'        => 'radio-buttonset',
								'transport'   => 'postMessage',
								'choices'     => [
									'medium' => esc_attr__( 'Medium', 'fusion-builder' ),
									'small'  => esc_attr__( 'Small', 'fusion-builder' ),
								],
							],
							'tabs_mobile_mode'         => [
								'label'       => esc_html__( 'Tabs Mobile Mode', 'fusion-builder' ),
								'description' => esc_html__( 'Choose the tabs mode for mobile devices. Carousel will be come active only, if tabs don\'t fit the device screen width.', 'fusion-builder' ),
								'id'          => 'tabs_mobile_mode',
								'default'     => 'accordion',
								'type'        => 'radio-buttonset',
								'transport'   => 'postMessage',
								'choices'     => [
									'accordion' => esc_attr__( 'Accordion', 'fusion-builder' ),
									'toggle'    => esc_attr__( 'Toggle', 'fusion-builder' ),
									'carousel'  => esc_attr__( 'Carousel', 'fusion-builder' ),
								],
							],
							'tabs_mobile_sticky_tabs'  => [
								'label'       => esc_html__( 'Mobile Sticky Tabs', 'fusion-builder' ),
								'description' => esc_html__( 'Set tabs to sticky for carousel mode on mobile, useful for long content.', 'fusion-builder' ),
								'id'          => 'tabs_mobile_sticky_tabs',
								'default'     => 'no',
								'type'        => 'radio-buttonset',
								'transport'   => 'postMessage',
								'choices'     => [
									'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
									'no'  => esc_attr__( 'No', 'fusion-builder' ),
								],

							],

						],
					],
				];
			}

			/**
			 * Sets the necessary scripts.
			 *
			 * @access public
			 * @since 3.2
			 * @return void
			 */
			public function on_first_render() {
				$fusion_settings = awb_get_fusion_settings();

				Fusion_Dynamic_JS::enqueue_script(
					'fusion-tabs',
					FusionBuilder::$js_folder_url . '/general/fusion-tabs.js',
					FusionBuilder::$js_folder_path . '/general/fusion-tabs.js',
					[ 'modernizr', 'bootstrap-tab' ],
					FUSION_BUILDER_VERSION,
					true
				);
				Fusion_Dynamic_JS::localize_script(
					'fusion-tabs',
					'fusionTabVars',
					[
						'content_break_point' => intval( $fusion_settings->get( 'content_break_point' ) ),
					]
				);
			}


			/**
			 * Get the style variables.
			 *
			 * @access protected
			 * @since 3.9
			 * @return string
			 */
			protected function get_style_variables() {
				$this->args = $this->parent_args;
				// Todo: set $this->defaults.

				$css_vars_options = [
					'margin_top'                       => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_right'                     => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_bottom'                    => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_left'                      => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_top_medium'                => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_right_medium'              => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_bottom_medium'             => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_left_medium'               => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_top_small'                 => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_right_small'               => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_bottom_small'              => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'margin_left_small'                => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_border_radius_top_left'     => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_border_radius_top_right'    => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_border_radius_bottom_right' => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_border_radius_bottom_left'  => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_top'              => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_right'            => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_bottom'           => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_left'             => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_top_medium'       => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_right_medium'     => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_bottom_medium'    => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_left_medium'      => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_top_small'        => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_right_small'      => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_bottom_small'     => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'content_padding_left_small'       => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_top'                => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_right'              => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_bottom'             => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_left'               => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_top_medium'         => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_right_medium'       => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_bottom_medium'      => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_left_medium'        => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_top_small'          => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_right_small'        => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_bottom_small'       => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_padding_left_small'         => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_font_size'                  => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'title_text_transform',
					'title_line_height',
					'title_letter_spacing'             => [ 'callback' => [ 'Fusion_Sanitize', 'get_value_with_unit' ] ],
					'alignment',

				];

				$custom_vars = [];
				if ( $this->parent_args['inactivecolor'] ) {
					$custom_vars['inactive_color'] = $this->parent_args['inactivecolor'];
				}
				if ( $this->parent_args['title_text_color'] ) {
					$custom_vars['title_text_color'] = $this->parent_args['title_text_color'];
				}
				if ( $this->parent_args['title_active_text_color'] ) {
					$custom_vars['title_active_text_color'] = $this->parent_args['title_active_text_color'];
				}
				$custom_vars['background_color']    = $this->parent_args['backgroundcolor'];
				$custom_vars['border_color']        = $this->parent_args['bordercolor'];
				$custom_vars['active_border_color'] = $this->parent_args['active_border_color'];
				$styles                             = $this->get_css_vars_for_options( $css_vars_options ) . $this->get_custom_css_vars( $custom_vars ) . $this->get_font_styling_vars( 'title_font' );

				return $styles;
			}

			/**
			 * Load base CSS.
			 *
			 * @access public
			 * @since 3.0
			 * @return void
			 */
			public function add_css_files() {
				$fusion_settings = awb_get_fusion_settings();
				$breakpoint      = $fusion_settings->get( 'tabs_mobile_breakpoint' );

				FusionBuilder()->add_element_css( FUSION_BUILDER_PLUGIN_DIR . 'assets/css/shortcodes/tabs.min.css' );

				if ( class_exists( 'Avada' ) ) {
					$version = Avada::get_theme_version();
					Fusion_Media_Query_Scripts::$media_query_assets[] = [
						'avada-tabs-lg-min',
						FUSION_BUILDER_PLUGIN_DIR . 'assets/css/media/tabs-lg-min.min.css',
						[],
						$version,
						Fusion_Media_Query_Scripts::get_media_query_from_key( 'fusion-min-' . $breakpoint ),
					];

					Fusion_Media_Query_Scripts::$media_query_assets[] = [
						'avada-tabs-lg-max',
						FUSION_BUILDER_PLUGIN_DIR . 'assets/css/media/tabs-lg-max.min.css',
						[],
						$version,
						Fusion_Media_Query_Scripts::get_media_query_from_key( 'fusion-max-' . $breakpoint ),
					];

					Fusion_Media_Query_Scripts::$media_query_assets[] = [
						'avada-tabs-md',
						FUSION_BUILDER_PLUGIN_DIR . 'assets/css/media/tabs-md.min.css',
						[],
						$version,
						Fusion_Media_Query_Scripts::get_media_query_from_key( 'fusion-max-medium' ),
					];

					Fusion_Media_Query_Scripts::$media_query_assets[] = [
						'avada-tabs-sm',
						FUSION_BUILDER_PLUGIN_DIR . 'assets/css/media/tabs-sm.min.css',
						[],
						$version,
						Fusion_Media_Query_Scripts::get_media_query_from_key( 'fusion-max-small' ),
					];
				}
			}
		}
	}

	new FusionSC_Tabs();

}

/**
 * Map shortcode to Avada Builder.
 *
 * @since 1.0
 */
function fusion_element_tabs() {
	$fusion_settings = awb_get_fusion_settings();

	$is_builder = ( function_exists( 'fusion_is_preview_frame' ) && fusion_is_preview_frame() ) || ( function_exists( 'fusion_is_builder_frame' ) && fusion_is_builder_frame() );
	$to_link    = '';

	if ( $is_builder ) {
		$to_link = '<span class="fusion-panel-shortcut" data-fusion-option="tabs_mobile_breakpoint">' . esc_html__( 'Global Options', 'fusion-builder' ) . '</span>';
	} else {
		$to_link = '<a href="' . esc_url( $fusion_settings->get_setting_link( 'tabs_mobile_breakpoint' ) ) . '" target="_blank" rel="noopener noreferrer">' . esc_html__( 'Global Options', 'fusion-builder' ) . '</a>';
	}

	fusion_builder_map(
		fusion_builder_frontend_data(
			'FusionSC_Tabs',
			[
				'name'          => esc_attr__( 'Tabs', 'fusion-builder' ),
				'shortcode'     => 'fusion_tabs',
				'multi'         => 'multi_element_parent',
				'element_child' => 'fusion_tab',
				'icon'          => 'fusiona-folder',
				'preview'       => FUSION_BUILDER_PLUGIN_DIR . 'inc/templates/previews/fusion-tabs-preview.php',
				'preview_id'    => 'fusion-builder-block-module-tabs-preview-template',
				'child_ui'      => true,
				'help_url'      => 'https://avada.com/documentation/tabs-element/',
				'sortable'      => false,
				'subparam_map'  => [
					'fusion_font_family_title_font'  => 'title_typography',
					'fusion_font_variant_title_font' => 'title_typography',
					'title_font_size'                => 'title_typography',
					'title_line_height'              => 'title_typography',
					'title_letter_spacing'           => 'title_typography',
					'title_text_transform'           => 'title_typography',
				],
				'params'        => [
					[
						'type'            => 'textfield',
						'heading'         => esc_attr__( 'Dynamic Content', 'fusion-builder' ),
						'param_name'      => 'parent_dynamic_content',
						'dynamic_data'    => true,
						'dynamic_options' => [ 'acf_repeater_parent' ],
						'group'           => esc_attr__( 'children', 'fusion-builder' ),
					],
					[
						'type'        => 'tinymce',
						'heading'     => esc_attr__( 'Content', 'fusion-builder' ),
						'description' => esc_attr__( 'Enter some content for this tabs element.', 'fusion-builder' ),
						'param_name'  => 'element_content',
						'value'       => '[fusion_tab title="' . esc_attr__( 'Your Content Goes Here', 'fusion-builder' ) . '" icon=""]' . esc_attr__( 'Your Content Goes Here', 'fusion-builder' ) . '[/fusion_tab]',
					],
					[
						'type'        => 'radio_button_set',
						'heading'     => esc_attr__( 'Design', 'fusion-builder' ),
						'description' => esc_attr__( 'Choose a design for the element.', 'fusion-builder' ),
						'param_name'  => 'design',
						'value'       => [
							'classic' => esc_attr__( 'Classic', 'fusion-builder' ),
							'clean'   => esc_attr__( 'Clean', 'fusion-builder' ),
						],
						'default'     => 'classic',
					],
					[
						'type'        => 'radio_button_set',
						'heading'     => esc_attr__( 'Layout', 'fusion-builder' ),
						'description' => esc_attr__( 'Choose the layout of the element.' ),
						'param_name'  => 'layout',
						'value'       => [
							'horizontal' => esc_attr__( 'Horizontal', 'fusion-builder' ),
							'vertical'   => esc_attr__( 'Vertical', 'fusion-builder' ),
						],
						'default'     => 'horizontal',
					],
					[
						'type'        => 'radio_button_set',
						'heading'     => esc_attr__( 'Justify Tabs', 'fusion-builder' ),
						'description' => esc_attr__( 'Choose to get tabs stretched over full element width.', 'fusion-builder' ),
						'param_name'  => 'justified',
						'value'       => [
							'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
							'no'  => esc_attr__( 'No', 'fusion-builder' ),
						],
						'default'     => 'yes',
						'dependency'  => [
							[
								'element'  => 'layout',
								'value'    => 'horizontal',
								'operator' => '==',
							],
						],
					],
					[
						'type'        => 'radio_button_set',
						'heading'     => esc_attr__( 'Tabs Alignment', 'fusion-builder' ),
						'description' => esc_attr__( 'Choose tabs alignment.', 'fusion-builder' ),
						'param_name'  => 'alignment',
						'default'     => 'start',
						'grid_layout' => true,
						'back_icons'  => true,
						'icons'       => [
							'start'  => '<span class="fusiona-horizontal-flex-start"></span>',
							'center' => '<span class="fusiona-horizontal-flex-center"></span>',
							'end'    => '<span class="fusiona-horizontal-flex-end"></span>',
						],
						'value'       => [
							// We use "start/end" terminology because flex direction changes depending on RTL/LTR.
							'start'  => esc_html__( 'Start', 'fusion-builder' ),
							'center' => esc_html__( 'Center', 'fusion-builder' ),
							'end'    => esc_html__( 'End', 'fusion-builder' ),
						],
						'dependency'  => [
							[
								'element'  => 'layout',
								'value'    => 'horizontal',
								'operator' => '==',
							],
							[
								'element'  => 'justified',
								'value'    => 'no',
								'operator' => '==',
							],
						],
					],
					[
						'type'        => 'radio_button_set',
						'heading'     => esc_attr__( 'Sticky Tabs', 'fusion-builder' ),
						'description' => esc_attr__( 'Turn on to have the tabs navigation stick on scroll. Useful for long content.', 'fusion-builder' ),
						'param_name'  => 'sticky_tabs',
						'value'       => [
							'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
							'no'  => esc_attr__( 'No', 'fusion-builder' ),
						],
						'default'     => 'no',
						'dependency'  => [
							[
								'element'  => 'layout',
								'value'    => 'horizontal',
								'operator' => '==',
							],
						],
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'Sticky Tabs Offset', 'fusion-builder' ),
						'description' => esc_attr__( 'Controls how far the top of the column is offset from top of viewport when sticky. Use either a unit of measurement, or a CSS selector.', 'fusion-builder' ),
						'param_name'  => 'sticky_tabs_offset',
						'value'       => '',
						'dependency'  => [
							[
								'element'  => 'layout',
								'value'    => 'horizontal',
								'operator' => '==',
							],
							[
								'element'  => 'sticky_tabs',
								'value'    => 'yes',
								'operator' => '==',
							],
						],
					],
					[
						'type'        => 'iconpicker',
						'heading'     => esc_attr__( 'Icon', 'fusion-builder' ),
						'param_name'  => 'icon',
						'value'       => '',
						'description' => esc_attr__( 'Global setting for all tabs, this can be overridden individually. Click an icon to select, click again to deselect.', 'fusion-builder' ),
					],
					[
						'heading'     => esc_html__( 'Icon Position', 'fusion-builder' ),
						'description' => esc_html__( 'Choose the position of the icon on the tab. Icons can be selected in the general tab for the same icon on all tabs, or in each child item for individual tab icons.', 'fusion-builder' ),
						'param_name'  => 'icon_position',
						'default'     => '',
						'type'        => 'radio_button_set',
						'value'       => [
							''      => esc_attr__( 'Default', 'fusion-builder' ),
							'left'  => esc_attr__( 'Left', 'fusion-builder' ),
							'right' => esc_attr__( 'Right', 'fusion-builder' ),
							'top'   => esc_attr__( 'Top', 'fusion-builder' ),
						],
					],
					[
						'heading'     => esc_html__( 'Tabs Icon Size', 'fusion-builder' ),
						'description' => esc_html__( 'Set the size of the icon. In pixels, ex: 13px. Icons can be selected in the general tab for the same icon on all tabs, or in each child item for individual tab icons.', 'fusion-builder' ),
						'param_name'  => 'icon_size',
						'default'     => $fusion_settings->get( 'tabs_icon_size' ),
						'min'         => '1',
						'max'         => '150',
						'step'        => '1',
						'type'        => 'range',
					],
					[
						'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' ),
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'CSS Class', 'fusion-builder' ),
						'description' => esc_attr__( 'Add a class to the wrapping HTML element.', 'fusion-builder' ),
						'param_name'  => 'class',
						'value'       => '',
						'group'       => esc_attr__( 'General', 'fusion-builder' ),
					],
					[
						'type'        => 'textfield',
						'heading'     => esc_attr__( 'CSS ID', 'fusion-builder' ),
						'description' => esc_attr__( 'Add an ID to the wrapping HTML element.', 'fusion-builder' ),
						'param_name'  => 'id',
						'value'       => '',
						'group'       => esc_attr__( 'General', 'fusion-builder' ),
					],

					// Design Tab.
					'fusion_margin_placeholder' => [
						'param_name' => 'margin',
						'value'      => [
							'margin_top'    => '',
							'margin_right'  => '',
							'margin_bottom' => '',
							'margin_left'   => '',
						],
						'responsive' => [
							'state' => 'large',
						],
					],
					[
						'type'        => 'radio_button_set',
						'heading'     => esc_attr__( 'Tabs Title Tag', 'fusion-builder' ),
						'description' => esc_attr__( 'Choose HTML tag of the tabs title, either div or the heading tag, h1-h6.', 'fusion-builder' ),
						'param_name'  => 'title_tag',
						'value'       => [
							'h1'  => 'H1',
							'h2'  => 'H2',
							'h3'  => 'H3',
							'h4'  => 'H4',
							'h5'  => 'H5',
							'h6'  => 'H6',
							'div' => 'DIV',
						],
						'default'     => 'h4',
						'group'       => esc_attr__( 'Design', 'fusion-builder' ),
					],
					[
						'type'             => 'typography',
						'remove_from_atts' => true,
						'global'           => true,
						'heading'          => esc_attr__( 'Tabs Title Typography', 'fusion-builder' ),
						'description'      => esc_html__( 'Controls the tabs title text typography.', 'fusion-builder' ),
						'param_name'       => 'title_typography',
						'group'            => esc_attr__( 'Design', 'fusion-builder' ),
						'choices'          => [
							'font-family'    => 'title_font',
							'font-size'      => 'title_font_size',
							'line-height'    => 'title_line_height',
							'letter-spacing' => 'title_letter_spacing',
							'text-transform' => 'title_text_transform',
						],
						'default'          => [
							'font-family'    => '',
							'variant'        => '',
							'font-size'      => '',
							'line-height'    => '',
							'letter-spacing' => '',
							'text-transform' => '',
						],
					],
					[
						'type'             => 'dimension',
						'remove_from_atts' => true,
						'heading'          => esc_attr__( 'Tabs Title Padding', 'fusion-builder' ),
						'description'      => esc_attr__( 'Controls the padding of tabs title, In pixels or percentage, ex: 10px or 10%.', 'fusion-builder' ),
						'param_name'       => 'title_padding',
						'value'            => [
							'title_padding_top'    => '',
							'title_padding_right'  => '',
							'title_padding_bottom' => '',
							'title_padding_left'   => '',
						],
						'group'            => esc_attr__( 'Design', 'fusion-builder' ),
						'responsive'       => [
							'state' => 'large',
						],
					],
					[
						'type'             => 'dimension',
						'remove_from_atts' => true,
						'heading'          => esc_attr__( 'Tabs Content Padding', 'fusion-builder' ),
						'description'      => esc_attr__( 'Controls the padding of tabs content, In pixels or percentage, ex: 10px or 10%.', 'fusion-builder' ),
						'param_name'       => 'content_padding',
						'value'            => [
							'content_padding_top'    => '',
							'content_padding_right'  => '',
							'content_padding_bottom' => '',
							'content_padding_left'   => '',
						],
						'group'            => esc_attr__( 'Design', 'fusion-builder' ),
						'responsive'       => [
							'state' => 'large',
						],
					],
					[
						'type'             => 'dimension',
						'remove_from_atts' => true,
						'heading'          => esc_attr__( 'Tabs Title Border Radius', 'fusion-builder' ),
						'description'      => __( 'Controls the border radius of tabs title, In pixels or percentage, ex: 10px or 10%.', 'fusion-builder' ),
						'param_name'       => 'title_border_radius',
						'value'            => [
							'title_border_radius_top_left' => '',
							'title_border_radius_top_right' => '',
							'title_border_radius_bottom_right' => '',
							'title_border_radius_bottom_left' => '',
						],
						'group'            => esc_attr__( 'Design', 'fusion-builder' ),
					],
					[
						'type'          => 'colorpickeralpha',
						'heading'       => esc_attr__( 'Border Color', 'fusion-builder' ),
						'description'   => esc_attr__( 'Controls the color of the outer tab border. ', 'fusion-builder' ),
						'param_name'    => 'bordercolor',
						'value'         => '',
						'default'       => $fusion_settings->get( 'tabs_border_color' ),
						'group'         => esc_attr__( 'Design', 'fusion-builder' ),
						'states'        => [
							'active' => [
								'label'      => __( 'Active', 'fusion-builder' ),
								'param_name' => 'active_border_color',
								'default'    => $fusion_settings->get( 'primary_color' ),
							],
						],
						'connect-state' => [ 'inactivecolor', 'title_text_color', 'icon_color', 'backgroundcolor', 'title_active_text_color', 'icon_active_color' ],
					],
					[
						'type'          => 'colorpickeralpha',
						'heading'       => esc_attr__( 'Background Color', 'fusion-builder' ),
						'description'   => esc_attr__( 'Controls the background inactive tab color. ', 'fusion-builder' ),
						'param_name'    => 'inactivecolor',
						'value'         => '',
						'default'       => $fusion_settings->get( 'tabs_inactive_color' ),
						'group'         => esc_attr__( 'Design', 'fusion-builder' ),
						'states'        => [
							'active' => [
								'label'      => __( 'Active', 'fusion-builder' ),
								'param_name' => 'backgroundcolor',
								'default'    => $fusion_settings->get( 'tabs_bg_color' ),
							],
						],
						'connect-state' => [ 'bordercolor', 'active_border_color', 'title_text_color', 'icon_color', 'title_active_text_color', 'icon_active_color' ],
					],
					[
						'type'          => 'colorpickeralpha',
						'heading'       => esc_attr__( 'Tabs Title Color', 'fusion-builder' ),
						'description'   => esc_html__( 'Controls the color of the tabs title.', 'fusion-builder' ),
						'param_name'    => 'title_text_color',
						'default'       => $fusion_settings->get( 'tabs_title_color' ),
						'group'         => esc_attr__( 'Design', 'fusion-builder' ),
						'states'        => [
							'active' => [
								'label'      => __( 'Active', 'fusion-builder' ),
								'param_name' => 'title_active_text_color',
								'default'    => $fusion_settings->get( 'tabs_active_title_color' ),
							],
						],
						'connect-state' => [ 'bordercolor', 'active_border_color', 'inactivecolor', 'icon_color', 'backgroundcolor', 'icon_active_color' ],
					],
					[
						'heading'       => esc_html__( 'Icon Color', 'fusion-builder' ),
						'description'   => esc_html__( 'Set the color of the icon.', 'fusion-builder' ),
						'param_name'    => 'icon_color',
						'default'       => $fusion_settings->get( 'tabs_icon_color' ),
						'type'          => 'colorpickeralpha',
						'group'         => esc_attr__( 'Design', 'fusion-builder' ),
						'states'        => [
							'active' => [
								'label'      => __( 'Active', 'fusion-builder' ),
								'param_name' => 'icon_active_color',
								'default'    => $fusion_settings->get( 'tabs_icon_active_color' ),
							],
						],
						'connect-state' => [ 'bordercolor', 'active_border_color', 'inactivecolor', 'title_text_color', 'backgroundcolor', 'title_active_text_color' ],
					],

					// Mobile.
					[
						'heading'     => esc_html__( 'Mobile Mode', 'fusion-builder' ),
						/* translators: URL for the tab mobile breakpoint. */
						'description' => sprintf( esc_html__( 'Choose the tabs mode for mobile devices. Carousel will be come active only, if tabs don\'t fit the device screen width.  The breakpoint can be controlled from the %s.', 'fusion-builder' ), $to_link ),
						'param_name'  => 'mobile_mode',
						'default'     => '',
						'type'        => 'radio_button_set',
						'value'       => [
							''          => esc_attr__( 'Default', 'fusion-builder' ),
							'accordion' => esc_attr__( 'Accordion', 'fusion-builder' ),
							'toggle'    => esc_attr__( 'Toggle', 'fusion-builder' ),
							'carousel'  => esc_attr__( 'Carousel', 'fusion-builder' ),
						],
						'group'       => esc_html__( 'Mobile', 'fusion-builder' ),
					],
					[
						'heading'     => esc_html__( 'Sticky Tabs', 'fusion-builder' ),
						'description' => esc_html__( 'Set tabs to sticky for carousel mode on mobile, useful for long content.', 'fusion-builder' ),
						'param_name'  => 'mobile_sticky_tabs',
						'default'     => '',
						'type'        => 'radio_button_set',
						'value'       => [
							''    => esc_attr__( 'Default', 'fusion-builder' ),
							'yes' => esc_attr__( 'Yes', 'fusion-builder' ),
							'no'  => esc_attr__( 'No', 'fusion-builder' ),
						],
						'group'       => esc_html__( 'Mobile', 'fusion-builder' ),
						'dependency'  => [
							[
								'element'  => 'mobile_mode',
								'value'    => 'carousel',
								'operator' => '==',
							],
						],

					],

				],
			],
			'parent'
		)
	);
}
add_action( 'fusion_builder_before_init', 'fusion_element_tabs' );

/**
 * Map shortcode to Avada Builder.
 *
 * @since 1.0
 */
function fusion_element_tab() {
	fusion_builder_map(
		fusion_builder_frontend_data(
			'FusionSC_Tabs',
			[
				'name'              => esc_attr__( 'Tab', 'fusion-builder' ),
				'shortcode'         => 'fusion_tab',
				'hide_from_builder' => true,
				'allow_generator'   => true,
				'params'            => [
					[
						'type'         => 'textfield',
						'heading'      => esc_attr__( 'Tab Title', 'fusion-builder' ),
						'description'  => esc_attr__( 'Title of the tab.', 'fusion-builder' ),
						'param_name'   => 'title',
						'value'        => esc_attr__( 'Your Content Goes Here', 'fusion-builder' ),
						'placeholder'  => true,
						'dynamic_data' => true,
					],
					[
						'type'        => 'iconpicker',
						'heading'     => esc_attr__( 'Icon', 'fusion-builder' ),
						'param_name'  => 'icon',
						'value'       => '',
						'description' => esc_attr__( 'Click an icon to select, click again to deselect.', 'fusion-builder' ),
					],
					[
						'heading'     => esc_html__( 'Icon Color', 'fusion-builder' ),
						'description' => esc_html__( 'Set the color of tabs icon.', 'fusion-builder' ),
						'param_name'  => 'icon_color',
						'default'     => '',
						'type'        => 'colorpickeralpha',
						'states'      => [
							'active' => [
								'label'      => __( 'Active', 'fusion-builder' ),
								'param_name' => 'icon_active_color',
							],
						],
					],
					[
						'type'         => 'tinymce',
						'heading'      => esc_attr__( 'Tab Content', 'fusion-builder' ),
						'description'  => esc_attr__( 'Add content for the tab.', 'fusion-builder' ),
						'param_name'   => 'element_content',
						'value'        => esc_attr__( 'Your Content Goes Here', 'fusion-builder' ),
						'placeholder'  => true,
						'dynamic_data' => true,
					],
				],
				'tag_name'          => 'li',
			],
			'child'
		)
	);
}
add_action( 'fusion_builder_before_init', 'fusion_element_tab' );


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
27 Aug 2026 8.14 AM
docteuh / users
0755
components
--
26 Aug 2026 4.27 AM
docteuh / users
0755
form
--
26 Aug 2026 4.27 AM
docteuh / users
0755
js
--
26 Aug 2026 4.27 AM
docteuh / users
0755
fusion-audio.php
20.387 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-blank-page.php
0.665 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-blog.php
107.766 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-breadcrumbs.php
15.495 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-button.php
85.926 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-chart.php
33.149 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-checklist.php
31.546 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-circles-info.php
77.414 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-code-block.php
1.843 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-column-inner.php
1.904 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-column.php
1.896 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-contact-form7.php
2.275 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-content-boxes.php
132.065 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-convertplus.php
8.286 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-countdown.php
54.114 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-counters-box.php
30.157 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-counters-circle.php
18.565 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-dropcap.php
8.805 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-events.php
36.033 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-facebook-page.php
19.25 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-flickr.php
19.747 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-flip-boxes.php
61.462 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-fontawesome.php
34.19 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-gallery.php
88.555 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-global.php
10.852 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-google-map.php
42.931 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-gravity-form.php
3.487 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-highlight.php
11.383 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-image-before-after.php
49.818 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-image-carousel.php
48.022 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-image-hotspots.php
33.223 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-image.php
90.025 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-inline.php
2.218 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-instagram.php
60.796 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-layer-slider.php
2.073 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-lightbox.php
8.715 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-lottie.php
21.71 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-menu-anchor.php
3.188 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-menu.php
93.935 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-modal.php
17.323 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-news-ticker.php
43.221 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-nextpage.php
0.738 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-one-page-link.php
3.88 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-open-street-map.php
52.27 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-person.php
65.724 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-popover.php
13.306 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-post-card-cart.php
142.81 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-post-card-image.php
30.33 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-post-cards.php
142.96 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-post-slider.php
19.51 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-pricing-table.php
38.265 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-progress.php
27.663 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-recent-posts.php
52.588 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-revolution-slider.php
1.058 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-row-inner.php
1.067 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-row.php
0.991 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-scroll-progress.php
16.159 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-search.php
29.545 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-section-separator.php
174.154 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-separator.php
34.366 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-slider.php
23.82 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-social-links.php
51.16 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-social-sharing.php
61.703 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-soundcloud.php
10.246 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-star-rating.php
19.802 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-stripe-button.php
76.124 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-submenu.php
59.607 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-syntax-highlighter.php
32.148 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-table-of-contents.php
41.999 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-table.php
8.218 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-tabs.php
65.576 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-tagcloud.php
36.479 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-tagline.php
36.945 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-testimonials.php
53.142 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-title.php
65.333 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-toggle.php
57.083 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-tooltip.php
5.704 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-twitter-timeline.php
19.066 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-user-login.php
71.05 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-video.php
18.535 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-views-counter.php
21.79 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-vimeo.php
17.144 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-widget-area.php
12.915 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-widget.php
21.944 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-cart-coupons.php
15.592 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-cart-shipping.php
15.572 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-cart-table.php
38.775 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-cart-totals.php
22.699 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-checkout-form.php
0.706 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-featured-products-slider.php
28.007 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-product-grid.php
47.554 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-product-slider.php
28.406 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-shortcodes.php
3.424 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-woo-sorting.php
25.361 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
fusion-youtube.php
17.496 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
woo-checkout-billing.php
12.527 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
woo-checkout-order-review.php
24.136 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
woo-checkout-payment.php
35.031 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
woo-checkout-shipping.php
12.418 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
woo-checkout-tabs.php
44.624 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
woo-mini-cart.php
74.974 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
woo-notices.php
38.273 KB
20 Nov 2023 7.12 PM
docteuh / users
0644
woo-upsells.php
7.247 KB
20 Nov 2023 7.12 PM
docteuh / users
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF