PluginProbe
UiCore Elements – Free widgets and templates for Elementor / 1.0.8
UiCore Elements – Free widgets and templates for Elementor v1.0.8
1.3.17 1.3.16 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 All 41 releases
uicore-elements / includes / widgets / custom-slider.php

custom-slider.php in UiCore Elements – Free widgets and templates for Elementor 1.0.8, at includes/widgets/custom-slider.php

100 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace UiCoreElements;
3 use Elementor\Plugin;
4
5 defined('ABSPATH') || exit();
6
7 /**
8 * Custom Slider
9 *
10 * @author Lucas Marini Falbo <lucas@uicore.co>
11 * @since 1.0.7
12 */
13
14 class CustomSlider extends CustomCarousel {
15
16 public function get_name()
17 {
18 return 'uicore-custom-slider';
19 }
20 public function get_title()
21 {
22 return esc_html__('Custom Slider', 'uicore-elements');
23 }
24 public function get_icon()
25 {
26 return 'eicon-slides ui-e-widget';
27 }
28 public function get_categories()
29 {
30 return ['uicore'];
31 }
32 public function get_keywords()
33 {
34 return ['slide', 'carousel', 'nested'];
35 }
36 public function get_styles()
37 {
38 $styles = [
39 'custom-slider',
40 'animation', // hover animations
41 'entrance', // entrance basic style
42 ];
43 if(!class_exists('\UiCore\Core') && !class_exists('\UiCoreAnimate\Base')){
44 $styles['e-animations'] = [ // entrance animations
45 'external' => true,
46 ];
47 }
48 return $styles;
49 }
50
51 protected function register_controls(bool $is_slider = false)
52 {
53
54 parent::register_controls(true); // inherit original controls and enables slider height
55
56 // Change default border radius to zero
57 $this->update_control( 'item_border_radius', [
58 'default' => [
59 'top' => 0,
60 'right' => 0,
61 'bottom' => 0,
62 'left' => 0,
63 'unit' => 'px',
64 'isLinked' => true,
65 ],
66 ]);
67 // Add special animation slide
68 $this->update_control('animation_style',[
69 'default' => 'fade',
70 'options' => [
71 'coverflow' => esc_html__('Coverflow', 'uicore-elements'),
72 'fade' => esc_html__('Fade', 'uicore-elements'),
73 'cards' => esc_html__('Cards', 'uicore-elements'),
74 'flip' => esc_html__('Flip', 'uicore-elements'),
75 'creative' => esc_html__('Creative', 'uicore-elements'),
76 'stacked' => esc_html__('Stacked', 'uicore-elements'),
77 ]
78 ]);
79 // Decrease default item padding
80 $this->update_control('item_padding', [
81 'default' => [
82 'top' => 25,
83 'right' => 25,
84 'bottom' => 25,
85 'left' => 25,
86 'unit' => 'px',
87 'isLinked' => true,
88 ],
89 ]);
90
91 // Remove controls that are meant for carousel, not slide type widgets
92 $this->remove_responsive_control('slides_per_view');
93 $this->remove_control('show_hidden');
94 $this->remove_control('fade_edges');
95 $this->remove_control('fade_edges_alert');
96 $this->remove_control('match_height');
97 $this->remove_control('carousel_gap');
98 }
99 }
100 \Elementor\Plugin::instance()->widgets_manager->register(new CustomSlider());