PluginProbe ʕ •ᴥ•ʔ
Essential Addons for Elementor – Popular Elementor Templates & Widgets / 5.1.4
Essential Addons for Elementor – Popular Elementor Templates & Widgets v5.1.4
6.6.5 6.6.4 6.6.3 5.7.3 5.7.4 5.8.0 5.8.1 5.8.10 5.8.11 5.8.12 5.8.13 5.8.14 5.8.15 5.8.16 5.8.18 5.8.2 5.8.3 5.8.4 5.8.5 5.8.6 5.8.7 5.8.8 5.8.9 5.9.0 5.9.1 5.9.10 5.9.11 5.9.12 5.9.13 5.9.14 5.9.15 5.9.16 5.9.17 5.9.18 5.9.19 5.9.2 5.9.20 5.9.21 5.9.22 5.9.23 5.9.24 5.9.25 5.9.26 5.9.27 5.9.3 5.9.4 5.9.5 5.9.6 5.9.7 5.9.8 5.9.9 6.0.0 6.0.1 6.0.10 6.0.11 6.0.12 6.0.13 6.0.14 6.0.15 6.0.2 6.0.3 6.0.4 6.0.5 6.0.6 6.0.7 6.0.8 6.0.9 6.1.0 6.1.1 6.1.10 6.1.11 trunk 6.1.12 1.0.0 6.1.13 1.0.1 6.1.14 1.1.0 6.1.15 2.0 6.1.17 2.1 6.1.18 2.10.0 6.1.19 2.10.1 6.1.2 2.10.2 6.1.20 2.10.3 6.1.3 2.10.4 6.1.4 2.10.5 6.1.5 2.2.0 6.1.6 2.2.1 6.1.7 2.2.2 6.1.8 2.2.3 6.1.9 2.2.4 6.2.0 2.2.5 6.2.1 2.3.0 6.2.2 2.3.1 6.2.3 2.4.0 6.2.4 2.4.1 6.3.0 2.4.2 6.3.1 2.4.3 6.3.2 2.5.0 6.3.3 2.6.0 6.4.0 2.7.0 6.5.0 2.7.1 6.5.1 2.7.10 6.5.10 2.7.11 6.5.11 2.7.2 6.5.12 2.7.3 6.5.13 2.7.4 6.5.2 2.7.5 6.5.3 2.7.6 6.5.4 2.7.7 6.5.5 2.7.8 6.5.6 2.7.9 6.5.7 2.8.0 6.5.8 2.8.1 6.5.9 2.8.2 6.6.0 2.8.3 6.6.1 2.8.4 6.6.2 2.8.5 2.8.6 2.8.7 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 2.9.9 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.4.1 3.1.5 3.2.0 3.3.0 3.3.1 3.3.2 3.3.3 3.4.0 3.5.0 3.5.1 3.5.2 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.3.0 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 5.0.0 5.0.1 5.0.10 5.0.11 5.0.12 5.0.13 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.3.0 5.3.1 5.3.2 5.4.6 5.5.5 5.6.5 5.7.2
essential-addons-for-elementor-lite / includes / Elements / Team_Member.php
essential-addons-for-elementor-lite / includes / Elements Last commit date
Adv_Accordion.php 4 years ago Adv_Tabs.php 4 years ago Advanced_Data_Table.php 4 years ago Better_Payment.php 4 years ago Betterdocs_Category_Box.php 4 years ago Betterdocs_Category_Grid.php 4 years ago Betterdocs_Search_Form.php 4 years ago Caldera_Forms.php 4 years ago Career_Page.php 4 years ago Contact_Form_7.php 4 years ago Content_Ticker.php 4 years ago Countdown.php 4 years ago Creative_Button.php 4 years ago Crowdfundly_All_Campaign.php 4 years ago Crowdfundly_Organization.php 4 years ago Crowdfundly_Single_Campaign.php 4 years ago Cta_Box.php 4 years ago Data_Table.php 4 years ago Dual_Color_Header.php 4 years ago EmbedPress.php 4 years ago Event_Calendar.php 4 years ago Facebook_Feed.php 4 years ago Fancy_Text.php 4 years ago Feature_List.php 4 years ago Filterable_Gallery.php 4 years ago Flip_Box.php 4 years ago FluentForm.php 4 years ago Formstack.php 4 years ago GravityForms.php 4 years ago Image_Accordion.php 4 years ago Info_Box.php 4 years ago Interactive_Circle.php 4 years ago Login_Register.php 4 years ago NinjaForms.php 4 years ago Post_Grid.php 4 years ago Post_Timeline.php 4 years ago Pricing_Table.php 4 years ago Product_Grid.php 4 years ago Progress_Bar.php 4 years ago Simple_Menu.php 4 years ago Sticky_Video.php 4 years ago Team_Member.php 4 years ago Testimonial.php 4 years ago Tooltip.php 4 years ago Twitter_Feed.php 4 years ago TypeForm.php 4 years ago WeForms.php 4 years ago Woo_Cart.php 4 years ago Woo_Checkout.php 4 years ago Woo_Product_Carousel.php 4 years ago Woo_Product_Compare.php 4 years ago Woo_Product_Gallery.php 4 years ago Woocommerce_Review.php 4 years ago WpForms.php 4 years ago
Team_Member.php
916 lines
1 <?php
2 namespace Essential_Addons_Elementor\Elements;
3
4 // If this file is called directly, abort.
5 if (!defined('ABSPATH')) {
6 exit;
7 }
8
9 use \Elementor\Controls_Manager;
10 use \Elementor\Group_Control_Border;
11 use \Elementor\Group_Control_Image_Size;
12 use \Elementor\Group_Control_Typography;
13 use \Elementor\Group_Control_Background;
14 use Elementor\Repeater;
15 use \Elementor\Utils;
16 use \Elementor\Widget_Base;
17
18 use \Essential_Addons_Elementor\Classes\Helper as HelperClass;
19 class Team_Member extends Widget_Base {
20
21 public function get_name() {
22 return 'eael-team-member';
23 }
24
25 public function get_title() {
26 return esc_html__( 'Team Member', 'essential-addons-for-elementor-lite');
27 }
28
29 public function get_icon() {
30 return 'eaicon-team-mamber';
31 }
32
33 public function get_categories() {
34 return [ 'essential-addons-elementor' ];
35 }
36
37 public function get_keywords()
38 {
39 return [
40 'team',
41 'member',
42 'team member',
43 'ea team member',
44 'ea team members',
45 'person',
46 'card',
47 'meet the team',
48 'team builder',
49 'our team',
50 'ea',
51 'essential addons'
52 ];
53 }
54
55 public function get_custom_help_url()
56 {
57 return 'https://essential-addons.com/elementor/docs/team-members/';
58 }
59
60 protected function register_controls() {
61
62
63 $this->start_controls_section(
64 'eael_section_team_member_image',
65 [
66 'label' => esc_html__( 'Team Member Image', 'essential-addons-for-elementor-lite')
67 ]
68 );
69
70
71 $this->add_control(
72 'eael_team_member_image',
73 [
74 'label' => __( 'Team Member Avatar', 'essential-addons-for-elementor-lite'),
75 'type' => Controls_Manager::MEDIA,
76 'default' => [
77 'url' => Utils::get_placeholder_image_src(),
78 ],
79 ]
80 );
81
82
83 $this->add_group_control(
84 Group_Control_Image_Size::get_type(),
85 [
86 'name' => 'thumbnail',
87 'default' => 'full',
88 'condition' => [
89 'eael_team_member_image[url]!' => '',
90 ],
91 ]
92 );
93
94
95 $this->end_controls_section();
96
97 $this->start_controls_section(
98 'eael_section_team_member_content',
99 [
100 'label' => esc_html__( 'Team Member Content', 'essential-addons-for-elementor-lite')
101 ]
102 );
103
104
105 $this->add_control(
106 'eael_team_member_name',
107 [
108 'label' => esc_html__( 'Name', 'essential-addons-for-elementor-lite'),
109 'type' => Controls_Manager::TEXT,
110 'dynamic' => [
111 'active' => true,
112 ],
113 'default' => esc_html__( 'John Doe', 'essential-addons-for-elementor-lite'),
114 ]
115 );
116
117 $this->add_control(
118 'eael_team_member_job_title',
119 [
120 'label' => esc_html__( 'Job Position', 'essential-addons-for-elementor-lite'),
121 'type' => Controls_Manager::TEXT,
122 'dynamic' => [
123 'active' => true,
124 ],
125 'default' => esc_html__( 'Software Engineer', 'essential-addons-for-elementor-lite'),
126 ]
127 );
128
129 $this->add_control(
130 'eael_team_member_description',
131 [
132 'label' => esc_html__( 'Description', 'essential-addons-for-elementor-lite'),
133 'type' => Controls_Manager::TEXTAREA,
134 'dynamic' => [
135 'active' => true,
136 ],
137 'default' => esc_html__( 'Add team member description here. Remove the text if not necessary.', 'essential-addons-for-elementor-lite'),
138 ]
139 );
140
141
142 $this->end_controls_section();
143
144
145 $this->start_controls_section(
146 'eael_section_team_member_social_profiles',
147 [
148 'label' => esc_html__( 'Social Profiles', 'essential-addons-for-elementor-lite')
149 ]
150 );
151
152 $this->add_control(
153 'eael_team_member_enable_social_profiles',
154 [
155 'label' => esc_html__( 'Display Social Profiles?', 'essential-addons-for-elementor-lite'),
156 'type' => Controls_Manager::SWITCHER,
157 'default' => 'yes',
158 ]
159 );
160
161 $repeater = new Repeater();
162
163 $repeater->add_control(
164 'social_new',
165 [
166 'label' => esc_html__( 'Icon', 'essential-addons-for-elementor-lite'),
167 'type' => Controls_Manager::ICONS,
168 'fa4compatibility' => 'social',
169 'default' => [
170 'value' => 'fab fa-wordpress',
171 'library' => 'fa-brands',
172 ],
173 ]
174 );
175
176 $repeater->add_control(
177 'link',
178 [
179 'name' => 'link',
180 'label' => esc_html__( 'Link', 'essential-addons-for-elementor-lite'),
181 'type' => Controls_Manager::URL,
182 'dynamic' => ['active' => true],
183 'label_block' => true,
184 'default' => [
185 'url' => '',
186 'is_external' => 'true',
187 ],
188 'placeholder' => esc_html__( 'Place URL here', 'essential-addons-for-elementor-lite'),
189 ]
190 );
191
192 $this->add_control(
193 'eael_team_member_social_profile_links',
194 [
195 'type' => Controls_Manager::REPEATER,
196 'condition' => [
197 'eael_team_member_enable_social_profiles!' => '',
198 ],
199 'default' => [
200 [
201 'social_new' => [
202 'value' => 'fab fa-facebook',
203 'library' => 'fa-brands'
204 ]
205 ],
206 [
207 'social_new' => [
208 'value' => 'fab fa-twitter',
209 'library' => 'fa-brands'
210 ]
211 ],
212 [
213 'social_new' => [
214 'value' => 'fab fa-google-plus',
215 'library' => 'fa-brands'
216 ]
217 ],
218 [
219 'social_new' => [
220 'value' => 'fab fa-linkedin',
221 'library' => 'fa-brands'
222 ]
223 ],
224 ],
225 'fields' => $repeater->get_controls(),
226 'title_field' => '<i class="{{ social_new.value }}"></i>',
227 ]
228 );
229
230 $this->end_controls_section();
231
232
233 if(!apply_filters('eael/pro_enabled', false)) {
234 $this->start_controls_section(
235 'eael_section_pro',
236 [
237 'label' => __( 'Go Premium for More Features', 'essential-addons-for-elementor-lite')
238 ]
239 );
240
241 $this->add_control(
242 'eael_control_get_pro',
243 [
244 'label' => __( 'Unlock more possibilities', 'essential-addons-for-elementor-lite'),
245 'type' => Controls_Manager::CHOOSE,
246 'options' => [
247 '1' => [
248 'title' => '',
249 'icon' => 'fa fa-unlock-alt',
250 ],
251 ],
252 'default' => '1',
253 'description' => '<span class="pro-feature"> Get the <a href="https://wpdeveloper.com/upgrade/ea-pro" target="_blank">Pro version</a> for more stunning elements and customization options.</span>'
254 ]
255 );
256
257 $this->end_controls_section();
258 }
259
260 $this->start_controls_section(
261 'eael_section_team_members_styles_general',
262 [
263 'label' => esc_html__( 'Team Member Styles', 'essential-addons-for-elementor-lite'),
264 'tab' => Controls_Manager::TAB_STYLE
265 ]
266 );
267
268 $team_member_style_presets_options = apply_filters('eael_team_member_style_presets_options', [
269 'eael-team-members-simple' => esc_html__( 'Simple Style', 'essential-addons-for-elementor-lite' ),
270 'eael-team-members-overlay' => esc_html__( 'Overlay Style', 'essential-addons-for-elementor-lite' ),
271 'eael-team-members-centered' => esc_html__( 'Centered Style', 'essential-addons-for-elementor-lite' ),
272 'eael-team-members-circle' => esc_html__( 'Circle Style', 'essential-addons-for-elementor-lite' ),
273 'eael-team-members-social-bottom' => esc_html__( 'Social on Bottom', 'essential-addons-for-elementor-lite' ),
274 'eael-team-members-social-right' => esc_html__( 'Social on Right', 'essential-addons-for-elementor-lite' ),
275 ]);
276
277 $this->add_control(
278 'eael_team_members_preset',
279 [
280 'label' => esc_html__( 'Style Preset', 'essential-addons-for-elementor-lite'),
281 'type' => Controls_Manager::SELECT,
282 'default' => 'eael-team-members-simple',
283 'options' => $team_member_style_presets_options
284 ]
285 );
286
287 $team_member_style_presets_condition = apply_filters('eael_team_member_style_presets_condition', [
288 'eael-team-members-centered',
289 'eael-team-members-circle',
290 'eael-team-members-social-bottom',
291 'eael-team-members-social-right'
292 ]);
293
294 $this->add_control(
295 'eael_team_members_preset_pro_alert',
296 [
297 'label' => esc_html__( 'Only available in pro version!', 'essential-addons-for-elementor-lite'),
298 'type' => Controls_Manager::HEADING,
299 'condition' => [
300 'eael_team_members_preset' => $team_member_style_presets_condition
301 ]
302 ]
303 );
304
305 $this->add_control(
306 'content_card_style',
307 [
308 'label' => __( 'Content Card', 'essential-addons-for-elementor-lite'),
309 'type' => Controls_Manager::HEADING,
310 'separator' => 'before'
311 ]
312 );
313
314
315 $this->add_control(
316 'content_card_height',
317 [
318 'label' => esc_html__( 'Height', 'essential-addons-for-elementor-lite'),
319 'type' => Controls_Manager::SLIDER,
320 'size_units' => [ 'px', 'em' ],
321 'range' => [
322 'px' => [
323 'min' => 0,
324 'max' => 500,
325 ],
326 'em' => [
327 'min' => 0,
328 'max' => 200
329 ]
330 ],
331 'default' => [
332 'unit' => 'px',
333 'size' => 'auto'
334 ],
335 'selectors' => [
336 '{{WRAPPER}} .eael-team-item .eael-team-content' => 'min-height: {{SIZE}}{{UNIT}};',
337 ],
338 ]
339 );
340
341 $this->add_control(
342 'eael_team_members_overlay_background',
343 [
344 'label' => esc_html__( 'Overlay Color', 'essential-addons-for-elementor-lite'),
345 'type' => Controls_Manager::COLOR,
346 'default' => 'rgba(255,255,255,0.8)',
347 'selectors' => [
348 '{{WRAPPER}} .eael-team-members-overlay .eael-team-content' => 'background-color: {{VALUE}};',
349 ],
350 'condition' => [
351 'eael_team_members_preset' => 'eael-team-members-overlay',
352 ],
353 ]
354 );
355
356 $this->add_control(
357 'eael_team_members_background',
358 [
359 'label' => esc_html__( 'Content Background Color', 'essential-addons-for-elementor-lite'),
360 'type' => Controls_Manager::COLOR,
361 'default' => '',
362 'selectors' => [
363 '{{WRAPPER}} .eael-team-item .eael-team-content' => 'background-color: {{VALUE}};',
364 ],
365 ]
366 );
367
368 $this->add_control(
369 'eael_team_members_alignment',
370 [
371 'label' => esc_html__( 'Set Alignment', 'essential-addons-for-elementor-lite'),
372 'type' => Controls_Manager::CHOOSE,
373 'label_block' => true,
374 'options' => [
375 'default' => [
376 'title' => __( 'Default', 'essential-addons-for-elementor-lite'),
377 'icon' => 'fa fa-ban',
378 ],
379 'left' => [
380 'title' => esc_html__( 'Left', 'essential-addons-for-elementor-lite'),
381 'icon' => 'eicon-text-align-left',
382 ],
383 'centered' => [
384 'title' => esc_html__( 'Center', 'essential-addons-for-elementor-lite'),
385 'icon' => 'eicon-text-align-center',
386 ],
387 'right' => [
388 'title' => esc_html__( 'Right', 'essential-addons-for-elementor-lite'),
389 'icon' => 'eicon-text-align-right',
390 ],
391 ],
392 'default' => 'eael-team-align-default',
393 'prefix_class' => 'eael-team-align-',
394 ]
395 );
396
397 $this->add_responsive_control(
398 'eael_team_members_padding',
399 [
400 'label' => esc_html__( 'Content Padding', 'essential-addons-for-elementor-lite'),
401 'type' => Controls_Manager::DIMENSIONS,
402 'size_units' => [ 'px', '%', 'em' ],
403 'selectors' => [
404 '{{WRAPPER}} .eael-team-item .eael-team-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
405 ],
406 ]
407 );
408
409 $this->add_group_control(
410 Group_Control_Border::get_type(),
411 [
412 'name' => 'eael_team_members_border',
413 'label' => esc_html__( 'Border', 'essential-addons-for-elementor-lite'),
414 'selector' => '{{WRAPPER}} .eael-team-item',
415 ]
416 );
417
418 $this->add_control(
419 'eael_team_members_border_radius',
420 [
421 'label' => esc_html__( 'Border Radius', 'essential-addons-for-elementor-lite'),
422 'type' => Controls_Manager::DIMENSIONS,
423 'selectors' => [
424 '{{WRAPPER}} .eael-team-item' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
425 ],
426 ]
427 );
428
429 $this->end_controls_section();
430
431
432 $this->start_controls_section(
433 'eael_section_team_members_image_styles',
434 [
435 'label' => esc_html__( 'Team Member Image Style', 'essential-addons-for-elementor-lite'),
436 'tab' => Controls_Manager::TAB_STYLE
437 ]
438 );
439
440 $this->add_responsive_control(
441 'eael_team_members_image_width',
442 [
443 'label' => esc_html__( 'Image Width', 'essential-addons-for-elementor-lite'),
444 'type' => Controls_Manager::SLIDER,
445 'default' => [
446 'size' => 100,
447 'unit' => '%',
448 ],
449 'range' => [
450 '%' => [
451 'min' => 0,
452 'max' => 100,
453 ],
454 'px' => [
455 'min' => 0,
456 'max' => 1000,
457 ],
458 ],
459 'size_units' => [ '%', 'px' ],
460 'selectors' => [
461 '{{WRAPPER}} .eael-team-item figure img' => 'width:{{SIZE}}{{UNIT}};',
462 ],
463 'condition' => [
464 'eael_team_members_preset!' => 'eael-team-members-circle'
465 ]
466 ]
467 );
468
469 do_action('eael/team_member_circle_controls', $this);
470
471
472 $this->add_responsive_control(
473 'eael_team_members_image_margin',
474 [
475 'label' => esc_html__( 'Margin', 'essential-addons-for-elementor-lite'),
476 'type' => Controls_Manager::DIMENSIONS,
477 'size_units' => [ 'px', '%' ],
478 'selectors' => [
479 '{{WRAPPER}} .eael-team-item figure img' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
480 ],
481 ]
482 );
483
484 $this->add_responsive_control(
485 'eael_team_members_image_padding',
486 [
487 'label' => esc_html__( 'Padding', 'essential-addons-for-elementor-lite'),
488 'type' => Controls_Manager::DIMENSIONS,
489 'size_units' => [ 'px', '%', 'em' ],
490 'selectors' => [
491 '{{WRAPPER}} .eael-team-item figure img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
492 ],
493 ]
494 );
495
496
497 $this->add_group_control(
498 Group_Control_Border::get_type(),
499 [
500 'name' => 'eael_team_members_image_border',
501 'label' => esc_html__( 'Border', 'essential-addons-for-elementor-lite'),
502 'selector' => '{{WRAPPER}} .eael-team-item figure img',
503 ]
504 );
505
506 $this->add_control(
507 'eael_team_members_image_rounded',
508 [
509 'label' => esc_html__( 'Rounded Avatar?', 'essential-addons-for-elementor-lite'),
510 'type' => Controls_Manager::SWITCHER,
511 'return_value' => 'team-avatar-rounded',
512 'default' => '',
513 ]
514 );
515
516
517 $this->add_control(
518 'eael_team_members_image_border_radius',
519 [
520 'label' => esc_html__( 'Border Radius', 'essential-addons-for-elementor-lite'),
521 'type' => Controls_Manager::DIMENSIONS,
522 'selectors' => [
523 '{{WRAPPER}} .eael-team-item figure img' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
524 ],
525 'condition' => [
526 'eael_team_members_image_rounded!' => 'team-avatar-rounded',
527 ],
528 ]
529 );
530
531 $this->end_controls_section();
532
533
534 $this->start_controls_section(
535 'eael_section_team_members_typography',
536 [
537 'label' => esc_html__( 'Color &amp; Typography', 'essential-addons-for-elementor-lite'),
538 'tab' => Controls_Manager::TAB_STYLE
539 ]
540 );
541
542 $this->add_control(
543 'eael_team_members_name_heading',
544 [
545 'label' => __( 'Member Name', 'essential-addons-for-elementor-lite'),
546 'type' => Controls_Manager::HEADING,
547 ]
548 );
549
550 $this->add_control(
551 'eael_team_members_name_color',
552 [
553 'label' => esc_html__( 'Member Name Color', 'essential-addons-for-elementor-lite'),
554 'type' => Controls_Manager::COLOR,
555 'default' => '#272727',
556 'selectors' => [
557 '{{WRAPPER}} .eael-team-item .eael-team-member-name' => 'color: {{VALUE}};',
558 ],
559 ]
560 );
561
562 $this->add_group_control(
563 Group_Control_Typography::get_type(),
564 [
565 'name' => 'eael_team_members_name_typography',
566 'selector' => '{{WRAPPER}} .eael-team-item .eael-team-member-name',
567 ]
568 );
569
570 $this->add_control(
571 'eael_team_members_position_heading',
572 [
573 'label' => __( 'Member Job Position', 'essential-addons-for-elementor-lite'),
574 'type' => Controls_Manager::HEADING,
575 'separator' => 'before'
576 ]
577 );
578
579 $this->add_control(
580 'eael_team_members_position_color',
581 [
582 'label' => esc_html__( 'Job Position Color', 'essential-addons-for-elementor-lite'),
583 'type' => Controls_Manager::COLOR,
584 'default' => '#272727',
585 'selectors' => [
586 '{{WRAPPER}} .eael-team-item .eael-team-member-position' => 'color: {{VALUE}};',
587 ],
588 ]
589 );
590
591 $this->add_group_control(
592 Group_Control_Typography::get_type(),
593 [
594 'name' => 'eael_team_members_position_typography',
595 'selector' => '{{WRAPPER}} .eael-team-item .eael-team-member-position',
596 ]
597 );
598
599 $this->add_control(
600 'eael_team_members_description_heading',
601 [
602 'label' => __( 'Member Description', 'essential-addons-for-elementor-lite'),
603 'type' => Controls_Manager::HEADING,
604 'separator' => 'before'
605 ]
606 );
607
608 $this->add_control(
609 'eael_team_members_description_color',
610 [
611 'label' => esc_html__( 'Description Color', 'essential-addons-for-elementor-lite'),
612 'type' => Controls_Manager::COLOR,
613 'default' => '#272727',
614 'selectors' => [
615 '{{WRAPPER}} .eael-team-item .eael-team-content .eael-team-text' => 'color: {{VALUE}};',
616 ],
617 ]
618 );
619
620 $this->add_group_control(
621 Group_Control_Typography::get_type(),
622 [
623 'name' => 'eael_team_members_description_typography',
624 'selector' => '{{WRAPPER}} .eael-team-item .eael-team-content .eael-team-text',
625 ]
626 );
627
628 $this->end_controls_section();
629
630
631 $this->start_controls_section(
632 'eael_section_team_members_social_profiles_styles',
633 [
634 'label' => esc_html__( 'Social Profiles Style', 'essential-addons-for-elementor-lite'),
635 'tab' => Controls_Manager::TAB_STYLE
636 ]
637 );
638
639
640 $this->add_control(
641 'eael_team_members_social_icon_size',
642 [
643 'label' => esc_html__( 'Icon Size', 'essential-addons-for-elementor-lite'),
644 'type' => Controls_Manager::SLIDER,
645 'range' => [
646 'px' => [
647 'min' => 0,
648 'max' => 200,
649 ],
650 ],
651 'default' => [
652 'size' => 35,
653 'unit' => 'px'
654 ],
655 'selectors' => [
656 // '{{WRAPPER}} .eael-team-member-social-link > a' => 'width: {{SIZE}}px; height: {{SIZE}}px; line-height: {{SIZE}}px;',
657 '{{WRAPPER}} .eael-team-member-social-link > a i' => 'font-size: {{SIZE}}{{UNIT}};',
658 '{{WRAPPER}} .eael-team-member-social-link > a img' => 'width: {{SIZE}}px; height: {{SIZE}}px; line-height: {{SIZE}}px;',
659 ],
660 ]
661 );
662
663 $this->add_responsive_control(
664 'eael_team_members_social_profiles_padding',
665 [
666 'label' => esc_html__( 'Social Profiles Margin', 'essential-addons-for-elementor-lite'),
667 'type' => Controls_Manager::DIMENSIONS,
668 'size_units' => [ 'px', '%', 'em' ],
669 'selectors' => [
670 '{{WRAPPER}} .eael-team-content > .eael-team-member-social-profiles' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
671 '{{WRAPPER}} .eael-team-image > .eael-team-member-social-profiles' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
672 ],
673 ]
674 );
675
676 $this->add_responsive_control(
677 'eael_team_members_social_icons_padding',
678 [
679 'label' => esc_html__( 'Social Icon Padding', 'essential-addons-for-elementor-lite'),
680 'type' => Controls_Manager::DIMENSIONS,
681 'size_units' => [ 'px', '%', 'em' ],
682 'selectors' => [
683 '{{WRAPPER}} .eael-team-content > .eael-team-member-social-profiles li.eael-team-member-social-link > a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
684 '{{WRAPPER}} .eael-team-image > .eael-team-member-social-profiles li.eael-team-member-social-link > a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
685 ],
686 ]
687 );
688 $this->add_responsive_control(
689 'eael_team_members_social_icons_spacing',
690 [
691 'label' => esc_html__( 'Social Icon Distance', 'essential-addons-for-elementor-lite'),
692 'type' => Controls_Manager::DIMENSIONS,
693 'size_units' => [ 'px', '%', 'em' ],
694 'selectors' => [
695 '{{WRAPPER}} .eael-team-content > .eael-team-member-social-profiles li.eael-team-member-social-link' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
696 '{{WRAPPER}} .eael-team-image > .eael-team-member-social-profiles li.eael-team-member-social-link' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
697 ],
698 ]
699 );
700 $this->add_control(
701 'eael_team_members_social_icons_used_gradient_bg',
702 [
703 'label' => __( 'Use Gradient Background', 'essential-addons-for-elementor-lite' ),
704 'type' => \Elementor\Controls_Manager::SWITCHER,
705 'label_on' => __( 'Yes', 'essential-addons-for-elementor-lite' ),
706 'label_off' => __( 'No', 'essential-addons-for-elementor-lite' ),
707 'return_value' => 'yes',
708 ]
709 );
710
711
712 $this->start_controls_tabs( 'eael_team_members_social_icons_style_tabs' );
713
714 $this->start_controls_tab( 'normal', [ 'label' => esc_html__( 'Normal', 'essential-addons-for-elementor-lite') ] );
715
716 $this->add_control(
717 'eael_team_members_social_icon_color',
718 [
719 'label' => esc_html__( 'Icon Color', 'essential-addons-for-elementor-lite'),
720 'type' => Controls_Manager::COLOR,
721 'default' => '#f1ba63',
722 'selectors' => [
723 '{{WRAPPER}} .eael-team-member-social-link > a' => 'color: {{VALUE}};',
724 ],
725 ]
726 );
727
728 $this->add_control(
729 'eael_team_members_social_icon_background',
730 [
731 'label' => esc_html__( 'Background Color', 'essential-addons-for-elementor-lite'),
732 'type' => Controls_Manager::COLOR,
733 'default' => '',
734 'selectors' => [
735 '{{WRAPPER}} .eael-team-member-social-link > a' => 'background-color: {{VALUE}};',
736 ],
737 'condition' => [
738 'eael_team_members_social_icons_used_gradient_bg' => ''
739 ]
740 ]
741 );
742 $this->add_group_control(
743 Group_Control_Background::get_type(),
744 [
745 'name' => 'eael_team_members_social_icon_gradient_background',
746 'label' => __( 'Background', 'essential-addons-for-elementor-lite' ),
747 'types' => [ 'classic', 'gradient' ],
748 'selector' => '{{WRAPPER}} .eael-team-member-social-link > a',
749 'condition' => [
750 'eael_team_members_social_icons_used_gradient_bg' => 'yes'
751 ]
752 ]
753 );
754
755
756 $this->add_group_control(
757 Group_Control_Border::get_type(),
758 [
759 'name' => 'eael_team_members_social_icon_border',
760 'selector' => '{{WRAPPER}} .eael-team-member-social-link > a',
761 ]
762 );
763
764 $this->add_control(
765 'eael_team_members_social_icon_border_radius',
766 [
767 'label' => esc_html__( 'Border Radius', 'essential-addons-for-elementor-lite'),
768 'type' => Controls_Manager::SLIDER,
769 'range' => [
770 'px' => [
771 'max' => 100,
772 ],
773 ],
774 'selectors' => [
775 '{{WRAPPER}} .eael-team-member-social-link > a' => 'border-radius: {{SIZE}}px;',
776 ],
777 ]
778 );
779
780 $this->add_group_control(
781 Group_Control_Typography::get_type(),
782 [
783 'name' => 'eael_team_members_social_icon_typography',
784 'selector' => '{{WRAPPER}} .eael-team-member-social-link > a',
785 ]
786 );
787
788
789 $this->end_controls_tab();
790
791 $this->start_controls_tab( 'eael_team_members_social_icon_hover', [ 'label' => esc_html__( 'Hover', 'essential-addons-for-elementor-lite') ] );
792
793 $this->add_control(
794 'eael_team_members_social_icon_hover_color',
795 [
796 'label' => esc_html__( 'Icon Hover Color', 'essential-addons-for-elementor-lite'),
797 'type' => Controls_Manager::COLOR,
798 'default' => '#ad8647',
799 'selectors' => [
800 '{{WRAPPER}} .eael-team-member-social-link > a:hover' => 'color: {{VALUE}};',
801 ],
802 ]
803 );
804
805 $this->add_control(
806 'eael_team_members_social_icon_hover_background',
807 [
808 'label' => esc_html__( 'Hover Background', 'essential-addons-for-elementor-lite'),
809 'type' => Controls_Manager::COLOR,
810 'default' => '',
811 'selectors' => [
812 '{{WRAPPER}} .eael-team-member-social-link > a:hover' => 'background-color: {{VALUE}};',
813 ],
814 'condition' => [
815 'eael_team_members_social_icons_used_gradient_bg' => ''
816 ]
817 ]
818 );
819 $this->add_group_control(
820 Group_Control_Background::get_type(),
821 [
822 'name' => 'eael_team_members_social_icon_hover_gradient_background',
823 'label' => __( 'Background', 'essential-addons-for-elementor-lite' ),
824 'types' => [ 'classic', 'gradient' ],
825 'selector' => '{{WRAPPER}} .eael-team-member-social-link > a:hover',
826 'condition' => [
827 'eael_team_members_social_icons_used_gradient_bg' => 'yes'
828 ]
829 ]
830 );
831
832 $this->add_control(
833 'eael_team_members_social_icon_hover_border_color',
834 [
835 'label' => esc_html__( 'Hover Border Color', 'essential-addons-for-elementor-lite'),
836 'type' => Controls_Manager::COLOR,
837 'default' => '',
838 'selectors' => [
839 '{{WRAPPER}} .eael-team-member-social-link > a:hover' => 'border-color: {{VALUE}};',
840 ],
841 ]
842 );
843
844 $this->end_controls_tab();
845
846 $this->end_controls_tabs();
847
848
849 $this->end_controls_section();
850
851
852 }
853
854
855 protected function render( ) {
856
857 $settings = $this->get_settings_for_display();
858 $team_member_image = $this->get_settings( 'eael_team_member_image' );
859 $team_member_image_url = Group_Control_Image_Size::get_attachment_image_src( $team_member_image['id'], 'thumbnail', $settings );
860 if( empty( $team_member_image_url ) ) : $team_member_image_url = $team_member_image['url']; else: $team_member_image_url = $team_member_image_url; endif;
861 $team_member_classes = $this->get_settings('eael_team_members_preset') . " " . $this->get_settings('eael_team_members_image_rounded');
862
863 ?>
864
865
866 <div id="eael-team-member-<?php echo esc_attr($this->get_id()); ?>" class="eael-team-item <?php echo $team_member_classes; ?>">
867 <div class="eael-team-item-inner">
868 <div class="eael-team-image">
869 <figure>
870 <img src="<?php echo esc_url($team_member_image_url);?>" alt="<?php echo esc_attr( get_post_meta($team_member_image['id'], '_wp_attachment_image_alt', true) ); ?>">
871 </figure>
872 <?php if( 'eael-team-members-social-right' === $settings['eael_team_members_preset'] ) : ?>
873 <?php do_action('eael/team_member_social_right_markup', $settings); ?>
874 <?php endif; ?>
875 </div>
876
877 <div class="eael-team-content">
878 <h3 class="eael-team-member-name"><?php echo HelperClass::eael_wp_kses($settings['eael_team_member_name']); ?></h3>
879 <h4 class="eael-team-member-position"><?php echo HelperClass::eael_wp_kses($settings['eael_team_member_job_title']); ?></h4>
880
881 <?php if( 'eael-team-members-social-bottom' === $settings['eael_team_members_preset'] ) : ?>
882 <?php do_action('eael/team_member_social_botton_markup', $settings); ?>
883 <?php else: ?>
884 <?php if ( ! empty( $settings['eael_team_member_enable_social_profiles'] ) && 'eael-team-members-social-right' !== $settings['eael_team_members_preset'] ): ?>
885 <ul class="eael-team-member-social-profiles">
886 <?php foreach ( $settings['eael_team_member_social_profile_links'] as $item ) : ?>
887 <?php $icon_migrated = isset($item['__fa4_migrated']['social_new']);
888 $icon_is_new = empty($item['social']); ?>
889 <?php if ( ! empty( $item['social'] ) || !empty($item['social_new'])) : ?>
890 <?php $target = $item['link']['is_external'] ? ' target="_blank"' : ''; ?>
891 <li class="eael-team-member-social-link">
892 <a href="<?php echo esc_attr( $item['link']['url'] ); ?>" <?php echo $target; ?>>
893 <?php if ($icon_is_new || $icon_migrated) { ?>
894 <?php if( isset( $item['social_new']['value']['url'] ) ) : ?>
895 <img src="<?php echo esc_attr($item['social_new']['value']['url'] ); ?>" alt="<?php echo esc_attr(get_post_meta($item['social_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>" />
896 <?php else : ?>
897 <i class="<?php echo esc_attr($item['social_new']['value'] ); ?>"></i>
898 <?php endif; ?>
899 <?php } else { ?>
900 <i class="<?php echo esc_attr($item['social'] ); ?>"></i>
901 <?php } ?>
902 </a>
903 </li>
904 <?php endif; ?>
905 <?php endforeach; ?>
906 </ul>
907 <?php endif; ?>
908 <p class="eael-team-text"><?php echo HelperClass::eael_wp_kses($settings['eael_team_member_description']); ?></p>
909 <?php endif; ?>
910 </div>
911 </div>
912 </div>
913 <?php
914 }
915 }
916