{"version":3,"sources":["bgop-bloom.js"],"names":["$","w","s","bgopSettings","_classCallCheck","this","php","bgopPHP","isSet","setProperties","bindEvents","_createClass","key","value","button","bloom","find","divi","initialize","getItem","pre","set","setItem","addOverlay","input","form","sel","closest","css","append","setButtonBloom","parent","siblings","attr","setColor","setButtonDivi","empty","dark","white","bgCol","replace","link","color","getHTML","linkBefore","linkHref","linkName","linkAfter","agree","trim","remove","el","time","arguments","length","undefined","fadeOut","routeForm","_this","$sel","setTimeout","blur","$container","addClass","on","self","noCok","document","ajaxSuccess","e","a","b","c","success","data","indexOf","sessionStorage","removeItem","jQuery","window"],"mappings":"8XAAC,SAASA,EAAEC,EAAEC,GAAGF,EAAE,WA0Of,IA1OyB,WAoBrB,QAAAG,KACAC,gBAAAC,KAAAF,GAEIE,KAAKC,IAAMC,QAEJF,KAAKG,UAGRH,KAAKI,gBAELJ,KAAKK,cA9BQ,MAAAC,cAAAR,IAAAS,IAAA,gBAAAC,MAAA,QAAAJ,KAYjBJ,KAAKS,OAELT,KAAKU,MAAQf,EAAG,0BAA2BgB,KAAM,SAEjDX,KAAKY,KAAQjB,EAAG,6BAA8BgB,KAAM,aAhBnCL,aAAAR,IAAAS,IAAA,aAAAC,MAAA,QAAAK,SAAAN,IAAA,QAAAC,MAAA,QAAAL,KA+CjB,MAAS,QAASN,EAAEiB,QAASd,KAAKC,IAAIc,IAAM,cA/C3BR,IAAA,MAAAC,MAAA,QAAAQ,KAsDjB,MAAOnB,GAAEoB,QAASjB,KAAKC,IAAIc,IAAM,WAAW,MAtD3BR,IAAA,aAAAC,MAAA,QAAAU,GA0DTC,EAAOC,GAGf,GAAIC,GAAM,SAAWD,EAAO,8BAAgC,sBAE5D,OAAOD,GACEG,QAASD,GACTE,IAAK,WAAY,YACjBC,OAAQ7B,EAAGK,KAAK,YAAcoB,GAAOD,QAlE7BZ,IAAA,iBAAAC,MAAA,QAAAiB,GAsELN,GAKZ,MAFAnB,MAAKS,OAASU,EAAMO,SAASC,SAAU,UAAWC,KAAM,YAAY,GAE7D5B,KAAK6B,SAAUV,EAAO,gCA3EZZ,IAAA,gBAAAC,MAAA,QAAAsB,GA+ENX,GAWX,MAPAxB,GAAG,uBAAwBoC,QAE3B/B,KAAKS,OAASU,EAAMO,SACHJ,QAAS,6BACTX,KAAM,6BACNiB,KAAM,YAAY,GAE5B5B,KAAK6B,SAAUV,EAAO,2BA1FZZ,IAAA,WAAAC,MAAA,QAAAqB,GA8FXV,EAAOE,GAKb,GAAIW,GAAU,kBACVC,EAAU,qBACVC,EAAU,IAAMlC,KAAKC,IAAIiC,MAAQ,IAAMlC,KAAKC,IAAIiC,MAAMC,QAAS,IAAK,IAAOhB,EAAMG,QAASD,GAAME,IAAK,mBACrGa,EAAU,IAAMpC,KAAKC,IAAImC,KAAQ,IAAMpC,KAAKC,IAAImC,KAAKD,QAAS,IAAK,IAAQnC,KAAKS,OAAOc,IAAK,mBAC5Fc,EAAU,IAAMrC,KAAKC,IAAIoC,MAAQ,IAAMrC,KAAKC,IAAIoC,MAAMF,QAAS,IAAK,IAAOnC,KAAKS,OAAOc,IAAK,QAahG,OAXSU,IAASI,IAIVA,EAAQJ,GAASC,GAAS,sBAAwBA,EAAQF,EAAOK,OAIhE,KAAsBD,GAAQ,oBAAsBA,IACrDA,EAAOJ,GAERhC,KAAKsC,QAASJ,EAAOG,EAAOD,MApHlB7B,IAAA,UAAAC,MAAA,QAAA8B,GAwHZJ,EAAOG,EAAOD,GAGnB,OAAO,uEAAuEF,EAAvE,qFAC4DG,EAD5D,gMAIsDA,EAJtD,kDAKyBrC,KAAKC,IAAIsC,WALlC,sDAMgCvC,KAAKC,IAAIuC,SANzC,kCAMmFJ,EANnF,MAM6FpC,KAAKC,IAAIwC,SANtG,iDAOuBzC,KAAKC,IAAIyC,UAPhC,+JAUsDL,EAVtD,0LAY2DA,EAZ3D,YAY4ErC,KAAKC,IAAI0C,MAZrF,yJAgBSC,UA3ICrC,IAAA,SAAAC,MAAA,QAAAqC,GA+IbC,GACR,GADYC,GACZC,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GADmB,GAGfhD,MAAKS,OAAOmB,KAAM,YAAY,GAE9BkB,EAAGK,QAASJ,EAAM,WAGdpD,EAAEK,MAAM6C,cAvJKtC,IAAA,YAAAC,MAAA,QAAA4C,GA4JVjC,EAAOC,GAClB,GAAAiC,GAAArD,IAEI,KAAKA,KAAKG,QAAV,CAGA,GAAImD,GAAO,eAEN3D,GAAG2D,GAAOL,OAAS,GACpBjD,KAAK6C,OAAQlD,EAAG2D,GAAQ,GAE5BC,WAAY,WAGRF,EAAKnC,WAAYC,EAAMqC,OAAQpC,IAEhC,IAEHmC,WAAY,WAGR,GAAIE,GAAa9D,EAAG2D,GAAOI,SAAU,OAErCH,YAAY,WAGRE,EAAW9C,KAAM,oBAAqB+C,SAAU,QAEhD/D,EAAG,kBAAmBgE,GAAI,SAAU,WAGhCN,EAAKrC,MAELqC,EAAKR,OAAQY,KAIjB9D,EAAG,eAAgBgE,GAAI,YAAa,WAGhCN,EAAKR,OAAQY,MAGlB,MACJ,QAxMclD,IAAA,aAAAC,MAAA,QAAAH,KA6MrB,GADYuD,GACZZ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GADmBhD,IAGf4D,GAAKlD,MAAMiD,GAAI,QAAS,WAGpBC,EAAKR,UAAWzD,EAAEK,MAAO,WAI7B4D,EAAKhD,KAAK+C,GAAI,QAAS,WAGnBC,EAAKR,UAAWzD,EAAEK,MAAO,UAIxB,SAAW4D,EAAK3D,IAAI4D,OAGrBlE,EAAEmE,UAAUC,YAAY,SAAUC,EAAGC,EAAGC,EAAGC,KAEhC,IAASA,EAAEC,UAAY,IAAMF,EAAEG,KAAKC,QAAS,gCAAuC,WAAaH,EAAEC,UAAY,IAAMF,EAAEG,KAAKC,QAAS,qBACxIC,eAAeC,WAAY,qBAnOtB1E,SA4OxB2E,OAAOC,OAAOH","file":"bgop-bloom.min.js","sourcesContent":["(function($,w,s){$(function(){\n\n    /**********************************************************************************\n        Bloom - GDPR Overlay Plugin - Settings Panel Options\n    **********************************************************************************/\n\n    class bgopSettings\n    {\n\n        setProperties()\n        {\n\n            this.button;\n\n            this.bloom = $( 'p.et_bloom_popup_input' ).find( 'input' );\n\n            this.divi  = $( 'div.et_pb_newsletter_form' ).find( 'input' );\n\n        } // end setProperties\n\n        constructor()\n        {\n\n            this.php = bgopPHP;\n\n            if ( ! this.isSet() )\n            {\n\n                this.setProperties();\n\n                this.bindEvents();\n\n                // this.initialize();\n\n            }\n        } // end constructor\n\n        initialize()\n        {\n\n            // Nothing to do here\n\n        } // end initialize\n\n        isSet()\n        {\n\n            return ( null !== s.getItem( this.php.pre + 'Session' ) );\n\n        } // end get\n\n        set()\n        {\n\n            return s.setItem( this.php.pre + 'Session', true );\n\n        } // end set\n\n        addOverlay( input, form )\n        {\n\n            let sel = 'Bloom' == form ? 'div.et_bloom_form_container' : 'div.et_pb_newsletter';\n\n            return input\n                    .closest( sel )\n                    .css( 'position', 'relative' )\n                    .append( $( this['setButton' + form]( input ) ) );\n\n        } // end addOverlay\n\n        setButtonBloom( input )\n        {\n\n            this.button = input.parent().siblings( 'button' ).attr( 'disabled', true );\n\n            return this.setColor( input, 'div.et_bloom_form_content' );\n\n        }// end setColor\n\n        setButtonDivi( input )\n        {\n\n            // Just to be sure\n            $( '#et_pb_signup_email' ).empty();\n\n            this.button = input.parent()\n                            .closest( 'div.et_pb_newsletter_form' )\n                            .find( 'a.et_pb_newsletter_button' )\n                            .attr( 'disabled', true );\n\n            return this.setColor( input, 'div.et_pb_newsletter' );\n\n        }// end setColor\n\n        setColor( input, sel )\n        {\n\n            // this.button = input.parent().siblings( 'button' ).attr( 'disabled', true );\n\n            let dark    = 'rgb(80, 80, 80)',\n                white   = 'rgb(255, 255, 255)',\n                bgCol   = '' != this.php.bgCol ? '#' + this.php.bgCol.replace( '#', '' ) : input.closest( sel ).css( 'backgroundColor' ),\n                link    = '' != this.php.link  ? '#' + this.php.link.replace( '#', '' )  : this.button.css( 'backgroundColor' ),\n                color   = '' != this.php.color ? '#' + this.php.color.replace( '#', '' ) : this.button.css( 'color' );\n\n                if ( white == color )\n                {\n\n                    // Fix the light grey background and white font problem by default layouts\n                    color = white == bgCol || 'rgb(237, 237, 237)' == bgCol ? dark : color;\n\n                } // end if\n\n                if ( 'undefined' == typeof link || 'rgba(0, 0, 0, 0)' == link )\n                    link = dark;\n\n            return this.getHTML( bgCol, color, link );\n\n        }// end setColor\n\n        getHTML( bgCol, color, link )\n        {\n\n            return `<div id=\"bgop-overlay\" class=\"bgop-overlay\" style=\"background-color:${bgCol};\">\n                        <div id=\"bgop-close\" class=\"bgop-close\" style=\"color:${color};\"></div>\n                        <div class=\"bgop-wrap\">\n                            <div class=\"bgop-container\">\n                                <p class=\"bgop-paragraph\" style=\"color:${color};\">\n                                    <span>${this.php.linkBefore}\n                                        <a href=\"${this.php.linkHref}\" target=\"_blank\" style=\"color:${link};\">${this.php.linkName}</a>\n                                        ${this.php.linkAfter}\n                                    </span>\n                                </p>\n                                <p class=\"bgop-paragraph\" style=\"color:${color};\">\n                                    <input id=\"bgop-checkbox\" class=\"bgop-checkbox\" type=\"checkbox\">\n                                    <label for=\"bgop-checkbox\" style=\"color:${color};\"><span>${this.php.agree}</span></label>\n                                </p>\n                            </div>\n                        </div>\n                    </div>`.trim();\n\n        } // end getHTML\n\n        remove( el, time = 500 )\n        {\n\n            this.button.attr( 'disabled', false );\n\n            el.fadeOut( time, function()\n            {\n\n                $(this).remove();\n\n            });\n        } // end remove\n\n        routeForm( input, form )\n        {\n\n            if ( this.isSet() )\n                return;\n\n            let $sel = '#bgop-overlay';\n\n            if ( $( $sel ).length > 0 )\n                this.remove( $( $sel ), 0 );\n\n            setTimeout( () =>\n            {\n\n                this.addOverlay( input.blur(), form );\n\n            }, 10 );\n\n            setTimeout( () =>\n            {\n\n                let $container = $( $sel ).addClass( 'show' );\n\n                setTimeout( () =>\n                {\n\n                    $container.find( 'p.bgop-paragraph' ).addClass( 'show' );\n\n                    $( '#bgop-checkbox' ).on( 'change', () =>\n                    {\n\n                        this.set();\n\n                        this.remove( $container );\n\n                    });\n\n                    $( '#bgop-close' ).on( 'mousedown', () =>\n                    {\n\n                        this.remove( $container );\n\n                    });\n                }, 200 );\n            }, 10 );\n\n        } // end routeForm\n\n        bindEvents( self = this )\n        {\n\n            self.bloom.on( 'focus', function()\n            {\n\n                self.routeForm( $(this), 'Bloom' );\n\n            });\n\n            self.divi.on( 'focus', function()\n            {\n\n                self.routeForm( $(this), 'Divi' );\n\n            });\n\n            if ( 'true' === self.php.noCok )\n            {\n\n                $(document).ajaxSuccess(function( e, a, b, c) {\n\n                    if ( ( true === c.success && -1 !== b.data.indexOf( 'et_pb_submit_subscribe_form' ) ) || ( \"success\" == c.success && -1 !== b.data.indexOf( 'bloom_subscribe' ) ) )\n                        sessionStorage.removeItem( 'bgopSession' );\n\n                });\n            }\n        } // end bindEvents\n    } // end class bgopSettings\n\n    new bgopSettings;\n\n});}(jQuery,window,sessionStorage));\n"]}