Server : Apache System : Linux ls31.server.ly 3.10.0-962.3.2.lve1.5.68.el7.x86_64 #1 SMP Wed Apr 6 11:12:23 UTC 2022 x86_64 User : medchoco ( 2906) PHP Version : 8.3.16 Disable Function : mail Directory : /home/medchoco/public_html/wp-content/themes/puca/inc/vendors/elementor/abstract/ |
Upload File : |
<?php if (!defined('ABSPATH') || function_exists('Puca_Elementor_Carousel_Base') ) { exit; // Exit if accessed directly. } use Elementor\Controls_Manager; abstract class Puca_Elementor_Carousel_Base extends Puca_Elementor_Responsive_Base { public function get_name() { return 'puca-carousel'; } private function get_rows() { $value = apply_filters( 'puca_admin_elementor_rows', [ 1 => 1, 2 => 2, 3 => 3 ] ); return $value; } protected function add_control_carousel($condition = array()) { $this->register_section_carousel_options($condition); $this->register_section_style_navigation($condition); $this->register_section_style_pagination($condition); } private function register_section_carousel_options( $condition = array() ) { $this->start_controls_section( 'section_carousel_options', [ 'label' => esc_html__( 'Carousel Options', 'puca' ), 'type' => Controls_Manager::SECTION, 'condition' => $condition, ] ); $this->add_control( 'rows', [ 'label' => esc_html__( 'Rows', 'puca' ), 'type' => Controls_Manager::SELECT, 'default' => 1, 'options' => $this->get_rows() ] ); $this->add_control( 'navigation', [ 'label' => esc_html__( 'Navigation', 'puca' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'description' => esc_html__( 'Show/hidden Navigation', 'puca' ), ] ); $this->add_control( 'pagination', [ 'label' => esc_html__( 'Pagination', 'puca' ), 'type' => Controls_Manager::SWITCHER, 'default' => '', 'description' => esc_html__( 'Show/hidden Pagination', 'puca' ), ] ); $this->add_control( 'loop', [ 'label' => esc_html__( 'Infinite Loop', 'puca' ), 'type' => Controls_Manager::SWITCHER, 'default' => '', 'description' => esc_html__( 'Show/hidden Infinite Loop', 'puca' ), ] ); $this->add_control( 'auto', [ 'label' => esc_html__( 'Autoplay', 'puca' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'no', 'description' => esc_html__( 'Show/hidden Autoplay', 'puca' ), ] ); $this->add_control( 'autospeed', [ 'label' => esc_html__( 'Autoplay Speed', 'puca' ), 'type' => Controls_Manager::NUMBER, 'default' => 1000, 'condition' => [ 'auto' => 'yes', ], ] ); $this->add_control( 'disable_mobile', [ 'label' => esc_html__( 'Disable Carousel On Mobile', 'puca' ), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'description' => esc_html__( 'To help load faster in mmobile', 'puca' ), ] ); $this->end_controls_section(); } private function register_section_style_navigation( $condition = array() ) { $condition['navigation'] = 'yes'; $this->start_controls_section( 'section_style_navigation', [ 'label' => esc_html__( 'Navigation', 'puca' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => $condition, ] ); $this->add_responsive_control( 'arrows_width', [ 'label' => esc_html__( 'Width', 'puca' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 10, 'max' => 80, ], ], 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-arrow' => 'width: {{SIZE}}{{UNIT}}', ], 'condition' => [ 'navigation' => [ 'yes' ], ], ] ); $this->add_responsive_control( 'arrows_height', [ 'label' => esc_html__( 'Height', 'puca' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 10, 'max' => 80, ], ], 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-arrow' => 'height: {{SIZE}}{{UNIT}};', '{{WRAPPER}} .tbay-element .owl-carousel .slick-arrow i' => 'line-height: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'navigation' => [ 'yes' ], ], ] ); $this->add_responsive_control( 'arrows_size_icon', [ 'label' => esc_html__( 'Size Icon', 'puca' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 10, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-arrow i' => 'font-size: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'navigation' => [ 'yes' ], ], ] ); $this->add_responsive_control( 'arrows_size_position', [ 'label' => esc_html__( 'Position', 'puca' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => -100, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-arrow.slick-prev' => 'margin-left: {{SIZE}}{{UNIT}};', '{{WRAPPER}} .tbay-element .owl-carousel .slick-arrow.slick-next' => 'margin-right: {{SIZE}}{{UNIT}};', ], 'condition' => [ 'navigation' => [ 'yes' ], ], ] ); $this->add_responsive_control( 'arrows_radius', [ 'label' => esc_html__( 'Border Radius', 'puca' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-arrow' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_control( 'arrows_text_color', [ 'label' => esc_html__( 'Text Color', 'puca' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-arrow i' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'arrows_text_color_hover', [ 'label' => esc_html__( 'Text Color Hover', 'puca' ), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-arrow:hover i' => 'color: {{VALUE}};', ], ] ); $this->end_controls_section(); } private function register_section_style_pagination( $condition = array() ) { $condition['pagination'] = 'yes'; $this->start_controls_section( 'section_style_pagination', [ 'label' => esc_html__( 'Pagination', 'puca' ), 'tab' => Controls_Manager::TAB_STYLE, 'condition' => $condition, ] ); $this->add_responsive_control( 'pagination_width', [ 'label' => esc_html__( 'Width', 'puca' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 6, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-dots li button' => 'width: {{SIZE}}{{UNIT}}', ], ] ); $this->add_responsive_control( 'pagination_height', [ 'label' => esc_html__( 'Height', 'puca' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => 6, 'max' => 50, ], ], 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-dots li button' => 'height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'pagination_position', [ 'label' => esc_html__( 'Position', 'puca' ), 'type' => Controls_Manager::SLIDER, 'range' => [ 'px' => [ 'min' => -100, 'max' => 150, ], ], 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-dots' => 'margin-top: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'pagination_radius', [ 'label' => esc_html__( 'Border Radius', 'puca' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .tbay-element .owl-carousel .slick-dots li button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); } protected function settings_carousel($settings) { $column_tablet = ( !empty($settings['column_tablet']) ) ? $settings['column_tablet'] : 3; $column_mobile = ( !empty($settings['column_mobile']) ) ? $settings['column_mobile'] : 2; $this->add_render_attribute('row', 'class', ['owl-carousel', 'scroll-init']); $this->add_render_attribute('row', 'data-carousel', 'owl'); $this->add_render_attribute('row', 'data-items', $settings['column']); $this->add_render_attribute('row', 'data-large', $settings['col_desktop']); $this->add_render_attribute('row', 'data-medium', $settings['col_desktopsmall']); $this->add_render_attribute('row', 'data-smallmedium', $column_tablet); $this->add_render_attribute('row', 'data-extrasmall', $settings['col_landscape']); $this->add_render_attribute('row', 'data-verysmall', $column_mobile); if( !empty($settings['rows']) ) { $this->add_render_attribute('row', 'data-rows', $settings['rows']); } $this->add_render_attribute('row', 'data-nav', $settings['navigation'] === 'yes' ? 'true' : 'false'); $this->add_render_attribute('row', 'data-pagination', $settings['pagination'] === 'yes' ? 'true' : 'false'); $this->add_render_attribute('row', 'data-loop', $settings['loop'] === 'yes' ? 'true' : 'false'); if( !empty($settings['autospeed']) ) { $this->add_render_attribute('row', 'data-autospeed', $settings['autospeed'] ); } $this->add_render_attribute('row', 'data-auto', $settings['auto'] === 'yes' ? 'true' : 'false'); $this->add_render_attribute('row', 'data-unslick', $settings['disable_mobile'] === 'yes' ? 'true' : 'false'); } }