PluginProbe ʕ •ᴥ•ʔ
ElementsKit Elementor Addons – Advanced Widgets & Templates Addons for Elementor / 4.0.0
ElementsKit Elementor Addons – Advanced Widgets & Templates Addons for Elementor v4.0.0
4.0.2 4.0.1 4.0.0 3.10.02 3.10.01 3.9.10 3.9.9 3.9.8 3.9.7 3.9.5 3.9.6 3.9.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.3.1 2.3.1.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.4.0 2.5.0 2.5.1 2.5.10 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.5 2.8.6 2.8.7 2.8.8 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 3.4.9 3.5.0 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.6.0 3.6.1 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.9.0 3.9.1 3.9.2 trunk 1.2.6 1.2.7 1.2.9 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.2 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.0.9.1 2.0.9.2 2.0.9.3
elementskit-lite / widgets / client-logo / client-logo.php
elementskit-lite / widgets / client-logo Last commit date
client-logo-handler.php 3 years ago client-logo.php 3 weeks ago
client-logo.php
1663 lines
1 <?php
2 namespace Elementor;
3
4 use \Elementor\ElementsKit_Widget_Client_Logo_Handler as Handler;
5 use \ElementsKit_Lite\Modules\Controls\Controls_Manager as ElementsKit_Controls_Manager;
6
7 if ( ! defined( 'ABSPATH' ) ) exit;
8
9
10 class ElementsKit_Widget_Client_Logo extends Widget_Base {
11 use \ElementsKit_Lite\Widgets\Widget_Notice;
12
13 public $base;
14
15 public function __construct( $data = [], $args = null ) {
16 parent::__construct( $data, $args );
17 }
18
19 public function get_name() {
20 return Handler::get_name();
21 }
22
23 public function get_title() {
24 return Handler::get_title();
25 }
26
27 public function get_icon() {
28 return Handler::get_icon();
29 }
30
31 public function get_categories() {
32 return Handler::get_categories();
33 }
34
35 public function get_keywords() {
36 return Handler::get_categories();
37 }
38
39 public function get_help_url() {
40 return 'https://wpmet.com/doc/client-logo/';
41 }
42
43 public function get_style_depends() {
44 return ['swiper', 'ekit-client-logo'];
45 }
46
47 public function get_script_depends() {
48 return ['ekit-client-logo', 'swiper'];
49 }
50
51 protected function is_dynamic_content(): bool {
52 return false;
53 }
54
55 public function has_widget_inner_wrapper(): bool {
56 return ! Plugin::$instance->experiments->is_feature_active( 'e_optimized_markup' );
57 }
58
59 protected function register_controls() {
60
61 $this->start_controls_section(
62 'ekit_client_logo_section_client',
63 [
64 'label' => esc_html__( 'Logo', 'elementskit-lite' ),
65 ]
66 );
67
68 $this->add_control(
69 'ekit_client_logo_slide_style',
70 [
71 'label' => esc_html__( 'Slide Style ', 'elementskit-lite' ),
72 'type' => Controls_Manager::SELECT,
73 'default' => 'simple_logo_image',
74 'options' => [
75 'simple_logo_image' => esc_html__( 'Simple', 'elementskit-lite' ),
76 'banner_logo_image' => esc_html__( 'Banner', 'elementskit-lite' ),
77 ],
78 ]
79 );
80
81 $repeater = new Repeater();
82
83 $repeater->add_control(
84 'ekit_client_logo_list_title', [
85 'label' => esc_html__( 'Client Name', 'elementskit-lite' ),
86 'type' => Controls_Manager::TEXT,
87 'dynamic' => [
88 'active' => true,
89 ],
90 'default' => esc_html__( 'List Title' , 'elementskit-lite' ),
91 'label_block' => true,
92 ]
93 );
94
95 $repeater->add_control(
96 'ekit_client_logo_image_normal',
97 [
98 'label' => esc_html__( 'Client Logo', 'elementskit-lite' ),
99 'type' => Controls_Manager::MEDIA,
100 'dynamic' => [
101 'active' => true,
102 ],
103 'default' => [
104 'url' => Utils::get_placeholder_image_src(),
105 'id' => -1
106 ],
107 ]
108 );
109
110 $repeater->add_control(
111 'ekit_client_logo_enable_hover_logo',
112 [
113 'label' => esc_html__( 'Enable Hover Logo', 'elementskit-lite' ),
114 'type' => Controls_Manager::SWITCHER,
115 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
116 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
117 'return_value' => 'yes',
118 'default' => '',
119 ]
120 );
121
122 $repeater->add_control(
123 'ekit_client_logo_image_hover',
124 [
125 'label' => esc_html__( 'Hover Logo', 'elementskit-lite' ),
126 'type' => Controls_Manager::MEDIA,
127 'dynamic' => [
128 'active' => true,
129 ],
130 'default' => [
131 'url' => Utils::get_placeholder_image_src(),
132 'id' => -1
133 ],
134 'condition' => [
135 'ekit_client_logo_enable_hover_logo' => 'yes'
136 ]
137 ]
138 );
139
140 $repeater->add_control(
141 'ekit_client_logo_enable_link',
142 [
143 'label' => esc_html__( 'Enable Link', 'elementskit-lite' ),
144 'type' => Controls_Manager::SWITCHER,
145 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
146 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
147 'return_value' => 'yes',
148 ]
149 );
150
151 $repeater->add_control(
152 'ekit_client_logo_website_link',
153 [
154 'label' => esc_html__( 'Link', 'elementskit-lite' ),
155 'type' => Controls_Manager::URL,
156 'dynamic' => [
157 'active' => true,
158 ],
159 'placeholder' => esc_html__( 'https://wpmet.com', 'elementskit-lite' ),
160 'show_external' => true,
161 'condition' => [
162 'ekit_client_logo_enable_link' => 'yes'
163 ],
164 ]
165 );
166
167
168 $this->add_control(
169 'ekit_client_logo_repiter',
170 [
171 'label' => esc_html__( 'Repeater List', 'elementskit-lite' ),
172 'type' => Controls_Manager::REPEATER,
173 'fields' => $repeater->get_controls(),
174 'default' => [
175 [
176 'ekit_client_logo_list_title' => esc_html__( 'Title #1', 'elementskit-lite' ),
177 ],
178 [
179 'ekit_client_logo_list_title' => esc_html__( 'Title #2', 'elementskit-lite' ),
180 ],
181 [
182 'ekit_client_logo_list_title' => esc_html__( 'Title #3', 'elementskit-lite' ),
183 ],
184 [
185 'ekit_client_logo_list_title' => esc_html__( 'Title #4', 'elementskit-lite' ),
186 ],
187 [
188 'ekit_client_logo_list_title' => esc_html__( 'Title #5', 'elementskit-lite' ),
189 ],
190 ],
191 'title_field' => '{{{ ekit_client_logo_list_title }}}',
192 ]
193 );
194
195 $this->end_controls_section();
196
197 // setting section
198
199 $this->start_controls_section(
200 'ekit_client_logo_slider_settings',
201 [
202 'label' => esc_html__( 'Settings', 'elementskit-lite' ),
203 ]
204 );
205
206 $this->add_responsive_control(
207 'ekit_client_logo_left_right_spacing',
208 [
209 'label' => esc_html__( 'Spacing Left Right', 'elementskit-lite' ),
210 'type' => Controls_Manager::SLIDER,
211 'size_units' => [ 'px' ],
212 'default' => [
213 'size' => 15,
214 ],
215 'tablet_default' => [
216 'size' => 10,
217 ],
218 'mobile_default' => [
219 'size' => 10,
220 ],
221 'range' => [
222 'px' => [
223 'min' => 0,
224 'max' => 50,
225 'step' => 1,
226 ],
227 ],
228 'render_type' => 'template',
229 'selectors' => [
230 '{{WRAPPER}} .elementskit-clients-slider' => '--ekit_client_logo_left_right_spacing: {{SIZE}}{{UNIT}};',
231 ],
232 ]
233 );
234
235 $this->add_responsive_control(
236 'ekit_client_logo_slidetosho',
237 [
238 'label' => esc_html__( 'Slides To Show', 'elementskit-lite' ),
239 'type' => Controls_Manager::SLIDER,
240 'size_units' => [ 'px' ],
241 'range' => [
242 'px' => [
243 'min' => 1,
244 'max' => 20,
245 'step' => 1,
246 ],
247 ],
248 'devices' => [ 'desktop', 'tablet', 'mobile' ],
249 'desktop_default' => [
250 'size' => 4,
251 'unit' => 'px',
252 ],
253 'tablet_default' => [
254 'size' => 2,
255 'unit' => 'px',
256 ],
257 'mobile_default' => [
258 'size' => 1,
259 'unit' => 'px',
260 ],
261 'default' => [
262 'size' => 4,
263 'unit' => 'px',
264 ],
265 'render_type' => 'template',
266 'selectors' => [
267 '{{WRAPPER}} .ekit-price-card-slider' => '--ekit_client_logo_slidetosho: {{SIZE}};',
268 ],
269 ]
270 );
271
272 $this->add_responsive_control(
273 'ekit_client_logo_slidesToScroll',
274 [
275 'label' => esc_html__( 'Slides To Scroll', 'elementskit-lite' ),
276 'type' => Controls_Manager::SLIDER,
277 'size_units' => [ 'px' ],
278 'range' => [
279 'px' => [
280 'min' => 1,
281 'max' => 20,
282 'step' => 1,
283 ],
284 ],
285 'devices' => [ 'desktop', 'tablet', 'mobile' ],
286 'desktop_default' => [
287 'size' => 1,
288 'unit' => 'px',
289 ],
290 'tablet_default' => [
291 'size' => 1,
292 'unit' => 'px',
293 ],
294 'mobile_default' => [
295 'size' => 1,
296 'unit' => 'px',
297 ],
298 'default' => [
299 'size' => 1,
300 'unit' => 'px',
301 ],
302 ]
303 );
304
305
306
307 $this->add_control(
308 'ekit_client_logo_autoplay',
309 [
310 'label' => esc_html__( 'Autoplay', 'elementskit-lite' ),
311 'type' => Controls_Manager::SWITCHER,
312 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
313 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
314 'return_value' => 'yes',
315 'default' => 'yes',
316 ]
317 );
318 $this->add_control(
319 'ekit_client_logo_speed',
320 [
321 'label' => esc_html__( 'Speed (ms)', 'elementskit-lite' ),
322 'type' => Controls_Manager::NUMBER,
323 'min' => 1000,
324 'max' => 15000,
325 'step' => 100,
326 'default' => 1000,
327 'condition' => [
328 'ekit_client_logo_autoplay' => 'yes',
329 ]
330 ]
331 );
332 $this->add_control(
333 'ekit_client_logo_pause_on_hover',
334 [
335 'label' => esc_html__( 'Pause on Hover', 'elementskit-lite' ),
336 'type' => Controls_Manager::SWITCHER,
337 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
338 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
339 'return_value' => 'yes',
340 'default' => 'yes',
341 'condition' => [
342 'ekit_client_logo_autoplay' => 'yes',
343 ]
344 ]
345 );
346 $this->add_control(
347 'ekit_client_logo_show_arrow',
348 [
349 'label' => esc_html__( 'Show arrow', 'elementskit-lite' ),
350 'type' => Controls_Manager::SWITCHER,
351 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
352 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
353 'return_value' => 'yes',
354 'default' => '',
355 ]
356 );
357 $this->add_control(
358 'ekit_client_logo_loop',
359 [
360 'label' => esc_html__( 'Enable Loop?', 'elementskit-lite' ),
361 'type' => Controls_Manager::SWITCHER,
362 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
363 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
364 'return_value' => 'yes',
365 'default' => '',
366 ]
367 );
368 $this->add_control(
369 'ekit_client_logo_left_arrow_icon',
370 [
371 'label' => esc_html__( 'Left arrow Icon', 'elementskit-lite' ),
372 'type' => Controls_Manager::ICONS,
373 'fa4compatibility' => 'ekit_client_logo_left_arrow',
374 'default' => [
375 'value' => 'icon icon-left-arrow2',
376 'library' => 'ekiticons',
377 ],
378 'condition' => [
379 'ekit_client_logo_show_arrow' => 'yes',
380 ]
381 ]
382 );
383
384 $this->add_control(
385 'ekit_client_logo_right_arrow_icon',
386 [
387 'label' => esc_html__( 'Right arrow Icon', 'elementskit-lite' ),
388 'type' => Controls_Manager::ICONS,
389 'fa4compatibility' => 'ekit_client_logo_right_arrow',
390 'default' => [
391 'value' => 'icon icon-right-arrow2',
392 'library' => 'ekiticons',
393 ],
394 'condition' => [
395 'ekit_client_logo_show_arrow' => 'yes',
396 ]
397 ]
398 );
399 $this->add_control(
400 'ekit_client_logo_show_dot',
401 [
402 'label' => esc_html__( 'Show dots', 'elementskit-lite' ),
403 'type' => Controls_Manager::SWITCHER,
404 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
405 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
406 'return_value' => 'yes',
407 'default' => '',
408 ]
409 );
410
411 $this->add_control(
412 'ekit_client_logo_additional_option_heading',
413 [
414 'label' => esc_html__( 'Additional Options', 'elementskit-lite' ),
415 'type' => Controls_Manager::HEADING,
416 'separator' => 'before',
417 ]
418 );
419
420 $this->add_control(
421 'ekit_client_logo_rows',
422 [
423 'label' => esc_html__( 'Rows', 'elementskit-lite' ),
424 'description' => esc_html__( 'Setting this to more than 1 initializes grid mode. Use slidesPerRow to set how many slides should be in each row.
425 ', 'elementskit-lite' ) ,
426 'type' => Controls_Manager::SELECT,
427 'default' => 1,
428 'options' => [
429 '1' => esc_html__( 'One row', 'elementskit-lite' ),
430 '2' => esc_html__( 'Two row', 'elementskit-lite' ),
431 '3' => esc_html__( 'Three row', 'elementskit-lite' ),
432 ],
433 ]
434 );
435 $this->add_control(
436 'ekit_client_logo_separator',
437 [
438 'label' => esc_html__( 'Show Separator', 'elementskit-lite' ),
439 'type' => Controls_Manager::SWITCHER,
440 'label_on' => esc_html__( 'Show', 'elementskit-lite' ),
441 'label_off' => esc_html__( 'Hide', 'elementskit-lite' ),
442 'return_value' => 'yes',
443 'default' => '',
444 ]
445 );
446 $this->end_controls_section();
447
448 $this->start_controls_section(
449 'ekit_client_logo_container_style_tab',
450 [
451 'label' => esc_html__( 'Container', 'elementskit-lite' ),
452 'tab' => Controls_Manager::TAB_STYLE,
453 ]
454 );
455
456 $this->add_group_control(
457 Group_Control_Background::get_type(),
458 [
459 'name' => 'ekit_client_logo_container_bg_color',
460 'label' => esc_html__( 'Background', 'elementskit-lite' ),
461 'types' => [ 'classic', 'gradient' ],
462 'selector' => '{{WRAPPER}} .elementskit-clients-slider .ekit-main-swiper'
463 ]
464 );
465
466 $this->add_responsive_control(
467 'ekit_client_logo_container_padding',
468 [
469 'label' => esc_html__( 'Padding', 'elementskit-lite' ),
470 'type' => Controls_Manager::DIMENSIONS,
471 'size_units' => [ 'px', '%', 'em' ],
472 'selectors' => [
473 '{{WRAPPER}} .elementskit-clients-slider .swiper-wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
474 ],
475 ]
476 );
477 $this->add_responsive_control(
478 'ekit_client_logo_container_margin',
479 [
480 'label' => esc_html__( 'Margin', 'elementskit-lite' ),
481 'type' => Controls_Manager::DIMENSIONS,
482 'size_units' => [ 'px', '%', 'em' ],
483 'selectors' => [
484 '{{WRAPPER}} .elementskit-clients-slider .swiper-wrapper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
485 ],
486 ]
487 );
488
489 $this->add_responsive_control(
490 'ekit_client_logo_container_min_height',
491 [
492 'label' => esc_html__( 'Min Height', 'elementskit-lite' ),
493 'type' => Controls_Manager::SLIDER,
494 'size_units' => [ 'px' ],
495 'range' => [
496 'px' => [
497 'min' => 0,
498 'step' => 1,
499 ],
500 ],
501 'selectors' => [
502 '{{WRAPPER}} .elementskit-clients-slider .single-client' => 'min-height: {{SIZE}}{{UNIT}};',
503 ],
504 ]
505 );
506
507 $this->end_controls_section();
508
509 // style tab
510 // Logo
511
512 $this->start_controls_section(
513 'ekit_client_logo_image_style',
514 [
515 'label' => esc_html__( 'Logo', 'elementskit-lite' ),
516 'tab' => Controls_Manager::TAB_STYLE,
517 'condition' => [
518 // 'ekit_client_logo_slide_style' => 'simple_logo_image',
519 ]
520 ]
521 );
522
523 $this->start_controls_tabs('ekit_client_logo_image_style_tabs');
524
525 $this->start_controls_tab(
526 'ekit_client_logo_image_style_normal_tab',
527 [
528 'label' => esc_html__( 'Normal', 'elementskit-lite' ),
529 ]
530 );
531
532 $this->add_group_control(
533 Group_Control_Background::get_type(),
534 [
535 'name' => 'ekit_client_logo_client_logo_background_group',
536 'label' => esc_html__( 'Background', 'elementskit-lite' ),
537 'types' => [ 'classic', 'gradient' ],
538 'selector' => '{{WRAPPER}} .elementskit-clients-slider .single-client',
539 ]
540 );
541
542
543
544 $this->end_controls_tab();
545
546 $this->start_controls_tab(
547 'ekit_client_logo_image_style_hover_tab',
548 [
549 'label' => esc_html__( 'Hover', 'elementskit-lite' ),
550 ]
551 );
552
553 $this->add_group_control(
554 Group_Control_Background::get_type(),
555 [
556 'name' => 'ekit_client_logo_background_hover_group',
557 'label' => esc_html__( 'Background', 'elementskit-lite' ),
558 'types' => [ 'classic', 'gradient' ],
559 'selector' => '{{WRAPPER}} .elementskit-clients-slider.banner_logo_image .single-client:before, {{WRAPPER}} .elementskit-clients-slider.hover-bg-gradient .single-client:before',
560 'condition' => [
561 'ekit_client_logo_slide_style' => 'banner_logo_image'
562 ]
563 ]
564 );
565
566 $this->add_group_control(
567 Group_Control_Background::get_type(),
568 [
569 'name' => 'ekit_client_logo_background_simple_hover_group',
570 'label' => esc_html__( 'Background', 'elementskit-lite' ),
571 'types' => [ 'classic', 'gradient', 'video' ],
572 'selector' => '{{WRAPPER}} .elementskit-clients-slider .single-client:hover',
573 'condition' => [
574 'ekit_client_logo_slide_style' => 'simple_logo_image'
575 ]
576 ]
577 );
578
579 $this->end_controls_tab();
580 $this->end_controls_tabs();
581
582 $this->add_responsive_control(
583 'ekit_client_logo_image_style_border_radious',
584 [
585 'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
586 'type' => Controls_Manager::DIMENSIONS,
587 'size_units' => [ 'px', '%', 'em' ],
588 'selectors' => [
589 '{{WRAPPER}} .elementskit-clients-slider .single-client' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
590 ],
591 ]
592 );
593
594 $this->add_control(
595 'ekit_client_logo_hover_animation_driction',
596 [
597 'label' => esc_html__( 'Overlay Direction', 'elementskit-lite' ),
598 'type' => Controls_Manager::CHOOSE,
599 'options' => [
600 'hover_from_left' => [
601 'title' => esc_html__( 'From Left', 'elementskit-lite' ),
602 'icon' => 'fa fa-caret-right',
603 ],
604 'hover_from_top' => [
605 'title' => esc_html__( 'From Top', 'elementskit-lite' ),
606 'icon' => 'fa fa-caret-down',
607 ],
608 'hover_from_bottom' => [
609 'title' => esc_html__( 'From Bottom', 'elementskit-lite' ),
610 'icon' => 'fa fa-caret-up',
611 ],
612 'hover_from_right' => [
613 'title' => esc_html__( 'From Right', 'elementskit-lite' ),
614 'icon' => 'fa fa-caret-left',
615 ],
616
617 ],
618 'default' => 'hover_from_bottom',
619 'toggle' => true,
620 'condition' => [
621 'ekit_client_logo_slide_style' => 'banner_logo_image'
622 ]
623 ]
624 );
625
626
627 $this->add_group_control(
628 Group_Control_Background::get_type(),
629 array(
630 'name' => 'ekit_client_logo_hover_animation_color',
631 'label' => esc_html__( 'Hover Background', 'elementskit-lite' ),
632 'default' => '',
633 'selector' => '{{WRAPPER}} .elementskit-clients-slider.banner_logo_image .single-client:before',
634 'condition' => [
635 'ekit_client_logo_slide_style' => 'banner_logo_image'
636 ]
637 )
638 );
639
640 $this->add_responsive_control(
641 'ekit_client_logo_margin',
642 [
643 'label' => esc_html__( 'Margin', 'elementskit-lite' ),
644 'type' => Controls_Manager::DIMENSIONS,
645 'size_units' => [ 'px', '%', 'em' ],
646 'selectors' => [
647 '{{WRAPPER}} .single-client' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
648 ],
649 'separator' => 'before',
650 ]
651 );
652
653 $this->add_responsive_control(
654 'ekit_client_logo_padding',
655 [
656 'label' => esc_html__( 'Padding', 'elementskit-lite' ),
657 'type' => Controls_Manager::DIMENSIONS,
658 'size_units' => [ 'px', '%', 'em' ],
659 'selectors' => [
660 '{{WRAPPER}} .single-client' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
661 ],
662 ]
663 );
664
665
666 $this->start_controls_tabs(
667 'ekit_client_logo_border_control'
668 );
669
670 $this->start_controls_tab(
671 'ekit_client_logo_border_style_normal_tab',
672 [
673 'label' => esc_html__( 'Normal', 'elementskit-lite' ),
674 ]
675 );
676
677 $this->add_group_control(
678 Group_Control_Box_Shadow::get_type(),
679 [
680 'name' => 'ekit_client_logo_image_box_shadow_group',
681 'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
682 'selector' => '{{WRAPPER}} .elementskit-clients-slider .single-client',
683 ]
684 );
685
686 $this->add_group_control(
687 Group_Control_Border::get_type(),
688 [
689 'name' => 'ekit_client_logo_image_style_border_group',
690 'label' => esc_html__( 'Border', 'elementskit-lite' ),
691 'selector' => '{{WRAPPER}} .elementskit-clients-slider .single-client',
692 ]
693 );
694
695 $this->end_controls_tab();
696
697 $this->start_controls_tab(
698 'ekit_client_logo_border_style_hover_tab',
699 [
700 'label' => esc_html__( 'Hover', 'elementskit-lite' ),
701 ]
702 );
703
704 $this->add_group_control(
705 Group_Control_Box_Shadow::get_type(),
706 [
707 'name' => 'ekit_client_logo_image_box_shadow_hover_group',
708 'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
709 'selector' => '{{WRAPPER}} .elementskit-clients-slider.simple_logo_image .single-client:hover',
710 ]
711 );
712
713 $this->add_group_control(
714 Group_Control_Border::get_type(),
715 [
716 'name' => 'ekit_client_logo_image_style_hover_border_group',
717 'label' => esc_html__( 'Border', 'elementskit-lite' ),
718 'selector' => '{{WRAPPER}} .elementskit-clients-slider .single-client:hover',
719 ]
720 );
721
722 $this->end_controls_tab();
723 $this->end_controls_tabs();
724
725 $this->start_controls_tabs('ekit_client_logo_normal_tab');
726
727 $this->start_controls_tab(
728 'ekit_client_logo_style_normal_tab',
729 [
730 'label' => esc_html__( 'Normal', 'elementskit-lite' ),
731 ]
732 );
733
734 $this->add_responsive_control(
735 'ekit_client_logo_opacity',
736 [
737 'label' => esc_html__( 'Opacity', 'elementskit-lite' ),
738 'type' => Controls_Manager::SLIDER,
739 'size_units' => [ ''],
740 'range' => [
741 '' => [
742 'min' => 0,
743 'max' => 1,
744 'step' => .1,
745 ],
746 ],
747 'default' => [
748 'unit' => '',
749 'size' => 1,
750 ],
751 'selectors' => [
752 '{{WRAPPER}} .simple_logo_image .single-client .content-image .main-image' => 'opacity: {{SIZE}};filter: alpha(opacity={{SIZE}})',
753 '{{WRAPPER}} .elementskit-clients-slider .single-client img' => 'opacity: {{SIZE}};filter: alpha(opacity={{SIZE}})',
754 ],
755 ]
756 );
757
758
759 $this->end_controls_tab();
760
761 // hover tab
762
763 $this->start_controls_tab(
764 'ekit_client_logo_style_hover_tab',
765 [
766 'label' => esc_html__( 'Hover', 'elementskit-lite' ),
767 ]
768 );
769
770 $this->add_responsive_control(
771 'ekit_client_logo_opacity_hover',
772 [
773 'label' => esc_html__( 'Opacity', 'elementskit-lite' ),
774 'type' => Controls_Manager::SLIDER,
775 'size_units' => [ ''],
776 'range' => [
777 '' => [
778 'min' => 0,
779 'max' => 1,
780 'step' => .1,
781 ],
782 ],
783 'default' => [
784 'unit' => '',
785 'size' => 1,
786 ],
787 'selectors' => [
788 '{{WRAPPER}} .simple_logo_image .single-client:hover .content-image img' => 'opacity: {{SIZE}};filter: alpha(opacity={{SIZE}})',
789 ],
790 ]
791 );
792
793 $this->add_responsive_control(
794 'ekit_client_logo_hover_opacity',
795 [
796 'label' => esc_html__( 'Opacity Hover', 'elementskit-lite' ),
797 'type' => Controls_Manager::SLIDER,
798 'size_units' => [ ''],
799 'range' => [
800 '' => [
801 'min' => 0,
802 'max' => 1,
803 'step' => .1,
804 ],
805 ],
806 'default' => [
807 'unit' => '',
808 'size' => 1,
809 ],
810 'selectors' => [
811 '{{WRAPPER}} .simple_logo_image .single-client:hover .content-image .main-image' => 'opacity: {{SIZE}};filter: alpha(opacity={{SIZE}})',
812 ],
813 ]
814 );
815
816 $this->end_controls_tab();
817 $this->end_controls_tabs();
818 $this->end_controls_section();
819
820 // Navigation section
821
822 $this->start_controls_section(
823 'ekit_client_logo_section_navigation',
824 [
825 'label' => esc_html__( 'Arrows', 'elementskit-lite' ),
826 'tab' => Controls_Manager::TAB_STYLE,
827 'condition' => [
828 'ekit_client_logo_show_arrow' => 'yes'
829 ]
830 ]
831 );
832
833 $this->add_control(
834 'ekit_client_logo_arrow_pos',
835 [
836 'label' => esc_html__( 'Position', 'elementskit-lite' ),
837 'type' => Controls_Manager::SELECT,
838 'default' => 'arrow_inside',
839 'options' => [
840 'arrow_outside' => esc_html__( 'Outside', 'elementskit-lite' ),
841 'arrow_inside' => esc_html__( 'Inside', 'elementskit-lite' ),
842 ],
843 ]
844 );
845
846 $this->add_responsive_control(
847 'ekit_client_logo_arrow_size',
848 [
849 'label' => esc_html__( 'Size', 'elementskit-lite' ),
850 'type' => Controls_Manager::SLIDER,
851 'size_units' => [ 'px', '%' ],
852 'range' => [
853 'px' => [
854 'min' => 10,
855 'max' => 200,
856 'step' => 1,
857 ],
858 '%' => [
859 'min' => 0,
860 'max' => 100,
861 ],
862 ],
863 'default' => [
864 'unit' => 'px',
865 'size' => 20,
866 ],
867 'selectors' => [
868 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button' => 'font-size: {{SIZE}}{{UNIT}};',
869 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button svg' => 'font-size: {{SIZE}}{{UNIT}};',
870 ],
871 ]
872 );
873
874 $this->add_responsive_control(
875 'ekit_client_logo_arrow_padding',
876 [
877 'label' => esc_html__( 'Padding', 'elementskit-lite' ),
878 'type' => Controls_Manager::DIMENSIONS,
879 'size_units' => [ 'px', '%', 'em' ],
880 'default' => [
881 'unit' => 'px',
882 'top' => 15,
883 'right' => 15,
884 'bottom' => 15,
885 'left' => 15,
886 'isLinked' => true
887 ],
888 'selectors' => [
889 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
890 ],
891 ]
892 );
893
894 $this->add_group_control(
895 Group_Control_Border::get_type(),
896 [
897 'name' => 'ekit_client_logo_arrow_border_group',
898 'label' => esc_html__( 'Border', 'elementskit-lite' ),
899 'selector' => '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button',
900 ]
901 );
902
903 $this->add_responsive_control(
904 'ekit_client_logo_arrow_border_radious',
905 [
906 'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
907 'type' => Controls_Manager::DIMENSIONS,
908 'size_units' => [ 'px', '%', 'em' ],
909 'selectors' => [
910 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
911 ],
912 ]
913 );
914
915 $this->add_group_control(
916 Group_Control_Box_Shadow::get_type(), [
917 'name' => 'ekit_client_logo_arrow_shadow',
918 'selector' => '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button',
919 ]
920 );
921
922 $this->add_control(
923 'ekit_client_logo_position_popover_toggle',
924 [
925 'label' => esc_html__( 'Arrow Position', 'elementskit-lite' ),
926 'type' => Controls_Manager::POPOVER_TOGGLE,
927 'label_off' => esc_html__( 'Default', 'elementskit-lite' ),
928 'label_on' => esc_html__( 'Custom', 'elementskit-lite' ),
929 'return_value' => 'yes',
930 'default' => 'yes',
931 ]
932 );
933
934 $this->start_popover();
935
936 $this->add_control(
937 'ekit_client_logo_arrow_pos_head',
938 [
939 'label' => esc_html__( 'Left Arrow Position', 'elementskit-lite' ),
940 'type' => Controls_Manager::HEADING
941 ]
942 );
943
944 $this->add_responsive_control(
945 'ekit_client_logo_arrow_left_pos',
946 [
947 'label' => esc_html__( 'Left Arrow Position (X)', 'elementskit-lite' ),
948 'type' => Controls_Manager::SLIDER,
949 'size_units' => [ 'px', '%' ],
950 'range' => [
951 'px' => [
952 'min' => -1000,
953 'max' => 1000,
954 'step' => 1,
955 ],
956 '%' => [
957 'min' => -1000,
958 'max' => 1000,
959 ],
960 ],
961
962 'selectors' => [
963 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button.swiper-button-prev' => 'left: {{SIZE}}{{UNIT}};',
964 ],
965 'condition' => [
966 "ekit_client_logo_position_popover_toggle!" => '',
967 ],
968 ]
969 );
970
971 $this->add_responsive_control(
972 'ekit_client_logo_arrow_left_vertical_pos',
973 [
974 'label' => esc_html__( 'Left Arrow Position (Y)', 'elementskit-lite' ),
975 'type' => Controls_Manager::SLIDER,
976 'size_units' => [ 'px', '%' ],
977 'range' => [
978 'px' => [
979 'min' => -1000,
980 'max' => 1000,
981 'step' => 1,
982 ],
983 '%' => [
984 'min' => -1000,
985 'max' => 1000,
986 ],
987 ],
988
989 'selectors' => [
990 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button.swiper-button-prev' => 'top: {{SIZE}}{{UNIT}};',
991 ],
992 'condition' => [
993 "ekit_client_logo_position_popover_toggle!" => '',
994 ],
995 ]
996 );
997
998 $this->add_control(
999 'ekit_client_logo_arrow_right_pos_head',
1000 [
1001 'label' => esc_html__( 'Right Arrow Position', 'elementskit-lite' ),
1002 'type' => Controls_Manager::HEADING,
1003 'separator' => 'before',
1004 ]
1005 );
1006
1007 $this->add_responsive_control(
1008 'ekit_client_logo_arrow_right_pos',
1009 [
1010 'label' => esc_html__( 'Right Arrow Position (X)', 'elementskit-lite' ),
1011 'type' => Controls_Manager::SLIDER,
1012 'size_units' => [ 'px', '%' ],
1013 'range' => [
1014 'px' => [
1015 'min' => -1000,
1016 'max' => 1000,
1017 'step' => 1,
1018 ],
1019 '%' => [
1020 'min' => -1000,
1021 'max' => 1000,
1022 ],
1023 ],
1024 'selectors' => [
1025 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button.swiper-button-next' => 'right: {{SIZE}}{{UNIT}};',
1026 ],
1027 'condition' => [
1028 "ekit_client_logo_position_popover_toggle!" => '',
1029 ],
1030 ]
1031 );
1032
1033 $this->add_responsive_control(
1034 'ekit_client_logo_arrow_right_vertical_pos',
1035 [
1036 'label' => esc_html__( 'Right Arrow Position (Y)', 'elementskit-lite' ),
1037 'type' => Controls_Manager::SLIDER,
1038 'size_units' => [ 'px', '%' ],
1039 'range' => [
1040 'px' => [
1041 'min' => -1000,
1042 'max' => 1000,
1043 'step' => 1,
1044 ],
1045 '%' => [
1046 'min' => -1000,
1047 'max' => 1000,
1048 ],
1049 ],
1050 'selectors' => [
1051 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button.swiper-button-next' => 'top: {{SIZE}}{{UNIT}};',
1052 ],
1053 'condition' => [
1054 "ekit_client_logo_position_popover_toggle!" => '',
1055 ],
1056 ]
1057 );
1058
1059 $this->end_popover();
1060 // Arrow Normal
1061
1062 $this->start_controls_tabs('ekit_logo_style_tabs');
1063
1064 $this->start_controls_tab(
1065 'ekit_logo_arrow_normal_tab',
1066 [
1067 'label' => esc_html__( 'Normal', 'elementskit-lite' ),
1068 ]
1069 );
1070
1071 $this->add_control(
1072 'ekit_client_logo_arrow_color',
1073 [
1074 'label' => esc_html__( 'Color', 'elementskit-lite' ),
1075 'type' => Controls_Manager::COLOR,
1076 'default' => '#101010',
1077 'selectors' => [
1078 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button' => 'color: {{VALUE}}',
1079 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button svg' => 'fill: {{VALUE}}',
1080 ],
1081 ]
1082 );
1083
1084 $this->add_control(
1085 'ekit_client_logo_arrow_background',
1086 [
1087 'label' => esc_html__( 'Background', 'elementskit-lite' ),
1088 'type' => Controls_Manager::COLOR,
1089 'selectors' => [
1090 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button' => 'background: {{VALUE}}',
1091 ],
1092 ]
1093 );
1094
1095 $this->end_controls_tab();
1096
1097 // Arrow hover tab
1098
1099 $this->start_controls_tab(
1100 'ekit_client_logo_arrow_hover_tab',
1101 [
1102 'label' => esc_html__( 'Hover', 'elementskit-lite' ),
1103 ]
1104 );
1105
1106 $this->add_control(
1107 'ekit_client_logo_arrow_hv_color',
1108 [
1109 'label' => esc_html__( 'Color', 'elementskit-lite' ),
1110 'type' => Controls_Manager::COLOR,
1111 'selectors' => [
1112 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button:hover' => 'color: {{VALUE}}',
1113 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button:hover svg' => 'fill: {{VALUE}}',
1114 ],
1115 ]
1116 );
1117
1118 $this->add_control(
1119 'ekit_client_logo_arrow_hover_background',
1120 [
1121 'label' => esc_html__( 'Background', 'elementskit-lite' ),
1122 'type' => Controls_Manager::COLOR,
1123 'selectors' => [
1124 '{{WRAPPER}} .elementskit-clients-slider .swiper-navigation-button:hover' => 'background: {{VALUE}}',
1125 ],
1126 ]
1127 );
1128 $this->end_controls_tab();
1129
1130 $this->end_controls_tabs();
1131
1132 $this->end_controls_section();
1133
1134
1135 // Dots
1136
1137 $this->start_controls_section(
1138 'ekit_client_logo_navigation_dot',
1139 [
1140 'label' => esc_html__( 'Dots', 'elementskit-lite' ),
1141 'tab' => Controls_Manager::TAB_STYLE,
1142 'condition' => [
1143 'ekit_client_logo_show_dot' => 'yes'
1144 ]
1145 ]
1146 );
1147
1148 $this->add_control(
1149 'ekit_client_logo_client_logo_dot_style',
1150 [
1151 'label' => esc_html__( 'Dot Style', 'elementskit-lite' ),
1152 'type' => Controls_Manager::SELECT,
1153 'default' => 'dot_dotted',
1154 'options' => [
1155 'dot_default' => esc_html__( 'Default', 'elementskit-lite' ),
1156 'dot_dashed' => esc_html__( 'Dashed', 'elementskit-lite' ),
1157 'dot_dotted' => esc_html__( 'Dotted', 'elementskit-lite' ),
1158 'dot_paginated' => esc_html__( 'Paginate', 'elementskit-lite' ),
1159 ],
1160 ]
1161 );
1162
1163 $this->add_responsive_control(
1164 'ekit_client_logo_dots_left_right_spacing',
1165 [
1166 'label' => esc_html__( 'Spacing Left Right', 'elementskit-lite' ),
1167 'type' => Controls_Manager::SLIDER,
1168 'size_units' => [ 'px' ],
1169 'default' => [
1170 'size' => 8,
1171 ],
1172 'tablet_default' => [
1173 'size' => 10,
1174 ],
1175 'mobile_default' => [
1176 'size' => 10,
1177 ],
1178 'range' => [
1179 'px' => [
1180 'min' => 0,
1181 'max' => 1000,
1182 'step' => 1,
1183 ],
1184 ],
1185 'selectors' => [
1186 '{{WRAPPER}} .elementskit-clients-slider .swiper-pagination > span' => 'margin-right: {{SIZE}}{{UNIT}};margin-left: {{SIZE}}{{UNIT}};',
1187 ],
1188 ]
1189 );
1190
1191 $this->add_responsive_control(
1192 'ekit_client_logo_dots_top_to_bottom',
1193 [
1194 'label' => esc_html__( 'Spacing Top To Bottom', 'elementskit-lite' ),
1195 'type' => Controls_Manager::SLIDER,
1196 'size_units' => [ 'px'],
1197 'range' => [
1198 'px' => [
1199 'min' => -120,
1200 'max' => 120,
1201 'step' => 1,
1202 ],
1203 ],
1204 'default' => [
1205 'unit' => 'px',
1206 'size' => -50,
1207 ],
1208
1209 'selectors' => [
1210 '{{WRAPPER}} .elementskit-clients-slider .swiper-pagination' => 'bottom: {{SIZE}}{{UNIT}};',
1211 ],
1212 ]
1213 );
1214
1215 $this->add_control(
1216 'ekit_client_logo_dot_color',
1217 [
1218 'label' => esc_html__( 'Dot Color', 'elementskit-lite' ),
1219 'type' => Controls_Manager::COLOR,
1220 'selectors' => [
1221 '{{WRAPPER}} .elementskit-clients-slider.dot_paginated .swiper-pagination > span' => 'color: {{VALUE}}',
1222 ],
1223 'condition' => [
1224 'ekit_client_logo_client_logo_dot_style' => 'dot_paginated'
1225 ]
1226 ]
1227 );
1228
1229 $this->add_responsive_control(
1230 'ekit_client_logo_dot_width',
1231 [
1232 'label' => esc_html__( 'Width', 'elementskit-lite' ),
1233 'type' => Controls_Manager::SLIDER,
1234 'size_units' => [ 'px' ],
1235 'range' => [
1236 'px' => [
1237 'min' => 0,
1238 'max' => 100,
1239 'step' => 1,
1240 ],
1241 ],
1242 'default' => [
1243 'unit' => 'px',
1244 'size' => 8,
1245 ],
1246 'selectors' => [
1247 '{{WRAPPER}} .elementskit-clients-slider .swiper-pagination > span' => 'width: {{SIZE}}{{UNIT}};',
1248 ],
1249 ]
1250 );
1251
1252 $this->add_responsive_control(
1253 'ekit_client_logo_dot_height',
1254 [
1255 'label' => esc_html__( 'Height', 'elementskit-lite' ),
1256 'type' => Controls_Manager::SLIDER,
1257 'size_units' => [ 'px' ],
1258 'range' => [
1259 'px' => [
1260 'min' => 0,
1261 'max' => 100,
1262 'step' => 1,
1263 ],
1264 ],
1265 'default' => [
1266 'unit' => 'px',
1267 'size' => 8,
1268 ],
1269 'selectors' => [
1270 '{{WRAPPER}} .elementskit-clients-slider .swiper-pagination > span' => 'height: {{SIZE}}{{UNIT}};',
1271 ],
1272 ]
1273 );
1274
1275 $this->add_responsive_control(
1276 'ekit_client_logo_dot_border_radius',
1277 [
1278 'label' => esc_html__( 'Border radius', 'elementskit-lite' ),
1279 'type' => Controls_Manager::DIMENSIONS,
1280 'size_units' => [ 'px', '%', 'em' ],
1281 'selectors' => [
1282 '{{WRAPPER}} .elementskit-clients-slider .swiper-pagination > span' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1283 ],
1284 ]
1285 );
1286
1287 $this->add_group_control(
1288 Group_Control_Background::get_type(),
1289 [
1290 'name' => 'ekit_client_logo_dot_background',
1291 'label' => esc_html__( 'Background', 'elementskit-lite' ),
1292 'types' => [ 'classic', 'gradient' ],
1293 'selector' => '{{WRAPPER}} .elementskit-clients-slider .swiper-pagination > span',
1294 ]
1295 );
1296
1297 $this->add_control(
1298 'ekit_client_logo_dot_active_heading',
1299 [
1300 'label' => esc_html__( 'Active', 'elementskit-lite' ),
1301 'type' => Controls_Manager::HEADING,
1302 'separator' => 'before',
1303 ]
1304 );
1305
1306 $this->add_group_control(
1307 Group_Control_Background::get_type(),
1308 [
1309 'name' => 'ekit_client_logo_dot_active_background',
1310 'label' => esc_html__( 'Background', 'elementskit-lite' ),
1311 'types' => [ 'classic', 'gradient' ],
1312 'selector' => '{{WRAPPER}} .elementskit-clients-slider .swiper-pagination span.swiper-pagination-bullet-active',
1313 ]
1314 );
1315
1316 $this->add_responsive_control(
1317 'ekit_client_logo_dot_active_width',
1318 [
1319 'label' => esc_html__( 'Width', 'elementskit-lite' ),
1320 'type' => Controls_Manager::SLIDER,
1321 'size_units' => [ 'px' ],
1322 'range' => [
1323 'px' => [
1324 'min' => 0,
1325 'max' => 100,
1326 'step' => 1,
1327 ],
1328 ],
1329 'default' => [
1330 'unit' => 'px',
1331 'size' => 40,
1332 ],
1333 'selectors' => [
1334 '{{WRAPPER}} .elementskit-clients-slider .swiper-pagination span.swiper-pagination-bullet-active' => 'width: {{SIZE}}{{UNIT}};',
1335 ],
1336 'condition' => [
1337 'ekit_client_logo_client_logo_dot_style' => 'dot_dashed'
1338 ],
1339 ]
1340 );
1341
1342 $this->add_responsive_control(
1343 'ekit_client_logo_dot_active_scale',
1344 [
1345 'label' => esc_html__( 'Height', 'elementskit-lite' ),
1346 'type' => Controls_Manager::SLIDER,
1347 'size_units' => [ 'px' ],
1348 'range' => [
1349 'px' => [
1350 'min' => .5,
1351 'max' => 3,
1352 'step' => 0.1,
1353 ],
1354 ],
1355 'default' => [
1356 'unit' => 'px',
1357 'size' => 1.2,
1358 ],
1359 'selectors' => [
1360 '{{WRAPPER}} .elementskit-clients-slider .swiper-pagination span.swiper-pagination-bullet-active' => 'transform: scale({{SIZE}});',
1361 ],
1362 'condition' => [
1363 'ekit_client_logo_client_logo_dot_style' => 'dot_dotted'
1364 ],
1365 ]
1366 );
1367
1368 $this->end_controls_section();
1369
1370 // Separator
1371 $this->start_controls_section(
1372 'ekit_client_logo_separator_section',
1373 [
1374 'label' => esc_html__( 'Separator', 'elementskit-lite' ),
1375 'tab' => Controls_Manager::TAB_STYLE,
1376 'condition' => [
1377 'ekit_client_logo_separator' => 'yes'
1378 ]
1379 ]
1380 );
1381 $this->add_responsive_control(
1382 'ekit_client_logo_separator_height',
1383 [
1384 'label' => esc_html__( 'Hight', 'elementskit-lite' ),
1385 'type' => Controls_Manager::SLIDER,
1386 'size_units' => [ 'px', '%' ],
1387 'range' => [
1388 'px' => [
1389 'min' => 5,
1390 'max' => 100,
1391 'step' => 1,
1392 ],
1393
1394 ],
1395 'default' => [
1396 'unit' => 'px',
1397 'size' => 30,
1398 ],
1399 'selectors' => [
1400 '{{WRAPPER}} .elementskit-clients-slider .elementskit-client-slider-item.log-separator:after' => 'height: {{SIZE}}{{UNIT}};',
1401 ],
1402 ]
1403 );
1404
1405 $this->add_responsive_control(
1406 'ekit_client_logo_separator_width',
1407 [
1408 'label' => esc_html__( 'Width', 'elementskit-lite' ),
1409 'type' => Controls_Manager::SLIDER,
1410 'size_units' => [ 'px', '%' ],
1411 'range' => [
1412 'px' => [
1413 'min' => 1,
1414 'max' => 10,
1415 'step' => 1,
1416 ],
1417
1418 ],
1419 'default' => [
1420 'unit' => 'px',
1421 'size' => 2,
1422 ],
1423 'selectors' => [
1424 '{{WRAPPER}} .elementskit-clients-slider .elementskit-client-slider-item.log-separator:after' => 'width: {{SIZE}}{{UNIT}};',
1425 ],
1426 ]
1427 );
1428
1429 $this->add_responsive_control(
1430 'ekit_client_logo_separator_top_bottom_position',
1431 [
1432 'label' => esc_html__( 'Top Bottom Position', 'elementskit-lite' ),
1433 'type' => Controls_Manager::SLIDER,
1434 'size_units' => [ '%' ],
1435 'range' => [
1436 '%' => [
1437 'min' => -10,
1438 'max' => 110,
1439 'step' => 1,
1440 ],
1441
1442 ],
1443 'default' => [
1444 'unit' => '%',
1445 'size' => 50,
1446 ],
1447 'selectors' => [
1448 '{{WRAPPER}} .elementskit-clients-slider .elementskit-client-slider-item.log-separator:after' => 'top: {{SIZE}}{{UNIT}};',
1449 ],
1450 ]
1451 );
1452
1453 $this->add_responsive_control(
1454 'ekit_client_logo_separator_left_right_position',
1455 [
1456 'label' => esc_html__( 'Left Right Position', 'elementskit-lite' ),
1457 'type' => Controls_Manager::SLIDER,
1458 'size_units' => [ '%' ],
1459 'range' => [
1460 '%' => [
1461 'min' => -5,
1462 'max' => 120,
1463 'step' => 1,
1464 ],
1465
1466 ],
1467 'default' => [
1468 'unit' => '%',
1469 'size' => 100,
1470 ],
1471 'selectors' => [
1472 '{{WRAPPER}} .elementskit-clients-slider .elementskit-client-slider-item.log-separator:after' => 'left: {{SIZE}}{{UNIT}};',
1473 ],
1474 ]
1475 );
1476
1477 $this->start_controls_tabs('ekit_client_logo_seperator_color_tabs');
1478
1479 $this->start_controls_tab(
1480 'ekit_client_logo_seperator_color_normal_tab',
1481 [
1482 'label' => esc_html__( 'Normal', 'elementskit-lite' ),
1483 ]
1484 );
1485
1486 $this->add_group_control(
1487 Group_Control_Background::get_type(),
1488 [
1489 'name' => 'ekit_client_logo_seperator_bg_color',
1490 'label' => esc_html__( 'Separator Color', 'elementskit-lite' ),
1491 'types' => [ 'classic', 'gradient' ],
1492 'selector' => '{{WRAPPER}} .elementskit-clients-slider .elementskit-client-slider-item.log-separator:after',
1493 ]
1494 );
1495
1496 $this->end_controls_tab();
1497
1498 $this->start_controls_tab(
1499 'ekit_client_logo_seperator_color_hover_tab',
1500 [
1501 'label' => esc_html__( 'Hover', 'elementskit-lite' ),
1502 ]
1503 );
1504
1505 $this->add_group_control(
1506 Group_Control_Background::get_type(),
1507 [
1508 'name' => 'ekit_client_logo_seperator_bg_color_hover',
1509 'label' => esc_html__( 'Separator Color', 'elementskit-lite' ),
1510 'types' => [ 'classic', 'gradient' ],
1511 'selector' => '{{WRAPPER}} .elementskit-clients-slider:hover .elementskit-client-slider-item.log-separator:after',
1512 ]
1513 );
1514
1515 $this->end_controls_tab();
1516 $this->end_controls_tabs();
1517 $this->end_controls_section();
1518
1519 $this->insert_pro_message();
1520 }
1521
1522 protected function render( ) {
1523 echo '<div class="ekit-wid-con" >';
1524 $this->render_raw();
1525 echo '</div>';
1526 }
1527
1528 protected function render_raw( ) {
1529
1530 $settings = $this->get_settings_for_display();
1531 extract($settings);
1532 $logos = $settings['ekit_client_logo_repiter'];
1533
1534 // Config
1535 $config = [
1536 'rtl' => is_rtl(),
1537 'arrows' => !empty($settings['ekit_client_logo_show_arrow']),
1538 'dots' => !empty($settings['ekit_client_logo_show_dot']),
1539 'autoplay' => !empty($settings['ekit_client_logo_autoplay']),
1540 'speed' => !empty($settings['ekit_client_logo_speed']) ? $settings['ekit_client_logo_speed'] : 1000,
1541 'slidesPerView' => !empty($settings['ekit_client_logo_slidetosho']['size']) ? $settings['ekit_client_logo_slidetosho']['size'] : 4,
1542 'slidesPerGroup' => !empty($settings['ekit_client_logo_slidesToScroll']['size']) ? $settings['ekit_client_logo_slidesToScroll']['size'] : 1,
1543 'pauseOnHover' => !empty($settings['ekit_client_logo_pause_on_hover']),
1544 'loop' => ( !empty($ekit_client_logo_loop) && $ekit_client_logo_loop == 'yes' && !empty($ekit_client_logo_rows) && $ekit_client_logo_rows == 1 ) ? true : false,
1545 'breakpoints' => [
1546 320 => [
1547 'slidesPerView' => !empty($settings['ekit_client_logo_slidetosho_mobile']['size']) ? $settings['ekit_client_logo_slidetosho_mobile']['size'] : 1,
1548 'slidesPerGroup' => !empty($settings['ekit_client_logo_slidesToScroll_mobile']['size']) ? $settings['ekit_client_logo_slidesToScroll_mobile']['size'] : 1,
1549 'spaceBetween' => !empty($ekit_client_logo_left_right_spacing_mobile['size']) ? $ekit_client_logo_left_right_spacing_mobile['size'] : 10,
1550 ],
1551 768 => [
1552 'slidesPerView' => !empty($settings['ekit_client_logo_slidetosho_tablet']['size']) ? $settings['ekit_client_logo_slidetosho_tablet']['size'] : 2,
1553 'slidesPerGroup' => !empty($settings['ekit_client_logo_slidesToScroll_tablet']['size']) ? $settings['ekit_client_logo_slidesToScroll_tablet']['size'] : 1,
1554 'spaceBetween' => !empty($ekit_client_logo_left_right_spacing_tablet['size']) ? $ekit_client_logo_left_right_spacing_tablet['size'] : 10,
1555 ],
1556 1024 => [
1557 'slidesPerView' => !empty($settings['ekit_client_logo_slidetosho']['size']) ? $settings['ekit_client_logo_slidetosho']['size'] : 2,
1558 'slidesPerGroup' => !empty($settings['ekit_client_logo_slidesToScroll']['size']) ? $settings['ekit_client_logo_slidesToScroll']['size'] : 1,
1559 'spaceBetween' => !empty($ekit_client_logo_left_right_spacing['size']) ? $ekit_client_logo_left_right_spacing['size'] : 15,
1560 ]
1561 ],
1562 ];
1563
1564 if(!empty($settings['ekit_client_logo_rows']) && $settings['ekit_client_logo_rows'] > 1) {
1565 $config['grid'] = [
1566 'fill' => 'row',
1567 'rows' => (int) $settings['ekit_client_logo_rows']
1568 ];
1569 }
1570
1571 $this->add_render_attribute( 'wrapper', 'class', 'elementskit-clients-slider');
1572 $this->add_render_attribute( 'wrapper', 'class', !empty($settings['ekit_client_logo_show_dot']) ? 'slider-dotted' : '');
1573 $this->add_render_attribute( 'wrapper', 'class', $settings['ekit_client_logo_arrow_pos']);
1574 $this->add_render_attribute( 'wrapper', 'class', $settings['ekit_client_logo_client_logo_dot_style']);
1575 $this->add_render_attribute( 'wrapper', 'class', $settings['ekit_client_logo_hover_animation_driction']);
1576 $this->add_render_attribute( 'wrapper', 'class', $settings['ekit_client_logo_slide_style']);
1577
1578 $this->add_render_attribute( 'wrapper', 'data-config', wp_json_encode($config) );
1579
1580 $this->add_render_attribute( 'wrapper', 'data-direction', $settings['ekit_client_logo_hover_animation_driction']);
1581
1582 $seperotor_enable = $settings['ekit_client_logo_separator'] == 'yes' ? 'log-separator' : '';
1583 ?>
1584 <div <?php echo $this->get_render_attribute_string( 'wrapper' ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Already escaped by elementor ?>>
1585 <div class="<?php echo esc_attr(\ElementsKit_Lite\Utils::swiper_class()); ?>">
1586 <div class="swiper-wrapper">
1587 <?php
1588 $count = 1;
1589 foreach ($logos as $logo) :
1590 if ( ! empty( $logo['ekit_client_logo_website_link']['url'] ) ) {
1591 $this->add_link_attributes( 'button-' . $count, $logo['ekit_client_logo_website_link'] );
1592 }
1593 ?>
1594 <div class="elementskit-client-slider-item swiper-slide <?php echo esc_attr($seperotor_enable);?>">
1595 <div class="swiper-slide-inner">
1596 <div class="single-client image-switcher" title="<?php echo esc_attr( $logo['ekit_client_logo_list_title'] ); ?>">
1597 <?php if($logo['ekit_client_logo_enable_link'] == 'yes') : ?>
1598 <a <?php $this->print_render_attribute_string( 'button-' . esc_attr($count) ); ?>>
1599 <span class="content-image">
1600 <?php
1601 echo wp_kses(
1602 \Elementskit_Lite\Utils::get_attachment_image_html($logo, 'ekit_client_logo_image_normal', null, [
1603 'class' => $logo['ekit_client_logo_enable_hover_logo'] == 'yes' ? 'main-image' : ''
1604 ]),
1605 \ElementsKit_Lite\Utils::get_kses_array()
1606 );
1607
1608 if(!empty($logo['ekit_client_logo_enable_hover_logo'])) {
1609 echo wp_kses(
1610 \Elementskit_Lite\Utils::get_attachment_image_html($logo, 'ekit_client_logo_image_hover', 'full', [
1611 'class' => 'hover-image'
1612 ]),
1613 \ElementsKit_Lite\Utils::get_kses_array()
1614 );
1615 }
1616 ?>
1617 </span>
1618 </a>
1619 <?php else: ?>
1620 <div class="content-image">
1621 <?php
1622 echo wp_kses(
1623 \Elementskit_Lite\Utils::get_attachment_image_html($logo, 'ekit_client_logo_image_normal', 'full', [
1624 'class' => $logo['ekit_client_logo_enable_hover_logo'] == 'yes' ? 'main-image' : ''
1625 ]),
1626 \ElementsKit_Lite\Utils::get_kses_array()
1627 );
1628
1629 if($logo['ekit_client_logo_enable_hover_logo']) {
1630 echo wp_kses(
1631 \Elementskit_Lite\Utils::get_attachment_image_html($logo, 'ekit_client_logo_image_hover', 'full', [
1632 'class' => 'hover-image'
1633 ]),
1634 \ElementsKit_Lite\Utils::get_kses_array()
1635 );
1636 }
1637 ?>
1638 </div>
1639 <?php endif; ?>
1640 </div>
1641 </div>
1642 </div>
1643 <?php $count++; endforeach; ?>
1644 </div>
1645
1646 <?php if($settings['ekit_client_logo_show_dot'] == 'yes') : ?>
1647 <div class="swiper-pagination"></div>
1648 <?php endif; ?>
1649
1650 <?php if(!empty($settings['ekit_client_logo_show_arrow'])) : ?>
1651 <div class="swiper-navigation-button swiper-button-prev">
1652 <?php Icons_Manager::render_icon($settings['ekit_client_logo_left_arrow_icon'], [ 'aria-hidden' => 'true' ]); ?>
1653 </div>
1654 <div class="swiper-navigation-button swiper-button-next">
1655 <?php Icons_Manager::render_icon($settings['ekit_client_logo_right_arrow_icon'], [ 'aria-hidden' => 'true' ]); ?>
1656 </div>
1657 <?php endif; ?>
1658 </div><!-- .elementskit-clients-slider END -->
1659 </div>
1660 <?php
1661 }
1662 }
1663