Version Description
- Tweak: Two effects added in Fancy Text widget.
- Tweak: Improved Vimeo videos methods in Video Box widget.
Download this release
Release Info
Developer | leap13 |
Plugin | Premium Addons for Elementor |
Version | 3.10.3 |
Comparing to | |
See all releases |
Code changes from version 3.10.2 to 3.10.3
- assets/frontend/css/premium-addons.css +210 -0
- assets/frontend/js/premium-addons.js +62 -18
- premium-addons-for-elementor.php +3 -3
- readme.txt +6 -1
- widgets/premium-fancytext.php +147 -91
- widgets/premium-videobox.php +7 -0
assets/frontend/css/premium-addons.css
CHANGED
@@ -2418,6 +2418,216 @@ ul.premium-person-social-list {
|
|
2418 |
.premium-fancy-text-wrapper .premium-fancy-text-span-align {
|
2419 |
vertical-align: top;
|
2420 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2421 |
/**************** Premium Pricing Table ****************/
|
2422 |
/*******************************************************/
|
2423 |
/*Pricing Table Container Div Style*/
|
2418 |
.premium-fancy-text-wrapper .premium-fancy-text-span-align {
|
2419 |
vertical-align: top;
|
2420 |
}
|
2421 |
+
.premium-fancy-text-wrapper:not(.typing):not(.slide) .premium-fancy-text-items-wrapper {
|
2422 |
+
margin: 0;
|
2423 |
+
padding: 0;
|
2424 |
+
border: none;
|
2425 |
+
position: relative;
|
2426 |
+
}
|
2427 |
+
.premium-fancy-text-wrapper:not(.typing):not(.slide) .premium-fancy-list-items {
|
2428 |
+
position: absolute;
|
2429 |
+
top: 0;
|
2430 |
+
left: 0;
|
2431 |
+
display: inline-block;
|
2432 |
+
}
|
2433 |
+
.premium-fancy-text-wrapper.zoomout .premium-fancy-item-hidden {
|
2434 |
+
opacity: 0;
|
2435 |
+
-webkit-animation: pa-zoom-out .8s;
|
2436 |
+
animation: pa-zoom-out .8s;
|
2437 |
+
}
|
2438 |
+
.premium-fancy-text-wrapper.zoomout .premium-fancy-item-visible {
|
2439 |
+
position: relative !important;
|
2440 |
+
-webkit-animation: pa-zoom-in .8s;
|
2441 |
+
animation: pa-zoom-in .8s;
|
2442 |
+
}
|
2443 |
+
.premium-fancy-text-wrapper.zoomout .premium-fancy-text-items-wrapper {
|
2444 |
+
-webkit-perspective: 300px;
|
2445 |
+
perspective: 300px;
|
2446 |
+
}
|
2447 |
+
.premium-fancy-text-wrapper.rotate .premium-fancy-list-items {
|
2448 |
+
-webkit-transform-origin: 50% 100%;
|
2449 |
+
-ms-transform-origin: 50% 100%;
|
2450 |
+
transform-origin: 50% 100%;
|
2451 |
+
}
|
2452 |
+
.premium-fancy-text-wrapper.rotate .premium-fancy-item-hidden {
|
2453 |
+
opacity: 0;
|
2454 |
+
-webkit-transform: rotateX(180deg);
|
2455 |
+
-moz-transform: rotateX(180deg);
|
2456 |
+
-ms-transform: rotateX(180deg);
|
2457 |
+
transform: rotateX(180deg);
|
2458 |
+
-webkit-animation: pa-rotate-out 1.2s;
|
2459 |
+
animation: pa-rotate-out 1.2s;
|
2460 |
+
}
|
2461 |
+
.premium-fancy-text-wrapper.rotate .premium-fancy-item-visible {
|
2462 |
+
position: relative !important;
|
2463 |
+
-webkit-transform: rotateX(0deg);
|
2464 |
+
-moz-transform: rotateX(0deg);
|
2465 |
+
-ms-transform: rotateX(0deg);
|
2466 |
+
transform: rotateX(0deg);
|
2467 |
+
-webkit-animation: pa-rotate-in 1.2s;
|
2468 |
+
animation: pa-rotate-in 1.2s;
|
2469 |
+
}
|
2470 |
+
.premium-fancy-text-wrapper.bar .premium-fancy-text-items-wrapper::after {
|
2471 |
+
position: absolute;
|
2472 |
+
content: '';
|
2473 |
+
left: 0;
|
2474 |
+
bottom: 0;
|
2475 |
+
width: 0;
|
2476 |
+
height: 3px;
|
2477 |
+
background: #000;
|
2478 |
+
}
|
2479 |
+
.premium-fancy-text-wrapper.bar .premium-fancy-text-items-wrapper.active::after {
|
2480 |
+
width: 100%;
|
2481 |
+
-webkit-transition: width 3s ease-in-out;
|
2482 |
+
-moz-transition: width 3s ease-in-out;
|
2483 |
+
-ms-transition: width 3s ease-in-out;
|
2484 |
+
transition: width 3s ease-in-out;
|
2485 |
+
}
|
2486 |
+
.premium-fancy-text-wrapper.bar .premium-fancy-list-items {
|
2487 |
+
opacity: 0;
|
2488 |
+
}
|
2489 |
+
.premium-fancy-text-wrapper.bar .premium-fancy-item-visible {
|
2490 |
+
opacity: 1;
|
2491 |
+
-webkit-transition: opacity 2s ease-in-out;
|
2492 |
+
-moz-transition: opacity 2s ease-in-out;
|
2493 |
+
-ms-transition: opacity 2s ease-in-out;
|
2494 |
+
transition: opacity 2s ease-in-out;
|
2495 |
+
position: relative !important;
|
2496 |
+
}
|
2497 |
+
@-webkit-keyframes pa-zoom-in {
|
2498 |
+
0% {
|
2499 |
+
opacity: 0;
|
2500 |
+
-webkit-transform: translateZ(100px);
|
2501 |
+
transform: translateZ(100px);
|
2502 |
+
}
|
2503 |
+
100% {
|
2504 |
+
opacity: 1;
|
2505 |
+
-webkit-transform: translateZ(0);
|
2506 |
+
transform: translateZ(0);
|
2507 |
+
}
|
2508 |
+
}
|
2509 |
+
|
2510 |
+
@keyframes pa-zoom-in {
|
2511 |
+
0% {
|
2512 |
+
opacity: 0;
|
2513 |
+
-webkit-transform: translateZ(100px);
|
2514 |
+
transform: translateZ(100px);
|
2515 |
+
}
|
2516 |
+
100% {
|
2517 |
+
opacity: 1;
|
2518 |
+
-webkit-transform: translateZ(0);
|
2519 |
+
transform: translateZ(0);
|
2520 |
+
}
|
2521 |
+
}
|
2522 |
+
|
2523 |
+
@-webkit-keyframes pa-zoom-out {
|
2524 |
+
0% {
|
2525 |
+
opacity: 1;
|
2526 |
+
-webkit-transform: translateZ(0);
|
2527 |
+
transform: translateZ(0);
|
2528 |
+
}
|
2529 |
+
100% {
|
2530 |
+
opacity: 0;
|
2531 |
+
-webkit-transform: translateZ(-100px);
|
2532 |
+
transform: translateZ(-100px);
|
2533 |
+
}
|
2534 |
+
}
|
2535 |
+
|
2536 |
+
@keyframes pa-zoom-out {
|
2537 |
+
0% {
|
2538 |
+
opacity: 1;
|
2539 |
+
-webkit-transform: translateZ(0);
|
2540 |
+
transform: translateZ(0);
|
2541 |
+
}
|
2542 |
+
100% {
|
2543 |
+
opacity: 0;
|
2544 |
+
-webkit-transform: translateZ(-100px);
|
2545 |
+
transform: translateZ(-100px);
|
2546 |
+
}
|
2547 |
+
}
|
2548 |
+
@-webkit-keyframes pa-rotate-in {
|
2549 |
+
0% {
|
2550 |
+
opacity: 0;
|
2551 |
+
-webkit-transform: rotateX(180deg);
|
2552 |
+
transform: rotateX(180deg);
|
2553 |
+
}
|
2554 |
+
35% {
|
2555 |
+
opacity: 0;
|
2556 |
+
-webkit-transform: rotateX(120deg);
|
2557 |
+
transform: rotateX(120deg);
|
2558 |
+
}
|
2559 |
+
65% {
|
2560 |
+
opacity: 0;
|
2561 |
+
}
|
2562 |
+
100% {
|
2563 |
+
opacity: 1;
|
2564 |
+
-webkit-transform: rotateX(360deg);
|
2565 |
+
transform: rotateX(360deg);
|
2566 |
+
}
|
2567 |
+
}
|
2568 |
+
|
2569 |
+
@keyframes pa-rotate-in {
|
2570 |
+
0% {
|
2571 |
+
opacity: 0;
|
2572 |
+
-webkit-transform: rotateX(180deg);
|
2573 |
+
transform: rotateX(180deg);
|
2574 |
+
}
|
2575 |
+
35% {
|
2576 |
+
opacity: 0;
|
2577 |
+
-webkit-transform: rotateX(120deg);
|
2578 |
+
transform: rotateX(120deg);
|
2579 |
+
}
|
2580 |
+
65% {
|
2581 |
+
opacity: 0;
|
2582 |
+
}
|
2583 |
+
100% {
|
2584 |
+
opacity: 1;
|
2585 |
+
-webkit-transform: rotateX(360deg);
|
2586 |
+
transform: rotateX(360deg);
|
2587 |
+
}
|
2588 |
+
}
|
2589 |
+
|
2590 |
+
@-webkit-keyframes pa-rotate-out {
|
2591 |
+
0% {
|
2592 |
+
opacity: 1;
|
2593 |
+
-webkit-transform: rotateX(0deg);
|
2594 |
+
transform: rotateX(0deg);
|
2595 |
+
}
|
2596 |
+
35% {
|
2597 |
+
opacity: 1;
|
2598 |
+
-webkit-transform: rotateX(-40deg);
|
2599 |
+
transform: rotateX(-40deg);
|
2600 |
+
}
|
2601 |
+
65% {
|
2602 |
+
opacity: 0;
|
2603 |
+
}
|
2604 |
+
100% {
|
2605 |
+
opacity: 0;
|
2606 |
+
-webkit-transform: rotateX(180deg);
|
2607 |
+
transform: rotateX(180deg);
|
2608 |
+
}
|
2609 |
+
}
|
2610 |
+
|
2611 |
+
@keyframes pa-rotate-out {
|
2612 |
+
0% {
|
2613 |
+
opacity: 1;
|
2614 |
+
-webkit-transform: rotateX(0deg);
|
2615 |
+
transform: rotateX(0deg);
|
2616 |
+
}
|
2617 |
+
35% {
|
2618 |
+
opacity: 1;
|
2619 |
+
-webkit-transform: rotateX(-40deg);
|
2620 |
+
transform: rotateX(-40deg);
|
2621 |
+
}
|
2622 |
+
65% {
|
2623 |
+
opacity: 0;
|
2624 |
+
}
|
2625 |
+
100% {
|
2626 |
+
opacity: 0;
|
2627 |
+
-webkit-transform: rotateX(180deg);
|
2628 |
+
transform: rotateX(180deg);
|
2629 |
+
}
|
2630 |
+
}
|
2631 |
/**************** Premium Pricing Table ****************/
|
2632 |
/*******************************************************/
|
2633 |
/*Pricing Table Container Div Style*/
|
assets/frontend/js/premium-addons.js
CHANGED
@@ -304,8 +304,8 @@
|
|
304 |
|
305 |
/****** Premium Fancy Text Handler ******/
|
306 |
var PremiumFancyTextHandler = function($scope, $) {
|
307 |
-
var
|
308 |
-
var
|
309 |
function escapeHtml(unsafe) {
|
310 |
return unsafe
|
311 |
.replace(/&/g, "&")
|
@@ -314,29 +314,73 @@
|
|
314 |
.replace(/"/g, """)
|
315 |
.replace(/'/g, "'");
|
316 |
}
|
317 |
-
if (
|
318 |
var fancyStrings = [];
|
319 |
-
|
320 |
fancyStrings.push(escapeHtml(item));
|
321 |
});
|
322 |
-
|
323 |
strings: fancyStrings,
|
324 |
-
typeSpeed:
|
325 |
-
backSpeed:
|
326 |
-
startDelay:
|
327 |
-
backDelay:
|
328 |
-
showCursor:
|
329 |
-
cursorChar:
|
330 |
-
loop:
|
331 |
});
|
332 |
-
} else {
|
333 |
-
|
334 |
-
speed:
|
335 |
-
showItems:
|
336 |
-
pause:
|
337 |
-
mousePause:
|
338 |
direction: "up"
|
339 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
}
|
341 |
};
|
342 |
|
304 |
|
305 |
/****** Premium Fancy Text Handler ******/
|
306 |
var PremiumFancyTextHandler = function($scope, $) {
|
307 |
+
var $elem = $scope.find(".premium-fancy-text-wrapper");
|
308 |
+
var settings = $elem.data("settings");
|
309 |
function escapeHtml(unsafe) {
|
310 |
return unsafe
|
311 |
.replace(/&/g, "&")
|
314 |
.replace(/"/g, """)
|
315 |
.replace(/'/g, "'");
|
316 |
}
|
317 |
+
if ( settings["effect"] === "typing" ) {
|
318 |
var fancyStrings = [];
|
319 |
+
settings["strings"].forEach(function(item) {
|
320 |
fancyStrings.push(escapeHtml(item));
|
321 |
});
|
322 |
+
$elem.find(".premium-fancy-text").typed({
|
323 |
strings: fancyStrings,
|
324 |
+
typeSpeed: settings["typeSpeed"],
|
325 |
+
backSpeed: settings["backSpeed"],
|
326 |
+
startDelay: settings["startDelay"],
|
327 |
+
backDelay: settings["backDelay"],
|
328 |
+
showCursor: settings["showCursor"],
|
329 |
+
cursorChar: settings["cursorChar"],
|
330 |
+
loop: settings["loop"]
|
331 |
});
|
332 |
+
} else if ( settings["effect"] === "slide" ) {
|
333 |
+
$elem.find(".premium-fancy-text").vTicker({
|
334 |
+
speed: settings["speed"],
|
335 |
+
showItems: settings["showItems"],
|
336 |
+
pause: settings["pause"],
|
337 |
+
mousePause: settings["mousePause"],
|
338 |
direction: "up"
|
339 |
});
|
340 |
+
} else {
|
341 |
+
|
342 |
+
setFancyAnimation();
|
343 |
+
|
344 |
+
function setFancyAnimation() {
|
345 |
+
|
346 |
+
var effect = settings.effect,
|
347 |
+
$item = $elem.find(".premium-fancy-list-items"),
|
348 |
+
current = 0;
|
349 |
+
|
350 |
+
var delay = ( settings.delay || 2.5 ) * 1000;
|
351 |
+
|
352 |
+
if( "bar" === effect )
|
353 |
+
$elem.find( ".premium-fancy-text-items-wrapper" ).addClass("active");
|
354 |
+
|
355 |
+
setInterval( function() {
|
356 |
+
|
357 |
+
// $elem.find( ".premium-fancy-text-items-wrapper" ).css("width", $item.eq( current ).outerWidth() );
|
358 |
+
|
359 |
+
if( "bar" === effect )
|
360 |
+
$elem.find( ".premium-fancy-text-items-wrapper" ).addClass("active");
|
361 |
+
|
362 |
+
$item.eq( current ).addClass( "premium-fancy-item-visible" ).removeClass( "premium-fancy-item-hidden" );
|
363 |
+
|
364 |
+
var $inactiveItems = $item.filter(function (index) {
|
365 |
+
return index !== current;
|
366 |
+
});
|
367 |
+
|
368 |
+
$inactiveItems.addClass( "premium-fancy-item-hidden" ).removeClass( "premium-fancy-item-visible" );
|
369 |
+
current++;
|
370 |
+
|
371 |
+
if( $item.length === current )
|
372 |
+
current = 0;
|
373 |
+
|
374 |
+
if( "bar" === effect ) {
|
375 |
+
setTimeout( function() {
|
376 |
+
$elem.find( ".premium-fancy-text-items-wrapper" ).removeClass("active");
|
377 |
+
}, delay - 100 );
|
378 |
+
}
|
379 |
+
|
380 |
+
}, delay );
|
381 |
+
|
382 |
+
}
|
383 |
+
|
384 |
}
|
385 |
};
|
386 |
|
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.10.
|
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.10.
|
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.10.
|
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.10.3
|
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.10.3');
|
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.10.2');
|
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.3
|
7 |
Requires PHP: 5.4
|
8 |
-
Stable Tag: 3.10.
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
@@ -175,6 +175,11 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
|
|
175 |
|
176 |
== Changelog ==
|
177 |
|
|
|
|
|
|
|
|
|
|
|
178 |
= 3.10.2 =
|
179 |
|
180 |
- Tweak: Widgets prefix on settings page and editor panel can now be translated.
|
5 |
Requires at Least: 4.5
|
6 |
Tested Up To: 5.3
|
7 |
Requires PHP: 5.4
|
8 |
+
Stable Tag: 3.10.3
|
9 |
License: GPL v3.0
|
10 |
License URI: https://opensource.org/licenses/GPL-3.0
|
11 |
|
175 |
|
176 |
== Changelog ==
|
177 |
|
178 |
+
= 3.10.3 =
|
179 |
+
|
180 |
+
- Tweak: Two effects added in Fancy Text widget.
|
181 |
+
- Tweak: Improved Vimeo videos methods in Video Box widget.
|
182 |
+
|
183 |
= 3.10.2 =
|
184 |
|
185 |
- Tweak: Widgets prefix on settings page and editor panel can now be translated.
|
widgets/premium-fancytext.php
CHANGED
@@ -145,63 +145,87 @@ class Premium_Fancytext extends Widget_Base {
|
|
145 |
$this->end_controls_section();
|
146 |
|
147 |
$this->start_controls_section('premium_fancy_additional_settings',
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
|
153 |
-
/*Text Effect*/
|
154 |
$this->add_control('premium_fancy_text_effect',
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
'
|
163 |
-
'
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
|
|
|
|
168 |
$this->add_control('premium_fancy_text_type_speed',
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
]
|
178 |
-
|
|
|
179 |
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
'
|
187 |
-
'condition' => [
|
188 |
-
'premium_fancy_text_effect' => 'typing',
|
189 |
-
],
|
190 |
]
|
191 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
|
193 |
-
/*Start Delay*/
|
194 |
$this->add_control('premium_fancy_text_start_delay',
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
|
206 |
/*Back Delay*/
|
207 |
$this->add_control('premium_fancy_text_back_delay',
|
@@ -492,26 +516,27 @@ class Premium_Fancytext extends Widget_Base {
|
|
492 |
|
493 |
protected function render( ) {
|
494 |
|
495 |
-
$settings
|
496 |
|
497 |
-
$
|
498 |
|
499 |
-
if( $
|
500 |
-
|
501 |
-
$this->add_render_attribute( 'suffix', 'class', 'premium-fancy-text-span-align' );
|
502 |
-
}
|
503 |
-
|
504 |
-
if( $settings['premium_fancy_text_effect'] === 'typing' ) {
|
505 |
$show_cursor = ( ! empty( $settings['premium_fancy_text_show_cursor'] ) ) ? true : false;
|
|
|
|
|
|
|
506 |
$loop = ! empty( $settings['premium_fancy_text_type_loop'] ) ? true : false;
|
|
|
507 |
$strings = array();
|
|
|
508 |
foreach ( $settings['premium_fancy_text_strings'] as $item ) {
|
509 |
if ( ! empty( $item['premium_text_strings_text_field'] ) ) {
|
510 |
array_push( $strings, str_replace('\'',''', $item['premium_text_strings_text_field'] ) );
|
511 |
}
|
512 |
}
|
513 |
$fancytext_settings = [
|
514 |
-
'effect' => $
|
515 |
'strings' => $strings,
|
516 |
'typeSpeed' => $settings['premium_fancy_text_type_speed'],
|
517 |
'backSpeed' => $settings['premium_fancy_text_back_speed'],
|
@@ -521,31 +546,55 @@ class Premium_Fancytext extends Widget_Base {
|
|
521 |
'cursorChar'=> $cursor_text,
|
522 |
'loop' => $loop,
|
523 |
];
|
524 |
-
}
|
525 |
-
|
|
|
|
|
|
|
|
|
526 |
$fancytext_settings = [
|
527 |
-
'effect' => $
|
528 |
'speed' => $settings['premium_slide_up_speed'],
|
529 |
'showItems' => $settings['premium_slide_up_shown_items'],
|
530 |
'pause' => $settings['premium_slide_up_pause_time'],
|
531 |
'mousePause' => $mause_pause
|
532 |
];
|
|
|
|
|
|
|
|
|
|
|
533 |
}
|
534 |
|
|
|
|
|
|
|
|
|
535 |
?>
|
536 |
|
537 |
-
|
538 |
-
|
539 |
|
540 |
-
<?php if ( $
|
541 |
-
<span class="premium-fancy-text"
|
542 |
<?php else : ?>
|
543 |
-
<div class="premium-fancy-text" style='display: inline-block; text-align: center
|
544 |
-
<ul>
|
545 |
-
<?php foreach ( $settings['premium_fancy_text_strings'] as $item ) :
|
546 |
-
if ( ! empty( $item['premium_text_strings_text_field'] ) ) :
|
547 |
-
|
548 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
549 |
endforeach; ?>
|
550 |
</ul>
|
551 |
</div>
|
@@ -562,18 +611,14 @@ class Premium_Fancytext extends Widget_Base {
|
|
562 |
view.addInlineEditingAttributes('prefix');
|
563 |
view.addInlineEditingAttributes('suffix');
|
564 |
|
|
|
565 |
|
566 |
var cursorText = settings.premium_fancy_text_cursor_text,
|
567 |
cursorTextEscaped = cursorText.replace(/'/g, "\\'");
|
568 |
|
569 |
var fancyTextSettings = {};
|
570 |
-
|
571 |
-
if( 'slide' === settings.premium_fancy_text_effect ) {
|
572 |
-
view.addRenderAttribute( 'prefix', 'class', 'premium-fancy-text-span-align' );
|
573 |
-
view.addRenderAttribute( 'suffix', 'class', 'premium-fancy-text-span-align' );
|
574 |
-
}
|
575 |
|
576 |
-
if( 'typing' ===
|
577 |
|
578 |
var showCursor = settings.premium_fancy_text_show_cursor ? true : false,
|
579 |
loop = settings.premium_fancy_text_type_loop ? true : false,
|
@@ -587,10 +632,7 @@ class Premium_Fancytext extends Widget_Base {
|
|
587 |
strings.push( fancyString );
|
588 |
}
|
589 |
});
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
fancyTextSettings.effect = settings.premium_fancy_text_effect,
|
594 |
fancyTextSettings.strings = strings,
|
595 |
fancyTextSettings.typeSpeed = settings.premium_fancy_text_type_speed,
|
596 |
fancyTextSettings.backSpeed = settings.premium_fancy_text_back_speed,
|
@@ -601,19 +643,25 @@ class Premium_Fancytext extends Widget_Base {
|
|
601 |
fancyTextSettings.loop = loop;
|
602 |
|
603 |
|
604 |
-
} else {
|
605 |
|
606 |
var mausePause = settings.premium_slide_up_hover_pause ? true : false;
|
607 |
|
608 |
-
fancyTextSettings.effect = settings.premium_fancy_text_effect,
|
609 |
fancyTextSettings.speed = settings.premium_slide_up_speed,
|
610 |
fancyTextSettings.showItems = settings.premium_slide_up_shown_items,
|
611 |
fancyTextSettings.pause = settings.premium_slide_up_pause_time,
|
612 |
fancyTextSettings.mousePause = mausePause
|
613 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
614 |
}
|
615 |
|
616 |
-
view.addRenderAttribute( 'container', 'class', 'premium-fancy-text-wrapper' );
|
617 |
view.addRenderAttribute( 'container', 'data-settings', JSON.stringify( fancyTextSettings ) );
|
618 |
|
619 |
#>
|
@@ -621,15 +669,23 @@ class Premium_Fancytext extends Widget_Base {
|
|
621 |
<div {{{ view.getRenderAttributeString('container') }}}>
|
622 |
<span class="premium-prefix-text"><span {{{ view.getRenderAttributeString('prefix') }}}>{{{ settings.premium_fancy_prefix_text }}}</span></span>
|
623 |
|
624 |
-
<# if ( 'typing' ===
|
625 |
-
<span class="premium-fancy-text"
|
626 |
<# } else { #>
|
627 |
<div class="premium-fancy-text" style=' display: inline-block; text-align: center;'>
|
628 |
-
<ul>
|
629 |
-
<# _.each ( settings.premium_fancy_text_strings, function ( item ) {
|
630 |
-
if ( '' !== item.premium_text_strings_text_field )
|
631 |
-
|
632 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
633 |
</ul>
|
634 |
</div>
|
635 |
<# } #>
|
145 |
$this->end_controls_section();
|
146 |
|
147 |
$this->start_controls_section('premium_fancy_additional_settings',
|
148 |
+
[
|
149 |
+
'label' => __('Additional Settings', 'premium-addons-for-elementor'),
|
150 |
+
]
|
151 |
+
);
|
152 |
|
|
|
153 |
$this->add_control('premium_fancy_text_effect',
|
154 |
+
[
|
155 |
+
'label' => __('Effect', 'premium-addons-for-elementor'),
|
156 |
+
'type' => Controls_Manager::SELECT,
|
157 |
+
'options' => [
|
158 |
+
'typing' => __('Typing', 'premium-addons-for-elementor'),
|
159 |
+
'slide' => __('Slide Up', 'premium-addons-for-elementor'),
|
160 |
+
'zoomout'=> __('Zoom Out', 'premium-addons-for-elementor'),
|
161 |
+
'rotate' => __('Rotate', 'premium-addons-for-elementor'),
|
162 |
+
// 'bar' => __('Bar', 'premium-addons-for-elementor'),
|
163 |
+
],
|
164 |
+
'default' => 'typing',
|
165 |
+
'label_block' => true,
|
166 |
+
]
|
167 |
+
);
|
168 |
+
|
169 |
$this->add_control('premium_fancy_text_type_speed',
|
170 |
+
[
|
171 |
+
'label' => __('Type Speed', 'premium-addons-for-elementor'),
|
172 |
+
'type' => Controls_Manager::NUMBER,
|
173 |
+
'default' => 30,
|
174 |
+
'description' => __( 'Set typing effect speed in milliseconds.', 'premium-addons-for-elementor' ),
|
175 |
+
'condition' => [
|
176 |
+
'premium_fancy_text_effect' => 'typing',
|
177 |
+
],
|
178 |
+
]
|
179 |
+
);
|
180 |
+
|
181 |
+
$this->add_control('premium_fancy_text_zoom_speed',
|
182 |
+
[
|
183 |
+
'label' => __('Animation Speed', 'premium-addons-for-elementor'),
|
184 |
+
'type' => Controls_Manager::NUMBER,
|
185 |
+
'description' => __('Set animation speed in seconds.', 'premium-addons-for-elementor'),
|
186 |
+
'condition' => [
|
187 |
+
'premium_fancy_text_effect' => [ 'zoomout', 'rotate' ],
|
188 |
+
],
|
189 |
+
'selectors' => [
|
190 |
+
'{{WRAPPER}} .premium-fancy-text-wrapper.zoomout .premium-fancy-list-items, .premium-fancy-text-wrapper.rotate .premium-fancy-list-items' => 'animation-duration: {{VALUE}}s'
|
191 |
]
|
192 |
+
]
|
193 |
+
);
|
194 |
|
195 |
+
$this->add_control('premium_fancy_text_zoom_delay',
|
196 |
+
[
|
197 |
+
'label' => __('Animation Delay', 'premium-addons-for-elementor'),
|
198 |
+
'type' => Controls_Manager::NUMBER,
|
199 |
+
'description' => __('Set animation speed in seconds.', 'premium-addons-for-elementor'),
|
200 |
+
'condition' => [
|
201 |
+
'premium_fancy_text_effect' => [ 'zoomout', 'rotate' ],
|
|
|
|
|
|
|
202 |
]
|
203 |
+
]
|
204 |
+
);
|
205 |
+
|
206 |
+
$this->add_control('premium_fancy_text_back_speed',
|
207 |
+
[
|
208 |
+
'label' => __('Back Speed', 'premium-addons-for-elementor'),
|
209 |
+
'type' => Controls_Manager::NUMBER,
|
210 |
+
'default' => 30,
|
211 |
+
'description' => __( 'Set a speed for backspace effect in milliseconds.', 'premium-addons-for-elementor' ),
|
212 |
+
'condition' => [
|
213 |
+
'premium_fancy_text_effect' => 'typing',
|
214 |
+
],
|
215 |
+
]
|
216 |
+
);
|
217 |
|
|
|
218 |
$this->add_control('premium_fancy_text_start_delay',
|
219 |
+
[
|
220 |
+
'label' => __('Start Delay', 'premium-addons-for-elementor'),
|
221 |
+
'type' => Controls_Manager::NUMBER,
|
222 |
+
'default' => 30,
|
223 |
+
'description' => __( 'If you set it on 5000 milliseconds, the first word/string will appear after 5 seconds.', 'premium-addons-for-elementor' ),
|
224 |
+
'condition' => [
|
225 |
+
'premium_fancy_text_effect' => 'typing',
|
226 |
+
],
|
227 |
+
]
|
228 |
+
);
|
229 |
|
230 |
/*Back Delay*/
|
231 |
$this->add_control('premium_fancy_text_back_delay',
|
516 |
|
517 |
protected function render( ) {
|
518 |
|
519 |
+
$settings = $this->get_settings_for_display();
|
520 |
|
521 |
+
$effect = $settings['premium_fancy_text_effect'];
|
522 |
|
523 |
+
if( $effect === 'typing' ) {
|
524 |
+
|
|
|
|
|
|
|
|
|
525 |
$show_cursor = ( ! empty( $settings['premium_fancy_text_show_cursor'] ) ) ? true : false;
|
526 |
+
|
527 |
+
$cursor_text = addslashes( $settings['premium_fancy_text_cursor_text'] );
|
528 |
+
|
529 |
$loop = ! empty( $settings['premium_fancy_text_type_loop'] ) ? true : false;
|
530 |
+
|
531 |
$strings = array();
|
532 |
+
|
533 |
foreach ( $settings['premium_fancy_text_strings'] as $item ) {
|
534 |
if ( ! empty( $item['premium_text_strings_text_field'] ) ) {
|
535 |
array_push( $strings, str_replace('\'',''', $item['premium_text_strings_text_field'] ) );
|
536 |
}
|
537 |
}
|
538 |
$fancytext_settings = [
|
539 |
+
'effect' => $effect,
|
540 |
'strings' => $strings,
|
541 |
'typeSpeed' => $settings['premium_fancy_text_type_speed'],
|
542 |
'backSpeed' => $settings['premium_fancy_text_back_speed'],
|
546 |
'cursorChar'=> $cursor_text,
|
547 |
'loop' => $loop,
|
548 |
];
|
549 |
+
} elseif( $effect === 'slide' ) {
|
550 |
+
|
551 |
+
$this->add_render_attribute( 'prefix', 'class', 'premium-fancy-text-span-align' );
|
552 |
+
$this->add_render_attribute( 'suffix', 'class', 'premium-fancy-text-span-align' );
|
553 |
+
|
554 |
+
$mause_pause = ! empty( $settings['premium_slide_up_hover_pause'] ) ? true : false;
|
555 |
$fancytext_settings = [
|
556 |
+
'effect' => $effect,
|
557 |
'speed' => $settings['premium_slide_up_speed'],
|
558 |
'showItems' => $settings['premium_slide_up_shown_items'],
|
559 |
'pause' => $settings['premium_slide_up_pause_time'],
|
560 |
'mousePause' => $mause_pause
|
561 |
];
|
562 |
+
} else {
|
563 |
+
$fancytext_settings = [
|
564 |
+
'effect' => $effect,
|
565 |
+
'delay' => $settings['premium_fancy_text_zoom_delay']
|
566 |
+
];
|
567 |
}
|
568 |
|
569 |
+
$this->add_render_attribute('wrapper', 'class', [ 'premium-fancy-text-wrapper', $effect ] );
|
570 |
+
|
571 |
+
$this->add_render_attribute('wrapper', 'data-settings', wp_json_encode( $fancytext_settings ) );
|
572 |
+
|
573 |
?>
|
574 |
|
575 |
+
<div <?php echo $this->get_render_attribute_string('wrapper'); ?>>
|
576 |
+
<span class="premium-prefix-text"><span <?php echo $this->get_render_attribute_string('prefix'); ?>><?php echo wp_kses( ( $settings['premium_fancy_prefix_text'] ), true ); ?></span></span>
|
577 |
|
578 |
+
<?php if ( $effect === 'typing' ) : ?>
|
579 |
+
<span class="premium-fancy-text"></span>
|
580 |
<?php else : ?>
|
581 |
+
<div class="premium-fancy-text" style='display: inline-block; text-align: center'>
|
582 |
+
<ul class="premium-fancy-text-items-wrapper">
|
583 |
+
<?php foreach ( $settings['premium_fancy_text_strings'] as $index => $item ) :
|
584 |
+
if ( ! empty( $item['premium_text_strings_text_field'] ) ) :
|
585 |
+
$this->add_render_attribute( 'text_' . $item['_id'], 'class', 'premium-fancy-list-items' );
|
586 |
+
|
587 |
+
if( ( 'typing' !== $effect && 'slide' !== $effect ) && 0 !== $index ) {
|
588 |
+
$this->add_render_attribute( 'text_' . $item['_id'], 'class', 'premium-fancy-item-hidden' );
|
589 |
+
} else {
|
590 |
+
$this->add_render_attribute( 'text_' . $item['_id'], 'class', 'premium-fancy-item-visible' );
|
591 |
+
}
|
592 |
+
|
593 |
+
?>
|
594 |
+
<li <?php echo $this->get_render_attribute_string('text_' . $item['_id'] ) ?>>
|
595 |
+
<?php echo esc_html( $item['premium_text_strings_text_field'] ); ?>
|
596 |
+
</li>
|
597 |
+
<?php endif;
|
598 |
endforeach; ?>
|
599 |
</ul>
|
600 |
</div>
|
611 |
view.addInlineEditingAttributes('prefix');
|
612 |
view.addInlineEditingAttributes('suffix');
|
613 |
|
614 |
+
var effect = settings.premium_fancy_text_effect
|
615 |
|
616 |
var cursorText = settings.premium_fancy_text_cursor_text,
|
617 |
cursorTextEscaped = cursorText.replace(/'/g, "\\'");
|
618 |
|
619 |
var fancyTextSettings = {};
|
|
|
|
|
|
|
|
|
|
|
620 |
|
621 |
+
if( 'typing' === effect ) {
|
622 |
|
623 |
var showCursor = settings.premium_fancy_text_show_cursor ? true : false,
|
624 |
loop = settings.premium_fancy_text_type_loop ? true : false,
|
632 |
strings.push( fancyString );
|
633 |
}
|
634 |
});
|
635 |
+
|
|
|
|
|
|
|
636 |
fancyTextSettings.strings = strings,
|
637 |
fancyTextSettings.typeSpeed = settings.premium_fancy_text_type_speed,
|
638 |
fancyTextSettings.backSpeed = settings.premium_fancy_text_back_speed,
|
643 |
fancyTextSettings.loop = loop;
|
644 |
|
645 |
|
646 |
+
} else if ( 'slide' === effect ) {
|
647 |
|
648 |
var mausePause = settings.premium_slide_up_hover_pause ? true : false;
|
649 |
|
|
|
650 |
fancyTextSettings.speed = settings.premium_slide_up_speed,
|
651 |
fancyTextSettings.showItems = settings.premium_slide_up_shown_items,
|
652 |
fancyTextSettings.pause = settings.premium_slide_up_pause_time,
|
653 |
fancyTextSettings.mousePause = mausePause
|
654 |
|
655 |
+
} else {
|
656 |
+
|
657 |
+
view.addRenderAttribute( 'prefix', 'class', 'premium-fancy-text-span-align' );
|
658 |
+
view.addRenderAttribute( 'suffix', 'class', 'premium-fancy-text-span-align' );
|
659 |
+
|
660 |
+
fancyTextSettings.delay = settings.premium_fancy_text_zoom_delay;
|
661 |
+
|
662 |
}
|
663 |
|
664 |
+
view.addRenderAttribute( 'container', 'class', [ 'premium-fancy-text-wrapper', effect ] );
|
665 |
view.addRenderAttribute( 'container', 'data-settings', JSON.stringify( fancyTextSettings ) );
|
666 |
|
667 |
#>
|
669 |
<div {{{ view.getRenderAttributeString('container') }}}>
|
670 |
<span class="premium-prefix-text"><span {{{ view.getRenderAttributeString('prefix') }}}>{{{ settings.premium_fancy_prefix_text }}}</span></span>
|
671 |
|
672 |
+
<# if ( 'typing' === effect ) { #>
|
673 |
+
<span class="premium-fancy-text"></span>
|
674 |
<# } else { #>
|
675 |
<div class="premium-fancy-text" style=' display: inline-block; text-align: center;'>
|
676 |
+
<ul class="premium-fancy-text-items-wrapper">
|
677 |
+
<# _.each ( settings.premium_fancy_text_strings, function ( item, index ) {
|
678 |
+
if ( '' !== item.premium_text_strings_text_field ) {
|
679 |
+
view.addRenderAttribute( 'text_' + item._id, 'class', 'premium-fancy-list-items' );
|
680 |
+
|
681 |
+
if( ( 'typing' !== effect && 'slide' !== effect ) && 0 !== index ) {
|
682 |
+
view.addRenderAttribute( 'text_' + item._id, 'class', 'premium-fancy-item-hidden' );
|
683 |
+
} else {
|
684 |
+
view.addRenderAttribute( 'text_' + item._id, 'class', 'premium-fancy-item-visible' );
|
685 |
+
} #>
|
686 |
+
|
687 |
+
<li {{{ view.getRenderAttributeString('text_' + item._id ) }}}>{{{ item.premium_text_strings_text_field }}}</li>
|
688 |
+
<# } }); #>
|
689 |
</ul>
|
690 |
</div>
|
691 |
<# } #>
|
widgets/premium-videobox.php
CHANGED
@@ -863,7 +863,14 @@ class Premium_Videobox extends Widget_Base {
|
|
863 |
$link = Embed::get_embed_url( $link );
|
864 |
$video_id = $video_props['video_id'];
|
865 |
} elseif ( 'vimeo' === $type ) {
|
|
|
866 |
$video_id = substr( $link, strpos( $link, '.com/' ) + 5 );
|
|
|
|
|
|
|
|
|
|
|
|
|
867 |
$link = sprintf( 'https://player.vimeo.com/video/%s', $video_id );
|
868 |
}
|
869 |
|
863 |
$link = Embed::get_embed_url( $link );
|
864 |
$video_id = $video_props['video_id'];
|
865 |
} elseif ( 'vimeo' === $type ) {
|
866 |
+
$mask = '/^.*vimeo\.com\/(?:[a-z]*\/)*([0-9]{6,11})[?]?.*/';
|
867 |
$video_id = substr( $link, strpos( $link, '.com/' ) + 5 );
|
868 |
+
preg_match( $mask, $link, $matches );
|
869 |
+
if( $matches ) {
|
870 |
+
$video_id = $matches[1];
|
871 |
+
} else {
|
872 |
+
$video_id = substr( $link, strpos( $link, '.com/' ) + 5 );
|
873 |
+
}
|
874 |
$link = sprintf( 'https://player.vimeo.com/video/%s', $video_id );
|
875 |
}
|
876 |
|