oont-contents/plugins/astra-addon/addons/advanced-search/classes/sections/class-astra-customizer-adv-search-configs.php
2025-02-08 15:10:23 +01:00

170 lines
5.4 KiB
PHP

<?php
/**
* Astra Theme Customizer Configuration Builder.
*
* @package astra-addon
* @link https://wpastra.com/
* @since 3.0.0
*/
// No direct access, please.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'Astra_Customizer_Config_Base' ) ) {
return;
}
/**
* Register Builder Customizer Configurations.
*
* @since 3.0.0
*/
// @codingStandardsIgnoreStart
class Astra_Customizer_Adv_Search_Configs extends Astra_Customizer_Config_Base {
// @codingStandardsIgnoreEnd
/**
* Register Builder Customizer Configurations.
*
* @param Array $configurations Astra Customizer Configurations.
* @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager.
* @since 3.0.0
* @return Array Astra Customizer Configurations with updated configurations.
*/
public function register_configuration( $configurations, $wp_customize ) {
$_section = 'section-header-search';
/**
* Option: Pro Search Bar Configs.
*/
$_configs = array(
// Option: Header Search Style.
array(
'name' => ASTRA_THEME_SETTINGS . '[header-search-box-type]',
'default' => astra_get_option( 'header-search-box-type' ),
'section' => $_section,
'priority' => 1,
'title' => __( 'Search Style', 'astra-addon' ),
'type' => 'control',
'control' => 'ast-select',
'choices' => array(
'slide-search' => __( 'Slide Search', 'astra-addon' ),
'full-screen' => __( 'Full Screen Search', 'astra-addon' ),
'header-cover' => __( 'Header Cover Search', 'astra-addon' ),
'search-box' => __( 'Search Box', 'astra-addon' ),
),
'description' => __( 'Only the Search Box style will work within the Off Canvas section.', 'astra-addon' ),
'context' => astra_addon_builder_helper()->general_tab,
'transport' => 'refresh',
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
),
/**
* Option: search placeholder text.
*/
array(
'name' => ASTRA_THEME_SETTINGS . '[header-search-box-placeholder]',
'default' => astra_get_option( 'header-search-box-placeholder' ),
'section' => $_section,
'priority' => 3,
'title' => __( 'Placeholder Text', 'astra-addon' ),
'type' => 'control',
'control' => 'ast-text-input',
'transport' => 'postMessage',
'partial' => array(
'selector' => '.ast-header-search',
'container_inclusive' => false,
'render_callback' => array( Astra_Ext_Adv_Search_Markup::get_instance(), 'get_search_markup' ),
),
'context' => astra_addon_builder_helper()->general_tab,
'divider' => array( 'ast_class' => 'ast-top-section-divider ast-bottom-section-divider' ),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[fullsearch-modal-color-mode]',
'default' => astra_get_option( 'fullsearch-modal-color-mode' ),
'type' => 'control',
'priority' => 3,
'control' => 'ast-selector',
'section' => $_section,
'title' => __( 'Modal Box Style', 'astra-addon' ),
'choices' => array(
'light' => __( 'Light', 'astra-addon' ),
'dark' => __( 'Dark', 'astra-addon' ),
),
'renderAs' => 'text',
'responsive' => false,
'transport' => 'refresh',
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-search-box-type]',
'operator' => '==',
'value' => 'full-screen',
),
),
'divider' => array( 'ast_class' => 'ast-top-section-divider' ),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[full-screen-modal-heading]',
'default' => astra_get_option( 'full-screen-modal-heading' ),
'type' => 'control',
'control' => Astra_Theme_Extension::$switch_control,
'section' => $_section,
'title' => __( 'Modal Box Heading', 'astra-addon' ),
'transport' => 'refresh',
'priority' => 3,
'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-search-box-type]',
'operator' => '==',
'value' => 'full-screen',
),
),
),
array(
'name' => ASTRA_THEME_SETTINGS . '[fullscreen-modal-heading-text]',
'default' => astra_get_option( 'fullscreen-modal-heading-text' ),
'section' => $_section,
'priority' => 3,
'title' => __( 'Heading Text', 'astra-addon' ),
'type' => 'control',
'control' => 'ast-text-input',
'transport' => 'refresh',
'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ),
'partial' => array(
'selector' => '.ast-header-search',
'container_inclusive' => false,
'render_callback' => array( Astra_Ext_Adv_Search_Markup::get_instance(), 'get_search_markup' ),
),
'context' => array(
astra_addon_builder_helper()->general_tab_config,
array(
'setting' => ASTRA_THEME_SETTINGS . '[header-search-box-type]',
'operator' => '==',
'value' => 'full-screen',
),
array(
'setting' => ASTRA_THEME_SETTINGS . '[full-screen-modal-heading]',
'operator' => '==',
'value' => true,
),
),
),
);
return array_merge( $configurations, $_configs );
}
}
/**
* Kicking this off by creating object of this class.
*/
new Astra_Customizer_Adv_Search_Configs();