From 9d4123cee1867ee7199b06bdc92d40611f547ecc Mon Sep 17 00:00:00 2001 From: Zach van Rijn Date: Wed, 21 Jul 2021 14:54:07 -0500 Subject: Initial unmodified import from Astra (Version: 3.6.5) @ /wp-content/themes/astra/. --- .../type/base/assets/js/customizer-preview.js | 717 +++++++++++++++++++++ 1 file changed, 717 insertions(+) create mode 100644 inc/builder/type/base/assets/js/customizer-preview.js (limited to 'inc/builder/type/base/assets') diff --git a/inc/builder/type/base/assets/js/customizer-preview.js b/inc/builder/type/base/assets/js/customizer-preview.js new file mode 100644 index 0000000..0e1514d --- /dev/null +++ b/inc/builder/type/base/assets/js/customizer-preview.js @@ -0,0 +1,717 @@ +/** + * 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' + ); + + // Border Radius. + astra_css( + 'astra-settings[' + builder_type + '-' + prefix + '-border-radius]', + 'border-radius', + selector + ' .ast-custom-button', + 'px' + ); + + // 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) { + 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 Border Radius. + astra_css( + 'astra-settings[' + builder_type + '-social-' + index + '-radius]', + 'border-radius', + selector + ' .' + builder_type + '-social-inner-wrap .ast-builder-social-element', + 'px' + ); + + // 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' + ); + + // Widget Title Typography. + astra_responsive_font_size( + 'astra-settings[' + builder_type + '-widget-' + index + '-font-size]', + selector + ' .widget-title' + ); + + // 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; + + // Header Desktop visibility. + wp.customize( 'astra-settings[' + section + '-hide-desktop]', function( setting ) { + setting.bind( function( desktop_visible ) { + + var dynamicStyle = ''; + var is_hidden = ( ! desktop_visible ) ? default_property : 'none'; + + dynamicStyle += selector + ' {'; + dynamicStyle += 'display: ' + is_hidden + ';'; + dynamicStyle += '} '; + + astra_add_dynamic_css( section + '-hide-desktop', dynamicStyle ); + } ); + + } ); + + // Header Tablet visibility. + wp.customize( 'astra-settings[' + section + '-hide-tablet]', function( setting ) { + setting.bind( function( tablet_visible ) { + + var dynamicStyle = ''; + var is_hidden = ( ! tablet_visible ) ? default_property : 'none'; + + dynamicStyle += '@media (min-width: ' + mobile_break_point + 'px) and (max-width: ' + tablet_break_point + 'px) {'; + dynamicStyle += '.ast-header-break-point ' + selector + ' {'; + dynamicStyle += 'display: ' + is_hidden + ';'; + dynamicStyle += '} '; + dynamicStyle += '} '; + + astra_add_dynamic_css( section + '-hide-tablet', dynamicStyle ); + } ); + + } ); + + // Header Mobile visibility. + wp.customize( 'astra-settings[' + section + '-hide-mobile]', function( setting ) { + setting.bind( function( mobile_visible ) { + + var dynamicStyle = ''; + var is_hidden = ( ! mobile_visible ) ? default_property : 'none'; + + dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; + dynamicStyle += '.ast-header-break-point ' + selector + ' {'; + dynamicStyle += 'display: ' + is_hidden + ';'; + dynamicStyle += '} '; + dynamicStyle += '} '; + + astra_add_dynamic_css( section + '-hide-mobile', dynamicStyle ); + } ); + } ); +} -- cgit v1.2.3-60-g2f50