PluginProbe
Easy Elements for Elementor – Addons & Website Templates / 1.4.6
Easy Elements for Elementor – Addons & Website Templates v1.4.6
1.5.3 1.5.2 1.5.1 1.5.0 1.4.9 1.4.6 1.4.7 1.4.8 1.4.5 1.4.4 1.4.3 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 All 47 releases
easy-elements / widgets / team-grid / team-grid.php

team-grid.php in Easy Elements for Elementor – Addons & Website Templates 1.4.6, at widgets/team-grid/team-grid.php

1,649 lines 73.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Easyel\EasyElements\Widgets;
3 use Elementor\Repeater;
4 use Elementor\Utils;
5 use Elementor\Controls_Manager;
6 use Elementor\Responsive_Control;
7 use Elementor\Group_Control_Image_Size;
8 use Elementor\Group_Control_Background;
9 use Elementor\Group_Control_Box_Shadow;
10
11 defined( 'ABSPATH' ) || die();
12 class Easyel_Team_Grid__Widget extends \Elementor\Widget_Base {
13
14 public function get_name() {
15 return 'eel-team-grid';
16 }
17
18 public function get_title() {
19 return esc_html__( 'Team Grid', 'easy-elements' );
20 }
21
22 public function get_icon() {
23 return 'easyicon easyelIcon-team-grid';
24 }
25
26 public function get_categories() {
27 return [ 'easyelements_category' ];
28 }
29
30 public function get_keywords() {
31 return [ 'member', 'team', 'brand', 'partner', 'image', 'text' ];
32 }
33
34 public function get_style_depends() {
35 return [
36 'eel-team-grid',
37 ];
38 }
39
40 public function get_script_depends() {
41 return [
42 'eel-team-grid',
43 ];
44 }
45
46 protected function register_controls() {
47
48 $this->start_controls_section(
49 '_section_team',
50 [
51 'label' => esc_html__( 'Team Settings', 'easy-elements' ),
52 'tab' => Controls_Manager::TAB_CONTENT,
53 ]
54 );
55 $this->add_control(
56 'team_skin',
57 [
58 'label' => esc_html__('Skin Type', 'easy-elements'),
59 'type' => \Elementor\Controls_Manager::SELECT,
60 'default' => 'default',
61 'options' => [
62 'default' => esc_html__('Default', 'easy-elements'),
63 'skin1' => esc_html__('Skin 01', 'easy-elements'),
64 'skin2' => esc_html__('Skin 02', 'easy-elements'),
65 'skin3' => esc_html__('Skin 03', 'easy-elements'),
66 'skin4' => esc_html__('Skin 04 (Hover Overlay)', 'easy-elements'),
67 ],
68 ]
69 );
70
71 $this->add_control(
72 'skin4_hover_overlay',
73 [
74 'label' => esc_html__('Hover Overlay Style', 'easy-elements'),
75 'type' => \Elementor\Controls_Manager::SELECT,
76 'default' => 'overlay1',
77 'options' => [
78 'overlay1' => esc_html__('Hover Overlay 1', 'easy-elements'),
79 'overlay2' => esc_html__('Hover Overlay 2', 'easy-elements'),
80 ],
81 'condition' => [
82 'team_skin' => 'skin4',
83 ],
84 ]
85 );
86
87
88
89 $this->add_control(
90 'image',
91 [
92 'label' => esc_html__('Image', 'easy-elements'),
93 'type' => Controls_Manager::MEDIA,
94 'default' => [
95 'url' => Utils::get_placeholder_image_src(),
96 ],
97 ]
98 );
99
100 $this->add_control(
101 '_name',
102 [
103 'label' => esc_html__( 'Name', 'easy-elements' ),
104 'type' => \Elementor\Controls_Manager::TEXT,
105 'default' => esc_html__( 'Harry Nelson', 'easy-elements' ),
106 'label_block' => true,
107 ]
108 );
109
110 $this->add_control(
111 'title_tag',
112 [
113 'label' => esc_html__( 'Title HTML Tag', 'easy-elements' ),
114 'type' => \Elementor\Controls_Manager::SELECT,
115 'default' => 'h4',
116 'options' => [
117 'h1' => 'H1',
118 'h2' => 'H2',
119 'h3' => 'H3',
120 'h4' => 'H4',
121 'h5' => 'H5',
122 'h6' => 'H6',
123 'div' => 'div',
124 'span' => 'span',
125 'p' => 'p',
126 ],
127 ]
128 );
129
130 $this->add_control(
131 'designation',
132 [
133 'label' => esc_html__('Designation', 'easy-elements'),
134 'type' => Controls_Manager::TEXT,
135 'default' => esc_html__( 'Head of Operations', 'easy-elements' ),
136 'label_block' => true,
137 ]
138 );
139
140 $this->add_control(
141 'details',
142 [
143 'label' => esc_html__('Description', 'easy-elements'),
144 'type' => \Elementor\Controls_Manager::TEXTAREA,
145 'default' => '',
146 'rows' => 4,
147 'placeholder' => esc_html__('Enter description here...', 'easy-elements'),
148 'label_block' => true,
149 'description' => esc_html__('Shown below designation on the card (default, Skin 01, Skin 02), as the hover overlay text on Skin 03, and inside the popup when Action Type is set to Popup.', 'easy-elements'),
150 ]
151 );
152
153 $this->add_control(
154 'action_type',
155 [
156 'label' => esc_html__('Action Type', 'easy-elements'),
157 'type' => \Elementor\Controls_Manager::SELECT,
158 'options' => [
159 'link' => esc_html__('Link', 'easy-elements'),
160 'popup' => esc_html__('Popup', 'easy-elements'),
161 ],
162 'default' => 'link',
163 'description' => esc_html__('Choose between link or popup action.', 'easy-elements'),
164 ]
165 );
166 $this->add_control(
167 'link',
168 [
169 'label' => esc_html__('Link', 'easy-elements'),
170 'type' => Controls_Manager::URL,
171 'placeholder' => 'https://example.com',
172 'description' => esc_html__('You can add a page link here, such as the team member\'s profile page.', 'easy-elements'),
173 'condition' => [
174 'action_type' => 'link',
175 ],
176 ]
177 );
178 $this->add_control(
179 'content_show',
180 [
181 'label' => esc_html__('Content Show', 'easy-elements'),
182 'type' => \Elementor\Controls_Manager::SELECT,
183 'default' => 'inside',
184 'options' => [
185 'inside' => esc_html__('Inside Image', 'easy-elements'),
186 'normal' => esc_html__('Normal', 'easy-elements'),
187 ],
188 'condition' => [
189 'team_skin' => ['default','skin2'],
190 ],
191 ]
192 );
193
194 $this->add_group_control(
195 Group_Control_Image_Size::get_type(),
196 [
197 'name' => 'image',
198 'default' => 'full',
199 ]
200 );
201
202 $this->add_control(
203 'fetchpriority',
204 [
205 'label' => __('Image Fetch Priority', 'easy-elements'),
206 'type' => \Elementor\Controls_Manager::SELECT,
207 'options' => [
208 '' => __('Default', 'easy-elements'),
209 'high' => __('High', 'easy-elements'),
210 'low' => __('Low', 'easy-elements'),
211 ],
212 'default' => 'low',
213 ]
214 );
215
216 $this->add_control(
217 'image_overlay_note',
218 [
219 'type' => \Elementor\Controls_Manager::RAW_HTML,
220 'raw' => '<div class="eel-popup-note">' . esc_html__('Note: The Image Overlay supports both classic (solid color) and gradient backgrounds.', 'easy-elements') . '</div>',
221 'separator' => 'before',
222 ]
223 );
224 $this->add_group_control(
225 \Elementor\Group_Control_Background::get_type(),
226 [
227 'name' => 'image_overlay',
228 'label' => esc_html__('Image Overlay', 'easy-elements'),
229 'types' => [ 'classic', 'gradient' ],
230 'selector' => '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-image-overlay',
231 ]
232 );
233 $this->add_control(
234 'disable_image_scale',
235 [
236 'label' => esc_html__( 'Disable Image Scale on Hover', 'easy-elements' ),
237 'type' => \Elementor\Controls_Manager::SWITCHER,
238 'label_on' => esc_html__( 'Yes', 'easy-elements' ),
239 'label_off' => esc_html__( 'No', 'easy-elements' ),
240 'return_value' => 'yes',
241 'default' => '',
242 'selectors' => [
243 '{{WRAPPER}} .eel-team-grid .grid-item .ee--team-img:hover img' => 'transform: none;',
244 ],
245 'separator' => 'before',
246 ]
247 );
248
249 $this->add_control(
250 'disable_social_icon_lift',
251 [
252 'label' => esc_html__( 'Disable Social Icon Lift on Hover', 'easy-elements' ),
253 'type' => \Elementor\Controls_Manager::SWITCHER,
254 'label_on' => esc_html__( 'Yes', 'easy-elements' ),
255 'label_off' => esc_html__( 'No', 'easy-elements' ),
256 'return_value' => 'yes',
257 'default' => '',
258 'selectors' => [
259 '{{WRAPPER}} .eel-team-grid-social .eel-team-social-hover a:hover' => 'transform: none;',
260 '{{WRAPPER}} .eel-team-grid-social ul li a:not(.eel-popup-trigger):hover' => 'transform: none;',
261 ],
262 ]
263 );
264
265 $this->add_control(
266 'show_social_icon',
267 [
268 'label' => esc_html__( 'Show Social Icon', 'easy-elements' ),
269 'type' => \Elementor\Controls_Manager::SWITCHER,
270 'label_on' => esc_html__( 'Show', 'easy-elements' ),
271 'label_off' => esc_html__( 'Hide', 'easy-elements' ),
272 'return_value' => 'yes',
273 'default' => 'no',
274 'separator' => 'before',
275 ]
276 );
277
278 $this->end_controls_section();
279
280 // Social Item
281 $this->start_controls_section(
282 'social_icon_section',
283 [
284 'label' => esc_html__( 'Social Settings', 'easy-elements' ),
285 'tab' => Controls_Manager::TAB_CONTENT,
286 'condition' => [
287 'show_social_icon' => 'yes',
288 ],
289 ]
290 );
291
292 $this->add_control(
293 'social_icon_position',
294 [
295 'label' => esc_html__('Icon Position', 'easy-elements'),
296 'type' => \Elementor\Controls_Manager::SELECT,
297 'default' => 'default',
298 'options' => [
299 'default' => esc_html__('Default', 'easy-elements'),
300 'posi_left' => esc_html__('Top Left', 'easy-elements'),
301 'posi_right' => esc_html__('Top Right', 'easy-elements'),
302 'posi_botttom_left' => esc_html__('Bottom Left', 'easy-elements'),
303 'posi_botttom_right' => esc_html__('Bottom Right', 'easy-elements'),
304 ],
305 ]
306 );
307 $this->add_control(
308 'social_icon_show',
309 [
310 'label' => esc_html__('Icon Show', 'easy-elements'),
311 'type' => \Elementor\Controls_Manager::SELECT,
312 'default' => 'dafault_show',
313 'options' => [
314 'dafault_show' => esc_html__('Dafault Show', 'easy-elements'),
315 'hover_show' => esc_html__('Icon Hover Show', 'easy-elements'),
316 ],
317 'condition' => [
318 'social_icon_position!' => 'default',
319 ],
320 ]
321 );
322 $this->add_control(
323 'social_hover_icon',
324 [
325 'label' => esc_html__( 'Hover Icon', 'easy-elements' ),
326 'type' => \Elementor\Controls_Manager::ICONS,
327 'label_block' => true,
328 'default' => [
329 'value' => 'fas fa-plus',
330 'library' => 'fa-solid',
331 ],
332 'condition' => [
333 'social_icon_show' => 'hover_show',
334 'social_icon_position!' => 'default',
335 ],
336 ]
337 );
338 $this->add_responsive_control(
339 's_icon_posi_top',
340 [
341 'label' => esc_html__( 'Top Position', 'easy-elements' ),
342 'type' => \Elementor\Controls_Manager::SLIDER,
343 'size_units' => [ 'px', 'em','%'],
344 'range' => [
345 'px' => [
346 'min' => 0,
347 'max' => 500,
348 ],
349 ],
350 'selectors' => [
351 '{{WRAPPER}} .eel-team-grid-social.posi_left, {{WRAPPER}} .eel-team-grid-social.posi_right' => 'top: {{SIZE}}{{UNIT}};',
352 ],
353 'condition' => [
354 'social_icon_position' => ['posi_left','posi_right'],
355 ],
356 ]
357 );
358 $this->add_responsive_control(
359 's_icon_posi_bottom',
360 [
361 'label' => esc_html__( 'Bottom Position', 'easy-elements' ),
362 'type' => \Elementor\Controls_Manager::SLIDER,
363 'size_units' => [ 'px', 'em','%'],
364 'range' => [
365 'px' => [
366 'min' => 0,
367 'max' => 500,
368 ],
369 ],
370 'selectors' => [
371 '{{WRAPPER}} .eel-team-grid-social.posi_botttom_left, {{WRAPPER}} .eel-team-grid-social.posi_botttom_right' => 'bottom: {{SIZE}}{{UNIT}};',
372 ],
373 'condition' => [
374 'social_icon_position' => ['posi_botttom_left','posi_botttom_right'],
375 ],
376 ]
377 );
378 $this->add_responsive_control(
379 's_icon_posi_left',
380 [
381 'label' => esc_html__( 'Left Position', 'easy-elements' ),
382 'type' => \Elementor\Controls_Manager::SLIDER,
383 'size_units' => [ 'px', 'em','%'],
384 'range' => [
385 'px' => [
386 'min' => 0,
387 'max' => 500,
388 ],
389 ],
390 'selectors' => [
391 '{{WRAPPER}} .eel-team-grid-social.posi_left' => 'left: {{SIZE}}{{UNIT}};',
392 '{{WRAPPER}} .eel-team-grid-social.posi_botttom_left' => 'left: {{SIZE}}{{UNIT}};',
393 ],
394 'condition' => [
395 'social_icon_position' => ['posi_left','posi_botttom_left'],
396 ],
397 ]
398 );
399 $this->add_responsive_control(
400 's_icon_posi_right',
401 [
402 'label' => esc_html__( 'Right Position', 'easy-elements' ),
403 'type' => \Elementor\Controls_Manager::SLIDER,
404 'size_units' => [ 'px', 'em','%'],
405 'range' => [
406 'px' => [
407 'min' => 0,
408 'max' => 500,
409 ],
410 ],
411 'selectors' => [
412 '{{WRAPPER}} .eel-team-grid-social.posi_right' => 'right: {{SIZE}}{{UNIT}};',
413 '{{WRAPPER}} .eel-team-grid-social.posi_botttom_right' => 'right: {{SIZE}}{{UNIT}};',
414 ],
415 'condition' => [
416 'social_icon_position' => ['posi_right','posi_botttom_right'],
417 ],
418 ]
419 );
420
421 $this->add_control(
422 'social_links',
423 [
424 'label' => esc_html__( 'Social Links', 'easy-elements' ),
425 'type' => Controls_Manager::REPEATER,
426 'fields' => [
427 [
428 'name' => 'link_url',
429 'label' => esc_html__( 'Link URL', 'easy-elements' ),
430 'type' => Controls_Manager::URL,
431 'default' => [
432 'url' => '#',
433 'is_external' => true,
434 'nofollow' => false,
435 ],
436 ],
437 [
438 'name' => 'icon',
439 'label' => esc_html__( 'Icon', 'easy-elements' ),
440 'type' => Controls_Manager::ICONS,
441 'default' => [
442 'value' => 'fab fa-facebook-f',
443 'library' => 'fa-brands',
444 ],
445 ],
446 ],
447 'default' => [
448 [
449 'link_url' => [ 'url' => '#' ],
450 'icon' => [ 'value' => 'fab fa-facebook-f' ],
451 ],
452 ],
453 'title_field' => '<i class="{{ icon.value }}"></i> {{{ icon.value.replace(/^(fab fa-|fas fa-|far fa-|fa fa-)/, "") }}}',
454 ]
455 );
456
457 $this->end_controls_section();
458
459 // Tab STYLE
460 $this->start_controls_section(
461 'section_item_per',
462 [
463 'label' => esc_html__( 'Team Item', 'easy-elements' ),
464 'tab' => Controls_Manager::TAB_STYLE,
465 ]
466 );
467
468 $this->add_group_control(
469 \Elementor\Group_Control_Background::get_type(),
470 [
471 'name' => 'team_wrap_background',
472 'label' => __( 'Background', 'easy-elements' ),
473 'types' => [ 'classic', 'gradient' ],
474 'selector' => '{{WRAPPER}} .eel-team-grid .ee--team-img',
475 ]
476 );
477
478 $this->add_responsive_control(
479 'item_padding',
480 [
481 'label' => esc_html__( 'Padding', 'easy-elements' ),
482 'type' => \Elementor\Controls_Manager::DIMENSIONS,
483 'size_units' => [ 'px', '%' ],
484 'selectors' => [
485 '{{WRAPPER}} .eel-team-grid .ee--team-img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
486 ],
487 ]
488 );
489 $this->add_responsive_control(
490 'item_bdr_radius',
491 [
492 'label' => esc_html__( 'Border Radius', 'easy-elements' ),
493 'type' => \Elementor\Controls_Manager::DIMENSIONS,
494 'size_units' => [ 'px', '%' ],
495 'selectors' => [
496 '{{WRAPPER}} .eel-team-grid .ee--team-img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
497 ],
498 ]
499 );
500 $this->add_group_control(
501 \Elementor\Group_Control_Border::get_type(),
502 [
503 'name' => 'team_border',
504 'selector' => '{{WRAPPER}} .eel-team-grid .ee--team-img',
505 ]
506 );
507 $this->add_control(
508 'team_hover_border_color',
509 [
510 'label' => esc_html__( 'Item Hover Border Color', 'easy-elements' ),
511 'type' => \Elementor\Controls_Manager::COLOR,
512 'selectors' => [
513 '{{WRAPPER}} .eel-team-grid .ee--team-img:hover' => 'border-color: {{VALUE}}',
514 ],
515 ]
516 );
517 $this->add_group_control(
518 \Elementor\Group_Control_Box_Shadow::get_type(),
519 [
520 'name' => 'team_box_shadow',
521 'label' => esc_html__('Box Shadow', 'easy-elements'),
522 'selector' => '{{WRAPPER}} .eel-team-grid .ee--team-img',
523 ]
524 );
525 $this->add_responsive_control(
526 'team_content_alignment',
527 [
528 'label' => esc_html__( 'Alignment', 'easy-elements' ),
529 'type' => \Elementor\Controls_Manager::CHOOSE,
530 'options' => [
531 'left' => [
532 'title' => esc_html__( 'Left', 'easy-elements' ),
533 'icon' => 'eicon-text-align-left',
534 ],
535 'center' => [
536 'title' => esc_html__( 'Center', 'easy-elements' ),
537 'icon' => 'eicon-text-align-center',
538 ],
539 'right' => [
540 'title' => esc_html__( 'Right', 'easy-elements' ),
541 'icon' => 'eicon-text-align-right',
542 ],
543 ],
544 'selectors' => [
545 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-name-deg-wrap' => 'text-align: {{VALUE}};',
546 ],
547 ]
548 );
549
550 $this->end_controls_section();
551
552 // Image
553 $this->start_controls_section(
554 'section_image',
555 [
556 'label' => esc_html__( 'Image', 'easy-elements' ),
557 'tab' => Controls_Manager::TAB_STYLE,
558 ]
559 );
560 $this->add_responsive_control(
561 'image_width',
562 [
563 'label' => esc_html__( 'Image Width', 'easy-elements' ),
564 'type' => \Elementor\Controls_Manager::SLIDER,
565 'size_units' => [ 'px', 'em', '%' ],
566 'range' => [
567 'px' => [
568 'max' => 500,
569 ],
570 ],
571 'selectors' => [
572 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-team-img-box' => 'max-width: {{SIZE}}{{UNIT}};',
573 ],
574 ]
575 );
576 $this->add_responsive_control(
577 'image_height',
578 [
579 'label' => esc_html__( 'Image Height', 'easy-elements' ),
580 'type' => \Elementor\Controls_Manager::SLIDER,
581 'size_units' => [ 'px', 'em', '%' ],
582 'range' => [
583 'px' => [
584 'max' => 500,
585 ],
586 ],
587 'selectors' => [
588 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-team-img-box img' => 'height: {{SIZE}}{{UNIT}};',
589 ],
590 ]
591 );
592 $this->add_responsive_control(
593 'image_padding',
594 [
595 'label' => esc_html__( 'Padding', 'easy-elements' ),
596 'type' => \Elementor\Controls_Manager::DIMENSIONS,
597 'size_units' => [ 'px', 'em', '%' ],
598 'selectors' => [
599 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-team-img-area' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
600 ],
601 ]
602 );
603 $this->add_responsive_control(
604 'image_border_radius',
605 [
606 'label' => esc_html__( 'Border Radius', 'easy-elements' ),
607 'type' => \Elementor\Controls_Manager::DIMENSIONS,
608 'size_units' => [ 'px', '%' ],
609 'selectors' => [
610 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-team-img-box' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
611 ],
612 ]
613 );
614 $this->add_control(
615 'image_below_bg',
616 [
617 'label' => esc_html__( 'Below Background Color', 'easy-elements' ),
618 'type' => \Elementor\Controls_Manager::COLOR,
619 'selectors' => [
620 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-team-img-area .eel-image-below-bg' => 'background-color: {{VALUE}}',
621 ],
622 ]
623 );
624 $this->add_responsive_control(
625 'image_below_height',
626 [
627 'label' => esc_html__( 'Image BG Height', 'easy-elements' ),
628 'type' => \Elementor\Controls_Manager::SLIDER,
629 'selectors' => [
630 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-team-img-area .eel-image-below-bg' => 'height: {{SIZE}}%;',
631 ],
632 ]
633 );
634
635 $this->add_control(
636 'image_below_position',
637 [
638 'label' => esc_html__( 'Image BG Position', 'easy-elements' ),
639 'type' => \Elementor\Controls_Manager::SELECT,
640 'default' => 'top',
641 'options' => [
642 'top' => esc_html__( 'Top', 'easy-elements' ),
643 'bottom' => esc_html__( 'Bottom', 'easy-elements' ),
644 ],
645 'selectors_dictionary' => [
646 'top' => 'top: 0; bottom: auto;',
647 'bottom' => 'top: auto; bottom: 0;',
648 ],
649 'selectors' => [
650 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-team-img-area .eel-image-below-bg' => '{{VALUE}}',
651 ],
652 ]
653 );
654 $this->add_responsive_control(
655 'image_below_border_radius',
656 [
657 'label' => esc_html__( 'Below BG Border Radius', 'easy-elements' ),
658 'type' => \Elementor\Controls_Manager::DIMENSIONS,
659 'size_units' => [ 'px', '%' ],
660 'selectors' => [
661 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-team-img-area .eel-image-below-bg' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
662 ],
663 ]
664 );
665
666 $this->end_controls_section();
667
668 // Name & Designation
669 $this->start_controls_section(
670 'section_item',
671 [
672 'label' => esc_html__( 'Name & Designation Area', 'easy-elements' ),
673 'tab' => Controls_Manager::TAB_STYLE,
674 ]
675 );
676
677 $this->add_control(
678 '_bg_color',
679 [
680 'label' => esc_html__( 'Background Color', 'easy-elements' ),
681 'type' => \Elementor\Controls_Manager::COLOR,
682 'selectors' => [
683 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-name-deg-wrap' => 'background-color: {{VALUE}}',
684 ],
685 'condition' => [
686 'team_skin!' => ['skin1']
687 ],
688 ]
689 );
690
691 $this->add_responsive_control(
692 'wrap_padding',
693 [
694 'label' => esc_html__( 'Padding', 'easy-elements' ),
695 'type' => \Elementor\Controls_Manager::DIMENSIONS,
696 'size_units' => [ 'px', 'em', '%' ],
697 'selectors' => [
698 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-name-deg-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
699 ],
700 ]
701 );
702 $this->add_responsive_control(
703 'wrap_margin',
704 [
705 'label' => esc_html__( 'Margin', 'easy-elements' ),
706 'type' => \Elementor\Controls_Manager::DIMENSIONS,
707 'size_units' => [ 'px', 'em', '%' ],
708 'selectors' => [
709 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-name-deg-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
710 ],
711 ]
712 );
713
714 $this->add_responsive_control(
715 '_bdr_radius',
716 [
717 'label' => esc_html__( 'Border Radius', 'easy-elements' ),
718 'type' => \Elementor\Controls_Manager::DIMENSIONS,
719 'size_units' => [ 'px', '%' ],
720 'selectors' => [
721 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-name-deg-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
722 ],
723 'condition' => [
724 'team_skin!' => ['skin1']
725 ],
726 ]
727 );
728
729 $this->end_controls_section();
730
731 // Skin 04 Hover Overlay
732 $this->start_controls_section(
733 'section_skin4_hover_overlay',
734 [
735 'label' => esc_html__( 'Hover Overlay', 'easy-elements' ),
736 'tab' => Controls_Manager::TAB_STYLE,
737 'condition' => [
738 'team_skin' => 'skin4',
739 ],
740 ]
741 );
742
743 $this->add_group_control(
744 \Elementor\Group_Control_Background::get_type(),
745 [
746 'name' => 'skin4_overlay_bg',
747 'label' => esc_html__( 'Background', 'easy-elements' ),
748 'types' => [ 'classic', 'gradient' ],
749 'selector' => '{{WRAPPER}} .eel-team-grid.skin4 .eel-team-hover-content, {{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2',
750 ]
751 );
752
753 $this->add_responsive_control(
754 'skin4_overlay_blur',
755 [
756 'label' => esc_html__( 'Backdrop Blur', 'easy-elements' ),
757 'type' => \Elementor\Controls_Manager::SLIDER,
758 'size_units' => [ 'px' ],
759 'range' => [
760 'px' => [ 'min' => 0, 'max' => 50, 'step' => 1 ],
761 ],
762 'selectors' => [
763 '{{WRAPPER}} .eel-team-grid.skin4 .eel-team-hover-content' => 'backdrop-filter: blur({{SIZE}}{{UNIT}}); -webkit-backdrop-filter: blur({{SIZE}}{{UNIT}});',
764 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2' => 'backdrop-filter: blur({{SIZE}}{{UNIT}}); -webkit-backdrop-filter: blur({{SIZE}}{{UNIT}});',
765 ],
766 ]
767 );
768
769 $this->add_control(
770 'skin4_overlay_text_color',
771 [
772 'label' => esc_html__( 'Text Color', 'easy-elements' ),
773 'type' => \Elementor\Controls_Manager::COLOR,
774 'selectors' => [
775 '{{WRAPPER}} .eel-team-grid.skin4 .eel-team-hover-content' => 'color: {{VALUE}};',
776 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2' => 'color: {{VALUE}};',
777 ],
778 ]
779 );
780
781 $this->add_responsive_control(
782 'skin4_overlay2_circle_size',
783 [
784 'label' => esc_html__( 'Overlay 2 Circle Size', 'easy-elements' ),
785 'type' => \Elementor\Controls_Manager::SLIDER,
786 'size_units' => [ 'px', '%', 'vw' ],
787 'range' => [
788 'px' => [ 'min' => 80, 'max' => 500, 'step' => 1 ],
789 '%' => [ 'min' => 20, 'max' => 100, 'step' => 1 ],
790 'vw' => [ 'min' => 10, 'max' => 80, 'step' => 1 ],
791 ],
792 'selectors' => [
793 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2' => 'width: {{SIZE}}{{UNIT}};',
794 ],
795 'condition' => [
796 'skin4_hover_overlay' => 'overlay2',
797 ],
798 ]
799 );
800
801 $this->add_responsive_control(
802 'skin4_overlay_padding',
803 [
804 'label' => esc_html__( 'Padding', 'easy-elements' ),
805 'type' => \Elementor\Controls_Manager::DIMENSIONS,
806 'size_units' => [ 'px', 'em', '%' ],
807 'selectors' => [
808 '{{WRAPPER}} .eel-team-grid.skin4 .eel-team-hover-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
809 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
810 ],
811 ]
812 );
813
814 $this->add_responsive_control(
815 'skin4_overlay_border_radius',
816 [
817 'label' => esc_html__( 'Border Radius', 'easy-elements' ),
818 'type' => \Elementor\Controls_Manager::DIMENSIONS,
819 'size_units' => [ 'px', '%' ],
820 'selectors' => [
821 '{{WRAPPER}} .eel-team-grid.skin4 .eel-team-hover-content' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
822 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
823 ],
824 ]
825 );
826
827 $this->add_control(
828 'skin4_overlay_transition',
829 [
830 'label' => esc_html__( 'Transition Duration (s)', 'easy-elements' ),
831 'type' => \Elementor\Controls_Manager::SLIDER,
832 'range' => [
833 'px' => [ 'min' => 0, 'max' => 2, 'step' => 0.1 ],
834 ],
835 'selectors' => [
836 '{{WRAPPER}} .eel-team-grid.skin4 .eel-team-hover-content' => 'transition: opacity {{SIZE}}s ease;',
837 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2' => 'transition: opacity {{SIZE}}s ease, transform {{SIZE}}s ease;',
838 ],
839 ]
840 );
841
842 $this->end_controls_section();
843
844 // Name
845 $this->start_controls_section(
846 'section_name',
847 [
848 'label' => esc_html__( 'Name', 'easy-elements' ),
849 'tab' => Controls_Manager::TAB_STYLE,
850 ]
851 );
852
853 $this->add_control(
854 'name_color',
855 [
856 'label' => esc_html__( 'Color', 'easy-elements' ),
857 'type' => Controls_Manager::COLOR,
858 'selectors' => [
859 '{{WRAPPER}} .eel-name' => 'color: {{VALUE}};',
860 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-name' => 'color: {{VALUE}};',
861 ],
862 ]
863 );
864
865 $this->add_group_control(
866 \Elementor\Group_Control_Typography::get_type(),
867 [
868 'name' => 'name_typography',
869 'label' => esc_html__( 'Typography', 'easy-elements' ),
870 'selector' => '{{WRAPPER}} .eel-name, {{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-name',
871 ]
872 );
873
874 $this->add_responsive_control(
875 'name_padding',
876 [
877 'label' => esc_html__( 'Padding', 'easy-elements' ),
878 'type' => \Elementor\Controls_Manager::DIMENSIONS,
879 'size_units' => [ 'px', 'em', '%' ],
880 'selectors' => [
881 '{{WRAPPER}} .eel-name' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
882 ],
883 ]
884 );
885
886 $this->end_controls_section();
887
888 // Designation
889 $this->start_controls_section(
890 'section_designation',
891 [
892 'label' => esc_html__( 'Designation', 'easy-elements' ),
893 'tab' => Controls_Manager::TAB_STYLE,
894 ]
895 );
896
897 $this->add_control(
898 'designation_color',
899 [
900 'label' => esc_html__( 'Color', 'easy-elements' ),
901 'type' => Controls_Manager::COLOR,
902 'selectors' => [
903 '{{WRAPPER}} .eel-designation' => 'color: {{VALUE}};',
904 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-designation' => 'color: {{VALUE}};',
905 ],
906 ]
907 );
908
909 $this->add_group_control(
910 \Elementor\Group_Control_Typography::get_type(),
911 [
912 'name' => 'designation_typography',
913 'label' => esc_html__( 'Typography', 'easy-elements' ),
914 'selector' => '{{WRAPPER}} .eel-designation, {{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-designation',
915 ]
916 );
917
918 $this->end_controls_section();
919
920 // Description (default, skin1, skin2)
921 $this->start_controls_section(
922 'section_team_description',
923 [
924 'label' => esc_html__( 'Description', 'easy-elements' ),
925 'tab' => Controls_Manager::TAB_STYLE,
926 'condition' => [
927 'team_skin' => [ 'default', 'skin1', 'skin2' ],
928 ],
929 ]
930 );
931
932 $this->add_control(
933 'team_description_color',
934 [
935 'label' => esc_html__( 'Color', 'easy-elements' ),
936 'type' => Controls_Manager::COLOR,
937 'selectors' => [
938 '{{WRAPPER}} .eel-team-description' => 'color: {{VALUE}};',
939 ],
940 ]
941 );
942
943 $this->add_group_control(
944 \Elementor\Group_Control_Typography::get_type(),
945 [
946 'name' => 'team_description_typography',
947 'label' => esc_html__( 'Typography', 'easy-elements' ),
948 'selector' => '{{WRAPPER}} .eel-team-description',
949 ]
950 );
951
952 $this->add_responsive_control(
953 'team_description_margin',
954 [
955 'label' => esc_html__( 'Margin', 'easy-elements' ),
956 'type' => \Elementor\Controls_Manager::DIMENSIONS,
957 'size_units' => [ 'px', 'em', '%' ],
958 'selectors' => [
959 '{{WRAPPER}} .eel-team-description' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
960 ],
961 ]
962 );
963
964 $this->add_responsive_control(
965 'team_description_padding',
966 [
967 'label' => esc_html__( 'Padding', 'easy-elements' ),
968 'type' => \Elementor\Controls_Manager::DIMENSIONS,
969 'size_units' => [ 'px', 'em', '%' ],
970 'selectors' => [
971 '{{WRAPPER}} .eel-team-description' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
972 ],
973 ]
974 );
975
976 $this->end_controls_section();
977
978 $this->start_controls_section(
979 'section_description',
980 [
981 'label' => esc_html__( 'Description', 'easy-elements' ),
982 'tab' => Controls_Manager::TAB_STYLE,
983 'condition' => [
984 'team_skin' => 'skin3',
985 ],
986 ]
987 );
988
989
990 $this->start_controls_tabs( 'description_colors' );
991
992 // Normal Tab
993 $this->start_controls_tab(
994 'description_colors_normal',
995 [
996 'label' => esc_html__( 'Normal', 'easy-elements' ),
997 ]
998 );
999
1000 $this->add_control(
1001 'description_color',
1002 [
1003 'label' => esc_html__( 'Color', 'easy-elements' ),
1004 'type' => Controls_Manager::COLOR,
1005 'selectors' => [
1006 '{{WRAPPER}} .eel-image-content .eel-description' => 'color: {{VALUE}};',
1007 ],
1008 ]
1009 );
1010
1011 $this->add_group_control(
1012 \Elementor\Group_Control_Background::get_type(),
1013 [
1014 'name' => 'description_background',
1015 'label' => esc_html__( 'Background Color', 'easy-elements' ),
1016 'types' => [ 'classic', 'gradient' ],
1017 'selector' => '{{WRAPPER}} .eel-image-content',
1018 ]
1019 );
1020
1021 $this->end_controls_tab();
1022
1023 // Hover Tab
1024 $this->start_controls_tab(
1025 'description_colors_hover',
1026 [
1027 'label' => esc_html__( 'Hover', 'easy-elements' ),
1028 ]
1029 );
1030
1031 $this->add_control(
1032 'description_color_hover',
1033 [
1034 'label' => esc_html__( 'Color', 'easy-elements' ),
1035 'type' => Controls_Manager::COLOR,
1036 'selectors' => [
1037 '{{WRAPPER}} .eel-image-content:hover .eel-description' => 'color: {{VALUE}};',
1038 ],
1039 ]
1040 );
1041
1042 $this->add_group_control(
1043 \Elementor\Group_Control_Background::get_type(),
1044 [
1045 'name' => 'description_background_hover',
1046 'label' => esc_html__( 'Background Color', 'easy-elements' ),
1047 'types' => [ 'classic', 'gradient' ],
1048 'selector' => '{{WRAPPER}} .eel-image-content:hover:before',
1049 ]
1050 );
1051
1052 $this->add_control(
1053 'description_background_hover_opacity',
1054 [
1055 'label' => esc_html__( 'Opacity', 'easy-elements' ),
1056 'type' => \Elementor\Controls_Manager::SLIDER,
1057 'range' => [
1058 '' => [
1059 'min' => 0,
1060 'max' => 1,
1061 'step' => 0.1,
1062 ],
1063 ],
1064 'default' => [
1065 'size' => 0.5,
1066 ],
1067 'selectors' => [
1068 '{{WRAPPER}} .eel-image-content:hover::before' => 'opacity: {{SIZE}};',
1069 ],
1070 ]
1071 );
1072
1073
1074 $this->end_controls_tab();
1075
1076 $this->end_controls_tabs();
1077
1078 // Typography control (applies to both normal and hover states)
1079 $this->add_group_control(
1080 \Elementor\Group_Control_Typography::get_type(),
1081 [
1082 'name' => 'description_typography',
1083 'label' => esc_html__( 'Typography', 'easy-elements' ),
1084 'selector' => '{{WRAPPER}} .eel-image-content .eel-description',
1085 ]
1086 );
1087
1088 $this->add_control(
1089 'description_hover_transition',
1090 [
1091 'label' => esc_html__( 'Transition Duration', 'easy-elements' ),
1092 'type' => Controls_Manager::SLIDER,
1093 'size_units' => [ 's', 'ms' ],
1094 'range' => [
1095 's' => [
1096 'min' => 0,
1097 'max' => 3,
1098 'step' => 0.1,
1099 ],
1100 'ms' => [
1101 'min' => 0,
1102 'max' => 3000,
1103 'step' => 100,
1104 ],
1105 ],
1106 'default' => [
1107 'unit' => 's',
1108 'size' => 0.3,
1109 ],
1110 'selectors' => [
1111 '{{WRAPPER}} .eel-image-content' => 'transition-duration: {{SIZE}}{{UNIT}};',
1112 ],
1113 ]
1114 );
1115
1116 $this->add_responsive_control(
1117 'description_padding',
1118 [
1119 'label' => esc_html__( 'Padding', 'easy-elements' ),
1120 'type' => Controls_Manager::DIMENSIONS,
1121 'size_units' => [ 'px', '%', 'em' ],
1122 'selectors' => [
1123 '{{WRAPPER}} .eel-image-content' => 'padding: {{TOP}}{{UNIT}}} {{RIGHT}}{{UNIT}}} {{BOTTOM}}{{UNIT}}} {{LEFT}}{{UNIT}};',
1124 ],
1125 ]
1126 );
1127
1128 $this->add_control(
1129 'image_descripiton_overlay_note',
1130 [
1131 'type' => \Elementor\Controls_Manager::RAW_HTML,
1132 'raw' => '<div class="eel-popup-note">' . esc_html__('Note: This style only workable when description added for style 3.', 'easy-elements') . '</div>',
1133 'separator' => 'before',
1134 ]
1135 );
1136
1137 $this->end_controls_section();
1138
1139 // Social Item
1140 $this->start_controls_section(
1141 'section_social',
1142 [
1143 'label' => esc_html__( 'Social Icon', 'easy-elements' ),
1144 'tab' => Controls_Manager::TAB_STYLE,
1145 'condition' => [
1146 'show_social_icon' => 'yes',
1147 ]
1148 ]
1149 );
1150
1151 $this->start_controls_tabs( 's_icon_color_tabs' );
1152
1153 $this->start_controls_tab(
1154 's_icon_tab_normal',
1155 [ 'label' => esc_html__( 'Normal', 'easy-elements' ) ]
1156 );
1157
1158 $this->add_control(
1159 's_icon_color',
1160 [
1161 'label' => esc_html__( 'Color', 'easy-elements' ),
1162 'type' => Controls_Manager::COLOR,
1163 'selectors' => [
1164 '{{WRAPPER}} .eel-team-grid-social ul li a' => 'color: {{VALUE}};',
1165 '{{WRAPPER}} .eel-team-grid-social .eel-team-social-hover a' => 'color: {{VALUE}};',
1166 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-team-grid-social ul li a:not(.eel-popup-trigger)' => 'color: {{VALUE}};',
1167 ],
1168 ]
1169 );
1170
1171 $this->add_control(
1172 's_icon_bg_color',
1173 [
1174 'label' => esc_html__( 'Background Color', 'easy-elements' ),
1175 'type' => Controls_Manager::COLOR,
1176 'selectors' => [
1177 '{{WRAPPER}} .eel-team-grid-social ul li a' => 'background: {{VALUE}};',
1178 '{{WRAPPER}} .eel-team-grid-social .eel-team-social-hover a' => 'background: {{VALUE}};',
1179 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-team-grid-social ul li a:not(.eel-popup-trigger)' => 'background: {{VALUE}};',
1180 ],
1181 ]
1182 );
1183
1184 $this->end_controls_tab();
1185
1186 $this->start_controls_tab(
1187 's_icon_tab_hover',
1188 [ 'label' => esc_html__( 'Hover', 'easy-elements' ) ]
1189 );
1190
1191 $this->add_control(
1192 's_icon_hover_color',
1193 [
1194 'label' => esc_html__( 'Color', 'easy-elements' ),
1195 'type' => Controls_Manager::COLOR,
1196 'selectors' => [
1197 '{{WRAPPER}} .eel-team-grid-social ul li a:hover' => 'color: {{VALUE}};',
1198 '{{WRAPPER}} .eel-team-grid-social .eel-team-social-hover a:hover' => 'color: {{VALUE}};',
1199 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-team-grid-social ul li a:not(.eel-popup-trigger):hover' => 'color: {{VALUE}};',
1200 ],
1201 ]
1202 );
1203
1204 $this->add_control(
1205 's_icon_hover_bg_color',
1206 [
1207 'label' => esc_html__( 'Background Color', 'easy-elements' ),
1208 'type' => Controls_Manager::COLOR,
1209 'selectors' => [
1210 '{{WRAPPER}} .eel-team-grid-social ul li a:hover' => 'background: {{VALUE}};',
1211 '{{WRAPPER}} .eel-team-grid-social .eel-team-social-hover a:hover' => 'background: {{VALUE}};',
1212 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-team-grid-social ul li a:not(.eel-popup-trigger):hover' => 'background: {{VALUE}};',
1213 ],
1214 ]
1215 );
1216
1217 $this->end_controls_tab();
1218
1219 $this->end_controls_tabs();
1220
1221 $this->add_group_control(
1222 \Elementor\Group_Control_Typography::get_type(),
1223 [
1224 'name' => 's_icon_typography',
1225 'label' => esc_html__( 'Typography', 'easy-elements' ),
1226 'selector' => '{{WRAPPER}} .eel-team-grid-social ul li a, {{WRAPPER}} .eel-team-grid-social .eel-team-social-hover a, {{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-team-grid-social ul li a:not(.eel-popup-trigger)',
1227 ]
1228 );
1229 $this->add_responsive_control(
1230 's_icon_gap',
1231 [
1232 'label' => esc_html__( 'Icon Gap', 'easy-elements' ),
1233 'type' => \Elementor\Controls_Manager::SLIDER,
1234 'size_units' => [ 'px', 'em'],
1235 'selectors' => [
1236 '{{WRAPPER}} .eel-team-grid-social ul' => 'gap: {{SIZE}}{{UNIT}};',
1237 ],
1238 ]
1239 );
1240 $this->add_responsive_control(
1241 's_icon_width-height',
1242 [
1243 'label' => esc_html__( 'Button Size', 'easy-elements' ),
1244 'type' => \Elementor\Controls_Manager::SLIDER,
1245 'size_units' => [ 'px', 'em'],
1246 'selectors' => [
1247 '{{WRAPPER}} .eel-team-grid-social ul li a' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
1248 '{{WRAPPER}} .eel-team-grid-social .eel-team-social-hover a' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
1249 '{{WRAPPER}} .eel-team-grid.skin4 .ee--team-img .eel-team-hover-content.overlay2 .eel-team-grid-social ul li a:not(.eel-popup-trigger)' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
1250 ],
1251 ]
1252 );
1253 $this->add_responsive_control(
1254 's_icon_radius',
1255 [
1256 'label' => esc_html__( 'Border Radius', 'easy-elements' ),
1257 'type' => \Elementor\Controls_Manager::DIMENSIONS,
1258 'size_units' => [ 'px', '%' ],
1259 'selectors' => [
1260 '{{WRAPPER}} .eel-team-grid-social ul li a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1261 '{{WRAPPER}} .eel-team-grid-social .eel-team-social-hover a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1262 ],
1263 ]
1264 );
1265 $this->add_responsive_control(
1266 's_icon_area_padding',
1267 [
1268 'label' => esc_html__( 'Area Padding', 'easy-elements' ),
1269 'type' => \Elementor\Controls_Manager::DIMENSIONS,
1270 'size_units' => [ 'px', '%' ],
1271 'selectors' => [
1272 '{{WRAPPER}} .eel-team-grid-social' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1273 ],
1274 ]
1275 );
1276 $this->add_group_control(
1277 \Elementor\Group_Control_Border::get_type(),
1278 [
1279 'name' => 'social_item_border',
1280 'label' => esc_html__( 'Area Border', 'easy-elements' ),
1281 'selector' => '{{WRAPPER}} .eel-team-grid .eel-team-grid-social.default',
1282 'condition' => [
1283 'social_icon_position' => 'default',
1284 ]
1285 ]
1286 );
1287 $this->add_control(
1288 'social_item_border_note',
1289 [
1290 'type' => \Elementor\Controls_Manager::RAW_HTML,
1291 'raw' => '<strong>Note:</strong>Social Area Border',
1292 'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
1293 'condition' => [
1294 'social_icon_position' => 'default',
1295 ]
1296 ]
1297 );
1298 $this->add_responsive_control(
1299 'team_social_icon_alignment',
1300 [
1301 'label' => esc_html__( 'Alignment', 'easy-elements' ),
1302 'type' => \Elementor\Controls_Manager::CHOOSE,
1303 'options' => [
1304 'flex-start' => [
1305 'title' => esc_html__( 'Left', 'easy-elements' ),
1306 'icon' => 'eicon-justify-start-h',
1307 ],
1308 'center' => [
1309 'title' => esc_html__( 'Center', 'easy-elements' ),
1310 'icon' => 'eicon-justify-center-h',
1311 ],
1312 'right' => [
1313 'title' => esc_html__( 'Right', 'easy-elements' ),
1314 'icon' => 'eicon-justify-end-h',
1315 ],
1316 ],
1317 'selectors' => [
1318 '{{WRAPPER}} .eel-team-grid .ee--team-img .eel-team-grid-social.default ul' => 'justify-content: {{VALUE}};',
1319 ],
1320 'condition' => [
1321 'social_icon_position' => 'default',
1322 ]
1323 ]
1324 );
1325
1326 // Normal Box Shadow
1327 $this->add_group_control(
1328 \Elementor\Group_Control_Box_Shadow::get_type(),
1329 [
1330 'name' => 'item_box_shadow',
1331 'label' => esc_html__( 'Box Shadow', 'easy-elements' ),
1332 'selector' => '{{WRAPPER}} .eel-team-grid-social ul li a',
1333 'condition' => [
1334 'enable_multiple_shadow!' => 'yes',
1335 ],
1336 ]
1337 );
1338
1339 // Multiple Shadow Switcher
1340 $this->add_control(
1341 'enable_multiple_shadow',
1342 [
1343 'label' => esc_html__( 'Enable Multiple Shadow', 'easy-elements' ),
1344 'type' => \Elementor\Controls_Manager::SWITCHER,
1345 'label_on' => esc_html__( 'Yes', 'easy-elements' ),
1346 'label_off' => esc_html__( 'No', 'easy-elements' ),
1347 'return_value' => 'yes',
1348 'default' => '',
1349 ]
1350 );
1351
1352 // Multiple Shadow Control
1353 $this->add_control(
1354 'multiple_box_shadow',
1355 [
1356 'label' => esc_html__( 'Multiple Box Shadow', 'easy-elements' ),
1357 'type' => \Elementor\Controls_Manager::TEXTAREA,
1358 'rows' => 4,
1359 'default' => '',
1360 'label_block' => true,
1361 'selectors' => [
1362 '{{WRAPPER}} .eel-team-grid-social ul li a' => 'box-shadow: {{VALUE}};',
1363 ],
1364 'condition' => [
1365 'enable_multiple_shadow' => 'yes',
1366 ],
1367 ]
1368 );
1369
1370
1371
1372 $this->end_controls_section();
1373
1374 // Popup
1375 $this->start_controls_section(
1376 'section_popup_style',
1377 [
1378 'label' => esc_html__( 'Popup Style', 'easy-elements' ),
1379 'tab' => Controls_Manager::TAB_STYLE,
1380 'condition' => [
1381 'action_type' => 'popup',
1382 ],
1383 ]
1384 );
1385
1386 $this->add_control(
1387 'popup_bg_color',
1388 [
1389 'label' => esc_html__( 'Background Color', 'easy-elements' ),
1390 'type' => Controls_Manager::COLOR,
1391 'selectors' => [
1392 '{{WRAPPER}} .eel-popup-content' => 'background-color: {{VALUE}};',
1393 ],
1394 ]
1395 );
1396
1397 $this->add_control(
1398 'popup_name_color',
1399 [
1400 'label' => esc_html__( 'Name Color', 'easy-elements' ),
1401 'type' => Controls_Manager::COLOR,
1402 'selectors' => [
1403 '{{WRAPPER}} .eel-popup-name .eel-name' => 'color: {{VALUE}};',
1404 ],
1405 ]
1406 );
1407 $this->add_group_control(
1408 \Elementor\Group_Control_Typography::get_type(),
1409 [
1410 'name' => 'popup_name_typography',
1411 'label' => esc_html__( 'Name Typography', 'easy-elements' ),
1412 'selector' => '{{WRAPPER}} .eel-popup-name .eel-name',
1413 ]
1414 );
1415
1416 $this->add_control(
1417 'popup_designation_color',
1418 [
1419 'label' => esc_html__( 'Designation Color', 'easy-elements' ),
1420 'type' => Controls_Manager::COLOR,
1421 'selectors' => [
1422 '{{WRAPPER}} .eel-popup-designation' => 'color: {{VALUE}};',
1423 ],
1424 ]
1425 );
1426 $this->add_group_control(
1427 \Elementor\Group_Control_Typography::get_type(),
1428 [
1429 'name' => 'popup_designation_typography',
1430 'label' => esc_html__( 'Designation Typography', 'easy-elements' ),
1431 'selector' => '{{WRAPPER}} .eel-popup-designation',
1432 ]
1433 );
1434
1435 $this->add_control(
1436 'popup_details_color',
1437 [
1438 'label' => esc_html__( 'Details Color', 'easy-elements' ),
1439 'type' => Controls_Manager::COLOR,
1440 'selectors' => [
1441 '{{WRAPPER}} .eel-popup-details' => 'color: {{VALUE}};',
1442 ],
1443 ]
1444 );
1445 $this->add_group_control(
1446 \Elementor\Group_Control_Typography::get_type(),
1447 [
1448 'name' => 'popup_details_typography',
1449 'label' => esc_html__( 'Details Typography', 'easy-elements' ),
1450 'selector' => '{{WRAPPER}} .eel-popup-details',
1451 ]
1452 );
1453 $this->add_control(
1454 'popup_close_color',
1455 [
1456 'label' => esc_html__( 'Close Icon Color', 'easy-elements' ),
1457 'type' => Controls_Manager::COLOR,
1458 'selectors' => [
1459 '{{WRAPPER}} .eel-popup-close' => 'color: {{VALUE}};',
1460 ],
1461 ]
1462 );
1463
1464 $this->end_controls_section();
1465 }
1466
1467 protected function render() {
1468 $settings = $this->get_settings_for_display();
1469 $team_skin = $settings['team_skin'];
1470 ?>
1471
1472 <div class="eel-team-wraps eel-team-grid grid-layout <?php echo esc_attr( $team_skin )?>">
1473 <div class="grid-wrap">
1474 <?php
1475 $image_id = $settings['image']['id'] ?? '';
1476 $image_size = $settings['image_size'] ?? 'full';
1477 if ( $image_id ) {
1478 $image_data = wp_get_attachment_image_src( $image_id, $image_size );
1479 $alt = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
1480 $title = get_the_title( $image_id );
1481 } else {
1482 $fallback_url = Utils::get_placeholder_image_src();
1483 $image_data = [ $fallback_url, 600, 400 ];
1484 $alt = esc_attr__( 'Team Image', 'easy-elements' );
1485 $title = esc_attr__( 'Team Image', 'easy-elements' );
1486 }
1487
1488 $action_type = $settings['action_type'] ?? 'link';
1489 $link = $settings['link']['url'] ?? '';
1490 $target = ! empty( $settings['link']['is_external'] ) ? '_blank' : '';
1491 $nofollow = ! empty( $settings['link']['nofollow'] ) ? 'nofollow' : '';
1492 $fetchpriority = $settings['fetchpriority'] ?? '';
1493 $unique_id = uniqid('eel_team_');
1494
1495 $title_tag = isset( $settings['title_tag'] ) ? $settings['title_tag'] : 'h4';
1496 $name = sprintf( '<%1$s class="eel-name">%2$s</%1$s>', esc_attr( $title_tag ), esc_html( $settings['_name'] ));
1497 $designation = $settings['designation'] ?? '';
1498 $details = $settings['details'] ?? '';
1499 ?>
1500 <?php if ($team_skin == 'default'): ?>
1501 <div class="grid-item">
1502 <div class="ee--team-img">
1503 <?php if ( $image_data ) : ?>
1504 <div class="eel-team-img-area">
1505 <?php if ( $action_type === 'link' && $link ) : ?>
1506 <a href="<?php echo esc_url( $link ); ?>"
1507 <?php if ( $target ) : ?>target="<?php echo esc_attr( $target ); ?>"<?php endif; ?>
1508 <?php if ( $nofollow ) : ?>rel="<?php echo esc_attr( $nofollow ); ?>"<?php endif; ?>>
1509 <?php elseif ( $action_type === 'popup' ) : ?>
1510 <a href="#<?php echo esc_attr($unique_id); ?>" class="eel-popup-trigger" data-popup-id="<?php echo esc_attr($unique_id); ?>">
1511 <?php endif; ?>
1512 <div class="eel-team-img-box">
1513 <img class="eel-team-img"
1514 src="<?php echo esc_url( $image_data[0] ); ?>"
1515 width="<?php echo esc_attr( $image_data[1] ); ?>"
1516 height="<?php echo esc_attr( $image_data[2] ); ?>"
1517 alt="<?php echo esc_attr( $alt ); ?>"
1518 title="<?php echo esc_attr( $title ); ?>"
1519 loading="lazy"
1520 decoding="async" fetchpriority="<?php echo esc_attr( $fetchpriority ); ?>">
1521 <div class="eel-image-below-bg"></div>
1522 <div class="eel-image-overlay"></div>
1523 </div>
1524 <?php if ( ($action_type === 'link' && $link) || $action_type === 'popup' ) : ?>
1525 </a>
1526 <?php endif; ?>
1527 <?php if($settings['content_show'] == 'inside'):?>
1528 <div class="eel-name-deg-wrap <?php echo esc_attr( $settings['content_show'] )?>">
1529 <?php if ( ! empty( $name ) ) :
1530 echo wp_kses_post( $name );
1531 endif; ?>
1532 <?php if ( ! empty( $designation ) ) : ?>
1533 <div class="eel-designation"><?php echo esc_html( $designation ); ?></div>
1534 <?php if ( ! empty( $details ) ) : ?>
1535 <div class="eel-team-description"><?php echo nl2br( esc_html( $details ) ); ?></div>
1536 <?php endif; ?>
1537 <?php if ( $settings['social_links'] && $settings['show_social_icon'] == 'yes' && $settings['social_icon_position'] == 'default'): ?>
1538 <div class="eel-team-grid-social <?php echo esc_attr( $settings['social_icon_position'].' '.$settings['social_icon_show'] )?>">
1539 <?php if( $settings['social_icon_show'] =='hover_show' && !empty( $settings['social_hover_icon']['value']) ): ?>
1540 <div class="eel-team-social-hover">
1541 <a href="#">
1542 <?php \Elementor\Icons_Manager::render_icon( $settings['social_hover_icon'], [ 'aria-hidden' => 'true' ] ); ?>
1543 </a>
1544 </div>
1545 <?php endif;?>
1546 <ul>
1547 <?php foreach ( $settings['social_links'] as $item ):?>
1548 <li>
1549 <a href="<?php echo esc_attr( $item['link_url']['url'] )?>">
1550 <?php \Elementor\Icons_Manager::render_icon( $item['icon'], [ 'aria-hidden' => 'true' ] ); ?>
1551 </a>
1552 </li>
1553 <?php endforeach; ?>
1554 </ul>
1555 </div>
1556 <?php endif; ?>
1557 <?php endif; ?>
1558 </div>
1559 <?php endif; ?>
1560 </div>
1561 <?php endif; ?>
1562 <?php if($settings['content_show'] != 'inside'):?>
1563 <div class="eel-name-deg-wrap">
1564 <?php if ( ! empty( $name ) ) :
1565 echo wp_kses_post( $name );
1566 endif; ?>
1567 <?php if ( ! empty( $designation ) ) : ?>
1568 <div class="eel-designation"><?php echo esc_html( $designation ); ?></div>
1569 <?php endif; ?>
1570 <?php if ( ! empty( $details ) ) : ?>
1571 <div class="eel-team-description"><?php echo nl2br( esc_html( $details ) ); ?></div>
1572 <?php endif; ?>
1573 <?php if ( $settings['social_links'] && $settings['show_social_icon'] == 'yes' && $settings['social_icon_position'] == 'default'): ?>
1574 <div class="eel-team-grid-social <?php echo esc_attr( $settings['social_icon_position'].' '.$settings['social_icon_show'] )?>">
1575 <?php if( $settings['social_icon_show'] =='hover_show' && !empty( $settings['social_hover_icon']['value']) ): ?>
1576 <div class="eel-team-social-hover">
1577 <a href="#">
1578 <?php \Elementor\Icons_Manager::render_icon( $settings['social_hover_icon'], [ 'aria-hidden' => 'true' ] ); ?>
1579 </a>
1580 </div>
1581 <?php endif;?>
1582 <ul>
1583 <?php foreach ( $settings['social_links'] as $item ):?>
1584 <li>
1585 <a href="<?php echo esc_attr( $item['link_url']['url'] )?>">
1586 <?php \Elementor\Icons_Manager::render_icon( $item['icon'], [ 'aria-hidden' => 'true' ] ); ?>
1587 </a>
1588 </li>
1589 <?php endforeach; ?>
1590 </ul>
1591 </div>
1592 <?php endif; ?>
1593 </div>
1594 <?php endif; ?>
1595 <?php if ( $settings['social_links'] && $settings['show_social_icon'] == 'yes' && $settings['social_icon_position'] != 'default'): ?>
1596 <div class="eel-team-grid-social <?php echo esc_attr( $settings['social_icon_position'].' '.$settings['social_icon_show'] )?>">
1597 <?php if( $settings['social_icon_show'] =='hover_show' && !empty( $settings['social_hover_icon']['value']) ): ?>
1598 <div class="eel-team-social-hover">
1599 <a href="#">
1600 <?php \Elementor\Icons_Manager::render_icon( $settings['social_hover_icon'], [ 'aria-hidden' => 'true' ] ); ?>
1601 </a>
1602 </div>
1603 <?php endif;?>
1604 <ul>
1605 <?php foreach ( $settings['social_links'] as $item ):?>
1606 <li>
1607 <a href="<?php echo esc_attr( $item['link_url']['url'] )?>">
1608 <?php \Elementor\Icons_Manager::render_icon( $item['icon'], [ 'aria-hidden' => 'true' ] ); ?>
1609 </a>
1610 </li>
1611 <?php endforeach; ?>
1612 </ul>
1613 </div>
1614 <?php endif; ?>
1615 </div>
1616 </div>
1617 <!-- Others Skins -->
1618 <?php else:
1619 include plugin_dir_path(__FILE__) . 'skins/' . $team_skin . '.php';
1620 endif;
1621 ?>
1622 <?php if ( $action_type === 'popup' ) : ?>
1623 <div id="<?php echo esc_attr($unique_id); ?>" class="eel-popup-modal" style="display:none;">
1624 <div class="eel-popup-content">
1625 <span class="eel-popup-close">&times;</span>
1626 <div class="eel-popup-header">
1627 <?php if ( ! empty( $name ) ) : ?>
1628 <div class="eel-popup-name"><?php echo wp_kses_post( $name ); ?></div>
1629 <?php endif; ?>
1630 <?php if ( ! empty( $designation ) ) : ?>
1631 <div class="eel-popup-designation"><?php echo esc_html( $designation ); ?></div>
1632 <?php endif; ?>
1633 </div>
1634 <div class="eel-popup-details">
1635 <?php if ( ! empty( $details ) ) : ?>
1636 <?php echo nl2br( esc_html( $details ) ); ?>
1637 <?php else : ?>
1638 <p><?php esc_html_e( 'No additional details available.', 'easy-elements' ); ?></p>
1639 <?php endif; ?>
1640 </div>
1641 </div>
1642 </div>
1643 <?php endif; ?>
1644 </div>
1645 </div>
1646 <?php
1647 }
1648 }
1649