PluginProbe
Ultimate Store Kit – Store Builder Addons for Elementor, WooCommerce Store Builder, EDD Store Builder / 1.5.2
Ultimate Store Kit – Store Builder Addons for Elementor, WooCommerce Store Builder, EDD Store Builder v1.5.2
3.1.4 3.0.8 3.0.9 3.1.0 3.1.2 3.1.3 3.0.7 3.0.5 3.0.4 3.0.3 3.0.2 trunk 1.5.0 1.5.1 1.5.2 1.6.1 1.6.2 1.6.3 1.6.4 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 All 93 releases
ultimate-store-kit / modules / info-list / widgets / info-list.php

info-list.php in Ultimate Store Kit – Store Builder Addons for Elementor, WooCommerce Store Builder, EDD Store Builder 1.5.2, at modules/info-list/widgets/info-list.php

803 lines 26.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace UltimateStoreKit\Modules\InfoList\Widgets;
4
5 use UltimateStoreKit\Base\Module_Base;
6 use Elementor\Group_Control_Css_Filter;
7 use Elementor\Repeater;
8 use Elementor\Controls_Manager;
9 use Elementor\Group_Control_Box_Shadow;
10 use Elementor\Group_Control_Image_Size;
11 use Elementor\Group_Control_Typography;
12 use Elementor\Group_Control_Text_Shadow;
13 use Elementor\Group_Control_Background;
14 use Elementor\Group_Control_Border;
15 use Elementor\Icons_Manager;
16 use Elementor\Utils;
17
18 if (! defined('ABSPATH')) {
19 exit;
20 } // Exit if accessed directly
21
22 class Info_List extends Module_Base
23 {
24
25 public function get_name()
26 {
27 return 'usk-info-list';
28 }
29
30 public function get_title()
31 {
32 return esc_html__('Info List', 'ultimate-store-kit');
33 }
34
35 public function get_icon()
36 {
37 return 'usk-widget-icon usk-icon-info-list';
38 }
39
40 public function get_categories()
41 {
42 return ['ultimate-store-kit'];
43 }
44
45 public function get_keywords()
46 {
47 return [ 'icon', 'list', 'feature', 'box', 'info' ];
48 }
49
50 public function get_style_depends()
51 {
52 if ($this->usk_is_edit_mode()) {
53 return [ 'usk-styles' ];
54 } else {
55 return [ 'usk-info-list' ];
56 }
57 }
58
59 // public function get_custom_help_url() {
60 // return 'https://youtu.be/a_wJL950Kz4';
61 // }
62
63 protected function register_controls()
64 {
65
66 $this->start_controls_section(
67 'section_layout',
68 [
69 'label' => __('Layout', 'ultimate-store-kit'),
70 'tab' => Controls_Manager::TAB_CONTENT,
71 ]
72 );
73
74 $this->add_responsive_control(
75 'columns',
76 [
77 'label' => __('Columns', 'ultimate-store-kit'),
78 'type' => Controls_Manager::SELECT,
79 'default' => 1,
80 'tablet_default' => 1,
81 'mobile_default' => 1,
82 'options' => [
83 1 => '1',
84 2 => '2',
85 3 => '3',
86 4 => '4',
87 5 => '5',
88 6 => '6',
89 ],
90 'selectors' => [
91 '{{WRAPPER}} .usk-info-list' => 'grid-template-columns: repeat({{SIZE}}, 1fr);',
92 ],
93 ]
94 );
95
96 $this->add_responsive_control(
97 'column_gap',
98 [
99 'label' => esc_html__('Column Gap', 'ultimate-store-kit'),
100 'type' => Controls_Manager::SLIDER,
101 'default' => [
102 'size' => 15,
103 ],
104 'selectors' => [
105 '{{WRAPPER}} .usk-info-list' => 'grid-column-gap: {{SIZE}}{{UNIT}};',
106 ],
107 ]
108 );
109
110 $this->add_responsive_control(
111 'row_gap',
112 [
113 'label' => esc_html__('Row Gap', 'ultimate-store-kit'),
114 'type' => Controls_Manager::SLIDER,
115 'default' => [
116 'size' => 15,
117 ],
118 'selectors' => [
119 '{{WRAPPER}} .usk-info-list' => 'grid-row-gap: {{SIZE}}{{UNIT}};',
120 ],
121 ]
122 );
123
124 $this->add_control(
125 'icon_position',
126 [
127 'label' => esc_html__('Icon Position', 'ultimate-store-kit'),
128 'type' => Controls_Manager::CHOOSE,
129 'default' => 'top',
130 'options' => [
131 'left' => [
132 'title' => esc_html__('Left', 'ultimate-store-kit'),
133 'icon' => 'eicon-h-align-left',
134 ],
135 'top' => [
136 'title' => esc_html__('Top', 'ultimate-store-kit'),
137 'icon' => 'eicon-v-align-top',
138 ],
139 'right' => [
140 'title' => esc_html__('Right', 'ultimate-store-kit'),
141 'icon' => 'eicon-h-align-right',
142 ],
143 ],
144 'toggle' => false
145 ]
146 );
147
148 $this->add_responsive_control(
149 'icon_alignment',
150 [
151 'label' => esc_html__('Icon Alignment', 'ultimate-store-kit'),
152 'type' => Controls_Manager::CHOOSE,
153 'options' => [
154 'flex-start' => [
155 'title' => esc_html__('Top', 'ultimate-store-kit'),
156 'icon' => 'eicon-v-align-top',
157 ],
158 'center' => [
159 'title' => esc_html__('Center', 'ultimate-store-kit'),
160 'icon' => 'eicon-v-align-middle',
161 ],
162 'flex-end' => [
163 'title' => esc_html__('Bottom', 'ultimate-store-kit'),
164 'icon' => 'eicon-v-align-bottom',
165 ],
166 ],
167 'selectors' => [
168 '{{WRAPPER}} .usk-info-list .usk-info-list-item' => 'align-items: {{VALUE}}',
169 ],
170 'condition' => [
171 'icon_position!' => 'top'
172 ]
173 ]
174 );
175
176 $this->add_responsive_control(
177 'icon_spacing',
178 [
179 'label' => esc_html__('Icon Spacing', 'ultimate-store-kit'),
180 'type' => Controls_Manager::SLIDER,
181 'default' => [
182 'size' => 15,
183 ],
184 'selectors' => [
185 '{{WRAPPER}} .usk-info-list-item' => 'grid-column-gap: {{SIZE}}{{UNIT}};',
186 '{{WRAPPER}} .usk-info-style-top .usk-info-list-item' => 'grid-row-gap: {{SIZE}}{{UNIT}};',
187 ],
188 ]
189 );
190
191 $this->add_responsive_control(
192 'alignment',
193 [
194 'label' => esc_html__('Alignment', 'ultimate-store-kit'),
195 'type' => Controls_Manager::CHOOSE,
196 'options' => [
197 'left' => [
198 'title' => esc_html__('Left', 'ultimate-store-kit'),
199 'icon' => 'eicon-h-align-left',
200 ],
201 'center' => [
202 'title' => esc_html__('Center', 'ultimate-store-kit'),
203 'icon' => 'eicon-h-align-center',
204 ],
205 'right' => [
206 'title' => esc_html__('Right', 'ultimate-store-kit'),
207 'icon' => 'eicon-h-align-right',
208 ],
209 ],
210 'selectors' => [
211 '{{WRAPPER}} .usk-info-list-item, {{WRAPPER}} .usk-info-list-content' => 'text-align: {{VALUE}}',
212 ],
213 ]
214 );
215
216 $this->add_control(
217 'show_title',
218 [
219 'label' => __('Show Title', 'ultimate-store-kit'),
220 'type' => Controls_Manager::SWITCHER,
221 'default' => 'yes',
222 'separator' => 'before',
223 ]
224 );
225
226 $this->add_control(
227 'title_tag',
228 [
229 'label' => __('Title HTML Tag', 'ultimate-store-kit'),
230 'type' => Controls_Manager::SELECT,
231 'default' => 'h3',
232 'options' => ultimate_store_kit_title_tags(),
233 'condition' => [
234 'show_title' => 'yes',
235 ]
236 ]
237 );
238
239 $this->add_control(
240 'show_text',
241 [
242 'label' => esc_html__('Show Text', 'ultimate-store-kit'),
243 'type' => Controls_Manager::SWITCHER,
244 'default' => 'yes',
245 ]
246 );
247
248 $this->add_group_control(
249 Group_Control_Image_Size::get_type(),
250 [
251 'name' => 'thumbnail',
252 'default' => 'medium',
253 'separator' => 'before',
254 'exclude' => ['custom']
255 ]
256 );
257
258 $this->end_controls_section();
259
260 $this->start_controls_section(
261 'usk_section_list',
262 [
263 'label' => __('Items', 'ultimate-store-kit'),
264 'tab' => Controls_Manager::TAB_CONTENT,
265 ]
266 );
267
268 $repeater = new Repeater();
269
270 $repeater->add_control(
271 'list_icon',
272 [
273 'label' => __('Icon', 'bdthemes-element-pack'),
274 'type' => Controls_Manager::ICONS,
275 'label_block' => false,
276 'default' => [
277 'value' => 'fas fa-star',
278 'library' => 'fa-solid',
279 ],
280 'skin' => 'inline',
281 ]
282 );
283
284 $repeater->add_control(
285 'title',
286 [
287 'label' => __('Title', 'ultimate-store-kit'),
288 'type' => Controls_Manager::TEXT,
289 'dynamic' => [
290 'active' => true,
291 ],
292 'default' => esc_html__('This is a title', 'ultimate-store-kit'),
293 'placeholder' => __('Enter your title', 'ultimate-store-kit'),
294 'label_block' => true,
295 ]
296 );
297
298 $repeater->add_control(
299 'title_link',
300 [
301 'label' => esc_html__('Title Link', 'ultimate-store-kit'),
302 'type' => Controls_Manager::URL,
303 'dynamic' => [ 'active' => true ],
304 'placeholder' => 'http://your-link.com',
305 ]
306 );
307
308 $repeater->add_control(
309 'text',
310 [
311 'label' => esc_html__('Text', 'bdthemes-prime-slider'),
312 'type' => Controls_Manager::WYSIWYG,
313 'label_block' => true,
314 'dynamic' => ['active' => true],
315 'default' => esc_html__('Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'bdthemes-element-pack'),
316
317 ]
318 );
319
320 $repeater->add_group_control(
321 Group_Control_Background::get_type(),
322 [
323 'name' => 'item_repeater_background',
324 'selector' => '{{WRAPPER}} {{CURRENT_ITEM}}.usk-info-list-item',
325 'separator' => 'before'
326 ]
327 );
328
329 $this->add_control(
330 'info_items',
331 [
332 'show_label' => false,
333 'type' => Controls_Manager::REPEATER,
334 'fields' => $repeater->get_controls(),
335 'default' => [
336 [
337 'title' => __('List Item #1', 'bdthemes-element-pack'),
338 ],
339 [
340 'title' => __('List Item #2', 'bdthemes-element-pack'),
341 ],
342 [
343 'title' => __('List Item #3', 'bdthemes-element-pack'),
344 ],
345 ],
346 'title_field' => '{{{ elementor.helpers.renderIcon( this, list_icon, {}, "i", "panel" ) || \'<i class="{{ icon }}" aria-hidden="true"></i>\' }}} {{{ title }}}',
347 ]
348 );
349
350 $this->end_controls_section();
351
352 //Style
353 $this->start_controls_section(
354 'section_style_items',
355 [
356 'label' => __('Items', 'ultimate-store-kit'),
357 'tab' => Controls_Manager::TAB_STYLE,
358 ]
359 );
360
361 $this->start_controls_tabs('tabs_item_style');
362
363 $this->start_controls_tab(
364 'tab_item_normal',
365 [
366 'label' => esc_html__('Normal', 'ultimate-store-kit'),
367 ]
368 );
369
370 $this->add_group_control(
371 Group_Control_Background::get_type(),
372 [
373 'name' => 'item_background',
374 'selector' => '{{WRAPPER}} .usk-info-list-item',
375 ]
376 );
377
378 $this->add_group_control(
379 Group_Control_Border::get_type(),
380 [
381 'name' => 'item_border',
382 'label' => esc_html__('Border', 'bdthemes-element-pack'),
383 'fields_options' => [
384 'border' => [
385 'default' => 'solid',
386 ],
387 'width' => [
388 'default' => [
389 'top' => '1',
390 'right' => '1',
391 'bottom' => '1',
392 'left' => '1',
393 'isLinked' => false,
394 ],
395 ],
396 'color' => [
397 'default' => '#dbdbdb',
398 ],
399 ],
400 'selector' => '{{WRAPPER}} .usk-info-list-item',
401 'separator' => 'before',
402 ]
403 );
404
405 $this->add_responsive_control(
406 'item_border_radius',
407 [
408 'label' => esc_html__('Border Radius', 'ultimate-store-kit'),
409 'type' => Controls_Manager::DIMENSIONS,
410 'size_units' => [ 'px', 'em', '%' ],
411 'selectors' => [
412 '{{WRAPPER}} .usk-info-list-item' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
413 ],
414 ]
415 );
416
417 $this->add_responsive_control(
418 'item_padding',
419 [
420 'label' => esc_html__('Padding', 'ultimate-store-kit'),
421 'type' => Controls_Manager::DIMENSIONS,
422 'size_units' => [ 'px', 'em', '%' ],
423 'selectors' => [
424 '{{WRAPPER}} .usk-info-list-item' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
425 ],
426 ]
427 );
428
429 $this->add_group_control(
430 Group_Control_Box_Shadow::get_type(),
431 [
432 'name' => 'item_box_shadow',
433 'selector' => '{{WRAPPER}} .usk-info-list-item',
434 ]
435 );
436
437 $this->end_controls_tab();
438
439 $this->start_controls_tab(
440 'tab_item_hover',
441 [
442 'label' => esc_html__('Hover', 'ultimate-store-kit'),
443 ]
444 );
445
446 $this->add_group_control(
447 Group_Control_Background::get_type(),
448 [
449 'name' => 'item_hover_background',
450 'selector' => '{{WRAPPER}} .usk-info-list-item:hover',
451 ]
452 );
453
454 $this->add_control(
455 'item_hover_border_color',
456 [
457 'label' => esc_html__('Border Color', 'ultimate-store-kit'),
458 'type' => Controls_Manager::COLOR,
459 'default' => '#2B2D42',
460 'condition' => [
461 'item_border_border!' => '',
462 ],
463 'selectors' => [
464 '{{WRAPPER}} .usk-info-list-item:hover' => 'border-color: {{VALUE}};',
465 ],
466 'separator' => 'before'
467 ]
468 );
469
470 $this->add_group_control(
471 Group_Control_Box_Shadow::get_type(),
472 [
473 'name' => 'item_hover_box_shadow',
474 'selector' => '{{WRAPPER}} .usk-info-list-item:hover',
475 ]
476 );
477
478 $this->end_controls_tab();
479
480 $this->end_controls_tabs();
481
482 $this->end_controls_section();
483
484 $this->start_controls_section(
485 'section_title_style',
486 [
487 'label' => __('Title', 'bdthemes-element-pack'),
488 'tab' => Controls_Manager::TAB_STYLE,
489 ]
490 );
491
492 $this->add_control(
493 'title_color',
494 [
495 'label' => __('Color', 'bdthemes-element-pack'),
496 'type' => Controls_Manager::COLOR,
497 'selectors' => [
498 '{{WRAPPER}} .usk-info-list-title a' => 'color: {{VALUE}} ',
499 ],
500 ]
501 );
502
503 $this->add_control(
504 'title_hover_color',
505 [
506 'label' => __('Hover Color', 'bdthemes-element-pack'),
507 'type' => Controls_Manager::COLOR,
508 'selectors' => [
509 '{{WRAPPER}} .usk-info-list-title a:hover' => 'color: {{VALUE}} ',
510 ],
511 ]
512 );
513
514 $this->add_responsive_control(
515 'title_margin',
516 [
517 'label' => esc_html__('Margin', 'ultimate-store-kit'),
518 'type' => Controls_Manager::DIMENSIONS,
519 'size_units' => [ 'px', 'em', '%' ],
520 'selectors' => [
521 '{{WRAPPER}} .usk-info-list-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
522 ],
523 ]
524 );
525
526 $this->add_group_control(
527 Group_Control_Typography::get_type(),
528 [
529 'name' => 'title_typography',
530 'selector' => '{{WRAPPER}} .usk-info-list-title',
531 ]
532 );
533
534 $this->end_controls_section();
535
536 $this->start_controls_section(
537 'section_style_text',
538 [
539 'label' => __('Text', 'bdthemes-element-pack'),
540 'tab' => Controls_Manager::TAB_STYLE,
541 ]
542 );
543
544 $this->add_control(
545 'text_color',
546 [
547 'label' => __('Color', 'bdthemes-element-pack'),
548 'type' => Controls_Manager::COLOR,
549 'selectors' => [
550 '{{WRAPPER}} .usk-info-list-text' => 'color: {{VALUE}};',
551 ],
552 ]
553 );
554
555 $this->add_responsive_control(
556 'text_margin',
557 [
558 'label' => esc_html__('Margin', 'ultimate-store-kit'),
559 'type' => Controls_Manager::DIMENSIONS,
560 'size_units' => [ 'px', 'em', '%' ],
561 'selectors' => [
562 '{{WRAPPER}} .usk-info-list-text' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
563 ],
564 ]
565 );
566
567 $this->add_group_control(
568 Group_Control_Typography::get_type(),
569 [
570 'name' => 'text_typography',
571 'selector' => '{{WRAPPER}} .usk-info-list-text',
572 ]
573 );
574
575 $this->end_controls_section();
576
577 $this->start_controls_section(
578 'section_style_icon',
579 [
580 'label' => esc_html__('Icon', 'ultimate-store-kit'),
581 'tab' => Controls_Manager::TAB_STYLE,
582 ]
583 );
584
585 $this->start_controls_tabs('tabs_icon_style');
586
587 $this->start_controls_tab(
588 'tab_icon_normal',
589 [
590 'label' => esc_html__('Normal', 'ultimate-store-kit'),
591 ]
592 );
593
594 $this->add_control(
595 'icon_color',
596 [
597 'label' => esc_html__('Color', 'ultimate-store-kit'),
598 'type' => Controls_Manager::COLOR,
599 'selectors' => [
600 '{{WRAPPER}} .usk-info-list-icon span' => 'color: {{VALUE}};',
601 ],
602 ]
603 );
604
605 $this->add_group_control(
606 Group_Control_Background::get_type(),
607 [
608 'name' => 'icon_background',
609 'selector' => '{{WRAPPER}} .usk-info-list-icon span',
610 ]
611 );
612
613 $this->add_group_control(
614 Group_Control_Border::get_type(),
615 [
616 'name' => 'icon_border',
617 'selector' => '{{WRAPPER}} .usk-info-list-icon span',
618 ]
619 );
620
621 $this->add_responsive_control(
622 'icon_border_radius',
623 [
624 'label' => esc_html__('Border Radius', 'ultimate-store-kit'),
625 'type' => Controls_Manager::DIMENSIONS,
626 'size_units' => [ 'px', '%' ],
627 'selectors' => [
628 '{{WRAPPER}} .usk-info-list-icon span' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
629 ],
630 ]
631 );
632
633 $this->add_responsive_control(
634 'icon_padding',
635 [
636 'label' => esc_html__('Padding', 'ultimate-store-kit'),
637 'type' => Controls_Manager::DIMENSIONS,
638 'size_units' => [ 'px', 'em', '%' ],
639 'selectors' => [
640 '{{WRAPPER}} .usk-info-list-icon span' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
641 ],
642 ]
643 );
644
645 $this->add_responsive_control(
646 'icon_margin',
647 [
648 'label' => esc_html__('Margin', 'ultimate-store-kit'),
649 'type' => Controls_Manager::DIMENSIONS,
650 'size_units' => [ 'px', 'em', '%' ],
651 'selectors' => [
652 '{{WRAPPER}} .usk-info-list-icon span' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
653 ],
654 ]
655 );
656
657 $this->add_group_control(
658 Group_Control_Box_Shadow::get_type(),
659 [
660 'name' => 'icon_shadow',
661 'selector' => '{{WRAPPER}} .usk-info-list-icon span',
662 ]
663 );
664
665 $this->add_group_control(
666 Group_Control_Typography::get_type(),
667 [
668 'name' => 'icon_typography',
669 'label' => esc_html__('Typography', 'ultimate-store-kit'),
670 'selector' => '{{WRAPPER}} .usk-info-list-icon span',
671 ]
672 );
673
674 $this->end_controls_tab();
675
676 $this->start_controls_tab(
677 'tab_icon_hover',
678 [
679 'label' => esc_html__('Hover', 'ultimate-store-kit'),
680 ]
681 );
682
683 $this->add_control(
684 'icon_hover_color',
685 [
686 'label' => esc_html__('Color', 'ultimate-store-kit'),
687 'type' => Controls_Manager::COLOR,
688 'selectors' => [
689 '{{WRAPPER}} .usk-info-list-icon span:hover' => 'color: {{VALUE}};',
690 ],
691 ]
692 );
693
694 $this->add_group_control(
695 Group_Control_Background::get_type(),
696 [
697 'name' => 'icon_hover_background',
698 'selector' => '{{WRAPPER}} .usk-info-list-icon span:hover',
699 ]
700 );
701
702 $this->add_control(
703 'icon_hover_border_color',
704 [
705 'label' => esc_html__('Border Color', 'ultimate-store-kit'),
706 'type' => Controls_Manager::COLOR,
707 'condition' => [
708 'icon_border_border!' => '',
709 ],
710 'selectors' => [
711 '{{WRAPPER}} .usk-info-list-icon span:hover' => 'border-color: {{VALUE}};',
712 ],
713 ]
714 );
715
716 $this->end_controls_tab();
717
718 $this->end_controls_tabs();
719
720 $this->end_controls_section();
721 }
722
723
724 public function render_title($item)
725 {
726 $settings = $this->get_settings_for_display();
727
728 if (! $settings['show_title']) {
729 return;
730 }
731
732 $this->add_render_attribute(
733 [
734 'title-link' => [
735 'href' => isset($item['title_link']['url']) && !empty($item['title_link']['url']) ? esc_url($item['title_link']['url']) : 'javascript:void(0);',
736 'target' => $item['title_link']['is_external'] ? '_blank' : '_self'
737 ]
738 ],
739 '',
740 '',
741 true
742 );
743
744 if (!empty($item['title'])) {
745 printf('<%1$s class="usk-info-list-title"><a %2$s title="%3$s">%3$s</a></%1$s>', $settings['title_tag'], $this->get_render_attribute_string('title-link'), wp_kses_post($item['title']));
746 }
747 }
748
749 public function render_text($item)
750 {
751 $settings = $this->get_settings_for_display();
752
753 if (! $settings['show_text']) {
754 return;
755 }
756
757 ?>
758 <?php if ($item['text']) : ?>
759 <div class="usk-info-list-text">
760 <?php echo wp_kses_post($item['text']); ?>
761 </div>
762 <?php endif;
763 }
764
765 protected function render()
766 {
767 $settings = $this->get_settings_for_display();
768
769 if (empty($settings['info_items'])) {
770 return;
771 }
772
773 $this->add_render_attribute('info-list', 'class', 'usk-info-list usk-info-style-' . $settings['icon_position']);
774
775 ?>
776 <div <?php $this->print_render_attribute_string('info-list'); ?>>
777 <?php foreach ($settings['info_items'] as $item) :
778
779 $this->add_render_attribute('item-wrap', 'class', 'usk-info-list-item elementor-repeater-item-' . esc_attr($item['_id']), true);
780
781 ?>
782 <div <?php echo $this->get_render_attribute_string('item-wrap'); ?>>
783
784 <?php if (!empty($item['list_icon']['value'])) : ?>
785 <div class="usk-info-list-icon">
786 <span>
787 <?php Icons_Manager::render_icon($item['list_icon'], ['aria-hidden' => 'true']); ?>
788 </span>
789 </div>
790 <?php endif; ?>
791 <div class="usk-info-list-content">
792 <?php $this->render_title($item); ?>
793 <?php $this->render_text($item); ?>
794 </div>
795
796 </div>
797
798 <?php endforeach; ?>
799 </div>
800 <?php
801 }
802 }
803