/home/mobivsrd/public_html/wp-contentMXc/themes/freeio/inc/vendors/elementor/widgets/mailchimp.php
<?php
namespace Elementor;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class Freeio_Elementor_Mailchimp extends Widget_Base {
public function get_name() {
return 'apus_element_mailchimp';
}
public function get_title() {
return esc_html__( 'Apus MailChimp Sign-Up Form', 'freeio' );
}
public function get_categories() {
return [ 'freeio-elements' ];
}
protected function register_controls() {
$this->start_controls_section(
'content_section',
[
'label' => esc_html__( 'MailChimp Sign-Up Form', 'freeio' ),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
$this->add_control(
'title',
[
'label' => esc_html__( 'Title', 'freeio' ),
'type' => Controls_Manager::TEXT,
'placeholder' => esc_html__( 'Enter your title here', 'freeio' ),
]
);
$this->add_control(
'style',
[
'label' => esc_html__( 'Style', 'freeio' ),
'type' => Controls_Manager::SELECT,
'options' => array(
'' => esc_html__('Default', 'freeio'),
),
'default' => ''
]
);
$this->add_control(
'el_class',
[
'label' => esc_html__( 'Extra class name', 'freeio' ),
'type' => Controls_Manager::TEXT,
'placeholder' => esc_html__( 'If you wish to style particular content element differently, please add a class name to this field and refer to it in your custom CSS file.', 'freeio' ),
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_title_style',
[
'label' => esc_html__( 'Style', 'freeio' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'title_color',
[
'label' => esc_html__( 'Title Color', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .widget-title' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'label' => esc_html__( 'Title Typography', 'freeio' ),
'name' => 'title_typography',
'selector' => '{{WRAPPER}} .widget-title',
]
);
$this->add_control(
'input_color',
[
'label' => esc_html__( 'Input Color', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} input' => 'color: {{VALUE}};',
],
]
);
$this->add_control(
'input_placeholder_color',
[
'label' => esc_html__( 'Input Placeholder Color', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} input::-webkit-input-placeholder' => 'color: {{VALUE}};',
'{{WRAPPER}} input::-moz-placeholder' => 'color: {{VALUE}};',
'{{WRAPPER}} input:-ms-input-placeholder' => 'color: {{VALUE}};',
'{{WRAPPER}} input:-moz-placeholder' => 'color: {{VALUE}};',
],
]
);
$this->add_control(
'heading_options',
[
'label' => esc_html__( 'Form', 'freeio' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
]
);
$this->add_control(
'input_bg_color',
[
'label' => esc_html__( 'Background', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .input-group' => 'background-color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'border',
'label' => esc_html__( 'Border', 'freeio' ),
'selector' => '{{WRAPPER}} .input-group',
]
);
$this->add_control(
'padding_form',
[
'label' => esc_html__( 'Padding', 'freeio' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', '%', 'em' ],
'selectors' => [
'{{WRAPPER}} .input-group' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_control(
'radius_form',
[
'label' => esc_html__( 'Border Radius', 'freeio' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', '%', 'em' ],
'selectors' => [
'{{WRAPPER}} .input-group' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_button_style',
[
'label' => esc_html__( 'Button', 'freeio' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->start_controls_tabs(
'style_tabs'
);
$this->start_controls_tab(
'button_normal_tab',
[
'label' => esc_html__( 'Normal', 'freeio' ),
]
);
$this->add_control(
'btn_color',
[
'label' => esc_html__( 'Button Color', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} [type="submit"]' => 'color: {{VALUE}};',
],
]
);
$this->add_control(
'btn_bg_color',
[
'label' => esc_html__( 'Button Background', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} [type="submit"]' => 'background: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'btn_br_color',
'label' => esc_html__( 'Border', 'freeio' ),
'selector' => '{{WRAPPER}} [type="submit"]',
]
);
$this->add_control(
'padding_button',
[
'label' => esc_html__( 'Padding', 'freeio' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', '%', 'em' ],
'selectors' => [
'{{WRAPPER}} [type="submit"]' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'box_button_shadow',
'label' => esc_html__( 'Box Shadow', 'freeio' ),
'selector' => '{{WRAPPER}} [type="submit"]',
]
);
$this->end_controls_tab();
$this->start_controls_tab(
'button_hover_tab',
[
'label' => esc_html__( 'Hover', 'freeio' ),
]
);
$this->add_control(
'btn_hover_color',
[
'label' => esc_html__( 'Button Color', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} [type="submit"]:hover' => 'color: {{VALUE}};',
'{{WRAPPER}} [type="submit"]:focus' => 'color: {{VALUE}};',
],
]
);
$this->add_control(
'btn_hover_bg_color',
[
'label' => esc_html__( 'Button Background', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} [type="submit"]:hover' => 'background: {{VALUE}};',
'{{WRAPPER}} [type="submit"]:focus' => 'background: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Border::get_type(),
[
'name' => 'btn_br_color_hv',
'label' => esc_html__( 'Border', 'freeio' ),
'selector' => '{{WRAPPER}} [type="submit"]:hover',
'selector' => '{{WRAPPER}} [type="submit"]:focus',
]
);
$this->add_control(
'padding_button_hv',
[
'label' => esc_html__( 'Padding', 'freeio' ),
'type' => Controls_Manager::DIMENSIONS,
'size_units' => [ 'px', '%', 'em' ],
'selectors' => [
'{{WRAPPER}} [type="submit"]:hover' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
'{{WRAPPER}} [type="submit"]:focus' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
],
]
);
$this->add_group_control(
Group_Control_Box_Shadow::get_type(),
[
'name' => 'box_button_hv_shadow',
'label' => esc_html__( 'Box Shadow', 'freeio' ),
'selector' => '{{WRAPPER}} [type="submit"]:hover',
'selector' => '{{WRAPPER}} [type="submit"]:focus',
]
);
$this->end_controls_tab();
$this->end_controls_tabs();
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'label' => esc_html__( 'Typography', 'freeio' ),
'name' => 'button_typography',
'selector' => '{{WRAPPER}} [type="submit"]',
]
);
$this->end_controls_section();
// end tab for button
}
protected function render() {
$settings = $this->get_settings();
extract( $settings );
?>
<div class="widget-mailchimp <?php echo esc_attr($el_class.' '.$style); ?>">
<?php if ( !empty($title) ) { ?>
<h2 class="widget-title"><?php echo esc_html($title); ?></h2>
<?php } ?>
<?php mc4wp_show_form(''); ?>
</div>
<?php
}
}
if ( version_compare(ELEMENTOR_VERSION, '3.5.0', '<') ) {
Plugin::instance()->widgets_manager->register_widget_type( new Freeio_Elementor_Mailchimp );
} else {
Plugin::instance()->widgets_manager->register( new Freeio_Elementor_Mailchimp );
}