Version Description
- Add a brand new Tab to the Visual Builder that allows you to configure all popup details using Divi! No more class names
- Fix JS API integration for IE 11
Download this release
Release Info
Developer | stracker.phil |
Plugin | Popups for Divi |
Version | 2.0.0 |
Comparing to | |
See all releases |
Code changes from version 1.7.2 to 2.0.0
- css/builder.css.map +0 -1
- css/front.css.map +0 -1
- include/class-popups-for-divi-editor.php +491 -0
- include/class-popups-for-divi-onboarding.php +30 -10
- include/class-popups-for-divi.php +11 -3
- js/builder.js +1 -1
- js/front.js +1 -1
- plugin.php +3 -3
- readme.txt +27 -20
css/builder.css.map
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///./gulp/sass/builder.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,eAAe;;AAEf;AACA,eAAe","file":"css/builder.css","sourcesContent":["/**\n * Popups for Divi - styles in page builder\n */\n.popup {\n box-shadow: 0 3px 10px -1px rgba(0, 0, 0, 0.3), 0 0 20px 2px rgba(0, 0, 0, 0.2);\n min-width: 360px;\n max-width: 95%; }\n\n#et-fb-app .et_pb_section.popup {\n background-color: #FFF;\n margin: 30px auto;\n overflow: visible;\n z-index: auto; }\n #et-fb-app .et_pb_section.popup + .et_pb_section.popup {\n margin-top: 60px; }\n #et-fb-app .et_pb_section.popup:after {\n content: '';\n position: absolute;\n background: #ccc;\n left: 50%;\n top: -30px;\n bottom: -30px;\n z-index: -1;\n width: 10000px;\n min-width: 100vw;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n #et-fb-app .et_pb_section.popup:before {\n content: \"#\" attr(id);\n position: absolute;\n top: 0px;\n left: 50%;\n -webkit-transform: translate(-50%, -100%);\n transform: translate(-50%, -100%);\n background: #666;\n padding: 0 8px;\n color: #FFF;\n font-size: 12px;\n line-height: 26px;\n font-weight: bold;\n opacity: 0.5;\n transition: all 0.3s;\n bottom: auto;\n right: auto;\n z-index: 20;\n border-radius: 3px 3px 0 0; }\n #et-fb-app .et_pb_section.popup:hover:before {\n background: #2B87DA;\n opacity: 1; }\n\n.et_fb_hidden_header #et-fb-app .et_pb_section.popup:after {\n width: 100vw; }\n"],"sourceRoot":""}
|
|
css/front.css.map
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///./gulp/sass/front.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB,EAAE;AACrB;AACA;AACA,iCAAiC,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,gDAAgD;AAChD;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA,4CAA4C;AAC5C;AACA;AACA,gDAAgD;AAChD;AACA;AACA,aAAa;AACb;AACA;AACA,+CAA+C;AAC/C;AACA;AACA,aAAa;AACb;AACA;AACA,4CAA4C;AAC5C;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,uBAAuB;AACvB;AACA;AACA,4BAA4B;AAC5B;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA,qBAAqB;;AAErB;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA,6BAA6B","file":"css/front.css","sourcesContent":["/**\n * Divi Areas Pro - styles for front-end\n**/\n.evr_fb_popup_modal {\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.55);\n z-index: 99; }\n\n.popup,\n.divi-area-wrap-fly-in {\n box-shadow: 0 3px 10px -1px rgba(0, 0, 0, 0.3), 0 2px 50px 2px rgba(0, 0, 0, 0.2);\n background-color: #fff; }\n .popup.divi-area-wrap,\n .divi-area-wrap-fly-in.divi-area-wrap {\n background-color: transparent; }\n\n.popup_outer_wrap {\n position: fixed;\n z-index: 100;\n pointer-events: none;\n max-width: 100vw;\n max-height: 100vh; }\n .popup_outer_wrap.type-popup {\n min-width: 320px; }\n @media screen and (min-width: 981px) {\n .popup_outer_wrap.type-popup {\n width: 90%; } }\n @media screen and (max-width: 980px) {\n .popup_outer_wrap.type-popup {\n width: calc(100% - 20px); } }\n .popup_outer_wrap.type-inline {\n position: relative;\n top: unset;\n bottom: unset;\n left: unset;\n right: unset;\n width: unset;\n height: unset;\n -webkit-transform: unset;\n transform: unset;\n max-width: unset;\n max-height: unset; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-top-left {\n left: 0;\n top: 0; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-top-center {\n left: 50%;\n top: 0;\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-top-center.type-hover {\n -webkit-transform: translate(-50%, -100%);\n transform: translate(-50%, -100%); }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-top-right {\n right: 0;\n top: 0; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-center-left {\n left: 0;\n top: 50%; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-center-left:not([class*=\" popup_full_height\"]) {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-center-left.type-hover {\n -webkit-transform: translate(-100%, -50%);\n transform: translate(-100%, -50%); }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-center-center {\n left: 50%;\n top: 50%; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-center-center:not([class*=\" popup_full_height\"]) {\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%); }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-center-right {\n right: 0;\n top: 50%; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-center-right:not([class*=\" popup_full_height\"]) {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%); }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-bottom-left {\n left: 0;\n bottom: 0; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-bottom-center {\n left: 50%;\n bottom: 0;\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0); }\n .popup_outer_wrap:not([class*=\" type-inline\"]).position-bottom-right {\n right: 0;\n bottom: 0; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).popup_full_width {\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n width: 100%;\n left: 0; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).popup_full_width > .popup {\n max-width: 100%;\n overflow-x: auto; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).popup_full_height {\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n height: 100%;\n height: calc(100% - 20px);\n top: 50%; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).popup_full_height > .popup {\n max-height: 100%;\n overflow-y: auto; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).popup_full_width.popup_full_height {\n -webkit-transform: none;\n transform: none; }\n .popup_outer_wrap:not([class*=\" type-inline\"]).popup_full_width.popup_full_height > .popup {\n overflow: auto; }\n .popup_outer_wrap .divi-area-wrap,\n .popup_outer_wrap .popup {\n position: relative;\n background-repeat: no-repeat;\n background-position: center center;\n margin: auto;\n transition: all 0.3s;\n pointer-events: all; }\n .popup_outer_wrap .divi-area-wrap.with-loader,\n .popup_outer_wrap .popup.with-loader {\n background-image: url(../img/spin.gif), radial-gradient(circle at center, #fff 65%, #fff0 66%) !important;\n background-size: 32px 32px, 48px 48px; }\n .popup_outer_wrap .divi-area-wrap.no-shadow,\n .popup_outer_wrap .popup.no-shadow {\n box-shadow: none; }\n .popup_outer_wrap .divi-area-wrap .et_pb_row:after,\n .popup_outer_wrap .divi-area-wrap .et_pb_row_inner:after,\n .popup_outer_wrap .divi-area-wrap .et_pb_slides:after,\n .popup_outer_wrap .divi-area-wrap .clearfix:after,\n .popup_outer_wrap .popup .et_pb_row:after,\n .popup_outer_wrap .popup .et_pb_row_inner:after,\n .popup_outer_wrap .popup .et_pb_slides:after,\n .popup_outer_wrap .popup .clearfix:after {\n content: \"\"; }\n\n@media screen and (min-width: 783px) {\n .admin-bar .popup_outer_wrap.popup_full_height {\n height: calc(100% - 52px);\n margin-top: 16px; } }\n\n@media screen and (min-width: 601px) and (max-width: 782px) {\n .admin-bar .popup_outer_wrap.popup_full_height {\n height: calc(100% - 66px);\n margin-top: 23px; } }\n\n/* Used in front-end when a popup is displayed to a visitor */\n#page-container #main-content {\n transition: all 0s; }\n\nbody.evr_popup_open {\n overflow: hidden; }\n body.evr_popup_open #page-container #main-content {\n transition: all 0.5s 1s;\n -webkit-filter: blur(2px);\n filter: blur(2px);\n opacity: 0.75; }\n\n.divi-area-wrap {\n position: relative; }\n\n/* Styles that are shared between Popups for Divi and Divi Areas Pro */\n.divi-area-wrap.with-close .evr-close_wrap,\n.popup_outer_wrap .popup.with-close .evr-close_wrap {\n display: block !important; }\n\n.divi-area-wrap.no-close .evr-close_wrap,\n.popup_outer_wrap .popup.no-close .evr-close_wrap {\n display: none !important; }\n\n.divi-area-wrap .evr-close_wrap,\n.popup_outer_wrap .popup .evr-close_wrap {\n position: absolute;\n right: 0;\n top: 0;\n opacity: 0.2;\n z-index: 100;\n text-align: right;\n transition: opacity 0.6s 0.3s; }\n\n.divi-area-wrap .evr-close,\n.popup_outer_wrap .popup .evr-close {\n display: block;\n box-sizing: content-box;\n width: 30px;\n height: 30px;\n line-height: 30px;\n text-align: center;\n font-family: \"Courier New\", monospace;\n font-size: 20px;\n font-weight: bold;\n cursor: pointer;\n color: #333;\n background: #fff2;\n opacity: 0.7;\n box-shadow: 0 0 3px 1px #00000008;\n transition: all 0.3s; }\n .divi-area-wrap .evr-close:hover, .divi-area-wrap .evr-close:focus, .divi-area-wrap .evr-close:active,\n .popup_outer_wrap .popup .evr-close:hover,\n .popup_outer_wrap .popup .evr-close:focus,\n .popup_outer_wrap .popup .evr-close:active {\n color: #000;\n background: #fff;\n opacity: 1;\n box-shadow: 0 0 4px 0 #0002, 0 0 3px 1px #0001;\n -webkit-transform: scale(1.1);\n transform: scale(1.1); }\n\n.divi-area-wrap.dark .evr-close,\n.popup_outer_wrap .popup.dark .evr-close {\n color: #eee;\n background: #0002;\n box-shadow: 0 0 0 1px #ffffff08;\n text-shadow: 0px 0px 1px #000, 0px 0px 3px #000a; }\n .divi-area-wrap.dark .evr-close:hover, .divi-area-wrap.dark .evr-close:focus, .divi-area-wrap.dark .evr-close:active,\n .popup_outer_wrap .popup.dark .evr-close:hover,\n .popup_outer_wrap .popup.dark .evr-close:focus,\n .popup_outer_wrap .popup.dark .evr-close:active {\n color: #fff;\n background: #2b2b2b;\n box-shadow: 0 0 1px 1px #fff3; }\n\n.divi-area-wrap.is-open .evr-close_wrap,\n.popup_outer_wrap .popup.is-open .evr-close_wrap {\n opacity: 1;\n transition: opacity 0.6s 0.3s; }\n\n.divi-area-wrap.close-alt .evr-close,\n.popup_outer_wrap .popup.close-alt .evr-close {\n box-shadow: none !important;\n background: transparent !important; }\n\n.divi-area-wrap .et_pb_contact_select,\n.popup_outer_wrap .popup .et_pb_contact_select {\n -moz-appearance: textfield; }\n"],"sourceRoot":""}
|
|
include/class-popups-for-divi-editor.php
ADDED
@@ -0,0 +1,491 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Extends Divi's Visual Builder.
|
4 |
+
*
|
5 |
+
* @package Popups_For_Divi
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Ajax handler.
|
10 |
+
*/
|
11 |
+
class Popups_For_Divi_Editor {
|
12 |
+
/**
|
13 |
+
* The main application instanc.
|
14 |
+
*
|
15 |
+
* @var Popups_For_Divi
|
16 |
+
*/
|
17 |
+
public $app = null;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Called during the "plugins_loaded" action to add relevant hooks.
|
21 |
+
*
|
22 |
+
* @since 1.2.0
|
23 |
+
* @param Popups_For_Divi $app The main application instance.
|
24 |
+
* @return void
|
25 |
+
*/
|
26 |
+
public function __construct( $app ) {
|
27 |
+
$this->app = $app;
|
28 |
+
|
29 |
+
add_action(
|
30 |
+
'et_builder_framework_loaded',
|
31 |
+
[ $this, 'add_hooks' ]
|
32 |
+
);
|
33 |
+
|
34 |
+
add_filter(
|
35 |
+
'et_builder_get_parent_modules',
|
36 |
+
[ $this, 'add_toggles_to_tab' ],
|
37 |
+
10, 2
|
38 |
+
);
|
39 |
+
|
40 |
+
// Pre-processes the Divi section settings before they are actually saved.
|
41 |
+
add_action(
|
42 |
+
'wp_ajax_et_fb_ajax_save',
|
43 |
+
[ $this, 'et_fb_ajax_save' ],
|
44 |
+
1
|
45 |
+
);
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Add the Visual Builder hooks when not editing a Divi Area post.
|
50 |
+
*
|
51 |
+
* @since 1.2.0
|
52 |
+
* @return void
|
53 |
+
*/
|
54 |
+
public function add_hooks() {
|
55 |
+
add_filter(
|
56 |
+
'et_pb_all_fields_unprocessed_et_pb_section',
|
57 |
+
[ $this, 'add_section_confg' ]
|
58 |
+
);
|
59 |
+
|
60 |
+
// Todo: This filter is deprecated. Find a better way!
|
61 |
+
add_filter(
|
62 |
+
'et_builder_main_tabs',
|
63 |
+
[ $this, 'add_tab' ],
|
64 |
+
1
|
65 |
+
);
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Extends the configuration fields of a Divi SECTION.
|
70 |
+
*
|
71 |
+
* @filter et_pb_all_fields_unprocessed_et_pb_section
|
72 |
+
*
|
73 |
+
* @since 1.2.0
|
74 |
+
* @param array $fields_unprocessed Field definitions of the module.
|
75 |
+
* @return array The modified configuration fields.
|
76 |
+
*/
|
77 |
+
public function add_section_confg( $fields_unprocessed ) {
|
78 |
+
$fields = [];
|
79 |
+
|
80 |
+
// "General" toggle.
|
81 |
+
$fields['da_is_popup'] = [
|
82 |
+
'label' => esc_html__( 'This is a Popup', 'divi-popup' ),
|
83 |
+
'type' => 'yes_no_button',
|
84 |
+
'option_category' => 'configuration',
|
85 |
+
'options' => [
|
86 |
+
'off' => esc_html__( 'No', 'divi-popup' ),
|
87 |
+
'on' => esc_html__( 'Yes', 'divi-popup' ),
|
88 |
+
],
|
89 |
+
'default' => 'off',
|
90 |
+
'description' => esc_html__( 'Turn this section into aa Divi Popup section.', 'divi-popup' ),
|
91 |
+
'tab_slug' => 'da',
|
92 |
+
'toggle_slug' => 'da_general',
|
93 |
+
];
|
94 |
+
$fields['da_popup_slug'] = [
|
95 |
+
'label' => esc_html__( 'Popup ID', 'divi-popup' ),
|
96 |
+
'type' => 'text',
|
97 |
+
'option_category' => 'configuration',
|
98 |
+
'description' => esc_html__( 'Assign a unique ID to the Popup. You can display this Popup by using this name in an anchor link, like "#slug".', 'divi-popup' ),
|
99 |
+
'tab_slug' => 'da',
|
100 |
+
'toggle_slug' => 'da_general',
|
101 |
+
'show_if' => [
|
102 |
+
'da_is_popup' => 'on',
|
103 |
+
],
|
104 |
+
];
|
105 |
+
|
106 |
+
// "Behavior" toggle.
|
107 |
+
$fields['da_not_modal'] = [
|
108 |
+
'label' => esc_html__( 'Close on Background-Click', 'divi-popup' ),
|
109 |
+
'type' => 'yes_no_button',
|
110 |
+
'option_category' => 'configuration',
|
111 |
+
'options' => [
|
112 |
+
'on' => esc_html__( 'Yes', 'divi-popup' ),
|
113 |
+
'off' => esc_html__( 'No', 'divi-popup' ),
|
114 |
+
],
|
115 |
+
'default' => 'on',
|
116 |
+
'description' => esc_html__( 'Here you can decide whether the Popup can be closed by clicking somewhere outside the Popup. When this option is disabled, the Popup can only be closed via a Close Button or pressing the ESC key on the keyboard.', 'divi-popup' ),
|
117 |
+
'tab_slug' => 'da',
|
118 |
+
'toggle_slug' => 'da_behavior',
|
119 |
+
'show_if' => [
|
120 |
+
'da_is_popup' => 'on',
|
121 |
+
],
|
122 |
+
];
|
123 |
+
$fields['da_is_singular'] = [
|
124 |
+
'label' => esc_html__( 'Close other Popups', 'divi-popup' ),
|
125 |
+
'type' => 'yes_no_button',
|
126 |
+
'option_category' => 'configuration',
|
127 |
+
'options' => [
|
128 |
+
'on' => esc_html__( 'Yes', 'divi-popup' ),
|
129 |
+
'off' => esc_html__( 'No', 'divi-popup' ),
|
130 |
+
],
|
131 |
+
'default' => 'off',
|
132 |
+
'description' => esc_html__( 'Here you can decide whether this Popup should automatically close all other Popups when it is opened.', 'divi-popup' ),
|
133 |
+
'tab_slug' => 'da',
|
134 |
+
'toggle_slug' => 'da_behavior',
|
135 |
+
'show_if' => [
|
136 |
+
'da_is_popup' => 'on',
|
137 |
+
],
|
138 |
+
];
|
139 |
+
$fields['da_exit_intent'] = [
|
140 |
+
'label' => esc_html__( 'Enable Exit Intent', 'divi-popup' ),
|
141 |
+
'type' => 'yes_no_button',
|
142 |
+
'option_category' => 'configuration',
|
143 |
+
'options' => [
|
144 |
+
'on' => esc_html__( 'Yes', 'divi-popup' ),
|
145 |
+
'off' => esc_html__( 'No', 'divi-popup' ),
|
146 |
+
],
|
147 |
+
'default' => 'off',
|
148 |
+
'description' => esc_html__( 'When you enable the Exit Intent trigger, this Popup is automatically opened before the user leaves the current webpage. Note that the Exit Intent only works on desktop browsers, not on touch devices.', 'divi-popup' ),
|
149 |
+
'tab_slug' => 'da',
|
150 |
+
'toggle_slug' => 'da_behavior',
|
151 |
+
'show_if' => [
|
152 |
+
'da_is_popup' => 'on',
|
153 |
+
],
|
154 |
+
];
|
155 |
+
|
156 |
+
// "Close Button" toggle.
|
157 |
+
$fields['da_has_close'] = [
|
158 |
+
'label' => esc_html__( 'Show Close Button', 'divi-popup' ),
|
159 |
+
'type' => 'yes_no_button',
|
160 |
+
'option_category' => 'configuration',
|
161 |
+
'options' => [
|
162 |
+
'on' => esc_html__( 'Yes', 'divi-popup' ),
|
163 |
+
'off' => esc_html__( 'No', 'divi-popup' ),
|
164 |
+
],
|
165 |
+
'default' => 'on',
|
166 |
+
'description' => esc_html__( 'Do you want to display the default Close button in the top-right corner of the Popup?', 'divi-popup' ),
|
167 |
+
'tab_slug' => 'da',
|
168 |
+
'toggle_slug' => 'da_close',
|
169 |
+
'show_if' => [
|
170 |
+
'da_is_popup' => 'on',
|
171 |
+
],
|
172 |
+
];
|
173 |
+
$fields['da_dark_close'] = [
|
174 |
+
'label' => esc_html__( 'Button Color', 'divi-popup' ),
|
175 |
+
'type' => 'select',
|
176 |
+
'option_category' => 'layout',
|
177 |
+
'options' => [
|
178 |
+
'on' => esc_html__( 'Light', 'divi-popup' ),
|
179 |
+
'off' => esc_html__( 'Dark', 'divi-popup' ),
|
180 |
+
],
|
181 |
+
'default' => 'off',
|
182 |
+
'description' => esc_html__( 'Here you can choose whether the Close button should be dark or light?. If the section has a light backgound, use a dark button. When the background is dark, use a light button.', 'divi-popup' ),
|
183 |
+
'tab_slug' => 'da',
|
184 |
+
'toggle_slug' => 'da_close',
|
185 |
+
'show_if' => [
|
186 |
+
'da_is_popup' => 'on',
|
187 |
+
'da_has_close' => 'on',
|
188 |
+
],
|
189 |
+
];
|
190 |
+
$fields['da_alt_close'] = [
|
191 |
+
'label' => esc_html__( 'Transparent Background', 'divi-popup' ),
|
192 |
+
'type' => 'yes_no_button',
|
193 |
+
'option_category' => 'layout',
|
194 |
+
'options' => [
|
195 |
+
'on' => esc_html__( 'Yes', 'divi-popup' ),
|
196 |
+
'off' => esc_html__( 'No', 'divi-popup' ),
|
197 |
+
],
|
198 |
+
'default' => 'off',
|
199 |
+
'description' => esc_html__( 'Here you can choose whether the Close button has a Background color or only displays the Icon.', 'divi-popup' ),
|
200 |
+
'tab_slug' => 'da',
|
201 |
+
'toggle_slug' => 'da_close',
|
202 |
+
'show_if' => [
|
203 |
+
'da_is_popup' => 'on',
|
204 |
+
'da_has_close' => 'on',
|
205 |
+
],
|
206 |
+
];
|
207 |
+
|
208 |
+
// "Layout" toggle.
|
209 |
+
$fields['da_has_shadow'] = [
|
210 |
+
'label' => esc_html__( 'Add a default Shadow', 'divi-popup' ),
|
211 |
+
'type' => 'yes_no_button',
|
212 |
+
'option_category' => 'layout',
|
213 |
+
'options' => [
|
214 |
+
'on' => esc_html__( 'Yes', 'divi-popup' ),
|
215 |
+
'off' => esc_html__( 'No', 'divi-popup' ),
|
216 |
+
],
|
217 |
+
'default' => 'on',
|
218 |
+
'description' => esc_html__( 'Decide whether you want to add a default shadow to your Popup. You should disable this option, when you set a custom Box-Shadow for this Section.', 'divi-popup' ),
|
219 |
+
'tab_slug' => 'da',
|
220 |
+
'toggle_slug' => 'da_layout',
|
221 |
+
'show_if' => [
|
222 |
+
'da_is_popup' => 'on',
|
223 |
+
],
|
224 |
+
];
|
225 |
+
|
226 |
+
// "Visibility" toggle.
|
227 |
+
$fields['da_disable_devices'] = [
|
228 |
+
'label' => esc_html__( 'Disable on', 'divi-popup' ),
|
229 |
+
'type' => 'multiple_checkboxes',
|
230 |
+
'option_category' => 'configuration',
|
231 |
+
'options' => [
|
232 |
+
'phone' => esc_html__( 'Phone', 'divi-popup' ),
|
233 |
+
'tablet' => esc_html__( 'Tablet', 'divi-popup' ),
|
234 |
+
'desktop' => esc_html__( 'Desktop', 'divi-popup' ),
|
235 |
+
],
|
236 |
+
'additional_att' => 'disable_on',
|
237 |
+
'description' => esc_html__( 'This will disable the Popup on selected devices', 'divi-popup' ),
|
238 |
+
'tab_slug' => 'da',
|
239 |
+
'toggle_slug' => 'da_visibility',
|
240 |
+
'show_if' => [
|
241 |
+
'da_is_popup' => 'on',
|
242 |
+
],
|
243 |
+
];
|
244 |
+
|
245 |
+
return array_merge( $fields_unprocessed, $fields );
|
246 |
+
}
|
247 |
+
|
248 |
+
/**
|
249 |
+
* Register new Divi Area tab in the Visual Builder.
|
250 |
+
*
|
251 |
+
* @todo This filter is deprecated. What's the new way?
|
252 |
+
* @filter et_builder_main_tabs
|
253 |
+
*
|
254 |
+
* @since 1.2.0
|
255 |
+
* @param array $tabs List of tabs to display in the Visual Builder.
|
256 |
+
* @return array Modified list of tabs.
|
257 |
+
*/
|
258 |
+
public function add_tab( $tabs ) {
|
259 |
+
$tabs['da'] = esc_html__( 'Popup', 'divi-popup' );
|
260 |
+
|
261 |
+
return $tabs;
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* Add a custom POPUP toggle to the SECTION module.
|
266 |
+
*
|
267 |
+
* @filter et_builder_get_parent_modules
|
268 |
+
*
|
269 |
+
* @since 1.2.0
|
270 |
+
* @param array $parent_modules List of all parent elements.
|
271 |
+
* @param string $post_type The post type in editor.
|
272 |
+
* @return array Modified parent element definition.
|
273 |
+
*/
|
274 |
+
public function add_toggles_to_tab( $parent_modules, $post_type ) {
|
275 |
+
if ( isset( $parent_modules['et_pb_section'] ) ) {
|
276 |
+
$section = $parent_modules['et_pb_section'];
|
277 |
+
|
278 |
+
$section->settings_modal_toggles['da'] = [
|
279 |
+
'toggles' => [
|
280 |
+
'da_general' => [
|
281 |
+
'title' => __( 'General', 'divi-popup' ),
|
282 |
+
'priority' => 10,
|
283 |
+
],
|
284 |
+
'da_behavior' => [
|
285 |
+
'title' => __( 'Behavior', 'divi-popup' ),
|
286 |
+
'priority' => 15,
|
287 |
+
],
|
288 |
+
'da_close' => [
|
289 |
+
'title' => __( 'Close Button', 'divi-popup' ),
|
290 |
+
'priority' => 20,
|
291 |
+
],
|
292 |
+
'da_layout' => [
|
293 |
+
'title' => __( 'Layout', 'divi-popup' ),
|
294 |
+
'priority' => 25,
|
295 |
+
],
|
296 |
+
'da_visibility' => [
|
297 |
+
'title' => __( 'Visibility', 'divi-popup' ),
|
298 |
+
'priority' => 30,
|
299 |
+
],
|
300 |
+
],
|
301 |
+
];
|
302 |
+
|
303 |
+
/*
|
304 |
+
This custom field actually supports the Visual Builder:
|
305 |
+
VB support is provided in builder.js by observing the React state object.
|
306 |
+
*/
|
307 |
+
unset( $section->fields_unprocessed['da_is_popup']['vb_support'] );
|
308 |
+
unset( $section->fields_unprocessed['da_popup_slug']['vb_support'] );
|
309 |
+
unset( $section->fields_unprocessed['da_not_modal']['vb_support'] );
|
310 |
+
unset( $section->fields_unprocessed['da_is_singular']['vb_support'] );
|
311 |
+
unset( $section->fields_unprocessed['da_exit_intent']['vb_support'] );
|
312 |
+
unset( $section->fields_unprocessed['da_has_close']['vb_support'] );
|
313 |
+
unset( $section->fields_unprocessed['da_dark_close']['vb_support'] );
|
314 |
+
unset( $section->fields_unprocessed['da_alt_close']['vb_support'] );
|
315 |
+
unset( $section->fields_unprocessed['da_has_shadow']['vb_support'] );
|
316 |
+
unset( $section->fields_unprocessed['da_disable_devices']['vb_support'] );
|
317 |
+
}
|
318 |
+
|
319 |
+
return $parent_modules;
|
320 |
+
}
|
321 |
+
|
322 |
+
/**
|
323 |
+
* Ajax handler that is called BEFORE the actual `et_fb_ajax_save` function in
|
324 |
+
* Divi. This function does not save anything but it sanitizes section
|
325 |
+
* attributes and sets popup classes.
|
326 |
+
*
|
327 |
+
* @action wp_ajax_et_fb_ajax_save
|
328 |
+
*
|
329 |
+
* @since 1.2.0
|
330 |
+
*/
|
331 |
+
public function et_fb_ajax_save() {
|
332 |
+
// phpcs:disable
|
333 |
+
if (
|
334 |
+
! isset( $_POST['et_fb_save_nonce'] ) || // input var okay.
|
335 |
+
! wp_verify_nonce( $_POST['et_fb_save_nonce'], 'et_fb_save_nonce' )
|
336 |
+
) {
|
337 |
+
return;
|
338 |
+
}
|
339 |
+
|
340 |
+
$post_id = absint( $_POST['post_id'] ); // input var okay.
|
341 |
+
|
342 |
+
if ( ! et_fb_current_user_can_save( $post_id, $_POST['options']['status'] ) ) {
|
343 |
+
return;
|
344 |
+
}
|
345 |
+
|
346 |
+
// Fetch the builder attributes and sanitize them.
|
347 |
+
$shortcode_data = json_decode( stripslashes( $_POST['modules'] ), true );
|
348 |
+
// phpcs:enable
|
349 |
+
|
350 |
+
// Popup defaults.
|
351 |
+
$da_default = [
|
352 |
+
'da_is_popup' => 'off',
|
353 |
+
'da_popup_slug' => '',
|
354 |
+
'da_exit_intent' => 'off',
|
355 |
+
'da_has_close' => 'on',
|
356 |
+
'da_alt_close' => 'off',
|
357 |
+
'da_dark_close' => 'off',
|
358 |
+
'da_not_modal' => 'on',
|
359 |
+
'da_is_singular' => 'off',
|
360 |
+
'da_has_shadow' => 'on',
|
361 |
+
'da_disable_devices' => [ 'off', 'off', 'off' ],
|
362 |
+
];
|
363 |
+
|
364 |
+
foreach ( $shortcode_data as $id => $item ) {
|
365 |
+
$type = sanitize_text_field( $item['type'] );
|
366 |
+
if ( 'et_pb_section' !== $type ) {
|
367 |
+
continue;
|
368 |
+
}
|
369 |
+
$attrs = $item['attrs'];
|
370 |
+
$conf = $da_default;
|
371 |
+
$classes = [];
|
372 |
+
|
373 |
+
if ( ! empty( $attrs['module_id'] ) ) {
|
374 |
+
$conf['da_popup_slug'] = $attrs['module_id'];
|
375 |
+
}
|
376 |
+
if ( ! empty( $attrs['module_class'] ) ) {
|
377 |
+
$classes = explode( ' ', $attrs['module_class'] );
|
378 |
+
|
379 |
+
if ( in_array( 'popup', $classes, true ) ) {
|
380 |
+
$conf['da_is_popup'] = 'on';
|
381 |
+
}
|
382 |
+
if ( in_array( 'on-exit', $classes, true ) ) {
|
383 |
+
$conf['da_exit_intent'] = 'on';
|
384 |
+
}
|
385 |
+
if ( in_array( 'no-close', $classes, true ) ) {
|
386 |
+
$conf['da_has_close'] = 'off';
|
387 |
+
}
|
388 |
+
if ( in_array( 'close-alt', $classes, true ) ) {
|
389 |
+
$conf['da_alt_close'] = 'on';
|
390 |
+
}
|
391 |
+
if ( in_array( 'dark', $classes, true ) ) {
|
392 |
+
$conf['da_dark_close'] = 'on';
|
393 |
+
}
|
394 |
+
if ( in_array( 'is-modal', $classes, true ) ) {
|
395 |
+
$conf['da_not_modal'] = 'off';
|
396 |
+
}
|
397 |
+
if ( in_array( 'single', $classes, true ) ) {
|
398 |
+
$conf['da_is_singular'] = 'on';
|
399 |
+
}
|
400 |
+
if ( in_array( 'no-shadow', $classes, true ) ) {
|
401 |
+
$conf['da_has_shadow'] = 'off';
|
402 |
+
}
|
403 |
+
if ( in_array( 'not-mobile', $classes, true ) ) {
|
404 |
+
$conf['da_disable_devices'][0] = 'on';
|
405 |
+
}
|
406 |
+
if ( in_array( 'not-tablet', $classes, true ) ) {
|
407 |
+
$conf['da_disable_devices'][1] = 'on';
|
408 |
+
}
|
409 |
+
if ( in_array( 'not-desktop', $classes, true ) ) {
|
410 |
+
$conf['da_disable_devices'][2] = 'on';
|
411 |
+
}
|
412 |
+
}
|
413 |
+
|
414 |
+
// Set all missing Divi Area attributes with a default value.
|
415 |
+
foreach ( $conf as $key => $def_value ) {
|
416 |
+
if ( ! isset( $attrs[ $key ] ) ) {
|
417 |
+
if ( 'da_disable_devices' === $key ) {
|
418 |
+
$def_value = implode( '|', $def_value );
|
419 |
+
}
|
420 |
+
$attrs[ $key ] = $def_value;
|
421 |
+
}
|
422 |
+
}
|
423 |
+
|
424 |
+
// Remove all functional classes from the section.
|
425 |
+
$special_classes = [
|
426 |
+
'popup',
|
427 |
+
'on-exit',
|
428 |
+
'no-close',
|
429 |
+
'close-alt',
|
430 |
+
'dark',
|
431 |
+
'is-modal',
|
432 |
+
'single',
|
433 |
+
'no-shadow',
|
434 |
+
'not-mobile',
|
435 |
+
'not-tablet',
|
436 |
+
'not-desktop',
|
437 |
+
];
|
438 |
+
|
439 |
+
$classes = array_diff( $classes, $special_classes );
|
440 |
+
|
441 |
+
// Finally set the class to match all attributes.
|
442 |
+
if ( 'on' === $attrs['da_is_popup'] ) {
|
443 |
+
$classes[] = 'popup';
|
444 |
+
|
445 |
+
if ( 'on' === $attrs['da_exit_intent'] ) {
|
446 |
+
$classes[] = 'on-exit';
|
447 |
+
}
|
448 |
+
if ( 'on' !== $attrs['da_has_close'] ) {
|
449 |
+
$classes[] = 'no-close';
|
450 |
+
}
|
451 |
+
if ( 'on' === $attrs['da_alt_close'] ) {
|
452 |
+
$classes[] = 'close-alt';
|
453 |
+
}
|
454 |
+
if ( 'on' === $attrs['da_dark_close'] ) {
|
455 |
+
$classes[] = 'dark';
|
456 |
+
}
|
457 |
+
if ( 'on' !== $attrs['da_not_modal'] ) {
|
458 |
+
$classes[] = 'is-modal';
|
459 |
+
}
|
460 |
+
if ( 'on' === $attrs['da_is_singular'] ) {
|
461 |
+
$classes[] = 'single';
|
462 |
+
}
|
463 |
+
if ( 'on' !== $attrs['da_has_shadow'] ) {
|
464 |
+
$classes[] = 'no-shadow';
|
465 |
+
}
|
466 |
+
if ( 'on' === $attrs['da_disable_devices'][0] ) {
|
467 |
+
$classes[] = 'not-mobile';
|
468 |
+
}
|
469 |
+
if ( 'on' === $attrs['da_disable_devices'][1] ) {
|
470 |
+
$classes[] = 'not-tablet';
|
471 |
+
}
|
472 |
+
if ( 'on' === $attrs['da_disable_devices'][2] ) {
|
473 |
+
$classes[] = 'not-desktop';
|
474 |
+
}
|
475 |
+
}
|
476 |
+
|
477 |
+
if ( $attrs['da_popup_slug'] ) {
|
478 |
+
$attrs['module_id'] = $attrs['da_popup_slug'];
|
479 |
+
}
|
480 |
+
if ( $classes ) {
|
481 |
+
$attrs['module_class'] = implode( ' ', $classes );
|
482 |
+
} else {
|
483 |
+
unset( $attrs['module_class'] );
|
484 |
+
}
|
485 |
+
|
486 |
+
$shortcode_data[ $id ]['attrs'] = $attrs;
|
487 |
+
}
|
488 |
+
|
489 |
+
$_POST['modules'] = wp_json_encode( $shortcode_data );
|
490 |
+
}
|
491 |
+
}
|
include/class-popups-for-divi-onboarding.php
CHANGED
@@ -83,7 +83,7 @@ class Popups_For_Divi_Onboarding {
|
|
83 |
* @return void
|
84 |
*/
|
85 |
public function ajax_hide_onboarding() {
|
86 |
-
// phpcs:ignore
|
87 |
update_user_meta( get_current_user_id(), '_pfd_onboarding', 'done' );
|
88 |
|
89 |
wp_send_json_success();
|
@@ -96,8 +96,8 @@ class Popups_For_Divi_Onboarding {
|
|
96 |
* @return void
|
97 |
*/
|
98 |
public function ajax_start_course() {
|
99 |
-
// phpcs:ignore
|
100 |
-
$form = wp_unslash( $_POST );
|
101 |
|
102 |
$email = sanitize_email( trim( $form['email'] ) );
|
103 |
$name = sanitize_text_field( trim( $form['name'] ) );
|
@@ -140,9 +140,9 @@ class Popups_For_Divi_Onboarding {
|
|
140 |
|
141 |
?>
|
142 |
<div class="pfd-onboarding notice">
|
143 |
-
<p class="title"><?php
|
144 |
<div class="pfd-layout">
|
145 |
-
<p class="msg"><?php
|
146 |
<div class="form">
|
147 |
<input
|
148 |
type="name"
|
@@ -156,13 +156,13 @@ class Popups_For_Divi_Onboarding {
|
|
156 |
value="<?php echo esc_attr( $user->user_email ); ?>"
|
157 |
/>
|
158 |
<button class="button-primary submit">
|
159 |
-
<?php
|
160 |
</button>
|
161 |
</div>
|
162 |
</div>
|
163 |
-
<p class="privacy"><?php
|
164 |
<div class="loader"><span class="spinner is-active"></span></div>
|
165 |
-
<span class="notice-dismiss"><?php
|
166 |
</div>
|
167 |
<style>
|
168 |
.wrap .notice.pfd-onboarding{position:relative;margin-bottom:4em;padding-bottom:0;border-left-color:#660099}
|
@@ -175,7 +175,7 @@ class Popups_For_Divi_Onboarding {
|
|
175 |
.pfd-onboarding input:focus,
|
176 |
.pfd-onboarding input,
|
177 |
.pfd-onboarding button.button-primary,
|
178 |
-
.pfd-onboarding button.button-primary:focus{display:block;width:80%;margin:12px auto;text-align:center;border-radius:0;height:30px;
|
179 |
.pfd-onboarding input:focus,
|
180 |
.pfd-onboarding input{border:1px solid #0002;padding:5px 3px}
|
181 |
.pfd-onboarding .notice-dismiss:before{display:none}
|
@@ -242,7 +242,7 @@ class Popups_For_Divi_Onboarding {
|
|
242 |
notice.removeClass('loading');
|
243 |
state = res && res.data ? res.data : '';
|
244 |
if ('OK'===state) {
|
245 |
-
msg.html("🎉 <?php
|
246 |
msg.append("<br><a href='#' class='dismiss'><?php esc_html_e( 'Close this message', 'divi-popup' ); ?></a>");
|
247 |
}
|
248 |
else if ('DUPLICATE'===state) {
|
@@ -262,4 +262,24 @@ class Popups_For_Divi_Onboarding {
|
|
262 |
})</script>
|
263 |
<?php
|
264 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
}
|
83 |
* @return void
|
84 |
*/
|
85 |
public function ajax_hide_onboarding() {
|
86 |
+
// phpcs:ignore WordPress.VIP.RestrictedFunctions.user_meta_update_user_meta
|
87 |
update_user_meta( get_current_user_id(), '_pfd_onboarding', 'done' );
|
88 |
|
89 |
wp_send_json_success();
|
96 |
* @return void
|
97 |
*/
|
98 |
public function ajax_start_course() {
|
99 |
+
// phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
|
100 |
+
$form = wp_unslash( $_POST ); // input var okay.
|
101 |
|
102 |
$email = sanitize_email( trim( $form['email'] ) );
|
103 |
$name = sanitize_text_field( trim( $form['name'] ) );
|
140 |
|
141 |
?>
|
142 |
<div class="pfd-onboarding notice">
|
143 |
+
<p class="title"><?php $this->say( __( 'Thanks for using Popups for Divi', 'divi-popup' ) ); ?> 😊</p>
|
144 |
<div class="pfd-layout">
|
145 |
+
<p class="msg"><?php $this->say( __( 'We have created a short email course that helps you get the most out of <a href="https://wordpress.org/plugins/popups-for-divi/" target="_blank">Popups for Divi</a>. You will receive six short emails that help you to avoid common pitfalls and teach you some advanced use cases.', 'divi-popup' ) ); ?></p>
|
146 |
<div class="form">
|
147 |
<input
|
148 |
type="name"
|
156 |
value="<?php echo esc_attr( $user->user_email ); ?>"
|
157 |
/>
|
158 |
<button class="button-primary submit">
|
159 |
+
<?php esc_html_e( 'Start The Course!', 'divi-popup' ); ?>
|
160 |
</button>
|
161 |
</div>
|
162 |
</div>
|
163 |
+
<p class="privacy"><?php $this->say( __( 'Only your name and email is sent to our website. We use the information to deliver the onboarding mails. <a href="https://divimode.com/privacy/" target="_blank">Privacy Policy</a>', 'divi-popup' ) ); ?></p>
|
164 |
<div class="loader"><span class="spinner is-active"></span></div>
|
165 |
+
<span class="notice-dismiss"><?php esc_html_e( 'Close forever', 'divi-popup' ); ?></span>
|
166 |
</div>
|
167 |
<style>
|
168 |
.wrap .notice.pfd-onboarding{position:relative;margin-bottom:4em;padding-bottom:0;border-left-color:#660099}
|
175 |
.pfd-onboarding input:focus,
|
176 |
.pfd-onboarding input,
|
177 |
.pfd-onboarding button.button-primary,
|
178 |
+
.pfd-onboarding button.button-primary:focus{display:block;width:80%;margin:12px auto;text-align:center;border-radius:0;height:30px;box-shadow:0 0 0 5px #fff3;outline:none;position:relative;z-index:10}
|
179 |
.pfd-onboarding input:focus,
|
180 |
.pfd-onboarding input{border:1px solid #0002;padding:5px 3px}
|
181 |
.pfd-onboarding .notice-dismiss:before{display:none}
|
242 |
notice.removeClass('loading');
|
243 |
state = res && res.data ? res.data : '';
|
244 |
if ('OK'===state) {
|
245 |
+
msg.html("🎉 <?php $this->say( __( 'Congratulations! Please check your inbox and look for an email with the subject "<strong>Your Popups for Divi course is one click away!</strong>" to confirm your registration.', 'divi-popup' ) ); ?>");
|
246 |
msg.append("<br><a href='#' class='dismiss'><?php esc_html_e( 'Close this message', 'divi-popup' ); ?></a>");
|
247 |
}
|
248 |
else if ('DUPLICATE'===state) {
|
262 |
})</script>
|
263 |
<?php
|
264 |
}
|
265 |
+
|
266 |
+
/**
|
267 |
+
* Output text with minimal allowed HTML markup.
|
268 |
+
*
|
269 |
+
* @since 2.0.0
|
270 |
+
* @param string $text The unsanitized HTML code.
|
271 |
+
* @return void
|
272 |
+
*/
|
273 |
+
protected function say( $text ) {
|
274 |
+
echo wp_kses(
|
275 |
+
$text,
|
276 |
+
[
|
277 |
+
'strong' => [],
|
278 |
+
'a' => [
|
279 |
+
'href' => [],
|
280 |
+
'target' => [],
|
281 |
+
],
|
282 |
+
]
|
283 |
+
);
|
284 |
+
}
|
285 |
}
|
include/class-popups-for-divi.php
CHANGED
@@ -44,6 +44,12 @@ class Popups_For_Divi {
|
|
44 |
// Load the onboarding wizard.
|
45 |
require_once __DIR__ . '/class-popups-for-divi-onboarding.php';
|
46 |
$this->onboarding = new Popups_For_Divi_Onboarding();
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
}
|
48 |
|
49 |
/**
|
@@ -102,10 +108,11 @@ class Popups_For_Divi {
|
|
102 |
return;
|
103 |
}
|
104 |
|
105 |
-
// phpcs:ignore
|
106 |
-
if ( isset( $_GET['et_pb_preview'] ) && isset( $_GET['et_pb_preview_nonce'] ) ) {
|
107 |
return;
|
108 |
}
|
|
|
109 |
$cache_version = DIVI_POPUP_VERSION;
|
110 |
|
111 |
if ( function_exists( 'et_fb_is_enabled' ) ) {
|
@@ -363,7 +370,8 @@ class Popups_For_Divi {
|
|
363 |
/* -- End of default configuration -- */
|
364 |
|
365 |
// Compatibility with older Popups for Divi version.
|
366 |
-
|
|
|
367 |
|
368 |
// Divi Areas Pro filter.
|
369 |
$js_data = apply_filters( 'divi_areas_js_data', $config );
|
44 |
// Load the onboarding wizard.
|
45 |
require_once __DIR__ . '/class-popups-for-divi-onboarding.php';
|
46 |
$this->onboarding = new Popups_For_Divi_Onboarding();
|
47 |
+
|
48 |
+
// Extend the Visual Builder UI.
|
49 |
+
if ( is_user_logged_in() ) {
|
50 |
+
require_once __DIR__ . '/class-popups-for-divi-editor.php';
|
51 |
+
$this->editor = new Popups_For_Divi_Editor( $this );
|
52 |
+
}
|
53 |
}
|
54 |
|
55 |
/**
|
108 |
return;
|
109 |
}
|
110 |
|
111 |
+
// phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification
|
112 |
+
if ( isset( $_GET['et_pb_preview'] ) && isset( $_GET['et_pb_preview_nonce'] ) ) { // input var okay.
|
113 |
return;
|
114 |
}
|
115 |
+
|
116 |
$cache_version = DIVI_POPUP_VERSION;
|
117 |
|
118 |
if ( function_exists( 'et_fb_is_enabled' ) ) {
|
370 |
/* -- End of default configuration -- */
|
371 |
|
372 |
// Compatibility with older Popups for Divi version.
|
373 |
+
// phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
|
374 |
+
$js_data = apply_filters( 'evr_divi_popup-js_data', $config );
|
375 |
|
376 |
// Divi Areas Pro filter.
|
377 |
$js_data = apply_filters( 'divi_areas_js_data', $config );
|
js/builder.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){var
|
1 |
+
!function(e){var t={};function a(s){if(t[s])return t[s].exports;var o=t[s]={i:s,l:!1,exports:{}};return e[s].call(o.exports,o,o.exports,a),o.l=!0,o.exports}a.m=e,a.c=t,a.d=function(e,t,s){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(a.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(s,o,function(t){return e[t]}.bind(null,o));return s},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=13)}({13:function(e,t,a){a(14),e.exports=a(16)},14:function(e,t,a){"use strict";var s=function(e){return e&&e.__esModule?e:{default:e}}(a(15));jQuery(window).on("et_fb_init",function(){window.DiviAreaVB=window.DiviAreaVB||new s.default})},15:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){for(var a=0;a<t.length;a++){var s=t[a];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,a,s){return a&&e(t.prototype,a),s&&e(t,s),t}}();var o=!1,n=!1,r=!1,i=!1,d={},u={module_id:"",module_class:"",da_is_popup:"off",da_popup_slug:"",da_exit_intent:"off",da_has_close:"on",da_alt_close:"off",da_dark_close:"off",da_not_modal:"on",da_is_singular:"off",da_has_shadow:"on",da_disable_devices:"off|off|off"},l=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var t=(window._daConfig||{}).divi_areas_cpt||"divi-area";(((ET_Builder.Frames.app||{}).ETBuilderBackendDynamic||{}).postType||"page")!==t&&this.startObserver()}return s(e,[{key:"startObserver",value:function(){var e=this;o&&this.stopObserver();var t=this.getAppFrame();if(t){var a=jQuery(t.document);o=window.setInterval(function(){return e.observeAttribs()},200),a.on("blur.da",'input[name="module_id"], input[name="module_class"]',function(){e.observeClasses()})}else window.setTimeout(function(){return e.startObserver()},100)}},{key:"stopObserver",value:function(){if(o){var e=this.getAppFrame(),t=jQuery(e.document);window.clearInterval(o),t.off(".da",'input[name="module_id"], input[name="module_class"]'),o=!1}}},{key:"observeAttribs",value:function(){var e=this.getApp();if(e&&e.state.activeModule&&e.state.activeModule.props&&"et_pb_section"===e.state.activeModule.props.type)for(var t=0;t<e.state.sections.length;t++){var a=e.state.sections[t],s=!1;this.compareSectionAttrs(a)&&(s=this.setSectionClasses(a)),s&&this.setSectionState(a,s)}}},{key:"observeClasses",value:function(){var e=this.getApp();if(e&&e.state)for(var t=0;t<e.state.sections.length;t++){var a=e.state.sections[t],s=!1;this.compareSectionClasses(a)&&(s=this.setSectionAttrs(a),s=this.setSectionClasses(s)),s&&this.setSectionState(a,s)}}},{key:"getAppFrame",value:function(){return!!(window.top.ET_Builder&&window.top.ET_Builder.Frames&&window.top.ET_Builder.Frames.top)&&window.top.ET_Builder.Frames.top}},{key:"getApp",value:function(){var e=this.getAppFrame();if(!e)return!1;var t=jQuery(e.document).find("#et-fb-app .place-top");if(!t||!t.length)return!1;if(!r||!t[0][r])for(var a in t[0])if(0===a.indexOf("__reactInternalInstance$")){n=a.substr(24),r="__reactInternalInstance$"+n;break}var s=t[0][r];return!!s&&{state:s.alternate.return.alternate.return.alternate.memoizedProps._owner.alternate.memoizedState,setState:s.return.stateNode.setState.bind(s.return.stateNode)}}},{key:"setSectionState",value:function(e,t){var a=this.getAppFrame();for(var s in u)e.attrs[s]!==t.attrs[s]&&(void 0===t.attrs[s]?delete e.attrs[s]:e.attrs[s]=t.attrs[s]);i&&window.clearTimeout(i),i=window.setTimeout(function(){i=!1;var e=document.createEvent("MouseEvents"),t=document.createEvent("MouseEvents"),s=a.jQuery(".et-fb-modal__resize")[0],o=a;s&&o&&(e.initMouseEvent("mousedown",!0,!0),t.initMouseEvent("mouseup",!0,!0),s.dispatchEvent(e),o.dispatchEvent(t))},50)}},{key:"compareSectionAttrs",value:function(e){var t=d[e.address],a=!1;for(var s in t||(a=!0,t={}),u)0===s.indexOf("da_")&&e.attrs[s]!==t[s]&&(a=!0,t[s]=e.attrs[s]);return a&&(d[e.address]=t),a}},{key:"compareSectionClasses",value:function(e){var t=d[e.address],a=!1;return t||(a=!0,t={}),void 0===t.module_id&&(t.module_id=""),void 0===t.module_class&&(t.module_class=""),e.attrs.module_id!==t.module_id&&(e.attrs.module_id||t.module_id)&&(a=!0,t.module_id=e.attrs.module_id),e.attrs.module_class!==t.module_class&&(e.attrs.module_class||t.module_class)&&(a=!0,t.module_class=e.attrs.module_class),a&&(d[e.address]=t),a}},{key:"setSectionClasses",value:function(e){var t=JSON.parse(JSON.stringify(e)),a=(e.attrs.module_class||"").split(" "),s=e.attrs.da_is_popup||"off",o=e.attrs.da_popup_slug||"",n=e.attrs.da_exit_intent||"off",r=e.attrs.da_has_close||"on",i=e.attrs.da_alt_close||"off",u=e.attrs.da_dark_close||"off",l=e.attrs.da_not_modal||"on",f=e.attrs.da_is_singular||"off",_=e.attrs.da_has_shadow||"on",c=(e.attrs.da_disable_devices||"off|off|off").split("|"),p=["popup","on-exit","no-close","close-alt","dark","is-modal","single","no-shadow","not-mobile","not-tablet","not-desktop"];return a=a.filter(function(e){return-1===p.indexOf(e)}),"on"===s&&(a.push("popup"),"on"===n&&a.push("on-exit"),"on"!==r?a.push("no-close"):("on"===i&&a.push("close-alt"),"on"===u&&a.push("dark")),"on"!==l&&a.push("is-modal"),"on"===f&&a.push("single"),"on"!==_&&a.push("no-shadow"),"on"===c[0]&&a.push("not-mobile"),"on"===c[1]&&a.push("not-tablet"),"on"===c[2]&&a.push("not-desktop")),t.attrs.module_class=a.filter(function(e){return e}).join(" "),o&&(t.attrs.module_id=o),d[t.address].module_class=t.attrs.module_class,d[t.address].module_id=t.attrs.module_id,t}},{key:"setSectionAttrs",value:function(e){var t=JSON.parse(JSON.stringify(e)),a=e.attrs.module_id||"",s=(e.attrs.module_class||"").split(" "),o=["off","off","off"];return t.attrs.da_is_popup=-1!==s.indexOf("popup")?"on":"off",t.attrs.da_has_close=-1===s.indexOf("no-close")?"on":"off",t.attrs.da_exit_intent=-1!==s.indexOf("on-exit")?"on":"off",t.attrs.da_alt_close=-1!==s.indexOf("close-alt")?"on":"off",t.attrs.da_dark_close=-1!==s.indexOf("dark")?"on":"off",t.attrs.da_not_modal=-1===s.indexOf("is-modal")?"on":"off",t.attrs.da_is_singular=-1!==s.indexOf("single")?"on":"off",t.attrs.da_has_shadow=-1===s.indexOf("no-shadow")?"on":"off",o[0]=-1!==s.indexOf("not-mobile")?"on":"off",o[1]=-1!==s.indexOf("not-tablet")?"on":"off",o[2]=-1!==s.indexOf("not-desktop")?"on":"off",t.attrs.da_disable_devices=o.join("|"),a&&(t.attrs.da_popup_slug=a),d[t.address].da_is_popup=t.attrs.da_is_popup,d[t.address].da_popup_slug=t.attrs.da_popup_slug,d[t.address].da_has_close=t.attrs.da_has_close,d[t.address].da_exit_intent=t.attrs.da_exit_intent,d[t.address].da_alt_close=t.attrs.da_alt_close,d[t.address].da_dark_close=t.attrs.da_dark_close,d[t.address].da_not_modal=t.attrs.da_not_modal,d[t.address].da_is_singular=t.attrs.da_is_singular,d[t.address].da_has_shadow=t.attrs.da_has_shadow,d[t.address].da_disable_devices=t.attrs.da_disable_devices,t}}]),e}();t.default=l},16:function(e,t,a){}});
|
js/front.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){var t={};function a(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,a),i.l=!0,i.exports}a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)a.d(o,i,function(t){return e[t]}.bind(null,i));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=8)}([function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.debugGroup=function(e){if(DiviPopupData.debug){var t=!o||e&&e!==o;if(o&&(console.groupEnd(),o=!1),e&&t){var a=Array.prototype.slice.call(arguments);a.unshift("[DiviAreas]"),console.group.apply(this,a),o=e}}},t.debugTable=function(){if(DiviPopupData.debug){var e=Array.prototype.slice.call(arguments);Array.isArray(e[0])||(e=[e]),console.table.apply(this,e)}},t.verbose=function(){if(DiviPopupData.debug&&DiviPopupData.debugVerbose){var e=Array.prototype.slice.call(arguments);e.unshift("color:#cfd8dc;font-style:italic"),e.unshift("[DiviAreas] %c%s"),console.debug.apply(this,e)}},t.debug=function(){if(DiviPopupData.debug){var e=Array.prototype.slice.call(arguments);e.unshift("color:#90a4ae"),e.unshift("[DiviAreas] %c%s"),console.debug.apply(this,e)}},t.info=function(){if(DiviPopupData.debug){var e=Array.prototype.slice.call(arguments);e.unshift("color:#0288d1;background:#fafcfe"),e.unshift("[DiviAreas] %c%s"),console.log.apply(this,e)}},t.error=function(){var e=Array.prototype.slice.call(arguments);e.unshift("[DiviAreas]"),console.error.apply(this,e)};var o=!1},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getOption=function(e){var t=DiviPopupData[e],a=e.toLowerCase();return(0,i.applyFiltersSilently)("get_option_"+a,t)},t.toBool=function(e,t){void 0===t&&(t=!0);if(void 0===e||null===e)return!!t;if(!0===e||!1===e)return e;"string"==typeof e&&(e=e.toLowerCase());if(0===e||"0"===e||"n"===e[0]||"f"===e[0]||"off"===e)return!1;if(1===e||"1"===e||"y"===e[0]||"t"===e[0]||"on"===e)return!0;return!!t},t.setLocalData=function(e,t,a){(!a||isNaN(a)||a<1)&&(a=525600);var o=e.replace(/-/g,"_");if(t=(0,i.applyFilters)("set_local_data_value-"+o,t,e,a),a=(0,i.applyFilters)("set_local_data_expiration-"+o,a,e,t),window.localStorage){var n=new Date;n=n.setMinutes(n.getMinutes()+a),localStorage.setItem("_da_"+e,n+":"+t)}else r("_da_"+e,t,a)},t.getLocalData=function(e){var t=!1;if(window.localStorage){var a=localStorage.getItem("_da_"+e);if(a){var o=a.split(":"),n=parseInt(o.shift()),r=o.join(":");n>new Date?t=r:localStorage.removeItem("_da_"+e)}}else t=s("_da_"+e);var d=e.replace(/-/g,"_");return(0,i.applyFilters)("get_local_data-"+d,t)},t.setCookie=r,t.getCookie=s,t.toMilliseconds=function(e){var t,a=parseFloat(e,10),o=e.match(/m?s/);o&&(o=o[0]);switch(o){case"s":t=1e3*a;break;case"ms":t=a;break;default:t=0}return t},t.initOptions=function(){var e={popupSelector:".et_pb_section.popup",fullWidthClass:"popup_full_width",fullHeightClass:"popup_full_height",openPopupClass:"evr_popup_open",overlayClass:"evr_fb_popup_modal",modalIndicatorClass:"is-modal",exitIndicatorClass:"on-exit",activePopupClass:"is-open",noCloseClass:"no-close",altCloseClass:"close-alt",notMobileClass:"not-mobile",notTabletClass:"not-tablet",notDesktopClass:"not-desktop",withCloseClass:"with-close",singletonClass:"single",darkModeClass:"dark",noShadowClass:"with-shadow",closeButtonClass:"evr-close",defaultShowCloseButton:!0,idAttrib:"data-popup",triggerClassPrefix:"show-popup-",baseContext:"body",triggerCloseClass:"close",zIndex:1e5,onExitDelay:2e3,animateSpeed:300,debug:!1,debugVerbose:!1,initializeOnEvent:"et_pb_after_init_modules"};if(window.DiviPopupData)for(var t in e)void 0===DiviPopupData[t]&&(DiviPopupData[t]=e[t]),DiviPopupData[t].replace&&(DiviPopupData[t]=DiviPopupData[t].replace(/^[\s\xA0]+|[\s\xA0]+$/g,""));else window.DiviPopupData=e;DiviPopupData.zIndex=parseInt(DiviPopupData.zIndex),DiviPopupData.onExitDelay=parseInt(DiviPopupData.onExitDelay),DiviPopupData.animateSpeed=parseInt(DiviPopupData.animateSpeed),DiviPopupData.debug=!!DiviPopupData.debug,DiviPopupData.defaultShowCloseButton=!!DiviPopupData.defaultShowCloseButton,(!DiviPopupData.triggerClassPrefix||DiviPopupData.triggerClassPrefix.length<3)&&(DiviPopupData.triggerClassPrefix=!1);"body"===DiviPopupData.baseContext&&1===jQuery("body.et_divi_theme #page-container").length&&(DiviPopupData.baseContext="#page-container",(0,n.info)("🎚 Divi theme detected.","Inject Areas into #page-container"));"body"===DiviPopupData.baseContext||jQuery(DiviPopupData.baseContext).length||(DiviPopupData.baseContext="body",(0,n.info)("🎚 Invalid baseContext given.","Inject Areas into body instead."));DiviPopupData=(0,i.applyFilters)("init_options",DiviPopupData),(0,o.broadcast)("OptionsReady")},t.isPositon=function e(t,a){var o=t.offsetParent();if("HTML"===o.prop("tagName"))return!1;return o.css("position")===a||e(o,a)};var o=a(3),i=a(2),n=a(0);function r(e,t,a){var o=escape(t);if(a){var i=new Date;i.setMinutes(i.getMinutes()+a),o+="; expires="+i.toUTCString()}document.cookie=e+"="+o+"; path=/"}function s(e){var t,a,o,i=document.cookie.split(";");for(t=0;t<i.length;t++)if(a=i[t].substr(0,i[t].indexOf("=")),o=i[t].substr(i[t].indexOf("=")+1),(a=a.replace(/^\s+|\s+$/g,""))===e)return unescape(o);return!1}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeFilter=function(e,t){"string"==typeof e&&(n(e,t),(0,o.debug)("Remove Filter:",e))},t.removeAction=function(e,t){"string"==typeof e&&(n(e,t),(0,o.debug)("Remove Action:",e))},t.applyFilters=function(e,t){var a=Array.prototype.slice.call(arguments);if("string"==typeof(e=a.shift()))return(0,o.info)("📢️ Apply Filters:",e),(0,o.debug)('⚙ DiviArea.addFilter("'+e+'", callback)'),s("filter",e,a);return!1},t.doAction=function(e,t){var a=Array.prototype.slice.call(arguments);"string"==typeof(e=a.shift())&&((0,o.info)("📢️ Do Action:",e),(0,o.debug)('⚙ DiviArea.addAction("'+e+'", callback)'),s("action",e,a))},t.applyFiltersSilently=function(e,t){var a=Array.prototype.slice.call(arguments);if("string"==typeof(e=a.shift()))return(0,o.verbose)("📢️ Apply Filters:",e),(0,o.verbose)('⚙ DiviArea.addFilter("'+e+'", callback)'),s("filter",e,a);return!1},t.addFilter=function(e,t,a,i){"string"==typeof e&&"function"==typeof t&&(r(e,t,parseInt(a||10,10),i||window),(0,o.debug)("Add Filter:",e))},t.addAction=function(e,t,a,i){"string"==typeof e&&"function"==typeof t&&(r(e,t,parseInt(a||10,10),i||window),(0,o.debug)("Add Action:",e))};var o=a(0),i={};function n(e,t,a){var o,n,r;if(i[e]){if(t)if((o=i[e])&&a)for(r=o.length;r--;)(n=o[r]).callback===t&&n.context===a&&(o[r]=!1);else for(r=o.length;r--;)o[r].callback===t&&(o[r]=!1)}else i[e]=[]}function r(e,t,a,o){var n={callback:t,priority:a,context:o},r=i[e];r?(r.push(n),r=function(e){var t,a,o,i,n=e.length;for(i=1;i<n;i++)for(t=e[i],a=i;a>0;a--)(o=e[a-1]).priority>t.priority&&(e[a]=o,e[a-1]=t);return e}(r)):r=[n],i[e]=r}function s(e,t,a){var o,n=i[t],r=!1,s=void 0;if(n){var d=n.length;for(o=0;o<d;o++)n[o]?"filter"===e?void 0!==(s=n[o].callback.apply(n[o].context,a))&&(a[0]=s):(!n[o]||n[o].callback,n[o].callback.apply(n[o].context,a)):r=1;if(r)for(o=d;o--;)n[o]||n.splice(o,1)}if("filter"===e)return a[0]}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.initializeModule=function(){(0,n.debug)("Initialize the app"),jQuery(document).trigger("DiviAreas:Loaded",[window.DiviAreas]),(0,d.doAction)("load"),p("Load"),function(){var e=jQuery(".et_pb_fullscreen_nav_container #mobile_menu_slide");if(!e.length)return;e.parent().css({minHeight:e.outerHeight()})}(),h(f),b(r.doResizeAreas),jQuery(document).on("keyup",_),window.setTimeout(function(){(0,d.addAction)("exit_intent",w)},(0,i.getOption)("onExitDelay")),(0,d.addAction)("close_area",m),f(),(0,d.doAction)("ready"),p("Ready")},t.broadcast=p,t.observe=function(e,t,a){var o=".__"+e,i="DiviPopup:"+e,r=c(a);function s(o,i){var s=window;return r?((0,n.verbose)("Handle observed area event",e,a.data("_id")),s=a):(i&&jQuery(i).data("_id")&&(s=jQuery(i)),(0,n.verbose)("Handle observed global event",e)),t.apply(s,arguments)}(0,n.error)("observe() is deprecated. Use DiviArea.addAction() or DiviArea.addFilter() instead!"),r?((0,n.debug)("[DEPRECATED] Observe area event:",e,a.data("_id")),a.off(o),a.on(i+o,s)):((0,n.debug)("[DEPRECATED] Observe global event:",e),jQuery(document).off(o),jQuery(document).on(i+o,s))},t.isArea=c,t.reOrderAreas=function(e){if(!(0,r.countVisibleAreas)())return;(0,r.reorderVisibleAreas)(),e&&function(e){u&&!e.data("observe-resize")&&(u.observe(e[0]),e.data("observe-resize",!0))}(e);(0,r.countVisibleAreas)("popup")&&DiviPopup.showOverlay()},t.doActivateTriggers=f,t.doDeactivateTriggers=g,t.removeArea=function(e,t){var a=[],l=(e=jQuery(e)).data("_id"),f=[];"popup"===e.data("_type")&&((0,r.loopVisibleAreas)("popup",function(e){e.hasClass((0,i.getOption)("singletonClass"))?a.push(e.data("_id")):f.push(e.data("_id"))}),t?(a.push(l),l=!1):e.hasClass((0,i.getOption)("singletonClass"))&&(a=f,l=!1));function g(e){"object"===(void 0===e?"undefined":o(e))&&(e=e.data("_id")),e&&e.length&&("#"!==e[0]&&(e="#"+e),a.push(e))}function v(e){if(c(e=jQuery(e))&&e.data("_key")){e.removeClass("__is_animating"),y(e),(0,d.doAction)("hide_area",e),(0,d.doAction)("hide_area-"+e.data("_key"),e),p("Hide",e),e.find("div .popup-trigger").off("._da"),function(e){u&&e.data("observe-resize")&&(u.unobserve(e[0]),e.data("observe-resize",!1))}(e);var t=e.parent();"skip"===e.data("_do_animation")?a():((0,n.info)("✨ Animate the area (hide)",e.data("_id")),(0,s.animateArea)(e,"hide",a)),(0,r.removeVisibleArea)(e)}function a(){e.detach().hide().data("_visible","no"),t.hasClass((0,i.getOption)("popupWrapperClass"))&&t.remove()}}t?(a=(0,d.applyFilters)("hide_ids_before_hide",a,e,f),a=(0,d.applyFilters)("hide_ids_before_hide-"+e.data("_key"),a,e,f),p("BeforeHide",e,f,g),(0,d.doAction)("before_hide",e,a),(0,d.doAction)("before_hide-"+e.data("_key"),e,a)):(a=(0,d.applyFilters)("hide_ids_before_show",a,e,f),a=(0,d.applyFilters)("hide_ids_before_show-"+e.data("_key"),a,e,f),p("BeforeShow",e,f,g),(0,d.doAction)("before_show",e,a),(0,d.doAction)("before_show-"+e.data("_key"),e,a));a.length&&(0,n.debug)("Hide following areas:",a);(0,r.loopVisibleAreas)("all",function(e){var t=e.data("_id");-1!==a.indexOf(t)&&v(e)}),l&&v(l)},t.getContext=v,t.addDomObserver=h,t.addResizeObserver=b,t.initContext=function(){(l=jQuery((0,i.getOption)("baseContext"))).length||(0,n.error)('Could not find the popup container "'+(0,i.getOption)("baseContext")+'"')},t.initExitIntent=function(){jQuery(window).on("mouseleave.da",function(e){var t;"input"!==e.target.tagName.toLowerCase()&&"textarea"!==e.target.tagName.toLowerCase()&&"select"!==e.target.tagName.toLowerCase()&&(t=Math.max(document.documentElement.clientWidth,window.innerWidth||0),e.clientX>=t-50||e.clientY>=50||e.toElement||e.relatedTarget||((0,n.info)("⚡️ Exit-intent detected"),(0,d.doAction)("exit_intent"),p("ExitIntent")))})},t.blurArea=y,t.focusArea=function(e){var t=(0,i.getOption)("activePopupClass");e&&!e.hasClass(t)&&(e.addClass(t),(0,d.doAction)("focus_area",e),(0,d.doAction)("focus_area-"+e.data("_key"),e),p("Focus",e),f(e))};var i=a(1),n=a(0),r=a(4),s=a(6),d=a(2),l=null,u=null;function p(e,t){var a=void 0,o=void 0,i=Array.prototype.slice.call(arguments);i.shift();var s=["DiviPopup:"+e],d=c(i[0]),l=[];for(d?(0,n.debug)("Broadcast area event:",e,i[0].data("_id")):(0,n.debug)("Broadcast global event:",e),window.DiviArea&&s.unshift("DiviArea:"+e),a=0;a<s.length;a++){if(d){var u=(0,r.getAllIds)(t);for(l.push({obj:t,event:s[a],params:i.slice(1)}),(0,n.verbose)('⚙ $("'+t.data("_id")+'").on("'+s[a]+'")'),o=0;o<u.length;o++){var p=":"+u[o].replace(/^#/,"");l.push({obj:jQuery(document),event:s[a]+p,params:i}),(0,n.verbose)('⚙ $(document).on("'+s[a]+p+'")')}}l.push({obj:jQuery(document),event:s[a],params:i}),(0,n.verbose)('⚙ $(document).on("'+s[a]+'")')}for(a=0;a<l.length;a++)l[a].obj.triggerHandler(l[a].event,l[a].params)}function c(e){return e&&e.length&&e instanceof jQuery&&e.data("_id")}function f(e){var t,a=void 0===e,o=void 0,s=void 0;if(void 0===e&&(e=v()),function(e){e.find((0,i.getOption)("popupSelector")).filter("[id]").each(function(){var e=jQuery(this);(0,n.debug)("Found an inline Popup Area:",e.attr("id")),DiviPopup.register(e,{},"popup")})}(e),(t=function(e,t){var a,o,i,n=[];if(!e.ids)return[];function r(e,t){var a;for(a=0;a<t.length;a++)jQuery(t[a]).attr("data-area-id")||n.push({id:e,item:jQuery(t[a])})}for(a=0;a<e.ids.length;a++)if(r(i=e.ids[a].replace(/^#/,""),jQuery('[href="#'+i+'"]',t)),e.linkPrefix&&r(i,jQuery('[href="#'+e.linkPrefix+i+'"]',t)),e.classPrefix&&r(i,jQuery("."+e.classPrefix+i,t)),e.dataAttrib&&r(i,jQuery("["+e.dataAttrib+'="'+i+'"]',t)),window.et_link_options_data)for(o=et_link_options_data.length-1;o>=0;o--)if("#"+i===et_link_options_data[o].url){var s=jQuery(".et_pb_module."+et_link_options_data[o].class,t);r(i,s),s.off("click"),et_link_options_data.splice(o,1)}return n}({ids:(0,r.getAllIds)("popup"),linkPrefix:"popup:",dataAttrib:(0,i.getOption)("idAttrib"),classPrefix:(0,i.getOption)("triggerClassPrefix")},e)).length){for(a?(0,n.debugGroup)("Activate all triggers in document"):(0,n.debugGroup)("Activate triggers in area",e.data("_id")),o=0;o<t.length;o++)C((s=t[o]).item,s.id);(0,n.debugGroup)()}else a?(0,n.debug)("No new triggers found in document"):(0,n.debug)("No new triggers found in area",e.data("_id"))}function g(e){void 0!==e&&((0,n.debug)("Deactivate all triggers in area",e.data("_id")),e.find("[data-area-id]").each(function(){!function(e){(0,n.debug)("Remove trigger:",e[0]),e.removeAttr("data-area-id"),e.removeClass("popup-trigger"),e.off("._da")}(jQuery(this))}))}function v(){return l}function h(e){var t=window.MutationObserver||window.WebKitMutationObserver,a=window.addEventListener,o=v();t?new t(function(t,a){return t[0].addedNodes.length?((0,n.debug)("DOM changed (nodes added)"),e()):t[0].removedNodes.length?((0,n.debug)("DOM changed (nodes removed)"),e()):void 0}).observe(o[0],{childList:!0,subtree:!0}):a&&(o.addEventListener("DOMNodeInserted",e,!1),o.addEventListener("DOMNodeRemoved",e,!1))}function b(e){var t=window.ResizeObserver||window.WebKitResizeObserver;t?u=new t(e):window.setInterval(e,750),jQuery(window).resize(e)}function y(e){var t=(0,i.getOption)("activePopupClass");e&&e.hasClass(t)&&(e.removeClass(t),(0,d.doAction)("blur_area",e),(0,d.doAction)("blur_area-"+e.data("_key"),e),p("Blur",e),g(e))}function m(e,t){c(e)||((0,n.debug)("Close the top-most area"),DiviPopup.hide())}function _(e){if(27===e.keyCode)return(0,n.info)("⚡️ ESC-key pressed"),(0,d.applyFilters)("esc_key_pressed",!1)?((0,n.debug)("Ignored, manually cancelled in filter"),!0):(0,r.countVisibleAreas)("popup")?((0,n.debug)("Close top-most popup"),(0,d.doAction)("close_area",!1,"esc"),p("Close"),!1):((0,n.debug)("Ignored, no popup is visible"),!0)}function w(){(0,r.loopAllAreas)("!inline",function(e,t){e.hasClass((0,i.getOption)("exitIndicatorClass"))&&DiviPopup.show(t)})}function C(e,t){var a;if(a=(0,r.getId)(t)){if(e.attr("data-area-id"))return e.off("._da"),e.on("click._da",o),void(0,n.debug)("Trigger already prepared",e[0]);(0,r.getArea)(a)?(e.attr("data-area-id",a),e.addClass("popup-trigger"),e.on("click._da",o),(0,n.debug)("Prepared trigger to open this area:",a,e[0])):(0,n.debug)("Ignore trigger. No area found with this ID:",e[0])}else(0,n.debug)("Ignore trigger. Invalid target ID:",t,e[0]);function o(e){return e.preventDefault(),(0,n.debug)("Trigger area:",a),DiviPopup.show(a),!1}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getId=f,t.getRealId=g,t.addAltId=function(e,t){if(e===t)return;t=f(t),null===e?delete c[t]:c[t]=e},t.getArea=v,t.registerArea=function(e,t,a){if(!(t=f(t)))return!1;var d=v(t);if(d)return d;var p=jQuery(t);if(!p.length)return!1;a&&(p=p.filter(a));if(!p||1!==p.length)return!1;"inline"===e?p.data("_visible","yes"):(p.detach(),p.data("_visible","no"));var c=t.replace(/-/g,"_").replace(/^#/,"");p.addClass(e),p.data("_id",t),p.data("_key",c),p.data("_type",e),(0,n.debug)("Area Type",e),(0,n.debug)("Area ID",t),(0,n.debug)("Area Hook",c),(0,o.attachCloseButton)(p),u[t]=p,p.hasClass((0,i.getOption)("notMobileClass"))?p.data("on-mobile",!1):p.data("on-mobile",(0,i.toBool)(p.data("on-mobile")));p.hasClass((0,i.getOption)("notTabletClass"))?p.data("on-tablet",!1):p.data("on-tablet",(0,i.toBool)(p.data("on-tablet")));p.hasClass((0,i.getOption)("notDesktopClass"))?p.data("on-desktop",!1):p.data("on-desktop",(0,i.toBool)(p.data("on-desktop")));p.hasClass((0,i.getOption)("withCloseClass"))?p.data("show-close",!0):p.hasClass((0,i.getOption)("noCloseClass"))?p.data("show-close",!1):p.data("show-close",(0,i.toBool)(p.data("show-close")));p.hasClass((0,i.getOption)("altCloseClass"))?p.data("close-alt",!0):p.data("close-alt",(0,i.toBool)(p.data("close-alt"),!1));p.hasClass((0,i.getOption)("modalIndicatorClass"))?p.data("is-modal",!0):p.data("is-modal",(0,i.toBool)(p.data("is-modal"),!1));p.hasClass((0,i.getOption)("exitIndicatorClass"))?p.data("trigger-exit",!0):p.data("trigger-exit",(0,i.toBool)(p.data("trigger-exit"),!1));p.hasClass((0,i.getOption)("noShadowClass"))?p.data("no-shadow",!0):p.data("no-shadow",(0,i.toBool)(p.data("no-shadow"),!1));p.hasClass((0,i.getOption)("darkModeClass"))?p.data("dark-mode",!0):p.data("dark-mode",(0,i.toBool)(p.data("dark-mode"),!1));p.hasClass((0,i.getOption)("singletonClass"))?p.data("singleton",!0):p.data("singleton",(0,i.toBool)(p.data("singleton"),!1));return p.data("position","center-center"),p.data("position-v","center"),p.data("position-h","center"),(0,o.configArea)(p),(0,l.doAction)("init_area",p),(0,l.doAction)("init_area-"+p.data("_key"),p),(0,r.broadcast)("Init",p),(0,s.initializeAreaAnimation)(p),(0,n.info)("➕ Registered new area:",t,"("+e+")"),p},t.getAllIds=function(e){var t=[];if(e&&e instanceof jQuery){var a=e.data("_id");for(var o in t.push(a),c)a===c[o]&&t.push(o)}else{for(var i in u){var n=u[i];_(e,n)&&t.push(i)}for(var r in c){var s=c[r],d=u[s];_(e,d)&&t.push(r)}}return t},t.loopAllAreas=function(e,t){for(var a in u){var o=u[a];_(e,o)&&t(o,a)}},t.countVisibleAreas=h,t.addVisibleArea=function(e){if(!(e=v(e)))return!1;var t=e.data("_type");if((0,n.debug)("Make area visible",e.data("_id")),"popup"!==t&&h("popup")){for(var a=0;a<p.length;a++)if("popup"===p[a].data("_type")){p.splice(a,0,e);break}}else p.push(e);if(e.find("div ."+(0,i.getOption)("triggerCloseClass")).off(".da"),e.find("."+(0,i.getOption)("closeButtonClass")).off(".da"),e.find("div ."+(0,i.getOption)("triggerCloseClass")).on("click.da",function(t){(0,n.debug)("Click on custom close-button"),(0,l.doAction)("close_area",e,"custom"),(0,l.doAction)("close_area-"+e.data("_key"),e,"custom"),(0,r.broadcast)("Close",e)}),e.hasClass((0,i.getOption)("withCloseClass"))){var o=e.find("."+(0,i.getOption)("closeButtonClass"));o.on("click.da",function(t){(0,n.debug)("Click on default close-button"),(0,l.doAction)("close_area",e,"default"),(0,l.doAction)("close_area-"+e.data("_key"),e,"default"),(0,r.broadcast)("Close",e)})}},t.removeVisibleArea=function(e){if(!(e=v(e)))return!1;var t=e.data("_id");(0,n.debug)("Make area hidden",t);for(var a=p.length-1;a>=0;a--){var o=p[a];t===o.data("_id")&&p.splice(a,1)}e.find("div ."+(0,i.getOption)("triggerCloseClass")).off(".da"),e.find("."+(0,i.getOption)("closeButtonClass")).off(".da")},t.getVisibleArea=b,t.loopVisibleAreas=y,t.reorderVisibleAreas=function(){var e=(0,i.getOption)("zIndex"),t=1,a=[];function o(o){var d=o.data("_type"),u=o.parent(),p=e+t;isNaN(o.data("z-index"))||(p=o.data("z-index")),u.hasClass((0,i.getOption)("popupWrapperClass"))||("inline"===d?(o.wrap("<div>"),u=o.parent()):((u=jQuery("<div/>")).appendTo((0,r.getContext)()),o.detach().appendTo(u)),u.addClass((0,i.getOption)("popupWrapperClass")),u.addClass("type-"+d),u.addClass("position-"+o.data("position"))),a.push({id:o.data("_id"),type:o.data("_type"),pos:t,zIndex:"inline"===d?"":p}),"inline"!==d&&u.css({zIndex:p}),t++,"yes"!==o.data("_visible")&&("skip"===o.data("_do_animation")?o.show():((0,n.info)("✨ Animate the area (show)",o.data("_id")),(0,s.animateArea)(o,"show")),o.data("_visible","yes"),(0,l.doAction)("show_area",o),(0,l.doAction)("show_area-"+o.data("_key"),o),(0,r.broadcast)("Show",o))}(0,n.debug)("Refresh order (z-index) of visible areas"),y("all",r.blurArea),y("inline",o),y("!popup,inline",o),h("popup")&&(a.push({id:"-",type:"overlay",pos:t,zIndex:(0,d.showOverlay)()}),y("popup",o));(0,n.info)("👓 List of visible Areas:"),(0,n.debugTable)(a),(0,r.focusArea)(b()),window.setTimeout(m,50)},t.doResizeAreas=m;var o=a(5),i=a(1),n=a(0),r=a(3),s=a(6),d=a(7),l=a(2),u={},p=[],c={};function f(e,t){if(e instanceof jQuery){if(e.data("_id"))return e.data("_id");e=e.attr("id")}if(!e)return"";if("#"!==e[0]&&(e="#"+e),t){var a=new RegExp("^#"+t+":");e=e.replace(a,"#",e)}return e?e.toString():""}function g(e){var t=f(e),a=f(c[t]);return void 0!==u[t]?t:void 0!==u[a]?a:""}function v(e){if(e instanceof jQuery)return!!e.data("_id")&&e;var t=g(e);return!!t&&u[t]}function h(e){if(!e||"all"===e)return p.length;var t=0;return y(e,function(){return t++}),t}function b(e,t){for(var a=p.length-1;a>=0;a--)if(_(e,p[a])){if(void 0===t||-1===t)return p[a];if(t===p[a].data("_id"))return p[a]}return!1}function y(e,t){for(var a=0;a<p.length;a++)_(e,p[a])&&t(p[a],a)}function m(){var e=parseInt(jQuery("html").css("marginTop")),t=jQuery(window).innerWidth(),a=jQuery(window).innerHeight()-e;y("all",function(e){var o,r,s=e.parent(),d=e.data("_type"),l={};"inline"===d||e.data("max-width")||(e.hasClass("et_pb_section")?e.data("max-width",e.outerWidth()+"px"):(e.data("max-width",e.children(".et_pb_section").first().outerWidth()+"px"),e.children(".et_pb_section").css({width:"100%",maxWidth:""})),(0,n.debug)("Auto max-width calculated:",e.data("_id"),e.data("max-width"))),e.data("max-height")&&(l.overflow="auto",l.maxHeight=e.data("max-height")),e.data("max-width")&&(l.maxWidth=e.data("max-width")),e.css(l),"popup"===d&&(r=isNaN(e[0].scrollHeight)?e.innerHeight:e[0].scrollHeight,o=isNaN(e[0].scrollWidth)?e.innerWidth:e[0].scrollWidth,t<o+20?s.addClass((0,i.getOption)("fullWidthClass")):s.removeClass((0,i.getOption)("fullWidthClass")),a<r+20?s.addClass((0,i.getOption)("fullHeightClass")):s.removeClass((0,i.getOption)("fullHeightClass")))})}function _(e,t){if(!e)return!0;if("all"===e)return!0;var a="!"===e[0],o=t.data("_type");e=e.replace("!","").split(",");for(var i=0;i<e.length;i++){if(e[i]=e[i].trim(),a&&e[i]===o)return!1;if(!a&&e[i]===o)return!0}return!!a}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.attachCloseButton=function(e){var t=(0,n.getOption)("closeButtonClass"),a=t+"_wrap",o=(0,n.getOption)("noCloseClass"),i=(0,n.getOption)("withCloseClass");if(e.find("."+a).length)return;var s=jQuery("<span />").addClass(a),d=jQuery('<a href="#close" />').addClass(t);d.html("×"),d.appendTo(s),s.appendTo(e),e.hasClass(o)||e.hasClass(i)||((0,n.getOption)("defaultShowCloseButton")?e.addClass(i):e.addClass(o));(0,r.debug)("Added default close button to area",e.data("_id"))},t.setupHoverArea=function(e){var t=jQuery(e.data("_trigger"));if(!t.length)return;var a=(0,n.isPositon)(t,"fixed"),o="#"+e.attr("id"),i=e.data("close-on"),l=1e3*e.data("close-delay"),u=e,p=!1,c=!1,f=!1;d&&(f=new d(function(e){var t=!0,a=!1,o=void 0;try{for(var i,n=e[Symbol.iterator]();!(t=(i=n.next()).done);t=!0){var r=i.value,s=r.contentRect,d=s.width+"-"+s.height;d!==c&&(c=d,v())}}catch(e){a=!0,o=e}finally{try{!t&&n.return&&n.return()}finally{if(a)throw o}}},{box:"border-box"}));function g(){(0,r.info)("📐 Position area relative to element:",t),u=e.closest(".popup_outer_wrap"),v(),(0,s.removeAction)("show_area-"+e.data("_key"),g)}function v(){var o=a?t[0].getBoundingClientRect():t.clientRect(),i={left:"",top:"",right:"",bottom:"",width:"",height:"",position:a?"fixed":"absolute"};"top"===e.data("position-v")?i.top=o.top:"bottom"===e.data("position-v")?i.top=o.bottom:"left"===e.data("position-h")?(i.top=o.top+o.height/2,i.left=o.left):"right"===e.data("position-h")?(i.top=o.top+o.height/2,i.left=o.right):(0,r.error)("Invalid position",e.data("position")),(0,r.debug)("Area position:",i),u.css(i)}function h(){b(),p=window.setTimeout(function(){DiviArea.hide(e.data("_id"))},l)}function b(){p&&window.clearTimeout(p),p=!1}(0,s.addAction)("show_area-"+e.data("_key"),function(){f&&f.observe(t[0]),function(){"click"===i?jQuery(document).on("click."+o,function(e){jQuery(e.target).closest(o).length||h()}):"hover"===i&&(e.on("mouseleave._dah",h),t.on("mouseleave._dah",h));t.on("mouseenter._dah",b),e.on("mouseenter._dah",b)}(),g()}),(0,s.addAction)("hide_area-"+e.data("_key"),function(){f&&f.disconnect(),jQuery(document).off("."+o),e.off("._dah"),t.off("._dah")}),(0,r.debug)("Prepared positioning of hover area")},t.checkViewport=function(e){var t=!0,a=jQuery(window).innerWidth();t=a<768?!!e.data("on-mobile"):a<981?!!e.data("on-tablet"):!!e.data("on-desktop");return t},t.triggerLazyLoad=function(e){jQuery("body").trigger("post-load")},t.triggerAnimations=function(e){void 0!==window.et_reinit_waypoint_modules&&window.et_reinit_waypoint_modules()},t.initRecaptcha=function(e){if(!window.grecaptcha)return;if(!e.find('input[name="g-recaptcha-response"]').length)return;if(e.find("[data-sitekey].g-recaptcha").length>0)e.find("form").each(function(){var e=jQuery(this),t=e.find("[data-sitekey].g-recaptcha");if(t.length&&!e.find('iframe[src*="/recaptcha/"]').length){var a={sitekey:t.attr("data-sitekey"),type:t.attr("data-type"),size:t.attr("data-size"),theme:t.attr("data-theme"),badge:t.attr("data-badge"),tabindex:t.attr("data-tabindex")},o=t.attr("data-callback"),i=t.attr("data-expired-callback");o&&"function"==typeof window[o]&&(a.callback=window[o]),i&&"function"==typeof window[i]&&(a["expired-callback"]=window[i]);var n=grecaptcha.render(t[0],a);window.recaptchaWidgets&&recaptchaWidgets.push(n)}});else{var t=jQuery('script[src*="google.com/recaptcha/api.js"]').attr("src"),a=t.replace(/^.*render=(.*)$/,"$1").split("&")[0];grecaptcha.execute(a,{action:"homepage"}).then(function(t){e.find('form [name="g-recaptcha-response]').val(t)})}},t.configArea=function(e,t,a){var r,s,d=(0,i.getArea)(e);if(!d||1!==d.length)return;if(r=d.data("_id"),"object"===(void 0===t?"undefined":o(t))){for(var l in t)t.hasOwnProperty(l)&&DiviPopup.config(d,l,t[l]);return}if(void 0!==t){if("string"!=typeof t)return;switch(t=t.trim().toLowerCase().replace(/-/g,"")){case"notmobile":s=(0,n.toBool)(d.data("on-mobile")),d.data("on-mobile",!(0,n.toBool)(a,!s));break;case"onmobile":s=(0,n.toBool)(d.data("on-mobile")),d.data("on-mobile",(0,n.toBool)(a,s));break;case"nottablet":s=(0,n.toBool)(d.data("on-tablet")),d.data("on-tablet",!(0,n.toBool)(a,!s));break;case"ontablet":s=(0,n.toBool)(d.data("on-tablet")),d.data("on-tablet",(0,n.toBool)(a,s));break;case"notdesktop":s=(0,n.toBool)(d.data("on-desktop")),d.data("on-desktop",!(0,n.toBool)(a,!s));break;case"ondesktop":s=(0,n.toBool)(d.data("on-desktop")),d.data("on-desktop",(0,n.toBool)(a,s));break;case"triggerexit":d.data("trigger-exit",(0,n.toBool)(a));break;case"hideclose":d.data("show-close",!(0,n.toBool)(a));break;case"showclose":d.data("show-close",(0,n.toBool)(a));break;case"closealt":d.data("close-alt",(0,n.toBool)(a));break;case"ismodal":d.data("is-modal",(0,n.toBool)(a));break;case"notmodal":d.data("is-modal",!(0,n.toBool)(a));break;case"shadow":d.data("no-shadow",!(0,n.toBool)(a));break;case"noshadow":d.data("no-shadow",(0,n.toBool)(a));break;case"dark":d.data("dark-mode",(0,n.toBool)(a));break;case"maxwidth":d.data("max-width",a);break;case"maxheight":d.data("max-height",a);break;case"zindex":d.data("z-index",parseInt(a));break;case"singleton":d.data("singleton",(0,n.toBool)(a));break;case"ids":case"alternateid":Array.isArray(a)?a.forEach(function(e){return(0,i.addAltId)(r,e)}):(0,i.addAltId)(r,a);break;case"position":var u=[];-1!==a.indexOf("top")?u.push("top"):-1!==a.indexOf("bottom")?u.push("bottom"):u.push("center"),-1!==a.indexOf("left")?u.push("left"):-1!==a.indexOf("right")?u.push("right"):u.push("center"),d.data("position",u.join("-")),d.data("position-v",u[0]),d.data("position-h",u[1]);break;case"closetrigger":d.data("close-on",a);break;case"closedelay":d.data("close-delay",parseFloat(a))}}d.data("on-mobile")?d.removeClass((0,n.getOption)("notMobileClass")):d.addClass((0,n.getOption)("notMobileClass"));d.data("on-tablet")?d.removeClass((0,n.getOption)("notTabletClass")):d.addClass((0,n.getOption)("notTabletClass"));d.data("on-desktop")?d.removeClass((0,n.getOption)("notDesktopClass")):d.addClass((0,n.getOption)("notDesktopClass"));d.data("trigger-exit")?d.addClass((0,n.getOption)("exitIndicatorClass")):d.removeClass((0,n.getOption)("exitIndicatorClass"));d.data("show-close")?(d.addClass((0,n.getOption)("withCloseClass")),d.removeClass((0,n.getOption)("noCloseClass"))):(d.addClass((0,n.getOption)("noCloseClass")),d.removeClass((0,n.getOption)("withCloseClass")));d.data("close-alt")?d.addClass((0,n.getOption)("altCloseClass")):d.removeClass((0,n.getOption)("altCloseClass"));d.data("is-modal")?d.addClass((0,n.getOption)("modalIndicatorClass")):d.removeClass((0,n.getOption)("modalIndicatorClass"));d.data("no-shadow")?d.addClass((0,n.getOption)("noShadowClass")):d.removeClass((0,n.getOption)("noShadowClass"));d.data("dark-mode")?d.addClass((0,n.getOption)("darkModeClass")):d.removeClass((0,n.getOption)("darkModeClass"));d.data("singleton")?d.addClass((0,n.getOption)("singletonClass")):d.removeClass((0,n.getOption)("singletonClass"))};var i=a(4),n=a(1),r=a(0),s=a(2),d=window.ResizeObserver||window.WebKitResizeObserver},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.animateArea=function(e,t,a){var s=!1,d=!1;if("show"===t&&"yes"===e.data("_visible"))return(0,i.debug)("Skip opening-animation, area is already visible"),!1;if("hide"===t&&"yes"!==e.data("_visible"))return(0,i.debug)("Skip closing-animation, area is not visible"),!1;window.TweenLite&&"flyin"===e.data("_type")&&(d=!0);"function"!=typeof a&&(a=function(){});if("hide"===t&&"flyin"!==e.data("_type"))return void a();e.hasClass("et_pb_section")&&jQuery.fn.waypoint&&"yes"!==et_pb_custom.ignore_waypoints&&function(e){var t=e.attr("data-animation"),a=!1;if(!t)return!1;if(!(a=n[t]))return!1;jQuery("body").css("overflow-x","hidden"),jQuery("#page-container").css("overflow-y","hidden"),e.attr({"data-animation-style":a.style,"data-animation-repeat":"once"===a.repeat?"":"infinite","data-animation-duration":a.duration,"data-animation-delay":a.delay,"data-animation-intensity":a.intensity,"data-animation-starting-opacity":a.starting_opacity,"data-animation-speed-curve":a.speed_curve}),r(e,{offset:"100%",handler:function(){!function(e){var t=e.attr("data-animation-style"),a=e.attr("data-animation-repeat"),o=e.attr("data-animation-duration"),i=e.attr("data-animation-delay"),n=e.attr("data-animation-intensity"),r=e.attr("data-animation-starting-opacity"),s=e.attr("data-animation-speed-curve");!function(e){for(var t=[],a=e.get(0).attributes,o=0;o<a.length;o++)"data-animation-"===a[o].name.substring(0,15)&&t.push(a[o].name);jQuery.each(t,function(t,a){e.removeAttr(a)})}(e);var d=isNaN(parseInt(r))?0:.01*parseInt(r);-1===jQuery.inArray(s,["linear","ease","ease-in","ease-out","ease-in-out"])&&(s="ease-in-out"),e.css({"animation-duration":o,"animation-delay":i,opacity:d,"animation-timing-function":s});for(var l={},u=isNaN(parseInt(n))?50:parseInt(n),p=["slide","zoom","flip","fold","roll"],c=!1,f=!1,g=0;g<p.length;g++){var v=p[g];if(t&&t.substr(0,v.length)===v){c=v,""!==(f=t.substr(v.length,t.length))&&(f=f.toLowerCase());break}}!1!==c&&!1!==f&&(l=function(e,t,a){var o={};switch(e){case"slide":switch(t){case"top":o={transform:"translate3d(0, "+(i=-2*a)+"%, 0)"};break;case"right":o={transform:"translate3d("+(i=2*a)+"%, 0, 0)"};break;case"bottom":o={transform:"translate3d(0, "+(i=2*a)+"%, 0)"};break;case"left":var i=-2*a;o={transform:"translate3d("+i+"%, 0, 0)"};break;default:o={transform:"scale3d("+(n=.01*(100-a))+", "+n+", "+n+")"}}break;case"zoom":var n=.01*(100-a);switch(t){case"top":case"right":case"bottom":case"left":default:o={transform:"scale3d("+n+", "+n+", "+n+")"}}break;case"flip":switch(t){case"right":o={transform:"perspective(2000px) rotateY("+(r=Math.ceil(.9*a))+"deg)"};break;case"left":o={transform:"perspective(2000px) rotateY("+(r=-1*Math.ceil(.9*a))+"deg)"};break;case"top":default:o={transform:"perspective(2000px) rotateX("+(r=Math.ceil(.9*a))+"deg)"};break;case"bottom":o={transform:"perspective(2000px) rotateX("+(r=-1*Math.ceil(.9*a))+"deg)"}}break;case"fold":switch(t){case"top":o={transform:"perspective(2000px) rotateX("+(r=-1*Math.ceil(.9*a))+"deg)"};break;case"bottom":o={transform:"perspective(2000px) rotateX("+(r=Math.ceil(.9*a))+"deg)"};break;case"left":o={transform:"perspective(2000px) rotateY("+(r=Math.ceil(.9*a))+"deg)"};break;case"right":default:o={transform:"perspective(2000px) rotateY("+(r=-1*Math.ceil(.9*a))+"deg)"}}break;case"roll":switch(t){case"right":case"bottom":o={transform:"rotateZ("+(r=-1*Math.ceil(3.6*a))+"deg)"};break;case"top":case"left":o={transform:"rotateZ("+(r=Math.ceil(3.6*a))+"deg)"};break;default:var r=Math.ceil(3.6*a);o={transform:"rotateZ("+r+"deg)"}}}return o}(c,f,u)),jQuery.isEmptyObject(l)||e.css(l),e.addClass("et_animated"),e.addClass(t),e.addClass(a)}(jQuery(this.element))}})}(e)&&(s=!0);d?function(e,t,a){(0,i.debug)("Animate Area using GSAP");var n=(0,o.getOption)("animateSpeed"),r={},s={};e.css({opacity:"show"===t?0:1,transition:"all 0s"}),e.show(),window.setTimeout(function(){"left"===e.data("position-h")?(r.left=-1*e.outerWidth(),s.left=0):"right"===e.data("position-h")?(r.right=-1*e.outerWidth(),s.right=0):"top"===e.data("position-v")?(r.top=-1*e.outerHeight(),s.top=0):"bottom"===e.data("position-v")&&(r.bottom=-1*e.outerHeight(),s.bottom=0),r.opacity=1,s.opacity=1,"hide"===t?(e.css(s),TweenLite.to(e,n/1e3,{css:r})):(e.css(r),TweenLite.to(e,n/1e3,{css:s})),window.setTimeout(a,n)},5)}(e,t,a):s?function(e,t,a){(0,i.debug)("Animate Area using a Divi Animation"),e.show(),e.css({opacity:0}),window.setTimeout(function(){e.css({opacity:""}),r(e,{offset:"100%",handler:function(){e.addClass("et-animated"),a()}},2)},10)}(e,0,a):function(e,t,a){"show"===t?((0,i.debug)("Animate Area using jQuery fadeIn"),e.fadeIn((0,o.getOption)("animateSpeed"),a)):"hide"===t&&((0,i.debug)("Animate Area using jQuery fadeOut"),e.fadeOut((0,o.getOption)("animateSpeed"),a))}(e,t,a)},t.initializeAreaAnimation=function(e){if(!window.et_animation_data||!window.et_animation_data.length>0)return!1;e.removeClass("et-waypoint"),e.removeClass("et-animated");for(var t=0;t<et_animation_data.length;t++){var a=!1,o=et_animation_data[t];o&&(o.class&&e.hasClass(o.class)&&o.style&&o.repeat&&o.duration&&o.delay&&o.intensity&&o.starting_opacity&&o.speed_curve&&(a=o.class,e.addClass("pfd-waypoint"),e.attr("data-animation",a),n[a]=o,et_animation_data[t].class=void 0))}};var o=a(1),i=a(0),n={};function r(e,t,a){a=a||e.data("et_waypoint_max_instances")||1;var o=e.data("et_waypoint")||[];if(o.length<a){var i=e.waypoint(t);i&&i.length>0&&(o.push(i[0]),e.data("et_waypoint",o))}else for(var n=0;n<o.length;n++)o[n].context.refresh()}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showOverlay=function(){var e=(0,n.getOption)("zIndex");null===d&&((d=jQuery("<div />")).addClass((0,n.getOption)("overlayClass")),d.prependTo((0,i.getContext)()),d.on("click.popup",p));e+=Math.max(0,(0,o.countVisibleAreas)()),d.css({zIndex:e}),l||(l=!0,(0,r.info)("⤴️ Show background overlay"),d.fadeIn((0,n.getOption)("animateSpeed"),function(){jQuery("body").addClass((0,n.getOption)("openPopupClass"))}),(0,s.doAction)("show_overlay"),(0,i.broadcast)("OverlayShow"));return e},t.hideOverlay=u;var o=a(4),i=a(3),n=a(1),r=a(0),s=a(2),d=null,l=!1;function u(){l&&(l=!1,(0,r.info)("⤵️ Hide background overlay"),d.hide(),jQuery("body").removeClass((0,n.getOption)("openPopupClass")),(0,s.doAction)("hide_overlay"),(0,i.broadcast)("OverlayHide"))}function p(e){if((0,r.info)("⚡️ Click on background overlay"),e.preventDefault(),(0,s.applyFilters)("ignore_overlay_click",!1))return(0,r.debug)("Ignore click:","Manually cancelled via filter"),!1;if((0,s.doAction)("click_overlay"),(0,i.broadcast)("OverlayClick"),!(0,o.countVisibleAreas)("popup"))return(0,r.debug)("Ignore click:","No visible Popups found"),!1;var t=(0,o.getVisibleArea)("popup");return t.length?t.hasClass((0,n.getOption)("modalIndicatorClass"))?((0,r.debug)("Ignore click:",'Top-most popup is marked as "modal"'),!1):((0,s.doAction)("close_area"),(0,o.countVisibleAreas)("popup")||u(),!1):((0,r.debug)("Ignore click:",'Top-most popup is marked as "modal"'),!1)}},function(e,t,a){a(9),e.exports=a(12)},function(e,t,a){"use strict";var o=function(e){return e&&e.__esModule?e:{default:e}}(a(10));window.DiviArea=0,window.DiviArea=window.DiviPopup=new o.default},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,a,o){return a&&e(t.prototype,a),o&&e(t,o),t}}(),i=a(1),n=a(0),r=a(4),s=a(5),d=a(3),l=a(7),u=a(2),p=function(e){return e&&e.__esModule?e:{default:e}}(a(11));function c(e,t){(0,d.isArea)(e)&&DiviArea.hide(e.data("_id"))}var f=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var t=[window.location.protocol,"//",window.location.host,"/wp-admin/edit.php?post_type=divi-area&page=settings#frontend"];this.app=window.DiviArea?"Divi Areas Pro":"Popups for Divi",this.lib=window.DiviArea?"DiviArea":"DiviPopup",this.version="1.0.0",this.info=this.lib+"-"+this.version,(0,n.info)("🚀 Initialize "+this.app,"- JS API:",this.info),window.DiviArea?(0,n.info)("ℹ️ You can disable the debug output on the Settings page:",t.join("")):(0,n.info)("ℹ️ You can disable the debug output by disabling WP_DEBUG"),(0,n.debug)("Details about the Debug Mode","https://divimode.com/knowledge-base/debug-options/"),(0,p.default)(),(0,i.initOptions)(),(0,d.initContext)(),(0,d.initExitIntent)(),(0,i.getOption)("initializeOnEvent")?jQuery(window,document).on((0,i.getOption)("initializeOnEvent"),function(){window.setTimeout(d.initializeModule,1)}):window.setTimeout(d.initializeModule,1)}return o(e,[{key:"markClosed",value:function(e,t){if((0,i.getOption)("debug")){var a=(0,r.getId)(e);(0,n.info)("📌 Mark Area as closed for "+t+" minutes:",a)}(0,i.setLocalData)(e,"1",t)}},{key:"isClosed",value:function(e){var t=(0,i.getLocalData)(e);if((0,i.getOption)("debug")){var a=(0,r.getId)(e);"1"===t?(0,n.info)("📌 Area is still closed:",a):(0,n.info)("📌 Area is not closed:",a)}return"1"===t}},{key:"register",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments[2];if(!(e=(0,r.getId)(e)))return!1;var o,i=(0,r.getArea)(e);if(i)return i;if(a||(a=(o=jQuery((0,r.getId)(e))).data("_type")),!a&&o.length)for(var d=o.attr("class").split(" "),l=0;l<d.length;l++)if(0===d[l].indexOf("divi-area-type-")){a=d[l].replace("divi-area-type-","");break}if(!a)return!1;(0,n.debugGroup)("Register Area | "+a+" | "+e);var u=(0,r.registerArea)(a,e,t.selector);return!(!u||!u.length)&&(Object.keys(t).forEach(function(e){(0,s.configArea)(u,e,t[e])}),"inline"===a&&((0,s.triggerLazyLoad)(u),this.show(e)),(0,n.debugGroup)(),u)}},{key:"config",value:function(e,t,a){(0,s.configArea)(e,t,a)}},{key:"show",value:function(e,t){var a=(0,r.getId)(e),o=(0,r.getArea)(a),l=0,p=!1;if((0,n.debugGroup)("Show area",a),!o||!o.length)return(0,n.error)("Could not find an area with the ID:",a),(0,n.debugGroup)(),!1;if(!(0,s.checkViewport)(o))return(0,n.debug)("Do not trigger area on this device:",a),(0,n.debugGroup)(),!1;var f=o.data("_type");return"yes"===o.data("_visible")&&o.data("_do_animation","skip"),t&&(t.delegateTarget?p=t.delegateTarget:t.target&&(p=t.target)),o.data("_trigger",p),(0,n.debug)("Trigger element:",p||"(none)"),"inline"!==f&&((0,d.removeArea)(o),o.removeClass((0,i.getOption)("exitIndicatorClass"))),"hover"===f&&(0,s.setupHoverArea)(o),(0,r.addVisibleArea)(o),(0,u.addAction)("close_area-"+o.data("_key"),c),(0,d.reOrderAreas)(o),"inline"!==f&&("skip"!==o.data("_do_animation")&&o.data("animation")&&(o.css({transition:"none"}),l+=(0,i.toMilliseconds)(o.css("animation-delay")),l+=(0,i.toMilliseconds)(o.css("animation-duration")),o.addClass("__is_animating"),window.setTimeout(function(){"yes"===o.data("_visible")&&o.removeClass("__is_animating")},l+50)),window.setTimeout(function(){(0,s.triggerLazyLoad)(o),(0,s.triggerAnimations)(o),(0,s.initRecaptcha)(o)},50)),(0,n.debugGroup)(),o.data("_do_animation",""),!0}},{key:"hide",value:function(e){var t;(0,r.countVisibleAreas)()&&(t=e?(0,r.getVisibleArea)("all",(0,r.getRealId)(e)):(0,r.getVisibleArea)("all"))&&((0,n.debug)("Close area and unlink event handlers:",t.data("_id")),(0,d.removeArea)(t,!0)),(0,r.countVisibleAreas)("popup")?(0,d.reOrderAreas)():DiviPopup.hideOverlay()}},{key:"showOverlay",value:function(){(0,l.showOverlay)()}},{key:"hideOverlay",value:function(){(0,l.hideOverlay)()}},{key:"addFilter",value:function(e,t,a){u.addFilter.apply(window,arguments)}},{key:"addAction",value:function(e,t,a){u.addAction.apply(window,arguments)}},{key:"removeFilter",value:function(e,t,a){u.removeFilter.apply(window,arguments)}},{key:"removeAction",value:function(e,t,a){u.removeAction.apply(window,arguments)}},{key:"applyFilters",value:function(e,t){return u.applyFilters.apply(window,arguments)}},{key:"doAction",value:function(e,t){u.doAction.apply(window,arguments)}},{key:"openPopup",value:function(e){(0,n.error)("DiviPopup.openPopup() is deprecated. Please use DiviPopup.show() instead"),DiviPopup.show(e)}},{key:"openArea",value:function(e){(0,n.error)("DiviArea.openArea() is deprecated. Please use DiviArea.show() instead"),DiviPopup.show(e)}},{key:"closePopup",value:function(e){(0,n.error)("DiviPopup.closeArea() is deprecated. Please use DiviPopup.hide() instead"),DiviPopup.hide(e)}},{key:"closeArea",value:function(e){(0,n.error)("DiviArea.closeArea() is deprecated. Please use DiviArea.hide() instead"),DiviPopup.hide(e)}},{key:"broadcast",value:function(e,t,a){(0,n.error)("DiviArea.broadcast() is deprecated. Please use DiviArea.doAction() instead"),d.broadcast.apply(window,arguments)}},{key:"observe",value:function(e,t,a){d.observe.apply(window,arguments)}}]),e}();t.default=f},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){!function(e){e.support.getBoundingClientRect="getBoundingClientRect"in document.documentElement,e.fn.clientRect=function(){var t={top:0,left:0,width:0,height:0,bottom:0,right:0};if(0===this.length)return t;var a,o=this[0],i=o.ownerDocument,n=i.documentElement;if(!e.contains(n,o))return t;if(e.support.getBoundingClientRect){try{a=o.getBoundingClientRect()}catch(e){}if(!a)return t;if(a.right===a.left&&a.top===a.bottom)return t;var r=function(t){return e.isWindow(t)?t:9===t.nodeType&&(t.defaultView||t.parentWindow)}(i);t.top=a.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),t.left=a.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0),t.width=a.right-a.left,t.height=a.bottom-a.top}else{if("none"==this.css("display"))return t;(t=this.offset()).width=this.outerWidth(),t.height=this.outerHeight()}return t.bottom=t.top+t.height,t.right=t.left+t.width,t}}(jQuery)}},function(e,t,a){}]);
|
1 |
+
!function(e){var t={};function a(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,a),i.l=!0,i.exports}a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)a.d(o,i,function(t){return e[t]}.bind(null,i));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=8)}([function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.debugGroup=function(e){if(DiviPopupData.debug&&console.group){var t=!o||e&&e!==o;if(o&&(console.groupEnd(),o=!1),e&&t){var a=Array.prototype.slice.call(arguments);a.unshift("[DiviAreas]"),console.group.apply(this,a),o=e}}},t.debugTable=function(){if(DiviPopupData.debug){var e=Array.prototype.slice.call(arguments);Array.isArray(e[0])||(e=[e]),console.table?console.table.apply(this,e):console.log.apply(this,e)}},t.verbose=function(){if(DiviPopupData.debug&&DiviPopupData.debugVerbose){var e=Array.prototype.slice.call(arguments);e.unshift("color:#cfd8dc;font-style:italic"),e.unshift("[DiviAreas] %c%s"),console.debug.apply(this,e)}},t.debug=function(){if(DiviPopupData.debug){var e=Array.prototype.slice.call(arguments);e.unshift("color:#90a4ae"),e.unshift("[DiviAreas] %c%s"),console.debug.apply(this,e)}},t.info=function(){if(DiviPopupData.debug){var e=Array.prototype.slice.call(arguments);e.unshift("color:#0288d1;background:#fafcfe"),e.unshift("[DiviAreas] %c%s"),console.log.apply(this,e)}},t.error=function(){var e=Array.prototype.slice.call(arguments);e.unshift("[DiviAreas]"),console.error.apply(this,e)};var o=!1},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getOption=function(e){var t=DiviPopupData[e],a=e.toLowerCase();return(0,i.applyFiltersSilently)("get_option_"+a,t)},t.toBool=function(e,t){void 0===t&&(t=!0);if(void 0===e||null===e)return!!t;if(!0===e||!1===e)return e;"string"==typeof e&&(e=e.toLowerCase());if(0===e||"0"===e||"n"===e[0]||"f"===e[0]||"off"===e)return!1;if(1===e||"1"===e||"y"===e[0]||"t"===e[0]||"on"===e)return!0;return!!t},t.setLocalData=function(e,t,a){(!a||isNaN(a)||a<1)&&(a=525600);var o=e.replace(/-/g,"_");if(t=(0,i.applyFilters)("set_local_data_value-"+o,t,e,a),a=(0,i.applyFilters)("set_local_data_expiration-"+o,a,e,t),window.localStorage){var n=new Date;n=n.setMinutes(n.getMinutes()+a),localStorage.setItem("_da_"+e,n+":"+t)}else r("_da_"+e,t,a)},t.getLocalData=function(e){var t=!1;if(window.localStorage){var a=localStorage.getItem("_da_"+e);if(a){var o=a.split(":"),n=parseInt(o.shift()),r=o.join(":");n>new Date?t=r:localStorage.removeItem("_da_"+e)}}else t=s("_da_"+e);var d=e.replace(/-/g,"_");return(0,i.applyFilters)("get_local_data-"+d,t)},t.setCookie=r,t.getCookie=s,t.toMilliseconds=function(e){var t,a=parseFloat(e,10),o=e.match(/m?s/);o&&(o=o[0]);switch(o){case"s":t=1e3*a;break;case"ms":t=a;break;default:t=0}return t},t.initOptions=function(){var e={popupSelector:".et_pb_section.popup",fullWidthClass:"popup_full_width",fullHeightClass:"popup_full_height",openPopupClass:"evr_popup_open",overlayClass:"evr_fb_popup_modal",modalIndicatorClass:"is-modal",exitIndicatorClass:"on-exit",activePopupClass:"is-open",noCloseClass:"no-close",altCloseClass:"close-alt",notMobileClass:"not-mobile",notTabletClass:"not-tablet",notDesktopClass:"not-desktop",withCloseClass:"with-close",singletonClass:"single",darkModeClass:"dark",noShadowClass:"with-shadow",closeButtonClass:"evr-close",defaultShowCloseButton:!0,idAttrib:"data-popup",triggerClassPrefix:"show-popup-",baseContext:"body",triggerCloseClass:"close",zIndex:1e5,onExitDelay:2e3,animateSpeed:300,debug:!1,debugVerbose:!1,initializeOnEvent:"et_pb_after_init_modules"};if(window.DiviPopupData)for(var t in e)void 0===DiviPopupData[t]&&(DiviPopupData[t]=e[t]),DiviPopupData[t].replace&&(DiviPopupData[t]=DiviPopupData[t].replace(/^[\s\xA0]+|[\s\xA0]+$/g,""));else window.DiviPopupData=e;DiviPopupData.zIndex=parseInt(DiviPopupData.zIndex),DiviPopupData.onExitDelay=parseInt(DiviPopupData.onExitDelay),DiviPopupData.animateSpeed=parseInt(DiviPopupData.animateSpeed),DiviPopupData.debug=!!DiviPopupData.debug,DiviPopupData.defaultShowCloseButton=!!DiviPopupData.defaultShowCloseButton,(!DiviPopupData.triggerClassPrefix||DiviPopupData.triggerClassPrefix.length<3)&&(DiviPopupData.triggerClassPrefix=!1);"body"===DiviPopupData.baseContext&&1===jQuery("body.et_divi_theme #page-container").length&&(DiviPopupData.baseContext="#page-container",(0,n.info)("🎚 Divi theme detected.","Inject Areas into #page-container"));"body"===DiviPopupData.baseContext||jQuery(DiviPopupData.baseContext).length||(DiviPopupData.baseContext="body",(0,n.info)("🎚 Invalid baseContext given.","Inject Areas into body instead."));DiviPopupData=(0,i.applyFilters)("init_options",DiviPopupData),(0,o.broadcast)("OptionsReady")},t.isPositon=function e(t,a){var o=t.offsetParent();if("HTML"===o.prop("tagName"))return!1;return o.css("position")===a||e(o,a)};var o=a(3),i=a(2),n=a(0);function r(e,t,a){var o=escape(t);if(a){var i=new Date;i.setMinutes(i.getMinutes()+a),o+="; expires="+i.toUTCString()}document.cookie=e+"="+o+"; path=/"}function s(e){var t,a,o,i=document.cookie.split(";");for(t=0;t<i.length;t++)if(a=i[t].substr(0,i[t].indexOf("=")),o=i[t].substr(i[t].indexOf("=")+1),(a=a.replace(/^\s+|\s+$/g,""))===e)return unescape(o);return!1}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeFilter=function(e,t){"string"==typeof e&&(n(e,t),(0,o.debug)("Remove Filter:",e))},t.removeAction=function(e,t){"string"==typeof e&&(n(e,t),(0,o.debug)("Remove Action:",e))},t.applyFilters=function(e,t){var a=Array.prototype.slice.call(arguments);if("string"==typeof(e=a.shift()))return(0,o.info)("📢️ Apply Filters:",e),(0,o.debug)('⚙ DiviArea.addFilter("'+e+'", callback)'),s("filter",e,a);return!1},t.doAction=function(e,t){var a=Array.prototype.slice.call(arguments);"string"==typeof(e=a.shift())&&((0,o.info)("📢️ Do Action:",e),(0,o.debug)('⚙ DiviArea.addAction("'+e+'", callback)'),s("action",e,a))},t.applyFiltersSilently=function(e,t){var a=Array.prototype.slice.call(arguments);if("string"==typeof(e=a.shift()))return(0,o.verbose)("📢️ Apply Filters:",e),(0,o.verbose)('⚙ DiviArea.addFilter("'+e+'", callback)'),s("filter",e,a);return!1},t.addFilter=function(e,t,a,i){"string"==typeof e&&"function"==typeof t&&(r(e,t,parseInt(a||10,10),i||window),(0,o.debug)("Add Filter:",e))},t.addAction=function(e,t,a,i){"string"==typeof e&&"function"==typeof t&&(r(e,t,parseInt(a||10,10),i||window),(0,o.debug)("Add Action:",e))};var o=a(0),i={};function n(e,t,a){var o,n,r;if(i[e]){if(t)if((o=i[e])&&a)for(r=o.length;r--;)(n=o[r]).callback===t&&n.context===a&&(o[r]=!1);else for(r=o.length;r--;)o[r].callback===t&&(o[r]=!1)}else i[e]=[]}function r(e,t,a,o){var n={callback:t,priority:a,context:o},r=i[e];r?(r.push(n),r=function(e){var t,a,o,i,n=e.length;for(i=1;i<n;i++)for(t=e[i],a=i;a>0;a--)(o=e[a-1]).priority>t.priority&&(e[a]=o,e[a-1]=t);return e}(r)):r=[n],i[e]=r}function s(e,t,a){var o,n=i[t],r=!1,s=void 0;if(n){var d=n.length;for(o=0;o<d;o++)n[o]?"filter"===e?void 0!==(s=n[o].callback.apply(n[o].context,a))&&(a[0]=s):(!n[o]||n[o].callback,n[o].callback.apply(n[o].context,a)):r=1;if(r)for(o=d;o--;)n[o]||n.splice(o,1)}if("filter"===e)return a[0]}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.initializeModule=function(){(0,n.debug)("Initialize the app"),jQuery(document).trigger("DiviAreas:Loaded",[window.DiviAreas]),(0,d.doAction)("load"),p("Load"),function(){var e=jQuery(".et_pb_fullscreen_nav_container #mobile_menu_slide");if(!e.length)return;e.parent().css({minHeight:e.outerHeight()})}(),h(f),b(r.doResizeAreas),jQuery(document).on("keyup",_),window.setTimeout(function(){(0,d.addAction)("exit_intent",w)},(0,i.getOption)("onExitDelay")),(0,d.addAction)("close_area",m),f(),(0,d.doAction)("ready"),p("Ready")},t.broadcast=p,t.observe=function(e,t,a){var o=".__"+e,i="DiviPopup:"+e,r=c(a);function s(o,i){var s=window;return r?((0,n.verbose)("Handle observed area event",e,a.data("_id")),s=a):(i&&jQuery(i).data("_id")&&(s=jQuery(i)),(0,n.verbose)("Handle observed global event",e)),t.apply(s,arguments)}(0,n.error)("observe() is deprecated. Use DiviArea.addAction() or DiviArea.addFilter() instead!"),r?((0,n.debug)("[DEPRECATED] Observe area event:",e,a.data("_id")),a.off(o),a.on(i+o,s)):((0,n.debug)("[DEPRECATED] Observe global event:",e),jQuery(document).off(o),jQuery(document).on(i+o,s))},t.isArea=c,t.reOrderAreas=function(e){if(!(0,r.countVisibleAreas)())return;(0,r.reorderVisibleAreas)(),e&&function(e){u&&!e.data("observe-resize")&&(u.observe(e[0]),e.data("observe-resize",!0))}(e);(0,r.countVisibleAreas)("popup")&&DiviPopup.showOverlay()},t.doActivateTriggers=f,t.doDeactivateTriggers=g,t.removeArea=function(e,t){var a=[],l=(e=jQuery(e)).data("_id"),f=[];"popup"===e.data("_type")&&((0,r.loopVisibleAreas)("popup",function(e){e.hasClass((0,i.getOption)("singletonClass"))?a.push(e.data("_id")):f.push(e.data("_id"))}),t?(a.push(l),l=!1):e.hasClass((0,i.getOption)("singletonClass"))&&(a=f,l=!1));function g(e){"object"===(void 0===e?"undefined":o(e))&&(e=e.data("_id")),e&&e.length&&("#"!==e[0]&&(e="#"+e),a.push(e))}function v(e){if(c(e=jQuery(e))&&e.data("_key")){e.removeClass("__is_animating"),y(e),(0,d.doAction)("hide_area",e),(0,d.doAction)("hide_area-"+e.data("_key"),e),p("Hide",e),e.find("div .popup-trigger").off("._da"),function(e){u&&e.data("observe-resize")&&(u.unobserve(e[0]),e.data("observe-resize",!1))}(e);var t=e.parent();"skip"===e.data("_do_animation")?a():((0,n.info)("✨ Animate the area (hide)",e.data("_id")),(0,s.animateArea)(e,"hide",a)),(0,r.removeVisibleArea)(e)}function a(){e.detach().hide().data("_visible","no"),t.hasClass((0,i.getOption)("popupWrapperClass"))&&t.remove()}}t?(a=(0,d.applyFilters)("hide_ids_before_hide",a,e,f),a=(0,d.applyFilters)("hide_ids_before_hide-"+e.data("_key"),a,e,f),p("BeforeHide",e,f,g),(0,d.doAction)("before_hide",e,a),(0,d.doAction)("before_hide-"+e.data("_key"),e,a)):(a=(0,d.applyFilters)("hide_ids_before_show",a,e,f),a=(0,d.applyFilters)("hide_ids_before_show-"+e.data("_key"),a,e,f),p("BeforeShow",e,f,g),(0,d.doAction)("before_show",e,a),(0,d.doAction)("before_show-"+e.data("_key"),e,a));a.length&&(0,n.debug)("Hide following areas:",a);(0,r.loopVisibleAreas)("all",function(e){var t=e.data("_id");-1!==a.indexOf(t)&&v(e)}),l&&v(l)},t.getContext=v,t.addDomObserver=h,t.addResizeObserver=b,t.initContext=function(){(l=jQuery((0,i.getOption)("baseContext"))).length||(0,n.error)('Could not find the popup container "'+(0,i.getOption)("baseContext")+'"')},t.initExitIntent=function(){jQuery(window).on("mouseleave.da",function(e){var t;"input"!==e.target.tagName.toLowerCase()&&"textarea"!==e.target.tagName.toLowerCase()&&"select"!==e.target.tagName.toLowerCase()&&(t=Math.max(document.documentElement.clientWidth,window.innerWidth||0),e.clientX>=t-50||e.clientY>=50||e.toElement||e.relatedTarget||((0,n.info)("⚡️ Exit-intent detected"),(0,d.doAction)("exit_intent"),p("ExitIntent")))})},t.blurArea=y,t.focusArea=function(e){var t=(0,i.getOption)("activePopupClass");e&&!e.hasClass(t)&&(e.addClass(t),(0,d.doAction)("focus_area",e),(0,d.doAction)("focus_area-"+e.data("_key"),e),p("Focus",e),f(e))};var i=a(1),n=a(0),r=a(4),s=a(6),d=a(2),l=null,u=null;function p(e,t){var a=void 0,o=void 0,i=Array.prototype.slice.call(arguments);i.shift();var s=["DiviPopup:"+e],d=c(i[0]),l=[];for(d?(0,n.debug)("Broadcast area event:",e,i[0].data("_id")):(0,n.debug)("Broadcast global event:",e),window.DiviArea&&s.unshift("DiviArea:"+e),a=0;a<s.length;a++){if(d){var u=(0,r.getAllIds)(t);for(l.push({obj:t,event:s[a],params:i.slice(1)}),(0,n.verbose)('⚙ $("'+t.data("_id")+'").on("'+s[a]+'")'),o=0;o<u.length;o++){var p=":"+u[o].replace(/^#/,"");l.push({obj:jQuery(document),event:s[a]+p,params:i}),(0,n.verbose)('⚙ $(document).on("'+s[a]+p+'")')}}l.push({obj:jQuery(document),event:s[a],params:i}),(0,n.verbose)('⚙ $(document).on("'+s[a]+'")')}for(a=0;a<l.length;a++)l[a].obj.triggerHandler(l[a].event,l[a].params)}function c(e){return e&&e.length&&e instanceof jQuery&&e.data("_id")}function f(e){var t,a=void 0===e,o=void 0,s=void 0;if(void 0===e&&(e=v()),function(e){e.find((0,i.getOption)("popupSelector")).filter("[id]").each(function(){var e=jQuery(this);(0,n.debug)("Found an inline Popup Area:",e.attr("id")),DiviPopup.register(e,{},"popup")})}(e),(t=function(e,t){var a,o,i,n=[];if(!e.ids)return[];function r(e,t){var a;for(a=0;a<t.length;a++)jQuery(t[a]).attr("data-area-id")||n.push({id:e,item:jQuery(t[a])})}for(a=0;a<e.ids.length;a++)if(r(i=e.ids[a].replace(/^#/,""),jQuery('[href="#'+i+'"]',t)),e.linkPrefix&&r(i,jQuery('[href="#'+e.linkPrefix+i+'"]',t)),e.classPrefix&&r(i,jQuery("."+e.classPrefix+i,t)),e.dataAttrib&&r(i,jQuery("["+e.dataAttrib+'="'+i+'"]',t)),window.et_link_options_data)for(o=et_link_options_data.length-1;o>=0;o--)if("#"+i===et_link_options_data[o].url){var s=jQuery(".et_pb_module."+et_link_options_data[o].class,t);r(i,s),s.off("click"),et_link_options_data.splice(o,1)}return n}({ids:(0,r.getAllIds)("popup"),linkPrefix:"popup:",dataAttrib:(0,i.getOption)("idAttrib"),classPrefix:(0,i.getOption)("triggerClassPrefix")},e)).length){for(a?(0,n.debugGroup)("Activate all triggers in document"):(0,n.debugGroup)("Activate triggers in area",e.data("_id")),o=0;o<t.length;o++)C((s=t[o]).item,s.id);(0,n.debugGroup)()}else a?(0,n.debug)("No new triggers found in document"):(0,n.debug)("No new triggers found in area",e.data("_id"))}function g(e){void 0!==e&&((0,n.debug)("Deactivate all triggers in area",e.data("_id")),e.find("[data-area-id]").each(function(){!function(e){(0,n.debug)("Remove trigger:",e[0]),e.removeAttr("data-area-id"),e.removeClass("popup-trigger"),e.off("._da")}(jQuery(this))}))}function v(){return l}function h(e){var t=window.MutationObserver||window.WebKitMutationObserver,a=window.addEventListener,o=v();t?new t(function(t,a){return t[0].addedNodes.length?((0,n.debug)("DOM changed (nodes added)"),e()):t[0].removedNodes.length?((0,n.debug)("DOM changed (nodes removed)"),e()):void 0}).observe(o[0],{childList:!0,subtree:!0}):a&&(o.addEventListener("DOMNodeInserted",e,!1),o.addEventListener("DOMNodeRemoved",e,!1))}function b(e){var t=window.ResizeObserver||window.WebKitResizeObserver;t?u=new t(e):window.setInterval(e,750),jQuery(window).resize(e)}function y(e){var t=(0,i.getOption)("activePopupClass");e&&e.hasClass(t)&&(e.removeClass(t),(0,d.doAction)("blur_area",e),(0,d.doAction)("blur_area-"+e.data("_key"),e),p("Blur",e),g(e))}function m(e,t){c(e)||((0,n.debug)("Close the top-most area"),DiviPopup.hide())}function _(e){if(27===e.keyCode)return(0,n.info)("⚡️ ESC-key pressed"),(0,d.applyFilters)("esc_key_pressed",!1)?((0,n.debug)("Ignored, manually cancelled in filter"),!0):(0,r.countVisibleAreas)("popup")?((0,n.debug)("Close top-most popup"),(0,d.doAction)("close_area",!1,"esc"),p("Close"),!1):((0,n.debug)("Ignored, no popup is visible"),!0)}function w(){(0,r.loopAllAreas)("!inline",function(e,t){e.hasClass((0,i.getOption)("exitIndicatorClass"))&&DiviPopup.show(t)})}function C(e,t){var a;if(a=(0,r.getId)(t)){if(e.attr("data-area-id"))return e.off("._da"),e.on("click._da",o),void(0,n.debug)("Trigger already prepared",e[0]);(0,r.getArea)(a)?(e.attr("data-area-id",a),e.addClass("popup-trigger"),e.on("click._da",o),(0,n.debug)("Prepared trigger to open this area:",a,e[0])):(0,n.debug)("Ignore trigger. No area found with this ID:",e[0])}else(0,n.debug)("Ignore trigger. Invalid target ID:",t,e[0]);function o(e){return e.preventDefault(),(0,n.debug)("Trigger area:",a),DiviPopup.show(a),!1}}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getId=f,t.getRealId=g,t.addAltId=function(e,t){if(e===t)return;t=f(t),null===e?delete c[t]:c[t]=e},t.getArea=v,t.registerArea=function(e,t,a){if(!(t=f(t)))return!1;var d=v(t);if(d)return d;var p=jQuery(t);if(!p.length)return!1;a&&(p=p.filter(a));if(!p||1!==p.length)return!1;"inline"===e?p.data("_visible","yes"):(p.detach(),p.data("_visible","no"));var c=t.replace(/-/g,"_").replace(/^#/,"");p.addClass(e),p.data("_id",t),p.data("_key",c),p.data("_type",e),(0,n.debug)("Area Type",e),(0,n.debug)("Area ID",t),(0,n.debug)("Area Hook",c),(0,o.attachCloseButton)(p),u[t]=p,p.hasClass((0,i.getOption)("notMobileClass"))?p.data("on-mobile",!1):p.data("on-mobile",(0,i.toBool)(p.data("on-mobile")));p.hasClass((0,i.getOption)("notTabletClass"))?p.data("on-tablet",!1):p.data("on-tablet",(0,i.toBool)(p.data("on-tablet")));p.hasClass((0,i.getOption)("notDesktopClass"))?p.data("on-desktop",!1):p.data("on-desktop",(0,i.toBool)(p.data("on-desktop")));p.hasClass((0,i.getOption)("withCloseClass"))?p.data("show-close",!0):p.hasClass((0,i.getOption)("noCloseClass"))?p.data("show-close",!1):p.data("show-close",(0,i.toBool)(p.data("show-close")));p.hasClass((0,i.getOption)("altCloseClass"))?p.data("close-alt",!0):p.data("close-alt",(0,i.toBool)(p.data("close-alt"),!1));p.hasClass((0,i.getOption)("modalIndicatorClass"))?p.data("is-modal",!0):p.data("is-modal",(0,i.toBool)(p.data("is-modal"),!1));p.hasClass((0,i.getOption)("exitIndicatorClass"))?p.data("trigger-exit",!0):p.data("trigger-exit",(0,i.toBool)(p.data("trigger-exit"),!1));p.hasClass((0,i.getOption)("noShadowClass"))?p.data("no-shadow",!0):p.data("no-shadow",(0,i.toBool)(p.data("no-shadow"),!1));p.hasClass((0,i.getOption)("darkModeClass"))?p.data("dark-mode",!0):p.data("dark-mode",(0,i.toBool)(p.data("dark-mode"),!1));p.hasClass((0,i.getOption)("singletonClass"))?p.data("singleton",!0):p.data("singleton",(0,i.toBool)(p.data("singleton"),!1));return p.data("position","center-center"),p.data("position-v","center"),p.data("position-h","center"),(0,o.configArea)(p),(0,l.doAction)("init_area",p),(0,l.doAction)("init_area-"+p.data("_key"),p),(0,r.broadcast)("Init",p),(0,s.initializeAreaAnimation)(p),(0,n.info)("➕ Registered new area:",t,"("+e+")"),p},t.getAllIds=function(e){var t=[];if(e&&e instanceof jQuery){var a=e.data("_id");for(var o in t.push(a),c)a===c[o]&&t.push(o)}else{for(var i in u){var n=u[i];_(e,n)&&t.push(i)}for(var r in c){var s=c[r],d=u[s];_(e,d)&&t.push(r)}}return t},t.loopAllAreas=function(e,t){for(var a in u){var o=u[a];_(e,o)&&t(o,a)}},t.countVisibleAreas=h,t.addVisibleArea=function(e){if(!(e=v(e)))return!1;var t=e.data("_type");if((0,n.debug)("Make area visible",e.data("_id")),"popup"!==t&&h("popup")){for(var a=0;a<p.length;a++)if("popup"===p[a].data("_type")){p.splice(a,0,e);break}}else p.push(e);if(e.find("div ."+(0,i.getOption)("triggerCloseClass")).off(".da"),e.find("."+(0,i.getOption)("closeButtonClass")).off(".da"),e.find("div ."+(0,i.getOption)("triggerCloseClass")).on("click.da",function(t){(0,n.debug)("Click on custom close-button"),(0,l.doAction)("close_area",e,"custom"),(0,l.doAction)("close_area-"+e.data("_key"),e,"custom"),(0,r.broadcast)("Close",e)}),e.hasClass((0,i.getOption)("withCloseClass"))){var o=e.find("."+(0,i.getOption)("closeButtonClass"));o.on("click.da",function(t){(0,n.debug)("Click on default close-button"),(0,l.doAction)("close_area",e,"default"),(0,l.doAction)("close_area-"+e.data("_key"),e,"default"),(0,r.broadcast)("Close",e)})}},t.removeVisibleArea=function(e){if(!(e=v(e)))return!1;var t=e.data("_id");(0,n.debug)("Make area hidden",t);for(var a=p.length-1;a>=0;a--){var o=p[a];t===o.data("_id")&&p.splice(a,1)}e.find("div ."+(0,i.getOption)("triggerCloseClass")).off(".da"),e.find("."+(0,i.getOption)("closeButtonClass")).off(".da")},t.getVisibleArea=b,t.loopVisibleAreas=y,t.reorderVisibleAreas=function(){var e=(0,i.getOption)("zIndex"),t=1,a=[];function o(o){var d=o.data("_type"),u=o.parent(),p=e+t;isNaN(o.data("z-index"))||(p=o.data("z-index")),u.hasClass((0,i.getOption)("popupWrapperClass"))||("inline"===d?(o.wrap("<div>"),u=o.parent()):((u=jQuery("<div/>")).appendTo((0,r.getContext)()),o.detach().appendTo(u)),u.addClass((0,i.getOption)("popupWrapperClass")),u.addClass("type-"+d),u.addClass("position-"+o.data("position"))),a.push({id:o.data("_id"),type:o.data("_type"),pos:t,zIndex:"inline"===d?"":p}),"inline"!==d&&u.css({zIndex:p}),t++,"yes"!==o.data("_visible")&&("skip"===o.data("_do_animation")?o.show():((0,n.info)("✨ Animate the area (show)",o.data("_id")),(0,s.animateArea)(o,"show")),o.data("_visible","yes"),(0,l.doAction)("show_area",o),(0,l.doAction)("show_area-"+o.data("_key"),o),(0,r.broadcast)("Show",o))}(0,n.debug)("Refresh order (z-index) of visible areas"),y("all",r.blurArea),y("inline",o),y("!popup,inline",o),h("popup")&&(a.push({id:"-",type:"overlay",pos:t,zIndex:(0,d.showOverlay)()}),y("popup",o));(0,n.info)("👓 List of visible Areas:"),(0,n.debugTable)(a),(0,r.focusArea)(b()),window.setTimeout(m,50)},t.doResizeAreas=m;var o=a(5),i=a(1),n=a(0),r=a(3),s=a(6),d=a(7),l=a(2),u={},p=[],c={};function f(e,t){if(e instanceof jQuery){if(e.data("_id"))return e.data("_id");e=e.attr("id")}if(!e)return"";if("#"!==e[0]&&(e="#"+e),t){var a=new RegExp("^#"+t+":");e=e.replace(a,"#",e)}return e?e.toString():""}function g(e){var t=f(e),a=f(c[t]);return void 0!==u[t]?t:void 0!==u[a]?a:""}function v(e){if(e instanceof jQuery)return!!e.data("_id")&&e;var t=g(e);return!!t&&u[t]}function h(e){if(!e||"all"===e)return p.length;var t=0;return y(e,function(){return t++}),t}function b(e,t){for(var a=p.length-1;a>=0;a--)if(_(e,p[a])){if(void 0===t||-1===t)return p[a];if(t===p[a].data("_id"))return p[a]}return!1}function y(e,t){for(var a=0;a<p.length;a++)_(e,p[a])&&t(p[a],a)}function m(){var e=parseInt(jQuery("html").css("marginTop")),t=jQuery(window).innerWidth(),a=jQuery(window).innerHeight()-e;y("all",function(e){var o,r,s=e.parent(),d=e.data("_type"),l={};"inline"===d||e.data("max-width")||(e.hasClass("et_pb_section")?e.data("max-width",e.outerWidth()+"px"):(e.data("max-width",e.children(".et_pb_section").first().outerWidth()+"px"),e.children(".et_pb_section").css({width:"100%",maxWidth:""})),(0,n.debug)("Auto max-width calculated:",e.data("_id"),e.data("max-width"))),e.data("max-height")&&(l.overflow="auto",l.maxHeight=e.data("max-height")),e.data("max-width")&&(l.maxWidth=e.data("max-width")),e.css(l),"popup"===d&&(r=isNaN(e[0].scrollHeight)?e.innerHeight:e[0].scrollHeight,o=isNaN(e[0].scrollWidth)?e.innerWidth:e[0].scrollWidth,t<o+20?s.addClass((0,i.getOption)("fullWidthClass")):s.removeClass((0,i.getOption)("fullWidthClass")),a<r+20?s.addClass((0,i.getOption)("fullHeightClass")):s.removeClass((0,i.getOption)("fullHeightClass")))})}function _(e,t){if(!e)return!0;if("all"===e)return!0;var a="!"===e[0],o=t.data("_type");e=e.replace("!","").split(",");for(var i=0;i<e.length;i++){if(e[i]=e[i].trim(),a&&e[i]===o)return!1;if(!a&&e[i]===o)return!0}return!!a}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.attachCloseButton=function(e){var t=(0,n.getOption)("closeButtonClass"),a=t+"_wrap",o=(0,n.getOption)("noCloseClass"),i=(0,n.getOption)("withCloseClass");if(e.find("."+a).length)return;var s=jQuery("<span />").addClass(a),d=jQuery('<a href="#close" />').addClass(t);d.html("×"),d.appendTo(s),s.appendTo(e),e.hasClass(o)||e.hasClass(i)||((0,n.getOption)("defaultShowCloseButton")?e.addClass(i):e.addClass(o));(0,r.debug)("Added default close button to area",e.data("_id"))},t.setupHoverArea=function(e){var t=jQuery(e.data("_trigger"));if(!t.length)return;var a=(0,n.isPositon)(t,"fixed"),o="#"+e.attr("id"),i=e.data("close-on"),l=1e3*e.data("close-delay"),u=e,p=!1,c=!1,f=!1;d&&(f=new d(function(e){var t=!0,a=!1,o=void 0;try{for(var i,n=e[Symbol.iterator]();!(t=(i=n.next()).done);t=!0){var r=i.value,s=r.contentRect,d=s.width+"-"+s.height;d!==c&&(c=d,v())}}catch(e){a=!0,o=e}finally{try{!t&&n.return&&n.return()}finally{if(a)throw o}}},{box:"border-box"}));function g(){(0,r.info)("📐 Position area relative to element:",t),u=e.closest(".popup_outer_wrap"),v(),(0,s.removeAction)("show_area-"+e.data("_key"),g)}function v(){var o=a?t[0].getBoundingClientRect():t.clientRect(),i={left:"",top:"",right:"",bottom:"",width:"",height:"",position:a?"fixed":"absolute"};"top"===e.data("position-v")?i.top=o.top:"bottom"===e.data("position-v")?i.top=o.bottom:"left"===e.data("position-h")?(i.top=o.top+o.height/2,i.left=o.left):"right"===e.data("position-h")?(i.top=o.top+o.height/2,i.left=o.right):(0,r.error)("Invalid position",e.data("position")),(0,r.debug)("Area position:",i),u.css(i)}function h(){b(),p=window.setTimeout(function(){DiviArea.hide(e.data("_id"))},l)}function b(){p&&window.clearTimeout(p),p=!1}(0,s.addAction)("show_area-"+e.data("_key"),function(){f&&f.observe(t[0]),function(){"click"===i?jQuery(document).on("click."+o,function(e){jQuery(e.target).closest(o).length||h()}):"hover"===i&&(e.on("mouseleave._dah",h),t.on("mouseleave._dah",h));t.on("mouseenter._dah",b),e.on("mouseenter._dah",b)}(),g()}),(0,s.addAction)("hide_area-"+e.data("_key"),function(){f&&f.disconnect(),jQuery(document).off("."+o),e.off("._dah"),t.off("._dah")}),(0,r.debug)("Prepared positioning of hover area")},t.checkViewport=function(e){var t=!0,a=jQuery(window).innerWidth();t=a<768?!!e.data("on-mobile"):a<981?!!e.data("on-tablet"):!!e.data("on-desktop");return t},t.triggerLazyLoad=function(e){jQuery("body").trigger("post-load")},t.triggerAnimations=function(e){void 0!==window.et_reinit_waypoint_modules&&window.et_reinit_waypoint_modules()},t.initRecaptcha=function(e){if(!window.grecaptcha)return;if(!e.find('input[name="g-recaptcha-response"]').length)return;if(e.find("[data-sitekey].g-recaptcha").length>0)e.find("form").each(function(){var e=jQuery(this),t=e.find("[data-sitekey].g-recaptcha");if(t.length&&!e.find('iframe[src*="/recaptcha/"]').length){var a={sitekey:t.attr("data-sitekey"),type:t.attr("data-type"),size:t.attr("data-size"),theme:t.attr("data-theme"),badge:t.attr("data-badge"),tabindex:t.attr("data-tabindex")},o=t.attr("data-callback"),i=t.attr("data-expired-callback");o&&"function"==typeof window[o]&&(a.callback=window[o]),i&&"function"==typeof window[i]&&(a["expired-callback"]=window[i]);var n=grecaptcha.render(t[0],a);window.recaptchaWidgets&&recaptchaWidgets.push(n)}});else{var t=jQuery('script[src*="google.com/recaptcha/api.js"]').attr("src"),a=t.replace(/^.*render=(.*)$/,"$1").split("&")[0];grecaptcha.execute(a,{action:"homepage"}).then(function(t){e.find('form [name="g-recaptcha-response]').val(t)})}},t.configArea=function(e,t,a){var r,s,d=(0,i.getArea)(e);if(!d||1!==d.length)return;if(r=d.data("_id"),"object"===(void 0===t?"undefined":o(t))){for(var l in t)t.hasOwnProperty(l)&&DiviPopup.config(d,l,t[l]);return}if(void 0!==t){if("string"!=typeof t)return;switch(t=t.trim().toLowerCase().replace(/-/g,"")){case"notmobile":s=(0,n.toBool)(d.data("on-mobile")),d.data("on-mobile",!(0,n.toBool)(a,!s));break;case"onmobile":s=(0,n.toBool)(d.data("on-mobile")),d.data("on-mobile",(0,n.toBool)(a,s));break;case"nottablet":s=(0,n.toBool)(d.data("on-tablet")),d.data("on-tablet",!(0,n.toBool)(a,!s));break;case"ontablet":s=(0,n.toBool)(d.data("on-tablet")),d.data("on-tablet",(0,n.toBool)(a,s));break;case"notdesktop":s=(0,n.toBool)(d.data("on-desktop")),d.data("on-desktop",!(0,n.toBool)(a,!s));break;case"ondesktop":s=(0,n.toBool)(d.data("on-desktop")),d.data("on-desktop",(0,n.toBool)(a,s));break;case"triggerexit":d.data("trigger-exit",(0,n.toBool)(a));break;case"hideclose":d.data("show-close",!(0,n.toBool)(a));break;case"showclose":d.data("show-close",(0,n.toBool)(a));break;case"closealt":d.data("close-alt",(0,n.toBool)(a));break;case"ismodal":d.data("is-modal",(0,n.toBool)(a));break;case"notmodal":d.data("is-modal",!(0,n.toBool)(a));break;case"shadow":d.data("no-shadow",!(0,n.toBool)(a));break;case"noshadow":d.data("no-shadow",(0,n.toBool)(a));break;case"dark":d.data("dark-mode",(0,n.toBool)(a));break;case"maxwidth":d.data("max-width",a);break;case"maxheight":d.data("max-height",a);break;case"zindex":d.data("z-index",parseInt(a));break;case"singleton":d.data("singleton",(0,n.toBool)(a));break;case"ids":case"alternateid":Array.isArray(a)?a.forEach(function(e){return(0,i.addAltId)(r,e)}):(0,i.addAltId)(r,a);break;case"position":var u=[];-1!==a.indexOf("top")?u.push("top"):-1!==a.indexOf("bottom")?u.push("bottom"):u.push("center"),-1!==a.indexOf("left")?u.push("left"):-1!==a.indexOf("right")?u.push("right"):u.push("center"),d.data("position",u.join("-")),d.data("position-v",u[0]),d.data("position-h",u[1]);break;case"closetrigger":d.data("close-on",a);break;case"closedelay":d.data("close-delay",parseFloat(a))}}d.data("on-mobile")?d.removeClass((0,n.getOption)("notMobileClass")):d.addClass((0,n.getOption)("notMobileClass"));d.data("on-tablet")?d.removeClass((0,n.getOption)("notTabletClass")):d.addClass((0,n.getOption)("notTabletClass"));d.data("on-desktop")?d.removeClass((0,n.getOption)("notDesktopClass")):d.addClass((0,n.getOption)("notDesktopClass"));d.data("trigger-exit")?d.addClass((0,n.getOption)("exitIndicatorClass")):d.removeClass((0,n.getOption)("exitIndicatorClass"));d.data("show-close")?(d.addClass((0,n.getOption)("withCloseClass")),d.removeClass((0,n.getOption)("noCloseClass"))):(d.addClass((0,n.getOption)("noCloseClass")),d.removeClass((0,n.getOption)("withCloseClass")));d.data("close-alt")?d.addClass((0,n.getOption)("altCloseClass")):d.removeClass((0,n.getOption)("altCloseClass"));d.data("is-modal")?d.addClass((0,n.getOption)("modalIndicatorClass")):d.removeClass((0,n.getOption)("modalIndicatorClass"));d.data("no-shadow")?d.addClass((0,n.getOption)("noShadowClass")):d.removeClass((0,n.getOption)("noShadowClass"));d.data("dark-mode")?d.addClass((0,n.getOption)("darkModeClass")):d.removeClass((0,n.getOption)("darkModeClass"));d.data("singleton")?d.addClass((0,n.getOption)("singletonClass")):d.removeClass((0,n.getOption)("singletonClass"))};var i=a(4),n=a(1),r=a(0),s=a(2),d=window.ResizeObserver||window.WebKitResizeObserver},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.animateArea=function(e,t,a){var s=!1,d=!1;if("show"===t&&"yes"===e.data("_visible"))return(0,i.debug)("Skip opening-animation, area is already visible"),!1;if("hide"===t&&"yes"!==e.data("_visible"))return(0,i.debug)("Skip closing-animation, area is not visible"),!1;window.TweenLite&&"flyin"===e.data("_type")&&(d=!0);"function"!=typeof a&&(a=function(){});if("hide"===t&&"flyin"!==e.data("_type"))return void a();e.hasClass("et_pb_section")&&jQuery.fn.waypoint&&"yes"!==et_pb_custom.ignore_waypoints&&function(e){var t=e.attr("data-animation"),a=!1;if(!t)return!1;if(!(a=n[t]))return!1;jQuery("body").css("overflow-x","hidden"),jQuery("#page-container").css("overflow-y","hidden"),e.attr({"data-animation-style":a.style,"data-animation-repeat":"once"===a.repeat?"":"infinite","data-animation-duration":a.duration,"data-animation-delay":a.delay,"data-animation-intensity":a.intensity,"data-animation-starting-opacity":a.starting_opacity,"data-animation-speed-curve":a.speed_curve}),r(e,{offset:"100%",handler:function(){!function(e){var t=e.attr("data-animation-style"),a=e.attr("data-animation-repeat"),o=e.attr("data-animation-duration"),i=e.attr("data-animation-delay"),n=e.attr("data-animation-intensity"),r=e.attr("data-animation-starting-opacity"),s=e.attr("data-animation-speed-curve");!function(e){for(var t=[],a=e.get(0).attributes,o=0;o<a.length;o++)"data-animation-"===a[o].name.substring(0,15)&&t.push(a[o].name);jQuery.each(t,function(t,a){e.removeAttr(a)})}(e);var d=isNaN(parseInt(r))?0:.01*parseInt(r);-1===jQuery.inArray(s,["linear","ease","ease-in","ease-out","ease-in-out"])&&(s="ease-in-out"),e.css({"animation-duration":o,"animation-delay":i,opacity:d,"animation-timing-function":s});for(var l={},u=isNaN(parseInt(n))?50:parseInt(n),p=["slide","zoom","flip","fold","roll"],c=!1,f=!1,g=0;g<p.length;g++){var v=p[g];if(t&&t.substr(0,v.length)===v){c=v,""!==(f=t.substr(v.length,t.length))&&(f=f.toLowerCase());break}}!1!==c&&!1!==f&&(l=function(e,t,a){var o={};switch(e){case"slide":switch(t){case"top":o={transform:"translate3d(0, "+(i=-2*a)+"%, 0)"};break;case"right":o={transform:"translate3d("+(i=2*a)+"%, 0, 0)"};break;case"bottom":o={transform:"translate3d(0, "+(i=2*a)+"%, 0)"};break;case"left":var i=-2*a;o={transform:"translate3d("+i+"%, 0, 0)"};break;default:o={transform:"scale3d("+(n=.01*(100-a))+", "+n+", "+n+")"}}break;case"zoom":var n=.01*(100-a);switch(t){case"top":case"right":case"bottom":case"left":default:o={transform:"scale3d("+n+", "+n+", "+n+")"}}break;case"flip":switch(t){case"right":o={transform:"perspective(2000px) rotateY("+(r=Math.ceil(.9*a))+"deg)"};break;case"left":o={transform:"perspective(2000px) rotateY("+(r=-1*Math.ceil(.9*a))+"deg)"};break;case"top":default:o={transform:"perspective(2000px) rotateX("+(r=Math.ceil(.9*a))+"deg)"};break;case"bottom":o={transform:"perspective(2000px) rotateX("+(r=-1*Math.ceil(.9*a))+"deg)"}}break;case"fold":switch(t){case"top":o={transform:"perspective(2000px) rotateX("+(r=-1*Math.ceil(.9*a))+"deg)"};break;case"bottom":o={transform:"perspective(2000px) rotateX("+(r=Math.ceil(.9*a))+"deg)"};break;case"left":o={transform:"perspective(2000px) rotateY("+(r=Math.ceil(.9*a))+"deg)"};break;case"right":default:o={transform:"perspective(2000px) rotateY("+(r=-1*Math.ceil(.9*a))+"deg)"}}break;case"roll":switch(t){case"right":case"bottom":o={transform:"rotateZ("+(r=-1*Math.ceil(3.6*a))+"deg)"};break;case"top":case"left":o={transform:"rotateZ("+(r=Math.ceil(3.6*a))+"deg)"};break;default:var r=Math.ceil(3.6*a);o={transform:"rotateZ("+r+"deg)"}}}return o}(c,f,u)),jQuery.isEmptyObject(l)||e.css(l),e.addClass("et_animated"),e.addClass(t),e.addClass(a)}(jQuery(this.element))}})}(e)&&(s=!0);d?function(e,t,a){(0,i.debug)("Animate Area using GSAP");var n=(0,o.getOption)("animateSpeed"),r={},s={};e.css({opacity:"show"===t?0:1,transition:"all 0s"}),e.show(),window.setTimeout(function(){"left"===e.data("position-h")?(r.left=-1*e.outerWidth(),s.left=0):"right"===e.data("position-h")?(r.right=-1*e.outerWidth(),s.right=0):"top"===e.data("position-v")?(r.top=-1*e.outerHeight(),s.top=0):"bottom"===e.data("position-v")&&(r.bottom=-1*e.outerHeight(),s.bottom=0),r.opacity=1,s.opacity=1,"hide"===t?(e.css(s),TweenLite.to(e,n/1e3,{css:r})):(e.css(r),TweenLite.to(e,n/1e3,{css:s})),window.setTimeout(a,n)},5)}(e,t,a):s?function(e,t,a){(0,i.debug)("Animate Area using a Divi Animation"),e.show(),e.css({opacity:0}),window.setTimeout(function(){e.css({opacity:""}),r(e,{offset:"100%",handler:function(){e.addClass("et-animated"),a()}},2)},10)}(e,0,a):function(e,t,a){"show"===t?((0,i.debug)("Animate Area using jQuery fadeIn"),e.fadeIn((0,o.getOption)("animateSpeed"),a)):"hide"===t&&((0,i.debug)("Animate Area using jQuery fadeOut"),e.fadeOut((0,o.getOption)("animateSpeed"),a))}(e,t,a)},t.initializeAreaAnimation=function(e){if(!window.et_animation_data||!window.et_animation_data.length>0)return!1;e.removeClass("et-waypoint"),e.removeClass("et-animated");for(var t=0;t<et_animation_data.length;t++){var a=!1,o=et_animation_data[t];o&&(o.class&&e.hasClass(o.class)&&o.style&&o.repeat&&o.duration&&o.delay&&o.intensity&&o.starting_opacity&&o.speed_curve&&(a=o.class,e.addClass("pfd-waypoint"),e.attr("data-animation",a),n[a]=o,et_animation_data[t].class=void 0))}};var o=a(1),i=a(0),n={};function r(e,t,a){a=a||e.data("et_waypoint_max_instances")||1;var o=e.data("et_waypoint")||[];if(o.length<a){var i=e.waypoint(t);i&&i.length>0&&(o.push(i[0]),e.data("et_waypoint",o))}else for(var n=0;n<o.length;n++)o[n].context.refresh()}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.showOverlay=function(){var e=(0,n.getOption)("zIndex");null===d&&((d=jQuery("<div />")).addClass((0,n.getOption)("overlayClass")),d.prependTo((0,i.getContext)()),d.on("click.popup",p));e+=Math.max(0,(0,o.countVisibleAreas)()),d.css({zIndex:e}),l||(l=!0,(0,r.info)("⤴️ Show background overlay"),d.fadeIn((0,n.getOption)("animateSpeed"),function(){jQuery("body").addClass((0,n.getOption)("openPopupClass"))}),(0,s.doAction)("show_overlay"),(0,i.broadcast)("OverlayShow"));return e},t.hideOverlay=u;var o=a(4),i=a(3),n=a(1),r=a(0),s=a(2),d=null,l=!1;function u(){l&&(l=!1,(0,r.info)("⤵️ Hide background overlay"),d.hide(),jQuery("body").removeClass((0,n.getOption)("openPopupClass")),(0,s.doAction)("hide_overlay"),(0,i.broadcast)("OverlayHide"))}function p(e){if((0,r.info)("⚡️ Click on background overlay"),e.preventDefault(),(0,s.applyFilters)("ignore_overlay_click",!1))return(0,r.debug)("Ignore click:","Manually cancelled via filter"),!1;if((0,s.doAction)("click_overlay"),(0,i.broadcast)("OverlayClick"),!(0,o.countVisibleAreas)("popup"))return(0,r.debug)("Ignore click:","No visible Popups found"),!1;var t=(0,o.getVisibleArea)("popup");return t.length?t.hasClass((0,n.getOption)("modalIndicatorClass"))?((0,r.debug)("Ignore click:",'Top-most popup is marked as "modal"'),!1):((0,s.doAction)("close_area"),(0,o.countVisibleAreas)("popup")||u(),!1):((0,r.debug)("Ignore click:",'Top-most popup is marked as "modal"'),!1)}},function(e,t,a){a(9),e.exports=a(12)},function(e,t,a){"use strict";var o=function(e){return e&&e.__esModule?e:{default:e}}(a(10));window.DiviArea=0,window.DiviArea=window.DiviPopup=new o.default},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,a,o){return a&&e(t.prototype,a),o&&e(t,o),t}}(),i=a(1),n=a(0),r=a(4),s=a(5),d=a(3),l=a(7),u=a(2),p=function(e){return e&&e.__esModule?e:{default:e}}(a(11));function c(e,t){(0,d.isArea)(e)&&DiviArea.hide(e.data("_id"))}var f=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var t=[window.location.protocol,"//",window.location.host,"/wp-admin/edit.php?post_type=divi-area&page=settings#frontend"];this.app=window.DiviArea?"Divi Areas Pro":"Popups for Divi",this.lib=window.DiviArea?"DiviArea":"DiviPopup",this.version="1.0.0",this.info=this.lib+"-"+this.version,(0,n.info)("🚀 Initialize "+this.app,"- JS API:",this.info),window.DiviArea?(0,n.info)("ℹ️ You can disable the debug output on the Settings page:",t.join("")):(0,n.info)("ℹ️ You can disable the debug output by disabling WP_DEBUG"),(0,n.debug)("Details about the Debug Mode","https://divimode.com/knowledge-base/debug-options/"),(0,p.default)(),(0,i.initOptions)(),(0,d.initContext)(),(0,d.initExitIntent)(),(0,i.getOption)("initializeOnEvent")?jQuery(window,document).on((0,i.getOption)("initializeOnEvent"),function(){window.setTimeout(d.initializeModule,1)}):window.setTimeout(d.initializeModule,1)}return o(e,[{key:"markClosed",value:function(e,t){if((0,i.getOption)("debug")){var a=(0,r.getId)(e);(0,n.info)("📌 Mark Area as closed for "+t+" minutes:",a)}(0,i.setLocalData)(e,"1",t)}},{key:"isClosed",value:function(e){var t=(0,i.getLocalData)(e);if((0,i.getOption)("debug")){var a=(0,r.getId)(e);"1"===t?(0,n.info)("📌 Area is still closed:",a):(0,n.info)("📌 Area is not closed:",a)}return"1"===t}},{key:"register",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments[2];if(!(e=(0,r.getId)(e)))return!1;var o,i=(0,r.getArea)(e);if(i)return i;if(a||(a=(o=jQuery((0,r.getId)(e))).data("_type")),!a&&o.length)for(var d=o.attr("class").split(" "),l=0;l<d.length;l++)if(0===d[l].indexOf("divi-area-type-")){a=d[l].replace("divi-area-type-","");break}if(!a)return!1;(0,n.debugGroup)("Register Area | "+a+" | "+e);var u=(0,r.registerArea)(a,e,t.selector);return!(!u||!u.length)&&(Object.keys(t).forEach(function(e){(0,s.configArea)(u,e,t[e])}),"inline"===a&&((0,s.triggerLazyLoad)(u),this.show(e)),(0,n.debugGroup)(),u)}},{key:"config",value:function(e,t,a){(0,s.configArea)(e,t,a)}},{key:"show",value:function(e,t){var a=(0,r.getId)(e),o=(0,r.getArea)(a),l=0,p=!1;if((0,n.debugGroup)("Show area",a),!o||!o.length)return(0,n.error)("Could not find an area with the ID:",a),(0,n.debugGroup)(),!1;if(!(0,s.checkViewport)(o))return(0,n.debug)("Do not trigger area on this device:",a),(0,n.debugGroup)(),!1;var f=o.data("_type");return"yes"===o.data("_visible")&&o.data("_do_animation","skip"),t&&(t.delegateTarget?p=t.delegateTarget:t.target&&(p=t.target)),o.data("_trigger",p),(0,n.debug)("Trigger element:",p||"(none)"),"inline"!==f&&((0,d.removeArea)(o),o.removeClass((0,i.getOption)("exitIndicatorClass"))),"hover"===f&&(0,s.setupHoverArea)(o),(0,r.addVisibleArea)(o),(0,u.addAction)("close_area-"+o.data("_key"),c),(0,d.reOrderAreas)(o),"inline"!==f&&("skip"!==o.data("_do_animation")&&o.data("animation")&&(o.css({transition:"none"}),l+=(0,i.toMilliseconds)(o.css("animation-delay")),l+=(0,i.toMilliseconds)(o.css("animation-duration")),o.addClass("__is_animating"),window.setTimeout(function(){"yes"===o.data("_visible")&&o.removeClass("__is_animating")},l+50)),window.setTimeout(function(){(0,s.triggerLazyLoad)(o),(0,s.triggerAnimations)(o),(0,s.initRecaptcha)(o)},50)),(0,n.debugGroup)(),o.data("_do_animation",""),!0}},{key:"hide",value:function(e){var t;(0,r.countVisibleAreas)()&&(t=e?(0,r.getVisibleArea)("all",(0,r.getRealId)(e)):(0,r.getVisibleArea)("all"))&&((0,n.debug)("Close area and unlink event handlers:",t.data("_id")),(0,d.removeArea)(t,!0)),(0,r.countVisibleAreas)("popup")?(0,d.reOrderAreas)():DiviPopup.hideOverlay()}},{key:"showOverlay",value:function(){(0,l.showOverlay)()}},{key:"hideOverlay",value:function(){(0,l.hideOverlay)()}},{key:"addFilter",value:function(e,t,a){u.addFilter.apply(window,arguments)}},{key:"addAction",value:function(e,t,a){u.addAction.apply(window,arguments)}},{key:"removeFilter",value:function(e,t,a){u.removeFilter.apply(window,arguments)}},{key:"removeAction",value:function(e,t,a){u.removeAction.apply(window,arguments)}},{key:"applyFilters",value:function(e,t){return u.applyFilters.apply(window,arguments)}},{key:"doAction",value:function(e,t){u.doAction.apply(window,arguments)}},{key:"openPopup",value:function(e){(0,n.error)("DiviPopup.openPopup() is deprecated. Please use DiviPopup.show() instead"),DiviPopup.show(e)}},{key:"openArea",value:function(e){(0,n.error)("DiviArea.openArea() is deprecated. Please use DiviArea.show() instead"),DiviPopup.show(e)}},{key:"closePopup",value:function(e){(0,n.error)("DiviPopup.closeArea() is deprecated. Please use DiviPopup.hide() instead"),DiviPopup.hide(e)}},{key:"closeArea",value:function(e){(0,n.error)("DiviArea.closeArea() is deprecated. Please use DiviArea.hide() instead"),DiviPopup.hide(e)}},{key:"broadcast",value:function(e,t,a){(0,n.error)("DiviArea.broadcast() is deprecated. Please use DiviArea.doAction() instead"),d.broadcast.apply(window,arguments)}},{key:"observe",value:function(e,t,a){d.observe.apply(window,arguments)}}]),e}();t.default=f},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){!function(e){e.support.getBoundingClientRect="getBoundingClientRect"in document.documentElement,e.fn.clientRect=function(){var t={top:0,left:0,width:0,height:0,bottom:0,right:0};if(0===this.length)return t;var a,o=this[0],i=o.ownerDocument,n=i.documentElement;if(!e.contains(n,o))return t;if(e.support.getBoundingClientRect){try{a=o.getBoundingClientRect()}catch(e){}if(!a)return t;if(a.right===a.left&&a.top===a.bottom)return t;var r=function(t){return e.isWindow(t)?t:9===t.nodeType&&(t.defaultView||t.parentWindow)}(i);t.top=a.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),t.left=a.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0),t.width=a.right-a.left,t.height=a.bottom-a.top}else{if("none"==this.css("display"))return t;(t=this.offset()).width=this.outerWidth(),t.height=this.outerHeight()}return t.bottom=t.top+t.height,t.right=t.left+t.width,t}}(jQuery)}},function(e,t,a){}]);
|
plugin.php
CHANGED
@@ -8,11 +8,11 @@
|
|
8 |
*
|
9 |
* Plugin Name: Popups for Divi
|
10 |
* Plugin URI: https://divimode.com/divi-popup/
|
11 |
-
* Description: Finally a simple and intuitive way to add custom popups to your Divi pages!
|
12 |
* Author: Philipp Stracker
|
13 |
* Author URI: https://philippstracker.com/
|
14 |
* Created: 30.12.2017
|
15 |
-
* Version:
|
16 |
* License: GPLv2 or later
|
17 |
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
18 |
* Text Domain: divi-popup
|
@@ -39,7 +39,7 @@ define( 'DIVI_POPUP_PLUGIN', plugin_basename( __FILE__ ) );
|
|
39 |
/**
|
40 |
* A new version value will force refresh of CSS and JS files for all users.
|
41 |
*/
|
42 |
-
define( 'DIVI_POPUP_VERSION', '
|
43 |
|
44 |
add_action(
|
45 |
'plugins_loaded',
|
8 |
*
|
9 |
* Plugin Name: Popups for Divi
|
10 |
* Plugin URI: https://divimode.com/divi-popup/
|
11 |
+
* Description: Finally, a simple and intuitive way to add custom popups to your Divi pages!
|
12 |
* Author: Philipp Stracker
|
13 |
* Author URI: https://philippstracker.com/
|
14 |
* Created: 30.12.2017
|
15 |
+
* Version: 2.0.0
|
16 |
* License: GPLv2 or later
|
17 |
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
18 |
* Text Domain: divi-popup
|
39 |
/**
|
40 |
* A new version value will force refresh of CSS and JS files for all users.
|
41 |
*/
|
42 |
+
define( 'DIVI_POPUP_VERSION', '2.0.0' );
|
43 |
|
44 |
add_action(
|
45 |
'plugins_loaded',
|
readme.txt
CHANGED
@@ -12,17 +12,22 @@ A quick and easy way to create Popup layers inside the Divi Visual Builder!
|
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
|
|
|
|
|
16 |
|
17 |
# ℹ️ How it works
|
18 |
|
19 |
-
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
22 |
|
23 |
# ⭐️ Additional details
|
24 |
|
25 |
-
Check out the [Plugin website](https://divimode.com/divi-popup
|
26 |
|
27 |
* Examples
|
28 |
* CSS class options
|
@@ -45,10 +50,10 @@ The course is available in your **wp-admin Dashboard** right after you install a
|
|
45 |
|
46 |
# 🥳 Want more?
|
47 |
|
48 |
-
If you want to get the most out of Divi, you need to have a look at **[Divi Areas Pro](https://divimode.com/divi-areas-pro)** to get additional features:
|
49 |
|
50 |
> * An **admin UI** to create and configure your popups
|
51 |
-
> * Choose **Area
|
52 |
> * A **beautiful UI** that blends in perfectly with Divi
|
53 |
> * Add **advanced triggers** to your Areas:
|
54 |
> * On click
|
@@ -72,7 +77,7 @@ If you want to get the most out of Divi, you need to have a look at **[Divi Area
|
|
72 |
> * **Great documentation** built into the plugin and an online knowledge base
|
73 |
> * and much more...
|
74 |
>
|
75 |
-
> 👉 [Learn more about **Divi Areas Pro**](https://divimode.com/divi-areas-pro
|
76 |
|
77 |
== Installation ==
|
78 |
|
@@ -107,7 +112,7 @@ We did test it with all releases since the initial Divi 3.0 release. Possibly it
|
|
107 |
|
108 |
Yes, actually it will! But out of the box it is optimized to work with Divi 3.0 and later. If you use any other theme or site builder then you need to change the default options of the plugin via the `evr_divi_popup-js_data` filter.
|
109 |
|
110 |
-
For more details visit https://divimode.com/divi-popup
|
111 |
|
112 |
= Does this plugin display any ads? =
|
113 |
|
@@ -150,26 +155,28 @@ Alternatively you can replace the `popups-for-divi` folder via FTP: Extract the
|
|
150 |
|
151 |
= I have more questions or need help =
|
152 |
|
153 |
-
Please first visit the [**plugin website**](https://divimode.com/divi-popup
|
154 |
|
155 |
-
If that does not help, then head over to the [**support forum**](https://wordpress.org/support/plugin/popups-for-divi
|
156 |
|
157 |
-
|
158 |
|
159 |
-
|
160 |
|
161 |
== Screenshots ==
|
162 |
|
163 |
-
1.
|
164 |
-
2. Step
|
165 |
-
3. Step
|
166 |
-
4.
|
167 |
-
5.
|
168 |
-
6. ...check out the extensive API documentation and popup samples on divimode.com
|
169 |
-
7. Our free email course walks you through every aspect of the plugin - from the basics to advanced use-cases and techniques.
|
170 |
|
171 |
== Changelog ==
|
172 |
|
|
|
|
|
|
|
|
|
173 |
= 1.7.2 =
|
174 |
* Fix positioning of full-height Popups for all users/devices
|
175 |
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
After the plugin is activated, the Visual Builder displays a new tab called "Popup" in the Section Settings modal. In the "Popup" tab, you can turn a regular Section into a Popup!
|
16 |
+
|
17 |
+
It's super simple, as you can see on the plugins Demo Page: [divimode.com/divi-popup/demo](https://divimode.com/divi-popup/demo/?_s=wpo)
|
18 |
|
19 |
# ℹ️ How it works
|
20 |
|
21 |
+
First, activate the plugin (no configuration needed!)
|
22 |
+
|
23 |
+
1. Open up your Visual Builder and edit a Section - you'll see a new "Popup" tab in the Section Settings.
|
24 |
+
2. Toggle the option "This is a Popup" and set the "Popup ID" to something (e.g., "`newsletter-optin`"). Close the Section Settings.
|
25 |
+
3. Add a Button Module somewhere else on the page and set the "Link URL" to your Popup ID, with a leading "#" hash (e.g. "`#newsletter-optin`")
|
26 |
+
4. **That's all**. Save the page and exit the Visual Builder! Click on the button, and you'll see your Popup. Congratulations!
|
27 |
|
28 |
# ⭐️ Additional details
|
29 |
|
30 |
+
Check out the [Plugin website](https://divimode.com/divi-popup/?_s=wpo) for more details. You'll find:
|
31 |
|
32 |
* Examples
|
33 |
* CSS class options
|
50 |
|
51 |
# 🥳 Want more?
|
52 |
|
53 |
+
If you want to get the most out of Divi, you need to have a look at **[Divi Areas Pro](https://divimode.com/divi-areas-pro/?_s=wpo)** to get additional features:
|
54 |
|
55 |
> * An **admin UI** to create and configure your popups
|
56 |
+
> * Choose between **4 Area Types**: Popup, Inline, Fly-in, Hover
|
57 |
> * A **beautiful UI** that blends in perfectly with Divi
|
58 |
> * Add **advanced triggers** to your Areas:
|
59 |
> * On click
|
77 |
> * **Great documentation** built into the plugin and an online knowledge base
|
78 |
> * and much more...
|
79 |
>
|
80 |
+
> 👉 [Learn more about **Divi Areas Pro**](https://divimode.com/divi-areas-pro/?_s=wpo) (with screenshots!)
|
81 |
|
82 |
== Installation ==
|
83 |
|
112 |
|
113 |
Yes, actually it will! But out of the box it is optimized to work with Divi 3.0 and later. If you use any other theme or site builder then you need to change the default options of the plugin via the `evr_divi_popup-js_data` filter.
|
114 |
|
115 |
+
For more details visit [divimode.com/divi-popup](https://divimode.com/divi-popup/?_s=wpo)
|
116 |
|
117 |
= Does this plugin display any ads? =
|
118 |
|
155 |
|
156 |
= I have more questions or need help =
|
157 |
|
158 |
+
Please first visit the [**plugin website**](https://divimode.com/divi-popup/?_s=wpo), as it includes examples and documentation that could answer your questions.
|
159 |
|
160 |
+
If that does not help, then head over to the [**support forum**](https://wordpress.org/support/plugin/popups-for-divi/?_s=wpo) to see if someone else had the same problem and found a solution to it. Also, feel free to ask for help there.
|
161 |
|
162 |
+
You can also send us a private support request via the [**support form on divimode.com**](https://divimode.com/get-support//?_s=wpo). Please note, that might need a while to answer your private support requests.
|
163 |
|
164 |
+
When you need additional features, then please have a look at our the Premium plugin [**Divi Areas Pro**](https://diivimode.com/divi-areas-pro/?_s=wpo) which comes with a lot of cool options!
|
165 |
|
166 |
== Screenshots ==
|
167 |
|
168 |
+
1. Step 1: Prepare your Popup inside a normal Divi Section, right on your page.
|
169 |
+
2. Step 2: Open the Section Settings, enable the "This is a Popup" flag and define a unique Popup ID.
|
170 |
+
3. Step 3: That's how the final Popup is dispayed to a visitor.
|
171 |
+
4. Check out the extensive API documentation and popup samples on divimode.com
|
172 |
+
5. Our free email course walks you through every aspect of the plugin - from the basics to advanced use-cases and techniques.
|
|
|
|
|
173 |
|
174 |
== Changelog ==
|
175 |
|
176 |
+
= 2.0.0 =
|
177 |
+
* Add a brand new Tab to the Visual Builder that allows you to configure all popup details using Divi! No more class names 🥳
|
178 |
+
* Fix JS API integration for IE 11
|
179 |
+
|
180 |
= 1.7.2 =
|
181 |
* Fix positioning of full-height Popups for all users/devices
|
182 |
|