start_controls_section( 'eael_section_countdown_settings_general', [ 'label' => esc_html__( 'Countdown Settings', 'essential-addons-elementor' ) ] ); $this->add_control( 'eael_countdown_due_time', [ 'label' => esc_html__( 'Countdown Due Date', 'essential-addons-elementor' ), 'type' => Controls_Manager::DATE_TIME, 'default' => date("Y-m-d", strtotime("+ 1 day")), 'description' => esc_html__( 'Set the due date and time', 'essential-addons-elementor' ), ] ); $this->add_control( 'eael_countdown_label_view', [ 'label' => esc_html__( 'Label Position', 'essential-addons-elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'eael-countdown-label-block', 'options' => [ 'eael-countdown-label-block' => esc_html__( 'Block', 'essential-addons-elementor' ), 'eael-countdown-label-inline' => esc_html__( 'Inline', 'essential-addons-elementor' ), ], ] ); $this->add_responsive_control( 'eael_countdown_label_padding_left', [ 'label' => esc_html__( 'Left spacing for Labels', 'essential-addons-elementor' ), 'type' => Controls_Manager::SLIDER, 'description' => esc_html__( 'Use when you select inline labels', 'essential-addons-elementor' ), 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .eael-countdown-label' => 'padding-left:{{SIZE}}px;', ], 'condition' => [ 'eael_countdown_label_view' => 'eael-countdown-label-inline', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_section_countdown_settings_content', [ 'label' => esc_html__( 'Content Settings', 'essential-addons-elementor' ) ] ); $this->add_control( 'eael_section_countdown_style', [ 'label' => esc_html__( 'Countdown Style', 'essential-addons-elementor' ), 'type' => Controls_Manager::SELECT, 'default' => 'style-1', 'label_block' => false, 'options' => [ 'style-1' => esc_html__( 'Style 1', 'essential-addons-elementor' ), 'style-2' => esc_html__( 'Style 2 (Pro)', 'essential-addons-elementor' ), 'style-3' => esc_html__( 'Style 3 (Pro)', 'essential-addons-elementor' ), ], ] ); $this->add_control( 'eael_section_countdown_style_pro_alert', [ 'label' => esc_html__( 'Only available in pro version!', 'essential-addons-elementor' ), 'type' => Controls_Manager::HEADING, 'condition' => [ 'eael_section_countdown_style' => ['style-2', 'style-3'], ] ] ); $this->add_control( 'eael_countdown_days', [ 'label' => esc_html__( 'Display Days', 'essential-addons-elementor' ), 'type' => Controls_Manager::SWITCHER, 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'eael_countdown_days_label', [ 'label' => esc_html__( 'Custom Label for Days', 'essential-addons-elementor' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Days', 'essential-addons-elementor' ), 'description' => esc_html__( 'Leave blank to hide', 'essential-addons-elementor' ), 'condition' => [ 'eael_countdown_days' => 'yes', ], ] ); $this->add_control( 'eael_countdown_hours', [ 'label' => esc_html__( 'Display Hours', 'essential-addons-elementor' ), 'type' => Controls_Manager::SWITCHER, 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'eael_countdown_hours_label', [ 'label' => esc_html__( 'Custom Label for Hours', 'essential-addons-elementor' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Hours', 'essential-addons-elementor' ), 'description' => esc_html__( 'Leave blank to hide', 'essential-addons-elementor' ), 'condition' => [ 'eael_countdown_hours' => 'yes', ], ] ); $this->add_control( 'eael_countdown_minutes', [ 'label' => esc_html__( 'Display Minutes', 'essential-addons-elementor' ), 'type' => Controls_Manager::SWITCHER, 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'eael_countdown_minutes_label', [ 'label' => esc_html__( 'Custom Label for Minutes', 'essential-addons-elementor' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Minutes', 'essential-addons-elementor' ), 'description' => esc_html__( 'Leave blank to hide', 'essential-addons-elementor' ), 'condition' => [ 'eael_countdown_minutes' => 'yes', ], ] ); $this->add_control( 'eael_countdown_seconds', [ 'label' => esc_html__( 'Display Seconds', 'essential-addons-elementor' ), 'type' => Controls_Manager::SWITCHER, 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'eael_countdown_seconds_label', [ 'label' => esc_html__( 'Custom Label for Seconds', 'essential-addons-elementor' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( 'Seconds', 'essential-addons-elementor' ), 'description' => esc_html__( 'Leave blank to hide', 'essential-addons-elementor' ), 'condition' => [ 'eael_countdown_seconds' => 'yes', ], ] ); $this->add_control( 'eael_countdown_separator_heading', [ 'label' => __( 'Countdown Separator', 'essential-addons-elementor' ), 'type' => Controls_Manager::HEADING, ] ); $this->add_control( 'eael_countdown_separator', [ 'label' => esc_html__( 'Display Separator', 'essential-addons-elementor' ), 'type' => Controls_Manager::SWITCHER, 'return_value' => 'eael-countdown-show-separator', 'default' => '', ] ); $this->add_control( 'eael_countdown_separator_color', [ 'label' => esc_html__( 'Separator Color', 'essential-addons-elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'condition' => [ 'eael_countdown_separator' => 'eael-countdown-show-separator', ], 'selectors' => [ '{{WRAPPER}} .eael-countdown-digits::after' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_countdown_separator_typography', 'scheme' => Scheme_Typography::TYPOGRAPHY_2, 'selector' => '{{WRAPPER}} .eael-countdown-digits::after', 'condition' => [ 'eael_countdown_separator' => 'eael-countdown-show-separator', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_section_pro', [ 'label' => __( 'Go Premium for More Features', 'essential-addons-elementor' ) ] ); $this->add_control( 'eael_control_get_pro', [ 'label' => __( 'Unlock more possibilities', 'essential-addons-elementor' ), 'type' => Controls_Manager::CHOOSE, 'options' => [ '1' => [ 'title' => __( '', 'essential-addons-elementor' ), 'icon' => 'fa fa-unlock-alt', ], ], 'default' => '1', 'description' => ' Get the Pro version for more stunning elements and customization options.' ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_section_countdown_styles_general', [ 'label' => esc_html__( 'Countdown Styles', 'essential-addons-elementor' ), 'tab' => Controls_Manager::TAB_STYLE ] ); $this->add_control( 'eael_countdown_background', [ 'label' => esc_html__( 'Box Background Color', 'essential-addons-elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '#262625', 'selectors' => [ '{{WRAPPER}} .eael-countdown-item > div' => 'background: {{VALUE}};', ], ] ); $this->add_responsive_control( 'eael_countdown_spacing', [ 'label' => esc_html__( 'Space Between Boxes', 'essential-addons-elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 15, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .eael-countdown-item > div' => 'margin-right:{{SIZE}}px; margin-left:{{SIZE}}px;', '{{WRAPPER}} .eael-countdown-container' => 'margin-right: -{{SIZE}}px; margin-left: -{{SIZE}}px;', ], ] ); $this->add_responsive_control( 'eael_countdown_container_margin_bottom', [ 'label' => esc_html__( 'Space Below Container', 'essential-addons-elementor' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'size' => 0, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .eael-countdown-container' => 'margin-bottom:{{SIZE}}px;', ], ] ); $this->add_responsive_control( 'eael_countdown_box_padding', [ 'label' => esc_html__( 'Padding', 'essential-addons-elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .eael-countdown-item > div' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'eael_countdown_box_border', 'label' => esc_html__( 'Border', 'essential-addons-elementor' ), 'selector' => '{{WRAPPER}} .eael-countdown-item > div', ] ); $this->add_control( 'eael_countdown_box_border_radius', [ 'label' => esc_html__( 'Border Radius', 'essential-addons-elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'selectors' => [ '{{WRAPPER}} .eael-countdown-item > div' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_section_countdown_styles_content', [ 'label' => esc_html__( 'Color & Typography', 'essential-addons-elementor' ), 'tab' => Controls_Manager::TAB_STYLE ] ); $this->add_control( 'eael_countdown_digits_heading', [ 'label' => __( 'Countdown Digits', 'essential-addons-elementor' ), 'type' => Controls_Manager::HEADING, ] ); $this->add_control( 'eael_countdown_digits_color', [ 'label' => esc_html__( 'Digits Color', 'essential-addons-elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '#fec503', 'selectors' => [ '{{WRAPPER}} .eael-countdown-digits' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_countdown_digit_typography', 'scheme' => Scheme_Typography::TYPOGRAPHY_2, 'selector' => '{{WRAPPER}} .eael-countdown-digits', ] ); $this->add_control( 'eael_countdown_label_heading', [ 'label' => __( 'Countdown Labels', 'essential-addons-elementor' ), 'type' => Controls_Manager::HEADING, ] ); $this->add_control( 'eael_countdown_label_color', [ 'label' => esc_html__( 'Label Color', 'essential-addons-elementor' ), 'type' => Controls_Manager::COLOR, 'default' => '#ffffff', 'selectors' => [ '{{WRAPPER}} .eael-countdown-label' => 'color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_countdown_label_typography', 'scheme' => Scheme_Typography::TYPOGRAPHY_2, 'selector' => '{{WRAPPER}} .eael-countdown-label', ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_section_countdown_styles_individual', [ 'label' => esc_html__( 'Individual Box Styling', 'essential-addons-elementor' ), 'tab' => Controls_Manager::TAB_STYLE ] ); $this->add_control( 'eael_countdown_individual_heading', [ 'label' => __( 'Get Pro version to avail this feature.', 'essential-addons-elementor' ), 'type' => Controls_Manager::HEADING, ] ); $this->end_controls_section(); } protected function render( ) { $settings = $this->get_settings(); $get_due_date = esc_attr($settings['eael_countdown_due_time']); $due_date = date("M d Y G:i:s", strtotime($get_due_date)); if( 'style-1' === $settings['eael_section_countdown_style'] || 'style-2' === $settings['eael_section_countdown_style'] || 'style-3' === $settings['eael_section_countdown_style'] ) { $eael_countdown_style = 'style-1'; } ?>