PluginProbe ʕ •ᴥ•ʔ
Premium Addons for Elementor – Powerful Elementor Templates & Widgets / 4.1.0
Premium Addons for Elementor – Powerful Elementor Templates & Widgets v4.1.0
4.11.79 4.11.78 4.11.77 4.11.76 4.11.75 3.20.5 4.11.69 3.20.6 4.11.7 3.20.7 4.11.70 3.20.8 4.11.71 3.20.9 4.11.72 3.21.1 4.11.73 3.21.2 4.11.74 3.21.3 4.11.8 3.21.4 4.11.9 3.21.5 4.2.0 3.21.6 4.2.1 3.3.0 4.2.2 3.3.1 4.2.3 3.3.2 4.2.4 3.3.3 4.2.5 3.3.4 4.2.6 3.3.5 4.2.7 3.3.6 4.2.8 3.3.7 4.2.9 3.3.8 4.3.0 3.3.9 4.3.1 3.4.0 4.3.2 3.4.1 4.3.3 3.4.2 4.3.4 3.4.3 4.3.5 3.4.4 4.3.6 3.4.5 4.3.7 3.4.6 4.3.8 3.4.7 4.3.9 3.4.8 4.4.0 3.4.9 4.4.1 3.5.0 4.4.2 3.5.1 4.4.3 3.5.2 4.4.4 3.5.3 4.4.5 3.5.4 4.4.6 3.5.5 4.4.7 3.5.6 4.4.8 3.5.7 4.4.9 3.5.8 4.5.0 3.5.9 4.5.1 3.6.0 4.5.2 3.6.1 4.5.3 3.6.2 4.5.4 3.6.3 4.5.5 3.6.4 4.5.6 3.6.5 4.5.7 3.6.6 4.5.8 3.6.7 4.5.9 3.6.8 4.6.0 3.6.9 4.6.1 3.7.0 4.7.0 3.7.1 4.7.1 3.7.2 4.7.2 3.7.3 4.7.3 3.7.4 4.7.4 3.7.5 4.7.5 3.7.6 4.7.6 3.7.7 4.7.7 3.7.8 4.7.8 3.7.9 4.7.9 3.8.0 4.8.0 3.8.1 4.8.1 3.8.2 4.8.10 3.8.3 4.8.11 3.8.4 4.8.2 3.8.5 4.8.3 3.8.6 4.8.4 3.8.7 4.8.5 3.8.8 4.8.6 3.8.9 4.8.7 3.9.0 4.8.8 3.9.1 4.8.9 3.9.2 4.9.0 3.9.3 4.9.0-beta1 3.9.4 4.9.0-beta2 3.9.5 4.9.1 3.9.6 4.9.10 3.9.7 4.9.11 3.9.8 4.9.12 3.9.9 4.9.13 4.0.1 4.9.14 4.0.3 4.9.15 4.0.4 4.9.16 4.0.5 4.9.17 4.0.6 4.9.18 4.0.7 4.9.19 4.0.8 4.9.2 4.0.9 4.9.20 4.1.0 4.9.21 4.1.1 4.9.22 4.1.2 4.9.23 4.1.3 4.9.24 trunk 4.1.4 4.9.25 1.0 4.1.5 4.9.26 1.01 4.1.6 4.9.27 1.02 4.1.7 4.9.28 1.03 4.1.8 4.9.29 1.04 4.1.9 4.9.3 1.05 4.10.0 4.9.30 1.06 4.10.1 4.9.31 1.07 4.10.10 4.9.32 1.08 4.10.11 4.9.33 1.09 4.10.12 4.9.34 2.0 4.10.13 4.9.35 2.0.1 4.10.14 4.9.36 2.0.2 4.10.15 4.9.37 2.0.3 4.10.16 4.9.38 2.0.4 4.10.17 4.9.39 2.0.5 4.10.18 4.9.4 2.0.6 4.10.19 4.9.40 2.0.7 4.10.2 4.9.41 2.0.8 4.10.20 4.9.42 2.0.9 4.10.21 4.9.43 2.1.0 4.10.22 4.9.45 2.1.1 4.10.23 4.9.46 2.1.2 4.10.24 4.9.47 2.1.3 4.10.25 4.9.48 2.1.4 4.10.26 4.9.49 2.1.5 4.10.27 4.9.5 2.1.5-beta1 4.10.28 4.9.50 2.1.6 4.10.29 4.9.51 2.1.7 4.10.3 4.9.52 2.1.8 4.10.30 4.9.53 2.1.9 4.10.31 4.9.54 2.2.0 4.10.32 4.9.55 2.2.1 4.10.33 4.9.56 2.2.2 4.10.34 4.9.57 2.2.3 4.10.35 4.9.6 2.2.4 4.10.36 4.9.7 2.2.5 4.10.37 4.9.8 2.2.6 4.10.38 4.9.9 2.2.7 4.10.39 2.2.8 4.10.4 2.2.9 4.10.40 2.3.0 4.10.41 2.3.1 4.10.42 2.3.2 4.10.43 2.3.3 4.10.44 2.3.4 4.10.45 2.3.5 4.10.46 2.3.6 4.10.47 2.3.7 4.10.48 2.3.8 4.10.49 2.3.9 4.10.5 2.4.0 4.10.50 2.4.1 4.10.51 2.5.0 4.10.52 2.5.1 4.10.53 2.5.2 4.10.54 2.5.3 4.10.55 2.5.4 4.10.56 2.5.5 4.10.57 2.5.6 4.10.58 2.5.7 4.10.59 2.5.8 4.10.6 2.5.9 4.10.60 2.6.0 4.10.61 2.6.1 4.10.62 2.6.2 4.10.63 2.6.3 4.10.64 2.6.4 4.10.65 2.6.5 4.10.66 2.6.6 4.10.67 2.6.7 4.10.68 2.6.8 4.10.69 2.6.9 4.10.7 2.7.0 4.10.70 2.7.1 4.10.71 2.7.2 4.10.72 2.7.3 4.10.73 2.7.4 4.10.74 2.7.5 4.10.75 2.7.6 4.10.76 2.7.7 4.10.77 2.7.8 4.10.78 2.7.9 4.10.79 2.8.0 4.10.8 2.8.1 4.10.80 2.8.2 4.10.81 2.8.3 4.10.82 2.8.4 4.10.83 2.8.5 4.10.84 2.8.6 4.10.85 2.8.7 4.10.86 2.8.8 4.10.87 2.8.9 4.10.88 2.9.0 4.10.89 2.9.1 4.10.9 2.9.2 4.10.90 2.9.3 4.11.0 2.9.4 4.11.1 2.9.5 4.11.10 2.9.6 4.11.11 2.9.7 4.11.12 2.9.8 4.11.13 2.9.9 4.11.14 3.0.0 4.11.15 3.0.1 4.11.16 3.0.2 4.11.17 3.0.3 4.11.18 3.0.4 4.11.19 3.0.5 4.11.2 3.0.6 4.11.20 3.0.7 4.11.21 3.0.8 4.11.22 3.0.9 4.11.23 3.1.0 4.11.24 3.1.1 4.11.25 3.1.2 4.11.26 3.1.3 4.11.27 3.1.4 4.11.28 3.1.5 4.11.29 3.1.6 4.11.3 3.1.7 4.11.30 3.1.8 4.11.31 3.1.9 4.11.32 3.10.0 4.11.33 3.10.1 4.11.34 3.10.2 4.11.35 3.10.3 4.11.36 3.10.4 4.11.37 3.10.5 4.11.38 3.10.6 4.11.39 3.10.7 4.11.4 3.10.8 4.11.40 3.10.9 4.11.41 3.11.0 4.11.42 3.11.1 4.11.43 3.11.2 4.11.44 3.11.3 4.11.45 3.11.4 4.11.46 3.11.5 4.11.47 3.11.6 4.11.48 3.11.7 4.11.49 3.11.8 4.11.5 3.11.9 4.11.50 3.12.0 4.11.51 3.12.1 4.11.52 3.12.2 4.11.53 3.12.3 4.11.54 3.2.0 4.11.55 3.2.1 4.11.56 3.2.2 4.11.57 3.2.3 4.11.58 3.2.4 4.11.59 3.2.5 4.11.6 3.2.6 4.11.60 3.2.7 4.11.61 3.2.8 4.11.62 3.2.9 4.11.63 3.20.0 4.11.64 3.20.1 4.11.65 3.20.2 4.11.66 3.20.3 4.11.67 3.20.4 4.11.68
premium-addons-for-elementor / widgets / premium-pricing-table.php
premium-addons-for-elementor / widgets Last commit date
dep 5 years ago premium-banner.php 5 years ago premium-blog.php 5 years ago premium-button.php 5 years ago premium-carousel.php 5 years ago premium-contactform.php 5 years ago premium-countdown.php 5 years ago premium-counter.php 5 years ago premium-dual-header.php 5 years ago premium-fancytext.php 5 years ago premium-grid.php 5 years ago premium-icon-list.php 5 years ago premium-image-button.php 5 years ago premium-image-scroll.php 5 years ago premium-image-separator.php 5 years ago premium-lottie.php 5 years ago premium-maps.php 5 years ago premium-modalbox.php 5 years ago premium-person.php 5 years ago premium-pricing-table.php 5 years ago premium-progressbar.php 5 years ago premium-testimonials.php 5 years ago premium-title.php 5 years ago premium-videobox.php 5 years ago premium-vscroll.php 5 years ago
premium-pricing-table.php
2504 lines
1 <?php
2
3 /**
4 * Premium Pricing Table.
5 */
6 namespace PremiumAddons\Widgets;
7
8 // Elementor Classes.
9 use Elementor\Modules\DynamicTags\Module as TagsModule;
10 use Elementor\Icons_Manager;
11 use Elementor\Widget_Base;
12 use Elementor\Controls_Manager;
13 use Elementor\Repeater;
14 use Elementor\Scheme_Color;
15 use Elementor\Scheme_Typography;
16 use Elementor\Group_Control_Border;
17 use Elementor\Group_Control_Typography;
18 use Elementor\Group_Control_Box_Shadow;
19 use Elementor\Group_Control_Background;
20
21 // PremiumAddons Classes.
22 use PremiumAddons\Includes\Helper_Functions;
23 use PremiumAddons\Includes\Premium_Template_Tags;
24
25 if ( ! defined( 'ABSPATH' ) ) exit; // If this file is called directly, abort.
26
27 /**
28 * Class Premium_Pricing_Table
29 */
30 class Premium_Pricing_Table extends Widget_Base {
31
32 protected $templateInstance;
33
34 public function getTemplateInstance() {
35 return $this->templateInstance = Premium_Template_Tags::getInstance();
36 }
37
38 public function get_name() {
39 return 'premium-addon-pricing-table';
40 }
41
42 public function get_title() {
43 return sprintf( '%1$s %2$s', Helper_Functions::get_prefix(), __('Pricing Table', 'premium-addons-for-elementor') );
44 }
45
46 public function get_icon() {
47 return 'pa-pricing-table';
48 }
49
50 public function get_style_depends() {
51 return [
52 'premium-addons'
53 ];
54 }
55
56 public function get_script_depends() {
57 return [
58 'lottie-js'
59 ];
60 }
61
62 public function get_categories() {
63 return [ 'premium-elements' ];
64 }
65
66 public function get_custom_help_url() {
67 return 'https://premiumaddons.com/support/';
68 }
69
70 /**
71 * Register Pricing Table controls.
72 *
73 * @since 1.0.0
74 * @access protected
75 */
76 protected function _register_controls() {
77
78 $this->start_controls_section('premium_pricing_table_icon_section',
79 [
80 'label' => __('Icon', 'premium-addons-for-elementor'),
81 'condition' => [
82 'premium_pricing_table_icon_switcher' => 'yes',
83 ]
84 ]
85 );
86
87 $this->add_control('icon_type',
88 [
89 'label' => __( 'Icon Type', 'premium-addons-for-elementor' ),
90 'type' => Controls_Manager::SELECT,
91 'options' => [
92 'icon' => __('Icon', 'premium-addons-for-elementor'),
93 'animation' => __('Lottie Animation', 'premium-addons-for-elementor'),
94 ],
95 'default' => 'icon',
96 ]
97 );
98
99 $this->add_control('premium_pricing_table_icon_selection_updated',
100 [
101 'label' => __('Select an Icon', 'premium-addons-for-elementor'),
102 'type' => Controls_Manager::ICONS,
103 'fa4compatibility' => 'premium_pricing_table_icon_selection',
104 'default' => [
105 'value' => 'fas fa-bars',
106 'library' => 'fa-solid',
107 ],
108 'condition' => [
109 'icon_type' => 'icon',
110 ]
111 ]
112 );
113
114 $this->add_control('lottie_url',
115 [
116 'label' => __( 'Animation JSON URL', 'premium-addons-for-elementor' ),
117 'type' => Controls_Manager::TEXT,
118 'dynamic' => [ 'active' => true ],
119 'description' => 'Get JSON code URL from <a href="https://lottiefiles.com/" target="_blank">here</a>',
120 'label_block' => true,
121 'condition' => [
122 'icon_type' => 'animation',
123 ]
124 ]
125 );
126
127 $this->add_control('lottie_loop',
128 [
129 'label' => __('Loop','premium-addons-for-elementor'),
130 'type' => Controls_Manager::SWITCHER,
131 'return_value' => 'true',
132 'default' => 'true',
133 'condition' => [
134 'icon_type' => 'animation',
135 ]
136 ]
137 );
138
139 $this->add_control('lottie_reverse',
140 [
141 'label' => __('Reverse','premium-addons-for-elementor'),
142 'type' => Controls_Manager::SWITCHER,
143 'return_value' => 'true',
144 'condition' => [
145 'icon_type' => 'animation',
146 ]
147 ]
148 );
149
150 $this->end_controls_section();
151
152 $this->start_controls_section('premium_pricing_table_title_section',
153 [
154 'label' => __('Title', 'premium-addons-for-elementor'),
155 'condition' => [
156 'premium_pricing_table_title_switcher' => 'yes',
157 ]
158 ]
159 );
160
161 $this->add_control('premium_pricing_table_title_text',
162 [
163 'label' => __('Text', 'premium-addons-for-elementor'),
164 'default' => __('Pricing Table', 'premium-addons-for-elementor'),
165 'type' => Controls_Manager::TEXT,
166 'dynamic' => [ 'active' => true ],
167 'label_block' => true,
168 ]
169 );
170
171 $this->add_control('premium_pricing_table_title_size',
172 [
173 'label' => __('HTML Tag', 'premium-addons-for-elementor'),
174 'description' => __( 'Select HTML tag for the title', 'premium-addons-for-elementor' ),
175 'type' => Controls_Manager::SELECT,
176 'default' => 'h3',
177 'options' => [
178 'h1' => 'H1',
179 'h2' => 'H2',
180 'h3' => 'H3',
181 'h4' => 'H4',
182 'h5' => 'H5',
183 'h6' => 'H6',
184 'div' => 'div',
185 'span' => 'span',
186 'p' => 'p',
187 ],
188 'label_block' => true,
189 ]
190 );
191
192 $this->end_controls_section();
193
194
195 /*Price Content Section*/
196 $this->start_controls_section('premium_pricing_table_price_section',
197 [
198 'label' => __('Price', 'premium-addons-for-elementor'),
199 'condition' => [
200 'premium_pricing_table_price_switcher' => 'yes',
201 ]
202 ]
203 );
204
205 /*Price Value*/
206 $this->add_control('premium_pricing_table_slashed_price_value',
207 [
208 'label' => __('Slashed Price', 'premium-addons-for-elementor'),
209 'type' => Controls_Manager::TEXT,
210 'dynamic' => [ 'active' => true ],
211 'label_block' => true,
212 ]
213 );
214
215 /*Price Currency*/
216 $this->add_control('premium_pricing_table_price_currency',
217 [
218 'label' => __('Currency', 'premium-addons-for-elementor'),
219 'type' => Controls_Manager::TEXT,
220 'dynamic' => [ 'active' => true ],
221 'default' => '$',
222 'label_block' => true,
223 ]
224 );
225
226 /*Price Value*/
227 $this->add_control('premium_pricing_table_price_value',
228 [
229 'label' => __('Price', 'premium-addons-for-elementor'),
230 'type' => Controls_Manager::TEXT,
231 'dynamic' => [ 'active' => true ],
232 'default' => '25',
233 'label_block' => true,
234 ]
235 );
236
237 /*Price Separator*/
238 $this->add_control('premium_pricing_table_price_separator',
239 [
240 'label' => __('Divider', 'premium-addons-for-elementor'),
241 'type' => Controls_Manager::TEXT,
242 'dynamic' => [ 'active' => true ],
243 'default' => '/',
244 'label_block' => true,
245 ]
246 );
247
248 /*Price Duration*/
249 $this->add_control('premium_pricing_table_price_duration',
250 [
251 'label' => __('Duration', 'premium-addons-for-elementor'),
252 'type' => Controls_Manager::TEXT,
253 'dynamic' => [ 'active' => true ],
254 'default' => 'm',
255 'label_block' => true,
256 ]
257 );
258
259 $this->end_controls_section();
260
261 $this->start_controls_section('premium_pricing_table_list_section',
262 [
263 'label' => __('Feature List', 'premium-addons-for-elementor'),
264 'condition' => [
265 'premium_pricing_table_list_switcher' => 'yes',
266 ]
267 ]
268 );
269
270 $repeater = new REPEATER();
271
272 $repeater->add_control('premium_pricing_list_item_text',
273 [
274 'label' => __( 'Text', 'premium-addons-for-elementor' ),
275 'type' => Controls_Manager::TEXT,
276 'default' => __('Feature Title', 'premium-addons-for-elementor'),
277 'dynamic' => [ 'active' => true ],
278 'label_block' => true,
279 ]
280 );
281
282 $repeater->add_control('icon_type',
283 [
284 'label' => __( 'Icon Type', 'premium-addons-for-elementor' ),
285 'type' => Controls_Manager::SELECT,
286 'options' => [
287 'icon' => __('Icon', 'premium-addons-for-elementor'),
288 'animation' => __('Lottie Animation', 'premium-addons-for-elementor'),
289 ],
290 'default' => 'icon',
291 ]
292 );
293
294 $repeater->add_control('premium_pricing_list_item_icon_updated',
295 [
296 'label' => __( 'Icon', 'premium-addons-for-elementor' ),
297 'type' => Controls_Manager::ICONS,
298 'fa4compatibility' => 'premium_pricing_list_item_icon',
299 'default' => [
300 'value' => 'fas fa-check',
301 'library' => 'fa-solid',
302 ],
303 'condition' => [
304 'icon_type' => 'icon'
305 ]
306 ]
307 );
308
309 $repeater->add_control('lottie_url',
310 [
311 'label' => __( 'Animation JSON URL', 'premium-addons-for-elementor' ),
312 'type' => Controls_Manager::TEXT,
313 'dynamic' => [ 'active' => true ],
314 'description' => 'Get JSON code URL from <a href="https://lottiefiles.com/" target="_blank">here</a>',
315 'label_block' => true,
316 'condition' => [
317 'icon_type' => 'animation',
318 ]
319 ]
320 );
321
322 $repeater->add_control('lottie_loop',
323 [
324 'label' => __('Loop','premium-addons-for-elementor'),
325 'type' => Controls_Manager::SWITCHER,
326 'return_value' => 'true',
327 'default' => 'true',
328 'condition' => [
329 'icon_type' => 'animation',
330 ]
331 ]
332 );
333
334 $repeater->add_control('lottie_reverse',
335 [
336 'label' => __('Reverse','premium-addons-for-elementor'),
337 'type' => Controls_Manager::SWITCHER,
338 'return_value' => 'true',
339 'condition' => [
340 'icon_type' => 'animation',
341 ]
342 ]
343 );
344
345 $repeater->add_control('premium_pricing_table_item_tooltip',
346 [
347 'label' => __('Tooltip', 'premium-addons-for-elementor'),
348 'type' => Controls_Manager::SWITCHER,
349 ]
350 );
351
352 $repeater->add_control('premium_pricing_table_item_tooltip_text',
353 [
354 'label' => __('Tooltip Text', 'premium-addons-for-elementor'),
355 'type' => Controls_Manager::TEXTAREA,
356 'dynamic' => [ 'active' => true ],
357 'default' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
358 'condition' => [
359 'premium_pricing_table_item_tooltip' => 'yes'
360 ]
361 ]
362 );
363
364 $repeater->add_control('list_item_icon_color',
365 [
366 'label' => __('Icon Color', 'premium-addons-for-elementor'),
367 'type' => Controls_Manager::COLOR,
368 'selectors' => [
369 '{{WRAPPER}} {{CURRENT_ITEM}} .premium-pricing-feature-icon' => 'color: {{VALUE}};'
370 ],
371 'condition' => [
372 'icon_type' => 'icon'
373 ]
374 ]
375 );
376
377 $repeater->add_control('list_item_text_color',
378 [
379 'label' => __('Text Color', 'premium-addons-for-elementor'),
380 'type' => Controls_Manager::COLOR,
381 'selectors' => [
382 '{{WRAPPER}} {{CURRENT_ITEM}} .premium-pricing-list-span' => 'color: {{VALUE}};'
383 ],
384 ]
385 );
386
387 $this->add_control('premium_fancy_text_list_items',
388 [
389 'label' => __( 'Features', 'premium-addons-for-elementor' ),
390 'type' => Controls_Manager::REPEATER,
391 'default' => [
392 [
393 'premium_pricing_list_item_icon_updated' => [
394 'value' => 'fas fa-check',
395 'library' => 'fa-solid',
396 ],
397 'premium_pricing_list_item_text' => __( 'List Item #1', 'premium-addons-for-elementor' ),
398 ],
399 [
400 'premium_pricing_list_item_icon_updated' => [
401 'value' => 'fas fa-check',
402 'library' => 'fa-solid',
403 ],
404 'premium_pricing_list_item_text' => __( 'List Item #2', 'premium-addons-for-elementor' ),
405 ],
406 [
407 'premium_pricing_list_item_icon_updated' => [
408 'value' => 'fas fa-check',
409 'library' => 'fa-solid',
410 ],
411 'premium_pricing_list_item_text' => __( 'List Item #3', 'premium-addons-for-elementor' ),
412 ],
413 ],
414 'fields' => $repeater->get_controls(),
415 'title_field' => '{{{ elementor.helpers.renderIcon( this, premium_pricing_list_item_icon_updated, {}, "i", "panel" ) || \'<i class="{{ premium_pricing_list_item_icon }}" aria-hidden="true"></i>\' }}} {{{ premium_pricing_list_item_text }}}'
416 ]
417 );
418
419 $this->add_responsive_control('premium_pricing_table_list_align',
420 [
421 'label' => __( 'Alignment', 'premium-addons-for-elementor' ),
422 'type' => Controls_Manager::CHOOSE,
423 'options' => [
424 'left' => [
425 'title' => __( 'Left', 'premium-addons-for-elementor' ),
426 'icon' => 'fa fa-align-left',
427 ],
428 'center' => [
429 'title' => __( 'Center', 'premium-addons-for-elementor' ),
430 'icon' => 'fa fa-align-center',
431 ],
432 'right' => [
433 'title' => __( 'Right', 'premium-addons-for-elementor' ),
434 'icon' => 'fa fa-align-right',
435 ],
436 ],
437 'selectors_dictionary' => [
438 'left' => 'flex-start',
439 'center' => 'center',
440 'right' => 'flex-end',
441 ],
442 'selectors' => [
443 '{{WRAPPER}} .premium-pricing-list .premium-pricing-list-item' => 'justify-content: {{VALUE}}',
444 ],
445 'default' => 'center',
446 ]
447 );
448
449 $this->end_controls_section();
450
451 /*Description Content Section*/
452 $this->start_controls_section('premium_pricing_table_description_section',
453 [
454 'label' => __('Description', 'premium-addons-for-elementor'),
455 'condition' => [
456 'premium_pricing_table_description_switcher' => 'yes',
457 ]
458 ]
459 );
460
461 $this->add_control('premium_pricing_table_description_text',
462 [
463 'label' => __('Description', 'premium-addons-for-elementor'),
464 'type' => Controls_Manager::WYSIWYG,
465 'dynamic' => [ 'active' => true ],
466 'default' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit'
467 ]
468 );
469
470 $this->end_controls_section();
471
472 $this->start_controls_section('premium_pricing_table_button_section',
473 [
474 'label' => __('Button', 'premium-addons-for-elementor'),
475 'condition' => [
476 'premium_pricing_table_button_switcher' => 'yes',
477 ]
478 ]
479 );
480
481 $this->add_control('premium_pricing_table_button_text',
482 [
483 'label' => __('Text', 'premium-addons-for-elementor'),
484 'default' => __('Get Started' , 'premium-addons-for-elementor'),
485 'type' => Controls_Manager::TEXT,
486 'dynamic' => [ 'active' => true ],
487 'label_block' => true,
488 ]
489 );
490
491 $this->add_control('premium_pricing_table_button_url_type',
492 [
493 'label' => __('Link Type', 'premium-addons-for-elementor'),
494 'type' => Controls_Manager::SELECT,
495 'options' => [
496 'url' => __('URL', 'premium-addons-for-elementor'),
497 'link' => __('Existing Page', 'premium-addons-for-elementor'),
498 ],
499 'default' => 'url',
500 'label_block' => true,
501 ]
502 );
503
504 $this->add_control('premium_pricing_table_button_link',
505 [
506 'label' => __('Link', 'premium-addons-for-elementor'),
507 'type' => Controls_Manager::TEXT,
508 'dynamic' => [
509 'active' => true,
510 'categories' => [
511 TagsModule::POST_META_CATEGORY,
512 TagsModule::URL_CATEGORY
513 ]
514 ],
515 'condition' => [
516 'premium_pricing_table_button_url_type' => 'url',
517 ],
518 'label_block' => true,
519 ]
520 );
521
522 $this->add_control('premium_pricing_table_button_link_existing_content',
523 [
524 'label' => __('Existing Page', 'premium-addons-for-elementor'),
525 'type' => Controls_Manager::SELECT2,
526 'options' => $this->getTemplateInstance()->get_all_posts(),
527 'condition' => [
528 'premium_pricing_table_button_url_type' => 'link',
529 ],
530 'multiple' => false,
531 'label_block' => true,
532 ]
533 );
534
535 $this->add_control('premium_pricing_table_button_link_target',
536 [
537 'label' => __('Link Target', 'premium-addons-for-elementor'),
538 'type' => Controls_Manager::SELECT,
539 'description' => __( ' Where would you like the link be opened?', 'premium-addons-for-elementor' ),
540 'options' => [
541 'blank' => 'Blank',
542 'parent' => 'Parent',
543 'self' => 'Self',
544 'top' => 'Top',
545 ],
546 'default' => 'blank' ,
547 'label_block' => true,
548 ]
549 );
550
551 $this->end_controls_section();
552
553 $this->start_controls_section('premium_pricing_table_ribbon_section',
554 [
555 'label' => __('Ribbon', 'premium-addons-for-elementor'),
556 'condition' => [
557 'premium_pricing_table_badge_switcher' => 'yes',
558 ]
559 ]
560 );
561
562 $this->add_control('ribbon_type',
563 [
564 'label' => __('Type', 'premium-addons-for-elementor'),
565 'type' => Controls_Manager::SELECT,
566 'options' => [
567 'triangle' => __('Triangle', 'premium-addons-for-elementor'),
568 'circle' => __('Circle', 'premium-addons-for-elementor'),
569 'stripe' => __('Stripe', 'premium-addons-for-elementor'),
570 'flag' => __('Flag', 'premium-addons-for-elementor'),
571 ],
572 'default' => 'triangle'
573 ]
574 );
575
576 $this->add_control('premium_pricing_table_badge_text',
577 [
578 'label' => __('Text', 'premium-addons-for-elementor'),
579 'default' => __('NEW', 'premium-addons-for-elementor'),
580 'type' => Controls_Manager::TEXT,
581 'dynamic' => [ 'active' => true ],
582 'label_block' => true,
583 ]
584 );
585
586 $this->add_responsive_control('premium_pricing_table_badge_left_size',
587 [
588 'label' => __('Size', 'premium-addons-for-elementor'),
589 'type' => Controls_Manager::SLIDER,
590 'range' => [
591 'px' => [
592 'min' => 1,
593 'max' => 300,
594 ],
595 ],
596 'selectors' => [
597 '{{WRAPPER}} .premium-badge-triangle.premium-badge-left .corner' => 'border-top-width: {{SIZE}}px; border-bottom-width: {{SIZE}}px; border-right-width: {{SIZE}}px;'
598 ],
599 'condition' => [
600 'ribbon_type' => 'triangle',
601 'premium_pricing_table_badge_position' => 'left'
602 ]
603 ]
604 );
605
606 $this->add_responsive_control('premium_pricing_table_badge_right_size',
607 [
608 'label' => __('Size', 'premium-addons-for-elementor'),
609 'type' => Controls_Manager::SLIDER,
610 'range' => [
611 'px' => [
612 'min' => 1,
613 'max' => 300,
614 ],
615 ],
616 'selectors' => [
617 '{{WRAPPER}} .premium-badge-triangle.premium-badge-right .corner' => 'border-right-width: {{SIZE}}px; border-bottom-width: {{SIZE}}px; border-left-width: {{SIZE}}px;'
618 ],
619 'condition' => [
620 'ribbon_type' => 'triangle',
621 'premium_pricing_table_badge_position' => 'right'
622 ]
623 ]
624 );
625
626 $this->add_responsive_control('circle_ribbon_size',
627 [
628 'label' => __('Size', 'premium-addons-for-elementor'),
629 'type' => Controls_Manager::SLIDER,
630 'range' => [
631 'px' => [
632 'min' => 1,
633 'max' => 10,
634 ],
635 ],
636 'selectors' => [
637 '{{WRAPPER}} .premium-badge-circle' => 'min-width: {{SIZE}}em; min-height: {{SIZE}}em; line-height: {{SIZE}}'
638 ],
639 'condition' => [
640 'ribbon_type' => 'circle'
641 ]
642 ]
643 );
644
645 $this->add_control('premium_pricing_table_badge_position',
646 [
647 'label' => __( 'Position', 'premium-addons-for-elementor' ),
648 'type' => Controls_Manager::CHOOSE,
649 'toggle' => false,
650 'options' => [
651 'left' => [
652 'title' => __( 'Left', 'premium-addons-for-elementor' ),
653 'icon' => 'eicon-h-align-left',
654 ],
655 'right' => [
656 'title' => __( 'Right', 'premium-addons-for-elementor' ),
657 'icon' => 'eicon-h-align-right',
658 ],
659 ],
660 'default' => 'right',
661 'condition' => [
662 'ribbon_type!' => 'flag'
663 ]
664 ]
665 );
666
667 $this->add_responsive_control('premium_pricing_table_badge_right_right',
668 [
669 'label' => __('Horizontal Offset', 'premium-addons-for-elementor'),
670 'type' => Controls_Manager::SLIDER,
671 'size_units'=> [ 'px', 'em', '%' ],
672 'range' => [
673 'px'=> [
674 'min' => 1,
675 'max' => 170,
676 ],
677 'em'=> [
678 'min' => 1,
679 'max' => 30,
680 ]
681 ],
682 'selectors' => [
683 '{{WRAPPER}} .premium-badge-right .corner span' => 'right: {{SIZE}}{{UNIT}}',
684 '{{WRAPPER}} .premium-badge-circle' => 'right: {{SIZE}}{{UNIT}}',
685 ],
686 'condition' => [
687 'ribbon_type!' => [ 'stripe', 'flag' ],
688 'premium_pricing_table_badge_position' => 'right'
689 ]
690 ]
691 );
692
693 $this->add_responsive_control('premium_pricing_table_badge_right_left',
694 [
695 'label' => __('Horizontal Offset', 'premium-addons-for-elementor'),
696 'type' => Controls_Manager::SLIDER,
697 'size_units'=> [ 'px', 'em', '%' ],
698 'range' => [
699 'px'=> [
700 'min' => 1,
701 'max' => 170,
702 ],
703 'em'=> [
704 'min' => 1,
705 'max' => 30,
706 ]
707 ],
708 'selectors' => [
709 '{{WRAPPER}} .premium-badge-left .corner span' => 'left: {{SIZE}}{{UNIT}}',
710 '{{WRAPPER}} .premium-badge-circle' => 'left: {{SIZE}}{{UNIT}}',
711 ],
712 'condition' => [
713 'ribbon_type!' => [ 'stripe', 'flag' ],
714 'premium_pricing_table_badge_position' => 'left'
715 ]
716 ]
717 );
718
719 $this->add_responsive_control('premium_pricing_table_badge_right_top',
720 [
721 'label' => __('Vertical Offset', 'premium-addons-for-elementor'),
722 'type' => Controls_Manager::SLIDER,
723 'size_units'=> [ 'px', 'em', '%'],
724 'range' => [
725 'px'=> [
726 'min' => 1,
727 'max' => 200,
728 ],
729 'em'=> [
730 'min' => 1,
731 'max' => 20,
732 ]
733 ],
734 'condition' => [
735 'ribbon_type!' => 'stripe'
736 ],
737 'selectors' => [
738 '{{WRAPPER}} .premium-pricing-badge-container .corner span' => 'top: {{SIZE}}{{UNIT}}',
739 '{{WRAPPER}} .premium-badge-circle , .premium-badge-flag .corner' => 'top: {{SIZE}}{{UNIT}}',
740 ],
741 ]
742 );
743
744 $this->end_controls_section();
745
746 $this->start_controls_section('premium_pricing_table_title',
747 [
748 'label' => __('Display Options', 'premium-addons-for-elementor'),
749 ]
750 );
751
752 $this->add_control('premium_pricing_table_icon_switcher',
753 [
754 'label' => __('Icon', 'premium-addons-for-elementor'),
755 'type' => Controls_Manager::SWITCHER,
756 ]
757 );
758
759 $this->add_control('premium_pricing_table_title_switcher',
760 [
761 'label' => __('Title', 'premium-addons-for-elementor'),
762 'type' => Controls_Manager::SWITCHER,
763 'default' => 'yes',
764 ]
765 );
766
767 $this->add_control('premium_pricing_table_price_switcher',
768 [
769 'label' => __('Price', 'premium-addons-for-elementor'),
770 'type' => Controls_Manager::SWITCHER,
771 'default' => 'yes',
772 ]
773 );
774
775 $this->add_control('premium_pricing_table_list_switcher',
776 [
777 'label' => __('Features', 'premium-addons-for-elementor'),
778 'type' => Controls_Manager::SWITCHER,
779 'default' => 'yes',
780 ]
781 );
782
783 $this->add_control('premium_pricing_table_description_switcher',
784 [
785 'label' => __('Description', 'premium-addons-for-elementor'),
786 'type' => Controls_Manager::SWITCHER,
787 ]
788 );
789
790 $this->add_control('premium_pricing_table_button_switcher',
791 [
792 'label' => __('Button', 'premium-addons-for-elementor'),
793 'type' => Controls_Manager::SWITCHER,
794 'default' => 'yes',
795 ]
796 );
797
798 $this->add_control('premium_pricing_table_badge_switcher',
799 [
800 'label' => __('Ribbon', 'premium-addons-for-elementor'),
801 'type' => Controls_Manager::SWITCHER,
802 'default' => 'yes',
803 ]
804 );
805
806 $this->end_controls_section();
807
808 $this->start_controls_section('premium_pricing_icon_style_settings',
809 [
810 'label' => __('Icon', 'premium-addons-for-elementor'),
811 'tab' => Controls_Manager::TAB_STYLE,
812 'condition' => [
813 'premium_pricing_table_icon_switcher' => 'yes',
814 ]
815 ]
816 );
817
818 $this->add_control('premium_pricing_icon_color',
819 [
820 'label' => __('Color', 'premium-addons-for-elementor'),
821 'type' => Controls_Manager::COLOR,
822 'scheme' => [
823 'type' => Scheme_Color::get_type(),
824 'value' => Scheme_Color::COLOR_2,
825 ],
826 'selectors' => [
827 '{{WRAPPER}} .premium-pricing-icon-container i' => 'color: {{VALUE}};'
828 ],
829 'condition' => [
830 'icon_type' => 'icon'
831 ]
832 ]
833 );
834
835 $this->add_responsive_control('premium_pricing_icon_size',
836 [
837 'label' => __('Size', 'premium-addons-for-elementor'),
838 'type' => Controls_Manager::SLIDER,
839 'size_units' => ['px', '%', 'em'],
840 'default' => [
841 'size' => 25,
842 'unit' => 'px'
843 ],
844 'selectors' => [
845 '{{WRAPPER}} .premium-pricing-icon-container i' => 'font-size: {{SIZE}}{{UNIT}}',
846 '{{WRAPPER}} .premium-pricing-icon-container svg' => 'width: {{SIZE}}px; height: {{SIZE}}{{UNIT}}'
847 ]
848 ]
849 );
850
851 $this->add_control('premium_pricing_icon_back_color',
852 [
853 'label' => __('Background Color', 'premium-addons-for-elementor'),
854 'type' => Controls_Manager::COLOR,
855 'scheme' => [
856 'type' => Scheme_Color::get_type(),
857 'value' => Scheme_Color::COLOR_1,
858 ],
859 'selectors' => [
860 '{{WRAPPER}} .premium-pricing-icon-container i, {{WRAPPER}} .premium-pricing-icon' => 'background-color: {{VALUE}};'
861 ]
862 ]
863 );
864
865 $this->add_responsive_control('premium_pricing_icon_inner_padding',
866 [
867 'label' => __('Padding', 'premium-addons-for-elementor'),
868 'type' => Controls_Manager::SLIDER,
869 'size_units' => ['px','em'],
870 'default' => [
871 'size' => 10,
872 'unit' => 'px'
873 ],
874 'selectors' => [
875 '{{WRAPPER}} .premium-pricing-icon-container i, {{WRAPPER}} .premium-pricing-icon' => 'padding: {{SIZE}}{{UNIT}};',
876 ]
877 ]
878 );
879
880 $this->add_group_control(
881 Group_Control_Border::get_type(),
882 [
883 'name' => 'premium_pricing_icon_inner_border',
884 'selector' => '{{WRAPPER}} .premium-pricing-icon-container i, {{WRAPPER}} .premium-pricing-icon',
885 ]
886 );
887
888 $this->add_control('premium_pricing_icon_inner_radius',
889 [
890 'label' => __('Border Radius', 'premium-addons-for-elementor'),
891 'type' => Controls_Manager::SLIDER,
892 'size_units' => ['px', '%' , 'em'],
893 'default' => [
894 'size' => 100,
895 'unit' => 'px'
896 ],
897 'selectors' => [
898 '{{WRAPPER}} .premium-pricing-icon-container i, {{WRAPPER}} .premium-pricing-icon' => 'border-radius: {{SIZE}}{{UNIT}};',
899 ],
900 'separator' => 'after'
901 ]
902 );
903
904 $this->add_control('premium_pricing_icon_container_heading',
905 [
906 'label' => __('Container', 'premium-addons-for-elementor'),
907 'type' => Controls_Manager::HEADING,
908 ]
909 );
910
911 $this->add_group_control(
912 Group_Control_Background::get_type(),
913 [
914 'name' => 'premium_pricing_table_icon_background',
915 'types' => [ 'classic' , 'gradient' ],
916 'selector' => '{{WRAPPER}} .premium-pricing-icon-container',
917 ]
918 );
919
920 $this->add_group_control(
921 Group_Control_Border::get_type(),
922 [
923 'name' => 'premium_pricing_icon_border',
924 'selector' => '{{WRAPPER}} .premium-pricing-icon-container',
925 ]
926 );
927
928 $this->add_control('premium_pricing_icon_border_radius',
929 [
930 'label' => __('Border Radius', 'premium-addons-for-elementor'),
931 'type' => Controls_Manager::SLIDER,
932 'size_units' => ['px', '%' ,'em'],
933 'selectors' => [
934 '{{WRAPPER}} .premium-pricing-icon-container' => 'border-radius: {{SIZE}}{{UNIT}};'
935 ]
936 ]
937 );
938
939 $this->add_responsive_control('premium_pricing_icon_margin',
940 [
941 'label' => __('Margin', 'premium-addons-for-elementor'),
942 'type' => Controls_Manager::DIMENSIONS,
943 'size_units' => ['px', 'em', '%'],
944 'default' => [
945 'top' => 50,
946 'right' => 0,
947 'bottom'=> 20,
948 'left' => 0,
949 'unit' => 'px',
950 ],
951 'selectors' => [
952 '{{WRAPPER}} .premium-pricing-icon-container' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
953 ]
954 ]
955 );
956
957 /*Icon Padding*/
958 $this->add_responsive_control('premium_pricing_icon_padding',
959 [
960 'label' => __('Padding', 'premium-addons-for-elementor'),
961 'type' => Controls_Manager::DIMENSIONS,
962 'size_units' => ['px', 'em', '%'],
963 'default' => [
964 'top' => 0,
965 'right' => 0,
966 'bottom'=> 0,
967 'left' => 0,
968 'unit' => 'px',
969 ],
970 'selectors' => [
971 '{{WRAPPER}} .premium-pricing-icon-container' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
972 ]
973 ]
974 );
975
976 $this->end_controls_section();
977
978 $this->start_controls_section('premium_pricing_title_style_settings',
979 [
980 'label' => __('Title', 'premium-addons-for-elementor'),
981 'tab' => Controls_Manager::TAB_STYLE,
982 'condition' => [
983 'premium_pricing_table_title_switcher' => 'yes',
984 ]
985 ]
986 );
987
988 $this->add_control('premium_pricing_title_color',
989 [
990 'label' => __('Color', 'premium-addons-for-elementor'),
991 'type' => Controls_Manager::COLOR,
992 'scheme' => [
993 'type' => Scheme_Color::get_type(),
994 'value' => Scheme_Color::COLOR_1,
995 ],
996 'selectors' => [
997 '{{WRAPPER}} .premium-pricing-table-title' => 'color: {{VALUE}};'
998 ]
999 ]
1000 );
1001
1002 $this->add_group_control(
1003 Group_Control_Typography::get_type(),
1004 [
1005 'name' => 'title_typo',
1006 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1007 'selector' => '{{WRAPPER}} .premium-pricing-table-title',
1008 ]
1009 );
1010
1011 $this->add_group_control(
1012 Group_Control_Background::get_type(),
1013 [
1014 'name' => 'premium_pricing_table_title_background',
1015 'types' => [ 'classic' , 'gradient' ],
1016 'selector' => '{{WRAPPER}} .premium-pricing-table-title',
1017 ]
1018 );
1019
1020 $this->add_responsive_control('premium_pricing_title_margin',
1021 [
1022 'label' => __('Margin', 'premium-addons-for-elementor'),
1023 'type' => Controls_Manager::DIMENSIONS,
1024 'size_units' => ['px', 'em', '%'],
1025 'default' => [
1026 'top' => 0,
1027 'right' => 0,
1028 'bottom'=> 0,
1029 'left' => 0,
1030 'unit' => 'px',
1031 ],
1032 'selectors' => [
1033 '{{WRAPPER}} .premium-pricing-table-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1034 ]
1035 ]
1036 );
1037
1038 $this->add_responsive_control('premium_pricing_title_padding',
1039 [
1040 'label' => __('Padding', 'premium-addons-for-elementor'),
1041 'type' => Controls_Manager::DIMENSIONS,
1042 'size_units' => ['px', 'em', '%'],
1043 'default' => [
1044 'top' => 0,
1045 'right' => 0,
1046 'bottom'=> 20,
1047 'left' => 0,
1048 'unit' => 'px',
1049 ],
1050 'selectors' => [
1051 '{{WRAPPER}} .premium-pricing-table-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1052 ]
1053 ]
1054 );
1055
1056 $this->end_controls_section();
1057
1058 $this->start_controls_section('premium_pricing_price_style_settings',
1059 [
1060 'label' => __('Price', 'premium-addons-for-elementor'),
1061 'tab' => Controls_Manager::TAB_STYLE,
1062 'condition' => [
1063 'premium_pricing_table_price_switcher' => 'yes',
1064 ]
1065 ]
1066 );
1067
1068 $this->add_control('premium_pricing_slashed_price_heading',
1069 [
1070 'label' => __('Slashed Price', 'premium-addons-for-elementor'),
1071 'type' => Controls_Manager::HEADING,
1072 ]
1073 );
1074
1075 $this->add_control('premium_pricing_slashed_price_color',
1076 [
1077 'label' => __('Color', 'premium-addons-for-elementor'),
1078 'type' => Controls_Manager::COLOR,
1079 'scheme' => [
1080 'type' => Scheme_Color::get_type(),
1081 'value' => Scheme_Color::COLOR_1,
1082 ],
1083 'selectors' => [
1084 '{{WRAPPER}} .premium-pricing-slashed-price-value' => 'color: {{VALUE}};'
1085 ],
1086 ]
1087 );
1088
1089 $this->add_group_control(
1090 Group_Control_Typography::get_type(),
1091 [
1092 'name' => 'slashed_price_typo',
1093 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1094 'selector' => '{{WRAPPER}} .premium-pricing-slashed-price-value',
1095 ]
1096 );
1097
1098 $this->add_responsive_control('premium_pricing_slashed_price_margin',
1099 [
1100 'label' => __('Margin', 'premium-addons-for-elementor'),
1101 'type' => Controls_Manager::DIMENSIONS,
1102 'size_units' => ['px', 'em', '%'],
1103 'selectors' => [
1104 '{{WRAPPER}} .premium-pricing--slashed-price-value' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1105 ]
1106 ]
1107 );
1108
1109 $this->add_control('premium_pricing_currency_heading',
1110 [
1111 'label' => __('Currency', 'premium-addons-for-elementor'),
1112 'type' => Controls_Manager::HEADING,
1113 ]
1114 );
1115
1116 $this->add_control('premium_pricing_currency_color',
1117 [
1118 'label' => __('Color', 'premium-addons-for-elementor'),
1119 'type' => Controls_Manager::COLOR,
1120 'scheme' => [
1121 'type' => Scheme_Color::get_type(),
1122 'value' => Scheme_Color::COLOR_1,
1123 ],
1124 'selectors' => [
1125 '{{WRAPPER}} .premium-pricing-price-currency' => 'color: {{VALUE}};'
1126 ],
1127 ]
1128 );
1129
1130 $this->add_group_control(
1131 Group_Control_Typography::get_type(),
1132 [
1133 'label' => __('Typography', 'premium-addons-for-elementor'),
1134 'name' => 'currency_typo',
1135 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1136 'selector' => '{{WRAPPER}} .premium-pricing-price-currency',
1137 ]
1138 );
1139
1140 $this->add_responsive_control('premium_pricing_currency_align',
1141 [
1142 'label' => __( 'Vertical Align', 'premium-addons-for-elementor' ),
1143 'type' => Controls_Manager::CHOOSE,
1144 'options' => [
1145 'top' => [
1146 'title'=> __( 'Top', 'premium-addons-for-elementor' ),
1147 'icon' => 'fa fa-long-arrow-up',
1148 ],
1149 'unset' => [
1150 'title'=> __( 'Unset', 'premium-addons-for-elementor' ),
1151 'icon' => 'fa fa-align-justify',
1152 ],
1153 'bottom' => [
1154 'title'=> __( 'Bottom', 'premium-addons-for-elementor' ),
1155 'icon' => 'fa fa-long-arrow-down',
1156 ],
1157 ],
1158 'default' => 'unset',
1159 'selectors' => [
1160 '{{WRAPPER}} .premium-pricing-price-currency' => 'vertical-align: {{VALUE}};',
1161 ],
1162 'label_block' => false
1163 ]
1164 );
1165
1166 $this->add_responsive_control('premium_pricing_currency_margin',
1167 [
1168 'label' => __('Margin', 'premium-addons-for-elementor'),
1169 'type' => Controls_Manager::DIMENSIONS,
1170 'size_units' => ['px', 'em', '%'],
1171 'selectors' => [
1172 '{{WRAPPER}} .premium-pricing-price-currency' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1173 'separator' => 'after'
1174 ]
1175 ]
1176 );
1177
1178
1179 $this->add_control('premium_pricing_price_heading',
1180 [
1181 'label' => __('Price', 'premium-addons-for-elementor'),
1182 'type' => Controls_Manager::HEADING,
1183 ]
1184 );
1185
1186 /*Price Color*/
1187 $this->add_control('premium_pricing_price_color',
1188 [
1189 'label' => __('Color', 'premium-addons-for-elementor'),
1190 'type' => Controls_Manager::COLOR,
1191 'scheme' => [
1192 'type' => Scheme_Color::get_type(),
1193 'value' => Scheme_Color::COLOR_1,
1194 ],
1195 'selectors' => [
1196 '{{WRAPPER}} .premium-pricing-price-value' => 'color: {{VALUE}};'
1197 ],
1198 'separator' => 'before'
1199 ]
1200 );
1201
1202 /*Price Typo*/
1203 $this->add_group_control(
1204 Group_Control_Typography::get_type(),
1205 [
1206 'label' => __('Typography', 'premium-addons-for-elementor'),
1207 'name' => 'price_typo',
1208 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1209 'selector' => '{{WRAPPER}} .premium-pricing-price-value',
1210 ]
1211 );
1212
1213 $this->add_responsive_control('premium_pricing_price_margin',
1214 [
1215 'label' => __('Margin', 'premium-addons-for-elementor'),
1216 'type' => Controls_Manager::DIMENSIONS,
1217 'size_units' => ['px', 'em', '%'],
1218 'selectors' => [
1219 '{{WRAPPER}} .premium-pricing-price-value' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1220 ]
1221 ]
1222 );
1223
1224 $this->add_control('premium_pricing_sep_heading',
1225 [
1226 'label' => __('Divider', 'premium-addons-for-elementor'),
1227 'type' => Controls_Manager::HEADING,
1228 ]
1229 );
1230
1231 /*Separator Color*/
1232 $this->add_control('premium_pricing_sep_color',
1233 [
1234 'label' => __('Color', 'premium-addons-for-elementor'),
1235 'type' => Controls_Manager::COLOR,
1236 'scheme' => [
1237 'type' => Scheme_Color::get_type(),
1238 'value' => Scheme_Color::COLOR_1,
1239 ],
1240 'selectors' => [
1241 '{{WRAPPER}} .premium-pricing-price-separator' => 'color: {{VALUE}};'
1242 ],
1243 'separator' => 'before'
1244 ]
1245 );
1246
1247 /*Separator Typo*/
1248 $this->add_group_control(
1249 Group_Control_Typography::get_type(),
1250 [
1251 'label' => __('Typography', 'premium-addons-for-elementor'),
1252 'name' => 'separator_typo',
1253 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1254 'selector' => '{{WRAPPER}} .premium-pricing-price-separator',
1255 ]
1256 );
1257
1258 $this->add_responsive_control('premium_pricing_sep_margin',
1259 [
1260 'label' => __('Margin', 'premium-addons-for-elementor'),
1261 'type' => Controls_Manager::DIMENSIONS,
1262 'size_units' => ['px', 'em', '%'],
1263 'default' => [
1264 'top' => 0,
1265 'right' => 0,
1266 'bottom'=> 20,
1267 'left' => -15,
1268 'unit' => 'px',
1269 ],
1270 'selectors' => [
1271 '{{WRAPPER}} .premium-pricing-price-separator' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1272 ]
1273 ]
1274 );
1275
1276 $this->add_control('premium_pricing_dur_heading',
1277 [
1278 'label' => __('Duration', 'premium-addons-for-elementor'),
1279 'type' => Controls_Manager::HEADING,
1280 ]
1281 );
1282
1283 /*Duration Color*/
1284 $this->add_control('premium_pricing_dur_color',
1285 [
1286 'label' => __('Color', 'premium-addons-for-elementor'),
1287 'type' => Controls_Manager::COLOR,
1288 'scheme' => [
1289 'type' => Scheme_Color::get_type(),
1290 'value' => Scheme_Color::COLOR_1,
1291 ],
1292 'selectors' => [
1293 '{{WRAPPER}} .premium-pricing-price-duration' => 'color: {{VALUE}};'
1294 ],
1295 'separator' => 'before'
1296 ]
1297 );
1298
1299 /*Duration Typography*/
1300 $this->add_group_control(
1301 Group_Control_Typography::get_type(),
1302 [
1303 'label' => __('Typography', 'premium-addons-for-elementor'),
1304 'name' => 'duration_typo',
1305 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1306 'selector' => '{{WRAPPER}} .premium-pricing-price-duration',
1307 ]
1308 );
1309
1310 $this->add_responsive_control('premium_pricing_dur_margin',
1311 [
1312 'label' => __('Margin', 'premium-addons-for-elementor'),
1313 'type' => Controls_Manager::DIMENSIONS,
1314 'size_units' => ['px', 'em', '%'],
1315 'selectors' => [
1316 '{{WRAPPER}} .premium-pricing-price-duration' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1317 'separator' => 'after'
1318 ]
1319 ]
1320 );
1321
1322 $this->add_control('premium_pricing_price_container_heading',
1323 [
1324 'label' => __('Container', 'premium-addons-for-elementor'),
1325 'type' => Controls_Manager::HEADING,
1326 ]
1327 );
1328
1329 /*Price Background*/
1330 $this->add_group_control(
1331 Group_Control_Background::get_type(),
1332 [
1333 'name' => 'premium_pricing_table_price_background',
1334 'types' => [ 'classic' , 'gradient' ],
1335 'selector' => '{{WRAPPER}} .premium-pricing-price-container',
1336 ]
1337 );
1338
1339 /*Price Margin*/
1340 $this->add_responsive_control('premium_pricing_price_container_margin',
1341 [
1342 'label' => __('Margin', 'premium-addons-for-elementor'),
1343 'type' => Controls_Manager::DIMENSIONS,
1344 'size_units' => ['px', 'em', '%'],
1345 'default' => [
1346 'top' => 16,
1347 'right' => 0,
1348 'bottom' => 16,
1349 'left' => 0,
1350 'unit' => 'px',
1351 ],
1352 'selectors' => [
1353 '{{WRAPPER}} .premium-pricing-price-container' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1354 ]
1355 ]
1356 );
1357
1358 /*Price Padding*/
1359 $this->add_responsive_control('premium_pricing_price_padding',
1360 [
1361 'label' => __('Padding', 'premium-addons-for-elementor'),
1362 'type' => Controls_Manager::DIMENSIONS,
1363 'size_units' => ['px', 'em', '%'],
1364 'selectors' => [
1365 '{{WRAPPER}} .premium-pricing-price-container' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1366 ]
1367 ]
1368 );
1369
1370 $this->end_controls_section();
1371
1372 $this->start_controls_section('premium_pricing_list_style_settings',
1373 [
1374 'label' => __('Features', 'premium-addons-for-elementor'),
1375 'tab' => Controls_Manager::TAB_STYLE,
1376 'condition' => [
1377 'premium_pricing_table_list_switcher' => 'yes',
1378 ]
1379 ]
1380 );
1381
1382 $this->add_control('premium_pricing_features_text_heading',
1383 [
1384 'label' => __('Text', 'premium-addons-for-elementor'),
1385 'type' => Controls_Manager::HEADING,
1386 ]
1387 );
1388
1389 $this->add_control('premium_pricing_list_text_color',
1390 [
1391 'label' => __('Color', 'premium-addons-for-elementor'),
1392 'type' => Controls_Manager::COLOR,
1393 'scheme' => [
1394 'type' => Scheme_Color::get_type(),
1395 'value' => Scheme_Color::COLOR_2,
1396 ],
1397 'selectors' => [
1398 '{{WRAPPER}} .premium-pricing-list-span' => 'color: {{VALUE}};'
1399 ]
1400 ]
1401 );
1402
1403 $this->add_group_control(
1404 Group_Control_Typography::get_type(),
1405 [
1406 'name' => 'list_typo',
1407 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1408 'selector' => '{{WRAPPER}} .premium-pricing-list .premium-pricing-list-span',
1409 ]
1410 );
1411
1412 $this->add_control('premium_pricing_features_icon_heading',
1413 [
1414 'label' => __('Icon', 'premium-addons-for-elementor'),
1415 'type' => Controls_Manager::HEADING,
1416 'separator' => 'before'
1417 ]
1418 );
1419
1420 $this->add_control('premium_pricing_list_icon_color',
1421 [
1422 'label' => __('Color', 'premium-addons-for-elementor'),
1423 'type' => Controls_Manager::COLOR,
1424 'scheme' => [
1425 'type' => Scheme_Color::get_type(),
1426 'value' => Scheme_Color::COLOR_1,
1427 ],
1428 'selectors' => [
1429 '{{WRAPPER}} .premium-pricing-feature-icon' => 'color: {{VALUE}};'
1430 ]
1431 ]
1432 );
1433
1434 $this->add_responsive_control('premium_pricing_list_icon_size',
1435 [
1436 'label' => __('Size', 'premium-addons-for-elementor'),
1437 'type' => Controls_Manager::SLIDER,
1438 'selectors' => [
1439 '{{WRAPPER}} .premium-pricing-list i' => 'font-size: {{SIZE}}px',
1440 '{{WRAPPER}} .premium-pricing-list svg' => 'width: {{SIZE}}px; height: {{SIZE}}px',
1441 ]
1442 ]
1443 );
1444
1445 $this->add_responsive_control('premium_pricing_list_icon_spacing',
1446 [
1447 'label' => __('Spacing', 'premium-addons-for-elementor'),
1448 'type' => Controls_Manager::SLIDER,
1449 'default' => [
1450 'size' => 5
1451 ],
1452 'selectors' => [
1453 '{{WRAPPER}} .premium-pricing-feature-icon' => 'margin-right: {{SIZE}}px',
1454 ],
1455 ]
1456 );
1457
1458 $this->add_responsive_control('premium_pricing_list_item_margin',
1459 [
1460 'label' => __('Vertical Spacing', 'premium-addons-for-elementor'),
1461 'type' => Controls_Manager::SLIDER,
1462 'selectors' => [
1463 '{{WRAPPER}} .premium-pricing-list .premium-pricing-list-item' => 'margin-bottom: {{SIZE}}px;'
1464 ],
1465 'separator' => 'after'
1466 ]
1467 );
1468
1469 $this->add_control('premium_pricing_features_container_heading',
1470 [
1471 'label' => __('Container', 'premium-addons-for-elementor'),
1472 'type' => Controls_Manager::HEADING,
1473 ]
1474 );
1475
1476 $this->add_group_control(
1477 Group_Control_Background::get_type(),
1478 [
1479 'name' => 'premium_pricing_list_background',
1480 'types' => [ 'classic' , 'gradient' ],
1481 'selector' => '{{WRAPPER}} .premium-pricing-list-container',
1482 ]
1483 );
1484
1485 /*List Border*/
1486 $this->add_group_control(
1487 Group_Control_Border::get_type(),
1488 [
1489 'name' => 'premium_pricing_list_border',
1490 'selector' => '{{WRAPPER}} .premium-pricing-list-container',
1491 ]
1492 );
1493
1494 /*List Border Radius*/
1495 $this->add_control('premium_pricing_list_border_radius',
1496 [
1497 'label' => __('Border Radius', 'premium-addons-for-elementor'),
1498 'type' => Controls_Manager::SLIDER,
1499 'size_units' => ['px', 'em' , '%'],
1500 'selectors' => [
1501 '{{WRAPPER}} .premium-pricing-list-container' => 'border-radius: {{SIZE}}{{UNIT}};'
1502 ]
1503 ]
1504 );
1505
1506 /*List Margin*/
1507 $this->add_responsive_control('premium_pricing_list_margin',
1508 [
1509 'label' => __('Margin', 'premium-addons-for-elementor'),
1510 'type' => Controls_Manager::DIMENSIONS,
1511 'size_units' => ['px', 'em', '%'],
1512 'default' => [
1513 'top' => 30,
1514 'right' => 0,
1515 'bottom' => 30,
1516 'left' => 0,
1517 'unit' => 'px',
1518 ],
1519 'selectors' => [
1520 '{{WRAPPER}} .premium-pricing-list-container' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1521 ]
1522 ]);
1523
1524 /*List Padding*/
1525 $this->add_responsive_control('premium_pricing_list_padding',
1526 [
1527 'label' => __('Padding', 'premium-addons-for-elementor'),
1528 'type' => Controls_Manager::DIMENSIONS,
1529 'size_units' => ['px', 'em', '%'],
1530 'selectors' => [
1531 '{{WRAPPER}} .premium-pricing-list-container' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1532 ]
1533 ]);
1534
1535 $this->end_controls_section();
1536
1537 $this->start_controls_section('tooltips_style',
1538 [
1539 'label' => __('Tooltips', 'premium-addons-for-elementor'),
1540 'tab' => Controls_Manager::TAB_STYLE,
1541 'condition' => [
1542 'premium_pricing_table_list_switcher' => 'yes',
1543 ]
1544 ]
1545 );
1546
1547 $this->add_responsive_control('tooltips_align',
1548 [
1549 'label' => __( 'Alignment', 'premium-addons-for-elementor' ),
1550 'type' => Controls_Manager::CHOOSE,
1551 'options' => [
1552 'left' => [
1553 'title' => __( 'Left', 'premium-addons-for-elementor' ),
1554 'icon' => 'fa fa-align-left',
1555 ],
1556 'center' => [
1557 'title' => __( 'Center', 'premium-addons-for-elementor' ),
1558 'icon' => 'fa fa-align-center',
1559 ],
1560 'right' => [
1561 'title' => __( 'Right', 'premium-addons-for-elementor' ),
1562 'icon' => 'fa fa-align-right',
1563 ],
1564 ],
1565 'selectors' => [
1566 '{{WRAPPER}} .premium-pricing-list-tooltip' => 'text-align: {{VALUE}}',
1567 ],
1568 ]
1569 );
1570
1571 $this->add_responsive_control('tooltips_width',
1572 [
1573 'label' => __('Width', 'premium-addons-for-elementor'),
1574 'type' => Controls_Manager::SLIDER,
1575 'range' => [
1576 'px' => [
1577 'min' => 1,
1578 'min' => 400,
1579 ]
1580 ],
1581 'selectors' => [
1582 '{{WRAPPER}} .premium-pricing-list-tooltip' => 'min-width: {{SIZE}}px;'
1583 ]
1584 ]
1585 );
1586
1587 $this->add_control('tooltips_color',
1588 [
1589 'label' => __('Color', 'premium-addons-for-elementor'),
1590 'type' => Controls_Manager::COLOR,
1591 'selectors' => [
1592 '{{WRAPPER}} .premium-pricing-list-tooltip' => 'color: {{VALUE}};'
1593 ]
1594 ]
1595 );
1596
1597 $this->add_group_control(
1598 Group_Control_Typography::get_type(),
1599 [
1600 'name' => 'tooltips_typo',
1601 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1602 'selector' => '{{WRAPPER}} .premium-pricing-list-tooltip',
1603 ]
1604 );
1605
1606 $this->add_control('tooltips_background_color',
1607 [
1608 'label' => __('Background Color', 'premium-addons-for-elementor'),
1609 'type' => Controls_Manager::COLOR,
1610 'selectors' => [
1611 '{{WRAPPER}} .premium-pricing-list-tooltip' => 'background-color: {{VALUE}};'
1612 ]
1613 ]
1614 );
1615
1616 $this->add_control('tooltips_border_color',
1617 [
1618 'label' => __('Border Color', 'premium-addons-for-elementor'),
1619 'type' => Controls_Manager::COLOR,
1620 'selectors' => [
1621 '{{WRAPPER}} .list-item-tooltip' => 'border-color: {{VALUE}};'
1622 ]
1623 ]
1624 );
1625
1626 $this->end_controls_section();
1627
1628 $this->start_controls_section('premium_pricing_description_style_settings',
1629 [
1630 'label' => __('Description', 'premium-addons-for-elementor'),
1631 'tab' => Controls_Manager::TAB_STYLE,
1632 'condition' => [
1633 'premium_pricing_table_description_switcher' => 'yes',
1634 ]
1635 ]
1636 );
1637
1638 $this->add_control('premium_pricing_desc_text_heading',
1639 [
1640 'label' => __('Text', 'premium-addons-for-elementor'),
1641 'type' => Controls_Manager::HEADING,
1642 ]
1643 );
1644
1645 $this->add_control('premium_pricing_desc_color',
1646 [
1647 'label' => __('Color', 'premium-addons-for-elementor'),
1648 'type' => Controls_Manager::COLOR,
1649 'scheme' => [
1650 'type' => Scheme_Color::get_type(),
1651 'value' => Scheme_Color::COLOR_2,
1652 ],
1653 'selectors' => [
1654 '{{WRAPPER}} .premium-pricing-description-container' => 'color: {{VALUE}};'
1655 ]
1656 ]
1657 );
1658
1659 $this->add_group_control(
1660 Group_Control_Typography::get_type(),
1661 [
1662 'name' => 'description_typo',
1663 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1664 'selector' => '{{WRAPPER}} .premium-pricing-description-container',
1665 ]
1666 );
1667
1668 $this->add_control('premium_pricing_desc_container_heading',
1669 [
1670 'label' => __('Container', 'premium-addons-for-elementor'),
1671 'type' => Controls_Manager::HEADING,
1672 ]
1673 );
1674
1675 $this->add_group_control(
1676 Group_Control_Background::get_type(),
1677 [
1678 'name' => 'premium_pricing_table_desc_background',
1679 'types' => [ 'classic' , 'gradient' ],
1680 'selector' => '{{WRAPPER}} .premium-pricing-description-container',
1681 ]
1682 );
1683
1684 $this->add_responsive_control('premium_pricing_desc_margin',
1685 [
1686 'label' => __('Margin', 'premium-addons-for-elementor'),
1687 'type' => Controls_Manager::DIMENSIONS,
1688 'size_units' => ['px', 'em', '%'],
1689 'default' => [
1690 'top' => 16,
1691 'right' => 0,
1692 'bottom' => 16,
1693 'left' => 0,
1694 'unit' => 'px',
1695 ],
1696 'selectors' => [
1697 '{{WRAPPER}} .premium-pricing-description-container' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1698 ]
1699 ]
1700 );
1701
1702 $this->add_responsive_control('premium_pricing_desc_padding',
1703 [
1704 'label' => __('Padding', 'premium-addons-for-elementor'),
1705 'type' => Controls_Manager::DIMENSIONS,
1706 'size_units' => ['px', 'em', '%'],
1707 'selectors' => [
1708 '{{WRAPPER}} .premium-pricing-description-container' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1709 ]
1710 ]
1711 );
1712
1713 $this->end_controls_section();
1714
1715 $this->start_controls_section('premium_pricing_button_style_settings',
1716 [
1717 'label' => __('Button', 'premium-addons-for-elementor'),
1718 'tab' => Controls_Manager::TAB_STYLE,
1719 'condition' => [
1720 'premium_pricing_table_button_switcher' => 'yes',
1721 ]
1722 ]
1723 );
1724
1725 $this->add_control('premium_pricing_button_color',
1726 [
1727 'label' => __('Color', 'premium-addons-for-elementor'),
1728 'type' => Controls_Manager::COLOR,
1729 'scheme' => [
1730 'type' => Scheme_Color::get_type(),
1731 'value' => Scheme_Color::COLOR_2,
1732 ],
1733 'selectors' => [
1734 '{{WRAPPER}} .premium-pricing-price-button' => 'color: {{VALUE}};'
1735 ]
1736 ]
1737 );
1738
1739 $this->add_control('premium_pricing_button_hover_color',
1740 [
1741 'label' => __('Hover Text Color', 'premium-addons-for-elementor'),
1742 'type' => Controls_Manager::COLOR,
1743 'scheme' => [
1744 'type' => Scheme_Color::get_type(),
1745 'value' => Scheme_Color::COLOR_2,
1746 ],
1747 'selectors' => [
1748 '{{WRAPPER}} .premium-pricing-price-button:hover' => 'color: {{VALUE}};'
1749 ]
1750 ]
1751 );
1752
1753 $this->add_group_control(
1754 Group_Control_Typography::get_type(),
1755 [
1756 'name' => 'button_typo',
1757 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1758 'selector' => '{{WRAPPER}} .premium-pricing-price-button',
1759 ]
1760 );
1761
1762 $this->start_controls_tabs('premium_pricing_table_button_style_tabs');
1763
1764 $this->start_controls_tab('premium_pricing_table_button_style_normal',
1765 [
1766 'label' => __('Normal', 'premium-addons-for-elementor'),
1767 ]
1768 );
1769
1770 $this->add_group_control(
1771 Group_Control_Background::get_type(),
1772 [
1773 'name' => 'premium_pricing_table_button_background',
1774 'types' => [ 'classic' , 'gradient' ],
1775 'selector' => '{{WRAPPER}} .premium-pricing-price-button',
1776 ]
1777 );
1778
1779 $this->add_group_control(
1780 Group_Control_Border::get_type(),
1781 [
1782 'name' => 'premium_pricing_table_button_border',
1783 'selector' => '{{WRAPPER}} .premium-pricing-price-button',
1784 ]
1785 );
1786
1787 $this->add_control('premium_pricing_table_box_button_radius',
1788 [
1789 'label' => __('Border Radius', 'premium-addons-for-elementor'),
1790 'type' => Controls_Manager::SLIDER,
1791 'size_units' => ['px', 'em' , '%'],
1792 'selectors' => [
1793 '{{WRAPPER}} .premium-pricing-price-button' => 'border-radius: {{SIZE}}{{UNIT}};'
1794 ]
1795 ]
1796 );
1797
1798 $this->add_group_control(
1799 Group_Control_Box_Shadow::get_type(),
1800 [
1801 'label' => __('Shadow','premium-addons-for-elementor'),
1802 'name' => 'premium_pricing_table_button_box_shadow',
1803 'selector' => '{{WRAPPER}} .premium-pricing-price-button',
1804 ]
1805 );
1806
1807 $this->add_responsive_control('premium_pricing_button_margin',
1808 [
1809 'label' => __('Margin', 'premium-addons-for-elementor'),
1810 'type' => Controls_Manager::DIMENSIONS,
1811 'size_units' => ['px', 'em', '%'],
1812 'selectors' => [
1813 '{{WRAPPER}} .premium-pricing-price-button' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1814 ]
1815 ]
1816 );
1817
1818 $this->add_responsive_control('premium_pricing_button_padding',
1819 [
1820 'label' => __('Padding', 'premium-addons-for-elementor'),
1821 'type' => Controls_Manager::DIMENSIONS,
1822 'size_units' => ['px', 'em', '%'],
1823 'default' => [
1824 'top' => 20,
1825 'right' => 0,
1826 'bottom' => 20,
1827 'left' => 0,
1828 'unit' => 'px',
1829 ],
1830 'selectors' => [
1831 '{{WRAPPER}} .premium-pricing-price-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1832 ]
1833 ]
1834 );
1835
1836 $this->end_controls_tab();
1837
1838 $this->start_controls_tab('premium_pricing_table_button_style_hover',
1839 [
1840 'label' => __('Hover', 'premium-addons-for-elementor'),
1841 ]
1842 );
1843
1844 $this->add_group_control(
1845 Group_Control_Background::get_type(),
1846 [
1847 'name' => 'premium_pricing_table_button_background_hover',
1848 'types' => [ 'classic' , 'gradient' ],
1849 'selector' => '{{WRAPPER}} .premium-pricing-price-button:hover',
1850 ]
1851 );
1852
1853 $this->add_group_control(
1854 Group_Control_Border::get_type(),
1855 [
1856 'name' => 'premium_pricing_table_button_border_hover',
1857 'selector' => '{{WRAPPER}} .premium-pricing-price-button:hover',
1858 ]
1859 );
1860
1861 $this->add_control('premium_pricing_table_button_border_radius_hover',
1862 [
1863 'label' => __('Border Radius', 'premium-addons-for-elementor'),
1864 'type' => Controls_Manager::SLIDER,
1865 'size_units' => ['px', 'em' , '%' ],
1866 'selectors' => [
1867 '{{WRAPPER}} .premium-pricing-price-button:hover' => 'border-radius: {{SIZE}}{{UNIT}};'
1868 ]
1869 ]
1870 );
1871
1872 $this->add_group_control(
1873 Group_Control_Box_Shadow::get_type(),
1874 [
1875 'label' => __('Shadow','premium-addons-for-elementor'),
1876 'name' => 'premium_pricing_table_button_shadow_hover',
1877 'selector' => '{{WRAPPER}} .premium-pricing-price-button:hover',
1878 ]
1879 );
1880
1881 $this->add_responsive_control('premium_pricing_button_margin_hover',
1882 [
1883 'label' => __('Margin', 'premium-addons-for-elementor'),
1884 'type' => Controls_Manager::DIMENSIONS,
1885 'size_units' => ['px', 'em', '%'],
1886 'selectors' => [
1887 '{{WRAPPER}} .premium-pricing-price-button:hover' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1888 ]
1889 ]
1890 );
1891
1892 $this->add_responsive_control('premium_pricing_button_padding_hover',
1893 [
1894 'label' => __('Padding', 'premium-addons-for-elementor'),
1895 'type' => Controls_Manager::DIMENSIONS,
1896 'default' => [
1897 'top' => 20,
1898 'right' => 0,
1899 'bottom' => 20,
1900 'left' => 0,
1901 'unit' => 'px',
1902 ],
1903 'size_units' => ['px', 'em', '%'],
1904 'selectors' => [
1905 '{{WRAPPER}} .premium-pricing-price-button:hover' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1906 ]
1907 ]);
1908
1909
1910 $this->end_controls_tab();
1911
1912 $this->end_controls_tabs();
1913
1914 $this->end_controls_section();
1915
1916 $this->start_controls_section('premium_pricing_table_badge_style',
1917 [
1918 'label' => __('Ribbon', 'premium-addons-for-elementor'),
1919 'tab' => Controls_Manager::TAB_STYLE,
1920 'condition' => [
1921 'premium_pricing_table_badge_switcher' => 'yes'
1922 ]
1923 ]
1924 );
1925
1926 $this->add_control('premium_pricing_badge_text_color',
1927 [
1928 'label' => __('Text Color', 'premium-addons-for-elementor'),
1929 'type' => Controls_Manager::COLOR,
1930 'scheme' => [
1931 'type' => Scheme_Color::get_type(),
1932 'value' => Scheme_Color::COLOR_2,
1933 ],
1934 'selectors' => [
1935 '{{WRAPPER}} .premium-pricing-badge-container .corner span' => 'color: {{VALUE}};'
1936 ]
1937 ]
1938 );
1939
1940 $this->add_group_control(
1941 Group_Control_Typography::get_type(),
1942 [
1943 'name' => 'badge_text_typo',
1944 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1945 'selector' => '{{WRAPPER}} .premium-pricing-badge-container .corner span',
1946 ]
1947 );
1948
1949 $this->add_control('premium_pricing_badge_left_color',
1950 [
1951 'label' => __('Background Color', 'premium-addons-for-elementor'),
1952 'type' => Controls_Manager::COLOR,
1953 'scheme' => [
1954 'type' => Scheme_Color::get_type(),
1955 'value' => Scheme_Color::COLOR_1,
1956 ],
1957 'selectors' => [
1958 '{{WRAPPER}} .premium-badge-triangle.premium-badge-left .corner' => 'border-top-color: {{VALUE}}',
1959 '{{WRAPPER}} .premium-badge-triangle.premium-badge-right .corner' => 'border-right-color: {{VALUE}}'
1960 ],
1961 'condition' => [
1962 'ribbon_type' => 'triangle'
1963 ]
1964 ]
1965 );
1966
1967 $this->add_control('ribbon_background',
1968 [
1969 'label' => __('Background Color', 'premium-addons-for-elementor'),
1970 'type' => Controls_Manager::COLOR,
1971 'scheme' => [
1972 'type' => Scheme_Color::get_type(),
1973 'value' => Scheme_Color::COLOR_1,
1974 ],
1975 'selectors' => [
1976 '{{WRAPPER}} .premium-badge-circle, {{WRAPPER}} .premium-badge-stripe .corner, {{WRAPPER}} .premium-badge-flag .corner' => 'background-color: {{VALUE}}',
1977 '{{WRAPPER}} .premium-badge-flag .corner::before' => 'border-left: 8px solid {{VALUE}}'
1978 ],
1979 'condition' => [
1980 'ribbon_type!' => 'triangle'
1981 ]
1982 ]
1983 );
1984
1985 $this->add_group_control(
1986 Group_Control_Box_Shadow::get_type(),
1987 [
1988 'name' => 'ribbon_shadow',
1989 'selector' => '{{WRAPPER}} .premium-badge-circle, {{WRAPPER}} .premium-badge-stripe .corner, {{WRAPPER}} .premium-badge-flag .corner',
1990 'condition' => [
1991 'ribbon_type!' => 'triangle'
1992 ]
1993 ]
1994 );
1995
1996 $this->end_controls_section();
1997
1998 $this->start_controls_section('premium_pricing_box_style_settings',
1999 [
2000 'label' => __('Box Settings', 'premium-addons-for-elementor'),
2001 'tab' => Controls_Manager::TAB_STYLE,
2002 ]
2003 );
2004
2005 $this->start_controls_tabs('premium_pricing_table_box_style_tabs');
2006
2007 $this->start_controls_tab('premium_pricing_table_box_style_normal',
2008 [
2009 'label' => __('Normal', 'premium-addons-for-elementor'),
2010 ]
2011 );
2012
2013 $this->add_group_control(
2014 Group_Control_Background::get_type(),
2015 [
2016 'name' => 'premium_pricing_table_box_background',
2017 'types' => [ 'classic' , 'gradient' ],
2018 'selector' => '{{WRAPPER}} .premium-pricing-table-container',
2019 ]
2020 );
2021
2022 $this->add_group_control(
2023 Group_Control_Border::get_type(),
2024 [
2025 'name' => 'premium_pricing_table_box_border',
2026 'selector' => '{{WRAPPER}} .premium-pricing-table-container',
2027 ]
2028 );
2029
2030 $this->add_control('premium_pricing_table_box_border_radius',
2031 [
2032 'label' => __('Border Radius', 'premium-addons-for-elementor'),
2033 'type' => Controls_Manager::SLIDER,
2034 'size_units' => ['px', '%' ,'em'],
2035 'selectors' => [
2036 '{{WRAPPER}} .premium-pricing-table-container' => 'border-radius: {{SIZE}}{{UNIT}};'
2037 ]
2038 ]
2039 );
2040
2041 $this->add_group_control(
2042 Group_Control_Box_Shadow::get_type(),
2043 [
2044 'label' => __('Shadow','premium-addons-for-elementor'),
2045 'name' => 'premium_pricing_table_box_shadow',
2046 'selector' => '{{WRAPPER}} .premium-pricing-table-container',
2047 ]
2048 );
2049
2050 $this->add_responsive_control('premium_pricing_box_margin',
2051 [
2052 'label' => __('Margin', 'premium-addons-for-elementor'),
2053 'type' => Controls_Manager::DIMENSIONS,
2054 'size_units' => ['px', 'em', '%'],
2055 'selectors' => [
2056 '{{WRAPPER}} .premium-pricing-table-container' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2057 ]
2058 ]
2059 );
2060
2061 $this->add_responsive_control('premium_pricing_box_padding',
2062 [
2063 'label' => __('Padding', 'premium-addons-for-elementor'),
2064 'type' => Controls_Manager::DIMENSIONS,
2065 'size_units' => ['px', 'em', '%'],
2066 'default' => [
2067 'top' => 40,
2068 'right' => 0,
2069 'bottom'=> 0,
2070 'left' => 0,
2071 'unit' => 'px',
2072 ],
2073 'selectors' => [
2074 '{{WRAPPER}} .premium-pricing-table-container' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2075 ]
2076 ]
2077 );
2078
2079 $this->end_controls_tab();
2080
2081 $this->start_controls_tab('premium_pricing_table_box_style_hover',
2082 [
2083 'label' => __('Hover', 'premium-addons-for-elementor'),
2084 ]
2085 );
2086
2087 $this->add_group_control(
2088 Group_Control_Background::get_type(),
2089 [
2090 'name' => 'premium_pricing_table_box_background_hover',
2091 'types' => [ 'classic' , 'gradient' ],
2092 'selector' => '{{WRAPPER}} .premium-pricing-table-container:hover',
2093 ]
2094 );
2095
2096 $this->add_group_control(
2097 Group_Control_Border::get_type(),
2098 [
2099 'name' => 'premium_pricing_table_box_border_hover',
2100 'selector' => '{{WRAPPER}} .premium-pricing-table-container:hover',
2101 ]
2102 );
2103
2104 $this->add_control('premium_pricing_table_box_border_radius_hover',
2105 [
2106 'label' => __('Border Radius', 'premium-addons-for-elementor'),
2107 'type' => Controls_Manager::SLIDER,
2108 'size_units' => ['px', 'em' , '%' ],
2109 'selectors' => [
2110 '{{WRAPPER}} .premium-pricing-table-container:hover' => 'border-radius: {{SIZE}}{{UNIT}};'
2111 ]
2112 ]
2113 );
2114
2115 $this->add_group_control(
2116 Group_Control_Box_Shadow::get_type(),
2117 [
2118 'label' => __('Shadow','premium-addons-for-elementor'),
2119 'name' => 'premium_pricing_table_box_shadow_hover',
2120 'selector' => '{{WRAPPER}} .premium-pricing-table-container:hover',
2121 ]
2122 );
2123
2124 $this->add_responsive_control('premium_pricing_box_margin_hover',
2125 [
2126 'label' => __('Margin', 'premium-addons-for-elementor'),
2127 'type' => Controls_Manager::DIMENSIONS,
2128 'size_units' => ['px', 'em', '%'],
2129 'selectors' => [
2130 '{{WRAPPER}} .premium-pricing-table-container:hover' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2131 ]
2132 ]
2133 );
2134
2135 $this->add_responsive_control('premium_pricing_box_padding_hover',
2136 [
2137 'label' => __('Padding', 'premium-addons-for-elementor'),
2138 'type' => Controls_Manager::DIMENSIONS,
2139 'size_units' => ['px', 'em', '%'],
2140 'default' => [
2141 'top' => 40,
2142 'right' => 0,
2143 'bottom'=> 0,
2144 'left' => 0,
2145 'unit' => 'px',
2146 ],
2147 'selectors' => [
2148 '{{WRAPPER}} .premium-pricing-table-container:hover' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2149 ]
2150 ]
2151 );
2152
2153 $this->end_controls_tab();
2154
2155 $this->end_controls_tabs();
2156
2157 $this->end_controls_section();
2158
2159
2160 }
2161
2162 /**
2163 * Render Pricing Table widget output on the frontend.
2164 *
2165 * Written in PHP and used to generate the final HTML.
2166 *
2167 * @since 1.0.0
2168 * @access protected
2169 */
2170 protected function render() {
2171
2172 $settings = $this->get_settings_for_display();
2173
2174 $this->add_inline_editing_attributes('title_text');
2175
2176 $this->add_inline_editing_attributes('description_text', 'advanced');
2177
2178 $this->add_inline_editing_attributes('button_text');
2179
2180 $title_tag = $settings['premium_pricing_table_title_size'];
2181
2182 $link_type = $settings['premium_pricing_table_button_url_type'];
2183
2184 if( 'yes' === $settings['premium_pricing_table_badge_switcher'] ) {
2185 $badge_position = 'premium-badge-' . $settings['premium_pricing_table_badge_position'];
2186
2187 $badge_style = 'premium-badge-' . $settings['ribbon_type'];
2188
2189 $this->add_inline_editing_attributes('premium_pricing_table_badge_text');
2190
2191 if( 'premium-badge-flag' === $badge_style )
2192 $badge_position = '';
2193 }
2194
2195 if( $link_type == 'link' ) {
2196 $link_url = get_permalink($settings['premium_pricing_table_button_link_existing_content']);
2197 } elseif ( $link_type == 'url' ) {
2198 $link_url = $settings['premium_pricing_table_button_link'];
2199 }
2200
2201 if( 'yes' === $settings['premium_pricing_table_icon_switcher'] ) {
2202 $icon_type = $settings['icon_type'];
2203
2204 if( 'icon' === $icon_type ) {
2205 if ( ! empty ( $settings['premium_pricing_table_icon_selection'] ) ) {
2206 $this->add_render_attribute( 'icon', 'class', $settings['premium_pricing_table_icon_selection'] );
2207 $this->add_render_attribute( 'icon', 'aria-hidden', 'true' );
2208 }
2209
2210 $migrated = isset( $settings['__fa4_migrated']['premium_pricing_table_icon_selection_updated'] );
2211 $is_new = empty( $settings['premium_pricing_table_icon_selection'] ) && Icons_Manager::is_migration_allowed();
2212 } else {
2213 $this->add_render_attribute( 'pricing_lottie', [
2214 'class' => [
2215 'premium-pricing-icon',
2216 'premium-lottie-animation'
2217 ],
2218 'data-lottie-url' => $settings['lottie_url'],
2219 'data-lottie-loop' => $settings['lottie_loop'],
2220 'data-lottie-reverse' => $settings['lottie_reverse']
2221 ]);
2222 }
2223
2224 }
2225
2226 ?>
2227
2228 <div class="premium-pricing-table-container">
2229 <?php if( 'yes' === $settings['premium_pricing_table_badge_switcher'] ) : ?>
2230 <div class="premium-pricing-badge-container <?php echo esc_attr( $badge_position . ' ' . $badge_style ); ?>">
2231 <div class="corner"><span <?php echo $this->get_render_attribute_string('premium_pricing_table_badge_text'); ?>><?php echo $settings['premium_pricing_table_badge_text']; ?></span></div>
2232 </div>
2233 <?php endif;
2234 if( $settings['premium_pricing_table_icon_switcher'] === 'yes' ) : ?>
2235 <div class="premium-pricing-icon-container">
2236 <?php if( 'icon' === $icon_type ) : ?>
2237 <?php if ( $is_new || $migrated ) :
2238 Icons_Manager::render_icon( $settings['premium_pricing_table_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
2239 else: ?>
2240 <i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
2241 <?php endif; ?>
2242 <?php else: ?>
2243 <div <?php echo $this->get_render_attribute_string( 'pricing_lottie' ); ?>></div>
2244 <?php endif; ?>
2245 </div>
2246 <?php endif;
2247 if( $settings['premium_pricing_table_title_switcher'] === 'yes') : ?>
2248 <<?php echo $title_tag; ?> class="premium-pricing-table-title">
2249 <span <?php echo $this->get_render_attribute_string('title_text'); ?>><?php echo $settings['premium_pricing_table_title_text'];?></span>
2250 </<?php echo $title_tag;?>>
2251 <?php endif; ?>
2252 <?php if($settings['premium_pricing_table_price_switcher'] === 'yes') : ?>
2253 <div class="premium-pricing-price-container">
2254 <strike class="premium-pricing-slashed-price-value">
2255 <?php echo $settings['premium_pricing_table_slashed_price_value']; ?>
2256 </strike>
2257 <span class="premium-pricing-price-currency">
2258 <?php echo $settings['premium_pricing_table_price_currency']; ?>
2259 </span>
2260 <span class="premium-pricing-price-value">
2261 <?php echo $settings['premium_pricing_table_price_value']; ?>
2262 </span>
2263 <span class="premium-pricing-price-separator">
2264 <?php echo $settings['premium_pricing_table_price_separator']; ?>
2265 </span>
2266 <span class="premium-pricing-price-duration">
2267 <?php echo $settings['premium_pricing_table_price_duration']; ?>
2268 </span>
2269 </div>
2270 <?php endif;
2271 if( 'yes' === $settings['premium_pricing_table_list_switcher'] ) : ?>
2272 <div class="premium-pricing-list-container">
2273 <ul class="premium-pricing-list">
2274 <?php foreach( $settings['premium_fancy_text_list_items'] as $index => $item ) :
2275
2276 $key = 'pricing_list_item_' . $index;
2277 if( 'icon' === $item['icon_type'] ) :
2278 $icon_migrated = isset( $item['__fa4_migrated']['premium_pricing_list_item_icon_updated'] );
2279 $icon_new = empty( $item['premium_pricing_list_item_icon'] ) && Icons_Manager::is_migration_allowed();
2280 endif;
2281
2282 $this->add_render_attribute( $key, [
2283 'class' => [
2284 'elementor-repeater-item-' . $item['_id'],
2285 'premium-pricing-list-item',
2286 ]
2287 ] );
2288 ?>
2289 <li <?php echo $this->get_render_attribute_string( $key ); ?>>
2290 <?php if( 'icon' === $item['icon_type'] ) : ?>
2291 <?php if ( $icon_new || $icon_migrated ) :
2292 Icons_Manager::render_icon( $item['premium_pricing_list_item_icon_updated'], [ 'class' => 'premium-pricing-feature-icon', 'aria-hidden' => 'true' ] );
2293 else: ?>
2294 <i class="premium-pricing-feature-icon <?php echo $item['premium_pricing_list_item_icon']; ?>"></i>
2295 <?php endif; ?>
2296 <?php else:
2297 $lottie_key = 'pricing_item_lottie_' . $index;
2298 $this->add_render_attribute( $lottie_key, [
2299 'class' => [
2300 'premium-pricing-feature-icon',
2301 'premium-lottie-animation'
2302 ],
2303 'data-lottie-url' => $item['lottie_url'],
2304 'data-lottie-loop' => $item['lottie_loop'],
2305 'data-lottie-reverse' => $item['lottie_reverse']
2306 ]);
2307 ?>
2308 <div <?php echo $this->get_render_attribute_string( $lottie_key ); ?>></div>
2309 <?php endif; ?>
2310
2311 <?php if ( ! empty( $item['premium_pricing_list_item_text'] ) ) :
2312 $item_class = 'yes' === $item['premium_pricing_table_item_tooltip'] ? 'list-item-tooltip' : '';
2313 ?>
2314 <span class="premium-pricing-list-span <?php echo $item_class; ?>">
2315 <?php echo $item['premium_pricing_list_item_text'];
2316 if ( 'yes' === $item['premium_pricing_table_item_tooltip'] && ! empty( $item['premium_pricing_table_item_tooltip_text'] ) ) : ?>
2317 <span class="premium-pricing-list-tooltip"><?php echo esc_html( $item['premium_pricing_table_item_tooltip_text'] ); ?></span>
2318 <?php endif; ?>
2319 </span>
2320 <?php endif; ?>
2321 </li>
2322 <?php endforeach; ?>
2323 </ul>
2324 </div>
2325 <?php endif; ?>
2326 <?php if($settings['premium_pricing_table_description_switcher'] == 'yes') : ?>
2327 <div class="premium-pricing-description-container">
2328 <div <?php echo $this->get_render_attribute_string('description_text'); ?>>
2329 <?php echo $settings['premium_pricing_table_description_text']; ?>
2330 </div>
2331 </div>
2332 <?php endif; ?>
2333 <?php if($settings['premium_pricing_table_button_switcher'] == 'yes') : ?>
2334 <div class="premium-pricing-button-container">
2335 <a class="premium-pricing-price-button" target="_<?php echo esc_attr( $settings['premium_pricing_table_button_link_target'] ); ?>" href="<?php echo $link_url; ?>">
2336 <span <?php echo $this->get_render_attribute_string('button_text'); ?>><?php echo $settings['premium_pricing_table_button_text']; ?></span>
2337 </a>
2338 </div>
2339 <?php endif; ?>
2340 </div>
2341
2342 <?php
2343 }
2344
2345 /**
2346 * Render Pricing Table widget output in the editor.
2347 *
2348 * Written as a Backbone JavaScript template and used to generate the live preview.
2349 *
2350 * @since 1.0.0
2351 * @access protected
2352 */
2353 protected function content_template() {
2354 ?>
2355 <#
2356
2357 view.addInlineEditingAttributes('title_text');
2358
2359 view.addInlineEditingAttributes('description_text', 'advanced');
2360
2361 view.addInlineEditingAttributes('button_text');
2362
2363 var titleTag = settings.premium_pricing_table_title_size,
2364 linkType = settings.premium_pricing_table_button_url_type,
2365 linkURL = 'link' === linkType ? settings.premium_pricing_table_button_link_existing_content : settings.premium_pricing_table_button_link;
2366
2367 if( 'yes' === settings.premium_pricing_table_icon_switcher ) {
2368
2369 var iconType = settings.icon_type;
2370
2371 if( 'icon' === iconType ) {
2372 var iconHTML = elementor.helpers.renderIcon( view, settings.premium_pricing_table_icon_selection_updated, { 'aria-hidden': true }, 'i' , 'object' ),
2373 migrated = elementor.helpers.isIconMigrated( settings, 'premium_pricing_table_icon_selection_updated' );
2374 } else {
2375
2376 view.addRenderAttribute( 'pricing_lottie', {
2377 'class': [
2378 'premium-pricing-icon',
2379 'premium-lottie-animation'
2380 ],
2381 'data-lottie-url': settings.lottie_url,
2382 'data-lottie-loop': settings.lottie_loop,
2383 'data-lottie-reverse': settings.lottie_reverse,
2384 });
2385
2386 }
2387
2388 }
2389
2390 if( 'yes' === settings.premium_pricing_table_badge_switcher ) {
2391 var badgePosition = 'premium-badge-' + settings.premium_pricing_table_badge_position,
2392 badgeStyle = 'premium-badge-' + settings.ribbon_type;
2393
2394 view.addInlineEditingAttributes('premium_pricing_table_badge_text');
2395
2396 if( 'premium-badge-flag' === badgeStyle )
2397 badgePosition = '';
2398
2399 }
2400
2401 #>
2402
2403 <div class="premium-pricing-table-container">
2404 <# if('yes' === settings.premium_pricing_table_badge_switcher ) { #>
2405 <div class="premium-pricing-badge-container {{ badgePosition }} {{ badgeStyle }}">
2406 <div class="corner"><span {{{ view.getRenderAttributeString('premium_pricing_table_badge_text') }}}>{{{ settings.premium_pricing_table_badge_text }}}</span></div>
2407 </div>
2408 <# } #>
2409 <# if( 'yes' === settings.premium_pricing_table_icon_switcher ) { #>
2410 <div class="premium-pricing-icon-container">
2411 <# if( 'icon' === iconType ) { #>
2412 <# if ( iconHTML && iconHTML.rendered && ( ! settings.premium_pricing_table_icon_selection || migrated ) ) { #>
2413 {{{ iconHTML.value }}}
2414 <# } else { #>
2415 <i class="{{ settings.premium_pricing_table_icon_selection }}" aria-hidden="true"></i>
2416 <# } #>
2417 <# } else { #>
2418 <div {{{ view.getRenderAttributeString('pricing_lottie') }}}></div>
2419 <# } #>
2420 </div>
2421 <# } #>
2422 <# if('yes' === settings.premium_pricing_table_title_switcher ) { #>
2423 <{{{titleTag}}} class="premium-pricing-table-title"><span {{{ view.getRenderAttributeString('title_text') }}}>{{{ settings.premium_pricing_table_title_text }}}</span></{{{titleTag}}}>
2424 <# } #>
2425
2426 <# if('yes' === settings.premium_pricing_table_price_switcher ) { #>
2427 <div class="premium-pricing-price-container">
2428 <strike class="premium-pricing-slashed-price-value">{{{ settings.premium_pricing_table_slashed_price_value }}}</strike>
2429 <span class="premium-pricing-price-currency">{{{ settings.premium_pricing_table_price_currency }}}</span>
2430 <span class="premium-pricing-price-value">{{{ settings.premium_pricing_table_price_value }}}</span>
2431 <span class="premium-pricing-price-separator">{{{ settings.premium_pricing_table_price_separator }}}</span>
2432 <span class="premium-pricing-price-duration">{{{ settings.premium_pricing_table_price_duration }}}</span>
2433 </div>
2434 <# } #>
2435 <# if('yes' === settings.premium_pricing_table_list_switcher ) { #>
2436 <div class="premium-pricing-list-container">
2437 <ul class="premium-pricing-list">
2438 <# _.each( settings.premium_fancy_text_list_items, function( item, index ) {
2439
2440 var key = 'pricing_list_item_' + index;
2441
2442 view.addRenderAttribute( key, 'class', [ 'elementor-repeater-item-' + item._id, 'premium-pricing-list-item' ] );
2443
2444 if( 'icon' === item.icon_type ) {
2445 var listIconHTML = elementor.helpers.renderIcon( view, item.premium_pricing_list_item_icon_updated, { 'class': 'premium-pricing-feature-icon' , 'aria-hidden': true }, 'i' , 'object' ),
2446 listIconMigrated = elementor.helpers.isIconMigrated( item, 'premium_pricing_list_item_icon_updated' );
2447 }
2448 #>
2449 <li {{{ view.getRenderAttributeString( key ) }}}>
2450 <# if( 'icon' === item.icon_type ) { #>
2451 <# if ( listIconHTML && listIconHTML.rendered && ( ! item.premium_pricing_list_item_icon || listIconMigrated ) ) { #>
2452 {{{ listIconHTML.value }}}
2453 <# } else { #>
2454 <i class="premium-pricing-feature-icon {{ item.premium_pricing_list_item_icon }}" aria-hidden="true"></i>
2455 <# } #>
2456 <# } else {
2457 var lottieKey = 'pricing_item_lottie_' + index;
2458
2459 view.addRenderAttribute( lottieKey, {
2460 'class': [
2461 'premium-pricing-feature-icon',
2462 'premium-lottie-animation'
2463 ],
2464 'data-lottie-url': item.lottie_url,
2465 'data-lottie-loop': item.lottie_loop,
2466 'data-lottie-reverse': item.lottie_reverse,
2467 });
2468
2469 #>
2470 <div {{{ view.getRenderAttributeString( lottieKey ) }}}></div>
2471 <# } #>
2472
2473 <# if ( '' !== item.premium_pricing_list_item_text ) {
2474 var itemClass = 'yes' === item.premium_pricing_table_item_tooltip ? 'list-item-tooltip' : '';
2475 #>
2476 <span class="premium-pricing-list-span {{itemClass}}">{{{ item.premium_pricing_list_item_text }}}
2477 <# if ( 'yes' === item.premium_pricing_table_item_tooltip && '' !== item.premium_pricing_table_item_tooltip_text ) { #>
2478 <span class="premium-pricing-list-tooltip">{{{ item.premium_pricing_table_item_tooltip_text }}}</span>
2479 <# } #>
2480 </span>
2481 <# } #>
2482 </li>
2483 <# } ); #>
2484 </ul>
2485 </div>
2486 <# } #>
2487 <# if('yes' === settings.premium_pricing_table_description_switcher ) { #>
2488 <div class="premium-pricing-description-container">
2489 <div {{{ view.getRenderAttributeString('description_text') }}}>
2490 {{{ settings.premium_pricing_table_description_text }}}
2491 </div>
2492 </div>
2493 <# } #>
2494 <# if('yes' === settings.premium_pricing_table_button_switcher ) { #>
2495 <div class="premium-pricing-button-container">
2496 <a class="premium-pricing-price-button" target="_{{ settings.premium_pricing_table_button_link_target }}" href="{{ linkURL }}">
2497 <span {{{ view.getRenderAttributeString('button_text') }}}>{{{ settings.premium_pricing_table_button_text }}}</span>
2498 </a>
2499 </div>
2500 <# } #>
2501 </div>
2502 <?php
2503 }
2504 }