( function( $, api ) { var $document = $( document ); wp.customize.bind( 'preview-ready', function() { var defaultTarget = window.parent === window ? null : window.parent; $document.on( 'click', '.site-header-focus-item .item-customizer-focus, .builder-item-focus .edit-row-action', function(e) { e.preventDefault(); e.stopPropagation(); var p = $( this ).closest( '.site-header-focus-item' ); var section_id = p.attr( 'data-section' ) || ''; if ( section_id ) { if ( defaultTarget.wp.customize.section( section_id ) ) { defaultTarget.wp.customize.section( section_id ).focus(); } } } ); $document.on( 'click', '.site-footer-focus-item .item-customizer-focus', function(e) { e.preventDefault(); e.stopPropagation(); var p = $( this ).closest( '.site-footer-focus-item' ); var section_id = p.attr( 'data-section' ) || ''; if ( section_id ) { if ( defaultTarget.wp.customize.section( section_id ) ) { defaultTarget.wp.customize.section( section_id ).focus(); } } } ); /** * Register partial refresh events at once asynchronously. */ wp.customize.preview.bind( 'active', function() { var partials = $.extend({}, astraCustomizer.dynamic_partial_options), key; var register_partial = async function () { for ( key in partials) { wp.customize.selectiveRefresh.partial.add( new wp.customize.selectiveRefresh.Partial( key, _.extend({params: partials[key]}, partials[key]) ) ); await null; } } register_partial(); }); } ); /** * Inline logo and title css only. */ wp.customize( 'astra-settings[logo-title-inline]', function( value ) { value.bind( function( is_checked ) { jQuery('#masthead').toggleClass( 'ast-logo-title-inline', is_checked ); } ); } ); } )( jQuery, wp ); /** * Apply Advanced CSS for the element * * @param string section Section ID. * @param string selector Base Selector. */ function astra_builder_advanced_css( section, selector ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; // Padding. wp.customize( 'astra-settings[' + section + '-padding]', function( value ) { value.bind( function( padding ) { if( ! padding.hasOwnProperty('desktop') ) { return } 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 + ' {'; 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 + ' {'; 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 + ' {'; 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( section + '-padding-toggle-button', dynamicStyle ); } else { astra_add_dynamic_css( section + '-padding-toggle-button', '' ); } } ); } ); // Margin. wp.customize( 'astra-settings[' + section + '-margin]', function( value ) { value.bind( function( margin ) { if( ! margin.hasOwnProperty('desktop') ) { return } 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['tablet-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['tablet-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['mobile-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['mobile-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( section + '-margin-toggle-button', dynamicStyle ); } else { astra_add_dynamic_css( section + '-margin-toggle-button', '' ); } } ); } ); } // Single Post Content Width wp.customize( 'astra-settings[blog-single-width]', function( value ) { value.bind( function( value ) { var single_post_max_width = wp.customize('astra-settings[blog-single-max-width]').get(); var dynamicStyle = ''; if ( 'custom' === value ) { dynamicStyle += '.single-post .site-content > .ast-container {'; dynamicStyle += 'max-width: ' + single_post_max_width + 'px;'; dynamicStyle += '} '; } astra_add_dynamic_css( 'blog-single-width', dynamicStyle ); } ); } ); // Blog Post Content Width wp.customize( 'astra-settings[blog-width]', function( value ) { value.bind( function( value ) { var blog_max_width = wp.customize('astra-settings[blog-max-width]').get(); var dynamicStyle = ''; if ( 'custom' === value ) { dynamicStyle += '.blog .site-content > .ast-container, .archive .site-content > .ast-container, .search .site-content > .ast-container {'; dynamicStyle += 'max-width: ' + blog_max_width + 'px;'; dynamicStyle += '} '; } astra_add_dynamic_css( 'blog-width', dynamicStyle ); } ); } ); // Blog Post Content Width wp.customize( 'astra-settings[edd-archive-grids]', function( value ) { value.bind( function( value ) { for ( var i = 1; i < 7; i++ ) { jQuery('body').removeClass( 'columns-' + i ); jQuery('body').removeClass( 'tablet-columns-' + i ); jQuery('body').removeClass( 'mobile-columns-' + i ); } if ( jQuery('body').hasClass( 'ast-edd-archive-page' ) ) { jQuery('body').addClass( 'columns-' + value['desktop'] ); jQuery('body').addClass( 'tablet-columns-' + value['tablet'] ); jQuery('body').addClass( 'mobile-columns-' + value['mobile'] ); } } ); } ); // Blog Post Content Width wp.customize( 'astra-settings[edd-archive-width]', function( value ) { value.bind( function( value ) { var edd_archive_max_width = wp.customize('astra-settings[edd-archive-max-width]').get(); edd_archive_max_width = ( 'custom' === value ) ? edd_archive_max_width : edd_archive_max_width + 40; var dynamicStyle = ''; dynamicStyle += '.ast-edd-archive-page .site-content > .ast-container {'; dynamicStyle += 'max-width: ' + edd_archive_max_width + 'px;'; dynamicStyle += '} '; astra_add_dynamic_css( 'edd-archive-width', dynamicStyle ); } ); } ); // Global Typography Refresh - START const bodyFontFamily = [ 'body-font-family', 'body-font-variant', 'font-size-body', 'body-font-weight', 'body-text-transform', 'body-line-height', 'headings-font-family', 'headings-font-variant', 'headings-font-weight', 'headings-text-transform', 'headings-line-height' ]; bodyFontFamily.forEach(element => { // Body Font Family wp.customize( 'astra-settings['+element+']', function( value ) { value.bind( function( value ) { wp.customize.preview.send( 'refresh' ); } ); } ); }); // Global Typography Refresh - END