File manager - Edit - /home/aresglob/public_html/wp/wp-includes/images/smilies/builder.tar
Back
class-astra-builder-loader.php 0000644 00000015345 15105312163 0012367 0 ustar 00 <?php /** * Astra Builder Loader. * * @package astra-builder */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Builder_Loader' ) ) { /** * Class Astra_Builder_Loader. */ final class Astra_Builder_Loader { /** * Member Variable * * @var mixed instance */ private static $instance = null; /** * Variable to hold menu locations rendered on the site. * * @var array Menu locations array */ private static $menu_locations = array(); /** * Initiator */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); do_action( 'astra_builder_loaded' ); } return self::$instance; } /** * Constructor */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound /** * Builder Core Files. */ require_once ASTRA_THEME_DIR . 'inc/core/builder/class-astra-builder-helper.php'; require_once ASTRA_THEME_DIR . 'inc/core/builder/class-astra-builder-options.php'; /** * Builder - Header & Footer Markup. */ require_once ASTRA_THEME_DIR . 'inc/builder/markup/class-astra-builder-header.php'; require_once ASTRA_THEME_DIR . 'inc/builder/markup/class-astra-builder-footer.php'; /** * Builder Controllers. */ require_once ASTRA_THEME_DIR . 'inc/builder/controllers/class-astra-builder-widget-controller.php'; require_once ASTRA_THEME_DIR . 'inc/builder/controllers/class-astra-builder-ui-controller.php'; /** * Customizer - Configs. */ require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-builder-customizer.php'; /*DONE */ if ( true === Astra_Builder_Helper::$is_header_footer_builder_active ) { add_filter( 'astra_existing_header_footer_configs', '__return_false' ); add_filter( 'astra_addon_existing_header_footer_configs', '__return_false' ); } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound add_action( 'wp', array( $this, 'load_markup' ), 100 ); add_filter( 'astra_quick_settings', array( $this, 'quick_settings' ) ); } /** * Update Quick Settings links. * * @param array $quick_settings Links to the Quick Settings in Astra. * @since 3.0.0 */ public function quick_settings( $quick_settings ) { if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { return $quick_settings; } $quick_settings['header']['title'] = __( 'Header Builder', 'astra' ); $quick_settings['header']['quick_url'] = admin_url( 'customize.php?autofocus[panel]=panel-header-builder-group' ); $quick_settings['footer']['title'] = __( 'Footer Builder', 'astra' ); $quick_settings['footer']['quick_url'] = admin_url( 'customize.php?autofocus[panel]=panel-footer-builder-group' ); return $quick_settings; } /** * Advanced Hooks markup loader * * Loads appropriate template file based on the style option selected in options panel. * * @since 3.0.0 */ public function load_markup() { if ( ! defined( 'ASTRA_ADVANCED_HOOKS_POST_TYPE' ) || false === Astra_Builder_Helper::$is_header_footer_builder_active ) { return; } $option = array( 'location' => 'ast-advanced-hook-location', 'exclusion' => 'ast-advanced-hook-exclusion', 'users' => 'ast-advanced-hook-users', ); $result = Astra_Target_Rules_Fields::get_instance()->get_posts_by_conditions( ASTRA_ADVANCED_HOOKS_POST_TYPE, $option ); $header_counter = 0; $footer_counter = 0; $layout_404_counter = 0; foreach ( $result as $post_id => $post_data ) { $post_type = get_post_type(); // Get the display devices condition for the post. $display_devices = get_post_meta( $post_id, 'ast-advanced-display-device', true ); if ( ! is_array( $display_devices ) ) { $display_devices = array( 'desktop', 'tablet', 'mobile' ); } if ( ASTRA_ADVANCED_HOOKS_POST_TYPE !== $post_type ) { $layout = get_post_meta( $post_id, 'ast-advanced-hook-layout', false ); if ( isset( $layout[0] ) && '404-page' === $layout[0] && 0 === $layout_404_counter ) { $layout_404_settings = get_post_meta( $post_id, 'ast-404-page', true ); if ( isset( $layout_404_settings['disable_header'] ) && 'enabled' === $layout_404_settings['disable_header'] ) { remove_action( 'astra_header', array( Astra_Builder_Header::get_instance(), 'header_builder_markup' ) ); } if ( isset( $layout_404_settings['disable_footer'] ) && 'enabled' === $layout_404_settings['disable_footer'] ) { remove_action( 'astra_footer', array( Astra_Builder_Footer::get_instance(), 'footer_markup' ) ); } $layout_404_counter++; } elseif ( isset( $layout[0] ) && 'header' === $layout[0] && 0 === $header_counter ) { // Remove default site's header. remove_action( 'astra_header', array( Astra_Builder_Header::get_instance(), 'header_builder_markup' ) ); // Check if the post has 'ast-advanced-hook-enabled' meta key is not set to 'no'. $is_enabled = 'no' !== get_post_meta( $post_id, 'ast-advanced-hook-enabled', true ); // Check if the custom header is enabled for all devices. $is_all_devices = 3 === count( $display_devices ); if ( $is_enabled && $is_all_devices ) { // Prevent Off-Canvas markup on custom header rendering. add_filter( 'astra_disable_mobile_popup_markup', '__return_true' ); } $header_counter++; } elseif ( isset( $layout[0] ) && 'footer' === $layout[0] && 0 === $footer_counter ) { // Remove default site's footer. remove_action( 'astra_footer', array( Astra_Builder_Footer::get_instance(), 'footer_markup' ) ); $footer_counter++; } } } } /** * Method to add rel="nofollow" for markup * * @param string $theme_location Theme location for key. * @param string $markup Markup. * @return string Menu markup with rel="nofollow". * @since 4.6.14 */ public function nofollow_markup( $theme_location, $markup ) { $nofollow_disabled = apply_filters( 'astra_disable_nofollow_markup', true ); if ( $nofollow_disabled ) { return $markup; } if ( isset( self::$menu_locations[ $theme_location ] ) ) { $markup = str_replace( 'href="', 'rel="nofollow" href="', $markup ); } else { self::$menu_locations[ $theme_location ] = true; } return $markup; } } /** * Prepare if class 'Astra_Builder_Loader' exist. * Kicking this off by calling 'get_instance()' method */ Astra_Builder_Loader::get_instance(); } if ( ! function_exists( 'astra_builder' ) ) { /** * Get global class. * * @return object */ function astra_builder() { return Astra_Builder_Loader::get_instance(); } } markup/class-astra-builder-footer.php 0000644 00000015661 15105312163 0013717 0 ustar 00 <?php /** * Astra Builder Loader. * * @package astra-builder */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Builder_Footer' ) ) { /** * Class Astra_Builder_Footer. */ final class Astra_Builder_Footer { /** * Member Variable * * @var mixed instance */ private static $instance = null; /** * Dynamic Methods. * * @var array dynamic methods */ private static $methods = array(); /** * Initiator */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { if ( true === Astra_Builder_Helper::$is_header_footer_builder_active ) { $this->remove_existing_actions(); // Footer Builder. add_action( 'astra_footer', array( $this, 'footer_markup' ), 10 ); add_action( 'astra_above_footer', array( $this, 'above_footer' ), 10 ); add_action( 'astra_primary_footer', array( $this, 'primary_footer' ), 10 ); add_action( 'astra_below_footer', array( $this, 'below_footer' ), 10 ); add_action( 'astra_render_footer_column', array( $this, 'render_column' ), 10, 2 ); // Core Components. add_action( 'astra_footer_copyright', array( $this, 'footer_copyright' ), 10 ); for ( $index = 1; $index <= Astra_Builder_Helper::$component_limit; $index++ ) { // Buttons. add_action( 'astra_footer_button_' . $index, array( $this, 'button_' . $index ) ); self::$methods[] = 'button_' . $index; // Htmls. add_action( 'astra_footer_html_' . $index, array( $this, 'footer_html_' . $index ) ); self::$methods[] = 'footer_html_' . $index; // Social Icons. add_action( 'astra_footer_social_' . $index, array( $this, 'footer_social_' . $index ) ); self::$methods[] = 'footer_social_' . $index; } // Navigation menu. add_action( 'astra_footer_menu', array( $this, 'footer_menu' ) ); } } /** * Callback when method not exists. * * @param string $func function name. * @param array $params function parameters. */ public function __call( $func, $params ) { if ( in_array( $func, self::$methods, true ) ) { if ( 0 === strpos( $func, 'footer_html_' ) ) { Astra_Builder_UI_Controller::render_html_markup( str_replace( '_', '-', $func ) ); } elseif ( 0 === strpos( $func, 'button_' ) ) { $index = (int) substr( $func, strrpos( $func, '_' ) + 1 ); if ( $index ) { Astra_Builder_UI_Controller::render_button( $index, 'footer' ); } } elseif ( 0 === strpos( $func, 'footer_social_' ) ) { $index = (int) substr( $func, strrpos( $func, '_' ) + 1 ); if ( $index ) { Astra_Builder_UI_Controller::render_social_icon( $index, 'footer' ); } } } } /** * Remove existing Footer to load Footer Builder. * * @since 3.0.0 * @return void */ public function remove_existing_actions() { remove_action( 'astra_footer_content_top', 'astra_footer_content_top' ); remove_action( 'astra_footer_content', 'astra_advanced_footer_markup', 1 ); remove_action( 'astra_footer_content', 'astra_footer_small_footer_template', 5 ); remove_action( 'astra_footer_content_bottom', 'astra_footer_content_bottom' ); remove_action( 'astra_footer', 'astra_footer_markup' ); } /** * Astra Footer Markup. */ public function footer_markup() { /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $display_footer = get_post_meta( astra_get_post_id(), 'footer-sml-layout', true ); $display_footer = apply_filters( 'astra_footer_bar_display', $display_footer ); if ( 'disabled' !== $display_footer ) { get_template_part( 'template-parts/footer/builder/desktop-builder-layout' ); } } /** * Call above footer UI. */ public function above_footer() { if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { get_template_part( 'template-parts/footer/builder/footer', 'row', array( 'row' => 'above', ) ); } else { set_query_var( 'row', 'above' ); get_template_part( 'template-parts/footer/builder/footer', 'row' ); } } /** * Call primary footer UI. */ public function primary_footer() { if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { get_template_part( 'template-parts/footer/builder/footer', 'row', array( 'row' => 'primary', ) ); } else { set_query_var( 'row', 'primary' ); get_template_part( 'template-parts/footer/builder/footer', 'row' ); } } /** * Call below footer UI. */ public function below_footer() { if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { get_template_part( 'template-parts/footer/builder/footer', 'row', array( 'row' => 'below', ) ); } else { set_query_var( 'row', 'below' ); get_template_part( 'template-parts/footer/builder/footer', 'row' ); } } /** * Call component footer UI. * * @param string $row row. * @param string $column column. */ public function render_column( $row, $column ) { Astra_Builder_Helper::render_builder_markup( $row, $column, 'desktop', 'footer' ); } /** * Render Footer Copyright Markup! */ public function footer_copyright() { $theme_author = astra_get_theme_author_details(); $content = astra_get_i18n_option( 'footer-copyright-editor', _x( '%astra%', 'Footer Builder: Copyright Editor Text', 'astra' ) ); if ( $content || is_customize_preview() ) { echo '<div class="ast-footer-copyright">'; $content = str_replace( '[copyright]', '©', $content ); $content = str_replace( '[current_year]', gmdate( 'Y' ), $content ); $content = str_replace( '[site_title]', get_bloginfo( 'name' ), $content ); $content = str_replace( '[theme_author]', '<a href="' . esc_url( $theme_author['theme_author_url'] ) . '" rel="nofollow noopener" target="_blank">' . $theme_author['theme_name'] . '</a>', $content ); echo do_shortcode( wp_kses_post( wpautop( $content ) ) ); echo '</div>'; } } /** * Render HTML 1. */ public function footer_html_1() { Astra_Builder_UI_Controller::render_html_markup( 'footer-html-1' ); } /** * Render HTML 2. */ public function footer_html_2() { Astra_Builder_UI_Controller::render_html_markup( 'footer-html-2' ); } /** * Render HTML 3. */ public function footer_html_3() { Astra_Builder_UI_Controller::render_html_markup( 'footer-html-3' ); } /** * Render HTML 4. */ public function footer_html_4() { Astra_Builder_UI_Controller::render_html_markup( 'footer-html-4' ); } /** * Render Menu. */ public function footer_menu() { Astra_Footer_Menu_Component::menu_markup(); } } /** * Prepare if class 'Astra_Builder_Footer' exist. * Kicking this off by calling 'get_instance()' method */ Astra_Builder_Footer::get_instance(); } markup/class-astra-builder-header.php 0000644 00000034307 15105312163 0013647 0 ustar 00 <?php /** * Astra Builder Loader. * * @package astra-builder */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Builder_Header' ) ) { /** * Class Astra_Builder_Header. */ final class Astra_Builder_Header { /** * Member Variable * * @var mixed instance */ private static $instance = null; /** * Dynamic Methods. * * @var array dynamic methods */ private static $methods = array(); /** * Initiator * * @return object initialized Astra_Builder_Header class */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { add_action( 'astra_header', array( $this, 'global_astra_header' ), 0 ); if ( true === Astra_Builder_Helper::$is_header_footer_builder_active ) { $this->remove_existing_actions(); add_action( 'body_class', array( $this, 'add_body_class' ) ); // Header Desktop Builder. add_action( 'astra_masthead', array( $this, 'desktop_header' ) ); add_action( 'astra_above_header', array( $this, 'above_header' ) ); add_action( 'astra_primary_header', array( $this, 'primary_header' ) ); add_action( 'astra_below_header', array( $this, 'below_header' ) ); add_action( 'astra_render_header_column', array( $this, 'render_column' ), 10, 2 ); // Mobile Builder. add_action( 'astra_mobile_header', array( $this, 'mobile_header' ) ); add_action( 'astra_mobile_above_header', array( $this, 'mobile_above_header' ) ); add_action( 'astra_mobile_primary_header', array( $this, 'mobile_primary_header' ) ); add_action( 'astra_mobile_below_header', array( $this, 'mobile_below_header' ) ); add_action( 'astra_render_mobile_header_column', array( $this, 'render_mobile_column' ), 10, 2 ); // Load Off-Canvas Markup on Footer. add_action( 'astra_footer', array( $this, 'mobile_popup' ) ); add_action( 'astra_mobile_header_content', array( $this, 'render_mobile_column' ), 10, 2 ); add_action( 'astra_render_mobile_popup', array( $this, 'render_mobile_column' ), 10, 2 ); for ( $index = 1; $index <= Astra_Builder_Helper::$component_limit; $index++ ) { // Buttons. add_action( 'astra_header_button_' . $index, array( $this, 'button_' . $index ) ); self::$methods[] = 'button_' . $index; // Htmls. add_action( 'astra_header_html_' . $index, array( $this, 'header_html_' . $index ) ); self::$methods[] = 'header_html_' . $index; // Social Icons. add_action( 'astra_header_social_' . $index, array( $this, 'header_social_' . $index ) ); self::$methods[] = 'header_social_' . $index; // Menus. add_action( 'astra_header_menu_' . $index, array( $this, 'menu_' . $index ) ); self::$methods[] = 'menu_' . $index; } add_action( 'astra_mobile_site_identity', self::class . '::site_identity' ); add_action( 'astra_header_search', array( $this, 'header_search' ), 10, 1 ); add_action( 'astra_header_woo_cart', array( $this, 'header_woo_cart' ), 10, 1 ); add_action( 'astra_header_edd_cart', array( $this, 'header_edd_cart' ) ); add_action( 'astra_header_account', array( $this, 'header_account' ) ); add_action( 'astra_header_mobile_trigger', array( $this, 'header_mobile_trigger' ) ); // Load Cart Flyout Markup on Footer. add_action( 'astra_footer', array( $this, 'mobile_cart_flyout' ) ); add_action( 'astra_header_menu_mobile', array( $this, 'header_mobile_menu_markup' ) ); } add_action( 'astra_site_identity', self::class . '::site_identity' ); } /** * Callback when method not exists. * * @param string $func function name. * @param array $params function parameters. */ public function __call( $func, $params ) { if ( in_array( $func, self::$methods, true ) ) { if ( 0 === strpos( $func, 'header_html_' ) ) { Astra_Builder_UI_Controller::render_html_markup( str_replace( '_', '-', $func ) ); } elseif ( 0 === strpos( $func, 'button_' ) ) { $index = (int) substr( $func, strrpos( $func, '_' ) + 1 ); if ( $index ) { Astra_Builder_UI_Controller::render_button( $index, 'header' ); } } elseif ( 0 === strpos( $func, 'menu_' ) ) { $index = (int) substr( $func, strrpos( $func, '_' ) + 1 ); if ( $index ) { Astra_Header_Menu_Component::menu_markup( $index, $params['0'] ); } } elseif ( 0 === strpos( $func, 'header_social_' ) ) { $index = (int) substr( $func, strrpos( $func, '_' ) + 1 ); if ( $index ) { Astra_Builder_UI_Controller::render_social_icon( $index, 'header' ); } } } } /** * Remove complete header Support on basis of meta option. * * @since 3.8.0 * @return void */ public function global_astra_header() { $display = get_post_meta( absint( astra_get_post_id() ), 'ast-global-header-display', true ); $display = apply_filters( 'astra_header_display', $display ); if ( 'disabled' === $display ) { remove_action( 'astra_header', 'astra_header_markup' ); /** @psalm-suppress DocblockTypeContradiction */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( true === Astra_Builder_Helper::$is_header_footer_builder_active ) { // phpcs:ignore PHPCompatibility.Keywords.NewKeywords.t_namespaceFound, PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound remove_action( 'astra_header', array( $this, 'header_builder_markup' ) ); // phpcs:ignore PHPCompatibility.Keywords.NewKeywords.t_namespaceFound, PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound } } } /** * Inherit Header base layout. * Do all actions for header. */ public function header_builder_markup() { do_action( 'astra_header' ); } /** * Remove existing Header to load Header Builder. * * @since 3.0.0 * @return void */ public function remove_existing_actions() { remove_action( 'astra_masthead', 'astra_masthead_primary_template' ); remove_action( 'astra_masthead_content', 'astra_primary_navigation_markup', 10 ); remove_filter( 'wp_page_menu_args', 'astra_masthead_custom_page_menu_items', 10, 2 ); remove_filter( 'wp_nav_menu_items', 'astra_masthead_custom_nav_menu_items' ); } /** * Header Mobile trigger */ public function header_mobile_trigger() { Astra_Builder_UI_Controller::render_mobile_trigger(); } /** * Render WooCommerce Cart. * * @param string $device Either 'mobile' or 'desktop' option. */ public function header_woo_cart( $device = 'desktop' ) { if ( class_exists( 'Astra_Woocommerce' ) ) { echo Astra_Woocommerce::get_instance()->woo_mini_cart_markup( $device ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } /** * Render EDD Cart. */ public function header_edd_cart() { if ( class_exists( 'Easy_Digital_Downloads' ) ) { echo Astra_Edd::get_instance()->edd_mini_cart_markup(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } /** * Render account icon. */ public function header_account() { Astra_Builder_UI_Controller::render_account(); } /** * Render Search icon. * * @param string $device Device name. */ public function header_search( $device = 'desktop' ) { echo astra_get_search( '', $device ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Render site logo. * * @param string $device Device name. */ public static function site_identity( $device = 'desktop' ) { Astra_Builder_UI_Controller::render_site_identity( $device ); } /** * Call component header UI. * * @param string $row row. * @param string $column column. */ public function render_column( $row, $column ) { Astra_Builder_Helper::render_builder_markup( $row, $column, 'desktop', 'header' ); } /** * Render desktop header layout. */ public function desktop_header() { get_template_part( 'template-parts/header/builder/desktop-builder-layout' ); } /** * Call above header UI. */ public function above_header() { $display = is_singular() ? get_post_meta( get_the_ID(), 'ast-hfb-above-header-display', true ) : true; $display = apply_filters( 'astra_above_header_display', $display ); if ( 'disabled' !== $display ) { if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { get_template_part( 'template-parts/header/builder/header', 'row', array( 'row' => 'above', ) ); } else { set_query_var( 'row', 'above' ); get_template_part( 'template-parts/header/builder/header', 'row' ); } } } /** * Call primary header UI. */ public function primary_header() { $display = is_singular() ? get_post_meta( get_the_ID(), 'ast-main-header-display', true ) : true; $display = apply_filters( 'astra_main_header_display', $display ); if ( 'disabled' !== $display ) { if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { get_template_part( 'template-parts/header/builder/header', 'row', array( 'row' => 'primary', ) ); } else { set_query_var( 'row', 'primary' ); get_template_part( 'template-parts/header/builder/header', 'row' ); } } } /** * Call below header UI. */ public function below_header() { $display = is_singular() ? get_post_meta( get_the_ID(), 'ast-hfb-below-header-display', true ) : true; $display = apply_filters( 'astra_below_header_display', $display ); if ( 'disabled' !== $display ) { if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { get_template_part( 'template-parts/header/builder/header', 'row', array( 'row' => 'below', ) ); } else { set_query_var( 'row', 'below' ); get_template_part( 'template-parts/header/builder/header', 'row' ); } } } /** * Call mobile component header UI. * * @param string $row row. * @param string $column column. */ public function render_mobile_column( $row, $column ) { Astra_Builder_Helper::render_builder_markup( $row, $column, 'mobile', 'header' ); } /** * Render Mobile header layout. */ public function mobile_header() { get_template_part( 'template-parts/header/builder/mobile-builder-layout' ); } /** * Call Mobile above header UI. */ public function mobile_above_header() { $display = is_singular() ? get_post_meta( get_the_ID(), 'ast-hfb-mobile-header-display', true ) : true; $display = apply_filters( 'astra_above_mobile_header_display', $display ); if ( 'disabled' !== $display ) { if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { get_template_part( 'template-parts/header/builder/mobile-header', 'row', array( 'row' => 'above', ) ); } else { set_query_var( 'row', 'above' ); get_template_part( 'template-parts/header/builder/mobile-header', 'row' ); } } } /** * Call Mobile primary header UI. */ public function mobile_primary_header() { $display = is_singular() ? get_post_meta( get_the_ID(), 'ast-hfb-mobile-header-display', true ) : true; $display = apply_filters( 'astra_primary_mobile_header_display', $display ); if ( 'disabled' !== $display ) { if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { get_template_part( 'template-parts/header/builder/mobile-header', 'row', array( 'row' => 'primary', ) ); } else { set_query_var( 'row', 'primary' ); get_template_part( 'template-parts/header/builder/mobile-header', 'row' ); } } } /** * Call Mobile below header UI. */ public function mobile_below_header() { $display = is_singular() ? get_post_meta( absint( astra_get_post_id() ), 'ast-hfb-mobile-header-display', true ) : true; $display = apply_filters( 'astra_below_mobile_header_display', $display ); if ( 'disabled' !== $display ) { if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { get_template_part( 'template-parts/header/builder/mobile-header', 'row', array( 'row' => 'below', ) ); } else { set_query_var( 'row', 'below' ); get_template_part( 'template-parts/header/builder/mobile-header', 'row' ); } } } /** * Call Mobile Popup UI. */ public function mobile_popup() { if ( apply_filters( 'astra_disable_mobile_popup_markup', false ) ) { return; } $mobile_header_type = astra_get_option( 'mobile-header-type' ); if ( 'off-canvas' === $mobile_header_type || 'full-width' === $mobile_header_type || is_customize_preview() ) { Astra_Builder_Helper::render_mobile_popup_markup(); } } /** * Call Mobile Menu Markup. * * @param string $device Checking where mobile-menu is dropped. */ public function header_mobile_menu_markup( $device = '' ) { Astra_Mobile_Menu_Component::menu_markup( $device ); } /** * Call Mobile Cart Flyout UI. */ public function mobile_cart_flyout() { // Get the responsive cart click action setting. $responsive_cart_action = astra_get_option( 'responsive-cart-click-action' ); $desktop_cart_action = astra_get_option( 'woo-header-cart-click-action' ); // Hide cart flyout only if current page is checkout/cart or if redirect option is selected. if ( ( Astra_Builder_Helper::is_component_loaded( 'woo-cart', 'header' ) && class_exists( 'WooCommerce' ) && ! is_cart() && ! is_checkout() && ( 'redirect' !== $responsive_cart_action || // Prevent flyout markup when 'redirect' option is selected. 'redirect' !== $desktop_cart_action ) ) || Astra_Builder_Helper::is_component_loaded( 'edd-cart', 'header' ) ) { Astra_Builder_UI_Controller::render_mobile_cart_flyout_markup(); } } /** * Add Body Classes * * @param array $classes Body Class Array. * @return array */ public function add_body_class( $classes ) { $classes[] = 'ast-hfb-header'; if ( defined( 'ASTRA_EXT_VER' ) && version_compare( ASTRA_EXT_VER, '3.2.0', '<' ) ) { $classes[] = 'astra-hfb-header'; } return $classes; } } /** * Prepare if class 'Astra_Builder_Header' exist. * Kicking this off by calling 'get_instance()' method */ Astra_Builder_Header::get_instance(); } type/base/dynamic-css/social/class-astra-social-component-dynamic-css.php 0000644 00000054272 15105312163 0022540 0 ustar 00 <?php /** * Astra Social Component Dynamic CSS. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Register Builder Dynamic CSS. * * @since 3.0.0 */ class Astra_Social_Component_Dynamic_CSS { /** * Dynamic CSS * * @param string $builder_type Builder Type. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ public static function astra_social_dynamic_css( $builder_type = 'header' ) { $generated_css = ''; $social_css_flag = false; $number_of_social_icons = 'header' === $builder_type ? Astra_Builder_Helper::$num_of_header_social_icons : Astra_Builder_Helper::$num_of_footer_social_icons; for ( $index = 1; $index <= $number_of_social_icons; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'social-icons-' . $index, $builder_type ) ) { continue; } $social_css_flag = true; $selector = '.ast-' . $builder_type . '-social-' . $index . '-wrap'; $_section = 'header' === $builder_type ? 'section-hb-social-icons-' . $index : 'section-fb-social-icons-' . $index; $icon_spacing = astra_get_option( $builder_type . '-social-' . $index . '-space' ); $icon_bg_spacing = astra_get_option( $builder_type . '-social-' . $index . '-bg-space' ); $icon_size = astra_get_option( $builder_type . '-social-' . $index . '-size' ); $icon_radius_fields = astra_get_option( $builder_type . '-social-' . $index . '-radius-fields' ); $icon_spacing_desktop = isset( $icon_spacing['desktop'] ) && '' !== $icon_spacing['desktop'] ? (int) $icon_spacing['desktop'] / 2 : ''; $icon_spacing_tablet = isset( $icon_spacing['tablet'] ) && '' !== $icon_spacing['tablet'] ? (int) $icon_spacing['tablet'] / 2 : ''; $icon_spacing_mobile = isset( $icon_spacing['mobile'] ) && '' !== $icon_spacing['mobile'] ? (int) $icon_spacing['mobile'] / 2 : ''; $icon_size_desktop = isset( $icon_size['desktop'] ) && '' !== $icon_size['desktop'] ? (int) $icon_size['desktop'] : ''; $icon_size_tablet = isset( $icon_size['tablet'] ) && '' !== $icon_size['tablet'] ? (int) $icon_size['tablet'] : ''; $icon_size_mobile = isset( $icon_size['mobile'] ) && '' !== $icon_size['mobile'] ? (int) $icon_size['mobile'] : ''; $icon_bg_spacing = isset( $icon_bg_spacing ) && '' !== $icon_bg_spacing ? (int) $icon_bg_spacing : ''; // Normal Responsive Colors. $color_type = astra_get_option( $builder_type . '-social-' . $index . '-color-type' ); $toggle_brand_hover = astra_get_option( $builder_type . '-social-' . $index . '-brand-hover-toggle' ); $social_icons_brand_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-brand-color' ), 'desktop' ); $social_icons_brand_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-brand-color' ), 'tablet' ); $social_icons_brand_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-brand-color' ), 'mobile' ); $social_label_brand_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-brand-label-color' ), 'desktop' ); $social_label_icons_brand_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-brand-label-color' ), 'tablet' ); $social_label_icons_brand_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-brand-label-color' ), 'mobile' ); $social_icons_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-color' ), 'desktop' ); $social_icons_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-color' ), 'tablet' ); $social_icons_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-color' ), 'mobile' ); // Hover Responsive Colors. $social_icons_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-h-color' ), 'desktop' ); $social_icons_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-h-color' ), 'tablet' ); $social_icons_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-h-color' ), 'mobile' ); // Normal Responsive Bg Colors. $social_icons_bg_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-color' ), 'desktop' ); $social_icons_bg_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-color' ), 'tablet' ); $social_icons_bg_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-color' ), 'mobile' ); // Hover Responsive Bg Colors. $social_icons_h_bg_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-h-color' ), 'desktop' ); $social_icons_h_bg_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-h-color' ), 'tablet' ); $social_icons_h_bg_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-h-color' ), 'mobile' ); // Normal Responsive Label Colors. $social_icons_label_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-color' ), 'desktop' ); $social_icons_label_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-color' ), 'tablet' ); $social_icons_label_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-color' ), 'mobile' ); // Hover Responsive Label Colors. $social_icons_label_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-h-color' ), 'desktop' ); $social_icons_label_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-h-color' ), 'tablet' ); $social_icons_label_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-h-color' ), 'mobile' ); $margin = astra_get_option( $_section . '-margin' ); /** * Social Icon CSS. */ $css_output_desktop = array( $selector . ' .ast-builder-social-element,' . $selector . ' .social-show-label-true .ast-builder-social-element' => array( // Icon Spacing. 'margin-left' => astra_get_css_value( $icon_spacing_desktop, 'px' ), 'margin-right' => astra_get_css_value( $icon_spacing_desktop, 'px' ), // Icon Background Space. 'padding' => astra_get_css_value( $icon_bg_spacing, 'px' ), // Icon Radius. 'border-top-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'top', 'desktop' ), 'border-top-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'right', 'desktop' ), 'border-bottom-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'bottom', 'desktop' ), 'border-bottom-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'left', 'desktop' ), ), $selector . ' .ast-builder-social-element svg' => array( // Icon Size. 'width' => astra_get_css_value( $icon_size_desktop, 'px' ), 'height' => astra_get_css_value( $icon_size_desktop, 'px' ), ), $selector . ' .ast-social-icon-image-wrap' => array( // Icon Background Space. 'margin' => astra_get_css_value( $icon_bg_spacing, 'px' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); if ( 'custom' === $color_type || is_customize_preview() ) { $css_output_desktop[ $selector . ' .ast-social-color-type-custom svg' ]['fill'] = $social_icons_color_desktop; $css_output_desktop[ $selector . ' .ast-builder-social-element' ]['background'] = $social_icons_bg_color_desktop; $css_output_desktop[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover' ] = array( // Hover. 'color' => $social_icons_h_color_desktop, 'background' => $social_icons_h_bg_color_desktop, ); $css_output_desktop[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover svg' ] = array( 'fill' => $social_icons_h_color_desktop, ); if ( isset( $social_icons_label_color_desktop ) && ! empty( $social_icons_label_color_desktop ) ) { $css_output_desktop[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_label_color_desktop; } else { $css_output_desktop[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_color_desktop; } if ( isset( $social_icons_label_h_color_desktop ) && ! empty( $social_icons_label_h_color_desktop ) ) { $css_output_desktop[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_label_h_color_desktop; } else { $css_output_desktop[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_h_color_desktop; } } if ( 'official' === $color_type && false === $toggle_brand_hover ) { $css_output_desktop['.ast-social-color-type-official .ast-builder-social-element, .ast-social-color-type-official .social-item-label'] = array( 'color' => 'var(--color)', 'background-color' => 'var(--background-color)', ); $css_output_desktop['.header-social-inner-wrap.ast-social-color-type-official .ast-builder-social-element svg, .footer-social-inner-wrap.ast-social-color-type-official .ast-builder-social-element svg'] = array( 'fill' => 'currentColor', ); } if ( 'official' === $color_type && true === $toggle_brand_hover ) { $css_output_desktop['.ast-social-color-type-official .ast-builder-social-element:hover, .ast-social-color-type-official .ast-builder-social-element:hover .social-item-label'] = array( 'color' => 'var(--color)', 'background-color' => 'var(--background-color)', ); $css_output_desktop['.header-social-inner-wrap.ast-social-color-type-official .ast-builder-social-element:hover svg, .footer-social-inner-wrap.ast-social-color-type-official .ast-builder-social-element:hover svg'] = array( 'fill' => 'currentColor', ); $css_output_desktop[ $selector . ' .ast-social-color-type-official .ast-builder-social-element svg' ]['fill'] = $social_icons_brand_color_desktop; if ( isset( $social_label_brand_color_desktop ) && ! empty( $social_label_brand_color_desktop ) ) { $css_output_desktop[ $selector . ' .ast-social-color-type-official .social-item-label' ]['color'] = $social_label_brand_color_desktop; } else { $css_output_desktop[ $selector . ' .ast-social-color-type-official .social-item-label' ]['color'] = $social_icons_brand_color_desktop; } } /** * Social_icons CSS. */ $css_output_tablet = array( $selector . ' .ast-builder-social-element svg' => array( // Icon Size. 'width' => astra_get_css_value( $icon_size_tablet, 'px' ), 'height' => astra_get_css_value( $icon_size_tablet, 'px' ), ), $selector . ' .ast-builder-social-element' => array( // Icon Spacing. 'margin-left' => astra_get_css_value( $icon_spacing_tablet, 'px' ), 'margin-right' => astra_get_css_value( $icon_spacing_tablet, 'px' ), // Border Radius. 'border-top-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'top', 'tablet' ), 'border-top-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'right', 'tablet' ), 'border-bottom-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'bottom', 'tablet' ), 'border-bottom-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'left', 'tablet' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); if ( 'custom' === $color_type || is_customize_preview() ) { $css_output_tablet[ $selector . ' .ast-social-color-type-custom svg' ]['fill'] = $social_icons_color_tablet; $css_output_tablet[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element' ]['background'] = $social_icons_bg_color_tablet; $css_output_tablet[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover' ] = array( // Hover. 'color' => $social_icons_h_color_tablet, 'background' => $social_icons_h_bg_color_tablet, ); $css_output_tablet[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover svg' ] = array( 'fill' => $social_icons_h_color_tablet, ); if ( isset( $social_icons_label_color_tablet ) && ! empty( $social_icons_label_color_tablet ) ) { $css_output_tablet[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_label_color_tablet; } else { $css_output_tablet[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_color_tablet; } if ( isset( $social_icons_label_h_color_tablet ) && ! empty( $social_icons_label_h_color_tablet ) ) { $css_output_tablet[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_label_h_color_tablet; } else { $css_output_tablet[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_h_color_tablet; } } if ( 'official' === $color_type && true === $toggle_brand_hover ) { $css_output_tablet[ $selector . ' .ast-social-color-type-official svg' ]['fill'] = $social_icons_brand_color_tablet; if ( isset( $social_label_icons_brand_color_tablet ) && ! empty( $social_label_icons_brand_color_tablet ) ) { $css_output_tablet[ $selector . ' .ast-social-color-type-official .social-item-label' ]['color'] = $social_icons_label_color_tablet; } else { $css_output_tablet[ $selector . ' .ast-social-color-type-official .social-item-label' ]['color'] = $social_icons_brand_color_tablet; } } /** * Social_icons CSS. */ $css_output_mobile = array( $selector . ' .ast-builder-social-element svg' => array( // Icon Size. 'width' => astra_get_css_value( $icon_size_mobile, 'px' ), 'height' => astra_get_css_value( $icon_size_mobile, 'px' ), ), $selector . ' .ast-builder-social-element' => array( // Icon Spacing. 'margin-left' => astra_get_css_value( $icon_spacing_mobile, 'px' ), 'margin-right' => astra_get_css_value( $icon_spacing_mobile, 'px' ), // Border Radius. 'border-top-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'top', 'mobile' ), 'border-top-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'right', 'mobile' ), 'border-bottom-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'bottom', 'mobile' ), 'border-bottom-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'left', 'mobile' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); if ( 'custom' === $color_type || is_customize_preview() ) { $css_output_mobile[ $selector . ' .ast-social-color-type-custom svg' ]['fill'] = $social_icons_color_mobile; $css_output_mobile[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element' ]['background'] = $social_icons_bg_color_mobile; $css_output_mobile[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover' ] = array( // Hover. 'color' => $social_icons_h_color_mobile, 'background' => $social_icons_h_bg_color_mobile, ); $css_output_mobile[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover svg' ] = array( 'fill' => $social_icons_h_color_mobile, ); if ( isset( $social_icons_label_color_mobile ) && ! empty( $social_icons_label_color_mobile ) ) { $css_output_mobile[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_label_color_mobile; } else { $css_output_mobile[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_color_mobile; } if ( isset( $social_icons_label_h_color_mobile ) && ! empty( $social_icons_label_h_color_mobile ) ) { $css_output_mobile[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_label_h_color_mobile; } else { $css_output_mobile[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_h_color_mobile; } } if ( 'official' === $color_type && true === $toggle_brand_hover ) { $css_output_mobile[ $selector . ' .ast-social-color-type-official svg' ]['fill'] = $social_icons_brand_color_mobile; if ( isset( $social_label_icons_brand_color_mobile ) && ! empty( $social_label_icons_brand_color_mobile ) ) { $css_output_mobile[ $selector . ' .ast-social-color-type-official .social-item-label' ]['color'] = $social_label_icons_brand_color_mobile; } else { $css_output_mobile[ $selector . ' .ast-social-color-type-official .social-item-label' ]['color'] = $social_icons_brand_color_mobile; } } if ( 'footer' === $builder_type ) { // Footer Social Alignment CSS. $alignment = astra_get_option( 'footer-social-' . $index . '-alignment' ); $desktop_alignment = isset( $alignment['desktop'] ) ? $alignment['desktop'] : ''; $tablet_alignment = isset( $alignment['tablet'] ) ? $alignment['tablet'] : ''; $mobile_alignment = isset( $alignment['mobile'] ) ? $alignment['mobile'] : ''; $css_output_desktop[ '[data-section="section-fb-social-icons-' . $index . '"] .footer-social-inner-wrap' ] = array( 'text-align' => $desktop_alignment, ); $css_output_tablet[ '[data-section="section-fb-social-icons-' . $index . '"] .footer-social-inner-wrap' ] = array( 'text-align' => $tablet_alignment, ); $css_output_mobile[ '[data-section="section-fb-social-icons-' . $index . '"] .footer-social-inner-wrap' ] = array( 'text-align' => $mobile_alignment, ); } /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $css_output .= Astra_Builder_Base_Dynamic_CSS::prepare_advanced_typography_css( $_section, $selector ); $visibility_selector = '.ast-builder-layout-element[data-section="' . $_section . '"]'; $css_output .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $visibility_selector ); $generated_css .= $css_output; } if ( $social_css_flag ) { return self::get_social_static_css() . $generated_css; } return $generated_css; } /** * Load Social default css. * * @since 3.0.0 */ public static function get_social_static_css() { $social_static_css = ' .ast-social-stack-desktop .ast-builder-social-element, .ast-social-stack-tablet .ast-builder-social-element, .ast-social-stack-mobile .ast-builder-social-element { margin-top: 6px; margin-bottom: 6px; } .social-show-label-true .ast-builder-social-element { width: auto; padding: 0 0.4em; } [data-section^="section-fb-social-icons-"] .footer-social-inner-wrap { text-align: center; } .ast-footer-social-wrap { width: 100%; }'; if ( is_rtl() ) { $social_static_css .= '.ast-footer-social-wrap .ast-builder-social-element:first-child { margin-right: 0; } .ast-footer-social-wrap .ast-builder-social-element:last-child { margin-left: 0; } .ast-header-social-wrap .ast-builder-social-element:first-child { margin-right: 0; } .ast-header-social-wrap .ast-builder-social-element:last-child { margin-left: 0; } .ast-builder-social-element { line-height: 1; color: #3a3a3a; background: transparent; vertical-align: middle; transition: all 0.01s; margin-right: 6px; margin-left: 6px; justify-content: center; align-items: center; } .ast-builder-social-element { line-height: 1; color: #3a3a3a; background: transparent; vertical-align: middle; transition: all 0.01s; margin-right: 6px; margin-left: 6px; justify-content: center; align-items: center; } .ast-builder-social-element .social-item-label { padding-right: 6px; }'; } else { $social_static_css .= '.ast-footer-social-wrap .ast-builder-social-element:first-child { margin-left: 0; } .ast-footer-social-wrap .ast-builder-social-element:last-child { margin-right: 0; } .ast-header-social-wrap .ast-builder-social-element:first-child { margin-left: 0; } .ast-header-social-wrap .ast-builder-social-element:last-child { margin-right: 0; } .ast-builder-social-element { line-height: 1; color: var(--ast-global-color-2); background: transparent; vertical-align: middle; transition: all 0.01s; margin-left: 6px; margin-right: 6px; justify-content: center; align-items: center; } .ast-builder-social-element .social-item-label { padding-left: 6px; }'; } return Astra_Enqueue_Scripts::trim_css( $social_static_css ); } } /** * Kicking this off by creating object of this class. */ new Astra_Social_Component_Dynamic_CSS(); type/base/dynamic-css/widget/class-astra-widget-component-dynamic-css.php 0000644 00000017350 15105312163 0022556 0 ustar 00 <?php /** * Astra Widget Component Dynamic CSS. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Register Builder Dynamic CSS. * * @since 3.0.0 */ class Astra_Widget_Component_Dynamic_CSS { /** * Dynamic CSS * * @param string $builder_type Builder Type. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ public static function astra_widget_dynamic_css( $builder_type = 'header' ) { $generated_css = ''; $no_of_widgets = 'header' === $builder_type ? Astra_Builder_Helper::$num_of_header_widgets : Astra_Builder_Helper::$num_of_footer_widgets; for ( $index = 1; $index <= $no_of_widgets; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'widget-' . $index, $builder_type ) ) { continue; } $_section = ! astra_has_widgets_block_editor() ? 'sidebar-widgets-' . $builder_type . '-widget-' . $index : 'astra-sidebar-widgets-' . $builder_type . '-widget-' . $index; $selector = '.' . $builder_type . '-widget-area[data-section="sidebar-widgets-' . $builder_type . '-widget-' . $index . '"]'; $margin = astra_get_option( $_section . '-margin' ); /** * Copyright CSS. */ if ( Astra_Builder_Helper::apply_flex_based_css() ) { $builder_widget_selector = $selector . '.' . $builder_type . '-widget-area-inner'; } else { $builder_widget_selector = $selector . ' .' . $builder_type . '-widget-area-inner'; } $title_font_size = astra_get_option( $builder_type . '-widget-' . $index . '-font-size' ); $content_font_size = astra_get_option( $builder_type . '-widget-' . $index . '-content-font-size' ); $title_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-title-color' ), 'desktop' ); $title_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-title-color' ), 'tablet' ); $title_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-title-color' ), 'mobile' ); $text_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-color' ), 'desktop' ); $text_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-color' ), 'tablet' ); $text_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-color' ), 'mobile' ); $link_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-color' ), 'desktop' ); $link_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-color' ), 'tablet' ); $link_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-color' ), 'mobile' ); $link_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-h-color' ), 'desktop' ); $link_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-h-color' ), 'tablet' ); $link_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-h-color' ), 'mobile' ); $css_output_desktop = array( $builder_widget_selector => array( 'color' => $text_color_desktop, // Typography. 'font-size' => astra_responsive_font( $content_font_size, 'desktop' ), ), $builder_widget_selector . ' a' => array( 'color' => $link_color_desktop, ), $builder_widget_selector . ' a:hover' => array( 'color' => $link_h_color_desktop, ), $selector . ' .widget-title, ' . $selector . ' h1, ' . $selector . ' .widget-area h1, ' . $selector . ' h2, ' . $selector . ' .widget-area h2, ' . $selector . ' h3, ' . $selector . ' .widget-area h3, ' . $selector . ' h4, ' . $selector . ' .widget-area h4, ' . $selector . ' h5, ' . $selector . ' .widget-area h5, ' . $selector . ' h6, ' . $selector . ' .widget-area h6' => array( 'color' => $title_color_desktop, 'font-size' => astra_responsive_font( $title_font_size, 'desktop' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); $css_output_tablet = array( $builder_widget_selector => array( 'color' => $text_color_tablet, // Typography. 'font-size' => astra_responsive_font( $content_font_size, 'tablet' ), ), $selector . ' .widget-title, ' . $selector . ' h1, ' . $selector . ' .widget-area h1, ' . $selector . ' h2, ' . $selector . ' .widget-area h2, ' . $selector . ' h3, ' . $selector . ' .widget-area h3, ' . $selector . ' h4, ' . $selector . ' .widget-area h4, ' . $selector . ' h5, ' . $selector . ' .widget-area h5, ' . $selector . ' h6, ' . $selector . ' .widget-area h6' => array( 'color' => $title_color_tablet, 'font-size' => astra_responsive_font( $title_font_size, 'tablet' ), ), $builder_widget_selector . ' a' => array( 'color' => $link_color_tablet, ), $builder_widget_selector . ' a:hover' => array( 'color' => $link_h_color_tablet, ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); $css_output_mobile = array( $builder_widget_selector => array( 'color' => $text_color_mobile, // Typography. 'font-size' => astra_responsive_font( $content_font_size, 'mobile' ), ), $selector . ' .widget-title, ' . $selector . ' h1, ' . $selector . ' .widget-area h1, ' . $selector . ' h2, ' . $selector . ' .widget-area h2, ' . $selector . ' h3, ' . $selector . ' .widget-area h3, ' . $selector . ' h4, ' . $selector . ' .widget-area h4, ' . $selector . ' h5, ' . $selector . ' .widget-area h5, ' . $selector . ' h6, ' . $selector . ' .widget-area h6' => array( 'color' => $title_color_mobile, 'font-size' => astra_responsive_font( $title_font_size, 'mobile' ), ), $builder_widget_selector . ' a' => array( 'color' => $link_color_mobile, ), $builder_widget_selector . ' a:hover' => array( 'color' => $link_h_color_mobile, ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $css_output .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector, 'block' ); $generated_css .= $css_output; } return $generated_css; } } /** * Kicking this off by creating object of this class. */ new Astra_Widget_Component_Dynamic_CSS(); type/base/dynamic-css/html/class-astra-html-component-dynamic-css.php 0000644 00000014343 15105312163 0021717 0 ustar 00 <?php /** * Astra HTML Component Dynamic CSS. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Register Builder Dynamic CSS. * * @since 3.0.0 */ class Astra_Html_Component_Dynamic_CSS { /** * Dynamic CSS * * @param string $builder_type Builder Type. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ public static function astra_html_dynamic_css( $builder_type = 'header' ) { $generated_css = ''; $html_css_flag = false; $number_of_html = 'header' === $builder_type ? Astra_Builder_Helper::$num_of_header_html : Astra_Builder_Helper::$num_of_footer_html; for ( $index = 1; $index <= $number_of_html; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'html-' . $index, $builder_type ) ) { continue; } $html_css_flag = true; $_section = 'header' === $builder_type ? 'section-hb-html-' . $index : 'section-fb-html-' . $index; $margin = astra_get_option( $_section . '-margin' ); $font_size = astra_get_option( 'font-size-' . $_section ); $text_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'color' ), 'desktop' ); $text_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'color' ), 'tablet' ); $text_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'color' ), 'mobile' ); $link_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-color' ), 'desktop' ); $link_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-color' ), 'tablet' ); $link_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-color' ), 'mobile' ); $link_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-h-color' ), 'desktop' ); $link_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-h-color' ), 'tablet' ); $link_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-h-color' ), 'mobile' ); $selector = 'header' === $builder_type ? '.ast-header-html-' . $index : '.footer-widget-area[data-section="section-fb-html-' . $index . '"]'; $display_prop = 'header' === $builder_type ? 'flex' : 'block'; $css_output_desktop = array( $selector . ' .ast-builder-html-element' => array( 'color' => $text_color_desktop, // Typography. 'font-size' => astra_responsive_font( $font_size, 'desktop' ), ), $selector => array( // Margin. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), // Link Color. $selector . ' a' => array( 'color' => $link_color_desktop, ), // Link Hover Color. $selector . ' a:hover' => array( 'color' => $link_h_color_desktop, ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); // Tablet CSS. $css_output_tablet = array( $selector . ' .ast-builder-html-element' => array( 'color' => $text_color_tablet, // Typography. 'font-size' => astra_responsive_font( $font_size, 'tablet' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), // Link Color. $selector . ' a' => array( 'color' => $link_color_tablet, ), // Link Hover Color. $selector . ' a:hover' => array( 'color' => $link_h_color_tablet, ), ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); // Mobile CSS. $css_output_mobile = array( $selector . ' .ast-builder-html-element' => array( 'color' => $text_color_mobile, // Typography. 'font-size' => astra_responsive_font( $font_size, 'mobile' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), // Link Color. $selector . ' a' => array( 'color' => $link_color_mobile, ), // Link Hover Color. $selector . ' a:hover' => array( 'color' => $link_h_color_mobile, ), ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $generated_css .= $css_output; $generated_css .= Astra_Builder_Base_Dynamic_CSS::prepare_advanced_typography_css( $_section, $selector ); $generated_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector, $display_prop ); } if ( true === $html_css_flag ) { $html_static_css = array( '.ast-builder-html-element img.alignnone' => array( 'display' => 'inline-block', ), '.ast-builder-html-element p:first-child' => array( 'margin-top' => '0', ), '.ast-builder-html-element p:last-child' => array( 'margin-bottom' => '0', ), '.ast-header-break-point .main-header-bar .ast-builder-html-element' => array( 'line-height' => '1.85714285714286', ), ); return astra_parse_css( $html_static_css ) . $generated_css; } return $generated_css; } } /** * Kicking this off by creating object of this class. */ new Astra_Html_Component_Dynamic_CSS(); type/base/dynamic-css/button/class-astra-button-component-dynamic-css.php 0000644 00000023402 15105312163 0022631 0 ustar 00 <?php /** * Astra Button Component Dynamic CSS. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Register Builder Dynamic CSS. * * @since 3.0.0 */ class Astra_Button_Component_Dynamic_CSS { /** * Dynamic CSS * * @param string $builder_type Builder Type. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ public static function astra_button_dynamic_css( $builder_type = 'header' ) { $generated_css = ''; $number_of_button = 'header' === $builder_type ? Astra_Builder_Helper::$num_of_header_button : Astra_Builder_Helper::$num_of_footer_button; $hb_button_flag = false; for ( $index = 1; $index <= $number_of_button; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'button-' . $index, $builder_type ) ) { continue; } $hb_button_flag = 'header' === $builder_type ? true : false; $_section = 'header' === $builder_type ? 'section-hb-button-' . $index : 'section-fb-button-' . $index; $context = 'header' === $builder_type ? 'hb' : 'fb'; $_prefix = 'button' . $index; $selector = '.ast-' . $builder_type . '-button-' . $index; $button_font_size = astra_get_option( $builder_type . '-' . $_prefix . '-font-size' ); $button_border_width = astra_get_option( $builder_type . '-' . $_prefix . '-border-size' ); $button_border_radius_fields = astra_get_option( $builder_type . '-' . $_prefix . '-border-radius-fields' ); // Normal Responsive Colors. $button_bg_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-back-color' ), 'desktop' ); $button_bg_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-back-color' ), 'tablet' ); $button_bg_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-back-color' ), 'mobile' ); $button_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-text-color' ), 'desktop' ); $button_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-text-color' ), 'tablet' ); $button_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-text-color' ), 'mobile' ); // Hover Responsive Colors. $button_bg_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-back-h-color' ), 'desktop' ); $button_bg_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-back-h-color' ), 'tablet' ); $button_bg_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-back-h-color' ), 'mobile' ); $button_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-text-h-color' ), 'desktop' ); $button_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-text-h-color' ), 'tablet' ); $button_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-text-h-color' ), 'mobile' ); // Normal Responsive Colors. $button_border_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-border-color' ), 'desktop' ); $button_border_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-border-color' ), 'tablet' ); $button_border_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-border-color' ), 'mobile' ); // Hover Responsive Colors. $button_border_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-border-h-color' ), 'desktop' ); $button_border_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-border-h-color' ), 'tablet' ); $button_border_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-' . $_prefix . '-border-h-color' ), 'mobile' ); /** * Button CSS. */ $css_output_desktop = array( /** * Button font size. */ $selector . '[data-section*="section-' . $context . '-button-"] .ast-builder-button-wrap .ast-custom-button' => astra_get_font_array_css( astra_get_option( $builder_type . '-' . $_prefix . '-font-family', 'inherit' ), astra_get_option( $builder_type . '-' . $_prefix . '-font-weight', 'inherit' ), $button_font_size, $builder_type . '-' . $_prefix . '-font-extras' ), /** * Button Colors. */ $selector . ' .ast-custom-button' => array( // Colors. 'color' => $button_color_desktop, 'background' => $button_bg_color_desktop, // Border. 'border-color' => $button_border_color_desktop, 'border-top-width' => astra_get_css_value( $button_border_width['top'], 'px' ), 'border-bottom-width' => astra_get_css_value( $button_border_width['bottom'], 'px' ), 'border-left-width' => astra_get_css_value( $button_border_width['left'], 'px' ), 'border-right-width' => astra_get_css_value( $button_border_width['right'], 'px' ), 'border-top-left-radius' => astra_responsive_spacing( $button_border_radius_fields, 'top', 'desktop' ), 'border-top-right-radius' => astra_responsive_spacing( $button_border_radius_fields, 'right', 'desktop' ), 'border-bottom-right-radius' => astra_responsive_spacing( $button_border_radius_fields, 'bottom', 'desktop' ), 'border-bottom-left-radius' => astra_responsive_spacing( $button_border_radius_fields, 'left', 'desktop' ), ), // Hover & Focus Options. $selector . ' .ast-custom-button:hover' => array( 'color' => $button_h_color_desktop, 'background' => $button_bg_h_color_desktop, 'border-color' => $button_border_h_color_desktop, ), ); /** * Button CSS. */ $css_output_tablet = array( /** * Button font size. */ $selector . '[data-section*="section-' . $context . '-button-"] .ast-builder-button-wrap .ast-custom-button' => array( // Typography. 'font-size' => astra_responsive_font( $button_font_size, 'tablet' ), ), /** * Button Colors. */ $selector . ' .ast-custom-button' => array( // Typography. 'font-size' => astra_responsive_font( $button_font_size, 'tablet' ), // Colors. 'color' => $button_color_tablet, 'background' => $button_bg_color_tablet, 'border-color' => $button_border_color_tablet, 'border-top-left-radius' => astra_responsive_spacing( $button_border_radius_fields, 'top', 'tablet' ), 'border-top-right-radius' => astra_responsive_spacing( $button_border_radius_fields, 'right', 'tablet' ), 'border-bottom-right-radius' => astra_responsive_spacing( $button_border_radius_fields, 'bottom', 'tablet' ), 'border-bottom-left-radius' => astra_responsive_spacing( $button_border_radius_fields, 'left', 'tablet' ), ), // Hover & Focus Options. $selector . ' .ast-custom-button:hover' => array( 'color' => $button_h_color_tablet, 'background' => $button_bg_h_color_tablet, 'border-color' => $button_border_h_color_tablet, ), ); /** * Button CSS. */ $css_output_mobile = array( /** * Button font size. */ $selector . '[data-section*="section-' . $context . '-button-"] .ast-builder-button-wrap .ast-custom-button' => array( // Typography. 'font-size' => astra_responsive_font( $button_font_size, 'mobile' ), ), /** * Button Colors. */ $selector . ' .ast-custom-button' => array( // Typography. 'font-size' => astra_responsive_font( $button_font_size, 'mobile' ), // Colors. 'color' => $button_color_mobile, 'background' => $button_bg_color_mobile, 'border-color' => $button_border_color_mobile, 'border-top-left-radius' => astra_responsive_spacing( $button_border_radius_fields, 'top', 'mobile' ), 'border-top-right-radius' => astra_responsive_spacing( $button_border_radius_fields, 'right', 'mobile' ), 'border-bottom-right-radius' => astra_responsive_spacing( $button_border_radius_fields, 'bottom', 'mobile' ), 'border-bottom-left-radius' => astra_responsive_spacing( $button_border_radius_fields, 'left', 'mobile' ), ), // Hover & Focus Options. $selector . ' .ast-custom-button:hover' => array( 'color' => $button_h_color_mobile, 'background' => $button_bg_h_color_mobile, 'border-color' => $button_border_h_color_mobile, ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $generated_css .= $css_output; $generated_css .= Astra_Extended_Base_Dynamic_CSS::prepare_advanced_margin_padding_css( $_section, $selector . '[data-section*="section-' . $context . '-button-"] .ast-builder-button-wrap .ast-custom-button' ); $visibility_selector = '.ast-' . $builder_type . '-button-' . $index . '[data-section="' . $_section . '"]'; $generated_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $visibility_selector ); } if ( true === $hb_button_flag ) { $static_hb_css = array( '[data-section*="section-hb-button-"] .menu-link' => array( 'display' => 'none', ), ); return astra_parse_css( $static_hb_css ) . $generated_css; } return $generated_css; } } /** * Kicking this off by creating object of this class. */ new Astra_Button_Component_Dynamic_CSS(); type/base/assets/js/customizer-preview.js 0000644 00000103242 15105312163 0014575 0 ustar 00 /** * HTML Component CSS. * * @param string builder_type Builder Type. * @param string html_count HTML Count. * */ function astra_builder_html_css( builder_type = 'header', html_count ) { for ( var index = 1; index <= html_count; index++ ) { let selector = ( 'header' === builder_type ) ? '.ast-header-html-' + index : '.footer-widget-area[data-section="section-fb-html-' + index + '"]'; let section = ( 'header' === builder_type ) ? 'section-hb-html-' + index : 'section-fb-html-' + index; var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; // HTML color. astra_color_responsive_css( builder_type + '-html-' + index + '-color', 'astra-settings[' + builder_type + '-html-' + index + 'color]', 'color', selector + ' .ast-builder-html-element' ); // Link color. astra_color_responsive_css( builder_type + '-html-' + index + '-l-color', 'astra-settings[' + builder_type + '-html-' + index + 'link-color]', 'color', selector + ' .ast-builder-html-element a' ); // Link Hover color. astra_color_responsive_css( builder_type + '-html-' + index + '-l-h-color', 'astra-settings[' + builder_type + '-html-' + index + 'link-h-color]', 'color', selector + ' .ast-builder-html-element a:hover' ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector, 'block' ); // Margin. wp.customize( 'astra-settings[' + section + '-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( section + '-margin-toggle-button', dynamicStyle ); } } ); } ); // Typography CSS Generation. astra_responsive_font_size( 'astra-settings[font-size-' + section + ']', selector + ' .ast-builder-html-element' ); } } /** * Button Component CSS. * * @param string builder_type Builder Type. * @param string button_count Button Count. * */ function astra_builder_button_css( builder_type = 'header', button_count ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; for ( var index = 1; index <= button_count; index++ ) { var section = ( 'header' === builder_type ) ? 'section-hb-button-' + index : 'section-fb-button-' + index; var context = ( 'header' === builder_type ) ? 'hb' : 'fb'; var prefix = 'button' + index; var selector = '.ast-' + builder_type + '-button-' + index + ' .ast-builder-button-wrap'; var button_selector = '.ast-' + builder_type + '-button-' + index + '[data-section*="section-' + context + '-button-"] .ast-builder-button-wrap'; astra_css( 'flex', 'display', '.ast-' + builder_type + '-button-' + index + '[data-section="' + section + '"]' ); // Button Text Color. astra_color_responsive_css( context + '-button-color', 'astra-settings[' + builder_type + '-' + prefix + '-text-color]', 'color', selector + ' .ast-custom-button' ); astra_color_responsive_css( context + '-button-color-h', 'astra-settings[' + builder_type + '-' + prefix + '-text-h-color]', 'color', selector + ':hover .ast-custom-button' ); // Button Background Color. astra_color_responsive_css( context + '-button-bg-color', 'astra-settings[' + builder_type + '-' + prefix + '-back-color]', 'background-color', selector + ' .ast-custom-button' ); astra_color_responsive_css( context + '-button-bg-color-h', 'astra-settings[' + builder_type + '-' + prefix + '-back-h-color]', 'background-color', selector + ':hover .ast-custom-button' ); // Button Typography. astra_responsive_font_size( 'astra-settings[' + builder_type + '-' + prefix + '-font-size]', button_selector + ' .ast-custom-button' ); astra_generate_outside_font_family_css( 'astra-settings[' + builder_type + '-' + prefix + '-font-family]', button_selector + ' .ast-custom-button' ); astra_generate_font_weight_css( 'astra-settings[' + builder_type + '-' + prefix + '-font-family]', 'astra-settings[' + builder_type + '-' + prefix + '-font-weight]', 'font-weight', button_selector + ' .ast-custom-button' ); astra_font_extras_css( builder_type + '-' + prefix + '-font-extras', button_selector + ' .ast-custom-button' ); // Border Color. astra_color_responsive_css( context + '-button-border-color', 'astra-settings[' + builder_type + '-' + prefix + '-border-color]', 'border-color', selector + ' .ast-custom-button' ); astra_color_responsive_css( context + '-button-border-color-h', 'astra-settings[' + builder_type + '-' + prefix + '-border-h-color]', 'border-color', selector + ' .ast-custom-button:hover' ); // Advanced CSS Generation. astra_builder_advanced_css( section, button_selector + ' .ast-custom-button' ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector, 'block' ); (function (index) { // Builder Type Border Radius Fields wp.customize('astra-settings[' + builder_type + '-button' + index + '-border-radius-fields]', function (setting) { setting.bind(function (border) { let globalSelector = '.ast-' + builder_type + '-button-'+ index +' .ast-custom-button'; let dynamicStyle = globalSelector + '{ border-top-left-radius :' + border['desktop']['top'] + border['desktop-unit'] + '; border-bottom-right-radius :' + border['desktop']['bottom'] + border['desktop-unit'] + '; border-bottom-left-radius :' + border['desktop']['left'] + border['desktop-unit'] + '; border-top-right-radius :' + border['desktop']['right'] + border['desktop-unit'] + '; } '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) { ' + globalSelector + '{ border-top-left-radius :' + border['tablet']['top'] + border['tablet-unit'] + '; border-bottom-right-radius :' + border['tablet']['bottom'] + border['tablet-unit'] + '; border-bottom-left-radius :' + border['tablet']['left'] + border['tablet-unit'] + '; border-top-right-radius :' + border['tablet']['right'] + border['tablet-unit'] + '; } } '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) { ' + globalSelector + '{ border-top-left-radius :' + border['mobile']['top'] + border['mobile-unit'] + '; border-bottom-right-radius :' + border['mobile']['bottom'] + border['mobile-unit'] + '; border-bottom-left-radius :' + border['mobile']['left'] + border['mobile-unit'] + '; border-top-right-radius :' + border['mobile']['right'] + border['mobile-unit'] + '; } } '; astra_add_dynamic_css( 'astra-settings[' + builder_type + '-button' + index + '-border-radius-fields]', dynamicStyle); }); }); wp.customize( 'astra-settings[' + builder_type + '-button'+ index +'-border-size]', function( setting ) { setting.bind( function( border ) { var dynamicStyle = '.ast-' + builder_type + '-button-'+ index +' .ast-custom-button {'; dynamicStyle += 'border-top-width:' + border.top + 'px;'; dynamicStyle += 'border-right-width:' + border.right + 'px;'; dynamicStyle += 'border-left-width:' + border.left + 'px;'; dynamicStyle += 'border-bottom-width:' + border.bottom + 'px;'; dynamicStyle += '} '; astra_add_dynamic_css( 'astra-settings[' + builder_type + '-button'+ index +'-border-size]', dynamicStyle ); } ); } ); if( 'footer' == builder_type ) { wp.customize( 'astra-settings[footer-button-'+ index +'-alignment]', function( value ) { value.bind( function( alignment ) { if( alignment.desktop != '' || alignment.tablet != '' || alignment.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += '.ast-footer-button-'+ index +'[data-section="section-fb-button-'+ index +'"] {'; dynamicStyle += 'justify-content: ' + alignment['desktop'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-footer-button-'+ index +'[data-section="section-fb-button-'+ index +'"] {'; dynamicStyle += 'justify-content: ' + alignment['tablet'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-footer-button-'+ index +'[data-section="section-fb-button-'+ index +'"] {'; dynamicStyle += 'justify-content: ' + alignment['mobile'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'footer-button-'+ index +'-alignment', dynamicStyle ); } } ); } ); } })(index); } } /** * Social Component CSS. * * @param string builder_type Builder Type. * @param string section Section. * */ function astra_builder_social_css( builder_type = 'header', social_count ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; for ( var index = 1; index <= social_count; index++ ) { let selector = '.ast-' + builder_type + '-social-' + index + '-wrap'; let section = ( 'header' === builder_type ) ? 'section-hb-social-icons-' + index : 'section-fb-social-icons-' + index; var context = ( 'header' === builder_type ) ? 'hb' : 'fb'; var visibility_selector = '.ast-builder-layout-element[data-section="' + section + '"]'; // Icon Color. astra_color_responsive_css( context + '-soc-color', 'astra-settings[' + builder_type + '-social-' + index + '-color]', 'fill', selector + ' .ast-social-color-type-custom .ast-builder-social-element svg' ); astra_color_responsive_css( context + '-soc-label-color', 'astra-settings[' + builder_type + '-social-' + index + '-color]', 'color', selector + ' .ast-social-color-type-custom .ast-builder-social-element .social-item-label' ); astra_color_responsive_css( context + '-soc-color-h', 'astra-settings[' + builder_type + '-social-' + index + '-h-color]', 'color', selector + ' .ast-social-color-type-custom .ast-builder-social-element:hover' ); astra_color_responsive_css( context + '-soc-label-color-h', 'astra-settings[' + builder_type + '-social-' + index + '-h-color]', 'color', selector + ' .ast-social-color-type-custom .ast-builder-social-element:hover .social-item-label' ); astra_color_responsive_css( context + '-soc-svg-color-h', 'astra-settings[' + builder_type + '-social-' + index + '-h-color]', 'fill', selector + ' .ast-social-color-type-custom .ast-builder-social-element:hover svg' ); // Icon Background Color. astra_color_responsive_css( context + '-soc-bg-color', 'astra-settings[' + builder_type + '-social-' + index + '-bg-color]', 'background-color', selector + ' .ast-social-color-type-custom .ast-builder-social-element' ); astra_color_responsive_css( context + '-soc-bg-color-h', 'astra-settings[' + builder_type + '-social-' + index + '-bg-h-color]', 'background-color', selector + ' .ast-social-color-type-custom .ast-builder-social-element:hover' ); // Icon Label Color. astra_color_responsive_css( context + '-soc-label-color', 'astra-settings[' + builder_type + '-social-' + index + '-label-color]', 'color', selector + ' .ast-social-color-type-custom .ast-builder-social-element span.social-item-label' ); astra_color_responsive_css( context + '-soc-label-color-h', 'astra-settings[' + builder_type + '-social-' + index + '-label-h-color]', 'color', selector + ' .ast-social-color-type-custom .ast-builder-social-element:hover span.social-item-label' ); // Icon Background Space. astra_css( 'astra-settings[' + builder_type + '-social-' + index + '-bg-space]', 'padding', selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element', 'px' ); // Icon Brand Color. astra_color_responsive_css( context + '-soc-color', 'astra-settings[' + builder_type + '-social-' + index + '-brand-color]', 'fill', selector + ' .ast-social-color-type-official svg' ); astra_color_responsive_css( context + '-soc-label-color', 'astra-settings[' + builder_type + '-social-' + index + '-brand-color]', 'color', selector + ' .ast-social-color-type-official .social-item-label' ); // Icon Label Brand Color. astra_color_responsive_css( context + '-soc-label-color', 'astra-settings[' + builder_type + '-social-' + index + '-brand-label-color]', 'color', selector + ' .ast-social-color-type-official span.social-item-label' ); // Icon Border Radius Fields wp.customize('astra-settings[' + builder_type + '-social-' + index + '-radius-fields]', function (setting) { setting.bind(function (border) { let globalSelector = selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element'; let dynamicStyle = globalSelector + '{ border-top-left-radius :' + border['desktop']['top'] + border['desktop-unit'] + '; border-bottom-right-radius :' + border['desktop']['bottom'] + border['desktop-unit'] + '; border-bottom-left-radius :' + border['desktop']['left'] + border['desktop-unit'] + '; border-top-right-radius :' + border['desktop']['right'] + border['desktop-unit'] + '; } '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) { ' + globalSelector + '{ border-top-left-radius :' + border['tablet']['top'] + border['tablet-unit'] + '; border-bottom-right-radius :' + border['tablet']['bottom'] + border['tablet-unit'] + '; border-bottom-left-radius :' + border['tablet']['left'] + border['tablet-unit'] + '; border-top-right-radius :' + border['tablet']['right'] + border['tablet-unit'] + '; } } '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) { ' + globalSelector + '{ border-top-left-radius :' + border['mobile']['top'] + border['mobile-unit'] + '; border-bottom-right-radius :' + border['mobile']['bottom'] + border['mobile-unit'] + '; border-bottom-left-radius :' + border['mobile']['left'] + border['mobile-unit'] + '; border-top-right-radius :' + border['mobile']['right'] + border['mobile-unit'] + '; } } '; astra_add_dynamic_css( builder_type + '-social-' + index + '-radius-fields', dynamicStyle); }); }); // Typography CSS Generation. astra_responsive_font_size( 'astra-settings[font-size-' + section + ']', selector ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, visibility_selector, 'block' ); // Icon Spacing. (function( index ) { // Icon Size. wp.customize( 'astra-settings[' + builder_type + '-social-' + index + '-size]', function( value ) { value.bind( function( size ) { if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element svg {'; dynamicStyle += 'height: ' + size.desktop + 'px;'; dynamicStyle += 'width: ' + size.desktop + 'px;'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element svg {'; dynamicStyle += 'height: ' + size.tablet + 'px;'; dynamicStyle += 'width: ' + size.tablet + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element svg {'; dynamicStyle += 'height: ' + size.mobile + 'px;'; dynamicStyle += 'width: ' + size.mobile + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( builder_type + '-social-' + index + '-size', dynamicStyle ); } } ); } ); // Icon Space. wp.customize( 'astra-settings[' + builder_type + '-social-' + index + '-space]', function( value ) { value.bind( function( spacing ) { var space = ''; var dynamicStyle = ''; if ( spacing.desktop != '' ) { space = spacing.desktop/2; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element {'; dynamicStyle += 'margin-left: ' + space + 'px;'; dynamicStyle += 'margin-right: ' + space + 'px;'; dynamicStyle += '} '; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element:first-child {'; dynamicStyle += 'margin-left: 0;'; dynamicStyle += '} '; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element:last-child {'; dynamicStyle += 'margin-right: 0;'; dynamicStyle += '} '; } if ( spacing.tablet != '' ) { space = spacing.tablet/2; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element {'; dynamicStyle += 'margin-left: ' + space + 'px;'; dynamicStyle += 'margin-right: ' + space + 'px;'; dynamicStyle += '} '; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element:first-child {'; dynamicStyle += 'margin-left: 0;'; dynamicStyle += '} '; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element:last-child {'; dynamicStyle += 'margin-right: 0;'; dynamicStyle += '} '; dynamicStyle += '} '; } if ( spacing.mobile != '' ) { space = spacing.mobile/2; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element {'; dynamicStyle += 'margin-left: ' + space + 'px;'; dynamicStyle += 'margin-right: ' + space + 'px;'; dynamicStyle += '} '; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element:first-child {'; dynamicStyle += 'margin-left: 0;'; dynamicStyle += '} '; dynamicStyle += selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element:last-child {'; dynamicStyle += 'margin-right: 0;'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( builder_type + '-social-icons-icon-space', dynamicStyle ); } ); } ); // Color Type - Custom/Official wp.customize( 'astra-settings[' + builder_type + '-social-' + index + '-color-type]', function ( value ) { value.bind( function ( newval ) { var side_class = 'ast-social-color-type-' + newval; jQuery('.ast-' + builder_type + '-social-' + index + '-wrap .' + builder_type + '-social-inner-wrap').removeClass( 'ast-social-color-type-custom' ); jQuery('.ast-' + builder_type + '-social-' + index + '-wrap .' + builder_type + '-social-inner-wrap').removeClass( 'ast-social-color-type-official' ); jQuery('.ast-' + builder_type + '-social-' + index + '-wrap .' + builder_type + '-social-inner-wrap').addClass( side_class ); } ); } ); // Margin. wp.customize( 'astra-settings[' + section + '-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( section + '-margin', dynamicStyle ); } } ); } ); if ( 'footer' === builder_type ) { // Alignment. wp.customize( 'astra-settings[footer-social-' + index + '-alignment]', function( value ) { value.bind( function( alignment ) { if( alignment.desktop != '' || alignment.tablet != '' || alignment.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += '[data-section="section-fb-social-icons-' + index + '"] .footer-social-inner-wrap {'; dynamicStyle += 'text-align: ' + alignment['desktop'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '[data-section="section-fb-social-icons-' + index + '"] .footer-social-inner-wrap {'; dynamicStyle += 'text-align: ' + alignment['tablet'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '[data-section="section-fb-social-icons-' + index + '"] .footer-social-inner-wrap {'; dynamicStyle += 'text-align: ' + alignment['mobile'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'footer-social-' + index + '-alignment', dynamicStyle ); } } ); } ); } })( index ); } } /** * Widget Component CSS. * * @param string builder_type Builder Type. * @param string section Section. * */ function astra_builder_widget_css( builder_type = 'header' ) { var tablet_break_point = AstraBuilderWidgetData.tablet_break_point || 768, mobile_break_point = AstraBuilderWidgetData.mobile_break_point || 544; let widget_count = 'header' === builder_type ? AstraBuilderWidgetData.header_widget_count: AstraBuilderWidgetData.footer_widget_count; for ( var index = 1; index <= widget_count; index++ ) { var selector = '.' + builder_type + '-widget-area[data-section="sidebar-widgets-' + builder_type + '-widget-' + index + '"]'; var section = AstraBuilderWidgetData.has_block_editor ? 'astra-sidebar-widgets-' + builder_type + '-widget-' + index : 'sidebar-widgets-' + builder_type + '-widget-' + index; // Widget Content Color. astra_color_responsive_css( builder_type + '-widget-' + index + '-color', 'astra-settings[' + builder_type + '-widget-' + index + '-color]', 'color', ( AstraBuilderWidgetData.is_flex_based_css ) ? selector + '.' + builder_type + '-widget-area-inner' : selector + ' .' + builder_type + '-widget-area-inner' ); // Widget Link Color. astra_color_responsive_css( builder_type + '-widget-' + index + '-link-color', 'astra-settings[' + builder_type + '-widget-' + index + '-link-color]', 'color', ( AstraBuilderWidgetData.is_flex_based_css ) ? selector + '.' + builder_type + '-widget-area-inner a' : selector + ' .' + builder_type + '-widget-area-inner a' ); // Widget Link Hover Color. astra_color_responsive_css( builder_type + '-widget-' + index + '-link-h-color', 'astra-settings[' + builder_type + '-widget-' + index + '-link-h-color]', 'color', ( AstraBuilderWidgetData.is_flex_based_css ) ? selector + '.' + builder_type + '-widget-area-inner a:hover' : selector + ' .' + builder_type + '-widget-area-inner a:hover' ); // Widget Title Color. astra_color_responsive_css( builder_type + '-widget-' + index + '-title-color', 'astra-settings[' + builder_type + '-widget-' + index + '-title-color]', 'color', selector + ' .widget-title, ' + selector + ' h1, ' + selector + ' .widget-area h1, ' + selector + ' h2, ' + selector + ' .widget-area h2, ' + selector + ' h3, ' + selector + ' .widget-area h3, ' + selector + ' h4, ' + selector + ' .widget-area h4, ' + selector + ' h5, ' + selector + ' .widget-area h5, ' + selector + ' h6, ' + selector + ' .widget-area h6' ); // Widget Title Typography. astra_responsive_font_size( 'astra-settings[' + builder_type + '-widget-' + index + '-font-size]', selector + ' .widget-title, ' + selector + ' h1, ' + selector + ' .widget-area h1, ' + selector + ' h2, ' + selector + ' .widget-area h2, ' + selector + ' h3, ' + selector + ' .widget-area h3, ' + selector + ' h4, ' + selector + ' .widget-area h4, ' + selector + ' h5, ' + selector + ' .widget-area h5, ' + selector + ' h6, ' + selector + ' .widget-area h6' ); // Widget Content Typography. astra_responsive_font_size( 'astra-settings[' + builder_type + '-widget-' + index + '-content-font-size]', ( AstraBuilderWidgetData.is_flex_based_css ) ? selector + '.' + builder_type + '-widget-area-inner' : selector + ' .' + builder_type + '-widget-area-inner' ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector, 'block' ); (function (index) { var marginControl = AstraBuilderWidgetData.has_block_editor ? 'astra-sidebar-widgets-' + builder_type + '-widget-' + index + '-margin' : 'sidebar-widgets-' + builder_type + '-widget-' + index + '-margin'; wp.customize( 'astra-settings[' + marginControl + ']', function( value ) { value.bind( function( margin ) { var selector = '.' + builder_type + '-widget-area[data-section="sidebar-widgets-' + builder_type + '-widget-' + index + '"]'; if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'sidebar-widgets-' + builder_type + '-widget-' + index + '-margin', dynamicStyle ); } } ); } ); if ( 'footer' === builder_type ) { wp.customize( 'astra-settings[footer-widget-alignment-' + index + ']', function( value ) { value.bind( function( alignment ) { if( alignment.desktop != '' || alignment.tablet != '' || alignment.mobile != '' ) { var dynamicStyle = ''; if( AstraBuilderWidgetData.is_flex_based_css ){ dynamicStyle += '.footer-widget-area[data-section="sidebar-widgets-footer-widget-' + index + '"].footer-widget-area-inner {'; }else{ dynamicStyle += '.footer-widget-area[data-section="sidebar-widgets-footer-widget-' + index + '"] .footer-widget-area-inner {'; } dynamicStyle += 'text-align: ' + alignment['desktop'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; if( AstraBuilderWidgetData.is_flex_based_css ){ dynamicStyle += '.footer-widget-area[data-section="sidebar-widgets-footer-widget-' + index + '"].footer-widget-area-inner {'; }else{ dynamicStyle += '.footer-widget-area[data-section="sidebar-widgets-footer-widget-' + index + '"] .footer-widget-area-inner {'; } dynamicStyle += 'text-align: ' + alignment['tablet'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; if( AstraBuilderWidgetData.is_flex_based_css ){ dynamicStyle += '.footer-widget-area[data-section="sidebar-widgets-footer-widget-' + index + '"].footer-widget-area-inner {'; }else{ dynamicStyle += '.footer-widget-area[data-section="sidebar-widgets-footer-widget-' + index + '"] .footer-widget-area-inner {'; } dynamicStyle += 'text-align: ' + alignment['mobile'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'footer-widget-alignment-' + index, dynamicStyle ); } } ); } ); } })(index); } } /** * Apply Visibility CSS for the element * * @param string section Section ID. * @param string selector Base Selector. * @param string default_property default CSS property. */ function astra_builder_visibility_css( section, selector, default_property = 'flex' ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; wp.customize( 'astra-settings[' + section + '-visibility-responsive]', function( setting ) { setting.bind( function( visibility ) { let dynamicStyle = ''; let is_desktop = ( ! visibility['desktop'] ) ? 'none' : default_property ; let is_tablet = ( ! visibility['tablet'] ) ? 'none' : default_property ; let is_mobile = ( ! visibility['mobile'] ) ? 'none' : default_property ; dynamicStyle += selector + ' {'; dynamicStyle += 'display: ' + is_desktop + ';'; dynamicStyle += '} '; dynamicStyle += '@media (min-width: ' + mobile_break_point + 'px) and (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-header-break-point ' + selector + ' {'; dynamicStyle += 'display: ' + is_tablet + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-header-break-point ' + selector + ' {'; dynamicStyle += 'display: ' + is_mobile + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( section + '-visibility-responsive', dynamicStyle ); } ); } ); } type/header/mobile-trigger/dynamic-css/dynamic.css.php 0000644 00000024330 15105312163 0017022 0 ustar 00 <?php /** * Mobile Trigger - Dynamic CSS * * @package astra-builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Mobile Trigger. */ add_filter( 'astra_dynamic_theme_css', 'astra_mobile_trigger_row_setting', 11 ); /** * Mobile Trigger - Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_mobile_trigger_row_setting( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'mobile-trigger', 'header', 'mobile' ) && ! Astra_Builder_Helper::is_component_loaded( 'mobile-trigger', 'header', 'desktop' ) ) { return $dynamic_css; } $_section = 'section-header-mobile-trigger'; $selector = '[data-section="section-header-mobile-trigger"]'; $theme_color = astra_get_option( 'theme-color' ); $icon_size = astra_get_option( 'mobile-header-toggle-icon-size' ); $trigger_bg = astra_get_option( 'mobile-header-toggle-btn-bg-color', $theme_color ); $trigger_border_width = astra_get_option( 'mobile-header-toggle-btn-border-size' ); $trigger_border_color = astra_get_option( 'mobile-header-toggle-border-color', $trigger_bg ); $trigger_border_radius_fields = astra_get_option( 'mobile-header-toggle-border-radius-fields' ); $font_size = astra_get_option( 'mobile-header-label-font-size' ); $style = astra_get_option( 'mobile-header-toggle-btn-style' ); $default = '#ffffff'; if ( 'fill' !== $style ) { $default = $theme_color; } $icon_color = astra_get_option( 'mobile-header-toggle-btn-color', $default ); // Border. $trigger_border_width_top = isset( $trigger_border_width ) && isset( $trigger_border_width['top'] ) ? $trigger_border_width['top'] : 0; $trigger_border_width_bottom = isset( $trigger_border_width ) && isset( $trigger_border_width['bottom'] ) ? $trigger_border_width['bottom'] : 0; $trigger_border_width_right = isset( $trigger_border_width ) && isset( $trigger_border_width['right'] ) ? $trigger_border_width['right'] : 0; $trigger_border_width_left = isset( $trigger_border_width ) && isset( $trigger_border_width['left'] ) ? $trigger_border_width['left'] : 0; $margin = astra_get_option( $_section . '-margin' ); $margin_selector = $selector . ' .ast-button-wrap .menu-toggle'; /** * Off-Canvas CSS. */ $css_output = array( $selector . ' .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg' => array( 'width' => astra_get_css_value( $icon_size, 'px' ), 'height' => astra_get_css_value( $icon_size, 'px' ), 'fill' => $icon_color, ), $selector . ' .ast-button-wrap .mobile-menu-wrap .mobile-menu' => array( // Color. 'color' => $icon_color, // Typography. 'font-size' => astra_get_css_value( $font_size, 'px' ), ), $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); // Execute all cases in customizer preview. $is_customizer = false; if ( is_customize_preview() ) { $is_customizer = true; } switch ( $style ) { case 'minimal': // phpcs:ignore PSR2.ControlStructures.SwitchDeclaration.TerminatingComment $css_output_minimal = array( $selector . ' .ast-button-wrap .ast-mobile-menu-trigger-minimal' => array( // Color & Border. 'color' => esc_attr( $icon_color ), 'border' => 'none', 'background' => 'transparent', ), ); $dynamic_css .= astra_parse_css( $css_output_minimal ); if ( false === $is_customizer ) { break; } // no break case 'fill': // phpcs:ignore PSR2.ControlStructures.SwitchDeclaration.TerminatingComment $css_output_fill = array( $selector . ' .ast-button-wrap .ast-mobile-menu-trigger-fill' => array( // Color & Border. 'color' => esc_attr( $icon_color ), 'border' => 'none', 'background' => esc_attr( $trigger_bg ), 'border-top-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'top', 'desktop' ), 'border-top-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'right', 'desktop' ), 'border-bottom-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'bottom', 'desktop' ), 'border-bottom-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'left', 'desktop' ), ), ); $css_output_fill_tablet = array( $selector . ' .ast-button-wrap .ast-mobile-menu-trigger-fill' => array( 'border-top-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'top', 'tablet' ), 'border-top-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'right', 'tablet' ), 'border-bottom-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'bottom', 'tablet' ), 'border-bottom-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'left', 'tablet' ), ), ); $css_output_fill_mobile = array( $selector . ' .ast-button-wrap .ast-mobile-menu-trigger-fill' => array( 'border-top-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'top', 'mobile' ), 'border-top-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'right', 'mobile' ), 'border-bottom-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'bottom', 'mobile' ), 'border-bottom-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'left', 'mobile' ), ), ); $dynamic_css .= astra_parse_css( $css_output_fill ); $dynamic_css .= astra_parse_css( $css_output_fill_tablet, '', astra_get_tablet_breakpoint() ); $dynamic_css .= astra_parse_css( $css_output_fill_mobile, '', astra_get_mobile_breakpoint() ); if ( false === $is_customizer ) { break; } // no break case 'outline': // phpcs:ignore PSR2.ControlStructures.SwitchDeclaration.TerminatingComment $css_output_outline = array( $selector . ' .ast-button-wrap .ast-mobile-menu-trigger-outline' => array( 'background' => 'transparent', 'color' => esc_attr( $icon_color ), 'border-top-width' => astra_get_css_value( $trigger_border_width_top, 'px' ), 'border-bottom-width' => astra_get_css_value( $trigger_border_width_bottom, 'px' ), 'border-right-width' => astra_get_css_value( $trigger_border_width_right, 'px' ), 'border-left-width' => astra_get_css_value( $trigger_border_width_left, 'px' ), 'border-style' => 'solid', 'border-color' => $trigger_border_color, 'border-top-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'top', 'desktop' ), 'border-top-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'right', 'desktop' ), 'border-bottom-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'bottom', 'desktop' ), 'border-bottom-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'left', 'desktop' ), ), ); $css_output_outline_tablet = array( $selector . ' .ast-button-wrap .ast-mobile-menu-trigger-outline' => array( 'border-top-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'top', 'tablet' ), 'border-top-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'right', 'tablet' ), 'border-bottom-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'bottom', 'tablet' ), 'border-bottom-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'left', 'tablet' ), ), ); $css_output_outline_mobile = array( $selector . ' .ast-button-wrap .ast-mobile-menu-trigger-outline' => array( 'border-top-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'top', 'mobile' ), 'border-top-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'right', 'mobile' ), 'border-bottom-right-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'bottom', 'mobile' ), 'border-bottom-left-radius' => astra_responsive_spacing( $trigger_border_radius_fields, 'left', 'mobile' ), ), ); $dynamic_css .= astra_parse_css( $css_output_outline ); $dynamic_css .= astra_parse_css( $css_output_outline_tablet, '', astra_get_tablet_breakpoint() ); $dynamic_css .= astra_parse_css( $css_output_outline_mobile, '', astra_get_mobile_breakpoint() ); if ( false === $is_customizer ) { break; } // no break default: $dynamic_css .= ''; break; } // Tablet CSS. $css_output_tablet = array( $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); // Mobile CSS. $css_output_mobile = array( $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; return $dynamic_css; } type/header/mobile-trigger/class-astra-mobile-trigger-loader.php 0000644 00000002201 15105312163 0020755 0 ustar 00 <?php /** * Mobile Trigger Loader. * * @package astra-builder * @link https://www.brainstormforce.com * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Class Mobile Trigger Loader. * * Loads config files. * * @since 3.0.0 */ class Astra_Mobile_Trigger_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-mobile-trigger-customizer-preview-js', ASTRA_MOBILE_TRIGGER_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Mobile_Trigger_Loader(); type/header/mobile-trigger/class-astra-mobile-trigger.php 0000644 00000002216 15105312163 0017517 0 ustar 00 <?php /** * Mobile Trigger. * * @package astra-builder * @link https://www.brainstormforce.com * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_MOBILE_TRIGGER_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/mobile-trigger' ); define( 'ASTRA_MOBILE_TRIGGER_URI', ASTRA_THEME_URI . 'inc/builder/type/header/mobile-trigger' ); /** * Mobile Trigger Initial Setup * * @since 3.0.0 */ class Astra_Mobile_Trigger { /** * Constructor function that initializes required actions and hooks. */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_MOBILE_TRIGGER_DIR . '/class-astra-mobile-trigger-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_MOBILE_TRIGGER_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Mobile_Trigger(); type/header/mobile-trigger/assets/js/unminified/customizer-preview.js 0000644 00000016111 15105312163 0022150 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; // Trigger Icon Color. astra_css( 'astra-settings[mobile-header-toggle-btn-color]', 'fill', '[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg' ); // Trigger Label Color. astra_css( 'astra-settings[mobile-header-toggle-btn-color]', 'color', '[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-wrap .mobile-menu' ); // Trigger Icon Width. astra_css( 'astra-settings[mobile-header-toggle-icon-size]', 'width', '[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg', 'px' ); // Trigger Icon Height. astra_css( 'astra-settings[mobile-header-toggle-icon-size]', 'height', '[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg', 'px' ); // Trigger Button Background Color. astra_css( 'astra-settings[mobile-header-toggle-btn-bg-color]', 'background', '[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.ast-mobile-menu-trigger-fill' ); // Border Size for Trigger Button. wp.customize( 'astra-settings[mobile-header-toggle-btn-border-size]', function( setting ) { setting.bind( function( border ) { var dynamicStyle = '[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.main-header-menu-toggle {'; dynamicStyle += 'border-top-width:' + border.top + 'px;'; dynamicStyle += 'border-right-width:' + border.right + 'px;'; dynamicStyle += 'border-left-width:' + border.left + 'px;'; dynamicStyle += 'border-bottom-width:' + border.bottom + 'px;'; dynamicStyle += '} '; astra_add_dynamic_css( 'astra-settings[mobile-header-toggle-btn-border-size]', dynamicStyle ); } ); } ); // Border Radius Fields. wp.customize( 'astra-settings[mobile-header-toggle-border-radius-fields]', function( setting ) { setting.bind( function( border ) { let globalSelector = '[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.main-header-menu-toggle'; let dynamicStyle = globalSelector + '{ border-top-left-radius :' + border['desktop']['top'] + border['desktop-unit'] + '; border-bottom-right-radius :' + border['desktop']['bottom'] + border['desktop-unit'] + '; border-bottom-left-radius :' + border['desktop']['left'] + border['desktop-unit'] + '; border-top-right-radius :' + border['desktop']['right'] + border['desktop-unit'] + '; } '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) { ' + globalSelector + '{ border-top-left-radius :' + border['tablet']['top'] + border['tablet-unit'] + '; border-bottom-right-radius :' + border['tablet']['bottom'] + border['tablet-unit'] + '; border-bottom-left-radius :' + border['tablet']['left'] + border['tablet-unit'] + '; border-top-right-radius :' + border['tablet']['right'] + border['tablet-unit'] + '; } } '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) { ' + globalSelector + '{ border-top-left-radius :' + border['mobile']['top'] + border['mobile-unit'] + '; border-bottom-right-radius :' + border['mobile']['bottom'] + border['mobile-unit'] + '; border-bottom-left-radius :' + border['mobile']['left'] + border['mobile-unit'] + '; border-top-right-radius :' + border['mobile']['right'] + border['mobile-unit'] + '; } } '; astra_add_dynamic_css( 'astra-settings[mobile-header-toggle-border-radius-fields]', dynamicStyle ); } ); } ); // Border Color. astra_css( 'astra-settings[mobile-header-toggle-border-color]', 'border-color', '[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.ast-mobile-menu-trigger-outline, [data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.ast-mobile-menu-trigger-fill' ); // Margin. wp.customize( 'astra-settings[section-header-mobile-trigger' + '-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var selector = '[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.main-header-menu-toggle'; var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'header-mobile-trigger-margin', dynamicStyle ); } } ); } ); // Trigger Typography. astra_css( 'astra-settings[mobile-header-label-font-size]', 'font-size', '[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-wrap .mobile-menu', 'px' ); } )( jQuery ); type/header/mobile-trigger/assets/js/minified/customizer-preview.min.js 0000644 00000010440 15105312163 0022366 0 ustar 00 (()=>{var i=astraBuilderPreview.tablet_break_point||768,r=astraBuilderPreview.mobile_break_point||544;astra_css("astra-settings[mobile-header-toggle-btn-color]","fill",'[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg'),astra_css("astra-settings[mobile-header-toggle-btn-color]","color",'[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-wrap .mobile-menu'),astra_css("astra-settings[mobile-header-toggle-icon-size]","width",'[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg',"px"),astra_css("astra-settings[mobile-header-toggle-icon-size]","height",'[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg',"px"),astra_css("astra-settings[mobile-header-toggle-btn-bg-color]","background",'[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.ast-mobile-menu-trigger-fill'),wp.customize("astra-settings[mobile-header-toggle-btn-border-size]",function(t){t.bind(function(t){var e='[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.main-header-menu-toggle {',e=(e=(e+="border-top-width:"+t.top+"px;")+("border-right-width:"+t.right+"px;")+("border-left-width:"+t.left+"px;"))+("border-bottom-width:"+t.bottom+"px;")+"} ";astra_add_dynamic_css("astra-settings[mobile-header-toggle-btn-border-size]",e)})}),wp.customize("astra-settings[mobile-header-toggle-border-radius-fields]",function(t){t.bind(function(t){var e='[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.main-header-menu-toggle',o=e+"{ border-top-left-radius :"+t.desktop.top+t["desktop-unit"]+"; border-bottom-right-radius :"+t.desktop.bottom+t["desktop-unit"]+"; border-bottom-left-radius :"+t.desktop.left+t["desktop-unit"]+"; border-top-right-radius :"+t.desktop.right+t["desktop-unit"]+"; } ",o=(o+="@media (max-width: "+i+"px) { "+e+"{ border-top-left-radius :"+t.tablet.top+t["tablet-unit"]+"; border-bottom-right-radius :"+t.tablet.bottom+t["tablet-unit"]+"; border-bottom-left-radius :"+t.tablet.left+t["tablet-unit"]+"; border-top-right-radius :"+t.tablet.right+t["tablet-unit"]+"; } } ")+("@media (max-width: "+r+"px) { "+e+"{ border-top-left-radius :"+t.mobile.top+t["mobile-unit"]+"; border-bottom-right-radius :"+t.mobile.bottom+t["mobile-unit"]+"; border-bottom-left-radius :"+t.mobile.left+t["mobile-unit"]+"; border-top-right-radius :"+t.mobile.right+t["mobile-unit"]+"; } } ");astra_add_dynamic_css("astra-settings[mobile-header-toggle-border-radius-fields]",o)})}),astra_css("astra-settings[mobile-header-toggle-border-color]","border-color",'[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.ast-mobile-menu-trigger-outline, [data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.ast-mobile-menu-trigger-fill'),wp.customize("astra-settings[section-header-mobile-trigger-margin]",function(t){t.bind(function(t){var e,o;""==t.desktop.bottom&&""==t.desktop.top&&""==t.desktop.left&&""==t.desktop.right&&""==t.tablet.bottom&&""==t.tablet.top&&""==t.tablet.left&&""==t.tablet.right&&""==t.mobile.bottom&&""==t.mobile.top&&""==t.mobile.left&&""==t.mobile.right||(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o="")+(e='[data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle.main-header-menu-toggle')+" {margin-left: "+t.desktop.left+t["desktop-unit"]+";")+"margin-right: "+t.desktop.right+t["desktop-unit"]+";")+"margin-top: "+t.desktop.top+t["desktop-unit"]+";")+"margin-bottom: "+t.desktop.bottom+t["desktop-unit"]+";")+"} @media (max-width: "+i+"px) {")+e+" {margin-left: "+t.tablet.left+t["tablet-unit"]+";")+"margin-right: "+t.tablet.right+t["tablet-unit"]+";")+"margin-top: "+t.tablet.top+t["desktop-unit"]+";")+"margin-bottom: "+t.tablet.bottom+t["desktop-unit"]+";} ")+"} @media (max-width: "+r+"px) {")+e+" {margin-left: "+t.mobile.left+t["mobile-unit"]+";")+"margin-right: "+t.mobile.right+t["mobile-unit"]+";")+"margin-top: "+t.mobile.top+t["desktop-unit"]+";")+"margin-bottom: "+t.mobile.bottom+t["desktop-unit"]+";} } ",astra_add_dynamic_css("header-mobile-trigger-margin",o))})}),astra_css("astra-settings[mobile-header-label-font-size]","font-size",'[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-wrap .mobile-menu',"px")})(jQuery); type/header/off-canvas/dynamic-css/dynamic.css.php 0000644 00000054470 15105312163 0016145 0 ustar 00 <?php /** * Off Canvas - Dynamic CSS * * @package astra-builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Off Canvas Row. */ add_filter( 'astra_dynamic_theme_css', 'astra_off_canvas_row_setting', 11 ); /** * Off Canvas Row - Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_off_canvas_row_setting( $dynamic_css, $dynamic_css_filtered = '' ) { $selector = '.ast-mobile-popup-drawer.active'; if ( ! Astra_Builder_Helper::is_component_loaded( 'mobile-trigger', 'header' ) && ! is_customize_preview() ) { return $dynamic_css; } $off_canvas_background = astra_get_option( 'off-canvas-background' ); $off_canvas_close_color = astra_get_option( 'off-canvas-close-color' ); $offcanvas_content_alignment = astra_get_option( 'header-offcanvas-content-alignment', 'flex-start' ); $padding = astra_get_option( 'off-canvas-padding' ); $menu_content_alignment = 'center'; $inner_spacing = astra_get_option( 'off-canvas-inner-spacing' ); $mobile_header_type = astra_get_option( 'mobile-header-type' ); $move_body = astra_get_option( 'off-canvas-move-body' ); $is_site_rtl = is_rtl(); $inner_spacing = isset( $inner_spacing ) ? (int) $inner_spacing : ''; if ( 'flex-start' === $offcanvas_content_alignment ) { $menu_content_alignment = $is_site_rtl ? 'right' : 'left'; } elseif ( 'flex-end' === $offcanvas_content_alignment ) { $menu_content_alignment = $is_site_rtl ? 'left' : 'right'; } if ( 'off-canvas' === $mobile_header_type || 'full-width' === $mobile_header_type || is_customize_preview() ) { $dynamic_css .= astra_off_canvas_static_css(); } if ( 'dropdown' === $mobile_header_type || is_customize_preview() ) { $dynamic_css .= astra_dropdown_type_static_css(); } /** * Off-Canvas CSS. */ $css_output = array( $selector . ' .ast-mobile-popup-inner' => astra_get_background_obj( $off_canvas_background ), '.ast-mobile-header-wrap .ast-mobile-header-content, .ast-desktop-header-content' => astra_get_background_obj( $off_canvas_background ), '.ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content' => array( // Padding CSS. 'padding-top' => astra_responsive_spacing( $padding, 'top', 'desktop' ), 'padding-bottom' => astra_responsive_spacing( $padding, 'bottom', 'desktop' ), 'padding-left' => astra_responsive_spacing( $padding, 'left', 'desktop' ), 'padding-right' => astra_responsive_spacing( $padding, 'right', 'desktop' ), ), '.ast-mobile-popup-content > *, .ast-mobile-header-content > *, .ast-desktop-popup-content > *, .ast-desktop-header-content > *' => array( 'padding-top' => astra_get_css_value( $inner_spacing, 'px' ), 'padding-bottom' => astra_get_css_value( $inner_spacing, 'px' ), ), '.content-align-' . esc_attr( $offcanvas_content_alignment ) . ' .ast-builder-layout-element' => array( 'justify-content' => esc_attr( $offcanvas_content_alignment ), ), '.content-align-' . esc_attr( $offcanvas_content_alignment ) . ' .main-header-menu' => array( 'text-align' => esc_attr( $menu_content_alignment ), ), ); // Styling to apply when the move body option is disabled. if ( $mobile_header_type === 'dropdown' && ! $move_body ) { $css_output['.ast-desktop-header-content, .ast-mobile-header-content'] = array( 'position' => 'absolute', 'width' => '100%', ); } if ( is_rtl() ) { /** * Off-Canvas CSS if RTL mode is enabled. */ $css_output['.rtl #ast-mobile-popup-wrapper #ast-mobile-popup'] = array( 'pointer-events' => 'none', ); $css_output['.rtl #ast-mobile-popup-wrapper #ast-mobile-popup.active'] = array( 'pointer-events' => 'unset', ); } $css_output[ $selector . ' .menu-toggle-close' ]['color'] = $off_canvas_close_color; /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output ); // Tablet CSS. $css_output_tablet = array( '.ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content' => array( // Padding CSS. 'padding-top' => astra_responsive_spacing( $padding, 'top', 'tablet' ), 'padding-bottom' => astra_responsive_spacing( $padding, 'bottom', 'tablet' ), 'padding-left' => astra_responsive_spacing( $padding, 'left', 'tablet' ), 'padding-right' => astra_responsive_spacing( $padding, 'right', 'tablet' ), ), ); $css_output_mobile = array( '.ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content' => array( // Padding CSS. 'padding-top' => astra_responsive_spacing( $padding, 'top', 'mobile' ), 'padding-bottom' => astra_responsive_spacing( $padding, 'bottom', 'mobile' ), 'padding-left' => astra_responsive_spacing( $padding, 'left', 'mobile' ), 'padding-right' => astra_responsive_spacing( $padding, 'right', 'mobile' ), ), ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; return $dynamic_css; } /** * Add static CSS for Off-canvas flyout. * * @since 3.4.0 * @return string. */ function astra_off_canvas_static_css() { $off_canvas_css = ' .ast-off-canvas-active body.ast-main-header-nav-open { overflow: hidden; } .ast-mobile-popup-drawer .ast-mobile-popup-overlay { background-color: rgba(0, 0, 0, 0.4); position: fixed; top: 0; right: 0; bottom: 0; left: 0; visibility: hidden; opacity: 0; transition: opacity 0.2s ease-in-out; } .ast-mobile-popup-drawer .ast-mobile-popup-header { -js-display: flex; display: flex; justify-content: flex-end; min-height: calc( 1.2em + 24px); } .ast-mobile-popup-drawer .ast-mobile-popup-header .menu-toggle-close { background: transparent; border: 0; font-size: 24px; line-height: 1; padding: .6em; color: inherit; -js-display: flex; display: flex; box-shadow: none; } .ast-mobile-popup-drawer.ast-mobile-popup-full-width .ast-mobile-popup-inner { max-width: none; transition: transform 0s ease-in, opacity 0.2s ease-in; } .ast-mobile-popup-drawer.active { left: 0; opacity: 1; right: 0; z-index: 100000; transition: opacity 0.25s ease-out; } .ast-mobile-popup-drawer.active .ast-mobile-popup-overlay { opacity: 1; cursor: pointer; visibility: visible; } body.admin-bar .ast-mobile-popup-drawer, body.admin-bar .ast-mobile-popup-drawer .ast-mobile-popup-inner { top: 32px; } body.admin-bar.ast-primary-sticky-header-active .ast-mobile-popup-drawer, body.admin-bar.ast-primary-sticky-header-active .ast-mobile-popup-drawer .ast-mobile-popup-inner { top: 0px; } @media (max-width: 782px) { body.admin-bar .ast-mobile-popup-drawer,body.admin-bar .ast-mobile-popup-drawer .ast-mobile-popup-inner { top: 46px; } } .ast-mobile-popup-content > *, .ast-desktop-popup-content > *{ padding: 10px 0; height: auto; } .ast-mobile-popup-content > *:first-child, .ast-desktop-popup-content > *:first-child{ padding-top: 10px; } .ast-mobile-popup-content > .ast-builder-menu, .ast-desktop-popup-content > .ast-builder-menu{ padding-top: 0; } .ast-mobile-popup-content > *:last-child, .ast-desktop-popup-content > *:last-child { padding-bottom: 0; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-icon, .ast-mobile-popup-drawer .main-header-bar-navigation .menu-item-has-children .sub-menu, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-icon { display: none; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon.ast-inline-search label, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon.ast-inline-search label { width: 100%; } .ast-mobile-popup-content .ast-builder-menu-mobile .main-header-menu, .ast-mobile-popup-content .ast-builder-menu-mobile .main-header-menu .sub-menu { background-color: transparent; } .ast-mobile-popup-content .ast-icon svg { height: .85em; width: .95em; margin-top: 15px; } .ast-mobile-popup-content .ast-icon.icon-search svg { margin-top: 0; } .ast-desktop .ast-desktop-popup-content .astra-menu-animation-slide-up > .menu-item > .sub-menu, .ast-desktop .ast-desktop-popup-content .astra-menu-animation-slide-up > .menu-item .menu-item > .sub-menu, .ast-desktop .ast-desktop-popup-content .astra-menu-animation-slide-down > .menu-item > .sub-menu, .ast-desktop .ast-desktop-popup-content .astra-menu-animation-slide-down > .menu-item .menu-item > .sub-menu, .ast-desktop .ast-desktop-popup-content .astra-menu-animation-fade > .menu-item > .sub-menu, .ast-mobile-popup-drawer.show, .ast-desktop .ast-desktop-popup-content .astra-menu-animation-fade > .menu-item .menu-item > .sub-menu{ opacity: 1; visibility: visible; }'; if ( is_rtl() ) { $off_canvas_css .= ' .ast-mobile-popup-drawer { position: fixed; top: 0; bottom: 0; right: -99999rem; left: 99999rem; transition: opacity 0.25s ease-in, right 0s 0.25s, left 0s 0.25s; opacity: 0; } .ast-mobile-popup-drawer .ast-mobile-popup-inner { width: 100%; transform: translateX(-115%); max-width: 90%; left: 0; top: 0; background: #fafafa; color: #3a3a3a; bottom: 0; opacity: 0; position: fixed; box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.1); -js-display: flex; display: flex; flex-direction: column; transition: transform 0.2s ease-in, opacity 0.2s ease-in; overflow-y:auto; overflow-x:hidden; } .ast-mobile-popup-drawer.ast-mobile-popup-left .ast-mobile-popup-inner { transform: translateX(-115%); left: auto; right: 0; } .ast-hfb-header.ast-default-menu-enable.ast-header-break-point .ast-mobile-popup-drawer .main-header-bar-navigation ul .menu-item .sub-menu .menu-link { padding-right: 30px; } .ast-hfb-header.ast-default-menu-enable.ast-header-break-point .ast-mobile-popup-drawer .main-header-bar-navigation .sub-menu .menu-item .menu-item .menu-link { padding-right: 40px; } .ast-mobile-popup-drawer .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle { left: calc( 20px - 0.907em); } .ast-mobile-popup-drawer.content-align-flex-end .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle { right: calc( 20px - 0.907em); width: fit-content; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon, .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon.slide-search, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon.slide-search { width: 100%; position: relative; display: block; left: auto; transform: none; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon.slide-search .search-form, .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon .search-form, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon.slide-search .search-form, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon .search-form { left: 0; visibility: visible; opacity: 1; position: relative; top: auto; transform: none; padding: 0; display: block; overflow: hidden; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon.ast-inline-search .search-field, .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon .search-field, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon.ast-inline-search .search-field, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon .search-field { width: 100%; padding-left: 5.5em; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon .search-submit, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon .search-submit { display: block; position: absolute; height: 100%; top: 0; left: 0; padding: 0 1em; border-radius: 0; }'; } else { $off_canvas_css .= ' .ast-mobile-popup-drawer { position: fixed; top: 0; bottom: 0; left: -99999rem; right: 99999rem; transition: opacity 0.25s ease-in, left 0s 0.25s, right 0s 0.25s; opacity: 0; } .ast-mobile-popup-drawer .ast-mobile-popup-inner { width: 100%; transform: translateX(100%); max-width: 90%; right: 0; top: 0; background: #fafafa; color: #3a3a3a; bottom: 0; opacity: 0; position: fixed; box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.1); -js-display: flex; display: flex; flex-direction: column; transition: transform 0.2s ease-in, opacity 0.2s ease-in; overflow-y:auto; overflow-x:hidden; } .ast-mobile-popup-drawer.ast-mobile-popup-left .ast-mobile-popup-inner { transform: translateX(-100%); right: auto; left: 0; } .ast-hfb-header.ast-default-menu-enable.ast-header-break-point .ast-mobile-popup-drawer .main-header-bar-navigation ul .menu-item .sub-menu .menu-link { padding-left: 30px; } .ast-hfb-header.ast-default-menu-enable.ast-header-break-point .ast-mobile-popup-drawer .main-header-bar-navigation .sub-menu .menu-item .menu-item .menu-link { padding-left: 40px; } .ast-mobile-popup-drawer .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle { right: calc( 20px - 0.907em); } .ast-mobile-popup-drawer.content-align-flex-end .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle { left: calc( 20px - 0.907em); width: fit-content; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon, .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon.slide-search, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon.slide-search { width: 100%; position: relative; display: block; right: auto; transform: none; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon.slide-search .search-form, .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon .search-form, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon.slide-search .search-form, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon .search-form { right: 0; visibility: visible; opacity: 1; position: relative; top: auto; transform: none; padding: 0; display: block; overflow: hidden; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon.ast-inline-search .search-field, .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon .search-field, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon.ast-inline-search .search-field, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon .search-field { width: 100%; padding-right: 5.5em; } .ast-mobile-popup-drawer .ast-mobile-popup-content .ast-search-menu-icon .search-submit, .ast-mobile-popup-drawer .ast-desktop-popup-content .ast-search-menu-icon .search-submit { display: block; position: absolute; height: 100%; top: 0; right: 0; padding: 0 1em; border-radius: 0; }'; } // Adding this CSS to bottom because it needs to be load after above style loads. As it required to hide/show flyout offcanvas. $off_canvas_css .= ' .ast-mobile-popup-drawer.active .ast-mobile-popup-inner { opacity: 1; visibility: visible; transform: translateX(0%); }'; return Astra_Enqueue_Scripts::trim_css( $off_canvas_css ); } /** * Add static CSS for Dropdown Type. * * @since 3.4.0 * @return string. */ function astra_dropdown_type_static_css() { $dropdown_type_css = ' .ast-mobile-header-content > *, .ast-desktop-header-content > * { padding: 10px 0; height: auto; } .ast-mobile-header-content > *:first-child, .ast-desktop-header-content > *:first-child { padding-top: 10px; } .ast-mobile-header-content > .ast-builder-menu, .ast-desktop-header-content > .ast-builder-menu { padding-top: 0; } .ast-mobile-header-content > *:last-child, .ast-desktop-header-content > *:last-child { padding-bottom: 0; } .ast-mobile-header-content .ast-search-menu-icon.ast-inline-search label, .ast-desktop-header-content .ast-search-menu-icon.ast-inline-search label { width: 100%; } .ast-desktop-header-content .main-header-bar-navigation .ast-submenu-expanded > .ast-menu-toggle::before { transform: rotateX(180deg); } #ast-desktop-header .ast-desktop-header-content, .ast-mobile-header-content .ast-search-icon, .ast-desktop-header-content .ast-search-icon, .ast-mobile-header-wrap .ast-mobile-header-content, .ast-main-header-nav-open.ast-popup-nav-open .ast-mobile-header-wrap .ast-mobile-header-content, .ast-main-header-nav-open.ast-popup-nav-open .ast-desktop-header-content { display: none; } .ast-main-header-nav-open.ast-header-break-point #ast-desktop-header .ast-desktop-header-content, .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content { display: block; } .ast-desktop .ast-desktop-header-content .astra-menu-animation-slide-up > .menu-item > .sub-menu, .ast-desktop .ast-desktop-header-content .astra-menu-animation-slide-up > .menu-item .menu-item > .sub-menu, .ast-desktop .ast-desktop-header-content .astra-menu-animation-slide-down > .menu-item > .sub-menu, .ast-desktop .ast-desktop-header-content .astra-menu-animation-slide-down > .menu-item .menu-item > .sub-menu, .ast-desktop .ast-desktop-header-content .astra-menu-animation-fade > .menu-item > .sub-menu, .ast-desktop .ast-desktop-header-content .astra-menu-animation-fade > .menu-item .menu-item > .sub-menu { opacity: 1; visibility: visible; } .ast-hfb-header.ast-default-menu-enable.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content .main-header-bar-navigation { width: unset; margin: unset; }'; if ( is_rtl() ) { $dropdown_type_css .= ' .ast-mobile-header-content.content-align-flex-end .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle, .ast-desktop-header-content.content-align-flex-end .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle { right: calc( 20px - 0.907em); left: auto; } .ast-mobile-header-content .ast-search-menu-icon, .ast-mobile-header-content .ast-search-menu-icon.slide-search, .ast-desktop-header-content .ast-search-menu-icon, .ast-desktop-header-content .ast-search-menu-icon.slide-search { width: 100%; position: relative; display: block; left: auto; transform: none; } .ast-mobile-header-content .ast-search-menu-icon.slide-search .search-form, .ast-mobile-header-content .ast-search-menu-icon .search-form, .ast-desktop-header-content .ast-search-menu-icon.slide-search .search-form, .ast-desktop-header-content .ast-search-menu-icon .search-form { left: 0; visibility: visible; opacity: 1; position: relative; top: auto; transform: none; padding: 0; display: block; overflow: hidden; } .ast-mobile-header-content .ast-search-menu-icon.ast-inline-search .search-field, .ast-mobile-header-content .ast-search-menu-icon .search-field, .ast-desktop-header-content .ast-search-menu-icon.ast-inline-search .search-field, .ast-desktop-header-content .ast-search-menu-icon .search-field { width: 100%; padding-left: 5.5em; } .ast-mobile-header-content .ast-search-menu-icon .search-submit, .ast-desktop-header-content .ast-search-menu-icon .search-submit { display: block; position: absolute; height: 100%; top: 0; left: 0; padding: 0 1em; border-radius: 0; } .ast-hfb-header.ast-default-menu-enable.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content .main-header-bar-navigation ul .sub-menu .menu-link { padding-right: 30px; } .ast-hfb-header.ast-default-menu-enable.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content .main-header-bar-navigation .sub-menu .menu-item .menu-item .menu-link { padding-right: 40px; }'; } else { $dropdown_type_css .= ' .ast-mobile-header-content.content-align-flex-end .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle, .ast-desktop-header-content.content-align-flex-end .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle { left: calc( 20px - 0.907em); right: auto; } .ast-mobile-header-content .ast-search-menu-icon, .ast-mobile-header-content .ast-search-menu-icon.slide-search, .ast-desktop-header-content .ast-search-menu-icon, .ast-desktop-header-content .ast-search-menu-icon.slide-search { width: 100%; position: relative; display: block; right: auto; transform: none; } .ast-mobile-header-content .ast-search-menu-icon.slide-search .search-form, .ast-mobile-header-content .ast-search-menu-icon .search-form, .ast-desktop-header-content .ast-search-menu-icon.slide-search .search-form, .ast-desktop-header-content .ast-search-menu-icon .search-form { right: 0; visibility: visible; opacity: 1; position: relative; top: auto; transform: none; padding: 0; display: block; overflow: hidden; } .ast-mobile-header-content .ast-search-menu-icon.ast-inline-search .search-field, .ast-mobile-header-content .ast-search-menu-icon .search-field, .ast-desktop-header-content .ast-search-menu-icon.ast-inline-search .search-field, .ast-desktop-header-content .ast-search-menu-icon .search-field { width: 100%; padding-right: 5.5em; } .ast-mobile-header-content .ast-search-menu-icon .search-submit, .ast-desktop-header-content .ast-search-menu-icon .search-submit { display: block; position: absolute; height: 100%; top: 0; right: 0; padding: 0 1em; border-radius: 0; } .ast-hfb-header.ast-default-menu-enable.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content .main-header-bar-navigation ul .sub-menu .menu-link { padding-left: 30px; } .ast-hfb-header.ast-default-menu-enable.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content .main-header-bar-navigation .sub-menu .menu-item .menu-item .menu-link { padding-left: 40px; }'; } return Astra_Enqueue_Scripts::trim_css( $dropdown_type_css ); } type/header/off-canvas/class-astra-off-canvas-loader.php 0000644 00000002156 15105312163 0017214 0 ustar 00 <?php /** * Off Canvas Loader. * * @package astra-builder * @link https://www.brainstormforce.com * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Class Astra_Off_Canvas_Loader * * Loads config files. * * @since 3.0.0 */ class Astra_Off_Canvas_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-off-canvas-customizer-preview-js', ASTRA_OFF_CANVAS_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Off_Canvas_Loader(); type/header/off-canvas/class-astra-off-canvas.php 0000644 00000002143 15105312163 0015744 0 ustar 00 <?php /** * Off Canvas. * * @package astra-builder * @link https://www.brainstormforce.com * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_OFF_CANVAS_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/off-canvas' ); define( 'ASTRA_OFF_CANVAS_URI', ASTRA_THEME_URI . 'inc/builder/type/header/off-canvas' ); /** * Off Canvas Initial Setup * * @since 3.0.0 */ class Astra_Off_Canvas { /** * Constructor function that initializes required actions and hooks. */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_OFF_CANVAS_DIR . '/class-astra-off-canvas-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_OFF_CANVAS_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Off_Canvas(); type/header/off-canvas/assets/js/unminified/customizer-preview.js 0000644 00000021450 15105312163 0021265 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; // Close Icon Color. astra_css( 'astra-settings[off-canvas-close-color]', 'color', '.ast-mobile-popup-drawer.active .menu-toggle-close' ); // Off-Canvas Background Color. wp.customize( 'astra-settings[off-canvas-background]', function( value ) { value.bind( function( bg_obj ) { var dynamicStyle = ' .ast-mobile-popup-drawer.active .ast-mobile-popup-inner, .ast-mobile-header-wrap .ast-mobile-header-content, .ast-desktop-header-content { {{css}} }'; astra_background_obj_css( wp.customize, bg_obj, 'off-canvas-background', dynamicStyle ); } ); } ); wp.customize( 'astra-settings[off-canvas-inner-spacing]', function ( value ) { value.bind( function ( spacing ) { var dynamicStyle = ''; if( spacing != '' ) { dynamicStyle += '.ast-mobile-popup-content > *, .ast-mobile-header-content > *, .ast-desktop-popup-content > *, .ast-desktop-header-content > * {'; dynamicStyle += 'padding-top: ' + spacing + 'px;'; dynamicStyle += 'padding-bottom: ' + spacing + 'px;'; dynamicStyle += '} '; } astra_add_dynamic_css( 'off-canvas-inner-spacing', dynamicStyle ); } ); } ); wp.customize( 'astra-settings[mobile-header-type]', function ( value ) { value.bind( function ( newVal ) { var mobile_header = document.querySelectorAll( "#ast-mobile-header" ); var desktop_header = document.querySelectorAll( "#ast-desktop-header" ); var header_type = newVal; var off_canvas_slide = ( typeof ( wp.customize._value['astra-settings[off-canvas-slide]'] ) != 'undefined' ) ? wp.customize._value['astra-settings[off-canvas-slide]']._value : 'right'; var side_class = ''; if ( 'off-canvas' === header_type ) { if ( 'left' === off_canvas_slide ) { side_class = 'ast-mobile-popup-left'; } else { side_class = 'ast-mobile-popup-right'; } } else if ( 'full-width' === header_type ) { side_class = 'ast-mobile-popup-full-width'; } jQuery('.ast-mobile-popup-drawer').removeClass( 'ast-mobile-popup-left' ); jQuery('.ast-mobile-popup-drawer').removeClass( 'ast-mobile-popup-right' ); jQuery('.ast-mobile-popup-drawer').removeClass( 'ast-mobile-popup-full-width' ); jQuery('.ast-mobile-popup-drawer').addClass( side_class ); if( 'full-width' === header_type ) { header_type = 'off-canvas'; } for ( var k = 0; k < mobile_header.length; k++ ) { mobile_header[k].setAttribute( 'data-type', header_type ); } for ( var k = 0; k < desktop_header.length; k++ ) { desktop_header[k].setAttribute( 'data-type', header_type ); } var event = new CustomEvent( "astMobileHeaderTypeChange", { "detail": { 'type' : header_type } } ); document.dispatchEvent(event); } ); } ); wp.customize( 'astra-settings[off-canvas-slide]', function ( value ) { value.bind( function ( newval ) { var side_class = ''; if ( 'left' === newval ) { side_class = 'ast-mobile-popup-left'; } else { side_class = 'ast-mobile-popup-right'; } jQuery('.ast-mobile-popup-drawer').removeClass( 'ast-mobile-popup-left' ); jQuery('.ast-mobile-popup-drawer').removeClass( 'ast-mobile-popup-right' ); jQuery('.ast-mobile-popup-drawer').removeClass( 'ast-mobile-popup-full-width' ); jQuery('.ast-mobile-popup-drawer').addClass( side_class ); } ); } ); // Padding. wp.customize( 'astra-settings[off-canvas-padding]', function( value ) { value.bind( function( padding ) { if( padding.desktop.bottom != '' || padding.desktop.top != '' || padding.desktop.left != '' || padding.desktop.right != '' || padding.tablet.bottom != '' || padding.tablet.top != '' || padding.tablet.left != '' || padding.tablet.right != '' || padding.mobile.bottom != '' || padding.mobile.top != '' || padding.mobile.left != '' || padding.mobile.right != '' ) { var dynamicStyle = ''; dynamicStyle += '.ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content {'; dynamicStyle += 'padding-left: ' + padding['desktop']['left'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['desktop']['right'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['desktop']['top'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['desktop']['bottom'] + padding['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content {'; dynamicStyle += 'padding-left: ' + padding['tablet']['left'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['tablet']['right'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['tablet']['top'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['tablet']['bottom'] + padding['tablet-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content {'; dynamicStyle += 'padding-left: ' + padding['mobile']['left'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['mobile']['right'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['mobile']['top'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['mobile']['bottom'] + padding['mobile-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'off-canvas-padding', dynamicStyle ); } else { astra_add_dynamic_css( 'off-canvas-padding', '' ); } } ); } ); wp.customize( 'astra-settings[header-builder-menu-toggle-target]', function ( value ) { value.bind( function ( newval ) { var menuTargetClass = 'ast-builder-menu-toggle-' + newval + ' '; jQuery( '.site-header' ).removeClass( 'ast-builder-menu-toggle-icon' ); jQuery( '.site-header' ).removeClass( 'ast-builder-menu-toggle-link' ); jQuery( '.site-header' ).addClass( menuTargetClass ); } ); } ); wp.customize( 'astra-settings[header-offcanvas-content-alignment]', function ( value ) { value.bind( function ( newval ) { var alignment_class = 'content-align-' + newval + ' '; var menu_content_alignment = 'center'; jQuery('.ast-mobile-header-content').removeClass( 'content-align-flex-start' ); jQuery('.ast-mobile-header-content').removeClass( 'content-align-flex-end' ); jQuery('.ast-mobile-header-content').removeClass( 'content-align-center' ); jQuery('.ast-mobile-popup-drawer').removeClass( 'content-align-flex-end' ); jQuery('.ast-mobile-popup-drawer').removeClass( 'content-align-flex-start' ); jQuery('.ast-mobile-popup-drawer').removeClass( 'content-align-center' ); jQuery('.ast-desktop-header-content').removeClass( 'content-align-flex-start' ); jQuery('.ast-desktop-header-content').removeClass( 'content-align-flex-end' ); jQuery('.ast-desktop-header-content').removeClass( 'content-align-center' ); jQuery('.ast-desktop-header-content').addClass( alignment_class ); jQuery('.ast-mobile-header-content').addClass( alignment_class ); jQuery('.ast-mobile-popup-drawer').addClass( alignment_class ); if ( 'flex-start' === newval ) { menu_content_alignment = 'left'; } else if ( 'flex-end' === newval ) { menu_content_alignment = 'right'; } var dynamicStyle = '.content-align-' + newval + ' .ast-builder-layout-element {'; dynamicStyle += 'justify-content: ' + newval + ';'; dynamicStyle += '} '; dynamicStyle += '.content-align-' + newval + ' .main-header-menu {'; dynamicStyle += 'text-align: ' + menu_content_alignment + ';'; dynamicStyle += '} '; astra_add_dynamic_css( 'header-offcanvas-content-alignment', dynamicStyle ); } ); } ); } )( jQuery ); type/header/off-canvas/assets/js/minified/customizer-preview.min.js 0000644 00000012422 15105312163 0021503 0 ustar 00 (()=>{var a=astraBuilderPreview.tablet_break_point||768,o=astraBuilderPreview.mobile_break_point||544;astra_css("astra-settings[off-canvas-close-color]","color",".ast-mobile-popup-drawer.active .menu-toggle-close"),wp.customize("astra-settings[off-canvas-background]",function(e){e.bind(function(e){astra_background_obj_css(wp.customize,e,"off-canvas-background"," .ast-mobile-popup-drawer.active .ast-mobile-popup-inner, .ast-mobile-header-wrap .ast-mobile-header-content, .ast-desktop-header-content { {{css}} }")})}),wp.customize("astra-settings[off-canvas-inner-spacing]",function(e){e.bind(function(e){var t="";""!=e&&(t=(t=t+".ast-mobile-popup-content > *, .ast-mobile-header-content > *, .ast-desktop-popup-content > *, .ast-desktop-header-content > * {padding-top: "+e+"px;")+"padding-bottom: "+e+"px;} "),astra_add_dynamic_css("off-canvas-inner-spacing",t)})}),wp.customize("astra-settings[mobile-header-type]",function(e){e.bind(function(e){var t=document.querySelectorAll("#ast-mobile-header"),a=document.querySelectorAll("#ast-desktop-header"),o=e,e=void 0!==wp.customize._value["astra-settings[off-canvas-slide]"]?wp.customize._value["astra-settings[off-canvas-slide]"]._value:"right",s="";"off-canvas"===o?s="left"===e?"ast-mobile-popup-left":"ast-mobile-popup-right":"full-width"===o&&(s="ast-mobile-popup-full-width"),jQuery(".ast-mobile-popup-drawer").removeClass("ast-mobile-popup-left"),jQuery(".ast-mobile-popup-drawer").removeClass("ast-mobile-popup-right"),jQuery(".ast-mobile-popup-drawer").removeClass("ast-mobile-popup-full-width"),jQuery(".ast-mobile-popup-drawer").addClass(s),"full-width"===o&&(o="off-canvas");for(var n=0;n<t.length;n++)t[n].setAttribute("data-type",o);for(n=0;n<a.length;n++)a[n].setAttribute("data-type",o);e=new CustomEvent("astMobileHeaderTypeChange",{detail:{type:o}});document.dispatchEvent(e)})}),wp.customize("astra-settings[off-canvas-slide]",function(e){e.bind(function(e){var t="",t="left"===e?"ast-mobile-popup-left":"ast-mobile-popup-right";jQuery(".ast-mobile-popup-drawer").removeClass("ast-mobile-popup-left"),jQuery(".ast-mobile-popup-drawer").removeClass("ast-mobile-popup-right"),jQuery(".ast-mobile-popup-drawer").removeClass("ast-mobile-popup-full-width"),jQuery(".ast-mobile-popup-drawer").addClass(t)})}),wp.customize("astra-settings[off-canvas-padding]",function(e){e.bind(function(e){var t;""!=e.desktop.bottom||""!=e.desktop.top||""!=e.desktop.left||""!=e.desktop.right||""!=e.tablet.bottom||""!=e.tablet.top||""!=e.tablet.left||""!=e.tablet.right||""!=e.mobile.bottom||""!=e.mobile.top||""!=e.mobile.left||""!=e.mobile.right?(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t="")+".ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content {padding-left: "+e.desktop.left+e["desktop-unit"]+";")+"padding-right: "+e.desktop.right+e["desktop-unit"]+";")+"padding-top: "+e.desktop.top+e["desktop-unit"]+";")+"padding-bottom: "+e.desktop.bottom+e["desktop-unit"]+";")+"} @media (max-width: "+a+"px) {")+".ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content {padding-left: "+e.tablet.left+e["tablet-unit"]+";")+"padding-right: "+e.tablet.right+e["tablet-unit"]+";")+"padding-top: "+e.tablet.top+e["tablet-unit"]+";")+"padding-bottom: "+e.tablet.bottom+e["tablet-unit"]+";} ")+"} @media (max-width: "+o+"px) {")+".ast-mobile-popup-drawer.active .ast-desktop-popup-content, .ast-mobile-popup-drawer.active .ast-mobile-popup-content {padding-left: "+e.mobile.left+e["mobile-unit"]+";")+"padding-right: "+e.mobile.right+e["mobile-unit"]+";")+"padding-top: "+e.mobile.top+e["mobile-unit"]+";")+"padding-bottom: "+e.mobile.bottom+e["mobile-unit"]+";} } ",astra_add_dynamic_css("off-canvas-padding",t)):astra_add_dynamic_css("off-canvas-padding","")})}),wp.customize("astra-settings[header-builder-menu-toggle-target]",function(e){e.bind(function(e){e="ast-builder-menu-toggle-"+e+" ";jQuery(".site-header").removeClass("ast-builder-menu-toggle-icon"),jQuery(".site-header").removeClass("ast-builder-menu-toggle-link"),jQuery(".site-header").addClass(e)})}),wp.customize("astra-settings[header-offcanvas-content-alignment]",function(e){e.bind(function(e){var t="content-align-"+e+" ",a="center",t=(jQuery(".ast-mobile-header-content").removeClass("content-align-flex-start"),jQuery(".ast-mobile-header-content").removeClass("content-align-flex-end"),jQuery(".ast-mobile-header-content").removeClass("content-align-center"),jQuery(".ast-mobile-popup-drawer").removeClass("content-align-flex-end"),jQuery(".ast-mobile-popup-drawer").removeClass("content-align-flex-start"),jQuery(".ast-mobile-popup-drawer").removeClass("content-align-center"),jQuery(".ast-desktop-header-content").removeClass("content-align-flex-start"),jQuery(".ast-desktop-header-content").removeClass("content-align-flex-end"),jQuery(".ast-desktop-header-content").removeClass("content-align-center"),jQuery(".ast-desktop-header-content").addClass(t),jQuery(".ast-mobile-header-content").addClass(t),jQuery(".ast-mobile-popup-drawer").addClass(t),"flex-start"===e?a="left":"flex-end"===e&&(a="right"),".content-align-"+e+" .ast-builder-layout-element {"),t=(t=(t+="justify-content: "+e+";")+"} "+(".content-align-"+e+" .main-header-menu {"))+("text-align: "+a+";")+"} ";astra_add_dynamic_css("header-offcanvas-content-alignment",t)})})})(jQuery); type/header/below-header/dynamic-css/dynamic.css.php 0000644 00000013776 15105312163 0016464 0 ustar 00 <?php /** * Below Header - Dynamic CSS * * @package astra-builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Below Header Row. */ add_filter( 'astra_dynamic_theme_css', 'astra_below_header_row_setting', 11 ); /** * Below Header Row - Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_below_header_row_setting( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! is_customize_preview() && ( ! Astra_Builder_Helper::is_row_empty( 'below', 'header', 'desktop' ) && ! Astra_Builder_Helper::is_row_empty( 'below', 'header', 'mobile' ) ) ) { return $dynamic_css; } $parse_css = ''; // Common CSS options. $hbb_header_height = astra_get_option( 'hbb-header-height' ); $hbb_header_divider = astra_get_option( 'hbb-header-separator' ); $hbb_border_color = astra_get_option( 'hbb-header-bottom-border-color' ); // Header Height. $hbb_header_height_desktop = isset( $hbb_header_height['desktop'] ) && ! empty( $hbb_header_height['desktop'] ) ? $hbb_header_height['desktop'] : ''; $hbb_header_height_tablet = isset( $hbb_header_height['tablet'] ) && ! empty( $hbb_header_height['tablet'] ) ? $hbb_header_height['tablet'] : ''; $hbb_header_height_mobile = isset( $hbb_header_height['mobile'] ) && ! empty( $hbb_header_height['mobile'] ) ? $hbb_header_height['mobile'] : ''; // Background CSS options. $hbb_header_bg_obj = astra_get_option( 'hbb-header-bg-obj-responsive' ); $desktop_background = isset( $hbb_header_bg_obj['desktop']['background-color'] ) ? $hbb_header_bg_obj['desktop']['background-color'] : ''; $tablet_background = isset( $hbb_header_bg_obj['tablet']['background-color'] ) ? $hbb_header_bg_obj['tablet']['background-color'] : ''; $mobile_background = isset( $hbb_header_bg_obj['mobile']['background-color'] ) ? $hbb_header_bg_obj['mobile']['background-color'] : ''; /** * Below Header General options */ $common_css_output = array( '.ast-below-header .main-header-bar-navigation' => array( 'height' => '100%', ), '.ast-header-break-point .ast-mobile-header-wrap .ast-below-header-wrap .main-header-bar-navigation .inline-on-mobile .menu-item .menu-link' => array( 'border' => 'none', ), '.ast-header-break-point .ast-mobile-header-wrap .ast-below-header-wrap .main-header-bar-navigation .inline-on-mobile .menu-item-has-children > .ast-menu-toggle::before' => array( 'font-size' => '.6rem', ), '.ast-header-break-point .ast-mobile-header-wrap .ast-below-header-wrap .main-header-bar-navigation .ast-submenu-expanded > .ast-menu-toggle::before' => array( 'transform' => 'rotateX(180deg)', ), '#masthead .ast-mobile-header-wrap .ast-below-header-bar' => array( 'padding-left' => '20px', 'padding-right' => '20px', ), '.ast-mobile-header-wrap .ast-below-header-bar , .ast-below-header-bar .site-below-header-wrap' => array( 'min-height' => astra_get_css_value( $hbb_header_height_desktop, 'px' ), ), '.ast-desktop .ast-below-header-bar .main-header-menu > .menu-item' => array( 'line-height' => astra_get_css_value( $hbb_header_height_desktop, 'px' ), ), '.ast-desktop .ast-below-header-bar .ast-header-woo-cart, .ast-desktop .ast-below-header-bar .ast-header-edd-cart' => array( 'line-height' => astra_get_css_value( $hbb_header_height_desktop, 'px' ), ), ); // Apply border only when it has positive value. if ( '' !== $hbb_header_divider && 'inherit' !== $hbb_header_divider ) { $common_css_output['.ast-below-header-bar'] = array( 'border-bottom-width' => astra_get_css_value( $hbb_header_divider, 'px' ), 'border-bottom-color' => esc_attr( $hbb_border_color ), 'border-bottom-style' => 'solid', ); } else { $common_css_output['.ast-below-header-bar'] = array( 'border-bottom-style' => 'none', ); } $parse_css .= astra_parse_css( $common_css_output ); // Below Header Background Responsive - Desktop. $desktop_bg = array( '.ast-below-header-bar' => astra_get_responsive_background_obj( $hbb_header_bg_obj, 'desktop' ), '.ast-header-break-point .ast-below-header-bar' => array( 'background-color' => esc_attr( $desktop_background ), ), ); $parse_css .= astra_parse_css( $desktop_bg ); // Below Header Background Responsive - Tablet. $tablet_bg = array( '.ast-below-header-bar' => astra_get_responsive_background_obj( $hbb_header_bg_obj, 'tablet' ), '.ast-header-break-point .ast-below-header-bar' => array( 'background-color' => esc_attr( $tablet_background ), ), '.ast-mobile-header-wrap .ast-below-header-bar , .ast-below-header-bar .site-below-header-wrap' => array( 'min-height' => astra_get_css_value( $hbb_header_height_tablet, 'px' ), ), ); $parse_css .= astra_parse_css( $tablet_bg, '', astra_get_tablet_breakpoint() ); // Below Header Background Responsive - Mobile. $mobile_bg = array( '.ast-below-header-bar' => astra_get_responsive_background_obj( $hbb_header_bg_obj, 'mobile' ), '.ast-header-break-point .ast-below-header-bar' => array( 'background-color' => esc_attr( $mobile_background ), ), '.ast-mobile-header-wrap .ast-below-header-bar , .ast-below-header-bar .site-below-header-wrap' => array( 'min-height' => astra_get_css_value( $hbb_header_height_mobile, 'px' ), ), ); $parse_css .= astra_parse_css( $mobile_bg, '', astra_get_mobile_breakpoint() ); // Trim white space for faster page loading. $dynamic_css .= Astra_Enqueue_Scripts::trim_css( $parse_css ); $_section = 'section-below-header-builder'; $parent_selector = '.ast-below-header-bar.ast-below-header, .ast-header-break-point .ast-below-header-bar.ast-below-header'; $dynamic_css .= Astra_Extended_Base_Dynamic_CSS::prepare_advanced_margin_padding_css( $_section, $parent_selector ); $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, '.ast-below-header-bar', 'block', 'grid' ); return $dynamic_css; } type/header/below-header/class-astra-below-header-loader.php 0000644 00000002173 15105312163 0020041 0 ustar 00 <?php /** * Below Header Loader. * * @package astra-builder * @link https://www.brainstormforce.com * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Class Astra_Below_Header_Loader * * Loads config files. * * @since 3.0.0 */ class Astra_Below_Header_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-heading-below-customizer-preview-js', ASTRA_BELOW_HEADER_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Below_Header_Loader(); type/header/below-header/class-astra-below-header.php 0000644 00000002171 15105312163 0016573 0 ustar 00 <?php /** * Below Header. * * @package astra-builder * @link https://www.brainstormforce.com * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BELOW_HEADER_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/below-header' ); define( 'ASTRA_BELOW_HEADER_URI', ASTRA_THEME_URI . 'inc/builder/type/header/below-header' ); /** * Below Header Initial Setup * * @since 3.0.0 */ class Astra_Below_Header { /** * Constructor function that initializes required actions and hooks. */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BELOW_HEADER_DIR . '/class-astra-below-header-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BELOW_HEADER_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Below_Header(); type/header/below-header/assets/js/unminified/customizer-preview.js 0000644 00000007633 15105312163 0021607 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; wp.customize( 'astra-settings[hbb-header-height]', function( value ) { value.bind( function( size ) { if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += '.ast-below-header-bar .site-below-header-wrap, .ast-mobile-header-wrap .ast-below-header-bar {'; dynamicStyle += 'min-height: ' + size.desktop + 'px;'; dynamicStyle += '} '; dynamicStyle += '.ast-desktop .ast-below-header-bar .main-header-menu > .menu-item {'; dynamicStyle += 'line-height: ' + size.desktop + 'px;'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-below-header-bar .site-below-header-wrap, .ast-mobile-header-wrap .ast-below-header-bar {'; dynamicStyle += 'min-height: ' + size.tablet + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-below-header-bar .site-below-header-wrap, .ast-mobile-header-wrap .ast-below-header-bar {'; dynamicStyle += 'min-height: ' + size.mobile + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'hbb-header-height', dynamicStyle ); } } ); } ); // Border Bottom width. wp.customize( 'astra-settings[hbb-header-separator]', function( value ) { value.bind( function( border ) { var color = wp.customize( 'astra-settings[hbb-header-bottom-border-color]' ).get(), dynamicStyle = ''; dynamicStyle += '.ast-header-break-point .ast-below-header-bar, .ast-below-header-bar {'; dynamicStyle += 'border-bottom-width: ' + border + 'px;'; dynamicStyle += 'border-bottom-style: solid;'; dynamicStyle += 'border-color:' + color + ';'; dynamicStyle += '}'; astra_add_dynamic_css( 'hbb-header-separator', dynamicStyle ); } ); } ); // Border Color. astra_css( 'astra-settings[hbb-header-bottom-border-color]', 'border-color', '.ast-header-break-point .ast-below-header-bar, .ast-below-header-bar' ); // Responsive BG styles > Below Header Row. astra_apply_responsive_background_css( 'astra-settings[hbb-header-bg-obj-responsive]', '.ast-below-header.ast-below-header-bar', 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[hbb-header-bg-obj-responsive]', '.ast-below-header.ast-below-header-bar', 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[hbb-header-bg-obj-responsive]', '.ast-below-header.ast-below-header-bar', 'mobile' ); if (document.querySelector(".ast-below-header-bar .site-logo-img")) { astra_apply_responsive_background_css( "astra-settings[hbb-header-bg-obj-responsive]", ".ast-sg-element-wrap.ast-sg-logo-section, .ast-below-header.ast-below-header-bar", "desktop" ); astra_apply_responsive_background_css( "astra-settings[hbb-header-bg-obj-responsive]", ".ast-sg-element-wrap.ast-sg-logo-section, .ast-below-header.ast-below-header-bar", "tablet" ); astra_apply_responsive_background_css( "astra-settings[hbb-header-bg-obj-responsive]", ".ast-sg-element-wrap.ast-sg-logo-section, .ast-below-header.ast-below-header-bar", "mobile" ); } // Advanced CSS Generation. astra_builder_advanced_css( 'section-below-header-builder', '.ast-below-header.ast-below-header-bar' ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( 'section-below-header-builder', '.ast-below-header-bar', 'grid' ); } )( jQuery ); type/header/below-header/assets/js/minified/customizer-preview.min.js 0000644 00000005056 15105312163 0022023 0 ustar 00 (()=>{var r=astraBuilderPreview.tablet_break_point||768,s=astraBuilderPreview.mobile_break_point||544;wp.customize("astra-settings[hbb-header-height]",function(e){e.bind(function(e){var a;""==e.desktop&&""==e.tablet&&""==e.mobile||(a=(a=(a=(a=(a=(a=(a="")+".ast-below-header-bar .site-below-header-wrap, .ast-mobile-header-wrap .ast-below-header-bar {min-height: "+e.desktop+"px;} .ast-desktop .ast-below-header-bar .main-header-menu > .menu-item {")+"line-height: "+e.desktop+"px;} ")+"@media (max-width: "+r+"px) {.ast-below-header-bar .site-below-header-wrap, .ast-mobile-header-wrap .ast-below-header-bar {")+"min-height: "+e.tablet+"px;} ")+"} @media (max-width: "+s+"px) {")+".ast-below-header-bar .site-below-header-wrap, .ast-mobile-header-wrap .ast-below-header-bar {min-height: "+e.mobile+"px;} } ",astra_add_dynamic_css("hbb-header-height",a))})}),wp.customize("astra-settings[hbb-header-separator]",function(e){e.bind(function(e){var a="",a=(a=(a+=".ast-header-break-point .ast-below-header-bar, .ast-below-header-bar {")+("border-bottom-width: "+e+"px;")+"border-bottom-style: solid;")+("border-color:"+wp.customize("astra-settings[hbb-header-bottom-border-color]").get()+";")+"}";astra_add_dynamic_css("hbb-header-separator",a)})}),astra_css("astra-settings[hbb-header-bottom-border-color]","border-color",".ast-header-break-point .ast-below-header-bar, .ast-below-header-bar"),astra_apply_responsive_background_css("astra-settings[hbb-header-bg-obj-responsive]",".ast-below-header.ast-below-header-bar","desktop"),astra_apply_responsive_background_css("astra-settings[hbb-header-bg-obj-responsive]",".ast-below-header.ast-below-header-bar","tablet"),astra_apply_responsive_background_css("astra-settings[hbb-header-bg-obj-responsive]",".ast-below-header.ast-below-header-bar","mobile"),document.querySelector(".ast-below-header-bar .site-logo-img")&&(astra_apply_responsive_background_css("astra-settings[hbb-header-bg-obj-responsive]",".ast-sg-element-wrap.ast-sg-logo-section, .ast-below-header.ast-below-header-bar","desktop"),astra_apply_responsive_background_css("astra-settings[hbb-header-bg-obj-responsive]",".ast-sg-element-wrap.ast-sg-logo-section, .ast-below-header.ast-below-header-bar","tablet"),astra_apply_responsive_background_css("astra-settings[hbb-header-bg-obj-responsive]",".ast-sg-element-wrap.ast-sg-logo-section, .ast-below-header.ast-below-header-bar","mobile")),astra_builder_advanced_css("section-below-header-builder",".ast-below-header.ast-below-header-bar"),astra_builder_visibility_css("section-below-header-builder",".ast-below-header-bar","grid")})(jQuery); type/header/widget/dynamic-css/dynamic.css.php 0000644 00000001266 15105312163 0015400 0 ustar 00 <?php /** * WIdget control - Dynamic CSS * * @package Astra Builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Heading Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_widget_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_hb_widget_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { $dynamic_css .= Astra_Widget_Component_Dynamic_CSS::astra_widget_dynamic_css( 'header' ); return $dynamic_css; } type/header/widget/class-astra-header-widget-component-loader.php 0000644 00000003304 15105312163 0021136 0 ustar 00 <?php /** * WIDGET Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Header_Widget_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-header-widget-customizer-preview-js', ASTRA_BUILDER_HEADER_WIDGET_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for WIDGET JS. wp_localize_script( 'astra-header-widget-customizer-preview-js', 'AstraBuilderWidgetData', array( 'header_widget_count' => defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_widgets, 'tablet_break_point' => astra_get_tablet_breakpoint(), 'mobile_break_point' => astra_get_mobile_breakpoint(), 'is_flex_based_css' => Astra_Builder_Helper::apply_flex_based_css(), 'has_block_editor' => astra_has_widgets_block_editor(), ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Widget_Component_Loader(); type/header/widget/class-astra-header-widget-component.php 0000644 00000002266 15105312163 0017700 0 ustar 00 <?php /** * WIDGET component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_HEADER_WIDGET_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/widget' ); define( 'ASTRA_BUILDER_HEADER_WIDGET_URI', ASTRA_THEME_URI . 'inc/builder/type/header/widget' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Header_Widget_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_HEADER_WIDGET_DIR . '/class-astra-header-widget-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_HEADER_WIDGET_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Header_Widget_Component(); type/header/widget/assets/js/unminified/customizer-preview.js 0000644 00000000637 15105312163 0020531 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra Builder * @since 3.0.0 */ ( function( $ ) { astra_builder_widget_css( 'header' ); } )( jQuery ); type/header/widget/assets/js/minified/customizer-preview.min.js 0000644 00000000052 15105312163 0020737 0 ustar 00 jQuery,astra_builder_widget_css("header"); type/header/site-identity/class-astra-header-site-identity-component.php 0000644 00000002320 15105312163 0022507 0 ustar 00 <?php /** * Site_Identity for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_HEADER_SITE_IDENTITY_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/site-identity' ); define( 'ASTRA_HEADER_SITE_IDENTITY_URI', ASTRA_THEME_URI . 'inc/builder/type/header/site-identity' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Header_Site_Identity_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_HEADER_SITE_IDENTITY_DIR . '/class-astra-header-site-identity-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_HEADER_SITE_IDENTITY_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Header_Site_Identity_Component(); type/header/site-identity/dynamic-css/dynamic.css.php 0000644 00000005021 15105312163 0016701 0 ustar 00 <?php /** * Site Identity - Dynamic CSS * * @package Astra * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Site Identity */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_site_identity_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Site Identity. * * @since 3.0.0 */ function astra_hb_site_identity_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'logo', 'header' ) ) { return $dynamic_css; } $_section = 'title_tagline'; $selector = '.ast-builder-layout-element .ast-site-identity'; $visibility_selector = '.ast-builder-layout-element[data-section="title_tagline"]'; $margin = astra_get_option( $_section . '-margin' ); // Desktop CSS. $css_output_desktop = array( $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); // Tablet CSS. $css_output_tablet = array( $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); // Mobile CSS. $css_output_mobile = array( $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $visibility_selector ); return $dynamic_css; } type/header/site-identity/class-astra-header-site-identity-component-loader.php 0000644 00000002217 15105312163 0023760 0 ustar 00 <?php /** * Site_Identity Styling Loader for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Header_Site_Identity_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-site-identity-customizer-preview-js', ASTRA_HEADER_SITE_IDENTITY_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Site_Identity_Component_Loader(); type/header/site-identity/assets/js/unminified/customizer-preview.js 0000644 00000007230 15105312163 0022035 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra HF Builder. * @since 3.0.0 */ ( function( $ ) { wp.customize( 'astra-settings[different-mobile-logo]', function ( value ) { value.bind( function ( newval ) { if ( '1' == newval ) { jQuery('.site-header').addClass( 'ast-has-mobile-header-logo' ); } else { jQuery('.site-header').removeClass( 'ast-has-mobile-header-logo' ); } } ); } ); // Margin. wp.customize( 'astra-settings[title_tagline-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var dynamicStyle = '', selector = '.ast-builder-layout-element .ast-site-identity', tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'title_tagline-margin', dynamicStyle ); } } ); } ); var section = 'title_tagline'; var visibility_selector = '.ast-builder-layout-element[data-section="title_tagline"]'; // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, visibility_selector ); } )( jQuery ); type/header/site-identity/assets/js/minified/customizer-preview.min.js 0000644 00000003163 15105312163 0022255 0 ustar 00 (()=>{wp.customize("astra-settings[different-mobile-logo]",function(t){t.bind(function(t){"1"==t?jQuery(".site-header").addClass("ast-has-mobile-header-logo"):jQuery(".site-header").removeClass("ast-has-mobile-header-logo")})}),wp.customize("astra-settings[title_tagline-margin]",function(t){t.bind(function(t){var e,i,o;""==t.desktop.bottom&&""==t.desktop.top&&""==t.desktop.left&&""==t.desktop.right&&""==t.tablet.bottom&&""==t.tablet.top&&""==t.tablet.left&&""==t.tablet.right&&""==t.mobile.bottom&&""==t.mobile.top&&""==t.mobile.left&&""==t.mobile.right||(o="",e=".ast-builder-layout-element .ast-site-identity",i=astraBuilderPreview.tablet_break_point||768,o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=e+" {margin-left: "+t.desktop.left+t["desktop-unit"]+";")+"margin-right: "+t.desktop.right+t["desktop-unit"]+";")+"margin-top: "+t.desktop.top+t["desktop-unit"]+";")+"margin-bottom: "+t.desktop.bottom+t["desktop-unit"]+";")+"} @media (max-width: "+i+"px) {")+e+" {margin-left: "+t.tablet.left+t["tablet-unit"]+";")+"margin-right: "+t.tablet.right+t["tablet-unit"]+";")+"margin-top: "+t.tablet.top+t["desktop-unit"]+";")+"margin-bottom: "+t.tablet.bottom+t["desktop-unit"]+";} ")+"} @media (max-width: "+(astraBuilderPreview.mobile_break_point||544)+"px) {")+e+" {margin-left: "+t.mobile.left+t["mobile-unit"]+";")+"margin-right: "+t.mobile.right+t["mobile-unit"]+";")+"margin-top: "+t.mobile.top+t["desktop-unit"]+";")+"margin-bottom: "+t.mobile.bottom+t["desktop-unit"]+";} } ",astra_add_dynamic_css("title_tagline-margin",o))})}),astra_builder_visibility_css("title_tagline",'.ast-builder-layout-element[data-section="title_tagline"]')})(jQuery); type/header/search/dynamic-css/dynamic.css.php 0000644 00000015570 15105312163 0015365 0 ustar 00 <?php /** * Search - Dynamic CSS * * @package Astra * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Search */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_search_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Search. * * @since 3.0.0 */ function astra_hb_search_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'search', 'header' ) ) { return $dynamic_css; } $_section = 'section-header-search'; $selector = '.ast-header-search'; $icon_size = astra_get_option( 'header-search-icon-space' ); $search_width = astra_get_option( 'header-search-width' ); $search_type = astra_get_option( 'header-search-box-type' ); $live_search = astra_get_option( 'live-search' ); $search_width_applicable = ! defined( 'ASTRA_EXT_VER' ) || ( defined( 'ASTRA_EXT_VER' ) && ( 'slide-search' === $search_type || 'search-box' === $search_type ) ) ? true : false; $icon_size_desktop = isset( $icon_size ) && isset( $icon_size['desktop'] ) && ! empty( $icon_size['desktop'] ) ? $icon_size['desktop'] : 20; $icon_size_tablet = isset( $icon_size ) && isset( $icon_size['tablet'] ) && ! empty( $icon_size['tablet'] ) ? $icon_size['tablet'] : 20; $icon_size_mobile = isset( $icon_size ) && isset( $icon_size['mobile'] ) && ! empty( $icon_size['mobile'] ) ? $icon_size['mobile'] : 20; $icon_color_desktop = astra_get_prop( astra_get_option( 'header-search-icon-color' ), 'desktop' ); $icon_color_tablet = astra_get_prop( astra_get_option( 'header-search-icon-color' ), 'tablet' ); $icon_color_mobile = astra_get_prop( astra_get_option( 'header-search-icon-color' ), 'mobile' ); $margin = astra_get_option( $_section . '-margin' ); $margin_selector = '.ast-hfb-header .site-header-section > .ast-header-search, .ast-hfb-header .ast-header-search'; /** * Search CSS. */ $css_output_desktop = array( $selector . ' .ast-search-menu-icon .search-form .search-field:-ms-input-placeholder,' . $selector . ' .ast-search-menu-icon .search-form .search-field:-ms-input-placeholder' => array( 'opacity' => '0.5', ), $selector . ' .ast-search-menu-icon.slide-search .search-form, .ast-header-search .ast-search-menu-icon.ast-inline-search .search-form' => array( '-js-display' => 'flex', 'display' => 'flex', 'align-items' => 'center', ), '.ast-builder-layout-element.ast-header-search' => array( 'height' => 'auto', ), $selector . ' .astra-search-icon' => array( 'color' => esc_attr( $icon_color_desktop ), 'font-size' => astra_get_css_value( $icon_size_desktop, 'px' ), ), $selector . ' .search-field::placeholder,' . $selector . ' .ast-icon' => array( 'color' => esc_attr( $icon_color_desktop ), ), $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); if ( $search_width_applicable ) { $css_output_desktop[ $selector . ' form.search-form .search-field, ' . $selector . ' .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field' ] = array( 'width' => astra_get_css_value( astra_get_prop( $search_width, 'desktop' ), 'px' ), ); } if ( $live_search && Astra_Builder_Helper::is_component_loaded( 'search', 'header' ) && ! is_customize_preview() && apply_filters( 'astra_increased_search_icon_zindex', true ) ) { $css_output_desktop['.ast-search-menu-icon'] = array( 'z-index' => '5', // To fix search results container overlapping issue with menu (AST-3605). ); } $css_output_tablet = array( $selector . ' .astra-search-icon' => array( 'color' => esc_attr( $icon_color_tablet ), 'font-size' => astra_get_css_value( $icon_size_tablet, 'px' ), ), $selector . ' .search-field::placeholder,' . $selector . ' .ast-icon' => array( 'color' => esc_attr( $icon_color_tablet ), ), $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); if ( $search_width_applicable ) { $css_output_tablet[ $selector . ' form.search-form .search-field, ' . $selector . ' .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field, .ast-mobile-header-content .ast-search-menu-icon .search-form' ] = array( 'width' => astra_get_css_value( astra_get_prop( $search_width, 'tablet' ), 'px' ), ); } if ( $live_search && Astra_Builder_Helper::is_component_loaded( 'search', 'header', 'mobile' ) ) { $css_output_tablet['.ast-mobile-header-content .ast-header-search .ast-search-menu-icon .search-form'] = array( 'overflow' => 'visible', // To fix search results container should overflow inside offcanvas (AST-3604). ); } $css_output_mobile = array( $selector . ' .astra-search-icon' => array( 'color' => esc_attr( $icon_color_mobile ), 'font-size' => astra_get_css_value( $icon_size_mobile, 'px' ), ), $selector . ' .search-field::placeholder,' . $selector . ' .ast-icon' => array( 'color' => esc_attr( $icon_color_mobile ), ), $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); if ( $search_width_applicable ) { $css_output_mobile[ $selector . ' form.search-form .search-field, ' . $selector . ' .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field, .ast-mobile-header-content .ast-search-menu-icon .search-form' ] = array( 'width' => astra_get_css_value( astra_get_prop( $search_width, 'mobile' ), 'px' ), ); } /* Parse CSS from array() */ $css_output = astra_search_static_css(); $css_output .= astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector ); return $dynamic_css; } type/header/search/class-astra-header-search-component-loader.php 0000644 00000003303 15105312163 0021101 0 ustar 00 <?php /** * Search Styling Loader for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Header_Search_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_filter( 'astra_get_search', array( $this, 'get_search_markup' ), 10, 3 ); add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-header-builder-search-customizer-preview-js', ASTRA_HEADER_SEARCH_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } /** * Adding Wrapper for Search Form. * * @since 3.0.0 * * @param string $search_markup Search Form Content. * @param string $option Search Form Options. * @param string $device Device Desktop/Tablet/Mobile. * @return Search HTML structure created. */ public static function get_search_markup( $search_markup, $option = '', $device = '' ) { if ( is_customize_preview() ) { Astra_Builder_UI_Controller::render_customizer_edit_button(); } return $search_markup; } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Search_Component_Loader(); type/header/search/assets/js/unminified/customizer-preview.js 0000644 00000013616 15105312163 0020514 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; var selector = '.ast-header-search'; var section = 'section-header-search'; // Icon Color. astra_color_responsive_css( 'header-search-icon-color', 'astra-settings[header-search-icon-color]', 'color', selector + ' .astra-search-icon, ' + selector + ' .search-field::placeholder,' + selector + ' .ast-icon' ); // Icon Size. astra_css( 'astra-settings[header-search-icon-space]', 'font-size', selector + ' .astra-search-icon', 'px' ); // Icon Size. wp.customize( 'astra-settings[header-search-icon-space]', function( value ) { value.bind( function( size ) { if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' .astra-search-icon {'; dynamicStyle += 'font-size: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .astra-search-icon {'; dynamicStyle += 'font-size: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .astra-search-icon {'; dynamicStyle += 'font-size: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'header-search-icon-space', dynamicStyle ); } } ); } ); wp.customize( 'astra-settings[header-search-width]', function( setting ) { setting.bind( function( width ) { if ( width['desktop'] != '' || width['tablet'] != '' || width['mobile'] != '' ) { var dynamicStyle = '.ast-header-search form.search-form .search-field, .ast-header-search .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field {'; dynamicStyle += 'width:' + width['desktop'] + 'px;'; dynamicStyle += '} '; dynamicStyle += '@media( max-width: ' + astColors.tablet_break_point + 'px ) {'; dynamicStyle += '.ast-header-search form.search-form .search-field, .ast-header-search .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field, .ast-mobile-header-content .ast-search-menu-icon .search-form {'; dynamicStyle += 'width:' + width['tablet'] + 'px;'; dynamicStyle += '} }'; dynamicStyle += '@media( max-width: ' + astColors.mobile_break_point + 'px ) {'; dynamicStyle += '.ast-header-search form.search-form .search-field, .ast-header-search .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field, .ast-mobile-header-content .ast-search-menu-icon .search-form {'; dynamicStyle += 'width:' + width['mobile'] + 'px;'; dynamicStyle += '} }'; astra_add_dynamic_css( 'astra-settings[header-search-width]', dynamicStyle ); } }); }); // Margin. wp.customize( 'astra-settings[section-header-search-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var selector = '.ast-hfb-header .site-header-section > .ast-header-search, .ast-hfb-header .ast-header-search'; var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'header-search-margin', dynamicStyle ); } } ); } ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector ); } )( jQuery ); type/header/search/assets/js/minified/customizer-preview.min.js 0000644 00000006160 15105312163 0020727 0 ustar 00 (()=>{var s=astraBuilderPreview.tablet_break_point||768,i=astraBuilderPreview.mobile_break_point||544,a=".ast-header-search";astra_color_responsive_css("header-search-icon-color","astra-settings[header-search-icon-color]","color",a+" .astra-search-icon, "+a+" .search-field::placeholder,"+a+" .ast-icon"),astra_css("astra-settings[header-search-icon-space]","font-size",a+" .astra-search-icon","px"),wp.customize("astra-settings[header-search-icon-space]",function(e){e.bind(function(e){var t;""==e.desktop&&""==e.tablet&&""==e.mobile||(t="",t=(t=(t=(t=(t=(t+=a+" .astra-search-icon {")+"font-size: "+e.desktop+"px;} ")+"@media (max-width: "+s+"px) {"+a+" .astra-search-icon {")+"font-size: "+e.tablet+"px;} ")+"} @media (max-width: "+i+"px) {")+a+" .astra-search-icon {font-size: "+e.mobile+"px;} } ",astra_add_dynamic_css("header-search-icon-space",t))})}),wp.customize("astra-settings[header-search-width]",function(e){e.bind(function(e){var t;""==e.desktop&&""==e.tablet&&""==e.mobile||(t=(t=(t=(t=(t=(t=".ast-header-search form.search-form .search-field, .ast-header-search .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field {")+"width:"+e.desktop+"px;} ")+"@media( max-width: "+astColors.tablet_break_point+"px ) {.ast-header-search form.search-form .search-field, .ast-header-search .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field, .ast-mobile-header-content .ast-search-menu-icon .search-form {")+"width:"+e.tablet+"px;} }")+"@media( max-width: "+astColors.mobile_break_point+"px ) {.ast-header-search form.search-form .search-field, .ast-header-search .ast-dropdown-active.ast-search-menu-icon.slide-search input.search-field, .ast-mobile-header-content .ast-search-menu-icon .search-form {")+"width:"+e.mobile+"px;} }",astra_add_dynamic_css("astra-settings[header-search-width]",t))})}),wp.customize("astra-settings[section-header-search-margin]",function(e){e.bind(function(e){var t,a;""==e.desktop.bottom&&""==e.desktop.top&&""==e.desktop.left&&""==e.desktop.right&&""==e.tablet.bottom&&""==e.tablet.top&&""==e.tablet.left&&""==e.tablet.right&&""==e.mobile.bottom&&""==e.mobile.top&&""==e.mobile.left&&""==e.mobile.right||(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a="")+(t=".ast-hfb-header .site-header-section > .ast-header-search, .ast-hfb-header .ast-header-search")+" {margin-left: "+e.desktop.left+e["desktop-unit"]+";")+"margin-right: "+e.desktop.right+e["desktop-unit"]+";")+"margin-top: "+e.desktop.top+e["desktop-unit"]+";")+"margin-bottom: "+e.desktop.bottom+e["desktop-unit"]+";")+"} @media (max-width: "+s+"px) {")+t+" {margin-left: "+e.tablet.left+e["tablet-unit"]+";")+"margin-right: "+e.tablet.right+e["tablet-unit"]+";")+"margin-top: "+e.tablet.top+e["desktop-unit"]+";")+"margin-bottom: "+e.tablet.bottom+e["desktop-unit"]+";} ")+"} @media (max-width: "+i+"px) {")+t+" {margin-left: "+e.mobile.left+e["mobile-unit"]+";")+"margin-right: "+e.mobile.right+e["mobile-unit"]+";")+"margin-top: "+e.mobile.top+e["desktop-unit"]+";")+"margin-bottom: "+e.mobile.bottom+e["desktop-unit"]+";} } ",astra_add_dynamic_css("header-search-margin",a))})}),astra_builder_visibility_css("section-header-search",a)})(jQuery); type/header/search/class-astra-header-search-component.php 0000644 00000004402 15105312163 0017636 0 ustar 00 <?php /** * Search for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_HEADER_SEARCH_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/search' ); define( 'ASTRA_HEADER_SEARCH_URI', ASTRA_THEME_URI . 'inc/builder/type/header/search' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Header_Search_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_HEADER_SEARCH_DIR . '/class-astra-header-search-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_HEADER_SEARCH_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound add_filter( 'rest_post_query', array( $this, 'astra_update_rest_post_query' ), 10, 2 ); } /** * Update REST Post Query for live search. * * @since 4.4.0 * @param array $args Query args. * @param array $request Request args. * @return array */ public function astra_update_rest_post_query( $args, $request ) { if ( isset( $request['post_type'] ) && ( strpos( $request['post_type'], 'ast_queried' ) !== false ) ) { $search_post_types = explode( ':', sanitize_text_field( $request['post_type'] ) ); $args = array( 'posts_per_page' => ! empty( $args['posts_per_page'] ) ? $args['posts_per_page'] : 10, 'post_type' => $search_post_types, 'paged' => 1, 's' => ! empty( $args['s'] ) ? $args['s'] : '', ); if ( in_array( 'product', $search_post_types ) ) { // Added product visibility checks, excluding hidden or shop-only visibility types. $args['tax_query'][] = array( 'taxonomy' => 'product_visibility', 'field' => 'slug', 'terms' => array( 'exclude-from-search' ), 'operator' => 'NOT IN', ); } } return $args; } } /** * Kicking this off by creating an object. */ new Astra_Header_Search_Component(); type/header/html/class-astra-header-html-component.php 0000644 00000002202 15105312163 0017030 0 ustar 00 <?php /** * HTML component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_HEADER_HTML_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/html' ); define( 'ASTRA_HEADER_HTML_URI', ASTRA_THEME_URI . 'inc/builder/type/header/html' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Header_Html_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_HEADER_HTML_DIR . '/class-astra-header-html-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_HEADER_HTML_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Header_Html_Component(); type/header/html/dynamic-css/dynamic.css.php 0000644 00000001254 15105312163 0015056 0 ustar 00 <?php /** * HTML control - Dynamic CSS * * @package Astra Builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Heading Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_html_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_hb_html_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { $dynamic_css .= Astra_Html_Component_Dynamic_CSS::astra_html_dynamic_css( 'header' ); return $dynamic_css; } type/header/html/assets/js/unminified/customizer-preview.js 0000644 00000000706 15105312163 0020207 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra Builder * @since 3.0.0 */ ( function( $ ) { astra_builder_html_css( 'header', AstraBuilderHTMLData.component_limit ); } )( jQuery ); type/header/html/assets/js/minified/customizer-preview.min.js 0000644 00000000115 15105312163 0020420 0 ustar 00 jQuery,astra_builder_html_css("header",AstraBuilderHTMLData.component_limit); type/header/html/class-astra-header-html-component-loader.php 0000644 00000002646 15105312163 0020310 0 ustar 00 <?php /** * HTML Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Header_Html_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-heading-html-customizer-preview-js', ASTRA_HEADER_HTML_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'ahfb-base-customizer-preview' ), ASTRA_THEME_VERSION, true ); // Localize variables for HTML JS. wp_localize_script( 'astra-heading-html-customizer-preview-js', 'AstraBuilderHTMLData', array( 'component_limit' => defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_html, ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Html_Component_Loader(); type/header/woo-cart/dynamic-css/dynamic.css.php 0000644 00000131232 15105312163 0015645 0 ustar 00 <?php /** * WooCommerce Cart - Dynamic CSS * * @package Astra * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Search */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_woo_cart_dynamic_css' ); if ( ! function_exists( 'astra_cart_position' ) ) { /** * Position markup * * @since 3.9.0 * @param string $postion Position. * @param string $device Device type. * @return array */ function astra_cart_position( $postion, $device ) { switch ( $postion ) { case 'bottom': return array( '.ast-cart-' . $device . '-position-bottom' => array( 'flex-direction' => 'column', 'padding-top' => '7px', 'padding-bottom' => '5px', ), '.ast-cart-' . $device . '-position-bottom .ast-woo-header-cart-info-wrap' => array( 'order' => 2, 'line-height' => 1, 'margin-top' => '0.5em', ), ); case 'right': return array( '.ast-cart-' . $device . '-position-right .ast-woo-header-cart-info-wrap' => array( 'order' => 2, 'margin-left' => '0.7em', ), ); case 'left': return array( '.ast-cart-' . $device . '-position-left .ast-woo-header-cart-info-wrap' => array( 'margin-right' => '0.5em', ), ); default: break; } } } /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Search. * * @since 3.0.0 */ function astra_hb_woo_cart_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'woo-cart', 'header' ) ) { return $dynamic_css; } $selector = '.ast-site-header-cart'; $trans_header_selector = 'body.ast-theme-transparent-header .ast-site-header-cart'; $theme_color = astra_get_option( 'theme-color' ); $icon_color = esc_attr( astra_get_option( 'header-woo-cart-icon-color', $theme_color ) ); $icon_hover_color = esc_attr( astra_get_option( 'header-woo-cart-icon-hover-color' ) ); // icon cart hover color. $header_cart_icon_radius_fields = astra_get_option( 'woo-header-cart-icon-radius-fields' ); $cart_h_color = astra_get_foreground_color( $icon_color ); $header_cart_icon_style = astra_get_option( 'woo-header-cart-icon-style' ); $theme_h_color = astra_get_foreground_color( $theme_color ); $cart_products_count_color = astra_get_option( 'woo-header-cart-product-count-color', $theme_h_color ); $cart_products_count_color_hover = astra_get_option( 'woo-header-cart-product-count-h-color' ); $transparent_header_icon_color = esc_attr( astra_get_option( 'transparent-header-woo-cart-icon-color', $icon_color ) ); $transparent_header_cart_h_color = astra_get_foreground_color( $transparent_header_icon_color ); $header_woo_cart_list = astra_get_option( 'woo-header-cart-icon', 'default' ); if ( 'none' === $header_cart_icon_style ) { $icon_color = $theme_color; $transparent_header_icon_color = $theme_color; } /** * - WooCommerce cart styles. */ $cart_text_color = astra_get_option( 'header-woo-cart-text-color' ); $cart_link_color = astra_get_option( 'header-woo-cart-link-color' ); $cart_bg_color = astra_get_option( 'header-woo-cart-background-color' ); $cart_h_bg_color = astra_get_option( 'header-woo-cart-background-hover-color' ); $cart_separator_color = astra_get_option( 'header-woo-cart-separator-color' ); $cart_h_link_color = astra_get_option( 'header-woo-cart-link-hover-color' ); $cart_button_text_color = astra_get_option( 'header-woo-cart-btn-text-color' ); $cart_icon_size = astra_get_option( 'header-woo-cart-icon-size' ); $cart_button_bg_color = astra_get_option( 'header-woo-cart-btn-background-color' ); $cart_button_text_h_color = astra_get_option( 'header-woo-cart-btn-text-hover-color' ); $cart_button_bg_h_color = astra_get_option( 'header-woo-cart-btn-bg-hover-color' ); $checkout_button_text_color = astra_get_option( 'header-woo-checkout-btn-text-color' ); $checkout_button_bg_color = astra_get_option( 'header-woo-checkout-btn-background-color' ); $checkout_button_text_h_color = astra_get_option( 'header-woo-checkout-btn-text-hover-color' ); $checkout_button_bg_h_color = astra_get_option( 'header-woo-checkout-btn-bg-hover-color' ); $cart_total_label_position = astra_get_option( 'woo-header-cart-icon-total-label-position' ); $cart_badge_display = astra_get_option( 'woo-header-cart-badge-display' ); $check_transparent_is_enabled_on = astra_get_option( 'transparent-header-on-devices' ); $header_cart_icon = ''; $cart_text_color_desktop = ! empty( $cart_text_color['desktop'] ) ? $cart_text_color['desktop'] : ''; $cart_text_color_mobile = ! empty( $cart_text_color['mobile'] ) ? $cart_text_color['mobile'] : ''; $cart_text_color_tablet = ! empty( $cart_text_color['tablet'] ) ? $cart_text_color['tablet'] : ''; $cart_bg_color_desktop = ! empty( $cart_bg_color['desktop'] ) ? $cart_bg_color['desktop'] : ''; $cart_bg_color_mobile = ! empty( $cart_bg_color['mobile'] ) ? $cart_bg_color['mobile'] : ''; $cart_bg_color_tablet = ! empty( $cart_bg_color['tablet'] ) ? $cart_bg_color['tablet'] : ''; $cart_h_bg_color_desktop = ! empty( $cart_h_bg_color['desktop'] ) ? $cart_h_bg_color['desktop'] : ''; $cart_h_bg_color_mobile = ! empty( $cart_h_bg_color['mobile'] ) ? $cart_h_bg_color['mobile'] : ''; $cart_h_bg_color_tablet = ! empty( $cart_h_bg_color['tablet'] ) ? $cart_h_bg_color['tablet'] : ''; $cart_link_color_desktop = ! empty( $cart_link_color['desktop'] ) ? $cart_link_color['desktop'] : ''; $cart_link_color_mobile = ! empty( $cart_link_color['mobile'] ) ? $cart_link_color['mobile'] : ''; $cart_link_color_tablet = ! empty( $cart_link_color['tablet'] ) ? $cart_link_color['tablet'] : ''; $cart_separator_color_desktop = ! empty( $cart_separator_color['desktop'] ) ? $cart_separator_color['desktop'] : ''; $cart_separator_color_mobile = ! empty( $cart_separator_color['mobile'] ) ? $cart_separator_color['mobile'] : ''; $cart_separator_color_tablet = ! empty( $cart_separator_color['tablet'] ) ? $cart_separator_color['tablet'] : ''; $cart_h_link_color_desktop = ! empty( $cart_h_link_color['desktop'] ) ? $cart_h_link_color['desktop'] : ''; $cart_h_link_color_mobile = ! empty( $cart_h_link_color['mobile'] ) ? $cart_h_link_color['mobile'] : ''; $cart_h_link_color_tablet = ! empty( $cart_h_link_color['tablet'] ) ? $cart_h_link_color['tablet'] : ''; $checkout_button_text_color_desktop = ! empty( $checkout_button_text_color['desktop'] ) ? $checkout_button_text_color['desktop'] : ''; $checkout_button_text_color_mobile = ! empty( $checkout_button_text_color['mobile'] ) ? $checkout_button_text_color['mobile'] : ''; $checkout_button_text_color_tablet = ! empty( $checkout_button_text_color['tablet'] ) ? $checkout_button_text_color['tablet'] : ''; $checkout_button_bg_color_desktop = ! empty( $checkout_button_bg_color['desktop'] ) ? $checkout_button_bg_color['desktop'] : ''; $checkout_button_bg_color_mobile = ! empty( $checkout_button_bg_color['mobile'] ) ? $checkout_button_bg_color['mobile'] : ''; $checkout_button_bg_color_tablet = ! empty( $checkout_button_bg_color['tablet'] ) ? $checkout_button_bg_color['tablet'] : ''; $checkout_button_text_h_color_desktop = ! empty( $checkout_button_text_h_color['desktop'] ) ? $checkout_button_text_h_color['desktop'] : ''; $checkout_button_text_h_color_mobile = ! empty( $checkout_button_text_h_color['mobile'] ) ? $checkout_button_text_h_color['mobile'] : ''; $checkout_button_text_h_color_tablet = ! empty( $checkout_button_text_h_color['tablet'] ) ? $checkout_button_text_h_color['tablet'] : ''; $checkout_button_bg_h_color_desktop = ! empty( $checkout_button_bg_h_color['desktop'] ) ? $checkout_button_bg_h_color['desktop'] : ''; $checkout_button_bg_h_color_mobile = ! empty( $checkout_button_bg_h_color['mobile'] ) ? $checkout_button_bg_h_color['mobile'] : ''; $checkout_button_bg_h_color_tablet = ! empty( $checkout_button_bg_h_color['tablet'] ) ? $checkout_button_bg_h_color['tablet'] : ''; $cart_button_text_color_desktop = ! empty( $cart_button_text_color['desktop'] ) ? $cart_button_text_color['desktop'] : ''; $cart_button_text_color_mobile = ! empty( $cart_button_text_color['mobile'] ) ? $cart_button_text_color['mobile'] : ''; $cart_button_text_color_tablet = ! empty( $cart_button_text_color['tablet'] ) ? $cart_button_text_color['tablet'] : ''; $cart_button_bg_color_desktop = ! empty( $cart_button_bg_color['desktop'] ) ? $cart_button_bg_color['desktop'] : ''; $cart_button_bg_color_mobile = ! empty( $cart_button_bg_color['mobile'] ) ? $cart_button_bg_color['mobile'] : ''; $cart_button_bg_color_tablet = ! empty( $cart_button_bg_color['tablet'] ) ? $cart_button_bg_color['tablet'] : ''; $cart_button_text_h_color_desktop = ! empty( $cart_button_text_h_color['desktop'] ) ? $cart_button_text_h_color['desktop'] : ''; $cart_button_text_h_color_mobile = ! empty( $cart_button_text_h_color['mobile'] ) ? $cart_button_text_h_color['mobile'] : ''; $cart_button_text_h_color_tablet = ! empty( $cart_button_text_h_color['tablet'] ) ? $cart_button_text_h_color['tablet'] : ''; $cart_button_bg_h_color_desktop = ! empty( $cart_button_bg_h_color['desktop'] ) ? $cart_button_bg_h_color['desktop'] : ''; $cart_button_bg_h_color_mobile = ! empty( $cart_button_bg_h_color['mobile'] ) ? $cart_button_bg_h_color['mobile'] : ''; $cart_button_bg_h_color_tablet = ! empty( $cart_button_bg_h_color['tablet'] ) ? $cart_button_bg_h_color['tablet'] : ''; $cart_label_position_desktop = ! empty( $cart_total_label_position['desktop'] ) ? $cart_total_label_position['desktop'] : ''; $cart_label_position_mobile = ! empty( $cart_total_label_position['mobile'] ) ? $cart_total_label_position['mobile'] : ''; $cart_label_position_tablet = ! empty( $cart_total_label_position['tablet'] ) ? $cart_total_label_position['tablet'] : ''; $cart_icon_size_desktop = isset( $cart_icon_size ) && isset( $cart_icon_size['desktop'] ) && ! empty( $cart_icon_size['desktop'] ) ? $cart_icon_size['desktop'] : ''; $cart_icon_size_tablet = isset( $cart_icon_size ) && isset( $cart_icon_size['tablet'] ) && ! empty( $cart_icon_size['tablet'] ) ? $cart_icon_size['tablet'] : ''; $cart_icon_size_mobile = isset( $cart_icon_size ) && isset( $cart_icon_size['mobile'] ) && ! empty( $cart_icon_size['mobile'] ) ? $cart_icon_size['mobile'] : ''; /** * Woo Cart CSS. */ $css_output_desktop = array( $selector . ' .ast-cart-menu-wrap, ' . $selector . ' .ast-addon-cart-wrap' => array( 'color' => $icon_color, ), $selector . ' .ast-cart-menu-wrap .count, ' . $selector . ' .ast-cart-menu-wrap .count:after, ' . $selector . ' .ast-addon-cart-wrap .count, ' . $selector . ' .ast-addon-cart-wrap .ast-icon-shopping-cart:after' => array( 'color' => $icon_color, 'border-color' => $icon_color, ), $selector . ' .ast-addon-cart-wrap .ast-icon-shopping-cart:after' => array( 'color' => esc_attr( $theme_h_color ), 'background-color' => esc_attr( $icon_color ), ), $selector . ' .ast-woo-header-cart-info-wrap' => array( 'color' => esc_attr( $icon_color ), ), $selector . ' .ast-addon-cart-wrap i.astra-icon:after' => array( 'color' => esc_attr( $theme_h_color ), 'background-color' => esc_attr( $icon_color ), ), '.ast-icon-shopping-bag .ast-icon svg, .ast-icon-shopping-cart .ast-icon svg, .ast-icon-shopping-basket .ast-icon svg' => array( 'height' => astra_get_css_value( $cart_icon_size_desktop, 'px' ), 'width' => astra_get_css_value( $cart_icon_size_desktop, 'px' ), ), '.ast-cart-menu-wrap, i.astra-icon.ast-icon-shopping-' . $header_woo_cart_list => array( 'font-size' => astra_get_css_value( $cart_icon_size_desktop, 'px' ), ), $selector . ' a.cart-container *' => array( 'transition' => 'none', ), /** * General Woo Cart tray color for widget */ '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a:not(.button), .astra-cart-drawer .widget_shopping_cart_content a:not(.button)' => array( 'color' => esc_attr( $cart_link_color_desktop ), ), '.ast-site-header-cart-data span, .ast-site-header-cart-data strong, .ast-site-header-cart-data .woocommerce-mini-cart__empty-message, .ast-site-header-cart-data .total .woocommerce-Price-amount, .ast-site-header-cart-data .total .woocommerce-Price-amount .woocommerce-Price-currencySymbol, .ast-header-woo-cart .ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove' => array( 'color' => esc_attr( $cart_text_color_desktop ), ), '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a:not(.button):hover, .astra-cart-drawer .widget_shopping_cart_content a:not(.button):hover' => array( 'color' => esc_attr( $cart_h_link_color_desktop ), ), '.ast-site-header-cart .woocommerce.widget_shopping_cart, div.astra-cart-drawer ' => array( 'background-color' => esc_attr( $cart_bg_color_desktop ), 'border-color' => esc_attr( $cart_bg_color_desktop ), ), '.ast-site-header-cart .widget_shopping_cart:hover, .astra-cart-drawer:hover' => array( 'background-color' => esc_attr( $cart_h_bg_color_desktop ), 'border-color' => esc_attr( $cart_h_bg_color_desktop ), ), '.ast-site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total, .astra-cart-drawer .astra-cart-drawer-, .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__total, .astra-cart-drawer .astra-cart-drawer-header' => array( 'border-top-color' => esc_attr( $cart_separator_color_desktop ), 'border-bottom-color' => esc_attr( $cart_separator_color_desktop ), ), '.ast-site-header-cart .widget_shopping_cart .mini_cart_item,.astra-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content ul li' => array( 'border-bottom-color' => $cart_separator_color_desktop ? astra_hex_to_rgba( $cart_separator_color_desktop ) : '', ), '.ast-site-header-cart .widget_shopping_cart:before, .ast-site-header-cart .widget_shopping_cart:after, .open-preview-woocommerce-cart .ast-site-header-cart .widget_shopping_cart:before' => array( 'border-bottom-color' => esc_attr( $cart_bg_color_desktop ), ), '.ast-site-header-cart:hover .widget_shopping_cart:hover:before, .ast-site-header-cart:hover .widget_shopping_cart:hover:after, .open-preview-woocommerce-cart .ast-site-header-cart .widget_shopping_cart:hover:before' => array( 'border-bottom-color' => esc_attr( $cart_h_bg_color_desktop ), ), '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove' => array( 'border-color' => esc_attr( $cart_text_color_desktop ), ), '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove:hover, .ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item:hover > a.remove' => array( 'color' => esc_attr( $cart_h_link_color_desktop ), 'border-color' => esc_attr( $cart_h_link_color_desktop ), 'background-color' => esc_attr( $cart_h_bg_color_desktop ), ), '.ast-icon-shopping-bag svg' => array( 'height' => '1em', 'width' => '1em', ), '.ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-addon-cart-wrap' => array( 'line-height' => '1', ), '.ast-hfb-header .ast-addon-cart-wrap' => array( ' padding' => '0.4em', ), /** * Cart button color for widget */ '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a.button.wc-forward:not(.checkout), .woocommerce-js .astra-cart-drawer .widget_shopping_cart_content a.button.wc-forward:not(.checkout), .ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a.button.wc-forward:not(.checkout), .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping)' => array( 'color' => esc_attr( $cart_button_text_color_desktop ), 'background-color' => esc_attr( $cart_button_bg_color_desktop ), ), '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a.button.wc-forward:not(.checkout):hover, .woocommerce-js .astra-cart-drawer .widget_shopping_cart_content a.button.wc-forward:not(.checkout):hover, .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping):hover' => array( 'color' => esc_attr( $cart_button_text_h_color_desktop ), 'background-color' => esc_attr( $cart_button_bg_h_color_desktop ), ), /** * Checkout button color for widget */ '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a.button.checkout.wc-forward, .astra-cart-drawer .widget_shopping_cart_content a.button.checkout.wc-forward' => array( 'color' => esc_attr( $checkout_button_text_color_desktop ), 'border-color' => esc_attr( $checkout_button_bg_color_desktop ), 'background-color' => esc_attr( $checkout_button_bg_color_desktop ), ), '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a.button.checkout.wc-forward:hover, .astra-cart-drawer .widget_shopping_cart_content a.button.checkout.wc-forward:hover' => array( 'color' => esc_attr( $checkout_button_text_h_color_desktop ), 'background-color' => esc_attr( $checkout_button_bg_h_color_desktop ), ), '.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon:after, .ast-theme-transparent-header .ast-site-header-cart .ast-addon-cart-wrap i.astra-icon:after' => array( 'color' => esc_attr( $cart_products_count_color ), ), ); // Offcanvas cart. $flyout_cart_width = astra_get_option( 'woo-slide-in-cart-width' ); $flyout_cart_width_desktop = isset( $flyout_cart_width['desktop'] ) ? $flyout_cart_width['desktop'] : ''; $flyout_cart_width_tablet = isset( $flyout_cart_width['tablet'] ) ? $flyout_cart_width['tablet'] : ''; $flyout_cart_width_mobile = isset( $flyout_cart_width['mobile'] ) ? $flyout_cart_width['mobile'] : ''; $flyout_cart_width_desktop_unit = isset( $flyout_cart_width['desktop-unit'] ) ? $flyout_cart_width['desktop-unit'] : ''; $flyout_cart_width_tablet_unit = isset( $flyout_cart_width['tablet-unit'] ) ? $flyout_cart_width['tablet-unit'] : ''; $flyout_cart_width_mobile_unit = isset( $flyout_cart_width['mobile-unit'] ) ? $flyout_cart_width['mobile-unit'] : ''; if ( 'flyout' === astra_get_option( 'woo-header-cart-click-action' ) || is_customize_preview() ) { $desktop_flyout_cart_direction = astra_get_option( 'woo-desktop-cart-flyout-direction' ); $css_output_desktop['.ast-desktop-cart-flyout.ast-site-header-cart:focus .widget_shopping_cart, .ast-desktop-cart-flyout.ast-site-header-cart:hover .widget_shopping_cart'] = array( 'opacity' => '0', 'visibility' => 'hidden', ); $css_output_desktop['.ast-desktop .astra-cart-drawer'] = array( 'width' => astra_get_css_value( $flyout_cart_width_desktop, $flyout_cart_width_desktop_unit ), ); if ( 'left' === $desktop_flyout_cart_direction ) { $css_output_desktop['.ast-desktop .astra-cart-drawer'] = array( 'width' => astra_get_css_value( $flyout_cart_width_desktop, $flyout_cart_width_desktop_unit ), 'left' => '-' . astra_get_css_value( $flyout_cart_width_desktop, $flyout_cart_width_desktop_unit ), ); $css_output_desktop['.ast-desktop .astra-cart-drawer.active'] = array( 'left' => astra_get_css_value( $flyout_cart_width_desktop, $flyout_cart_width_desktop_unit ), ); } } /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $responsive_selector = '.astra-cart-drawer'; $css_output_mobile = array( $responsive_selector . ' .astra-cart-drawer-title, ' . $responsive_selector . ' .widget_shopping_cart_content span, ' . $responsive_selector . ' .widget_shopping_cart_content strong,' . $responsive_selector . ' .woocommerce-mini-cart__empty-message, .astra-cart-drawer .woocommerce-mini-cart *' => array( 'color' => esc_attr( $cart_text_color_mobile ), ), $responsive_selector . ' .widget_shopping_cart .mini_cart_item a.remove' => array( 'border-color' => esc_attr( $cart_text_color_mobile ), ), $responsive_selector . '#astra-mobile-cart-drawer' => array( 'background-color' => esc_attr( $cart_bg_color_mobile ), 'border-color' => esc_attr( $cart_bg_color_mobile ), ), $responsive_selector . '#astra-mobile-cart-drawer:hover' => array( 'background-color' => esc_attr( $cart_h_bg_color_mobile ), 'border-color' => esc_attr( $cart_h_bg_color_mobile ), ), '#astra-mobile-cart-drawer:hover .widget_shopping_cart:before, #astra-mobile-cart-drawer:hover .widget_shopping_cart:after, .open-preview-woocommerce-cart #astra-mobile-cart-drawer .widget_shopping_cart:before' => array( 'border-bottom-color' => esc_attr( $cart_bg_color_mobile ), ), $responsive_selector . ' .widget_shopping_cart .mini_cart_item a.remove:hover,' . $responsive_selector . ' .widget_shopping_cart .mini_cart_item:hover > a.remove' => array( 'color' => esc_attr( $cart_h_link_color_mobile ), 'border-color' => esc_attr( $cart_h_link_color_mobile ), 'background-color' => esc_attr( $cart_bg_color_mobile ), ), $responsive_selector . ' .widget_shopping_cart_content a:not(.button)' => array( 'color' => esc_attr( $cart_link_color_mobile ), ), '#astra-mobile-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__total, .astra-cart-drawer .astra-cart-drawer-header' => array( 'border-top-color' => esc_attr( $cart_separator_color_mobile ), 'border-bottom-color' => esc_attr( $cart_separator_color_mobile ), ), '#astra-mobile-cart-drawer .widget_shopping_cart .mini_cart_item' => array( 'border-bottom-color' => $cart_separator_color_mobile ? astra_hex_to_rgba( $cart_separator_color_mobile ) : '', ), $responsive_selector . ' .widget_shopping_cart_content a:not(.button):hover' => array( 'color' => esc_attr( $cart_h_link_color_mobile ), ), $responsive_selector . '.ast-icon-shopping-bag .ast-icon svg, .ast-icon-shopping-cart .ast-icon svg, .ast-icon-shopping-basket .ast-icon svg' => array( 'height' => astra_get_css_value( $cart_icon_size_mobile, 'px' ), 'width' => astra_get_css_value( $cart_icon_size_mobile, 'px' ), ), '.ast-header-break-point.ast-hfb-header .ast-cart-menu-wrap, i.astra-icon.ast-icon-shopping-' . $header_woo_cart_list => array( 'font-size' => astra_get_css_value( $cart_icon_size_mobile, 'px' ), ), /** * Mobile flyout cart width. */ $responsive_selector . '.active' => array( 'width' => astra_get_css_value( $flyout_cart_width_mobile, $flyout_cart_width_mobile_unit ), ), /** * Checkout button color for widget */ $responsive_selector . ' .widget_shopping_cart_content a.button.checkout.wc-forward' => array( 'color' => esc_attr( $checkout_button_text_color_mobile ), 'border-color' => esc_attr( $checkout_button_bg_color_mobile ), 'background-color' => esc_attr( $checkout_button_bg_color_mobile ), ), $responsive_selector . ' .widget_shopping_cart_content a.button.checkout.wc-forward:hover' => array( 'color' => esc_attr( $checkout_button_text_h_color_mobile ), 'background-color' => esc_attr( $checkout_button_bg_h_color_mobile ), ), /** * Cart button color for widget */ '.woocommerce-js ' . $responsive_selector . ' .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping)' => array( 'color' => esc_attr( $cart_button_text_color_mobile ), 'background-color' => esc_attr( $cart_button_bg_color_mobile ), ), '.woocommerce-js ' . $responsive_selector . ' .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping):hover' => array( 'color' => esc_attr( $cart_button_text_h_color_mobile ), 'background-color' => esc_attr( $cart_button_bg_h_color_mobile ), ), ); $css_output_tablet = array( $responsive_selector . ' .astra-cart-drawer-title, ' . $responsive_selector . ' .widget_shopping_cart_content span, ' . $responsive_selector . ' .widget_shopping_cart_content strong,' . $responsive_selector . ' .woocommerce-mini-cart__empty-message, .astra-cart-drawer .woocommerce-mini-cart *' => array( 'color' => esc_attr( $cart_text_color_tablet ), ), $responsive_selector . ' .widget_shopping_cart .mini_cart_item a.remove' => array( 'border-color' => esc_attr( $cart_text_color_tablet ), ), $responsive_selector . '#astra-mobile-cart-drawer' => array( 'background-color' => esc_attr( $cart_bg_color_tablet ), 'border-color' => esc_attr( $cart_bg_color_tablet ), ), $responsive_selector . '#astra-mobile-cart-drawer:hover' => array( 'background-color' => esc_attr( $cart_h_bg_color_tablet ), 'border-color' => esc_attr( $cart_h_bg_color_tablet ), ), '#astra-mobile-cart-drawer:hover .widget_shopping_cart:before, #astra-mobile-cart-drawer:hover .widget_shopping_cart:after, .open-preview-woocommerce-cart #astra-mobile-cart-drawer .widget_shopping_cart:before' => array( 'border-bottom-color' => esc_attr( $cart_bg_color_tablet ), ), $responsive_selector . ' .widget_shopping_cart .mini_cart_item a.remove:hover,' . $responsive_selector . ' .widget_shopping_cart .mini_cart_item:hover > a.remove' => array( 'color' => esc_attr( $cart_h_link_color_tablet ), 'border-color' => esc_attr( $cart_h_link_color_tablet ), 'background-color' => esc_attr( $cart_bg_color_tablet ), ), $responsive_selector . ' .widget_shopping_cart_content a:not(.button)' => array( 'color' => esc_attr( $cart_link_color_tablet ), ), '#astra-mobile-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__total, .astra-cart-drawer .astra-cart-drawer-header' => array( 'border-top-color' => esc_attr( $cart_separator_color_tablet ), 'border-bottom-color' => esc_attr( $cart_separator_color_tablet ), ), '#astra-mobile-cart-drawer .widget_shopping_cart .mini_cart_item' => array( 'border-bottom-color' => $cart_separator_color_tablet ? astra_hex_to_rgba( $cart_separator_color_tablet ) : '', ), $responsive_selector . ' .widget_shopping_cart_content a:not(.button):hover' => array( 'color' => esc_attr( $cart_h_link_color_tablet ), ), $responsive_selector . '.ast-icon-shopping-bag .ast-icon svg, .ast-icon-shopping-cart .ast-icon svg, .ast-icon-shopping-basket .ast-icon svg' => array( 'height' => astra_get_css_value( $cart_icon_size_tablet, 'px' ), 'width' => astra_get_css_value( $cart_icon_size_tablet, 'px' ), ), '.ast-header-break-point.ast-hfb-header .ast-cart-menu-wrap, i.astra-icon.ast-icon-shopping-' . $header_woo_cart_list => array( 'font-size' => astra_get_css_value( $cart_icon_size_tablet, 'px' ), ), /** * Tablet flyout cart width. */ $responsive_selector . '.active' => array( 'width' => astra_get_css_value( $flyout_cart_width_tablet, $flyout_cart_width_tablet_unit ), ), /** * Checkout button color for widget */ $responsive_selector . ' .widget_shopping_cart_content a.button.checkout.wc-forward' => array( 'color' => esc_attr( $checkout_button_text_color_tablet ), 'border-color' => esc_attr( $checkout_button_bg_color_tablet ), 'background-color' => esc_attr( $checkout_button_bg_color_tablet ), ), $responsive_selector . ' .widget_shopping_cart_content a.button.checkout.wc-forward:hover' => array( 'color' => esc_attr( $checkout_button_text_h_color_tablet ), 'background-color' => esc_attr( $checkout_button_bg_h_color_tablet ), ), /** * Cart button color for widget */ '.woocommerce-js ' . $responsive_selector . ' .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping)' => array( 'color' => esc_attr( $cart_button_text_color_tablet ), 'background-color' => esc_attr( $cart_button_bg_color_tablet ), ), '.woocommerce-js ' . $responsive_selector . ' .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping):hover' => array( 'color' => esc_attr( $cart_button_text_h_color_tablet ), 'background-color' => esc_attr( $cart_button_bg_h_color_tablet ), ), ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); if ( 'none' !== $header_cart_icon_style ) { if ( function_exists( 'astra_has_pro_woocommerce_addon' ) && ! astra_has_pro_woocommerce_addon() && 'outline' === $header_cart_icon_style && 'default' !== $header_woo_cart_list ) { $border_width = astra_get_option( 'woo-header-cart-border-width' ); $header_cart_icon_outline = array( '.ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-menu-cart-outline .ast-addon-cart-wrap' => array( 'border-style' => 'solid', 'border-color' => esc_attr( $icon_color ), 'border-width' => astra_get_css_value( $border_width, 'px' ), ), ); $css_output .= astra_parse_css( $header_cart_icon_outline ); } $header_cart_icon = array( $selector . ' .ast-cart-menu-wrap, ' . $selector . ' .ast-addon-cart-wrap' => array( 'color' => $icon_color, ), // Outline icon colors. '.ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-menu-cart-outline .ast-addon-cart-wrap' => array( 'color' => esc_attr( $icon_color ), ), // Fix: Count color for the legacy users. ( shopping-default ) [Ref: #AST-3683]. '.ast-menu-cart-outline .ast-cart-menu-wrap .count' => array( 'color' => esc_attr( $cart_products_count_color ), ), // Fix: Count hover color for the legacy users. ( shopping-default ) [Ref: #AST-3683]. '.ast-site-header-cart .ast-site-header-cart-li:hover .ast-cart-menu-wrap .count .ast-count-text' => array( 'color' => esc_attr( $cart_products_count_color_hover ), ), // Outline Info colors. $selector . ' .ast-menu-cart-outline .ast-woo-header-cart-info-wrap' => array( 'color' => esc_attr( $icon_color ), ), // Border radius. '.ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-outline .ast-woo-header-cart-info-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-woo-header-cart-info-wrap' => array( 'border-top-left-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'top', 'desktop' ), 'border-top-right-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'right', 'desktop' ), 'border-bottom-right-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'bottom', 'desktop' ), 'border-bottom-left-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'left', 'desktop' ), ), ); $header_cart_icon_tablet = array( // Border radius. '.ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-outline .ast-woo-header-cart-info-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-woo-header-cart-info-wrap' => array( 'border-top-left-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'top', 'tablet' ), 'border-top-right-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'right', 'tablet' ), 'border-bottom-right-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'bottom', 'tablet' ), 'border-bottom-left-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'left', 'tablet' ), ), ); $header_cart_icon_mobile = array( // Border radius. '.ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-outline .ast-woo-header-cart-info-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-woo-header-cart-info-wrap' => array( 'border-top-left-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'top', 'mobile' ), 'border-top-right-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'right', 'mobile' ), 'border-bottom-right-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'bottom', 'mobile' ), 'border-bottom-left-radius' => astra_responsive_spacing( $header_cart_icon_radius_fields, 'left', 'mobile' ), ), ); // We adding this conditional CSS only to maintain backwards. Remove this condition after 2-3 updates of add-on. if ( defined( 'ASTRA_EXT_VER' ) && version_compare( ASTRA_EXT_VER, '3.4.2', '<' ) ) { // Outline cart style border. $header_cart_icon['.ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-menu-cart-outline .ast-addon-cart-wrap'] = array( 'border' => '2px solid ' . $icon_color, 'color' => esc_attr( $icon_color ), ); // Transparent Header outline cart style border. $header_cart_icon['.ast-theme-transparent-header .ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-theme-transparent-header .ast-menu-cart-outline .ast-addon-cart-wrap'] = array( 'border' => '2px solid ' . $transparent_header_icon_color, 'color' => esc_attr( $transparent_header_icon_color ), ); } $css_output .= astra_parse_css( $header_cart_icon ); $css_output .= astra_parse_css( $header_cart_icon_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $header_cart_icon_mobile, '', astra_get_mobile_breakpoint() ); } $remove_when_transparent_header = array( // Fill icon Color. '.ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-menu-cart-fill .ast-cart-menu-wrap, .ast-menu-cart-fill .ast-addon-cart-wrap .ast-woo-header-cart-info-wrap, .ast-menu-cart-fill .ast-addon-cart-wrap' => array( 'background-color' => esc_attr( $icon_color ), 'color' => esc_attr( $cart_h_color ), ), // Fill icon hover Color. '.ast-menu-cart-fill .ast-site-header-cart-li:hover .ast-cart-menu-wrap .count, .ast-menu-cart-fill .ast-site-header-cart-li:hover .ast-cart-menu-wrap, .ast-menu-cart-fill .ast-site-header-cart-li:hover .ast-addon-cart-wrap, .ast-menu-cart-fill .ast-site-header-cart-li:hover .ast-addon-cart-wrap .ast-woo-header-cart-info-wrap, .ast-menu-cart-fill .ast-site-header-cart-li:hover .ast-addon-cart-wrap i.astra-icon:after' => array( 'background-color' => $icon_hover_color, 'color' => esc_attr( $cart_h_color ), ), // Outline icon hover Color. $selector . ' .ast-site-header-cart-li:hover .ast-cart-menu-wrap .count, .ast-menu-cart-outline .ast-site-header-cart-li:hover .ast-addon-cart-wrap' => array( 'border-color' => $icon_hover_color, ), $selector . '.ast-menu-cart-outline .ast-site-header-cart-li:hover .ast-cart-menu-wrap .count, .ast-menu-cart-outline .ast-site-header-cart-li:hover .ast-addon-cart-wrap' => array( 'color' => $icon_hover_color, ), $selector . ' .ast-site-header-cart-li:hover .ast-addon-cart-wrap i.astra-icon:after' => array( 'color' => esc_attr( $theme_h_color ), 'background-color' => $icon_hover_color, ), // Label/Fill icon hover Color. '.ast-site-header-cart-li:hover .ast-woo-header-cart-info-wrap,' . $selector . ' .ast-site-header-cart-li:hover .ast-addon-cart-wrap, .ast-menu-cart-outline .ast-site-header-cart-li:hover .ast-addon-cart-wrap .astra-icon' => array( 'color' => $icon_hover_color, ), $selector . ' .ast-site-header-cart-li:hover .ast-cart-menu-wrap .count:after, ' . $selector . ' .ast-site-header-cart-li:hover .ast-addon-cart-wrap .count' => array( 'color' => $icon_hover_color, 'border-color' => $icon_hover_color, ), '.ast-site-header-cart.ast-menu-cart-fill .ast-site-header-cart-li:hover .astra-icon' => array( 'color' => $cart_h_color, ), ); if ( 'default' !== $header_woo_cart_list ) { $svg_cart_icon_not_transparent = array( '.ast-site-header-cart .cart-container:hover .count, .ast-site-header-cart .cart-container:hover .count' => array( 'color' => esc_attr( $cart_h_color ), ), ); if ( ! Astra_Ext_Transparent_Header_Markup::is_transparent_header() ) { $css_output .= astra_parse_css( $svg_cart_icon_not_transparent ); } } $remove_when_tp_header = array( '.ast-site-header-cart .ast-site-header-cart-li:hover .ast-addon-cart-wrap i.astra-icon:after, .ast-theme-transparent-header .ast-site-header-cart .ast-site-header-cart-li:hover .ast-addon-cart-wrap i.astra-icon:after' => array( 'color' => esc_attr( $cart_products_count_color_hover ), ), ); if ( $check_transparent_is_enabled_on && 'desktop' !== $check_transparent_is_enabled_on && 'both' !== $check_transparent_is_enabled_on ) { $css_output .= astra_parse_css( $remove_when_tp_header, astra_get_tablet_breakpoint( '', 1 ) ); } if ( $check_transparent_is_enabled_on && 'mobile' !== $check_transparent_is_enabled_on && 'both' !== $check_transparent_is_enabled_on ) { $css_output .= astra_parse_css( $remove_when_tp_header, '', astra_get_tablet_breakpoint() ); } $add_when_transparent_header = array( $trans_header_selector . ' .ast-cart-menu-wrap .count, ' . $trans_header_selector . ' .ast-cart-menu-wrap .count:after, ' . $trans_header_selector . ' .ast-addon-cart-wrap .count, ' . $trans_header_selector . ' .ast-addon-cart-wrap .ast-icon-shopping-cart:after' => array( 'border-color' => $transparent_header_icon_color, ), $trans_header_selector . ' .ast-addon-cart-wrap .ast-icon-shopping-cart:after' => array( 'color' => esc_attr( $theme_h_color ), 'background-color' => esc_attr( $transparent_header_icon_color ), ), $trans_header_selector . ' .ast-woo-header-cart-info-wrap' => array( 'color' => esc_attr( $transparent_header_icon_color ), ), $trans_header_selector . ' .ast-addon-cart-wrap i.astra-icon:after' => array( 'color' => esc_attr( $transparent_header_cart_h_color ), 'background-color' => esc_attr( $transparent_header_icon_color ), ), // Outline icon colors. '.ast-theme-transparent-header .ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-theme-transparent-header .ast-menu-cart-outline .ast-addon-cart-wrap' => array( 'color' => esc_attr( $transparent_header_icon_color ), 'border-color' => esc_attr( $transparent_header_icon_color ), ), // Fill icon Color. '.ast-theme-transparent-header .ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-theme-transparent-header .ast-menu-cart-fill .ast-cart-menu-wrap, .ast-theme-transparent-header .ast-menu-cart-fill .ast-addon-cart-wrap .ast-woo-header-cart-info-wrap, .ast-theme-transparent-header .ast-menu-cart-fill .ast-addon-cart-wrap' => array( 'background-color' => esc_attr( $transparent_header_icon_color ), 'color' => esc_attr( $transparent_header_cart_h_color ), ), // Outline icon hover colors. '.ast-theme-transparent-header .ast-site-header-cart .ast-cart-menu-wrap:hover .count, .ast-theme-transparent-header .ast-site-header-cart .ast-addon-cart-wrap:hover .count' => array( 'color' => esc_attr( $transparent_header_cart_h_color ), 'background-color' => esc_attr( $transparent_header_icon_color ), ), // Outline Info colors. $trans_header_selector . ' .ast-menu-cart-outline .ast-woo-header-cart-info-wrap' => array( 'color' => esc_attr( $transparent_header_icon_color ), ), ); if ( ! Astra_Ext_Transparent_Header_Markup::is_transparent_header() ) { $css_output .= astra_parse_css( $remove_when_transparent_header ); } if ( Astra_Ext_Transparent_Header_Markup::is_transparent_header() ) { /** @psalm-suppress InvalidScalarArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $tablet_breakpoint = astra_get_tablet_breakpoint( '', 1 ); if ( $check_transparent_is_enabled_on && 'desktop' !== $check_transparent_is_enabled_on && 'both' !== $check_transparent_is_enabled_on ) { /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $remove_when_transparent_header, $tablet_breakpoint, '' ); } if ( $check_transparent_is_enabled_on && 'mobile' !== $check_transparent_is_enabled_on && 'both' !== $check_transparent_is_enabled_on ) { /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $remove_when_transparent_header, '', astra_get_tablet_breakpoint() ); } if ( $check_transparent_is_enabled_on && 'desktop' === $check_transparent_is_enabled_on ) { /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $add_when_transparent_header, $tablet_breakpoint, '' ); } elseif ( $check_transparent_is_enabled_on && 'mobile' === $check_transparent_is_enabled_on ) { /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $add_when_transparent_header, '', astra_get_tablet_breakpoint() ); } else { $css_output .= astra_parse_css( $add_when_transparent_header ); } } /** * Woo Cart Display Badge. */ if ( false === $cart_badge_display ) { $css_badge_output = array( '.astra-icon.astra-icon::after' => array( 'display' => 'none', ), '.ast-count-text' => array( 'display' => 'none', ), ); $css_output .= astra_parse_css( $css_badge_output ); } /** * Added for the Cart total label badge position */ $cart_dynamic_label = astra_get_option( 'woo-header-cart-label-display' ); if ( ! empty( $cart_dynamic_label ) ) { $css_total_position_common_selector = array( '.cart-container, .ast-addon-cart-wrap' => array( 'display' => 'flex', 'align-items' => 'center', ), '.astra-icon' => array( 'line-height' => 0.1, ), ); $css_output .= astra_parse_css( $css_total_position_common_selector ); } if ( 'default' !== $header_woo_cart_list ) { $svg_cart_icon_not_transparent = array( '.ast-site-header-cart .ast-site-header-cart-li:hover .ast-addon-cart-wrap i.astra-icon:after' => array( 'color' => esc_attr( $cart_products_count_color_hover ), ), ); if ( ! Astra_Ext_Transparent_Header_Markup::is_transparent_header() ) { $css_output .= astra_parse_css( $svg_cart_icon_not_transparent ); } } $cart_l_p_mobile = ''; $cart_l_p_tablet = ''; if ( $cart_label_position_desktop ) { $cart_l_p_desktop = astra_cart_position( $cart_label_position_desktop, 'desktop' ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $cart_l_p_desktop, astra_get_tablet_breakpoint( '', '1' ) ); } if ( $cart_label_position_mobile ) { $cart_l_p_mobile = astra_cart_position( $cart_label_position_mobile, 'mobile' ); } if ( $cart_label_position_tablet ) { $cart_l_p_tablet = astra_cart_position( $cart_label_position_tablet, 'tablet' ); } /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $cart_l_p_tablet, astra_get_mobile_breakpoint( '', '1' ), astra_get_tablet_breakpoint() ); /** @psalm-suppress InvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $css_output .= astra_parse_css( $cart_l_p_mobile, '', astra_get_mobile_breakpoint( '', '1' ) ); $angle_transition = array( '.ast-site-header-cart .widget_shopping_cart:before, .ast-site-header-cart .widget_shopping_cart:after' => array( 'transition' => 'all 0.3s ease', 'margin-left' => 0.5 . 'em', ), ); $css_output .= astra_parse_css( $angle_transition ); $css_output .= Astra_Extended_Base_Dynamic_CSS::prepare_advanced_margin_padding_css( 'section-header-woo-cart', '.woocommerce .ast-header-woo-cart .ast-site-header-cart .ast-addon-cart-wrap, .ast-header-woo-cart .ast-site-header-cart .ast-addon-cart-wrap' ); $css_output .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( 'section-header-woo-cart', '.ast-header-woo-cart' ); $dynamic_css .= $css_output; return $dynamic_css; } type/header/woo-cart/class-astra-header-woo-cart-loader.php 0000644 00000002646 15105312163 0017666 0 ustar 00 <?php /** * WooCommerce Cart Styling Loader for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Header_Woo_Cart_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-header-builder-woo-cart-customizer-preview-js', ASTRA_HEADER_WOO_CART_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for Astra Breakpoints JS. wp_localize_script( 'astra-header-builder-woo-cart-customizer-preview-js', 'astraBuilderCartPreview', array( 'tablet_break_point' => astra_get_tablet_breakpoint(), 'mobile_break_point' => astra_get_mobile_breakpoint(), ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Woo_Cart_Loader(); type/header/woo-cart/class-astra-header-woo-cart-component.php 0000644 00000002365 15105312163 0020420 0 ustar 00 <?php /** * WooCommerce Cart for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_HEADER_WOO_CART_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/woo-cart' ); define( 'ASTRA_HEADER_WOO_CART_URI', ASTRA_THEME_URI . 'inc/builder/type/header/woo-cart' ); if ( ! class_exists( 'Astra_Header_Woo_Cart_Component' ) ) { /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Header_Woo_Cart_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_HEADER_WOO_CART_DIR . '/class-astra-header-woo-cart-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_HEADER_WOO_CART_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Header_Woo_Cart_Component(); } type/header/woo-cart/assets/js/unminified/customizer-preview.js 0000644 00000054611 15105312163 0021002 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since x.x.x */ (function ($) { var selector = '.ast-site-header-cart'; var responsive_selector = '.astra-cart-drawer'; const appendSelector = '.woocommerce-js '; var tablet_break_point = astraBuilderCartPreview.tablet_break_point || 768, mobile_break_point = astraBuilderCartPreview.mobile_break_point || 544; // Icon Color. astra_css( 'astra-settings[header-woo-cart-icon-color]', 'color', selector + ' .ast-cart-menu-wrap .count, ' + selector + ' .ast-cart-menu-wrap .count:after,' + selector + ' .ast-woo-header-cart-info-wrap,' + selector + ' .ast-site-header-cart .ast-addon-cart-wrap' ); // Icon Color. astra_css( 'astra-settings[header-woo-cart-icon-color]', 'border-color', selector + ' .ast-cart-menu-wrap .count, ' + selector + ' .ast-cart-menu-wrap .count:after' ); // Icon BG Color. astra_css( 'astra-settings[header-woo-cart-icon-color]', 'border-color', '.ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-menu-cart-fill .ast-cart-menu-wrap' ); // WooCommerce Cart Colors. astra_color_responsive_css( 'woo-cart-text-color', 'astra-settings[header-woo-cart-text-color]', 'color', '.astra-cart-drawer-title, .ast-site-header-cart-data span, .ast-site-header-cart-data strong, .ast-site-header-cart-data .woocommerce-mini-cart__empty-message, .ast-site-header-cart-data .total .woocommerce-Price-amount, .ast-site-header-cart-data .total .woocommerce-Price-amount .woocommerce-Price-currencySymbol, .ast-header-woo-cart .ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove,' + responsive_selector + ' .widget_shopping_cart_content span, ' + responsive_selector + ' .widget_shopping_cart_content strong,' + responsive_selector + ' .woocommerce-mini-cart__empty-message, .astra-cart-drawer .woocommerce-mini-cart *, ' + responsive_selector + ' .astra-cart-drawer-title' ); astra_color_responsive_css( 'woo-cart-border-color', 'astra-settings[header-woo-cart-text-color]', 'border-color', '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove, ' + responsive_selector + ' .widget_shopping_cart .mini_cart_item a.remove' ); astra_color_responsive_css( 'woo-cart-link-color', 'astra-settings[header-woo-cart-link-color]', 'color', selector + ' .ast-site-header-cart-data .widget_shopping_cart_content a:not(.button),' + responsive_selector + ' .widget_shopping_cart_content a:not(.button)' ); astra_color_responsive_css( 'woo-cart-background-color', 'astra-settings[header-woo-cart-background-color]', 'background-color', '.ast-site-header-cart .widget_shopping_cart, .astra-cart-drawer' ); astra_color_responsive_css( 'woo-cart-border-color', 'astra-settings[header-woo-cart-background-color]', 'border-color', '.ast-site-header-cart .widget_shopping_cart, .astra-cart-drawer' ); astra_color_responsive_css( 'woo-cart-border-bottom-color', 'astra-settings[header-woo-cart-background-color]', 'border-bottom-color', '.ast-site-header-cart .widget_shopping_cart:before, .ast-site-header-cart .widget_shopping_cart:after, .open-preview-woocommerce-cart .ast-site-header-cart .widget_shopping_cart:before, #astra-mobile-cart-drawer, .astra-cart-drawer' ); // Added Background Color Hover astra_color_responsive_css( 'woo-cart-background-hover-color', 'astra-settings[header-woo-cart-background-hover-color]', 'background-color', '.ast-site-header-cart .widget_shopping_cart:hover, #astra-mobile-cart-drawer:hover' ); astra_color_responsive_css( 'woo-cart-border-color', 'astra-settings[header-woo-cart-background-hover-color]', 'border-color', '.ast-site-header-cart .widget_shopping_cart:hover, #astra-mobile-cart-drawer:hover' ); astra_color_responsive_css( 'woo-cart-border-bottom-color', 'astra-settings[header-woo-cart-background-hover-color]', 'border-bottom-color', '.ast-site-header-cart .widget_shopping_cart:hover,site-header-cart .widget_shopping_cart:hover:after, #astra-mobile-cart-drawer:hover,.ast-site-header-cart:hover .widget_shopping_cart:hover:before, .ast-site-header-cart:hover .widget_shopping_cart:hover:after, .open-preview-woocommerce-cart .ast-site-header-cart .widget_shopping_cart:hover:before' ); astra_color_responsive_css( 'woo-cart-separator-colors', 'astra-settings[header-woo-cart-separator-color]', 'border-top-color', '.ast-site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total, #astra-mobile-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__total, .astra-cart-drawer .astra-cart-drawer-header' ); astra_color_responsive_css( 'woo-cart-border-bottom-colors', 'astra-settings[header-woo-cart-separator-color]', 'border-bottom-color', '.ast-site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total, #astra-mobile-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__total, .astra-cart-drawer .astra-cart-drawer-header, .ast-site-header-cart .widget_shopping_cart .mini_cart_item, #astra-mobile-cart-drawer .widget_shopping_cart .mini_cart_item' ); astra_color_responsive_css( 'woo-cart-link-hover-colors', 'astra-settings[header-woo-cart-link-hover-color]', 'color', '.ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a:not(.button):hover, .ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove:hover, .ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item:hover > a.remove,' + responsive_selector + ' .widget_shopping_cart_content a:not(.button):hover,' + responsive_selector + ' .widget_shopping_cart .mini_cart_item a.remove:hover,' + responsive_selector + ' .widget_shopping_cart .mini_cart_item:hover > a.remove' ); astra_color_responsive_css( 'woo-cart-border-colors', 'astra-settings[header-woo-cart-link-hover-color]', 'border-color', selector + ' .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove:hover,' + selector + ' .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item:hover > a.remove,' + responsive_selector + ' .widget_shopping_cart .mini_cart_item a.remove:hover,' + responsive_selector + ' .widget_shopping_cart .mini_cart_item:hover > a.remove' ); astra_color_responsive_css( 'woo-cart-btn-text-color', 'astra-settings[header-woo-cart-btn-text-color]', 'color', appendSelector + selector + ' .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout),' + appendSelector + responsive_selector + ' .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout)' ); astra_color_responsive_css( 'woo-cart-btn-bg-color', 'astra-settings[header-woo-cart-btn-background-color]', 'background-color', selector + ' .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout),' + appendSelector + responsive_selector + ' .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout)' ); astra_color_responsive_css( 'woo-cart-btn-hover-text-color', 'astra-settings[header-woo-cart-btn-text-hover-color]', 'color', selector + ' .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover,' + appendSelector + responsive_selector + ' .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover' ); astra_color_responsive_css( 'woo-cart-btn-hover-bg-color', 'astra-settings[header-woo-cart-btn-bg-hover-color]', 'background-color', selector + ' .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover,' + appendSelector + responsive_selector + ' .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover' ); astra_color_responsive_css( 'woo-cart-checkout-btn-text-color', 'astra-settings[header-woo-checkout-btn-text-color]', 'color', selector + ' .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward,' + responsive_selector + ' .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward' ); astra_color_responsive_css( 'woo-cart-checkout-btn-border-color', 'astra-settings[header-woo-checkout-btn-background-color]', 'border-color', selector + ' .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward,' + responsive_selector + ' .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward' ); astra_color_responsive_css( 'woo-cart-checkout-btn-background-color', 'astra-settings[header-woo-checkout-btn-background-color]', 'background-color', selector + ' .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward,' + responsive_selector + ' .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward' ); astra_color_responsive_css( 'woo-cart-checkout-btn-hover-text-color', 'astra-settings[header-woo-checkout-btn-text-hover-color]', 'color', selector + ' .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward:hover,' + responsive_selector + ' .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward:hover' ); astra_color_responsive_css( 'woo-cart-checkout-btn-bg-hover-background-color', 'astra-settings[header-woo-checkout-btn-bg-hover-color]', 'background-color', selector + ' .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward:hover,' + responsive_selector + ' .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward:hover' ); /** * Cart icon style */ wp.customize('astra-settings[woo-header-cart-icon-style]', function (setting) { setting.bind(function (icon_style) { var buttons = $(document).find('.ast-site-header-cart'); buttons.removeClass('ast-menu-cart-fill ast-menu-cart-outline ast-menu-cart-none'); buttons.addClass('ast-menu-cart-' + icon_style); var dynamicStyle = '.ast-site-header-cart a, .ast-site-header-cart a *{ transition: all 0s; } '; astra_add_dynamic_css('woo-header-cart-icon-style', dynamicStyle); wp.customize.preview.send('refresh'); }); }); /** * Desktop cart offcanvas width. */ wp.customize( 'astra-settings[woo-slide-in-cart-width]', function( setting ) { setting.bind( function( wooSlideInConfig ) { const { desktop, mobile, tablet } = wooSlideInConfig; const desktopUnit = wooSlideInConfig['desktop-unit']; const tabletUnit = wooSlideInConfig['tablet-unit']; const mobileUnit = wooSlideInConfig['mobile-unit']; const offcanvasPosition = wp.customize( 'astra-settings[woo-desktop-cart-flyout-direction]' ).get(); if( 'left' == offcanvasPosition ) { var dynamicStyle = '.ast-desktop .astra-cart-drawer { width: ' + desktop + desktopUnit + '; left: -' + desktop + desktopUnit + '; } '; dynamicStyle += '.ast-desktop .astra-cart-drawer.active { left: ' + desktop + desktopUnit + '; } '; } else { var dynamicStyle = '.ast-desktop .astra-cart-drawer { width: ' + desktop + desktopUnit + '; left: 100%; } '; } //Tablets. dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px ) and ( min-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '#astra-mobile-cart-drawer {'; dynamicStyle += 'width: ' + tablet + tabletUnit + ';'; dynamicStyle += '}'; dynamicStyle += '}'; // Mobile. dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '#astra-mobile-cart-drawer {'; dynamicStyle += 'width: ' + mobile + mobileUnit + ';'; dynamicStyle += '}'; dynamicStyle += '}'; if( desktop > 500 ) { $( '#astra-mobile-cart-drawer .astra-cart-drawer-content' ).addClass('ast-large-view'); } else { $( '#astra-mobile-cart-drawer .astra-cart-drawer-content' ).removeClass('ast-large-view'); } astra_add_dynamic_css( 'woo-slide-in-cart-width', dynamicStyle ); } ); } ); /** * Cart icon type */ wp.customize( 'astra-settings[woo-header-cart-icon]', function( setting ) { setting.bind( function( icon_type ) { $( document.body ).trigger( 'wc_fragment_refresh' ); } ); } ); /** * Cart Click Action */ wp.customize( 'astra-settings[woo-header-cart-click-action]', function( setting ) { setting.bind( function( clickAction ) { //Trigger refresh to reload markup. $( document.body ).trigger( 'wc_fragment_refresh' ); wp.customize.preview.send('refresh'); } ); } ); /** * Cart icon hover style */ wp.customize('astra-settings[header-woo-cart-icon-hover-color]', function (setting) { setting.bind(function (color) { wp.customize.preview.send('refresh'); }); }); /** * Cart icon style */ wp.customize('astra-settings[header-woo-cart-icon-color]', function (setting) { setting.bind(function (color) { var dynamicStyle = '.ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-menu-cart-fill .ast-cart-menu-wrap { background-color: ' + color + '; } '; astra_add_dynamic_css('header-woo-cart-icon-color', dynamicStyle); wp.customize.preview.send('refresh'); }); }); /** * Cart Border Width. */ astra_css( 'astra-settings[woo-header-cart-border-width]', 'border-width', '.ast-menu-cart-outline .ast-addon-cart-wrap, .ast-theme-transparent-header .ast-menu-cart-outline .ast-addon-cart-wrap', 'px' ); /** * Cart Border Radius Fields */ wp.customize('astra-settings[woo-header-cart-icon-radius-fields]', function (setting) { setting.bind(function (border) { let globalSelector = '.ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-addon-cart-wrap '; let dynamicStyle = globalSelector + '{ border-top-left-radius :' + border['desktop']['top'] + border['desktop-unit'] + '; border-bottom-right-radius :' + border['desktop']['bottom'] + border['desktop-unit'] + '; border-bottom-left-radius :' + border['desktop']['left'] + border['desktop-unit'] + '; border-top-right-radius :' + border['desktop']['right'] + border['desktop-unit'] + '; } '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) { ' + globalSelector + '{ border-top-left-radius :' + border['tablet']['top'] + border['tablet-unit'] + '; border-bottom-right-radius :' + border['tablet']['bottom'] + border['tablet-unit'] + '; border-bottom-left-radius :' + border['tablet']['left'] + border['tablet-unit'] + '; border-top-right-radius :' + border['tablet']['right'] + border['tablet-unit'] + '; } } '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) { ' + globalSelector + '{ border-top-left-radius :' + border['mobile']['top'] + border['mobile-unit'] + '; border-bottom-right-radius :' + border['mobile']['bottom'] + border['mobile-unit'] + '; border-bottom-left-radius :' + border['mobile']['left'] + border['mobile-unit'] + '; border-top-right-radius :' + border['mobile']['right'] + border['mobile-unit'] + '; } } '; astra_add_dynamic_css('woo-header-cart-icon-radius-fields', dynamicStyle); }); }); /** * Transparent Header WOO-Cart color options - Customizer preview CSS. */ wp.customize('astra-settings[transparent-header-woo-cart-icon-color]', function (setting) { setting.bind(function (cart_icon_color) { wp.customize.preview.send('refresh'); }); }); /** * Cart total label position. */ wp.customize('astra-settings[woo-header-cart-icon-total-label-position]', function (setting) { setting.bind(function (position) { var defaultCart = $(document).find('.cart-container'); defaultPositionSelector = 'ast-cart-desktop-position-left ast-cart-desktop-position-right ast-cart-desktop-position-bottom ast-cart-mobile-position-left ast-cart-mobile-position-right ast-cart-mobile-position-bottom ast-cart-tablet-position-left ast-cart-tablet-position-right ast-cart-tablet-position-bottom'; if($(selector).find('.ast-addon-cart-wrap').length){ let iconCart = $(document).find('.ast-addon-cart-wrap'); iconCart.removeClass(defaultPositionSelector); defaultCart.removeClass(defaultPositionSelector); iconCart.addClass('ast-cart-desktop-position-' + position.desktop); iconCart.addClass('ast-cart-mobile-position-' + position.mobile); iconCart.addClass('ast-cart-tablet-position-' + position.tablet); } else { defaultCart.removeClass(defaultPositionSelector); defaultCart.addClass('ast-cart-desktop-position-' + position.desktop); defaultCart.addClass('ast-cart-mobile-position-' + position.mobile); defaultCart.addClass('ast-cart-tablet-position-' + position.tablet); } var dynamicStyle = '.cart-container, .ast-addon-cart-wrap {display : flex; align-items : center; padding-top: 7px; padding-bottom: 5px;} '; dynamicStyle += '.astra-icon {line-height : 0.1;} '; var tablet_break_point = astraBuilderCartPreview.tablet_break_point || 768, mobile_break_point = astraBuilderCartPreview.mobile_break_point || 544; if( position.desktop ){ dynamicStyle += '@media (min-width: ' + tablet_break_point + 'px) {'; dynamicStyle += cartPosition(position.desktop,'desktop'); dynamicStyle += '} '; } if( position.tablet ){ dynamicMobileStyle = cartPosition(position.tablet,'tablet'); dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px ) and ( min-width: ' + mobile_break_point + 'px) {'; dynamicStyle += dynamicMobileStyle; dynamicStyle += '} '; } if( position.mobile ){ dynamictabletStyle = cartPosition(position.mobile,'mobile'); dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += dynamictabletStyle; dynamicStyle += '} '; } function cartPosition(position,device) { switch(position){ case "bottom": var dynamicStylePosition = '.ast-cart-'+ device +'-position-bottom { flex-direction : column;} '; dynamicStylePosition += '.ast-cart-'+ device +'-position-bottom .ast-woo-header-cart-info-wrap { order : 2; line-height : 1; margin-top : 0.5em; } '; return dynamicStylePosition; case "right": dynamicStylePosition = '.ast-cart-'+ device +'-position-right .ast-woo-header-cart-info-wrap { order : 2; margin-left : 0.7em;} '; return dynamicStylePosition; case "left": dynamicStylePosition = '.ast-cart-'+ device +'-position-left .ast-woo-header-cart-info-wrap { margin-right : 0.5em;} '; return dynamicStylePosition; default: break; } } astra_add_dynamic_css( 'woo-header-cart-icon-total-label-position', dynamicStyle ); }); }); // Advanced CSS Generation for cart padding and margin. astra_builder_advanced_css( 'section-header-woo-cart', '.woocommerce .ast-header-woo-cart .ast-site-header-cart .ast-addon-cart-wrap, .ast-header-woo-cart .ast-site-header-cart .ast-addon-cart-wrap' ); // Advanced Visibility CSS Generation. astra_builder_visibility_css('section-header-woo-cart', '.ast-header-woo-cart'); // Icon Size. wp.customize('astra-settings[header-woo-cart-icon-size]', function (value) { value.bind(function (size) { if (size.desktop != '' || size.tablet != '' || size.mobile != '') { var dynamicStyle = ''; dynamicStyle += '.ast-icon-shopping-bag .ast-icon svg, .ast-icon-shopping-cart .ast-icon svg, .ast-icon-shopping-basket .ast-icon svg {'; dynamicStyle += 'height: ' + size.desktop + 'px' + ';'; dynamicStyle += 'width: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-icon-shopping-bag .ast-icon svg, .ast-icon-shopping-cart .ast-icon svg, .ast-icon-shopping-basket .ast-icon svg {'; dynamicStyle += 'height: ' + size.tablet + 'px' + ';'; dynamicStyle += 'width: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-icon-shopping-bag .ast-icon svg, .ast-icon-shopping-cart .ast-icon svg, .ast-icon-shopping-basket .ast-icon svg {'; dynamicStyle += 'height: ' + size.mobile + 'px' + ';'; dynamicStyle += 'width: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '.ast-cart-menu-wrap, .ast-site-header-cart i.astra-icon {'; dynamicStyle += 'font-size: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-header-break-point.ast-hfb-header .ast-cart-menu-wrap, .ast-site-header-cart i.astra-icon {'; dynamicStyle += 'font-size: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-header-break-point.ast-hfb-header .ast-cart-menu-wrap, .ast-site-header-cart i.astra-icon {'; dynamicStyle += 'font-size:' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css('header-woo-cart-icon-size', dynamicStyle); } }); }); /** * Cart Badge */ wp.customize('astra-settings[woo-header-cart-badge-display]', function (setting) { setting.bind(function (badge) { if (!badge) { var dynamicStyle = '.astra-icon.astra-icon::after { display:none; } '; dynamicStyle += '.ast-count-text { display:none; } '; } else { var dynamicStyle = '.astra-icon.astra-icon::after { display:block; } '; dynamicStyle += '.ast-count-text { display:block; } '; } astra_add_dynamic_css('woo-header-cart-badge-display', dynamicStyle); }); }); /** * Hide Cart Total Label */ wp.customize( 'astra-settings[woo-header-cart-total-label]', function( setting ) { setting.bind( function( toggle ) { $( document.body ).trigger( 'wc_fragment_refresh' ); }); }); })(jQuery); type/header/woo-cart/assets/js/minified/customizer-preview.min.js 0000644 00000040311 15105312163 0021211 0 ustar 00 (i=>{var s=".ast-site-header-cart",t=".astra-cart-drawer",a=".woocommerce-js ",n=astraBuilderCartPreview.tablet_break_point||768,d=astraBuilderCartPreview.mobile_break_point||544;astra_css("astra-settings[header-woo-cart-icon-color]","color",s+" .ast-cart-menu-wrap .count, "+s+" .ast-cart-menu-wrap .count:after,"+s+" .ast-woo-header-cart-info-wrap,"+s+" .ast-site-header-cart .ast-addon-cart-wrap"),astra_css("astra-settings[header-woo-cart-icon-color]","border-color",s+" .ast-cart-menu-wrap .count, "+s+" .ast-cart-menu-wrap .count:after"),astra_css("astra-settings[header-woo-cart-icon-color]","border-color",".ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-menu-cart-fill .ast-cart-menu-wrap"),astra_color_responsive_css("woo-cart-text-color","astra-settings[header-woo-cart-text-color]","color",".astra-cart-drawer-title, .ast-site-header-cart-data span, .ast-site-header-cart-data strong, .ast-site-header-cart-data .woocommerce-mini-cart__empty-message, .ast-site-header-cart-data .total .woocommerce-Price-amount, .ast-site-header-cart-data .total .woocommerce-Price-amount .woocommerce-Price-currencySymbol, .ast-header-woo-cart .ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove,"+t+" .widget_shopping_cart_content span, "+t+" .widget_shopping_cart_content strong,"+t+" .woocommerce-mini-cart__empty-message, .astra-cart-drawer .woocommerce-mini-cart *, "+t+" .astra-cart-drawer-title"),astra_color_responsive_css("woo-cart-border-color","astra-settings[header-woo-cart-text-color]","border-color",".ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove, "+t+" .widget_shopping_cart .mini_cart_item a.remove"),astra_color_responsive_css("woo-cart-link-color","astra-settings[header-woo-cart-link-color]","color",s+" .ast-site-header-cart-data .widget_shopping_cart_content a:not(.button),"+t+" .widget_shopping_cart_content a:not(.button)"),astra_color_responsive_css("woo-cart-background-color","astra-settings[header-woo-cart-background-color]","background-color",".ast-site-header-cart .widget_shopping_cart, .astra-cart-drawer"),astra_color_responsive_css("woo-cart-border-color","astra-settings[header-woo-cart-background-color]","border-color",".ast-site-header-cart .widget_shopping_cart, .astra-cart-drawer"),astra_color_responsive_css("woo-cart-border-bottom-color","astra-settings[header-woo-cart-background-color]","border-bottom-color",".ast-site-header-cart .widget_shopping_cart:before, .ast-site-header-cart .widget_shopping_cart:after, .open-preview-woocommerce-cart .ast-site-header-cart .widget_shopping_cart:before, #astra-mobile-cart-drawer, .astra-cart-drawer"),astra_color_responsive_css("woo-cart-background-hover-color","astra-settings[header-woo-cart-background-hover-color]","background-color",".ast-site-header-cart .widget_shopping_cart:hover, #astra-mobile-cart-drawer:hover"),astra_color_responsive_css("woo-cart-border-color","astra-settings[header-woo-cart-background-hover-color]","border-color",".ast-site-header-cart .widget_shopping_cart:hover, #astra-mobile-cart-drawer:hover"),astra_color_responsive_css("woo-cart-border-bottom-color","astra-settings[header-woo-cart-background-hover-color]","border-bottom-color",".ast-site-header-cart .widget_shopping_cart:hover,site-header-cart .widget_shopping_cart:hover:after, #astra-mobile-cart-drawer:hover,.ast-site-header-cart:hover .widget_shopping_cart:hover:before, .ast-site-header-cart:hover .widget_shopping_cart:hover:after, .open-preview-woocommerce-cart .ast-site-header-cart .widget_shopping_cart:hover:before"),astra_color_responsive_css("woo-cart-separator-colors","astra-settings[header-woo-cart-separator-color]","border-top-color",".ast-site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total, #astra-mobile-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__total, .astra-cart-drawer .astra-cart-drawer-header"),astra_color_responsive_css("woo-cart-border-bottom-colors","astra-settings[header-woo-cart-separator-color]","border-bottom-color",".ast-site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total, #astra-mobile-cart-drawer .widget_shopping_cart .woocommerce-mini-cart__total, .astra-cart-drawer .astra-cart-drawer-header, .ast-site-header-cart .widget_shopping_cart .mini_cart_item, #astra-mobile-cart-drawer .widget_shopping_cart .mini_cart_item"),astra_color_responsive_css("woo-cart-link-hover-colors","astra-settings[header-woo-cart-link-hover-color]","color",".ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart_content a:not(.button):hover, .ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove:hover, .ast-site-header-cart .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item:hover > a.remove,"+t+" .widget_shopping_cart_content a:not(.button):hover,"+t+" .widget_shopping_cart .mini_cart_item a.remove:hover,"+t+" .widget_shopping_cart .mini_cart_item:hover > a.remove"),astra_color_responsive_css("woo-cart-border-colors","astra-settings[header-woo-cart-link-hover-color]","border-color",s+" .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item a.remove:hover,"+s+" .ast-site-header-cart-data .widget_shopping_cart .mini_cart_item:hover > a.remove,"+t+" .widget_shopping_cart .mini_cart_item a.remove:hover,"+t+" .widget_shopping_cart .mini_cart_item:hover > a.remove"),astra_color_responsive_css("woo-cart-btn-text-color","astra-settings[header-woo-cart-btn-text-color]","color",a+s+" .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout),"+a+t+" .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout)"),astra_color_responsive_css("woo-cart-btn-bg-color","astra-settings[header-woo-cart-btn-background-color]","background-color",s+" .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout),"+a+t+" .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout)"),astra_color_responsive_css("woo-cart-btn-hover-text-color","astra-settings[header-woo-cart-btn-text-hover-color]","color",s+" .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover,"+a+t+" .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover"),astra_color_responsive_css("woo-cart-btn-hover-bg-color","astra-settings[header-woo-cart-btn-bg-hover-color]","background-color",s+" .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover,"+a+t+" .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.wc-forward:not(.checkout):hover"),astra_color_responsive_css("woo-cart-checkout-btn-text-color","astra-settings[header-woo-checkout-btn-text-color]","color",s+" .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward,"+t+" .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward"),astra_color_responsive_css("woo-cart-checkout-btn-border-color","astra-settings[header-woo-checkout-btn-background-color]","border-color",s+" .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward,"+t+" .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward"),astra_color_responsive_css("woo-cart-checkout-btn-background-color","astra-settings[header-woo-checkout-btn-background-color]","background-color",s+" .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward,"+t+" .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward"),astra_color_responsive_css("woo-cart-checkout-btn-hover-text-color","astra-settings[header-woo-checkout-btn-text-hover-color]","color",s+" .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward:hover,"+t+" .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward:hover"),astra_color_responsive_css("woo-cart-checkout-btn-bg-hover-background-color","astra-settings[header-woo-checkout-btn-bg-hover-color]","background-color",s+" .ast-site-header-cart-data .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward:hover,"+t+" .widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button.checkout.wc-forward:hover"),wp.customize("astra-settings[woo-header-cart-icon-style]",function(t){t.bind(function(t){var a=i(document).find(".ast-site-header-cart");a.removeClass("ast-menu-cart-fill ast-menu-cart-outline ast-menu-cart-none"),a.addClass("ast-menu-cart-"+t);astra_add_dynamic_css("woo-header-cart-icon-style",".ast-site-header-cart a, .ast-site-header-cart a *{ transition: all 0s; } "),wp.customize.preview.send("refresh")})}),wp.customize("astra-settings[woo-slide-in-cart-width]",function(t){t.bind(function(t){var a,{desktop:o,mobile:r,tablet:e}=t,s=t["desktop-unit"],c=t["tablet-unit"],t=t["mobile-unit"];"left"==wp.customize("astra-settings[woo-desktop-cart-flyout-direction]").get()?(a=".ast-desktop .astra-cart-drawer { width: "+o+s+"; left: -"+o+s+"; } ",a+=".ast-desktop .astra-cart-drawer.active { left: "+o+s+"; } "):a=".ast-desktop .astra-cart-drawer { width: "+o+s+"; left: 100%; } ",a=(a=(a=(a=a+"@media (max-width: "+n+"px ) and ( min-width: "+d+"px) {#astra-mobile-cart-drawer {")+"width: "+e+c+";}")+"}@media (max-width: "+d+"px) {")+"#astra-mobile-cart-drawer {width: "+r+t+";}}",500<o?i("#astra-mobile-cart-drawer .astra-cart-drawer-content").addClass("ast-large-view"):i("#astra-mobile-cart-drawer .astra-cart-drawer-content").removeClass("ast-large-view"),astra_add_dynamic_css("woo-slide-in-cart-width",a)})}),wp.customize("astra-settings[woo-header-cart-icon]",function(t){t.bind(function(t){i(document.body).trigger("wc_fragment_refresh")})}),wp.customize("astra-settings[woo-header-cart-click-action]",function(t){t.bind(function(t){i(document.body).trigger("wc_fragment_refresh"),wp.customize.preview.send("refresh")})}),wp.customize("astra-settings[header-woo-cart-icon-hover-color]",function(t){t.bind(function(t){wp.customize.preview.send("refresh")})}),wp.customize("astra-settings[header-woo-cart-icon-color]",function(t){t.bind(function(t){astra_add_dynamic_css("header-woo-cart-icon-color",".ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-menu-cart-fill .ast-cart-menu-wrap { background-color: "+t+"; } "),wp.customize.preview.send("refresh")})}),astra_css("astra-settings[woo-header-cart-border-width]","border-width",".ast-menu-cart-outline .ast-addon-cart-wrap, .ast-theme-transparent-header .ast-menu-cart-outline .ast-addon-cart-wrap","px"),wp.customize("astra-settings[woo-header-cart-icon-radius-fields]",function(t){t.bind(function(t){var a=".ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap, .ast-site-header-cart.ast-menu-cart-outline .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-fill .ast-cart-menu-wrap .count, .ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap, .ast-site-header-cart.ast-menu-cart-fill .ast-addon-cart-wrap ",o=a+"{ border-top-left-radius :"+t.desktop.top+t["desktop-unit"]+"; border-bottom-right-radius :"+t.desktop.bottom+t["desktop-unit"]+"; border-bottom-left-radius :"+t.desktop.left+t["desktop-unit"]+"; border-top-right-radius :"+t.desktop.right+t["desktop-unit"]+"; } ",o=(o+="@media (max-width: "+n+"px) { "+a+"{ border-top-left-radius :"+t.tablet.top+t["tablet-unit"]+"; border-bottom-right-radius :"+t.tablet.bottom+t["tablet-unit"]+"; border-bottom-left-radius :"+t.tablet.left+t["tablet-unit"]+"; border-top-right-radius :"+t.tablet.right+t["tablet-unit"]+"; } } ")+("@media (max-width: "+d+"px) { "+a+"{ border-top-left-radius :"+t.mobile.top+t["mobile-unit"]+"; border-bottom-right-radius :"+t.mobile.bottom+t["mobile-unit"]+"; border-bottom-left-radius :"+t.mobile.left+t["mobile-unit"]+"; border-top-right-radius :"+t.mobile.right+t["mobile-unit"]+"; } } ");astra_add_dynamic_css("woo-header-cart-icon-radius-fields",o)})}),wp.customize("astra-settings[transparent-header-woo-cart-icon-color]",function(t){t.bind(function(t){wp.customize.preview.send("refresh")})}),wp.customize("astra-settings[woo-header-cart-icon-total-label-position]",function(t){t.bind(function(t){var a=i(document).find(".cart-container"),o=(defaultPositionSelector="ast-cart-desktop-position-left ast-cart-desktop-position-right ast-cart-desktop-position-bottom ast-cart-mobile-position-left ast-cart-mobile-position-right ast-cart-mobile-position-bottom ast-cart-tablet-position-left ast-cart-tablet-position-right ast-cart-tablet-position-bottom",(i(s).find(".ast-addon-cart-wrap").length?((o=i(document).find(".ast-addon-cart-wrap")).removeClass(defaultPositionSelector),a.removeClass(defaultPositionSelector),o.addClass("ast-cart-desktop-position-"+t.desktop),o.addClass("ast-cart-mobile-position-"+t.mobile),o):(a.removeClass(defaultPositionSelector),a.addClass("ast-cart-desktop-position-"+t.desktop),a.addClass("ast-cart-mobile-position-"+t.mobile),a)).addClass("ast-cart-tablet-position-"+t.tablet),".cart-container, .ast-addon-cart-wrap {display : flex; align-items : center; padding-top: 7px; padding-bottom: 5px;} "),a=(o+=".astra-icon {line-height : 0.1;} ",astraBuilderCartPreview.tablet_break_point||768),r=astraBuilderCartPreview.mobile_break_point||544;function e(t,a){switch(t){case"bottom":var o=".ast-cart-"+a+"-position-bottom { flex-direction : column;} ";return o+=".ast-cart-"+a+"-position-bottom .ast-woo-header-cart-info-wrap { order : 2; line-height : 1; margin-top : 0.5em; } ";case"right":return o=".ast-cart-"+a+"-position-right .ast-woo-header-cart-info-wrap { order : 2; margin-left : 0.7em;} ";case"left":return o=".ast-cart-"+a+"-position-left .ast-woo-header-cart-info-wrap { margin-right : 0.5em;} "}}t.desktop&&(o=(o+="@media (min-width: "+a+"px) {")+e(t.desktop,"desktop")+"} "),t.tablet&&(o=(o+="@media (max-width: "+a+"px ) and ( min-width: "+r+"px) {")+(dynamicMobileStyle=e(t.tablet,"tablet"))+"} "),t.mobile&&(o=(o+="@media (max-width: "+r+"px) {")+(dynamictabletStyle=e(t.mobile,"mobile"))+"} "),astra_add_dynamic_css("woo-header-cart-icon-total-label-position",o)})}),astra_builder_advanced_css("section-header-woo-cart",".woocommerce .ast-header-woo-cart .ast-site-header-cart .ast-addon-cart-wrap, .ast-header-woo-cart .ast-site-header-cart .ast-addon-cart-wrap"),astra_builder_visibility_css("section-header-woo-cart",".ast-header-woo-cart"),wp.customize("astra-settings[header-woo-cart-icon-size]",function(t){t.bind(function(t){var a;""==t.desktop&&""==t.tablet&&""==t.mobile||(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a="")+".ast-icon-shopping-bag .ast-icon svg, .ast-icon-shopping-cart .ast-icon svg, .ast-icon-shopping-basket .ast-icon svg {height: "+t.desktop+"px;")+"width: "+t.desktop+"px;")+"} @media (max-width: "+n+"px) {")+".ast-icon-shopping-bag .ast-icon svg, .ast-icon-shopping-cart .ast-icon svg, .ast-icon-shopping-basket .ast-icon svg {height: "+t.tablet+"px;")+"width: "+t.tablet+"px;} ")+"} @media (max-width: "+d+"px) {")+".ast-icon-shopping-bag .ast-icon svg, .ast-icon-shopping-cart .ast-icon svg, .ast-icon-shopping-basket .ast-icon svg {height: "+t.mobile+"px;")+"width: "+t.mobile+"px;} } .ast-cart-menu-wrap, .ast-site-header-cart i.astra-icon {")+"font-size: "+t.desktop+"px;} ")+"@media (max-width: "+n+"px) {.ast-header-break-point.ast-hfb-header .ast-cart-menu-wrap, .ast-site-header-cart i.astra-icon {")+"font-size: "+t.tablet+"px;} ")+"} @media (max-width: "+d+"px) {")+".ast-header-break-point.ast-hfb-header .ast-cart-menu-wrap, .ast-site-header-cart i.astra-icon {font-size:"+t.mobile+"px;} } ",astra_add_dynamic_css("header-woo-cart-icon-size",a))})}),wp.customize("astra-settings[woo-header-cart-badge-display]",function(t){t.bind(function(t){var a;t?(a=".astra-icon.astra-icon::after { display:block; } ",a+=".ast-count-text { display:block; } "):(a=".astra-icon.astra-icon::after { display:none; } ",a+=".ast-count-text { display:none; } "),astra_add_dynamic_css("woo-header-cart-badge-display",a)})}),wp.customize("astra-settings[woo-header-cart-total-label]",function(t){t.bind(function(t){i(document.body).trigger("wc_fragment_refresh")})})})(jQuery); type/header/above-header/dynamic-css/dynamic.css.php 0000644 00000014044 15105312163 0016435 0 ustar 00 <?php /** * Above Header - Dynamic CSS * * @package astra-builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Above Header Row. */ add_filter( 'astra_dynamic_theme_css', 'astra_above_header_row_setting', 11 ); /** * Above Header Row - Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_above_header_row_setting( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! is_customize_preview() && ( ! Astra_Builder_Helper::is_row_empty( 'above', 'header', 'desktop' ) && ! Astra_Builder_Helper::is_row_empty( 'above', 'header', 'mobile' ) ) ) { return $dynamic_css; } $parse_css = ''; // Common CSS options. $hba_header_height = astra_get_option( 'hba-header-height' ); $hba_header_divider = astra_get_option( 'hba-header-separator' ); $hba_border_color = astra_get_option( 'hba-header-bottom-border-color' ); // Background CSS options. $hba_header_bg_obj = astra_get_option( 'hba-header-bg-obj-responsive' ); $desktop_background = isset( $hba_header_bg_obj['desktop']['background-color'] ) ? $hba_header_bg_obj['desktop']['background-color'] : ''; $tablet_background = isset( $hba_header_bg_obj['tablet']['background-color'] ) ? $hba_header_bg_obj['tablet']['background-color'] : ''; $mobile_background = isset( $hba_header_bg_obj['mobile']['background-color'] ) ? $hba_header_bg_obj['mobile']['background-color'] : ''; // Header Height. $hba_header_height_desktop = isset( $hba_header_height['desktop'] ) && ! empty( $hba_header_height['desktop'] ) ? $hba_header_height['desktop'] : ''; $hba_header_height_tablet = isset( $hba_header_height['tablet'] ) && ! empty( $hba_header_height['tablet'] ) ? $hba_header_height['tablet'] : ''; $hba_header_height_mobile = isset( $hba_header_height['mobile'] ) && ! empty( $hba_header_height['mobile'] ) ? $hba_header_height['mobile'] : ''; /** * Above Header General options */ $common_css_output = array( '.ast-above-header .main-header-bar-navigation' => array( 'height' => '100%', ), '.ast-header-break-point .ast-mobile-header-wrap .ast-above-header-wrap .main-header-bar-navigation .inline-on-mobile .menu-item .menu-link' => array( 'border' => 'none', ), '.ast-header-break-point .ast-mobile-header-wrap .ast-above-header-wrap .main-header-bar-navigation .inline-on-mobile .menu-item-has-children > .ast-menu-toggle::before' => array( 'font-size' => '.6rem', ), '.ast-header-break-point .ast-mobile-header-wrap .ast-above-header-wrap .main-header-bar-navigation .ast-submenu-expanded > .ast-menu-toggle::before' => array( 'transform' => 'rotateX(180deg)', ), '.ast-mobile-header-wrap .ast-above-header-bar , .ast-above-header-bar .site-above-header-wrap' => array( 'min-height' => astra_get_css_value( $hba_header_height_desktop, 'px' ), ), '.ast-desktop .ast-above-header-bar .main-header-menu > .menu-item' => array( 'line-height' => astra_get_css_value( $hba_header_height_desktop, 'px' ), ), '.ast-desktop .ast-above-header-bar .ast-header-woo-cart, .ast-desktop .ast-above-header-bar .ast-header-edd-cart' => array( 'line-height' => astra_get_css_value( $hba_header_height_desktop, 'px' ), ), ); // Apply border only when it has positive value. if ( '' !== $hba_header_divider && 'inherit' !== $hba_header_divider ) { $common_css_output['.ast-above-header-bar'] = array( 'border-bottom-width' => astra_get_css_value( $hba_header_divider, 'px' ), 'border-bottom-color' => esc_attr( $hba_border_color ), 'border-bottom-style' => 'solid', ); } else { $common_css_output['.ast-above-header-bar'] = array( 'border-bottom-style' => 'none', ); } $parse_css .= astra_parse_css( $common_css_output ); // Above Header Background Responsive - Desktop. $desktop_bg = array( '.ast-above-header.ast-above-header-bar' => astra_get_responsive_background_obj( $hba_header_bg_obj, 'desktop' ), '.ast-header-break-point .ast-above-header-bar' => array( 'background-color' => esc_attr( $desktop_background ), ), ); $parse_css .= astra_parse_css( $desktop_bg ); // Above Header Background Responsive - Tablet. $tablet_bg = array( '.ast-above-header.ast-above-header-bar' => astra_get_responsive_background_obj( $hba_header_bg_obj, 'tablet' ), '.ast-header-break-point .ast-above-header-bar' => array( 'background-color' => esc_attr( $tablet_background ), ), '.ast-mobile-header-wrap .ast-above-header-bar , .ast-above-header-bar .site-above-header-wrap' => array( 'min-height' => astra_get_css_value( $hba_header_height_tablet, 'px' ), ), '#masthead .ast-mobile-header-wrap .ast-above-header-bar' => array( 'padding-left' => '20px', 'padding-right' => '20px', ), ); $parse_css .= astra_parse_css( $tablet_bg, '', astra_get_tablet_breakpoint() ); // Above Header Background Responsive - Mobile. $mobile_bg = array( '.ast-above-header.ast-above-header-bar' => astra_get_responsive_background_obj( $hba_header_bg_obj, 'mobile' ), '.ast-header-break-point .ast-above-header-bar' => array( 'background-color' => esc_attr( $mobile_background ), ), '.ast-mobile-header-wrap .ast-above-header-bar , .ast-above-header-bar .site-above-header-wrap' => array( 'min-height' => astra_get_css_value( $hba_header_height_mobile, 'px' ), ), ); $parse_css .= astra_parse_css( $mobile_bg, '', astra_get_mobile_breakpoint() ); // Trim white space for faster page loading. $dynamic_css .= Astra_Enqueue_Scripts::trim_css( $parse_css ); $_section = 'section-above-header-builder'; $parent_selector = '.ast-above-header.ast-above-header-bar, .ast-header-break-point #masthead.site-header .ast-above-header-bar'; $dynamic_css .= Astra_Extended_Base_Dynamic_CSS::prepare_advanced_margin_padding_css( $_section, $parent_selector ); $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, '.ast-above-header-bar', 'block', $mobile_tablet_default_display = 'grid' ); return $dynamic_css; } type/header/above-header/class-astra-above-header-loader.php 0000644 00000002173 15105312163 0020011 0 ustar 00 <?php /** * Above Header Loader. * * @package astra-builder * @link https://www.brainstormforce.com * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Class Astra_Above_Header_Loader * * Loads config files. * * @since 3.0.0 */ class Astra_Above_Header_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-heading-above-customizer-preview-js', ASTRA_ABOVE_HEADER_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Above_Header_Loader(); type/header/above-header/class-astra-above-header.php 0000644 00000002170 15105312163 0016542 0 ustar 00 <?php /** * Above Header. * * @package astra-builder * @link https://www.brainstormforce.com * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_ABOVE_HEADER_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/above-header' ); define( 'ASTRA_ABOVE_HEADER_URI', ASTRA_THEME_URI . 'inc/builder/type/header/above-header' ); /** * Above Header Initial Setup * * @since 3.0.0 */ class Astra_Above_Header { /** * Constructor function that initializes required actions and hooks. */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_ABOVE_HEADER_DIR . '/class-astra-above-header-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_ABOVE_HEADER_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Above_Header(); type/header/above-header/assets/js/unminified/customizer-preview.js 0000644 00000007677 15105312163 0021603 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; wp.customize( 'astra-settings[hba-header-height]', function( value ) { value.bind( function( size ) { if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += '.ast-above-header-bar .site-above-header-wrap, .ast-mobile-header-wrap .ast-above-header-bar{'; dynamicStyle += 'min-height: ' + size.desktop + 'px;'; dynamicStyle += '} '; dynamicStyle += '.ast-desktop .ast-above-header-bar .main-header-menu > .menu-item {'; dynamicStyle += 'line-height: ' + size.desktop + 'px;'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-above-header-bar .site-above-header-wrap, .ast-mobile-header-wrap .ast-above-header-bar{'; dynamicStyle += 'min-height: ' + size.tablet + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-above-header-bar .site-above-header-wrap, .ast-mobile-header-wrap .ast-above-header-bar{'; dynamicStyle += 'min-height: ' + size.mobile + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'hba-header-height', dynamicStyle ); } } ); } ); // Border Bottom width. wp.customize( 'astra-settings[hba-header-separator]', function( value ) { value.bind( function( border ) { var color = wp.customize( 'astra-settings[hba-header-bottom-border-color]' ).get(), dynamicStyle = ''; dynamicStyle += '.ast-above-header.ast-above-header-bar, .ast-above-header-bar {'; dynamicStyle += 'border-bottom-width: ' + border + 'px;'; dynamicStyle += 'border-bottom-style: solid;'; dynamicStyle += 'border-color:' + color + ';'; dynamicStyle += '}'; astra_add_dynamic_css( 'hba-header-separator', dynamicStyle ); } ); } ); // Border Color. astra_css( 'astra-settings[hba-header-bottom-border-color]', 'border-color', '.ast-above-header.ast-above-header-bar, .ast-above-header-bar' ); // Responsive BG styles > Below Header Row. astra_apply_responsive_background_css( 'astra-settings[hba-header-bg-obj-responsive]', '.ast-above-header.ast-above-header-bar', 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[hba-header-bg-obj-responsive]', '.ast-above-header.ast-above-header-bar', 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[hba-header-bg-obj-responsive]', '.ast-above-header.ast-above-header-bar', 'mobile' ); if (document.querySelector(".ast-above-header-wrap .site-logo-img")) { astra_apply_responsive_background_css( "astra-settings[hba-header-bg-obj-responsive]", ".ast-sg-element-wrap.ast-sg-logo-section, .ast-above-header.ast-above-header-bar", "desktop" ); astra_apply_responsive_background_css( "astra-settings[hba-header-bg-obj-responsive]", ".ast-sg-element-wrap.ast-sg-logo-section, .ast-above-header.ast-above-header-bar", "tablet" ); astra_apply_responsive_background_css( "astra-settings[hba-header-bg-obj-responsive]", ".ast-sg-element-wrap.ast-sg-logo-section, .ast-above-header.ast-above-header-bar", "mobile" ); } // Advanced CSS Generation. astra_builder_advanced_css( 'section-above-header-builder', '.ast-above-header.ast-above-header-bar, .ast-header-break-point #masthead.site-header .ast-above-header-bar' ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( 'section-above-header-builder', '.ast-above-header-bar', 'grid' ); } )( jQuery ); type/header/above-header/assets/js/minified/customizer-preview.min.js 0000644 00000005141 15105312163 0022002 0 ustar 00 (()=>{var r=astraBuilderPreview.tablet_break_point||768,s=astraBuilderPreview.mobile_break_point||544;wp.customize("astra-settings[hba-header-height]",function(e){e.bind(function(e){var a;""==e.desktop&&""==e.tablet&&""==e.mobile||(a=(a=(a=(a=(a=(a=(a="")+".ast-above-header-bar .site-above-header-wrap, .ast-mobile-header-wrap .ast-above-header-bar{min-height: "+e.desktop+"px;} .ast-desktop .ast-above-header-bar .main-header-menu > .menu-item {")+"line-height: "+e.desktop+"px;} ")+"@media (max-width: "+r+"px) {.ast-above-header-bar .site-above-header-wrap, .ast-mobile-header-wrap .ast-above-header-bar{")+"min-height: "+e.tablet+"px;} ")+"} @media (max-width: "+s+"px) {")+".ast-above-header-bar .site-above-header-wrap, .ast-mobile-header-wrap .ast-above-header-bar{min-height: "+e.mobile+"px;} } ",astra_add_dynamic_css("hba-header-height",a))})}),wp.customize("astra-settings[hba-header-separator]",function(e){e.bind(function(e){var a="",a=(a=(a+=".ast-above-header.ast-above-header-bar, .ast-above-header-bar {")+("border-bottom-width: "+e+"px;")+"border-bottom-style: solid;")+("border-color:"+wp.customize("astra-settings[hba-header-bottom-border-color]").get()+";")+"}";astra_add_dynamic_css("hba-header-separator",a)})}),astra_css("astra-settings[hba-header-bottom-border-color]","border-color",".ast-above-header.ast-above-header-bar, .ast-above-header-bar"),astra_apply_responsive_background_css("astra-settings[hba-header-bg-obj-responsive]",".ast-above-header.ast-above-header-bar","desktop"),astra_apply_responsive_background_css("astra-settings[hba-header-bg-obj-responsive]",".ast-above-header.ast-above-header-bar","tablet"),astra_apply_responsive_background_css("astra-settings[hba-header-bg-obj-responsive]",".ast-above-header.ast-above-header-bar","mobile"),document.querySelector(".ast-above-header-wrap .site-logo-img")&&(astra_apply_responsive_background_css("astra-settings[hba-header-bg-obj-responsive]",".ast-sg-element-wrap.ast-sg-logo-section, .ast-above-header.ast-above-header-bar","desktop"),astra_apply_responsive_background_css("astra-settings[hba-header-bg-obj-responsive]",".ast-sg-element-wrap.ast-sg-logo-section, .ast-above-header.ast-above-header-bar","tablet"),astra_apply_responsive_background_css("astra-settings[hba-header-bg-obj-responsive]",".ast-sg-element-wrap.ast-sg-logo-section, .ast-above-header.ast-above-header-bar","mobile")),astra_builder_advanced_css("section-above-header-builder",".ast-above-header.ast-above-header-bar, .ast-header-break-point #masthead.site-header .ast-above-header-bar"),astra_builder_visibility_css("section-above-header-builder",".ast-above-header-bar","grid")})(jQuery); type/header/social-icon/class-astra-header-social-icon-component-loader.php 0000644 00000003123 15105312163 0022767 0 ustar 00 <?php /** * Social Icon Styling Loader for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0s */ class Astra_Header_Social_Icon_Component_Loader { /** * Constructor * * @since 3.0.0s */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0s */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-heading-social-icon-customizer-preview-js', ASTRA_HEADER_SOCIAL_ICON_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for Astra Breakpoints JS. wp_localize_script( 'astra-heading-social-icon-customizer-preview-js', 'astraBuilderHeaderSocial', array( 'tablet_break_point' => astra_get_tablet_breakpoint(), 'mobile_break_point' => astra_get_mobile_breakpoint(), 'component_limit' => defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_social_icons, ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Social_Icon_Component_Loader(); type/header/social-icon/dynamic-css/dynamic.css.php 0000644 00000001270 15105312163 0016310 0 ustar 00 <?php /** * Heading Colors - Dynamic CSS * * @package Astra * @since 2.1.4 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Heading Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_social_icon_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 2.1.4 */ function astra_hb_social_icon_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { $dynamic_css .= Astra_Social_Component_Dynamic_CSS::astra_social_dynamic_css( 'header' ); return $dynamic_css; } type/header/social-icon/assets/js/unminified/customizer-preview.js 0000644 00000000701 15105312163 0021436 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { astra_builder_social_css( 'header', astraBuilderHeaderSocial.component_limit ); } )( jQuery ); type/header/social-icon/assets/js/minified/customizer-preview.min.js 0000644 00000000123 15105312163 0021653 0 ustar 00 jQuery,astra_builder_social_css("header",astraBuilderHeaderSocial.component_limit); type/header/social-icon/class-astra-header-social-icon-component.php 0000644 00000002300 15105312163 0021517 0 ustar 00 <?php /** * Heading Colors for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_HEADER_SOCIAL_ICON_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/social-icon' ); define( 'ASTRA_HEADER_SOCIAL_ICON_URI', ASTRA_THEME_URI . 'inc/builder/type/header/social-icon' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Header_Social_Icon_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_HEADER_SOCIAL_ICON_DIR . '/class-astra-header-social-icon-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_HEADER_SOCIAL_ICON_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Header_Social_Icon_Component(); type/header/button/dynamic-css/dynamic.css.php 0000644 00000001246 15105312163 0015426 0 ustar 00 <?php /** * Butons - Dynamic CSS * * @package Astra * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Heading Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_button_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_hb_button_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { $dynamic_css .= Astra_Button_Component_Dynamic_CSS::astra_button_dynamic_css( 'header' ); return $dynamic_css; } type/header/button/class-astra-header-button-component-loader.php 0000644 00000004160 15105312163 0021217 0 ustar 00 <?php /** * Button Styling Loader for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Header_Button_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); add_action( 'astra_get_fonts', array( $this, 'add_fonts' ), 1 ); } /** * Add Font Family Callback * * @return void */ public function add_fonts() { /** * Header - Button */ $num_of_header_button = Astra_Builder_Helper::$num_of_header_button; for ( $index = 1; $index <= $num_of_header_button; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'button-' . $index, 'header' ) ) { continue; } $_prefix = 'button' . $index; $btn_font_family = astra_get_option( 'header-' . $_prefix . '-font-family' ); $btn_font_weight = astra_get_option( 'header-' . $_prefix . '-font-weight' ); Astra_Fonts::add_font( $btn_font_family, $btn_font_weight ); } } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-heading-button-customizer-preview-js', ASTRA_HEADER_BUTTON_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for Button JS. wp_localize_script( 'astra-heading-button-customizer-preview-js', 'AstraBuilderButtonData', array( 'component_limit' => defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_button, ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Button_Component_Loader(); type/header/button/assets/js/unminified/customizer-preview.js 0000644 00000000677 15105312163 0020565 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { astra_builder_button_css( 'header', AstraBuilderButtonData.component_limit ); } )( jQuery ); type/header/button/assets/js/minified/customizer-preview.min.js 0000644 00000000121 15105312163 0020764 0 ustar 00 jQuery,astra_builder_button_css("header",AstraBuilderButtonData.component_limit); type/header/button/class-astra-header-button-component.php 0000644 00000002235 15105312163 0017754 0 ustar 00 <?php /** * Heading Colors for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 2.1.4 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_HEADER_BUTTON_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/button' ); define( 'ASTRA_HEADER_BUTTON_URI', ASTRA_THEME_URI . 'inc/builder/type/header/button' ); /** * Heading Initial Setup * * @since 2.1.4 */ class Astra_Header_Button_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_HEADER_BUTTON_DIR . '/class-astra-header-button-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_HEADER_BUTTON_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Header_Button_Component(); type/header/primary-header/dynamic-css/dynamic.css.php 0000644 00000023712 15105312163 0017026 0 ustar 00 <?php /** * Primary Header - Dynamic CSS * * @package Astra * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Heading Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_primary_header_breakpoint_style', 11 ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_primary_header_breakpoint_style( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! is_customize_preview() && ( ! Astra_Builder_Helper::is_row_empty( 'primary', 'header', 'desktop' ) && ! Astra_Builder_Helper::is_row_empty( 'primary', 'header', 'mobile' ) ) ) { return $dynamic_css; } // Parsed CSS. $parse_css = ''; $hb_header_height = astra_get_option( 'hb-header-height' ); // Header Height. $hb_header_height_desktop = isset( $hb_header_height['desktop'] ) && ! empty( $hb_header_height['desktop'] ) ? $hb_header_height['desktop'] : ''; $hb_header_height_tablet = isset( $hb_header_height['tablet'] ) && ! empty( $hb_header_height['tablet'] ) ? $hb_header_height['tablet'] : ''; $hb_header_height_mobile = isset( $hb_header_height['mobile'] ) && ! empty( $hb_header_height['mobile'] ) ? $hb_header_height['mobile'] : ''; $common_css_output = array( '.ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap' => array( 'min-height' => astra_get_css_value( $hb_header_height_desktop, 'px' ), ), '.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item' => array( 'line-height' => astra_get_css_value( $hb_header_height_desktop, 'px' ), ), ); $parse_css .= astra_parse_css( $common_css_output ); if ( ( Astra_Builder_Helper::is_component_loaded( 'woo-cart', 'header' ) && defined( 'WC_VERSION' ) ) || ( Astra_Builder_Helper::is_component_loaded( 'edd-cart', 'header' ) && defined( 'EDD_VERSION' ) ) ) { $common_css_cart_output = array( '.ast-desktop .ast-primary-header-bar .ast-header-woo-cart, .ast-desktop .ast-primary-header-bar .ast-header-edd-cart' => array( 'line-height' => astra_get_css_value( $hb_header_height_desktop, 'px' ), 'min-height' => astra_get_css_value( $hb_header_height_desktop, 'px' ), ), '.woocommerce .ast-site-header-cart, .ast-site-header-cart' => array( 'display' => 'flex', 'flex-wrap' => 'wrap', 'align-items' => 'center', ), ); $parse_css .= astra_parse_css( $common_css_cart_output ); } $astra_header_width = astra_get_option( 'hb-header-main-layout-width' ); $header_breadcrumb_position = astra_get_option( 'breadcrumb-position' ); /* Width for Header */ if ( 'content' !== $astra_header_width ) { $general_global_responsive = array( '#masthead .ast-container, .site-header-focus-item + .ast-breadcrumbs-wrapper' => array( 'max-width' => '100%', 'padding-left' => '35px', 'padding-right' => '35px', ), ); /* Parse CSS from array()*/ $parse_css .= astra_parse_css( $general_global_responsive ); } elseif ( 'astra_header_primary_container_after' === $header_breadcrumb_position ) { $site_content_width = astra_get_option( 'site-content-width', 1200 ); $general_global_responsive = array( '.site-header-focus-item + .ast-breadcrumbs-wrapper' => array( 'max-width' => astra_get_css_value( $site_content_width + 40, 'px' ), 'margin-left' => 'auto', 'margin-right' => 'auto', 'padding-left' => '20px', 'padding-right' => '20px', ), ); /* Parse CSS from array()*/ $parse_css .= astra_parse_css( $general_global_responsive ); } $padding_below_breakpoint = array( '.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar, .ast-header-break-point #masthead .ast-mobile-header-wrap .ast-below-header-bar, .ast-header-break-point #masthead .ast-mobile-header-wrap .ast-above-header-bar' => array( 'padding-left' => '20px', 'padding-right' => '20px', ), ); $parse_css .= astra_parse_css( $padding_below_breakpoint ); // Header Separator. $header_separator = astra_get_option( 'hb-header-main-sep' ); // Apply border only when it has positive value. if ( '' !== $header_separator && 'inherit' !== $header_separator ) { $header_separator_color = astra_get_option( 'hb-header-main-sep-color' ); $border_responsive_style = array( '.ast-header-break-point .ast-primary-header-bar' => array( 'border-bottom-width' => astra_get_css_value( $header_separator, 'px' ), 'border-bottom-color' => esc_attr( $header_separator_color ), 'border-bottom-style' => 'solid', ), ); $border_desktop_style = array( '.ast-primary-header-bar' => array( 'border-bottom-width' => astra_get_css_value( $header_separator, 'px' ), 'border-bottom-color' => esc_attr( $header_separator_color ), 'border-bottom-style' => 'solid', ), ); } else { $border_responsive_style = array( '.ast-header-break-point .ast-primary-header-bar' => array( 'border-bottom-style' => 'none', ), ); $border_desktop_style = array( '.ast-primary-header-bar' => array( 'border-bottom-style' => 'none', ), ); } $parse_css .= astra_parse_css( $border_responsive_style ); $parse_css .= astra_parse_css( $border_desktop_style, astra_get_tablet_breakpoint( '', 1 ) ); // Header background colours. $header_bg_obj = astra_get_option( 'hb-header-bg-obj-responsive' ); $hba_header_bg_obj = astra_get_option( 'hba-header-bg-obj-responsive' ); $hbb_header_bg_obj = astra_get_option( 'hbb-header-bg-obj-responsive' ); // Handle style guide logo background cases inside the customizer. if ( is_customize_preview() ) { $header_items = astra_get_option( 'header-desktop-items', array() ); $header_main_color = array( '.ast-sg-element-wrap.ast-sg-logo-section' => astra_get_responsive_background_obj( $header_bg_obj, 'desktop' ), ); $sections = array( 'above' => $hba_header_bg_obj, 'primary' => $header_bg_obj, 'below' => $hbb_header_bg_obj, ); foreach ( $sections as $section => $bg_obj ) { if ( isset( $header_items[ $section ] ) && astra_is_logo_in_section( $header_items[ $section ] ) ) { $header_main_color = array( '.ast-sg-element-wrap.ast-sg-logo-section' => astra_get_responsive_background_obj( $bg_obj, 'desktop' ), ); break; } } // Parse the CSS $parse_css .= astra_parse_css( $header_main_color ); } /** * Responsive Colors options * Header Responsive Background with Image */ $desktop_colors = array( '.ast-primary-header-bar' => astra_get_responsive_background_obj( $header_bg_obj, 'desktop' ), ); $tablet_colors = array( '.ast-primary-header-bar.ast-primary-header' => astra_get_responsive_background_obj( $header_bg_obj, 'tablet' ), '.ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap' => array( 'min-height' => astra_get_css_value( $hb_header_height_tablet, 'px' ), ), ); $mobile_colors = array( '.ast-primary-header-bar.ast-primary-header' => astra_get_responsive_background_obj( $header_bg_obj, 'mobile' ), '.ast-mobile-header-wrap .ast-primary-header-bar , .ast-primary-header-bar .site-primary-header-wrap' => array( 'min-height' => astra_get_css_value( $hb_header_height_mobile, 'px' ), ), ); /* Parse CSS from array() */ /** * Tweak - Check for AMP Support. */ $parse_css .= apply_filters( 'astra_addon_colors_dynamic_css_desktop', astra_parse_css( $desktop_colors ) ); $parse_css .= apply_filters( 'astra_addon_colors_dynamic_css_tablet', astra_parse_css( $tablet_colors, '', astra_get_tablet_breakpoint() ) ); $parse_css .= apply_filters( 'astra_addon_colors_dynamic_css_mobile', astra_parse_css( $mobile_colors, '', astra_get_mobile_breakpoint() ) ); /** * Tweak - $remove_bottom_sire_brancing - Search in Astra Pro. */ // Trim white space for faster page loading. $dynamic_css .= Astra_Enqueue_Scripts::trim_css( $parse_css ); $_section = 'section-primary-header-builder'; $parent_selector = '.ast-desktop .ast-primary-header-bar.main-header-bar, .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar'; $dynamic_css .= Astra_Extended_Base_Dynamic_CSS::prepare_advanced_margin_padding_css( $_section, $parent_selector ); $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, '.ast-primary-header-bar', 'block', 'grid' ); // Advanced CSS for Header Builder. $margin = astra_get_option( 'section-header-builder-layout-margin' ); // Desktop CSS. $css_output_desktop = array( '.ast-hfb-header .site-header' => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); // Tablet CSS. $css_output_tablet = array( '.ast-hfb-header .site-header' => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); // Mobile CSS. $css_output_mobile = array( '.ast-hfb-header .site-header' => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); $dynamic_css .= astra_parse_css( $css_output_desktop ); $dynamic_css .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $dynamic_css .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); return $dynamic_css; } type/header/primary-header/class-astra-primary-header-loader.php 0000644 00000003757 15105312163 0021000 0 ustar 00 <?php /** * Button Styling Loader for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Primary_Header_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); // Markup. add_filter( 'body_class', array( $this, 'astra_body_header_classes' ) ); } /** * Adds custom classes to the array of body classes. * * @since 1.0.0 * @param array $classes Classes for the body element. * @return array */ public function astra_body_header_classes( $classes ) { /** * Add class for header width */ $header_content_layout = astra_get_option( 'hb-header-main-layout-width' ); if ( 'full' === $header_content_layout ) { $classes[] = 'ast-full-width-primary-header'; } return $classes; } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-heading-primary-customizer-preview-js', ASTRA_PRIMARY_HEADER_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for Button JS. wp_localize_script( 'astra-heading-primary-customizer-preview-js', 'AstraBuilderPrimaryHeaderData', array( 'header_break_point' => astra_header_break_point(), 'tablet_break_point' => astra_get_tablet_breakpoint(), 'mobile_break_point' => astra_get_mobile_breakpoint(), ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Primary_Header_Loader(); type/header/primary-header/class-astra-primary-header.php 0000644 00000002345 15105312163 0017524 0 ustar 00 <?php /** * Heading Colors for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 3.0.0. */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_PRIMARY_HEADER_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/primary-header' ); define( 'ASTRA_PRIMARY_HEADER_URI', ASTRA_THEME_URI . 'inc/builder/type/header/primary-header' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Primary_Header { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_PRIMARY_HEADER_DIR . '/class-astra-primary-header-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_PRIMARY_HEADER_DIR . '/dynamic-css/dynamic.css.php'; remove_filter( 'astra_dynamic_theme_css', 'astra_header_breakpoint_style' ); } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Primary_Header(); type/header/primary-header/assets/js/unminified/customizer-preview.js 0000644 00000020044 15105312163 0022151 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = AstraBuilderPrimaryHeaderData.tablet_break_point || 768, mobile_break_point = AstraBuilderPrimaryHeaderData.mobile_break_point || 544; wp.customize( 'astra-settings[hb-header-height]', function( value ) { value.bind( function( size ) { if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += '.ast-mobile-header-wrap .ast-primary-header-bar , .ast-primary-header-bar .site-primary-header-wrap {'; dynamicStyle += 'min-height: ' + size.desktop + 'px;'; dynamicStyle += '} '; dynamicStyle += '.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {'; dynamicStyle += 'line-height: ' + size.desktop + 'px;'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-mobile-header-wrap .ast-primary-header-bar , .ast-primary-header-bar .site-primary-header-wrap {'; dynamicStyle += 'min-height: ' + size.tablet + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-mobile-header-wrap .ast-primary-header-bar , .ast-primary-header-bar .site-primary-header-wrap {'; dynamicStyle += 'min-height: ' + size.mobile + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'hb-header-height', dynamicStyle ); } } ); } ); // Primary Header - Layout > Content Width. wp.customize( 'astra-settings[hb-header-main-layout-width]', function( setting ) { setting.bind( function( layout ) { var dynamicStyle = ''; if ( 'content' !== layout ) { dynamicStyle += '#masthead .ast-container, .site-header-focus-item + .ast-breadcrumbs-wrapper {'; dynamicStyle += 'max-width: unset;'; dynamicStyle += 'padding-left: 35px;'; dynamicStyle += 'padding-right: 35px;'; dynamicStyle += '} '; } else { dynamicStyle = '#masthead .ast-container, .site-header-focus-item + .ast-breadcrumbs-wrapper {'; dynamicStyle += 'max-width: 100%'; dynamicStyle += 'padding-left: 20px;'; dynamicStyle += 'padding-right: 20px;'; dynamicStyle += '} '; } dynamicStyle += '@media (max-width: ' + AstraBuilderPrimaryHeaderData.header_break_point + 'px) {'; dynamicStyle += '#masthead .ast-mobile-header-wrap .ast-above-header-bar, #masthead .ast-mobile-header-wrap .ast-primary-header-bar, #masthead .ast-mobile-header-wrap .ast-below-header-bar {'; dynamicStyle += 'padding-left: 20px;'; dynamicStyle += 'padding-right: 20px;'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'hb-header-main-layout-width', dynamicStyle ); } ); } ); // Border Bottom width. wp.customize( 'astra-settings[hb-header-main-sep]', function( value ) { value.bind( function( border ) { var color = wp.customize( 'astra-settings[hb-header-main-sep-color]' ).get(), dynamicStyle = ''; dynamicStyle += '.ast-header-break-point .ast-primary-header-bar, .ast-primary-header-bar {'; dynamicStyle += 'border-bottom-width: ' + border + 'px;'; dynamicStyle += 'border-bottom-style: solid;'; dynamicStyle += 'border-color:' + color + ';'; dynamicStyle += '}'; astra_add_dynamic_css( 'hb-header-main-sep', dynamicStyle ); } ); } ); // Border Color. astra_css( 'astra-settings[hb-header-main-sep-color]', 'border-color', '.ast-header-break-point .ast-primary-header-bar, .ast-primary-header-bar' ); // Responsive BG styles > Primary Header Row. astra_apply_responsive_background_css( 'astra-settings[hb-header-bg-obj-responsive]', '.main-header-bar', 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[hb-header-bg-obj-responsive]', '.ast-primary-header.main-header-bar', 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[hb-header-bg-obj-responsive]', '.ast-primary-header.main-header-bar', 'mobile' ); const iframe = document.querySelector('#customize-preview iframe'); // Style guide logo background colour preview. var desktopHeader = document.getElementById("ast-desktop-header"); if (desktopHeader) { var mainHeaderWrap = desktopHeader.querySelector( '.ast-main-header-wrap.main-header-bar-wrap' ); if (mainHeaderWrap && mainHeaderWrap.querySelector(".site-logo-img")) { astra_apply_responsive_background_css( "astra-settings[hb-header-bg-obj-responsive]", ".ast-sg-element-wrap.ast-sg-logo-section, .main-header-bar", "desktop" ); astra_apply_responsive_background_css( "astra-settings[hb-header-bg-obj-responsive]", ".ast-sg-element-wrap.ast-sg-logo-section, .ast-primary-header.main-header-bar", "tablet" ); astra_apply_responsive_background_css( "astra-settings[hb-header-bg-obj-responsive]", ".ast-sg-element-wrap.ast-sg-logo-section, .ast-primary-header.main-header-bar", "mobile" ); } } // Advanced CSS Generation. astra_builder_advanced_css( 'section-primary-header-builder', '.ast-desktop .ast-primary-header-bar, .ast-header-break-point .ast-primary-header-bar' ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( 'section-primary-header-builder', '.ast-primary-header-bar', 'grid' ); // Advanced CSS for Header Builder - Margin. wp.customize( 'astra-settings[section-header-builder-layout-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var dynamicStyle = ''; dynamicStyle += '.ast-hfb-header .site-header {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-hfb-header .site-header {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-hfb-header .site-header {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'section-header-builder-layout-margin-toggle-button', dynamicStyle ); } } ); } ); } )( jQuery ); type/header/primary-header/assets/js/minified/customizer-preview.min.js 0000644 00000011315 15105312163 0022371 0 ustar 00 (()=>{var t=AstraBuilderPrimaryHeaderData.tablet_break_point||768,r=AstraBuilderPrimaryHeaderData.mobile_break_point||544,e=(wp.customize("astra-settings[hb-header-height]",function(e){e.bind(function(e){var a;""==e.desktop&&""==e.tablet&&""==e.mobile||(a=(a=(a=(a=(a=(a=(a="")+".ast-mobile-header-wrap .ast-primary-header-bar , .ast-primary-header-bar .site-primary-header-wrap {min-height: "+e.desktop+"px;} .ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {")+"line-height: "+e.desktop+"px;} ")+"@media (max-width: "+t+"px) {.ast-mobile-header-wrap .ast-primary-header-bar , .ast-primary-header-bar .site-primary-header-wrap {")+"min-height: "+e.tablet+"px;} ")+"} @media (max-width: "+r+"px) {")+".ast-mobile-header-wrap .ast-primary-header-bar , .ast-primary-header-bar .site-primary-header-wrap {min-height: "+e.mobile+"px;} } ",astra_add_dynamic_css("hb-header-height",a))})}),wp.customize("astra-settings[hb-header-main-layout-width]",function(e){e.bind(function(e){var a="";"content"!==e?a+="#masthead .ast-container, .site-header-focus-item + .ast-breadcrumbs-wrapper {max-width: unset;padding-left: 35px;padding-right: 35px;} ":a="#masthead .ast-container, .site-header-focus-item + .ast-breadcrumbs-wrapper {max-width: 100%padding-left: 20px;padding-right: 20px;} ",a=a+("@media (max-width: "+AstraBuilderPrimaryHeaderData.header_break_point)+"px) {#masthead .ast-mobile-header-wrap .ast-above-header-bar, #masthead .ast-mobile-header-wrap .ast-primary-header-bar, #masthead .ast-mobile-header-wrap .ast-below-header-bar {padding-left: 20px;padding-right: 20px;} } ",astra_add_dynamic_css("hb-header-main-layout-width",a)})}),wp.customize("astra-settings[hb-header-main-sep]",function(e){e.bind(function(e){var a="",a=(a=(a+=".ast-header-break-point .ast-primary-header-bar, .ast-primary-header-bar {")+("border-bottom-width: "+e+"px;")+"border-bottom-style: solid;")+("border-color:"+wp.customize("astra-settings[hb-header-main-sep-color]").get()+";")+"}";astra_add_dynamic_css("hb-header-main-sep",a)})}),astra_css("astra-settings[hb-header-main-sep-color]","border-color",".ast-header-break-point .ast-primary-header-bar, .ast-primary-header-bar"),astra_apply_responsive_background_css("astra-settings[hb-header-bg-obj-responsive]",".main-header-bar","desktop"),astra_apply_responsive_background_css("astra-settings[hb-header-bg-obj-responsive]",".ast-primary-header.main-header-bar","tablet"),astra_apply_responsive_background_css("astra-settings[hb-header-bg-obj-responsive]",".ast-primary-header.main-header-bar","mobile"),document.querySelector("#customize-preview iframe"),document.getElementById("ast-desktop-header"));e&&(e=e.querySelector(".ast-main-header-wrap.main-header-bar-wrap"))&&e.querySelector(".site-logo-img")&&(astra_apply_responsive_background_css("astra-settings[hb-header-bg-obj-responsive]",".ast-sg-element-wrap.ast-sg-logo-section, .main-header-bar","desktop"),astra_apply_responsive_background_css("astra-settings[hb-header-bg-obj-responsive]",".ast-sg-element-wrap.ast-sg-logo-section, .ast-primary-header.main-header-bar","tablet"),astra_apply_responsive_background_css("astra-settings[hb-header-bg-obj-responsive]",".ast-sg-element-wrap.ast-sg-logo-section, .ast-primary-header.main-header-bar","mobile")),astra_builder_advanced_css("section-primary-header-builder",".ast-desktop .ast-primary-header-bar, .ast-header-break-point .ast-primary-header-bar"),astra_builder_visibility_css("section-primary-header-builder",".ast-primary-header-bar","grid"),wp.customize("astra-settings[section-header-builder-layout-margin]",function(e){e.bind(function(e){var a;""==e.desktop.bottom&&""==e.desktop.top&&""==e.desktop.left&&""==e.desktop.right&&""==e.tablet.bottom&&""==e.tablet.top&&""==e.tablet.left&&""==e.tablet.right&&""==e.mobile.bottom&&""==e.mobile.top&&""==e.mobile.left&&""==e.mobile.right||(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a="")+".ast-hfb-header .site-header {margin-left: "+e.desktop.left+e["desktop-unit"]+";")+"margin-right: "+e.desktop.right+e["desktop-unit"]+";")+"margin-top: "+e.desktop.top+e["desktop-unit"]+";")+"margin-bottom: "+e.desktop.bottom+e["desktop-unit"]+";")+"} @media (max-width: "+t+"px) {")+".ast-hfb-header .site-header {margin-left: "+e.tablet.left+e["tablet-unit"]+";")+"margin-right: "+e.tablet.right+e["tablet-unit"]+";")+"margin-top: "+e.tablet.top+e["desktop-unit"]+";")+"margin-bottom: "+e.tablet.bottom+e["desktop-unit"]+";} ")+"} @media (max-width: "+r+"px) {")+".ast-hfb-header .site-header {margin-left: "+e.mobile.left+e["mobile-unit"]+";")+"margin-right: "+e.mobile.right+e["mobile-unit"]+";")+"margin-top: "+e.mobile.top+e["desktop-unit"]+";")+"margin-bottom: "+e.mobile.bottom+e["desktop-unit"]+";} } ",astra_add_dynamic_css("section-header-builder-layout-margin-toggle-button",a))})})})(jQuery); type/header/edd-cart/dynamic-css/dynamic.css.php 0000644 00000046435 15105312163 0015607 0 ustar 00 <?php /** * EDD Cart - Dynamic CSS * * @package Astra * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Search */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_edd_cart_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Search. * * @since 3.0.0 */ function astra_hb_edd_cart_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'edd-cart', 'header' ) ) { return $dynamic_css; } $selector = '.ast-edd-site-header-cart'; $trans_header_cart_selector = '.ast-theme-transparent-header .ast-edd-site-header-cart'; $theme_color = astra_get_option( 'theme-color' ); $link_color = astra_get_option( 'link-color', $theme_color ); $header_cart_icon_style = astra_get_option( 'edd-header-cart-icon-style' ); $header_cart_icon_color = astra_get_option( 'edd-header-cart-icon-color', $theme_color ); $header_cart_icon_radius = astra_get_option( 'edd-header-cart-icon-radius' ); $cart_h_color = astra_get_foreground_color( $header_cart_icon_color ); $trans_header_cart_icon_color = astra_get_option( 'transparent-header-edd-cart-icon-color', $theme_color ); $trans_header_cart_h_color = astra_get_foreground_color( $trans_header_cart_icon_color ); $btn_color = astra_get_option( 'button-color' ); $btn_bg_color = astra_get_option( 'button-bg-color', $theme_color ); if ( empty( $btn_color ) ) { $btn_color = astra_get_foreground_color( $theme_color ); } if ( 'none' === $header_cart_icon_style ) { $header_cart_icon_color = $theme_color; $trans_header_cart_icon_color = $theme_color; } /** * - EDD cart styles. */ $cart_text_color = astra_get_option( 'header-edd-cart-text-color' ); $cart_link_color = astra_get_option( 'header-edd-cart-link-color', $link_color ); $cart_bg_color = astra_get_option( 'header-edd-cart-background-color' ); $cart_separator_color = astra_get_option( 'header-edd-cart-separator-color' ); $checkout_button_text_color = astra_get_option( 'header-edd-checkout-btn-text-color', $btn_color ); $checkout_button_bg_color = astra_get_option( 'header-edd-checkout-btn-background-color', $btn_bg_color ); $checkout_button_text_h_color = astra_get_option( 'header-edd-checkout-btn-text-hover-color', $btn_color ); $checkout_button_bg_h_color = astra_get_option( 'header-edd-checkout-btn-bg-hover-color', $btn_bg_color ); $header_cart_icon = ''; $cart_text_color_desktop = ! empty( $cart_text_color['desktop'] ) ? $cart_text_color['desktop'] : ''; $cart_text_color_mobile = ! empty( $cart_text_color['mobile'] ) ? $cart_text_color['mobile'] : ''; $cart_text_color_tablet = ! empty( $cart_text_color['tablet'] ) ? $cart_text_color['tablet'] : ''; $cart_bg_color_desktop = ! empty( $cart_bg_color['desktop'] ) ? $cart_bg_color['desktop'] : ''; $cart_bg_color_mobile = ! empty( $cart_bg_color['mobile'] ) ? $cart_bg_color['mobile'] : ''; $cart_bg_color_tablet = ! empty( $cart_bg_color['tablet'] ) ? $cart_bg_color['tablet'] : ''; $cart_link_color_desktop = ! empty( $cart_link_color['desktop'] ) ? $cart_link_color['desktop'] : ''; $cart_link_color_mobile = ! empty( $cart_link_color['mobile'] ) ? $cart_link_color['mobile'] : ''; $cart_link_color_tablet = ! empty( $cart_link_color['tablet'] ) ? $cart_link_color['tablet'] : ''; $cart_separator_color_desktop = ! empty( $cart_separator_color['desktop'] ) ? $cart_separator_color['desktop'] : ''; $cart_separator_color_mobile = ! empty( $cart_separator_color['mobile'] ) ? $cart_separator_color['mobile'] : ''; $cart_separator_color_tablet = ! empty( $cart_separator_color['tablet'] ) ? $cart_separator_color['tablet'] : ''; $checkout_button_text_color_desktop = ! empty( $checkout_button_text_color['desktop'] ) ? $checkout_button_text_color['desktop'] : ''; $checkout_button_text_color_mobile = ! empty( $checkout_button_text_color['mobile'] ) ? $checkout_button_text_color['mobile'] : ''; $checkout_button_text_color_tablet = ! empty( $checkout_button_text_color['tablet'] ) ? $checkout_button_text_color['tablet'] : ''; $checkout_button_bg_color_desktop = ! empty( $checkout_button_bg_color['desktop'] ) ? $checkout_button_bg_color['desktop'] : ''; $checkout_button_bg_color_mobile = ! empty( $checkout_button_bg_color['mobile'] ) ? $checkout_button_bg_color['mobile'] : ''; $checkout_button_bg_color_tablet = ! empty( $checkout_button_bg_color['tablet'] ) ? $checkout_button_bg_color['tablet'] : ''; $checkout_button_text_h_color_desktop = ! empty( $checkout_button_text_h_color['desktop'] ) ? $checkout_button_text_h_color['desktop'] : ''; $checkout_button_text_h_color_mobile = ! empty( $checkout_button_text_h_color['mobile'] ) ? $checkout_button_text_h_color['mobile'] : ''; $checkout_button_text_h_color_tablet = ! empty( $checkout_button_text_h_color['tablet'] ) ? $checkout_button_text_h_color['tablet'] : ''; $checkout_button_bg_h_color_desktop = ! empty( $checkout_button_bg_h_color['desktop'] ) ? $checkout_button_bg_h_color['desktop'] : ''; $checkout_button_bg_h_color_mobile = ! empty( $checkout_button_bg_h_color['mobile'] ) ? $checkout_button_bg_h_color['mobile'] : ''; $checkout_button_bg_h_color_tablet = ! empty( $checkout_button_bg_h_color['tablet'] ) ? $checkout_button_bg_h_color['tablet'] : ''; /** * EDD Cart CSS. */ $css_output_desktop = array( $selector . ' .ast-edd-cart-menu-wrap .count, ' . $selector . ' .ast-edd-cart-menu-wrap .count:after' => array( 'color' => $theme_color, 'border-color' => $theme_color, ), $selector . ' .ast-edd-cart-menu-wrap:hover .count' => array( 'color' => esc_attr( $cart_h_color ), 'background-color' => esc_attr( $theme_color ), ), $selector . ' .ast-icon-shopping-cart' => array( 'color' => $theme_color, ), $selector . ' .ast-edd-header-cart-info-wrap' => array( 'color' => esc_attr( $header_cart_icon_color ), ), $selector . ' .ast-addon-cart-wrap span.astra-icon:after' => array( 'color' => esc_attr( $cart_h_color ), 'background-color' => esc_attr( $header_cart_icon_color ), ), /** * Transparent Header - EDD Cart icon color. */ $trans_header_cart_selector . ' .ast-edd-header-cart-info-wrap' => array( 'color' => esc_attr( $trans_header_cart_icon_color ), ), $trans_header_cart_selector . ' .ast-addon-cart-wrap span.astra-icon:after' => array( 'color' => esc_attr( $trans_header_cart_h_color ), 'background-color' => esc_attr( $trans_header_cart_icon_color ), ), /** * General EDD Cart tray color for widget */ $selector . ' .widget_edd_cart_widget a, ' . $selector . ' .widget_edd_cart_widget a.edd-remove-from-cart, ' . $selector . ' .widget_edd_cart_widget .cart-total' => array( 'color' => esc_attr( $cart_link_color_desktop ), ), $selector . ' .widget_edd_cart_widget a.edd-remove-from-cart:after' => array( 'color' => esc_attr( $cart_link_color_desktop ), 'border-color' => esc_attr( $cart_link_color_desktop ), ), $selector . ' .widget_edd_cart_widget span, ' . $selector . ' .widget_edd_cart_widget strong, ' . $selector . ' .widget_edd_cart_widget *' => array( 'color' => esc_attr( $cart_text_color_desktop ), ), '.ast-builder-layout-element ' . $selector . ' .widget_edd_cart_widget' => array( 'background-color' => esc_attr( $cart_bg_color_desktop ), 'border-color' => esc_attr( $cart_bg_color_desktop ), ), '.ast-builder-layout-element ' . $selector . ' .widget_edd_cart_widget:before, .ast-builder-layout-element ' . $selector . ' .widget_edd_cart_widget:after' => array( 'border-bottom-color' => esc_attr( $cart_bg_color_desktop ), ), $selector . ' .widget_edd_cart_widget .edd-cart-item, ' . $selector . ' .widget_edd_cart_widget .edd-cart-number-of-items, ' . $selector . ' .widget_edd_cart_widget .edd-cart-meta' => array( 'border-bottom-color' => esc_attr( $cart_separator_color_desktop ), ), /** * Checkout button color for widget */ '.ast-edd-site-header-cart .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a' => array( 'color' => esc_attr( $checkout_button_text_color_desktop ), 'border-color' => esc_attr( $checkout_button_bg_color_desktop ), 'background-color' => esc_attr( $checkout_button_bg_color_desktop ), ), '.ast-edd-site-header-cart .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover' => array( 'color' => esc_attr( $checkout_button_text_h_color_desktop ), 'background-color' => esc_attr( $checkout_button_bg_h_color_desktop ), ), ); $css_output = astra_parse_css( $css_output_desktop ); $responsive_selector = '.astra-cart-drawer.edd-active'; $css_output_mobile = array( $responsive_selector . ' .widget_edd_cart_widget a, ' . $responsive_selector . ' .widget_edd_cart_widget a.edd-remove-from-cart, ' . $responsive_selector . ' .widget_edd_cart_widget .cart-total' => array( 'color' => esc_attr( $cart_link_color_mobile ), ), $selector . ' .widget_edd_cart_widget a.edd-remove-from-cart:after' => array( 'color' => esc_attr( $cart_link_color_mobile ), 'border-color' => esc_attr( $cart_link_color_mobile ), ), $responsive_selector . ' .astra-cart-drawer-title, ' . $responsive_selector . ' .widget_edd_cart_widget span, ' . $responsive_selector . ' .widget_edd_cart_widget strong, ' . $responsive_selector . ' .widget_edd_cart_widget *' => array( 'color' => esc_attr( $cart_text_color_mobile ), ), $responsive_selector => array( 'background-color' => esc_attr( $cart_bg_color_mobile ), 'border-color' => esc_attr( $cart_bg_color_mobile ), ), $responsive_selector . ' .widget_edd_cart_widget:before, .ast-builder-layout-element ' . $responsive_selector . ' .widget_edd_cart_widget:after' => array( 'border-bottom-color' => esc_attr( $cart_bg_color_mobile ), ), $responsive_selector . ' .widget_edd_cart_widget .edd-cart-item, ' . $responsive_selector . ' .widget_edd_cart_widget .edd-cart-number-of-items, ' . $responsive_selector . ' .widget_edd_cart_widget .edd-cart-meta, ' . $responsive_selector . ' .astra-cart-drawer-header' => array( 'border-bottom-color' => esc_attr( $cart_separator_color_mobile ), ), /** * Checkout button color for widget */ $responsive_selector . ' .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a' => array( 'color' => esc_attr( $checkout_button_text_color_mobile ), 'border-color' => esc_attr( $checkout_button_bg_color_mobile ), 'background-color' => esc_attr( $checkout_button_bg_color_mobile ), ), $responsive_selector . ' .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover' => array( 'color' => esc_attr( $checkout_button_text_h_color_mobile ), 'background-color' => esc_attr( $checkout_button_bg_h_color_mobile ), ), ); $css_output_tablet = array( $responsive_selector . ' .widget_edd_cart_widget a, ' . $responsive_selector . ' .widget_edd_cart_widget a.edd-remove-from-cart, ' . $responsive_selector . ' .widget_edd_cart_widget .cart-total' => array( 'color' => esc_attr( $cart_link_color_tablet ), ), $selector . ' .widget_edd_cart_widget a.edd-remove-from-cart:after' => array( 'color' => esc_attr( $cart_link_color_tablet ), 'border-color' => esc_attr( $cart_link_color_tablet ), ), $responsive_selector . ' .astra-cart-drawer-title, ' . $responsive_selector . ' .widget_edd_cart_widget span, ' . $responsive_selector . ' .widget_edd_cart_widget strong, ' . $responsive_selector . ' .widget_edd_cart_widget *' => array( 'color' => esc_attr( $cart_text_color_tablet ), ), $responsive_selector => array( 'background-color' => esc_attr( $cart_bg_color_tablet ), 'border-color' => esc_attr( $cart_bg_color_tablet ), ), $responsive_selector . ' .widget_edd_cart_widget:before, .ast-builder-layout-element ' . $responsive_selector . ' .widget_edd_cart_widget:after' => array( 'border-bottom-color' => esc_attr( $cart_bg_color_tablet ), ), $responsive_selector . ' .widget_edd_cart_widget .edd-cart-item, ' . $responsive_selector . ' .widget_edd_cart_widget .edd-cart-number-of-items, ' . $responsive_selector . ' .widget_edd_cart_widget .edd-cart-meta, ' . $responsive_selector . ' .astra-cart-drawer-header' => array( 'border-bottom-color' => esc_attr( $cart_separator_color_tablet ), ), /** * Checkout button color for widget */ $responsive_selector . ' .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a' => array( 'color' => esc_attr( $checkout_button_text_color_tablet ), 'border-color' => esc_attr( $checkout_button_bg_color_tablet ), 'background-color' => esc_attr( $checkout_button_bg_color_tablet ), ), $responsive_selector . ' .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover' => array( 'color' => esc_attr( $checkout_button_text_h_color_tablet ), 'background-color' => esc_attr( $checkout_button_bg_h_color_tablet ), ), ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); /** * Header Cart color */ if ( 'none' !== $header_cart_icon_style ) { /** * Header Cart Icon colors */ $header_cart_icon = array( $selector . ' .ast-edd-cart-menu-wrap .count' => array( 'color' => esc_attr( astra_get_option( 'edd-header-cart-icon-color' ) ), 'border-color' => esc_attr( astra_get_option( 'edd-header-cart-icon-color' ) ), ), $selector . ' .ast-edd-cart-menu-wrap .count:after' => array( 'color' => esc_attr( astra_get_option( 'edd-header-cart-icon-color' ) ), 'border-color' => esc_attr( astra_get_option( 'edd-header-cart-icon-color' ) ), ), $selector . ' .ast-icon-shopping-cart' => array( 'color' => esc_attr( astra_get_option( 'edd-header-cart-icon-color' ) ), ), // Default icon colors. '.ast-edd-cart-menu-wrap .count, .ast-edd-cart-menu-wrap .count:after' => array( 'border-color' => esc_attr( $header_cart_icon_color ), 'color' => esc_attr( $header_cart_icon_color ), ), // Outline icon hover colors. $selector . ' .ast-edd-cart-menu-wrap:hover .count' => array( 'color' => esc_attr( $cart_h_color ), 'background-color' => esc_attr( $header_cart_icon_color ), ), // Outline icon colors. '.ast-edd-menu-cart-outline .ast-addon-cart-wrap' => array( 'background' => '#ffffff', 'color' => esc_attr( $header_cart_icon_color ), ), // Outline Info colors. $selector . ' .ast-menu-cart-outline .ast-edd-header-cart-info-wrap' => array( 'color' => esc_attr( $header_cart_icon_color ), ), // Fill icon Color. '.ast-edd-site-header-cart.ast-edd-menu-cart-fill .ast-edd-cart-menu-wrap .count,.ast-edd-menu-cart-fill .ast-addon-cart-wrap, .ast-edd-menu-cart-fill .ast-addon-cart-wrap .ast-edd-header-cart-info-wrap, .ast-edd-menu-cart-fill .ast-addon-cart-wrap .ast-icon-shopping-cart' => array( 'background-color' => esc_attr( $header_cart_icon_color ), 'color' => esc_attr( $cart_h_color ), ), // Transparent Header - Count colors. $trans_header_cart_selector . ' .ast-edd-cart-menu-wrap .count' => array( 'color' => esc_attr( astra_get_option( 'transparent-header-edd-cart-icon-color' ) ), 'border-color' => esc_attr( astra_get_option( 'transparent-header-edd-cart-icon-color' ) ), ), $trans_header_cart_selector . ' .ast-edd-cart-menu-wrap .count:after' => array( 'color' => esc_attr( astra_get_option( 'transparent-header-edd-cart-icon-color' ) ), 'border-color' => esc_attr( astra_get_option( 'transparent-header-edd-cart-icon-color' ) ), ), $trans_header_cart_selector . ' .ast-icon-shopping-cart' => array( 'color' => esc_attr( astra_get_option( 'transparent-header-edd-cart-icon-color' ) ), ), // Transparent Header - Default icon colors. '.ast-theme-transparent-header .ast-edd-cart-menu-wrap .count, .ast-theme-transparent-header .ast-edd-cart-menu-wrap .count:after' => array( 'border-color' => esc_attr( $trans_header_cart_icon_color ), 'color' => esc_attr( $trans_header_cart_icon_color ), ), // Transparent Header - Outline icon hover colors. $trans_header_cart_selector . ' .ast-edd-cart-menu-wrap:hover .count' => array( 'color' => esc_attr( $trans_header_cart_h_color ), 'background-color' => esc_attr( $trans_header_cart_icon_color ), ), // Transparent Header - Outline icon colors. '.ast-theme-transparent-header .ast-edd-menu-cart-outline .ast-addon-cart-wrap' => array( 'background' => '#ffffff', 'color' => esc_attr( $trans_header_cart_icon_color ), ), // Transparent Header - Outline Info colors. $trans_header_cart_selector . ' .ast-menu-cart-outline .ast-edd-header-cart-info-wrap' => array( 'color' => esc_attr( $trans_header_cart_icon_color ), ), // Transparent Header - Fill icon Color. '.ast-theme-transparent-header .ast-edd-site-header-cart.ast-edd-menu-cart-fill .ast-edd-cart-menu-wrap .count, .ast-theme-transparent-header .ast-edd-menu-cart-fill .ast-addon-cart-wrap, .ast-theme-transparent-header .ast-edd-menu-cart-fill .ast-edd-site-header-cart-wrap .ast-icon-shopping-cart, .ast-theme-transparent-header .ast-edd-site-header-cart .ast-addon-cart-wrap span.astra-icon:after' => array( 'background-color' => esc_attr( $trans_header_cart_icon_color ), 'color' => esc_attr( $trans_header_cart_h_color ), ), // Border radius. '.ast-edd-site-header-cart.ast-edd-menu-cart-outline .ast-addon-cart-wrap, .ast-edd-site-header-cart.ast-edd-menu-cart-fill .ast-addon-cart-wrap, .ast-edd-site-header-cart.ast-edd-menu-cart-outline .count, .ast-edd-site-header-cart.ast-edd-menu-cart-fill .count, .ast-edd-site-header-cart.ast-edd-menu-cart-outline .ast-addon-cart-wrap .ast-edd-header-cart-info-wrap, .ast-edd-site-header-cart.ast-edd-menu-cart-fill .ast-addon-cart-wrap .ast-edd-header-cart-info-wrap' => array( 'border-radius' => astra_get_css_value( $header_cart_icon_radius, 'px' ), ), ); // We adding this conditional CSS only to maintain backwards. Remove this condition after 2-3 updates of add-on. if ( defined( 'ASTRA_EXT_VER' ) && version_compare( ASTRA_EXT_VER, '3.4.2', '<' ) ) { // Outline cart style border. $header_cart_icon['.ast-edd-menu-cart-outline .ast-addon-cart-wrap'] = array( 'background' => '#ffffff', 'border' => '1px solid ' . $header_cart_icon_color, 'color' => esc_attr( $header_cart_icon_color ), ); // Transparent Header outline cart style border. $header_cart_icon['.ast-theme-transparent-header .ast-edd-menu-cart-outline .ast-addon-cart-wrap'] = array( 'background' => '#ffffff', 'border' => '1px solid ' . $trans_header_cart_icon_color, 'color' => esc_attr( $trans_header_cart_icon_color ), ); } $header_cart_icon = astra_parse_css( $header_cart_icon ); } /* Parse CSS from array() */ $css_output .= $header_cart_icon; $css_output .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( 'section-header-edd-cart', '.ast-header-edd-cart' ); $dynamic_css .= $css_output; return $dynamic_css; } type/header/edd-cart/class-astra-header-edd-cart-component.php 0000644 00000002355 15105312163 0020277 0 ustar 00 <?php /** * EDD Cart for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_HEADER_EDD_CART_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/edd-cart' ); define( 'ASTRA_HEADER_EDD_CART_URI', ASTRA_THEME_URI . 'inc/builder/type/header/edd-cart' ); if ( ! class_exists( 'Astra_Header_Edd_Cart_Component' ) ) { /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Header_Edd_Cart_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_HEADER_EDD_CART_DIR . '/class-astra-header-edd-cart-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_HEADER_EDD_CART_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Header_Edd_Cart_Component(); } type/header/edd-cart/class-astra-header-edd-cart-loader.php 0000644 00000002163 15105312163 0017540 0 ustar 00 <?php /** * EDD Cart Styling Loader for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Header_Edd_Cart_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-header-builder-edd-cart-customizer-preview-js', ASTRA_HEADER_EDD_CART_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Edd_Cart_Loader(); type/header/edd-cart/assets/js/unminified/customizer-preview.js 0000644 00000016326 15105312163 0020733 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since x.x.x */ ( function( $ ) { var selector = '.ast-edd-site-header-cart'; var responsive_selector = '.astra-cart-drawer.edd-active'; // Icon Color. astra_css( 'astra-settings[edd-header-cart-icon-color]', 'color', selector + ' .ast-edd-cart-menu-wrap .count, ' + selector + ' .ast-edd-cart-menu-wrap .count:after,' + selector + ' .ast-edd-header-cart-info-wrap' ); // Icon Color. astra_css( 'astra-settings[edd-header-cart-icon-color]', 'border-color', selector + ' .ast-edd-cart-menu-wrap .count, ' + selector + ' .ast-edd-cart-menu-wrap .count:after' ); // EDD Cart Colors. astra_color_responsive_css( 'edd-cart-colors', 'astra-settings[header-edd-cart-text-color]', 'color', selector + ' .widget_edd_cart_widget span, ' + selector + ' .widget_edd_cart_widget strong, ' + selector + ' .widget_edd_cart_widget *, ' + responsive_selector + ' .widget_edd_cart_widget span, .astra-cart-drawer .widget_edd_cart_widget *, ' + responsive_selector + ' .astra-cart-drawer-title' ); astra_color_responsive_css( 'edd-cart-colors', 'astra-settings[header-edd-cart-link-color]', 'color', selector + ' .widget_edd_cart_widget a, ' + selector + ' .widget_edd_cart_widget a.edd-remove-from-cart, ' + selector + ' .widget_edd_cart_widget .cart-total, ' + selector + ' .widget_edd_cart_widget a.edd-remove-from-cart:after, '+ responsive_selector + ' .widget_edd_cart_widget a, ' + responsive_selector + ' .widget_edd_cart_widget a.edd-remove-from-cart, ' + responsive_selector + ' .widget_edd_cart_widget .cart-total, ' + responsive_selector + ' .widget_edd_cart_widget a.edd-remove-from-cart:after' ); astra_color_responsive_css( 'edd-cart-colors', 'astra-settings[header-edd-cart-link-color]', 'border-color', selector + ' .widget_edd_cart_widget a.edd-remove-from-cart:after,' + responsive_selector + ' .widget_edd_cart_widget a.edd-remove-from-cart:after,' ); astra_color_responsive_css( 'edd-cart-colors', 'astra-settings[header-edd-cart-background-color]', 'background-color', '.ast-builder-layout-element ' + selector + ' .widget_edd_cart_widget ,' + responsive_selector + ', ' + responsive_selector + '#astra-mobile-cart-drawer' ); astra_color_responsive_css( 'edd-cart-border-color', 'astra-settings[header-edd-cart-background-color]', 'border-color', '.ast-builder-layout-element ' + selector + ' .widget_edd_cart_widget, ' + responsive_selector + ' .widget_edd_cart_widget' ); astra_color_responsive_css( 'edd-cart-border-bottom-color', 'astra-settings[header-edd-cart-background-color]', 'border-bottom-color', '.ast-builder-layout-element ' + selector + ' .widget_edd_cart_widget:before, .ast-builder-layout-element ' + selector + ' .widget_edd_cart_widget:after, ' + responsive_selector + ' .widget_edd_cart_widget:before, ' + responsive_selector + ' .widget_edd_cart_widget:after' ); astra_color_responsive_css( 'edd-cart-colors', 'astra-settings[header-edd-cart-separator-color]', 'border-bottom-color', '.ast-builder-layout-element ' + selector + ' .widget_edd_cart_widget .edd-cart-item, .ast-builder-layout-element ' + selector + ' .widget_edd_cart_widget .edd-cart-number-of-items, .ast-builder-layout-element ' + selector + ' .widget_edd_cart_widget .edd-cart-meta,'+ responsive_selector + ' .widget_edd_cart_widget .edd-cart-item, ' + responsive_selector + ' .widget_edd_cart_widget .edd-cart-number-of-items, ' + responsive_selector + ' .widget_edd_cart_widget .edd-cart-meta, ' + responsive_selector + ' .astra-cart-drawer-header' ); astra_color_responsive_css( 'edd-cart-colors', 'astra-settings[header-edd-checkout-btn-text-color]', 'color', selector + ' .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a, '+ responsive_selector + ' .widget_edd_cart_widget .edd_checkout a' ); astra_color_responsive_css( 'edd-cart-colors', 'astra-settings[header-edd-checkout-btn-background-color]', 'background-color', selector + ' .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a,' + responsive_selector + ' .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a' ); astra_color_responsive_css( 'edd-cart-border-color', 'astra-settings[header-edd-checkout-btn-background-color]', 'border-color', selector + ' .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a,' + responsive_selector + ' .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a' ); astra_color_responsive_css( 'edd-cart-colors', 'astra-settings[header-edd-checkout-btn-text-hover-color]', 'color', selector +' .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover,' + responsive_selector +' .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover' ); astra_color_responsive_css( 'edd-cart-colors', 'astra-settings[header-edd-checkout-btn-bg-hover-color]', 'background-color', selector +' .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover, ' + responsive_selector + ' .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover' ); /** * Cart icon style */ wp.customize( 'astra-settings[edd-header-cart-icon-style]', function( setting ) { setting.bind( function( icon_style ) { var buttons = $(document).find('.ast-edd-site-header-cart'); buttons.removeClass('ast-edd-menu-cart-fill ast-edd-menu-cart-outline'); buttons.addClass( 'ast-edd-menu-cart-' + icon_style ); var dynamicStyle = '.ast-edd-site-header-cart a, .ast-edd-site-header-cart a *{ transition: all 0s; } '; astra_add_dynamic_css( 'edd-header-cart-icon-style', dynamicStyle ); wp.customize.preview.send( 'refresh' ); } ); } ); /** * EDD Cart Button Color */ wp.customize( 'astra-settings[edd-header-cart-icon-color]', function( setting ) { setting.bind( function( cart_icon_color ) { wp.customize.preview.send( 'refresh' ); }); }); /** * Button Border Radius */ wp.customize( 'astra-settings[edd-header-cart-icon-radius]', function( setting ) { setting.bind( function( border ) { var dynamicStyle = '.ast-edd-site-header-cart.ast-edd-menu-cart-outline .ast-addon-cart-wrap, .ast-edd-site-header-cart.ast-edd-menu-cart-fill .ast-addon-cart-wrap, .ast-edd-site-header-cart.ast-edd-menu-cart-outline .count, .ast-edd-site-header-cart.ast-edd-menu-cart-fill .count{ border-radius: ' + ( parseInt( border ) ) + 'px } '; astra_add_dynamic_css( 'edd-header-cart-icon-radius', dynamicStyle ); } ); } ); /** * Transparent Header EDD-Cart color options - Customizer preview CSS. */ wp.customize( 'astra-settings[transparent-header-edd-cart-icon-color]', function( setting ) { setting.bind( function( cart_icon_color ) { wp.customize.preview.send( 'refresh' ); }); }); // Advanced Visibility CSS Generation. astra_builder_visibility_css( 'section-header-edd-cart', '.ast-header-edd-cart' ); } )( jQuery ); type/header/edd-cart/assets/js/minified/customizer-preview.min.js 0000644 00000012452 15105312163 0021146 0 ustar 00 (t=>{var e=".ast-edd-site-header-cart",d=".astra-cart-drawer.edd-active";astra_css("astra-settings[edd-header-cart-icon-color]","color",e+" .ast-edd-cart-menu-wrap .count, "+e+" .ast-edd-cart-menu-wrap .count:after,"+e+" .ast-edd-header-cart-info-wrap"),astra_css("astra-settings[edd-header-cart-icon-color]","border-color",e+" .ast-edd-cart-menu-wrap .count, "+e+" .ast-edd-cart-menu-wrap .count:after"),astra_color_responsive_css("edd-cart-colors","astra-settings[header-edd-cart-text-color]","color",e+" .widget_edd_cart_widget span, "+e+" .widget_edd_cart_widget strong, "+e+" .widget_edd_cart_widget *, "+d+" .widget_edd_cart_widget span, .astra-cart-drawer .widget_edd_cart_widget *, "+d+" .astra-cart-drawer-title"),astra_color_responsive_css("edd-cart-colors","astra-settings[header-edd-cart-link-color]","color",e+" .widget_edd_cart_widget a, "+e+" .widget_edd_cart_widget a.edd-remove-from-cart, "+e+" .widget_edd_cart_widget .cart-total, "+e+" .widget_edd_cart_widget a.edd-remove-from-cart:after, "+d+" .widget_edd_cart_widget a, "+d+" .widget_edd_cart_widget a.edd-remove-from-cart, "+d+" .widget_edd_cart_widget .cart-total, "+d+" .widget_edd_cart_widget a.edd-remove-from-cart:after"),astra_color_responsive_css("edd-cart-colors","astra-settings[header-edd-cart-link-color]","border-color",e+" .widget_edd_cart_widget a.edd-remove-from-cart:after,"+d+" .widget_edd_cart_widget a.edd-remove-from-cart:after,"),astra_color_responsive_css("edd-cart-colors","astra-settings[header-edd-cart-background-color]","background-color",".ast-builder-layout-element "+e+" .widget_edd_cart_widget ,"+d+", "+d+"#astra-mobile-cart-drawer"),astra_color_responsive_css("edd-cart-border-color","astra-settings[header-edd-cart-background-color]","border-color",".ast-builder-layout-element "+e+" .widget_edd_cart_widget, "+d+" .widget_edd_cart_widget"),astra_color_responsive_css("edd-cart-border-bottom-color","astra-settings[header-edd-cart-background-color]","border-bottom-color",".ast-builder-layout-element "+e+" .widget_edd_cart_widget:before, .ast-builder-layout-element "+e+" .widget_edd_cart_widget:after, "+d+" .widget_edd_cart_widget:before, "+d+" .widget_edd_cart_widget:after"),astra_color_responsive_css("edd-cart-colors","astra-settings[header-edd-cart-separator-color]","border-bottom-color",".ast-builder-layout-element "+e+" .widget_edd_cart_widget .edd-cart-item, .ast-builder-layout-element "+e+" .widget_edd_cart_widget .edd-cart-number-of-items, .ast-builder-layout-element "+e+" .widget_edd_cart_widget .edd-cart-meta,"+d+" .widget_edd_cart_widget .edd-cart-item, "+d+" .widget_edd_cart_widget .edd-cart-number-of-items, "+d+" .widget_edd_cart_widget .edd-cart-meta, "+d+" .astra-cart-drawer-header"),astra_color_responsive_css("edd-cart-colors","astra-settings[header-edd-checkout-btn-text-color]","color",e+" .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a, "+d+" .widget_edd_cart_widget .edd_checkout a"),astra_color_responsive_css("edd-cart-colors","astra-settings[header-edd-checkout-btn-background-color]","background-color",e+" .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a,"+d+" .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a"),astra_color_responsive_css("edd-cart-border-color","astra-settings[header-edd-checkout-btn-background-color]","border-color",e+" .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a,"+d+" .widget_edd_cart_widget .edd_checkout a, .widget_edd_cart_widget .edd_checkout a"),astra_color_responsive_css("edd-cart-colors","astra-settings[header-edd-checkout-btn-text-hover-color]","color",e+" .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover,"+d+" .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover"),astra_color_responsive_css("edd-cart-colors","astra-settings[header-edd-checkout-btn-bg-hover-color]","background-color",e+" .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover, "+d+" .widget_edd_cart_widget .edd_checkout a:hover, .widget_edd_cart_widget .edd_checkout a:hover"),wp.customize("astra-settings[edd-header-cart-icon-style]",function(e){e.bind(function(e){var d=t(document).find(".ast-edd-site-header-cart");d.removeClass("ast-edd-menu-cart-fill ast-edd-menu-cart-outline"),d.addClass("ast-edd-menu-cart-"+e);astra_add_dynamic_css("edd-header-cart-icon-style",".ast-edd-site-header-cart a, .ast-edd-site-header-cart a *{ transition: all 0s; } "),wp.customize.preview.send("refresh")})}),wp.customize("astra-settings[edd-header-cart-icon-color]",function(e){e.bind(function(e){wp.customize.preview.send("refresh")})}),wp.customize("astra-settings[edd-header-cart-icon-radius]",function(e){e.bind(function(e){e=".ast-edd-site-header-cart.ast-edd-menu-cart-outline .ast-addon-cart-wrap, .ast-edd-site-header-cart.ast-edd-menu-cart-fill .ast-addon-cart-wrap, .ast-edd-site-header-cart.ast-edd-menu-cart-outline .count, .ast-edd-site-header-cart.ast-edd-menu-cart-fill .count{ border-radius: "+parseInt(e)+"px } ";astra_add_dynamic_css("edd-header-cart-icon-radius",e)})}),wp.customize("astra-settings[transparent-header-edd-cart-icon-color]",function(e){e.bind(function(e){wp.customize.preview.send("refresh")})}),astra_builder_visibility_css("section-header-edd-cart",".ast-header-edd-cart")})(jQuery); type/header/mobile-menu/dynamic-css/dynamic.css.php 0000644 00000041133 15105312163 0016323 0 ustar 00 <?php /** * Header Menu Colors - Dynamic CSS * * @package astra-builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Header Menu Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_mobile_menu_dynamic_css', 11 ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Header Menu Colors. * * @since 3.0.0 */ function astra_hb_mobile_menu_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'mobile-menu', 'header' ) ) { return $dynamic_css; } $_section = 'section-header-mobile-menu'; $selector = '.ast-builder-menu-mobile .main-navigation'; // Sub Menu. $sub_menu_divider_toggle = astra_get_option( 'header-mobile-menu-submenu-item-border' ); $sub_menu_divider_size = astra_get_option( 'header-mobile-menu-submenu-item-b-size' ); $sub_menu_divider_color = astra_get_option( 'header-mobile-menu-submenu-item-b-color' ); // Menu. $menu_resp_color = astra_get_option( 'header-mobile-menu-color-responsive' ); $menu_resp_bg_color = astra_get_option( 'header-mobile-menu-bg-obj-responsive' ); $menu_resp_color_hover = astra_get_option( 'header-mobile-menu-h-color-responsive' ); $menu_resp_bg_color_hover = astra_get_option( 'header-mobile-menu-h-bg-color-responsive' ); $menu_resp_color_active = astra_get_option( 'header-mobile-menu-a-color-responsive' ); $menu_resp_bg_color_active = astra_get_option( 'header-mobile-menu-a-bg-color-responsive' ); $submenu_resp_bg_color = astra_get_option( 'header-mobile-menu-submenu-bg-color-responsive' ); $menu_resp_color_desktop = isset( $menu_resp_color['desktop'] ) ? $menu_resp_color['desktop'] : ''; $menu_resp_color_tablet = isset( $menu_resp_color['tablet'] ) ? $menu_resp_color['tablet'] : ''; $menu_resp_color_mobile = isset( $menu_resp_color['mobile'] ) ? $menu_resp_color['mobile'] : ''; $menu_resp_color_hover_desktop = isset( $menu_resp_color_hover['desktop'] ) ? $menu_resp_color_hover['desktop'] : ''; $menu_resp_color_hover_tablet = isset( $menu_resp_color_hover['tablet'] ) ? $menu_resp_color_hover['tablet'] : ''; $menu_resp_color_hover_mobile = isset( $menu_resp_color_hover['mobile'] ) ? $menu_resp_color_hover['mobile'] : ''; $menu_resp_bg_color_hover_desktop = isset( $menu_resp_bg_color_hover['desktop'] ) ? $menu_resp_bg_color_hover['desktop'] : ''; $menu_resp_bg_color_hover_tablet = isset( $menu_resp_bg_color_hover['tablet'] ) ? $menu_resp_bg_color_hover['tablet'] : ''; $menu_resp_bg_color_hover_mobile = isset( $menu_resp_bg_color_hover['mobile'] ) ? $menu_resp_bg_color_hover['mobile'] : ''; $menu_resp_color_active_desktop = isset( $menu_resp_color_active['desktop'] ) ? $menu_resp_color_active['desktop'] : ''; $menu_resp_color_active_tablet = isset( $menu_resp_color_active['tablet'] ) ? $menu_resp_color_active['tablet'] : ''; $menu_resp_color_active_mobile = isset( $menu_resp_color_active['mobile'] ) ? $menu_resp_color_active['mobile'] : ''; $menu_resp_bg_color_active_desktop = isset( $menu_resp_bg_color_active['desktop'] ) ? $menu_resp_bg_color_active['desktop'] : ''; $menu_resp_bg_color_active_tablet = isset( $menu_resp_bg_color_active['tablet'] ) ? $menu_resp_bg_color_active['tablet'] : ''; $menu_resp_bg_color_active_mobile = isset( $menu_resp_bg_color_active['mobile'] ) ? $menu_resp_bg_color_active['mobile'] : ''; // Typography. $menu_font_size = astra_get_option( 'header-mobile-menu-font-size' ); $menu_font_size_desktop = isset( $menu_font_size['desktop'] ) ? $menu_font_size['desktop'] : ''; $menu_font_size_tablet = isset( $menu_font_size['tablet'] ) ? $menu_font_size['tablet'] : ''; $menu_font_size_mobile = isset( $menu_font_size['mobile'] ) ? $menu_font_size['mobile'] : ''; $menu_font_size_desktop_unit = isset( $menu_font_size['desktop-unit'] ) ? $menu_font_size['desktop-unit'] : ''; $menu_font_size_tablet_unit = isset( $menu_font_size['tablet-unit'] ) ? $menu_font_size['tablet-unit'] : ''; $menu_font_size_mobile_unit = isset( $menu_font_size['mobile-unit'] ) ? $menu_font_size['mobile-unit'] : ''; // Spacing. $menu_spacing = astra_get_option( 'header-mobile-menu-menu-spacing' ); $sub_menu_divider_color = true === $sub_menu_divider_toggle ? $sub_menu_divider_color : ''; // Margin. $margin = astra_get_option( $_section . '-margin' ); $margin_selector = '.ast-builder-menu-mobile .main-header-menu, .ast-header-break-point .ast-builder-menu-mobile .main-header-menu'; $menu_spacing_desktop_top = astra_responsive_spacing( $menu_spacing, 'top', 'desktop' ); $menu_spacing_desktop_top = isset( $menu_spacing_desktop_top ) && ! empty( $menu_spacing_desktop_top ) ? $menu_spacing_desktop_top : 0; $menu_spacing_tablet_top = astra_responsive_spacing( $menu_spacing, 'top', 'tablet' ); $menu_spacing_tablet_top = isset( $menu_spacing_tablet_top ) && ! empty( $menu_spacing_tablet_top ) ? $menu_spacing_tablet_top : 0; $menu_spacing_mobile_top = astra_responsive_spacing( $menu_spacing, 'top', 'mobile' ); if ( isset( $menu_spacing_mobile_top ) && '' === $menu_spacing_mobile_top && isset( $menu_spacing_tablet_top ) && '' !== $menu_spacing_tablet_top && 0 !== $menu_spacing_tablet_top ) { $menu_spacing_mobile_top = $menu_spacing_tablet_top; } $menu_spacing_mobile_top = isset( $menu_spacing_mobile_top ) && ! empty( $menu_spacing_mobile_top ) ? $menu_spacing_mobile_top : 0; $css_output_desktop = array( $selector . ' .menu-item > .menu-link' => astra_get_font_array_css( astra_get_option( 'header-mobile-menu-font-family' ), astra_get_option( 'header-mobile-menu-font-weight' ), array(), 'font-extras-header-mobile-menu' ), $selector => array( 'font-size' => astra_get_font_css_value( $menu_font_size_desktop, $menu_font_size_desktop_unit ), ), $selector . ' .main-header-menu .menu-item > .menu-link' => array( 'color' => $menu_resp_color_desktop, 'padding-top' => astra_responsive_spacing( $menu_spacing, 'top', 'desktop' ), 'padding-bottom' => astra_responsive_spacing( $menu_spacing, 'bottom', 'desktop' ), 'padding-left' => astra_responsive_spacing( $menu_spacing, 'left', 'desktop' ), 'padding-right' => astra_responsive_spacing( $menu_spacing, 'right', 'desktop' ), ), $selector . ' .main-header-menu .menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_desktop, ), $selector . ' .main-header-menu .menu-item:hover > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_desktop, 'background' => $menu_resp_bg_color_hover_desktop, ), '.ast-builder-menu-mobile .menu-item:hover > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_desktop, 'background' => $menu_resp_bg_color_hover_desktop, ), $selector . ' .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_desktop, ), $selector . ' .menu-item.current-menu-item > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, ' . $selector . ' .menu-item.current-menu-ancestor > .menu-link, ' . $selector . ' .menu-item.current-menu-ancestor > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_desktop, 'background' => $menu_resp_bg_color_active_desktop, ), $selector . ' .menu-item.current-menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_desktop, ), $selector . ' .menu-item.menu-item-has-children > .ast-menu-toggle' => array( 'top' => $menu_spacing_desktop_top, 'right' => astra_calculate_spacing( astra_responsive_spacing( $menu_spacing, 'right', 'desktop' ), '-', '0.907', 'em' ), ), $selector . ' .menu-item-has-children > .menu-link:after' => array( 'content' => 'unset', ), // Margin CSS. $margin_selector => array( 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); $css_output_desktop[ $selector . ' .main-header-menu, ' . $selector . ' .main-header-menu .menu-link, ' . $selector . ' .main-header-menu .sub-menu' ] = astra_get_responsive_background_obj( $menu_resp_bg_color, 'desktop' ); $css_output_desktop[ $selector . ' .main-header-menu .sub-menu .menu-link' ] = array( 'background-color' => isset( $submenu_resp_bg_color['desktop'] ) ? $submenu_resp_bg_color['desktop'] : '', ); $css_output_tablet = array( $selector => array( 'font-size' => astra_get_font_css_value( $menu_font_size_tablet, $menu_font_size_tablet_unit ), ), $selector . ' .main-header-menu .menu-item > .menu-link' => array( 'color' => $menu_resp_color_tablet, 'padding-top' => astra_responsive_spacing( $menu_spacing, 'top', 'tablet' ), 'padding-bottom' => astra_responsive_spacing( $menu_spacing, 'bottom', 'tablet' ), 'padding-left' => astra_responsive_spacing( $menu_spacing, 'left', 'tablet' ), 'padding-right' => astra_responsive_spacing( $menu_spacing, 'right', 'tablet' ), ), $selector . ' .main-header-menu .menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_tablet, ), $selector . ' .main-header-menu .menu-item:hover > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_tablet, 'background' => $menu_resp_bg_color_hover_tablet, ), $selector . ' .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_tablet, ), $selector . ' .menu-item.current-menu-item > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, ' . $selector . ' .menu-item.current-menu-ancestor > .menu-link, ' . $selector . ' .menu-item.current-menu-ancestor > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_tablet, 'background' => $menu_resp_bg_color_active_tablet, ), $selector . ' .menu-item.current-menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_tablet, ), $selector . ' .menu-item.menu-item-has-children > .ast-menu-toggle' => array( 'top' => $menu_spacing_tablet_top, 'right' => astra_calculate_spacing( astra_responsive_spacing( $menu_spacing, 'right', 'tablet' ), '-', '0.907', 'em' ), ), $selector . ' .menu-item-has-children > .menu-link:after' => array( 'content' => 'unset', ), // Margin CSS. $margin_selector => array( 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); $css_output_tablet[ $selector . ' .main-header-menu , ' . $selector . ' .main-header-menu .menu-link, ' . $selector . ' .main-header-menu .sub-menu' ] = astra_get_responsive_background_obj( $menu_resp_bg_color, 'tablet' ); $css_output_tablet[ $selector . ' .main-header-menu .sub-menu .menu-link' ] = array( 'background-color' => isset( $submenu_resp_bg_color['tablet'] ) ? $submenu_resp_bg_color['tablet'] : ( isset( $submenu_resp_bg_color['desktop'] ) ? $submenu_resp_bg_color['desktop'] : '' ), ); $css_output_mobile = array( $selector => array( 'font-size' => astra_get_font_css_value( $menu_font_size_mobile, $menu_font_size_mobile_unit ), ), $selector . ' .main-header-menu .menu-item > .menu-link' => array( 'color' => $menu_resp_color_mobile, 'padding-top' => astra_responsive_spacing( $menu_spacing, 'top', 'mobile' ), 'padding-bottom' => astra_responsive_spacing( $menu_spacing, 'bottom', 'mobile' ), 'padding-left' => astra_responsive_spacing( $menu_spacing, 'left', 'mobile' ), 'padding-right' => astra_responsive_spacing( $menu_spacing, 'right', 'mobile' ), ), $selector . ' .main-header-menu .menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_mobile, ), $selector . ' .main-header-menu .menu-item:hover > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_mobile, 'background' => $menu_resp_bg_color_hover_mobile, ), $selector . ' .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_mobile, ), $selector . ' .menu-item.current-menu-item > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, ' . $selector . ' .menu-item.current-menu-ancestor > .menu-link, ' . $selector . ' .menu-item.current-menu-ancestor > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_mobile, 'background' => $menu_resp_bg_color_active_mobile, ), $selector . ' .menu-item.current-menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_mobile, ), $selector . ' .menu-item.menu-item-has-children > .ast-menu-toggle' => array( 'top' => $menu_spacing_mobile_top, 'right' => astra_calculate_spacing( astra_responsive_spacing( $menu_spacing, 'right', 'mobile' ), '-', '0.907', 'em' ), ), // Margin CSS. $margin_selector => array( 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); $css_output_mobile[ $selector . ' .main-header-menu, ' . $selector . ' .main-header-menu .menu-link, ' . $selector . ' .main-header-menu .sub-menu' ] = astra_get_responsive_background_obj( $menu_resp_bg_color, 'mobile' ); $css_output_mobile[ $selector . ' .main-header-menu .sub-menu .menu-link' ] = array( 'background-color' => isset( $submenu_resp_bg_color['mobile'] ) ? $submenu_resp_bg_color['mobile'] : ( isset( $submenu_resp_bg_color['desktop'] ) ? $submenu_resp_bg_color['desktop'] : '' ), ); if ( true === $sub_menu_divider_toggle ) { $css_output_desktop_submenu = array( '.ast-hfb-header ' . $selector . ' .main-header-menu, .ast-hfb-header ' . $selector . ' .main-header-menu, .ast-hfb-header .ast-mobile-header-content ' . $selector . ' .main-header-menu, .ast-hfb-header .ast-mobile-popup-content ' . $selector . ' .main-header-menu' => array( 'border-top-width' => $sub_menu_divider_size . 'px', 'border-color' => $sub_menu_divider_color, ), '.ast-hfb-header ' . $selector . ' .menu-item .sub-menu .menu-link, .ast-hfb-header ' . $selector . ' .menu-item .menu-link, .ast-hfb-header ' . $selector . ' .menu-item .sub-menu .menu-link, .ast-hfb-header ' . $selector . ' .menu-item .menu-link, .ast-hfb-header .ast-mobile-header-content ' . $selector . ' .menu-item .sub-menu .menu-link, .ast-hfb-header .ast-mobile-header-content ' . $selector . ' .menu-item .menu-link, .ast-hfb-header .ast-mobile-popup-content ' . $selector . ' .menu-item .sub-menu .menu-link, .ast-hfb-header .ast-mobile-popup-content ' . $selector . ' .menu-item .menu-link' => array( 'border-bottom-width' => $sub_menu_divider_size . 'px', 'border-color' => $sub_menu_divider_color, 'border-style' => 'solid', ), ); } else { $css_output_desktop_submenu = array( '.ast-hfb-header .ast-builder-menu-mobile .main-header-menu, .ast-hfb-header .ast-builder-menu-mobile .main-navigation .menu-item .menu-link, .ast-hfb-header .ast-builder-menu-mobile .main-navigation .menu-item .sub-menu .menu-link' => array( 'border-style' => 'none', ), ); } $css_output_desktop_submenu[ $selector . ' .menu-item.menu-item-has-children > .ast-menu-toggle' ] = array( 'top' => $menu_spacing_desktop_top, 'right' => astra_calculate_spacing( astra_responsive_spacing( $menu_spacing, 'right', 'desktop' ), '-', '0.907', 'em' ), ); $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_desktop_submenu ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector, 'block' ); return $dynamic_css; } type/header/mobile-menu/class-astra-mobile-menu-component.php 0000644 00000011754 15105312163 0020330 0 ustar 00 <?php /** * Header Navigation Menu component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_MOBILE_MENU_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/mobile-menu' ); define( 'ASTRA_BUILDER_MOBILE_MENU_URI', ASTRA_THEME_URI . 'inc/builder/type/header/mobile-menu' ); /** * Header Navigation Menu Initial Setup * * @since 3.0.0 */ class Astra_Mobile_Menu_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_MOBILE_MENU_DIR . '/class-astra-mobile-menu-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_MOBILE_MENU_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } /** * Secondary navigation markup * * @param string $device Checking where mobile-menu is dropped. * * @since 3.0.0. */ public static function menu_markup( $device = 'mobile' ) { $astra_builder = astra_builder(); $theme_location = 'mobile_menu'; $submenu_class = apply_filters( 'astra_secondary_submenu_border_class', ' submenu-with-border' ); $stack_on_mobile_class = 'stack-on-mobile'; // Menu Animation. $menu_animation = astra_get_option( 'header-mobile-menu-submenu-container-animation' ); if ( ! empty( $menu_animation ) ) { $submenu_class .= ' astra-menu-animation-' . esc_attr( $menu_animation ) . ' '; } // Resolving duplicate ID for 'ast-hf-mobile-menu' in W3C Validator. $menu_id = 'ast-hf-mobile-menu'; if ( 'desktop' === $device ) { $menu_id = 'ast-desktop-toggle-menu'; } /** * Filter the classes(array) for Menu (<ul>). * * @since 3.0.0 * @var Array */ $menu_classes = apply_filters( 'astra_primary_menu_classes', array( 'main-header-menu', 'ast-nav-menu', 'ast-flex', $submenu_class, $stack_on_mobile_class ) ); $menu_name = wp_get_nav_menu_name( $theme_location ); $items_wrap = '<nav '; $items_wrap .= astra_attr( 'site-navigation', array( 'id' => 'ast-' . esc_attr( $device ) . '-site-navigation', 'class' => 'site-navigation ast-flex-grow-1 navigation-accessibility site-header-focus-item', 'aria-label' => esc_attr__( 'Site Navigation: ', 'astra' ) . $menu_name, ) ); $items_wrap .= '>'; $items_wrap .= '<div class="main-navigation">'; $items_wrap .= '<ul id="%1$s" class="%2$s">%3$s</ul>'; $items_wrap .= '</div>'; $items_wrap .= '</nav>'; // Fallback Menu if primary menu not set. $fallback_menu_args = array( 'theme_location' => $theme_location, 'menu_id' => $menu_id, 'menu_class' => 'main-navigation', 'container' => 'div', 'before' => '<ul class="' . esc_attr( implode( ' ', $menu_classes ) ) . '">', 'after' => '</ul>', 'walker' => new Astra_Walker_Page(), 'echo' => false, ); // To add default alignment for navigation which can be added through any third party plugin. // Do not add any CSS from theme except header alignment. echo '<div ' . astra_attr( 'ast-main-header-bar-alignment' ) . '>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped if ( is_customize_preview() ) { Astra_Builder_UI_Controller::render_customizer_edit_button(); } if ( has_nav_menu( $theme_location ) ) { $mobile_menu_markup = wp_nav_menu( array( 'menu_id' => $menu_id, 'menu_class' => esc_attr( implode( ' ', $menu_classes ) ), 'container' => 'div', 'container_class' => 'main-header-bar-navigation', 'items_wrap' => $items_wrap, 'theme_location' => $theme_location, 'echo' => false, ) ); // Adding rel="nofollow" for duplicate menu render. $mobile_menu_markup = $astra_builder->nofollow_markup( $theme_location, $mobile_menu_markup ); echo do_shortcode( $mobile_menu_markup ); } else { echo '<div class="main-header-bar-navigation">'; echo '<nav '; echo wp_kses_post( astra_attr( 'site-navigation', array( 'id' => 'ast-' . esc_attr( $device ) . '-site-navigation', 'class' => 'site-navigation ast-flex-grow-1 navigation-accessibility', 'aria-label' => esc_attr__( 'Site Navigation', 'astra' ), ) ) ); echo '>'; $mobile_menu_markup = wp_page_menu( $fallback_menu_args ); // Adding rel="nofollow" for duplicate menu render. $mobile_menu_markup = $astra_builder->nofollow_markup( $theme_location, $mobile_menu_markup ); echo do_shortcode( $mobile_menu_markup ); echo '</nav>'; echo '</div>'; } echo '</div>'; } } /** * Kicking this off by creating an object. */ new Astra_Mobile_Menu_Component(); type/header/mobile-menu/class-astra-mobile-menu-component-loader.php 0000644 00000002243 15105312163 0021565 0 ustar 00 <?php /** * Mobile Navigation Menu Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Mobile Navigation Menu Initialization * * @since 3.0.0 */ class Astra_Mobile_Menu_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-mobile-menu-customizer-preview', ASTRA_BUILDER_MOBILE_MENU_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Mobile_Menu_Component_Loader(); type/header/mobile-menu/assets/js/unminified/customizer-preview.js 0000644 00000041223 15105312163 0021453 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = AstraBuilderMenuData.tablet_break_point || 768, mobile_break_point = AstraBuilderMenuData.mobile_break_point || 544; var selector = '.ast-builder-menu-mobile .main-navigation'; var section = 'section-header-mobile-menu'; // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector, 'block' ); /** * Typography CSS. */ // Menu Typography. astra_generate_outside_font_family_css( 'astra-settings[header-mobile-menu-font-family]', selector + ' .menu-item > .menu-link' ); astra_generate_font_weight_css( 'astra-settings[header-mobile-menu-font-family]', 'astra-settings[header-mobile-menu-font-weight]', 'font-weight', selector + ' .menu-item > .menu-link' ); astra_responsive_font_size( 'astra-settings[header-mobile-menu-font-size]', selector + ' .menu-item > .menu-link' ); astra_font_extras_css( 'font-extras-header-mobile-menu', '.ast-builder-menu-mobile .main-navigation .menu-item > .menu-link' ); /** * Color CSS. */ /** * Menu - Colors */ // Menu - Normal Color astra_color_responsive_css( 'astra-menu-color-preview', 'astra-settings[header-mobile-menu-color-responsive]', 'color', selector + ' .main-header-menu .menu-item > .menu-link' ); // Menu - Hover Color astra_color_responsive_css( 'astra-menu-h-color-preview', 'astra-settings[header-mobile-menu-h-color-responsive]', 'color', selector + ' .main-header-menu .menu-item:hover > .menu-link, ' + selector + ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' ); // Menu Toggle - Color astra_color_responsive_css( 'astra-builder-toggle', 'astra-settings[header-mobile-menu-color-responsive]', 'color', selector + ' .main-header-menu .menu-item > .ast-menu-toggle' ); // Menu Toggle - Hover Color astra_color_responsive_css( 'astra-menu-h-toogle-color-preview', 'astra-settings[header-mobile-menu-h-color-responsive]', 'color', selector + ' .menu-item:hover > .ast-menu-toggle' ); // Menu - Active Color astra_color_responsive_css( 'astra-menu-active-color-preview', 'astra-settings[header-mobile-menu-a-color-responsive]', 'color', selector + ' .menu-item.current-menu-item > .menu-link, ' + selector + ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle' ); // Menu - Normal Background astra_apply_responsive_background_css( 'astra-settings[header-mobile-menu-bg-obj-responsive]', selector + ' .main-header-menu .menu-link, ' + selector + ' .main-header-menu .sub-menu', 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[header-mobile-menu-bg-obj-responsive]', selector + ' .main-header-menu .menu-link, ' + selector + ' .main-header-menu .sub-menu', 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[header-mobile-menu-bg-obj-responsive]', selector + ' .main-header-menu .menu-link, ' + selector + ' .main-header-menu .sub-menu', 'mobile' ); // Menu - Hover Background astra_color_responsive_css( 'astra-menu-bg-preview', 'astra-settings[header-mobile-menu-h-bg-color-responsive]', 'background', selector + ' .main-header-menu .menu-item:hover > .menu-link, ' + selector + ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' ); // Menu - Active Background astra_color_responsive_css( 'astra-builder', 'astra-settings[header-mobile-menu-a-bg-color-responsive]', 'background', selector + ' .menu-item.current-menu-item > .menu-link, ' + selector + ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle' ); /** * Border CSS. */ (function () { // Sub Menu - Divider Size. wp.customize( 'astra-settings[header-mobile-menu-submenu-item-b-size]', function( value ) { value.bind( function( borderSize ) { var selector = '.ast-hfb-header .ast-builder-menu-mobile .main-navigation'; var dynamicStyle = ''; dynamicStyle += selector + ' .main-header-menu {'; dynamicStyle += 'border-top-width: ' + borderSize + 'px;'; dynamicStyle += '} '; dynamicStyle += selector + ' .menu-item .sub-menu .menu-link, ' + selector + ' .menu-item .menu-link {'; dynamicStyle += 'border-bottom-width: ' + borderSize + 'px;'; dynamicStyle += '} '; astra_add_dynamic_css( 'header-mobile-menu-submenu-item-b-size', dynamicStyle ); } ); } ); // Menu 1 > Sub Menu Border Size. wp.customize( 'astra-settings[header-mobile-menu-submenu-border]', function( setting ) { setting.bind( function( border ) { var dynamicStyle = '.ast-builder-menu-mobile .sub-menu {'; dynamicStyle += 'border-top-width:' + border.top + 'px;'; dynamicStyle += 'border-right-width:' + border.right + 'px;'; dynamicStyle += 'border-left-width:' + border.left + 'px;'; dynamicStyle += 'border-style: solid;'; dynamicStyle += 'border-bottom-width:' + border.bottom + 'px;'; dynamicStyle += '}'; astra_add_dynamic_css( 'header-mobile-menu-submenu-border', dynamicStyle ); } ); } ); // Menu Spacing - Menu 1. wp.customize( 'astra-settings[header-mobile-menu-menu-spacing]', function( value ) { value.bind( function( padding ) { var dynamicStyle = ''; dynamicStyle += '.ast-hfb-header .ast-builder-menu-mobile .main-header-menu .menu-item > .menu-link {'; dynamicStyle += 'padding-left: ' + padding['desktop']['left'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['desktop']['right'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['desktop']['top'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['desktop']['bottom'] + padding['desktop-unit'] + ';'; dynamicStyle += '} '; // Toggle top. dynamicStyle += '.ast-hfb-header .ast-builder-menu-mobile .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {'; dynamicStyle += 'top: ' + padding['desktop']['top'] + padding['desktop-unit'] + ';'; dynamicStyle += 'right: calc( ' + padding['desktop']['right'] + padding['desktop-unit'] + ' - 0.907em );' dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-header-break-point .ast-builder-menu-mobile .main-header-menu .menu-item > .menu-link {'; dynamicStyle += 'padding-left: ' + padding['tablet']['left'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['tablet']['right'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['tablet']['top'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['tablet']['bottom'] + padding['tablet-unit'] + ';'; dynamicStyle += '} '; // Toggle top. dynamicStyle += '.ast-hfb-header .ast-builder-menu-mobile .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {'; dynamicStyle += 'top: ' + padding['tablet']['top'] + padding['tablet-unit'] + ';'; dynamicStyle += 'right: calc( ' + padding['tablet']['right'] + padding['tablet-unit'] + ' - 0.907em );' dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-header-break-point .ast-builder-menu-mobile .main-header-menu .menu-item > .menu-link {'; dynamicStyle += 'padding-left: ' + padding['mobile']['left'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['mobile']['right'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['mobile']['top'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['mobile']['bottom'] + padding['mobile-unit'] + ';'; dynamicStyle += '} '; // Toggle top. dynamicStyle += '.ast-hfb-header .ast-builder-menu-mobile .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {'; dynamicStyle += 'top: ' + padding['mobile']['top'] + padding['mobile-unit'] + ';'; dynamicStyle += 'right: calc( ' + padding['mobile']['right'] + padding['mobile-unit'] + ' - 0.907em );' dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'header-mobile-menu-menu-spacing-toggle-button', dynamicStyle ); } ); } ); // Margin - Menu 1. wp.customize( 'astra-settings[section-header-mobile-menu-margin]', function( value ) { value.bind( function( margin ) { var selector = '.ast-builder-menu-mobile .main-header-menu, .ast-header-break-point .ast-builder-menu-mobile .main-header-menu'; var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'section-header-mobile-menu-margin', dynamicStyle ); } ); } ); /** * Header Menu 1 > Submenu border Color */ wp.customize('astra-settings[header-mobile-menu-submenu-item-b-color]', function (value) { value.bind(function (color) { var insideBorder = wp.customize('astra-settings[header-mobile-menu-submenu-item-border]').get(), borderSize = wp.customize('astra-settings[header-mobile-menu-submenu-item-b-size]').get(); if ('' != color) { if ( true == insideBorder ) { var dynamicStyle = ''; dynamicStyle += '.ast-hfb-header .ast-builder-menu-mobile .main-navigation .menu-item .sub-menu .menu-link, .ast-hfb-header .ast-builder-menu-mobile .main-navigation .menu-item .menu-link'; dynamicStyle += '{'; dynamicStyle += 'border-bottom-width:' + ( ( true === insideBorder ) ? borderSize + 'px;' : '0px;' ); dynamicStyle += 'border-color:' + color + ';'; dynamicStyle += 'border-style: solid;'; dynamicStyle += '}'; dynamicStyle += '.ast-hfb-header .ast-builder-menu-mobile .main-navigation .main-header-menu'; dynamicStyle += '{'; dynamicStyle += 'border-top-width:' + ( ( true === insideBorder ) ? borderSize + 'px;' : '0px;' ); dynamicStyle += 'border-color:' + color + ';'; dynamicStyle += '}'; astra_add_dynamic_css('header-mobile-menu-submenu-item-b-color', dynamicStyle); } else { wp.customize.preview.send( 'refresh' ); } } else { wp.customize.preview.send('refresh'); } }); }); /** * Header Menu 1 > Submenu border Color */ wp.customize( 'astra-settings[header-mobile-menu-submenu-item-border]', function( value ) { value.bind( function( border ) { var color = wp.customize( 'astra-settings[header-mobile-menu-submenu-item-b-color]' ).get(), borderSize = wp.customize('astra-settings[header-mobile-menu-submenu-item-b-size]').get(); if( true === border ) { var dynamicStyle = '.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item .sub-menu .menu-link, .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item .menu-link'; dynamicStyle += '{'; dynamicStyle += 'border-bottom-width:' + ( ( true === border ) ? borderSize + 'px;' : '0px;' ); dynamicStyle += 'border-color:' + color + ';'; dynamicStyle += 'border-style: solid;'; dynamicStyle += '}'; dynamicStyle += '.ast-builder-menu-mobile .main-navigation .main-header-menu'; dynamicStyle += '{'; dynamicStyle += 'border-top-width:' + ( ( true === border ) ? borderSize + 'px;' : '0px;' ); dynamicStyle += 'border-style: solid;'; dynamicStyle += 'border-color:' + color + ';'; dynamicStyle += '}'; astra_add_dynamic_css( 'header-mobile-menu-submenu-item-border', dynamicStyle ); } else { wp.customize.preview.send( 'refresh' ); } } ); } ); })(); // Sub Menu - Border Color. astra_css( 'astra-settings[header-mobile-menu-submenu-b-color]', 'border-color', selector + ' li.menu-item .sub-menu, ' + selector + ' .main-header-menu' ); // Transparent header > Submenu link hover color. astra_color_responsive_css( 'astra-builder-transparent-submenu', 'astra-settings[transparent-submenu-h-color-responsive]', 'color', '.ast-theme-transparent-header .main-header-menu .menu-item .sub-menu .menu-item:hover > .menu-link' ); } )( jQuery ); type/header/mobile-menu/assets/js/minified/customizer-preview.min.js 0000644 00000020737 15105312163 0021701 0 ustar 00 (()=>{var n=AstraBuilderMenuData.tablet_break_point||768,a=AstraBuilderMenuData.mobile_break_point||544,e=".ast-builder-menu-mobile .main-navigation";astra_builder_visibility_css("section-header-mobile-menu",e,"block"),astra_generate_outside_font_family_css("astra-settings[header-mobile-menu-font-family]",e+" .menu-item > .menu-link"),astra_generate_font_weight_css("astra-settings[header-mobile-menu-font-family]","astra-settings[header-mobile-menu-font-weight]","font-weight",e+" .menu-item > .menu-link"),astra_responsive_font_size("astra-settings[header-mobile-menu-font-size]",e+" .menu-item > .menu-link"),astra_font_extras_css("font-extras-header-mobile-menu",".ast-builder-menu-mobile .main-navigation .menu-item > .menu-link"),astra_color_responsive_css("astra-menu-color-preview","astra-settings[header-mobile-menu-color-responsive]","color",e+" .main-header-menu .menu-item > .menu-link"),astra_color_responsive_css("astra-menu-h-color-preview","astra-settings[header-mobile-menu-h-color-responsive]","color",e+" .main-header-menu .menu-item:hover > .menu-link, "+e+" .inline-on-mobile .menu-item:hover > .ast-menu-toggle"),astra_color_responsive_css("astra-builder-toggle","astra-settings[header-mobile-menu-color-responsive]","color",e+" .main-header-menu .menu-item > .ast-menu-toggle"),astra_color_responsive_css("astra-menu-h-toogle-color-preview","astra-settings[header-mobile-menu-h-color-responsive]","color",e+" .menu-item:hover > .ast-menu-toggle"),astra_color_responsive_css("astra-menu-active-color-preview","astra-settings[header-mobile-menu-a-color-responsive]","color",e+" .menu-item.current-menu-item > .menu-link, "+e+" .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle"),astra_apply_responsive_background_css("astra-settings[header-mobile-menu-bg-obj-responsive]",e+" .main-header-menu .menu-link, "+e+" .main-header-menu .sub-menu","desktop"),astra_apply_responsive_background_css("astra-settings[header-mobile-menu-bg-obj-responsive]",e+" .main-header-menu .menu-link, "+e+" .main-header-menu .sub-menu","tablet"),astra_apply_responsive_background_css("astra-settings[header-mobile-menu-bg-obj-responsive]",e+" .main-header-menu .menu-link, "+e+" .main-header-menu .sub-menu","mobile"),astra_color_responsive_css("astra-menu-bg-preview","astra-settings[header-mobile-menu-h-bg-color-responsive]","background",e+" .main-header-menu .menu-item:hover > .menu-link, "+e+" .inline-on-mobile .menu-item:hover > .ast-menu-toggle"),astra_color_responsive_css("astra-builder","astra-settings[header-mobile-menu-a-bg-color-responsive]","background",e+" .menu-item.current-menu-item > .menu-link, "+e+" .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle"),wp.customize("astra-settings[header-mobile-menu-submenu-item-b-size]",function(e){e.bind(function(e){var t=".ast-hfb-header .ast-builder-menu-mobile .main-navigation",i=(i=(i=(i="")+(t+" .main-header-menu {")+("border-top-width: "+e+"px;"))+"} "+(t+" .menu-item .sub-menu .menu-link, "+t+" .menu-item .menu-link {"))+("border-bottom-width: "+e+"px;")+"} ";astra_add_dynamic_css("header-mobile-menu-submenu-item-b-size",i)})}),wp.customize("astra-settings[header-mobile-menu-submenu-border]",function(e){e.bind(function(e){var t=".ast-builder-menu-mobile .sub-menu {",t=(t=(t=(t+="border-top-width:"+e.top+"px;")+("border-right-width:"+e.right+"px;"))+("border-left-width:"+e.left+"px;")+"border-style: solid;")+("border-bottom-width:"+e.bottom+"px;")+"}";astra_add_dynamic_css("header-mobile-menu-submenu-border",t)})}),wp.customize("astra-settings[header-mobile-menu-menu-spacing]",function(e){e.bind(function(e){var t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t="")+".ast-hfb-header .ast-builder-menu-mobile .main-header-menu .menu-item > .menu-link {"+("padding-left: "+e.desktop.left+e["desktop-unit"]+";"))+("padding-right: "+e.desktop.right+e["desktop-unit"]+";"))+("padding-top: "+e.desktop.top+e["desktop-unit"]+";"))+("padding-bottom: "+e.desktop.bottom+e["desktop-unit"]+";")+"} ")+".ast-hfb-header .ast-builder-menu-mobile .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {"+("top: "+e.desktop.top+e["desktop-unit"]+";"))+("right: calc( "+e.desktop.right+e["desktop-unit"]+" - 0.907em );"))+"} "+("@media (max-width: "+n+"px) {"))+".ast-header-break-point .ast-builder-menu-mobile .main-header-menu .menu-item > .menu-link {"+("padding-left: "+e.tablet.left+e["tablet-unit"]+";"))+("padding-right: "+e.tablet.right+e["tablet-unit"]+";"))+("padding-top: "+e.tablet.top+e["tablet-unit"]+";"))+("padding-bottom: "+e.tablet.bottom+e["tablet-unit"]+";")+"} ")+".ast-hfb-header .ast-builder-menu-mobile .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {"+("top: "+e.tablet.top+e["tablet-unit"]+";"))+("right: calc( "+e.tablet.right+e["tablet-unit"]+" - 0.907em );")+"} ")+"} "+("@media (max-width: "+a+"px) {"))+".ast-header-break-point .ast-builder-menu-mobile .main-header-menu .menu-item > .menu-link {"+("padding-left: "+e.mobile.left+e["mobile-unit"]+";"))+("padding-right: "+e.mobile.right+e["mobile-unit"]+";"))+("padding-top: "+e.mobile.top+e["mobile-unit"]+";"))+("padding-bottom: "+e.mobile.bottom+e["mobile-unit"]+";")+"} ")+".ast-hfb-header .ast-builder-menu-mobile .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {"+("top: "+e.mobile.top+e["mobile-unit"]+";"))+("right: calc( "+e.mobile.right+e["mobile-unit"]+" - 0.907em );"))+"} "+"} ";astra_add_dynamic_css("header-mobile-menu-menu-spacing-toggle-button",t)})}),wp.customize("astra-settings[section-header-mobile-menu-margin]",function(e){e.bind(function(e){var t=".ast-builder-menu-mobile .main-header-menu, .ast-header-break-point .ast-builder-menu-mobile .main-header-menu",i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i="")+(t+" {")+("margin-left: "+e.desktop.left+e["desktop-unit"]+";"))+("margin-right: "+e.desktop.right+e["desktop-unit"]+";"))+("margin-top: "+e.desktop.top+e["desktop-unit"]+";"))+("margin-bottom: "+e.desktop.bottom+e["desktop-unit"]+";"))+"} "+("@media (max-width: "+n+"px) {"))+(t+" {")+("margin-left: "+e.tablet.left+e["tablet-unit"]+";"))+("margin-right: "+e.tablet.right+e["tablet-unit"]+";"))+("margin-top: "+e.tablet.top+e["desktop-unit"]+";"))+("margin-bottom: "+e.tablet.bottom+e["desktop-unit"]+";")+"} ")+"} "+("@media (max-width: "+a+"px) {"))+(t+" {")+("margin-left: "+e.mobile.left+e["mobile-unit"]+";"))+("margin-right: "+e.mobile.right+e["mobile-unit"]+";"))+("margin-top: "+e.mobile.top+e["desktop-unit"]+";"))+("margin-bottom: "+e.mobile.bottom+e["desktop-unit"]+";"))+"} "+"} ";astra_add_dynamic_css("section-header-mobile-menu-margin",i)})}),wp.customize("astra-settings[header-mobile-menu-submenu-item-b-color]",function(e){e.bind(function(e){var t,i=wp.customize("astra-settings[header-mobile-menu-submenu-item-border]").get(),n=wp.customize("astra-settings[header-mobile-menu-submenu-item-b-size]").get();""!=e&&1==i?(t="",t=(t=(t=(t=(t+=".ast-hfb-header .ast-builder-menu-mobile .main-navigation .menu-item .sub-menu .menu-link, .ast-hfb-header .ast-builder-menu-mobile .main-navigation .menu-item .menu-link")+"{border-bottom-width:"+(!0===i?n+"px;":"0px;"))+"border-color:"+e+";border-style: solid;}.ast-hfb-header .ast-builder-menu-mobile .main-navigation .main-header-menu")+"{border-top-width:"+(!0===i?n+"px;":"0px;"))+"border-color:"+e+";}",astra_add_dynamic_css("header-mobile-menu-submenu-item-b-color",t)):wp.customize.preview.send("refresh")})}),wp.customize("astra-settings[header-mobile-menu-submenu-item-border]",function(e){e.bind(function(e){var t,i=wp.customize("astra-settings[header-mobile-menu-submenu-item-b-color]").get(),n=wp.customize("astra-settings[header-mobile-menu-submenu-item-b-size]").get();!0===e?(t=".ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item .sub-menu .menu-link, .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item .menu-link",t=(t=(t=(t+="{")+"border-bottom-width:"+(!0===e?n+"px;":"0px;")+"border-color:"+i+";border-style: solid;}.ast-builder-menu-mobile .main-navigation .main-header-menu{")+"border-top-width:"+(!0===e?n+"px;":"0px;")+"border-style: solid;")+"border-color:"+i+";}",astra_add_dynamic_css("header-mobile-menu-submenu-item-border",t)):wp.customize.preview.send("refresh")})}),astra_css("astra-settings[header-mobile-menu-submenu-b-color]","border-color",e+" li.menu-item .sub-menu, "+e+" .main-header-menu"),astra_color_responsive_css("astra-builder-transparent-submenu","astra-settings[transparent-submenu-h-color-responsive]","color",".ast-theme-transparent-header .main-header-menu .menu-item .sub-menu .menu-item:hover > .menu-link")})(jQuery); type/header/menu/class-astra-header-menu-component-loader.php 0000644 00000005002 15105312163 0020275 0 ustar 00 <?php /** * Menu Styling Loader for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Header_Menu_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); // Load Google fonts. add_action( 'astra_get_fonts', array( $this, 'add_fonts' ), 1 ); } /** * Enqueue google fonts. * * @since 3.0.0 */ public function add_fonts() { $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_menu; for ( $index = 1; $index <= $component_limit; $index++ ) { $_prefix = 'menu' . $index; $menu_font_family = astra_get_option( 'header-' . $_prefix . '-font-family' ); $menu_font_weight = astra_get_option( 'header-' . $_prefix . '-font-weight' ); Astra_Fonts::add_font( $menu_font_family, $menu_font_weight ); } $mobile_menu_font_family = astra_get_option( 'header-mobile-menu-font-family' ); $mobile_menu_font_weight = astra_get_option( 'header-mobile-menu-font-weight' ); Astra_Fonts::add_font( $mobile_menu_font_family, $mobile_menu_font_weight ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-heading-menu-customizer-preview-js', ASTRA_HEADER_MENU_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for Menu JS. wp_localize_script( 'astra-heading-menu-customizer-preview-js', 'AstraBuilderMenuData', array( 'component_limit' => defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_menu, 'nav_menu_enabled' => defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'nav-menu' ) ? true : false, 'tablet_break_point' => astra_get_tablet_breakpoint(), 'mobile_break_point' => astra_get_mobile_breakpoint(), ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Menu_Component_Loader(); type/header/menu/dynamic-css/dynamic.css.php 0000644 00000056326 15105312163 0015070 0 ustar 00 <?php /** * Heading Colors - Dynamic CSS * * @package astra-builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Heading Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_menu_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_hb_menu_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { for ( $index = 1; $index <= Astra_Builder_Helper::$num_of_header_menu; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'menu-' . $index, 'header' ) ) { continue; } $_prefix = 'menu' . $index; $_section = 'section-hb-menu-' . $index; $selector = '.ast-builder-menu-' . $index; // Theme color. $theme_color = astra_get_option( 'theme-color' ); // Sub Menu. $sub_menu_border = astra_get_option( 'header-' . $_prefix . '-submenu-border' ); $sub_menu_divider_toggle = astra_get_option( 'header-' . $_prefix . '-submenu-item-border' ); $sub_menu_divider_size = astra_get_option( 'header-' . $_prefix . '-submenu-item-b-size' ); $sub_menu_divider_color = astra_get_option( 'header-' . $_prefix . '-submenu-item-b-color' ); $sub_menu_border_radius_fields = astra_get_option( 'header-' . $_prefix . '-submenu-border-radius-fields' ); $sub_menu_top_offset = astra_get_option( 'header-' . $_prefix . '-submenu-top-offset' ); $sub_menu_width = astra_get_option( 'header-' . $_prefix . '-submenu-width' ); // Menu. $menu_resp_color = astra_get_option( 'header-' . $_prefix . '-color-responsive' ); $menu_resp_bg_color = astra_get_option( 'header-' . $_prefix . '-bg-obj-responsive' ); $menu_resp_color_hover = astra_get_option( 'header-' . $_prefix . '-h-color-responsive' ); $menu_resp_bg_color_hover = astra_get_option( 'header-' . $_prefix . '-h-bg-color-responsive' ); $menu_resp_color_active = astra_get_option( 'header-' . $_prefix . '-a-color-responsive' ); $menu_resp_bg_color_active = astra_get_option( 'header-' . $_prefix . '-a-bg-color-responsive' ); $menu_resp_color_desktop = isset( $menu_resp_color['desktop'] ) ? $menu_resp_color['desktop'] : ''; $menu_resp_color_tablet = isset( $menu_resp_color['tablet'] ) ? $menu_resp_color['tablet'] : ''; $menu_resp_color_mobile = isset( $menu_resp_color['mobile'] ) ? $menu_resp_color['mobile'] : ''; $menu_resp_color_hover_desktop = isset( $menu_resp_color_hover['desktop'] ) ? $menu_resp_color_hover['desktop'] : ''; $menu_resp_color_hover_tablet = isset( $menu_resp_color_hover['tablet'] ) ? $menu_resp_color_hover['tablet'] : ''; $menu_resp_color_hover_mobile = isset( $menu_resp_color_hover['mobile'] ) ? $menu_resp_color_hover['mobile'] : ''; $menu_resp_bg_color_hover_desktop = isset( $menu_resp_bg_color_hover['desktop'] ) ? $menu_resp_bg_color_hover['desktop'] : ''; $menu_resp_bg_color_hover_tablet = isset( $menu_resp_bg_color_hover['tablet'] ) ? $menu_resp_bg_color_hover['tablet'] : ''; $menu_resp_bg_color_hover_mobile = isset( $menu_resp_bg_color_hover['mobile'] ) ? $menu_resp_bg_color_hover['mobile'] : ''; $menu_resp_color_active_desktop = isset( $menu_resp_color_active['desktop'] ) ? $menu_resp_color_active['desktop'] : ''; $menu_resp_color_active_tablet = isset( $menu_resp_color_active['tablet'] ) ? $menu_resp_color_active['tablet'] : ''; $menu_resp_color_active_mobile = isset( $menu_resp_color_active['mobile'] ) ? $menu_resp_color_active['mobile'] : ''; $menu_resp_bg_color_active_desktop = isset( $menu_resp_bg_color_active['desktop'] ) ? $menu_resp_bg_color_active['desktop'] : ''; $menu_resp_bg_color_active_tablet = isset( $menu_resp_bg_color_active['tablet'] ) ? $menu_resp_bg_color_active['tablet'] : ''; $menu_resp_bg_color_active_mobile = isset( $menu_resp_bg_color_active['mobile'] ) ? $menu_resp_bg_color_active['mobile'] : ''; // Typography. $menu_font_family = astra_get_option( 'header-' . $_prefix . '-font-family' ); $menu_font_size = astra_get_option( 'header-' . $_prefix . '-font-size' ); $menu_font_weight = astra_get_option( 'header-' . $_prefix . '-font-weight' ); $menu_text_transform = astra_get_font_extras( astra_get_option( 'header-' . $_prefix . '-font-extras' ), 'text-transform' ); $menu_line_height = astra_get_font_extras( astra_get_option( 'header-' . $_prefix . '-font-extras' ), 'line-height', 'line-height-unit' ); $menu_letter_spacing = astra_get_font_extras( astra_get_option( 'header-' . $_prefix . '-font-extras' ), 'letter-spacing', 'letter-spacing-unit' ); $menu_text_decoration = astra_get_font_extras( astra_get_option( 'header-' . $_prefix . '-font-extras' ), 'text-decoration' ); $menu_font_size_desktop = isset( $menu_font_size['desktop'] ) ? $menu_font_size['desktop'] : ''; $menu_font_size_tablet = isset( $menu_font_size['tablet'] ) ? $menu_font_size['tablet'] : ''; $menu_font_size_mobile = isset( $menu_font_size['mobile'] ) ? $menu_font_size['mobile'] : ''; $menu_font_size_desktop_unit = isset( $menu_font_size['desktop-unit'] ) ? $menu_font_size['desktop-unit'] : ''; $menu_font_size_tablet_unit = isset( $menu_font_size['tablet-unit'] ) ? $menu_font_size['tablet-unit'] : ''; $menu_font_size_mobile_unit = isset( $menu_font_size['mobile-unit'] ) ? $menu_font_size['mobile-unit'] : ''; // Spacing. $menu_spacing = astra_get_option( 'header-' . $_prefix . '-menu-spacing' ); $sub_menu_border_top = isset( $sub_menu_border ) && ! empty( $sub_menu_border['top'] ) ? $sub_menu_border['top'] : 0; $sub_menu_border_bottom = isset( $sub_menu_border ) && ! empty( $sub_menu_border['bottom'] ) ? $sub_menu_border['bottom'] : 0; $sub_menu_border_right = isset( $sub_menu_border ) && ! empty( $sub_menu_border['right'] ) ? $sub_menu_border['right'] : 0; $sub_menu_border_left = isset( $sub_menu_border ) && ! empty( $sub_menu_border['left'] ) ? $sub_menu_border['left'] : 0; // Top offset position. $sub_menu_top_offset = ! empty( $sub_menu_top_offset ) ? $sub_menu_top_offset : 0; // Submenu container width. $sub_menu_width = ! empty( $sub_menu_width ) ? $sub_menu_width : ''; // Margin. $margin = astra_get_option( $_section . '-margin' ); $margin_selector = '.ast-builder-menu-' . $index . ' .main-header-menu, .ast-header-break-point .ast-builder-menu-' . $index . ' .main-header-menu'; $css_output_desktop = array( // Menu. $selector => array( 'font-family' => astra_get_font_family( $menu_font_family ), 'font-weight' => esc_attr( $menu_font_weight ), 'text-transform' => esc_attr( $menu_text_transform ), ), $selector . ' .menu-item > .menu-link' => array( 'line-height' => esc_attr( $menu_line_height ), 'font-size' => astra_get_font_css_value( $menu_font_size_desktop, $menu_font_size_desktop_unit ), 'color' => $menu_resp_color_desktop, 'padding-top' => astra_responsive_spacing( $menu_spacing, 'top', 'desktop' ), 'padding-bottom' => astra_responsive_spacing( $menu_spacing, 'bottom', 'desktop' ), 'padding-left' => astra_responsive_spacing( $menu_spacing, 'left', 'desktop' ), 'padding-right' => astra_responsive_spacing( $menu_spacing, 'right', 'desktop' ), 'text-decoration' => esc_attr( $menu_text_decoration ), 'letter-spacing' => esc_attr( $menu_letter_spacing ), ), $selector . ' .menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_desktop, ), $selector . ' .menu-item:hover > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_desktop, 'background' => $menu_resp_bg_color_hover_desktop, ), $selector . ' .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_desktop, ), $selector . ' .menu-item.current-menu-item > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, ' . $selector . ' .current-menu-ancestor > .menu-link' => array( 'color' => $menu_resp_color_active_desktop, 'background' => $menu_resp_bg_color_active_desktop, ), $selector . ' .menu-item.current-menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_desktop, ), // Sub Menu. $selector . ' .sub-menu, ' . $selector . ' .inline-on-mobile .sub-menu' => array( 'border-top-width' => astra_get_css_value( $sub_menu_border_top, 'px' ), 'border-bottom-width' => astra_get_css_value( $sub_menu_border_bottom, 'px' ), 'border-right-width' => astra_get_css_value( $sub_menu_border_right, 'px' ), 'border-left-width' => astra_get_css_value( $sub_menu_border_left, 'px' ), 'border-color' => esc_attr( astra_get_option( 'header-' . $_prefix . '-submenu-b-color', $theme_color ) ), 'border-style' => 'solid', 'width' => astra_get_css_value( $sub_menu_width, 'px' ), 'border-top-left-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'top', 'desktop' ), 'border-top-right-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'right', 'desktop' ), 'border-bottom-right-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'bottom', 'desktop' ), 'border-bottom-left-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'left', 'desktop' ), ), // Fix submenu top offset when above border is assigned. $selector . ' .sub-menu .sub-menu' => array( 'top' => astra_get_css_value( strval( -1 * intval( $sub_menu_border_top ) ), 'px' ), ), $selector . ' .main-header-menu > .menu-item > .sub-menu, ' . $selector . ' .main-header-menu > .menu-item > .astra-full-megamenu-wrapper' => array( 'margin-top' => astra_get_css_value( $sub_menu_top_offset, 'px' ), ), '.ast-desktop ' . $selector . ' .main-header-menu > .menu-item > .sub-menu:before, .ast-desktop ' . $selector . ' .main-header-menu > .menu-item > .astra-full-megamenu-wrapper:before' => array( 'height' => astra_calculate_spacing( $sub_menu_top_offset . 'px', '+', intval( $sub_menu_border_top ) . 'px + 5', 'px' ), ), $selector . ' .menu-item.menu-item-has-children > .ast-menu-toggle' => array( 'top' => astra_responsive_spacing( $menu_spacing, 'top', 'desktop' ), 'right' => astra_calculate_spacing( astra_responsive_spacing( $menu_spacing, 'right', 'desktop' ), '-', '0.907', 'em' ), ), // Margin CSS. $margin_selector => array( 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); $css_output_desktop[ $selector . ' .main-header-menu, ' . $selector . ' .main-header-menu .sub-menu' ] = astra_get_responsive_background_obj( $menu_resp_bg_color, 'desktop' ); $mobile_selector = '.ast-header-break-point .ast-builder-menu-' . $index; $menu_spacing_mobile_top = astra_responsive_spacing( $menu_spacing, 'top', 'mobile' ); $menu_spacing_mobile_top = isset( $menu_spacing_mobile_top ) && ! empty( $menu_spacing_mobile_top ) ? $menu_spacing_mobile_top : 0; $menu_spacing_tablet_top = astra_responsive_spacing( $menu_spacing, 'top', 'tablet' ); $menu_spacing_tablet_top = isset( $menu_spacing_tablet_top ) && ! empty( $menu_spacing_tablet_top ) ? $menu_spacing_tablet_top : 0; if ( ! is_rtl() ) { $selector_right_value = array( 'right' => '-15px', ); } else { $selector_right_value = array( 'left' => '-15px', ); } $css_output_tablet = array( $mobile_selector . ' .menu-item > .menu-link' => array( 'font-size' => astra_get_font_css_value( $menu_font_size_tablet, $menu_font_size_tablet_unit ), ), $mobile_selector . ' .main-header-menu .menu-item > .menu-link' => array( 'padding-top' => astra_responsive_spacing( $menu_spacing, 'top', 'tablet' ), 'padding-bottom' => astra_responsive_spacing( $menu_spacing, 'bottom', 'tablet' ), 'padding-left' => astra_responsive_spacing( $menu_spacing, 'left', 'tablet' ), 'padding-right' => astra_responsive_spacing( $menu_spacing, 'right', 'tablet' ), ), // Sub Menu. $selector . ' .sub-menu, ' . $selector . ' .inline-on-mobile .sub-menu' => array( 'border-top-left-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'top', 'tablet' ), 'border-top-right-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'right', 'tablet' ), 'border-bottom-right-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'bottom', 'tablet' ), 'border-bottom-left-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'left', 'tablet' ), ), $selector . ' .main-header-menu .menu-item > .menu-link' => array( 'color' => $menu_resp_color_tablet, ), $selector . ' .menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_tablet, ), $selector . ' .menu-item:hover > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_tablet, 'background' => $menu_resp_bg_color_hover_tablet, ), $selector . ' .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_tablet, ), $selector . ' .menu-item.current-menu-item > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, ' . $selector . ' .current-menu-ancestor > .menu-link, ' . $selector . ' .current-menu-ancestor > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_tablet, 'background' => $menu_resp_bg_color_active_tablet, ), $selector . ' .menu-item.current-menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_tablet, ), $mobile_selector . ' .menu-item.menu-item-has-children > .ast-menu-toggle' => array( 'top' => $menu_spacing_tablet_top, 'right' => astra_calculate_spacing( astra_responsive_spacing( $menu_spacing, 'right', 'tablet' ), '-', '0.907', 'em' ), ), $selector . ' .inline-on-mobile .menu-item.menu-item-has-children > .ast-menu-toggle' => $selector_right_value, $selector . ' .menu-item-has-children > .menu-link:after' => array( 'content' => 'unset', ), // Margin CSS. $margin_selector => array( 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), $selector . ' .main-header-menu > .menu-item > .sub-menu, ' . $selector . ' .main-header-menu > .menu-item > .astra-full-megamenu-wrapper' => array( 'margin-top' => '0', ), ); $css_output_tablet[ $selector . ' .main-header-menu, ' . $selector . ' .main-header-menu .sub-menu' ] = astra_get_responsive_background_obj( $menu_resp_bg_color, 'tablet' ); $css_output_mobile = array( $mobile_selector . ' .menu-item > .menu-link' => array( 'font-size' => astra_get_font_css_value( $menu_font_size_mobile, $menu_font_size_mobile_unit ), ), $mobile_selector . ' .main-header-menu .menu-item > .menu-link' => array( 'padding-top' => astra_responsive_spacing( $menu_spacing, 'top', 'mobile' ), 'padding-bottom' => astra_responsive_spacing( $menu_spacing, 'bottom', 'mobile' ), 'padding-left' => astra_responsive_spacing( $menu_spacing, 'left', 'mobile' ), 'padding-right' => astra_responsive_spacing( $menu_spacing, 'right', 'mobile' ), ), // Sub Menu. $selector . ' .sub-menu, ' . $selector . ' .inline-on-mobile .sub-menu' => array( 'border-top-left-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'top', 'mobile' ), 'border-top-right-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'right', 'mobile' ), 'border-bottom-right-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'bottom', 'mobile' ), 'border-bottom-left-radius' => astra_responsive_spacing( $sub_menu_border_radius_fields, 'left', 'mobile' ), ), $selector . ' .main-header-menu .menu-item > .menu-link' => array( 'color' => $menu_resp_color_mobile, ), $selector . ' .menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_mobile, ), $selector . ' .menu-item:hover > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_mobile, 'background' => $menu_resp_bg_color_hover_mobile, ), $selector . ' .menu-item:hover > .ast-menu-toggle' => array( 'color' => $menu_resp_color_hover_mobile, ), $selector . ' .menu-item.current-menu-item > .menu-link, ' . $selector . ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, ' . $selector . ' .current-menu-ancestor > .menu-link, ' . $selector . ' .current-menu-ancestor > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_mobile, 'background' => $menu_resp_bg_color_active_mobile, ), $selector . ' .menu-item.current-menu-item > .ast-menu-toggle' => array( 'color' => $menu_resp_color_active_mobile, ), $mobile_selector . ' .menu-item.menu-item-has-children > .ast-menu-toggle' => array( 'top' => $menu_spacing_mobile_top, 'right' => astra_calculate_spacing( astra_responsive_spacing( $menu_spacing, 'right', 'mobile' ), '-', '0.907', 'em' ), ), // Margin CSS. $margin_selector => array( 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), $selector . ' .main-header-menu > .menu-item > .sub-menu, ' . $selector . ' .main-header-menu > .menu-item > .astra-full-megamenu-wrapper' => array( 'margin-top' => '0', ), ); $css_output_mobile[ $selector . ' .main-header-menu, ' . $selector . ' .main-header-menu .sub-menu' ] = astra_get_responsive_background_obj( $menu_resp_bg_color, 'mobile' ); // Submenu border radius inner items fix. $sub_menu_border = strval( $sub_menu_border_top ); $devices = array( 'desktop', 'tablet', 'mobile' ); foreach ( $devices as $device ) { $border_top_left_radius = astra_responsive_spacing( $sub_menu_border_radius_fields, 'top', $device ); $border_top_right_radius = astra_responsive_spacing( $sub_menu_border_radius_fields, 'right', $device ); $border_bottom_right_radius = astra_responsive_spacing( $sub_menu_border_radius_fields, 'bottom', $device ); $border_bottom_left_radius = astra_responsive_spacing( $sub_menu_border_radius_fields, 'left', $device ); // Determine the variable. $css_output_var = &${ 'css_output_' . $device }; if ( ! is_array( $css_output_var ) ) { continue; } $css_output_var[ $selector . ' .sub-menu .menu-item:first-of-type > .menu-link, ' . $selector . ' .inline-on-mobile .sub-menu .menu-item:first-of-type > .menu-link' ] = array( 'border-top-left-radius' => $border_top_left_radius ? 'calc(' . $border_top_left_radius . ' - ' . astra_get_css_value( $sub_menu_border, 'px' ) . ')' : '', 'border-top-right-radius' => $border_top_right_radius ? 'calc(' . $border_top_right_radius . ' - ' . astra_get_css_value( $sub_menu_border, 'px' ) . ')' : '', ); $css_output_var[ $selector . ' .sub-menu .menu-item:last-of-type > .menu-link, ' . $selector . ' .inline-on-mobile .sub-menu .menu-item:last-of-type > .menu-link' ] = array( 'border-bottom-right-radius' => $border_bottom_right_radius ? 'calc(' . $border_bottom_right_radius . ' - ' . astra_get_css_value( $sub_menu_border, 'px' ) . ')' : '', 'border-bottom-left-radius' => $border_bottom_left_radius ? 'calc(' . $border_bottom_left_radius . ' - ' . astra_get_css_value( $sub_menu_border, 'px' ) . ')' : '', ); } if ( true === $sub_menu_divider_toggle ) { // Sub Menu Divider. $css_output_desktop[ '.ast-desktop ' . $selector . ' .menu-item .sub-menu .menu-link, .ast-header-break-point .main-navigation ul .menu-item .menu-link' ] = array( 'border-bottom-width' => $sub_menu_divider_size . 'px', 'border-color' => $sub_menu_divider_color, 'border-style' => 'solid', ); $css_output_desktop[ '.ast-desktop ' . $selector . ' .menu-item .sub-menu:last-child > .menu-item > .menu-link, .ast-header-break-point .main-navigation ul .menu-item .menu-link' ] = array( 'border-bottom-width' => $sub_menu_divider_size . 'px', ); $css_output_desktop[ '.ast-desktop ' . $selector . ' .menu-item:last-child > .menu-item > .menu-link' ] = array( 'border-bottom-width' => 0, ); } else { $css_output_desktop[ '.ast-desktop .ast-builder-menu-' . $index . ' .menu-item .sub-menu .menu-link' ] = array( 'border-style' => 'none', ); } /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector ); } $dynamic_css .= astra_menu_hover_style_css(); return $dynamic_css; } /** * Load Menu hover style static CSS if any one of the menu hover style is selected. * * @return string * @since 3.5.0 */ function astra_menu_hover_style_css() { $hover_style_flg = false; $menu_hover_css = ''; for ( $index = 1; $index <= Astra_Builder_Helper::$num_of_header_menu; $index++ ) { if ( '' !== astra_get_option( 'header-menu' . $index . '-menu-hover-animation' ) ) { $hover_style_flg = true; } } if ( true === $hover_style_flg ) { $menu_hover_css = ' .ast-desktop .ast-menu-hover-style-underline > .menu-item > .menu-link:before, .ast-desktop .ast-menu-hover-style-overline > .menu-item > .menu-link:before { content: ""; position: absolute; width: 100%; right: 50%; height: 1px; background-color: transparent; transform: scale(0, 0) translate(-50%, 0); transition: transform .3s ease-in-out, color .0s ease-in-out; } .ast-desktop .ast-menu-hover-style-underline > .menu-item:hover > .menu-link:before, .ast-desktop .ast-menu-hover-style-overline > .menu-item:hover > .menu-link:before { width: calc(100% - 1.2em); background-color: currentColor; transform: scale(1, 1) translate(50%, 0); } .ast-desktop .ast-menu-hover-style-underline > .menu-item > .menu-link:before { bottom: 0; } .ast-desktop .ast-menu-hover-style-overline > .menu-item > .menu-link:before { top: 0; } .ast-desktop .ast-menu-hover-style-zoom > .menu-item > .menu-link:hover { transition: all .3s ease; transform: scale(1.2); }'; } return Astra_Enqueue_Scripts::trim_css( $menu_hover_css ); } type/header/menu/class-astra-header-menu-component.php 0000644 00000014434 15105312163 0017042 0 ustar 00 <?php /** * Menu for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_HEADER_MENU_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/menu' ); define( 'ASTRA_HEADER_MENU_URI', ASTRA_THEME_URI . 'inc/builder/type/header/menu' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Header_Menu_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_HEADER_MENU_DIR . '/class-astra-header-menu-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_HEADER_MENU_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } /** * Secondary navigation markup * * @param int $index index. * @param string $device device. */ public static function menu_markup( $index, $device = 'desktop' ) { $astra_builder = astra_builder(); switch ( $index ) { case 1: $theme_location = 'primary'; $nav_label = esc_attr__( 'Primary Site Navigation', 'astra' ); break; case 2: $theme_location = 'secondary_menu'; $nav_label = esc_attr__( 'Secondary Site Navigation', 'astra' ); break; default: $theme_location = 'menu_' . $index; /* translators: %d: menu index number */ $nav_label = sprintf( esc_attr__( 'Menu %d Site Navigation', 'astra' ), $index ); break; } $_prefix = 'menu' . $index; $submenu_class = apply_filters( 'astra_secondary_submenu_border_class', ' submenu-with-border' ); $stack_on_mobile_class = 'inline-on-mobile'; if ( astra_get_option( 'header-' . $_prefix . '-menu-stack-on-mobile' ) ) { $stack_on_mobile_class = 'stack-on-mobile'; } // Menu Animation. $menu_animation = astra_get_option( 'header-menu' . $index . '-submenu-container-animation' ); if ( ! empty( $menu_animation ) ) { $submenu_class .= ' astra-menu-animation-' . esc_attr( $menu_animation ) . ' '; } // Menu hover animation. $menu_hover_animation = astra_get_option( 'header-' . $_prefix . '-menu-hover-animation' ); if ( '' !== $menu_hover_animation ) { $submenu_class .= ' ast-menu-hover-style-' . esc_attr( $menu_hover_animation ) . ' '; } /** * Filter the classes(array) for Menu (<ul>). * * @since 3.0.0 * @var Array */ $menu_classes = apply_filters( 'astra_' . $theme_location . '_menu_classes', array( 'main-header-menu', 'ast-menu-shadow', 'ast-nav-menu', 'ast-flex', $submenu_class, $stack_on_mobile_class ) ); $items_wrap = '<nav '; $items_wrap .= astra_attr( 'site-navigation', array( 'id' => apply_filters( 'astra_header_site_navigation_id', esc_attr( $theme_location ) . '-site-navigation-' . esc_attr( $device ) ), 'class' => 'site-navigation ast-flex-grow-1 navigation-accessibility site-header-focus-item', 'aria-label' => $nav_label, 'itemtype' => 'https://schema.org/SiteNavigationElement', 'itemscope' => 'itemscope', ) ); $items_wrap .= '>'; $items_wrap .= '<div class="main-navigation ast-inline-flex">'; $items_wrap .= '<ul id="%1$s" class="%2$s">%3$s</ul>'; $items_wrap .= '</div>'; $items_wrap .= '</nav>'; // Fallback Menu if primary menu not set. $fallback_menu_args = array( 'theme_location' => $theme_location, 'menu_id' => apply_filters( 'astra_header_menu_ul_id', 'ast-hf-menu-' . $index ), 'menu_class' => 'main-navigation ast-inline-flex', 'container' => 'div', 'before' => '<ul class="' . esc_attr( implode( ' ', $menu_classes ) ) . '">', 'after' => '</ul>', 'walker' => new Astra_Walker_Page(), 'echo' => false, ); // To add default alignment for navigation which can be added through any third party plugin. // Do not add any CSS from theme except header alignment. echo '<div ' . astra_attr( 'ast-main-header-bar-alignment' ) . '>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped if ( is_customize_preview() ) { Astra_Builder_UI_Controller::render_customizer_edit_button(); } if ( has_nav_menu( $theme_location ) ) { /** @psalm-suppress ArgumentTypeCoercion */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $nav_menu_markup = wp_nav_menu( array( 'menu_id' => apply_filters( 'astra_header_menu_ul_id', 'ast-hf-menu-' . $index ), 'menu_class' => esc_attr( implode( ' ', $menu_classes ) ), 'container' => 'div', 'container_class' => 'main-header-bar-navigation', 'items_wrap' => $items_wrap, 'theme_location' => $theme_location, 'echo' => false, ) ); // Adding rel="nofollow" for duplicate menu render. $nav_menu_markup = $astra_builder->nofollow_markup( $theme_location, $nav_menu_markup ); echo do_shortcode( $nav_menu_markup ); /** @psalm-suppress ArgumentTypeCoercion */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } else { echo '<div class="main-header-bar-navigation ast-flex-1">'; echo '<nav '; echo wp_kses_post( astra_attr( 'site-navigation', array( 'id' => esc_attr( $theme_location ) . '-site-navigation', 'class' => 'site-navigation ast-flex-grow-1 navigation-accessibility', 'aria-label' => $nav_label, 'itemtype' => 'https://schema.org/SiteNavigationElement', 'itemscope' => 'itemscope', ) ) ); echo '>'; /** @psalm-suppress ArgumentTypeCoercion */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $nav_menu_markup = wp_page_menu( $fallback_menu_args ); // Adding rel="nofollow" for duplicate menu render. $nav_menu_markup = $astra_builder->nofollow_markup( $theme_location, $nav_menu_markup ); echo do_shortcode( $nav_menu_markup ); /** @psalm-suppress ArgumentTypeCoercion */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo '</nav>'; echo '</div>'; } echo '</div>'; } } /** * Kicking this off by creating an object. */ new Astra_Header_Menu_Component(); type/header/menu/assets/js/unminified/customizer-preview.js 0000644 00000051674 15105312163 0020221 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = AstraBuilderMenuData.tablet_break_point || 768, mobile_break_point = AstraBuilderMenuData.mobile_break_point || 544, isNavMenuEnabled = AstraBuilderMenuData.nav_menu_enabled || false; for ( var index = 1; index <= AstraBuilderMenuData.component_limit; index++ ) { var prefix = 'menu' + index; var selector = '.ast-builder-menu-' + index; var section = 'section-hb-menu-' + index; // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector ); /** * Typography CSS. */ // Menu Typography. astra_generate_outside_font_family_css( 'astra-settings[header-' + prefix + '-font-family]', selector + ' .menu-item > .menu-link' ); astra_generate_font_weight_css( 'astra-settings[header-' + prefix + '-font-family]', 'astra-settings[header-' + prefix + '-font-weight]', 'font-weight', selector + ' .menu-item > .menu-link' ); astra_css( 'astra-settings[header-' + prefix + '-text-transform]', 'text-transform', selector + ' .menu-item > .menu-link' ); astra_responsive_font_size( 'astra-settings[header-' + prefix + '-font-size]', selector + ' .menu-item > .menu-link' ); astra_css( 'astra-settings[header-' + prefix + '-line-height]', 'line-height', selector + ' .menu-item > .menu-link' ); astra_css( 'astra-settings[header-' + prefix + '-letter-spacing]', 'letter-spacing', selector + ' .menu-item > .menu-link', 'px' ); /** * Color CSS. */ /** * Menu - Colors */ // Menu - Normal Color astra_color_responsive_css( 'astra-menu-color-preview', 'astra-settings[header-' + prefix + '-color-responsive]', 'color', selector + ' .main-header-menu .menu-item > .menu-link' ); // Menu - Hover Color astra_color_responsive_css( 'astra-menu-h-color-preview', 'astra-settings[header-' + prefix + '-h-color-responsive]', 'color', selector + ' .menu-item:hover > .menu-link, ' + selector + ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' ); // Menu Toggle - Color astra_color_responsive_css( 'astra-builder-toggle', 'astra-settings[header-' + prefix + '-color-responsive]', 'color', selector + ' .menu-item > .ast-menu-toggle' ); // Menu Toggle - Hover Color astra_color_responsive_css( 'astra-menu-h-toogle-color-preview', 'astra-settings[header-' + prefix + '-h-color-responsive]', 'color', selector + ' .menu-item:hover > .ast-menu-toggle' ); // Menu - Active Color astra_color_responsive_css( 'astra-menu-active-color-preview', 'astra-settings[header-' + prefix + '-a-color-responsive]', 'color', selector + ' .menu-item.current-menu-item > .menu-link, ' + selector + ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, ' + selector + ' .current-menu-ancestor > .menu-link, ' + selector + ' .current-menu-ancestor > .ast-menu-toggle' ); // Menu - Normal Background astra_apply_responsive_background_css( 'astra-settings[header-' + prefix + '-bg-obj-responsive]', selector + ' .main-header-menu, ' + selector + ' .main-header-menu .sub-menu', 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[header-' + prefix + '-bg-obj-responsive]', selector + ' .main-header-menu, ' + selector + ' .main-header-menu .sub-menu', 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[header-' + prefix + '-bg-obj-responsive]', selector + ' .main-header-menu, ' + selector + ' .main-header-menu .sub-menu', 'mobile' ); // Menu - Hover Background astra_color_responsive_css( 'astra-menu-bg-preview', 'astra-settings[header-' + prefix + '-h-bg-color-responsive]', 'background', selector + ' .menu-item:hover > .menu-link, ' + selector + ' .inline-on-mobile .menu-item:hover > .ast-menu-toggle' ); // Menu - Active Background astra_color_responsive_css( 'astra-builder', 'astra-settings[header-' + prefix + '-a-bg-color-responsive]', 'background', selector + ' .menu-item.current-menu-item > .menu-link, ' + selector + ' .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, ' + selector + ' .current-menu-ancestor > .menu-link, ' + selector + ' .current-menu-ancestor > .ast-menu-toggle' ); /** * Border CSS. */ (function (index) { // Menu 1 > Sub Menu Border Size. wp.customize( 'astra-settings[header-menu'+ index +'-submenu-border]', function( setting ) { setting.bind( function( border ) { var dynamicStyle = '.ast-builder-menu-'+ index +' .sub-menu, .ast-builder-menu-'+ index +' .inline-on-mobile .sub-menu, .ast-builder-menu-'+ index +' .main-header-menu.submenu-with-border .astra-megamenu, .ast-builder-menu-'+ index +' .main-header-menu.submenu-with-border .astra-full-megamenu-wrapper {'; dynamicStyle += 'border-top-width:' + border.top + 'px;'; dynamicStyle += 'border-right-width:' + border.right + 'px;'; dynamicStyle += 'border-left-width:' + border.left + 'px;'; dynamicStyle += 'border-style: solid;'; dynamicStyle += 'border-bottom-width:' + border.bottom + 'px;'; dynamicStyle += '}'; // Fix submenu top offset when above border is assigned. dynamicStyle += '.ast-builder-menu-'+ index + ' .sub-menu .sub-menu {'; dynamicStyle += 'top:' + Number( -1 * border.top ) + 'px;'; dynamicStyle += '}'; const submenuTopOffset = wp.customize( 'astra-settings[header-menu'+ index +'-submenu-top-offset]' ).get(); dynamicStyle += '.ast-desktop .ast-builder-menu-' + index + ' .main-header-menu > .menu-item > .sub-menu:before, .ast-desktop .ast-builder-menu-' + index + ' .main-header-menu > .menu-item > .astra-full-megamenu-wrapper:before {'; dynamicStyle += 'height: calc( ' + ( border.top || 0 ) + 'px + ' + ( submenuTopOffset || 0 ) + 'px + 5px );'; dynamicStyle += '}'; astra_add_dynamic_css( 'header-menu'+ index +'-submenu-border', dynamicStyle ); } ); } ); // Menu Spacing - Menu 1. wp.customize( 'astra-settings[header-menu'+ index +'-menu-spacing]', function( value ) { value.bind( function( padding ) { var dynamicStyle = ''; dynamicStyle += '.ast-builder-menu-'+ index +' .main-header-menu .menu-item > .menu-link {'; dynamicStyle += 'padding-left: ' + padding['desktop']['left'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['desktop']['right'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['desktop']['top'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['desktop']['bottom'] + padding['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-header-break-point .ast-builder-menu-'+ index +' .main-header-menu .menu-item > .menu-link {'; dynamicStyle += 'padding-left: ' + padding['tablet']['left'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['tablet']['right'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['tablet']['top'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['tablet']['bottom'] + padding['tablet-unit'] + ';'; dynamicStyle += '} '; // Toggle top. dynamicStyle += '.ast-hfb-header .ast-builder-menu-'+ index +' .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {'; dynamicStyle += 'top: ' + padding['tablet']['top'] + padding['tablet-unit'] + ';'; dynamicStyle += 'right: calc( ' + padding['tablet']['right'] + padding['tablet-unit'] + ' - 0.907em );' dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-header-break-point .ast-builder-menu-'+ index +' .main-header-menu .menu-item > .menu-link {'; dynamicStyle += 'padding-left: ' + padding['mobile']['left'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['mobile']['right'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['mobile']['top'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['mobile']['bottom'] + padding['mobile-unit'] + ';'; dynamicStyle += '} '; // Toggle top. dynamicStyle += '.ast-hfb-header .ast-builder-menu-'+ index +' .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {'; dynamicStyle += 'top: ' + padding['mobile']['top'] + padding['mobile-unit'] + ';'; dynamicStyle += 'right: calc( ' + padding['mobile']['right'] + padding['mobile-unit'] + ' - 0.907em );' dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'header-menu'+ index +'-menu-spacing-toggle-button', dynamicStyle ); } ); } ); // Margin - Menu 1. wp.customize( 'astra-settings[section-hb-menu-'+ index +'-margin]', function( value ) { value.bind( function( margin ) { var selector = '.ast-builder-menu-'+ index +' .main-header-menu, .ast-header-break-point .ast-builder-menu-'+ index +' .main-header-menu'; var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'section-hb-menu-'+ index +'-margin', dynamicStyle ); } ); } ); /** * Header Menu 1 > Submenu border Color */ wp.customize('astra-settings[header-menu'+ index +'-submenu-item-b-color]', function (value) { value.bind(function (color) { var insideBorder = wp.customize('astra-settings[header-menu'+ index +'-submenu-item-border]').get(), borderSize = wp.customize('astra-settings[header-menu'+ index +'-submenu-item-b-size]').get(); if ('' != color) { if ( true == insideBorder ) { var dynamicStyle = ''; dynamicStyle += '.ast-desktop .ast-builder-menu-'+ index +' .main-header-menu .menu-item .sub-menu .menu-link, .ast-header-break-point .main-navigation ul .menu-item .menu-link'; dynamicStyle += '{'; dynamicStyle += 'border-bottom-width:' + ( ( borderSize ) ? borderSize + 'px;' : '0px;' ); dynamicStyle += 'border-color:' + color + ';'; dynamicStyle += 'border-style: solid;'; dynamicStyle += '}'; dynamicStyle += '.ast-desktop .ast-builder-menu-'+ index +' .main-header-menu .menu-item .sub-menu .menu-item:last-child .menu-link{ border-style: none; }'; astra_add_dynamic_css('header-menu'+ index +'-submenu-item-b-color', dynamicStyle); } } else { wp.customize.preview.send('refresh'); } }); }); // Sub Menu - Divider Size. wp.customize( 'astra-settings[header-menu'+ index +'-submenu-item-b-size]', function( value ) { value.bind( function( borderSize ) { var selector = '.ast-desktop .ast-builder-menu-'+ index + ' .main-header-menu'; var dynamicStyle = ''; dynamicStyle += selector + ' .menu-item .sub-menu:last-child > .menu-item > .menu-link, .ast-header-break-point .main-navigation ul .menu-item .menu-link {'; dynamicStyle += 'border-bottom-width: ' + borderSize + 'px;'; dynamicStyle += '} '; dynamicStyle += selector + ' .menu-item .sub-menu .menu-item:last-child .menu-link {'; dynamicStyle += 'border-bottom-width: 0px'; dynamicStyle += '} '; astra_add_dynamic_css( 'header-menu'+ index +'-submenu-item-b-size', dynamicStyle ); } ); } ); /** * Header Menu 1 > Submenu border Color */ wp.customize( 'astra-settings[header-menu'+ index +'-submenu-item-border]', function( value ) { value.bind( function( border ) { var color = wp.customize( 'astra-settings[header-menu'+ index +'-submenu-item-b-color]' ).get(), borderSize = wp.customize('astra-settings[header-menu'+ index +'-submenu-item-b-size]').get(); var dynamicStyle = '.ast-desktop .ast-builder-menu-'+ index +' .main-header-menu.submenu-with-border .sub-menu .menu-link'; if( true === border ) { dynamicStyle += '{'; dynamicStyle += 'border-bottom-width:' + ( ( borderSize ) ? borderSize + 'px;' : '0px;' ); dynamicStyle += 'border-color:' + color + ';'; dynamicStyle += 'border-style: solid;'; dynamicStyle += '}'; } else { dynamicStyle += '{'; dynamicStyle += 'border-style: none;'; dynamicStyle += '}'; } dynamicStyle += '.ast-desktop .ast-builder-menu-'+ index +' .menu-item .sub-menu .menu-item:last-child .menu-link{ border-style: none; }'; astra_add_dynamic_css( 'header-menu'+ index +'-submenu-item-border', dynamicStyle ); } ); } ); // Animation preview support. // Adding customizer-refresh because if megamenu is enabled on menu then caluculated left & width JS value of megamenu wrapper wiped out due to partial refresh. wp.customize( 'astra-settings[header-menu'+ index +'-menu-hover-animation]', function( setting ) { setting.bind( function( animation ) { var menuWrapper = jQuery( '#ast-desktop-header #ast-hf-menu-'+ index ); menuWrapper.removeClass('ast-menu-hover-style-underline'); menuWrapper.removeClass('ast-menu-hover-style-zoom'); menuWrapper.removeClass('ast-menu-hover-style-overline'); if ( isNavMenuEnabled ) { document.dispatchEvent( new CustomEvent( "astMenuHoverStyleChanged", { "detail": {} }) ); } menuWrapper.addClass( 'ast-menu-hover-style-' + animation ); } ); } ); wp.customize( 'astra-settings[header-menu'+ index +'-submenu-container-animation]', function( setting ) { setting.bind( function( animation ) { var menuWrapper = jQuery( '#ast-desktop-header #ast-hf-menu-'+ index ); menuWrapper.removeClass('astra-menu-animation-fade'); menuWrapper.removeClass('astra-menu-animation-slide-down'); menuWrapper.removeClass('astra-menu-animation-slide-up'); if ( '' != animation ) { menuWrapper.addClass( 'astra-menu-animation-' + animation ); } } ); } ); // Stack on Mobile CSS wp.customize( 'astra-settings[header-menu'+ index +'-menu-stack-on-mobile]', function( setting ) { setting.bind( function( stack ) { var menu_div = jQuery( '#ast-mobile-header #ast-hf-menu-'+ index + '.main-header-menu' ); menu_div.removeClass('inline-on-mobile'); menu_div.removeClass('stack-on-mobile'); if ( false === stack ) { menu_div.addClass('inline-on-mobile'); } else { menu_div.addClass('stack-on-mobile'); } } ); } ); wp.customize( 'astra-settings[header-menu'+ index +'-submenu-border-radius-fields]', function( value ) { value.bind( function( border ) { const tabletBreakPoint = astraBuilderPreview.tablet_break_point || 768; const mobileBreakPoint = astraBuilderPreview.mobile_break_point || 544; const submenuBorderWidth = wp.customize.get()?.[ 'astra-settings[header-menu' + index + '-submenu-border]' ]; const deviceSpecific = ( device ) => { return '.ast-builder-menu-' + index + ' li.menu-item .sub-menu, .ast-builder-menu-' + index + ' ul.inline-on-mobile li.menu-item .sub-menu {\ border-top-left-radius: ' + border[ device ]['top'] + border[ device + '-unit' ] + ';\ border-bottom-right-radius: ' + border[ device ]['bottom'] + border[ device + '-unit' ] + ';\ border-bottom-left-radius: ' + border[ device ]['left'] + border[ device + '-unit' ] + ';\ border-top-right-radius:' + border[ device ]['right'] + border[ device + '-unit' ] + ';\ }\ .ast-builder-menu-' + index + ' li.menu-item .sub-menu .menu-item:first-of-type > .menu-link, .ast-builder-menu-' + index + ' ul.inline-on-mobile li.menu-item .sub-menu .menu-item:first-of-type > .menu-link {\ border-top-left-radius: calc(' + border[ device ]['top'] + border[ device + '-unit' ] + ' - ' + submenuBorderWidth?.top + 'px);\ border-top-right-radius: calc(' + border[ device ]['right'] + border[ device + '-unit' ] + ' - ' + submenuBorderWidth?.top + 'px);\ }\ .ast-builder-menu-' + index + ' li.menu-item .sub-menu .menu-item:last-of-type > .menu-link, .ast-builder-menu-' + index + ' ul.inline-on-mobile li.menu-item .sub-menu .menu-item:last-of-type > .menu-link {\ border-bottom-left-radius: calc(' + border[ device ]['left'] + border[ device + '-unit' ] + ' - ' + submenuBorderWidth?.top + 'px);\ border-bottom-right-radius: calc(' + border[ device ]['bottom'] + border[ device + '-unit' ] + ' - ' + submenuBorderWidth?.top + 'px);\ }'; }; dynamicStyle = deviceSpecific( 'desktop' ) + '@media ( max-width: ' + tabletBreakPoint + 'px ) { ' + deviceSpecific( 'tablet' ) + ' }\n' + '@media ( max-width: ' + mobileBreakPoint + 'px ) { ' + deviceSpecific( 'mobile' ) + ' }\n'; astra_add_dynamic_css( 'header-menu'+ index +'-submenu-border-radius-fields', dynamicStyle ); } ); } ); // Sub Menu - Top Offset. wp.customize( 'astra-settings[header-menu'+ index +'-submenu-top-offset]', function( value ) { value.bind( function( offset ) { var dynamicStyle = '.ast-desktop .ast-builder-menu-' + index + ' .main-header-menu > li.menu-item > .sub-menu, .ast-desktop .ast-builder-menu-' + index + ' ul.inline-on-mobile > li.menu-item > .sub-menu, .ast-desktop .ast-builder-menu-' + index + ' li.menu-item .astra-full-megamenu-wrapper {'; dynamicStyle += 'margin-top: ' + offset + 'px'; dynamicStyle += '}'; const submenuBorder = wp.customize( 'astra-settings[header-menu'+ index +'-submenu-border]' ).get(); dynamicStyle += '.ast-desktop .ast-builder-menu-' + index + ' .main-header-menu > .menu-item > .sub-menu:before, .ast-desktop .ast-builder-menu-' + index + ' .main-header-menu > .menu-item > .astra-full-megamenu-wrapper:before {'; dynamicStyle += 'height: calc( ' + ( submenuBorder.top || 0 ) + 'px + ' + ( offset || 0 ) + 'px + 5px );'; dynamicStyle += '}'; astra_add_dynamic_css( 'header-menu'+ index +'-submenu-top-offset', dynamicStyle ); } ); } ); // Sub Menu - Width. wp.customize( 'astra-settings[header-menu'+ index +'-submenu-width]', function( value ) { value.bind( function( width ) { var dynamicStyle = '.ast-builder-menu-' + index + ' li.menu-item .sub-menu, .ast-builder-menu-' + index + ' ul.inline-on-mobile li.menu-item .sub-menu {'; dynamicStyle += 'width: ' + width + 'px'; dynamicStyle += '}'; astra_add_dynamic_css( 'header-menu'+ index +'-submenu-width', dynamicStyle ); } ); } ); // Sub menu astra_font_extras_css( 'header-menu' + index + '-font-extras', '.ast-builder-menu-' + index + ' .menu-item > .menu-link' ); })(index); // Sub Menu - Border Color. astra_css( 'astra-settings[header-' + prefix + '-submenu-b-color]', 'border-color', selector + ' li.menu-item .sub-menu, ' + selector + ' .inline-on-mobile li.menu-item .sub-menu ' ); } // Transparent header > Submenu link hover color. astra_color_responsive_css( 'astra-builder-transparent-submenu', 'astra-settings[transparent-submenu-h-color-responsive]', 'color', '.ast-theme-transparent-header .main-header-menu .menu-item .sub-menu .menu-item:hover > .menu-link' ); } )( jQuery ); type/header/menu/assets/js/minified/customizer-preview.min.js 0000644 00000031733 15105312163 0020432 0 ustar 00 (()=>{for(var i=AstraBuilderMenuData.tablet_break_point||768,a=AstraBuilderMenuData.mobile_break_point||544,n=AstraBuilderMenuData.nav_menu_enabled||!1,e=1;e<=AstraBuilderMenuData.component_limit;e++){var t="menu"+e,s=".ast-builder-menu-"+e;astra_builder_visibility_css("section-hb-menu-"+e,s),astra_generate_outside_font_family_css("astra-settings[header-"+t+"-font-family]",s+" .menu-item > .menu-link"),astra_generate_font_weight_css("astra-settings[header-"+t+"-font-family]","astra-settings[header-"+t+"-font-weight]","font-weight",s+" .menu-item > .menu-link"),astra_css("astra-settings[header-"+t+"-text-transform]","text-transform",s+" .menu-item > .menu-link"),astra_responsive_font_size("astra-settings[header-"+t+"-font-size]",s+" .menu-item > .menu-link"),astra_css("astra-settings[header-"+t+"-line-height]","line-height",s+" .menu-item > .menu-link"),astra_css("astra-settings[header-"+t+"-letter-spacing]","letter-spacing",s+" .menu-item > .menu-link","px"),astra_color_responsive_css("astra-menu-color-preview","astra-settings[header-"+t+"-color-responsive]","color",s+" .main-header-menu .menu-item > .menu-link"),astra_color_responsive_css("astra-menu-h-color-preview","astra-settings[header-"+t+"-h-color-responsive]","color",s+" .menu-item:hover > .menu-link, "+s+" .inline-on-mobile .menu-item:hover > .ast-menu-toggle"),astra_color_responsive_css("astra-builder-toggle","astra-settings[header-"+t+"-color-responsive]","color",s+" .menu-item > .ast-menu-toggle"),astra_color_responsive_css("astra-menu-h-toogle-color-preview","astra-settings[header-"+t+"-h-color-responsive]","color",s+" .menu-item:hover > .ast-menu-toggle"),astra_color_responsive_css("astra-menu-active-color-preview","astra-settings[header-"+t+"-a-color-responsive]","color",s+" .menu-item.current-menu-item > .menu-link, "+s+" .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, "+s+" .current-menu-ancestor > .menu-link, "+s+" .current-menu-ancestor > .ast-menu-toggle"),astra_apply_responsive_background_css("astra-settings[header-"+t+"-bg-obj-responsive]",s+" .main-header-menu, "+s+" .main-header-menu .sub-menu","desktop"),astra_apply_responsive_background_css("astra-settings[header-"+t+"-bg-obj-responsive]",s+" .main-header-menu, "+s+" .main-header-menu .sub-menu","tablet"),astra_apply_responsive_background_css("astra-settings[header-"+t+"-bg-obj-responsive]",s+" .main-header-menu, "+s+" .main-header-menu .sub-menu","mobile"),astra_color_responsive_css("astra-menu-bg-preview","astra-settings[header-"+t+"-h-bg-color-responsive]","background",s+" .menu-item:hover > .menu-link, "+s+" .inline-on-mobile .menu-item:hover > .ast-menu-toggle"),astra_color_responsive_css("astra-builder","astra-settings[header-"+t+"-a-bg-color-responsive]","background",s+" .menu-item.current-menu-item > .menu-link, "+s+" .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle, "+s+" .current-menu-ancestor > .menu-link, "+s+" .current-menu-ancestor > .ast-menu-toggle"),(s=>{wp.customize("astra-settings[header-menu"+s+"-submenu-border]",function(e){e.bind(function(e){var t=".ast-builder-menu-"+s+" .sub-menu, .ast-builder-menu-"+s+" .inline-on-mobile .sub-menu, .ast-builder-menu-"+s+" .main-header-menu.submenu-with-border .astra-megamenu, .ast-builder-menu-"+s+" .main-header-menu.submenu-with-border .astra-full-megamenu-wrapper {",n=(t=(t=(t=(t=(t+="border-top-width:"+e.top+"px;")+("border-right-width:"+e.right+"px;")+("border-left-width:"+e.left+"px;"))+"border-style: solid;"+("border-bottom-width:"+e.bottom+"px;"))+"}"+(".ast-builder-menu-"+s+" .sub-menu .sub-menu {"))+("top:"+Number(-1*e.top)+"px;")+"}",wp.customize("astra-settings[header-menu"+s+"-submenu-top-offset]").get()),t=(t+=".ast-desktop .ast-builder-menu-"+s+" .main-header-menu > .menu-item > .sub-menu:before, .ast-desktop .ast-builder-menu-"+s+" .main-header-menu > .menu-item > .astra-full-megamenu-wrapper:before {")+("height: calc( "+(e.top||0)+"px + "+(n||0)+"px + 5px );")+"}";astra_add_dynamic_css("header-menu"+s+"-submenu-border",t)})}),wp.customize("astra-settings[header-menu"+s+"-menu-spacing]",function(e){e.bind(function(e){var t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t="")+(".ast-builder-menu-"+s+" .main-header-menu .menu-item > .menu-link {")+("padding-left: "+e.desktop.left+e["desktop-unit"]+";"))+("padding-right: "+e.desktop.right+e["desktop-unit"]+";"))+("padding-top: "+e.desktop.top+e["desktop-unit"]+";"))+("padding-bottom: "+e.desktop.bottom+e["desktop-unit"]+";"))+"} "+("@media (max-width: "+i+"px) {"))+(".ast-header-break-point .ast-builder-menu-"+s+" .main-header-menu .menu-item > .menu-link {")+("padding-left: "+e.tablet.left+e["tablet-unit"]+";"))+("padding-right: "+e.tablet.right+e["tablet-unit"]+";"))+("padding-top: "+e.tablet.top+e["tablet-unit"]+";"))+("padding-bottom: "+e.tablet.bottom+e["tablet-unit"]+";")+"} ")+(".ast-hfb-header .ast-builder-menu-"+s+" .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {")+("top: "+e.tablet.top+e["tablet-unit"]+";"))+("right: calc( "+e.tablet.right+e["tablet-unit"]+" - 0.907em );")+"} ")+"} "+("@media (max-width: "+a+"px) {"))+(".ast-header-break-point .ast-builder-menu-"+s+" .main-header-menu .menu-item > .menu-link {")+("padding-left: "+e.mobile.left+e["mobile-unit"]+";"))+("padding-right: "+e.mobile.right+e["mobile-unit"]+";"))+("padding-top: "+e.mobile.top+e["mobile-unit"]+";"))+("padding-bottom: "+e.mobile.bottom+e["mobile-unit"]+";")+"} ")+(".ast-hfb-header .ast-builder-menu-"+s+" .main-navigation ul .menu-item.menu-item-has-children > .ast-menu-toggle {")+("top: "+e.mobile.top+e["mobile-unit"]+";"))+("right: calc( "+e.mobile.right+e["mobile-unit"]+" - 0.907em );"))+"} "+"} ";astra_add_dynamic_css("header-menu"+s+"-menu-spacing-toggle-button",t)})}),wp.customize("astra-settings[section-hb-menu-"+s+"-margin]",function(e){e.bind(function(e){var t=".ast-builder-menu-"+s+" .main-header-menu, .ast-header-break-point .ast-builder-menu-"+s+" .main-header-menu",n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n="")+(t+" {")+("margin-left: "+e.desktop.left+e["desktop-unit"]+";"))+("margin-right: "+e.desktop.right+e["desktop-unit"]+";"))+("margin-top: "+e.desktop.top+e["desktop-unit"]+";"))+("margin-bottom: "+e.desktop.bottom+e["desktop-unit"]+";"))+"} "+("@media (max-width: "+i+"px) {"))+(t+" {")+("margin-left: "+e.tablet.left+e["tablet-unit"]+";"))+("margin-right: "+e.tablet.right+e["tablet-unit"]+";"))+("margin-top: "+e.tablet.top+e["desktop-unit"]+";"))+("margin-bottom: "+e.tablet.bottom+e["desktop-unit"]+";")+"} ")+"} "+("@media (max-width: "+a+"px) {"))+(t+" {")+("margin-left: "+e.mobile.left+e["mobile-unit"]+";"))+("margin-right: "+e.mobile.right+e["mobile-unit"]+";"))+("margin-top: "+e.mobile.top+e["desktop-unit"]+";"))+("margin-bottom: "+e.mobile.bottom+e["desktop-unit"]+";"))+"} "+"} ";astra_add_dynamic_css("section-hb-menu-"+s+"-margin",n)})}),wp.customize("astra-settings[header-menu"+s+"-submenu-item-b-color]",function(e){e.bind(function(e){var t=wp.customize("astra-settings[header-menu"+s+"-submenu-item-border]").get(),n=wp.customize("astra-settings[header-menu"+s+"-submenu-item-b-size]").get();""!=e?1==t&&(t="",t=(t=(t=(t+=".ast-desktop .ast-builder-menu-"+s+" .main-header-menu .menu-item .sub-menu .menu-link, .ast-header-break-point .main-navigation ul .menu-item .menu-link")+"{border-bottom-width:"+(n?n+"px;":"0px;"))+"border-color:"+e+";border-style: solid;")+"}.ast-desktop .ast-builder-menu-"+s+" .main-header-menu .menu-item .sub-menu .menu-item:last-child .menu-link{ border-style: none; }",astra_add_dynamic_css("header-menu"+s+"-submenu-item-b-color",t)):wp.customize.preview.send("refresh")})}),wp.customize("astra-settings[header-menu"+s+"-submenu-item-b-size]",function(e){e.bind(function(e){var t=".ast-desktop .ast-builder-menu-"+s+" .main-header-menu",n=(n=(n=(n="")+(t+" .menu-item .sub-menu:last-child > .menu-item > .menu-link, .ast-header-break-point .main-navigation ul .menu-item .menu-link {")+("border-bottom-width: "+e+"px;"))+"} "+(t+" .menu-item .sub-menu .menu-item:last-child .menu-link {"))+"border-bottom-width: 0px"+"} ";astra_add_dynamic_css("header-menu"+s+"-submenu-item-b-size",n)})}),wp.customize("astra-settings[header-menu"+s+"-submenu-item-border]",function(e){e.bind(function(e){var t=wp.customize("astra-settings[header-menu"+s+"-submenu-item-b-color]").get(),n=wp.customize("astra-settings[header-menu"+s+"-submenu-item-b-size]").get(),i=".ast-desktop .ast-builder-menu-"+s+" .main-header-menu.submenu-with-border .sub-menu .menu-link";!0===e?i=(i+="{")+"border-bottom-width:"+(n?n+"px;":"0px;")+"border-color:"+t+";border-style: solid;}":i+="{border-style: none;}",i+=".ast-desktop .ast-builder-menu-"+s+" .menu-item .sub-menu .menu-item:last-child .menu-link{ border-style: none; }",astra_add_dynamic_css("header-menu"+s+"-submenu-item-border",i)})}),wp.customize("astra-settings[header-menu"+s+"-menu-hover-animation]",function(e){e.bind(function(e){var t=jQuery("#ast-desktop-header #ast-hf-menu-"+s);t.removeClass("ast-menu-hover-style-underline"),t.removeClass("ast-menu-hover-style-zoom"),t.removeClass("ast-menu-hover-style-overline"),n&&document.dispatchEvent(new CustomEvent("astMenuHoverStyleChanged",{detail:{}})),t.addClass("ast-menu-hover-style-"+e)})}),wp.customize("astra-settings[header-menu"+s+"-submenu-container-animation]",function(e){e.bind(function(e){var t=jQuery("#ast-desktop-header #ast-hf-menu-"+s);t.removeClass("astra-menu-animation-fade"),t.removeClass("astra-menu-animation-slide-down"),t.removeClass("astra-menu-animation-slide-up"),""!=e&&t.addClass("astra-menu-animation-"+e)})}),wp.customize("astra-settings[header-menu"+s+"-menu-stack-on-mobile]",function(e){e.bind(function(e){var t=jQuery("#ast-mobile-header #ast-hf-menu-"+s+".main-header-menu");t.removeClass("inline-on-mobile"),t.removeClass("stack-on-mobile"),!1===e?t.addClass("inline-on-mobile"):t.addClass("stack-on-mobile")})}),wp.customize("astra-settings[header-menu"+s+"-submenu-border-radius-fields]",function(e){e.bind(function(t){var e=astraBuilderPreview.tablet_break_point||768,n=astraBuilderPreview.mobile_break_point||544;let i=wp.customize.get()?.["astra-settings[header-menu"+s+"-submenu-border]"];var a=e=>".ast-builder-menu-"+s+" li.menu-item .sub-menu, .ast-builder-menu-"+s+" ul.inline-on-mobile li.menu-item .sub-menu {\t\t\t\t\t\t\t\t\tborder-top-left-radius: "+t[e].top+t[e+"-unit"]+";\t\t\t\t\t\t\t\t\tborder-bottom-right-radius: "+t[e].bottom+t[e+"-unit"]+";\t\t\t\t\t\t\t\t\tborder-bottom-left-radius: "+t[e].left+t[e+"-unit"]+";\t\t\t\t\t\t\t\t\tborder-top-right-radius:"+t[e].right+t[e+"-unit"]+";\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\t.ast-builder-menu-"+s+" li.menu-item .sub-menu .menu-item:first-of-type > .menu-link, .ast-builder-menu-"+s+" ul.inline-on-mobile li.menu-item .sub-menu .menu-item:first-of-type > .menu-link {\t\t\t\t\t\t\t\t\tborder-top-left-radius: calc("+t[e].top+t[e+"-unit"]+" - "+i?.top+"px);\t\t\t\t\t\t\t\t\tborder-top-right-radius: calc("+t[e].right+t[e+"-unit"]+" - "+i?.top+"px);\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\t.ast-builder-menu-"+s+" li.menu-item .sub-menu .menu-item:last-of-type > .menu-link, .ast-builder-menu-"+s+" ul.inline-on-mobile li.menu-item .sub-menu .menu-item:last-of-type > .menu-link {\t\t\t\t\t\t\t\t\tborder-bottom-left-radius: calc("+t[e].left+t[e+"-unit"]+" - "+i?.top+"px);\t\t\t\t\t\t\t\t\tborder-bottom-right-radius: calc("+t[e].bottom+t[e+"-unit"]+" - "+i?.top+"px);\t\t\t\t\t\t\t\t}";dynamicStyle=a("desktop")+"@media ( max-width: "+e+"px ) { "+a("tablet")+" }\n@media ( max-width: "+n+"px ) { "+a("mobile")+" }\n",astra_add_dynamic_css("header-menu"+s+"-submenu-border-radius-fields",dynamicStyle)})}),wp.customize("astra-settings[header-menu"+s+"-submenu-top-offset]",function(e){e.bind(function(e){n=(n=".ast-desktop .ast-builder-menu-"+s+" .main-header-menu > li.menu-item > .sub-menu, .ast-desktop .ast-builder-menu-"+s+" ul.inline-on-mobile > li.menu-item > .sub-menu, .ast-desktop .ast-builder-menu-"+s+" li.menu-item .astra-full-megamenu-wrapper {")+"margin-top: "+e+"px}";var t=wp.customize("astra-settings[header-menu"+s+"-submenu-border]").get(),n=(n+=".ast-desktop .ast-builder-menu-"+s+" .main-header-menu > .menu-item > .sub-menu:before, .ast-desktop .ast-builder-menu-"+s+" .main-header-menu > .menu-item > .astra-full-megamenu-wrapper:before {")+("height: calc( "+(t.top||0)+"px + "+(e||0)+"px + 5px );")+"}";astra_add_dynamic_css("header-menu"+s+"-submenu-top-offset",n)})}),wp.customize("astra-settings[header-menu"+s+"-submenu-width]",function(e){e.bind(function(e){var t=(t=".ast-builder-menu-"+s+" li.menu-item .sub-menu, .ast-builder-menu-"+s+" ul.inline-on-mobile li.menu-item .sub-menu {")+("width: "+e+"px")+"}";astra_add_dynamic_css("header-menu"+s+"-submenu-width",t)})}),astra_font_extras_css("header-menu"+s+"-font-extras",".ast-builder-menu-"+s+" .menu-item > .menu-link")})(e),astra_css("astra-settings[header-"+t+"-submenu-b-color]","border-color",s+" li.menu-item .sub-menu, "+s+" .inline-on-mobile li.menu-item .sub-menu ")}astra_color_responsive_css("astra-builder-transparent-submenu","astra-settings[transparent-submenu-h-color-responsive]","color",".ast-theme-transparent-header .main-header-menu .menu-item .sub-menu .menu-item:hover > .menu-link")})(jQuery); type/header/account/dynamic-css/dynamic.css.php 0000644 00000013632 15105312163 0015551 0 ustar 00 <?php /** * Account - Dynamic CSS * * @package Astra * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Account */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_account_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Account. * * @since 3.0.0 */ function astra_hb_account_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'account', 'header' ) ) { return $dynamic_css; } $_section = 'section-header-account'; $selector = '.ast-header-account-wrap'; $icon_size = astra_get_option( 'header-account-icon-size' ); $icon_size_desktop = isset( $icon_size ) && isset( $icon_size['desktop'] ) && ! empty( $icon_size['desktop'] ) ? $icon_size['desktop'] : 20; $icon_size_tablet = isset( $icon_size ) && isset( $icon_size['tablet'] ) && ! empty( $icon_size['tablet'] ) ? $icon_size['tablet'] : 20; $icon_size_mobile = isset( $icon_size ) && isset( $icon_size['mobile'] ) && ! empty( $icon_size['mobile'] ) ? $icon_size['mobile'] : 20; $image_width = astra_get_option( 'header-account-image-width' ); $image_width_desktop = isset( $image_width ) && isset( $image_width['desktop'] ) && ! empty( $image_width['desktop'] ) ? $image_width['desktop'] : 20; $image_width_tablet = isset( $image_width ) && isset( $image_width['tablet'] ) && ! empty( $image_width['tablet'] ) ? $image_width['tablet'] : 20; $image_width_mobile = isset( $image_width ) && isset( $image_width['mobile'] ) && ! empty( $image_width['mobile'] ) ? $image_width['mobile'] : 20; $margin = astra_get_option( 'header-account-margin' ); $margin_selector = '.ast-header-account-wrap'; /** * Account CSS. */ $css_output_desktop = array( '.ast-header-account-type-icon' => array( '-js-display' => 'inline-flex', 'display' => 'inline-flex', 'align-self' => 'center', 'vertical-align' => 'middle', ), '.ast-header-account-type-avatar .avatar' => array( 'display' => 'inline', 'border-radius' => '100%', 'max-width' => '100%', ), '.as.site-header-focus-item.ast-header-account:hover > .customize-partial-edit-shortcut' => array( 'opacity' => '0', ), '.site-header-focus-item.ast-header-account:hover > * > .customize-partial-edit-shortcut' => array( 'opacity' => '1', ), $selector . ' .ast-header-account-type-icon .ahfb-svg-iconset svg path:not( .ast-hf-account-unfill ), ' . $selector . ' .ast-header-account-type-icon .ahfb-svg-iconset svg circle' => array( 'fill' => esc_attr( astra_get_option( 'header-account-icon-color' ) ), ), '.ast-mobile-popup-content ' . $selector . ' .ast-header-account-type-icon .ahfb-svg-iconset svg path:not( .ast-hf-account-unfill ), .ast-mobile-popup-content ' . $selector . ' .ast-header-account-type-icon .ahfb-svg-iconset svg circle' => array( 'fill' => esc_attr( astra_get_option( 'header-account-icon-color' ) ), ), $selector . ' .ast-header-account-type-icon .ahfb-svg-iconset svg' => array( 'height' => astra_get_css_value( $icon_size_desktop, 'px' ), 'width' => astra_get_css_value( $icon_size_desktop, 'px' ), ), $selector . ' .ast-header-account-type-avatar .avatar' => array( 'width' => astra_get_css_value( $image_width_desktop, 'px' ), ), $selector . ' .ast-header-account-text' => array( 'color' => esc_attr( astra_get_option( 'header-account-type-text-color' ) ), ), $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); $css_output_tablet = array( $selector . ' .ast-header-account-type-icon .ahfb-svg-iconset svg' => array( 'height' => astra_get_css_value( $icon_size_tablet, 'px' ), 'width' => astra_get_css_value( $icon_size_tablet, 'px' ), ), $selector . ' .ast-header-account-type-avatar .avatar' => array( 'width' => astra_get_css_value( $image_width_tablet, 'px' ), ), $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); $css_output_mobile = array( $selector . ' .ast-header-account-type-icon .ahfb-svg-iconset svg' => array( 'height' => astra_get_css_value( $icon_size_mobile, 'px' ), 'width' => astra_get_css_value( $icon_size_mobile, 'px' ), ), $selector . ' .ast-header-account-type-avatar .avatar' => array( 'width' => astra_get_css_value( $image_width_mobile, 'px' ), ), $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_advanced_typography_css( $_section, $selector . ' .ast-header-account-text' ); $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector ); return $dynamic_css; } type/header/account/class-astra-header-account-component-loader.php 0000644 00000002201 15105312163 0021453 0 ustar 00 <?php /** * Account Styling Loader for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Header_Account_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-header-builder-account-customizer-preview-js', ASTRA_HEADER_ACCOUNT_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Header_Account_Component_Loader(); type/header/account/assets/js/unminified/customizer-preview.js 0000644 00000015105 15105312163 0020676 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since x.x.x */ ( function( $ ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; var selector = '.ast-header-account-wrap'; var section = 'section-header-account'; var visibility_selector = '.ast-header-account[data-section="section-header-account"]'; wp.customize( 'astra-settings[header-account-icon-color]', function( value ) { value.bind( function( color ) { if( ! color ) { color = 'inherit'; } var dynamicStyle = selector + ' .ast-header-account-type-icon .ahfb-svg-iconset svg path:not( .ast-hf-account-unfill ), ' + selector + ' .ast-header-account-type-icon .ahfb-svg-iconset svg circle, .ast-mobile-popup-content' + selector + ' .ast-header-account-type-icon .ahfb-svg-iconset svg path:not( .ast-hf-account-unfill ), .ast-mobile-popup-content ' + selector + ' .ast-header-account-type-icon .ahfb-svg-iconset svg circle {'; dynamicStyle += 'fill: ' + color + ';'; dynamicStyle += '} '; astra_add_dynamic_css( 'header-account-icon-color', dynamicStyle ); } ); } ); // Typography CSS Generation. astra_responsive_font_size( 'astra-settings[font-size-section-header-account]', selector + ' .ast-header-account-text' ); // Text size. astra_css( 'astra-settings[header-account-type-text-color]', 'color', selector + ' .ast-header-account-text, .ast-mobile-popup-content ' + selector + ' .ast-header-account-text' ); // Icon Size. wp.customize( 'astra-settings[header-account-icon-size]', function( value ) { value.bind( function( size ) { if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' .ast-header-account-type-icon .ahfb-svg-iconset svg {'; dynamicStyle += 'height: ' + size.desktop + 'px' + ';'; dynamicStyle += 'width: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .ast-header-account-type-icon .ahfb-svg-iconset svg {'; dynamicStyle += 'height: ' + size.tablet + 'px' + ';'; dynamicStyle += 'width: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-header-account-type-icon .ahfb-svg-iconset svg {'; dynamicStyle += 'height: ' + size.mobile + 'px' + ';'; dynamicStyle += 'width: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'header-account-icon-size', dynamicStyle ); } } ); } ); // Image Width. wp.customize( 'astra-settings[header-account-image-width]', function( value ) { value.bind( function( size ) { if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' .ast-header-account-type-avatar .avatar {'; dynamicStyle += 'width: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .ast-header-account-type-avatar .avatar {'; dynamicStyle += 'width: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-header-account-type-avatar .avatar {'; dynamicStyle += 'width: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'header-account-image-width', dynamicStyle ); } } ); } ); // Margin. wp.customize( 'astra-settings[header-account-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var selector = '.ast-header-account-wrap'; var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'header-account-margin', dynamicStyle ); } } ); } ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, visibility_selector ); } )( jQuery ); type/header/account/assets/js/minified/customizer-preview.min.js 0000644 00000006530 15105312163 0021117 0 ustar 00 (()=>{var o=astraBuilderPreview.tablet_break_point||768,i=astraBuilderPreview.mobile_break_point||544,e=".ast-header-account-wrap";wp.customize("astra-settings[header-account-icon-color]",function(t){t.bind(function(t){var a=(a=e+" .ast-header-account-type-icon .ahfb-svg-iconset svg path:not( .ast-hf-account-unfill ), "+e+" .ast-header-account-type-icon .ahfb-svg-iconset svg circle, .ast-mobile-popup-content"+e+" .ast-header-account-type-icon .ahfb-svg-iconset svg path:not( .ast-hf-account-unfill ), .ast-mobile-popup-content "+e+" .ast-header-account-type-icon .ahfb-svg-iconset svg circle {")+("fill: "+(t=t||"inherit")+";")+"} ";astra_add_dynamic_css("header-account-icon-color",a)})}),astra_responsive_font_size("astra-settings[font-size-section-header-account]",e+" .ast-header-account-text"),astra_css("astra-settings[header-account-type-text-color]","color",e+" .ast-header-account-text, .ast-mobile-popup-content "+e+" .ast-header-account-text"),wp.customize("astra-settings[header-account-icon-size]",function(t){t.bind(function(t){var a;""==t.desktop&&""==t.tablet&&""==t.mobile||(a=(a=(a=(a=(a=(a=(a="")+e+" .ast-header-account-type-icon .ahfb-svg-iconset svg {height: "+t.desktop+"px;")+"width: "+t.desktop+"px;} ")+"@media (max-width: "+o+"px) {"+e+" .ast-header-account-type-icon .ahfb-svg-iconset svg {")+"height: "+t.tablet+"px;width: "+t.tablet+"px;} } ")+"@media (max-width: "+i+"px) {"+e+" .ast-header-account-type-icon .ahfb-svg-iconset svg {")+"height: "+t.mobile+"px;width: "+t.mobile+"px;} } ",astra_add_dynamic_css("header-account-icon-size",a))})}),wp.customize("astra-settings[header-account-image-width]",function(t){t.bind(function(t){var a;""==t.desktop&&""==t.tablet&&""==t.mobile||(a="",a=(a=(a=(a=(a=(a+=e+" .ast-header-account-type-avatar .avatar {")+"width: "+t.desktop+"px;} ")+"@media (max-width: "+o+"px) {"+e+" .ast-header-account-type-avatar .avatar {")+"width: "+t.tablet+"px;} ")+"} @media (max-width: "+i+"px) {")+e+" .ast-header-account-type-avatar .avatar {width: "+t.mobile+"px;} } ",astra_add_dynamic_css("header-account-image-width",a))})}),wp.customize("astra-settings[header-account-margin]",function(t){t.bind(function(t){var a,e;""==t.desktop.bottom&&""==t.desktop.top&&""==t.desktop.left&&""==t.desktop.right&&""==t.tablet.bottom&&""==t.tablet.top&&""==t.tablet.left&&""==t.tablet.right&&""==t.mobile.bottom&&""==t.mobile.top&&""==t.mobile.left&&""==t.mobile.right||(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e="")+(a=".ast-header-account-wrap")+" {margin-left: "+t.desktop.left+t["desktop-unit"]+";")+"margin-right: "+t.desktop.right+t["desktop-unit"]+";")+"margin-top: "+t.desktop.top+t["desktop-unit"]+";")+"margin-bottom: "+t.desktop.bottom+t["desktop-unit"]+";")+"} @media (max-width: "+o+"px) {")+a+" {margin-left: "+t.tablet.left+t["tablet-unit"]+";")+"margin-right: "+t.tablet.right+t["tablet-unit"]+";")+"margin-top: "+t.tablet.top+t["desktop-unit"]+";")+"margin-bottom: "+t.tablet.bottom+t["desktop-unit"]+";} ")+"} @media (max-width: "+i+"px) {")+a+" {margin-left: "+t.mobile.left+t["mobile-unit"]+";")+"margin-right: "+t.mobile.right+t["mobile-unit"]+";")+"margin-top: "+t.mobile.top+t["desktop-unit"]+";")+"margin-bottom: "+t.mobile.bottom+t["desktop-unit"]+";} } ",astra_add_dynamic_css("header-account-margin",e))})}),astra_builder_visibility_css("section-header-account",'.ast-header-account[data-section="section-header-account"]')})(jQuery); type/header/account/class-astra-header-account-component.php 0000644 00000013634 15105312163 0020223 0 ustar 00 <?php /** * Account for Astra theme. * * @package astra-builder * @link https://wpastra.com/ * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_HEADER_ACCOUNT_DIR', ASTRA_THEME_DIR . 'inc/builder/type/header/account' ); define( 'ASTRA_HEADER_ACCOUNT_URI', ASTRA_THEME_URI . 'inc/builder/type/header/account' ); if ( ! class_exists( 'Astra_Header_Account_Component' ) ) { /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Header_Account_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_HEADER_ACCOUNT_DIR . '/class-astra-header-account-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_HEADER_ACCOUNT_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } /** * Account navigation markup */ public static function account_menu_markup() { $astra_builder = astra_builder(); $theme_location = 'loggedin_account_menu'; $account_type = astra_get_option( 'header-account-type' ); $enable_woo_menu = ( 'woocommerce' === $account_type && astra_get_option( 'header-account-woo-menu' ) ); /** * Filter the classes(array) for Menu (<ul>). * * @since 3.0.0 * @var Array */ $menu_classes = apply_filters( 'astra_menu_classes', array( 'main-header-menu', 'ast-menu-shadow', 'ast-nav-menu', 'ast-account-nav-menu' ) ); $items_wrap = '<nav '; $items_wrap .= astra_attr( 'site-navigation', array( 'id' => 'account-site-navigation', 'class' => 'site-navigation ast-flex-grow-1 navigation-accessibility site-header-focus-item', 'aria-label' => esc_attr__( 'Site Navigation', 'astra' ), ) ); $items_wrap .= '>'; $items_wrap .= '<div class="account-main-navigation">'; $items_wrap .= '<ul id="%1$s" class="%2$s">%3$s</ul>'; $items_wrap .= '</div>'; $items_wrap .= '</nav>'; // Fallback Menu if primary menu not set. $fallback_menu_args = array( 'theme_location' => $theme_location, 'menu_id' => 'ast-hf-account-menu', 'menu_class' => 'account-main-navigation', 'container' => 'div', 'before' => '<ul class="' . esc_attr( implode( ' ', $menu_classes ) ) . '">', 'after' => '</ul>', 'walker' => new Astra_Walker_Page(), 'echo' => false, ); // To add default alignment for navigation which can be added through any third party plugin. // Do not add any CSS from theme except header alignment. echo '<div class="ast-hf-account-menu-wrap ast-main-header-bar-alignment">'; if ( has_nav_menu( $theme_location ) && ! $enable_woo_menu ) { $account_menu_markup = wp_nav_menu( array( 'menu_id' => 'ast-hf-account-menu', 'menu_class' => esc_attr( implode( ' ', $menu_classes ) ), 'container' => 'div', 'container_class' => 'account-main-header-bar-navigation', 'items_wrap' => $items_wrap, 'theme_location' => $theme_location, 'echo' => false, ) ); // Adding rel="nofollow" for duplicate menu render. $account_menu_markup = $astra_builder->nofollow_markup( $theme_location, $account_menu_markup ); echo do_shortcode( $account_menu_markup ); } elseif ( $enable_woo_menu ) { echo '<div class="ast-hf-account-menu-wrap ast-main-header-bar-alignment">'; echo '<div class="account-main-header-bar-navigation">'; echo '<nav '; echo wp_kses_post( astra_attr( 'account-woo-navigation', array( 'id' => 'account-woo-navigation', ) ) ); echo ' class="ast-flex-grow-1 navigation-accessibility site-header-focus-item" aria-label="' . esc_attr__( 'Account Woo Navigation', 'astra' ) . '">'; ob_start(); if ( class_exists( 'woocommerce' ) ) { ?> <ul id="ast-hf-account-menu" class="main-header-menu ast-nav-menu ast-account-nav-menu ast-header-account-woocommerce-menu"> <?php foreach ( wc_get_account_menu_items() as $endpoint => $item ) { ?> <li class="menu-item <?php echo esc_attr( wc_get_account_menu_item_classes( $endpoint ) ); ?>"> <a href="<?php echo esc_url( wc_get_account_endpoint_url( $endpoint ) ); ?>" class="menu-link"><?php echo esc_html( $item ); ?></a> </li> <?php } ?> </ul> <?php } $account_menu_markup = ob_get_clean(); // Adding rel="nofollow" for duplicate menu render. $account_menu_markup = $astra_builder->nofollow_markup( $theme_location, $account_menu_markup ); echo wp_kses_post( $account_menu_markup ); echo '</nav>'; echo '</div>'; echo '</div>'; } else { echo '<div class="ast-hf-account-menu-wrap ast-main-header-bar-alignment">'; echo '<div class="account-main-header-bar-navigation">'; echo '<nav '; echo wp_kses_post( astra_attr( 'site-navigation', array( 'id' => 'account-site-navigation', 'class' => 'site-navigation ast-flex-grow-1 navigation-accessibility', 'aria-label' => esc_attr__( 'Site Navigation', 'astra' ), ) ) ); echo '>'; $account_menu_markup = wp_page_menu( $fallback_menu_args ); // Adding rel="nofollow" for duplicate menu render. $account_menu_markup = $astra_builder->nofollow_markup( $theme_location, $account_menu_markup ); echo wp_kses_post( $account_menu_markup ); echo '</nav>'; echo '</div>'; echo '</div>'; } echo '</div>'; } } /** * Kicking this off by creating an object. */ new Astra_Header_Account_Component(); } type/class-astra-builder-base-dynamic-css.php 0000644 00000035067 15105312163 0015227 0 ustar 00 <?php /** * Astra Builder Base Dynamic CSS. * * @package astra-builder */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Builder_Base_Dynamic_CSS' ) ) { /** * Class Astra_Builder_Base_Dynamic_CSS. */ final class Astra_Builder_Base_Dynamic_CSS { /** * Member Variable * * @var mixed instance */ private static $instance = null; /** * Initiator */ public static function get_instance() { /** @psalm-suppress RedundantConditionGivenDocblockType */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( is_null( self::$instance ) ) { /** @psalm-suppress RedundantConditionGivenDocblockType */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { add_filter( 'astra_dynamic_theme_css', array( $this, 'footer_dynamic_css' ) ); add_filter( 'astra_dynamic_theme_css', array( $this, 'mobile_header_logo_css' ) ); } /** * Prepare Advanced Margin / Padding Dynamic CSS. * * @param string $section_id section id. * @param string $selector selector. * @return array */ public static function prepare_advanced_typography_css( $section_id, $selector ) { $font_size = astra_get_option( 'font-size-' . $section_id ); /** * Typography CSS. */ $css_output_desktop = array( $selector => array( // Typography. 'font-size' => astra_responsive_font( $font_size, 'desktop' ), ), ); $css_output_tablet = array( $selector => array( 'font-size' => astra_responsive_font( $font_size, 'tablet' ), ), ); $css_output_mobile = array( $selector => array( 'font-size' => astra_responsive_font( $font_size, 'mobile' ), ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); return $css_output; } /** * Prepare Footer Dynamic CSS. * * @param string $dynamic_css Appended dynamic CSS. * @param string $dynamic_css_filtered Filtered dynamic CSS. * @return array */ public static function footer_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { /** * Tablet CSS. */ $css_output_tablet = array( '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-firstrow .ast-builder-grid-row > *:first-child, .ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-lastrow .ast-builder-grid-row > *:last-child' => array( 'grid-column' => '1 / -1', ), ); /** * Mobile CSS. */ $css_output_mobile = array( '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-3-firstrow .ast-builder-grid-row > *:first-child, .ast-builder-grid-row-container.ast-builder-grid-row-mobile-3-lastrow .ast-builder-grid-row > *:last-child' => array( 'grid-column' => '1 / -1', ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); if ( is_customize_preview() ) { /** * Desktop CSS */ $css_output_desktop = array( '.ast-builder-grid-row-6-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 6, 1fr )', ), '.ast-builder-grid-row-5-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 5, 1fr )', ), '.ast-builder-grid-row-4-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 4, 1fr )', ), '.ast-builder-grid-row-4-lheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr 1fr 1fr 1fr', ), '.ast-builder-grid-row-4-rheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr 1fr 2fr', ), '.ast-builder-grid-row-3-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 3, 1fr )', ), '.ast-builder-grid-row-3-lheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr 1fr 1fr', ), '.ast-builder-grid-row-3-rheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr 2fr', ), '.ast-builder-grid-row-3-cheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 2fr 1fr', ), '.ast-builder-grid-row-3-cwide .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 3fr 1fr', ), '.ast-builder-grid-row-2-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 2, 1fr )', ), '.ast-builder-grid-row-2-lheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr 1fr', ), '.ast-builder-grid-row-2-rheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 2fr', ), '.ast-builder-grid-row-2-full .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr', ), '.ast-builder-grid-row-full .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr', ), ); /** * Tablet CSS. */ $css_output_tablet = array( '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-6-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 6, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-5-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 5, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-4-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 4, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-4-lheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr 1fr 1fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-4-rheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr 1fr 2fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 3, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-lheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr 1fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-rheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr 2fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-cheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 2fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-cwide .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 3fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-firstrow .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-3-lastrow .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-2-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 2, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-2-lheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-2-rheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 2fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-full .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr', ), ); /** * Mobile CSS */ $css_output_mobile = array( '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-6-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 6, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-5-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 5, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-4-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 4, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-4-lheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr 1fr 1fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-4-rheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr 1fr 2fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-3-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 3, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-3-lheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr 1fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-3-rheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr 2fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-3-cheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 2fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-3-cwide .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 3fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-3-firstrow .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-3-lastrow .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-2-equal .ast-builder-grid-row' => array( 'grid-template-columns' => 'repeat( 2, 1fr )', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-2-lheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '2fr 1fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-2-rheavy .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr 2fr', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-full .ast-builder-grid-row' => array( 'grid-template-columns' => '1fr', ), ); /* Parse CSS from array() */ $css_output .= astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); } $dynamic_css .= $css_output; return $dynamic_css; } /** * Different logo for mobile static CSS. * * @param string $dynamic_css Appended dynamic CSS. * @since 3.5.0 * @return string */ public static function mobile_header_logo_css( $dynamic_css ) { $mobile_header_logo = astra_get_option( 'mobile-header-logo' ); $different_mobile_header_order = astra_get_option( 'different-mobile-logo' ); if ( '' !== $mobile_header_logo && '1' == $different_mobile_header_order ) { $mobile_header_css = ' .ast-header-break-point .ast-has-mobile-header-logo .custom-logo-link, .ast-header-break-point .wp-block-site-logo .custom-logo-link, .ast-desktop .wp-block-site-logo .custom-mobile-logo-link { display: none; } .ast-header-break-point .ast-has-mobile-header-logo .custom-mobile-logo-link { display: inline-block; } .ast-header-break-point.ast-mobile-inherit-site-logo .ast-has-mobile-header-logo .custom-logo-link, .ast-header-break-point.ast-mobile-inherit-site-logo .ast-has-mobile-header-logo .astra-logo-svg { display: block; }'; $dynamic_css .= Astra_Enqueue_Scripts::trim_css( $mobile_header_css ); } return $dynamic_css; } /** * Prepare Element visibility Dynamic CSS. * * @param string $section_id section id. * @param string $selector selector. * @param string $default_property Section default CSS property. * @param string $mobile_tablet_default Mobile/Tabled display property. * @return array */ public static function prepare_visibility_css( $section_id, $selector, $default_property = 'flex', $mobile_tablet_default = '' ) { $astra_options = Astra_Theme_Options::get_astra_options(); $css_output_desktop = array(); $css_output_tablet = array(); $css_output_mobile = array(); // For Mobile/Tablet we need display grid property to display elements centered alignment. $mobile_tablet_default = $mobile_tablet_default ? $mobile_tablet_default : $default_property; $parent_visibility = astra_get_option( $section_id . '-visibility-responsive', array( 'desktop' => ! isset( $astra_options[ $section_id . '-visibility-responsive' ] ) && isset( $astra_options[ $section_id . '-hide-desktop' ] ) ? ( $astra_options[ $section_id . '-hide-desktop' ] ? 0 : 1 ) : 1, 'tablet' => ! isset( $astra_options[ $section_id . '-visibility-responsive' ] ) && isset( $astra_options[ $section_id . '-hide-tablet' ] ) ? ( $astra_options[ $section_id . '-hide-tablet' ] ? 0 : 1 ) : 1, 'mobile' => ! isset( $astra_options[ $section_id . '-visibility-responsive' ] ) && isset( $astra_options[ $section_id . '-hide-mobile' ] ) ? ( $astra_options[ $section_id . '-hide-mobile' ] ? 0 : 1 ) : 1, ) ); $hide_desktop = $parent_visibility['desktop'] ? $default_property : 'none'; $hide_tablet = $parent_visibility['tablet'] ? $mobile_tablet_default : 'none'; $hide_mobile = $parent_visibility['mobile'] ? $mobile_tablet_default : 'none'; $css_output_desktop = array( $selector => array( 'display' => $hide_desktop, ), ); $css_output_tablet = array( '.ast-header-break-point ' . $selector => array( 'display' => $hide_tablet, ), ); $css_output_mobile = array( '.ast-header-break-point ' . $selector => array( 'display' => $hide_mobile, ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); return $css_output; } } /** * Prepare if class 'Astra_Builder_Base_Dynamic_CSS' exist. * Kicking this off by calling 'get_instance()' method */ Astra_Builder_Base_Dynamic_CSS::get_instance(); } type/footer/below-footer/class-astra-below-footer.php 0000644 00000002431 15105312163 0016754 0 ustar 00 <?php /** * Below Footer component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_FOOTER_BELOW_FOOTER_DIR', ASTRA_THEME_DIR . 'inc/builder/type/footer/below-footer' ); define( 'ASTRA_BUILDER_FOOTER_BELOW_FOOTER_URI', ASTRA_THEME_URI . 'inc/builder/type/footer/below-footer' ); if ( ! class_exists( 'Astra_Below_Footer' ) ) { /** * Below Footer Initial Setup * * @since 3.0.0 */ class Astra_Below_Footer { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_FOOTER_BELOW_FOOTER_DIR . '/class-astra-below-footer-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_FOOTER_BELOW_FOOTER_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Below_Footer(); } type/footer/below-footer/dynamic-css/dynamic.css.php 0000644 00000014154 15105312163 0016567 0 ustar 00 <?php /** * Below Footer control - Dynamic CSS * * @package Astra Builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Below Footer CSS */ add_filter( 'astra_dynamic_theme_css', 'astra_fb_below_footer_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for below Footer. * * @since 3.0.0 */ function astra_fb_below_footer_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! ( Astra_Builder_Helper::is_footer_row_empty( 'below' ) || is_customize_preview() ) ) { return $dynamic_css; } $_section = 'section-below-footer-builder'; $selector = '.site-below-footer-wrap[data-section="section-below-footer-builder"]'; $footer_bg = astra_get_option( 'hbb-footer-bg-obj-responsive' ); $footer_height = astra_get_option( 'hbb-footer-height' ); $footer_top_border_size = astra_get_option( 'hbb-footer-separator' ); $footer_top_border_color = astra_get_option( 'hbb-footer-top-border-color' ); $footer_width = astra_get_option( 'hbb-footer-layout-width' ); $content_width = astra_get_option( 'site-content-width' ); $inner_spacing = astra_get_option( 'hbb-inner-spacing' ); $layout = astra_get_option( 'hbb-footer-layout' ); $desk_layout = isset( $layout['desktop'] ) ? $layout['desktop'] : 'full'; $tab_layout = isset( $layout['tablet'] ) ? $layout['tablet'] : 'full'; $mob_layout = isset( $layout['mobile'] ) ? $layout['mobile'] : 'full'; $inner_spacing_desktop = isset( $inner_spacing['desktop'] ) ? $inner_spacing['desktop'] : ''; $inner_spacing_tablet = isset( $inner_spacing['tablet'] ) ? $inner_spacing['tablet'] : ''; $inner_spacing_mobile = isset( $inner_spacing['mobile'] ) ? $inner_spacing['mobile'] : ''; $css_output_desktop = array( '.site-below-footer-wrap' => array( 'padding-top' => '20px', 'padding-bottom' => '20px', ), $selector => astra_get_responsive_background_obj( $footer_bg, 'desktop' ), $selector . ' .ast-builder-grid-row' => array( 'grid-column-gap' => astra_get_css_value( $inner_spacing_desktop, 'px' ), ), $selector . ' .ast-builder-grid-row, ' . $selector . ' .site-footer-section' => array( 'align-items' => astra_get_option( 'hbb-footer-vertical-alignment' ), ), $selector . '.ast-footer-row-inline .site-footer-section' => array( 'display' => 'flex', 'margin-bottom' => '0', ), '.ast-builder-grid-row-' . $desk_layout . ' .ast-builder-grid-row' => array( 'grid-template-columns' => Astra_Builder_Helper::$grid_size_mapping[ $desk_layout ], ), ); $css_output_desktop[ $selector ]['min-height'] = astra_get_css_value( $footer_height, 'px' ); if ( isset( $footer_top_border_size ) && 1 <= $footer_top_border_size ) { $css_output_desktop[ $selector ]['border-style'] = 'solid'; $css_output_desktop[ $selector ]['border-width'] = '0px'; $css_output_desktop[ $selector ]['border-top-width'] = astra_get_css_value( $footer_top_border_size, 'px' ); $css_output_desktop[ $selector ]['border-top-color'] = $footer_top_border_color; } $css_output_tablet = array( $selector => astra_get_responsive_background_obj( $footer_bg, 'tablet' ), $selector . ' .ast-builder-grid-row' => array( 'grid-column-gap' => astra_get_css_value( $inner_spacing_tablet, 'px' ), 'grid-row-gap' => astra_get_css_value( $inner_spacing_tablet, 'px' ), ), $selector . '.ast-footer-row-tablet-inline .site-footer-section' => array( 'display' => 'flex', 'margin-bottom' => '0', ), $selector . '.ast-footer-row-tablet-stack .site-footer-section' => array( 'display' => 'block', 'margin-bottom' => '10px', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-' . $tab_layout . ' .ast-builder-grid-row' => array( 'grid-template-columns' => Astra_Builder_Helper::$grid_size_mapping[ $tab_layout ], ), ); $css_output_mobile = array( $selector => astra_get_responsive_background_obj( $footer_bg, 'mobile' ), $selector . ' .ast-builder-grid-row' => array( 'grid-column-gap' => astra_get_css_value( $inner_spacing_mobile, 'px' ), 'grid-row-gap' => astra_get_css_value( $inner_spacing_mobile, 'px' ), ), $selector . '.ast-footer-row-mobile-inline .site-footer-section' => array( 'display' => 'flex', 'margin-bottom' => '0', ), $selector . '.ast-footer-row-mobile-stack .site-footer-section' => array( 'display' => 'block', 'margin-bottom' => '10px', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-' . $mob_layout . ' .ast-builder-grid-row' => array( 'grid-template-columns' => Astra_Builder_Helper::$grid_size_mapping[ $mob_layout ], ), ); if ( isset( $footer_width ) && 'content' === $footer_width ) { $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['max-width'] = astra_get_css_value( $content_width, 'px' ); $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['min-height'] = astra_get_css_value( $footer_height, 'px' ); $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['margin-left'] = 'auto'; $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['margin-right'] = 'auto'; } else { $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['max-width'] = '100%'; $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['padding-left'] = '35px'; $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['padding-right'] = '35px'; } /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Extended_Base_Dynamic_CSS::prepare_advanced_margin_padding_css( $_section, $selector ); $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector, 'grid' ); return $dynamic_css; } type/footer/below-footer/assets/js/unminified/customizer-preview.js 0000644 00000010251 15105312163 0021711 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; var section = 'section-below-footer-builder'; var selector = '.site-below-footer-wrap[data-section="section-below-footer-builder"]'; // Footer Vertical Alignment. astra_css( 'astra-settings[hbb-footer-vertical-alignment]', 'align-items', selector + ' .ast-builder-grid-row, ' + selector + ' .site-footer-section' ); // Inner Space. wp.customize( 'astra-settings[hbb-inner-spacing]', function( value ) { value.bind( function( spacing ) { var dynamicStyle = ''; if ( spacing.desktop != '' ) { dynamicStyle += selector + ' .ast-builder-grid-row {'; dynamicStyle += 'grid-column-gap: ' + spacing.desktop + 'px;'; dynamicStyle += '} '; } if ( spacing.tablet != '' ) { dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .ast-builder-grid-row {'; dynamicStyle += 'grid-column-gap: ' + spacing.tablet + 'px;'; dynamicStyle += 'grid-row-gap: ' + spacing.tablet + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; } if ( spacing.mobile != '' ) { dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-builder-grid-row {'; dynamicStyle += 'grid-column-gap: ' + spacing.mobile + 'px;'; dynamicStyle += 'grid-row-gap: ' + spacing.mobile + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( 'hbb-inner-spacing-toggle-button', dynamicStyle ); } ); } ); // Border Top width. wp.customize( 'astra-settings[hbb-footer-separator]', function( setting ) { setting.bind( function( separator ) { var dynamicStyle = ''; if ( '' !== separator ) { dynamicStyle = selector + ' {'; dynamicStyle += 'border-top-width: ' + separator + 'px;'; dynamicStyle += 'border-top-style: solid'; dynamicStyle += '} '; } astra_add_dynamic_css( 'hbb-footer-separator', dynamicStyle ); } ); } ); // Border Color. wp.customize( 'astra-settings[hbb-footer-top-border-color]', function( setting ) { setting.bind( function( color ) { var dynamicStyle = ''; if ( '' !== color ) { dynamicStyle = selector + ' {'; dynamicStyle += 'border-top-color: ' + color + ';'; dynamicStyle += 'border-top-style: solid'; dynamicStyle += '} '; } astra_add_dynamic_css( 'hbb-footer-top-border-color', dynamicStyle ); } ); } ); // Primary Header - Layout. wp.customize( 'astra-settings[hbb-footer-layout-width]', function( setting ) { setting.bind( function( layout ) { var dynamicStyle = ''; if ( 'content' == layout ) { dynamicStyle = selector + ' .ast-builder-grid-row {'; dynamicStyle += 'max-width: ' + AstraBuilderPrimaryFooterData.footer_content_width + 'px;'; dynamicStyle += 'margin-left: auto;'; dynamicStyle += 'margin-right: auto;'; dynamicStyle += '} '; } if ( 'full' == layout ) { dynamicStyle = selector + ' .ast-builder-grid-row {'; dynamicStyle += 'max-width: 100%;'; dynamicStyle += 'padding-right: 35px; padding-left: 35px;'; dynamicStyle += '} '; } astra_add_dynamic_css( 'hbb-footer-layout-width', dynamicStyle ); } ); } ); // Responsive BG styles > Below Footer Row. astra_apply_responsive_background_css( 'astra-settings[hbb-footer-bg-obj-responsive]', selector, 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[hbb-footer-bg-obj-responsive]', selector, 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[hbb-footer-bg-obj-responsive]', selector, 'mobile' ); // Advanced CSS Generation. astra_builder_advanced_css( section, selector ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector, 'grid' ); } )( jQuery ); type/footer/below-footer/assets/js/minified/customizer-preview.min.js 0000644 00000004133 15105312163 0022132 0 ustar 00 (()=>{var o=astraBuilderPreview.tablet_break_point||768,a=astraBuilderPreview.mobile_break_point||544,t="section-below-footer-builder",e='.site-below-footer-wrap[data-section="section-below-footer-builder"]';astra_css("astra-settings[hbb-footer-vertical-alignment]","align-items",e+" .ast-builder-grid-row, "+e+" .site-footer-section"),wp.customize("astra-settings[hbb-inner-spacing]",function(t){t.bind(function(t){var r="";""!=t.desktop&&(r=(r+=e+" .ast-builder-grid-row {")+"grid-column-gap: "+t.desktop+"px;} "),""!=t.tablet&&(r=(r=(r+="@media (max-width: "+o+"px) {")+e+" .ast-builder-grid-row {grid-column-gap: "+t.tablet+"px;")+"grid-row-gap: "+t.tablet+"px;} } "),""!=t.mobile&&(r=(r=(r+="@media (max-width: "+a+"px) {")+e+" .ast-builder-grid-row {grid-column-gap: "+t.mobile+"px;")+"grid-row-gap: "+t.mobile+"px;} } "),astra_add_dynamic_css("hbb-inner-spacing-toggle-button",r)})}),wp.customize("astra-settings[hbb-footer-separator]",function(t){t.bind(function(t){var r="";""!==t&&(r=(r=e+" {")+"border-top-width: "+t+"px;border-top-style: solid} "),astra_add_dynamic_css("hbb-footer-separator",r)})}),wp.customize("astra-settings[hbb-footer-top-border-color]",function(t){t.bind(function(t){var r="";""!==t&&(r=(r=e+" {")+"border-top-color: "+t+";border-top-style: solid} "),astra_add_dynamic_css("hbb-footer-top-border-color",r)})}),wp.customize("astra-settings[hbb-footer-layout-width]",function(t){t.bind(function(t){var r="";"content"==t&&(r=(r=e+" .ast-builder-grid-row {")+"max-width: "+AstraBuilderPrimaryFooterData.footer_content_width+"px;margin-left: auto;margin-right: auto;} "),"full"==t&&(r=e+" .ast-builder-grid-row {",r+="max-width: 100%;padding-right: 35px; padding-left: 35px;} "),astra_add_dynamic_css("hbb-footer-layout-width",r)})}),astra_apply_responsive_background_css("astra-settings[hbb-footer-bg-obj-responsive]",e,"desktop"),astra_apply_responsive_background_css("astra-settings[hbb-footer-bg-obj-responsive]",e,"tablet"),astra_apply_responsive_background_css("astra-settings[hbb-footer-bg-obj-responsive]",e,"mobile"),astra_builder_advanced_css(t,e),astra_builder_visibility_css(t,e,"grid")})(jQuery); type/footer/below-footer/class-astra-below-footer-component-loader.php 0000644 00000002244 15105312163 0022222 0 ustar 00 <?php /** * Below Footer Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Below Footer Initialization * * @since 3.0.0 */ class Astra_Below_Footer_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-footer-below-footer-customizer-preview-js', ASTRA_BUILDER_FOOTER_BELOW_FOOTER_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Below_Footer_Component_Loader(); type/footer/widget/class-astra-footer-widget-component.php 0000644 00000002266 15105312163 0020014 0 ustar 00 <?php /** * WIDGET component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_FOOTER_WIDGET_DIR', ASTRA_THEME_DIR . 'inc/builder/type/footer/widget' ); define( 'ASTRA_BUILDER_FOOTER_WIDGET_URI', ASTRA_THEME_URI . 'inc/builder/type/footer/widget' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Footer_Widget_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_FOOTER_WIDGET_DIR . '/class-astra-footer-widget-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_FOOTER_WIDGET_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Footer_Widget_Component(); type/footer/widget/dynamic-css/dynamic.css.php 0000644 00000006072 15105312163 0015446 0 ustar 00 <?php /** * WIdget control - Dynamic CSS * * @package Astra Builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Heading Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_fb_widget_dynamic_css' ); /** * Whether to fix the footer right-margin space not working case or not. * * As this affects the frontend, added this backward compatibility for existing users. * * @since 3.6.7 * @return bool false if it is an existing user, true if not. */ function astra_support_footer_widget_right_margin() { $astra_settings = astra_get_options(); return apply_filters( 'astra_apply_right_margin_footer_widget_css', isset( $astra_settings['support-footer-widget-right-margin'] ) ? false : true ); } /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_fb_widget_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { for ( $index = 1; $index <= Astra_Builder_Helper::$num_of_footer_widgets; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'widget-' . $index, 'footer' ) ) { continue; } $selector = '.footer-widget-area[data-section="sidebar-widgets-footer-widget-' . $index . '"]'; $alignment = astra_get_option( 'footer-widget-alignment-' . $index ); $desktop_alignment = isset( $alignment['desktop'] ) ? $alignment['desktop'] : ''; $tablet_alignment = isset( $alignment['tablet'] ) ? $alignment['tablet'] : ''; $mobile_alignment = isset( $alignment['mobile'] ) ? $alignment['mobile'] : ''; /** * Widget CSS. */ if ( Astra_Builder_Helper::apply_flex_based_css() ) { $footer_widget_selector = $selector . '.footer-widget-area-inner'; } else { $footer_widget_selector = $selector . ' .footer-widget-area-inner'; } $css_output_desktop = array( $footer_widget_selector => array( 'text-align' => $desktop_alignment, ), ); $css_output_tablet = array( $footer_widget_selector => array( 'text-align' => $tablet_alignment, ), ); $css_output_mobile = array( $footer_widget_selector => array( 'text-align' => $mobile_alignment, ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; } if ( astra_support_footer_widget_right_margin() && ! is_customize_preview() ) { $footer_area_css_output = array( '.footer-widget-area.widget-area.site-footer-focus-item' => array( 'width' => 'auto', ), '.ast-footer-row-inline .footer-widget-area.widget-area.site-footer-focus-item' => array( 'width' => '100%', ), ); $dynamic_css .= astra_parse_css( $footer_area_css_output ); } $dynamic_css .= Astra_Widget_Component_Dynamic_CSS::astra_widget_dynamic_css( 'footer' ); return $dynamic_css; } type/footer/widget/class-astra-footer-widget-component-loader.php 0000644 00000003304 15105312163 0021252 0 ustar 00 <?php /** * WIDGET Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Footer_Widget_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-footer-widget-customizer-preview-js', ASTRA_BUILDER_FOOTER_WIDGET_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for WIDGET JS. wp_localize_script( 'astra-footer-widget-customizer-preview-js', 'AstraBuilderWidgetData', array( 'footer_widget_count' => defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_footer_widgets, 'tablet_break_point' => astra_get_tablet_breakpoint(), 'mobile_break_point' => astra_get_mobile_breakpoint(), 'is_flex_based_css' => Astra_Builder_Helper::apply_flex_based_css(), 'has_block_editor' => astra_has_widgets_block_editor(), ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Footer_Widget_Component_Loader(); type/footer/widget/assets/js/unminified/customizer-preview.js 0000644 00000000640 15105312163 0020571 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra Builder * @since 3.0.0 */ ( function( $ ) { astra_builder_widget_css('footer'); } )( jQuery ); type/footer/widget/assets/js/minified/customizer-preview.min.js 0000644 00000000052 15105312163 0021005 0 ustar 00 jQuery,astra_builder_widget_css("footer"); type/footer/copyright/dynamic-css/dynamic.css.php 0000644 00000006412 15105312163 0016171 0 ustar 00 <?php /** * Copyright control - Dynamic CSS * * @package Astra Builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Copyright CSS */ add_filter( 'astra_dynamic_theme_css', 'astra_fb_copyright_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_fb_copyright_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'copyright', 'footer' ) ) { return $dynamic_css; } $_section = 'section-footer-copyright'; $selector = '.ast-footer-copyright '; $visibility_selector = '.ast-footer-copyright.ast-builder-layout-element'; $alignment = astra_get_option( 'footer-copyright-alignment' ); $desktop_alignment = isset( $alignment['desktop'] ) ? $alignment['desktop'] : ''; $tablet_alignment = isset( $alignment['tablet'] ) ? $alignment['tablet'] : ''; $mobile_alignment = isset( $alignment['mobile'] ) ? $alignment['mobile'] : ''; $margin = astra_get_option( $_section . '-margin' ); /** * Copyright CSS. */ $css_output_desktop = array( '.ast-footer-copyright' => array( 'text-align' => $desktop_alignment, ), $selector => array( 'color' => astra_get_option( 'footer-copyright-color', astra_get_option( 'text-color' ) ), // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); $css_output_tablet = array( '.ast-footer-copyright' => array( 'text-align' => $tablet_alignment, ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); $css_output_mobile = array( '.ast-footer-copyright' => array( 'text-align' => $mobile_alignment, ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_advanced_typography_css( $_section, $selector ); $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $visibility_selector ); return $dynamic_css; } type/footer/copyright/class-astra-footer-copyright-component-loader.php 0000644 00000002241 15105312163 0022523 0 ustar 00 <?php /** * Copyright Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Footer_Copyright_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-footer-copyright-customizer-preview-js', ASTRA_BUILDER_FOOTER_COPYRIGHT_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Footer_Copyright_Component_Loader(); type/footer/copyright/class-astra-footer-copyright-component.php 0000644 00000002470 15105312163 0021263 0 ustar 00 <?php /** * Copyright component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_FOOTER_COPYRIGHT_DIR', ASTRA_THEME_DIR . 'inc/builder/type/footer/copyright' ); define( 'ASTRA_BUILDER_FOOTER_COPYRIGHT_URI', ASTRA_THEME_URI . 'inc/builder/type/footer/copyright' ); if ( ! class_exists( 'Astra_Footer_Copyright_Component' ) ) { /** * Astra_Footer_Copyright_Component * * @since 3.0.0 */ class Astra_Footer_Copyright_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_FOOTER_COPYRIGHT_DIR . '/class-astra-footer-copyright-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_FOOTER_COPYRIGHT_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Footer_Copyright_Component(); } type/footer/copyright/assets/js/unminified/customizer-preview.js 0000644 00000011232 15105312163 0021315 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra Builder * @since 3.0.0 */ ( function( $ ) { var selector = '.ast-footer-copyright'; var visibility_selector = '.ast-footer-copyright.ast-builder-layout-element'; var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; // HTML color. astra_css( 'astra-settings[footer-copyright-color]', 'color', selector ); // Typography CSS Generation. astra_responsive_font_size( 'astra-settings[font-size-section-footer-copyright]', selector ); wp.customize( 'astra-settings[footer-copyright-alignment]', function( value ) { value.bind( function( alignment ) { if( alignment.desktop != '' || alignment.tablet != '' || alignment.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += '.ast-footer-copyright {'; dynamicStyle += 'text-align: ' + alignment['desktop'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-footer-copyright {'; dynamicStyle += 'text-align: ' + alignment['tablet'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-footer-copyright {'; dynamicStyle += 'text-align: ' + alignment['mobile'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'footer-copyright-alignment', dynamicStyle ); } } ); } ); // Margin. wp.customize( 'astra-settings[section-footer-copyright-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'footer-copyright-margin', dynamicStyle ); } } ); } ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( 'section-footer-copyright', visibility_selector ); } )( jQuery ); type/footer/copyright/assets/js/minified/customizer-preview.min.js 0000644 00000003752 15105312163 0021544 0 ustar 00 (()=>{var i=".ast-footer-copyright",e=astraBuilderPreview.tablet_break_point||768,a=astraBuilderPreview.mobile_break_point||544;astra_css("astra-settings[footer-copyright-color]","color",i),astra_responsive_font_size("astra-settings[font-size-section-footer-copyright]",i),wp.customize("astra-settings[footer-copyright-alignment]",function(t){t.bind(function(t){var o;""==t.desktop&&""==t.tablet&&""==t.mobile||(o="",o=(o=(o=(o=(o=(o+=".ast-footer-copyright {")+"text-align: "+t.desktop+";} ")+"@media (max-width: "+e+"px) {.ast-footer-copyright {")+"text-align: "+t.tablet+";} ")+"} @media (max-width: "+a+"px) {")+".ast-footer-copyright {text-align: "+t.mobile+";} } ",astra_add_dynamic_css("footer-copyright-alignment",o))})}),wp.customize("astra-settings[section-footer-copyright-margin]",function(t){t.bind(function(t){var o;""==t.desktop.bottom&&""==t.desktop.top&&""==t.desktop.left&&""==t.desktop.right&&""==t.tablet.bottom&&""==t.tablet.top&&""==t.tablet.left&&""==t.tablet.right&&""==t.mobile.bottom&&""==t.mobile.top&&""==t.mobile.left&&""==t.mobile.right||(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o="")+i+" {margin-left: "+t.desktop.left+t["desktop-unit"]+";")+"margin-right: "+t.desktop.right+t["desktop-unit"]+";")+"margin-top: "+t.desktop.top+t["desktop-unit"]+";")+"margin-bottom: "+t.desktop.bottom+t["desktop-unit"]+";")+"} @media (max-width: "+e+"px) {")+i+" {margin-left: "+t.tablet.left+t["tablet-unit"]+";")+"margin-right: "+t.tablet.right+t["tablet-unit"]+";")+"margin-top: "+t.tablet.top+t["desktop-unit"]+";")+"margin-bottom: "+t.tablet.bottom+t["desktop-unit"]+";} ")+"} @media (max-width: "+a+"px) {")+i+" {margin-left: "+t.mobile.left+t["mobile-unit"]+";")+"margin-right: "+t.mobile.right+t["mobile-unit"]+";")+"margin-top: "+t.mobile.top+t["desktop-unit"]+";")+"margin-bottom: "+t.mobile.bottom+t["desktop-unit"]+";} } ",astra_add_dynamic_css("footer-copyright-margin",o))})}),astra_builder_visibility_css("section-footer-copyright",".ast-footer-copyright.ast-builder-layout-element")})(jQuery); type/footer/above-footer/class-astra-above-footer-component-loader.php 0000644 00000002235 15105312163 0022172 0 ustar 00 <?php /** * Above Footer Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Above Footer Initialization * * @since 3.0.0 */ class Astra_Above_Footer_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-footer-above-customizer-preview-js', ASTRA_BUILDER_FOOTER_ABOVE_FOOTER_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Above_Footer_Component_Loader(); type/footer/above-footer/dynamic-css/dynamic.css.php 0000644 00000014152 15105312163 0016551 0 ustar 00 <?php /** * Above Footer control - Dynamic CSS * * @package Astra Builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Above Footer CSS */ add_filter( 'astra_dynamic_theme_css', 'astra_fb_above_footer_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for above Footer. * * @since 3.0.0 */ function astra_fb_above_footer_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! ( Astra_Builder_Helper::is_footer_row_empty( 'above' ) || is_customize_preview() ) ) { return $dynamic_css; } $_section = 'section-above-footer-builder'; $selector = '.site-above-footer-wrap[data-section="section-above-footer-builder"]'; $footer_bg = astra_get_option( 'hba-footer-bg-obj-responsive' ); $footer_top_border_size = astra_get_option( 'hba-footer-separator' ); $footer_top_border_color = astra_get_option( 'hba-footer-top-border-color' ); $footer_height = astra_get_option( 'hba-footer-height' ); $footer_width = astra_get_option( 'hba-footer-layout-width' ); $content_width = astra_get_option( 'site-content-width' ); $inner_spacing = astra_get_option( 'hba-inner-spacing' ); $layout = astra_get_option( 'hba-footer-layout' ); $desk_layout = isset( $layout['desktop'] ) ? $layout['desktop'] : 'full'; $tab_layout = isset( $layout['tablet'] ) ? $layout['tablet'] : 'full'; $mob_layout = isset( $layout['mobile'] ) ? $layout['mobile'] : 'full'; $inner_spacing_desktop = isset( $inner_spacing['desktop'] ) ? $inner_spacing['desktop'] : ''; $inner_spacing_tablet = isset( $inner_spacing['tablet'] ) ? $inner_spacing['tablet'] : ''; $inner_spacing_mobile = isset( $inner_spacing['mobile'] ) ? $inner_spacing['mobile'] : ''; $css_output_desktop = array( '.site-above-footer-wrap' => array( 'padding-top' => '20px', 'padding-bottom' => '20px', ), $selector => astra_get_responsive_background_obj( $footer_bg, 'desktop' ), $selector . ' .ast-builder-grid-row' => array( 'grid-column-gap' => astra_get_css_value( $inner_spacing_desktop, 'px' ), ), $selector . ' .ast-builder-grid-row, ' . $selector . ' .site-footer-section' => array( 'align-items' => astra_get_option( 'hba-footer-vertical-alignment' ), ), $selector . '.ast-footer-row-inline .site-footer-section' => array( 'display' => 'flex', 'margin-bottom' => '0', ), '.ast-builder-grid-row-' . $desk_layout . ' .ast-builder-grid-row' => array( 'grid-template-columns' => Astra_Builder_Helper::$grid_size_mapping[ $desk_layout ], ), ); if ( isset( $footer_width ) && 'content' === $footer_width ) { $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['max-width'] = astra_get_css_value( $content_width, 'px' ); $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['min-height'] = astra_get_css_value( $footer_height, 'px' ); $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['margin-left'] = 'auto'; $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['margin-right'] = 'auto'; } else { $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['max-width'] = '100%'; $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['padding-left'] = '35px'; $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['padding-right'] = '35px'; } $css_output_desktop[ $selector ]['min-height'] = astra_get_css_value( $footer_height, 'px' ); if ( isset( $footer_top_border_size ) && 1 <= $footer_top_border_size ) { $css_output_desktop[ $selector ]['border-style'] = 'solid'; $css_output_desktop[ $selector ]['border-width'] = '0px'; $css_output_desktop[ $selector ]['border-top-width'] = astra_get_css_value( $footer_top_border_size, 'px' ); $css_output_desktop[ $selector ]['border-top-color'] = $footer_top_border_color; } $css_output_tablet = array( $selector => astra_get_responsive_background_obj( $footer_bg, 'tablet' ), $selector . ' .ast-builder-grid-row' => array( 'grid-column-gap' => astra_get_css_value( $inner_spacing_tablet, 'px' ), 'grid-row-gap' => astra_get_css_value( $inner_spacing_tablet, 'px' ), ), $selector . '.ast-footer-row-tablet-inline .site-footer-section' => array( 'display' => 'flex', 'margin-bottom' => '0', ), $selector . '.ast-footer-row-tablet-stack .site-footer-section' => array( 'display' => 'block', 'margin-bottom' => '10px', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-' . $tab_layout . ' .ast-builder-grid-row' => array( 'grid-template-columns' => Astra_Builder_Helper::$grid_size_mapping[ $tab_layout ], ), ); $css_output_mobile = array( $selector => astra_get_responsive_background_obj( $footer_bg, 'mobile' ), $selector . ' .ast-builder-grid-row' => array( 'grid-column-gap' => astra_get_css_value( $inner_spacing_mobile, 'px' ), 'grid-row-gap' => astra_get_css_value( $inner_spacing_mobile, 'px' ), ), $selector . '.ast-footer-row-mobile-inline .site-footer-section' => array( 'display' => 'flex', 'margin-bottom' => '0', ), $selector . '.ast-footer-row-mobile-stack .site-footer-section' => array( 'display' => 'block', 'margin-bottom' => '10px', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-' . $mob_layout . ' .ast-builder-grid-row' => array( 'grid-template-columns' => Astra_Builder_Helper::$grid_size_mapping[ $mob_layout ], ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Extended_Base_Dynamic_CSS::prepare_advanced_margin_padding_css( $_section, $selector ); $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector, 'grid' ); return $dynamic_css; } type/footer/above-footer/class-astra-above-footer.php 0000644 00000002431 15105312163 0016724 0 ustar 00 <?php /** * Above Footer component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_FOOTER_ABOVE_FOOTER_DIR', ASTRA_THEME_DIR . 'inc/builder/type/footer/above-footer' ); define( 'ASTRA_BUILDER_FOOTER_ABOVE_FOOTER_URI', ASTRA_THEME_URI . 'inc/builder/type/footer/above-footer' ); if ( ! class_exists( 'Astra_Above_Footer' ) ) { /** * Above Footer Initial Setup * * @since 3.0.0 */ class Astra_Above_Footer { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_FOOTER_ABOVE_FOOTER_DIR . '/class-astra-above-footer-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_FOOTER_ABOVE_FOOTER_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Above_Footer(); } type/footer/above-footer/assets/js/unminified/customizer-preview.js 0000644 00000010247 15105312163 0021702 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; var section = 'section-above-footer-builder'; var selector = '.site-above-footer-wrap[data-section="section-above-footer-builder"]'; // Footer Vertical Alignment. astra_css( 'astra-settings[hba-footer-vertical-alignment]', 'align-items', selector + ' .ast-builder-grid-row, ' + selector + ' .site-footer-section' ); // Border Bottom width. wp.customize( 'astra-settings[hba-footer-separator]', function( setting ) { setting.bind( function( separator ) { var dynamicStyle = ''; if ( '' !== separator ) { dynamicStyle = selector + ' {'; dynamicStyle += 'border-top-width: ' + separator + 'px;'; dynamicStyle += 'border-top-style: solid'; dynamicStyle += '} '; } astra_add_dynamic_css( 'hba-footer-separator', dynamicStyle ); } ); } ); // Inner Space. wp.customize( 'astra-settings[hba-inner-spacing]', function( value ) { value.bind( function( spacing ) { var dynamicStyle = ''; if ( spacing.desktop != '' ) { dynamicStyle += selector + ' .ast-builder-grid-row {'; dynamicStyle += 'grid-column-gap: ' + spacing.desktop + 'px;'; dynamicStyle += '} '; } if ( spacing.tablet != '' ) { dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .ast-builder-grid-row {'; dynamicStyle += 'grid-column-gap: ' + spacing.tablet + 'px;'; dynamicStyle += 'grid-row-gap: ' + spacing.tablet + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; } if ( spacing.mobile != '' ) { dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-builder-grid-row {'; dynamicStyle += 'grid-column-gap: ' + spacing.mobile + 'px;'; dynamicStyle += 'grid-row-gap: ' + spacing.mobile + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( 'hba-inner-spacing-toggle-button', dynamicStyle ); } ); } ); // Border Color. wp.customize( 'astra-settings[hba-footer-top-border-color]', function( setting ) { setting.bind( function( color ) { var dynamicStyle = ''; if ( '' !== color ) { dynamicStyle = selector + ' {'; dynamicStyle += 'border-top-color: ' + color + ';'; dynamicStyle += 'border-top-style: solid'; dynamicStyle += '} '; } astra_add_dynamic_css( 'hba-footer-top-border-color', dynamicStyle ); } ); } ); // Primary Header - Layout. wp.customize( 'astra-settings[hba-footer-layout-width]', function( setting ) { setting.bind( function( layout ) { var dynamicStyle = ''; if ( 'content' == layout ) { dynamicStyle = selector + ' .ast-builder-grid-row {'; dynamicStyle += 'max-width: ' + AstraBuilderPrimaryFooterData.footer_content_width + 'px;'; dynamicStyle += 'margin-left: auto;'; dynamicStyle += 'margin-right: auto;'; dynamicStyle += '} '; } if ( 'full' == layout ) { dynamicStyle = selector + ' .ast-builder-grid-row {'; dynamicStyle += 'max-width: 100%;'; dynamicStyle += 'padding-right: 35px; padding-left: 35px;'; dynamicStyle += '} '; } astra_add_dynamic_css( 'hba-footer-layout-width', dynamicStyle ); } ); } ); // Responsive BG styles > Above Footer Row. astra_apply_responsive_background_css( 'astra-settings[hba-footer-bg-obj-responsive]', selector, 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[hba-footer-bg-obj-responsive]', selector, 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[hba-footer-bg-obj-responsive]', selector, 'mobile' ); // Advanced CSS Generation. astra_builder_advanced_css( section, selector ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector, 'grid' ); } )( jQuery ); type/footer/above-footer/assets/js/minified/customizer-preview.min.js 0000644 00000004133 15105312163 0022116 0 ustar 00 (()=>{var r=astraBuilderPreview.tablet_break_point||768,o=astraBuilderPreview.mobile_break_point||544,t="section-above-footer-builder",e='.site-above-footer-wrap[data-section="section-above-footer-builder"]';astra_css("astra-settings[hba-footer-vertical-alignment]","align-items",e+" .ast-builder-grid-row, "+e+" .site-footer-section"),wp.customize("astra-settings[hba-footer-separator]",function(t){t.bind(function(t){var a="";""!==t&&(a=(a=e+" {")+"border-top-width: "+t+"px;border-top-style: solid} "),astra_add_dynamic_css("hba-footer-separator",a)})}),wp.customize("astra-settings[hba-inner-spacing]",function(t){t.bind(function(t){var a="";""!=t.desktop&&(a=(a+=e+" .ast-builder-grid-row {")+"grid-column-gap: "+t.desktop+"px;} "),""!=t.tablet&&(a=(a=(a+="@media (max-width: "+r+"px) {")+e+" .ast-builder-grid-row {grid-column-gap: "+t.tablet+"px;")+"grid-row-gap: "+t.tablet+"px;} } "),""!=t.mobile&&(a=(a=(a+="@media (max-width: "+o+"px) {")+e+" .ast-builder-grid-row {grid-column-gap: "+t.mobile+"px;")+"grid-row-gap: "+t.mobile+"px;} } "),astra_add_dynamic_css("hba-inner-spacing-toggle-button",a)})}),wp.customize("astra-settings[hba-footer-top-border-color]",function(t){t.bind(function(t){var a="";""!==t&&(a=(a=e+" {")+"border-top-color: "+t+";border-top-style: solid} "),astra_add_dynamic_css("hba-footer-top-border-color",a)})}),wp.customize("astra-settings[hba-footer-layout-width]",function(t){t.bind(function(t){var a="";"content"==t&&(a=(a=e+" .ast-builder-grid-row {")+"max-width: "+AstraBuilderPrimaryFooterData.footer_content_width+"px;margin-left: auto;margin-right: auto;} "),"full"==t&&(a=e+" .ast-builder-grid-row {",a+="max-width: 100%;padding-right: 35px; padding-left: 35px;} "),astra_add_dynamic_css("hba-footer-layout-width",a)})}),astra_apply_responsive_background_css("astra-settings[hba-footer-bg-obj-responsive]",e,"desktop"),astra_apply_responsive_background_css("astra-settings[hba-footer-bg-obj-responsive]",e,"tablet"),astra_apply_responsive_background_css("astra-settings[hba-footer-bg-obj-responsive]",e,"mobile"),astra_builder_advanced_css(t,e),astra_builder_visibility_css(t,e,"grid")})(jQuery); type/footer/html/class-astra-footer-html-component.php 0000644 00000002242 15105312163 0017150 0 ustar 00 <?php /** * HTML component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_FOOTER_HTML_DIR', ASTRA_THEME_DIR . 'inc/builder/type/footer/html' ); define( 'ASTRA_BUILDER_FOOTER_HTML_URI', ASTRA_THEME_URI . 'inc/builder/type/footer/html' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Footer_Html_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_FOOTER_HTML_DIR . '/class-astra-footer-html-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_FOOTER_HTML_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Footer_Html_Component(); type/footer/html/dynamic-css/dynamic.css.php 0000644 00000005562 15105312163 0015132 0 ustar 00 <?php /** * HTML control - Dynamic CSS * * @package Astra Builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Heading Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_fb_html_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_fb_html_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { $dynamic_css .= Astra_Html_Component_Dynamic_CSS::astra_html_dynamic_css( 'footer' ); $static_css_flg = false; $stati_css_output = ''; for ( $index = 1; $index <= Astra_Builder_Helper::$num_of_footer_html; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'html-' . $index, 'footer' ) ) { continue; } $static_css_flg = true; $selector = '.footer-widget-area[data-section="section-fb-html-' . $index . '"]'; $alignment = astra_get_option( 'footer-html-' . $index . '-alignment' ); $desktop_alignment = isset( $alignment['desktop'] ) ? $alignment['desktop'] : ''; $tablet_alignment = isset( $alignment['tablet'] ) ? $alignment['tablet'] : ''; $mobile_alignment = isset( $alignment['mobile'] ) ? $alignment['mobile'] : ''; $is_rtl = is_rtl(); $desktop_text_alignment = $is_rtl ? ( $desktop_alignment === 'left' ? 'right' : ( $desktop_alignment === 'right' ? 'left' : $desktop_alignment ) ) : $desktop_alignment; $tablet_text_alignment = $is_rtl ? ( $tablet_alignment === 'left' ? 'right' : ( $tablet_alignment === 'right' ? 'left' : $tablet_alignment ) ) : $tablet_alignment; $mobile_text_alignment = $is_rtl ? ( $mobile_alignment === 'left' ? 'right' : ( $mobile_alignment === 'right' ? 'left' : $mobile_alignment ) ) : $mobile_alignment; /** * Copyright CSS. */ $css_output_desktop = array( $selector . ' .ast-builder-html-element' => array( 'text-align' => $desktop_text_alignment, ), ); $css_output_tablet = array( $selector . ' .ast-builder-html-element' => array( 'text-align' => $tablet_text_alignment, ), ); $css_output_mobile = array( $selector . ' .ast-builder-html-element' => array( 'text-align' => $mobile_text_alignment, ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; } if ( true === $static_css_flg ) { $stati_css_output .= astra_parse_css( array( '.footer-widget-area[data-section^="section-fb-html-"] .ast-builder-html-element' => array( 'text-align' => 'center', ), ) ); } return $stati_css_output . $dynamic_css; } type/footer/html/class-astra-footer-html-component-loader.php 0000644 00000003044 15105312163 0020415 0 ustar 00 <?php /** * HTML Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Footer_Html_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-footer-html-customizer-preview-js', ASTRA_BUILDER_FOOTER_HTML_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for HTML JS. wp_localize_script( 'astra-footer-html-customizer-preview-js', 'AstraBuilderHTMLData', array( 'component_limit' => defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_footer_html, 'tablet_break_point' => astra_get_tablet_breakpoint(), 'mobile_break_point' => astra_get_mobile_breakpoint(), ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Footer_Html_Component_Loader(); type/footer/html/assets/js/unminified/customizer-preview.js 0000644 00000003626 15105312163 0020261 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra Builder * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = AstraBuilderHTMLData.tablet_break_point || 768, mobile_break_point = AstraBuilderHTMLData.mobile_break_point || 544; astra_builder_html_css( 'footer', AstraBuilderHTMLData.component_limit ); for( var index = 1; index <= AstraBuilderHTMLData.component_limit ; index++ ) { (function( index ) { wp.customize( 'astra-settings[footer-html-'+ index +'-alignment]', function( value ) { value.bind( function( alignment ) { if( alignment.desktop != '' || alignment.tablet != '' || alignment.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += '.footer-widget-area[data-section="section-fb-html-'+ index +'"] .ast-builder-html-element {'; dynamicStyle += 'text-align: ' + alignment['desktop'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.footer-widget-area[data-section="section-fb-html-'+ index +'"] .ast-builder-html-element {'; dynamicStyle += 'text-align: ' + alignment['tablet'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.footer-widget-area[data-section="section-fb-html-'+ index +'"] .ast-builder-html-element {'; dynamicStyle += 'text-align: ' + alignment['mobile'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'footer-html-'+ index +'-alignment', dynamicStyle ); } } ); } ); })( index ); } } )( jQuery ); type/footer/html/assets/js/minified/customizer-preview.min.js 0000644 00000001577 15105312163 0020503 0 ustar 00 (()=>{var i=AstraBuilderHTMLData.tablet_break_point||768,l=AstraBuilderHTMLData.mobile_break_point||544;astra_builder_html_css("footer",AstraBuilderHTMLData.component_limit);for(var t=1;t<=AstraBuilderHTMLData.component_limit;t++)(a=>{wp.customize("astra-settings[footer-html-"+a+"-alignment]",function(t){t.bind(function(t){var e;""==t.desktop&&""==t.tablet&&""==t.mobile||(e="",e=(e=(e=(e=(e=(e+='.footer-widget-area[data-section="section-fb-html-'+a+'"] .ast-builder-html-element {')+"text-align: "+t.desktop+";} ")+"@media (max-width: "+i+'px) {.footer-widget-area[data-section="section-fb-html-'+a+'"] .ast-builder-html-element {')+"text-align: "+t.tablet+";} ")+"} @media (max-width: "+l+"px) {")+'.footer-widget-area[data-section="section-fb-html-'+a+'"] .ast-builder-html-element {text-align: '+t.mobile+";} } ",astra_add_dynamic_css("footer-html-"+a+"-alignment",e))})})})(t)})(jQuery); type/footer/social-icon/class-astra-footer-social-icons-component-loader.php 0000644 00000003157 15105312163 0023275 0 ustar 00 <?php /** * Social Icons Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Social Icons Initialization * * @since 3.0.0 */ class Astra_Footer_Social_Icons_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-footer-social-icons-customizer-preview-js', ASTRA_BUILDER_FOOTER_SOCIAL_ICONS_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for Astra Breakpoints JS. wp_localize_script( 'astra-footer-social-icons-customizer-preview-js', 'astraBuilderFooterSocial', array( 'tablet_break_point' => astra_get_tablet_breakpoint(), 'mobile_break_point' => astra_get_mobile_breakpoint(), 'component_limit' => defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_footer_social_icons, ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Footer_Social_Icons_Component_Loader(); type/footer/social-icon/class-astra-footer-social-icons-component.php 0000644 00000002365 15105312163 0022031 0 ustar 00 <?php /** * Social Icons component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_FOOTER_SOCIAL_ICONS_DIR', ASTRA_THEME_DIR . 'inc/builder/type/footer/social-icon' ); define( 'ASTRA_BUILDER_FOOTER_SOCIAL_ICONS_URI', ASTRA_THEME_URI . 'inc/builder/type/footer/social-icon' ); /** * Social Icons Initial Setup * * @since 3.0.0 */ class Astra_Footer_Social_Icons_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_FOOTER_SOCIAL_ICONS_DIR . '/class-astra-footer-social-icons-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_FOOTER_SOCIAL_ICONS_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Footer_Social_Icons_Component(); type/footer/social-icon/dynamic-css/dynamic.css.php 0000644 00000001320 15105312163 0016352 0 ustar 00 <?php /** * Social Icons control - Dynamic CSS * * @package Astra Builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Social Icons Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_fb_social_icon_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Social Icons Colors. * * @since 3.0.0 */ function astra_fb_social_icon_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { $dynamic_css .= Astra_Social_Component_Dynamic_CSS::astra_social_dynamic_css( 'footer' ); return $dynamic_css; } type/footer/social-icon/assets/js/unminified/customizer-preview.js 0000644 00000000704 15105312163 0021507 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { astra_builder_social_css( 'footer', astraBuilderFooterSocial.component_limit ); } )( jQuery ); type/footer/social-icon/assets/js/minified/customizer-preview.min.js 0000644 00000000123 15105312163 0021721 0 ustar 00 jQuery,astra_builder_social_css("footer",astraBuilderFooterSocial.component_limit); type/footer/primary-footer/dynamic-css/dynamic.css.php 0000644 00000016423 15105312163 0017143 0 ustar 00 <?php /** * Primary Footer control - Dynamic CSS * * @package Astra Builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Primary Footer CSS */ add_filter( 'astra_dynamic_theme_css', 'astra_fb_primary_footer_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Primary Footer. * * @since 3.0.0 */ function astra_fb_primary_footer_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { $global_footer_bg = astra_get_option( 'footer-bg-obj-responsive' ); $css_output_desktop = array( '.site-footer' => astra_get_responsive_background_obj( $global_footer_bg, 'desktop' ), ); $dynamic_css .= astra_parse_css( $css_output_desktop ); // Advanced CSS for Header Builder. $dynamic_css .= Astra_Extended_Base_Dynamic_CSS::prepare_advanced_margin_padding_css( 'section-footer-builder-layout', '.ast-hfb-header .site-footer' ); $footer_css_output_tablet = array( '.site-footer' => astra_get_responsive_background_obj( $global_footer_bg, 'tablet' ), ); $footer_css_output_mobile = array( '.site-footer' => astra_get_responsive_background_obj( $global_footer_bg, 'mobile' ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $footer_css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $footer_css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; if ( ! ( Astra_Builder_Helper::is_footer_row_empty( 'primary' ) || is_customize_preview() ) ) { return $dynamic_css; } $_section = 'section-primary-footer-builder'; $selector = '.site-primary-footer-wrap[data-section="section-primary-footer-builder"]'; $footer_bg = astra_get_option( 'hb-footer-bg-obj-responsive' ); $footer_height = astra_get_option( 'hb-primary-footer-height' ); $footer_top_border_size = astra_get_option( 'hb-footer-main-sep' ); $footer_top_border_color = astra_get_option( 'hb-footer-main-sep-color' ); $footer_width = astra_get_option( 'hb-footer-layout-width' ); $content_width = astra_get_option( 'site-content-width' ); $inner_spacing = astra_get_option( 'hb-inner-spacing' ); $layout = astra_get_option( 'hb-footer-layout' ); $desk_layout = isset( $layout['desktop'] ) ? $layout['desktop'] : 'full'; $tab_layout = isset( $layout['tablet'] ) ? $layout['tablet'] : 'full'; $mob_layout = isset( $layout['mobile'] ) ? $layout['mobile'] : 'full'; $inner_spacing_desktop = isset( $inner_spacing['desktop'] ) ? $inner_spacing['desktop'] : ''; $inner_spacing_tablet = isset( $inner_spacing['tablet'] ) ? $inner_spacing['tablet'] : ''; $inner_spacing_mobile = isset( $inner_spacing['mobile'] ) ? $inner_spacing['mobile'] : ''; $css_output_desktop = array( '.site-primary-footer-wrap' => array( 'padding-top' => '45px', 'padding-bottom' => '45px', ), $selector => astra_get_responsive_background_obj( $footer_bg, 'desktop' ), $selector . ' .ast-builder-grid-row' => array( 'grid-column-gap' => astra_get_css_value( $inner_spacing_desktop, 'px' ), ), $selector . ' .ast-builder-grid-row, ' . $selector . ' .site-footer-section' => array( 'align-items' => astra_get_option( 'hb-footer-vertical-alignment' ), ), $selector . '.ast-footer-row-inline .site-footer-section' => array( 'display' => 'flex', 'margin-bottom' => '0', ), '.ast-builder-grid-row-' . $desk_layout . ' .ast-builder-grid-row' => array( 'grid-template-columns' => Astra_Builder_Helper::$grid_size_mapping[ $desk_layout ], ), ); $css_output_desktop[ $selector ]['min-height'] = astra_get_css_value( $footer_height, 'px' ); if ( isset( $footer_top_border_size ) && 1 <= $footer_top_border_size ) { $css_output_desktop[ $selector ]['border-style'] = 'solid'; $css_output_desktop[ $selector ]['border-width'] = '0px'; $css_output_desktop[ $selector ]['border-top-width'] = astra_get_css_value( $footer_top_border_size, 'px' ); $css_output_desktop[ $selector ]['border-top-color'] = $footer_top_border_color; } if ( isset( $footer_width ) && 'content' === $footer_width ) { $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['max-width'] = astra_get_css_value( $content_width, 'px' ); $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['min-height'] = astra_get_css_value( $footer_height, 'px' ); $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['margin-left'] = 'auto'; $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['margin-right'] = 'auto'; } else { $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['max-width'] = '100%'; $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['padding-left'] = '35px'; $css_output_desktop[ $selector . ' .ast-builder-grid-row' ]['padding-right'] = '35px'; } $css_output_tablet = array( $selector => astra_get_responsive_background_obj( $footer_bg, 'tablet' ), '.site-footer' => astra_get_responsive_background_obj( $global_footer_bg, 'tablet' ), $selector . ' .ast-builder-grid-row' => array( 'grid-column-gap' => astra_get_css_value( $inner_spacing_tablet, 'px' ), 'grid-row-gap' => astra_get_css_value( $inner_spacing_tablet, 'px' ), ), $selector . '.ast-footer-row-tablet-inline .site-footer-section' => array( 'display' => 'flex', 'margin-bottom' => '0', ), $selector . '.ast-footer-row-tablet-stack .site-footer-section' => array( 'display' => 'block', 'margin-bottom' => '10px', ), '.ast-builder-grid-row-container.ast-builder-grid-row-tablet-' . $tab_layout . ' .ast-builder-grid-row' => array( 'grid-template-columns' => Astra_Builder_Helper::$grid_size_mapping[ $tab_layout ], ), ); $css_output_mobile = array( $selector => astra_get_responsive_background_obj( $footer_bg, 'mobile' ), '.site-footer' => astra_get_responsive_background_obj( $global_footer_bg, 'mobile' ), $selector . ' .ast-builder-grid-row' => array( 'grid-column-gap' => astra_get_css_value( $inner_spacing_mobile, 'px' ), 'grid-row-gap' => astra_get_css_value( $inner_spacing_mobile, 'px' ), ), $selector . '.ast-footer-row-mobile-inline .site-footer-section' => array( 'display' => 'flex', 'margin-bottom' => '0', ), $selector . '.ast-footer-row-mobile-stack .site-footer-section' => array( 'display' => 'block', 'margin-bottom' => '10px', ), '.ast-builder-grid-row-container.ast-builder-grid-row-mobile-' . $mob_layout . ' .ast-builder-grid-row' => array( 'grid-template-columns' => Astra_Builder_Helper::$grid_size_mapping[ $mob_layout ], ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Extended_Base_Dynamic_CSS::prepare_advanced_margin_padding_css( $_section, $selector ); $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector, 'grid' ); return $dynamic_css; } type/footer/primary-footer/class-astra-primary-footer-component-loader.php 0000644 00000002640 15105312163 0023150 0 ustar 00 <?php /** * Primary Footer Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Primary Footer Initialization * * @since 3.0.0 */ class Astra_Primary_Footer_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-footer-primary-footer-customizer-preview-js', ASTRA_BUILDER_FOOTER_PRIMARY_FOOTER_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for Footer JS. wp_localize_script( 'astra-heading-primary-customizer-preview-js', 'AstraBuilderPrimaryFooterData', array( 'footer_content_width' => astra_get_option( 'site-content-width' ), ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Primary_Footer_Component_Loader(); type/footer/primary-footer/class-astra-primary-footer.php 0000644 00000002461 15105312163 0017705 0 ustar 00 <?php /** * Primary Footer component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_FOOTER_PRIMARY_FOOTER_DIR', ASTRA_THEME_DIR . 'inc/builder/type/footer/primary-footer' ); define( 'ASTRA_BUILDER_FOOTER_PRIMARY_FOOTER_URI', ASTRA_THEME_URI . 'inc/builder/type/footer/primary-footer' ); if ( ! class_exists( 'Astra_Primary_Footer' ) ) { /** * Primary Footer Initial Setup * * @since 3.0.0 */ class Astra_Primary_Footer { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_FOOTER_PRIMARY_FOOTER_DIR . '/class-astra-primary-footer-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_FOOTER_PRIMARY_FOOTER_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Primary_Footer(); } type/footer/primary-footer/assets/js/unminified/customizer-preview.js 0000644 00000010272 15105312163 0022267 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; var section = 'section-primary-footer-builder'; var selector = '.site-primary-footer-wrap[data-section="section-primary-footer-builder"]'; // Primary Header - Layout. wp.customize( 'astra-settings[hb-footer-layout-width]', function( setting ) { setting.bind( function( layout ) { var dynamicStyle = ''; if ( 'content' == layout ) { dynamicStyle = selector + ' .ast-builder-grid-row {'; dynamicStyle += 'max-width: ' + AstraBuilderPrimaryFooterData.footer_content_width + 'px;'; dynamicStyle += 'margin-left: auto;'; dynamicStyle += 'margin-right: auto;'; dynamicStyle += '} '; } if ( 'full' == layout ) { dynamicStyle = selector + ' .ast-builder-grid-row {'; dynamicStyle += 'max-width: 100%;'; dynamicStyle += 'padding-right: 35px; padding-left: 35px;'; dynamicStyle += '} '; } astra_add_dynamic_css( 'hb-footer-layout-width', dynamicStyle ); } ); } ); // Footer Vertical Alignment. astra_css( 'astra-settings[hb-footer-vertical-alignment]', 'align-items', selector + ' .ast-builder-grid-row, ' + selector + ' .site-footer-section' ); // Inner Space. wp.customize( 'astra-settings[hb-inner-spacing]', function( value ) { value.bind( function( spacing ) { var dynamicStyle = ''; if ( spacing.desktop != '' ) { dynamicStyle += selector + ' .ast-builder-grid-row {'; dynamicStyle += 'grid-column-gap: ' + spacing.desktop + 'px;'; dynamicStyle += '} '; } if ( spacing.tablet != '' ) { dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .ast-builder-grid-row {'; dynamicStyle += 'grid-column-gap: ' + spacing.tablet + 'px;'; dynamicStyle += 'grid-row-gap: ' + spacing.tablet + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; } if ( spacing.mobile != '' ) { dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-builder-grid-row {'; dynamicStyle += 'grid-column-gap: ' + spacing.mobile + 'px;'; dynamicStyle += 'grid-row-gap: ' + spacing.mobile + 'px;'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( 'hb-inner-spacing-toggle-button', dynamicStyle ); } ); } ); // Border Top width. astra_css( 'astra-settings[hb-footer-main-sep]', 'border-top-width', selector, 'px' ); // Border Color. astra_css( 'astra-settings[hb-footer-main-sep-color]', 'border-color', selector ); var dynamicStyle = selector + ' {'; dynamicStyle += 'border-top-style: solid'; dynamicStyle += '} '; astra_add_dynamic_css( 'hb-footer-main-sep-color', dynamicStyle ); // Responsive BG styles > Primary Footer Row. astra_apply_responsive_background_css( 'astra-settings[hb-footer-bg-obj-responsive]', selector, 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[hb-footer-bg-obj-responsive]', selector, 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[hb-footer-bg-obj-responsive]', selector, 'mobile' ); // Responsive BG styles > Global Footer Row. astra_apply_responsive_background_css( 'astra-settings[footer-bg-obj-responsive]', '.site-footer', 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[footer-bg-obj-responsive]', '.site-footer', 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[footer-bg-obj-responsive]', '.site-footer', 'mobile' ); // Advanced CSS Generation. astra_builder_advanced_css( section, selector ); // Advanced CSS for Header Builder. astra_builder_advanced_css( 'section-footer-builder-layout', '.ast-hfb-header .site-footer' ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector, 'grid' ); } )( jQuery ); type/footer/primary-footer/assets/js/minified/customizer-preview.min.js 0000644 00000004526 15105312163 0022513 0 ustar 00 (()=>{var s=astraBuilderPreview.tablet_break_point||768,a=astraBuilderPreview.mobile_break_point||544,t="section-primary-footer-builder",e='.site-primary-footer-wrap[data-section="section-primary-footer-builder"]';wp.customize("astra-settings[hb-footer-layout-width]",function(t){t.bind(function(t){var r="";"content"==t&&(r=(r=e+" .ast-builder-grid-row {")+"max-width: "+AstraBuilderPrimaryFooterData.footer_content_width+"px;margin-left: auto;margin-right: auto;} "),"full"==t&&(r=e+" .ast-builder-grid-row {",r+="max-width: 100%;padding-right: 35px; padding-left: 35px;} "),astra_add_dynamic_css("hb-footer-layout-width",r)})}),astra_css("astra-settings[hb-footer-vertical-alignment]","align-items",e+" .ast-builder-grid-row, "+e+" .site-footer-section"),wp.customize("astra-settings[hb-inner-spacing]",function(t){t.bind(function(t){var r="";""!=t.desktop&&(r=(r+=e+" .ast-builder-grid-row {")+"grid-column-gap: "+t.desktop+"px;} "),""!=t.tablet&&(r=(r=(r+="@media (max-width: "+s+"px) {")+e+" .ast-builder-grid-row {grid-column-gap: "+t.tablet+"px;")+"grid-row-gap: "+t.tablet+"px;} } "),""!=t.mobile&&(r=(r=(r+="@media (max-width: "+a+"px) {")+e+" .ast-builder-grid-row {grid-column-gap: "+t.mobile+"px;")+"grid-row-gap: "+t.mobile+"px;} } "),astra_add_dynamic_css("hb-inner-spacing-toggle-button",r)})}),astra_css("astra-settings[hb-footer-main-sep]","border-top-width",e,"px"),astra_css("astra-settings[hb-footer-main-sep-color]","border-color",e),astra_add_dynamic_css("hb-footer-main-sep-color",'.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {border-top-style: solid} '),astra_apply_responsive_background_css("astra-settings[hb-footer-bg-obj-responsive]",e,"desktop"),astra_apply_responsive_background_css("astra-settings[hb-footer-bg-obj-responsive]",e,"tablet"),astra_apply_responsive_background_css("astra-settings[hb-footer-bg-obj-responsive]",e,"mobile"),astra_apply_responsive_background_css("astra-settings[footer-bg-obj-responsive]",".site-footer","desktop"),astra_apply_responsive_background_css("astra-settings[footer-bg-obj-responsive]",".site-footer","tablet"),astra_apply_responsive_background_css("astra-settings[footer-bg-obj-responsive]",".site-footer","mobile"),astra_builder_advanced_css(t,e),astra_builder_advanced_css("section-footer-builder-layout",".ast-hfb-header .site-footer"),astra_builder_visibility_css(t,e,"grid")})(jQuery); type/footer/button/dynamic-css/dynamic.css.php 0000644 00000004630 15105312163 0015474 0 ustar 00 <?php /** * Butons - Dynamic CSS * * @package Astra * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Heading Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_fb_button_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ function astra_fb_button_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { $dynamic_css .= Astra_Button_Component_Dynamic_CSS::astra_button_dynamic_css( 'footer' ); $fb_button_flag = false; for ( $index = 1; $index <= Astra_Builder_Helper::$num_of_footer_button; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'button-' . $index, 'footer' ) ) { continue; } $fb_button_flag = true; $selector = '.ast-footer-button-' . $index . '[data-section="section-fb-button-' . $index . '"]'; $alignment = astra_get_option( 'footer-button-' . $index . '-alignment' ); $desktop_alignment = isset( $alignment['desktop'] ) ? $alignment['desktop'] : ''; $tablet_alignment = isset( $alignment['tablet'] ) ? $alignment['tablet'] : ''; $mobile_alignment = isset( $alignment['mobile'] ) ? $alignment['mobile'] : ''; /** * Copyright CSS. */ $css_output_desktop = array( $selector => array( 'justify-content' => $desktop_alignment, ), ); $css_output_tablet = array( $selector => array( 'justify-content' => $tablet_alignment, ), ); $css_output_mobile = array( $selector => array( 'justify-content' => $mobile_alignment, ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; } if ( true === $fb_button_flag ) { $static_css = array( '[data-section*="section-fb-button-"] .menu-link' => array( 'display' => 'none', ), '[CLASS*="ast-footer-button-"][data-section^="section-fb-button-"]' => array( 'justify-content' => 'center', ), '.site-footer-focus-item[CLASS*="ast-footer-button-"]' => array( 'display' => 'flex', ), ); return astra_parse_css( $static_css ) . $dynamic_css; } return $dynamic_css; } type/footer/button/class-astra-footer-button-component-loader.php 0000644 00000004354 15105312163 0021340 0 ustar 00 <?php /** * Button Styling Loader for Astra theme. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Customizer Initialization * * @since 3.0.0 */ class Astra_Footer_Button_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); add_action( 'astra_get_fonts', array( $this, 'add_fonts' ), 1 ); } /** * Add Font Family Callback * * @return void */ public function add_fonts() { /** * Footer - Button */ $num_of_footer_button = Astra_Builder_Helper::$num_of_footer_button; for ( $index = 1; $index <= $num_of_footer_button; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'button-' . $index, 'footer' ) ) { continue; } $_prefix = 'button' . $index; $btn_font_family = astra_get_option( 'footer-' . $_prefix . '-font-family' ); $btn_font_weight = astra_get_option( 'footer-' . $_prefix . '-font-weight' ); Astra_Fonts::add_font( $btn_font_family, $btn_font_weight ); } } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-footer-button-customizer-preview-js', ASTRA_FOOTER_BUTTON_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); // Localize variables for Button JS. wp_localize_script( 'astra-footer-button-customizer-preview-js', 'AstraBuilderFooterButtonData', array( 'component_limit' => defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_footer_button, 'tablet_break_point' => astra_get_tablet_breakpoint(), 'mobile_break_point' => astra_get_mobile_breakpoint(), ) ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Footer_Button_Component_Loader(); type/footer/button/class-astra-footer-button-component.php 0000644 00000002242 15105312163 0020066 0 ustar 00 <?php /** * Footer Colors for Astra theme Buttpn. * * @package Astra * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_FOOTER_BUTTON_DIR', ASTRA_THEME_DIR . 'inc/builder/type/footer/button' ); define( 'ASTRA_FOOTER_BUTTON_URI', ASTRA_THEME_URI . 'inc/builder/type/footer/button' ); /** * Heading Initial Setup * * @since 3.0.0 */ class Astra_Footer_Button_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_FOOTER_BUTTON_DIR . '/class-astra-footer-button-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_FOOTER_BUTTON_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } } /** * Kicking this off by creating an object. */ new Astra_Footer_Button_Component(); type/footer/button/assets/js/unminified/customizer-preview.js 0000644 00000000705 15105312163 0020623 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { astra_builder_button_css( 'footer', AstraBuilderFooterButtonData.component_limit ); } )( jQuery ); type/footer/button/assets/js/minified/customizer-preview.min.js 0000644 00000000127 15105312163 0021040 0 ustar 00 jQuery,astra_builder_button_css("footer",AstraBuilderFooterButtonData.component_limit); type/footer/menu/class-astra-footer-menu-component-loader.php 0000644 00000002243 15105312163 0020415 0 ustar 00 <?php /** * Footer Navigation Menu Styling Loader for Astra theme. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Footer Navigation Menu Initialization * * @since 3.0.0 */ class Astra_Footer_Menu_Component_Loader { /** * Constructor * * @since 3.0.0 */ public function __construct() { add_action( 'customize_preview_init', array( $this, 'preview_scripts' ), 110 ); } /** * Customizer Preview * * @since 3.0.0 */ public function preview_scripts() { /** * Load unminified if SCRIPT_DEBUG is true. */ /* Directory and Extension */ $dir_name = SCRIPT_DEBUG ? 'unminified' : 'minified'; $file_prefix = SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_script( 'astra-footer-menu-customizer-preview', ASTRA_BUILDER_FOOTER_MENU_URI . '/assets/js/' . $dir_name . '/customizer-preview' . $file_prefix . '.js', array( 'customize-preview', 'astra-customizer-preview-js' ), ASTRA_THEME_VERSION, true ); } } /** * Kicking this off by creating the object of the class. */ new Astra_Footer_Menu_Component_Loader(); type/footer/menu/dynamic-css/dynamic.css.php 0000644 00000035644 15105312163 0015136 0 ustar 00 <?php /** * Footer Menu Colors - Dynamic CSS * * @package astra-builder * @since 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Footer Menu Colors */ add_filter( 'astra_dynamic_theme_css', 'astra_hb_footer_menu_dynamic_css', 11 ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Footer Menu Colors. * * @since 3.0.0 */ function astra_hb_footer_menu_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'menu', 'footer' ) ) { return $dynamic_css; } $_section = 'section-footer-menu'; $selector = '#astra-footer-menu'; $visibility_selector = '.footer-widget-area[data-section="section-footer-menu"]'; // Menu. $menu_resp_color = astra_get_option( 'footer-menu-color-responsive' ); $menu_resp_bg_color = astra_get_option( 'footer-menu-bg-obj-responsive' ); $menu_resp_color_hover = astra_get_option( 'footer-menu-h-color-responsive' ); $menu_resp_bg_color_hover = astra_get_option( 'footer-menu-h-bg-color-responsive' ); $menu_resp_color_active = astra_get_option( 'footer-menu-a-color-responsive' ); $menu_resp_bg_color_active = astra_get_option( 'footer-menu-a-bg-color-responsive' ); $alignment = astra_get_option( 'footer-menu-alignment' ); $desktop_alignment = isset( $alignment['desktop'] ) ? $alignment['desktop'] : ''; $tablet_alignment = isset( $alignment['tablet'] ) ? $alignment['tablet'] : ''; $mobile_alignment = isset( $alignment['mobile'] ) ? $alignment['mobile'] : ''; $menu_resp_color_desktop = isset( $menu_resp_color['desktop'] ) ? $menu_resp_color['desktop'] : ''; $menu_resp_color_tablet = isset( $menu_resp_color['tablet'] ) ? $menu_resp_color['tablet'] : ''; $menu_resp_color_mobile = isset( $menu_resp_color['mobile'] ) ? $menu_resp_color['mobile'] : ''; $menu_resp_color_hover_desktop = isset( $menu_resp_color_hover['desktop'] ) ? $menu_resp_color_hover['desktop'] : ''; $menu_resp_color_hover_tablet = isset( $menu_resp_color_hover['tablet'] ) ? $menu_resp_color_hover['tablet'] : ''; $menu_resp_color_hover_mobile = isset( $menu_resp_color_hover['mobile'] ) ? $menu_resp_color_hover['mobile'] : ''; $menu_resp_bg_color_hover_desktop = isset( $menu_resp_bg_color_hover['desktop'] ) ? $menu_resp_bg_color_hover['desktop'] : ''; $menu_resp_bg_color_hover_tablet = isset( $menu_resp_bg_color_hover['tablet'] ) ? $menu_resp_bg_color_hover['tablet'] : ''; $menu_resp_bg_color_hover_mobile = isset( $menu_resp_bg_color_hover['mobile'] ) ? $menu_resp_bg_color_hover['mobile'] : ''; $menu_resp_color_active_desktop = isset( $menu_resp_color_active['desktop'] ) ? $menu_resp_color_active['desktop'] : ''; $menu_resp_color_active_tablet = isset( $menu_resp_color_active['tablet'] ) ? $menu_resp_color_active['tablet'] : ''; $menu_resp_color_active_mobile = isset( $menu_resp_color_active['mobile'] ) ? $menu_resp_color_active['mobile'] : ''; $menu_resp_bg_color_active_desktop = isset( $menu_resp_bg_color_active['desktop'] ) ? $menu_resp_bg_color_active['desktop'] : ''; $menu_resp_bg_color_active_tablet = isset( $menu_resp_bg_color_active['tablet'] ) ? $menu_resp_bg_color_active['tablet'] : ''; $menu_resp_bg_color_active_mobile = isset( $menu_resp_bg_color_active['mobile'] ) ? $menu_resp_bg_color_active['mobile'] : ''; // Typography. $menu_font_size = astra_get_option( 'footer-menu-font-size' ); $menu_font_size_desktop = isset( $menu_font_size['desktop'] ) ? $menu_font_size['desktop'] : ''; $menu_font_size_tablet = isset( $menu_font_size['tablet'] ) ? $menu_font_size['tablet'] : ''; $menu_font_size_mobile = isset( $menu_font_size['mobile'] ) ? $menu_font_size['mobile'] : ''; $menu_font_size_desktop_unit = isset( $menu_font_size['desktop-unit'] ) ? $menu_font_size['desktop-unit'] : ''; $menu_font_size_tablet_unit = isset( $menu_font_size['tablet-unit'] ) ? $menu_font_size['tablet-unit'] : ''; $menu_font_size_mobile_unit = isset( $menu_font_size['mobile-unit'] ) ? $menu_font_size['mobile-unit'] : ''; // Menu Spacing. $menu_spacing = astra_get_option( 'footer-main-menu-spacing' ); // - Desktop. $menu_desktop_spacing_top = isset( $menu_spacing['desktop']['top'] ) ? $menu_spacing['desktop']['top'] : ''; $menu_desktop_spacing_bottom = isset( $menu_spacing['desktop']['bottom'] ) ? $menu_spacing['desktop']['bottom'] : ''; $menu_desktop_spacing_right = isset( $menu_spacing['desktop']['right'] ) ? $menu_spacing['desktop']['right'] : ''; $menu_desktop_spacing_left = isset( $menu_spacing['desktop']['left'] ) ? $menu_spacing['desktop']['left'] : ''; $menu_desktop_spacing_unit = isset( $menu_spacing['desktop-unit'] ) && ! empty( $menu_spacing['desktop-unit'] ) ? $menu_spacing['desktop-unit'] : ''; // - Tablet. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_tablet_spacing_top = isset( $menu_spacing['tablet']['top'] ) ? $menu_spacing['tablet']['top'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_tablet_spacing_bottom = isset( $menu_spacing['tablet']['bottom'] ) ? $menu_spacing['tablet']['bottom'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_tablet_spacing_right = isset( $menu_spacing['tablet']['right'] ) ? $menu_spacing['tablet']['right'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_tablet_spacing_left = isset( $menu_spacing['tablet']['left'] ) ? $menu_spacing['tablet']['left'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_tablet_spacing_unit = isset( $menu_spacing['tablet-unit'] ) && ! empty( $menu_spacing['tablet-unit'] ) ? $menu_spacing['tablet-unit'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort // - Mobile. /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_mobile_spacing_top = isset( $menu_spacing['mobile']['top'] ) ? $menu_spacing['mobile']['top'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_mobile_spacing_bottom = isset( $menu_spacing['mobile']['bottom'] ) ? $menu_spacing['mobile']['bottom'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_mobile_spacing_right = isset( $menu_spacing['mobile']['right'] ) ? $menu_spacing['mobile']['right'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_mobile_spacing_left = isset( $menu_spacing['mobile']['left'] ) ? $menu_spacing['mobile']['left'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $menu_mobile_spacing_unit = isset( $menu_spacing['mobile-unit'] ) && ! empty( $menu_spacing['mobile-unit'] ) ? $menu_spacing['mobile-unit'] : ''; /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $margin = astra_get_option( $_section . '-margin' ); $arr_footer_ul_desktop = array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ); $arr_footer_ul_desktop = array_merge( $arr_footer_ul_desktop, astra_get_responsive_background_obj( $menu_resp_bg_color, 'desktop' ) ); $css_output_desktop = array( '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-horizontal-menu' => array( 'justify-content' => $desktop_alignment, ), '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-vertical-menu .menu-item' => array( 'align-items' => $desktop_alignment, ), $selector . ' .menu-item > a' => array( 'color' => $menu_resp_color_desktop, 'font-size' => astra_get_font_css_value( $menu_font_size_desktop, $menu_font_size_desktop_unit ), 'padding-top' => astra_get_css_value( $menu_desktop_spacing_top, $menu_desktop_spacing_unit ), 'padding-bottom' => astra_get_css_value( $menu_desktop_spacing_bottom, $menu_desktop_spacing_unit ), 'padding-left' => astra_get_css_value( $menu_desktop_spacing_left, $menu_desktop_spacing_unit ), 'padding-right' => astra_get_css_value( $menu_desktop_spacing_right, $menu_desktop_spacing_unit ), ), $selector . ' .menu-item:hover > a' => array( 'color' => $menu_resp_color_hover_desktop, 'background' => $menu_resp_bg_color_hover_desktop, ), $selector . ' .menu-item.current-menu-item > a' => array( 'color' => $menu_resp_color_active_desktop, 'background' => $menu_resp_bg_color_active_desktop, ), $selector => $arr_footer_ul_desktop, ); $arr_footer_ul_tablet = array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ); $arr_footer_ul_tablet = array_merge( $arr_footer_ul_tablet, astra_get_responsive_background_obj( $menu_resp_bg_color, 'tablet' ) ); $css_output_tablet = array( '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-horizontal-menu' => array( 'justify-content' => $tablet_alignment, 'display' => 'flex', ), '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-vertical-menu' => array( 'display' => 'grid', 'justify-content' => $tablet_alignment, ), '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-vertical-menu .menu-item' => array( 'align-items' => $tablet_alignment, ), $selector . ' .menu-item > a' => array( 'color' => $menu_resp_color_tablet, 'font-size' => astra_get_font_css_value( $menu_font_size_tablet, $menu_font_size_tablet_unit ), 'padding-top' => astra_get_css_value( $menu_tablet_spacing_top, $menu_tablet_spacing_unit ), 'padding-bottom' => astra_get_css_value( $menu_tablet_spacing_bottom, $menu_tablet_spacing_unit ), 'padding-left' => astra_get_css_value( $menu_tablet_spacing_left, $menu_tablet_spacing_unit ), 'padding-right' => astra_get_css_value( $menu_tablet_spacing_right, $menu_tablet_spacing_unit ), ), $selector . ' .menu-item:hover > a' => array( 'color' => $menu_resp_color_hover_tablet, 'background' => $menu_resp_bg_color_hover_tablet, ), $selector . ' .menu-item.current-menu-item > a' => array( 'color' => $menu_resp_color_active_tablet, 'background' => $menu_resp_bg_color_active_tablet, ), $selector => $arr_footer_ul_tablet, ); $arr_footer_ul_mobile = array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ); $arr_footer_ul_mobile = array_merge( $arr_footer_ul_mobile, astra_get_responsive_background_obj( $menu_resp_bg_color, 'mobile' ) ); $css_output_mobile = array( $selector => astra_get_responsive_background_obj( $menu_resp_bg_color, 'mobile' ), '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-horizontal-menu' => array( 'justify-content' => $mobile_alignment, 'display' => 'flex', ), '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu' => array( 'display' => 'grid', 'justify-content' => $mobile_alignment, ), '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu .menu-item' => array( 'align-items' => $mobile_alignment, ), $selector . ' .menu-item > a' => array( 'color' => $menu_resp_color_mobile, 'font-size' => astra_get_font_css_value( $menu_font_size_mobile, $menu_font_size_mobile_unit ), 'padding-top' => astra_get_css_value( $menu_mobile_spacing_top, $menu_mobile_spacing_unit ), 'padding-bottom' => astra_get_css_value( $menu_mobile_spacing_bottom, $menu_mobile_spacing_unit ), 'padding-left' => astra_get_css_value( $menu_mobile_spacing_left, $menu_mobile_spacing_unit ), 'padding-right' => astra_get_css_value( $menu_mobile_spacing_right, $menu_mobile_spacing_unit ), ), $selector . ' .menu-item:hover > a' => array( 'color' => $menu_resp_color_hover_mobile, 'background' => $menu_resp_bg_color_hover_mobile, ), $selector . ' .menu-item.current-menu-item > a' => array( 'color' => $menu_resp_color_active_mobile, 'background' => $menu_resp_bg_color_active_mobile, ), $selector => $arr_footer_ul_mobile, ); /* Parse CSS from array() */ $css_output = astra_footer_menu_static_css(); $css_output .= astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; $dynamic_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $visibility_selector, 'block' ); return $dynamic_css; } /** * Footer menu static CSS * * @since 3.5.0 * @return string */ function astra_footer_menu_static_css() { $footer_menu_css = ' .footer-nav-wrap .astra-footer-vertical-menu { display: grid; } @media (min-width: 769px) { .footer-nav-wrap .astra-footer-horizontal-menu li { margin: 0; } .footer-nav-wrap .astra-footer-horizontal-menu a { padding: 0 0.5em; } }'; if ( is_rtl() ) { $footer_menu_css .= ' @media (min-width: 769px) { .footer-nav-wrap .astra-footer-horizontal-menu li:first-child a { padding-right: 0; } .footer-nav-wrap .astra-footer-horizontal-menu li:last-child a { padding-left: 0; } }'; } else { $footer_menu_css .= ' @media (min-width: 769px) { .footer-nav-wrap .astra-footer-horizontal-menu li:first-child a { padding-left: 0; } .footer-nav-wrap .astra-footer-horizontal-menu li:last-child a { padding-right: 0; } }'; } return Astra_Enqueue_Scripts::trim_css( $footer_menu_css ); } type/footer/menu/class-astra-footer-menu-component.php 0000644 00000007032 15105312163 0017152 0 ustar 00 <?php /** * Footer Navigation Menu component. * * @package Astra Builder * @link https://www.brainstormforce.com * @since Astra 3.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } define( 'ASTRA_BUILDER_FOOTER_MENU_DIR', ASTRA_THEME_DIR . 'inc/builder/type/footer/menu' ); define( 'ASTRA_BUILDER_FOOTER_MENU_URI', ASTRA_THEME_URI . 'inc/builder/type/footer/menu' ); /** * Footer Navigation Menu Initial Setup * * @since 3.0.0 */ class Astra_Footer_Menu_Component { /** * Constructor function that initializes required actions and hooks */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound require_once ASTRA_BUILDER_FOOTER_MENU_DIR . '/class-astra-footer-menu-component-loader.php'; // Include front end files. if ( ! is_admin() || Astra_Builder_Customizer::astra_collect_customizer_builder_data() ) { require_once ASTRA_BUILDER_FOOTER_MENU_DIR . '/dynamic-css/dynamic.css.php'; } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } /** * Secondary navigation markup * * @since 3.0.0. */ public static function menu_markup() { // Menu Layout. $desktop_menu_layout_class = ''; $tablet_menu_layout_class = ''; $mobile_menu_layout_class = ''; $menu_layout = astra_get_option( 'footer-menu-layout' ); $desktop_menu_layout = isset( $menu_layout['desktop'] ) ? $menu_layout['desktop'] : ''; $tablet_menu_layout = isset( $menu_layout['tablet'] ) ? $menu_layout['tablet'] : ''; $mobile_menu_layout = isset( $menu_layout['mobile'] ) ? $menu_layout['mobile'] : ''; if ( ! empty( $desktop_menu_layout ) ) { $desktop_menu_layout_class = 'astra-footer-' . esc_attr( $desktop_menu_layout ) . '-menu'; } if ( ! empty( $tablet_menu_layout ) ) { $tablet_menu_layout_class = 'astra-footer-tablet-' . esc_attr( $tablet_menu_layout ) . '-menu'; } if ( ! empty( $mobile_menu_layout ) ) { $mobile_menu_layout_class = 'astra-footer-mobile-' . esc_attr( $mobile_menu_layout ) . '-menu'; } /** * Filter the classes(array) for Menu (<ul>). * * @since 3.0.0 * @var Array */ $menu_classes = apply_filters( 'astra_menu_classes', array( 'ast-nav-menu', 'ast-flex', $desktop_menu_layout_class, $tablet_menu_layout_class, $mobile_menu_layout_class ) ); $menu_name = wp_get_nav_menu_name( 'footer_menu' ); $items_wrap = '<nav '; $items_wrap .= astra_attr( 'site-navigation', array( 'id' => 'footer-site-navigation', 'class' => 'site-navigation ast-flex-grow-1 navigation-accessibility footer-navigation', 'aria-label' => esc_attr__( 'Site Navigation: ', 'astra' ) . $menu_name, ) ); $items_wrap .= '>'; $items_wrap .= '<div class="footer-nav-wrap">'; $items_wrap .= '<ul id="%1$s" class="%2$s">%3$s</ul>'; $items_wrap .= '</div>'; $items_wrap .= '</nav>'; // To add default alignment for navigation which can be added through any third party plugin. // Do not add any CSS from theme except header alignment. if ( has_nav_menu( 'footer_menu' ) ) { wp_nav_menu( array( 'depth' => 1, 'menu_id' => 'astra-footer-menu', 'menu_class' => esc_attr( implode( ' ', $menu_classes ) ), 'container' => 'div', 'container_class' => 'footer-bar-navigation', 'items_wrap' => $items_wrap, 'theme_location' => 'footer_menu', ) ); } } } /** * Kicking this off by creating an object. */ new Astra_Footer_Menu_Component(); type/footer/menu/assets/js/unminified/customizer-preview.js 0000644 00000024646 15105312163 0020266 0 ustar 00 /** * This file adds some LIVE to the Customizer live preview. To leverage * this, set your custom settings to 'postMessage' and then add your handling * here. Your javascript should grab settings from customizer controls, and * then make any necessary changes to the page using jQuery. * * @package Astra * @since 3.0.0 */ ( function( $ ) { var selector = '#astra-footer-menu'; var visibility_selector = '.footer-widget-area[data-section="section-footer-menu"]'; var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; wp.customize( 'astra-settings[footer-menu-alignment]', function( value ) { value.bind( function( alignment ) { if( alignment.desktop != '' || alignment.tablet != '' || alignment.mobile != '' ) { var dynamicStyle = ''; dynamicStyle += '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-vertical-menu .menu-item {'; dynamicStyle += 'align-items: ' + alignment['desktop'] + ';'; dynamicStyle += '} '; dynamicStyle += '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-horizontal-menu {'; dynamicStyle += 'justify-content: ' + alignment['desktop'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-vertical-menu {'; dynamicStyle += 'justify-content:' + alignment['tablet'] + ';'; dynamicStyle += '} '; dynamicStyle += '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-vertical-menu .menu-item {'; dynamicStyle += 'display:' + 'grid;'; dynamicStyle += 'justify-content:' + alignment['tablet'] + ';'; dynamicStyle += 'align-items: ' + alignment['tablet'] + ';'; dynamicStyle += '} '; dynamicStyle += '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-horizontal-menu {'; dynamicStyle += 'justify-content: ' + alignment['tablet'] + ';'; dynamicStyle += 'display: flex;'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu {'; dynamicStyle += 'display:' + 'grid;'; dynamicStyle += 'justify-content:' + alignment['mobile'] + ';'; dynamicStyle += '} '; dynamicStyle += '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu .menu-item {'; dynamicStyle += 'justify-content:' + alignment['mobile'] + ';'; dynamicStyle += 'align-items: ' + alignment['mobile'] + ';'; dynamicStyle += '} '; dynamicStyle += '.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-horizontal-menu {'; dynamicStyle += 'justify-content: ' + alignment['mobile'] + ';'; dynamicStyle += 'display: flex;'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'footer-menu-alignment', dynamicStyle ); } } ); } ); /** * Typography CSS. */ astra_responsive_font_size( 'astra-settings[footer-menu-font-size]', selector + ' .menu-item > a' ); /** * Menu - Colors */ astra_color_responsive_css( 'astra-footer-menu-preview', 'astra-settings[footer-menu-color-responsive]', 'color', selector + ' .menu-item > a' ); // Menu - Hover Color astra_color_responsive_css( 'astra-footer-menu-preview', 'astra-settings[footer-menu-h-color-responsive]', 'color', selector + ' .menu-item:hover > a' ); // Menu - Active Color astra_color_responsive_css( 'astra-footer-menu-preview', 'astra-settings[footer-menu-a-color-responsive]', 'color', selector + ' .menu-item.current-menu-item > a' ); // Responsive BG styles > Footer Menu. astra_apply_responsive_background_css( 'astra-settings[footer-menu-bg-obj-responsive]', selector, 'desktop' ); astra_apply_responsive_background_css( 'astra-settings[footer-menu-bg-obj-responsive]', selector, 'tablet' ); astra_apply_responsive_background_css( 'astra-settings[footer-menu-bg-obj-responsive]', selector, 'mobile' ); // Menu - Hover Background astra_color_responsive_css( 'astra-footer-menu-preview', 'astra-settings[footer-menu-h-bg-color-responsive]', 'background', selector + ' .menu-item:hover > a' ); // Menu - Active Background astra_color_responsive_css( 'astra-footer-menu-preview', 'astra-settings[footer-menu-a-bg-color-responsive]', 'background', selector + ' .menu-item.current-menu-item > a' ); /** * Spacing CSS. */ wp.customize( 'astra-settings[footer-main-menu-spacing]', function( value ) { value.bind( function( padding ) { if( padding.desktop.bottom != '' || padding.desktop.top != '' || padding.desktop.left != '' || padding.desktop.right != '' || padding.tablet.bottom != '' || padding.tablet.top != '' || padding.tablet.left != '' || padding.tablet.right != '' || padding.mobile.bottom != '' || padding.mobile.top != '' || padding.mobile.left != '' || padding.mobile.right != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' .menu-item > a {'; dynamicStyle += 'padding-left: ' + padding['desktop']['left'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['desktop']['right'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['desktop']['top'] + padding['desktop-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['desktop']['bottom'] + padding['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .menu-item > a {'; dynamicStyle += 'padding-left: ' + padding['tablet']['left'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['tablet']['right'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['tablet']['top'] + padding['tablet-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['tablet']['bottom'] + padding['tablet-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .menu-item > a {'; dynamicStyle += 'padding-left: ' + padding['mobile']['left'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-right: ' + padding['mobile']['right'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-top: ' + padding['mobile']['top'] + padding['mobile-unit'] + ';'; dynamicStyle += 'padding-bottom: ' + padding['mobile']['bottom'] + padding['mobile-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'footer-menu-spacing', dynamicStyle ); } } ); } ); // Margin. wp.customize( 'astra-settings[section-footer-menu-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( 'section-footer-menu-margin', dynamicStyle ); } } ); } ); // Advanced Visibility CSS Generation. astra_builder_visibility_css( 'section-footer-menu', visibility_selector, 'block' ); } )( jQuery ); type/footer/menu/assets/js/minified/customizer-preview.min.js 0000644 00000012121 15105312163 0020466 0 ustar 00 (()=>{var o="#astra-footer-menu",i=astraBuilderPreview.tablet_break_point||768,a=astraBuilderPreview.mobile_break_point||544;wp.customize("astra-settings[footer-menu-alignment]",function(t){t.bind(function(t){var e;""==t.desktop&&""==t.tablet&&""==t.mobile||(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e="")+'.footer-widget-area[data-section="section-footer-menu"] .astra-footer-vertical-menu .menu-item {align-items: '+t.desktop+';} .footer-widget-area[data-section="section-footer-menu"] .astra-footer-horizontal-menu {')+"justify-content: "+t.desktop+";} ")+"@media (max-width: "+i+'px) {.footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-vertical-menu {')+"justify-content:"+t.tablet+';} .footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-vertical-menu .menu-item {display:grid;')+"justify-content:"+t.tablet+";align-items: "+t.tablet+';} .footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-horizontal-menu {')+"justify-content: "+t.tablet+";display: flex;} } ")+"@media (max-width: "+a+'px) {.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu {')+"display:grid;justify-content:"+t.mobile+';} .footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu .menu-item {')+"justify-content:"+t.mobile+";align-items: "+t.mobile+';} .footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-horizontal-menu {')+"justify-content: "+t.mobile+";display: flex;} } ",astra_add_dynamic_css("footer-menu-alignment",e))})}),astra_responsive_font_size("astra-settings[footer-menu-font-size]",o+" .menu-item > a"),astra_color_responsive_css("astra-footer-menu-preview","astra-settings[footer-menu-color-responsive]","color",o+" .menu-item > a"),astra_color_responsive_css("astra-footer-menu-preview","astra-settings[footer-menu-h-color-responsive]","color",o+" .menu-item:hover > a"),astra_color_responsive_css("astra-footer-menu-preview","astra-settings[footer-menu-a-color-responsive]","color",o+" .menu-item.current-menu-item > a"),astra_apply_responsive_background_css("astra-settings[footer-menu-bg-obj-responsive]",o,"desktop"),astra_apply_responsive_background_css("astra-settings[footer-menu-bg-obj-responsive]",o,"tablet"),astra_apply_responsive_background_css("astra-settings[footer-menu-bg-obj-responsive]",o,"mobile"),astra_color_responsive_css("astra-footer-menu-preview","astra-settings[footer-menu-h-bg-color-responsive]","background",o+" .menu-item:hover > a"),astra_color_responsive_css("astra-footer-menu-preview","astra-settings[footer-menu-a-bg-color-responsive]","background",o+" .menu-item.current-menu-item > a"),wp.customize("astra-settings[footer-main-menu-spacing]",function(t){t.bind(function(t){var e;""==t.desktop.bottom&&""==t.desktop.top&&""==t.desktop.left&&""==t.desktop.right&&""==t.tablet.bottom&&""==t.tablet.top&&""==t.tablet.left&&""==t.tablet.right&&""==t.mobile.bottom&&""==t.mobile.top&&""==t.mobile.left&&""==t.mobile.right||(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e="")+o+" .menu-item > a {padding-left: "+t.desktop.left+t["desktop-unit"]+";")+"padding-right: "+t.desktop.right+t["desktop-unit"]+";")+"padding-top: "+t.desktop.top+t["desktop-unit"]+";")+"padding-bottom: "+t.desktop.bottom+t["desktop-unit"]+";")+"} @media (max-width: "+i+"px) {")+o+" .menu-item > a {padding-left: "+t.tablet.left+t["tablet-unit"]+";")+"padding-right: "+t.tablet.right+t["tablet-unit"]+";")+"padding-top: "+t.tablet.top+t["tablet-unit"]+";")+"padding-bottom: "+t.tablet.bottom+t["tablet-unit"]+";} ")+"} @media (max-width: "+a+"px) {")+o+" .menu-item > a {padding-left: "+t.mobile.left+t["mobile-unit"]+";")+"padding-right: "+t.mobile.right+t["mobile-unit"]+";")+"padding-top: "+t.mobile.top+t["mobile-unit"]+";")+"padding-bottom: "+t.mobile.bottom+t["mobile-unit"]+";} } ",astra_add_dynamic_css("footer-menu-spacing",e))})}),wp.customize("astra-settings[section-footer-menu-margin]",function(t){t.bind(function(t){var e;""==t.desktop.bottom&&""==t.desktop.top&&""==t.desktop.left&&""==t.desktop.right&&""==t.tablet.bottom&&""==t.tablet.top&&""==t.tablet.left&&""==t.tablet.right&&""==t.mobile.bottom&&""==t.mobile.top&&""==t.mobile.left&&""==t.mobile.right||(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e="")+o+" {margin-left: "+t.desktop.left+t["desktop-unit"]+";")+"margin-right: "+t.desktop.right+t["desktop-unit"]+";")+"margin-top: "+t.desktop.top+t["desktop-unit"]+";")+"margin-bottom: "+t.desktop.bottom+t["desktop-unit"]+";")+"} @media (max-width: "+i+"px) {")+o+" {margin-left: "+t.tablet.left+t["tablet-unit"]+";")+"margin-right: "+t.tablet.right+t["tablet-unit"]+";")+"margin-top: "+t.tablet.top+t["desktop-unit"]+";")+"margin-bottom: "+t.tablet.bottom+t["desktop-unit"]+";} ")+"} @media (max-width: "+a+"px) {")+o+" {margin-left: "+t.mobile.left+t["mobile-unit"]+";")+"margin-right: "+t.mobile.right+t["mobile-unit"]+";")+"margin-top: "+t.mobile.top+t["desktop-unit"]+";")+"margin-bottom: "+t.mobile.bottom+t["desktop-unit"]+";} } ",astra_add_dynamic_css("section-footer-menu-margin",e))})}),astra_builder_visibility_css("section-footer-menu",'.footer-widget-area[data-section="section-footer-menu"]',"block")})(jQuery); controllers/class-astra-builder-ui-controller.php 0000644 00000047326 15105312163 0016271 0 ustar 00 <?php /** * Astra Builder UI Controller. * * @package astra-builder */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Builder_UI_Controller' ) ) { /** * Class Astra_Builder_UI_Controller. */ final class Astra_Builder_UI_Controller { /** * Astra SVGs. * * @var mixed ast_svgs */ public static $ast_svgs = null; /** * Get an SVG Icon * * @param string $icon the icon name. * @param bool $base if the baseline class should be added. */ public static function fetch_svg_icon( $icon = '', $base = true ) { $output = '<span aria-hidden="true" class="ahfb-svg-iconset ast-inline-flex' . ( $base ? ' svg-baseline' : '' ) . '">'; /** @psalm-suppress DocblockTypeContradiction */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ! self::$ast_svgs ) { ob_start(); include_once ASTRA_THEME_DIR . 'assets/svg/svgs.json'; // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound self::$ast_svgs = json_decode( ob_get_clean(), true ); self::$ast_svgs = apply_filters( 'astra_svg_icons', self::$ast_svgs ); } $output .= isset( self::$ast_svgs[ $icon ] ) ? self::$ast_svgs[ $icon ] : ''; $output .= '</span>'; return $output; } /** * Prepare Social Icon HTML. * * @param string $index The Index of the social icon. * @param string $builder_type the type of the builder. */ public static function render_social_icon( $index, $builder_type = 'header' ) { $items = astra_get_option( $builder_type . '-social-icons-' . $index ); $items = isset( $items['items'] ) ? $items['items'] : array(); $show_label = astra_get_option( $builder_type . '-social-' . $index . '-label-toggle' ); $color_type = astra_get_option( $builder_type . '-social-' . $index . '-color-type' ); $social_stack = astra_get_option( $builder_type . '-social-' . $index . '-stack', 'none' ); echo '<div class="ast-' . esc_attr( $builder_type ) . '-social-' . esc_attr( $index ) . '-wrap ast-' . esc_attr( $builder_type ) . '-social-wrap">'; if ( is_customize_preview() ) { self::render_customizer_edit_button(); } echo '<div class="' . esc_attr( $builder_type ) . '-social-inner-wrap element-social-inner-wrap social-show-label-' . ( $show_label ? 'true' : 'false' ) . ' ast-social-color-type-' . esc_attr( $color_type ) . ' ast-social-stack-' . esc_attr( $social_stack ) . ' ast-social-element-style-filled">'; if ( is_array( $items ) && ! empty( $items ) ) { foreach ( $items as $item ) { if ( $item['enabled'] ) { $link = $item['url']; switch ( $item['id'] ) { case 'phone': $link = 'tel:' . $item['url']; break; case 'email': $link = 'mailto:' . $item['url']; break; case 'whatsapp': $link = 'https://api.whatsapp.com/send?phone=' . $item['url']; break; } /** * Filter the social links rel attribute. * * @param string $rel Social link's rel attribute. * @param array $item Social icon item. * * @since 4.8.10 * * @psalm-suppress TooManyArguments */ $rel = apply_filters( 'astra_social_icon_attribute_rel', 'noopener noreferrer', $item ); echo sprintf( '<a href="%s" aria-label="%s" %s style="--color: %s; --background-color: %s;" class="ast-builder-social-element ast-inline-flex ast-%s %s-social-item">', esc_url( $link ), esc_attr( $item['label'] ? $item['label'] : $item['id'] ), in_array( $item['id'], array( 'phone', 'email' ), true ) ? '' : sprintf( 'target="_blank" rel="%s"', esc_attr( $rel ) ), esc_attr( ! empty( $item['color'] ) ? $item['color'] : '#3a3a3a' ), esc_attr( ! empty( $item['background'] ) ? $item['background'] : 'transparent' ), esc_attr( $item['id'] ), esc_attr( $builder_type ) ); echo self::fetch_svg_icon( $item['icon'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped if ( $show_label ) { echo '<span class="social-item-label">' . esc_html( $item['label'] ) . '</span>'; } echo '</a>'; } } } echo apply_filters( 'astra_social_icons_after', '' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '</div>'; echo '</div>'; } /** * Prepare HTML Markup. * * @param string $index Key of the HTML Control. */ public static function render_html_markup( $index = 'header-html-1' ) { $theme_author = astra_get_theme_author_details(); $content = astra_get_i18n_option( $index, Astra_Builder_Helper::get_translatable_string( $index ) ); if ( $content || is_customize_preview() ) { $link_style = ''; echo '<div class="ast-header-html inner-link-style-' . esc_attr( $link_style ) . '">'; if ( is_customize_preview() ) { self::render_customizer_edit_button(); } echo '<div class="ast-builder-html-element">'; $content = str_replace( '[copyright]', '©', $content ); $content = str_replace( '[current_year]', gmdate( 'Y' ), $content ); $content = str_replace( '[site_title]', get_bloginfo( 'name' ), $content ); $content = str_replace( '[theme_author]', '<a href=" ' . esc_url( $theme_author['theme_author_url'] ) . '" rel="nofollow noopener" target="_blank">' . $theme_author['theme_name'] . '</a>', $content ); // First applying wpautop to handle paragraphs, then removing extra <p> around shortcodes. $content = shortcode_unautop( wpautop( $content ) ); echo do_shortcode( wp_kses_post( $content ) ); echo '</div>'; echo '</div>'; } } /** * Prepare Edit icon inside customizer. * * @param string $class custom class. * @since 3.9.4 */ public static function render_customizer_edit_button( $class = '' ) { ?> <div class="customize-partial-edit-shortcut <?php echo esc_attr( $class ); ?>" data-id="ahfb"> <button aria-label="<?php esc_attr_e( 'Click to edit this element.', 'astra' ); ?>" title="<?php esc_attr_e( 'Click to edit this element.', 'astra' ); ?>" class="customize-partial-edit-shortcut-button item-customizer-focus"> <?php echo self::fetch_svg_icon( 'edit' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </button> </div> <?php } /** * Prepare Special Edit navigatory trigger for Builder Grid Rows in customizer. * * @param string $type Header / Footer row type. * @param string $row_position Above / Primary / Below. * * @since 3.0.0 */ public static function render_grid_row_customizer_edit_button( $type, $row_position ) { ?> <div class="customize-partial-edit-shortcut row-editor-shortcut" data-id="ahfb"> <button aria-label="<?php esc_attr_e( 'Click to edit this element.', 'astra' ); ?>" title="<?php esc_attr_e( 'Click to edit this Row.', 'astra' ); ?>" class="item-customizer-focus"> <?php echo self::fetch_svg_icon( 'edit' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </button> </div> <?php } /** * Prepare Edit navigatory trigger for Banner Section in customizer. * * @since 3.9.0 */ public static function render_banner_customizer_edit_button() { ?> <div class="customize-partial-edit-shortcut banner-editor-shortcut" data-id="ahfb"> <button aria-label="<?php esc_attr_e( 'Click to edit this element.', 'astra' ); ?>" title="<?php esc_attr_e( 'Click to edit this Row.', 'astra' ); ?>" class="item-customizer-focus"> <?php echo self::fetch_svg_icon( 'edit' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </button> </div> <?php } /** * Render Trigger Markup. * * @since 3.0.0 */ public static function render_mobile_trigger() { $icon = astra_get_option( 'header-trigger-icon' ); $mobile_label = astra_get_i18n_option( 'mobile-header-menu-label', _x( '%astra%', 'Primary Menu: Menu Label (Mobile Menu)', 'astra' ) ); $toggle_btn_style = astra_get_option( 'mobile-header-toggle-btn-style' ); $aria_controls = ''; if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { $aria_controls = 'aria-controls="primary-menu"'; } ?> <div class="ast-button-wrap"> <button type="button" class="menu-toggle main-header-menu-toggle ast-mobile-menu-trigger-<?php echo esc_attr( $toggle_btn_style ); ?>" <?php echo apply_filters( 'astra_nav_toggle_data_attrs', '' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> <?php echo esc_attr( $aria_controls ); ?> aria-expanded="false"> <span class="screen-reader-text">Main Menu</span> <span class="mobile-menu-toggle-icon"> <?php echo self::fetch_svg_icon( $icon ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo self::fetch_svg_icon( 'close' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </span> <?php if ( ! empty( $mobile_label ) ) { ?> <span class="mobile-menu-wrap"> <span class="mobile-menu"><?php echo esc_html( $mobile_label ); ?></span> </span> <?php } ?> </button> </div> <?php } /** * Prepare Button HTML. * * @param string $index The Index of the button. * @param string $builder_type the type of the builder. */ public static function render_button( $index, $builder_type = 'header' ) { if ( is_customize_preview() ) { self::render_customizer_edit_button(); } $button_size = astra_get_option( $builder_type . '-button' . $index . '-size' ); echo '<div class="ast-builder-button-wrap ast-builder-button-size-' . $button_size . '">'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo astra_get_custom_button( $builder_type . '-button' . $index . '-text', $builder_type . '-button' . $index . '-link-option', 'header-button' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '</div>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * Site Identity. * * @param string $device Device name. */ public static function render_site_identity( $device ) { ?> <div <?php echo wp_kses_post( astra_attr( 'site-identity', array( 'class' => 'site-branding ast-site-identity', ) ) ); ?> > <?php // placed inside site-identity div to prevent multiple edit buttons. if ( is_customize_preview() ) { self::render_customizer_edit_button(); } astra_logo( $device ); ?> </div> <!-- .site-branding --> <?php } /** * Render Mobile Cart Flyout Markup. * * @since 3.1.0 */ public static function render_mobile_cart_flyout_markup() { $flyout_cart_width = astra_get_option( 'woo-slide-in-cart-width' ); $flyout_cart_width_desktop = isset( $flyout_cart_width['desktop'] ) ? $flyout_cart_width['desktop'] : ''; $flyout_cart_width_desktop_unit = isset( $flyout_cart_width['desktop-unit'] ) ? $flyout_cart_width['desktop-unit'] : ''; $flyout_cart_unit_breakpoint = 'px' === $flyout_cart_width_desktop_unit ? 500 : 50; $is_width_long = $flyout_cart_width_desktop && $flyout_cart_width_desktop > $flyout_cart_unit_breakpoint ? 'ast-large-view' : ''; ?> <div class="astra-mobile-cart-overlay"></div> <div id="astra-mobile-cart-drawer" class="astra-cart-drawer"> <div class="astra-cart-drawer-header"> <button tabindex="0" type="button" class="astra-cart-drawer-close" aria-label="<?php echo esc_attr__( 'Close Cart Drawer', 'astra' ); ?>"> <?php echo self::fetch_svg_icon( 'close' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </button> <div class="astra-cart-drawer-title"> <?php echo apply_filters( 'astra_header_cart_flyout_shopping_cart_text', __( 'Shopping Cart', 'astra' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> </div> </div> <div class="astra-cart-drawer-content <?php echo esc_attr( $is_width_long ); ?>"> <?php if ( class_exists( 'Astra_Woocommerce' ) ) { the_widget( 'WC_Widget_Cart', 'title=' ); } if ( class_exists( 'Easy_Digital_Downloads' ) ) { the_widget( 'edd_cart_widget', 'title=' ); } ?> </div> </div> <?php } /** * Account HTML. */ public static function render_account() { $is_logged_in = is_user_logged_in(); $link_href = ''; $new_tab = ''; $link_rel = ''; $account_link = ''; $link_url = ''; $logout_preview = astra_get_option( 'header-account-logout-preview' ); $is_customizer = is_customize_preview(); $logged_out_style = astra_get_option( 'header-account-logout-style' ); if ( ! $is_logged_in && 'none' === $logged_out_style ) { return; } $icon_skin = '' !== astra_get_option( 'header-account-icon-type' ) ? astra_get_option( 'header-account-icon-type' ) : 'account-1'; ?> <div class="ast-header-account-wrap" tabindex="0"> <?php if ( $is_customizer ) { self::render_customizer_edit_button(); } /** @psalm-suppress RedundantConditionGivenDocblockType */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( $is_logged_in && ( ( ! $logout_preview || ( 'none' === $logged_out_style && $logout_preview ) && $is_customizer ) || ( ! $is_customizer ) ) ) { $account_type = astra_get_option( 'header-account-type' ); $login_profile_type = astra_get_option( 'header-account-login-style' ); $extend_text_profile_type = astra_get_option( 'header-account-login-style-extend-text-profile-type' ); $action_type = astra_get_option( 'header-account-action-type' ); $link_type = astra_get_option( 'header-account-link-type' ); $account_link = astra_get_option( 'header-account-login-link' ); $show_menu = astra_get_option( 'header-account-action-menu-display-on' ); $logged_in_text = astra_get_i18n_option( 'header-account-logged-in-text', _x( '%astra%', 'Header Builder: Account Widget - Logged In View Text', 'astra' ) ); if ( 'default' !== $account_type && 'default' === $link_type && defined( 'ASTRA_EXT_VER' ) ) { $new_tab = 'target=_self'; if ( 'woocommerce' === $account_type && class_exists( 'WooCommerce' ) ) { $woocommerce_link = get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ); $link_url = $woocommerce_link ? $woocommerce_link : ''; } elseif ( 'lifterlms' === $account_type && class_exists( 'LifterLMS' ) ) { $lifterlms_link = get_permalink( llms_get_page_id( 'myaccount' ) ); $link_url = $lifterlms_link ? $lifterlms_link : ''; } } elseif ( '' !== $account_link && '' !== $account_link['url'] ) { $link_url = $account_link['url']; $new_tab = ( $account_link['new_tab'] ? 'target=_blank' : 'target=_self' ); $link_rel = ( ! empty( $account_link['link_rel'] ) ? 'rel=' . esc_attr( $account_link['link_rel'] ) : '' ); } if ( $action_type === 'link' || 'hover' === $show_menu ) { $link_href = '' !== $link_url ? 'href=' . esc_url( $link_url ) : ''; } $link_classes = array( 'ast-header-account-link', 'ast-account-action-' . $action_type, ); if ( 'text' !== $login_profile_type ) { $link_classes[] = 'ast-header-account-type-' . $login_profile_type; } else { if ( 'default' === $extend_text_profile_type ) { $link_classes[] = 'ast-header-account-type-' . $login_profile_type; } else { // Make sure, we set the common class as before so that we can adapt to existing CSS styles. $link_classes[] = 'ast-header-account-type-' . $extend_text_profile_type; $link_classes[] = 'ast-header-account-type-extend-text-profile-type'; } } ?> <div class="ast-header-account-inner-wrap"> <a class="<?php echo esc_attr( implode( ' ', $link_classes ) ); ?>" role="link" aria-label="<?php esc_attr_e( 'Account icon link', 'astra' ); ?>" <?php echo esc_attr( $link_href . ' ' . $new_tab . ' ' . $link_rel ); ?> > <?php if ( 'avatar' === $login_profile_type ) { echo get_avatar( get_current_user_id() ); } elseif ( 'icon' === $login_profile_type ) { echo self::fetch_svg_icon( $icon_skin ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } elseif ( 'text' === $login_profile_type ) { if ( 'avatar' === $extend_text_profile_type ) { echo get_avatar( get_current_user_id() ); } elseif ( 'icon' === $extend_text_profile_type ) { echo self::fetch_svg_icon( $icon_skin ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } ?> <span class="ast-header-account-text"><?php echo esc_html( $logged_in_text ); ?></span> <?php } ?> </a> <?php if ( defined( 'ASTRA_EXT_VER' ) && 'menu' === $action_type ) { Astra_Header_Account_Component::account_menu_markup(); } ?> </div> <?php } elseif ( ( 'none' !== $logged_out_style ) && ( ! $is_logged_in || ( $is_logged_in && $logout_preview && $is_customizer ) ) ) { ?> <?php $action_type = astra_get_option( 'header-account-logout-action' ); $logged_out_text = astra_get_i18n_option( 'header-account-logged-out-text', _x( '%astra%', 'Header Builder: Account Widget - Logged Out View Text', 'astra' ) ); $login_link = astra_get_option( 'header-account-logout-link' ); $extend_text_profile_type = astra_get_option( 'header-account-logout-style-extend-text-profile-type' ); $logged_out_style_class = array( 'ast-header-account-link', 'ast-account-action-' . $action_type, ); if ( 'text' !== $logged_out_style ) { $logged_out_style_class[] = 'ast-header-account-type-' . $logged_out_style; } else { if ( 'default' === $extend_text_profile_type ) { $logged_out_style_class[] = 'ast-header-account-type-' . $logged_out_style; } else { // Make sure, we set the common class as before so that we can adapt to existing CSS styles. $logged_out_style_class[] = 'ast-header-account-type-' . $extend_text_profile_type; $logged_out_style_class[] = 'ast-header-account-type-extend-text-profile-type'; } } if ( '' !== $login_link && '' !== $login_link['url'] ) { $current_url = home_url( add_query_arg( array(), $GLOBALS['wp']->request ) ); $default_login = wp_login_url(); if ( $default_login === $login_link['url'] ) { $login_link['url'] = wp_login_url( $current_url ); } $link_url = $login_link['url']; $new_tab = ( $login_link['new_tab'] ? 'target=_blank' : 'target=_self' ); $link_rel = ( ! empty( $login_link['link_rel'] ) ? 'rel=' . esc_attr( $login_link['link_rel'] ) : '' ); } $link_href = 'href=' . esc_url( $link_url ) . ''; ?> <a class="<?php echo esc_attr( implode( ' ', $logged_out_style_class ) ); ?>" aria-label="<?php esc_attr_e( 'Account icon link', 'astra' ); ?>" <?php echo esc_attr( $link_href . ' ' . $new_tab . ' ' . $link_rel ); ?> > <?php if ( 'icon' === $logged_out_style ) { ?> <?php echo self::fetch_svg_icon( $icon_skin ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> <?php } elseif ( 'text' === $logged_out_style ) { if ( 'icon' === $extend_text_profile_type ) { echo self::fetch_svg_icon( $icon_skin ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } ?> <span class="ast-header-account-text"><?php echo esc_html( $logged_out_text ); ?></span> <?php } ?> </a> <?php /** * The login popup form is moved to footer from here @since 4.6.12 * * @see Astra Addon -> Astra_Addon_Header_Account_Markup::login_popup_form_markup */ ?> <?php } ?> </div> <?php } } } ?> controllers/class-astra-builder-widget-controller.php 0000644 00000006232 15105312163 0017126 0 ustar 00 <?php /** * Astra Builder Widget Controller. * * @package astra-builder */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Builder_Widget_Controller' ) ) { /** * Class Astra_Builder_Widget_Controller. */ final class Astra_Builder_Widget_Controller { /** * Member Variable * * @var mixed instance */ private static $instance = null; /** * Initiator */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { add_action( 'widgets_init', array( $this, 'widget_init' ) ); add_filter( 'customize_section_active', array( $this, 'display_sidebar' ), 99, 2 ); } /** * Display sidebar as section. * * @param bool $active ios active. * @param object $section section. * @return bool */ public function display_sidebar( $active, $section ) { if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { return $active; } if ( strpos( $section->id, 'widgets-footer-widget-' ) || strpos( $section->id, 'widgets-header-widget-' ) ) { $active = true; } return $active; } /** * Initiate Astra Widgets. */ public function widget_init() { if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { return; } // Register Footer Widgets. $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_footer_widgets; for ( $index = 1; $index <= $component_limit; $index++ ) { if ( ! is_customize_preview() && ! Astra_Builder_Helper::is_component_loaded( 'widget-' . $index, 'footer' ) ) { continue; } $this->register_sidebar( $index, 'footer' ); } $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_widgets; for ( $index = 1; $index <= $component_limit; $index++ ) { if ( ! is_customize_preview() && ! Astra_Builder_Helper::is_component_loaded( 'widget-' . $index, 'header' ) ) { continue; } $this->register_sidebar( $index, 'header' ); } } /** * Register widget for the builder. * * @param int $index index of widget. * @param string $builder_type builder type. */ public function register_sidebar( $index, $builder_type = 'header' ) { register_sidebar( apply_filters( 'astra_' . $builder_type . '_widget_' . $index . 'args', array( 'name' => ucfirst( $builder_type ) . ' Builder Widget ' . $index, 'id' => $builder_type . '-widget-' . $index, 'description' => esc_html__( 'Add widgets here:', 'astra' ), 'before_widget' => '<section id="%1$s" class="widget %2$s">', 'after_widget' => '</section>', 'before_title' => '<h2 class="widget-title">', 'after_title' => '</h2>', ) ) ); } } /** * Prepare if class 'Astra_Builder_Widget_Controller' exist. * Kicking this off by calling 'get_instance()' method */ Astra_Builder_Widget_Controller::get_instance(); } desktop-builder-layout.php 0000644 00000001254 15110121035 0011654 0 ustar 00 <?php /** * Template part for displaying the footer info. * * @link https://codex.wordpress.org/Template_Hierarchy * * @package Astra * @since 1.0.0 */ ?> <footer <?php echo wp_kses_post( astra_attr( 'footer', array( 'id' => 'colophon', 'class' => join( ' ', astra_get_footer_classes() ), ) ) ); ?> > <?php astra_footer_content_top(); ?> <?php /** * Astra Top footer */ do_action( 'astra_above_footer' ); /** * Astra Middle footer */ do_action( 'astra_primary_footer' ); /** * Astra Bottom footer */ do_action( 'astra_below_footer' ); ?> <?php astra_footer_content_bottom(); ?> </footer><!-- #colophon --> components.php 0000644 00000010115 15110121035 0007425 0 ustar 00 <?php /** * Template part for displaying the footer component. * * @package Astra */ $astra_component_slug = get_query_var( 'type' ); if ( astra_wp_version_compare( '5.4.99', '>=' ) ) { $astra_component_slug = wp_parse_args( $args, array( 'type' => '' ) ); $astra_component_slug = isset( $astra_component_slug['type'] ) ? $astra_component_slug['type'] : ''; } switch ( $astra_component_slug ) { case 'copyright': ?> <div class="ast-builder-layout-element ast-flex site-footer-focus-item ast-footer
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Generation time: 0.04 |
proxy
|
phpinfo
|
Settings