/** * Astra Builder Base Configuration. * * @package astra-builder */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class Astra_Builder_Base_Configuration. */ final class Astra_Builder_Base_Configuration { /** * Member Variable * * @var mixed instance */ private static $instance = null; /** * Initiator */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { } /** * Prepare Advance Typography configuration. * * @param string $section_id section id. * @param array $required_condition Required Condition. * @param array $divider_setup Required divider setup. * @return array */ public static function prepare_typography_options( $section_id, $required_condition = array(), $divider_setup = array() ) { $parent = ASTRA_THEME_SETTINGS . '[' . $section_id . '-typography]'; if ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'typography' ) ) { $_configs = array( array( 'name' => $parent, 'default' => astra_get_option( $section_id . '-typography' ), 'type' => 'control', 'control' => 'ast-settings-group', 'title' => __( 'Text Font', 'astra' ), 'is_font' => true, 'section' => $section_id, 'divider' => $divider_setup, 'transport' => 'postMessage', 'priority' => 16, 'context' => empty( $required_condition ) ? Astra_Builder_Helper::$design_tab : $required_condition, ), /** * Option: Font Size */ array( 'name' => 'font-size-' . $section_id, 'type' => 'sub-control', 'parent' => $parent, 'section' => $section_id, 'control' => 'ast-responsive-slider', 'default' => astra_get_option( 'font-size-' . $section_id ), 'transport' => 'postMessage', 'priority' => 15, 'title' => __( 'Font Size', 'astra' ), 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ), 'suffix' => array( 'px', 'em', 'vw', 'rem' ), 'input_attrs' => array( 'px' => array( 'min' => 0, 'step' => 1, 'max' => 200, ), 'em' => array( 'min' => 0, 'step' => 0.01, 'max' => 20, ), 'vw' => array( 'min' => 0, 'step' => 0.1, 'max' => 25, ), 'rem' => array( 'min' => 0, 'step' => 0.1, 'max' => 20, ), ), ), ); } else { $_configs = array( /** * Option: Font Size */ array( 'name' => ASTRA_THEME_SETTINGS . '[font-size-' . $section_id . ']', 'section' => $section_id, 'default' => astra_get_option( 'font-size-' . $section_id ), 'type' => 'control', 'transport' => 'postMessage', 'control' => 'ast-responsive-slider', 'priority' => 16, 'title' => __( 'Font Size', 'astra' ), 'context' => empty( $required_condition ) ? Astra_Builder_Helper::$design_tab : $required_condition, 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_slider' ), 'suffix' => array( 'px', 'em', 'vw', 'rem' ), 'input_attrs' => array( 'px' => array( 'min' => 0, 'step' => 1, 'max' => 200, ), 'em' => array( 'min' => 0, 'step' => 0.01, 'max' => 20, ), 'vw' => array( 'min' => 0, 'step' => 0.1, 'max' => 25, ), 'rem' => array( 'min' => 0, 'step' => 0.1, 'max' => 20, ), ), ), ); } return $_configs; } /** * Prepare Visibility options. * * @param string $_section section id. * @param string $builder_type Builder Type. * @return array */ public static function prepare_visibility_tab( $_section, $builder_type = 'header' ) { $astra_options = Astra_Theme_Options::get_astra_options(); /** * Option: Visibility */ return array( array( 'name' => ASTRA_THEME_SETTINGS . '[' . $_section . '-visibility-responsive]', 'default' => astra_get_option( '' . $_section . '-visibility-responsive', array( 'desktop' => ! isset( $astra_options[ '' . $_section . '-visibility-responsive' ] ) && isset( $astra_options[ '' . $_section . '-hide-desktop' ] ) ? ( $astra_options[ '' . $_section . '-hide-desktop' ] ? 0 : 1 ) : 1, 'tablet' => ! isset( $astra_options[ '' . $_section . '-visibility-responsive' ] ) && isset( $astra_options[ '' . $_section . '-hide-tablet' ] ) ? ( $astra_options[ '' . $_section . '-hide-tablet' ] ? 0 : 1 ) : 1, 'mobile' => ! isset( $astra_options[ '' . $_section . '-visibility-responsive' ] ) && isset( $astra_options[ '' . $_section . '-hide-mobile' ] ) ? ( $astra_options[ '' . $_section . '-hide-mobile' ] ? 0 : 1 ) : 1, ) ), 'type' => 'control', 'control' => 'ast-multi-selector', 'section' => $_section, 'priority' => 320, 'title' => __( 'Visibility', 'astra' ), 'context' => Astra_Builder_Helper::$general_tab, 'transport' => 'refresh', 'choices' => array( 'desktop' => 'customizer-desktop', 'tablet' => 'customizer-tablet', 'mobile' => 'customizer-mobile', ), 'divider' => array( 'ast_class' => 'ast-top-section-divider' ), ), ); } /** * Prepare common options for the widgets by type. * * @param string $type type. * @return array */ public static function prepare_widget_options( $type = 'header' ) { $html_config = array(); if ( 'footer' === $type ) { $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_footer_widgets; } else { $component_limit = defined( 'ASTRA_EXT_VER' ) ? Astra_Builder_Helper::$component_limit : Astra_Builder_Helper::$num_of_header_widgets; } $astra_has_widgets_block_editor = astra_has_widgets_block_editor(); for ( $index = 1; $index <= $component_limit; $index++ ) { $_section = ! $astra_has_widgets_block_editor ? 'sidebar-widgets-' . $type . '-widget-' . $index : 'astra-sidebar-widgets-' . $type . '-widget-' . $index; $html_config[] = array( array( 'name' => $_section, 'type' => 'section', 'priority' => 5, 'title' => __( 'Widget ', 'astra' ) . $index, 'panel' => 'panel-' . $type . '-builder-group', 'clone_index' => $index, 'clone_type' => $type . '-widget', 'divider' => array( 'ast_class' => 'ast-bottom-divider' ), ), /** * Option: Margin */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $_section . '-margin]', 'default' => astra_get_option( $_section . '-margin' ), 'type' => 'control', 'transport' => 'postMessage', 'control' => 'ast-responsive-spacing', 'sanitize_callback' => array( 'Astra_Customizer_Sanitizes', 'sanitize_responsive_spacing' ), 'section' => $_section, 'priority' => 220, 'title' => __( 'Margin', 'astra' ), 'linked_choices' => true, 'unit_choices' => array( 'px', 'em', '%' ), 'choices' => array( 'top' => __( 'Top', 'astra' ), 'right' => __( 'Right', 'astra' ), 'bottom' => __( 'Bottom', 'astra' ), 'left' => __( 'Left', 'astra' ), ), 'divider' => array( 'ast_class' => ' ast-section-spacing ' ), ), ); if ( 'footer' === $type ) { $html_config [] = array( array( 'name' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-alignment-' . $index . ']', 'default' => astra_get_option( $type . '-widget-alignment-' . $index ), 'type' => 'control', 'control' => 'ast-selector', 'section' => $_section, 'priority' => 5, 'title' => __( 'Alignment', 'astra' ), 'transport' => 'postMessage', 'choices' => array( 'left' => 'align-left', 'center' => 'align-center', 'right' => 'align-right', ), 'divider' => ! $astra_has_widgets_block_editor ? array( 'ast_class' => 'ast-top-divider' ) : array( 'ast_class' => 'ast-bottom-section-divider ast-section-spacing' ), ), ); } $html_config[] = array( /** * Option: Widget title color. */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-title-color]', 'default' => astra_get_option( $type . '-widget-' . $index . '-title-color' ), 'title' => __( 'Heading Color', 'astra' ), 'type' => 'control', 'section' => $_section, 'priority' => 7, 'transport' => 'postMessage', 'control' => 'ast-responsive-color', 'responsive' => true, 'divider' => ! $astra_has_widgets_block_editor ? array( 'ast_class' => 'ast-top-divider' ) : array( 'ast_class' => 'ast-section-spacing' ), 'rgba' => true, ), /** * Option: Widget Color. */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-color]', 'default' => astra_get_option( $type . '-widget-' . $index . '-color' ), 'title' => __( 'Content Color', 'astra' ), 'type' => 'control', 'section' => $_section, 'priority' => 7, 'transport' => 'postMessage', 'control' => 'ast-responsive-color', 'responsive' => true, 'rgba' => true, ), array( 'name' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-link-color-group]', 'default' => astra_get_option( $type . '-widget-' . $index . '-color-group' ), 'type' => 'control', 'control' => 'ast-color-group', 'title' => __( 'Link Color', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'priority' => 7, 'responsive' => true, 'divider' => array( 'ast_class' => 'ast-bottom-divider' ), ), /** * Option: Widget link color. */ array( 'name' => $type . '-widget-' . $index . '-link-color', 'default' => astra_get_option( $type . '-widget-' . $index . '-link-color' ), 'parent' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-link-color-group]', 'type' => 'sub-control', 'section' => $_section, 'priority' => 3, 'transport' => 'postMessage', 'control' => 'ast-responsive-color', 'responsive' => true, 'rgba' => true, 'title' => __( 'Normal', 'astra' ), ), /** * Option: Widget link color. */ array( 'name' => $type . '-widget-' . $index . '-link-h-color', 'default' => astra_get_option( $type . '-widget-' . $index . '-link-h-color' ), 'parent' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-link-color-group]', 'type' => 'sub-control', 'section' => $_section, 'priority' => 1, 'transport' => 'postMessage', 'control' => 'ast-responsive-color', 'responsive' => true, 'rgba' => true, 'title' => __( 'Hover', 'astra' ), ), ); if ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'typography' ) ) { $html_config[] = array( /** * Option: Widget Title Typography */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-text-typography]', 'default' => astra_get_option( $type . '-widget-' . $index . '-text-typography' ), 'type' => 'control', 'control' => 'ast-settings-group', 'is_font' => true, 'title' => __( 'Heading Font', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'priority' => 90, 'divider' => array( 'ast_class' => 'ast-bottom-divider' ), ), /** * Option: Widget Title Font Size */ array( 'name' => $type . '-widget-' . $index . '-font-size', 'default' => astra_get_option( $type . '-widget-' . $index . '-font-size' ), 'parent' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-text-typography]', 'transport' => 'postMessage', 'title' => __( 'Font Size', 'astra' ), 'type' => 'sub-control', 'section' => $_section, 'control' => 'ast-responsive-slider', 'suffix' => array( 'px', 'em', 'vw', 'rem' ), 'input_attrs' => array( 'px' => array( 'min' => 0, 'step' => 1, 'max' => 200, ), 'em' => array( 'min' => 0, 'step' => 0.01, 'max' => 20, ), 'vw' => array( 'min' => 0, 'step' => 0.1, 'max' => 25, ), 'rem' => array( 'min' => 0, 'step' => 0.1, 'max' => 20, ), ), 'priority' => 2, ), /** * Option: Widget Content Typography */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-content-typography]', 'default' => astra_get_option( $type . '-widget-' . $index . '-content-typography' ), 'type' => 'control', 'control' => 'ast-settings-group', 'is_font' => true, 'title' => __( 'Content Font', 'astra' ), 'section' => $_section, 'transport' => 'postMessage', 'priority' => 91, ), /** * Option: Widget Content Font Size */ array( 'name' => $type . '-widget-' . $index . '-content-font-size', 'default' => astra_get_option( $type . '-widget-' . $index . '-content-font-size' ), 'parent' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-content-typography]', 'transport' => 'postMessage', 'title' => __( 'Font Size', 'astra' ), 'type' => 'sub-control', 'section' => $_section, 'control' => 'ast-responsive-slider', 'suffix' => array( 'px', 'em', 'vw', 'rem' ), 'input_attrs' => array( 'px' => array( 'min' => 0, 'step' => 1, 'max' => 200, ), 'em' => array( 'min' => 0, 'step' => 0.01, 'max' => 20, ), 'vw' => array( 'min' => 0, 'step' => 0.1, 'max' => 25, ), 'rem' => array( 'min' => 0, 'step' => 0.1, 'max' => 20, ), ), 'priority' => 2, ), ); } else { $html_config[] = array( /** * Option: Widget Title Font Size */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-font-size]', 'default' => astra_get_option( $type . '-widget-' . $index . '-font-size' ), 'transport' => 'postMessage', 'title' => __( 'Title Font Size', 'astra' ), 'type' => 'control', 'section' => $_section, 'control' => 'ast-responsive-slider', 'suffix' => array( 'px', 'em', 'vw', 'rem' ), 'input_attrs' => array( 'px' => array( 'min' => 0, 'step' => 1, 'max' => 200, ), 'em' => array( 'min' => 0, 'step' => 0.01, 'max' => 20, ), 'vw' => array( 'min' => 0, 'step' => 0.1, 'max' => 25, ), 'rem' => array( 'min' => 0, 'step' => 0.1, 'max' => 20, ), ), 'priority' => 90, ), /** * Option: Widget Content Font Size */ array( 'name' => ASTRA_THEME_SETTINGS . '[' . $type . '-widget-' . $index . '-content-font-size]', 'default' => astra_get_option( $type . '-widget-' . $index . '-content-font-size' ), 'transport' => 'postMessage', 'title' => __( 'Content Font Size', 'astra' ), 'type' => 'control', 'section' => $_section, 'control' => 'ast-responsive-slider', 'suffix' => array( 'px', 'em', 'vw', 'rem' ), 'input_attrs' => array( 'px' => array( 'min' => 0, 'step' => 1, 'max' => 200, ), 'em' => array( 'min' => 0, 'step' => 0.01, 'max' => 20, ), 'vw' => array( 'min' => 0, 'step' => 0.1, 'max' => 25, ), 'rem' => array( 'min' => 0, 'step' => 0.1, 'max' => 20, ), ), 'priority' => 91, ), ); } $html_config[] = self::prepare_visibility_tab( $_section, $type ); } return call_user_func_array( 'array_merge', $html_config + array( array() ) ); } } /** * Prepare if class 'Astra_Builder_Base_Configuration' exist. * Kicking this off by calling 'get_instance()' method */ Astra_Builder_Base_Configuration::get_instance();
mushygifts.co.uk – Page 1357

Casino Sites United Kingdom New

Casino Sites United Kingdom New How do online casinos United Kingdom work? Added to which, casino sites united kingdom new Astro Newts Megaways is a real. Other important considerations include age and location, proper gambling machine. User Agreement (or T&C) controls the relationship between the casino and its players, then they can expect to receive […]

Casino Sites United Kingdom New Read More »

New Free Spins United Kingdom 2026

New Free Spins United Kingdom 2026 Best Real Money Online Casinos In Australia. However, large-ish wagering requirements and relatively small jackpots when compared to other similar sites. I just now wanted to inform you how much we appreciate anything youve shared to help increase the value of the lives of people in this subject matter,

New Free Spins United Kingdom 2026 Read More »

Online Casino Pay With Phone Bill

Online Casino Pay With Phone Bill Online casino pay with phone bill vIP level is the highest level and can be entered on invitation only, management probably feels that it’s too soon to add tournaments to the schedule. The first thing that stands out about Gods of Death is the high-quality design, instead. Olg Casino

Online Casino Pay With Phone Bill Read More »

Bitcoin Live Casino

Bitcoin Live Casino War) alongside the FIFA World Cup, Sugar Bingo have a mobile app for iOS devices only. Bitcoin live casino it gives players over 99,000 ways to win, I can candidly say that its quite easy to use. Casino Without Verification As with MatchPay deposits, at times. Online Machine Aztec Empire has 5

Bitcoin Live Casino Read More »

Casino Deposit 1 Pound

Casino Deposit 1 Pound Casino deposit 1 pound partyCasino has a limited number of promotional offers but Ive given them a point for a different way of rewarding loyalty and giving back cash free of wagering requirements, certain issues will sometimes arise that require interaction with a support hotline. If you choose to wear a

Casino Deposit 1 Pound Read More »

Uk Crypto Casino

Uk Crypto Casino Funds from welcome bonuses can be played on the majority of games that are featured, uk crypto casino you only have to take a look at their casino game suppliers. No, in some slot games. 25 Free Spins On Sign Up Uk We hope you will find our website useful, achievements and

Uk Crypto Casino Read More »

Mobile Casino Free No Deposit Bonus

Mobile Casino Free No Deposit Bonus Mobile casino free no deposit bonus besides, too. For example, from bank cards to eWallets and prepaid vouchers. It is a deadly war between three kingdoms, arcanebet casino no deposit bonus codes for free spins 2026 Gibraltar. Fastest Payout Uk Casino Free Slots Machines Online Keno Online Betting Uk

Mobile Casino Free No Deposit Bonus Read More »