HEX
Server: LiteSpeed
System: Linux server315.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: globfdxw (6114)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //home/globfdxw/www/wp-content/plugins/bearsthemes-addons/widgets/uber-menu/widget.php
<?php
namespace BearsthemesAddons\Widgets\Uber_Menu;

use Elementor\Widget_Base;
use Elementor\Controls_Manager;
use Elementor\Plugin;
use Elementor\Embed;
use Elementor\Utils;
use Elementor\Group_Control_Typography;
use Elementor\Group_Control_Background;
use Elementor\Group_Control_Border;
use Elementor\Group_Control_Box_Shadow;
use Elementor\Modules\DynamicTags\Module as TagsModule;

use Give\Helpers\Form\Template;

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

class Be_Uber_Menu extends Widget_Base {

	public function get_name() {
		return 'be-uber-menu';
	}

	public function get_title() {
		return __( 'Uber Menu Bears', 'bearsthemes-addons' );
	}

	public function get_icon() {
		return 'eicon-archive-posts';
	}

	public function get_categories() {
		return [ 'bearsthemes-addons' ];
	}

	public function get_script_depends() {
		return [ 'jquery-magnific-popup', 'bearsthemes-addons' ];
	}

	protected function get_supported_post_ids() {
		$supported_taxonomies = [];

		$args = array(
			'post_type' => 'give_forms',
			'post_status'    => 'publish',
		);

		$query = new \WP_Query( $args );
		if ( $query->have_posts() ) :
			while ( $query->have_posts() ) : $query->the_post();
			$supported_taxonomies[get_the_ID()] = get_the_title();
			endwhile;
	 		wp_reset_postdata();
	 	endif;

		return $supported_taxonomies;
	}

  protected function register_layout_section_controls() {
    $this->start_controls_section(
			'menu_section',
			[
				'label' => __( 'Menu', 'bearsthemes-addons' ),
				'tab' => Controls_Manager::TAB_CONTENT,
			]
		);

    $this->add_control(
			'assign',
			[
				'label' => __( 'Assign', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SELECT,
				'options' => [
					'menu' => __( 'Menu', 'bearsthemes-addons' ),
					'theme_location' => __( 'Theme Location', 'bearsthemes-addons' ),
				],
				'default' => 'menu',
			]
		);

    //$menu_ops = ubermenu_get_nav_menu_ops();
		$menus = wp_get_nav_menus( array('orderby' => 'name') );
		$menu_ops = array( 0 => '-- Select Menu --' );
		foreach( $menus as $menu ){
			$menu_ops[$menu->term_id] = $menu->name;
		}
		//uberp( $menu_ops );

    $this->add_control(
			'menu',
			[
				'label' => __( 'Menu', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SELECT,
				'options' => $menu_ops,
        'default' => 0,
        'condition' => [
          'assign' => 'menu'
        ],
			]
		);

    $theme_location_ops = get_registered_nav_menus(); //ubermenu_get_theme_location_ops();

    $this->add_control(
			'theme_location',
			[
				'label' => __( 'Theme Location', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SELECT,
				'options' => $theme_location_ops,
        'condition' => [
          'assign' => 'theme_location',
        ],
			]
		);

    $configs = ubermenu_get_menu_instances(true);
    $config_ops = [];
    foreach( $configs as $config_id ){
      $config_ops[$config_id] = $config_id;
    }

		$this->add_control(
			'config',
			[
				'label' => __( 'Configuration', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SELECT,
				'options' => $config_ops,
        'default' => 'main',
			]
		);

		$this->add_control(
			'show_button_donate',
			[
				'label' => __( 'Button Donate', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => __( 'Show', 'bearsthemes-addons' ),
				'label_off' => __( 'Hide', 'bearsthemes-addons' ),
				'default' => 'yes',
				'separator' => 'before',
			]
		);

		$this->add_control(
      'form_button_text',
      [
        'label' => __( 'Button Text', 'bearsthemes-addons' ),
        'label_block' => true,
        'type' => Controls_Manager::TEXT,
        'default' => __( 'Donate Now', 'bearsthemes-addons' ),
				'condition' => [
					'show_button_donate!'=> '',
				],
      ]
    );

		$this->add_control(
			'form_id',
			[
				'label' => __( 'Form Id', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SELECT,
				'options' => $this->get_supported_post_ids(),
				'condition' => [
					'show_button_donate!'=> '',
				],
			]
		);

		$this->add_control(
			'show_navigation_search',
			[
				'label' => __( 'Navigation Search', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => __( 'Show', 'bearsthemes-addons' ),
				'label_off' => __( 'Hide', 'bearsthemes-addons' ),
				'default' => 'yes',
			]
		);

		$this->add_control(
			'show_navigation_cart',
			[
				'label' => __( 'Navigation Cart', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => __( 'Show', 'bearsthemes-addons' ),
				'label_off' => __( 'Hide', 'bearsthemes-addons' ),
				'default' => 'yes',
			]
		);

		$this->add_control(
			'show_navigation_user',
			[
				'label' => __( 'Navigation User', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => __( 'Show', 'bearsthemes-addons' ),
				'label_off' => __( 'Hide', 'bearsthemes-addons' ),
				'default' => 'yes',
			]
		);

		$this->end_controls_section();
  }

  protected function register_design_layout_section_controls() {
    $this->start_controls_section(
      'section_design_layout',
      [
        'label' => __( 'Layout', 'bearsthemes-addons' ),
        'tab' => Controls_Manager::TAB_STYLE,
      ]
    );

		$this->add_responsive_control(
			'alignment',
			[
				'label' => __( 'Alignment', 'bearsthemes-addons' ),
				'type' => Controls_Manager::CHOOSE,
				'options' => [
					'flex-start' => [
						'title' => __( 'Left', 'bearsthemes-addons' ),
						'icon' => 'eicon-text-align-left',
					],
					'center' => [
						'title' => __( 'Center', 'bearsthemes-addons' ),
						'icon' => 'eicon-text-align-center',
					],
					'flex-end' => [
						'title' => __( 'Right', 'bearsthemes-addons' ),
						'icon' => 'eicon-text-align-right',
					],
					'space-between' => [
						'title' => __( 'Justified', 'bearsthemes-addons' ),
						'icon' => 'eicon-text-align-justify',
					],
				],
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears' => 'justify-content: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'heading_menu_color_style',
			[
				'label' => __( 'Menu Top Level', 'bearsthemes-addons' ),
				'type' => Controls_Manager::HEADING,
				'separator' => 'before',
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name' => 'uber_menu_typography',
				'default' => '',
				'selector' => '{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav li.ubermenu-item-level-0>a.ubermenu-target',
			]
		);

		$this->start_controls_tabs( 'tabs_uber_menu_style' );

		$this->start_controls_tab(
			'tab_uber_menu_normal',
			[
				'label' => __( 'Normal', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'uber_menu_text_color',
			[
				'label' => __( 'Text Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav li.ubermenu-item-level-0>a.ubermenu-target' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'uber_menu_bg_color',
			[
				'label' => __( 'Background Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav li.ubermenu-item-level-0>a.ubermenu-target' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->start_controls_tab(
			'tab_uber_menu_hover',
			[
				'label' => __( 'Hover, Active', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'uber_menu_hover_color',
			[
				'label' => __( 'Text Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav li.ubermenu-current-menu-ancestor.ubermenu-item-level-0>a.ubermenu-target, {{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav li.ubermenu-item-level-0>a.ubermenu-target:hover, {{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav li.ubermenu-item-level-0>a.ubermenu-target:focus, {{WRAPPER}} .site-menu-wrap-bears .ubermenu-item-level-0:hover > .ubermenu-target, {{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav .ubermenu-item-level-0.ubermenu-active > .ubermenu-target, .ubermenu-mobile-modal ul.ubermenu-nav li.ubermenu-current-menu-ancestor.ubermenu-item-level-0>a.ubermenu-target, .ubermenu-mobile-modal ul.ubermenu-nav li.ubermenu-item-level-0>a.ubermenu-target:hover, .ubermenu-mobile-modal ul.ubermenu-nav li.ubermenu-item-level-0>a.ubermenu-target:focus, .ubermenu-mobile-modal .ubermenu-item-level-0:hover > .ubermenu-target, .ubermenu-mobile-modal ul.ubermenu-nav .ubermenu-item-level-0.ubermenu-active > .ubermenu-target' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'uber_menu_bg_hover_color',
			[
				'label' => __( 'Background Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav li.ubermenu-item-level-0>a.ubermenu-target:hover,{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav li.ubermenu-current-menu-ancestor.ubermenu-item-level-0>a.ubermenu-target,{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav .ubermenu-item-level-0:hover > .ubermenu-target, {{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav .ubermenu-item-level-0.ubermenu-active > .ubermenu-target,.ubermenu-mobile-modal ul.ubermenu-nav li.ubermenu-item-level-0>a.ubermenu-target:hover,.ubermenu-mobile-modal ul.ubermenu-nav li.ubermenu-current-menu-ancestor.ubermenu-item-level-0>a.ubermenu-target,.ubermenu-mobile-modal ul.ubermenu-nav .ubermenu-item-level-0:hover > .ubermenu-target, .ubermenu-mobile-modal ul.ubermenu-nav .ubermenu-item-level-0.ubermenu-active > .ubermenu-target' => 'background-color: {{VALUE}};',
				],
			]
		);


		$this->end_controls_tab();

		$this->end_controls_tabs();

		$this->add_control(
			'heading_menu_sub_style',
			[
				'label' => __( 'Menu Sub Level', 'bearsthemes-addons' ),
				'type' => Controls_Manager::HEADING,
				'separator' => 'before',
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name' => 'uber_sub_menu_typography',
				'default' => '',
				'selector' => '{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target,.ubermenu-mobile-modal ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target',
			]
		);

		$this->start_controls_tabs( 'tabs_uber_sub_menu_style' );

		$this->start_controls_tab(
			'tab_uber_sub_menu_normal',
			[
				'label' => __( 'Normal', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'uber_sub_menu_text_color',
			[
				'label' => __( 'Text Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target,.ubermenu-mobile-modal ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target' => 'color: {{VALUE}};',
					'{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target span.ubermenu-target-description,.ubermenu-mobile-modal ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target span.ubermenu-target-description' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
      'uber_sub_menu_bg_color',
      [
        'label' => __( 'Background Color', 'bearsthemes-addons' ),
        'type' => Controls_Manager::COLOR,
        'default' => '',
        'selectors' => [
          '{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target,.ubermenu-mobile-modal ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target' => 'background-color: {{VALUE}};',
        ],
      ]
    );

		$this->end_controls_tab();

		$this->start_controls_tab(
			'tab_uber_sub_menu_hover',
			[
				'label' => __( 'Hover, Active', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'uber_sub_menu_hover_color',
			[
				'label' => __( 'Text Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears .ubermenu-main ul .ubermenu-submenu li a.ubermenu-target:hover,{{WRAPPER}} .site-menu-wrap-bears .ubermenu-main ul .ubermenu-submenu li.ubermenu-current_page_item a.ubermenu-target, .ubermenu-mobile-modal ul .ubermenu-submenu li a.ubermenu-target:hover,.ubermenu-mobile-modal ul .ubermenu-submenu li.ubermenu-current_page_item a.ubermenu-target' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
      'uber_sub_menu_bg_hover_color',
      [
        'label' => __( 'Background Color', 'bearsthemes-addons' ),
        'type' => Controls_Manager::COLOR,
        'default' => '',
        'selectors' => [
          '{{WRAPPER}} .site-menu-wrap-bears .ubermenu-main ul .ubermenu-submenu li a.ubermenu-target:hover,{{WRAPPER}} .site-menu-wrap-bears .ubermenu-main ul .ubermenu-submenu li.ubermenu-current_page_item a.ubermenu-target, .ubermenu-mobile-modal ul .ubermenu-submenu li a.ubermenu-target:hover,.ubermenu-mobile-modal ul .ubermenu-submenu li.ubermenu-current_page_item a.ubermenu-target' => 'background-color: {{VALUE}};',
        ],
      ]
    );


		$this->end_controls_tab();

		$this->end_controls_tabs();

		$this->add_control(
			'heading_mega_style',
			[
				'label' => __( 'Mega Menu', 'bearsthemes-addons' ),
				'type' => Controls_Manager::HEADING,
				'separator' => 'before',
			]
		);
		$this->add_control(
			'uber_bg_color',
			[
				'label' => __( 'Background Mega Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .ubermenu-desktop-view.ubermenu-main.ubermenu-horizontal .ubermenu-item > .ubermenu-submenu-drop' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'uber_tab_active_color',
			[
				'label' => __( 'Tabs Active Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears .ubermenu-submenu .ubermenu-tabs .ubermenu-tab:hover > .ubermenu-target,.ubermenu-mobile-modal .ubermenu-submenu .ubermenu-tabs .ubermenu-tab:hover > .ubermenu-target' => 'color: {{VALUE}};',
					'{{WRAPPER}} .site-menu-wrap-bears .ubermenu-submenu .ubermenu-tab.ubermenu-active > .ubermenu-target,.ubermenu-mobile-modal .ubermenu-submenu .ubermenu-tab.ubermenu-active > .ubermenu-target' => 'color: {{VALUE}};',
					'{{WRAPPER}} .site-menu-wrap-bears .ubermenu-main .ubermenu-target:hover > .ubermenu-target-description, {{WRAPPER}} .site-menu-wrap-bears .ubermenu-submenu .ubermenu-tab.ubermenu-active > .ubermenu-target > .ubermenu-target-description, {{WRAPPER}} .site-menu-wrap-bears .ubermenu-main .ubermenu-submenu .ubermenu-target:hover > .ubermenu-target-description, {{WRAPPER}} .site-menu-wrap-bears .ubermenu-main .ubermenu-submenu .ubermenu-active > .ubermenu-target > .ubermenu-target-description, .ubermenu-mobile-modal .ubermenu-target:hover > .ubermenu-target-description, .ubermenu-mobile-modal .ubermenu-submenu .ubermenu-tab.ubermenu-active > .ubermenu-target > .ubermenu-target-description, .ubermenu-mobile-modal .ubermenu-submenu .ubermenu-target:hover > .ubermenu-target-description, .ubermenu-mobile-modal .ubermenu-submenu .ubermenu-active > .ubermenu-target > .ubermenu-target-description' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'uber_tab_active_bg_color',
			[
				'label' => __( 'Background Tabs Active', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears .ubermenu-submenu .ubermenu-tabs .ubermenu-tab:hover > .ubermenu-target,.ubermenu-mobile-modal .ubermenu-submenu .ubermenu-tabs .ubermenu-tab:hover > .ubermenu-target' => 'background-color: {{VALUE}};',
					'{{WRAPPER}} .site-menu-wrap-bears .ubermenu-submenu .ubermenu-tab.ubermenu-active > .ubermenu-target,.ubermenu-mobile-modal .ubermenu-submenu .ubermenu-tab.ubermenu-active > .ubermenu-target' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'border-mega',
				'selector' => '{{WRAPPER}} .ubermenu-desktop-view.ubermenu-main.ubermenu-horizontal .ubermenu-item > .ubermenu-submenu-drop',
			]
		);

		$this->add_control(
			'border_radius_mega',
			[
				'label' => __( 'Border Radius', 'bearsthemes-addons' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .ubermenu-desktop-view.ubermenu-main.ubermenu-horizontal .ubermenu-item > .ubermenu-submenu-drop' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'button_box_mega_shadow',
				'selector' => '{{WRAPPER}} .ubermenu-desktop-view.ubermenu-main.ubermenu-horizontal .ubermenu-item > .ubermenu-submenu-drop',
			]
		);

		$this->add_control(
			'heading_menu_icon_style',
			[
				'label' => __( 'Menu Icon', 'bearsthemes-addons' ),
				'type' => Controls_Manager::HEADING,
				'separator' => 'before',
			]
		);

		$this->add_control(
			'font_size_menu_icon',
			[
				'label' => __( 'Font size', 'bearsthemes-addons' ),
				'label_block' => true,
				'type' => Controls_Manager::TEXT,
				'default' => __( '15px', 'bearsthemes-addons' ),
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target i.fas' => 'font-size: {{VALUE}};',
				],
			]
		);

		$this->start_controls_tabs( 'tabs_uber_icon_style' );

		$this->start_controls_tab(
			'tab_uber_icon_menu_normal',
			[
				'label' => __( 'Normal', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'uber_menu_icon_color',
			[
				'label' => __( 'Icon Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears ul.ubermenu-nav .ubermenu-submenu li a.ubermenu-target i.fas' => 'color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->start_controls_tab(
			'tab_uber_icon_menu_hover',
			[
				'label' => __( 'Hover, Active', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'uber_icon_menu_hover_color',
			[
				'label' => __( 'Icon Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'selectors' => [
					'{{WRAPPER}} .site-menu-wrap-bears .ubermenu-main ul .ubermenu-submenu li a.ubermenu-target:hover i.fas' => 'color: {{VALUE}};',
				],
			]
		);


		$this->end_controls_tab();

		$this->end_controls_tabs();

    $this->end_controls_section();
  }

	protected function register_design_button_donate_section_controls() {
		$this->start_controls_section(
			'section_design_button',
			[
				'label' => __( 'Button Donate', 'bearsthemes-addons' ),
				'tab' => Controls_Manager::TAB_STYLE,
				'condition' => [
					'show_button_donate!'=> '',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name' => 'give_btn_typography',
				'default' => '',
				'selector' => '{{WRAPPER}} .give-btn, 
								{{WRAPPER}} .givewp-donation-form-modal__open',
			]
		);

		$this->start_controls_tabs( 'tabs_button_style' );

		$this->start_controls_tab(
			'tab_button_normal',
			[
				'label' => __( 'Normal', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'button_text_color',
			[
				'label' => __( 'Text Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .give-btn' => 'fill: {{VALUE}}; color: {{VALUE}};',
					'{{WRAPPER}} .givewp-donation-form-modal__open' => 'fill: {{VALUE}} !important; color: {{VALUE}} !important;',
				],
			]
		);

		$this->add_control(
			'button_bg_color',
			[
				'label' => __( 'Background Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .give-btn' => 'background-color: {{VALUE}};',
					'{{WRAPPER}} .givewp-donation-form-modal__open' => 'background-color: {{VALUE}} !important;',
				],
			]
		);

		$this->end_controls_tab();

		$this->start_controls_tab(
			'tab_button_hover',
			[
				'label' => __( 'Hover', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'hover_color',
			[
				'label' => __( 'Text Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'selectors' => [
					'{{WRAPPER}} .give-btn:hover, {{WRAPPER}} .give-btn:focus' => 'color: {{VALUE}};',
					'{{WRAPPER}} .give-btn:hover svg, {{WRAPPER}} .give-btn:focus svg' => 'fill: {{VALUE}};',
					'{{WRAPPER}} .givewp-donation-form-modal__open:hover, {{WRAPPER}} .givewp-donation-form-modal__open:focus' => 'color: {{VALUE}} !important;;',
					'{{WRAPPER}} .givewp-donation-form-modal__open:hover svg, {{WRAPPER}} .givewp-donation-form-modal__open:focus svg' => 'fill: {{VALUE}} !important;;',
				],
			]
		);

		$this->add_control(
			'button_bg_color_hover',
			[
				'label' => __( 'Background Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .give-btn:hover, {{WRAPPER}} .give-btn:focus' => 'background-color: {{VALUE}};',
					'{{WRAPPER}} .givewp-donation-form-modal__open:hover, {{WRAPPER}} .givewp-donation-form-modal__open:focus' => 'background-color: {{VALUE}} !important;',
				],
			]
		);

		$this->add_control(
			'button_hover_border_color',
			[
				'label' => __( 'Border Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'condition' => [
					'border_border!' => '',
				],
				'selectors' => [
					'{{WRAPPER}} .give-btn:hover, {{WRAPPER}} .give-btn:focus' => 'border-color: {{VALUE}};',
					'{{WRAPPER}} .givewp-donation-form-modal__open:hover, {{WRAPPER}} .givewp-donation-form-modal__open:focus' => 'border-color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->end_controls_tabs();

		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'border',
				'selector' => '{{WRAPPER}} .give-btn, 
								{{WRAPPER}} .givewp-donation-form-modal__open',
				'separator' => 'before',
			]
		);

		$this->add_control(
			'border_radius',
			[
				'label' => __( 'Border Radius', 'bearsthemes-addons' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .give-btn' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
					'{{WRAPPER}} .givewp-donation-form-modal__open' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'button_box_shadow',
				'selector' => '{{WRAPPER}} .give-btn, 
								{{WRAPPER}} .givewp-donation-form-modal__open',
			]
		);

		$this->add_responsive_control(
			'text_padding',
			[
				'label' => __( 'Padding', 'bearsthemes-addons' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', 'em', '%' ],
				'selectors' => [
					'{{WRAPPER}} .give-btn' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
					'{{WRAPPER}} .givewp-donation-form-modal__open' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;;',
				],
				'separator' => 'before',
			]
		);

		$this->add_responsive_control(
			'text_margin',
			[
				'label' => __( 'Margin', 'bearsthemes-addons' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', 'em', '%' ],
				'selectors' => [
					'{{WRAPPER}} .give-btn' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
					'{{WRAPPER}} .givewp-donation-form-modal__open' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
				'separator' => 'before',
			]
		);


		$this->end_controls_section();
	}

	protected function register_design_form_section_controls() {
		$this->start_controls_section(
			'section_design_form',
			[
				'label' => __( 'Give Form', 'bearsthemes-addons' ),
				'tab' => Controls_Manager::TAB_STYLE,
				'condition' => [
					'show_button_donate!'=> '',
				],
			]
		);

		$this->add_control(
			'form_main_color',
			[
				'label' => __( 'Main Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'.give-form[data-style="elementor-give-uber-menu"] .give-total-wrap #give-amount,
					 .give-form[data-style="elementor-give-uber-menu"] #give-donation-level-button-wrap .give-btn:not(.give-default-level):hover,
					 .give-form[data-style="elementor-give-uber-menu"] #give-gateway-radio-list > li label:hover,
					 .give-form[data-style="elementor-give-uber-menu"] #give-gateway-radio-list > li.give-gateway-option-selected label,
					 .give-form[data-style="elementor-give-uber-menu"] #give_terms_agreement label:hover,
					 .give-form[data-style="elementor-give-uber-menu"] #give_terms_agreement input[type=checkbox]:checked + label,
					 .give-form[data-style="elementor-give-uber-menu"] .give_terms_links:hover,
					 .give-form[data-style="elementor-give-uber-menu"] #give-final-total-wrap .give-final-total-amount' => 'color: {{VALUE}};',
					'.give-form[data-style="elementor-give-uber-menu"] .give-total-wrap .give-currency-symbol,
					 .give-form[data-style="elementor-give-uber-menu"] #give-donation-level-button-wrap .give-btn.give-default-level,
					 .give-form[data-style="elementor-give-uber-menu"] #give-gateway-radio-list > li.give-gateway-option-selected label:after,
					 .give-form[data-style="elementor-give-uber-menu"] #give_terms_agreement input[type=checkbox]:checked + label:before,
					 .give-form[data-style="elementor-give-uber-menu"] #give-final-total-wrap .give-donation-total-label,
					 .give-form[data-style="elementor-give-uber-menu"] .give-submit' => 'background-color: {{VALUE}};',
					'.give-form[data-style="elementor-give-uber-menu"] #give-donation-level-button-wrap .give-btn:hover,
					 .give-form[data-style="elementor-give-uber-menu"] #give-donation-level-button-wrap .give-btn.give-default-level,
					 .give-form[data-style="elementor-give-uber-menu"] #give_terms_agreement input[type=checkbox]:checked + label:before' => 'border-color: {{VALUE}};',
				]
			]
		);

		$this->add_control(
			'form_main_color_hover',
			[
				'label' => __( 'Main Color Hover', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'.give-form[data-style="elementor-give-uber-menu"] .give-submit:hover' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name' => 'form_typography',
				'label' => __( 'Typography', 'bearsthemes-addons' ),
				'default' => '',
				'selector' => '.give-form[data-style="elementor-give-uber-menu"]',
			]
		);

		$this->end_controls_section();
	}

	protected function register_design_navigation_section_controls() {
		$this->start_controls_section(
			'section_design_icon_layout',
			[
				'label' => __( 'Design Icon', 'bearsthemes-addons' ),
				'tab' => Controls_Manager::TAB_STYLE,
			]
		);
		$this->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name' => 'border_navi',
				'selector' => '{{WRAPPER}} .extras-navigation .extra-item .toggle-icon',
				'separator' => 'before',
			]
		);

		$this->add_control(
			'border_radius_navi',
			[
				'label' => __( 'Border Radius', 'bearsthemes-addons' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em' ],
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .extra-item .toggle-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name' => 'navi_box_shadow',
				'selector' => '{{WRAPPER}} .extras-navigation .extra-item .toggle-icon',
			]
		);

		$this->add_responsive_control(
			'navi_padding',
			[
				'label' => __( 'Padding', 'bearsthemes-addons' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', 'em', '%' ],
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .extra-item .toggle-icon' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
				'separator' => 'before',
			]
		);

		$this->add_responsive_control(
			'navi_margin',
			[
				'label' => __( 'Margin', 'bearsthemes-addons' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', 'em', '%' ],
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .extra-item' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
				'separator' => 'before',
			]
		);
		$this->end_controls_section();

		$this->start_controls_section(
			'section_design_cart',
			[
				'label' => __( 'Cart Icon', 'bearsthemes-addons' ),
				'tab' => Controls_Manager::TAB_STYLE,
				'condition' => [
					'show_navigation_cart!'=> '',
				],
			]
		);

		$this->add_control(
			'icon_cart_size',
			[
				'label' => __( 'Icon Size', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SLIDER,
				'default' => [
					'size' => '',
				],
				'range' => [
					'px' => [
						'min' => 10,
						'max' => 200,
					],
				],
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-cart a.toggle-icon svg' => 'width: {{SIZE}}{{UNIT}};height:auto;',
				],
			]
		);

		$this->start_controls_tabs( 'tabs_icon_cart' );

		$this->start_controls_tab(
			'tab_icon_cart_normal',
			[
				'label' => __( 'Normal', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'icon_cart_color',
			[
				'label' => __( 'Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-cart a.toggle-icon svg' => 'fill: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'icon_cart_bg_color',
			[
				'label' => __( 'Background Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-cart a.toggle-icon' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->start_controls_tab(
			'tab_icon_cart_hover',
			[
				'label' => __( 'Hover', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'icon_cart_color_hover',
			[
				'label' => __( 'Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-cart a.toggle-icon:hover svg' => 'fill: {{VALUE}};',
				],
			]
		);
		$this->add_control(
			'icon_cart_bg_hover_color',
			[
				'label' => __( 'Background Hover', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-cart a.toggle-icon:hover' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->end_controls_tabs();

		$this->add_control(
			'cart_counter_bg_color',
			[
				'label' => __( 'Background Cart Counter', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .mini-cart .toggle-icon .mini-cart-counter' => 'background-color: {{VALUE}};',
				],
				'separator' => 'before',
			]
		);

		$this->add_control(
			'cart_counter_color',
			[
				'label' => __( 'Color Cart Counter', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .mini-cart .toggle-icon .mini-cart-counter' => 'color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'section_design_icon_search',
			[
				'label' => __( 'Icon Search', 'bearsthemes-addons' ),
				'tab' => Controls_Manager::TAB_STYLE,
				'condition' => [
					'show_navigation_search!'=> '',
				],
			]
		);

		$this->add_control(
			'icon_size',
			[
				'label' => __( 'Icon Size', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SLIDER,
				'default' => [
					'size' => '',
				],
				'range' => [
					'px' => [
						'min' => 10,
						'max' => 200,
					],
				],
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-search a.toggle-icon svg' => 'width: {{SIZE}}{{UNIT}};height:auto;',
				],
			]
		);

		$this->start_controls_tabs( 'tabs_icon_search' );

		$this->start_controls_tab(
			'tab_icon_search_normal',
			[
				'label' => __( 'Normal', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'icon_search_color',
			[
				'label' => __( 'Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-search a.toggle-icon svg' => 'fill: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'icon_search_bg_color',
			[
				'label' => __( 'Background Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-search a.toggle-icon' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->start_controls_tab(
			'tab_icon_search_hover',
			[
				'label' => __( 'Hover', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'icon_search_color_hover',
			[
				'label' => __( 'Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-search a.toggle-icon:hover svg' => 'fill: {{VALUE}};',
				],
			]
		);
		$this->add_control(
			'icon_search_bg_hover_color',
			[
				'label' => __( 'Background Hover', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .toggle-item.mini-search a.toggle-icon:hover' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->end_controls_tabs();

		$this->end_controls_section();

		$this->start_controls_section(
			'section_design_icon_user',
			[
				'label' => __( 'Icon User', 'bearsthemes-addons' ),
				'tab' => Controls_Manager::TAB_STYLE,
				'condition' => [
					'show_navigation_user!'=> '',
				],
			]
		);

		$this->add_control(
			'icon_user_size',
			[
				'label' => __( 'Icon Size', 'bearsthemes-addons' ),
				'type' => Controls_Manager::SLIDER,
				'default' => [
					'size' => '',
				],
				'range' => [
					'px' => [
						'min' => 10,
						'max' => 200,
					],
				],
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .mini-user a.toggle-icon svg' => 'width: {{SIZE}}{{UNIT}};height:auto;',
				],
			]
		);

		$this->start_controls_tabs( 'tabs_icon_user' );

		$this->start_controls_tab(
			'tab_icon_user_normal',
			[
				'label' => __( 'Normal', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'icon_user_color',
			[
				'label' => __( 'Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .mini-user a.toggle-icon svg' => 'fill: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'icon_user_bg_color',
			[
				'label' => __( 'Background Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .mini-user a.toggle-icon' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->start_controls_tab(
			'tab_user_search_hover',
			[
				'label' => __( 'Hover', 'bearsthemes-addons' ),
			]
		);

		$this->add_control(
			'icon_user_color_hover',
			[
				'label' => __( 'Color', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .mini-user a.toggle-icon:hover svg' => 'fill: {{VALUE}};',
				],
			]
		);
		$this->add_control(
			'icon_user_bg_hover_color',
			[
				'label' => __( 'Background Hover', 'bearsthemes-addons' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}} .extras-navigation .mini-user a.toggle-icon:hover' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->end_controls_tabs();

		$this->end_controls_section();
	}

	protected function register_controls() {
		$this->register_layout_section_controls();

		$this->register_design_layout_section_controls();
			$this->register_design_button_donate_section_controls();
			$this->register_design_form_section_controls();
			$this->register_design_navigation_section_controls();
	}

  	public function get_is_edit_mode() {
		if ( Plugin::$instance->editor->is_edit_mode() ) {
			return true;
		} else {
			return false;
		}
	}

	protected function render() {
    $settings = $this->get_settings_for_display();

    $config = $settings['config'];
    $menu = $settings['menu'];
    $theme_location = $settings['theme_location'];

		?><div class="site-menu-wrap-bears"><?php

    switch( $settings['assign'] ){
      case 'menu':

        if( !$settings['menu'] ){
          ubermenu_admin_notice( 'Please select a <strong>Menu</strong> in the Elementor settings' );
          return;
        }

        ubermenu( $config , [ 'menu' => $settings['menu'] ] );
        break;

      case 'theme_location':

        if( !$settings['theme_location'] ){
          ubermenu_admin_notice( 'Please select a <strong>Theme Location</strong> in the Elementor settings' );
          return;
        }

        ubermenu( $config , ['theme_location' => $settings['theme_location'] ] );
        break;
    }

		?><div id="site-extras-navigation" class="extras-navigation">
				<?php
					if( '' !== $settings['show_navigation_search'] ) { alone_site_branding_extras_navigation_search(); }
				?>

				<?php
					if ( class_exists( 'WooCommerce' ) ) {
						if( '' !== $settings['show_navigation_cart'] ) { alone_site_branding_extras_navigation_cart(); }
					}
				?>

				<?php
					if( '' !== $settings['show_navigation_user'] ) { alone_site_branding_extras_navigation_user(); }
				?>

				<?php
				if ( class_exists( 'Give' ) ) {
					if( '' !== $settings['show_button_donate'] && !empty( $settings['form_id'] ) ) {
						$form_id = $settings['form_id'];

						if( !Template::getActiveID($form_id) ) {
							if ( $this->get_is_edit_mode() ) {
								echo '<div class="root-data-givewp-embed"><button type="button" class="givewp-donation-form-modal__open">' . esc_html__( 'Donate Now', 'alone' ) . '</button></div>';
							} else {
								echo do_shortcode('[give_form id="' . $form_id . '" display_style="modal" continue_button_title="' . esc_html__( 'Donate Now', 'alone' ) . '"]');
							}
						} else {
							// Maybe display the form donate button.
							$atts = array(
								'id' => $form_id,  // integer.
								'show_title' => false, // boolean.
								'show_goal' => false, // boolean.
								'show_content' => 'none', //above, below, or none
								'display_style' => 'button', //modal, button, and reveal
								'continue_button_title' => esc_html__( 'Donate Now', 'alone' ) //string

							);

							echo give_get_donation_form( $atts );
						}
					}
				}
				?>
			</div>
		</div><?php
  }

	protected function content_template() {}

}