PluginProbe
UiCore Elements – Free widgets and templates for Elementor / 1.3.18
UiCore Elements – Free widgets and templates for Elementor v1.3.18
1.3.18 1.3.17 1.3.16 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.2.0 1.2.1 1.2.2 1.2.3 All 42 releases
← All changes | includes/widgets/logo-grid.php +53 -45 1.0.13 → 1.3.18 View file →
@@ -1,5 +1,6 @@
1 1 <?php
2 +
2 3 namespace UiCoreElements;
3 4
4 5 use Elementor\Controls_Manager;
5 6 use UiCoreElements\UiCoreWidget;
@@ -8,9 +9,10 @@
8 9 use UiCoreElements\Utils\Logo_Trait;
9 10
10 11 defined('ABSPATH') || exit();
11 12
12 -class Logo_Grid extends UiCoreWidget {
13 +class Logo_Grid extends UiCoreWidget
14 +{
13 15
14 16 use Animation_Trait;
15 17 use Grid_Trait;
16 18 use Logo_Trait;
@@ -20,9 +22,9 @@
20 22 return 'uicore-logo-grid';
21 23 }
22 24 public function get_title()
23 25 {
24 - return esc_html__( 'Logo Grid', 'uicore-elements' );
26 + return esc_html__('Logo Grid', 'uicore-elements');
25 27 }
26 28 public function get_icon()
27 29 {
28 30 return 'eicon-logo ui-e-widget';
@@ -32,18 +34,19 @@
32 34 return ['uicore'];
33 35 }
34 36 public function get_keywords()
35 37 {
36 - return [ 'logo', 'grid', 'client', 'brand', 'showcase' ];
38 + return ['logo', 'grid', 'client', 'brand', 'showcase'];
37 39 }
38 40 public function get_styles()
39 41 {
40 42 $styles = [
41 43 'logo-grid',
44 + 'grid',
42 45 'animation', // hover animations
43 46 'entrance', // entrance basic style
44 47 ];
45 - if(!class_exists('\UiCore\Core') && !class_exists('\UiCoreAnimate\Base')){
48 + if (!class_exists('\UiCore\Core') && !class_exists('\UiCoreAnimate\Base')) {
46 49 $styles['e-animations'] = [ // entrance animations
47 50 'external' => true,
48 51 ];
49 52 }
@@ -59,8 +62,13 @@
59 62 ],
60 63 ]
61 64 ];
62 65 }
66 + public function has_widget_inner_wrapper(): bool
67 + {
68 + // TODO: remove after Optmized Markup experiment is merged to the core
69 + return ! \Elementor\Plugin::$instance->experiments->is_feature_active('e_optimized_markup');
70 + }
63 71 protected function register_controls()
64 72 {
65 73
66 74 $this->TRAIT_register_logo_repeater_controls('Logos'); // Repeater Controls
@@ -67,31 +75,31 @@
67 75
68 76 $this->start_controls_section(
69 77 'section_grid_settings',
70 78 [
71 - 'label' => __( 'Grid Settings', 'uicore-elements' ),
79 + 'label' => __('Grid Settings', 'uicore-elements'),
72 80 'tab' => Controls_Manager::TAB_CONTENT,
73 81 ]
74 82 );
75 83
76 - $this->add_control(
77 - 'layout',
78 - [
79 - 'label' => __( 'Grid Layout', 'uicore-elements' ),
80 - 'type' => Controls_Manager::SELECT,
81 - 'options' => [
82 - 'inner-border' => __( 'Inner Border', 'uicore-elements' ),
83 - 'outer-border' => __( 'Outer Border', 'uicore-elements' ),
84 - 'divider' => __( 'Inner Divider', 'uicore-elements' ),
85 - ],
86 - 'default' => 'inner-border',
87 - 'frontend_available' => true,
88 - 'style_transfer' => true, // enables the param to be copied/pasted even without selector => []
89 - 'render_type' => 'template',
90 - ]
91 - );
84 + $this->add_control(
85 + 'layout',
86 + [
87 + 'label' => __('Grid Layout', 'uicore-elements'),
88 + 'type' => Controls_Manager::SELECT,
89 + 'options' => [
90 + 'inner-border' => __('Inner Border', 'uicore-elements'),
91 + 'outer-border' => __('Outer Border', 'uicore-elements'),
92 + 'divider' => __('Inner Divider', 'uicore-elements'),
93 + ],
94 + 'default' => 'inner-border',
95 + 'frontend_available' => true,
96 + 'style_transfer' => true, // enables the param to be copied/pasted even without selector => []
97 + 'render_type' => 'template',
98 + ]
99 + );
92 100
93 - $this->TRAIT_register_grid_layout_controls();
101 + $this->TRAIT_register_grid_layout_controls();
94 102
95 103 $this->end_controls_section();
96 104
97 105 $this->start_controls_section(
@@ -96,14 +104,14 @@
96 104
97 105 $this->start_controls_section(
98 106 'section_logo_settings',
99 107 [
100 - 'label' => __( 'Logo Settings', 'uicore-elements' ),
108 + 'label' => __('Logo Settings', 'uicore-elements'),
101 109 'tab' => Controls_Manager::TAB_CONTENT,
102 110 ]
103 111 );
104 112
105 - $this->TRAIT_register_logo_adittional_controls();
113 + $this->TRAIT_register_logo_adittional_controls();
106 114
107 115 $this->end_controls_section();
108 116
109 117 $this->start_controls_section(
@@ -108,14 +116,14 @@
108 116
109 117 $this->start_controls_section(
110 118 'section_logo_grid',
111 119 [
112 - 'label' => __( 'Logo Grid', 'uicore-elements' ),
120 + 'label' => __('Logo Grid', 'uicore-elements'),
113 121 'tab' => Controls_Manager::TAB_STYLE,
114 122 ]
115 123 );
116 124
117 - $this->TRAIT_register_logos_grid_style_controls();
125 + $this->TRAIT_register_logos_grid_style_controls();
118 126
119 127 $this->end_controls_section();
120 128
121 129 $this->start_controls_section(
@@ -120,24 +128,24 @@
120 128
121 129 $this->start_controls_section(
122 130 'animation_style_grid',
123 131 [
124 - 'label' => __( 'Animations', 'uicore-elements' ),
132 + 'label' => __('Animations', 'uicore-elements'),
125 133 'tab' => Controls_Manager::TAB_STYLE,
126 134 ]
127 135 );
128 136
129 - $this->TRAIT_register_entrance_animations_controls();
130 - $this->TRAIT_register_hover_animation_control(
131 - 'Item Hover Animation',
132 - [],
133 - ['underline']
134 - );
135 - $this->TRAIT_register_hover_animation_control(
136 - 'Logo Hover Animation',
137 - [],
138 - ['underline']
139 - );
137 + $this->TRAIT_register_entrance_animations_controls();
138 + $this->TRAIT_register_hover_animation_control(
139 + 'Item Hover Animation',
140 + [],
141 + ['underline']
142 + );
143 + $this->TRAIT_register_hover_animation_control(
144 + 'Logo Hover Animation',
145 + [],
146 + ['underline']
147 + );
140 148
141 149 $this->end_controls_section();
142 150
143 151 // Updates and removes grid component controls
@@ -161,16 +169,16 @@
161 169 }
162 170 protected function render()
163 171 {
164 172
165 - if(empty( $this->get_settings_for_display('logo_list'))) {
173 + if (empty($this->get_settings_for_display('logo_list'))) {
166 174 return;
167 175 }
168 176
169 - ?>
170 - <div class='ui-e-grid'>
171 - <?php $this->TRAIT_render_logo_item(); ?>
172 - </div>
173 - <?php
177 +?>
178 + <div class='ui-e-grid'>
179 + <?php $this->TRAIT_render_logo_item(); ?>
180 + </div>
181 +<?php
174 182 }
175 183 }
176 -\Elementor\Plugin::instance()->widgets_manager->register(new Logo_Grid());
184 +\Elementor\Plugin::instance()->widgets_manager->register(new Logo_Grid());