PluginProbe
Easy Elements for Elementor – Addons & Website Templates / 1.2.8
Easy Elements for Elementor – Addons & Website Templates v1.2.8
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 / icon-box / icon.php

icon.php in Easy Elements for Elementor – Addons & Website Templates 1.2.8, at widgets/icon-box/icon.php

1,723 lines 61.7 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\Utils;
4 use Elementor\Controls_Manager;
5 use Elementor\Responsive_Control;
6 use Elementor\Group_Control_Image_Size;
7
8 defined( 'ABSPATH' ) || die();
9 class Easyel_Icon_Box__Widget extends \Elementor\Widget_Base {
10
11 public function get_name() {
12 return 'eel-icon-box';
13 }
14
15 public function get_title() {
16 return esc_html__( 'Info Box', 'easy-elements' );
17 }
18
19 public function get_icon() {
20 return 'easyicon easyelIcon-iconbox';
21 }
22
23 public function get_categories() {
24 return [ 'easyelements_category' ];
25 }
26
27 public function get_keywords() {
28 return [ 'box', 'sevice', 'icon', 'icon-box', 'text' ];
29 }
30
31 public function get_style_depends() {
32 return [
33 'eel-icon-box',
34 ];
35 }
36
37
38 protected function register_controls() {
39 $this->start_controls_section(
40 '_section_logo',
41 [
42 'label' => esc_html__( 'Settings', 'easy-elements' ),
43 'tab' => Controls_Manager::TAB_CONTENT,
44 ]
45 );
46
47 $this->add_control(
48 'info_skin',
49 [
50 'label' => esc_html__( 'Skin', 'easy-elements' ),
51 'type' => \Elementor\Controls_Manager::SELECT,
52 'options' => [
53 'default' => esc_html__( 'Skin 01', 'easy-elements' ),
54 'skin-2' => esc_html__( 'Skin 02', 'easy-elements' ),
55 ],
56 'default' => 'default',
57 ]
58 );
59
60 $this->add_control(
61 'icon_type',
62 [
63 'label' => esc_html__( 'Type', 'easy-elements' ),
64 'type' => \Elementor\Controls_Manager::CHOOSE,
65 'options' => [
66 'icon' => [
67 'title' => esc_html__( 'Icon', 'easy-elements' ),
68 'icon' => 'eicon-star',
69 ],
70 'image' => [
71 'title' => esc_html__( 'Image', 'easy-elements' ),
72 'icon' => 'eicon-image-bold',
73 ],
74 ],
75 'default' => 'icon',
76 'toggle' => false,
77 ]
78 );
79
80 $this->add_control(
81 'icon',
82 [
83 'label' => esc_html__( 'Icon', 'easy-elements' ),
84 'type' => \Elementor\Controls_Manager::ICONS,
85 'label_block' => true,
86 'default' => [
87 'value' => 'fas fa-star',
88 'library' => 'fa-solid',
89 ],
90 'condition' => [
91 'icon_type' => 'icon',
92 ],
93 ]
94 );
95
96 $this->add_control(
97 'icon_image',
98 [
99 'label' => esc_html__( 'Upload Image', 'easy-elements' ),
100 'type' => \Elementor\Controls_Manager::MEDIA,
101 'default' => [
102 'url' => \Elementor\Utils::get_placeholder_image_src(),
103 ],
104 'condition' => [
105 'icon_type' => 'image',
106 ],
107 ]
108 );
109
110
111 $this->add_control(
112 'number_title',
113 [
114 'label' => esc_html__( 'Number', 'easy-elements' ),
115 'type' => \Elementor\Controls_Manager::TEXT,
116 'default' => '',
117 'label_block' => true,
118 ]
119 );
120
121 $this->add_control(
122 'number_gradeint',
123 [
124 'label' => esc_html__('Number Show Gradient', 'easy-elements'),
125 'type' => \Elementor\Controls_Manager::SWITCHER,
126 'label_on' => esc_html__('Show', 'easy-elements'),
127 'label_off' => esc_html__('Hide', 'easy-elements'),
128 'return_value' => 'yes',
129 'default' => '',
130 'condition' => [
131 'number_title!' => ''
132 ],
133 ]
134 );
135
136 $this->add_control(
137 'procs_title',
138 [
139 'label' => esc_html__( 'Title', 'easy-elements' ),
140 'type' => \Elementor\Controls_Manager::TEXT,
141 'default' => esc_html__( 'Manufacturing Industrial', 'easy-elements' ),
142 'label_block' => true,
143 ]
144 );
145
146 $this->add_control(
147 '_description',
148 [
149 'label' => esc_html__( 'Description', 'easy-elements' ),
150 'type' => \Elementor\Controls_Manager::TEXTAREA,
151 'default' => esc_html__( 'Optimizing production and supply chain operations and generational transitions', 'easy-elements' ),
152 ]
153 );
154
155 $repeater = new \Elementor\Repeater();
156
157 $repeater->add_control(
158 '_feature_icon',
159 [
160 'label' => esc_html__( 'Icon', 'easy-elements' ),
161 'type' => \Elementor\Controls_Manager::ICONS,
162 'fa4compatibility' => 'icon',
163 'default' => [
164 'value' => 'fas fa-check',
165 'library' => 'fa-solid',
166 ],
167 ]
168 );
169
170 $repeater->add_control(
171 '_feature',
172 [
173 'label' => esc_html__( 'Feature', 'easy-elements' ),
174 'type' => \Elementor\Controls_Manager::TEXT,
175 'default' => esc_html__( 'Manufacturing Industrial', 'easy-elements' ),
176 'label_block' => true,
177 ]
178 );
179
180 $this->add_control(
181 '_features',
182 [
183 'label' => esc_html__( 'Features', 'easy-elements' ),
184 'type' => \Elementor\Controls_Manager::REPEATER,
185 'fields' => $repeater->get_controls(),
186 'condition' => [
187 'info_skin' => 'skin-2'
188 ],
189 'default' => [
190 [
191 '_feature_icon' => [
192 'value' => 'fas fa-check',
193 'library' => 'fa-solid'
194 ],
195 '_feature' => esc_html__( 'Manufacturing Industrial', 'easy-elements' ),
196 ],
197 [
198 '_feature_icon' => [
199 'value' => 'fas fa-check',
200 'library' => 'fa-solid'
201 ],
202 '_feature' => esc_html__( 'Supply Chain', 'easy-elements' ),
203 ],
204 ],
205 'title_field' => '<i class="{{ _feature_icon.value }}"></i> {{{ _feature }}}',
206 ]
207 );
208
209
210 $this->add_control(
211 'link',
212 [
213 'label' => esc_html__('Link', 'easy-elements'),
214 'type' => Controls_Manager::URL,
215 'placeholder' => 'https://example.com',
216 ]
217 );
218
219
220 $this->add_control(
221 'show_read_more',
222 [
223 'label' => esc_html__('Show Read More', 'easy-elements'),
224 'type' => \Elementor\Controls_Manager::SWITCHER,
225 'label_on' => esc_html__('Show', 'easy-elements'),
226 'label_off' => esc_html__('Hide', 'easy-elements'),
227 'return_value' => 'yes',
228 'default' => '',
229 ]
230 );
231
232 $this->add_control(
233 'read_more_type',
234 [
235 'label' => esc_html__('Read More Type', 'easy-elements'),
236 'type' => \Elementor\Controls_Manager::SELECT,
237 'options' => [
238 'read_text' => esc_html__('Text', 'easy-elements'),
239 'read_icon' => esc_html__('Icon', 'easy-elements'),
240 'read_icon_to_text' => esc_html__('Icon Hover to Text Show', 'easy-elements'),
241 ],
242 'default' => 'read_text',
243 'condition' => [
244 'show_read_more' => 'yes',
245 ],
246 ]
247 );
248
249 $this->add_control(
250 'read_more_text',
251 [
252 'label' => esc_html__('Read More Text', 'easy-elements'),
253 'type' => \Elementor\Controls_Manager::TEXT,
254 'default' => esc_html__('Read More', 'easy-elements'),
255 'condition' => [
256 'show_read_more' => 'yes',
257 'read_more_type' => ['read_text','read_icon_to_text'],
258 ],
259 ]
260 );
261
262 $this->add_control(
263 'read_more_icon',
264 [
265 'label' => esc_html__('Read More Icon', 'easy-elements'),
266 'type' => \Elementor\Controls_Manager::ICONS,
267 'condition' => [
268 'show_read_more' => 'yes',
269 'read_more_type' => 'read_icon',
270 ],
271 ]
272 );
273
274 $this->add_control(
275 'read_more_text_icon',
276 [
277 'label' => esc_html__('Text Button Icon', 'easy-elements'),
278 'type' => \Elementor\Controls_Manager::ICONS,
279 'condition' => [
280 'show_read_more' => 'yes',
281 'read_more_type' => ['read_text','read_icon_to_text'],
282 'read_more_text_icon_show' => 'yes',
283 ],
284 ]
285 );
286
287 $this->add_control(
288 'read_more_text_icon_show',
289 [
290 'label' => esc_html__('Show Icon Next to Text', 'easy-elements'),
291 'type' => \Elementor\Controls_Manager::SWITCHER,
292 'label_on' => esc_html__('Show', 'easy-elements'),
293 'label_off' => esc_html__('Hide', 'easy-elements'),
294 'return_value' => 'yes',
295 'default' => 'yes',
296 'condition' => [
297 'show_read_more' => 'yes',
298 'read_more_type' => ['read_text','read_icon_to_text'],
299 ],
300 ]
301 );
302
303 $this->add_control(
304 'title_tag',
305 [
306 'label' => esc_html__( 'Title HTML Tag', 'easy-elements' ),
307 'type' => \Elementor\Controls_Manager::SELECT,
308 'default' => 'h3',
309 'options' => [
310 'h1' => 'H1',
311 'h2' => 'H2',
312 'h3' => 'H3',
313 'h4' => 'H4',
314 'h5' => 'H5',
315 'h6' => 'H6',
316 'div' => 'div',
317 'span' => 'span',
318 'p' => 'p',
319 ],
320 ]
321 );
322
323 $this->end_controls_section();
324
325 $this->start_controls_section(
326 'section_styles_item',
327 [
328 'label' => esc_html__( 'Item', 'easy-elements' ),
329 'tab' => \Elementor\Controls_Manager::TAB_STYLE,
330 ]
331 );
332
333 $this->add_control(
334 'icon_direction',
335 [
336 'label' => esc_html__( 'Direction', 'easy-elements' ),
337 'type' => \Elementor\Controls_Manager::CHOOSE,
338 'default' => 'top',
339 'options' => [
340 'left' => [
341 'title' => esc_html__( 'Left', 'easy-elements' ),
342 'icon' => 'eicon-h-align-left',
343 ],
344 'top' => [
345 'title' => esc_html__( 'Top', 'easy-elements' ),
346 'icon' => 'eicon-v-align-top',
347 ],
348 'right' => [
349 'title' => esc_html__( 'Right', 'easy-elements' ),
350 'icon' => 'eicon-h-align-right',
351 ],
352 ],
353 'toggle' => false,
354 ]
355 );
356
357 // Vertical Alignment Control
358 $this->add_responsive_control(
359 'icon_vertical_alignment',
360 [
361 'label' => esc_html__( 'Vertical Alignment', 'easy-elements' ),
362 'type' => \Elementor\Controls_Manager::CHOOSE,
363 'default' => 'center',
364 'options' => [
365 'flex-start' => [
366 'title' => esc_html__( 'Top', 'easy-elements' ),
367 'icon' => 'eicon-v-align-top',
368 ],
369 'center' => [
370 'title' => esc_html__( 'Middle', 'easy-elements' ),
371 'icon' => 'eicon-v-align-middle',
372 ],
373 'flex-end' => [
374 'title' => esc_html__( 'Bottom', 'easy-elements' ),
375 'icon' => 'eicon-v-align-bottom',
376 ],
377 ],
378 'selectors' => [
379 '{{WRAPPER}} .ee--icon-box.right, {{WRAPPER}} .ee--icon-box.left' => 'align-items: {{VALUE}};',
380 ],
381 'condition' => [
382 'icon_direction' => ['left', 'right'],
383 'info_skin!' => 'skin-2',
384 ],
385 ]
386 );
387
388 $this->add_responsive_control(
389 '_text_align',
390 [
391 'label' => esc_html__( 'Alignment', 'easy-elements' ),
392 'type' => \Elementor\Controls_Manager::CHOOSE,
393 'options' => [
394 'left' => [
395 'title' => esc_html__( 'Left', 'easy-elements' ),
396 'icon' => 'eicon-text-align-left',
397 ],
398 'center' => [
399 'title' => esc_html__( 'Center', 'easy-elements' ),
400 'icon' => 'eicon-text-align-center',
401 ],
402 'right' => [
403 'title' => esc_html__( 'Right', 'easy-elements' ),
404 'icon' => 'eicon-text-align-right',
405 ],
406 ],
407 'default' => 'center',
408 'selectors' => [
409 '{{WRAPPER}} .ee--icon-box, {{WRAPPER}} .eel-pro-number' => 'text-align: {{VALUE}};',
410 ],
411 ]
412 );
413 $this->add_responsive_control('item_spacing', [
414 'label' => __('Item Spacing', 'easy-elements'),
415 'type' => \Elementor\Controls_Manager::SLIDER,
416 'condition' => [
417 'icon_direction' => ['left', 'right'],
418 ],
419 'selectors' => [
420 '{{WRAPPER}} .ee--icon-box.right, {{WRAPPER}} .ee--icon-box.left' => 'gap: {{SIZE}}px;',
421 ],
422 ]);
423
424 $this->start_controls_tabs('item_background_tabs');
425
426 $this->start_controls_tab('item_background_normal', [
427 'label' => __('Normal', 'easy-elements'),
428 ]);
429
430 $this->add_group_control(
431 \Elementor\Group_Control_Background::get_type(),
432 [
433 'name' => 'item_normal_bg',
434 'label' => __('Background', 'easy-elements'),
435 'types' => ['classic', 'gradient'],
436 'selector' => '{{WRAPPER}} .ee--icon-box',
437 ]
438 );
439
440 $this->add_group_control(
441 \Elementor\Group_Control_Border::get_type(),
442 [
443 'name' => 'item_normal_border',
444 'label' => __('Border', 'easy-elements'),
445 'selector' => '{{WRAPPER}} .ee--icon-box',
446 ]
447 );
448
449 $this->add_group_control(
450 \Elementor\Group_Control_Box_Shadow::get_type(),
451 [
452 'name' => 'item_normal_box_shadow',
453 'label' => __('Box Shadow', 'easy-elements'),
454 'selector' => '{{WRAPPER}} .ee--icon-box',
455 ]
456 );
457
458 $this->add_responsive_control(
459 'item_normal_border_radius',
460 [
461 'label' => __('Border Radius', 'easy-elements'),
462 'type' => \Elementor\Controls_Manager::DIMENSIONS,
463 'size_units' => ['px', '%', 'em'],
464 'selectors' => [
465 '{{WRAPPER}} .ee--icon-box' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
466 '{{WRAPPER}} .ee--icon-box::before' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
467 ],
468 ]
469 );
470
471 $this->add_responsive_control(
472 'item_normal_padding',
473 [
474 'label' => __('Padding', 'easy-elements'),
475 'type' => \Elementor\Controls_Manager::DIMENSIONS,
476 'size_units' => ['px', 'em', '%'],
477 'selectors' => [
478 '{{WRAPPER}} .ee--icon-box' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
479 ],
480 ]
481 );
482
483 $this->add_responsive_control(
484 'item_normal_margin',
485 [
486 'label' => __('Margin', 'easy-elements'),
487 'type' => \Elementor\Controls_Manager::DIMENSIONS,
488 'size_units' => ['px', 'em', '%'],
489 'selectors' => [
490 '{{WRAPPER}} .ee--icon-box' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
491 ],
492 ]
493 );
494
495 $this->end_controls_tab();
496
497 $this->start_controls_tab('item_background_hover', [
498 'label' => __('Hover', 'easy-elements'),
499 ]);
500
501 $this->add_control(
502 'item_bg_hover_styles',
503 [
504 'label' => esc_html__( 'Background Direction', 'easy-elements' ),
505 'type' => \Elementor\Controls_Manager::SELECT,
506 'default' => 'default',
507 'options' => [
508 'default' => esc_html__( 'Default', 'easy-elements' ),
509 'left' => esc_html__( 'Left', 'easy-elements' ),
510 'right' => esc_html__( 'Right', 'easy-elements' ),
511 'top' => esc_html__( 'Top', 'easy-elements' ),
512 'bottom' => esc_html__( 'Bottom', 'easy-elements' ),
513 'middle' => esc_html__( 'Middle', 'easy-elements' ),
514 ],
515 ]
516 );
517
518 $this->add_group_control(
519 \Elementor\Group_Control_Background::get_type(),
520 [
521 'name' => 'item_hover_bg',
522 'label' => __('Background', 'easy-elements'),
523 'types' => ['classic', 'gradient'],
524 'selector' => '{{WRAPPER}} .ee--icon-box:hover::before',
525 ]
526 );
527
528 $this->add_group_control(
529 \Elementor\Group_Control_Border::get_type(),
530 [
531 'name' => 'item_border_hover',
532 'label' => __('Border', 'easy-elements'),
533 'selector' => '{{WRAPPER}} .ee--icon-box:hover',
534 ]
535 );
536
537 $this->add_group_control(
538 \Elementor\Group_Control_Box_Shadow::get_type(),
539 [
540 'name' => 'item_shadow_hover',
541 'label' => __('Box Shadow', 'easy-elements'),
542 'selector' => '{{WRAPPER}} .ee--icon-box:hover',
543 ]
544 );
545
546 $this->end_controls_tab();
547 $this->end_controls_tabs();
548 $this->end_controls_section();
549
550 $this->start_controls_section(
551 'section_style_image',
552 [
553 'label' => esc_html__( 'Image', 'easy-elements' ),
554 'tab' => Controls_Manager::TAB_STYLE,
555 'condition' => [
556 'icon_type' => 'image',
557 ],
558 ]
559 );
560
561 $this->add_responsive_control(
562 'image_size',
563 [
564 'label' => esc_html__( 'Size', 'easy-elements' ),
565 'type' => Controls_Manager::SLIDER,
566 'range' => [
567 'px' => [
568 'min' => 10,
569 'max' => 150,
570 ],
571 ],
572 'selectors' => [
573 '{{WRAPPER}} .ee--icon-box .eel-icon.eel-icon-image img' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
574 ],
575 ]
576 );
577
578 $this->add_responsive_control(
579 'image_margin',
580 [
581 'label' => esc_html__( 'Margin', 'easy-elements' ),
582 'type' => \Elementor\Controls_Manager::DIMENSIONS,
583 'size_units' => [ 'px', '%', 'em', 'rem' ],
584 'selectors' => [
585 '{{WRAPPER}} .ee--icon-box .eel-icon.eel-icon-image' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
586 ],
587 ]
588 );
589
590 $this->add_responsive_control(
591 'image_padding',
592 [
593 'label' => esc_html__( 'Padding', 'easy-elements' ),
594 'type' => \Elementor\Controls_Manager::DIMENSIONS,
595 'size_units' => [ 'px', '%', 'em', 'rem' ],
596 'selectors' => [
597 '{{WRAPPER}} .ee--icon-box .eel-icon.eel-icon-image img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
598 ],
599 ]
600 );
601
602 $this->add_control(
603 'image__border_radius',
604 [
605 'label' => esc_html__( 'Border Radius', 'easy-elements' ),
606 'type' => \Elementor\Controls_Manager::DIMENSIONS,
607 'size_units' => [ 'px', '%' ],
608 'selectors' => [
609 '{{WRAPPER}} .ee--icon-box .eel-icon.eel-icon-image img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
610 ],
611 ]
612 );
613
614 $this->add_group_control(
615 \Elementor\Group_Control_Border::get_type(),
616 [
617 'name' => 'image_border',
618 'selector' => '{{WRAPPER}} .ee--icon-box .eel-icon.eel-icon-image img',
619 ]
620 );
621
622 // Vertical Alignment Control
623 $this->add_responsive_control(
624 'img_vertical_alignment',
625 [
626 'label' => esc_html__( 'Vertical Alignment', 'easy-elements' ),
627 'type' => \Elementor\Controls_Manager::CHOOSE,
628 'default' => 'center',
629 'options' => [
630 'flex-start' => [
631 'title' => esc_html__( 'Top', 'easy-elements' ),
632 'icon' => 'eicon-v-align-top',
633 ],
634 'center' => [
635 'title' => esc_html__( 'Middle', 'easy-elements' ),
636 'icon' => 'eicon-v-align-middle',
637 ],
638 'flex-end' => [
639 'title' => esc_html__( 'Bottom', 'easy-elements' ),
640 'icon' => 'eicon-v-align-bottom',
641 ],
642 ],
643 'selectors' => [
644 '{{WRAPPER}} .ee--icon-box.right, {{WRAPPER}} .ee--icon-box.left' => 'align-items: {{VALUE}};',
645 ],
646 'condition' => [
647 'icon_direction' => ['left', 'right'],
648 ],
649 ]
650 );
651
652
653 $this->add_responsive_control(
654 '_textimg_align',
655 [
656 'label' => esc_html__( 'Alignment', 'easy-elements' ),
657 'type' => \Elementor\Controls_Manager::CHOOSE,
658 'options' => [
659 'left' => [
660 'title' => esc_html__( 'Left', 'easy-elements' ),
661 'icon' => 'eicon-text-align-left',
662 ],
663 'center' => [
664 'title' => esc_html__( 'Center', 'easy-elements' ),
665 'icon' => 'eicon-text-align-center',
666 ],
667 'right' => [
668 'title' => esc_html__( 'Right', 'easy-elements' ),
669 'icon' => 'eicon-text-align-right',
670 ],
671 ],
672 'default' => 'center',
673 'selectors' => [
674 '{{WRAPPER}} .ee--icon-box, {{WRAPPER}} .eel-pro-number' => 'text-align: {{VALUE}};',
675 ],
676 ]
677 );
678
679 $this->end_controls_section();
680
681 $this->start_controls_section(
682 'section_style_icon',
683 [
684 'label' => esc_html__( 'Icon', 'easy-elements' ),
685 'tab' => Controls_Manager::TAB_STYLE,
686 'condition' => [
687 'icon_type' => 'icon',
688 ],
689 ]
690 );
691
692 $this->start_controls_tabs('background_tabs');
693
694 $this->start_controls_tab('background_normal', [
695 'label' => __('Normal', 'easy-elements'),
696 ]);
697
698 $this->add_control(
699 'icon_color',
700 [
701 'label' => esc_html__( 'Color', 'easy-elements' ),
702 'type' => Controls_Manager::COLOR,
703 'selectors' => [
704 '{{WRAPPER}} .ee--icon-box .eel-icon' => 'color: {{VALUE}}; fill-opacity: 1;',
705 '{{WRAPPER}} .ee--icon-box .eel-icon svg' => 'fill: {{VALUE}}; fill-opacity: 1;',
706 '{{WRAPPER}} .ee--icon-box .eel-icon svg path' => 'fill: {{VALUE}}; fill-opacity: 1;',
707 ],
708 ]
709 );
710
711 $this->add_control(
712 'icon_bg_color',
713 [
714 'label' => esc_html__( 'Background', 'easy-elements' ),
715 'type' => Controls_Manager::COLOR,
716 'selectors' => [
717 '{{WRAPPER}} .ee--icon-box .eel-icon' => 'background-color: {{VALUE}};',
718 ],
719 ]
720 );
721
722 $this->add_group_control(
723 \Elementor\Group_Control_Background::get_type(),
724 [
725 'name' => 'background_gradiant',
726 'types' => [ 'classic', 'gradient'],
727 'selector' => '{{WRAPPER}} .ee--icon-box .eel-icon',
728 ]
729 );
730
731 $this->add_group_control(
732 \Elementor\Group_Control_Typography::get_type(),
733 [
734 'name' => 'icon_typography',
735 'label' => esc_html__( 'Icon Typography', 'easy-elements' ),
736 'selector' => '{{WRAPPER}} .ee--icon-box .eel-icon',
737 ]
738 );
739
740 $this->add_group_control(
741 \Elementor\Group_Control_Border::get_type(),
742 [
743 'name' => 'icon_border',
744 'selector' => '{{WRAPPER}} .ee--icon-box .eel-icon',
745 ]
746 );
747
748
749 $this->add_control(
750 'icon__border_radius',
751 [
752 'label' => esc_html__( 'Border Radius', 'easy-elements' ),
753 'type' => \Elementor\Controls_Manager::DIMENSIONS,
754 'size_units' => [ 'px', '%' ],
755 'selectors' => [
756 '{{WRAPPER}} .ee--icon-box .eel-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
757 ],
758 ]
759 );
760
761 // gradient border color
762 $this->add_control(
763 'gradient_border',
764 [
765 'label' => esc_html__( 'Gradient Border', 'easy-elements' ),
766 'type' => \Elementor\Controls_Manager::SWITCHER,
767 'label_on' => esc_html__( 'Show', 'easy-elements' ),
768 'label_off' => esc_html__( 'Hide', 'easy-elements' ),
769 'return_value' => 'yes',
770 'default' => 'no',
771 ]
772 );
773
774 $this->add_responsive_control(
775 'icon_margin',
776 [
777 'label' => esc_html__( 'Margin', 'easy-elements' ),
778 'type' => \Elementor\Controls_Manager::DIMENSIONS,
779 'size_units' => [ 'px', '%', 'em', 'rem' ],
780 'selectors' => [
781 '{{WRAPPER}} .ee--icon-box .eel-icon' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
782 ],
783 ]
784 );
785
786 $this->add_responsive_control(
787 'icon_box_size',
788 [
789 'label' => esc_html__( 'Box Size', 'easy-elements' ),
790 'type' => Controls_Manager::SLIDER,
791 'range' => [
792 'px' => [
793 'min' => 10,
794 'max' => 150,
795 ],
796 ],
797 'selectors' => [
798 '{{WRAPPER}} .ee--icon-box .eel-icon' => 'min-width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
799 ],
800 ]
801 );
802
803 $this->add_group_control(
804 \Elementor\Group_Control_Box_Shadow::get_type(),
805 [
806 'name' => 'icon_box_shadow',
807 'label' => esc_html__( 'Box Shadow', 'easy-elements' ),
808 'selector' => '{{WRAPPER}} .ee--icon-box .eel-icon',
809 ]
810 );
811
812 $this->add_control(
813 'icon_rotate',
814 [
815 'label' => esc_html__( 'Rotate', 'easy-elements' ),
816 'type' => \Elementor\Controls_Manager::SLIDER,
817 'size_units' => [ 'deg' ],
818 'range' => [
819 'deg' => [
820 'min' => 0,
821 'max' => 360,
822 'step' => 1,
823 ],
824 ],
825 'selectors' => [
826 '{{WRAPPER}} .ee--icon-box .eel-icon svg, {{WRAPPER}} .ee--icon-box .eel-icon i' => 'transform: rotate({{SIZE}}deg);',
827 ],
828 ]
829 );
830 $this->end_controls_tab();
831
832 $this->start_controls_tab('background_hover', [
833 'label' => __('Hover', 'easy-elements'),
834 ]);
835
836 $this->add_control(
837 'icon_hover_color',
838 [
839 'label' => esc_html__( 'Color', 'easy-elements' ),
840 'type' => Controls_Manager::COLOR,
841 'selectors' => [
842 '{{WRAPPER}} .ee--icon-box:hover .eel-icon' => 'color: {{VALUE}};',
843 '{{WRAPPER}} .ee--icon-box:hover .eel-icon svg path' => 'fill: {{VALUE}};',
844 ],
845
846 ]
847 );
848
849 $this->add_control(
850 'icon_hover_bg_color',
851 [
852 'label' => esc_html__( 'Background', 'easy-elements' ),
853 'type' => Controls_Manager::COLOR,
854 'selectors' => [
855 '{{WRAPPER}} .ee--icon-box:hover .eel-icon' => 'background-color: {{VALUE}};',
856 ],
857 ]
858 );
859
860 $this->add_group_control(
861 \Elementor\Group_Control_Background::get_type(),
862 [
863 'name' => 'icon_hover_bg_gradient',
864 'types' => [ 'classic', 'gradient'],
865 'selector' => '{{WRAPPER}} .ee--icon-box:hover .eel-icon',
866 ]
867 );
868 $this->end_controls_tab();
869 $this->end_controls_tabs();
870 $this->end_controls_section();
871
872 $this->start_controls_section(
873 'section_style_number',
874 [
875 'label' => esc_html__( 'Number', 'easy-elements' ),
876 'tab' => Controls_Manager::TAB_STYLE,
877 'condition' => [
878 'number_title!' => '',
879 ],
880 ]
881 );
882
883 $this->add_control(
884 'number_title_color',
885 [
886 'label' => esc_html__( 'Color', 'easy-elements' ),
887 'type' => \Elementor\Controls_Manager::COLOR,
888 'selectors' => [
889 '{{WRAPPER}} .eel-pro-number' => 'color: {{VALUE}};',
890 ],
891 'condition' => [
892 'number_gradeint' => '',
893 ],
894 ]
895 );
896
897 $this->add_control(
898 'number_bg_color',
899 [
900 'label' => esc_html__( 'Background', 'easy-elements' ),
901 'type' => \Elementor\Controls_Manager::COLOR,
902 'selectors' => [
903 '{{WRAPPER}} .eel-pro-number' => 'background: {{VALUE}};',
904 ],
905 ]
906 );
907
908 $this->add_group_control(
909 \Elementor\Group_Control_Background::get_type(),
910 [
911 'name' => 'number_title_background',
912 'label' => esc_html__( 'Background Color', 'easy-elements' ),
913 'types' => [ 'classic', 'gradient' ],
914 'selector' => '{{WRAPPER}} .eel-pro-number',
915 'condition' => [
916 'number_gradeint' => 'yes',
917 'number_title!' => ''
918 ],
919 ]
920 );
921
922 $this->add_group_control(
923 \Elementor\Group_Control_Typography::get_type(),
924 [
925 'name' => 'number_title_typography',
926 'label' => esc_html__( 'Typography', 'easy-elements' ),
927 'selector' => '{{WRAPPER}} .eel-pro-number',
928 ]
929 );
930
931 $this->add_group_control(
932 \Elementor\Group_Control_Text_Stroke::get_type(),
933 [
934 'name' => 'number_title_text_stroke',
935 'selector' => '{{WRAPPER}} .eel-pro-number',
936 ]
937 );
938
939 $this->add_group_control(
940 \Elementor\Group_Control_Border::get_type(),
941 [
942 'name' => 'number_border',
943 'selector' => '{{WRAPPER}} .eel-pro-number',
944 ]
945 );
946
947 $this->add_control(
948 'number_border_radius',
949 [
950 'label' => esc_html__( 'Border Radius', 'easy-elements' ),
951 'type' => \Elementor\Controls_Manager::DIMENSIONS,
952 'size_units' => [ 'px', '%' ],
953 'selectors' => [
954 '{{WRAPPER}} .eel-pro-number' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
955 ],
956 ]
957 );
958
959 $this->add_responsive_control(
960 'number_padding',
961 [
962 'label' => esc_html__( 'Padding', 'easy-elements' ),
963 'type' => \Elementor\Controls_Manager::DIMENSIONS,
964 'size_units' => [ 'px', '%', 'em', 'rem' ],
965 'selectors' => [
966 '{{WRAPPER}} .eel-pro-number' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
967 ],
968 ]
969 );
970
971 $this->add_responsive_control(
972 'number_margin',
973 [
974 'label' => esc_html__( 'Margin', 'easy-elements' ),
975 'type' => \Elementor\Controls_Manager::DIMENSIONS,
976 'size_units' => [ 'px', '%', 'em', 'rem' ],
977 'selectors' => [
978 '{{WRAPPER}} .eel-pro-number' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
979 ],
980 ]
981 );
982
983 $this->add_responsive_control(
984 'box_size',
985 [
986 'label' => esc_html__( 'Size', 'easy-elements' ),
987 'type' => Controls_Manager::SLIDER,
988 'range' => [
989 'px' => [
990 'min' => 10,
991 'max' => 150,
992 ],
993 ],
994 'selectors' => [
995 '{{WRAPPER}} .eel-pro-number, {{WRAPPER}} .eel-pro-number *' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}}; line-height: {{SIZE}}{{UNIT}};',
996 ],
997 ]
998 );
999
1000 $this->end_controls_section();
1001
1002 $this->start_controls_section(
1003 'section_style_title',
1004 [
1005 'label' => esc_html__( 'Title', 'easy-elements' ),
1006 'tab' => Controls_Manager::TAB_STYLE,
1007 ]
1008 );
1009
1010 $this->start_controls_tabs('title_style');
1011
1012 $this->start_controls_tab('title_normal', [
1013 'label' => __('Normal', 'easy-elements'),
1014 ]);
1015
1016 $this->add_control(
1017 'title_color',
1018 [
1019 'label' => esc_html__( 'Color', 'easy-elements' ),
1020 'type' => Controls_Manager::COLOR,
1021 'selectors' => [
1022 '{{WRAPPER}} .icon-box-title' => 'color: {{VALUE}}; transition: all 0.3s ease-in;',
1023 ],
1024 ]
1025 );
1026
1027 $this->add_group_control(
1028 \Elementor\Group_Control_Typography::get_type(),
1029 [
1030 'name' => '_title_typography',
1031 'label' => esc_html__( 'Typography', 'easy-elements' ),
1032 'selector' => '{{WRAPPER}} .icon-box-title',
1033 ]
1034 );
1035
1036 $this->add_responsive_control(
1037 'title_margin',
1038 [
1039 'label' => esc_html__( 'Margin', 'easy-elements' ),
1040 'type' => \Elementor\Controls_Manager::DIMENSIONS,
1041 'size_units' => [ 'px', '%', 'em', 'rem' ],
1042 'selectors' => [
1043 '{{WRAPPER}} .ee--icon-box .icon-box-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1044 ],
1045 ]
1046 );
1047
1048 $this->end_controls_tab();
1049
1050 $this->start_controls_tab('title_hover', [
1051 'label' => __('Hover', 'easy-elements'),
1052 ]);
1053
1054 $this->add_control(
1055 'title_hover_color',
1056 [
1057 'label' => esc_html__( 'Color', 'easy-elements' ),
1058 'type' => Controls_Manager::COLOR,
1059 'selectors' => [
1060 '{{WRAPPER}} .ee--icon-box:hover .icon-box-title' => 'color: {{VALUE}};',
1061 ],
1062 ]
1063 );
1064
1065 $this->end_controls_tab();
1066
1067 $this->end_controls_tabs();
1068
1069 $this->end_controls_section();
1070
1071 $this->start_controls_section(
1072 'section_style_description',
1073 [
1074 'label' => esc_html__( 'Description', 'easy-elements' ),
1075 'tab' => Controls_Manager::TAB_STYLE,
1076 ]
1077 );
1078
1079 $this->start_controls_tabs('desc_style');
1080
1081 $this->start_controls_tab('desc_normal', [
1082 'label' => __('Normal', 'easy-elements'),
1083 ]);
1084
1085 $this->add_control(
1086 'desc_color',
1087 [
1088 'label' => esc_html__( 'Color', 'easy-elements' ),
1089 'type' => Controls_Manager::COLOR,
1090 'selectors' => [
1091 '{{WRAPPER}} .icon-box-description' => 'color: {{VALUE}};',
1092 ],
1093 ]
1094 );
1095 $this->add_group_control(
1096 \Elementor\Group_Control_Typography::get_type(),
1097 [
1098 'name' => 'box_desc_typography',
1099 'label' => esc_html__( 'Typography', 'easy-elements' ),
1100 'selector' => '{{WRAPPER}} .icon-box-description',
1101 ]
1102 );
1103 $this->add_responsive_control(
1104 'description_margin',
1105 [
1106 'label' => esc_html__( 'Margin', 'easy-elements' ),
1107 'type' => \Elementor\Controls_Manager::DIMENSIONS,
1108 'size_units' => [ 'px', '%', 'em', 'rem' ],
1109 'selectors' => [
1110 '{{WRAPPER}} .ee--icon-box .icon-box-description' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1111 ],
1112 ]
1113 );
1114
1115 $this->end_controls_tab();
1116
1117 $this->start_controls_tab('desc_hover', [
1118 'label' => __('Hover', 'easy-elements'),
1119 ]);
1120
1121 $this->add_control(
1122 'desc_hover_color',
1123 [
1124 'label' => esc_html__( 'Color', 'easy-elements' ),
1125 'type' => Controls_Manager::COLOR,
1126 'selectors' => [
1127 '{{WRAPPER}} .ee--icon-box:hover .icon-box-description' => 'color: {{VALUE}};',
1128 ],
1129 ]
1130 );
1131 $this->end_controls_tab();
1132
1133 $this->end_controls_tabs();
1134
1135 $this->end_controls_section();
1136
1137
1138
1139 $this->start_controls_section(
1140 'section_feature_style',
1141 [
1142 'label' => esc_html__( 'Features', 'easy-elements' ),
1143 'tab' => Controls_Manager::TAB_STYLE,
1144 ]
1145 );
1146
1147 $this->start_controls_tabs( 'feature_style_tabs' );
1148
1149 $this->start_controls_tab(
1150 'feature_style_normal',
1151 [
1152 'label' => esc_html__( 'Normal', 'easy-elements' ),
1153 ]
1154 );
1155
1156 $this->add_control(
1157 'feature_style_color',
1158 [
1159 'label' => esc_html__( 'Text Color', 'easy-elements' ),
1160 'type' => Controls_Manager::COLOR,
1161 'selectors' => [
1162 '{{WRAPPER}} .ee--icon-box .feature-item span' => 'color: {{VALUE}};',
1163 ],
1164 ]
1165 );
1166
1167 $this->add_control(
1168 'feature_icon_color',
1169 [
1170 'label' => esc_html__( 'Icon Color', 'easy-elements' ),
1171 'type' => Controls_Manager::COLOR,
1172 'selectors' => [
1173 '{{WRAPPER}} .ee--icon-box .feature-item i' => 'color: {{VALUE}};',
1174 '{{WRAPPER}} .ee--icon-box .feature-item svg' => 'fill: {{VALUE}};',
1175 '{{WRAPPER}} .ee--icon-box .feature-item svg path' => 'fill: {{VALUE}};',
1176 ],
1177 ]
1178 );
1179
1180 $this->end_controls_tab();
1181
1182 $this->start_controls_tab(
1183 'feature_style_hover',
1184 [
1185 'label' => esc_html__( 'Hover', 'easy-elements' ),
1186 ]
1187 );
1188
1189 $this->add_control(
1190 'feature_style_color_hover',
1191 [
1192 'label' => esc_html__( 'Text Color', 'easy-elements' ),
1193 'type' => Controls_Manager::COLOR,
1194 'selectors' => [
1195 '{{WRAPPER}} .ee--icon-box:hover .feature-item span' => 'color: {{VALUE}};',
1196 ],
1197 ]
1198 );
1199
1200 $this->add_control(
1201 'feature_icon_color_hover',
1202 [
1203 'label' => esc_html__( 'Icon Color', 'easy-elements' ),
1204 'type' => Controls_Manager::COLOR,
1205 'selectors' => [
1206 '{{WRAPPER}} .ee--icon-box:hover .feature-item i' => 'color: {{VALUE}};',
1207 '{{WRAPPER}} .ee--icon-box:hover .feature-item svg' => 'fill: {{VALUE}};',
1208 '{{WRAPPER}} .ee--icon-box:hover .feature-item svg path' => 'fill: {{VALUE}};',
1209 ],
1210 ]
1211 );
1212 $this->end_controls_tab();
1213
1214 $this->end_controls_tabs();
1215
1216 $this->add_group_control(
1217 \Elementor\Group_Control_Typography::get_type(),
1218 [
1219 'name' => 'feature_style_typography',
1220 'selector' => '{{WRAPPER}} .ee--icon-box .feature-item span',
1221 ]
1222 );
1223
1224 $this->add_responsive_control(
1225 'feature_style_margin',
1226 [
1227 'label' => esc_html__( 'Margin', 'easy-elements' ),
1228 'type' => Controls_Manager::DIMENSIONS,
1229 'size_units' => [ 'px', '%', 'em', 'rem' ],
1230 'selectors' => [
1231 '{{WRAPPER}} .ee--icon-box .feature-item' =>
1232 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1233 ],
1234 ]
1235 );
1236
1237 $this->add_responsive_control(
1238 'feature_icon_gap',
1239 [
1240 'label' => esc_html__( 'Icon Gap', 'easy-elements' ),
1241 'type' => Controls_Manager::SLIDER,
1242 'range' => [
1243 'px' => [
1244 'min' => 0,
1245 'max' => 100,
1246 ],
1247 ],
1248 'selectors' => [
1249 '{{WRAPPER}} .feature-item .eel-info-icon' => 'margin-right: {{SIZE}}{{UNIT}};',
1250 '{{WRAPPER}} .feature-item svg' => 'margin-right: {{SIZE}}{{UNIT}};',
1251 ],
1252 ]
1253 );
1254 $this->add_responsive_control(
1255 'feature_icon_size',
1256 [
1257 'label' => esc_html__( 'Icon Size', 'easy-elements' ),
1258 'type' => Controls_Manager::SLIDER,
1259 'range' => [
1260 'px' => [
1261 'min' => 10,
1262 'max' => 100,
1263 ],
1264 ],
1265 'selectors' => [
1266 '{{WRAPPER}} .feature-item .eel-info-icon' => 'font-size: {{SIZE}}{{UNIT}};',
1267 '{{WRAPPER}} .feature-item svg' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
1268 ],
1269 ]
1270 );
1271
1272 $this->end_controls_section();
1273
1274
1275
1276
1277
1278
1279 $this->start_controls_section(
1280 'section_button_style',
1281 [
1282 'label' => esc_html__( 'Button', 'easy-elements' ),
1283 'tab' => Controls_Manager::TAB_STYLE,
1284 'condition' => [
1285 'show_read_more' => 'yes',
1286 ]
1287 ]
1288 );
1289
1290 $this->start_controls_tabs('button_tabs_style');
1291
1292 $this->start_controls_tab('button_normal_tab_style', [
1293 'label' => __('Normal', 'easy-elements'),
1294 ]);
1295
1296 $this->add_control(
1297 'read_more_icon_color',
1298 [
1299 'label' => esc_html__('Icon Color', 'easy-elements'),
1300 'type' => \Elementor\Controls_Manager::COLOR,
1301 'selectors' => [
1302 '{{WRAPPER}} .eel-read-more-icon svg' => 'fill: {{VALUE}};',
1303 '{{WRAPPER}} .eel-read-more-icon svg path' => 'fill: {{VALUE}};',
1304 '{{WRAPPER}} .eel-read-more-icon i' => 'color: {{VALUE}};',
1305 ],
1306 'condition' => [
1307 'show_read_more' => 'yes',
1308 'read_more_type' => 'read_icon',
1309 ],
1310 ]
1311 );
1312
1313 $this->add_control(
1314 'read_more_icon_bg_color',
1315 [
1316 'label' => esc_html__('Icon Background Color', 'easy-elements'),
1317 'type' => \Elementor\Controls_Manager::COLOR,
1318 'selectors' => [
1319 '{{WRAPPER}} .ee--icon-box .eel-read-more-icon' => 'background-color: {{VALUE}};',
1320 ],
1321 'condition' => [
1322 'show_read_more' => 'yes',
1323 'read_more_type' => 'read_icon',
1324 ],
1325 ]
1326 );
1327
1328 $this->add_responsive_control(
1329 'read_more_icon_padding',
1330 [
1331 'label' => esc_html__('Padding', 'easy-elements'),
1332 'type' => \Elementor\Controls_Manager::DIMENSIONS,
1333 'size_units' => [ 'px', 'em', '%' ],
1334 'selectors' => [
1335 '{{WRAPPER}} .ee--icon-box .eel-read-more-icon' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1336 ],
1337 'condition' => [
1338 'show_read_more' => 'yes',
1339 'read_more_type' => 'read_icon',
1340 ],
1341 ]
1342 );
1343
1344 $this->add_control(
1345 'border_radius_icon',
1346 [
1347 'label' => __('Border Radius', 'easy-elements'),
1348 'type' => \Elementor\Controls_Manager::DIMENSIONS,
1349 'size_units' => ['px', '%', 'em'],
1350 'selectors' => [
1351 '{{WRAPPER}} .ee--icon-box .eel-read-more-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1352 ],
1353 'condition' => [
1354 'show_read_more' => 'yes',
1355 'read_more_type' => 'read_icon',
1356 ],
1357 ]
1358 );
1359
1360 $this->add_responsive_control(
1361 'read_more_icon_size',
1362 [
1363 'label' => esc_html__('Icon Size', 'easy-elements'),
1364 'type' => \Elementor\Controls_Manager::SLIDER,
1365 'range' => [
1366 'px' => [
1367 'min' => 10,
1368 'max' => 100,
1369 ],
1370 ],
1371 'selectors' => [
1372 '{{WRAPPER}} .eel-read-more-icon svg' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
1373 '{{WRAPPER}} .eel-read-more-icon i' => 'font-size: {{SIZE}}{{UNIT}};',
1374 ],
1375 'condition' => [
1376 'show_read_more' => 'yes',
1377 'read_more_type' => 'read_icon',
1378 ],
1379 ]
1380 );
1381
1382
1383 $this->add_group_control(
1384 \Elementor\Group_Control_Typography::get_type(),
1385 [
1386 'name' => 'read_m_read_mr_typography',
1387 'label' => esc_html__( 'Typography', 'easy-elements' ),
1388 'selector' => '{{WRAPPER}} .eel-read-more-text',
1389 'condition' => [
1390 'show_read_more' => 'yes',
1391 'read_more_type' => ['read_text','read_icon_to_text'],
1392 ],
1393 ]
1394 );
1395
1396 $this->add_control(
1397 'read_more_text_color',
1398 [
1399 'label' => esc_html__('Text Color', 'easy-elements'),
1400 'type' => \Elementor\Controls_Manager::COLOR,
1401 'selectors' => [
1402 '{{WRAPPER}} .eel-read-more-text' => 'color: {{VALUE}};',
1403 '{{WRAPPER}} .eel-read-more-text svg' => 'fill: {{VALUE}};',
1404 '{{WRAPPER}} .eel-read-more-text svg path' => 'fill: {{VALUE}};',
1405 ],
1406 'condition' => [
1407 'show_read_more' => 'yes',
1408 'read_more_type' => ['read_text','read_icon_to_text'],
1409 ],
1410 ]
1411 );
1412
1413 $this->add_control(
1414 'read_more_text_bg_color',
1415 [
1416 'label' => esc_html__('Background Color', 'easy-elements'),
1417 'type' => \Elementor\Controls_Manager::COLOR,
1418 'selectors' => [
1419 '{{WRAPPER}} .eel-read-more-text' => 'background-color: {{VALUE}};',
1420 ],
1421 'condition' => [
1422 'show_read_more' => 'yes',
1423 'read_more_type' => ['read_text','read_icon_to_text'],
1424 ],
1425 ]
1426 );
1427
1428 $this->add_group_control(
1429 \Elementor\Group_Control_Border::get_type(),
1430 [
1431 'name' => 'read_more_text_border',
1432 'label' => esc_html__('Border', 'easy-elements'),
1433 'selector' => '{{WRAPPER}} .eel-read-more-text, {{WRAPPER}} .eel-read-more-icon',
1434 'condition' => [
1435 'show_read_more' => 'yes',
1436 ],
1437 ]
1438 );
1439
1440 $this->add_responsive_control(
1441 'top_btm',
1442 [
1443 'label' => esc_html__( 'Top/Bottom', 'easy-elements' ),
1444 'type' => \Elementor\Controls_Manager::SLIDER,
1445 'size_units' => [ 'px', '%' ],
1446 'range' => [
1447 'px' => [
1448 'min' => -100,
1449 'max' => 100,
1450 ],
1451 '%' => [
1452 'min' => -100,
1453 'max' => 100,
1454 ],
1455 ],
1456 'selectors' => [
1457 '{{WRAPPER}} .eel-read-more-text-icon' => 'top: {{SIZE}}{{UNIT}}; position: relative;',
1458 ],
1459 'condition' => [
1460 'show_read_more' => 'yes',
1461 'read_more_type' => ['read_text','read_icon_to_text'],
1462 'read_more_text_icon_show' => 'yes',
1463 ],
1464 ]
1465 );
1466
1467 $this->add_responsive_control(
1468 'icon_left_right',
1469 [
1470 'label' => esc_html__( 'Left/Right', 'easy-elements' ),
1471 'type' => \Elementor\Controls_Manager::SLIDER,
1472 'size_units' => [ 'px', '%' ],
1473 'range' => [
1474 'px' => [
1475 'min' => -100,
1476 'max' => 100,
1477 ],
1478 '%' => [
1479 'min' => -100,
1480 'max' => 100,
1481 ],
1482 ],
1483 'selectors' => [
1484 '{{WRAPPER}} .eel-read-more-text-icon' => 'left: {{SIZE}}{{UNIT}}; position: relative;',
1485 ],
1486 'condition' => [
1487 'show_read_more' => 'yes',
1488 'read_more_type' => ['read_text','read_icon_to_text'],
1489 'read_more_text_icon_show' => 'yes',
1490 ],
1491 ]
1492 );
1493
1494 $this->add_responsive_control(
1495 'read_more_text_icon_size',
1496 [
1497 'label' => esc_html__('Button Icon Size', 'easy-elements'),
1498 'type' => \Elementor\Controls_Manager::SLIDER,
1499 'range' => [
1500 'px' => [
1501 'min' => 10,
1502 'max' => 100,
1503 ],
1504 ],
1505 'selectors' => [
1506 '{{WRAPPER}} .eel-read-more-text-icon svg' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
1507 '{{WRAPPER}} .eel-read-more-text-icon i' => 'font-size: {{SIZE}}{{UNIT}};',
1508 ],
1509 'condition' => [
1510 'show_read_more' => 'yes',
1511 'read_more_type' => ['read_text','read_icon_to_text'],
1512 'read_more_text_icon_show' => 'yes',
1513 ],
1514 ]
1515 );
1516
1517 $this->add_responsive_control(
1518 'read_more_text_border_radius',
1519 [
1520 'label' => esc_html__('Border Radius', 'easy-elements'),
1521 'type' => \Elementor\Controls_Manager::DIMENSIONS,
1522 'size_units' => [ 'px', '%' ],
1523 'selectors' => [
1524 '{{WRAPPER}} .eel-read-more-text' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1525 ],
1526 'condition' => [
1527 'show_read_more' => 'yes',
1528 'read_more_type' => ['read_text','read_icon_to_text'],
1529 ],
1530 ]
1531 );
1532
1533 $this->add_responsive_control(
1534 'read_more_text_padding',
1535 [
1536 'label' => esc_html__('Padding', 'easy-elements'),
1537 'type' => \Elementor\Controls_Manager::DIMENSIONS,
1538 'size_units' => [ 'px', 'em', '%' ],
1539 'selectors' => [
1540 '{{WRAPPER}} .eel-read-more-text' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}; display: inline-block;',
1541 ],
1542 'condition' => [
1543 'show_read_more' => 'yes',
1544 'read_more_type' => ['read_text','read_icon_to_text'],
1545 ],
1546 ]
1547 );
1548 $this->add_responsive_control(
1549 'read_more_icon_margin',
1550 [
1551 'label' => esc_html__('Margin', 'easy-elements'),
1552 'type' => \Elementor\Controls_Manager::DIMENSIONS,
1553 'size_units' => [ 'px', 'em', '%' ],
1554 'selectors' => [
1555 '{{WRAPPER}} .ee--icon-box .eel-read-more' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1556 ]
1557 ]
1558 );
1559
1560
1561
1562 $this->add_responsive_control(
1563 'button_text_align',
1564 [
1565 'label' => esc_html__( 'Alignment', 'easy-elements' ),
1566 'type' => \Elementor\Controls_Manager::CHOOSE,
1567 'options' => [
1568 'flex-start' => [
1569 'title' => esc_html__( 'Left', 'easy-elements' ),
1570 'icon' => 'eicon-text-align-left',
1571 ],
1572 'center' => [
1573 'title' => esc_html__( 'Center', 'easy-elements' ),
1574 'icon' => 'eicon-text-align-center',
1575 ],
1576 'end' => [
1577 'title' => esc_html__( 'Right', 'easy-elements' ),
1578 'icon' => 'eicon-text-align-right',
1579 ],
1580 'stretch' => [
1581 'title' => esc_html__( 'Justified', 'easy-elements' ),
1582 'icon' => 'eicon-text-align-justify',
1583 ],
1584 ],
1585 'default' => 'left',
1586 'condition' => [
1587 'info_skin' => 'skin-2',
1588 ],
1589 'selectors' => [
1590 '{{WRAPPER}} .eel-info-skin-2 .eel-read-more' => 'justify-content: {{VALUE}};',
1591
1592 ],
1593 ]
1594 );
1595
1596
1597
1598 $this->end_controls_tab();
1599
1600 $this->start_controls_tab( 'button_hover_tab_style', [
1601 'label' => __('Hover', 'easy-elements'),
1602 ]);
1603
1604 $this->add_control(
1605 'read_more_text_color_hover',
1606 [
1607 'label' => esc_html__('Color', 'easy-elements'),
1608 'type' => \Elementor\Controls_Manager::COLOR,
1609 'selectors' => [
1610 '{{WRAPPER}} .ee--icon-box .eel-read-more-text:hover' => 'color: {{VALUE}};',
1611 '{{WRAPPER}} .eel-read-more-text:hover svg' => 'fill: {{VALUE}};',
1612 '{{WRAPPER}} .eel-read-more-text:hover svg path' => 'fill: {{VALUE}};',
1613 ],
1614 'condition' => [
1615 'show_read_more' => 'yes',
1616 'read_more_type' => ['read_text','read_icon_to_text'],
1617 ],
1618 ]
1619 );
1620
1621 $this->add_control(
1622 'read_more_text_color_item_hover',
1623 [
1624 'label' => esc_html__('Hover Color For Item', 'easy-elements'),
1625 'type' => \Elementor\Controls_Manager::COLOR,
1626 'selectors' => [
1627 '{{WRAPPER}} .elementor-widget-container:hover .eel-read-more-text' => 'color: {{VALUE}};',
1628 '{{WRAPPER}} .elementor-widget-container:hover .eel-read-more-text svg' => 'fill: {{VALUE}};',
1629 '{{WRAPPER}} .elementor-widget-container:hover .eel-read-more-text svg path' => 'fill: {{VALUE}};',
1630 ],
1631 'condition' => [
1632 'show_read_more' => 'yes',
1633 'read_more_type' => ['read_text','read_icon_to_text'],
1634 ],
1635 ]
1636 );
1637
1638 $this->add_control(
1639 'read_more_bg_hover',
1640 [
1641 'label' => esc_html__('Background', 'easy-elements'),
1642 'type' => \Elementor\Controls_Manager::COLOR,
1643 'selectors' => [
1644 '{{WRAPPER}} .ee--icon-box .eel-read-more-text:hover' => 'background: {{VALUE}};',
1645 ],
1646 'condition' => [
1647 'show_read_more' => 'yes',
1648 'read_more_type' => ['read_text','read_icon_to_text'],
1649 ],
1650 ]
1651 );
1652
1653 $this->add_control(
1654 'read_more_text_bg_item_hover',
1655 [
1656 'label' => esc_html__('Background Color For Item', 'easy-elements'),
1657 'type' => \Elementor\Controls_Manager::COLOR,
1658 'selectors' => [
1659 '{{WRAPPER}} .elementor-widget-container:hover .eel-read-more-text' => 'background-color: {{VALUE}}; border-color: {{VALUE}};',
1660 ],
1661 'condition' => [
1662 'show_read_more' => 'yes',
1663 'read_more_type' => ['read_text','read_icon_to_text'],
1664 ],
1665 ]
1666 );
1667
1668 $this->add_control(
1669 'read_more_hover_border_color',
1670 [
1671 'label' => esc_html__('Border Color', 'easy-elements'),
1672 'type' => \Elementor\Controls_Manager::COLOR,
1673 'selectors' => [
1674 '{{WRAPPER}} .ee--icon-box .eel-read-more-text:hover' => 'border-color: {{VALUE}};',
1675 ],
1676 'condition' => [
1677 'show_read_more' => 'yes',
1678 'read_more_type' => ['read_text','read_icon_to_text'],
1679 ],
1680 ]
1681 );
1682
1683 $this->end_controls_tab();
1684 $this->end_controls_tabs();
1685
1686 $this->end_controls_section();
1687 }
1688
1689 protected function render() {
1690 $settings = $this->get_settings_for_display();
1691 $gradient_border = ( isset( $settings['gradient_border'] ) && $settings['gradient_border'] === 'yes' ) ? 'ee--gradient-border' : '';
1692 $info_skin = isset($settings['info_skin']) ? esc_attr($settings['info_skin']) : '';
1693
1694 ?>
1695 <div class="eel-icon-box-wraps">
1696 <?php
1697 $icon_direction = isset($settings['icon_direction']) ? esc_attr($settings['icon_direction']) : '';
1698 $link = isset($settings['link']['url']) ? esc_url($settings['link']['url']) : '';
1699 $target = ! empty( $settings['link']['is_external'] ) ? ' target="_blank"' : '';
1700 $nofollow = ! empty( $settings['link']['nofollow'] ) ? ' rel="nofollow"' : '';
1701 $item_hover_styles = !empty( $settings['item_bg_hover_styles'] ) ? $settings['item_bg_hover_styles'] : '';
1702
1703 ?>
1704
1705 <?php
1706 $skin_file = plugin_dir_path(__FILE__) . 'skin/';
1707 switch ($info_skin) {
1708 case 'default':
1709 include $skin_file . 'default.php';
1710 break;
1711 case 'skin-2':
1712 include $skin_file . 'skin-2.php';
1713 break;
1714 default:
1715 include $skin_file . 'default.php';
1716 break;
1717 }
1718 ?>
1719
1720 </div>
1721 <?php
1722 }
1723 } ?>