Version Description
- Tweak: Font Awesome 5 compatibility for all widgets.
- Tweak: Added
Navigation Dots
option for carousel in Blog widget. - Tweak: Added
Text/Background Hover Color
option for filter tabs in Grid widget. - Tweak: Added
Shuffle Images on Page Load
option to Grid widget. - Fixed: Description container rendered even when description text is empty.
- Tweak: Show overflow content then scroll in Vertical Scroll widget.
- Fixed: Vertical Scroll issue on Mac OS.
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 3.6.7 |
Comparing to | |
See all releases |
Code changes from version 3.6.6 to 3.6.7
- admin/includes/version-control.php +1 -1
- assets/frontend/css/premium-addons.css +20 -1
- assets/frontend/js/lib/scrollify.js +0 -868
- assets/frontend/js/premium-addons.js +38 -22
- assets/frontend/js/premium-vscroll.js +48 -64
- premium-addons-for-elementor.php +3 -3
- readme.txt +11 -1
- widgets/premium-blog.php +89 -15
- widgets/premium-button.php +135 -37
- widgets/premium-carousel.php +82 -87
- widgets/premium-counter.php +48 -13
- widgets/premium-grid.php +58 -25
- widgets/premium-image-button.php +116 -51
- widgets/premium-modalbox.php +89 -126
- widgets/premium-person.php +25 -21
- widgets/premium-pricing-table.php +138 -83
- widgets/premium-title.php +41 -18
- widgets/premium-vscroll.php +11 -0
admin/includes/version-control.php
CHANGED
@@ -91,7 +91,7 @@ class Version_Control {
|
|
91 |
<tr class="pa-roll-row">
|
92 |
<th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
|
93 |
<td>
|
94 |
-
<div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.6.
|
95 |
<p class="pa-roll-desc">
|
96 |
<span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
|
97 |
</p>
|
91 |
<tr class="pa-roll-row">
|
92 |
<th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
|
93 |
<td>
|
94 |
+
<div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.6.6', 'premium-addons-for-elementor') ); ?></div>
|
95 |
<p class="pa-roll-desc">
|
96 |
<span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
|
97 |
</p>
|
assets/frontend/css/premium-addons.css
CHANGED
@@ -891,7 +891,8 @@ a.circle-border {
|
|
891 |
a.square-border {
|
892 |
border: solid black;
|
893 |
}
|
894 |
-
.premium-carousel-wrapper ul.slick-dots
|
|
|
895 |
list-style: none;
|
896 |
text-align: center;
|
897 |
margin: 0;
|
@@ -2090,6 +2091,12 @@ button.premium-modal-box-modal-close {
|
|
2090 |
font-size: 20px;
|
2091 |
}
|
2092 |
/*
|
|
|
|
|
|
|
|
|
|
|
|
|
2093 |
* Even Layout
|
2094 |
*/
|
2095 |
.premium-blog-even .premium-blog-post-container {
|
@@ -3219,6 +3226,18 @@ button.premium-modal-box-modal-close {
|
|
3219 |
border-radius: 75px;
|
3220 |
margin: 15px 5px 20px;
|
3221 |
padding: 7px 20px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3222 |
}
|
3223 |
.pa-gallery-img {
|
3224 |
position: relative;
|
891 |
a.square-border {
|
892 |
border: solid black;
|
893 |
}
|
894 |
+
.premium-carousel-wrapper ul.slick-dots,
|
895 |
+
.premium-blog-wrap ul.slick-dots {
|
896 |
list-style: none;
|
897 |
text-align: center;
|
898 |
margin: 0;
|
2091 |
font-size: 20px;
|
2092 |
}
|
2093 |
/*
|
2094 |
+
* Carousel
|
2095 |
+
*/
|
2096 |
+
.premium-blog-wrap ul.slick-dots {
|
2097 |
+
width: 100%;
|
2098 |
+
}
|
2099 |
+
/*
|
2100 |
* Even Layout
|
2101 |
*/
|
2102 |
.premium-blog-even .premium-blog-post-container {
|
3226 |
border-radius: 75px;
|
3227 |
margin: 15px 5px 20px;
|
3228 |
padding: 7px 20px;
|
3229 |
+
-webkit-transition: all 0.3s ease-in-out;
|
3230 |
+
-moz-transition: all 0.3s ease-in-out;
|
3231 |
+
-ms-transition: all 0.3s ease-in-out;
|
3232 |
+
-o-transition: all 0.3s ease-in-out;
|
3233 |
+
transition: all 0.3s ease-in-out;
|
3234 |
+
}
|
3235 |
+
.premium-img-gallery-filter .premium-gallery-cats-container li a.category span {
|
3236 |
+
-webkit-transition: all 0.3s ease-in-out;
|
3237 |
+
-moz-transition: all 0.3s ease-in-out;
|
3238 |
+
-ms-transition: all 0.3s ease-in-out;
|
3239 |
+
-o-transition: all 0.3s ease-in-out;
|
3240 |
+
transition: all 0.3s ease-in-out;
|
3241 |
}
|
3242 |
.pa-gallery-img {
|
3243 |
position: relative;
|
assets/frontend/js/lib/scrollify.js
DELETED
@@ -1,868 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* jQuery Scrollify
|
3 |
-
* Version 1.0.20
|
4 |
-
*
|
5 |
-
* Requires:
|
6 |
-
* - jQuery 1.7 or higher
|
7 |
-
*
|
8 |
-
* https://github.com/lukehaas/Scrollify
|
9 |
-
*
|
10 |
-
* Copyright 2016, Luke Haas
|
11 |
-
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
12 |
-
* this software and associated documentation files (the "Software"), to deal in
|
13 |
-
* the Software without restriction, including without limitation the rights to
|
14 |
-
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
15 |
-
* the Software, and to permit persons to whom the Software is furnished to do so,
|
16 |
-
* subject to the following conditions:
|
17 |
-
*
|
18 |
-
* The above copyright notice and this permission notice shall be included in all
|
19 |
-
* copies or substantial portions of the Software.
|
20 |
-
*
|
21 |
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
22 |
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
23 |
-
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
24 |
-
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
25 |
-
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
26 |
-
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
if touchScroll is false - update index
|
31 |
-
|
32 |
-
*/
|
33 |
-
(function (global,factory) {
|
34 |
-
"use strict";
|
35 |
-
if (typeof define === 'function' && define.amd) {
|
36 |
-
// AMD. Register as an anonymous module.
|
37 |
-
define(['jquery'], function($) {
|
38 |
-
return factory($, global, global.document);
|
39 |
-
});
|
40 |
-
} else if (typeof module === 'object' && module.exports) {
|
41 |
-
// Node/CommonJS
|
42 |
-
module.exports = factory(require('jquery'), global, global.document);
|
43 |
-
} else {
|
44 |
-
// Browser globals
|
45 |
-
factory(jQuery, global, global.document);
|
46 |
-
}
|
47 |
-
}(typeof window !== 'undefined' ? window : this, function ($, window, document, undefined) {
|
48 |
-
"use strict";
|
49 |
-
var heights = [],
|
50 |
-
names = [],
|
51 |
-
elements = [],
|
52 |
-
overflow = [],
|
53 |
-
index = 0,
|
54 |
-
currentIndex = 0,
|
55 |
-
interstitialIndex = 1,
|
56 |
-
hasLocation = false,
|
57 |
-
timeoutId,
|
58 |
-
timeoutId2,
|
59 |
-
$window = $(window),
|
60 |
-
portHeight,
|
61 |
-
top = $window.scrollTop(),
|
62 |
-
scrollable = false,
|
63 |
-
locked = false,
|
64 |
-
scrolled = false,
|
65 |
-
manualScroll,
|
66 |
-
swipeScroll,
|
67 |
-
util,
|
68 |
-
disabled = false,
|
69 |
-
scrollSamples = [],
|
70 |
-
scrollTime = new Date().getTime(),
|
71 |
-
currentScrollID = null,
|
72 |
-
firstLoad = true,
|
73 |
-
initialised = false,
|
74 |
-
destination = 0,
|
75 |
-
wheelEvent = 'onwheel' in document ? 'wheel' : document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll',
|
76 |
-
settings = {
|
77 |
-
//section should be an identifier that is the same for each section
|
78 |
-
section: ".section",
|
79 |
-
sectionName: "section-name",
|
80 |
-
interstitialSection: "",
|
81 |
-
easing: "easeOutExpo",
|
82 |
-
scrollSpeed: 1100,
|
83 |
-
offset: 0,
|
84 |
-
scrollbars: true,
|
85 |
-
templates: false,
|
86 |
-
target:"html,body",
|
87 |
-
standardScrollElements: false,
|
88 |
-
setHeights: true,
|
89 |
-
overflowScroll:true,
|
90 |
-
updateHash: true,
|
91 |
-
touchScroll:true,
|
92 |
-
before:function() {},
|
93 |
-
after:function() {},
|
94 |
-
afterResize:function() {},
|
95 |
-
afterRender:function() {}
|
96 |
-
};
|
97 |
-
function getportHeight() {
|
98 |
-
return ($window.height() + settings.offset);
|
99 |
-
}
|
100 |
-
function animateScroll(index,instant,callbacks,toTop) {
|
101 |
-
if(currentIndex===index) {
|
102 |
-
callbacks = false;
|
103 |
-
}
|
104 |
-
if(disabled===true) {
|
105 |
-
return true;
|
106 |
-
}
|
107 |
-
if(names[index]) {
|
108 |
-
scrollable = false;
|
109 |
-
if(firstLoad===true) {
|
110 |
-
firstLoad = false;
|
111 |
-
settings.afterRender();
|
112 |
-
}
|
113 |
-
if(callbacks) {
|
114 |
-
if( typeof settings.before == 'function' && settings.before(index,elements) === false ){
|
115 |
-
return true;
|
116 |
-
}
|
117 |
-
}
|
118 |
-
interstitialIndex = 1;
|
119 |
-
destination = (!index) ? 0 : heights[index];
|
120 |
-
if(firstLoad===false && currentIndex>index && toTop===false) {
|
121 |
-
//We're going backwards
|
122 |
-
if(overflow[index]) {
|
123 |
-
portHeight = getportHeight();
|
124 |
-
|
125 |
-
interstitialIndex = parseInt(elements[index].outerHeight()/portHeight);
|
126 |
-
|
127 |
-
destination = parseInt(heights[index])+(elements[index].outerHeight()-portHeight);
|
128 |
-
}
|
129 |
-
}
|
130 |
-
|
131 |
-
|
132 |
-
if(settings.updateHash && settings.sectionName && !(firstLoad===true && index===0)) {
|
133 |
-
if(history.pushState) {
|
134 |
-
try {
|
135 |
-
history.replaceState(null, null, names[index]);
|
136 |
-
} catch (e) {
|
137 |
-
if(window.console) {
|
138 |
-
console.warn("Scrollify warning: Page must be hosted to manipulate the hash value.");
|
139 |
-
}
|
140 |
-
}
|
141 |
-
|
142 |
-
} else {
|
143 |
-
window.location.hash = names[index];
|
144 |
-
}
|
145 |
-
}
|
146 |
-
|
147 |
-
currentIndex = index;
|
148 |
-
if(instant) {
|
149 |
-
$(settings.target).stop().scrollTop(destination);
|
150 |
-
if(callbacks) {
|
151 |
-
settings.after(index,elements);
|
152 |
-
}
|
153 |
-
} else {
|
154 |
-
locked = true;
|
155 |
-
if( $().velocity ) {
|
156 |
-
$(settings.target).stop().velocity('scroll', {
|
157 |
-
duration: settings.scrollSpeed,
|
158 |
-
easing: settings.easing,
|
159 |
-
offset: destination,
|
160 |
-
mobileHA: false
|
161 |
-
});
|
162 |
-
} else {
|
163 |
-
$(settings.target).stop().animate({
|
164 |
-
scrollTop: destination
|
165 |
-
}, settings.scrollSpeed,settings.easing);
|
166 |
-
}
|
167 |
-
|
168 |
-
if(window.location.hash.length && settings.sectionName && window.console) {
|
169 |
-
try {
|
170 |
-
if($(window.location.hash).length) {
|
171 |
-
console.warn("Scrollify warning: ID matches hash value - this will cause the page to anchor.");
|
172 |
-
}
|
173 |
-
} catch (e) {}
|
174 |
-
}
|
175 |
-
$(settings.target).promise().done(function(){
|
176 |
-
locked = false;
|
177 |
-
firstLoad = false;
|
178 |
-
if(callbacks) {
|
179 |
-
settings.after(index,elements);
|
180 |
-
}
|
181 |
-
});
|
182 |
-
}
|
183 |
-
|
184 |
-
}
|
185 |
-
}
|
186 |
-
|
187 |
-
function isAccelerating(samples) {
|
188 |
-
function average(num) {
|
189 |
-
var sum = 0;
|
190 |
-
|
191 |
-
var lastElements = samples.slice(Math.max(samples.length - num, 1));
|
192 |
-
|
193 |
-
for(var i = 0; i < lastElements.length; i++){
|
194 |
-
sum += lastElements[i];
|
195 |
-
}
|
196 |
-
|
197 |
-
return Math.ceil(sum/num);
|
198 |
-
}
|
199 |
-
|
200 |
-
var avEnd = average(10);
|
201 |
-
var avMiddle = average(70);
|
202 |
-
|
203 |
-
if(avEnd >= avMiddle) {
|
204 |
-
return true;
|
205 |
-
} else {
|
206 |
-
return false;
|
207 |
-
}
|
208 |
-
}
|
209 |
-
var scrollify = function(options) {
|
210 |
-
initialised = true;
|
211 |
-
$.easing['easeOutExpo'] = function(x, t, b, c, d) {
|
212 |
-
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
|
213 |
-
};
|
214 |
-
|
215 |
-
manualScroll = {
|
216 |
-
handleMousedown:function() {
|
217 |
-
if(disabled===true) {
|
218 |
-
return true;
|
219 |
-
}
|
220 |
-
scrollable = false;
|
221 |
-
scrolled = false;
|
222 |
-
},
|
223 |
-
handleMouseup:function() {
|
224 |
-
if(disabled===true) {
|
225 |
-
return true;
|
226 |
-
}
|
227 |
-
scrollable = true;
|
228 |
-
if(scrolled) {
|
229 |
-
//instant,callbacks
|
230 |
-
manualScroll.calculateNearest(false,true);
|
231 |
-
}
|
232 |
-
},
|
233 |
-
handleScroll:function() {
|
234 |
-
if(disabled===true) {
|
235 |
-
return true;
|
236 |
-
}
|
237 |
-
if(timeoutId){
|
238 |
-
clearTimeout(timeoutId);
|
239 |
-
}
|
240 |
-
|
241 |
-
timeoutId = setTimeout(function(){
|
242 |
-
scrolled = true;
|
243 |
-
if(scrollable===false) {
|
244 |
-
return false;
|
245 |
-
}
|
246 |
-
scrollable = false;
|
247 |
-
//instant,callbacks
|
248 |
-
manualScroll.calculateNearest(false,true);
|
249 |
-
}, 200);
|
250 |
-
},
|
251 |
-
calculateNearest:function(instant,callbacks) {
|
252 |
-
top = $window.scrollTop();
|
253 |
-
var i =1,
|
254 |
-
max = heights.length,
|
255 |
-
closest = 0,
|
256 |
-
prev = Math.abs(heights[0] - top),
|
257 |
-
diff;
|
258 |
-
for(;i<max;i++) {
|
259 |
-
diff = Math.abs(heights[i] - top);
|
260 |
-
|
261 |
-
if(diff < prev) {
|
262 |
-
prev = diff;
|
263 |
-
closest = i;
|
264 |
-
}
|
265 |
-
}
|
266 |
-
if((atBottom() && closest>index) || atTop()) {
|
267 |
-
index = closest;
|
268 |
-
//index, instant, callbacks, toTop
|
269 |
-
animateScroll(closest,instant,callbacks,false);
|
270 |
-
}
|
271 |
-
},
|
272 |
-
wheelHandler:function( e ) {
|
273 |
-
|
274 |
-
var sectionSelector = settings.templates ? ".premium-vscroll-temp" : ".elementor-top-section",
|
275 |
-
$section = $( e.target ).closest( sectionSelector ),
|
276 |
-
sectionID = $section.attr("id");
|
277 |
-
|
278 |
-
currentScrollID = sectionID;
|
279 |
-
|
280 |
-
if(disabled===true) {
|
281 |
-
return true;
|
282 |
-
} else if(settings.standardScrollElements) {
|
283 |
-
if($(e.target).is(settings.standardScrollElements) || $(e.target).closest(settings.standardScrollElements).length) {
|
284 |
-
return true;
|
285 |
-
}
|
286 |
-
}
|
287 |
-
if(!overflow[index]) {
|
288 |
-
e.preventDefault();
|
289 |
-
}
|
290 |
-
var currentScrollTime = new Date().getTime();
|
291 |
-
|
292 |
-
|
293 |
-
e = e || window.event;
|
294 |
-
var value;
|
295 |
-
if (e.originalEvent) {
|
296 |
-
value = e.originalEvent.wheelDelta || -e.originalEvent.deltaY || -e.originalEvent.detail;
|
297 |
-
} else {
|
298 |
-
value = e.wheelDelta || -e.deltaY || -e.detail;
|
299 |
-
}
|
300 |
-
var delta = Math.max(-1, Math.min(1, value));
|
301 |
-
|
302 |
-
//delta = delta || -e.originalEvent.detail / 3 || e.originalEvent.wheelDelta / 120;
|
303 |
-
|
304 |
-
if(scrollSamples.length > 149){
|
305 |
-
scrollSamples.shift();
|
306 |
-
}
|
307 |
-
//scrollSamples.push(Math.abs(delta*10));
|
308 |
-
scrollSamples.push(Math.abs(value));
|
309 |
-
|
310 |
-
if((currentScrollTime-scrollTime) > 200){
|
311 |
-
scrollSamples = [];
|
312 |
-
}
|
313 |
-
scrollTime = currentScrollTime;
|
314 |
-
|
315 |
-
|
316 |
-
if(locked) {
|
317 |
-
return false;
|
318 |
-
}
|
319 |
-
if(delta<0) {
|
320 |
-
if(index<heights.length-1) {
|
321 |
-
if(atBottom()) {
|
322 |
-
if(isAccelerating(scrollSamples)) {
|
323 |
-
e.preventDefault();
|
324 |
-
index++;
|
325 |
-
locked = true;
|
326 |
-
//index, instant, callbacks, toTop
|
327 |
-
animateScroll(index,false,true, false);
|
328 |
-
} else {
|
329 |
-
return false;
|
330 |
-
}
|
331 |
-
}
|
332 |
-
}
|
333 |
-
} else if(delta>0) {
|
334 |
-
if(index>0) {
|
335 |
-
if(atTop()) {
|
336 |
-
if(isAccelerating(scrollSamples)) {
|
337 |
-
e.preventDefault();
|
338 |
-
index--;
|
339 |
-
locked = true;
|
340 |
-
//index, instant, callbacks, toTop
|
341 |
-
animateScroll(index,false,true, false);
|
342 |
-
} else {
|
343 |
-
return false
|
344 |
-
}
|
345 |
-
}
|
346 |
-
}
|
347 |
-
}
|
348 |
-
|
349 |
-
},
|
350 |
-
keyHandler:function(e) {
|
351 |
-
if(disabled===true || document.activeElement.readOnly===false) {
|
352 |
-
return true;
|
353 |
-
} else if(settings.standardScrollElements) {
|
354 |
-
if($(e.target).is(settings.standardScrollElements) || $(e.target).closest(settings.standardScrollElements).length) {
|
355 |
-
return true;
|
356 |
-
}
|
357 |
-
}
|
358 |
-
if(locked===true) {
|
359 |
-
return false;
|
360 |
-
}
|
361 |
-
if(e.keyCode==38 || e.keyCode==33) {
|
362 |
-
if(index>0) {
|
363 |
-
if(atTop()) {
|
364 |
-
e.preventDefault();
|
365 |
-
index--;
|
366 |
-
//index, instant, callbacks, toTop
|
367 |
-
animateScroll(index,false,true,false);
|
368 |
-
}
|
369 |
-
}
|
370 |
-
} else if(e.keyCode==40 || e.keyCode==34) {
|
371 |
-
if(index<heights.length-1) {
|
372 |
-
if(atBottom()) {
|
373 |
-
e.preventDefault();
|
374 |
-
index++;
|
375 |
-
//index, instant, callbacks, toTop
|
376 |
-
animateScroll(index,false,true,false);
|
377 |
-
}
|
378 |
-
}
|
379 |
-
}
|
380 |
-
},
|
381 |
-
init:function() {
|
382 |
-
if(settings.scrollbars) {
|
383 |
-
$window.on('mousedown', manualScroll.handleMousedown);
|
384 |
-
$window.on('mouseup', manualScroll.handleMouseup);
|
385 |
-
$window.on('scroll', manualScroll.handleScroll);
|
386 |
-
} else {
|
387 |
-
$("body").css({"overflow":"hidden"});
|
388 |
-
}
|
389 |
-
window.addEventListener(wheelEvent, manualScroll.wheelHandler, { passive: false });
|
390 |
-
//$(document).bind(wheelEvent,manualScroll.wheelHandler);
|
391 |
-
$window.on('keydown', manualScroll.keyHandler);
|
392 |
-
}
|
393 |
-
};
|
394 |
-
|
395 |
-
swipeScroll = {
|
396 |
-
touches : {
|
397 |
-
"touchstart": {"y":-1,"x":-1},
|
398 |
-
"touchmove" : {"y":-1,"x":-1},
|
399 |
-
"touchend" : false,
|
400 |
-
"direction" : "undetermined"
|
401 |
-
},
|
402 |
-
options:{
|
403 |
-
"distance" : 30,
|
404 |
-
"timeGap" : 800,
|
405 |
-
"timeStamp" : new Date().getTime()
|
406 |
-
},
|
407 |
-
touchHandler: function(event) {
|
408 |
-
if(disabled===true) {
|
409 |
-
return true;
|
410 |
-
} else if(settings.standardScrollElements) {
|
411 |
-
if($(event.target).is(settings.standardScrollElements) || $(event.target).closest(settings.standardScrollElements).length) {
|
412 |
-
return true;
|
413 |
-
}
|
414 |
-
}
|
415 |
-
var touch;
|
416 |
-
if (typeof event !== 'undefined'){
|
417 |
-
if (typeof event.touches !== 'undefined') {
|
418 |
-
touch = event.touches[0];
|
419 |
-
switch (event.type) {
|
420 |
-
case 'touchstart':
|
421 |
-
swipeScroll.touches.touchstart.y = touch.pageY;
|
422 |
-
swipeScroll.touches.touchmove.y = -1;
|
423 |
-
|
424 |
-
swipeScroll.touches.touchstart.x = touch.pageX;
|
425 |
-
swipeScroll.touches.touchmove.x = -1;
|
426 |
-
|
427 |
-
swipeScroll.options.timeStamp = new Date().getTime();
|
428 |
-
swipeScroll.touches.touchend = false;
|
429 |
-
case 'touchmove':
|
430 |
-
swipeScroll.touches.touchmove.y = touch.pageY;
|
431 |
-
swipeScroll.touches.touchmove.x = touch.pageX;
|
432 |
-
if(swipeScroll.touches.touchstart.y!==swipeScroll.touches.touchmove.y && (Math.abs(swipeScroll.touches.touchstart.y-swipeScroll.touches.touchmove.y)>Math.abs(swipeScroll.touches.touchstart.x-swipeScroll.touches.touchmove.x))) {
|
433 |
-
//if(!overflow[index]) {
|
434 |
-
event.preventDefault();
|
435 |
-
//}
|
436 |
-
swipeScroll.touches.direction = "y";
|
437 |
-
if((swipeScroll.options.timeStamp+swipeScroll.options.timeGap)<(new Date().getTime()) && swipeScroll.touches.touchend == false) {
|
438 |
-
|
439 |
-
swipeScroll.touches.touchend = true;
|
440 |
-
if (swipeScroll.touches.touchstart.y > -1) {
|
441 |
-
|
442 |
-
if(Math.abs(swipeScroll.touches.touchmove.y-swipeScroll.touches.touchstart.y)>swipeScroll.options.distance) {
|
443 |
-
if(swipeScroll.touches.touchstart.y < swipeScroll.touches.touchmove.y) {
|
444 |
-
|
445 |
-
swipeScroll.up();
|
446 |
-
|
447 |
-
} else {
|
448 |
-
swipeScroll.down();
|
449 |
-
|
450 |
-
}
|
451 |
-
}
|
452 |
-
}
|
453 |
-
}
|
454 |
-
}
|
455 |
-
break;
|
456 |
-
case 'touchend':
|
457 |
-
if(swipeScroll.touches[event.type]===false) {
|
458 |
-
swipeScroll.touches[event.type] = true;
|
459 |
-
if (swipeScroll.touches.touchstart.y > -1 && swipeScroll.touches.touchmove.y > -1 && swipeScroll.touches.direction==="y") {
|
460 |
-
|
461 |
-
if(Math.abs(swipeScroll.touches.touchmove.y-swipeScroll.touches.touchstart.y)>swipeScroll.options.distance) {
|
462 |
-
if(swipeScroll.touches.touchstart.y < swipeScroll.touches.touchmove.y) {
|
463 |
-
swipeScroll.up();
|
464 |
-
|
465 |
-
} else {
|
466 |
-
swipeScroll.down();
|
467 |
-
|
468 |
-
}
|
469 |
-
}
|
470 |
-
swipeScroll.touches.touchstart.y = -1;
|
471 |
-
swipeScroll.touches.touchstart.x = -1;
|
472 |
-
swipeScroll.touches.direction = "undetermined";
|
473 |
-
}
|
474 |
-
}
|
475 |
-
default:
|
476 |
-
break;
|
477 |
-
}
|
478 |
-
}
|
479 |
-
}
|
480 |
-
},
|
481 |
-
down: function() {
|
482 |
-
|
483 |
-
if(index<heights.length) {
|
484 |
-
|
485 |
-
if(atBottom() && index<heights.length-1) {
|
486 |
-
|
487 |
-
index++;
|
488 |
-
//index, instant, callbacks, toTop
|
489 |
-
animateScroll(index,false,true,false);
|
490 |
-
} else {
|
491 |
-
portHeight = getportHeight();
|
492 |
-
if(Math.floor(elements[index].height()/portHeight)>interstitialIndex) {
|
493 |
-
|
494 |
-
interstitialScroll(parseInt(heights[index])+(portHeight*interstitialIndex));
|
495 |
-
interstitialIndex += 1;
|
496 |
-
|
497 |
-
} else {
|
498 |
-
interstitialScroll(parseInt(heights[index])+(elements[index].outerHeight()-portHeight));
|
499 |
-
}
|
500 |
-
|
501 |
-
}
|
502 |
-
}
|
503 |
-
},
|
504 |
-
up: function() {
|
505 |
-
if(index>=0) {
|
506 |
-
if(atTop() && index>0) {
|
507 |
-
|
508 |
-
index--;
|
509 |
-
//index, instant, callbacks, toTop
|
510 |
-
animateScroll(index,false,true,false);
|
511 |
-
} else {
|
512 |
-
|
513 |
-
if(interstitialIndex>2) {
|
514 |
-
portHeight = getportHeight();
|
515 |
-
|
516 |
-
interstitialIndex -= 1;
|
517 |
-
interstitialScroll(parseInt(heights[index])+(portHeight*interstitialIndex));
|
518 |
-
|
519 |
-
} else {
|
520 |
-
|
521 |
-
interstitialIndex = 1;
|
522 |
-
interstitialScroll(parseInt(heights[index]));
|
523 |
-
}
|
524 |
-
}
|
525 |
-
|
526 |
-
}
|
527 |
-
},
|
528 |
-
init: function() {
|
529 |
-
if (document.addEventListener && settings.touchScroll) {
|
530 |
-
var eventListenerOptions = {
|
531 |
-
passive: false
|
532 |
-
};
|
533 |
-
document.addEventListener('touchstart', swipeScroll.touchHandler, eventListenerOptions);
|
534 |
-
document.addEventListener('touchmove', swipeScroll.touchHandler, eventListenerOptions);
|
535 |
-
document.addEventListener('touchend', swipeScroll.touchHandler, eventListenerOptions);
|
536 |
-
}
|
537 |
-
}
|
538 |
-
};
|
539 |
-
|
540 |
-
|
541 |
-
util = {
|
542 |
-
refresh:function(withCallback,scroll) {
|
543 |
-
clearTimeout(timeoutId2);
|
544 |
-
timeoutId2 = setTimeout(function() {
|
545 |
-
//retain position
|
546 |
-
sizePanels(true);
|
547 |
-
//scroll, firstLoad
|
548 |
-
calculatePositions(scroll,false);
|
549 |
-
if(withCallback) {
|
550 |
-
settings.afterResize();
|
551 |
-
}
|
552 |
-
},400);
|
553 |
-
},
|
554 |
-
handleUpdate:function() {
|
555 |
-
//callbacks, scroll
|
556 |
-
//changed from false,true to false,false
|
557 |
-
util.refresh(false,false);
|
558 |
-
},
|
559 |
-
handleResize:function() {
|
560 |
-
//callbacks, scroll
|
561 |
-
util.refresh(true,false);
|
562 |
-
},
|
563 |
-
handleOrientation:function() {
|
564 |
-
//callbacks, scroll
|
565 |
-
util.refresh(true,true);
|
566 |
-
}
|
567 |
-
};
|
568 |
-
settings = $.extend(settings, options);
|
569 |
-
|
570 |
-
//retain position
|
571 |
-
sizePanels(false);
|
572 |
-
|
573 |
-
calculatePositions(false,true);
|
574 |
-
|
575 |
-
if(true===hasLocation) {
|
576 |
-
//index, instant, callbacks, toTop
|
577 |
-
animateScroll(index,false,true,true);
|
578 |
-
} else {
|
579 |
-
setTimeout(function() {
|
580 |
-
//instant,callbacks
|
581 |
-
manualScroll.calculateNearest(true,false);
|
582 |
-
},200);
|
583 |
-
}
|
584 |
-
if(heights.length) {
|
585 |
-
manualScroll.init();
|
586 |
-
swipeScroll.init();
|
587 |
-
|
588 |
-
$window.on("resize",util.handleResize);
|
589 |
-
if (document.addEventListener) {
|
590 |
-
window.addEventListener("orientationchange", util.handleOrientation, false);
|
591 |
-
}
|
592 |
-
}
|
593 |
-
function interstitialScroll(pos) {
|
594 |
-
if( $().velocity ) {
|
595 |
-
$(settings.target).stop().velocity('scroll', {
|
596 |
-
duration: settings.scrollSpeed,
|
597 |
-
easing: settings.easing,
|
598 |
-
offset: pos,
|
599 |
-
mobileHA: false
|
600 |
-
});
|
601 |
-
} else {
|
602 |
-
$(settings.target).stop().animate({
|
603 |
-
scrollTop: pos
|
604 |
-
}, settings.scrollSpeed,settings.easing);
|
605 |
-
}
|
606 |
-
}
|
607 |
-
|
608 |
-
function sizePanels(keepPosition) {
|
609 |
-
if(keepPosition) {
|
610 |
-
top = $window.scrollTop();
|
611 |
-
}
|
612 |
-
|
613 |
-
var selector = settings.section;
|
614 |
-
overflow = [];
|
615 |
-
if(settings.interstitialSection.length) {
|
616 |
-
selector += "," + settings.interstitialSection;
|
617 |
-
}
|
618 |
-
if(settings.scrollbars===false) {
|
619 |
-
settings.overflowScroll = false;
|
620 |
-
}
|
621 |
-
portHeight = getportHeight();
|
622 |
-
$(selector).each(function(i) {
|
623 |
-
var $this = $(this);
|
624 |
-
|
625 |
-
if(settings.setHeights) {
|
626 |
-
if($this.is(settings.interstitialSection)) {
|
627 |
-
overflow[i] = false;
|
628 |
-
} else {
|
629 |
-
if(($this.css("height","auto").outerHeight()<portHeight) || $this.css("overflow")==="hidden") {
|
630 |
-
$this.css({"height":portHeight});
|
631 |
-
|
632 |
-
overflow[i] = false;
|
633 |
-
} else {
|
634 |
-
|
635 |
-
$this.css({"height":$this.outerHeight()});
|
636 |
-
|
637 |
-
if(settings.overflowScroll) {
|
638 |
-
overflow[i] = true;
|
639 |
-
} else {
|
640 |
-
overflow[i] = false;
|
641 |
-
}
|
642 |
-
}
|
643 |
-
|
644 |
-
}
|
645 |
-
|
646 |
-
} else {
|
647 |
-
|
648 |
-
if(($this.outerHeight()<portHeight) || (settings.overflowScroll===false)) {
|
649 |
-
overflow[i] = false;
|
650 |
-
} else {
|
651 |
-
overflow[i] = true;
|
652 |
-
}
|
653 |
-
}
|
654 |
-
});
|
655 |
-
if(keepPosition) {
|
656 |
-
$window.scrollTop(top);
|
657 |
-
}
|
658 |
-
}
|
659 |
-
function calculatePositions(scroll,firstLoad) {
|
660 |
-
var selector = settings.section;
|
661 |
-
if(settings.interstitialSection.length) {
|
662 |
-
selector += "," + settings.interstitialSection;
|
663 |
-
}
|
664 |
-
heights = [];
|
665 |
-
names = [];
|
666 |
-
elements = [];
|
667 |
-
$(selector).each(function(i){
|
668 |
-
var $this = $(this);
|
669 |
-
if(i>0) {
|
670 |
-
heights[i] = parseInt($this.offset().top) + settings.offset;
|
671 |
-
} else {
|
672 |
-
heights[i] = parseInt($this.offset().top);
|
673 |
-
}
|
674 |
-
if(settings.sectionName && $this.data(settings.sectionName)) {
|
675 |
-
names[i] = "#" + $this.data(settings.sectionName).toString().replace(/ /g,"-");
|
676 |
-
} else {
|
677 |
-
if($this.is(settings.interstitialSection)===false) {
|
678 |
-
names[i] = "#" + (i + 1);
|
679 |
-
} else {
|
680 |
-
names[i] = "#";
|
681 |
-
if(i===$(selector).length-1 && i>1) {
|
682 |
-
heights[i] = heights[i-1] + (parseInt($($(selector)[i-1]).outerHeight()) - parseInt($(window).height())) + parseInt($this.outerHeight());
|
683 |
-
}
|
684 |
-
}
|
685 |
-
}
|
686 |
-
elements[i] = $this;
|
687 |
-
try {
|
688 |
-
if($(names[i]).length && window.console) {
|
689 |
-
console.warn("Scrollify warning: Section names can't match IDs - this will cause the browser to anchor.");
|
690 |
-
}
|
691 |
-
} catch (e) {}
|
692 |
-
|
693 |
-
if(window.location.hash===names[i]) {
|
694 |
-
index = i;
|
695 |
-
hasLocation = true;
|
696 |
-
}
|
697 |
-
|
698 |
-
});
|
699 |
-
|
700 |
-
if(true===scroll) {
|
701 |
-
//index, instant, callbacks, toTop
|
702 |
-
animateScroll(index,false,false,false);
|
703 |
-
}
|
704 |
-
}
|
705 |
-
|
706 |
-
function atTop() {
|
707 |
-
if(!overflow[index]) {
|
708 |
-
return true;
|
709 |
-
}
|
710 |
-
top = $window.scrollTop();
|
711 |
-
if(top>parseInt(heights[index])) {
|
712 |
-
return false;
|
713 |
-
} else {
|
714 |
-
return true;
|
715 |
-
}
|
716 |
-
}
|
717 |
-
function atBottom() {
|
718 |
-
if(!overflow[index]) {
|
719 |
-
return true;
|
720 |
-
}
|
721 |
-
top = $window.scrollTop();
|
722 |
-
portHeight = getportHeight();
|
723 |
-
|
724 |
-
if(top<parseInt(heights[index])+(elements[index].outerHeight()-portHeight)-28) {
|
725 |
-
|
726 |
-
return false;
|
727 |
-
|
728 |
-
} else {
|
729 |
-
return true;
|
730 |
-
}
|
731 |
-
}
|
732 |
-
}
|
733 |
-
|
734 |
-
function move(panel,instant) {
|
735 |
-
var z = names.length;
|
736 |
-
for(;z>=0;z--) {
|
737 |
-
if(typeof panel === 'string') {
|
738 |
-
if (names[z]===panel) {
|
739 |
-
index = z;
|
740 |
-
//index, instant, callbacks, toTop
|
741 |
-
animateScroll(z,instant,true,true);
|
742 |
-
}
|
743 |
-
} else {
|
744 |
-
if(z===panel) {
|
745 |
-
index = z;
|
746 |
-
//index, instant, callbacks, toTop
|
747 |
-
animateScroll(z,instant,true,true);
|
748 |
-
}
|
749 |
-
}
|
750 |
-
}
|
751 |
-
}
|
752 |
-
scrollify.move = function(panel) {
|
753 |
-
if(panel===undefined) {
|
754 |
-
return false;
|
755 |
-
}
|
756 |
-
if(panel.originalEvent) {
|
757 |
-
panel = $(this).attr("href");
|
758 |
-
}
|
759 |
-
move(panel,false);
|
760 |
-
};
|
761 |
-
scrollify.instantMove = function(panel) {
|
762 |
-
if(panel===undefined) {
|
763 |
-
return false;
|
764 |
-
}
|
765 |
-
move(panel,true);
|
766 |
-
};
|
767 |
-
scrollify.next = function() {
|
768 |
-
if(index<names.length) {
|
769 |
-
index += 1;
|
770 |
-
//index, instant, callbacks, toTop
|
771 |
-
animateScroll(index,false,true,true);
|
772 |
-
}
|
773 |
-
};
|
774 |
-
scrollify.previous = function() {
|
775 |
-
if(index>0) {
|
776 |
-
index -= 1;
|
777 |
-
//index, instant, callbacks, toTop
|
778 |
-
animateScroll(index,false,true,true);
|
779 |
-
}
|
780 |
-
};
|
781 |
-
scrollify.instantNext = function() {
|
782 |
-
if(index<names.length) {
|
783 |
-
index += 1;
|
784 |
-
//index, instant, callbacks, toTop
|
785 |
-
animateScroll(index,true,true,true);
|
786 |
-
}
|
787 |
-
};
|
788 |
-
scrollify.instantPrevious = function() {
|
789 |
-
if(index>0) {
|
790 |
-
index -= 1;
|
791 |
-
//index, instant, callbacks, toTop
|
792 |
-
animateScroll(index,true,true,true);
|
793 |
-
}
|
794 |
-
};
|
795 |
-
scrollify.destroy = function() {
|
796 |
-
if(!initialised) {
|
797 |
-
return false;
|
798 |
-
}
|
799 |
-
if(settings.setHeights) {
|
800 |
-
$(settings.section).each(function() {
|
801 |
-
$(this).css("height","auto");
|
802 |
-
});
|
803 |
-
}
|
804 |
-
$window.off("resize",util.handleResize);
|
805 |
-
if(settings.scrollbars) {
|
806 |
-
$window.off('mousedown', manualScroll.handleMousedown);
|
807 |
-
$window.off('mouseup', manualScroll.handleMouseup);
|
808 |
-
$window.off('scroll', manualScroll.handleScroll);
|
809 |
-
}
|
810 |
-
// $window.off(wheelEvent,manualScroll.wheelHandler);
|
811 |
-
window.removeEventListener(wheelEvent,manualScroll.wheelHandler);
|
812 |
-
$window.off('keydown', manualScroll.keyHandler);
|
813 |
-
|
814 |
-
if (document.addEventListener && settings.touchScroll) {
|
815 |
-
document.removeEventListener('touchstart', swipeScroll.touchHandler, false);
|
816 |
-
document.removeEventListener('touchmove', swipeScroll.touchHandler, false);
|
817 |
-
document.removeEventListener('touchend', swipeScroll.touchHandler, false);
|
818 |
-
}
|
819 |
-
heights = [];
|
820 |
-
names = [];
|
821 |
-
elements = [];
|
822 |
-
overflow = [];
|
823 |
-
};
|
824 |
-
scrollify.update = function() {
|
825 |
-
if(!initialised) {
|
826 |
-
return false;
|
827 |
-
}
|
828 |
-
util.handleUpdate();
|
829 |
-
};
|
830 |
-
scrollify.current = function() {
|
831 |
-
return elements[index];
|
832 |
-
};
|
833 |
-
scrollify.currentIndex = function() {
|
834 |
-
return index;
|
835 |
-
};
|
836 |
-
scrollify.disable = function() {
|
837 |
-
disabled = true;
|
838 |
-
};
|
839 |
-
scrollify.enable = function() {
|
840 |
-
disabled = false;
|
841 |
-
if (initialised) {
|
842 |
-
//instant,callbacks
|
843 |
-
manualScroll.calculateNearest(false,false);
|
844 |
-
}
|
845 |
-
};
|
846 |
-
scrollify.currentScroll = function() {
|
847 |
-
return currentScrollID;
|
848 |
-
};
|
849 |
-
scrollify.isScrollable = function() {
|
850 |
-
return scrollable;
|
851 |
-
};
|
852 |
-
scrollify.isDisabled = function() {
|
853 |
-
return disabled;
|
854 |
-
};
|
855 |
-
scrollify.setOptions = function(updatedOptions) {
|
856 |
-
if(!initialised) {
|
857 |
-
return false;
|
858 |
-
}
|
859 |
-
if(typeof updatedOptions === "object") {
|
860 |
-
settings = $.extend(settings, updatedOptions);
|
861 |
-
util.handleUpdate();
|
862 |
-
} else if(window.console) {
|
863 |
-
console.warn("Scrollify warning: setOptions expects an object.");
|
864 |
-
}
|
865 |
-
};
|
866 |
-
$.scrollify = scrollify;
|
867 |
-
return scrollify;
|
868 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/frontend/js/premium-addons.js
CHANGED
@@ -126,7 +126,8 @@
|
|
126 |
originLeft: ltrMode,
|
127 |
masonry: {
|
128 |
columnWidth: columnWidth
|
129 |
-
}
|
|
|
130 |
});
|
131 |
});
|
132 |
|
@@ -482,7 +483,7 @@
|
|
482 |
nextArrow: carouselSettings["nextArrow"],
|
483 |
prevArrow: carouselSettings["prevArrow"],
|
484 |
dots: carouselSettings["dots"],
|
485 |
-
customPaging: function (
|
486 |
return (
|
487 |
'<i class="' +
|
488 |
carouselSettings["customPaging"] +
|
@@ -629,16 +630,9 @@
|
|
629 |
/****** Premium Blog Handler ******/
|
630 |
var PremiumBlogHandler = function ($scope, $) {
|
631 |
var blogElement = $scope.find(".premium-blog-wrap"),
|
632 |
-
colsNumber
|
633 |
-
carousel
|
634 |
-
|
635 |
-
speed = blogElement.data("speed"),
|
636 |
-
fade = blogElement.data("fade"),
|
637 |
-
prevArrow =
|
638 |
-
'<a type="button" data-role="none" class="carousel-arrow carousel-prev" aria-label="Next" role="button" style=""><i class="fa fa-angle-left" aria-hidden="true"></i></a>',
|
639 |
-
nextArrow =
|
640 |
-
'<a type="button" data-role="none" class="carousel-arrow carousel-next" aria-label="Next" role="button" style=""><i class="fa fa-angle-right" aria-hidden="true"></i></a>';
|
641 |
-
|
642 |
$scope.find(".premium-blog-cats-container li a").click(function (e) {
|
643 |
e.preventDefault();
|
644 |
|
@@ -672,11 +666,27 @@
|
|
672 |
}
|
673 |
|
674 |
if ( carousel && ! masonryBlog ) {
|
675 |
-
|
676 |
-
|
677 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
678 |
slidesToScroll: colsNumber,
|
679 |
-
responsive:
|
680 |
{
|
681 |
breakpoint: 769,
|
682 |
settings: {
|
@@ -692,12 +702,18 @@
|
|
692 |
}
|
693 |
}
|
694 |
],
|
695 |
-
autoplay:
|
696 |
-
autoplaySpeed:
|
697 |
-
nextArrow:
|
698 |
-
prevArrow:
|
699 |
-
fade:
|
700 |
-
draggable:
|
|
|
|
|
|
|
|
|
|
|
|
|
701 |
});
|
702 |
}
|
703 |
};
|
126 |
originLeft: ltrMode,
|
127 |
masonry: {
|
128 |
columnWidth: columnWidth
|
129 |
+
},
|
130 |
+
sortBy: gridSettings["sort_by"]
|
131 |
});
|
132 |
});
|
133 |
|
483 |
nextArrow: carouselSettings["nextArrow"],
|
484 |
prevArrow: carouselSettings["prevArrow"],
|
485 |
dots: carouselSettings["dots"],
|
486 |
+
customPaging: function () {
|
487 |
return (
|
488 |
'<i class="' +
|
489 |
carouselSettings["customPaging"] +
|
630 |
/****** Premium Blog Handler ******/
|
631 |
var PremiumBlogHandler = function ($scope, $) {
|
632 |
var blogElement = $scope.find(".premium-blog-wrap"),
|
633 |
+
colsNumber = blogElement.data("col"),
|
634 |
+
carousel = blogElement.data("carousel");
|
635 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
636 |
$scope.find(".premium-blog-cats-container li a").click(function (e) {
|
637 |
e.preventDefault();
|
638 |
|
666 |
}
|
667 |
|
668 |
if ( carousel && ! masonryBlog ) {
|
669 |
+
|
670 |
+
var autoPlay = blogElement.data("play"),
|
671 |
+
speed = blogElement.data("speed"),
|
672 |
+
fade = blogElement.data("fade"),
|
673 |
+
arrows = blogElement.data("arrows"),
|
674 |
+
dots = blogElement.data("dots"),
|
675 |
+
prevArrow = null,
|
676 |
+
nextArrow = null;
|
677 |
+
|
678 |
+
if ( arrows ) {
|
679 |
+
prevArrow = '<a type="button" data-role="none" class="carousel-arrow carousel-prev" aria-label="Next" role="button" style=""><i class="fas fa-angle-left" aria-hidden="true"></i></a>',
|
680 |
+
nextArrow = '<a type="button" data-role="none" class="carousel-arrow carousel-next" aria-label="Next" role="button" style=""><i class="fas fa-angle-right" aria-hidden="true"></i></a>';
|
681 |
+
} else {
|
682 |
+
prevArrow = prevArrow = '';
|
683 |
+
}
|
684 |
+
|
685 |
+
$( blogElement ).slick({
|
686 |
+
infinite: true,
|
687 |
+
slidesToShow: colsNumber,
|
688 |
slidesToScroll: colsNumber,
|
689 |
+
responsive: [
|
690 |
{
|
691 |
breakpoint: 769,
|
692 |
settings: {
|
702 |
}
|
703 |
}
|
704 |
],
|
705 |
+
autoplay: autoPlay,
|
706 |
+
autoplaySpeed: speed,
|
707 |
+
nextArrow: nextArrow,
|
708 |
+
prevArrow: prevArrow,
|
709 |
+
fade: fade,
|
710 |
+
draggable: true,
|
711 |
+
dots: dots,
|
712 |
+
customPaging: function () {
|
713 |
+
return (
|
714 |
+
'<i class="fas fa-circle"></i>'
|
715 |
+
);
|
716 |
+
}
|
717 |
});
|
718 |
}
|
719 |
};
|
assets/frontend/js/premium-vscroll.js
CHANGED
@@ -28,15 +28,9 @@
|
|
28 |
},
|
29 |
settings = $.extend({}, defaultSettings, settings),
|
30 |
sections = {},
|
31 |
-
timeStamp = 0,
|
32 |
currentSection = null,
|
33 |
-
platform = navigator.platform,
|
34 |
isScrolling = false,
|
35 |
-
sectionChanged = false
|
36 |
-
inScope = true;
|
37 |
-
|
38 |
-
|
39 |
-
var interstitialIndex = 1;
|
40 |
|
41 |
var touchStartY = 0,
|
42 |
touchEndY = 0;
|
@@ -142,7 +136,7 @@
|
|
142 |
|
143 |
elementorFrontend.waypoint(
|
144 |
$section,
|
145 |
-
function(
|
146 |
|
147 |
var $this = $( this ),
|
148 |
sectionId = $this.attr( "id" );
|
@@ -254,8 +248,7 @@
|
|
254 |
|
255 |
self.onTouchMove = function( e ) {
|
256 |
|
257 |
-
|
258 |
-
if ( inScope ) {
|
259 |
self.preventDefault( e );
|
260 |
}
|
261 |
|
@@ -271,14 +264,12 @@
|
|
271 |
var $target = $( e.target ),
|
272 |
sectionSelector = checkTemps ? ".premium-vscroll-temp" : ".elementor-top-section",
|
273 |
$section = $target.closest( sectionSelector ),
|
274 |
-
$vTarget = self.visible( $instance, true, false ),
|
275 |
sectionId = $section.attr( "id" ),
|
276 |
newSectionId = false,
|
277 |
prevSectionId = false,
|
278 |
nextSectionId = false,
|
279 |
direction = false,
|
280 |
-
windowScrollTop = $window.scrollTop()
|
281 |
-
dotIndex = $( ".premium-vscroll-dot-item.active" ).index();
|
282 |
|
283 |
$( ".premium-vscroll-tooltip" ).hide();
|
284 |
|
@@ -320,7 +311,7 @@
|
|
320 |
|
321 |
if ( "down" === direction ) {
|
322 |
|
323 |
-
if ( ! prevSectionId && sections[ sectionId ].offset > windowScrollTop + 5
|
324 |
newSectionId = sectionId;
|
325 |
} else {
|
326 |
newSectionId = nextSectionId;
|
@@ -330,14 +321,16 @@
|
|
330 |
|
331 |
if ( newSectionId ) {
|
332 |
|
333 |
-
inScope = true;
|
334 |
-
|
335 |
$( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).removeClass( "premium-vscroll-dots-hide" );
|
336 |
-
|
337 |
-
|
|
|
|
|
|
|
|
|
|
|
338 |
|
339 |
} else {
|
340 |
-
inScope = false;
|
341 |
|
342 |
var $lastselector = checkTemps ? $instance : $( "#" + sectionId );
|
343 |
|
@@ -557,7 +550,6 @@
|
|
557 |
|
558 |
self.onKeyUp = function(event, direction) {
|
559 |
var direction = direction || "up",
|
560 |
-
sectionId,
|
561 |
nextItem = $(
|
562 |
".premium-vscroll-dot-item[data-menuanchor=" +
|
563 |
currentSection +
|
@@ -616,32 +608,33 @@
|
|
616 |
|
617 |
self.onWheel = function(event) {
|
618 |
|
619 |
-
if (isScrolling) {
|
620 |
event.preventDefault();
|
621 |
return false;
|
622 |
}
|
623 |
-
|
624 |
-
var $target
|
625 |
-
sectionSelector = checkTemps
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
delta = getDirection(event),
|
635 |
-
direction = 0 > delta ? "down" : "up",
|
636 |
windowScrollTop = $window.scrollTop(),
|
637 |
-
dotIndex
|
638 |
-
|
|
|
|
|
639 |
$(".premium-vscroll-tooltip").hide();
|
640 |
-
|
|
|
641 |
$(
|
642 |
".premium-vscroll-dots, .premium-vscroll-nav-menu"
|
643 |
).addClass("premium-vscroll-dots-hide");
|
644 |
-
} else if (dotIndex === 0 &&
|
645 |
if (
|
646 |
$instance.offset().top - $(document).scrollTop() >
|
647 |
200
|
@@ -657,21 +650,21 @@
|
|
657 |
}
|
658 |
}
|
659 |
|
660 |
-
if (beforeCheck()) {
|
661 |
sectionId = getFirstSection(sections);
|
662 |
}
|
663 |
|
664 |
-
if (afterCheck()) {
|
665 |
sectionId = getLastSection(sections);
|
666 |
}
|
667 |
-
|
|
|
|
|
668 |
prevSectionId = self.checkPrevSection(sections, sectionId);
|
669 |
nextSectionId = self.checkNextSection(sections, sectionId);
|
|
|
670 |
if ("up" === direction) {
|
671 |
-
if (
|
672 |
-
!nextSectionId &&
|
673 |
-
sections[sectionId].offset < windowScrollTop
|
674 |
-
) {
|
675 |
newSectionId = sectionId;
|
676 |
} else {
|
677 |
newSectionId = prevSectionId;
|
@@ -679,32 +672,23 @@
|
|
679 |
}
|
680 |
|
681 |
if ("down" === direction) {
|
682 |
-
if (
|
683 |
-
!prevSectionId &&
|
684 |
-
sections[sectionId].offset > windowScrollTop + 5
|
685 |
-
) {
|
686 |
newSectionId = sectionId;
|
687 |
} else {
|
688 |
newSectionId = nextSectionId;
|
689 |
}
|
690 |
}
|
691 |
|
692 |
-
if (newSectionId) {
|
693 |
-
|
694 |
-
|
695 |
-
|
|
|
|
|
|
|
696 |
event.preventDefault();
|
697 |
-
|
698 |
-
|
699 |
-
event.timeStamp - timeStamp > 10 &&
|
700 |
-
"MacIntel" == platform
|
701 |
-
) {
|
702 |
-
timeStamp = event.timeStamp;
|
703 |
-
|
704 |
-
return false;
|
705 |
-
}
|
706 |
-
|
707 |
-
self.onAnchorChange(newSectionId);
|
708 |
} else {
|
709 |
var $lastselector = checkTemps
|
710 |
? $instance
|
28 |
},
|
29 |
settings = $.extend({}, defaultSettings, settings),
|
30 |
sections = {},
|
|
|
31 |
currentSection = null,
|
|
|
32 |
isScrolling = false,
|
33 |
+
sectionChanged = false;
|
|
|
|
|
|
|
|
|
34 |
|
35 |
var touchStartY = 0,
|
36 |
touchEndY = 0;
|
136 |
|
137 |
elementorFrontend.waypoint(
|
138 |
$section,
|
139 |
+
function() {
|
140 |
|
141 |
var $this = $( this ),
|
142 |
sectionId = $this.attr( "id" );
|
248 |
|
249 |
self.onTouchMove = function( e ) {
|
250 |
|
251 |
+
if ( ! settings.showOverflow ) {
|
|
|
252 |
self.preventDefault( e );
|
253 |
}
|
254 |
|
264 |
var $target = $( e.target ),
|
265 |
sectionSelector = checkTemps ? ".premium-vscroll-temp" : ".elementor-top-section",
|
266 |
$section = $target.closest( sectionSelector ),
|
|
|
267 |
sectionId = $section.attr( "id" ),
|
268 |
newSectionId = false,
|
269 |
prevSectionId = false,
|
270 |
nextSectionId = false,
|
271 |
direction = false,
|
272 |
+
windowScrollTop = $window.scrollTop();
|
|
|
273 |
|
274 |
$( ".premium-vscroll-tooltip" ).hide();
|
275 |
|
311 |
|
312 |
if ( "down" === direction ) {
|
313 |
|
314 |
+
if ( ! prevSectionId && sections[ sectionId ].offset > windowScrollTop + 5 ) {
|
315 |
newSectionId = sectionId;
|
316 |
} else {
|
317 |
newSectionId = nextSectionId;
|
321 |
|
322 |
if ( newSectionId ) {
|
323 |
|
|
|
|
|
324 |
$( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).removeClass( "premium-vscroll-dots-hide" );
|
325 |
+
|
326 |
+
if ( settings.showOverflow ) {
|
327 |
+
if ( ! self.atBottom( sectionId ) )
|
328 |
+
return;
|
329 |
+
}
|
330 |
+
|
331 |
+
self.onAnchorChange( newSectionId );
|
332 |
|
333 |
} else {
|
|
|
334 |
|
335 |
var $lastselector = checkTemps ? $instance : $( "#" + sectionId );
|
336 |
|
550 |
|
551 |
self.onKeyUp = function(event, direction) {
|
552 |
var direction = direction || "up",
|
|
|
553 |
nextItem = $(
|
554 |
".premium-vscroll-dot-item[data-menuanchor=" +
|
555 |
currentSection +
|
608 |
|
609 |
self.onWheel = function(event) {
|
610 |
|
611 |
+
if ( isScrolling ) {
|
612 |
event.preventDefault();
|
613 |
return false;
|
614 |
}
|
615 |
+
|
616 |
+
var $target = $( event.target ),
|
617 |
+
sectionSelector = checkTemps ? ".premium-vscroll-temp" : ".elementor-top-section",
|
618 |
+
$section = $target.closest( sectionSelector ),
|
619 |
+
$vTarget = self.visible($instance, true, false),
|
620 |
+
sectionId = $section.attr("id"),
|
621 |
+
newSectionId = false,
|
622 |
+
prevSectionId = false,
|
623 |
+
nextSectionId = false,
|
624 |
+
delta = getDirection( event ),
|
625 |
+
direction = 0 > delta ? "down" : "up",
|
|
|
|
|
626 |
windowScrollTop = $window.scrollTop(),
|
627 |
+
dotIndex = $(".premium-vscroll-dot-item.active").index();
|
628 |
+
|
629 |
+
if ( isTouch ) {
|
630 |
+
|
631 |
$(".premium-vscroll-tooltip").hide();
|
632 |
+
|
633 |
+
if ( dotIndex === $itemsList.length - 1 && ! $vTarget ) {
|
634 |
$(
|
635 |
".premium-vscroll-dots, .premium-vscroll-nav-menu"
|
636 |
).addClass("premium-vscroll-dots-hide");
|
637 |
+
} else if ( dotIndex === 0 && ! $vTarget ) {
|
638 |
if (
|
639 |
$instance.offset().top - $(document).scrollTop() >
|
640 |
200
|
650 |
}
|
651 |
}
|
652 |
|
653 |
+
if ( beforeCheck() ) {
|
654 |
sectionId = getFirstSection(sections);
|
655 |
}
|
656 |
|
657 |
+
if ( afterCheck() ) {
|
658 |
sectionId = getLastSection(sections);
|
659 |
}
|
660 |
+
|
661 |
+
if ( sectionId && sections.hasOwnProperty( sectionId )) {
|
662 |
+
|
663 |
prevSectionId = self.checkPrevSection(sections, sectionId);
|
664 |
nextSectionId = self.checkNextSection(sections, sectionId);
|
665 |
+
|
666 |
if ("up" === direction) {
|
667 |
+
if ( ! nextSectionId && sections[sectionId].offset < windowScrollTop ) {
|
|
|
|
|
|
|
668 |
newSectionId = sectionId;
|
669 |
} else {
|
670 |
newSectionId = prevSectionId;
|
672 |
}
|
673 |
|
674 |
if ("down" === direction) {
|
675 |
+
if ( ! prevSectionId && sections[sectionId].offset > windowScrollTop + 5 ) {
|
|
|
|
|
|
|
676 |
newSectionId = sectionId;
|
677 |
} else {
|
678 |
newSectionId = nextSectionId;
|
679 |
}
|
680 |
}
|
681 |
|
682 |
+
if ( newSectionId ) {
|
683 |
+
|
684 |
+
if ( ! self.atBottom( sectionId ) )
|
685 |
+
return;
|
686 |
+
|
687 |
+
$( ".premium-vscroll-dots, .premium-vscroll-nav-menu" ).removeClass("premium-vscroll-dots-hide");
|
688 |
+
|
689 |
event.preventDefault();
|
690 |
+
|
691 |
+
self.onAnchorChange( newSectionId );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
692 |
} else {
|
693 |
var $lastselector = checkTemps
|
694 |
? $instance
|
premium-addons-for-elementor.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
-
Version: 3.6.
|
7 |
Author: Leap13
|
8 |
Author URI: https://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
@@ -14,12 +14,12 @@ License: GNU General Public License v3.0
|
|
14 |
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
15 |
|
16 |
// Define Constants
|
17 |
-
define('PREMIUM_ADDONS_VERSION', '3.6.
|
18 |
define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
|
19 |
define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
|
20 |
define('PREMIUM_ADDONS_FILE', __FILE__);
|
21 |
define('PREMIUM_ADDONS_BASENAME', plugin_basename( PREMIUM_ADDONS_FILE ) );
|
22 |
-
define('PREMIUM_ADDONS_STABLE_VERSION', '3.6.
|
23 |
|
24 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
25 |
|
3 |
Plugin Name: Premium Addons for Elementor
|
4 |
Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
|
5 |
Plugin URI: https://premiumaddons.com
|
6 |
+
Version: 3.6.7
|
7 |
Author: Leap13
|
8 |
Author URI: https://leap13.com/
|
9 |
Text Domain: premium-addons-for-elementor
|
14 |
if ( ! defined('ABSPATH') ) exit; // No access of directly access
|
15 |
|
16 |
// Define Constants
|
17 |
+
define('PREMIUM_ADDONS_VERSION', '3.6.7');
|
18 |
define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
|
19 |
define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
|
20 |
define('PREMIUM_ADDONS_FILE', __FILE__);
|
21 |
define('PREMIUM_ADDONS_BASENAME', plugin_basename( PREMIUM_ADDONS_FILE ) );
|
22 |
+
define('PREMIUM_ADDONS_STABLE_VERSION', '3.6.6');
|
23 |
|
24 |
if( ! class_exists('Premium_Addons_Elementor') ) {
|
25 |
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate Link: https://premiumaddons.com/?utm_source=wp-repo&utm_medium=link&utm_c
|
|
5 |
Requires at Least: 4.5
|
6 |
Tested Up To: 5.2.2
|
7 |
Requires PHP: 5.4
|
8 |
-
Stable Tag: 3.6.
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
@@ -174,6 +174,16 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
|
|
174 |
|
175 |
== Changelog ==
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
= 3.6.6 =
|
178 |
|
179 |
- Fixed: `Notice: Undefined variable: col_number in /premium-blog.php on line 1752'
|
5 |
Requires at Least: 4.5
|
6 |
Tested Up To: 5.2.2
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable Tag: 3.6.7
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
174 |
|
175 |
== Changelog ==
|
176 |
|
177 |
+
= 3.6.7 =
|
178 |
+
|
179 |
+
- Tweak: Font Awesome 5 compatibility for all widgets.
|
180 |
+
- Tweak: Added `Navigation Dots` option for carousel in Blog widget.
|
181 |
+
- Tweak: Added `Text/Background Hover Color` option for filter tabs in Grid widget.
|
182 |
+
- Tweak: Added `Shuffle Images on Page Load` option to Grid widget.
|
183 |
+
- Fixed: Description container rendered even when description text is empty.
|
184 |
+
- Tweak: Show overflow content then scroll in Vertical Scroll widget.
|
185 |
+
- Fixed: Vertical Scroll issue on Mac OS.
|
186 |
+
|
187 |
= 3.6.6 =
|
188 |
|
189 |
- Fixed: `Notice: Undefined variable: col_number in /premium-blog.php on line 1752'
|
widgets/premium-blog.php
CHANGED
@@ -693,6 +693,27 @@ class Premium_Blog extends Widget_Base {
|
|
693 |
]
|
694 |
);
|
695 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
696 |
$this->add_responsive_control('premium_blog_carousel_arrows_pos',
|
697 |
[
|
698 |
'label' => __('Arrows Position', 'premium-addons-for-elementor'),
|
@@ -709,7 +730,8 @@ class Premium_Blog extends Widget_Base {
|
|
709 |
],
|
710 |
],
|
711 |
'condition' => [
|
712 |
-
'premium_blog_carousel'
|
|
|
713 |
],
|
714 |
'selectors' => [
|
715 |
'{{WRAPPER}} .premium-blog-wrap a.carousel-arrow.carousel-next' => 'right: {{SIZE}}{{UNIT}};',
|
@@ -1240,12 +1262,54 @@ class Premium_Blog extends Widget_Base {
|
|
1240 |
|
1241 |
$this->end_controls_section();
|
1242 |
|
1243 |
-
$this->start_controls_section('
|
1244 |
[
|
1245 |
-
'label' => __('Carousel', 'premium-addons-for-elementor'),
|
1246 |
'tab' => Controls_Manager::TAB_STYLE,
|
1247 |
'condition' => [
|
1248 |
-
'premium_blog_carousel'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1249 |
]
|
1250 |
]
|
1251 |
);
|
@@ -1745,9 +1809,6 @@ class Premium_Blog extends Widget_Base {
|
|
1745 |
$posts_number = intval ( 100 / substr( $settings['premium_blog_columns_number'], 0, strpos( $settings['premium_blog_columns_number'], '%') ) );
|
1746 |
|
1747 |
$carousel = 'yes' == $settings['premium_blog_carousel'] ? true : false;
|
1748 |
-
$play = 'yes' == $settings['premium_blog_carousel_play'] ? true : false;
|
1749 |
-
$fade = 'yes' == $settings['premium_blog_carousel_fade'] ? 'true' : 'false';
|
1750 |
-
$speed = ! empty( $settings['premium_blog_carousel_autoplay_speed'] ) ? $settings['premium_blog_carousel_autoplay_speed'] : 5000;
|
1751 |
|
1752 |
$this->add_render_attribute('blog', 'class', [
|
1753 |
'premium-blog-wrap',
|
@@ -1756,16 +1817,29 @@ class Premium_Blog extends Widget_Base {
|
|
1756 |
]
|
1757 |
);
|
1758 |
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
1766 |
|
1767 |
-
|
1768 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1769 |
|
1770 |
?>
|
1771 |
<div class="premium-blog">
|
693 |
]
|
694 |
);
|
695 |
|
696 |
+
$this->add_control('premium_blog_carousel_dots',
|
697 |
+
[
|
698 |
+
'label' => __('Navigation Dots', 'premium-addons-for-elementor'),
|
699 |
+
'type' => Controls_Manager::SWITCHER,
|
700 |
+
'condition' => [
|
701 |
+
'premium_blog_carousel' => 'yes'
|
702 |
+
]
|
703 |
+
]
|
704 |
+
);
|
705 |
+
|
706 |
+
$this->add_control('premium_blog_carousel_arrows',
|
707 |
+
[
|
708 |
+
'label' => __('Navigation Arrows', 'premium-addons-for-elementor'),
|
709 |
+
'type' => Controls_Manager::SWITCHER,
|
710 |
+
'default' => 'yes',
|
711 |
+
'condition' => [
|
712 |
+
'premium_blog_carousel' => 'yes'
|
713 |
+
]
|
714 |
+
]
|
715 |
+
);
|
716 |
+
|
717 |
$this->add_responsive_control('premium_blog_carousel_arrows_pos',
|
718 |
[
|
719 |
'label' => __('Arrows Position', 'premium-addons-for-elementor'),
|
730 |
],
|
731 |
],
|
732 |
'condition' => [
|
733 |
+
'premium_blog_carousel' => 'yes',
|
734 |
+
'premium_blog_carousel_arrows' => 'yes'
|
735 |
],
|
736 |
'selectors' => [
|
737 |
'{{WRAPPER}} .premium-blog-wrap a.carousel-arrow.carousel-next' => 'right: {{SIZE}}{{UNIT}};',
|
1262 |
|
1263 |
$this->end_controls_section();
|
1264 |
|
1265 |
+
$this->start_controls_section('carousel_dots_style',
|
1266 |
[
|
1267 |
+
'label' => __('Carousel Dots', 'premium-addons-for-elementor'),
|
1268 |
'tab' => Controls_Manager::TAB_STYLE,
|
1269 |
'condition' => [
|
1270 |
+
'premium_blog_carousel' => 'yes',
|
1271 |
+
'premium_blog_carousel_dots' => 'yes'
|
1272 |
+
]
|
1273 |
+
]
|
1274 |
+
);
|
1275 |
+
|
1276 |
+
$this->add_control('carousel_dot_navigation_color',
|
1277 |
+
[
|
1278 |
+
'label' => __( 'Color', 'premium-addons-for-elementor' ),
|
1279 |
+
'type' => Controls_Manager::COLOR,
|
1280 |
+
'scheme' => [
|
1281 |
+
'type' => Scheme_Color::get_type(),
|
1282 |
+
'value' => Scheme_Color::COLOR_2,
|
1283 |
+
],
|
1284 |
+
'selectors' => [
|
1285 |
+
'{{WRAPPER}} ul.slick-dots li' => 'color: {{VALUE}}'
|
1286 |
+
]
|
1287 |
+
]
|
1288 |
+
);
|
1289 |
+
|
1290 |
+
$this->add_control('carousel_dot_navigation_active_color',
|
1291 |
+
[
|
1292 |
+
'label' => __( 'Active Color', 'premium-addons-for-elementor' ),
|
1293 |
+
'type' => Controls_Manager::COLOR,
|
1294 |
+
'scheme' => [
|
1295 |
+
'type' => Scheme_Color::get_type(),
|
1296 |
+
'value' => Scheme_Color::COLOR_1,
|
1297 |
+
],
|
1298 |
+
'selectors' => [
|
1299 |
+
'{{WRAPPER}} ul.slick-dots li.slick-active' => 'color: {{VALUE}}'
|
1300 |
+
]
|
1301 |
+
]
|
1302 |
+
);
|
1303 |
+
|
1304 |
+
$this->end_controls_section();
|
1305 |
+
|
1306 |
+
$this->start_controls_section('carousel_arrows_style',
|
1307 |
+
[
|
1308 |
+
'label' => __('Carousel Arrows', 'premium-addons-for-elementor'),
|
1309 |
+
'tab' => Controls_Manager::TAB_STYLE,
|
1310 |
+
'condition' => [
|
1311 |
+
'premium_blog_carousel' => 'yes',
|
1312 |
+
'premium_blog_carousel_arrows' => 'yes'
|
1313 |
]
|
1314 |
]
|
1315 |
);
|
1809 |
$posts_number = intval ( 100 / substr( $settings['premium_blog_columns_number'], 0, strpos( $settings['premium_blog_columns_number'], '%') ) );
|
1810 |
|
1811 |
$carousel = 'yes' == $settings['premium_blog_carousel'] ? true : false;
|
|
|
|
|
|
|
1812 |
|
1813 |
$this->add_render_attribute('blog', 'class', [
|
1814 |
'premium-blog-wrap',
|
1817 |
]
|
1818 |
);
|
1819 |
|
1820 |
+
if ( $carousel ) {
|
1821 |
+
|
1822 |
+
$play = 'yes' == $settings['premium_blog_carousel_play'] ? true : false;
|
1823 |
+
$fade = 'yes' == $settings['premium_blog_carousel_fade'] ? 'true' : 'false';
|
1824 |
+
$arrows = 'yes' == $settings['premium_blog_carousel_arrows'] ? 'true' : 'false';
|
1825 |
+
$speed = ! empty( $settings['premium_blog_carousel_autoplay_speed'] ) ? $settings['premium_blog_carousel_autoplay_speed'] : 5000;
|
1826 |
+
$dots = 'yes' == $settings['premium_blog_carousel_dots'] ? 'true' : 'false';
|
1827 |
|
1828 |
+
$this->add_render_attribute('blog', 'data-carousel', $carousel );
|
1829 |
|
1830 |
+
$this->add_render_attribute('blog', 'data-fade', $fade );
|
1831 |
+
|
1832 |
+
$this->add_render_attribute('blog', 'data-play', $play );
|
1833 |
+
|
1834 |
+
$this->add_render_attribute('blog', 'data-speed', $speed );
|
1835 |
+
|
1836 |
+
$this->add_render_attribute('blog', 'data-col', $posts_number );
|
1837 |
+
|
1838 |
+
$this->add_render_attribute('blog', 'data-arrows', $arrows );
|
1839 |
+
|
1840 |
+
$this->add_render_attribute('blog', 'data-dots', $dots );
|
1841 |
+
|
1842 |
+
}
|
1843 |
|
1844 |
?>
|
1845 |
<div class="premium-blog">
|
widgets/premium-button.php
CHANGED
@@ -4,6 +4,7 @@ namespace PremiumAddons\Widgets;
|
|
4 |
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use PremiumAddons\Includes;
|
|
|
7 |
use Elementor\Widget_Base;
|
8 |
use Elementor\Controls_Manager;
|
9 |
use Elementor\Scheme_Color;
|
@@ -216,30 +217,38 @@ class Premium_Button extends Widget_Base {
|
|
216 |
]
|
217 |
);
|
218 |
|
219 |
-
$this->add_control('
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
|
|
|
|
|
|
|
|
231 |
|
232 |
-
$this->add_control('
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
|
|
|
|
|
|
|
|
243 |
|
244 |
$this->add_control('premium_button_icon_position',
|
245 |
[
|
@@ -770,7 +779,15 @@ class Premium_Button extends Widget_Base {
|
|
770 |
|
771 |
$this->end_controls_section();
|
772 |
}
|
773 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
774 |
protected function render() {
|
775 |
|
776 |
$settings = $this->get_settings_for_display();
|
@@ -789,7 +806,13 @@ class Premium_Button extends Widget_Base {
|
|
789 |
|
790 |
$button_event = $settings['premium_button_event_function'];
|
791 |
|
792 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
793 |
|
794 |
if ( $settings['premium_button_hover_effect'] == 'none' ) {
|
795 |
$style_dir = 'premium-button-none';
|
@@ -801,15 +824,71 @@ class Premium_Button extends Widget_Base {
|
|
801 |
$style_dir = 'premium-button-style3-' . $settings['premium_button_icon_position'];
|
802 |
} elseif ( $settings['premium_button_hover_effect'] == 'style4' ) {
|
803 |
$style_dir = 'premium-button-style4-' . $settings['premium_button_style4_dir'];
|
804 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
805 |
} elseif ( $settings['premium_button_hover_effect'] == 'style5' ) {
|
806 |
$style_dir = 'premium-button-style5-' . $settings['premium_button_style5_dir'];
|
807 |
}
|
808 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
809 |
|
810 |
<div class="premium-button-container">
|
811 |
-
<a
|
812 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
813 |
</div>
|
814 |
|
815 |
<?php
|
@@ -846,26 +925,45 @@ class Premium_Button extends Widget_Base {
|
|
846 |
} else if ( 'style4' == settings.premium_button_hover_effect ) {
|
847 |
styleDir = 'premium-button-style4-' + settings.premium_button_style4_dir;
|
848 |
slideIcon = settings.premium_button_style4_icon_selection;
|
|
|
|
|
|
|
|
|
849 |
} else if ( 'style5' == settings.premium_button_hover_effect ){
|
850 |
styleDir = 'premium-button-style5-' + settings.premium_button_style5_dir;
|
851 |
}
|
852 |
|
|
|
|
|
|
|
853 |
#>
|
854 |
|
855 |
<div class="premium-button-container">
|
856 |
-
<a class="premium-button
|
857 |
<div class="premium-button-text-icon-wrapper">
|
858 |
-
<# if( settings.premium_button_icon_switcher && 'before' == settings.premium_button_icon_position && 'style4' != settings.premium_button_hover_effect
|
859 |
-
|
860 |
-
|
|
|
|
|
|
|
|
|
861 |
<span {{{ view.getRenderAttributeString('premium_button_text') }}}>{{{ buttonText }}}</span>
|
862 |
-
<# if( settings.premium_button_icon_switcher && 'after' == settings.premium_button_icon_position && 'style4' != settings.premium_button_hover_effect
|
863 |
-
|
864 |
-
|
|
|
|
|
|
|
|
|
865 |
</div>
|
866 |
<# if( 'style4' == settings.premium_button_hover_effect ) { #>
|
867 |
<div class="premium-button-style4-icon-wrapper {{ settings.premium_button_style4_dir }}">
|
868 |
-
|
|
|
|
|
|
|
|
|
869 |
</div>
|
870 |
<# } #>
|
871 |
</a>
|
4 |
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use PremiumAddons\Includes;
|
7 |
+
use Elementor\Icons_Manager;
|
8 |
use Elementor\Widget_Base;
|
9 |
use Elementor\Controls_Manager;
|
10 |
use Elementor\Scheme_Color;
|
217 |
]
|
218 |
);
|
219 |
|
220 |
+
$this->add_control('premium_button_icon_selection_updated',
|
221 |
+
[
|
222 |
+
'label' => __('Icon', 'premium-addons-for-elementor'),
|
223 |
+
'type' => Controls_Manager::ICONS,
|
224 |
+
'fa4compatibility' => 'premium_button_icon_selection',
|
225 |
+
'default' => [
|
226 |
+
'value' => 'fas fa-bars',
|
227 |
+
'library' => 'fa-solid',
|
228 |
+
],
|
229 |
+
'condition' => [
|
230 |
+
'premium_button_icon_switcher' => 'yes',
|
231 |
+
'premium_button_hover_effect!' => 'style4'
|
232 |
+
],
|
233 |
+
'label_block' => true,
|
234 |
+
]
|
235 |
+
);
|
236 |
|
237 |
+
$this->add_control('premium_button_style4_icon_selection_updated',
|
238 |
+
[
|
239 |
+
'label' => __('Icon', 'premium-addons-for-elementor'),
|
240 |
+
'type' => Controls_Manager::ICONS,
|
241 |
+
'fa4compatibility' => 'premium_button_style4_icon_selection',
|
242 |
+
'default' => [
|
243 |
+
'value' => 'fas fa-bars',
|
244 |
+
'library' => 'fa-solid',
|
245 |
+
],
|
246 |
+
'condition' => [
|
247 |
+
'premium_button_hover_effect' => 'style4'
|
248 |
+
],
|
249 |
+
'label_block' => true,
|
250 |
+
]
|
251 |
+
);
|
252 |
|
253 |
$this->add_control('premium_button_icon_position',
|
254 |
[
|
779 |
|
780 |
$this->end_controls_section();
|
781 |
}
|
782 |
+
|
783 |
+
/**
|
784 |
+
* Render Grid output on the frontend.
|
785 |
+
*
|
786 |
+
* Written in PHP and used to generate the final HTML.
|
787 |
+
*
|
788 |
+
* @since 1.0.0
|
789 |
+
* @access protected
|
790 |
+
*/
|
791 |
protected function render() {
|
792 |
|
793 |
$settings = $this->get_settings_for_display();
|
806 |
|
807 |
$button_event = $settings['premium_button_event_function'];
|
808 |
|
809 |
+
if ( ! empty ( $settings['premium_button_icon_selection'] ) ) {
|
810 |
+
$this->add_render_attribute( 'icon', 'class', $settings['premium_button_icon_selection'] );
|
811 |
+
$this->add_render_attribute( 'icon', 'aria-hidden', 'true' );
|
812 |
+
}
|
813 |
+
|
814 |
+
$migrated = isset( $settings['__fa4_migrated']['premium_button_icon_selection_updated'] );
|
815 |
+
$is_new = empty( $settings['premium_button_icon_selection'] ) && Icons_Manager::is_migration_allowed();
|
816 |
|
817 |
if ( $settings['premium_button_hover_effect'] == 'none' ) {
|
818 |
$style_dir = 'premium-button-none';
|
824 |
$style_dir = 'premium-button-style3-' . $settings['premium_button_icon_position'];
|
825 |
} elseif ( $settings['premium_button_hover_effect'] == 'style4' ) {
|
826 |
$style_dir = 'premium-button-style4-' . $settings['premium_button_style4_dir'];
|
827 |
+
|
828 |
+
if ( ! empty ( $settings['premium_button_style4_icon_selection'] ) ) {
|
829 |
+
$this->add_render_attribute( 'slide_icon', 'class', $settings['premium_button_style4_icon_selection'] );
|
830 |
+
$this->add_render_attribute( 'slide_icon', 'aria-hidden', 'true' );
|
831 |
+
}
|
832 |
+
|
833 |
+
$slide_migrated = isset( $settings['__fa4_migrated']['premium_button_style4_icon_selection_updated'] );
|
834 |
+
$slide_is_new = empty( $settings['premium_button_style4_icon_selection'] ) && Icons_Manager::is_migration_allowed();
|
835 |
+
|
836 |
} elseif ( $settings['premium_button_hover_effect'] == 'style5' ) {
|
837 |
$style_dir = 'premium-button-style5-' . $settings['premium_button_style5_dir'];
|
838 |
}
|
839 |
+
|
840 |
+
$this->add_render_attribute( 'button', 'class', array(
|
841 |
+
'premium-button',
|
842 |
+
$button_size,
|
843 |
+
$style_dir
|
844 |
+
));
|
845 |
+
|
846 |
+
if( ! empty( $button_url ) ) {
|
847 |
+
|
848 |
+
$this->add_render_attribute( 'button', 'href', $button_url );
|
849 |
+
|
850 |
+
if( ! empty( $settings['premium_button_link']['is_external'] ) )
|
851 |
+
$this->add_render_attribute( 'button', 'target', '_blank' );
|
852 |
+
|
853 |
+
if( ! empty( $settings['premium_button_link']['nofollow'] ) )
|
854 |
+
$this->add_render_attribute( 'button', 'rel', 'nofollow' );
|
855 |
+
}
|
856 |
+
|
857 |
+
if( 'yes' === $settings['premium_button_event_switcher'] && ! empty( $button_event ) ) {
|
858 |
+
$this->add_render_attribute( 'button', 'onclick', $button_event );
|
859 |
+
}
|
860 |
+
|
861 |
+
?>
|
862 |
|
863 |
<div class="premium-button-container">
|
864 |
+
<a <?php echo $this->get_render_attribute_string( 'button' ); ?>>
|
865 |
+
<div class="premium-button-text-icon-wrapper">
|
866 |
+
<?php if( 'yes' === $settings['premium_button_icon_switcher'] && $settings['premium_button_icon_position'] === 'before' && $settings['premium_button_hover_effect'] !== 'style4' ) :
|
867 |
+
if ( $is_new || $migrated ) :
|
868 |
+
Icons_Manager::render_icon( $settings['premium_button_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
|
869 |
+
else: ?>
|
870 |
+
<i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
|
871 |
+
<?php endif;
|
872 |
+
endif; ?>
|
873 |
+
<span <?php echo $this->get_render_attribute_string( 'premium_button_text' ); ?>><?php echo $button_text; ?></span>
|
874 |
+
<?php if( 'yes' === $settings['premium_button_icon_switcher'] && $settings['premium_button_icon_position'] === 'after' && $settings['premium_button_hover_effect'] !== 'style4' ) :
|
875 |
+
if ( $is_new || $migrated ) :
|
876 |
+
Icons_Manager::render_icon( $settings['premium_button_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
|
877 |
+
else: ?>
|
878 |
+
<i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
|
879 |
+
<?php endif;
|
880 |
+
endif; ?>
|
881 |
+
</div>
|
882 |
+
<?php if( $settings['premium_button_hover_effect'] === 'style4' ) : ?>
|
883 |
+
<div class="premium-button-style4-icon-wrapper <?php echo esc_attr( $settings['premium_button_style4_dir'] ); ?>">
|
884 |
+
<?php if ( $slide_is_new || $slide_migrated ) :
|
885 |
+
Icons_Manager::render_icon( $settings['premium_button_style4_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
|
886 |
+
else: ?>
|
887 |
+
<i <?php echo $this->get_render_attribute_string( 'slide_icon' ); ?>></i>
|
888 |
+
<?php endif; ?>
|
889 |
+
</div>
|
890 |
+
<?php endif; ?>
|
891 |
+
</a>
|
892 |
</div>
|
893 |
|
894 |
<?php
|
925 |
} else if ( 'style4' == settings.premium_button_hover_effect ) {
|
926 |
styleDir = 'premium-button-style4-' + settings.premium_button_style4_dir;
|
927 |
slideIcon = settings.premium_button_style4_icon_selection;
|
928 |
+
|
929 |
+
var slideIconHTML = elementor.helpers.renderIcon( view, settings.premium_button_style4_icon_selection_updated, { 'aria-hidden': true }, 'i' , 'object' ),
|
930 |
+
slideMigrated = elementor.helpers.isIconMigrated( settings, 'premium_button_style4_icon_selection_updated' );
|
931 |
+
|
932 |
} else if ( 'style5' == settings.premium_button_hover_effect ){
|
933 |
styleDir = 'premium-button-style5-' + settings.premium_button_style5_dir;
|
934 |
}
|
935 |
|
936 |
+
var iconHTML = elementor.helpers.renderIcon( view, settings.premium_button_icon_selection_updated, { 'aria-hidden': true }, 'i' , 'object' ),
|
937 |
+
migrated = elementor.helpers.isIconMigrated( settings, 'premium_button_icon_selection_updated' );
|
938 |
+
|
939 |
#>
|
940 |
|
941 |
<div class="premium-button-container">
|
942 |
+
<a class="premium-button {{ buttonSize }} {{ styleDir }}" href="{{ buttonUrl }}" onclick="{{ buttonEvent }}">
|
943 |
<div class="premium-button-text-icon-wrapper">
|
944 |
+
<# if( 'yes' === settings.premium_button_icon_switcher && 'before' == settings.premium_button_icon_position && 'style4' != settings.premium_button_hover_effect ) {
|
945 |
+
if ( iconHTML && iconHTML.rendered && ( ! buttonIcon || migrated ) ) { #>
|
946 |
+
{{{ iconHTML.value }}}
|
947 |
+
<# } else { #>
|
948 |
+
<i class="{{ buttonIcon }}" aria-hidden="true"></i>
|
949 |
+
<# }
|
950 |
+
} #>
|
951 |
<span {{{ view.getRenderAttributeString('premium_button_text') }}}>{{{ buttonText }}}</span>
|
952 |
+
<# if( 'yes' === settings.premium_button_icon_switcher && 'after' == settings.premium_button_icon_position && 'style4' != settings.premium_button_hover_effect ) {
|
953 |
+
if ( iconHTML && iconHTML.rendered && ( ! buttonIcon || migrated ) ) { #>
|
954 |
+
{{{ iconHTML.value }}}
|
955 |
+
<# } else { #>
|
956 |
+
<i class="{{ buttonIcon }}" aria-hidden="true"></i>
|
957 |
+
<# }
|
958 |
+
} #>
|
959 |
</div>
|
960 |
<# if( 'style4' == settings.premium_button_hover_effect ) { #>
|
961 |
<div class="premium-button-style4-icon-wrapper {{ settings.premium_button_style4_dir }}">
|
962 |
+
<# if ( slideIconHTML && slideIconHTML.rendered && ( ! slideIcon || slideMigrated ) ) { #>
|
963 |
+
{{{ slideIconHTML.value }}}
|
964 |
+
<# } else { #>
|
965 |
+
<i class="{{ slideIcon }}" aria-hidden="true"></i>
|
966 |
+
<# } #>
|
967 |
</div>
|
968 |
<# } #>
|
969 |
</a>
|
widgets/premium-carousel.php
CHANGED
@@ -438,56 +438,57 @@ class Premium_Carousel extends Widget_Base {
|
|
438 |
'type' => Controls_Manager::CHOOSE,
|
439 |
'options' => [
|
440 |
'right_arrow_bold' => [
|
441 |
-
'icon' => '
|
442 |
],
|
443 |
'right_arrow_long' => [
|
444 |
-
'icon' => '
|
445 |
],
|
446 |
'right_arrow_long_circle' => [
|
447 |
-
'icon' => '
|
448 |
],
|
449 |
'right_arrow_angle' => [
|
450 |
-
'icon' => '
|
451 |
],
|
452 |
'right_arrow_chevron' => [
|
453 |
-
'icon' => '
|
454 |
]
|
455 |
],
|
456 |
'default' => 'right_arrow_angle',
|
457 |
'condition' => [
|
458 |
'premium_carousel_navigation_show' => 'yes',
|
459 |
'premium_carousel_slider_type!' => 'vertical'
|
460 |
-
]
|
|
|
461 |
]
|
462 |
);
|
463 |
|
464 |
-
// If the carousel type vertical
|
465 |
$this->add_control('premium_carousel_arrow_icon_next_ver',
|
466 |
[
|
467 |
'label' => __( 'Bottom Icon', 'premium-addons-for-elementor' ),
|
468 |
'type' => Controls_Manager::CHOOSE,
|
469 |
'options' => [
|
470 |
'right_arrow_bold' => [
|
471 |
-
'icon' => '
|
472 |
],
|
473 |
'right_arrow_long' => [
|
474 |
-
'icon' => '
|
475 |
],
|
476 |
'right_arrow_long_circle' => [
|
477 |
-
'icon' => '
|
478 |
],
|
479 |
'right_arrow_angle' => [
|
480 |
-
'icon' => '
|
481 |
],
|
482 |
'right_arrow_chevron' => [
|
483 |
-
'icon' => '
|
484 |
]
|
485 |
],
|
486 |
'default' => 'right_arrow_angle',
|
487 |
'condition' => [
|
488 |
'premium_carousel_navigation_show' => 'yes',
|
489 |
'premium_carousel_slider_type' => 'vertical',
|
490 |
-
]
|
|
|
491 |
]
|
492 |
);
|
493 |
|
@@ -497,26 +498,27 @@ class Premium_Carousel extends Widget_Base {
|
|
497 |
'type' => Controls_Manager::CHOOSE,
|
498 |
'options' => [
|
499 |
'left_arrow_bold' => [
|
500 |
-
'icon' => '
|
501 |
],
|
502 |
'left_arrow_long' => [
|
503 |
-
'icon' => '
|
504 |
],
|
505 |
'left_arrow_long_circle' => [
|
506 |
-
'icon' => '
|
507 |
],
|
508 |
'left_arrow_angle' => [
|
509 |
-
'icon' => '
|
510 |
],
|
511 |
'left_arrow_chevron' => [
|
512 |
-
'icon' => '
|
513 |
]
|
514 |
],
|
515 |
'default' => 'left_arrow_angle',
|
516 |
'condition' => [
|
517 |
'premium_carousel_navigation_show' => 'yes',
|
518 |
'premium_carousel_slider_type' => 'vertical',
|
519 |
-
]
|
|
|
520 |
]
|
521 |
);
|
522 |
|
@@ -526,26 +528,27 @@ class Premium_Carousel extends Widget_Base {
|
|
526 |
'type' => Controls_Manager::CHOOSE,
|
527 |
'options' => [
|
528 |
'left_arrow_bold' => [
|
529 |
-
'icon' => '
|
530 |
],
|
531 |
'left_arrow_long' => [
|
532 |
-
'icon' => '
|
533 |
],
|
534 |
'left_arrow_long_circle' => [
|
535 |
-
'icon' => '
|
536 |
],
|
537 |
'left_arrow_angle' => [
|
538 |
-
'icon' => '
|
539 |
],
|
540 |
'left_arrow_chevron' => [
|
541 |
-
'icon' => '
|
542 |
]
|
543 |
],
|
544 |
'default' => 'left_arrow_angle',
|
545 |
'condition' => [
|
546 |
'premium_carousel_navigation_show' => 'yes',
|
547 |
'premium_carousel_slider_type!' => 'vertical',
|
548 |
-
]
|
|
|
549 |
]
|
550 |
);
|
551 |
|
@@ -704,25 +707,23 @@ class Premium_Carousel extends Widget_Base {
|
|
704 |
'type' => Controls_Manager::CHOOSE,
|
705 |
'options' => [
|
706 |
'square_white' => [
|
707 |
-
'icon' => '
|
708 |
],
|
709 |
'square_black' => [
|
710 |
-
'icon' => '
|
711 |
],
|
712 |
'circle_white' => [
|
713 |
-
'icon' => '
|
714 |
],
|
715 |
'circle_thin' => [
|
716 |
-
'icon' => '
|
717 |
-
],
|
718 |
-
'circle_thin_bold' => [
|
719 |
-
'icon' => 'fa fa-circle-o',
|
720 |
]
|
721 |
],
|
722 |
'default' => 'circle_white',
|
723 |
'condition' => [
|
724 |
'premium_carousel_dot_navigation_show' => 'yes'
|
725 |
-
]
|
|
|
726 |
]
|
727 |
);
|
728 |
|
@@ -891,70 +892,70 @@ class Premium_Carousel extends Widget_Base {
|
|
891 |
if( $settings['premium_carousel_slider_type'] == 'vertical' ) {
|
892 |
$icon_next = $settings['premium_carousel_arrow_icon_next_ver'];
|
893 |
if( $icon_next == 'right_arrow_bold' ) {
|
894 |
-
$icon_next_class = '
|
895 |
}
|
896 |
if( $icon_next == 'right_arrow_long' ) {
|
897 |
-
$icon_next_class = '
|
898 |
}
|
899 |
if( $icon_next == 'right_arrow_long_circle' ) {
|
900 |
-
$icon_next_class = '
|
901 |
}
|
902 |
if( $icon_next == 'right_arrow_angle' ) {
|
903 |
-
$icon_next_class = '
|
904 |
}
|
905 |
if( $icon_next == 'right_arrow_chevron' ) {
|
906 |
-
$icon_next_class = '
|
907 |
}
|
908 |
$icon_prev = $settings['premium_carousel_arrow_icon_prev_ver'];
|
909 |
|
910 |
if( $icon_prev == 'left_arrow_bold' ) {
|
911 |
-
$icon_prev_class = '
|
912 |
}
|
913 |
if( $icon_prev == 'left_arrow_long' ) {
|
914 |
-
$icon_prev_class = '
|
915 |
}
|
916 |
if( $icon_prev == 'left_arrow_long_circle' ) {
|
917 |
-
$icon_prev_class = '
|
918 |
}
|
919 |
if( $icon_prev == 'left_arrow_angle' ) {
|
920 |
-
$icon_prev_class = '
|
921 |
}
|
922 |
if( $icon_prev == 'left_arrow_chevron' ) {
|
923 |
-
$icon_prev_class = '
|
924 |
}
|
925 |
} else {
|
926 |
$icon_next = $settings['premium_carousel_arrow_icon_next'];
|
927 |
if( $icon_next == 'right_arrow_bold' ) {
|
928 |
-
$icon_next_class = '
|
929 |
}
|
930 |
if( $icon_next == 'right_arrow_long' ) {
|
931 |
-
$icon_next_class = '
|
932 |
}
|
933 |
if( $icon_next == 'right_arrow_long_circle' ) {
|
934 |
-
$icon_next_class = '
|
935 |
}
|
936 |
if( $icon_next == 'right_arrow_angle' ) {
|
937 |
-
$icon_next_class = '
|
938 |
}
|
939 |
if( $icon_next == 'right_arrow_chevron' ) {
|
940 |
-
$icon_next_class = '
|
941 |
}
|
942 |
$icon_prev = $settings['premium_carousel_arrow_icon_prev'];
|
943 |
|
944 |
if( $icon_prev == 'left_arrow_bold' ) {
|
945 |
-
$icon_prev_class = '
|
946 |
}
|
947 |
if( $icon_prev == 'left_arrow_long' ) {
|
948 |
-
$icon_prev_class = '
|
949 |
}
|
950 |
if( $icon_prev == 'left_arrow_long_circle' ) {
|
951 |
-
$icon_prev_class = '
|
952 |
}
|
953 |
if( $icon_prev == 'left_arrow_angle' ) {
|
954 |
-
$icon_prev_class = '
|
955 |
}
|
956 |
if( $icon_prev == 'left_arrow_chevron' ) {
|
957 |
-
$icon_prev_class = '
|
958 |
}
|
959 |
}
|
960 |
|
@@ -972,19 +973,16 @@ class Premium_Carousel extends Widget_Base {
|
|
972 |
if( $settings['premium_carousel_dot_navigation_show'] == 'yes' ){
|
973 |
$dots = true;
|
974 |
if( $settings['premium_carousel_dot_icon'] == 'square_white' ) {
|
975 |
-
$dot_icon = '
|
976 |
}
|
977 |
if( $settings['premium_carousel_dot_icon'] == 'square_black' ) {
|
978 |
-
$dot_icon = '
|
979 |
}
|
980 |
if( $settings['premium_carousel_dot_icon'] == 'circle_white' ) {
|
981 |
-
$dot_icon = '
|
982 |
}
|
983 |
if( $settings['premium_carousel_dot_icon'] == 'circle_thin' ) {
|
984 |
-
$dot_icon = '
|
985 |
-
}
|
986 |
-
if( $settings['premium_carousel_dot_icon'] == 'circle_thin_bold' ) {
|
987 |
-
$dot_icon = 'fa fa-circle-o';
|
988 |
}
|
989 |
$customPaging = $dot_icon;
|
990 |
} else {
|
@@ -1164,74 +1162,74 @@ class Premium_Carousel extends Widget_Base {
|
|
1164 |
var iconNext = settings.premium_carousel_arrow_icon_next_ver;
|
1165 |
|
1166 |
if( iconNext === 'right_arrow_bold' ) {
|
1167 |
-
iconNextClass = '
|
1168 |
}
|
1169 |
if( iconNext === 'right_arrow_long' ) {
|
1170 |
-
iconNextClass = '
|
1171 |
}
|
1172 |
if( iconNext === 'right_arrow_long_circle' ) {
|
1173 |
-
iconNextClass = '
|
1174 |
}
|
1175 |
if( iconNext === 'right_arrow_angle' ) {
|
1176 |
-
iconNextClass = '
|
1177 |
}
|
1178 |
if( iconNext === 'right_arrow_chevron' ) {
|
1179 |
-
iconNextClass = '
|
1180 |
}
|
1181 |
|
1182 |
var iconPrev = settings.premium_carousel_arrow_icon_prev_ver;
|
1183 |
|
1184 |
if( iconPrev === 'left_arrow_bold' ) {
|
1185 |
-
iconPrevClass = '
|
1186 |
}
|
1187 |
if( iconPrev === 'left_arrow_long' ) {
|
1188 |
-
iconPrevClass = '
|
1189 |
}
|
1190 |
if( iconPrev === 'left_arrow_long_circle' ) {
|
1191 |
-
iconPrevClass = '
|
1192 |
}
|
1193 |
if( iconPrev === 'left_arrow_angle' ) {
|
1194 |
-
iconPrevClass = '
|
1195 |
}
|
1196 |
if( iconPrev === 'left_arrow_chevron' ) {
|
1197 |
-
iconPrevClass = '
|
1198 |
}
|
1199 |
|
1200 |
} else {
|
1201 |
var iconNext = settings.premium_carousel_arrow_icon_next;
|
1202 |
|
1203 |
if( iconNext === 'right_arrow_bold' ) {
|
1204 |
-
iconNextClass = '
|
1205 |
}
|
1206 |
if( iconNext === 'right_arrow_long' ) {
|
1207 |
-
iconNextClass = '
|
1208 |
}
|
1209 |
if( iconNext === 'right_arrow_long_circle' ) {
|
1210 |
-
iconNextClass = '
|
1211 |
}
|
1212 |
if( iconNext === 'right_arrow_angle' ) {
|
1213 |
-
iconNextClass = '
|
1214 |
}
|
1215 |
if( iconNext === 'right_arrow_chevron' ) {
|
1216 |
-
iconNextClass = '
|
1217 |
}
|
1218 |
|
1219 |
var iconPrev = settings.premium_carousel_arrow_icon_prev;
|
1220 |
|
1221 |
if( iconPrev === 'left_arrow_bold' ) {
|
1222 |
-
iconPrevClass = '
|
1223 |
}
|
1224 |
if( iconPrev === 'left_arrow_long' ) {
|
1225 |
-
iconPrevClass = '
|
1226 |
}
|
1227 |
if( iconPrev === 'left_arrow_long_circle' ) {
|
1228 |
-
iconPrevClass = '
|
1229 |
}
|
1230 |
if( iconPrev === 'left_arrow_angle' ) {
|
1231 |
-
iconPrevClass = '
|
1232 |
}
|
1233 |
if( iconPrev === 'left_arrow_chevron' ) {
|
1234 |
-
iconPrevClass = '
|
1235 |
}
|
1236 |
}
|
1237 |
|
@@ -1254,19 +1252,16 @@ class Premium_Carousel extends Widget_Base {
|
|
1254 |
var dots = true;
|
1255 |
|
1256 |
if( 'square_white' === settings.premium_carousel_dot_icon ) {
|
1257 |
-
dotIcon = '
|
1258 |
}
|
1259 |
if( 'square_black' === settings.premium_carousel_dot_icon ) {
|
1260 |
-
dotIcon = '
|
1261 |
}
|
1262 |
if( 'circle_white' === settings.premium_carousel_dot_icon ) {
|
1263 |
-
dotIcon = '
|
1264 |
}
|
1265 |
if( 'circle_thin' === settings.premium_carousel_dot_icon ) {
|
1266 |
-
dotIcon = '
|
1267 |
-
}
|
1268 |
-
if( 'circle_thin_bold' === settings.premium_carousel_dot_icon ) {
|
1269 |
-
dotIcon = 'fa fa-circle-o';
|
1270 |
}
|
1271 |
var customPaging = dotIcon;
|
1272 |
|
438 |
'type' => Controls_Manager::CHOOSE,
|
439 |
'options' => [
|
440 |
'right_arrow_bold' => [
|
441 |
+
'icon' => 'fas fa-arrow-right',
|
442 |
],
|
443 |
'right_arrow_long' => [
|
444 |
+
'icon' => 'fas fa-long-arrow-alt-right',
|
445 |
],
|
446 |
'right_arrow_long_circle' => [
|
447 |
+
'icon' => 'fas fa-arrow-circle-right',
|
448 |
],
|
449 |
'right_arrow_angle' => [
|
450 |
+
'icon' => 'fas fa-angle-right',
|
451 |
],
|
452 |
'right_arrow_chevron' => [
|
453 |
+
'icon' => 'fas fa-chevron-right',
|
454 |
]
|
455 |
],
|
456 |
'default' => 'right_arrow_angle',
|
457 |
'condition' => [
|
458 |
'premium_carousel_navigation_show' => 'yes',
|
459 |
'premium_carousel_slider_type!' => 'vertical'
|
460 |
+
],
|
461 |
+
'toggle' => false
|
462 |
]
|
463 |
);
|
464 |
|
|
|
465 |
$this->add_control('premium_carousel_arrow_icon_next_ver',
|
466 |
[
|
467 |
'label' => __( 'Bottom Icon', 'premium-addons-for-elementor' ),
|
468 |
'type' => Controls_Manager::CHOOSE,
|
469 |
'options' => [
|
470 |
'right_arrow_bold' => [
|
471 |
+
'icon' => 'fas fa-arrow-down',
|
472 |
],
|
473 |
'right_arrow_long' => [
|
474 |
+
'icon' => 'fas fa-long-arrow-alt-down',
|
475 |
],
|
476 |
'right_arrow_long_circle' => [
|
477 |
+
'icon' => 'fas fa-arrow-circle-down',
|
478 |
],
|
479 |
'right_arrow_angle' => [
|
480 |
+
'icon' => 'fas fa-angle-down',
|
481 |
],
|
482 |
'right_arrow_chevron' => [
|
483 |
+
'icon' => 'fas fa-chevron-down',
|
484 |
]
|
485 |
],
|
486 |
'default' => 'right_arrow_angle',
|
487 |
'condition' => [
|
488 |
'premium_carousel_navigation_show' => 'yes',
|
489 |
'premium_carousel_slider_type' => 'vertical',
|
490 |
+
],
|
491 |
+
'toggle' => false
|
492 |
]
|
493 |
);
|
494 |
|
498 |
'type' => Controls_Manager::CHOOSE,
|
499 |
'options' => [
|
500 |
'left_arrow_bold' => [
|
501 |
+
'icon' => 'fas fa-arrow-up',
|
502 |
],
|
503 |
'left_arrow_long' => [
|
504 |
+
'icon' => 'fas fa-long-arrow-alt-up',
|
505 |
],
|
506 |
'left_arrow_long_circle' => [
|
507 |
+
'icon' => 'fas fa-arrow-circle-up',
|
508 |
],
|
509 |
'left_arrow_angle' => [
|
510 |
+
'icon' => 'fas fa-angle-up',
|
511 |
],
|
512 |
'left_arrow_chevron' => [
|
513 |
+
'icon' => 'fas fa-chevron-up',
|
514 |
]
|
515 |
],
|
516 |
'default' => 'left_arrow_angle',
|
517 |
'condition' => [
|
518 |
'premium_carousel_navigation_show' => 'yes',
|
519 |
'premium_carousel_slider_type' => 'vertical',
|
520 |
+
],
|
521 |
+
'toggle' => false
|
522 |
]
|
523 |
);
|
524 |
|
528 |
'type' => Controls_Manager::CHOOSE,
|
529 |
'options' => [
|
530 |
'left_arrow_bold' => [
|
531 |
+
'icon' => 'fas fa-arrow-left',
|
532 |
],
|
533 |
'left_arrow_long' => [
|
534 |
+
'icon' => 'fas fa-long-arrow-alt-left',
|
535 |
],
|
536 |
'left_arrow_long_circle' => [
|
537 |
+
'icon' => 'fas fa-arrow-circle-left',
|
538 |
],
|
539 |
'left_arrow_angle' => [
|
540 |
+
'icon' => 'fas fa-angle-left',
|
541 |
],
|
542 |
'left_arrow_chevron' => [
|
543 |
+
'icon' => 'fas fa-chevron-left',
|
544 |
]
|
545 |
],
|
546 |
'default' => 'left_arrow_angle',
|
547 |
'condition' => [
|
548 |
'premium_carousel_navigation_show' => 'yes',
|
549 |
'premium_carousel_slider_type!' => 'vertical',
|
550 |
+
],
|
551 |
+
'toggle' => false
|
552 |
]
|
553 |
);
|
554 |
|
707 |
'type' => Controls_Manager::CHOOSE,
|
708 |
'options' => [
|
709 |
'square_white' => [
|
710 |
+
'icon' => 'far fa-square',
|
711 |
],
|
712 |
'square_black' => [
|
713 |
+
'icon' => 'fas fa-square',
|
714 |
],
|
715 |
'circle_white' => [
|
716 |
+
'icon' => 'fas fa-circle',
|
717 |
],
|
718 |
'circle_thin' => [
|
719 |
+
'icon' => 'far fa-circle',
|
|
|
|
|
|
|
720 |
]
|
721 |
],
|
722 |
'default' => 'circle_white',
|
723 |
'condition' => [
|
724 |
'premium_carousel_dot_navigation_show' => 'yes'
|
725 |
+
],
|
726 |
+
'toggle' => false
|
727 |
]
|
728 |
);
|
729 |
|
892 |
if( $settings['premium_carousel_slider_type'] == 'vertical' ) {
|
893 |
$icon_next = $settings['premium_carousel_arrow_icon_next_ver'];
|
894 |
if( $icon_next == 'right_arrow_bold' ) {
|
895 |
+
$icon_next_class = 'fas fa-arrow-down';
|
896 |
}
|
897 |
if( $icon_next == 'right_arrow_long' ) {
|
898 |
+
$icon_next_class = 'fas fa-long-arrow-alt-down';
|
899 |
}
|
900 |
if( $icon_next == 'right_arrow_long_circle' ) {
|
901 |
+
$icon_next_class = 'fas fa-arrow-circle-down';
|
902 |
}
|
903 |
if( $icon_next == 'right_arrow_angle' ) {
|
904 |
+
$icon_next_class = 'fas fa-angle-down';
|
905 |
}
|
906 |
if( $icon_next == 'right_arrow_chevron' ) {
|
907 |
+
$icon_next_class = 'fas fa-chevron-down';
|
908 |
}
|
909 |
$icon_prev = $settings['premium_carousel_arrow_icon_prev_ver'];
|
910 |
|
911 |
if( $icon_prev == 'left_arrow_bold' ) {
|
912 |
+
$icon_prev_class = 'fas fa-arrow-up';
|
913 |
}
|
914 |
if( $icon_prev == 'left_arrow_long' ) {
|
915 |
+
$icon_prev_class = 'fas fa-long-arrow-alt-up';
|
916 |
}
|
917 |
if( $icon_prev == 'left_arrow_long_circle' ) {
|
918 |
+
$icon_prev_class = 'fas fa-arrow-circle-up';
|
919 |
}
|
920 |
if( $icon_prev == 'left_arrow_angle' ) {
|
921 |
+
$icon_prev_class = 'fas fa-angle-up';
|
922 |
}
|
923 |
if( $icon_prev == 'left_arrow_chevron' ) {
|
924 |
+
$icon_prev_class = 'fas fa-chevron-up';
|
925 |
}
|
926 |
} else {
|
927 |
$icon_next = $settings['premium_carousel_arrow_icon_next'];
|
928 |
if( $icon_next == 'right_arrow_bold' ) {
|
929 |
+
$icon_next_class = 'fas fa-arrow-right';
|
930 |
}
|
931 |
if( $icon_next == 'right_arrow_long' ) {
|
932 |
+
$icon_next_class = 'fas fa-long-arrow-alt-right';
|
933 |
}
|
934 |
if( $icon_next == 'right_arrow_long_circle' ) {
|
935 |
+
$icon_next_class = 'fas fa-arrow-circle-right';
|
936 |
}
|
937 |
if( $icon_next == 'right_arrow_angle' ) {
|
938 |
+
$icon_next_class = 'fas fa-angle-right';
|
939 |
}
|
940 |
if( $icon_next == 'right_arrow_chevron' ) {
|
941 |
+
$icon_next_class = 'fas fa-chevron-right';
|
942 |
}
|
943 |
$icon_prev = $settings['premium_carousel_arrow_icon_prev'];
|
944 |
|
945 |
if( $icon_prev == 'left_arrow_bold' ) {
|
946 |
+
$icon_prev_class = 'fas fa-arrow-left';
|
947 |
}
|
948 |
if( $icon_prev == 'left_arrow_long' ) {
|
949 |
+
$icon_prev_class = 'fas fa-long-arrow-alt-left';
|
950 |
}
|
951 |
if( $icon_prev == 'left_arrow_long_circle' ) {
|
952 |
+
$icon_prev_class = 'fas fa-arrow-circle-left';
|
953 |
}
|
954 |
if( $icon_prev == 'left_arrow_angle' ) {
|
955 |
+
$icon_prev_class = 'fas fa-angle-left';
|
956 |
}
|
957 |
if( $icon_prev == 'left_arrow_chevron' ) {
|
958 |
+
$icon_prev_class = 'fas fa-chevron-left';
|
959 |
}
|
960 |
}
|
961 |
|
973 |
if( $settings['premium_carousel_dot_navigation_show'] == 'yes' ){
|
974 |
$dots = true;
|
975 |
if( $settings['premium_carousel_dot_icon'] == 'square_white' ) {
|
976 |
+
$dot_icon = 'far fa-square';
|
977 |
}
|
978 |
if( $settings['premium_carousel_dot_icon'] == 'square_black' ) {
|
979 |
+
$dot_icon = 'fas fa-square';
|
980 |
}
|
981 |
if( $settings['premium_carousel_dot_icon'] == 'circle_white' ) {
|
982 |
+
$dot_icon = 'fas fa-circle';
|
983 |
}
|
984 |
if( $settings['premium_carousel_dot_icon'] == 'circle_thin' ) {
|
985 |
+
$dot_icon = 'far fa-circle-thin';
|
|
|
|
|
|
|
986 |
}
|
987 |
$customPaging = $dot_icon;
|
988 |
} else {
|
1162 |
var iconNext = settings.premium_carousel_arrow_icon_next_ver;
|
1163 |
|
1164 |
if( iconNext === 'right_arrow_bold' ) {
|
1165 |
+
iconNextClass = 'fas fa-arrow-down';
|
1166 |
}
|
1167 |
if( iconNext === 'right_arrow_long' ) {
|
1168 |
+
iconNextClass = 'fas fa-long-arrow-alt-down';
|
1169 |
}
|
1170 |
if( iconNext === 'right_arrow_long_circle' ) {
|
1171 |
+
iconNextClass = 'fas fa-arrow-circle-down';
|
1172 |
}
|
1173 |
if( iconNext === 'right_arrow_angle' ) {
|
1174 |
+
iconNextClass = 'fas fa-angle-down';
|
1175 |
}
|
1176 |
if( iconNext === 'right_arrow_chevron' ) {
|
1177 |
+
iconNextClass = 'fas fa-chevron-down';
|
1178 |
}
|
1179 |
|
1180 |
var iconPrev = settings.premium_carousel_arrow_icon_prev_ver;
|
1181 |
|
1182 |
if( iconPrev === 'left_arrow_bold' ) {
|
1183 |
+
iconPrevClass = 'fas fa-arrow-up';
|
1184 |
}
|
1185 |
if( iconPrev === 'left_arrow_long' ) {
|
1186 |
+
iconPrevClass = 'fas fa-long-arrow-alt-up';
|
1187 |
}
|
1188 |
if( iconPrev === 'left_arrow_long_circle' ) {
|
1189 |
+
iconPrevClass = 'fas fa-arrow-circle-up';
|
1190 |
}
|
1191 |
if( iconPrev === 'left_arrow_angle' ) {
|
1192 |
+
iconPrevClass = 'fas fa-angle-up';
|
1193 |
}
|
1194 |
if( iconPrev === 'left_arrow_chevron' ) {
|
1195 |
+
iconPrevClass = 'fas fa-chevron-up';
|
1196 |
}
|
1197 |
|
1198 |
} else {
|
1199 |
var iconNext = settings.premium_carousel_arrow_icon_next;
|
1200 |
|
1201 |
if( iconNext === 'right_arrow_bold' ) {
|
1202 |
+
iconNextClass = 'fas fa-arrow-right';
|
1203 |
}
|
1204 |
if( iconNext === 'right_arrow_long' ) {
|
1205 |
+
iconNextClass = 'fas fa-long-arrow-alt-right';
|
1206 |
}
|
1207 |
if( iconNext === 'right_arrow_long_circle' ) {
|
1208 |
+
iconNextClass = 'fas fa-arrow-circle-right';
|
1209 |
}
|
1210 |
if( iconNext === 'right_arrow_angle' ) {
|
1211 |
+
iconNextClass = 'fas fa-angle-right';
|
1212 |
}
|
1213 |
if( iconNext === 'right_arrow_chevron' ) {
|
1214 |
+
iconNextClass = 'fas fa-chevron-right';
|
1215 |
}
|
1216 |
|
1217 |
var iconPrev = settings.premium_carousel_arrow_icon_prev;
|
1218 |
|
1219 |
if( iconPrev === 'left_arrow_bold' ) {
|
1220 |
+
iconPrevClass = 'fas fa-arrow-left';
|
1221 |
}
|
1222 |
if( iconPrev === 'left_arrow_long' ) {
|
1223 |
+
iconPrevClass = 'fas fa-long-arrow-alt-left';
|
1224 |
}
|
1225 |
if( iconPrev === 'left_arrow_long_circle' ) {
|
1226 |
+
iconPrevClass = 'fas fa-arrow-circle-left';
|
1227 |
}
|
1228 |
if( iconPrev === 'left_arrow_angle' ) {
|
1229 |
+
iconPrevClass = 'fas fa-angle-left';
|
1230 |
}
|
1231 |
if( iconPrev === 'left_arrow_chevron' ) {
|
1232 |
+
iconPrevClass = 'fas fa-chevron-left';
|
1233 |
}
|
1234 |
}
|
1235 |
|
1252 |
var dots = true;
|
1253 |
|
1254 |
if( 'square_white' === settings.premium_carousel_dot_icon ) {
|
1255 |
+
dotIcon = 'far fa-square';
|
1256 |
}
|
1257 |
if( 'square_black' === settings.premium_carousel_dot_icon ) {
|
1258 |
+
dotIcon = 'fas fa-square';
|
1259 |
}
|
1260 |
if( 'circle_white' === settings.premium_carousel_dot_icon ) {
|
1261 |
+
dotIcon = 'fas fa-circle';
|
1262 |
}
|
1263 |
if( 'circle_thin' === settings.premium_carousel_dot_icon ) {
|
1264 |
+
dotIcon = 'far fa-circle';
|
|
|
|
|
|
|
1265 |
}
|
1266 |
var customPaging = dotIcon;
|
1267 |
|
widgets/premium-counter.php
CHANGED
@@ -5,6 +5,7 @@ namespace PremiumAddons\Widgets;
|
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use Elementor\Widget_Base;
|
7 |
use Elementor\Utils;
|
|
|
8 |
use Elementor\Control_Media;
|
9 |
use Elementor\Controls_Manager;
|
10 |
use Elementor\Scheme_Color;
|
@@ -147,11 +148,15 @@ class Premium_Counter extends Widget_Base {
|
|
147 |
]
|
148 |
);
|
149 |
|
150 |
-
$this->add_control('
|
151 |
[
|
152 |
'label' => __( 'Select an Icon', 'premium-addons-for-elementor' ),
|
153 |
-
'type'
|
154 |
-
'
|
|
|
|
|
|
|
|
|
155 |
'condition' => [
|
156 |
'premium_counter_icon_image' => 'icon'
|
157 |
]
|
@@ -544,21 +549,44 @@ class Premium_Counter extends Widget_Base {
|
|
544 |
|
545 |
$animation = $settings['premium_counter_icon_animation'];
|
546 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
547 |
$flex_width = '';
|
548 |
if( $settings['premium_counter_icon_image'] == 'custom' && $settings['premium_counter_icon_style'] == 'simple' ) {
|
549 |
$flex_width = ' flex-width ';
|
550 |
}
|
551 |
|
552 |
-
|
553 |
-
$icon_image = '<i class="' . $settings['premium_counter_icon'] .'"></i>';
|
554 |
-
} else {
|
555 |
-
$alt = esc_attr( Control_Media::get_image_alt( $settings['premium_counter_image_upload'] ) );
|
556 |
-
$icon_image = '<img class="custom-image" src="'.$settings['premium_counter_image_upload']['url'] . '" alt="' . $alt . '">';
|
557 |
-
}
|
558 |
-
?>
|
559 |
|
560 |
<div class="premium-counter-icon <?php echo $direction; ?>">
|
561 |
-
<span class="icon<?php echo $flex_width; ?><?php echo $icon_style; ?>" data-animation="<?php echo $animation; ?>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
562 |
</div>
|
563 |
|
564 |
<?php
|
@@ -684,6 +712,9 @@ class Premium_Counter extends Widget_Base {
|
|
684 |
animation = settings.premium_counter_icon_animation,
|
685 |
flexWidth = '';
|
686 |
|
|
|
|
|
|
|
687 |
if( 'custom' === settings.premium_counter_icon_image && 'simple' === settings.premium_counter_icon_style ) {
|
688 |
flexWidth = ' flex-width ';
|
689 |
}
|
@@ -696,8 +727,12 @@ class Premium_Counter extends Widget_Base {
|
|
696 |
|
697 |
<div {{{ view.getRenderAttributeString('icon_wrap') }}}>
|
698 |
<span data-animation="{{ animation }}" class="{{ iconClass }}">
|
699 |
-
<# if( 'icon' === settings.premium_counter_icon_image ) {
|
700 |
-
|
|
|
|
|
|
|
|
|
701 |
<# } else { #>
|
702 |
<img class="custom-image" src="{{ settings.premium_counter_image_upload.url }}">
|
703 |
<# } #>
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use Elementor\Widget_Base;
|
7 |
use Elementor\Utils;
|
8 |
+
use Elementor\Icons_Manager;
|
9 |
use Elementor\Control_Media;
|
10 |
use Elementor\Controls_Manager;
|
11 |
use Elementor\Scheme_Color;
|
148 |
]
|
149 |
);
|
150 |
|
151 |
+
$this->add_control('premium_counter_icon_updated',
|
152 |
[
|
153 |
'label' => __( 'Select an Icon', 'premium-addons-for-elementor' ),
|
154 |
+
'type' => Controls_Manager::ICONS,
|
155 |
+
'fa4compatibility' => 'premium_counter_icon',
|
156 |
+
'default' => [
|
157 |
+
'value' => 'fas fa-clock',
|
158 |
+
'library' => 'fa-solid',
|
159 |
+
],
|
160 |
'condition' => [
|
161 |
'premium_counter_icon_image' => 'icon'
|
162 |
]
|
549 |
|
550 |
$animation = $settings['premium_counter_icon_animation'];
|
551 |
|
552 |
+
if ( $settings['premium_counter_icon_image'] === 'icon' ) {
|
553 |
+
if ( ! empty ( $settings['premium_counter_icon'] ) ) {
|
554 |
+
$this->add_render_attribute( 'icon', 'class', $settings['premium_counter_icon'] );
|
555 |
+
$this->add_render_attribute( 'icon', 'aria-hidden', 'true' );
|
556 |
+
}
|
557 |
+
|
558 |
+
$migrated = isset( $settings['__fa4_migrated']['premium_counter_icon_updated'] );
|
559 |
+
$is_new = empty( $settings['premium_counter_icon'] ) && Icons_Manager::is_migration_allowed();
|
560 |
+
} else {
|
561 |
+
$alt = esc_attr( Control_Media::get_image_alt( $settings['premium_counter_image_upload'] ) );
|
562 |
+
|
563 |
+
$this->add_render_attribute( 'image', 'class', 'custom-image' );
|
564 |
+
$this->add_render_attribute( 'image', 'src', $settings['premium_counter_image_upload']['url'] );
|
565 |
+
$this->add_render_attribute( 'image', 'alt', $alt );
|
566 |
+
}
|
567 |
+
|
568 |
$flex_width = '';
|
569 |
if( $settings['premium_counter_icon_image'] == 'custom' && $settings['premium_counter_icon_style'] == 'simple' ) {
|
570 |
$flex_width = ' flex-width ';
|
571 |
}
|
572 |
|
573 |
+
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
574 |
|
575 |
<div class="premium-counter-icon <?php echo $direction; ?>">
|
576 |
+
<span class="icon<?php echo $flex_width; ?><?php echo $icon_style; ?>" data-animation="<?php echo $animation; ?>">
|
577 |
+
|
578 |
+
<?php if( $settings['premium_counter_icon_image'] === 'icon' ) {
|
579 |
+
|
580 |
+
if ( $is_new || $migrated ) :
|
581 |
+
Icons_Manager::render_icon( $settings['premium_counter_icon_updated'], [ 'aria-hidden' => 'true' ] );
|
582 |
+
else: ?>
|
583 |
+
<i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
|
584 |
+
<?php endif;
|
585 |
+
} else { ?>
|
586 |
+
<img <?php echo $this->get_render_attribute_string('image'); ?>>
|
587 |
+
<?php } ?>
|
588 |
+
|
589 |
+
</span>
|
590 |
</div>
|
591 |
|
592 |
<?php
|
712 |
animation = settings.premium_counter_icon_animation,
|
713 |
flexWidth = '';
|
714 |
|
715 |
+
var iconHTML = elementor.helpers.renderIcon( view, settings.premium_counter_icon_updated, { 'aria-hidden': true }, 'i' , 'object' ),
|
716 |
+
migrated = elementor.helpers.isIconMigrated( settings, 'premium_counter_icon_updated' );
|
717 |
+
|
718 |
if( 'custom' === settings.premium_counter_icon_image && 'simple' === settings.premium_counter_icon_style ) {
|
719 |
flexWidth = ' flex-width ';
|
720 |
}
|
727 |
|
728 |
<div {{{ view.getRenderAttributeString('icon_wrap') }}}>
|
729 |
<span data-animation="{{ animation }}" class="{{ iconClass }}">
|
730 |
+
<# if( 'icon' === settings.premium_counter_icon_image ) {
|
731 |
+
if ( iconHTML && iconHTML.rendered && ( ! settings.premium_counter_icon || migrated ) ) { #>
|
732 |
+
{{{ iconHTML.value }}}
|
733 |
+
<# } else { #>
|
734 |
+
<i class="{{ settings.premium_counter_icon }}" aria-hidden="true"></i>
|
735 |
+
<# } #>
|
736 |
<# } else { #>
|
737 |
<img class="custom-image" src="{{ settings.premium_counter_image_upload.url }}">
|
738 |
<# } #>
|
widgets/premium-grid.php
CHANGED
@@ -495,6 +495,13 @@ class Premium_Grid extends Widget_Base {
|
|
495 |
]
|
496 |
);
|
497 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
498 |
$this->end_controls_section();
|
499 |
|
500 |
$this->start_controls_section('premium_gallery_grid_settings',
|
@@ -1223,32 +1230,42 @@ class Premium_Grid extends Widget_Base {
|
|
1223 |
]);
|
1224 |
|
1225 |
$this->add_control('premium_gallery_filter_color',
|
1226 |
-
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
]
|
1236 |
]
|
1237 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1238 |
|
1239 |
$this->add_control('premium_gallery_filter_active_color',
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
]
|
1250 |
]
|
1251 |
-
|
|
|
1252 |
|
1253 |
$this->add_group_control(
|
1254 |
Group_Control_Typography::get_type(),
|
@@ -1281,6 +1298,19 @@ class Premium_Grid extends Widget_Base {
|
|
1281 |
]
|
1282 |
);
|
1283 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1284 |
$this->add_control('premium_gallery_background_active_color',
|
1285 |
[
|
1286 |
'label' => __('Background Active Color', 'premium-addons-for-elementor'),
|
@@ -1745,7 +1775,7 @@ class Premium_Grid extends Widget_Base {
|
|
1745 |
|
1746 |
?>
|
1747 |
<a <?php echo $this->get_render_attribute_string( $lightbox_key ); ?>>
|
1748 |
-
<span><i class="
|
1749 |
</a>
|
1750 |
<?php
|
1751 |
}
|
@@ -1789,7 +1819,7 @@ class Premium_Grid extends Widget_Base {
|
|
1789 |
if ( ! empty ( $icon_link ) ) {
|
1790 |
?>
|
1791 |
<a <?php echo $this->get_render_attribute_string( $link_key ); ?>>
|
1792 |
-
<span><i class="
|
1793 |
</a>
|
1794 |
<?php
|
1795 |
}
|
@@ -1883,13 +1913,16 @@ class Premium_Grid extends Widget_Base {
|
|
1883 |
|
1884 |
$shuffle = 'yes' === $settings['premium_gallery_shuffle'] ? true : false;
|
1885 |
|
|
|
|
|
1886 |
$grid_settings = [
|
1887 |
'img_size' => $settings['premium_gallery_img_size_select'],
|
1888 |
'filter' => $filter,
|
1889 |
'theme' => $settings['premium_gallery_lightbox_theme'],
|
1890 |
'active_cat' => $category,
|
1891 |
'ltr_mode' => $ltr_mode,
|
1892 |
-
'shuffle' => $shuffle
|
|
|
1893 |
];
|
1894 |
|
1895 |
$load_more = 'yes' === $settings['premium_gallery_load_more'] ? true : false;
|
495 |
]
|
496 |
);
|
497 |
|
498 |
+
$this->add_control('premium_gallery_shuffle_onload',
|
499 |
+
[
|
500 |
+
'label' => __( 'Shuffle Images on Page Load', 'premium-addons-for-elementor' ),
|
501 |
+
'type' => Controls_Manager::SWITCHER,
|
502 |
+
]
|
503 |
+
);
|
504 |
+
|
505 |
$this->end_controls_section();
|
506 |
|
507 |
$this->start_controls_section('premium_gallery_grid_settings',
|
1230 |
]);
|
1231 |
|
1232 |
$this->add_control('premium_gallery_filter_color',
|
1233 |
+
[
|
1234 |
+
'label' => __('Text Color', 'premium-addons-for-elementor'),
|
1235 |
+
'type' => Controls_Manager::COLOR,
|
1236 |
+
'scheme' => [
|
1237 |
+
'type' => Scheme_Color::get_type(),
|
1238 |
+
'value' => Scheme_Color::COLOR_2,
|
1239 |
+
],
|
1240 |
+
'selectors' => [
|
1241 |
+
'{{WRAPPER}} .premium-gallery-cats-container li a.category span' => 'color: {{VALUE}};',
|
|
|
1242 |
]
|
1243 |
+
]
|
1244 |
+
);
|
1245 |
+
|
1246 |
+
$this->add_control('premium_gallery_filter_hover_color',
|
1247 |
+
[
|
1248 |
+
'label' => __('Text Hover Color', 'premium-addons-for-elementor'),
|
1249 |
+
'type' => Controls_Manager::COLOR,
|
1250 |
+
'selectors' => [
|
1251 |
+
'{{WRAPPER}} .premium-gallery-cats-container li a:hover span' => 'color: {{VALUE}};',
|
1252 |
+
]
|
1253 |
+
]
|
1254 |
+
);
|
1255 |
|
1256 |
$this->add_control('premium_gallery_filter_active_color',
|
1257 |
+
[
|
1258 |
+
'label' => __('Text Active Color', 'premium-addons-for-elementor'),
|
1259 |
+
'type' => Controls_Manager::COLOR,
|
1260 |
+
'scheme' => [
|
1261 |
+
'type' => Scheme_Color::get_type(),
|
1262 |
+
'value' => Scheme_Color::COLOR_1,
|
1263 |
+
],
|
1264 |
+
'selectors' => [
|
1265 |
+
'{{WRAPPER}} .premium-gallery-cats-container li a.active span' => 'color: {{VALUE}};',
|
|
|
1266 |
]
|
1267 |
+
]
|
1268 |
+
);
|
1269 |
|
1270 |
$this->add_group_control(
|
1271 |
Group_Control_Typography::get_type(),
|
1298 |
]
|
1299 |
);
|
1300 |
|
1301 |
+
$this->add_control('premium_gallery_background_hover_color',
|
1302 |
+
[
|
1303 |
+
'label' => __('Background Hover Color', 'premium-addons-for-elementor'),
|
1304 |
+
'type' => Controls_Manager::COLOR,
|
1305 |
+
'selectors' => [
|
1306 |
+
'{{WRAPPER}} .premium-gallery-cats-container li a:hover' => 'background-color: {{VALUE}};',
|
1307 |
+
],
|
1308 |
+
'condition' => [
|
1309 |
+
'premium_gallery_background' => 'yes'
|
1310 |
+
]
|
1311 |
+
]
|
1312 |
+
);
|
1313 |
+
|
1314 |
$this->add_control('premium_gallery_background_active_color',
|
1315 |
[
|
1316 |
'label' => __('Background Active Color', 'premium-addons-for-elementor'),
|
1775 |
|
1776 |
?>
|
1777 |
<a <?php echo $this->get_render_attribute_string( $lightbox_key ); ?>>
|
1778 |
+
<span><i class="fas fa-search-plus"></i></span>
|
1779 |
</a>
|
1780 |
<?php
|
1781 |
}
|
1819 |
if ( ! empty ( $icon_link ) ) {
|
1820 |
?>
|
1821 |
<a <?php echo $this->get_render_attribute_string( $link_key ); ?>>
|
1822 |
+
<span><i class="fas fa-link"></i></span>
|
1823 |
</a>
|
1824 |
<?php
|
1825 |
}
|
1913 |
|
1914 |
$shuffle = 'yes' === $settings['premium_gallery_shuffle'] ? true : false;
|
1915 |
|
1916 |
+
$shuffle_onload = 'yes' === $settings['premium_gallery_shuffle_onload'] ? 'random' : 'original-order';
|
1917 |
+
|
1918 |
$grid_settings = [
|
1919 |
'img_size' => $settings['premium_gallery_img_size_select'],
|
1920 |
'filter' => $filter,
|
1921 |
'theme' => $settings['premium_gallery_lightbox_theme'],
|
1922 |
'active_cat' => $category,
|
1923 |
'ltr_mode' => $ltr_mode,
|
1924 |
+
'shuffle' => $shuffle,
|
1925 |
+
'sort_by' => $shuffle_onload
|
1926 |
];
|
1927 |
|
1928 |
$load_more = 'yes' === $settings['premium_gallery_load_more'] ? true : false;
|
widgets/premium-image-button.php
CHANGED
@@ -4,6 +4,7 @@ namespace PremiumAddons\Widgets;
|
|
4 |
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use PremiumAddons\Includes;
|
|
|
7 |
use Elementor\Widget_Base;
|
8 |
use Elementor\Controls_Manager;
|
9 |
use Elementor\Scheme_Color;
|
@@ -204,30 +205,38 @@ class Premium_Image_Button extends Widget_Base {
|
|
204 |
]
|
205 |
);
|
206 |
|
207 |
-
$this->add_control('
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
|
|
|
|
|
|
|
|
219 |
|
220 |
-
$this->add_control('
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
|
|
|
|
|
|
|
|
231 |
|
232 |
$this->add_control('premium_image_button_icon_position',
|
233 |
[
|
@@ -736,6 +745,14 @@ class Premium_Image_Button extends Widget_Base {
|
|
736 |
|
737 |
$image_event = $settings['premium_image_button_event_function'];
|
738 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
739 |
if ($settings['premium_image_button_hover_effect'] == 'none'){
|
740 |
$style_dir = 'premium-image-button-none';
|
741 |
} elseif($settings['premium_image_button_hover_effect'] == 'style1'){
|
@@ -744,39 +761,69 @@ class Premium_Image_Button extends Widget_Base {
|
|
744 |
$style_dir = 'premium-image-button-diagonal-effect-' . $settings['premium_image_button_style3_dir'];
|
745 |
} elseif($settings['premium_image_button_hover_effect'] == 'style4'){
|
746 |
$style_dir = 'premium-image-button-style4-' . $settings['premium_image_button_style4_dir'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
747 |
} elseif($settings['premium_image_button_hover_effect'] == 'style5'){
|
748 |
$style_dir = 'premium-image-button-overlap-effect-' . $settings['premium_image_button_style5_dir'];
|
749 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
750 |
|
751 |
?>
|
752 |
<div class="premium-image-button-container">
|
753 |
-
<a
|
754 |
-
|
755 |
-
<?php if(
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
! empty( $settings['premium_image_button_icon_selection'] ) ) :
|
763 |
-
?>
|
764 |
-
<i class="fa <?php echo esc_attr( $button_icon ); ?>"></i>
|
765 |
-
<?php endif; ?>
|
766 |
<span <?php echo $this->get_render_attribute_string( 'premium_image_button_text' ); ?>>
|
767 |
<?php echo $button_text; ?>
|
768 |
</span>
|
769 |
-
<?php if( $settings['premium_image_button_icon_switcher'] &&
|
770 |
-
$
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
</div>
|
777 |
<?php if( $settings['premium_image_button_hover_effect'] == 'style4') : ?>
|
778 |
<div class="premium-image-button-style4-icon-wrapper <?php echo esc_attr( $settings['premium_image_button_style4_dir'] ); ?>">
|
779 |
-
|
|
|
|
|
|
|
|
|
780 |
</div>
|
781 |
<?php endif; ?>
|
782 |
</a>
|
@@ -814,26 +861,44 @@ class Premium_Image_Button extends Widget_Base {
|
|
814 |
} else if ( 'style4' == settings.premium_image_button_hover_effect ) {
|
815 |
styleDir = 'premium-image-button-style4-' + settings.premium_image_button_style4_dir;
|
816 |
slideIcon = settings.premium_image_button_style4_icon_selection;
|
|
|
|
|
|
|
817 |
} else if ( 'style5' == settings.premium_image_button_hover_effect ){
|
818 |
styleDir = 'premium-image-button-overlap-effect-' + settings.premium_image_button_style5_dir;
|
819 |
}
|
820 |
|
|
|
|
|
|
|
821 |
#>
|
822 |
|
823 |
<div class="premium-image-button-container">
|
824 |
<a class="premium-image-button {{ buttonSize }} {{ styleDir }}" href="{{ buttonUrl }}" onclick="{{ buttonEvent }}">
|
825 |
<div class="premium-image-button-text-icon-wrapper">
|
826 |
-
<# if( settings.premium_image_button_icon_switcher && 'before'
|
827 |
-
|
828 |
-
|
|
|
|
|
|
|
|
|
829 |
<span {{{ view.getRenderAttributeString('premium_image_button_text') }}}>{{{ buttonText }}}</span>
|
830 |
-
<# if( settings.premium_image_button_icon_switcher && 'after'
|
831 |
-
|
832 |
-
|
|
|
|
|
|
|
|
|
833 |
</div>
|
834 |
<# if( 'style4' == settings.premium_image_button_hover_effect ) { #>
|
835 |
<div class="premium-image-button-style4-icon-wrapper {{ settings.premium_image_button_style4_dir }}">
|
836 |
-
|
|
|
|
|
|
|
|
|
837 |
</div>
|
838 |
<# } #>
|
839 |
</a>
|
4 |
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use PremiumAddons\Includes;
|
7 |
+
use Elementor\Icons_Manager;
|
8 |
use Elementor\Widget_Base;
|
9 |
use Elementor\Controls_Manager;
|
10 |
use Elementor\Scheme_Color;
|
205 |
]
|
206 |
);
|
207 |
|
208 |
+
$this->add_control('premium_image_button_icon_selection_updated',
|
209 |
+
[
|
210 |
+
'label' => __('Icon', 'premium-addons-for-elementor'),
|
211 |
+
'type' => Controls_Manager::ICONS,
|
212 |
+
'fa4compatibility' => 'premium_image_button_icon_selection',
|
213 |
+
'default' => [
|
214 |
+
'value' => 'fas fa-bars',
|
215 |
+
'library' => 'fa-solid',
|
216 |
+
],
|
217 |
+
'condition' => [
|
218 |
+
'premium_image_button_icon_switcher' => 'yes',
|
219 |
+
'premium_image_button_hover_effect!' => 'style4'
|
220 |
+
],
|
221 |
+
'label_block' => true,
|
222 |
+
]
|
223 |
+
);
|
224 |
|
225 |
+
$this->add_control('premium_image_button_style4_icon_selection_updated',
|
226 |
+
[
|
227 |
+
'label' => __('Icon', 'premium-addons-for-elementor'),
|
228 |
+
'type' => Controls_Manager::ICONS,
|
229 |
+
'fa4compatibility' => 'premium_image_button_style4_icon_selection',
|
230 |
+
'default' => [
|
231 |
+
'value' => 'fas fa-bars',
|
232 |
+
'library' => 'fa-solid',
|
233 |
+
],
|
234 |
+
'condition' => [
|
235 |
+
'premium_image_button_hover_effect' => 'style4'
|
236 |
+
],
|
237 |
+
'label_block' => true,
|
238 |
+
]
|
239 |
+
);
|
240 |
|
241 |
$this->add_control('premium_image_button_icon_position',
|
242 |
[
|
745 |
|
746 |
$image_event = $settings['premium_image_button_event_function'];
|
747 |
|
748 |
+
if ( ! empty ( $settings['premium_image_button_icon_selection'] ) ) {
|
749 |
+
$this->add_render_attribute( 'icon', 'class', $settings['premium_image_button_icon_selection'] );
|
750 |
+
$this->add_render_attribute( 'icon', 'aria-hidden', 'true' );
|
751 |
+
}
|
752 |
+
|
753 |
+
$migrated = isset( $settings['__fa4_migrated']['premium_image_button_icon_selection_updated'] );
|
754 |
+
$is_new = empty( $settings['premium_image_button_icon_selection'] ) && Icons_Manager::is_migration_allowed();
|
755 |
+
|
756 |
if ($settings['premium_image_button_hover_effect'] == 'none'){
|
757 |
$style_dir = 'premium-image-button-none';
|
758 |
} elseif($settings['premium_image_button_hover_effect'] == 'style1'){
|
761 |
$style_dir = 'premium-image-button-diagonal-effect-' . $settings['premium_image_button_style3_dir'];
|
762 |
} elseif($settings['premium_image_button_hover_effect'] == 'style4'){
|
763 |
$style_dir = 'premium-image-button-style4-' . $settings['premium_image_button_style4_dir'];
|
764 |
+
|
765 |
+
if ( ! empty ( $settings['premium_image_button_style4_icon_selection'] ) ) {
|
766 |
+
$this->add_render_attribute( 'slide_icon', 'class', $settings['premium_image_button_style4_icon_selection'] );
|
767 |
+
$this->add_render_attribute( 'slide_icon', 'aria-hidden', 'true' );
|
768 |
+
}
|
769 |
+
|
770 |
+
$slide_migrated = isset( $settings['__fa4_migrated']['premium_image_button_style4_icon_selection_updated'] );
|
771 |
+
$slide_is_new = empty( $settings['premium_image_button_style4_icon_selection'] ) && Icons_Manager::is_migration_allowed();
|
772 |
+
|
773 |
} elseif($settings['premium_image_button_hover_effect'] == 'style5'){
|
774 |
$style_dir = 'premium-image-button-overlap-effect-' . $settings['premium_image_button_style5_dir'];
|
775 |
}
|
776 |
+
|
777 |
+
$this->add_render_attribute( 'button', 'class', array(
|
778 |
+
'premium-image-button',
|
779 |
+
$button_size,
|
780 |
+
$style_dir
|
781 |
+
));
|
782 |
+
|
783 |
+
if( ! empty( $image_link ) ) {
|
784 |
+
|
785 |
+
$this->add_render_attribute( 'button', 'href', $image_link );
|
786 |
+
|
787 |
+
if( ! empty( $settings['premium_image_button_link']['is_external'] ) )
|
788 |
+
$this->add_render_attribute( 'button', 'target', '_blank' );
|
789 |
+
|
790 |
+
if( ! empty( $settings['premium_image_button_link']['nofollow'] ) )
|
791 |
+
$this->add_render_attribute( 'button', 'rel', 'nofollow' );
|
792 |
+
}
|
793 |
+
|
794 |
+
if( 'yes' === $settings['premium_image_button_event_switcher'] && ! empty( $image_event ) ) {
|
795 |
+
$this->add_render_attribute( 'button', 'onclick', $image_event );
|
796 |
+
}
|
797 |
|
798 |
?>
|
799 |
<div class="premium-image-button-container">
|
800 |
+
<a <?php echo $this->get_render_attribute_string( 'button' ); ?>>
|
801 |
+
<div class="premium-image-button-text-icon-wrapper">
|
802 |
+
<?php if( 'yes' === $settings['premium_image_button_icon_switcher'] && $settings['premium_image_button_hover_effect'] !== 'style4' && $settings['premium_image_button_icon_position'] === 'before' ) :
|
803 |
+
if ( $is_new || $migrated ) :
|
804 |
+
Icons_Manager::render_icon( $settings['premium_image_button_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
|
805 |
+
else: ?>
|
806 |
+
<i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
|
807 |
+
<?php endif;
|
808 |
+
endif; ?>
|
|
|
|
|
|
|
|
|
809 |
<span <?php echo $this->get_render_attribute_string( 'premium_image_button_text' ); ?>>
|
810 |
<?php echo $button_text; ?>
|
811 |
</span>
|
812 |
+
<?php if( 'yes' === $settings['premium_image_button_icon_switcher'] && $settings['premium_image_button_hover_effect'] != 'style4' && $settings['premium_image_button_icon_position'] == 'after' ) :
|
813 |
+
if ( $is_new || $migrated ) :
|
814 |
+
Icons_Manager::render_icon( $settings['premium_image_button_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
|
815 |
+
else: ?>
|
816 |
+
<i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
|
817 |
+
<?php endif;
|
818 |
+
endif; ?>
|
819 |
</div>
|
820 |
<?php if( $settings['premium_image_button_hover_effect'] == 'style4') : ?>
|
821 |
<div class="premium-image-button-style4-icon-wrapper <?php echo esc_attr( $settings['premium_image_button_style4_dir'] ); ?>">
|
822 |
+
<?php if ( $slide_is_new || $slide_migrated ) :
|
823 |
+
Icons_Manager::render_icon( $settings['premium_image_button_style4_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
|
824 |
+
else: ?>
|
825 |
+
<i <?php echo $this->get_render_attribute_string( 'slide_icon' ); ?>></i>
|
826 |
+
<?php endif; ?>
|
827 |
</div>
|
828 |
<?php endif; ?>
|
829 |
</a>
|
861 |
} else if ( 'style4' == settings.premium_image_button_hover_effect ) {
|
862 |
styleDir = 'premium-image-button-style4-' + settings.premium_image_button_style4_dir;
|
863 |
slideIcon = settings.premium_image_button_style4_icon_selection;
|
864 |
+
|
865 |
+
var slideIconHTML = elementor.helpers.renderIcon( view, settings.premium_image_button_style4_icon_selection_updated, { 'aria-hidden': true }, 'i' , 'object' ),
|
866 |
+
slideMigrated = elementor.helpers.isIconMigrated( settings, 'premium_image_button_style4_icon_selection_updated' );
|
867 |
} else if ( 'style5' == settings.premium_image_button_hover_effect ){
|
868 |
styleDir = 'premium-image-button-overlap-effect-' + settings.premium_image_button_style5_dir;
|
869 |
}
|
870 |
|
871 |
+
var iconHTML = elementor.helpers.renderIcon( view, settings.premium_image_button_icon_selection_updated, { 'aria-hidden': true }, 'i' , 'object' ),
|
872 |
+
migrated = elementor.helpers.isIconMigrated( settings, 'premium_image_button_icon_selection_updated' );
|
873 |
+
|
874 |
#>
|
875 |
|
876 |
<div class="premium-image-button-container">
|
877 |
<a class="premium-image-button {{ buttonSize }} {{ styleDir }}" href="{{ buttonUrl }}" onclick="{{ buttonEvent }}">
|
878 |
<div class="premium-image-button-text-icon-wrapper">
|
879 |
+
<# if( 'yes' === settings.premium_image_button_icon_switcher && 'before' === settings.premium_image_button_icon_position && 'style4' !== settings.premium_image_button_hover_effect ) {
|
880 |
+
if ( iconHTML && iconHTML.rendered && ( ! buttonIcon || migrated ) ) { #>
|
881 |
+
{{{ iconHTML.value }}}
|
882 |
+
<# } else { #>
|
883 |
+
<i class="{{ buttonIcon }}" aria-hidden="true"></i>
|
884 |
+
<# }
|
885 |
+
} #>
|
886 |
<span {{{ view.getRenderAttributeString('premium_image_button_text') }}}>{{{ buttonText }}}</span>
|
887 |
+
<# if( 'yes' === settings.premium_image_button_icon_switcher && 'after' === settings.premium_image_button_icon_position && 'style4' !== settings.premium_image_button_hover_effect ) {
|
888 |
+
if ( iconHTML && iconHTML.rendered && ( ! buttonIcon || migrated ) ) { #>
|
889 |
+
{{{ iconHTML.value }}}
|
890 |
+
<# } else { #>
|
891 |
+
<i class="{{ buttonIcon }}" aria-hidden="true"></i>
|
892 |
+
<# }
|
893 |
+
} #>
|
894 |
</div>
|
895 |
<# if( 'style4' == settings.premium_image_button_hover_effect ) { #>
|
896 |
<div class="premium-image-button-style4-icon-wrapper {{ settings.premium_image_button_style4_dir }}">
|
897 |
+
<# if ( slideIconHTML && slideIconHTML.rendered && ( ! slideIcon || slideMigrated ) ) { #>
|
898 |
+
{{{ slideIconHTML.value }}}
|
899 |
+
<# } else { #>
|
900 |
+
<i class="{{ slideIcon }}" aria-hidden="true"></i>
|
901 |
+
<# } #>
|
902 |
</div>
|
903 |
<# } #>
|
904 |
</a>
|
widgets/premium-modalbox.php
CHANGED
@@ -4,6 +4,7 @@ namespace PremiumAddons\Widgets;
|
|
4 |
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use PremiumAddons\Includes;
|
|
|
7 |
use Elementor\Widget_Base;
|
8 |
use Elementor\Utils;
|
9 |
use Elementor\Control_Media;
|
@@ -61,7 +62,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
61 |
// Adding the controls fields for the premium modal box
|
62 |
// This will controls the animation, colors and background, dimensions etc
|
63 |
protected function _register_controls() {
|
64 |
-
/* Start Box Content Section */
|
65 |
|
66 |
$this->start_controls_section('premium_modal_box_selector_content_section',
|
67 |
[
|
@@ -80,7 +80,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
80 |
]
|
81 |
);
|
82 |
|
83 |
-
/*Icon To Display*/
|
84 |
$this->add_control('premium_modal_box_icon_selection',
|
85 |
[
|
86 |
'label' => __('Icon', 'premium-addons-for-elementor'),
|
@@ -99,18 +98,18 @@ class Premium_Modalbox extends Widget_Base {
|
|
99 |
]
|
100 |
);
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
|
115 |
$this->add_responsive_control('premium_modal_box_font_icon_size',
|
116 |
[
|
@@ -127,7 +126,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
127 |
]
|
128 |
);
|
129 |
|
130 |
-
/*Image Icon*/
|
131 |
$this->add_control('premium_modal_box_image_icon',
|
132 |
[
|
133 |
'label' => __('Custom Image', 'premium-addons-for-elementor'),
|
@@ -144,7 +142,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
144 |
]
|
145 |
);
|
146 |
|
147 |
-
/*Modal Box Title*/
|
148 |
$this->add_control('premium_modal_box_title',
|
149 |
[
|
150 |
'label' => __('Title', 'premium-addons-for-elementor'),
|
@@ -159,7 +156,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
159 |
]
|
160 |
);
|
161 |
|
162 |
-
/*Modal Box Content Heading*/
|
163 |
$this->add_control('premium_modal_box_content_heading',
|
164 |
[
|
165 |
'label' => __('Content', 'premium-addons-for-elementor'),
|
@@ -167,7 +163,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
167 |
]
|
168 |
);
|
169 |
|
170 |
-
/*Modal Box Content Type*/
|
171 |
$this->add_control('premium_modal_box_content_type',
|
172 |
[
|
173 |
'label' => __('Content to Show', 'premium-addons-for-elementor'),
|
@@ -181,7 +176,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
181 |
]
|
182 |
);
|
183 |
|
184 |
-
/*Modal Box Elementor Template*/
|
185 |
$this->add_control('premium_modal_box_content_temp',
|
186 |
[
|
187 |
'label' => __( 'Content', 'premium-addons-for-elementor' ),
|
@@ -194,7 +188,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
194 |
]
|
195 |
);
|
196 |
|
197 |
-
/*Modal Box Content*/
|
198 |
$this->add_control('premium_modal_box_content',
|
199 |
[
|
200 |
'type' => Controls_Manager::WYSIWYG,
|
@@ -208,7 +201,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
208 |
]
|
209 |
);
|
210 |
|
211 |
-
/*Upper Close Button*/
|
212 |
$this->add_control('premium_modal_box_upper_close',
|
213 |
[
|
214 |
'label' => __('Upper Close Button', 'premium-addons-for-elementor'),
|
@@ -220,7 +212,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
220 |
]
|
221 |
);
|
222 |
|
223 |
-
/*Lower Close Button*/
|
224 |
$this->add_control('premium_modal_box_lower_close',
|
225 |
[
|
226 |
'label' => __('Lower Close Button', 'premium-addons-for-elementor'),
|
@@ -250,7 +241,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
250 |
]
|
251 |
);
|
252 |
|
253 |
-
/*Modal Box Display On*/
|
254 |
$this->add_control('premium_modal_box_display_on',
|
255 |
[
|
256 |
'label' => __('Display Style', 'premium-addons-for-elementor'),
|
@@ -267,7 +257,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
267 |
]
|
268 |
);
|
269 |
|
270 |
-
/*Button Text*/
|
271 |
$this->add_control('premium_modal_box_button_text',
|
272 |
[
|
273 |
'label' => __('Button Text', 'premium-addons-for-elementor'),
|
@@ -292,18 +281,22 @@ class Premium_Modalbox extends Widget_Base {
|
|
292 |
]
|
293 |
);
|
294 |
|
295 |
-
$this->add_control('
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
|
|
|
|
|
|
|
|
307 |
|
308 |
$this->add_control('premium_modal_box_icon_position',
|
309 |
[
|
@@ -416,7 +409,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
416 |
);
|
417 |
}
|
418 |
|
419 |
-
/*Button Size*/
|
420 |
$this->add_control('premium_modal_box_button_size',
|
421 |
[
|
422 |
'label' => __('Button Size', 'premium-addons-for-elementor'),
|
@@ -435,7 +427,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
435 |
]
|
436 |
);
|
437 |
|
438 |
-
/*Image Source*/
|
439 |
$this->add_control('premium_modal_box_image_src',
|
440 |
[
|
441 |
'label' => __('Image', 'premium-addons-for-elementor'),
|
@@ -451,7 +442,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
451 |
]
|
452 |
);
|
453 |
|
454 |
-
/*Text Selector*/
|
455 |
$this->add_control('premium_modal_box_selector_text',
|
456 |
[
|
457 |
'label' => __('Text', 'premium-addons-for-elementor'),
|
@@ -465,7 +455,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
465 |
]
|
466 |
);
|
467 |
|
468 |
-
/*On Load Trigger Delay*/
|
469 |
$this->add_control('premium_modal_box_popup_delay',
|
470 |
[
|
471 |
'label' => __('Delay in Popup Display (Sec)','premium-addons-for-elementor'),
|
@@ -479,24 +468,22 @@ class Premium_Modalbox extends Widget_Base {
|
|
479 |
]
|
480 |
);
|
481 |
|
482 |
-
|
483 |
-
/*Alignment*/
|
484 |
$this->add_responsive_control('premium_modal_box_selector_align',
|
485 |
[
|
486 |
'label' => __( 'Alignment', 'premium-addons-for-elementor' ),
|
487 |
'type' => Controls_Manager::CHOOSE,
|
488 |
'options' => [
|
489 |
'left' => [
|
490 |
-
|
491 |
-
|
492 |
],
|
493 |
'center' => [
|
494 |
-
|
495 |
-
|
496 |
],
|
497 |
'right' => [
|
498 |
-
|
499 |
-
|
500 |
],
|
501 |
],
|
502 |
'default' => 'center',
|
@@ -509,10 +496,8 @@ class Premium_Modalbox extends Widget_Base {
|
|
509 |
]
|
510 |
);
|
511 |
|
512 |
-
/*End Box Content Section*/
|
513 |
$this->end_controls_section();
|
514 |
|
515 |
-
/*Selector Style*/
|
516 |
$this->start_controls_section('premium_modal_box_selector_style_section',
|
517 |
[
|
518 |
'label' => __('Trigger', 'premium-addons-for-elementor'),
|
@@ -523,7 +508,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
523 |
]
|
524 |
);
|
525 |
|
526 |
-
/*Button Text Color*/
|
527 |
$this->add_control('premium_modal_box_button_text_color',
|
528 |
[
|
529 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
@@ -592,7 +576,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
592 |
]
|
593 |
);
|
594 |
|
595 |
-
/*Selector Text Typography*/
|
596 |
$this->add_group_control(
|
597 |
Group_Control_Typography::get_type(),
|
598 |
[
|
@@ -608,7 +591,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
608 |
|
609 |
$this->start_controls_tabs('premium_modal_box_button_style');
|
610 |
|
611 |
-
/*Button Color*/
|
612 |
$this->start_controls_tab('premium_modal_box_tab_selector_normal',
|
613 |
[
|
614 |
'label' => __( 'Normal', 'premium-addons-for-elementor' ),
|
@@ -618,7 +600,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
618 |
]
|
619 |
);
|
620 |
|
621 |
-
/*Button Background Color*/
|
622 |
$this->add_control('premium_modal_box_selector_background',
|
623 |
[
|
624 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
@@ -636,7 +617,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
636 |
]
|
637 |
);
|
638 |
|
639 |
-
/*Button Border*/
|
640 |
$this->add_group_control(
|
641 |
Group_Control_Border::get_type(),
|
642 |
[
|
@@ -648,7 +628,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
648 |
]
|
649 |
);
|
650 |
|
651 |
-
/*Button Border Radius*/
|
652 |
$this->add_control('premium_modal_box_selector_border_radius',
|
653 |
[
|
654 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
@@ -667,7 +646,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
667 |
]
|
668 |
);
|
669 |
|
670 |
-
/*Selector Padding*/
|
671 |
$this->add_responsive_control('premium_modal_box_selector_padding',
|
672 |
[
|
673 |
'label' => __('Padding', 'premium-addons-for-elementor'),
|
@@ -689,7 +667,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
689 |
]
|
690 |
);
|
691 |
|
692 |
-
/*Selector Box Shadow*/
|
693 |
$this->add_group_control(
|
694 |
Group_Control_Box_Shadow::get_type(),
|
695 |
[
|
@@ -702,7 +679,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
702 |
]
|
703 |
);
|
704 |
|
705 |
-
/*Selector Text Shadow*/
|
706 |
$this->add_group_control(
|
707 |
Group_Control_Text_Shadow::get_type(),
|
708 |
[
|
@@ -725,7 +701,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
725 |
]
|
726 |
);
|
727 |
|
728 |
-
/*Button Hover Background Color*/
|
729 |
$this->add_control('premium_modal_box_selector_hover_background',
|
730 |
[
|
731 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
@@ -739,7 +714,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
739 |
]
|
740 |
);
|
741 |
|
742 |
-
/*Button Border*/
|
743 |
$this->add_group_control(
|
744 |
Group_Control_Border::get_type(),
|
745 |
[
|
@@ -752,7 +726,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
752 |
]
|
753 |
);
|
754 |
|
755 |
-
/*Button Border Radius*/
|
756 |
$this->add_control('premium_modal_box_selector_border_radius_hover',
|
757 |
[
|
758 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
@@ -767,7 +740,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
767 |
]
|
768 |
);
|
769 |
|
770 |
-
/*Selector Box Shadow*/
|
771 |
$this->add_group_control(
|
772 |
Group_Control_Box_Shadow::get_type(),
|
773 |
[
|
@@ -786,7 +758,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
786 |
|
787 |
$this->end_controls_section();
|
788 |
|
789 |
-
/*Start Header Seettings Section*/
|
790 |
$this->start_controls_section('premium_modal_box_header_settings',
|
791 |
[
|
792 |
'label' => __('Heading', 'premium-addons-for-elementor'),
|
@@ -797,7 +768,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
797 |
]
|
798 |
);
|
799 |
|
800 |
-
/*Header Text Color*/
|
801 |
$this->add_control('premium_modal_box_header_text_color',
|
802 |
[
|
803 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
@@ -808,7 +778,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
808 |
]
|
809 |
);
|
810 |
|
811 |
-
/*Header Text Typography*/
|
812 |
$this->add_group_control(
|
813 |
Group_Control_Typography::get_type(),
|
814 |
[
|
@@ -819,7 +788,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
819 |
]
|
820 |
);
|
821 |
|
822 |
-
/*Header Background Color*/
|
823 |
$this->add_control('premium_modal_box_header_background',
|
824 |
[
|
825 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
@@ -830,7 +798,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
830 |
]
|
831 |
);
|
832 |
|
833 |
-
/*Heading Border*/
|
834 |
$this->add_group_control(
|
835 |
Group_Control_Border::get_type(),
|
836 |
[
|
@@ -839,11 +806,8 @@ class Premium_Modalbox extends Widget_Base {
|
|
839 |
]
|
840 |
);
|
841 |
|
842 |
-
/*End Header Settings Section*/
|
843 |
$this->end_controls_section();
|
844 |
|
845 |
-
|
846 |
-
/*Start Close Button Section*/
|
847 |
$this->start_controls_section('premium_modal_box_upper_close_button_section',
|
848 |
[
|
849 |
'label' => __('Upper Close Button', 'premium-addons-for-elementor'),
|
@@ -855,7 +819,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
855 |
]
|
856 |
);
|
857 |
|
858 |
-
/*Close Button Size*/
|
859 |
$this->add_responsive_control('premium_modal_box_upper_close_button_size',
|
860 |
[
|
861 |
'label' => __('Size', 'premium-addons-for-elementor'),
|
@@ -871,14 +834,12 @@ class Premium_Modalbox extends Widget_Base {
|
|
871 |
|
872 |
$this->start_controls_tabs('premium_modal_box_upper_close_button_style');
|
873 |
|
874 |
-
/*Button Color*/
|
875 |
$this->start_controls_tab('premium_modal_box_upper_close_button_normal',
|
876 |
[
|
877 |
'label' => __( 'Normal', 'premium-addons-for-elementor' ),
|
878 |
]
|
879 |
);
|
880 |
|
881 |
-
/*Close Button Color*/
|
882 |
$this->add_control('premium_modal_box_upper_close_button_normal_color',
|
883 |
[
|
884 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
@@ -889,7 +850,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
889 |
]
|
890 |
);
|
891 |
|
892 |
-
/*Close Button Background Color*/
|
893 |
$this->add_control('premium_modal_box_upper_close_button_background_color',
|
894 |
[
|
895 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
@@ -900,7 +860,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
900 |
]
|
901 |
);
|
902 |
|
903 |
-
/*Button Border*/
|
904 |
$this->add_group_control(
|
905 |
Group_Control_Border::get_type(),
|
906 |
[
|
@@ -909,7 +868,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
909 |
]
|
910 |
);
|
911 |
|
912 |
-
/*Button Border Radius*/
|
913 |
$this->add_control('premium_modal_upper_border_radius',
|
914 |
[
|
915 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
@@ -930,7 +888,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
930 |
]
|
931 |
);
|
932 |
|
933 |
-
/*Close Button Color*/
|
934 |
$this->add_control('premium_modal_box_upper_close_button_hover_color',
|
935 |
[
|
936 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
@@ -941,7 +898,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
941 |
]
|
942 |
);
|
943 |
|
944 |
-
/*Close Button Background Color*/
|
945 |
$this->add_control('premium_modal_box_upper_close_button_background_color_hover',
|
946 |
[
|
947 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
@@ -952,7 +908,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
952 |
]
|
953 |
);
|
954 |
|
955 |
-
/*Button Border*/
|
956 |
$this->add_group_control(
|
957 |
Group_Control_Border::get_type(),
|
958 |
[
|
@@ -961,7 +916,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
961 |
]
|
962 |
);
|
963 |
|
964 |
-
/*Button Border Radius*/
|
965 |
$this->add_control('premium_modal_upper_border_radius_hover',
|
966 |
[
|
967 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
@@ -978,7 +932,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
978 |
|
979 |
$this->end_controls_tabs();
|
980 |
|
981 |
-
/*Upper Close Padding*/
|
982 |
$this->add_responsive_control('premium_modal_box_upper_close_button_padding',
|
983 |
[
|
984 |
'label' => __('Padding', 'premium-addons-for-elementor'),
|
@@ -990,10 +943,8 @@ class Premium_Modalbox extends Widget_Base {
|
|
990 |
]
|
991 |
);
|
992 |
|
993 |
-
/*End Upper Close Button Style Section*/
|
994 |
$this->end_controls_section();
|
995 |
|
996 |
-
/*Start Close Button Section*/
|
997 |
$this->start_controls_section('premium_modal_box_lower_close_button_section',
|
998 |
[
|
999 |
'label' => __('Lower Close Button', 'premium-addons-for-elementor'),
|
@@ -1004,7 +955,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1004 |
]
|
1005 |
);
|
1006 |
|
1007 |
-
/*Close Button Text Typography*/
|
1008 |
$this->add_group_control(
|
1009 |
Group_Control_Typography::get_type(),
|
1010 |
[
|
@@ -1015,7 +965,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1015 |
]
|
1016 |
);
|
1017 |
|
1018 |
-
/*Close Button Size*/
|
1019 |
$this->add_responsive_control('premium_modal_box_lower_close_button_width',
|
1020 |
[
|
1021 |
'label' => __('Width', 'premium-addons-for-elementor'),
|
@@ -1040,14 +989,12 @@ class Premium_Modalbox extends Widget_Base {
|
|
1040 |
|
1041 |
$this->start_controls_tabs('premium_modal_box_lower_close_button_style');
|
1042 |
|
1043 |
-
/*Button Color*/
|
1044 |
$this->start_controls_tab('premium_modal_box_lower_close_button_normal',
|
1045 |
[
|
1046 |
'label' => __( 'Normal', 'premium-addons-for-elementor' ),
|
1047 |
]
|
1048 |
);
|
1049 |
|
1050 |
-
/*Close Button Background Color*/
|
1051 |
$this->add_control('premium_modal_box_lower_close_button_normal_color',
|
1052 |
[
|
1053 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
@@ -1062,7 +1009,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1062 |
]
|
1063 |
);
|
1064 |
|
1065 |
-
/*Close Button Background Color*/
|
1066 |
$this->add_control('premium_modal_box_lower_close_button_background_normal_color',
|
1067 |
[
|
1068 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
@@ -1077,7 +1023,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1077 |
]
|
1078 |
);
|
1079 |
|
1080 |
-
/*Lower Close Border*/
|
1081 |
$this->add_group_control(
|
1082 |
Group_Control_Border::get_type(),
|
1083 |
[
|
@@ -1086,7 +1031,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1086 |
]
|
1087 |
);
|
1088 |
|
1089 |
-
/*Lower Close Radius*/
|
1090 |
$this->add_control('premium_modal_box_lower_close_border_radius',
|
1091 |
[
|
1092 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
@@ -1107,7 +1051,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1107 |
]
|
1108 |
);
|
1109 |
|
1110 |
-
/*Close Button Background Color*/
|
1111 |
$this->add_control('premium_modal_box_lower_close_button_hover_color',
|
1112 |
[
|
1113 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
@@ -1122,7 +1065,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1122 |
]
|
1123 |
);
|
1124 |
|
1125 |
-
/*Close Button Background Color*/
|
1126 |
$this->add_control('premium_modal_box_lower_close_button_background_hover_color',
|
1127 |
[
|
1128 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
@@ -1137,7 +1079,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1137 |
]
|
1138 |
);
|
1139 |
|
1140 |
-
/*Lower Close Hover Border*/
|
1141 |
$this->add_group_control(
|
1142 |
Group_Control_Border::get_type(),
|
1143 |
[
|
@@ -1146,7 +1087,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1146 |
]
|
1147 |
);
|
1148 |
|
1149 |
-
/*Lower Close Hover Border Radius*/
|
1150 |
$this->add_control('premium_modal_box_lower_close_border_radius_hover',
|
1151 |
[
|
1152 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
@@ -1163,7 +1103,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1163 |
|
1164 |
$this->end_controls_tabs();
|
1165 |
|
1166 |
-
/*Upper Close Padding*/
|
1167 |
$this->add_responsive_control('premium_modal_box_lower_close_button_padding',
|
1168 |
[
|
1169 |
'label' => __('Padding', 'premium-addons-for-elementor'),
|
@@ -1175,7 +1114,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1175 |
]
|
1176 |
);
|
1177 |
|
1178 |
-
/*End Lower Close Button Style Section*/
|
1179 |
$this->end_controls_section();
|
1180 |
|
1181 |
$this->start_controls_section('premium_modal_box_style',
|
@@ -1185,7 +1123,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1185 |
]
|
1186 |
);
|
1187 |
|
1188 |
-
/*Modal Size*/
|
1189 |
$this->add_control('premium_modal_box_modal_size',
|
1190 |
[
|
1191 |
'label' => __('Width', 'premium-addons-for-elementor'),
|
@@ -1219,7 +1156,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1219 |
]
|
1220 |
);
|
1221 |
|
1222 |
-
/*Modal Background Color*/
|
1223 |
$this->add_group_control(
|
1224 |
Group_Control_Background::get_type(),
|
1225 |
[
|
@@ -1229,7 +1165,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1229 |
]
|
1230 |
);
|
1231 |
|
1232 |
-
/*Content Background Color*/
|
1233 |
$this->add_control('premium_modal_box_content_background',
|
1234 |
[
|
1235 |
'label' => __('Content Background Color', 'premium-addons-for-elementor'),
|
@@ -1240,7 +1175,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1240 |
]
|
1241 |
);
|
1242 |
|
1243 |
-
/*Footer Background Color*/
|
1244 |
$this->add_control('premium_modal_box_footer_background',
|
1245 |
[
|
1246 |
'label' => __('Footer Background Color', 'premium-addons-for-elementor'),
|
@@ -1251,7 +1185,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1251 |
]
|
1252 |
);
|
1253 |
|
1254 |
-
/*Content Box Border*/
|
1255 |
$this->add_group_control(
|
1256 |
Group_Control_Border::get_type(),
|
1257 |
[
|
@@ -1260,7 +1193,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1260 |
]
|
1261 |
);
|
1262 |
|
1263 |
-
/*Border Radius*/
|
1264 |
$this->add_control('premium_modal_box_border_radius',
|
1265 |
[
|
1266 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
@@ -1272,7 +1204,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1272 |
]
|
1273 |
);
|
1274 |
|
1275 |
-
/*Box Shadow */
|
1276 |
$this->add_group_control(
|
1277 |
Group_Control_Box_Shadow::get_type(),
|
1278 |
[
|
@@ -1281,7 +1212,6 @@ class Premium_Modalbox extends Widget_Base {
|
|
1281 |
]
|
1282 |
);
|
1283 |
|
1284 |
-
/*Modal Box Margin*/
|
1285 |
$this->add_responsive_control('premium_modal_box_margin',
|
1286 |
[
|
1287 |
'label' => __('Margin', 'premium-addons-for-elementor'),
|
@@ -1307,6 +1237,24 @@ class Premium_Modalbox extends Widget_Base {
|
|
1307 |
$this->end_controls_section();
|
1308 |
|
1309 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1310 |
|
1311 |
protected function render() {
|
1312 |
|
@@ -1316,6 +1264,14 @@ class Premium_Modalbox extends Widget_Base {
|
|
1316 |
|
1317 |
$button_icon = $settings['premium_modal_box_button_icon_selection'];
|
1318 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1319 |
$template = $settings['premium_modal_box_content_temp'];
|
1320 |
|
1321 |
$modal_settings = [
|
@@ -1356,16 +1312,19 @@ class Premium_Modalbox extends Widget_Base {
|
|
1356 |
|
1357 |
$this->add_render_attribute('text', 'data-target', '#premium-modal-' . $this->get_id() );
|
1358 |
|
1359 |
-
if
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
|
|
|
|
|
|
1369 |
}
|
1370 |
|
1371 |
?>
|
@@ -1375,13 +1334,21 @@ class Premium_Modalbox extends Widget_Base {
|
|
1375 |
<?php
|
1376 |
if ( $settings['premium_modal_box_display_on'] === 'button' ) : ?>
|
1377 |
<button <?php echo $this->get_render_attribute_string('button'); ?>>
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
|
|
|
|
|
|
|
|
1381 |
<span><?php echo $settings['premium_modal_box_button_text']; ?></span>
|
1382 |
-
<?php if( $settings['premium_modal_box_icon_switcher'] && $settings['premium_modal_box_icon_position']
|
1383 |
-
|
1384 |
-
|
|
|
|
|
|
|
|
|
1385 |
</button>
|
1386 |
<?php elseif ( $settings['premium_modal_box_display_on'] === 'image' ) : ?>
|
1387 |
<img <?php echo $this->get_render_attribute_string('image'); ?>>
|
@@ -1397,11 +1364,7 @@ class Premium_Modalbox extends Widget_Base {
|
|
1397 |
<div class="premium-modal-box-modal-header">
|
1398 |
<?php if ( ! empty( $settings['premium_modal_box_title'] ) ) : ?>
|
1399 |
<h3 class="premium-modal-box-modal-title">
|
1400 |
-
<?php
|
1401 |
-
<i <?php echo $this->get_render_attribute_string('title_icon'); ?>></i>
|
1402 |
-
<?php elseif( 'image' === $settings['premium_modal_box_icon_selection'] ) : ?>
|
1403 |
-
<img <?php echo $this->get_render_attribute_string('title_icon'); ?>>
|
1404 |
-
<?php endif;
|
1405 |
echo $settings['premium_modal_box_title']; ?>
|
1406 |
</h3>
|
1407 |
<?php endif; ?>
|
4 |
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use PremiumAddons\Includes;
|
7 |
+
use Elementor\Icons_Manager;
|
8 |
use Elementor\Widget_Base;
|
9 |
use Elementor\Utils;
|
10 |
use Elementor\Control_Media;
|
62 |
// Adding the controls fields for the premium modal box
|
63 |
// This will controls the animation, colors and background, dimensions etc
|
64 |
protected function _register_controls() {
|
|
|
65 |
|
66 |
$this->start_controls_section('premium_modal_box_selector_content_section',
|
67 |
[
|
80 |
]
|
81 |
);
|
82 |
|
|
|
83 |
$this->add_control('premium_modal_box_icon_selection',
|
84 |
[
|
85 |
'label' => __('Icon', 'premium-addons-for-elementor'),
|
98 |
]
|
99 |
);
|
100 |
|
101 |
+
$this->add_control('premium_modal_box_font_icon_updated',
|
102 |
+
[
|
103 |
+
'label' => __('Font Awesome', 'premium-addons-for-elementor'),
|
104 |
+
'type' => Controls_Manager::ICONS,
|
105 |
+
'fa4compatibility' => 'premium_modal_box_font_icon',
|
106 |
+
'condition' => [
|
107 |
+
'premium_modal_box_icon_selection' => 'fonticon',
|
108 |
+
'premium_modal_box_header_switcher' => 'yes'
|
109 |
+
],
|
110 |
+
'label_block' => true,
|
111 |
+
]
|
112 |
+
);
|
113 |
|
114 |
$this->add_responsive_control('premium_modal_box_font_icon_size',
|
115 |
[
|
126 |
]
|
127 |
);
|
128 |
|
|
|
129 |
$this->add_control('premium_modal_box_image_icon',
|
130 |
[
|
131 |
'label' => __('Custom Image', 'premium-addons-for-elementor'),
|
142 |
]
|
143 |
);
|
144 |
|
|
|
145 |
$this->add_control('premium_modal_box_title',
|
146 |
[
|
147 |
'label' => __('Title', 'premium-addons-for-elementor'),
|
156 |
]
|
157 |
);
|
158 |
|
|
|
159 |
$this->add_control('premium_modal_box_content_heading',
|
160 |
[
|
161 |
'label' => __('Content', 'premium-addons-for-elementor'),
|
163 |
]
|
164 |
);
|
165 |
|
|
|
166 |
$this->add_control('premium_modal_box_content_type',
|
167 |
[
|
168 |
'label' => __('Content to Show', 'premium-addons-for-elementor'),
|
176 |
]
|
177 |
);
|
178 |
|
|
|
179 |
$this->add_control('premium_modal_box_content_temp',
|
180 |
[
|
181 |
'label' => __( 'Content', 'premium-addons-for-elementor' ),
|
188 |
]
|
189 |
);
|
190 |
|
|
|
191 |
$this->add_control('premium_modal_box_content',
|
192 |
[
|
193 |
'type' => Controls_Manager::WYSIWYG,
|
201 |
]
|
202 |
);
|
203 |
|
|
|
204 |
$this->add_control('premium_modal_box_upper_close',
|
205 |
[
|
206 |
'label' => __('Upper Close Button', 'premium-addons-for-elementor'),
|
212 |
]
|
213 |
);
|
214 |
|
|
|
215 |
$this->add_control('premium_modal_box_lower_close',
|
216 |
[
|
217 |
'label' => __('Lower Close Button', 'premium-addons-for-elementor'),
|
241 |
]
|
242 |
);
|
243 |
|
|
|
244 |
$this->add_control('premium_modal_box_display_on',
|
245 |
[
|
246 |
'label' => __('Display Style', 'premium-addons-for-elementor'),
|
257 |
]
|
258 |
);
|
259 |
|
|
|
260 |
$this->add_control('premium_modal_box_button_text',
|
261 |
[
|
262 |
'label' => __('Button Text', 'premium-addons-for-elementor'),
|
281 |
]
|
282 |
);
|
283 |
|
284 |
+
$this->add_control('premium_modal_box_button_icon_selection_updated',
|
285 |
+
[
|
286 |
+
'label' => __('Icon', 'premium-addons-for-elementor'),
|
287 |
+
'type' => Controls_Manager::ICONS,
|
288 |
+
'fa4compatibility' => 'premium_modal_box_button_icon_selection',
|
289 |
+
'default' => [
|
290 |
+
'value' => 'fas fa-bars',
|
291 |
+
'library' => 'fa-solid',
|
292 |
+
],
|
293 |
+
'condition' => [
|
294 |
+
'premium_modal_box_display_on' => 'button',
|
295 |
+
'premium_modal_box_icon_switcher' => 'yes'
|
296 |
+
],
|
297 |
+
'label_block' => true,
|
298 |
+
]
|
299 |
+
);
|
300 |
|
301 |
$this->add_control('premium_modal_box_icon_position',
|
302 |
[
|
409 |
);
|
410 |
}
|
411 |
|
|
|
412 |
$this->add_control('premium_modal_box_button_size',
|
413 |
[
|
414 |
'label' => __('Button Size', 'premium-addons-for-elementor'),
|
427 |
]
|
428 |
);
|
429 |
|
|
|
430 |
$this->add_control('premium_modal_box_image_src',
|
431 |
[
|
432 |
'label' => __('Image', 'premium-addons-for-elementor'),
|
442 |
]
|
443 |
);
|
444 |
|
|
|
445 |
$this->add_control('premium_modal_box_selector_text',
|
446 |
[
|
447 |
'label' => __('Text', 'premium-addons-for-elementor'),
|
455 |
]
|
456 |
);
|
457 |
|
|
|
458 |
$this->add_control('premium_modal_box_popup_delay',
|
459 |
[
|
460 |
'label' => __('Delay in Popup Display (Sec)','premium-addons-for-elementor'),
|
468 |
]
|
469 |
);
|
470 |
|
|
|
|
|
471 |
$this->add_responsive_control('premium_modal_box_selector_align',
|
472 |
[
|
473 |
'label' => __( 'Alignment', 'premium-addons-for-elementor' ),
|
474 |
'type' => Controls_Manager::CHOOSE,
|
475 |
'options' => [
|
476 |
'left' => [
|
477 |
+
'title' => __( 'Left', 'premium-addons-for-elementor' ),
|
478 |
+
'icon' => 'fa fa-align-left',
|
479 |
],
|
480 |
'center' => [
|
481 |
+
'title' => __( 'Center', 'premium-addons-for-elementor' ),
|
482 |
+
'icon' => 'fa fa-align-center',
|
483 |
],
|
484 |
'right' => [
|
485 |
+
'title' => __( 'Right', 'premium-addons-for-elementor' ),
|
486 |
+
'icon' => 'fa fa-align-right',
|
487 |
],
|
488 |
],
|
489 |
'default' => 'center',
|
496 |
]
|
497 |
);
|
498 |
|
|
|
499 |
$this->end_controls_section();
|
500 |
|
|
|
501 |
$this->start_controls_section('premium_modal_box_selector_style_section',
|
502 |
[
|
503 |
'label' => __('Trigger', 'premium-addons-for-elementor'),
|
508 |
]
|
509 |
);
|
510 |
|
|
|
511 |
$this->add_control('premium_modal_box_button_text_color',
|
512 |
[
|
513 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
576 |
]
|
577 |
);
|
578 |
|
|
|
579 |
$this->add_group_control(
|
580 |
Group_Control_Typography::get_type(),
|
581 |
[
|
591 |
|
592 |
$this->start_controls_tabs('premium_modal_box_button_style');
|
593 |
|
|
|
594 |
$this->start_controls_tab('premium_modal_box_tab_selector_normal',
|
595 |
[
|
596 |
'label' => __( 'Normal', 'premium-addons-for-elementor' ),
|
600 |
]
|
601 |
);
|
602 |
|
|
|
603 |
$this->add_control('premium_modal_box_selector_background',
|
604 |
[
|
605 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
617 |
]
|
618 |
);
|
619 |
|
|
|
620 |
$this->add_group_control(
|
621 |
Group_Control_Border::get_type(),
|
622 |
[
|
628 |
]
|
629 |
);
|
630 |
|
|
|
631 |
$this->add_control('premium_modal_box_selector_border_radius',
|
632 |
[
|
633 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
646 |
]
|
647 |
);
|
648 |
|
|
|
649 |
$this->add_responsive_control('premium_modal_box_selector_padding',
|
650 |
[
|
651 |
'label' => __('Padding', 'premium-addons-for-elementor'),
|
667 |
]
|
668 |
);
|
669 |
|
|
|
670 |
$this->add_group_control(
|
671 |
Group_Control_Box_Shadow::get_type(),
|
672 |
[
|
679 |
]
|
680 |
);
|
681 |
|
|
|
682 |
$this->add_group_control(
|
683 |
Group_Control_Text_Shadow::get_type(),
|
684 |
[
|
701 |
]
|
702 |
);
|
703 |
|
|
|
704 |
$this->add_control('premium_modal_box_selector_hover_background',
|
705 |
[
|
706 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
714 |
]
|
715 |
);
|
716 |
|
|
|
717 |
$this->add_group_control(
|
718 |
Group_Control_Border::get_type(),
|
719 |
[
|
726 |
]
|
727 |
);
|
728 |
|
|
|
729 |
$this->add_control('premium_modal_box_selector_border_radius_hover',
|
730 |
[
|
731 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
740 |
]
|
741 |
);
|
742 |
|
|
|
743 |
$this->add_group_control(
|
744 |
Group_Control_Box_Shadow::get_type(),
|
745 |
[
|
758 |
|
759 |
$this->end_controls_section();
|
760 |
|
|
|
761 |
$this->start_controls_section('premium_modal_box_header_settings',
|
762 |
[
|
763 |
'label' => __('Heading', 'premium-addons-for-elementor'),
|
768 |
]
|
769 |
);
|
770 |
|
|
|
771 |
$this->add_control('premium_modal_box_header_text_color',
|
772 |
[
|
773 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
778 |
]
|
779 |
);
|
780 |
|
|
|
781 |
$this->add_group_control(
|
782 |
Group_Control_Typography::get_type(),
|
783 |
[
|
788 |
]
|
789 |
);
|
790 |
|
|
|
791 |
$this->add_control('premium_modal_box_header_background',
|
792 |
[
|
793 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
798 |
]
|
799 |
);
|
800 |
|
|
|
801 |
$this->add_group_control(
|
802 |
Group_Control_Border::get_type(),
|
803 |
[
|
806 |
]
|
807 |
);
|
808 |
|
|
|
809 |
$this->end_controls_section();
|
810 |
|
|
|
|
|
811 |
$this->start_controls_section('premium_modal_box_upper_close_button_section',
|
812 |
[
|
813 |
'label' => __('Upper Close Button', 'premium-addons-for-elementor'),
|
819 |
]
|
820 |
);
|
821 |
|
|
|
822 |
$this->add_responsive_control('premium_modal_box_upper_close_button_size',
|
823 |
[
|
824 |
'label' => __('Size', 'premium-addons-for-elementor'),
|
834 |
|
835 |
$this->start_controls_tabs('premium_modal_box_upper_close_button_style');
|
836 |
|
|
|
837 |
$this->start_controls_tab('premium_modal_box_upper_close_button_normal',
|
838 |
[
|
839 |
'label' => __( 'Normal', 'premium-addons-for-elementor' ),
|
840 |
]
|
841 |
);
|
842 |
|
|
|
843 |
$this->add_control('premium_modal_box_upper_close_button_normal_color',
|
844 |
[
|
845 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
850 |
]
|
851 |
);
|
852 |
|
|
|
853 |
$this->add_control('premium_modal_box_upper_close_button_background_color',
|
854 |
[
|
855 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
860 |
]
|
861 |
);
|
862 |
|
|
|
863 |
$this->add_group_control(
|
864 |
Group_Control_Border::get_type(),
|
865 |
[
|
868 |
]
|
869 |
);
|
870 |
|
|
|
871 |
$this->add_control('premium_modal_upper_border_radius',
|
872 |
[
|
873 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
888 |
]
|
889 |
);
|
890 |
|
|
|
891 |
$this->add_control('premium_modal_box_upper_close_button_hover_color',
|
892 |
[
|
893 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
898 |
]
|
899 |
);
|
900 |
|
|
|
901 |
$this->add_control('premium_modal_box_upper_close_button_background_color_hover',
|
902 |
[
|
903 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
908 |
]
|
909 |
);
|
910 |
|
|
|
911 |
$this->add_group_control(
|
912 |
Group_Control_Border::get_type(),
|
913 |
[
|
916 |
]
|
917 |
);
|
918 |
|
|
|
919 |
$this->add_control('premium_modal_upper_border_radius_hover',
|
920 |
[
|
921 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
932 |
|
933 |
$this->end_controls_tabs();
|
934 |
|
|
|
935 |
$this->add_responsive_control('premium_modal_box_upper_close_button_padding',
|
936 |
[
|
937 |
'label' => __('Padding', 'premium-addons-for-elementor'),
|
943 |
]
|
944 |
);
|
945 |
|
|
|
946 |
$this->end_controls_section();
|
947 |
|
|
|
948 |
$this->start_controls_section('premium_modal_box_lower_close_button_section',
|
949 |
[
|
950 |
'label' => __('Lower Close Button', 'premium-addons-for-elementor'),
|
955 |
]
|
956 |
);
|
957 |
|
|
|
958 |
$this->add_group_control(
|
959 |
Group_Control_Typography::get_type(),
|
960 |
[
|
965 |
]
|
966 |
);
|
967 |
|
|
|
968 |
$this->add_responsive_control('premium_modal_box_lower_close_button_width',
|
969 |
[
|
970 |
'label' => __('Width', 'premium-addons-for-elementor'),
|
989 |
|
990 |
$this->start_controls_tabs('premium_modal_box_lower_close_button_style');
|
991 |
|
|
|
992 |
$this->start_controls_tab('premium_modal_box_lower_close_button_normal',
|
993 |
[
|
994 |
'label' => __( 'Normal', 'premium-addons-for-elementor' ),
|
995 |
]
|
996 |
);
|
997 |
|
|
|
998 |
$this->add_control('premium_modal_box_lower_close_button_normal_color',
|
999 |
[
|
1000 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
1009 |
]
|
1010 |
);
|
1011 |
|
|
|
1012 |
$this->add_control('premium_modal_box_lower_close_button_background_normal_color',
|
1013 |
[
|
1014 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
1023 |
]
|
1024 |
);
|
1025 |
|
|
|
1026 |
$this->add_group_control(
|
1027 |
Group_Control_Border::get_type(),
|
1028 |
[
|
1031 |
]
|
1032 |
);
|
1033 |
|
|
|
1034 |
$this->add_control('premium_modal_box_lower_close_border_radius',
|
1035 |
[
|
1036 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
1051 |
]
|
1052 |
);
|
1053 |
|
|
|
1054 |
$this->add_control('premium_modal_box_lower_close_button_hover_color',
|
1055 |
[
|
1056 |
'label' => __('Color', 'premium-addons-for-elementor'),
|
1065 |
]
|
1066 |
);
|
1067 |
|
|
|
1068 |
$this->add_control('premium_modal_box_lower_close_button_background_hover_color',
|
1069 |
[
|
1070 |
'label' => __('Background Color', 'premium-addons-for-elementor'),
|
1079 |
]
|
1080 |
);
|
1081 |
|
|
|
1082 |
$this->add_group_control(
|
1083 |
Group_Control_Border::get_type(),
|
1084 |
[
|
1087 |
]
|
1088 |
);
|
1089 |
|
|
|
1090 |
$this->add_control('premium_modal_box_lower_close_border_radius_hover',
|
1091 |
[
|
1092 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
1103 |
|
1104 |
$this->end_controls_tabs();
|
1105 |
|
|
|
1106 |
$this->add_responsive_control('premium_modal_box_lower_close_button_padding',
|
1107 |
[
|
1108 |
'label' => __('Padding', 'premium-addons-for-elementor'),
|
1114 |
]
|
1115 |
);
|
1116 |
|
|
|
1117 |
$this->end_controls_section();
|
1118 |
|
1119 |
$this->start_controls_section('premium_modal_box_style',
|
1123 |
]
|
1124 |
);
|
1125 |
|
|
|
1126 |
$this->add_control('premium_modal_box_modal_size',
|
1127 |
[
|
1128 |
'label' => __('Width', 'premium-addons-for-elementor'),
|
1156 |
]
|
1157 |
);
|
1158 |
|
|
|
1159 |
$this->add_group_control(
|
1160 |
Group_Control_Background::get_type(),
|
1161 |
[
|
1165 |
]
|
1166 |
);
|
1167 |
|
|
|
1168 |
$this->add_control('premium_modal_box_content_background',
|
1169 |
[
|
1170 |
'label' => __('Content Background Color', 'premium-addons-for-elementor'),
|
1175 |
]
|
1176 |
);
|
1177 |
|
|
|
1178 |
$this->add_control('premium_modal_box_footer_background',
|
1179 |
[
|
1180 |
'label' => __('Footer Background Color', 'premium-addons-for-elementor'),
|
1185 |
]
|
1186 |
);
|
1187 |
|
|
|
1188 |
$this->add_group_control(
|
1189 |
Group_Control_Border::get_type(),
|
1190 |
[
|
1193 |
]
|
1194 |
);
|
1195 |
|
|
|
1196 |
$this->add_control('premium_modal_box_border_radius',
|
1197 |
[
|
1198 |
'label' => __('Border Radius', 'premium-addons-for-elementor'),
|
1204 |
]
|
1205 |
);
|
1206 |
|
|
|
1207 |
$this->add_group_control(
|
1208 |
Group_Control_Box_Shadow::get_type(),
|
1209 |
[
|
1212 |
]
|
1213 |
);
|
1214 |
|
|
|
1215 |
$this->add_responsive_control('premium_modal_box_margin',
|
1216 |
[
|
1217 |
'label' => __('Margin', 'premium-addons-for-elementor'),
|
1237 |
$this->end_controls_section();
|
1238 |
|
1239 |
}
|
1240 |
+
|
1241 |
+
|
1242 |
+
protected function render_header_icon( $new, $migrate ) {
|
1243 |
+
|
1244 |
+
$settings = $this->get_settings_for_display();
|
1245 |
+
if( 'fonticon' === $settings['premium_modal_box_icon_selection'] ) {
|
1246 |
+
if ( $new || $migrate ) :
|
1247 |
+
Icons_Manager::render_icon( $settings['premium_modal_box_font_icon_updated'], [ 'aria-hidden' => 'true' ] );
|
1248 |
+
else: ?>
|
1249 |
+
<i <?php echo $this->get_render_attribute_string( 'title_icon' ); ?>></i>
|
1250 |
+
<?php endif;
|
1251 |
+
} elseif( 'image' === $settings['premium_modal_box_icon_selection'] ) {
|
1252 |
+
?>
|
1253 |
+
<img <?php echo $this->get_render_attribute_string('title_icon'); ?>>
|
1254 |
+
<?php
|
1255 |
+
}
|
1256 |
+
|
1257 |
+
}
|
1258 |
|
1259 |
protected function render() {
|
1260 |
|
1264 |
|
1265 |
$button_icon = $settings['premium_modal_box_button_icon_selection'];
|
1266 |
|
1267 |
+
if ( ! empty ( $button_icon ) ) {
|
1268 |
+
$this->add_render_attribute( 'icon', 'class', $settings['premium_modal_box_button_icon_selection'] );
|
1269 |
+
$this->add_render_attribute( 'icon', 'aria-hidden', 'true' );
|
1270 |
+
}
|
1271 |
+
|
1272 |
+
$migrated = isset( $settings['__fa4_migrated']['premium_modal_box_button_icon_selection_updated'] );
|
1273 |
+
$is_new = empty( $settings['premium_modal_box_button_icon_selection'] ) && Icons_Manager::is_migration_allowed();
|
1274 |
+
|
1275 |
$template = $settings['premium_modal_box_content_temp'];
|
1276 |
|
1277 |
$modal_settings = [
|
1312 |
|
1313 |
$this->add_render_attribute('text', 'data-target', '#premium-modal-' . $this->get_id() );
|
1314 |
|
1315 |
+
if( 'yes' === $settings['premium_modal_box_header_switcher'] ) {
|
1316 |
+
if ( 'fonticon' === $settings['premium_modal_box_icon_selection'] ) {
|
1317 |
+
if ( ! empty ( $settings['premium_modal_box_font_icon'] ) ) {
|
1318 |
+
$this->add_render_attribute('title_icon', 'class', $settings['premium_modal_box_font_icon'] );
|
1319 |
+
$this->add_render_attribute('title_icon', 'aria-hidden', 'true' );
|
1320 |
+
}
|
1321 |
+
$header_migrated = isset( $settings['__fa4_migrated']['premium_modal_box_font_icon_updated'] );
|
1322 |
+
$header_new = empty( $settings['premium_modal_box_font_icon'] ) && Icons_Manager::is_migration_allowed();
|
1323 |
+
} else {
|
1324 |
+
$this->add_render_attribute('title_icon', 'src', $settings['premium_modal_box_image_icon']['url'] );
|
1325 |
+
$alt = Control_Media::get_image_alt( $settings['premium_modal_box_image_icon'] );
|
1326 |
+
$this->add_render_attribute('title_icon', 'alt', $alt );
|
1327 |
+
}
|
1328 |
}
|
1329 |
|
1330 |
?>
|
1334 |
<?php
|
1335 |
if ( $settings['premium_modal_box_display_on'] === 'button' ) : ?>
|
1336 |
<button <?php echo $this->get_render_attribute_string('button'); ?>>
|
1337 |
+
<?php if( 'yes' === $settings['premium_modal_box_icon_switcher'] && $settings['premium_modal_box_icon_position'] === 'before' ) :
|
1338 |
+
if ( $is_new || $migrated ) :
|
1339 |
+
Icons_Manager::render_icon( $settings['premium_modal_box_button_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
|
1340 |
+
else: ?>
|
1341 |
+
<i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
|
1342 |
+
<?php endif;
|
1343 |
+
endif; ?>
|
1344 |
<span><?php echo $settings['premium_modal_box_button_text']; ?></span>
|
1345 |
+
<?php if( 'yes' === $settings['premium_modal_box_icon_switcher'] && $settings['premium_modal_box_icon_position'] === 'after' ) :
|
1346 |
+
if ( $is_new || $migrated ) :
|
1347 |
+
Icons_Manager::render_icon( $settings['premium_modal_box_button_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
|
1348 |
+
else: ?>
|
1349 |
+
<i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
|
1350 |
+
<?php endif;
|
1351 |
+
endif; ?>
|
1352 |
</button>
|
1353 |
<?php elseif ( $settings['premium_modal_box_display_on'] === 'image' ) : ?>
|
1354 |
<img <?php echo $this->get_render_attribute_string('image'); ?>>
|
1364 |
<div class="premium-modal-box-modal-header">
|
1365 |
<?php if ( ! empty( $settings['premium_modal_box_title'] ) ) : ?>
|
1366 |
<h3 class="premium-modal-box-modal-title">
|
1367 |
+
<?php $this->render_header_icon( $header_new , $header_migrated );
|
|
|
|
|
|
|
|
|
1368 |
echo $settings['premium_modal_box_title']; ?>
|
1369 |
</h3>
|
1370 |
<?php endif; ?>
|
widgets/premium-person.php
CHANGED
@@ -596,11 +596,11 @@ class Premium_Person extends Widget_Base {
|
|
596 |
// get our input from the widget settings.
|
597 |
$settings = $this->get_settings_for_display();
|
598 |
|
599 |
-
$this->add_inline_editing_attributes('
|
600 |
|
601 |
-
$this->add_inline_editing_attributes('
|
602 |
|
603 |
-
$this->add_inline_editing_attributes('
|
604 |
|
605 |
$name_heading = $settings['premium_person_name_heading'];
|
606 |
|
@@ -617,13 +617,15 @@ class Premium_Person extends Widget_Base {
|
|
617 |
</div>
|
618 |
<div class="premium-person-info">
|
619 |
<div class="premium-person-info-container">
|
620 |
-
<?php if( !empty( $settings['premium_person_name'] ) ) : ?><<?php echo $name_heading; ?> class="premium-person-name"><span <?php echo $this->get_render_attribute_string('
|
621 |
-
<?php if( !empty( $settings['premium_person_title'] ) ) : ?><<?php echo $title_heading; ?> class="premium-person-title"><span <?php echo $this->get_render_attribute_string('
|
622 |
-
|
623 |
-
<div
|
624 |
-
<?php echo $
|
|
|
|
|
625 |
</div>
|
626 |
-
|
627 |
<ul class="premium-person-social-list">
|
628 |
<?php if( !empty( $settings['premium_person_facebook'] ) ) : ?><li class="premium-person-list-item premium-person-facebook"><a href="<?php echo $settings['premium_person_facebook']; ?>" target="_blank"><i class="fa fa-facebook"></i></a></li><?php endif; ?>
|
629 |
<?php if( !empty( $settings['premium_person_twitter'] ) ) : ?><li class="premium-person-list-item premium-person-twitter"><a href="<?php echo $settings['premium_person_twitter']; ?>" target="_blank"><i class="fa fa-twitter"></i></a></li><?php endif; ?>
|
@@ -648,11 +650,11 @@ class Premium_Person extends Widget_Base {
|
|
648 |
?>
|
649 |
<#
|
650 |
|
651 |
-
view.addInlineEditingAttributes('
|
652 |
|
653 |
-
view.addInlineEditingAttributes('
|
654 |
|
655 |
-
view.addInlineEditingAttributes('
|
656 |
|
657 |
var nameHeading = settings.premium_person_name_heading,
|
658 |
|
@@ -672,21 +674,23 @@ class Premium_Person extends Widget_Base {
|
|
672 |
<div class="premium-person-info-container">
|
673 |
<# if( '' != settings.premium_person_name ) { #>
|
674 |
<{{{nameHeading}}} class="premium-person-name">
|
675 |
-
<span {{{ view.getRenderAttributeString('
|
676 |
{{{ settings.premium_person_name }}}
|
677 |
</span></{{{nameHeading}}}>
|
678 |
-
<# }
|
679 |
-
|
680 |
<{{{titleHeading}}} class="premium-person-title">
|
681 |
-
<span {{{ view.getRenderAttributeString('
|
682 |
{{{ settings.premium_person_title }}}
|
683 |
</span></{{{titleHeading}}}>
|
684 |
-
<# }
|
685 |
-
|
686 |
-
<div
|
687 |
-
{{{
|
|
|
|
|
688 |
</div>
|
689 |
-
|
690 |
<ul class="premium-person-social-list">
|
691 |
<# if( '' != settings.premium_person_facebook ) { #>
|
692 |
<li class="premium-person-list-item premium-person-facebook"><a href="{{ settings.premium_person_facebook }}" target="_blank"><i class="fa fa-facebook"></i></a></li>
|
596 |
// get our input from the widget settings.
|
597 |
$settings = $this->get_settings_for_display();
|
598 |
|
599 |
+
$this->add_inline_editing_attributes('name');
|
600 |
|
601 |
+
$this->add_inline_editing_attributes('title');
|
602 |
|
603 |
+
$this->add_inline_editing_attributes('description','advanced');
|
604 |
|
605 |
$name_heading = $settings['premium_person_name_heading'];
|
606 |
|
617 |
</div>
|
618 |
<div class="premium-person-info">
|
619 |
<div class="premium-person-info-container">
|
620 |
+
<?php if( ! empty( $settings['premium_person_name'] ) ) : ?><<?php echo $name_heading; ?> class="premium-person-name"><span <?php echo $this->get_render_attribute_string('name'); ?>><?php echo $settings['premium_person_name']; ?></span></<?php echo $name_heading; ?>><?php endif; ?>
|
621 |
+
<?php if( ! empty( $settings['premium_person_title'] ) ) : ?><<?php echo $title_heading; ?> class="premium-person-title"><span <?php echo $this->get_render_attribute_string('title'); ?>><?php echo $settings['premium_person_title']; ?></span></<?php echo $title_heading; ?>><?php endif; ?>
|
622 |
+
<?php if( ! empty( $settings['premium_person_content'] ) ) : ?>
|
623 |
+
<div class="premium-person-content">
|
624 |
+
<div <?php echo $this->get_render_attribute_string('content'); ?>>
|
625 |
+
<?php echo $settings['premium_person_content']; ?>
|
626 |
+
</div>
|
627 |
</div>
|
628 |
+
<?php endif; ?>
|
629 |
<ul class="premium-person-social-list">
|
630 |
<?php if( !empty( $settings['premium_person_facebook'] ) ) : ?><li class="premium-person-list-item premium-person-facebook"><a href="<?php echo $settings['premium_person_facebook']; ?>" target="_blank"><i class="fa fa-facebook"></i></a></li><?php endif; ?>
|
631 |
<?php if( !empty( $settings['premium_person_twitter'] ) ) : ?><li class="premium-person-list-item premium-person-twitter"><a href="<?php echo $settings['premium_person_twitter']; ?>" target="_blank"><i class="fa fa-twitter"></i></a></li><?php endif; ?>
|
650 |
?>
|
651 |
<#
|
652 |
|
653 |
+
view.addInlineEditingAttributes('name');
|
654 |
|
655 |
+
view.addInlineEditingAttributes('title');
|
656 |
|
657 |
+
view.addInlineEditingAttributes('content', 'advanced');
|
658 |
|
659 |
var nameHeading = settings.premium_person_name_heading,
|
660 |
|
674 |
<div class="premium-person-info-container">
|
675 |
<# if( '' != settings.premium_person_name ) { #>
|
676 |
<{{{nameHeading}}} class="premium-person-name">
|
677 |
+
<span {{{ view.getRenderAttributeString('name') }}}>
|
678 |
{{{ settings.premium_person_name }}}
|
679 |
</span></{{{nameHeading}}}>
|
680 |
+
<# }
|
681 |
+
if( '' != settings.premium_person_title ) { #>
|
682 |
<{{{titleHeading}}} class="premium-person-title">
|
683 |
+
<span {{{ view.getRenderAttributeString('title') }}}>
|
684 |
{{{ settings.premium_person_title }}}
|
685 |
</span></{{{titleHeading}}}>
|
686 |
+
<# }
|
687 |
+
if( '' != settings.premium_person_content ) { #>
|
688 |
+
<div class="premium-person-content">
|
689 |
+
<div {{{ view.getRenderAttributeString('content') }}}>
|
690 |
+
{{{ settings.premium_person_content }}}
|
691 |
+
</div>
|
692 |
</div>
|
693 |
+
<# } #>
|
694 |
<ul class="premium-person-social-list">
|
695 |
<# if( '' != settings.premium_person_facebook ) { #>
|
696 |
<li class="premium-person-list-item premium-person-facebook"><a href="{{ settings.premium_person_facebook }}" target="_blank"><i class="fa fa-facebook"></i></a></li>
|
widgets/premium-pricing-table.php
CHANGED
@@ -5,6 +5,7 @@ namespace PremiumAddons\Widgets;
|
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use PremiumAddons\Includes;
|
7 |
use Elementor\Modules\DynamicTags\Module as TagsModule;
|
|
|
8 |
use Elementor\Widget_Base;
|
9 |
use Elementor\Controls_Manager;
|
10 |
use Elementor\Repeater;
|
@@ -60,13 +61,17 @@ class Premium_Pricing_Table extends Widget_Base {
|
|
60 |
]
|
61 |
);
|
62 |
|
63 |
-
$this->add_control('
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
70 |
|
71 |
$this->end_controls_section();
|
72 |
|
@@ -200,35 +205,36 @@ class Premium_Pricing_Table extends Widget_Base {
|
|
200 |
]
|
201 |
);
|
202 |
|
203 |
-
$repeater->add_control('
|
204 |
[
|
205 |
'label' => __( 'Icon', 'premium-addons-for-elementor' ),
|
206 |
-
'type'
|
|
|
207 |
]
|
208 |
);
|
209 |
|
210 |
$this->add_control('premium_fancy_text_list_items',
|
|
|
|
|
|
|
|
|
211 |
[
|
212 |
-
'
|
213 |
-
'
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
'fields' => array_values( $repeater->get_controls() ),
|
229 |
-
'title_field' => '<i class="{{ premium_pricing_list_item_icon }}" aria-hidden="true"></i> {{{ premium_pricing_list_item_text }}}'
|
230 |
-
]
|
231 |
-
);
|
232 |
|
233 |
$this->add_responsive_control('premium_pricing_table_list_align',
|
234 |
[
|
@@ -1869,61 +1875,89 @@ class Premium_Pricing_Table extends Widget_Base {
|
|
1869 |
} elseif ($link_type == 'url') {
|
1870 |
$link_url = $settings['premium_pricing_table_button_link'];
|
1871 |
}
|
1872 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1873 |
|
1874 |
-
<div class="premium-pricing-table-container">
|
1875 |
-
|
1876 |
-
|
1877 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1878 |
</div>
|
1879 |
-
|
1880 |
-
|
1881 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1882 |
<?php endif; ?>
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
1887 |
-
|
1888 |
-
<?php echo $settings['premium_pricing_table_slashed_price_value']; ?>
|
1889 |
-
</strike>
|
1890 |
-
<span class="premium-pricing-price-currency">
|
1891 |
-
<?php echo $settings['premium_pricing_table_price_currency']; ?>
|
1892 |
-
</span>
|
1893 |
-
<span class="premium-pricing-price-value">
|
1894 |
-
<?php echo $settings['premium_pricing_table_price_value']; ?>
|
1895 |
-
</span>
|
1896 |
-
<span class="premium-pricing-price-separator">
|
1897 |
-
<?php echo $settings['premium_pricing_table_price_separator']; ?>
|
1898 |
-
</span>
|
1899 |
-
<span class="premium-pricing-price-duration">
|
1900 |
-
<?php echo $settings['premium_pricing_table_price_duration']; ?>
|
1901 |
-
</span>
|
1902 |
-
</div>
|
1903 |
-
<?php endif; ?>
|
1904 |
-
<?php if($settings['premium_pricing_table_list_switcher'] == 'yes') : ?>
|
1905 |
-
<div class="premium-pricing-list-container">
|
1906 |
-
<ul class="premium-pricing-list">
|
1907 |
-
<?php foreach( $settings['premium_fancy_text_list_items'] as $item ): echo '<li>' . '<i class="' . esc_attr( $item['premium_pricing_list_item_icon'] ) . '">' . '</i>' . '<span class="premium-pricing-list-span">' . esc_attr( $item['premium_pricing_list_item_text'] ) . '</span>' . '</li>'; ?>
|
1908 |
-
<?php endforeach; ?>
|
1909 |
-
</ul>
|
1910 |
-
</div>
|
1911 |
-
<?php endif; ?>
|
1912 |
-
<?php if($settings['premium_pricing_table_description_switcher'] == 'yes') : ?>
|
1913 |
-
<div class="premium-pricing-description-container">
|
1914 |
-
<div <?php echo $this->get_render_attribute_string('description_text'); ?>>
|
1915 |
-
<?php echo $settings['premium_pricing_table_description_text']; ?>
|
1916 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1917 |
</div>
|
1918 |
-
<?php endif; ?>
|
1919 |
-
<?php if($settings['premium_pricing_table_button_switcher'] == 'yes') : ?>
|
1920 |
-
<div class="premium-pricing-button-container">
|
1921 |
-
<a class="premium-pricing-price-button" target="_<?php echo esc_attr( $settings['premium_pricing_table_button_link_target'] ); ?>" href="<?php echo esc_url( $link_url ); ?>">
|
1922 |
-
<span <?php echo $this->get_render_attribute_string('button_text'); ?>><?php echo $settings['premium_pricing_table_button_text']; ?></span>
|
1923 |
-
</a>
|
1924 |
-
</div>
|
1925 |
-
<?php endif; ?>
|
1926 |
-
</div>
|
1927 |
|
1928 |
<?php
|
1929 |
}
|
@@ -1942,6 +1976,12 @@ class Premium_Pricing_Table extends Widget_Base {
|
|
1942 |
linkType = settings.premium_pricing_table_button_url_type,
|
1943 |
badgePosition = 'premium-badge-' + settings.premium_pricing_table_badge_position,
|
1944 |
linkURL = 'link' === linkType ? settings.premium_pricing_table_button_link_existing_content : settings.premium_pricing_table_button_link;
|
|
|
|
|
|
|
|
|
|
|
|
|
1945 |
|
1946 |
#>
|
1947 |
|
@@ -1951,8 +1991,14 @@ class Premium_Pricing_Table extends Widget_Base {
|
|
1951 |
<div class="corner"><span>{{{ settings.premium_pricing_table_badge_text }}}</span></div>
|
1952 |
</div>
|
1953 |
<# } #>
|
1954 |
-
<# if('yes' === settings.premium_pricing_table_icon_switcher ) { #>
|
1955 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1956 |
<# } #>
|
1957 |
<# if('yes' === settings.premium_pricing_table_title_switcher ) { #>
|
1958 |
<{{{titleTag}}} class="premium-pricing-table-title"><span {{{ view.getRenderAttributeString('title_text') }}}>{{{ settings.premium_pricing_table_title_text }}}</span></{{{titleTag}}}>
|
@@ -1970,9 +2016,18 @@ class Premium_Pricing_Table extends Widget_Base {
|
|
1970 |
<# if('yes' === settings.premium_pricing_table_list_switcher ) { #>
|
1971 |
<div class="premium-pricing-list-container">
|
1972 |
<ul class="premium-pricing-list">
|
1973 |
-
<# _.each( settings.premium_fancy_text_list_items, function( item ) {
|
|
|
|
|
|
|
|
|
|
|
1974 |
<li>
|
1975 |
-
|
|
|
|
|
|
|
|
|
1976 |
<span class="premium-pricing-list-span">{{{ item.premium_pricing_list_item_text }}}</span>
|
1977 |
</li>
|
1978 |
<# } ); #>
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use PremiumAddons\Includes;
|
7 |
use Elementor\Modules\DynamicTags\Module as TagsModule;
|
8 |
+
use Elementor\Icons_Manager;
|
9 |
use Elementor\Widget_Base;
|
10 |
use Elementor\Controls_Manager;
|
11 |
use Elementor\Repeater;
|
61 |
]
|
62 |
);
|
63 |
|
64 |
+
$this->add_control('premium_pricing_table_icon_selection_updated',
|
65 |
+
[
|
66 |
+
'label' => __('Select an Icon', 'premium-addons-for-elementor'),
|
67 |
+
'type' => Controls_Manager::ICONS,
|
68 |
+
'fa4compatibility' => 'premium_pricing_table_icon_selection',
|
69 |
+
'default' => [
|
70 |
+
'value' => 'fas fa-bars',
|
71 |
+
'library' => 'fa-solid',
|
72 |
+
],
|
73 |
+
]
|
74 |
+
);
|
75 |
|
76 |
$this->end_controls_section();
|
77 |
|
205 |
]
|
206 |
);
|
207 |
|
208 |
+
$repeater->add_control('premium_pricing_list_item_icon_updated',
|
209 |
[
|
210 |
'label' => __( 'Icon', 'premium-addons-for-elementor' ),
|
211 |
+
'type' => Controls_Manager::ICONS,
|
212 |
+
'fa4compatibility' => 'premium_pricing_list_item_icon',
|
213 |
]
|
214 |
);
|
215 |
|
216 |
$this->add_control('premium_fancy_text_list_items',
|
217 |
+
[
|
218 |
+
'label' => __( 'Features', 'premium-addons-for-elementor' ),
|
219 |
+
'type' => Controls_Manager::REPEATER,
|
220 |
+
'default' => [
|
221 |
[
|
222 |
+
'premium_pricing_list_item_icon' => 'fa fa-check',
|
223 |
+
'premium_pricing_list_item_text' => __( 'List Item #1', 'premium-addons-for-elementor' ),
|
224 |
+
],
|
225 |
+
[
|
226 |
+
'premium_pricing_list_item_icon' => 'fa fa-check',
|
227 |
+
'premium_pricing_list_item_text' => __( 'List Item #2', 'premium-addons-for-elementor' ),
|
228 |
+
],
|
229 |
+
[
|
230 |
+
'premium_pricing_list_item_icon' => 'fa fa-check',
|
231 |
+
'premium_pricing_list_item_text' => __( 'List Item #3', 'premium-addons-for-elementor' ),
|
232 |
+
],
|
233 |
+
],
|
234 |
+
'fields' => array_values( $repeater->get_controls() ),
|
235 |
+
'title_field' => '<i class="{{ premium_pricing_list_item_icon }}" aria-hidden="true"></i> {{{ premium_pricing_list_item_text }}}'
|
236 |
+
]
|
237 |
+
);
|
|
|
|
|
|
|
|
|
238 |
|
239 |
$this->add_responsive_control('premium_pricing_table_list_align',
|
240 |
[
|
1875 |
} elseif ($link_type == 'url') {
|
1876 |
$link_url = $settings['premium_pricing_table_button_link'];
|
1877 |
}
|
1878 |
+
|
1879 |
+
if( 'yes' === $settings['premium_pricing_table_icon_switcher'] ) {
|
1880 |
+
if ( ! empty ( $settings['premium_pricing_table_icon_selection'] ) ) {
|
1881 |
+
$this->add_render_attribute( 'icon', 'class', $settings['premium_pricing_table_icon_selection'] );
|
1882 |
+
$this->add_render_attribute( 'icon', 'aria-hidden', 'true' );
|
1883 |
+
}
|
1884 |
+
|
1885 |
+
$migrated = isset( $settings['__fa4_migrated']['premium_pricing_table_icon_selection_updated'] );
|
1886 |
+
$is_new = empty( $settings['premium_pricing_table_icon_selection'] ) && Icons_Manager::is_migration_allowed();
|
1887 |
+
}
|
1888 |
+
|
1889 |
+
?>
|
1890 |
|
1891 |
+
<div class="premium-pricing-table-container">
|
1892 |
+
<?php if($settings['premium_pricing_table_badge_switcher']) : ?>
|
1893 |
+
<div class="premium-pricing-badge-container <?php echo esc_attr($badge_position); ?>">
|
1894 |
+
<div class="corner"><span><?php echo $settings['premium_pricing_table_badge_text']; ?></span></div>
|
1895 |
+
</div>
|
1896 |
+
<?php endif;
|
1897 |
+
if( $settings['premium_pricing_table_icon_switcher'] == 'yes' ) : ?>
|
1898 |
+
<div class="premium-pricing-icon-container">
|
1899 |
+
<?php if ( $is_new || $migrated ) :
|
1900 |
+
Icons_Manager::render_icon( $settings['premium_pricing_table_icon_selection_updated'], [ 'aria-hidden' => 'true' ] );
|
1901 |
+
else: ?>
|
1902 |
+
<i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
|
1903 |
+
<?php endif; ?>
|
1904 |
+
</div>
|
1905 |
+
<?php endif;
|
1906 |
+
if( $settings['premium_pricing_table_title_switcher'] == 'yes') : ?>
|
1907 |
+
<<?php echo $title_tag;?> class="premium-pricing-table-title"><span <?php echo $this->get_render_attribute_string('title_text'); ?>><?php echo $settings['premium_pricing_table_title_text'];?></span></<?php echo $title_tag;?>><?php endif; ?>
|
1908 |
+
<?php if($settings['premium_pricing_table_price_switcher'] == 'yes') : ?>
|
1909 |
+
<div class="premium-pricing-price-container">
|
1910 |
+
<strike class="premium-pricing-slashed-price-value">
|
1911 |
+
<?php echo $settings['premium_pricing_table_slashed_price_value']; ?>
|
1912 |
+
</strike>
|
1913 |
+
<span class="premium-pricing-price-currency">
|
1914 |
+
<?php echo $settings['premium_pricing_table_price_currency']; ?>
|
1915 |
+
</span>
|
1916 |
+
<span class="premium-pricing-price-value">
|
1917 |
+
<?php echo $settings['premium_pricing_table_price_value']; ?>
|
1918 |
+
</span>
|
1919 |
+
<span class="premium-pricing-price-separator">
|
1920 |
+
<?php echo $settings['premium_pricing_table_price_separator']; ?>
|
1921 |
+
</span>
|
1922 |
+
<span class="premium-pricing-price-duration">
|
1923 |
+
<?php echo $settings['premium_pricing_table_price_duration']; ?>
|
1924 |
+
</span>
|
1925 |
</div>
|
1926 |
+
<?php endif;
|
1927 |
+
if( 'yes' === $settings['premium_pricing_table_list_switcher'] ) : ?>
|
1928 |
+
<div class="premium-pricing-list-container">
|
1929 |
+
<ul class="premium-pricing-list">
|
1930 |
+
<?php foreach( $settings['premium_fancy_text_list_items'] as $item ):
|
1931 |
+
$icon_migrated = isset( $item['__fa4_migrated']['premium_pricing_list_item_icon_updated'] );
|
1932 |
+
$icon_new = empty( $item['premium_pricing_list_item_icon'] ) && Icons_Manager::is_migration_allowed();
|
1933 |
+
?>
|
1934 |
+
<li>
|
1935 |
+
<?php if ( $icon_new || $icon_migrated ) :
|
1936 |
+
Icons_Manager::render_icon( $item['premium_pricing_list_item_icon_updated'], [ 'aria-hidden' => 'true' ] );
|
1937 |
+
else: ?>
|
1938 |
+
<i class="<?php echo $item['premium_pricing_list_item_icon']; ?>"></i>
|
1939 |
+
<?php endif; ?>
|
1940 |
+
<span class="premium-pricing-list-span"><?php echo esc_html( $item['premium_pricing_list_item_text'] ); ?></span>
|
1941 |
+
</li>
|
1942 |
+
<?php endforeach; ?>
|
1943 |
+
</ul>
|
1944 |
+
</div>
|
1945 |
<?php endif; ?>
|
1946 |
+
<?php if($settings['premium_pricing_table_description_switcher'] == 'yes') : ?>
|
1947 |
+
<div class="premium-pricing-description-container">
|
1948 |
+
<div <?php echo $this->get_render_attribute_string('description_text'); ?>>
|
1949 |
+
<?php echo $settings['premium_pricing_table_description_text']; ?>
|
1950 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1951 |
</div>
|
1952 |
+
<?php endif; ?>
|
1953 |
+
<?php if($settings['premium_pricing_table_button_switcher'] == 'yes') : ?>
|
1954 |
+
<div class="premium-pricing-button-container">
|
1955 |
+
<a class="premium-pricing-price-button" target="_<?php echo esc_attr( $settings['premium_pricing_table_button_link_target'] ); ?>" href="<?php echo esc_url( $link_url ); ?>">
|
1956 |
+
<span <?php echo $this->get_render_attribute_string('button_text'); ?>><?php echo $settings['premium_pricing_table_button_text']; ?></span>
|
1957 |
+
</a>
|
1958 |
+
</div>
|
1959 |
+
<?php endif; ?>
|
1960 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1961 |
|
1962 |
<?php
|
1963 |
}
|
1976 |
linkType = settings.premium_pricing_table_button_url_type,
|
1977 |
badgePosition = 'premium-badge-' + settings.premium_pricing_table_badge_position,
|
1978 |
linkURL = 'link' === linkType ? settings.premium_pricing_table_button_link_existing_content : settings.premium_pricing_table_button_link;
|
1979 |
+
|
1980 |
+
if( 'yes' === settings.premium_pricing_table_icon_switcher ) {
|
1981 |
+
var iconHTML = elementor.helpers.renderIcon( view, settings.premium_pricing_table_icon_selection_updated, { 'aria-hidden': true }, 'i' , 'object' ),
|
1982 |
+
migrated = elementor.helpers.isIconMigrated( settings, 'premium_pricing_table_icon_selection_updated' );
|
1983 |
+
}
|
1984 |
+
|
1985 |
|
1986 |
#>
|
1987 |
|
1991 |
<div class="corner"><span>{{{ settings.premium_pricing_table_badge_text }}}</span></div>
|
1992 |
</div>
|
1993 |
<# } #>
|
1994 |
+
<# if( 'yes' === settings.premium_pricing_table_icon_switcher ) { #>
|
1995 |
+
<div class="premium-pricing-icon-container">
|
1996 |
+
<# if ( iconHTML && iconHTML.rendered && ( ! settings.premium_pricing_table_icon_selection || migrated ) ) { #>
|
1997 |
+
{{{ iconHTML.value }}}
|
1998 |
+
<# } else { #>
|
1999 |
+
<i class="{{ settings.premium_pricing_table_icon_selection }}" aria-hidden="true"></i>
|
2000 |
+
<# } #>
|
2001 |
+
</div>
|
2002 |
<# } #>
|
2003 |
<# if('yes' === settings.premium_pricing_table_title_switcher ) { #>
|
2004 |
<{{{titleTag}}} class="premium-pricing-table-title"><span {{{ view.getRenderAttributeString('title_text') }}}>{{{ settings.premium_pricing_table_title_text }}}</span></{{{titleTag}}}>
|
2016 |
<# if('yes' === settings.premium_pricing_table_list_switcher ) { #>
|
2017 |
<div class="premium-pricing-list-container">
|
2018 |
<ul class="premium-pricing-list">
|
2019 |
+
<# _.each( settings.premium_fancy_text_list_items, function( item ) {
|
2020 |
+
|
2021 |
+
var listIconHTML = elementor.helpers.renderIcon( view, item.premium_pricing_list_item_icon_updated, { 'aria-hidden': true }, 'i' , 'object' ),
|
2022 |
+
listIconMigrated = elementor.helpers.isIconMigrated( item, 'premium_pricing_list_item_icon_updated' );
|
2023 |
+
|
2024 |
+
#>
|
2025 |
<li>
|
2026 |
+
<# if ( listIconHTML && listIconHTML.rendered && ( ! item.premium_pricing_list_item_icon || listIconMigrated ) ) { #>
|
2027 |
+
{{{ listIconHTML.value }}}
|
2028 |
+
<# } else { #>
|
2029 |
+
<i class="{{ item.premium_pricing_list_item_icon }}" aria-hidden="true"></i>
|
2030 |
+
<# } #>
|
2031 |
<span class="premium-pricing-list-span">{{{ item.premium_pricing_list_item_text }}}</span>
|
2032 |
</li>
|
2033 |
<# } ); #>
|
widgets/premium-title.php
CHANGED
@@ -4,6 +4,7 @@ namespace PremiumAddons\Widgets;
|
|
4 |
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use Elementor\Widget_Base;
|
|
|
7 |
use Elementor\Controls_Manager;
|
8 |
use Elementor\Scheme_Color;
|
9 |
use Elementor\Scheme_Typography;
|
@@ -79,7 +80,6 @@ class Premium_Title extends Widget_Base {
|
|
79 |
]
|
80 |
);
|
81 |
|
82 |
-
/*Icon Switcher*/
|
83 |
$this->add_control('premium_title_icon_switcher',
|
84 |
[
|
85 |
'label' => __('Icon', 'premium-addons-for-elementor'),
|
@@ -87,11 +87,15 @@ class Premium_Title extends Widget_Base {
|
|
87 |
]
|
88 |
);
|
89 |
|
90 |
-
|
91 |
-
$this->add_control('premium_title_icon',
|
92 |
[
|
93 |
'label' => __('Font Awesome Icon', 'premium-addons-for-elementor'),
|
94 |
-
'type' => Controls_Manager::
|
|
|
|
|
|
|
|
|
|
|
95 |
'label_block' => true,
|
96 |
'condition' => [
|
97 |
'premium_title_icon_switcher' => 'yes',
|
@@ -99,7 +103,6 @@ class Premium_Title extends Widget_Base {
|
|
99 |
]
|
100 |
);
|
101 |
|
102 |
-
/*Title HTML TAG*/
|
103 |
$this->add_control('premium_title_tag',
|
104 |
[
|
105 |
'label' => __('HTML Tag', 'premium-addons-for-elementor'),
|
@@ -166,8 +169,7 @@ class Premium_Title extends Widget_Base {
|
|
166 |
]
|
167 |
);
|
168 |
|
169 |
-
|
170 |
-
$this->add_control('premium_title_style7_strip_height',
|
171 |
[
|
172 |
'label' => __('Stripe Height (PX)', 'premium-addons-for-elementor'),
|
173 |
'type' => Controls_Manager::SLIDER,
|
@@ -186,8 +188,7 @@ class Premium_Title extends Widget_Base {
|
|
186 |
]
|
187 |
);
|
188 |
|
189 |
-
|
190 |
-
$this->add_control('premium_title_style7_strip_top_spacing',
|
191 |
[
|
192 |
'label' => __('Stripe Top Spacing (PX)', 'premium-addons-for-elementor'),
|
193 |
'type' => Controls_Manager::SLIDER,
|
@@ -202,8 +203,7 @@ class Premium_Title extends Widget_Base {
|
|
202 |
]
|
203 |
);
|
204 |
|
205 |
-
|
206 |
-
$this->add_control('premium_title_style7_strip_bottom_spacing',
|
207 |
[
|
208 |
'label' => __('Stripe Bottom Spacing (PX)', 'premium-addons-for-elementor'),
|
209 |
'type' => Controls_Manager::SLIDER,
|
@@ -572,6 +572,16 @@ class Premium_Title extends Widget_Base {
|
|
572 |
$this->add_render_attribute( 'container', 'class', [ 'premium-title-container', $selected_style ] );
|
573 |
|
574 |
$this->add_render_attribute( 'title', 'class', [ 'premium-title-header', 'premium-title-' . $selected_style ] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
575 |
?>
|
576 |
|
577 |
<div <?php echo $this->get_render_attribute_string('container'); ?>>
|
@@ -581,9 +591,13 @@ class Premium_Title extends Widget_Base {
|
|
581 |
<span class="premium-title-style7-stripe"></span>
|
582 |
</span>
|
583 |
<?php endif; ?>
|
584 |
-
<?php if(
|
585 |
-
|
586 |
-
|
|
|
|
|
|
|
|
|
587 |
<span <?php echo $this->get_render_attribute_string('premium_title_text'); ?>>
|
588 |
<?php echo esc_html( $settings['premium_title_text'] ); ?>
|
589 |
</span>
|
@@ -613,7 +627,12 @@ class Premium_Title extends Widget_Base {
|
|
613 |
|
614 |
view.addRenderAttribute( 'premium_title', 'class', [ 'premium-title-header', 'premium-title-' + selectedStyle ] );
|
615 |
|
616 |
-
view.addRenderAttribute( '
|
|
|
|
|
|
|
|
|
|
|
617 |
|
618 |
#>
|
619 |
<div {{{ view.getRenderAttributeString('premium_title_container') }}}>
|
@@ -623,9 +642,13 @@ class Premium_Title extends Widget_Base {
|
|
623 |
<span class="premium-title-style7-stripe"></span>
|
624 |
</span>
|
625 |
<# }
|
626 |
-
if( '
|
627 |
-
|
628 |
-
|
|
|
|
|
|
|
|
|
629 |
<span {{{ view.getRenderAttributeString('premium_title_text') }}}>{{{ titleText }}}</span>
|
630 |
</{{{titleTag}}}>
|
631 |
</div>
|
4 |
|
5 |
use PremiumAddons\Helper_Functions;
|
6 |
use Elementor\Widget_Base;
|
7 |
+
use Elementor\Icons_Manager;
|
8 |
use Elementor\Controls_Manager;
|
9 |
use Elementor\Scheme_Color;
|
10 |
use Elementor\Scheme_Typography;
|
80 |
]
|
81 |
);
|
82 |
|
|
|
83 |
$this->add_control('premium_title_icon_switcher',
|
84 |
[
|
85 |
'label' => __('Icon', 'premium-addons-for-elementor'),
|
87 |
]
|
88 |
);
|
89 |
|
90 |
+
$this->add_control('premium_title_icon_updated',
|
|
|
91 |
[
|
92 |
'label' => __('Font Awesome Icon', 'premium-addons-for-elementor'),
|
93 |
+
'type' => Controls_Manager::ICONS,
|
94 |
+
'fa4compatibility' => 'premium_title_icon',
|
95 |
+
'default' => [
|
96 |
+
'value' => 'fas fa-bars',
|
97 |
+
'library' => 'fa-solid',
|
98 |
+
],
|
99 |
'label_block' => true,
|
100 |
'condition' => [
|
101 |
'premium_title_icon_switcher' => 'yes',
|
103 |
]
|
104 |
);
|
105 |
|
|
|
106 |
$this->add_control('premium_title_tag',
|
107 |
[
|
108 |
'label' => __('HTML Tag', 'premium-addons-for-elementor'),
|
169 |
]
|
170 |
);
|
171 |
|
172 |
+
$this->add_responsive_control('premium_title_style7_strip_height',
|
|
|
173 |
[
|
174 |
'label' => __('Stripe Height (PX)', 'premium-addons-for-elementor'),
|
175 |
'type' => Controls_Manager::SLIDER,
|
188 |
]
|
189 |
);
|
190 |
|
191 |
+
$this->add_responsive_control('premium_title_style7_strip_top_spacing',
|
|
|
192 |
[
|
193 |
'label' => __('Stripe Top Spacing (PX)', 'premium-addons-for-elementor'),
|
194 |
'type' => Controls_Manager::SLIDER,
|
203 |
]
|
204 |
);
|
205 |
|
206 |
+
$this->add_responsive_control('premium_title_style7_strip_bottom_spacing',
|
|
|
207 |
[
|
208 |
'label' => __('Stripe Bottom Spacing (PX)', 'premium-addons-for-elementor'),
|
209 |
'type' => Controls_Manager::SLIDER,
|
572 |
$this->add_render_attribute( 'container', 'class', [ 'premium-title-container', $selected_style ] );
|
573 |
|
574 |
$this->add_render_attribute( 'title', 'class', [ 'premium-title-header', 'premium-title-' . $selected_style ] );
|
575 |
+
|
576 |
+
if( 'yes' === $settings['premium_title_icon_switcher'] ) {
|
577 |
+
if ( ! empty ( $settings['premium_title_icon'] ) ) {
|
578 |
+
$this->add_render_attribute( 'icon', 'class', $settings['premium_title_icon'] );
|
579 |
+
$this->add_render_attribute( 'icon', 'aria-hidden', 'true' );
|
580 |
+
}
|
581 |
+
|
582 |
+
$migrated = isset( $settings['__fa4_migrated']['premium_title_icon_updated'] );
|
583 |
+
$is_new = empty( $settings['premium_title_icon'] ) && Icons_Manager::is_migration_allowed();
|
584 |
+
}
|
585 |
?>
|
586 |
|
587 |
<div <?php echo $this->get_render_attribute_string('container'); ?>>
|
591 |
<span class="premium-title-style7-stripe"></span>
|
592 |
</span>
|
593 |
<?php endif; ?>
|
594 |
+
<?php if( 'yes' === $settings['premium_title_icon_switcher'] ) :
|
595 |
+
if ( $is_new || $migrated ) :
|
596 |
+
Icons_Manager::render_icon( $settings['premium_title_icon_updated'], [ 'class' => 'premium-title-icon', 'aria-hidden' => 'true' ] );
|
597 |
+
else: ?>
|
598 |
+
<i <?php echo $this->get_render_attribute_string( 'icon' ); ?>></i>
|
599 |
+
<?php endif;
|
600 |
+
endif; ?>
|
601 |
<span <?php echo $this->get_render_attribute_string('premium_title_text'); ?>>
|
602 |
<?php echo esc_html( $settings['premium_title_text'] ); ?>
|
603 |
</span>
|
627 |
|
628 |
view.addRenderAttribute( 'premium_title', 'class', [ 'premium-title-header', 'premium-title-' + selectedStyle ] );
|
629 |
|
630 |
+
view.addRenderAttribute( 'icon', 'class', [ 'premium-title-icon', titleIcon ] );
|
631 |
+
|
632 |
+
if( 'yes' === settings.premium_title_icon_switcher ) {
|
633 |
+
var iconHTML = elementor.helpers.renderIcon( view, settings.premium_title_icon_updated, { 'class': 'premium-title-icon', 'aria-hidden': true }, 'i' , 'object' ),
|
634 |
+
migrated = elementor.helpers.isIconMigrated( settings, 'premium_title_icon_updated' );
|
635 |
+
}
|
636 |
|
637 |
#>
|
638 |
<div {{{ view.getRenderAttributeString('premium_title_container') }}}>
|
642 |
<span class="premium-title-style7-stripe"></span>
|
643 |
</span>
|
644 |
<# }
|
645 |
+
if( 'yes' === settings.premium_title_icon_switcher ) {
|
646 |
+
if ( iconHTML && iconHTML.rendered && ( ! settings.premium_title_icon || migrated ) ) { #>
|
647 |
+
{{{ iconHTML.value }}}
|
648 |
+
<# } else { #>
|
649 |
+
<i {{{ view.getRenderAttributeString( 'icon' ) }}}></i>
|
650 |
+
<# }
|
651 |
+
} #>
|
652 |
<span {{{ view.getRenderAttributeString('premium_title_text') }}}>{{{ titleText }}}</span>
|
653 |
</{{{titleTag}}}>
|
654 |
</div>
|
widgets/premium-vscroll.php
CHANGED
@@ -329,6 +329,16 @@ class Premium_Vscroll extends Widget_Base {
|
|
329 |
]
|
330 |
);
|
331 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
$this->end_controls_section();
|
333 |
|
334 |
$this->start_controls_section('navigation_style',
|
@@ -786,6 +796,7 @@ class Premium_Vscroll extends Widget_Base {
|
|
786 |
'dotsVPos' => $settings['navigation_dots_v_pos'],
|
787 |
'fullSection' => 'yes' == $settings['full_section'] ? true : false,
|
788 |
'fullTouch' => 'yes' == $settings['full_section_touch'] ? true : false,
|
|
|
789 |
'addToHistory' => 'yes' == $settings['save_state'] ? true : false
|
790 |
];
|
791 |
|
329 |
]
|
330 |
);
|
331 |
|
332 |
+
$this->add_control('overflow_touch',
|
333 |
+
[
|
334 |
+
'label' => __('Show overflow content', 'premium-addons-for-elementor'),
|
335 |
+
'type' => Controls_Manager::SWITCHER,
|
336 |
+
'condition' => [
|
337 |
+
'full_section_touch' => 'yes'
|
338 |
+
]
|
339 |
+
]
|
340 |
+
);
|
341 |
+
|
342 |
$this->end_controls_section();
|
343 |
|
344 |
$this->start_controls_section('navigation_style',
|
796 |
'dotsVPos' => $settings['navigation_dots_v_pos'],
|
797 |
'fullSection' => 'yes' == $settings['full_section'] ? true : false,
|
798 |
'fullTouch' => 'yes' == $settings['full_section_touch'] ? true : false,
|
799 |
+
'showOverflow' => 'yes' == $settings['overflow_touch'] ? true : false,
|
800 |
'addToHistory' => 'yes' == $settings['save_state'] ? true : false
|
801 |
];
|
802 |
|