summaryrefslogtreecommitdiff
path: root/inc/addons/heading-colors
diff options
context:
space:
mode:
authorZach van Rijn <me@zv.io>2021-07-21 14:54:07 -0500
committerZach van Rijn <me@zv.io>2021-07-21 14:54:07 -0500
commit9d4123cee1867ee7199b06bdc92d40611f547ecc (patch)
tree6d864e2725242863afed1f8ba12d9c7a9bc63a69 /inc/addons/heading-colors
downloadblog-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/addons/heading-colors')
-rw-r--r--inc/addons/heading-colors/assets/js/minified/customizer-preview.min.js1
-rw-r--r--inc/addons/heading-colors/assets/js/unminified/customizer-preview.js78
-rw-r--r--inc/addons/heading-colors/class-astra-heading-colors-loader.php161
-rw-r--r--inc/addons/heading-colors/class-astra-heading-colors.php47
-rw-r--r--inc/addons/heading-colors/customizer/class-astra-heading-colors-configs.php426
-rw-r--r--inc/addons/heading-colors/dynamic-css/dynamic.css.php54
6 files changed, 767 insertions, 0 deletions
diff --git a/inc/addons/heading-colors/assets/js/minified/customizer-preview.min.js b/inc/addons/heading-colors/assets/js/minified/customizer-preview.min.js
new file mode 100644
index 0000000..9c856a1
--- /dev/null
+++ b/inc/addons/heading-colors/assets/js/minified/customizer-preview.min.js
@@ -0,0 +1 @@
+!function(){astra_css("astra-settings[heading-base-color]","color","h1, .entry-content h1, h2, .entry-content h2, h3, .entry-content h3, h4, .entry-content h4, h5, .entry-content h5, h6, .entry-content h6");var t,e,n,s,o,i="";astraCustomizer.font_weights_widget_title_support&&(s="h1.widget-title",o="h2.widget-title",i="h3.widget-title"),astra_generate_outside_font_family_css("astra-settings[font-family-h1]","h1, .entry-content h1"),astra_generate_font_weight_css("astra-settings[font-family-h1]","astra-settings[font-weight-h1]","font-weight","h1, .entry-content h1, "+s),astra_css("astra-settings[line-height-h1]","line-height","h1, .entry-content h1, .elementor-widget-heading h1.elementor-heading-title"),astra_css("astra-settings[text-transform-h1]","text-transform","h1, .entry-content h1"),astra_generate_outside_font_family_css("astra-settings[font-family-h2]","h2, .entry-content h2"),astra_generate_font_weight_css("astra-settings[font-family-h2]","astra-settings[font-weight-h2]","font-weight","h2, .entry-content h2, "+o),astra_css("astra-settings[line-height-h2]","line-height","h2, .entry-content h2, .elementor-widget-heading h2.elementor-heading-title"),astra_css("astra-settings[text-transform-h2]","text-transform","h2, .entry-content h2"),astra_generate_outside_font_family_css("astra-settings[font-family-h3]","h3, .entry-content h3"),astra_generate_font_weight_css("astra-settings[font-family-h3]","astra-settings[font-weight-h3]","font-weight","h3, .entry-content h3, "+i),astra_css("astra-settings[line-height-h3]","line-height","h3, .entry-content h3, .elementor-widget-heading h3.elementor-heading-title"),astra_css("astra-settings[text-transform-h3]","text-transform","h3, .entry-content h3"),astraCustomizer.page_builder_button_style_css?(i=o=s=n=e=t="","color-typo"!=astraCustomizer.elementor_default_color_font_setting&&"typo"!=astraCustomizer.elementor_default_color_font_setting||(n=",.elementor-button-wrapper .elementor-button.elementor-size-sm, .elementor-button-wrapper .elementor-button.elementor-size-xs, .elementor-button-wrapper .elementor-button.elementor-size-md, .elementor-button-wrapper .elementor-button.elementor-size-lg, .elementor-button-wrapper .elementor-button.elementor-size-xl, .elementor-button-wrapper .elementor-button",i=o=s=e=t=",.elementor-button-wrapper .elementor-button, .elementor-button-wrapper .elementor-button:visited"),astra_generate_outside_font_family_css("astra-settings[font-family-button]",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link'+t),astra_generate_font_weight_css("astra-settings[font-family-button]","astra-settings[font-weight-button]","font-weight",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link'+e),astra_css("astra-settings[text-transform-button]","text-transform",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link'+s),astra_responsive_font_size("astra-settings[font-size-button]",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link'+n),astra_css("astra-settings[theme-btn-line-height]","line-height",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link'+o),astra_css("astra-settings[theme-btn-letter-spacing]","letter-spacing",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link'+i,"px")):(astra_generate_outside_font_family_css("astra-settings[font-family-button]",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]'),astra_generate_font_weight_css("astra-settings[font-family-button]","astra-settings[font-weight-button]","font-weight",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]'),astra_css("astra-settings[text-transform-button]","text-transform",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]'),astra_responsive_font_size("astra-settings[font-size-button]",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]'),astra_css("astra-settings[theme-btn-line-height]","line-height",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]'),astra_css("astra-settings[theme-btn-letter-spacing]","letter-spacing",'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]',"px"))}(jQuery); \ No newline at end of file
diff --git a/inc/addons/heading-colors/assets/js/unminified/customizer-preview.js b/inc/addons/heading-colors/assets/js/unminified/customizer-preview.js
new file mode 100644
index 0000000..56a9544
--- /dev/null
+++ b/inc/addons/heading-colors/assets/js/unminified/customizer-preview.js
@@ -0,0 +1,78 @@
+/**
+ * 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( $ ) {
+
+ /**
+ * Content <h1> to <h6> headings
+ */
+ astra_css( 'astra-settings[heading-base-color]', 'color', 'h1, .entry-content h1, h2, .entry-content h2, h3, .entry-content h3, h4, .entry-content h4, h5, .entry-content h5, h6, .entry-content h6' );
+
+ var h1_widget_title, h2_widget_title, h3_widget_title = '';
+ if( astraCustomizer.font_weights_widget_title_support ) {
+ h1_widget_title = 'h1.widget-title';
+ h2_widget_title = 'h2.widget-title';
+ h3_widget_title = 'h3.widget-title';
+ }
+
+ astra_generate_outside_font_family_css( 'astra-settings[font-family-h1]', 'h1, .entry-content h1' );
+ astra_generate_font_weight_css( 'astra-settings[font-family-h1]', 'astra-settings[font-weight-h1]', 'font-weight', 'h1, .entry-content h1, ' + h1_widget_title );
+ astra_css('astra-settings[line-height-h1]', 'line-height', 'h1, .entry-content h1, .elementor-widget-heading h1.elementor-heading-title');
+ astra_css('astra-settings[text-transform-h1]', 'text-transform', 'h1, .entry-content h1');
+
+ astra_generate_outside_font_family_css( 'astra-settings[font-family-h2]', 'h2, .entry-content h2' );
+ astra_generate_font_weight_css( 'astra-settings[font-family-h2]', 'astra-settings[font-weight-h2]', 'font-weight', 'h2, .entry-content h2, ' + h2_widget_title );
+ astra_css('astra-settings[line-height-h2]', 'line-height', 'h2, .entry-content h2, .elementor-widget-heading h2.elementor-heading-title');
+ astra_css('astra-settings[text-transform-h2]', 'text-transform', 'h2, .entry-content h2');
+
+ astra_generate_outside_font_family_css( 'astra-settings[font-family-h3]', 'h3, .entry-content h3' );
+ astra_generate_font_weight_css( 'astra-settings[font-family-h3]', 'astra-settings[font-weight-h3]', 'font-weight', 'h3, .entry-content h3, ' + h3_widget_title );
+ astra_css('astra-settings[line-height-h3]', 'line-height', 'h3, .entry-content h3, .elementor-widget-heading h3.elementor-heading-title');
+ astra_css('astra-settings[text-transform-h3]', 'text-transform', 'h3, .entry-content h3');
+
+
+ if ( astraCustomizer.page_builder_button_style_css ) {
+
+ var ele_btn_font_family = '';
+ var ele_btn_font_weight = '';
+ var ele_btn_font_size = '';
+ var ele_btn_transform = '';
+ var ele_btn_line_height = '';
+ var ele_btn_letter_spacing = '';
+
+ if ( 'color-typo' == astraCustomizer.elementor_default_color_font_setting || 'typo' == astraCustomizer.elementor_default_color_font_setting ) {
+ // Button Typo
+ ele_btn_font_family = ',.elementor-button-wrapper .elementor-button, .elementor-button-wrapper .elementor-button:visited';
+ ele_btn_font_weight = ',.elementor-button-wrapper .elementor-button, .elementor-button-wrapper .elementor-button:visited';
+ ele_btn_font_size = ',.elementor-button-wrapper .elementor-button.elementor-size-sm, .elementor-button-wrapper .elementor-button.elementor-size-xs, .elementor-button-wrapper .elementor-button.elementor-size-md, .elementor-button-wrapper .elementor-button.elementor-size-lg, .elementor-button-wrapper .elementor-button.elementor-size-xl, .elementor-button-wrapper .elementor-button';
+ ele_btn_transform = ',.elementor-button-wrapper .elementor-button, .elementor-button-wrapper .elementor-button:visited';
+ ele_btn_line_height = ',.elementor-button-wrapper .elementor-button, .elementor-button-wrapper .elementor-button:visited';
+ ele_btn_letter_spacing = ',.elementor-button-wrapper .elementor-button, .elementor-button-wrapper .elementor-button:visited', 'px';
+ }
+
+ // Button Typo
+ astra_generate_outside_font_family_css( 'astra-settings[font-family-button]', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link' + ele_btn_font_family );
+ astra_generate_font_weight_css( 'astra-settings[font-family-button]', 'astra-settings[font-weight-button]', 'font-weight', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link' + ele_btn_font_weight );
+ astra_css( 'astra-settings[text-transform-button]', 'text-transform', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link' + ele_btn_transform );
+ astra_responsive_font_size( 'astra-settings[font-size-button]', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link' + ele_btn_font_size );
+ astra_css( 'astra-settings[theme-btn-line-height]', 'line-height', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link' + ele_btn_line_height );
+ astra_css( 'astra-settings[theme-btn-letter-spacing]', 'letter-spacing', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .wp-block-button .wp-block-button__link' + ele_btn_letter_spacing, 'px' );
+
+ } else {
+ // Button Typo
+ astra_generate_outside_font_family_css( 'astra-settings[font-family-button]', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]' );
+ astra_generate_font_weight_css( 'astra-settings[font-family-button]', 'astra-settings[font-weight-button]', 'font-weight', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]' );
+ astra_css( 'astra-settings[text-transform-button]', 'text-transform', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]' );
+ astra_responsive_font_size( 'astra-settings[font-size-button]', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]' );
+ astra_css( 'astra-settings[theme-btn-line-height]', 'line-height', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]' );
+ astra_css( 'astra-settings[theme-btn-letter-spacing]', 'letter-spacing', 'button, .ast-button, .ast-custom-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"]', 'px' );
+ }
+
+} )( jQuery );
diff --git a/inc/addons/heading-colors/class-astra-heading-colors-loader.php b/inc/addons/heading-colors/class-astra-heading-colors-loader.php
new file mode 100644
index 0000000..3a27549
--- /dev/null
+++ b/inc/addons/heading-colors/class-astra-heading-colors-loader.php
@@ -0,0 +1,161 @@
+<?php
+/**
+ * Heading Colors Loader for Astra theme.
+ *
+ * @package Astra
+ * @author Brainstorm Force
+ * @copyright Copyright (c) 2020, Brainstorm Force
+ * @link https://www.brainstormforce.com
+ * @since Astra 2.2.0
+ */
+
+if ( ! defined( 'ABSPATH' ) ) {
+ exit; // Exit if accessed directly.
+}
+
+/**
+ * Customizer Initialization
+ *
+ * @since 2.2.0
+ */
+class Astra_Heading_Colors_Loader {
+
+ /**
+ * Constructor
+ *
+ * @since 2.2.0
+ */
+ public function __construct() {
+
+ add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) );
+ add_action( 'customize_register', array( $this, 'customize_register' ), 2 );
+ 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 2.2.0
+ */
+ public function add_fonts() {
+
+ $font_family_h1 = astra_get_option( 'font-family-h1' );
+ $font_weight_h1 = astra_get_option( 'font-weight-h1' );
+ Astra_Fonts::add_font( $font_family_h1, $font_weight_h1 );
+
+ $font_family_h2 = astra_get_option( 'font-family-h2' );
+ $font_weight_h2 = astra_get_option( 'font-weight-h2' );
+ Astra_Fonts::add_font( $font_family_h2, $font_weight_h2 );
+
+ $font_family_h3 = astra_get_option( 'font-family-h3' );
+ $font_weight_h3 = astra_get_option( 'font-weight-h3' );
+ Astra_Fonts::add_font( $font_family_h3, $font_weight_h3 );
+
+ $theme_btn_font_family = astra_get_option( 'font-family-button' );
+ $theme_btn_font_weight = astra_get_option( 'font-weight-button' );
+ Astra_Fonts::add_font( $theme_btn_font_family, $theme_btn_font_weight );
+
+ $header_btn_font_family = astra_get_option( 'primary-header-button-font-family' );
+ $header_btn_font_weight = astra_get_option( 'primary-header-button-font-weight' );
+ Astra_Fonts::add_font( $header_btn_font_family, $header_btn_font_weight );
+ }
+
+ /**
+ * Set Options Default Values
+ *
+ * @param array $defaults Astra options default value array.
+ * @return array
+ *
+ * @since 2.2.0
+ */
+ public function theme_defaults( $defaults ) {
+
+ /**
+ * Heading Tags <h1> to <h6>
+ */
+ $defaults['h1-color'] = '';
+ $defaults['h2-color'] = '';
+ $defaults['h3-color'] = '';
+ $defaults['h4-color'] = '';
+ $defaults['h5-color'] = '';
+ $defaults['h6-color'] = '';
+
+ // Header <H1>.
+ $defaults['font-family-h1'] = 'inherit';
+ $defaults['font-weight-h1'] = 'inherit';
+ $defaults['text-transform-h1'] = '';
+ $defaults['line-height-h1'] = '';
+
+ // Header <H2>.
+ $defaults['font-family-h2'] = 'inherit';
+ $defaults['font-weight-h2'] = 'inherit';
+ $defaults['text-transform-h2'] = '';
+ $defaults['line-height-h2'] = '';
+
+ // Header <H3>.
+ $defaults['font-family-h3'] = 'inherit';
+ $defaults['font-weight-h3'] = 'inherit';
+ $defaults['text-transform-h3'] = '';
+ $defaults['line-height-h3'] = '';
+
+ /**
+ * Theme button Font Defaults
+ */
+ $defaults['font-weight-button'] = 'inherit';
+ $defaults['font-family-button'] = 'inherit';
+ $defaults['font-size-button'] = array(
+ 'desktop' => '',
+ 'tablet' => '',
+ 'mobile' => '',
+ 'desktop-unit' => 'px',
+ 'tablet-unit' => 'px',
+ 'mobile-unit' => 'px',
+ );
+ $defaults['text-transform-button'] = '';
+
+ /**
+ * Check backward compatibility for button line height.
+ */
+ $defaults['theme-btn-line-height'] = 1;
+ $defaults['theme-btn-letter-spacing'] = '';
+
+ return $defaults;
+ }
+
+ /**
+ * Load color configs for the Heading Colors.
+ *
+ * @param WP_Customize_Manager $wp_customize Theme Customizer object.
+ *
+ * @since 2.2.0
+ */
+ public function customize_register( $wp_customize ) {
+
+ /**
+ * Register Panel & Sections
+ */
+ require_once ASTRA_THEME_HEADING_COLORS_DIR . 'customizer/class-astra-heading-colors-configs.php';// phpcs:ignore: WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
+ }
+
+ /**
+ * Customizer Preview
+ *
+ * @since 2.2.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-colors-customizer-preview-js', ASTRA_THEME_HEADING_COLORS_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_Heading_Colors_Loader();
diff --git a/inc/addons/heading-colors/class-astra-heading-colors.php b/inc/addons/heading-colors/class-astra-heading-colors.php
new file mode 100644
index 0000000..7de04b8
--- /dev/null
+++ b/inc/addons/heading-colors/class-astra-heading-colors.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Heading Colors for Astra theme.
+ *
+ * @package Astra
+ * @author Brainstorm Force
+ * @copyright Copyright (c) 2020, Brainstorm Force
+ * @link https://www.brainstormforce.com
+ * @since Astra 2.1.4
+ */
+
+if ( ! defined( 'ABSPATH' ) ) {
+ exit; // Exit if accessed directly.
+}
+
+define( 'ASTRA_THEME_HEADING_COLORS_DIR', ASTRA_THEME_DIR . 'inc/addons/heading-colors/' );
+define( 'ASTRA_THEME_HEADING_COLORS_URI', ASTRA_THEME_URI . 'inc/addons/heading-colors/' );
+
+if ( ! class_exists( 'Astra_Heading_Colors' ) ) {
+
+ /**
+ * Heading Initial Setup
+ *
+ * @since 2.1.4
+ */
+ class Astra_Heading_Colors {
+
+ /**
+ * Constructor function that initializes required actions and hooks
+ */
+ public function __construct() {
+
+ require_once ASTRA_THEME_HEADING_COLORS_DIR . 'class-astra-heading-colors-loader.php';// phpcs:ignore: WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
+
+ // Include front end files.
+ if ( ! is_admin() ) {
+ require_once ASTRA_THEME_HEADING_COLORS_DIR . 'dynamic-css/dynamic.css.php';// phpcs:ignore: WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
+ }
+ }
+ }
+
+ /**
+ * Kicking this off by creating an object.
+ */
+ new Astra_Heading_Colors();
+
+}
diff --git a/inc/addons/heading-colors/customizer/class-astra-heading-colors-configs.php b/inc/addons/heading-colors/customizer/class-astra-heading-colors-configs.php
new file mode 100644
index 0000000..2cdffa3
--- /dev/null
+++ b/inc/addons/heading-colors/customizer/class-astra-heading-colors-configs.php
@@ -0,0 +1,426 @@
+<?php
+/**
+ * Heading Colors Options for Astra theme.
+ *
+ * @package Astra
+ * @author Brainstorm Force
+ * @copyright Copyright (c) 2020, Brainstorm Force
+ * @link https://www.brainstormforce.com
+ * @since Astra 2.1.4
+ */
+
+if ( ! defined( 'ABSPATH' ) ) {
+ exit;
+}
+
+if ( ! class_exists( 'Astra_Heading_Colors_Configs' ) ) {
+
+ /**
+ * Customizer Sanitizes Initial setup
+ */
+ class Astra_Heading_Colors_Configs extends Astra_Customizer_Config_Base {
+
+ /**
+ * Register Astra Heading Colors Settings.
+ *
+ * @param Array $configurations Astra Customizer Configurations.
+ * @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager.
+ * @since 2.1.4
+ * @return Array Astra Customizer Configurations with updated configurations.
+ */
+ public function register_configuration( $configurations, $wp_customize ) {
+
+ $_configs = array(
+
+ // Option: Base Heading Color.
+ array(
+ 'default' => astra_get_option( 'heading-base-color' ),
+ 'type' => 'control',
+ 'control' => 'ast-color',
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_alpha_color' ),
+ 'transport' => 'postMessage',
+ 'priority' => 18,
+ 'name' => ASTRA_THEME_SETTINGS . '[heading-base-color]',
+ 'title' => __( 'Heading Color ( H1 - H6 )', 'astra' ),
+ 'section' => ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'colors-and-background' ) ) ? 'section-colors-body' : 'section-colors-background',
+ 'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
+ ),
+
+ /**
+ * Heading Typography starts here - h1 - h3
+ */
+
+ /**
+ * Option: Heading <H1> Font Family
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[font-family-h1]',
+ 'type' => 'control',
+ 'control' => 'ast-font',
+ 'font-type' => 'ast-font-family',
+ 'default' => astra_get_option( 'font-family-h1' ),
+ 'title' => __( 'Family', 'astra' ),
+ 'section' => 'section-content-typo',
+ 'priority' => 5,
+ 'connect' => ASTRA_THEME_SETTINGS . '[font-weight-h1]',
+ 'transport' => 'postMessage',
+ ),
+
+ /**
+ * Option: Heading <H1> Font Weight
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[font-weight-h1]',
+ 'type' => 'control',
+ 'control' => 'ast-font',
+ 'font-type' => 'ast-font-weight',
+ 'title' => __( 'Weight', 'astra' ),
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_font_weight' ),
+ 'default' => astra_get_option( 'font-weight-h1' ),
+ 'section' => 'section-content-typo',
+ 'priority' => 7,
+ 'connect' => ASTRA_THEME_SETTINGS . '[font-family-h1]',
+ 'transport' => 'postMessage',
+ ),
+
+ /**
+ * Option: Heading <H1> Text Transform
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[text-transform-h1]',
+ 'section' => 'section-content-typo',
+ 'default' => astra_get_option( 'text-transform-h1' ),
+ 'title' => __( 'Text Transform', 'astra' ),
+ 'type' => 'control',
+ 'control' => 'ast-select',
+ 'priority' => 8,
+ 'choices' => array(
+ '' => __( 'Inherit', 'astra' ),
+ 'none' => __( 'None', 'astra' ),
+ 'capitalize' => __( 'Capitalize', 'astra' ),
+ 'uppercase' => __( 'Uppercase', 'astra' ),
+ 'lowercase' => __( 'Lowercase', 'astra' ),
+ ),
+ 'transport' => 'postMessage',
+ ),
+
+ /**
+ * Option: Heading <H1> Line Height
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[line-height-h1]',
+ 'section' => 'section-content-typo',
+ 'default' => astra_get_option( 'line-height-h1' ),
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_number_n_blank' ),
+ 'type' => 'control',
+ 'control' => 'ast-slider',
+ 'title' => __( 'Line Height', 'astra' ),
+ 'transport' => 'postMessage',
+ 'priority' => 8,
+ 'suffix' => 'em',
+ 'input_attrs' => array(
+ 'min' => 1,
+ 'step' => 0.01,
+ 'max' => 5,
+ ),
+ ),
+
+ /**
+ * Option: Heading <H2> Font Family
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[font-family-h2]',
+ 'type' => 'control',
+ 'control' => 'ast-font',
+ 'font-type' => 'ast-font-family',
+ 'title' => __( 'Family', 'astra' ),
+ 'default' => astra_get_option( 'font-family-h2' ),
+ 'section' => 'section-content-typo',
+ 'priority' => 10,
+ 'connect' => ASTRA_THEME_SETTINGS . '[font-weight-h2]',
+ 'transport' => 'postMessage',
+ ),
+
+ /**
+ * Option: Heading <H2> Font Weight
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[font-weight-h2]',
+ 'type' => 'control',
+ 'control' => 'ast-font',
+ 'font-type' => 'ast-font-weight',
+ 'title' => __( 'Weight', 'astra' ),
+ 'section' => 'section-content-typo',
+ 'default' => astra_get_option( 'font-weight-h2' ),
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_font_weight' ),
+ 'priority' => 12,
+ 'connect' => ASTRA_THEME_SETTINGS . '[font-family-h2]',
+ 'transport' => 'postMessage',
+ ),
+
+ /**
+ * Option: Heading <H2> Text Transform
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[text-transform-h2]',
+ 'section' => 'section-content-typo',
+ 'default' => astra_get_option( 'text-transform-h2' ),
+ 'title' => __( 'Text Transform', 'astra' ),
+ 'type' => 'control',
+ 'control' => 'ast-select',
+ 'transport' => 'postMessage',
+ 'priority' => 13,
+ 'choices' => array(
+ '' => __( 'Inherit', 'astra' ),
+ 'none' => __( 'None', 'astra' ),
+ 'capitalize' => __( 'Capitalize', 'astra' ),
+ 'uppercase' => __( 'Uppercase', 'astra' ),
+ 'lowercase' => __( 'Lowercase', 'astra' ),
+ ),
+ 'transport' => 'postMessage',
+ ),
+
+ /**
+ * Option: Heading <H2> Line Height
+ */
+
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[line-height-h2]',
+ 'section' => 'section-content-typo',
+ 'type' => 'control',
+ 'control' => 'ast-slider',
+ 'default' => astra_get_option( 'line-height-h2' ),
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_number_n_blank' ),
+ 'transport' => 'postMessage',
+ 'title' => __( 'Line Height', 'astra' ),
+ 'priority' => 14,
+ 'suffix' => 'em',
+ 'input_attrs' => array(
+ 'min' => 1,
+ 'step' => 0.01,
+ 'max' => 5,
+ ),
+ ),
+
+ /**
+ * Option: Heading <H3> Font Family
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[font-family-h3]',
+ 'type' => 'control',
+ 'control' => 'ast-font',
+ 'font-type' => 'ast-font-family',
+ 'default' => astra_get_option( 'font-family-h3' ),
+ 'title' => __( 'Family', 'astra' ),
+ 'section' => 'section-content-typo',
+ 'priority' => 15,
+ 'connect' => ASTRA_THEME_SETTINGS . '[font-weight-h3]',
+ 'transport' => 'postMessage',
+ ),
+
+ /**
+ * Option: Heading <H3> Font Weight
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[font-weight-h3]',
+ 'type' => 'control',
+ 'control' => 'ast-font',
+ 'font-type' => 'ast-font-weight',
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_font_weight' ),
+ 'default' => astra_get_option( 'font-weight-h3' ),
+ 'title' => __( 'Weight', 'astra' ),
+ 'section' => 'section-content-typo',
+ 'priority' => 17,
+ 'connect' => ASTRA_THEME_SETTINGS . '[font-family-h3]',
+ 'transport' => 'postMessage',
+ ),
+
+ /**
+ * Option: Heading <H3> Text Transform
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[text-transform-h3]',
+ 'type' => 'control',
+ 'section' => 'section-content-typo',
+ 'title' => __( 'Text Transform', 'astra' ),
+ 'default' => astra_get_option( 'text-transform-h3' ),
+ 'transport' => 'postMessage',
+ 'control' => 'ast-select',
+ 'priority' => 18,
+ 'choices' => array(
+ '' => __( 'Inherit', 'astra' ),
+ 'none' => __( 'None', 'astra' ),
+ 'capitalize' => __( 'Capitalize', 'astra' ),
+ 'uppercase' => __( 'Uppercase', 'astra' ),
+ 'lowercase' => __( 'Lowercase', 'astra' ),
+ ),
+ 'transport' => 'postMessage',
+ ),
+
+ /**
+ * Option: Heading <H3> Line Height
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[line-height-h3]',
+ 'type' => 'control',
+ 'control' => 'ast-slider',
+ 'section' => 'section-content-typo',
+ 'title' => __( 'Line Height', 'astra' ),
+ 'transport' => 'postMessage',
+ 'default' => astra_get_option( 'line-height-h3' ),
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_number_n_blank' ),
+ 'priority' => 19,
+ 'suffix' => 'em',
+ 'input_attrs' => array(
+ 'min' => 1,
+ 'step' => 0.01,
+ 'max' => 5,
+ ),
+ ),
+
+
+ /**
+ * Option: Button Typography Heading
+ */
+ array(
+ 'name' => ASTRA_THEME_SETTINGS . '[button-text-typography]',
+ 'default' => astra_get_option( 'button-text-typography' ),
+ 'type' => 'control',
+ 'control' => 'ast-settings-group',
+ 'title' => __( 'Button Font', 'astra' ),
+ 'section' => 'section-buttons',
+ 'transport' => 'postMessage',
+ 'priority' => 25,
+ 'divider' => array( 'ast_class' => 'ast-bottom-divider' ),
+ ),
+
+ /**
+ * Option: Button Font Family
+ */
+ array(
+ 'name' => 'font-family-button',
+ 'type' => 'sub-control',
+ 'parent' => ASTRA_THEME_SETTINGS . '[button-text-typography]',
+ 'section' => 'section-buttons',
+ 'control' => 'ast-font',
+ 'font_type' => 'ast-font-family',
+ 'title' => __( 'Family', 'astra' ),
+ 'default' => astra_get_option( 'font-family-button' ),
+ 'connect' => ASTRA_THEME_SETTINGS . '[font-weight-button]',
+ 'priority' => 1,
+ ),
+
+ /**
+ * Option: Button Font Size
+ */
+ array(
+ 'name' => 'font-size-button',
+ 'transport' => 'postMessage',
+ 'title' => __( 'Size', 'astra' ),
+ 'type' => 'sub-control',
+ 'parent' => ASTRA_THEME_SETTINGS . '[button-text-typography]',
+ 'section' => 'section-buttons',
+ 'control' => 'ast-responsive',
+ 'priority' => 2,
+ 'default' => astra_get_option( 'font-size-button' ),
+ 'input_attrs' => array(
+ 'min' => 0,
+ ),
+ 'units' => array(
+ 'px' => 'px',
+ 'em' => 'em',
+ ),
+ ),
+
+ /**
+ * Option: Button Font Weight
+ */
+ array(
+ 'name' => 'font-weight-button',
+ 'type' => 'sub-control',
+ 'parent' => ASTRA_THEME_SETTINGS . '[button-text-typography]',
+ 'section' => 'section-buttons',
+ 'control' => 'ast-font',
+ 'font_type' => 'ast-font-weight',
+ 'title' => __( 'Weight', 'astra' ),
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_font_weight' ),
+ 'default' => astra_get_option( 'font-weight-button' ),
+ 'connect' => 'font-family-button',
+ 'priority' => 3,
+ ),
+
+ /**
+ * Option: Button Text Transform
+ */
+ array(
+ 'name' => 'text-transform-button',
+ 'transport' => 'postMessage',
+ 'default' => astra_get_option( 'text-transform-button' ),
+ 'title' => __( 'Text Transform', 'astra' ),
+ 'type' => 'sub-control',
+ 'parent' => ASTRA_THEME_SETTINGS . '[button-text-typography]',
+ 'section' => 'section-buttons',
+ 'control' => 'ast-select',
+ 'priority' => 4,
+ 'choices' => array(
+ '' => __( 'Inherit', 'astra' ),
+ 'none' => __( 'None', 'astra' ),
+ 'capitalize' => __( 'Capitalize', 'astra' ),
+ 'uppercase' => __( 'Uppercase', 'astra' ),
+ 'lowercase' => __( 'Lowercase', 'astra' ),
+ ),
+ ),
+
+ /**
+ * Option: Theme Button Line Height
+ */
+ array(
+ 'name' => 'theme-btn-line-height',
+ 'control' => 'ast-slider',
+ 'transport' => 'postMessage',
+ 'type' => 'sub-control',
+ 'default' => astra_get_option( 'theme-btn-line-height' ),
+ 'parent' => ASTRA_THEME_SETTINGS . '[button-text-typography]',
+ 'section' => 'section-buttons',
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_number_n_blank' ),
+ 'title' => __( 'Line Height', 'astra' ),
+ 'suffix' => 'em',
+ 'priority' => 5,
+ 'input_attrs' => array(
+ 'min' => 1,
+ 'step' => 0.01,
+ 'max' => 5,
+ ),
+ ),
+
+ /**
+ * Option: Theme Button Line Height
+ */
+ array(
+ 'name' => 'theme-btn-letter-spacing',
+ 'control' => 'ast-slider',
+ 'transport' => 'postMessage',
+ 'type' => 'sub-control',
+ 'default' => astra_get_option( 'theme-btn-letter-spacing' ),
+ 'parent' => ASTRA_THEME_SETTINGS . '[button-text-typography]',
+ 'section' => 'section-buttons',
+ 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_number_n_blank' ),
+ 'title' => __( 'Letter Spacing', 'astra' ),
+ 'suffix' => 'px',
+ 'priority' => 6,
+ 'input_attrs' => array(
+ 'min' => 1,
+ 'step' => 1,
+ 'max' => 100,
+ ),
+ ),
+
+ );
+
+ return array_merge( $configurations, $_configs );
+
+ }
+ }
+}
+
+new Astra_Heading_Colors_Configs();
diff --git a/inc/addons/heading-colors/dynamic-css/dynamic.css.php b/inc/addons/heading-colors/dynamic-css/dynamic.css.php
new file mode 100644
index 0000000..e591b9c
--- /dev/null
+++ b/inc/addons/heading-colors/dynamic-css/dynamic.css.php
@@ -0,0 +1,54 @@
+<?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_heading_colors_section_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_heading_colors_section_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) {
+
+ /**
+ * Heading Colors - h1 - h6.
+ */
+ $heading_base_color = astra_get_option( 'heading-base-color' );
+
+ /**
+ * Normal Colors without reponsive option.
+ * [1]. Heading Colors
+ */
+ $css_output = array(
+
+ /**
+ * Content base heading color.
+ */
+ 'h1, .entry-content h1, h2, .entry-content h2, h3, .entry-content h3, h4, .entry-content h4, h5, .entry-content h5, h6, .entry-content h6' => array(
+ 'color' => esc_attr( $heading_base_color ),
+ ),
+ );
+
+ /* Parse CSS from array() */
+ $css_output = astra_parse_css( $css_output );
+
+ $dynamic_css .= $css_output;
+
+ return $dynamic_css;
+}