(()=>{"use strict";var t={r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={},o=(t.r(e),jQuery),r=o(document),a=o("body"),l=function l(t){if("undefined"==typeof o.fn.block)return!1;try{return t.block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),t}catch(e){return!1}},u=function u(t){if("undefined"==typeof o.fn.unblock)return!1;try{t.unblock()}catch(e){return!1}};null!=(t=yith_wcdp)&&t.labels;function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,d(i.key),i)}}function c(t,e,n){(e=d(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}function d(t){t=function(t,e){if("object"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(n===undefined)return("string"===e?String:Number)(t);t=n.call(t,e||"default");if("object"!==i(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(t,"string");return"symbol"===i(t)?t:String(t)}var n=function(){function t(){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function");c(this,"xhr",null),c(this,"$form",null),c(this,"$depositContainer",null),c(this,"$depositOptions",null),c(this,"$variationAddToCart",null),o("form.cart").length&&this.init()}var e,n,i;return e=t,(n=[{key:"getDepositPreferences",value:function(){return this.$depositOptions.length||this.initDom(),!!this.$depositOptions.length&&this.$depositOptions.data()}},{key:"getDepositValue",value:function(t){var e,n=this.getDepositPreferences();return n?"amount"===n.depositType&&n.depositAmount?Math.min(t,n.depositAmount):"rate"===n.depositType&&n.depositRate?(e=t*parseFloat(n.depositRate)/100,Math.min(t,e)):t:t}},{key:"formatPrice",value:function(t){return accounting.formatMoney(t,{symbol:yith_wcdp.currency_format.symbol,decimal:yith_wcdp.currency_format.decimal,thousand:yith_wcdp.currency_format.thousand,precision:yith_wcdp.currency_format.precision,format:yith_wcdp.currency_format.format})}},{key:"init",value:function(){this.initDom(),this.initVariations(),this.initActions()}},{key:"initDom",value:function(){var t;this.$form=o("form.cart"),this.$depositContainer=null==(t=this.$form)?void 0:t.find("#yith-wcdp-add-deposit-to-cart"),this.$depositOptions=null==(t=this.$depositContainer)?void 0:t.find(".yith-wcdp-single-add-to-cart-fields"),this.$variationAddToCart=null==(t=this.$form)?void 0:t.find(".woocommerce-variation-add-to-cart")}},{key:"initVariations",value:function(){var n=this;this.$form.length&&this.$form.hasClass("variations_form")&&this.$form.on("found_variation",function(t,e){return n.onFoundVariation(e)}).on("reset_data",function(){return n.removeTemplate()})}},{key:"initActions",value:function(){var i=this;r.on("yith_wcevti_price_refreshed yith_wapo_product_price_updated yith_wcp_price_updated",function(t,e){return i.updateTotals(e)}),r.on("ywdpd_price_html_updated",function(t,e,n){n&&i.updateTotals(n)}),r.on("yith_wcpb_ajax_update_price_request",function(t,e){e&&null!=e&&e.price&&i.updateTotals(e.price)})}},{key:"onFoundVariation",value:function(t){var e=this;this.doTemplateUpdate(t).then(function(){r.trigger("yith_wcdp_updated_deposit_form",e.$depositOptions)})}},{key:"doTemplateUpdate",value:function(e){var n=this;return yith_wcdp.ajax_variations?this.updateTemplateViaAjax(e):new Promise(function(t){"undefined"!=typeof e.add_deposit_to_cart?n.updateTemplateViaVariation(e):deposit_options.length&&n.updateTotals(e.display_price),t()})}},{key:"updateTemplateViaAjax",value:function(t){var e=this;return this.xhr=o.ajax({beforeSend:function(){null!=e.xhr&&e.xhr.abort(),e.hideTemplate(),l(e.$form)},complete:function(){return u(e.$form)},data:{variation_id:null==t?void 0:t.variation_id,variation_attr:this.$form.find(".variations select").serializeArray().reduce(function(t,e){return t[e.name]=e.value,t},{}),action:null==(t=yith_wcdp)||null==(t=t.actions)||null==(t=t.get_add_deposit)?void 0:t.name,_wpnonce:null==(t=yith_wcdp)||null==(t=t.actions)||null==(t=t.get_add_deposit)?void 0:t.nonce},dataType:"html",method:"POST",success:function(t){return e.updateTemplate(t)},url:yith_wcdp.ajax_url}),this.xhr}},{key:"updateTemplateViaVariation",value:function(t){this.updateTemplate(t.add_deposit_to_cart)}},{key:"hideTemplate",value:function(){this.$depositContainer.length&&this.$depositContainer.hide()}},{key:"updateTemplate",value:function(t){this.removeTemplate(),this.$variationAddToCart.before(t),this.initDom()}},{key:"removeTemplate",value:function(){this.$depositContainer.length&&this.$depositContainer.remove()}},{key:"updateTotals",value:function(t){var e=this.formatPrice(t),t=this.getDepositValue(t),t=this.formatPrice(t);this.$depositOptions.find(".full-price").html(e),this.$depositOptions.find(".deposit-price").html(t)}}])&&s(e.prototype,n),i&&s(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}();function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,y(i.key),i)}}function h(t,e,n){(e=y(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}function y(t){t=function(t,e){if("object"!==p(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(n===undefined)return("string"===e?String:Number)(t);t=n.call(t,e||"default");if("object"!==p(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(t,"string");return"symbol"===p(t)?t:String(t)}var m=function(){function n(t,e){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");h(this,"$opener",null),h(this,"$target",null),h(this,"$modal",null),h(this,"$content",null),null!=t&&t.length&&(this.$opener=t,this.args=o.extend({title:!1,shouldOpen:!1,template:!1,onOpen:!1,onClose:!1},e||{}),this.init())}var t,e,i;return t=n,(e=[{key:"init",value:function(){var e=this;this.$opener.on("click",function(t){e.$target=o(t.target),e.shouldOpen()&&(t.preventDefault(),e.onOpen())})}},{key:"shouldOpen",value:function(){var t;return"function"!=typeof(null==(t=this.args)?void 0:t.shouldOpen)||this.args.shouldOpen.call(this)}},{key:"onOpen",value:function(){var t,e=(null==(e=this.args)?void 0:e.template)||"",n=null;if("function"==typeof e&&(e=e.call(this)),null==(t=this.$content)||!t.length){if(this.$opener.data("modal"))n=o("#".concat(this.$opener.data("modal"))).detach();else{if(!e)return;"string"==typeof e?n=o(e).detach():"function"==typeof e?n=e().detach():null!=(t=e)&&t.lenght&&(n=e.detach())}this.$content=n}this.maybeOpenModal(this.$content)}},{key:"onClose",value:function(){this.maybeCloseModal()}},{key:"maybeBuildModal",value:function(){var t,e,n,i=this;return null!=(t=this.$modal)&&t.length||(t=o("<div/>",{"class":"yith-wcdp-modal"}),e=o("<div/>",{"class":"content pretty-scrollbar"}),n=o("<a/>",{"class":"close-button main-close-button",html:"&times;",role:"button",href:"#"}),(this.$modal=t).append(e).append(n),null!=(e=this.args)&&e.title&&(n=o("<div/>",{"class":"title",html:"<h3>".concat(this.args.title,"</h3>")}),t.prepend(n)),t.on("click",".close-button",function(t){t.preventDefault(),i.onClose()}),a.append(t)),this.$modal}},{key:"maybeDestroyModal",value:function(){var t;null!=(t=this.$modal)&&t.length&&this.$modal.remove()}},{key:"maybeOpenModal",value:function(t){var e,n=this;null!=(e=this.$modal)&&e.length||this.maybeBuildModal(),this.$modal.hasClass("open")||(this.$modal.find(".content").append(t).end().fadeIn(function(){var t;n.$modal.addClass("open"),"function"==typeof(null==(t=n.args)?void 0:t.onOpen)&&null!=(t=n.args)&&t.onOpen.call(n)}),a.addClass("yith-wcdp-open-modal"))}},{key:"maybeCloseModal",value:function(){var t,e=this;null!=(t=this.$modal)&&t.length||this.maybeBuildModal(),this.$modal.hasClass("open")&&this.$modal.fadeOut(function(){var t;e.$modal.removeClass("open"),a.removeClass("yith-wcdp-open-modal"),"function"==typeof(null==(t=e.args)?void 0:t.onClose)&&null!=(t=e.args)&&t.onClose.call(e)})}}])&&f(t.prototype,e),i&&f(t,i),Object.defineProperty(t,"prototype",{writable:!1}),n}();function v(t){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function b(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,_(i.key),i)}}function g(t,e,n){(e=_(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}function _(t){t=function(t,e){if("object"!==v(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(n===undefined)return("string"===e?String:Number)(t);t=n.call(t,e||"default");if("object"!==v(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(t,"string");return"symbol"===v(t)?t:String(t)}var $,w=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");g(this,"$container",null),g(this,"$buttons",null),g(this,"$openers",null),t.length&&(this.$container=t,this.init())}var t,n,i;return t=e,(n=[{key:"init",value:function(){this.$buttons=this.$container.find(".button-with-submenu"),this.$openers=this.$buttons.find("a.submenu-opener"),this.initOpeners(),this.initBackdrop()}},{key:"initOpeners",value:function(){var n=this;this.$openers.not(".initialized").each(function(){var e=o(this);e.on("click",function(t){t.stopPropagation(),n.toggleMenu.call(n,e)}).addClass("initialized")})}},{key:"initBackdrop",value:function(){o(document).on("click",this.closeAll.bind(this))}},{key:"toggleMenu",value:function(t){t=t.parent(".button-with-submenu");t.hasClass("opened")?this.close(t):(this.closeAll(),this.open(t))}},{key:"open",value:function(t){t.addClass("opened")}},{key:"close",value:function(t){t.removeClass("opened")}},{key:"closeAll",value:function(){this.$buttons.removeClass("opened")}}])&&b(t.prototype,n),i&&b(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}(),k=(jQuery(function(){new n;var t=o("#yith_wcdp_deposits_details"),e=(t.length&&new w(t),function e(){var t=o(".deposit-expiration-modal-opener");t.length&&new m(t,{title:yith_wcdp.labels.deposit_expiration_modal_title})});r.on("updated_checkout",e),e()}),window);for($ in e)k[$]=e[$];e.__esModule&&Object.defineProperty(k,"__esModule",{value:!0})})();