/**
* Base Theme Customizer enhancements for a better user experience.
*
* Contains handlers to make Base Theme Customizer preview reload changes asynchronously.
*
* https://developer.wordpress.org/themes/customize-api/tools-for-improved-user-experience/#using-postmessage-for-improved-setting-previewing
*/
(function ($) {
function createStyleSheet(settingName, styles) {
var $styleElement;
style = '';
$styleElement = $('.' + settingName);
if ($styleElement.length) {
$styleElement.replaceWith(style);
} else {
$('head').append(style);
}
}
//
// Site title and description.
//
wp.customize('blogname', function (value) {
value.bind(function (to) {
$('.site-logo a').text(to);
});
});
wp.customize('blogdescription', function (value) {
value.bind(function (to) {
$('.site-tagline').text(to);
});
});
//
// Hero section
//
wp.customize('hero_text_color', function (value) {
value.bind(function (to) {
$('.page-hero').css('color', to);
});
});
wp.customize('hero_image', function (value) {
value.bind(function (to) {
$('.page-hero').css('background-image', 'url(' + to + ')');
});
});
wp.customize('hero_bg_color', function (value) {
value.bind(function (to) {
$('.page-hero').css('background-color', to);
});
});
wp.customize('hero_image_repeat', function (value) {
value.bind(function (to) {
$('.page-hero').css('background-repeat', to);
});
});
wp.customize('hero_image_position_x', function (value) {
value.bind(function (to) {
var $pageHero = $('.page-hero');
var currentPosition = $pageHero.css('background-position');
var newPosition = currentPosition.split(' ').map(function (pos, index) {
return index === 0 ? to : pos;
}).join(' ');
$pageHero.css('background-position', newPosition);
});
});
wp.customize('hero_image_position_y', function (value) {
value.bind(function (to) {
var $pageHero = $('.page-hero');
var currentPosition = $pageHero.css('background-position');
var newPosition = currentPosition.split(' ').map(function (pos, index) {
return index === 1 ? to : pos;
}).join(' ');
$pageHero.css('background-position', newPosition);
});
});
wp.customize('hero_image_attachment', function (value) {
value.bind(function (to) {
$('.page-hero').css('background-attachment', to);
});
});
wp.customize('hero_image_cover', function (value) {
value.bind(function (to) {
if (!to) {
$('.page-hero').css('background-size', 'auto');
} else {
$('.page-hero').css('background-size', 'cover');
}
});
});
//
// Header Top Menu Bar
//
wp.customize('header_top_bar_text_size', function (value) {
value.bind(function (to) {
$('.head-intro').css('font-size', to + 'px');
});
});
wp.customize('header_top_bar_text_color', function (value) {
value.bind(function (to) {
$('.head-intro').css('color', to);
});
});
wp.customize('header_top_bar_bg_color', function (value) {
value.bind(function (to) {
$('.head-intro').css('background-color', to);
});
});
//
// Header Main Menu Bar
//
wp.customize('header_primary_menu_padding', function (value) {
value.bind(function (to) {
$('.head-mast').css({
paddingTop: to + 'px',
paddingBottom: to + 'px'
});
});
});
wp.customize('header_primary_menu_text_size', function (value) {
value.bind(function (to) {
$('.navigation-main > li > a').css('.navigation-main > li > a', to + 'px');
});
});
//
// Footer Colors
//
wp.customize('footer_bg_color', function (value) {
value.bind(function (to) {
$('.footer-widgets').css('background-color', to);
});
});
wp.customize('footer_text_color', function (value) {
value.bind(function (to) {
$('.footer-widgets,' +
'.footer-widgets .widget,' +
'.footer-widgets .widget-title,' +
'.footer h1,.footer h2,.footer h3,' +
'.footer h4,.footer h5,.footer h6,' +
'.footer-widgets .ci-contact-widget-item i').css('color', to);
});
});
wp.customize('footer_link_color', function (value) {
value.bind(function (to) {
$('.footer-widgets a,' +
'.footer-widgets .widget a').css('color', to);
});
});
wp.customize('footer_element_backgrounds', function (value) {
value.bind(function (to) {
$('.footer .item-btn,' +
'.footer-widgets .social-icon,' +
'.footer .ci-box-callout,' +
'.footer .widget_nav_menu a').css('background-color', to);
$('.footer .ci-schedule-widget-table tr').css('border-color', to);
});
});
wp.customize('footer_border_color', function (value) {
value.bind(function (to) {
$('.footer .ci-contact-widget-item i,' +
'.footer .data-item-eyebrow').css('color', to);
$('.footer-info,' +
'.footer .entry-item-media-title a,' +
'.footer .widget-title,' +
'.footer .ci-contact-widget-item,' +
'.footer .data-item-wrap,' +
'.footer .data-item-row,' +
'.footer .widget_meta li a,' +
'.footer .widget_pages li a,' +
'.footer .widget_categories li a,' +
'.footer .widget_archive li a,' +
'.footer .widget_product_categories li a,' +
'.footer .widget_layered_nav li a,' +
'.footer .widget_recent_comments li,' +
'.footer .widget_rss li,' +
'.footer .widget_recent_entries li').css('border-color', to);
});
});
wp.customize('footer_bottom_bg_color', function (value) {
value.bind(function (to) {
$('.footer-info').css('background-color', to);
});
});
wp.customize('footer_bottom_text_color', function (value) {
value.bind(function (to) {
$('.footer-info').css('color', to);
});
});
wp.customize('footer_bottom_link_color', function (value) {
value.bind(function (to) {
$('.footer-info a').css('color', to);
});
});
wp.customize('footer_titles_color', function (value) {
value.bind(function (to) {
$('.footer .widget-title, .footer h1,.footer h2, ' +
'.footer h3, .footer h4, .footer h5, .footer h6').css('color', to);
});
});
//
// Sidebar Colors
//
wp.customize('sidebar_bg_color', function (value) {
value.bind(function (to) {
$('.sidebar').css({
backgroundColor: to,
padding: '20px',
});
});
});
wp.customize('sidebar_text_color', function (value) {
value.bind(function (to) {
$('.sidebar,' +
'.sidebar .widget,' +
'.sidebar .data-item-value,' +
'.sidebar .ci-contact-widget-item i').css('color', to);
});
});
wp.customize('sidebar_link_color', function (value) {
value.bind(function (to) {
$('.sidebar a:not(.item-btn):not(.button):not(.remove),.sidebar .widget a:not(.item-btn):not(.button):not(.remove)').css('color', to);
});
});
wp.customize('sidebar_border_color', function (value) {
value.bind(function (to) {
$('.sidebar select, .sidebar input, .sidebar textarea').css('border-color', to);
$('.sidebar .widget_recent_comments li,' +
'.sidebar .widget_recent_entries li,' +
'.sidebar .widget_rss li,' +
'.sidebar .widget_meta li a,' +
'.sidebar .widget_pages li a,' +
'.sidebar .widget_categories li a,' +
'.sidebar .widget_archive li a,' +
'.sidebar .widget-title,' +
'.sidebar .social-icon,' +
'.sidebar .data-item-wrap,' +
'.sidebar .data-item-list .data-item-row,' +
'.sidebar .widget_nav_menu li a').css('border-bottom-color', to);
});
});
wp.customize('sidebar_titles_color', function (value) {
value.bind(function (to) {
$('.sidebar .widget-title').css('color', to);
});
});
//
// Button colors
//
wp.customize('site_button_bg_color', function (value) {
value.bind(function (to) {
$('.btn,' +
'.button,' +
'.comment-reply-link,' +
'input[type="submit"],' +
'input[type="reset"],' +
'button').css('background-color', to);
});
});
wp.customize('site_button_text_color', function (value) {
value.bind(function (to) {
$('.btn,' +
'.button,' +
'.comment-reply-link,' +
'input[type="submit"],' +
'input[type="reset"],' +
'button').css('color', to);
});
});
wp.customize('site_button_hover_bg_color', function (value) {
value.bind(function (to) {
var style = '';
var $el = $('.site_button_hover_bg_color');
if ($el.length) {
$el.replaceWith(style);
} else {
$('head').append(style);
}
});
});
wp.customize('site_button_hover_text_color', function (value) {
value.bind(function (to) {
var style = '';
var $el = $('.site_button_hover_bg_color');
if ($el.length) {
$el.replaceWith(style);
} else {
$('head').append(style);
}
});
});
wp.customize('site_button_border_color', function (value) {
value.bind(function (to) {
$('.btn,' +
'.button,' +
'.comment-reply-link,' +
'input[type="submit"],' +
'input[type="reset"],' +
'button')
.not('.customize-partial-edit-shortcut-button')
.css('border-color', to);
});
});
//
// Typography / Content
//
wp.customize('content_h1_size', function (value) {
value.bind(function (to) {
$('.entry-content h1, .entry-title').css('font-size', to + 'px');
});
});
wp.customize('content_h2_size', function (value) {
value.bind(function (to) {
$('.entry-content h2').css('font-size', to + 'px');
});
});
wp.customize('content_h3_size', function (value) {
value.bind(function (to) {
$('.entry-content h3').css('font-size', to + 'px');
});
});
wp.customize('content_h4_size', function (value) {
value.bind(function (to) {
$('.entry-content h4').css('font-size', to + 'px');
});
});
wp.customize('content_h5_size', function (value) {
value.bind(function (to) {
$('.entry-content h5').css('font-size', to + 'px');
});
});
wp.customize('content_h6_size', function (value) {
value.bind(function (to) {
$('.entry-content h6').css('font-size', to + 'px');
});
});
wp.customize('content_body_size', function (value) {
value.bind(function (to) {
$('.entry-content').css('font-size', to + 'px');
});
});
//
// Typography / Widgets
//
wp.customize('theme_widget_text_size', function (value) {
value.bind(function (to) {
$('.sidebar .widget,' +
'.footer .widget,' +
'.widget_meta li,' +
'.widget_pages li,' +
'.widget_categories li,' +
'.widget_archive li,' +
'.widget_nav_menu li,' +
'.widget_recent_entries li').css('font-size', to + 'px');
});
});
wp.customize('theme_widget_title_size', function (value) {
value.bind(function (to) {
$('.widget-title').css('font-size', to + 'px');
});
});
wp.customize('theme_lightbox', function (value) {
value.bind(function (to) {
if (to) {
$(".blockchain-lite-lightbox, a[data-lightbox^='gal']").magnificPopup({
type: 'image',
mainClass: 'mfp-with-zoom',
gallery: {
enabled: true
},
zoom: {
enabled: true
}
});
} else {
$(".blockchain-lite-lightbox, a[data-lightbox^='gal']").off('click');
}
});
});
//
// Theme global colors
//
wp.customize('site_accent_color', function (value) {
value.bind(function (to) {
createStyleSheet('site_accent_color', [
{
property: 'color',
value: to,
selectors: 'a,' +
'.entry-title a:hover,' +
'.entry-content blockquote::before,' +
'.entry-item-read-more .fa,' +
'.item-testimonial-content::before,' +
'.text-theme,' +
'.woocommerce-breadcrumb a:hover,' +
'.product_meta a,' +
'.star-rating,' +
'.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a:hover,' +
'.woocommerce-MyAccount-downloads .download-file a:hover,' +
'.woocommerce-Address-title a:hover,' +
'.widget_layered_nav_filters a:hover::before,' +
'.widget_layered_nav li.chosen a:hover::before'
},
{
property: 'background-color',
value: to,
selectors: '.widget_nav_menu a:hover,' +
'.widget_nav_menu .current-menu-item > a,' +
'.item-btn:hover,' +
'.main .social-icon:hover,' +
'.footer-widgets .social-icon:hover,' +
'.onsale,' +
'.woocommerce-product-gallery__trigger'
},
{
property: 'border-color',
value: to,
selectors: '.widget_meta li a:hover,' +
'.widget_pages li a:hover,' +
'.widget_categories li a:hover,' +
'.widget_archive li a:hover,' +
'.widget_product_categories li a:hover,' +
'.widget_layered_nav li a:hover,' +
'.navigation a:hover,' +
'.main .social-icon:hover,' +
'.qty:hover,' +
'.woocommerce-pagination a:hover,' +
'input,' +
'textarea,' +
'select,' +
'input:hover,' +
'textarea:hover,' +
'select:hover,' +
'input:focus,' +
'textarea:focus,' +
'select:focus,' +
'.navigation-main > li:hover > a, ' +
'.navigation-main > li > a:focus, ' +
'.navigation-main > .current-menu-item > a, ' +
'.navigation-main > .current-menu-parent > a, ' +
'.navigation-main > .current-menu-ancestor > a,' +
'.navigation-main > li > a:hover'
},
]);
});
});
wp.customize('site_secondary_accent_color', function (value) {
value.bind(function (to) {
createStyleSheet('site_secondary_accent_color', [
{
property: 'color',
value: to,
selectors: '.entry-title a,' +
'.entry-meta a,' +
'.entry-content blockquote,' +
'.entry-content-intro,' +
'.entry-item-title a,' +
'.entry-item-read-more,' +
'.entry-item-media-title a,' +
'.item-testimonial-content,' +
'.navigation a,' +
'.navigation .page-numbers,' +
'.widget-title,' +
'.ci-box-callout-title,' +
'ul.products > li .woocommerce-loop-product__title,' +
'.woocommerce-pagination > span,' +
'.woocommerce-pagination li span,' +
'ul.cart_list li > a,' +
'ul.product_list_widget li > a'
},
{
property: 'background-color',
value: to,
selectors: '.item-btn,' +
'table.table-styled thead th,' +
'.widget_nav_menu a,' +
'.demo_store,' +
'.price_slider .ui-slider-handle,' +
'.navigation-main li li:hover > a,' +
'.navigation-main li li > a:focus,' +
'.navigation-main li .current-menu-item > a,' +
'.navigation-main li .current-menu-parent > a,' +
'.navigation-main li .current-menu-ancestor > a,' +
'.navigation-main li .current_page_item > a,' +
'.navigation-main li .current_page_parent > a,' +
'.navigation-main li .current_page_ancestor > a'
},
{
property: 'border-color',
value: to,
selectors: '.navigation .current,' +
'.woocommerce-pagination .current'
},
]);
});
});
wp.customize('site_text_color', function (value) {
value.bind(function (to) {
createStyleSheet('site_text_color', [
{
property: 'color',
value: to,
selectors: 'body,' +
'blockquote cite,' +
'.instagram-pics li a,' +
'.null-instagram-feed a,' +
'input,' +
'textarea,' +
'select,' +
'.section-subtitle a,' +
'.page-links .page-number,' +
'.main .social-icon,' +
'.btn-transparent,' +
'.woocommerce-breadcrumb a,' +
'ul.products > li .price,' +
'.entry-summary .price,' +
'.woocommerce-review-link,' +
'.qty-handle,' +
'.qty-handle:hover,' +
'.reset_variations,' +
'.wc-tabs a,' +
'.shop_table .remove,' +
'.shop_table .product-name a,' +
'.shop_table .product-subtotal,' +
'.woocommerce-remove-coupon,' +
'.select2-container--default .select2-selection-single,' +
'.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a,' +
'.woocommerce-MyAccount-downloads .download-file a,' +
'.woocommerce-Address-title a,' +
'.widget_layered_nav_filters a,' +
'.site-logo a, ' +
'.site-tagline,' +
'.navigation-main a'
},
{
property: 'border-color',
value: to,
selectors: '.navigation a,' +
'.navigation .page-numbers,' +
'.page-links .page-number,' +
'.entry-tags a,' +
'.tag-cloud-link,'
},
{
property: 'color',
value: to,
selectors: 'h1, h2, h3, h4, h5, h6,' +
'.main .data-item-value'
}
]);
});
});
wp.customize('site_grey_backgrounds', function (value) {
value.bind(function (to) {
$('.entry-content blockquote,' +
'.entry-author-box,' +
'.item-testimonial-content,' +
'table.table-styled tbody tr:nth-child(even),' +
'.woocommerce-message,' +
'.woocommerce-error,' +
'.woocommerce-info,' +
'.woocommerce-noreviews,' +
'.entry-summary .stock,' +
'.shop_table.cart th,' +
'.cart-collaterals .shop_table th').css('background-color', to);
});
});
wp.customize('site_border_color', function (value) {
value.bind(function (to) {
createStyleSheet('site_border_color', [
{
property: 'border-color',
value: to,
selectors: 'blockquote,' +
'.no-comments,' +
'.sidebar .widget_recent_comments li,' +
'.sidebar .widget_rss li,' +
'.sidebar .widget_recent_entries li,' +
'input,' +
'textarea' +
'select,' +
'.woocommerce-breadcrumb,' +
'.group_table tr,' +
'.qty-handle,' +
'.woocommerce-pagination,' +
'.wc-tabs,' +
'.shop_table.cart,' +
'.shop_table.cart th,' +
'.shop_table.cart td,' +
'.cart-collaterals .shop_table,' +
'.cart-collaterals .shop_table th,' +
'.cart-collaterals .shop_table td,' +
'#order_review_heading,' +
'.payment_methods li,' +
'.payment_box,' +
'.select2-container--default .select2-selection--single,' +
'.woocommerce-thankyou-order-details,' +
'.wc-bacs-bank-details,' +
'.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link a,' +
'.woocommerce-EditAccountForm fieldset,' +
'.wc-form-login,' +
'.widget_layered_nav_filters a,' +
'.footer,' +
'.head-mast:not(.over-background),' +
'.entry-item-media,' +
'.navigation,' +
'.sidebar .social-icon,' +
'table.table-styled.no-footer,' +
'.main .widget-title,' +
'.main .ci-contact-widget-item,' +
'.main .ci-schedule-widget-table tr,' +
'.main .ci-box-callout,' +
'.main .data-item-wrap,' +
'.main .data-item-list .data-item-row,' +
'.sidebar .widget_meta li a,' +
'.sidebar .widget_pages li a,' +
'.sidebar .widget_categories li a,' +
'.sidebar .widget_archive li a,' +
'.sidebar .widget_product_categories li a,' +
'.sidebar .widget_layered_nav li a'
},
{
property: 'border-bottom-color',
value: to,
selectors: '.wc-tabs li.active a,' +
'.wc-tabs a'
},
{
property: 'background-color',
value: to,
selectors: '.price_slider',
}
]);
});
});
})(jQuery);