diff options
author | Zach van Rijn <me@zv.io> | 2021-07-21 14:54:07 -0500 |
---|---|---|
committer | Zach van Rijn <me@zv.io> | 2021-07-21 14:54:07 -0500 |
commit | 9d4123cee1867ee7199b06bdc92d40611f547ecc (patch) | |
tree | 6d864e2725242863afed1f8ba12d9c7a9bc63a69 /inc/builder/type/header/primary-header/dynamic-css | |
download | blog-ng-9d4123cee1867ee7199b06bdc92d40611f547ecc.tar.gz blog-ng-9d4123cee1867ee7199b06bdc92d40611f547ecc.tar.bz2 blog-ng-9d4123cee1867ee7199b06bdc92d40611f547ecc.tar.xz blog-ng-9d4123cee1867ee7199b06bdc92d40611f547ecc.zip |
Initial unmodified import from Astra (Version: 3.6.5) @ /wp-content/themes/astra/.
Diffstat (limited to 'inc/builder/type/header/primary-header/dynamic-css')
-rw-r--r-- | inc/builder/type/header/primary-header/dynamic-css/dynamic.css.php | 238 |
1 files changed, 238 insertions, 0 deletions
diff --git a/inc/builder/type/header/primary-header/dynamic-css/dynamic.css.php b/inc/builder/type/header/primary-header/dynamic-css/dynamic.css.php new file mode 100644 index 0000000..3d9caf8 --- /dev/null +++ b/inc/builder/type/header/primary-header/dynamic-css/dynamic.css.php @@ -0,0 +1,238 @@ +<?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' ) || Astra_Builder_Helper::is_component_loaded( 'edd-cart', 'header' ) ) { + $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' ), + ), + ); + + $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( + '#masthead .ast-mobile-header-wrap .ast-primary-header-bar, #masthead .ast-mobile-header-wrap .ast-below-header-bar' => array( + 'padding-left' => '20px', + 'padding-right' => '20px', + ), + ); + + $parse_css .= astra_parse_css( $padding_below_breakpoint, '', astra_get_tablet_breakpoint() ); + + // Header Separator. + $header_separator = absint( astra_get_option( 'hb-header-main-sep' ) ); + + // Apply border only when it has positive value. + if ( $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_bg_obj = astra_get_option( 'hb-header-bg-obj-responsive' ); + + /** + * 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_Builder_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; +} |