Created
October 28, 2024 15:09
-
-
Save mininaim/e83bfea5fe7630fbb7a684fbaf5b2481 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var ZiadahPlugin=function(t){"use strict";function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=Array(e);n<e;n++)a[n]=t[n];return a}function n(t,e,n,a,r,o,i){try{var c=t[o](i),s=c.value}catch(t){return void n(t)}c.done?e(s):Promise.resolve(s).then(a,r)}function a(t){return function(){var e=this,a=arguments;return new Promise((function(r,o){var i=t.apply(e,a);function c(t){n(i,r,o,c,s,"next",t)}function s(t){n(i,r,o,c,s,"throw",t)}c(void 0)}))}}function r(t,e,n){return e=l(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,p()?Reflect.construct(e,n||[],l(t).constructor):e.apply(t,n))}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var a=e[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,y(a.key),a)}}function c(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function s(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=w(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var a=0,r=function(){};return{s:r,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){c=!0,o=t},f:function(){try{i||null==n.return||n.return()}finally{if(c)throw o}}}}function d(t,e,n){return(e=y(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&m(t,e)}function p(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(p=function(){return!!t})()}function h(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function g(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?h(Object(n),!0).forEach((function(e){d(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function f(){f=function(){return e};var t,e={},n=Object.prototype,a=n.hasOwnProperty,r=Object.defineProperty||function(t,e,n){t[e]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function d(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},"")}catch(t){d=function(t,e,n){return t[e]=n}}function l(t,e,n,a){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),c=new A(a||[]);return r(i,"_invoke",{value:E(t,n,c)}),i}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var p="suspendedStart",h="suspendedYield",g="executing",m="completed",v={};function y(){}function b(){}function w(){}var x={};d(x,i,(function(){return this}));var z=Object.getPrototypeOf,k=z&&z(z(O([])));k&&k!==n&&a.call(k,i)&&(x=k);var C=w.prototype=y.prototype=Object.create(x);function _(t){["next","throw","return"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function n(r,o,i,c){var s=u(t[r],t,o);if("throw"!==s.type){var d=s.arg,l=d.value;return l&&"object"==typeof l&&a.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,i,c)}),(function(t){n("throw",t,i,c)})):e.resolve(l).then((function(t){d.value=t,i(d)}),(function(t){return n("throw",t,i,c)}))}c(s.arg)}var o;r(this,"_invoke",{value:function(t,a){function r(){return new e((function(e,r){n(t,a,e,r)}))}return o=o?o.then(r,r):r()}})}function E(e,n,a){var r=p;return function(o,i){if(r===g)throw Error("Generator is already running");if(r===m){if("throw"===o)throw i;return{value:t,done:!0}}for(a.method=o,a.arg=i;;){var c=a.delegate;if(c){var s=I(c,a);if(s){if(s===v)continue;return s}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(r===p)throw r=m,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);r=g;var d=u(e,n,a);if("normal"===d.type){if(r=a.done?m:h,d.arg===v)continue;return{value:d.arg,done:a.done}}"throw"===d.type&&(r=m,a.method="throw",a.arg=d.arg)}}}function I(e,n){var a=n.method,r=e.iterator[a];if(r===t)return n.delegate=null,"throw"===a&&e.iterator.return&&(n.method="return",n.arg=t,I(e,n),"throw"===n.method)||"return"!==a&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+a+"' method")),v;var o=u(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,v;var i=o.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,v):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function O(e){if(e||""===e){var n=e[i];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function n(){for(;++r<e.length;)if(a.call(e,r))return n.value=e[r],n.done=!1,n;return n.value=t,n.done=!0,n};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return b.prototype=w,r(C,"constructor",{value:w,configurable:!0}),r(w,"constructor",{value:b,configurable:!0}),b.displayName=d(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===b||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,d(t,s,"GeneratorFunction")),t.prototype=Object.create(C),t},e.awrap=function(t){return{__await:t}},_(S.prototype),d(S.prototype,c,(function(){return this})),e.AsyncIterator=S,e.async=function(t,n,a,r,o){void 0===o&&(o=Promise);var i=new S(l(t,n,a,r),o);return e.isGeneratorFunction(n)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},_(C),d(C,s,"Generator"),d(C,i,(function(){return this})),d(C,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),n=[];for(var a in e)n.push(a);return n.reverse(),function t(){for(;n.length;){var a=n.pop();if(a in e)return t.value=a,t.done=!1,t}return t.done=!0,t}},e.values=O,A.prototype={constructor:A,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(L),!e)for(var n in this)"t"===n.charAt(0)&&a.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function r(a,r){return c.type="throw",c.arg=e,n.next=a,r&&(n.method="next",n.arg=t),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=a.call(i,"catchLoc"),d=a.call(i,"finallyLoc");if(s&&d){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!d)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),L(n),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var a=n.completion;if("throw"===a.type){var r=a.arg;L(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(e,n,a){return this.delegate={iterator:O(e),resultName:n,nextLoc:a},"next"===this.method&&(this.arg=t),v}},e}function m(t,e){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},m(t,e)}function v(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var a,r,o,i,c=[],s=!0,d=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=o.call(n)).done)&&(c.push(a.value),c.length!==e);s=!0);}catch(t){d=!0,r=t}finally{try{if(!s&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(d)throw r}}return c}}(t,e)||w(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var a=n.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function b(t){return b="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},b(t)}function w(t,n){if(t){if("string"==typeof t)return e(t,n);var a={}.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?e(t,n):void 0}}function x(t){var e="function"==typeof Map?new Map:void 0;return x=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(p())return Reflect.construct.apply(null,arguments);var a=[null];a.push.apply(a,e);var r=new(t.bind.apply(t,a));return n&&m(r,n.prototype),r}(t,arguments,l(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),m(n,t)},x(t)}var z=function(){return c((function t(){o(this,t),this.isEnabled=!0,this.logLevels={error:!0,warn:!0,info:!0,log:!0,highlight:!0}}),[{key:"enable",value:function(){this.isEnabled=!0}},{key:"disable",value:function(){this.isEnabled=!1}},{key:"setLogLevel",value:function(t,e){this.logLevels.hasOwnProperty(t)&&(this.logLevels[t]=e)}},{key:"log",value:function(){var t;this.isEnabled&&this.logLevels.log&&(t=console).log.apply(t,arguments)}},{key:"error",value:function(){var t;this.isEnabled&&this.logLevels.error&&(t=console).error.apply(t,arguments)}},{key:"warn",value:function(){var t;this.isEnabled&&this.logLevels.warn&&(t=console).warn.apply(t,arguments)}},{key:"info",value:function(){var t;this.isEnabled&&this.logLevels.info&&(t=console).info.apply(t,arguments)}},{key:"highlight",value:function(){if(this.isEnabled&&this.logLevels.highlight){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var a=e.join(" ");console.log("%c"+a,"font-family:Rubik; font-size: 14px; color: #00008B; padding: 2px 5px")}}}])}(),k=new z;"undefined"!=typeof window&&(window.logger=k);var C=function(){return c((function t(){o(this,t)}),[{key:"fetchCart",value:(p=a(f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("fetchCart method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(){return p.apply(this,arguments)})},{key:"addToCart",value:(u=a(f().mark((function t(e){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("addToCart method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(t){return u.apply(this,arguments)})},{key:"removeFromCart",value:(l=a(f().mark((function t(e){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("removeFromCart method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(t){return l.apply(this,arguments)})},{key:"fetchProduct",value:(d=a(f().mark((function t(e){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("fetchProduct method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(t){return d.apply(this,arguments)})},{key:"fetchCampaigns",value:(s=a(f().mark((function t(e){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("fetchCampaigns method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(t){return s.apply(this,arguments)})},{key:"getCampaignData",value:(i=a(f().mark((function t(e,n,a){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("getCampaignData method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(t,e,n){return i.apply(this,arguments)})},{key:"sendClickData",value:function(){var t=a(f().mark((function t(e,n,a,r,o){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("sendClickData method must be implemented");case 1:case"end":return t.stop()}}),t)})));return function(e,n,a,r,o){return t.apply(this,arguments)}}()},{key:"sendConversionData",value:(r=a(f().mark((function t(e,n){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("sendConversionData method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(t,e){return r.apply(this,arguments)})},{key:"fetchSettings",value:function(){var t=a(f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("fetchSettings method must be implemented");case 1:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}()},{key:"logApiCall",value:function(t,e){k.log("API Call: ".concat(t),e)}},{key:"getLanguage",value:function(){throw new Error("Method 'getLanguage' must be implemented.")}},{key:"getStoreId",value:function(){throw new Error("getStoreId method must be implemented")}},{key:"fetchProductVariants",value:(n=a(f().mark((function t(e,n,a){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("fetchProductVariants method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(t,e,a){return n.apply(this,arguments)})},{key:"handleOrderPage",value:(e=a(f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("handleOrderPage method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(){return e.apply(this,arguments)})},{key:"addAllProducts",value:(t=a(f().mark((function t(e,n){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("addAllProducts method must be implemented");case 1:case"end":return t.stop()}}),t)}))),function(e,n){return t.apply(this,arguments)})}]);var t,e,n,r,i,s,d,l,u,p}(),_="https://backend.ziadah.app/api/v1",S=["en","ar"],E={en:{add:"Add to cart",added_all_to_cart:"All Products have been added successfully",added_to_cart:"Product has been added successfully",add_them_all:"Add them all",add_them_all_campaign:"Add them all",add_to_cart:"Add to cart",all_products_added_to_cart:"All products added to cart successfully",cart_updated:"Cart has been updated",cash_on_delivery:"Free Cash on Delivery",choose:"Choose",close_button:"Close",cod_not_free:"Cash on Delivery charges apply",color:"Color",continue:"Continue shopping",copy_coupon:"Copy",copy_failed:"Failed to copy code",code_copied:'Code "{code}" copied',coupon_code_label:"Coupon Code",coupon_copied:"Coupon {code} copied",coupon_copy:"Coupon copied",coupon_valid:"Valid until",cross_sell_campaign:"Cross-sell",currency_symbol:"SAR",default_currency:"SAR",discount_of:"Discount of",error_adding_product:"Error adding product to cart",error_adding_products_to_cart:"Error adding products to cart",error_product_id_missing:"Error: Product ID is missing",error_replacing_product:"Error replacing product in cart",find:"Find this sets together",freeshipping:"Free Shipping",helpful:"Most of the customers find these items helpful",in_stock:"In stock",items_left:"items left",max_quantity_reached:"Maximum quantity reached",no_campaigns_available:"No campaigns available",no_more_campaigns:"No more campaigns",not_enough_stock:"Not enough stock available",off:"off",offer:"Special Offer for you get",options:"Options",out_of_stock:"Out of stock",product_added_to_cart:"Product has been added to cart successfully",product_not_found:"Product not found",product_replaced:"Product has been replaced in your cart",replace:"Replace",replaced:"Product has been replaced successfully",replaced_all:"All Products have been replaced successfully",replace_campaign:"Replace",replace_them_all:"Replace them all",replace_them_all_campaign:"Replace them all",save:"Save",shipping_not_free:"Shipping charges apply",size:"Size",some_products_failed_to_add:"Some Products failed to add to Cart",some_products_failed_to_replace:"Some Products failed to replace",something_went_wrong:"Something Went Wrong",unlimited_stock:"Unlimited stock",unknown_campaign:"Unknown",upsell_campaign:"Upsell",weight:"Weight"},ar:{add:"إضافة للسلة",added_all_to_cart:"تمت إضافة المنتجات بنجاح",added_to_cart:"تمت إضافة المنتج بنجاح",add_them_all:"أضف الكل",add_them_all_campaign:"حملة إضافة الكل",add_to_cart:"أضف إلى السلة",all_products_added_to_cart:"تمت إضافة المنتجات بنجاح",cart_updated:"تم تحديث السلة",cash_on_delivery:"دفع عند الاستلام مجاني",choose:"اختيار",close_button:"إغلاق",cod_not_free:"تطبق رسوم الدفع عند الاستلام",color:"اللون",continue:"أكمل التسوق",copy_coupon:"نسخ الكوبون",copy_failed:"فشل نسخ الكود",code_copied:'تم نسخ الكود "{code}"',coupon_code_label:"كود القسيمة",coupon_copied:"تم نسخ الكوبون {code}",coupon_copy:"تم نسخ القسيمة",coupon_valid:"صالح حتى",cross_sell_campaign:"حملة البيع المتقاطع",currency_symbol:"ر.س",default_currency:"ر.س",discount_of:"خصم بقيمة",error_adding_product:"فشل إضافة المنتج إلى سلة التسوق",error_adding_products_to_cart:"فشل إضافة المنتجات إلى السلة",error_product_id_missing:"فشل: معرف المنتج مفقود",error_replacing_product:"فشل استبدال المنتج في سلة التسوق",find:"ابحث عن هذه المجموعات معًا",freeshipping:"شحن مجاني",helpful:"يجد معظم العملاء هذه العناصر مفيدة",in_stock:"متوفر في المخزون",items_left:"قطع متبقية",max_quantity_reached:"تم الوصول إلى الحد الأقصى للكمية",no_campaigns_available:"لا توجد حملات متاحة",no_more_campaigns:"لا توجد حملات أخرى",not_enough_stock:"لا يوجد مخزون كافٍ",off:"خصم",offer:"عرض خاص لك تحصل على",options:"الخيارات",out_of_stock:"نفذت الكمية",product_added_to_cart:"تم إضافة المنتج إلى سلة التسوق",product_not_found:"لم يتم العثور على المنتج",product_replaced:"تم إستبدال المنتج في سلة التسوق",replace:"إستبدال",replaced:"تم إستبدال المنتج بنجاح",replaced_all:"تم استبدال المنتجات بنجاح",replace_campaign:"استبدال",replace_all_to_cart:"إستبدال الكل",replace_them_all:"استبدال الكل",replace_them_all_campaign:"حملة استبدال الكل",save:"حفظ",shipping_not_free:"تطبق رسوم الشحن",size:"المقاس",some_products_failed_to_add:"بعض المنتجات لم يتم إضافتها إلى سلة التسوق",some_products_failed_to_replace:"بعض المنتجات لم يتم استبدالها",something_went_wrong:"حدث حطأ اثناء العمليه",unlimited_stock:"مخزون غير محدود",unknown_campaign:"حملة غير معروفة",upsell_campaign:"حملة البيع التصاعدي",weight:"الوزن"}},I=new(function(){return c((function t(e){o(this,t),this.state=e,this.listeners=[]}),[{key:"getState",value:function(){return this.state}},{key:"setState",value:function(t){var e=this;k.log("Setting new state:",t),this.state=g(g({},this.state),t),k.log("State after update:",this.state),this.listeners.forEach((function(t){return t(e.state)}))}},{key:"subscribe",value:function(t){var e=this;return this.listeners.push(t),function(){e.listeners=e.listeners.filter((function(e){return e!==t}))}}}])}())({campaigns:[],activePopup:null,cart:[],language:document.documentElement.lang||"en",currentCampaignID:"",lastEventID:"",lastEventName:"",lastEventData:{},lowerCampaign:{},isRestarted:!1,killThePopup:!1,allAddedSuccessfully:!0,replacableProduct:[],productAdded:!1,settings:{},popupType:"modal",pluginActive:!1,campaignActive:!1,popupFactory:null}),P=function(){return I.getState()},L=function(t){I.setState(t),k.log("State updated:",I.getState())};function A(){return P().language||"en"}function O(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=P(),a=S.includes(n.language)?n.language:"en",r=E[a][t]||t;return Object.entries(e).forEach((function(t){var e=v(t,2),n=e[0],a=e[1];r=r.replace(new RegExp("{{\\s*".concat(n,"\\s*}}"),"g"),a)})),r}var D=[],T=null;function N(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];k.log("Notification: ".concat(e?"Error: ":"").concat(t));var n=function(){if(!T){T=document.createElement("div");var t="rtl"===document.documentElement.dir;T.style.cssText="\n position: fixed;\n top: 20px;\n ".concat(t?"right":"left",": 20px;\n z-index: 9999;\n "),document.body.appendChild(T)}return T}(),a=document.createElement("div");a.textContent=t,a.style.cssText="\n padding: 10px 20px;\n margin-bottom: 10px;\n background-color: ".concat(e?"#ff4444":"#00a86b",";\n color: #ffffff;\n border-radius: 5px;\n box-shadow: 0 2px 10px rgba(0,0,0,0.2);\n font-family: Arial, sans-serif;\n font-size: 16px;\n transition: all 0.5s ease-out;\n max-width: 300px;\n word-wrap: break-word;\n font-family: ").concat(F(),"\n "),n.appendChild(a),D.push(a),setTimeout((function(){a.style.opacity="0",a.style.transform="translateX(100%)",setTimeout((function(){n.removeChild(a);var t=D.indexOf(a);t>-1&&D.splice(t,1),0===D.length&&n.parentNode&&(document.body.removeChild(n),T=null)}),500)}),3e3)}function R(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";k.error("[Ziadah Plugin Error]".concat(e?" (".concat(e,")"):"",": "),t)}function F(){try{var t=window.getComputedStyle(document.body).getPropertyValue("font-family");if(k.log("Body font family:",t),t&&"none"!==t)return t}catch(t){k.warn("Error detecting store font:",t)}return"'Rubik', sans-serif"}var M=3e5,j=new Map;function U(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="ziadah_".concat(t).concat(JSON.stringify(e)),a=(new Date).getTime();if(j.has(n)){var r=j.get(n);if(a-r.timestamp<M)return Promise.resolve(r.data)}var o=localStorage.getItem(n);if(o){var i=JSON.parse(o);if(a-i.timestamp<M)return j.set(n,i),Promise.resolve(i.data)}return fetch(t,e).then((function(t){return t.json()})).then((function(t){var e={timestamp:a,data:t};return j.set(n,e),localStorage.setItem(n,JSON.stringify(e)),t}))}function B(){if(window.__INITIAL_STATE__&&window.__INITIAL_STATE__.session&&window.__INITIAL_STATE__.session.currency){var t,e=window.__INITIAL_STATE__.session.currency,n=document.documentElement.lang||"en";return{code:e.code,symbol:"en"===n?e.code:e.symbol,countryCode:(null===(t=e.country)||void 0===t?void 0:t.country_code)||null}}return null}var q={mainColor:"#4A4A4A",subColor:"#787878",backgroundColor:"#F0F0F0",textColor:"#333333",headerTextColor:"#4A4A4A",buttonColor:"#4A4A4A",buttonTextColor:"#FFFFFF",borderColor:"#CCCCCC",hoverColor:"#333333",overlayColor:"rgba(0, 0, 0, 0.5)",shadowColor:"rgba(0, 0, 0, 0.1)",activeColor:"#333333",disabledColor:"#AAAAAA",lightBackgroundColor:"#E6E6E6",lightBackgroundColorHover:"#D9D9D9",darkBackgroundColor:"#CCCCCC",darkBackgroundColorHover:"#BFBFBF",focusShadowColor:"rgba(74, 74, 74, 0.25)",iconCheckColor:"#4A4A4A",couponCopiedColor:"#2E8B57",modalRadius:"0px",buttonRadius:"0px",productBorderRadius:"0px",couponBorderRadius:"0px",imageBorderRadius:"0px"},H=g({enabled:!0,display_type:"popup",trigger_type:"exit_intent",delay:5e3,frequency:"once_per_session",modalRadius:"8px",modalBackground:"#ffffff",fontFamily:"".concat(F(),", 'Rubik', sans-serif"),fontSize:"16px",buttonRadius:"4px",animationDuration:"0.3s",maxWidth:"600px",fontWeight:"normal",buttonFontSize:"14px",buttonFontWeight:"500",buttonPadding:"10px 20px",buttonBorderRadius:"4px",productBorderRadius:"8px",couponBorderRadius:"4px",imageBorderRadius:"8px",attributesFontSize:"14px",customCSS:"",userCSS:""},q),V={STORE_EVENTS:"".concat(_,"/zid/store-events"),CAMPAIGN:"".concat(_,"/zid/store-events/campaign"),CAMPAIGN_CLICKS:"".concat(_,"/zid/store-front/campaign/clicks"),CAMPAIGN_CONVERSIONS:"".concat(_,"/zid/store-front/campaign/conversions"),PRODUCT_VARIANT:"".concat(_,"/zid/store-front/variant"),PLUGIN_SETTINGS:"".concat(_,"/zid/store-front/plugin-settings")},J=function(t){function e(){var t;if(o(this,e),t=r(this,e),!window.zid)throw console.error("Zid store object not found. The plugin may not function correctly."),new Error("Zid store object is required.");if(t.zid=window.zid,!window.store_uuid)throw k.error("store_uuid is not defined. Please set window.store_uuid."),new Error("store_uuid is required.");return t.storeId=window.store_uuid,t.language=document.documentElement.lang||"en",t.settingsInitialized=!1,t.cachedSettings=null,t.cachedLanguage=null,t.cacheDuration=144e5,t.updateInterval=144e5,t.lastUpdateTime=0,t.allCampaignsCacheKey="all_campaigns_".concat(t.storeId,"_v").concat(e.CACHE_VERSION),t.isUpdating=!1,t.updateQueue=[],t.startPeriodicUpdates(),t._initializationPromise=null,t._campaignsLogged=!1,a(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.initializeCampaigns();case 2:case"end":return e.stop()}}),e)})))(),t.campaignFetchPromises=new Map,t.campaignCache=new Map,t.cacheDuration=3e5,t}return u(e,t),c(e,[{key:"initializeCampaigns",value:(S=a(f().mark((function t(){var e=this;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this._initializationPromise){t.next=2;break}return t.abrupt("return",this._initializationPromise);case 2:return this._initializationPromise=a(f().mark((function t(){var n,a;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,n=localStorage.getItem(e.allCampaignsCacheKey),a=localStorage.getItem("".concat(e.allCampaignsCacheKey,"_timestamp")),!n||!a){t.next=9;break}if(!(Date.now()-parseInt(a)<e.cacheDuration)){t.next=9;break}return k.log("Using cached campaigns on initialization"),e.logCachedCampaigns(),t.abrupt("return");case 9:return k.log("Fetching all campaigns on initialization"),t.next=12,e.fetchAllCampaigns();case 12:e.logCachedCampaigns(),t.next=18;break;case 15:t.prev=15,t.t0=t.catch(0),k.error("Error in initializeCampaigns:",t.t0);case 18:case"end":return t.stop()}}),t,null,[[0,15]])})))(),t.abrupt("return",this._initializationPromise);case 4:case"end":return t.stop()}}),t,this)}))),function(){return S.apply(this,arguments)})},{key:"isCacheExpired",value:function(t){return Date.now()-parseInt(t)>=this.cacheDuration}},{key:"getLanguage",value:function(){if(this.cachedLanguage)return this.cachedLanguage;var t=P();return this.cachedLanguage=t.language||this.language,this.cachedLanguage}},{key:"setLanguage",value:function(t){this.language=t,this.cachedLanguage=null}},{key:"getStoreId",value:function(){return this.storeId}},{key:"fetchCart",value:(_=a(f().mark((function t(){var e;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.zid.store.cart.fetch();case 3:return e=t.sent,t.abrupt("return",e.data.cart);case 7:throw t.prev=7,t.t0=t.catch(0),k.error("Error fetching cart:",t.t0),t.t0;case 11:case"end":return t.stop()}}),t,this,[[0,7]])}))),function(){return _.apply(this,arguments)})},{key:"fetchAllCampaigns",value:(C=a(f().mark((function t(){var e,n,a,r,o,i,c,s,d,l,u=this;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=Date.now(),!((n=localStorage.getItem("".concat(this.allCampaignsCacheKey,"_timestamp")))&&e-parseInt(n)<this.updateInterval)){t.next=5;break}return k.log("Skipping fetch, campaigns are up to date"),t.abrupt("return");case 5:k.log("Fetching all campaigns"),a=[1,2,3,4,5,6],r=new Map,o=f().mark((function t(){var e;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=c[i],r.has(e)||r.set(e,u.fetchFreshCampaigns(e).catch((function(t){return k.error("Error fetching campaign for event ID ".concat(e,":"),t),null})));case 2:case"end":return t.stop()}}),t)})),i=0,c=a;case 10:if(!(i<c.length)){t.next=15;break}return t.delegateYield(o(),"t0",12);case 12:i++,t.next=10;break;case 15:return t.prev=15,t.next=18,Promise.all(r.values());case 18:return s=t.sent,d=Object.fromEntries(Array.from(r.keys()).map((function(t,e){return[t,s[e]]}))),k.log("All campaigns fetched:",d),Object.values(d).every((function(t){return!t||0===t.length}))&&k.warn("No campaigns data received for any event"),this.storeAllCampaigns(d),t.abrupt("return",d);case 26:return t.prev=26,t.t1=t.catch(15),k.error("Error in fetchAllCampaigns:",t.t1),l=localStorage.getItem(this.allCampaignsCacheKey),t.abrupt("return",l?JSON.parse(l):{});case 31:case"end":return t.stop()}}),t,this,[[15,26]])}))),function(){return C.apply(this,arguments)})},{key:"addToCart",value:(z=a(f().mark((function t(e){var n;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.zid.store.cart.addProduct(e);case 3:if((n=t.sent)&&n.data){t.next=6;break}throw new Error("Invalid response from addToCart");case 6:return t.abrupt("return",n.data);case 9:throw t.prev=9,t.t0=t.catch(0),k.error("Error adding to cart:",t.t0),t.t0;case 13:case"end":return t.stop()}}),t,this,[[0,9]])}))),function(t){return z.apply(this,arguments)})},{key:"removeFromCart",value:(x=a(f().mark((function t(e){var n;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.zid.store.cart.removeProduct(e);case 3:if((n=t.sent)&&n.data){t.next=6;break}throw new Error("Invalid response from removeFromCart");case 6:return t.abrupt("return",n.data);case 9:throw t.prev=9,t.t0=t.catch(0),k.error("Error removing from cart:",t.t0),t.t0;case 13:case"end":return t.stop()}}),t,this,[[0,9]])}))),function(t){return x.apply(this,arguments)})},{key:"silentlyUpdateAllCampaigns",value:(w=a(f().mark((function t(){var e,n;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Starting silent update of all campaigns"),!((e=Date.now())-this.lastUpdateTime>=this.updateInterval)){t.next=22;break}return t.prev=3,t.next=6,this.fetchAllCampaigns();case 6:return n=t.sent,this.storeAllCampaigns(n),this.lastUpdateTime=e,k.log("Silent update of all campaigns completed successfully"),this.logCachedCampaigns(),"function"==typeof this.onCampaignsUpdated&&this.onCampaignsUpdated(n),window.dispatchEvent(new CustomEvent("ziadahCampaignsUpdated",{detail:n})),t.abrupt("return",!0);case 16:return t.prev=16,t.t0=t.catch(3),k.error("Error updating campaigns in the background:",t.t0),t.abrupt("return",!1);case 20:t.next=24;break;case 22:return k.log("Cache is still valid, skipping update"),t.abrupt("return",!0);case 24:case"end":return t.stop()}}),t,this,[[3,16]])}))),function(){return w.apply(this,arguments)})},{key:"setCampaignsUpdatedCallback",value:function(t){this.onCampaignsUpdated=t}},{key:"startPeriodicUpdates",value:function(){var t=this,e=this.updateInterval/36e5,n=e>=1?"".concat(e.toFixed(2)," hours"):"".concat(this.updateInterval/1e3," seconds");k.log("Setting up periodic updates with interval of ".concat(n)),this.periodicUpdateTimer&&clearInterval(this.periodicUpdateTimer),this.periodicUpdateTimer=setInterval((function(){t.fetchAllCampaigns()}),this.updateInterval)}},{key:"changeUpdateInterval",value:function(t){"number"==typeof t&&t>0?(this.updateInterval=t,this.startPeriodicUpdates(),k.log("Update interval changed to ".concat(this.updateInterval,"ms"))):k.error("Invalid update interval provided")}},{key:"fetchCampaigns",value:(b=a(f().mark((function t(n){var a,r,o,i;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Fetching campaigns for event ID: ".concat(n)),a=localStorage.getItem("".concat(this.allCampaignsCacheKey,"_v").concat(e.CACHE_VERSION)),r=localStorage.getItem("".concat(this.allCampaignsCacheKey,"_timestamp_v").concat(e.CACHE_VERSION)),!a||!r){t.next=8;break}if(this.isCacheExpired(r)){t.next=8;break}return k.log("Using cached campaign data for event ".concat(n)),o=JSON.parse(a),t.abrupt("return",{data:o[n],isCached:!0});case 8:return k.log("Cache expired or not found, fetching all campaigns"),t.next=11,this.fetchAllCampaigns();case 11:return i=t.sent,t.abrupt("return",{data:i[n],isCached:!1});case 13:case"end":return t.stop()}}),t,this)}))),function(t){return b.apply(this,arguments)})},{key:"checkAndUpdateCampaigns",value:(y=a(f().mark((function t(){var n,a;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.isUpdating){t.next=3;break}return this.updateQueue.push(Date.now()),t.abrupt("return");case 3:if(this.isUpdating=!0,t.prev=4,(n=localStorage.getItem("".concat(this.allCampaignsCacheKey,"_timestamp_v").concat(e.CACHE_VERSION)))&&!this.isCacheExpired(n)){t.next=14;break}return k.log("Cache expired, starting silent update of all campaigns"),t.next=10,this.silentlyUpdateAllCampaigns();case 10:a=t.sent,k.log("Silent update ".concat(a?"completed successfully":"failed")),t.next=15;break;case 14:k.log("Cache is still valid, no update needed");case 15:return t.prev=15,this.isUpdating=!1,this.updateQueue.length>0&&(this.updateQueue.shift(),this.checkAndUpdateCampaigns()),t.finish(15);case 19:case"end":return t.stop()}}),t,this,[[4,,15,19]])}))),function(){return y.apply(this,arguments)})},{key:"fetchFreshCampaigns",value:(m=a(f().mark((function t(e){var n,r,o,i=this;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.campaignFetchPromises||(this.campaignFetchPromises=new Map),this.campaignCache||(this.campaignCache=new Map),!this.campaignFetchPromises.has(e)){t.next=5;break}return k.log("Fetch already in progress for event ID: ".concat(e)),t.abrupt("return",this.campaignFetchPromises.get(e));case 5:if(!((n=this.campaignCache.get(e))&&Date.now()-n.timestamp<this.cacheDuration)){t.next=9;break}return k.log("Using cached data for event ID: ".concat(e)),t.abrupt("return",n.data);case 9:return r="".concat(V.STORE_EVENTS,"?store-id=").concat(this.storeId,"&event-id=").concat(e),o=a(f().mark((function t(){var n,a;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,k.log("Fetching fresh campaign data for event ID: ".concat(e)),t.next=4,fetch(r);case 4:if((n=t.sent).ok){t.next=7;break}throw new Error("HTTP error! status: ".concat(n.status));case 7:return t.next=9,n.json();case 9:return a=t.sent,k.log("Received data for event ID ".concat(e,":"),a),i.campaignCache.set(e,{data:a,timestamp:Date.now()}),t.abrupt("return",a);case 15:throw t.prev=15,t.t0=t.catch(0),k.error("Error fetching campaigns for event ID ".concat(e,":"),t.t0),t.t0;case 19:return t.prev=19,i.campaignFetchPromises.delete(e),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[0,15,19,22]])})))(),this.campaignFetchPromises.set(e,o),t.abrupt("return",o);case 13:case"end":return t.stop()}}),t,this)}))),function(t){return m.apply(this,arguments)})},{key:"getCampaignData",value:(h=a(f().mark((function t(e,n,a){var r,o,i,c,s,d,l;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r="campaign_".concat(this.storeId,"_").concat(e,"_").concat(n),o=localStorage.getItem(r),i=localStorage.getItem("".concat(r,"_timestamp")),!o||!i){t.next=8;break}if(!(Date.now()-parseInt(i)<this.cacheDuration)){t.next=8;break}return k.log("Using cached campaign data for campaign ".concat(e)),t.abrupt("return",{data:JSON.parse(o),isCached:!0});case 8:return t.prev=8,c=a.map((function(t){return{id:t.id,child_ids:t.attributes.map((function(t){return t.presets.map((function(t){return t.id}))})).flat()}})),s={campaign_id:e,event_id:n,store_id:this.storeId,action_product_ids:c,currency:this.getCurrency()},k.log("Sending request to getCampaignData with body:",s),t.next=14,fetch(V.CAMPAIGN,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});case 14:return d=t.sent,t.next=17,d.json();case 17:if(l=t.sent,d.ok){t.next=20;break}throw new Error("Server error ".concat(d.status,": ").concat(JSON.stringify(l)));case 20:return localStorage.setItem(r,JSON.stringify(l)),localStorage.setItem("".concat(r,"_timestamp"),Date.now().toString()),t.abrupt("return",{data:l,isCached:!1});case 25:return t.prev=25,t.t0=t.catch(8),k.error("Error getting campaign data:",t.t0),t.abrupt("return",{is_success:!1,message:"Failed to fetch campaign data",data:null,isCached:!1});case 29:case"end":return t.stop()}}),t,this,[[8,25]])}))),function(t,e,n){return h.apply(this,arguments)})},{key:"sendClickData",value:function(){var t=a(f().mark((function t(e,n,a,r,o){var i,c,s,d;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,i={store_uuid:e,campaign_id:n,click_type:Number(a),quantity:o},null!==r&&(i.product_uuid=r),k.log("ZidAdapter: Click data payload",i),t.next=6,fetch(V.CAMPAIGN_CLICKS,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});case 6:if((c=t.sent).ok){t.next=13;break}return t.next=10,c.text();case 10:throw s=t.sent,k.error("ZidAdapter: Click data error response",{status:c.status,statusText:c.statusText,errorText:s}),new Error("Server error ".concat(c.status,": ").concat(s));case 13:return t.next=15,c.json();case 15:return d=t.sent,k.log("ZidAdapter: Click data sent successfully",d),t.abrupt("return",{success:!0,data:d});case 20:return t.prev=20,t.t0=t.catch(0),k.log("ZidAdapter: Error sending click data:",t.t0),t.abrupt("return",{success:!1,error:t.t0.message});case 24:case"end":return t.stop()}}),t,null,[[0,20]])})));return function(e,n,a,r,o){return t.apply(this,arguments)}}()},{key:"sendConversionData",value:(p=a(f().mark((function t(e,n){var a,r;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return k.log("Sending conversion data:",{storeUUID:e,products:n}),t.prev=1,t.next=4,fetch(V.CAMPAIGN_CONVERSIONS,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({store_uuid:e,products:n.map((function(t){return{uuid:t.uuid,campaign_id:t.campaign_id,quantity:t.quantity,gross_price:t.gross_price}}))})});case 4:if((a=t.sent).ok){t.next=10;break}return t.next=8,a.text();case 8:throw r=t.sent,new Error("Server error ".concat(a.status,": ").concat(r));case 10:return t.next=12,a.json();case 12:return t.abrupt("return",t.sent);case 15:throw t.prev=15,t.t0=t.catch(1),k.error("Error sending conversion data:",t.t0),t.t0;case 19:case"end":return t.stop()}}),t,null,[[1,15]])}))),function(t,e){return p.apply(this,arguments)})},{key:"fetchSettings",value:function(){var t=a(f().mark((function t(){var e;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.settingsInitialized){t.next=2;break}return t.abrupt("return",this.cachedSettings);case 2:return t.prev=2,t.next=5,U(V.PLUGIN_SETTINGS);case 5:return e=t.sent,this.cachedSettings=e,this.settingsInitialized=!0,t.abrupt("return",this.cachedSettings);case 11:return t.prev=11,t.t0=t.catch(2),k.warn("Settings endpoint not available, using fallback settings"),this.cachedSettings=this.getDefaultSettings(),this.settingsInitialized=!0,t.abrupt("return",this.cachedSettings);case 17:case"end":return t.stop()}}),t,this,[[2,11]])})));return function(){return t.apply(this,arguments)}}()},{key:"getDefaultSettings",value:function(){return H}},{key:"fetchProductVariants",value:(l=a(f().mark((function t(e,n,a){var r,o;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,k.log("Fetching variants for product:",e),k.log("Selected attributes:",n),k.log("Language:",a),t.next=6,fetch(V.PRODUCT_VARIANT,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({product_id:e,lang:a,names:n})});case 6:if((r=t.sent).ok){t.next=12;break}return t.next=10,r.text();case 10:throw o=t.sent,new Error("Server error ".concat(r.status,": ").concat(o));case 12:return t.next=14,r.json();case 14:return t.abrupt("return",t.sent);case 17:throw t.prev=17,t.t0=t.catch(0),k.error("Error fetching product variants:",t.t0),t.t0;case 21:case"end":return t.stop()}}),t,null,[[0,17]])}))),function(t,e,n){return l.apply(this,arguments)})},{key:"handleOrderPage",value:(d=a(f().mark((function t(){var e,n;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.fetchCart();case 3:if("completed"!==(e=t.sent).status){t.next=8;break}return n=e.items.map((function(t){return{product_uuid:t.product_id,quantity:t.quantity,campaign_id:t.campaign_id}})),t.next=8,this.sendConversionData(this.storeId,n);case 8:t.next=14;break;case 10:throw t.prev=10,t.t0=t.catch(0),k.error("Error handling order page:",t.t0),t.t0;case 14:case"end":return t.stop()}}),t,this,[[0,10]])}))),function(){return d.apply(this,arguments)})},{key:"applySettings",value:function(t){return k.log("Applying settings to ZidAdapter:",t),this.settings=t,this.settings}},{key:"getCurrency",value:function(){var t=B();return t?t.code:"SAR"}},{key:"getCurrencySymbol",value:function(){var t=B();return t?t.symbol:"SR"}},{key:"getCountryCode",value:function(){var t=B();return t?t.countryCode:null}},{key:"changeRefreshInterval",value:function(t){k.log("Changing refresh interval to ".concat(t,"ms")),this.startPeriodicUpdates(t)}},{key:"logCachedCampaigns",value:function(){if(this._campaignsLogged)k.log("Campaigns already logged, skipping.");else{k.log("Logging cached Ziadah campaigns");var t=localStorage.getItem("".concat(this.allCampaignsCacheKey,"_v").concat(e.CACHE_VERSION));if(t)try{var n=JSON.parse(t);Object.entries(n).forEach((function(t){var e=v(t,2),n=e[0],a=e[1];k.log("Event ID ".concat(n,":")),k.log(a)}))}catch(t){k.error("Error parsing cached campaigns:",t)}else k.log("No cached campaigns found");this._campaignsLogged=!0}}},{key:"storeAllCampaigns",value:function(t){k.log("Storing campaigns:",t),localStorage.setItem("".concat(this.allCampaignsCacheKey,"_v").concat(e.CACHE_VERSION),JSON.stringify(t)),localStorage.setItem("".concat(this.allCampaignsCacheKey,"_timestamp_v").concat(e.CACHE_VERSION),Date.now().toString()),k.log("Dispatching ziadahCampaignsUpdated event"),window.dispatchEvent(new CustomEvent("ziadahCampaignsUpdated",{detail:t}))}},{key:"forceRefreshAllCampaigns",value:(s=a(f().mark((function t(){var e;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return k.log("Force refreshing all campaigns"),t.prev=1,t.next=4,this.fetchAllCampaigns();case 4:return e=t.sent,this.storeAllCampaigns(e),k.log("All campaigns forcefully refreshed: ZidAdapter"),t.abrupt("return",e);case 10:throw t.prev=10,t.t0=t.catch(1),k.error("Error forcefully refreshing campaigns:",t.t0),t.t0;case 14:case"end":return t.stop()}}),t,this,[[1,10]])}))),function(){return s.apply(this,arguments)})},{key:"clearCache",value:function(){k.log("Clearing Ziadah cache"),localStorage.removeItem("".concat(this.allCampaignsCacheKey,"_v").concat(e.CACHE_VERSION)),localStorage.removeItem("".concat(this.allCampaignsCacheKey,"_timestamp_v").concat(e.CACHE_VERSION)),this.cachedSettings=null,this.settingsInitialized=!1}},{key:"replaceProduct",value:(i=a(f().mark((function t(e,n){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.removeFromCart(e);case 3:return t.next=5,this.addToCart(n);case 5:return t.abrupt("return",t.sent);case 8:throw t.prev=8,t.t0=t.catch(0),k.error("Error replacing product:",t.t0),t.t0;case 12:case"end":return t.stop()}}),t,this,[[0,8]])}))),function(t,e){return i.apply(this,arguments)})},{key:"replaceAllProducts",value:(n=a(f().mark((function t(){var e;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.removeAllProducts();case 3:return t.next=5,this.addAllProducts();case 5:return e=t.sent,t.abrupt("return",g({success:!0},e));case 9:return t.prev=9,t.t0=t.catch(0),k.error("Error replacing all products:",t.t0),t.abrupt("return",{success:!1,error:t.t0.message});case 13:case"end":return t.stop()}}),t,this,[[0,9]])}))),function(){return n.apply(this,arguments)})},{key:"getCachedCampaigns",value:function(){var t=localStorage.getItem("".concat(this.allCampaignsCacheKey,"_v").concat(e.CACHE_VERSION));return t?JSON.parse(t):null}}]);var n,i,s,d,l,p,h,m,y,b,w,x,z,C,_,S}(C);d(J,"CACHE_VERSION",2);var Z=null;function K(t){if(Z)return k.log("Returning existing adapter instance"),Z;if(k.log("Creating adapter for platform:",t),"zid"!==t.toLowerCase())throw k.error("Unsupported platform: ".concat(t)),new Error("Unsupported platform in production: ".concat(t));return Z=new J}var G=function(){return c((function t(e,n){if(o(this,t),(this instanceof t?this.constructor:void 0)===t)throw new TypeError("Cannot construct AbstractPopup instances directly");this.shadowRoot=e,this.adapter=n,this.popupElement=null,this.state=P()}),[{key:"create",value:(t=a(f().mark((function t(e,n){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new Error("Method 'create' must be implemented.");case 1:case"end":return t.stop()}}),t)}))),function(e,n){return t.apply(this,arguments)})},{key:"getAdapter",value:function(){return this.adapter}},{key:"getLanguage",value:function(){return P().language||"en"}},{key:"show",value:function(){throw new Error("Method 'show' must be implemented.")}},{key:"hide",value:function(){throw new Error("Method 'hide' must be implemented.")}},{key:"update",value:function(t){throw new Error("Method 'update' must be implemented.")}},{key:"updateContent",value:function(t){throw new Error("Method 'updateContent' must be implemented.")}},{key:"destroy",value:function(){throw new Error("Method 'destroy' must be implemented.")}},{key:"isOpen",value:function(){throw new Error("Method 'isOpen' must be implemented.")}},{key:"getElement",value:function(){throw new Error("Method 'getElement' must be implemented.")}},{key:"handleAddToCart",value:function(t){throw new Error("Method 'handleAddToCart' must be implemented.")}},{key:"handleAddAllToCart",value:function(){throw new Error("Method 'handleAddAllToCart' must be implemented.")}},{key:"handleReplaceProduct",value:function(t,e){throw new Error("Method 'handleReplaceProduct' must be implemented.")}},{key:"handleReplaceAllProducts",value:function(){throw new Error("Method 'handleReplaceAllProducts' must be implemented.")}},{key:"handleCouponCopy",value:function(t){throw new Error("Method 'handleCouponCopy' must be implemented.")}}]);var t}(),W={classNames:{popup:"ziadah-popup",modal:"ziadah-modal",modalContent:"ziadah-modal-content",closeButton:"ziadah-close",productsContainer:"ziadah-products-container",product:"ziadah-product",productImage:"ziadah-product-image",productDetails:"ziadah-product-details",addToCart:"ziadah-add-to-cart",coupon:"zd-coupon",couponHeader:"zd-coupon-header",couponCode:"zd-coupon-code",copyCoupon:"zd-copy-coupon",discountAmount:"zd-discount-amount",couponDetails:"zd-coupon-details",freeShipping:"zd-free-shipping",cashOnDelivery:"zd-cash-on-delivery",couponFooter:"zd-coupon-footer",validUntil:"zd-valid-until",error:"zd-error",variantDropdown:"ziadah-variant-dropdown",dropdownHeader:"ziadah-dropdown-header",dropdownContent:"ziadah-dropdown-content",variantCollapse:"ziadah-variant-collapse",collapseHeader:"ziadah-collapse-header",collapseContent:"ziadah-collapse-content",chevronIcon:"ziadah-chevron-icon",productAttribute:"ziadah-product-attribute",modalFooter:"ziadah-modal-footer",addAllToCart:"ziadah-addAllToCart",addAllButton:"ziadah-add-all-button",continueButton:"ziadah-continue-button",pluginModalContinue:"ziadah-pluginModalContinue",modalVisible:"ziadah-modal-visible",attributeOption:"ziadah-attribute-option"},selectors:{modalContent:".ziadah-modal-content",closeButton:".ziadah-close",productsContainer:".ziadah-products-container",addToCart:".ziadah-add-to-cart",coupon:".ziadah-coupon",copyCoupon:".ziadah-copy-coupon",productAttribute:".ziadah-product-attribute"},dataAttributes:{productId:"data-product-id",attributeName:"data-attribute-name",attributeValue:"data-attribute-value"}};var Y=function(){return c((function t(e,n,a,r){o(this,t),this.shadowRoot=e,this.adapter=n,this.productData=a,this.campaignId=r||(null==a?void 0:a.campaignId)||null,k.log("Product constructor - Processed Campaign ID:",this.campaignId),this.config=W,this.chevronDownIcon='\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="chevron-icon">\n <polyline points="6 9 12 15 18 9"></polyline>\n </svg>\n '.trim(),this.chevronUpIcon='\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="chevron-icon">\n <polyline points="18 15 12 9 6 15"></polyline>\n </svg>\n '.trim()}),[{key:"create",value:function(t,e,n,a){var r,o,i;this.productData=t,k.log("Product create - Full campaignData:",JSON.stringify(e,null,2)),Number.isInteger(Number(e))&&Number(e)>0?(this.campaignId=Number(e),k.log("Product create - Campaign ID set from campaignData:",this.campaignId)):Number.isInteger(Number(this.productData.campaignId))&&Number(this.productData.campaignId)>0?(this.campaignId=Number(this.productData.campaignId),k.log("Product create - Campaign ID set from productData:",this.campaignId)):(k.warn("Product create - No valid campaign ID found in campaignData or productData"),this.campaignId=null);var c,s=this.adapter.getLanguage(),d=(null===(r=t.name)||void 0===r?void 0:r[s])||(null===(o=t.name)||void 0===o?void 0:o.en)||"";t.isLastProduct,!this.productData.campaignId&&e&&e.id&&(this.productData.campaignId=e.id,k.log("Added campaign ID to productData:",this.productData.campaignId)),k.highlight("Product create - Full campaignData:",JSON.stringify(e,null,2)),k.highlight("Product create - isSingleProduct:",a),c="object"===b(e)&&null!==e?e.id||0:"number"==typeof e?e:0,k.highlight("Product create - Campaign type:",c);var l=this.getButtonText(c,a),u=this.getButtonClass(c,a),p=this.getCampaignTypeText(c,a);k.highlight("Button text: ".concat(l,", Campaign type text: ").concat(p)),this.hasOptions=t.attributes&&t.attributes.some((function(t){return t.presets&&t.presets.length>0})),k.log("Product has options:",this.hasOptions);var h=this.hasOptions?this.generateAttributesHTML(t.attributes):"",g='\n <button class="ziadah-'.concat(u,'" data-product-id="').concat(t.uuid||"",'">\n <span class="ziadah-button-text">').concat(l,'</span>\n <span class="ziadah-spinner" style="display: none;"></span>\n </button>\n '),f='\n <div class="ziadah-product" data-product-id="'.concat(t.uuid||"",'">\n <div class="ziadah-product-image-container">\n <img class="ziadah-product-image" src="').concat((null===(i=t.images[0])||void 0===i?void 0:i.images.small)||"",'" alt="').concat(d,'">\n </div>\n <div class="ziadah-product-details">\n <div class="ziadah-product-info">\n <div class="ziadah-product-name" title="').concat(d,'">').concat(d,'</div>\n <div class="ziadah-product-price">').concat(t.price||""," ").concat(t.currency||"","</div>\n </div>\n ").concat(this.hasOptions?'\n <div class="ziadah-attributes-container">\n <div class="ziadah-attributes-header">\n <span class="ziadah-attributes-title">'.concat(this.adapter.t("options")||"الخيارات",'</span>\n <span class="ziadah-chevron-icon">\n ').concat(this.chevronDownIcon,'\n </span>\n </div>\n <div class="ziadah-attributes-content" style="display: none;">\n ').concat(h,"\n </div>\n </div>\n "):"",'\n <div class="ziadah-product-action-container">\n ').concat(g,'\n <span class="ziadah-campaign-type" style="display: none;"> type is ').concat(p,"</span>\n </div>\n </div>\n </div>\n "),m=document.createElement("div");m.innerHTML=f;var v=m.firstElementChild;return this.setupEventListeners(v),this.hasOptions&&this.updateButtonState(v),v.outerHTML}},{key:"setupEventListeners",value:function(t){var e=this;if(t){var n=t.querySelector(".ziadah-attributes-header");n&&n.addEventListener("click",(function(){k.log("Attributes header clicked"),e.toggleAttributesContent(t)}));var a=t.querySelector(".ziadah-add-to-cart, .ziadah-replace, .ziadah-replace-all, .ziadah-add-all-to-cart");a&&a.addEventListener("click",(function(){var t=a.dataset.productId,n=a.classList.contains("ziadah-replace")||a.classList.contains("ziadah-replace-all");k.log("".concat(n?"Replace":"Add to cart"," clicked for product ID:"),t),e.handleProductAction(t,n)})),t.querySelectorAll(".ziadah-attribute-header").forEach((function(t){t.addEventListener("click",(function(){e.toggleAttributeOptions(t.closest(".ziadah-product-attribute"))}))})),t.querySelectorAll('input[type="radio"]').forEach((function(n){n.addEventListener("change",(function(){e.updateButtonState(t)}))}))}else k.error("Product element not found")}},{key:"toggleAttributesContent",value:function(t){k.log("Toggling attributes content");var e=t.querySelector(".ziadah-attributes-content"),n=t.querySelector(".ziadah-attributes-header .ziadah-chevron-icon"),a=t.querySelector(".ziadah-product-info"),r=t.querySelector(".ziadah-product-image-container");e&&n&&a&&r&&("none"===e.style.display?(e.style.display="block",n.innerHTML=this.chevronUpIcon,a.style.display="none",r.style.display="none"):(e.style.display="none",n.innerHTML=this.chevronDownIcon,a.style.display="block",r.style.display="block"))}},{key:"toggleAttributeOptions",value:function(t){this.shadowRoot.querySelectorAll(".ziadah-product-attribute").forEach((function(e){if(e!==t){var n=e.querySelector(".ziadah-attribute-header"),a=e.querySelector(".ziadah-attribute-options");n&&a&&(n.classList.remove("open"),a.classList.remove("open"))}}));var e=t.querySelector(".ziadah-attribute-header"),n=t.querySelector(".ziadah-attribute-options");e&&n&&(e.classList.toggle("open"),n.classList.toggle("open"),k.log("Toggled:",{headerOpen:e.classList.contains("open"),optionsOpen:n.classList.contains("open")}))}},{key:"lazyLoadAttributes",value:function(t){if(t&&0!==t.length){var e=document.createDocumentFragment(),n=this.adapter.getLanguage();t.forEach((function(t){var a=document.createElement("div");a.className="ziadah-product-attribute",a.innerHTML='\n <div class="ziadah-attribute-header" data-attribute-id="'.concat(t.id,'">\n <span class="ziadah-attribute-name">').concat(t.name[n]||t.name.en||"",'</span>\n <span class="ziadah-chevron-icon">▼</span>\n </div>\n <div class="ziadah-attribute-options" style="display: none;"></div>\n '),e.appendChild(a)})),this.productElement.querySelector(".attributes-content").appendChild(e)}else this.productElement.querySelector(".attributes-content").textContent="No options available"}},{key:"lazyLoadOptions",value:function(t,e){var n=t.querySelector(".attribute-options");if(!(n.children.length>0)){var a=document.createDocumentFragment(),r=this.adapter.getLanguage();e.forEach((function(e){var n=document.createElement("label");n.className="ziadah-attribute-option",n.innerHTML='\n <input type="radio" name="attribute-'.concat(t.dataset.attributeId,'" value="').concat(e.id,'">\n ').concat(e.value[r]||e.value.en||"","\n "),a.appendChild(n)})),n.appendChild(a)}}},{key:"getButtonText",value:function(t,e){return k.highlight("getButtonText - type:",t,"isSingleProduct:",e),1===t?e?this.adapter.t("replace"):this.adapter.t("replace_all_to_cart"):e?this.adapter.t("add_to_cart"):this.adapter.t("add_them_all")}},{key:"getCampaignTypeText",value:function(t,e){switch(k.highlight("getCampaignTypeText - type:",t,"isSingleProduct:",e),t){case 1:return e?this.adapter.t("replace_campaign"):this.adapter.t("replace_them_all_campaign");case 2:return e?this.adapter.t("upsell_campaign"):this.adapter.t("add_them_all_campaign");case 3:return e?this.adapter.t("cross_sell_campaign"):this.adapter.t("add_them_all_campaign");default:return k.warn("Unknown campaign type: ".concat(t)),this.adapter.t("unknown_campaign")}}},{key:"getButtonClass",value:function(t,e){return 1===t?e?"replace":"replace-all":e?"add-to-cart":"add-all-to-cart"}},{key:"getStyles",value:function(){return"\n .ziadah-product {\n border: 1px solid #ddd;\n padding: 15px;\n margin-bottom: 15px;\n border-radius: 5px;\n }\n .ziadah-product-image {\n max-width: 100%;\n height: auto;\n margin-bottom: 10px;\n }\n .ziadah-product-name {\n font-size: 18px;\n font-weight: bold;\n margin-bottom: 10px;\n }\n .ziadah-product-price {\n font-size: 16px;\n margin-bottom: 10px;\n }\n\n .ziadah-add-to-cart {\n background-color: #4CAF50;\n border: none;\n color: white;\n padding: 10px 20px;\n text-align: center;\n text-decoration: none;\n display: inline-block;\n font-size: 16px;\n margin: 4px 2px;\n cursor: pointer;\n border-radius: 5px;\n }\n .ziadah-product-attributes {\n margin-bottom: 10px;\n }\n .ziadah-attribute-select {\n margin-bottom: 5px;\n }\n\n .ziadah-product-action-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-top: 10px;\n }\n\n .ziadah-campaign-type {\n font-size: 14px;\n color: #666;\n margin-left: 10px;\n }\n\n .ziadah-replace,\n .ziadah-replace-all {\n background-color: #ff6b6b;\n border: none;\n color: white;\n padding: 10px 20px;\n text-align: center;\n text-decoration: none;\n display: inline-block;\n font-size: 16px;\n margin: 4px 2px;\n cursor: pointer;\n border-radius: 5px;\n }\n\n .ziadah-add-all-to-cart {\n background-color: #4CAF50;\n border: none;\n color: white;\n padding: 10px 20px;\n text-align: center;\n text-decoration: none;\n display: inline-block;\n font-size: 16px;\n margin: 4px 2px;\n cursor: pointer;\n border-radius: 5px;\n }\n "}},{key:"generateProductContent",value:function(t){var e,n=this.adapter.getLanguage();return'\n <img class="ziadah-product-image" src="'.concat((null===(e=t.images[0])||void 0===e?void 0:e.images.small)||"",'" alt="').concat(t.name[n],'">\n <div class="ziadah-product-name">').concat(t.name[n],'</div>\n <div class="ziadah-product-price">').concat(t.price," ").concat(t.currency,"</div>\n\n ").concat(this.generateAttributesHTML(t.attributes),'\n <button class="ziadah-add-to-cart" data-product-id="').concat(t.uuid,'">').concat(this.adapter.t("add_to_cart"),"</button>\n ")}},{key:"generateAttributesHTML",value:function(t){var e=this,n=this.adapter.getLanguage();return t.filter((function(t){return t.presets&&t.presets.length>0})).map((function(t){return'\n <div class="ziadah-product-attribute">\n <div class="ziadah-attribute-header" data-attribute-id="'.concat(t.id,'">\n <span class="ziadah-attribute-name">').concat(t.name[n]||t.name.en||"",'</span>\n <span class="ziadah-chevron-icon">\n ').concat(e.chevronDownIcon,'\n </span>\n </div>\n <div class="ziadah-attribute-options">\n ').concat(e.generateOptionsHTML(t.presets,t.id,n),"\n </div>\n </div>\n ")})).join("")}},{key:"handleProductAction",value:(t=a(f().mark((function t(e,n){var a,r,o,i,c,s,d,l,u,p;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Handling ".concat(n?"replace":"add to cart"," for product ID:"),e),e){t.next=5;break}return k.error("Product ID is undefined or null"),N(this.adapter.t("error_product_id_missing"),!0),t.abrupt("return");case 5:if(a=this.shadowRoot.querySelector('[data-product-id="'.concat(e,'"]')),r=a.querySelector(".ziadah-button-text"),o=a.querySelector(".ziadah-spinner"),r.style.display="none",o.style.display="inline-block",a.disabled=!0,t.prev=11,i=e,!this.hasOptions){t.next=33;break}if(c=this.getSelectedAttributes(),k.log("Selected attributes:",c),!(c.length>0)){t.next=32;break}return t.prev=17,t.next=20,this.adapter.fetchProductVariants(e,c,this.adapter.getLanguage());case 20:s=t.sent,k.log("Fetched variants result:",s),s.is_success&&s.data&&s.data.length>0?(d=s.data.find((function(t){return c.every((function(e){return t.variant_name.includes(e)}))})))?(i=d.variant_id,k.log("Using exact matching variant ID:",i)):(k.warn("No exact matching variant found, using first variant"),i=s.data[0].variant_id):k.warn("No matching variants found, using original product ID"),t.next=30;break;case 25:return t.prev=25,t.t0=t.catch(17),k.error("Error processing variants:",t.t0),N(this.adapter.t("error_processing_variants"),!0),t.abrupt("return");case 30:t.next=33;break;case 32:k.warn("No attributes selected, using original product ID");case 33:if(!n){t.next=48;break}return t.next=36,this.adapter.fetchCart();case 36:if(!((l=t.sent)&&l.items&&l.items.length>0)){t.next=41;break}return k.log("Removing existing product from cart"),t.next=41,this.adapter.removeFromCart(l.items[0].id);case 41:return k.log("Adding replacement product:",i),t.next=44,this.adapter.addToCart({productId:i,quantity:1});case 44:u=t.sent,k.log("Replace result:",u),t.next=53;break;case 48:return k.log("Adding to cart:",i),t.next=51,this.adapter.addToCart({productId:i,quantity:1});case 51:p=t.sent,k.log("Add to cart result:",p);case 53:this.campaignId?this.adapter.sendClickData(this.adapter.getStoreId(),this.campaignId,n?3:1,e,1):k.warn("Cannot send click data: Campaign ID is missing"),N(n?this.adapter.t("product_replaced"):this.adapter.t("product_added_to_cart")),t.next=61;break;case 57:t.prev=57,t.t1=t.catch(11),k.error("Failed to ".concat(n?"replace":"add"," product to cart: "),t.t1),N(this.adapter.t("error_".concat(n?"replacing":"adding","_product")),!0);case 61:return t.prev=61,r.style.display="inline-block",o.style.display="none",a.disabled=!1,t.finish(61);case 66:case"end":return t.stop()}}),t,this,[[11,57,61,66],[17,25]])}))),function(e,n){return t.apply(this,arguments)})},{key:"getSelectedAttributes",value:function(){var t=this.shadowRoot.querySelectorAll(".ziadah-product-attribute");return Array.from(t).map((function(t){var e=t.querySelector('input[type="radio"]:checked');return e?e.value:null})).filter((function(t){return null!==t}))}},{key:"generateOptionsHTML",value:function(t,e,n){return t.map((function(t){return'\n <label class="ziadah-attribute-option">\n <input type="radio" name="attribute-'.concat(e,'" value="').concat(t.value[n]||t.value.en||"",'">\n ').concat(t.value[n]||t.value.en||"","\n </label>\n ")})).join("")}},{key:"update",value:function(t){this.productElement&&(this.productElement.innerHTML=this.generateProductContent(t))}},{key:"initializeEventListeners",value:function(){var t=this;this.shadowRoot.addEventListener("change",(function(e){if("radio"===e.target.type){k.log("Radio button changed:",e.target.value);var n=e.target.closest(".ziadah-product");if(n){var a=n.querySelector(".ziadah-add-to-cart");if(a){k.log("Checking all options after change");var r=t.checkAllOptionsSelected(n);k.log("All options selected:",r),a.disabled=!r,k.log("Button disabled:",a.disabled)}else k.log("Add to cart button not found")}else k.log("Product element not found")}})),this.shadowRoot.addEventListener("click",(function(e){var n=e.target.closest(".ziadah-attribute-header");if(n){var a=n.closest(".ziadah-product-attribute");t.toggleAttributeOptions(a)}}))}},{key:"checkAllOptionsSelected",value:function(t){var e=t.querySelectorAll(".ziadah-product-attribute");k.log("Checking ".concat(e.length," attributes"));var n,a=s(e);try{for(a.s();!(n=a.n()).done;){var r=n.value,o=r.querySelectorAll('input[type="radio"]'),i=r.querySelector(".ziadah-attribute-name").textContent;if(k.log('Attribute: "'.concat(i,'"')),k.log(" Options count: ".concat(o.length)),0!==o.length){var c=r.querySelector('input[type="radio"]:checked');if(k.log(" Selected option: ".concat(c?c.value:"none")),!c)return k.log(" Not all options selected"),!1}else k.log(" No options, skipping")}}catch(t){a.e(t)}finally{a.f()}return k.log("All options selected"),!0}},{key:"updateButtonState",value:function(t){k.log("Updating button state");var e=t.querySelector(".ziadah-add-to-cart");if(e){var n=this.checkAllOptionsSelected(t);k.log("All options selected:",n),e.disabled=!n,k.log("Button disabled:",e.disabled)}else k.error("Add to cart button not found")}}]);var t}(),X=function(){return c((function t(e){o(this,t),this.initialize(e)}),[{key:"initialize",value:function(t){this.container=t,this.productContainer=t.querySelector(".ziadah-products-container"),this.products=this.productContainer.querySelectorAll(".product"),this.currentIndex=0,this.productsPerView=2,k.log("ProductSlider initialized"),k.log("Container:",this.container),k.log("Number of products:",this.products.length),this.init()}},{key:"reinitialize",value:function(t){this.initialize(t)}},{key:"init",value:function(){k.log("ProductSlider init called"),this.products.length<=this.productsPerView?k.log("Not enough products for slider, exiting init"):(this.productContainer.classList.add("multi-product"),this.setupProductContainer(),this.createButtons(),this.updateButtonVisibility())}},{key:"setupProductContainer",value:function(){var t=this;k.log("Setting up product container"),this.productContainer.style.display="flex",this.productContainer.style.transition="transform 0.3s ease-in-out",this.productContainer.style.overflow="hidden",this.products.forEach((function(e){e.style.flex="0 0 ".concat(100/t.productsPerView,"%")}))}},{key:"createButtons",value:function(){var t=this;k.log("Creating slider buttons");var e=this.container.querySelector(".ziadah-slider-button.prev"),n=this.container.querySelector(".ziadah-slider-button.next");e&&e.remove(),n&&n.remove();var a=document.createElement("button");a.innerHTML="<",a.classList.add("ziadah-slider-button","prev"),a.addEventListener("click",(function(){return t.slide("prev")}));var r=document.createElement("button");r.innerHTML=">",r.classList.add("ziadah-slider-button","next"),r.addEventListener("click",(function(){return t.slide("next")})),this.productContainer.parentNode.insertBefore(a,this.productContainer),this.productContainer.parentNode.insertBefore(r,this.productContainer.nextSibling),this.prevButton=a,this.nextButton=r,k.log("Slider buttons created")}},{key:"slide",value:function(t){k.log("Sliding ".concat(t)),"next"===t&&this.currentIndex<this.products.length-this.productsPerView?this.currentIndex++:"prev"===t&&this.currentIndex>0&&this.currentIndex--;var e=-this.currentIndex*(100/this.productsPerView);this.productContainer.style.transform="translateX(".concat(e,"%)"),this.updateButtonVisibility()}},{key:"updateButtonVisibility",value:function(){k.log("Updating button visibility"),this.prevButton.classList.toggle("hidden",0===this.currentIndex),this.nextButton.classList.toggle("hidden",this.currentIndex>=this.products.length-this.productsPerView)}}])}(),$=function(){return c((function t(e,n){o(this,t),this.shadowRoot=e,this.adapter=n,this.config=W,this.products=[],this.productSlider=null}),[{key:"render",value:function(t,e,n,a){var r=this;if(k.log("ProductList render method called with:",JSON.stringify(t,null,2),"Campaign data:",JSON.stringify(n,null,2)),!Array.isArray(t)||0===t.length)return k.warn("No products to render or invalid products array:",t),"";this.products=t.map((function(t){return new Y(r.shadowRoot,r.adapter,t)}));var o=this.products.map((function(t){if(!t||!t.productData)return k.warn("Invalid product data:",t),"";var e=r.shouldShowReplaceButton(t.productData,n);return'\n <div class="product" data-product-id="'.concat(t.productData.id||t.productData.uuid||"",'">\n ').concat(t.create(t.productData,n,e,a),"\n </div>\n ")})).join(""),i=a?"single-product":"multi-product";return'\n <div class="'.concat(this.config.classNames.productsContainer," ").concat(i,'">\n ').concat(o,"\n </div>\n ")}},{key:"shouldShowReplaceButton",value:function(t,e){var n;return 1===(null==e?void 0:e.type)&&(null===(n=e.triggerProducts)||void 0===n?void 0:n.some((function(e){return e.id===t.id||e.variant_id===t.variant_id})))}},{key:"setupEventListeners",value:function(){k.log("Setting up event listeners for ProductList");var t=this.shadowRoot.querySelector(".".concat(this.config.classNames.productsContainer));if(!t)return k.warn("Products container not found. Container class:",this.config.classNames.productsContainer),void k.log("Shadow DOM content:",this.shadowRoot.innerHTML);this.products.forEach((function(e){var n=t.querySelector('[data-product-id="'.concat(e.productData.uuid,'"]'));n?e.setupEventListeners(n):k.warn("Product element not found for UUID: ".concat(e.productData.uuid))})),this.products.length>20&&this.initializeProductSlider(t)}},{key:"initializeProductSlider",value:function(t){var e=t.closest(".ziadah-modal-content");e?this.productSlider?(this.productSlider.reinitialize(e),k.log("ProductSlider reinitialized")):(this.productSlider=new X(e),k.log("ProductSlider initialized")):k.warn("Modal content container not found")}},{key:"update",value:function(t,e){k.log("Updating ProductList with new data");var n=this.shadowRoot.querySelector(".".concat(this.config.classNames.productsContainer));n?(n.innerHTML=this.render(t,e),this.setupEventListeners()):k.warn("Products container not found during update")}},{key:"getProductById",value:function(t){var e=this.products.find((function(e){return e.productData.uuid===t}));return k.log("ProductList.getProductById - Found product:",e),e}}])}();var Q=function(){return c((function t(e,n,a){o(this,t),this.shadowRoot=e,this.adapter=n,this.config=W,this.campaignId=a,k.log("CouponSection constructed with campaign ID:",this.campaignId)}),[{key:"render",value:function(t,e){if(e&&(this.campaignId=e,k.log("CouponSection render with campaign ID:",this.campaignId)),!t||!t.code)return"";var n=t.code.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),a=this.adapter.t("coupon_code_label")||"Coupon code",r=this.adapter.t("copy_coupon")||"Copy",o=this.adapter.t("coupon_copied")||"Coupon Copied",i="";t.is_free_shipping&&(i=this.adapter.t("freeshipping")||"Free Shipping");var c="";t.is_free_cod&&(c=this.adapter.t("cash_on_delivery")||"Free Cash on Delivery");var s,d,l,u,p,h=t.fixed_expiration_date?"\n <span>\n ".concat(this.adapter.t("coupon_valid")||"Valid until",": ").concat((s=t.fixed_expiration_date,d=new Date(s),l=String(d.getDate()).padStart(2,"0"),u=String(d.getMonth()+1).padStart(2,"0"),p=d.getFullYear(),"".concat(p,"/").concat(u,"/").concat(l)),"\n </span>\n "):"",g="";if(t.discount_type&&t.discount&&parseFloat(t.discount)>0){var f=2===t.discount_type.value;this.adapter.getCurrency(),this.adapter.getCurrencySymbol();var m=B();g=f?'\n <div class="ziadah-discount-grid">\n <span class="ziadah-discount-value">'.concat(t.discount,'</span>\n <span class="ziadah-discount-unit">%</span>\n </div>\n '):'\n <div class="ziadah-discount-grid">\n <span class="ziadah-discount-value">'.concat(t.discount,'</span>\n <span class="ziadah-discount-unit">').concat(m.symbol,"</span>\n </div>\n ")}return k.log("Coupon rendered:",t),'\n <div class="ziadah-coupon">\n <div class="ziadah-coupon-main">\n <div class="ziadah-coupon-details">\n <div class="ziadah-discount-amount">'.concat(g,'</div>\n <div class="ziadah-shipping-cod">\n ').concat(i?'\n <p class="ziadah-free-shipping">\n <span class="ziadah-check-icon">'.concat('\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ziadah-check-icon">\n <circle cx="12" cy="12" r="10"></circle>\n <polyline points="16 9 11 14 8 11"></polyline>\n </svg>\n ',"</span>\n <span>").concat(i,"</span>\n </p>\n "):"","\n ").concat(c?'\n <p class="ziadah-cash-on-delivery">\n <span class="ziadah-check-icon">'.concat('\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ziadah-check-icon">\n <circle cx="12" cy="12" r="10"></circle>\n <polyline points="16 9 11 14 8 11"></polyline>\n </svg>\n ',"</span>\n <span>").concat(c,"</span>\n </p>\n "):"",'\n </div>\n \n </div>\n </div>\n <div class="ziadah-coupon-footer">\n <div class="ziadah-coupon-header">\n <div class="ziadah-coupon-code-container">\n <button class="ziadah-copy-coupon" data-coupon="').concat(n,'" data-copy-text="').concat(r,'" data-copied-text="').concat(o,'">\n ').concat('\n <svg width="9" height="14" viewBox="0 0 13 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n <rect x="3.44727" y="1.41772" width="8.47368" height="10.8421" stroke="#000"/>\n <rect x="1.0791" y="4.57568" width="8.47368" height="10.8421" stroke="#000"/>\n </svg>\n ',"<span>").concat(r,'</span>\n </button>\n \x3c!-- <span class="ziadah-coupon-label">').concat(a,':</span>\n <span class="ziadah-coupon-code">').concat(n,'</span> --\x3e\n </div>\n </div>\n <div class="ziadah-coupon-footer-right">\n \n ').concat(h?'<p class="ziadah-coupon-valid">'.concat(h,"</p>"):"","\n \n </div>\n </div>\n </div>\n ")}},{key:"setupEventListeners",value:function(){k.log("Setting up event listeners");var t=this.shadowRoot.querySelector(".ziadah-copy-coupon");t?(t.addEventListener("click",this.handleCopyClick.bind(this)),k.log("Copy button listener attached")):k.log("Copy button not found")}},{key:"handleCopyClick",value:function(t){var e=this,n=t.currentTarget,a=n.getAttribute("data-coupon"),r=this.adapter.t("coupon_copied")||"Coupon {code} Copied",o=this.shadowRoot.querySelector(".ziadah-coupon-footer-right"),i=o.querySelector(".ziadah-coupon-valid"),c=i?i.textContent:"",s=n.innerHTML,d=n.className,l=this.shadowRoot.querySelector(".ziadah-coupon-footer"),u=l.querySelector(".ziadah-spinner-container");u||((u=document.createElement("div")).className="ziadah-spinner-container",u.innerHTML='<div class="ziadah-spinner"></div>',l.appendChild(u)),a&&navigator.clipboard.writeText(a).then((function(){if(e.campaignId){k.log("Sending click data with campaign ID:",e.campaignId),e.adapter.sendClickData(e.adapter.getStoreId(),e.campaignId,5,null,1);var t=r.replace("{code}",a);n.innerHTML="".concat('\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ziadah-check-icon">\n <circle cx="12" cy="12" r="10"></circle>\n <polyline points="16 9 11 14 8 11"></polyline>\n </svg>\n ',"<span>").concat(t,"</span>"),n.className="".concat(d," ziadah-copied"),n.disabled=!0,o&&o.classList.add("hidden"),setTimeout((function(){u.classList.add("show"),n.style.visibility="hidden",setTimeout((function(){u.classList.remove("show"),n.style.visibility="visible",n.innerHTML=s,n.className=d,n.disabled=!1,o&&i&&(o.classList.remove("hidden"),i.textContent=c,i.classList.add("fade-in"),i.offsetWidth,i.classList.remove("fade-in"))}),500)}),2e3)}else k.error("Campaign ID is missing in CouponSection")})).catch((function(t){k.error("Failed to copy: ",t)}))}},{key:"copyToClipboard",value:function(t){k.log("Attempting to copy:",t);var e=document.createElement("textarea");e.value=t,document.body.appendChild(e),e.select();try{var n=document.execCommand("copy");if(document.body.removeChild(e),!n)throw new Error("Copy command was unsuccessful");this.showCopiedMessage(this.adapter.t("code_copied",{code:t}))}catch(t){k.error("Failed to copy coupon code:",t),this.showCopiedMessage(this.adapter.t("copy_failed"),!0)}}},{key:"showCopiedMessage",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];k.log("Showing message:",t,"Error:",e);var n=this.shadowRoot.querySelector(".ziadah-copy-coupon");if(n){var a=n.textContent;t=t.replace("{code}",n.getAttribute("data-coupon")),n.textContent=t,n.disabled=!0,e&&n.classList.add("ziadah-error"),setTimeout((function(){n.textContent=a,n.disabled=!1,e&&n.classList.remove("ziadah-error")}),2e3)}else k.error("Copy button not found for showing message")}},{key:"update",value:function(t){k.log("Updating coupon section");var e=this.shadowRoot.querySelector(".ziadah-coupon");e?(e.innerHTML=this.render(t),this.setupEventListeners()):k.error("Coupon container not found")}}])}();function tt(t){var e=P();return{storeId:e.storeId||t.getStoreId(),language:e.language}}function et(t,e,n,a,r,o){return nt.apply(this,arguments)}function nt(){return(nt=a(f().mark((function t(e,n,a,r,o,i){var c;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return console.log("sendClickData called with:",{storeUUID:e,campaignID:n,clickType:a,productId:r,quantity:o}),t.prev=1,t.next=4,i.sendClickData(e,n,a,r,o);case 4:return c=t.sent,console.log("API: Click data sent",c),t.abrupt("return",c);case 9:return t.prev=9,t.t0=t.catch(1),console.error("API: Error sending click data:",t.t0),t.abrupt("return",{success:!1,error:t.t0.message});case 13:case"end":return t.stop()}}),t,null,[[1,9]])})))).apply(this,arguments)}function at(t){return rt.apply(this,arguments)}function rt(){return(rt=a(f().mark((function t(e){var n,a;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,n=tt(e),a=n.language,t.next=4,e.fetchSettings(a);case 4:return t.abrupt("return",t.sent);case 7:return t.prev=7,t.t0=t.catch(0),console.error("Error fetching settings:",t.t0),N(O("error_fetching_settings"),!0),t.abrupt("return",{});case 12:case"end":return t.stop()}}),t,null,[[0,7]])})))).apply(this,arguments)}var ot=function(){return c((function t(e,n,a){if(o(this,t),!e)throw new Error("shadowRoot is required for ModalContent");this.shadowRoot=e,this.adapter=n,this.config=W,this.campaignData=a,this.productList=new $(e,n),this.couponSection=new Q(e,n,null==a?void 0:a.id),this.t=O,this.getLanguage=A,"function"!=typeof this.adapter.t&&(this.adapter.t=function(t){return t}),this.isDragging=!1,this.currentX=0,this.currentY=0,this.initialX=0,this.initialY=0,this.xOffset=0,this.yOffset=0,this.eventListeners=new Map,this.handleOutsideClick=this.handleOutsideClick.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.isSingleProductModal=!1,this.injectStyles()}),[{key:"render",value:function(t){var e;if(!(t=t||this.campaignData))return k.error("No campaign data available for rendering"),"";k.log("Rendering ModalContent with campaign data:",t);var n=this.getLanguage();k.log("ModalContent render method called with:",JSON.stringify(t,null,2)),k.log("Current language:",this.adapter.getLanguage());var a='<span class="'.concat(this.config.classNames.closeButton,'" aria-label="').concat(this.adapter.t("close_button"),'" title="').concat(this.adapter.t("close_button"),'">\n ').concat('\n <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M18 6L6 18" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/>\n <path d="M6 6L18 18" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/>\n </svg>\n ',"\n </span>"),r="<h2>".concat(this.adapter.t(t.title&&t.title[n]?t.title[n]:""),"</h2>");k.log("Campaign title:",t.title);var o='<p class="ziadah-campaign-description">'.concat(t.description&&t.description[n]?t.description[n]:(null===(e=t.description)||void 0===e?void 0:e.en)||"","</p>");k.log("Campaign description:",t.description);var i='\n\n <div class="ziadah-header">\n <div class="ziadah-header-content">\n '.concat(r,"\n ").concat(o,'\n </div>\n <div class="ziadah-header-close">\n ').concat(a,"\n </div>\n </div>\n "),c="";t.action_products&&Array.isArray(t.action_products)&&(k.log("Rendering product list"),this.isSingleProductModal=1===t.action_products.length,this.isSingleProductModal&&k.log("Modal is rendering only one product:",t.action_products[0]),c=this.productList.render(t.action_products,t.triggerProducts,t.type,this.isSingleProductModal));var s="";t.coupon&&(k.log("Rendering coupon section with campaign ID:",t.id),s=this.couponSection.render(t.coupon,t.id));var d="";if(this.isSingleProductModal){var l=t.action_products[0];d='\n <div class="ziadah-modal-footer">\n <button class="'.concat(this.config.classNames.addToCart,'" data-product-id="').concat(l.id,'">\n ').concat(this.adapter.t("add_to_cart"),"\n </button>\n </div>\n ")}var u=this.isSingleProductModal?"single-product-modal":"",p='\n <div class="'.concat(u,'">\n ').concat(i,"\n ").concat(s,"\n ").concat(c,"\n ").concat(d,"\n </div>\n ");return k.log("Rendered HTML:",p),p}},{key:"setupEventListeners",value:function(){var t=this;if(this.shadowRoot){this.removeExistingEventListeners();var e=this.shadowRoot.querySelector(".".concat(this.config.classNames.closeButton));e&&this.addEventListenerWithTracking(e,"click",(function(){return t.handleClose()})),this.shadowRoot.querySelectorAll(".add-button, .replace-button").forEach((function(e){var n=e.getAttribute("data-product-id");t.addEventListenerWithTracking(e,"click",(function(){return e.classList.contains("replace-button")?t.handleReplaceProduct(n):t.handleAddToCart(n)}))}));try{this.productList.setupEventListeners()}catch(t){k.error("Error in ProductList.setupEventListeners:",t)}try{this.couponSection.setupEventListeners()}catch(t){k.error("Error in CouponSection.setupEventListeners:",t)}this.setupVariantEventListeners(),this.setupDraggable(),this.loadPosition(),this.shadowRoot.host.addEventListener("mousedown",this.handleOutsideClick),document.addEventListener("keydown",this.handleKeyDown)}else k.error("Shadow root is not available in ModalContent")}},{key:"setupDraggable",value:function(){var t=this.shadowRoot.querySelector(".".concat(this.config.classNames.modalContent)),e=this.shadowRoot.querySelector(".ziadah-header");t&&e&&(document.addEventListener("mousemove",this.drag.bind(this),!1),document.addEventListener("mouseup",this.dragEnd.bind(this),!1))}},{key:"dragStart",value:function(t){t.target.closest(".ziadah-header")&&(this.initialX=t.clientX-this.xOffset,this.initialY=t.clientY-this.yOffset,this.isDragging=!0)}},{key:"drag",value:function(t){this.isDragging&&(t.preventDefault(),this.currentX=t.clientX-this.initialX,this.currentY=t.clientY-this.initialY,this.xOffset=this.currentX,this.yOffset=this.currentY,this.setTranslate(this.currentX,this.currentY,this.shadowRoot.querySelector(".".concat(this.config.classNames.modalContent))))}},{key:"dragEnd",value:function(t){this.initialX=this.currentX,this.initialY=this.currentY,this.isDragging=!1,this.savePosition()}},{key:"setTranslate",value:function(t,e,n){n.style.transform="translate3d(".concat(t,"px, ").concat(e,"px, 0)")}},{key:"savePosition",value:function(){localStorage.setItem("ziadahModalPosition",JSON.stringify({x:this.xOffset,y:this.yOffset}))}},{key:"loadPosition",value:function(){var t=localStorage.getItem("ziadahModalPosition");if(t){var e=JSON.parse(t);this.xOffset=e.x,this.yOffset=e.y,this.setTranslate(this.xOffset,this.yOffset,this.shadowRoot.querySelector(".".concat(this.config.classNames.modalContent)))}}},{key:"handleClose",value:function(){var t=new CustomEvent("modalClose",{bubbles:!0,composed:!0});this.shadowRoot.dispatchEvent(t),this.shadowRoot.host.removeEventListener("mousedown",this.handleOutsideClick),document.removeEventListener("keydown",this.handleKeyDown)}},{key:"update",value:function(t){var e=this.shadowRoot.querySelector(".".concat(this.config.classNames.modalContent));e?(e.innerHTML=this.render(t),this.setupEventListeners()):k.error("Modal content container not found")}},{key:"setupVariantEventListeners",value:function(){var t=this;this.shadowRoot.addEventListener("click",(function(e){var n=e.target.closest(".".concat(t.config.classNames.collapseHeader));if(n){var a=n.closest(".".concat(t.config.classNames.variantCollapse)),r=a.querySelector(".".concat(t.config.classNames.collapseContent)),o=a.querySelector(".".concat(t.config.classNames.chevron));"none"===r.style.display?(r.style.display="block",o.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="chevron-icon">\n <polyline points="18 15 12 9 6 15"></polyline>\n </svg>\n '):(r.style.display="none",o.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="chevron-icon">\n <polyline points="6 9 12 15 18 9"></polyline>\n </svg>\n ')}})),this.shadowRoot.addEventListener("change",(function(e){if(e.target.classList.contains(t.config.classNames.productAttribute)){var n=e.target.dataset.productId,a=e.target.dataset.attributeId,r=e.target.value;t.handleAttributeChange(n,a,r)}}))}},{key:"handleAttributeChange",value:(e=a(f().mark((function t(e,n,a){var r,o,i,c,s,d;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Attribute changed for product ".concat(e,", attribute ").concat(n," to value ").concat(a)),t.prev=1,r=this.productList.getProductById(e)){t.next=6;break}return k.error("Product not found"),t.abrupt("return");case 6:if(o=r.attributes.find((function(t){return t.id.toString()===n}))){t.next=10;break}return k.error("Attribute not found"),t.abrupt("return");case 10:if(i=this.adapter.getLanguage()||"en",c=o.presets.find((function(t){return t.value&&t.value[i]===a}))){t.next=15;break}return k.error("Selected preset not found"),t.abrupt("return");case 15:return s={product_id:r.id,names:[c.value.en||"",c.value.ar||""],attribute_values:[{attribute_id:parseInt(n),value:c.id.toString()}]},t.next=18,this.adapter.updateVariant(s);case 18:d=t.sent,k.log("Variant updated successfully:",d),this.updateProductVariantInfo(e,d),this.notifyUser(this.adapter.t("variant_updated_successfully")),t.next=28;break;case 24:t.prev=24,t.t0=t.catch(1),k.error("Error updating variant:",t.t0),this.notifyUser(this.adapter.t("error_updating_variant"),!0);case 28:case"end":return t.stop()}}),t,this,[[1,24]])}))),function(t,n,a){return e.apply(this,arguments)})},{key:"updateProductVariantInfo",value:function(t,e){var n=this.shadowRoot.querySelector('.product[data-product-id="'.concat(t,'"]'));if(n){var a,r,o,i=n.querySelector(".".concat(this.config.classNames.productPrice));i&&e.price&&(i.textContent=(a=e.price,r=e.currency,o=this.adapter.getLanguage(),new Intl.NumberFormat(o,{style:"currency",currency:r}).format(a)));var c=n.querySelector(".".concat(this.config.classNames.productQuantity));c&&void 0!==e.quantity&&(c.textContent=e.quantity>0?"".concat(this.adapter.t("in_stock"),": ").concat(e.quantity):this.adapter.t("out_of_stock"));var s=n.querySelector(".".concat(this.config.classNames.addToCart));s&&(s.disabled=0===e.quantity)}else k.error("Product element not found for product ID: ".concat(t))}},{key:"handleAddToCart",value:function(t){k.log("Adding product ".concat(t," to cart")),k.log("this.campaignData:",this.campaignData);var e,n,a=this.productList.getProductById(t);(k.log("Product:",a),a)?(this.adapter.addToCart({productId:t,quantity:1}),this.saveCampaignData(a),k.log("Sending click data with:"),k.log("Store ID:",this.adapter.getStoreId()),k.log("Campaign ID:",null===(e=this.campaignData)||void 0===e?void 0:e.id),k.log("Product UUID:",a.uuid),et(this.adapter.getStoreId(),null===(n=this.campaignData)||void 0===n?void 0:n.id,1,a.uuid,1,this.adapter),this.saveCampaignData(a),this.notifyUser(this.adapter.t("product_added_to_cart"))):(k.error("Product not found"),this.notifyUser(this.adapter.t("product_not_found"),!0))}},{key:"saveCampaignData",value:function(t){var e,n="ziadah_modal_saved_campaigns",a=JSON.parse(localStorage.getItem(n)||"[]"),r={uuid:t.uuid,campaign_id:null===(e=this.campaignData)||void 0===e?void 0:e.id,quantity:1,gross_price:t.price};a.push(r),localStorage.setItem(n,JSON.stringify(a)),k.log("saveCampaignData called"),k.log("Product:",t),k.log("Campaign data saved:",r),k.log("Total saved campaigns:",a.length),k.log("All localStorage keys after saving:",Object.keys(localStorage)),k.log("ziadah_modal_saved_campaigns value:",localStorage.getItem(n))}},{key:"handleReplaceProduct",value:function(t){k.log("Replacing product ".concat(t," in cart")),this.productList.getProductById(t)?(this.adapter.replaceProduct({productId:t,quantity:1}),this.notifyUser(this.adapter.t("product_replaced_in_cart"))):(k.error("Product not found"),this.notifyUser(this.adapter.t("product_not_found"),!0))}},{key:"handleReplaceAllProducts",value:(t=a(f().mark((function t(){var e,n,a,r;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return k.log("Replacing all products in cart"),t.prev=1,t.next=4,this.adapter.replaceAllProducts();case 4:if(!(e=t.sent).success){t.next=12;break}r=(null===(n=this.adapter.getCampaignData())||void 0===n?void 0:n.action_products)||[],et(this.adapter.getStoreId(),null===(a=this.adapter.getCampaignData())||void 0===a?void 0:a.id,4,null,r.length,this.adapter),N(this.adapter.t("all_products_replaced"),!1),this.handleClose(),t.next=13;break;case 12:throw new Error(e.error||"Unknown error");case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(1),k.error("Error replacing all products:",t.t0),N(this.adapter.t("error_replacing_products"),!0);case 19:case"end":return t.stop()}}),t,this,[[1,15]])}))),function(){return t.apply(this,arguments)})},{key:"notifyUser",value:function(t){N(t,arguments.length>1&&void 0!==arguments[1]&&arguments[1])}},{key:"addEventListenerWithTracking",value:function(t,e,n){var a=function(t){t.stopPropagation(),n(t)};t.addEventListener(e,a),this.eventListeners.set(t,{eventType:e,handler:a})}},{key:"removeExistingEventListeners",value:function(){this.eventListeners.forEach((function(t,e){e.removeEventListener(t.eventType,t.handler)})),this.eventListeners.clear()}},{key:"destroy",value:function(){this.removeExistingEventListeners(),this.shadowRoot.host.removeEventListener("mousedown",this.handleOutsideClick),document.removeEventListener("keydown",this.handleKeyDown)}},{key:"handleOutsideClick",value:function(t){k.log("Click detected",t.target);var e=this.shadowRoot.querySelector(".".concat(this.config.classNames.modalContent));k.log("Modal content:",e),k.log("Is click in shadow DOM?",this.shadowRoot.contains(t.target)),this.shadowRoot.contains(t.target)?e&&!e.contains(t.target)&&this.handleClose():this.handleClose()}},{key:"handleKeyDown",value:function(t){"Escape"===t.key&&this.handleClose()}},{key:"injectStyles",value:function(){var t=document.createElement("style");t.textContent="\n .single-product {\n text-align: center;\n }\n \n .single-product-modal .ziadah-add-to-cart {\n display: none !important;\n }\n \n .single-product-modal .ziadah-product {\n max-height: min-content;\n overflow: hidden;\n }\n\n .ziadah-modal-content:has(.single-product-modal) {\n width: 340px;\n max-width: none;\n }\n\n .ziadah-modal-content:has(.single-product-modal) .ziadah-modal-footer {\n display: grid;\n grid-template-columns: 1fr;\n gap: 10px;\n width: 100%;\n margin-top: 20px; \n }\n\n .ziadah-modal-content:has(.single-product-modal) .ziadah-modal-footer button {\n width: 100%;\n padding: 10px;\n text-align: center;\n }\n\n /* For multi-product modals */\n .ziadah-modal-content:not(:has(.single-product-modal)) .ziadah-modal-footer {\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n }\n\n .ziadah-modal-content:not(:has(.single-product-modal)){\n flex: 0 1 auto;\n margin: 0 5px;\n }\n\n /* Multi-product Slider Styles */\n\n /**\n .ziadah-modal-content {\n position: relative;\n overflow: hidden;\n }\n\n .ziadah-products-container.multi-product {\n display: flex;\n transition: transform 0.3s ease-in-out;\n // width: 200%; \n }\n\n .ziadah-products-container.multi-product .product {\n // flex: 0 0 50%;\n box-sizing: border-box;\n padding: 10px;\n }\n\n .ziadah-slider-button {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n background-color: rgba(255, 255, 255, 0.7);\n border: 1px solid #ccc;\n border-radius: 50%;\n width: 40px;\n height: 40px;\n font-size: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 10;\n }\n\n .ziadah-slider-button.prev {\n left: 10px;\n }\n\n .ziadah-slider-button.next {\n right: 10px;\n }\n\n .ziadah-slider-button.hidden {\n display: none;\n }\n */\n ",this.shadowRoot.appendChild(t)}}]);var t,e}(),it=function(){return c((function t(){o(this,t),this.config=W,this.state=P()}),[{key:"getStyles",value:function(){var t=g(g({},H),this.state.settings),e=document.createElement("style"),n="\n\n /** Modal styles variables */\n :host {\n --ziadah-font-family: ".concat(t.fontFamily,";\n --ziadah-background-color: ").concat(t.backgroundColor,";\n --ziadah-text-color: ").concat(t.textColor,";\n --ziadah-header-text-color: ").concat(t.headerTextColor,";\n --ziadah-button-color: ").concat(t.buttonColor,";\n --ziadah-button-text-color: ").concat(t.buttonTextColor,";\n --ziadah-border-color: ").concat(t.borderColor,";\n --ziadah-hover-color: ").concat(t.hoverColor,";\n --ziadah-overlay-color: ").concat(t.overlayColor,";\n --ziadah-shadow-color: ").concat(t.shadowColor,";\n --ziadah-active-color: ").concat(t.activeColor,";\n --ziadah-font-size: ").concat(t.fontSize,";\n --ziadah-font-weight: ").concat(t.fontWeight,";\n --ziadah-button-font-size: ").concat(t.buttonFontSize,";\n --ziadah-button-font-weight: ").concat(t.buttonFontWeight,";\n --ziadah-button-padding: ").concat(t.buttonPadding,";\n --ziadah-button-border-radius: ").concat(t.buttonBorderRadius,";\n --ziadah-product-border-radius: ").concat(t.productBorderRadius,";\n --ziadah-product-coupon-radius: ").concat(t.couponBorderRadius,";\n --ziadah-image-border-radius: ").concat(t.imageBorderRadius,";\n --ziadah-disabled-color: ").concat(t.disabledColor,";\n --ziadah-light-background-color: ").concat(t.lightBackgroundColor,";\n --ziadah-light-background-color-hover: ").concat(t.lightBackgroundColorHover,";\n --ziadah-dark-background-color: ").concat(t.darkBackgroundColor,";\n --ziadah-dark-background-color-hover: ").concat(t.darkBackgroundColorHover,";\n --ziadah-focus-shadow-color: ").concat(t.focusShadowColor,";\n --ziadah-attributes-font-size: ").concat(t.attributesFontSize,";\n --ziadah-icon-check: ").concat(t.iconCheckColor,";\n --ziadah-coupon-copied-color: ").concat(t.couponCopiedColor,';\n }\n /** Modal content */\n .ziadah-modal-content {\n transition: opacity 0.3s ease-in-out;\n }\n\n /** Modal */\n .ziadah-modal {\n display: none;\n position: fixed;\n z-index: 9999999;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: auto;\n background-color: var(--ziadah-overlay-color);\n font-family: var(--ziadah-font-family);\n font-size: var(--ziadah-font-size);\n font-weight: var(--ziadah-font-weight);\n color: var(--ziadah-text-color);\n }\n\n /** Modal visible */\n .ziadah-modal.ziadah-modal-visible {\n display: flex !important;\n align-items: center;\n justify-content: center;\n }\n\n /** Modal content */\n .ziadah-modal-content {\n background-color: var(--ziadah-background-color);\n margin: 5% auto;\n padding: 20px;\n border: 1px solid var(--ziadah-border-color);\n max-width: 800px;\n min-width: 340px;\n border-radius: 8px;\n box-shadow: 0 5px 15px var(--ziadah-shadow-color);\n position: absolute;\n z-index: 10000000;\n box-sizing: border-box;\n }\n\n .ziadah-modal-content.single-product {\n width: auto;\n max-width: none;\n }\n\n /** Modal Header */\n .ziadah-modal-header {\n padding: 10px;\n background-color: var(--ziadah-light-background-color);\n border-bottom: 1px solid var(--ziadah-border-color);\n margin: -20px -20px 20px -20px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n position: relative;\n }\n\n .ziadah-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 15px;\n margin-bottom: 20px;\n border-bottom: 1px solid var(--ziadah-border-color);\n }\n\n .ziadah-header-content {\n flex-grow: 1;\n }\n\n .ziadah-header-content p, \n .ziadah-header-content h2 {\n margin: 0;\n padding: 0;\n color: var(--ziadah-header-text-color);\n }\n\n .ziadah-header-close {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .ziadah-modal-title {\n font-size: 1.5em;\n margin-bottom: 10px;\n }\n\n .ziadah-modal-description {\n font-size: 1em;\n margin-bottom: 0;\n }\n\n .ziadah-close {\n font-size: 28px;\n font-weight: bold;\n cursor: pointer;\n line-height: 1;\n color: var(--ziadah-text-color);\n background-color: transparent;\n border: none;\n padding: 5px;\n border-radius: 50%;\n transition: all 0.3s ease;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .ziadah-close:hover,\n .ziadah-close:focus {\n color: var(--ziadah-text-color);\n background-color: var(--ziadah-light-background-color);\n transform: rotate(90deg);\n outline: none;\n }\n\n /** Products Container */\n .ziadah-products-container {\n display: flex;\n justify-content: center;\n align-items: stretch;\n gap: 20px;\n padding: 20px 0;\n width: 100%;\n flex-wrap: nowrap;\n overflow-x: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n\n .ziadah-products-container::-webkit-scrollbar {\n display: none;\n }\n\n /** Product Item */\n .ziadah-product {\n flex: 0 0 160px;\n width: 160px;\n min-width: 160px;\n max-width: 160px;\n height: 300px; \n display: flex;\n flex-direction: column;\n padding: 10px;\n overflow: hidden;\n position: relative; \n }\n\n .ziadah-product-image-container {\n width: 100%;\n height: 140px; \n min-height: 140px;\n max-height: 140px;\n overflow: hidden;\n position: relative;\n margin-bottom: 10px;\n border-radius: var(--ziadah-image-border-radius);\n }\n\n .ziadah-product-image {\n width: 100%;\n height: 100%;\n object-fit: scale-down;\n margin-bottom: 10px;\n transition: transform 0.3s ease;\n }\n\n .ziadah-product-image-container:hover .ziadah-product-image {\n transform: scale(1.2);\n }\n\n .ziadah-product-details {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n overflow: hidden;\n }\n\n .ziadah-product-info {\n flex-grow: 1;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n }\n\n .ziadah-product-name {\n font-size: var(--ziadah-font-size);\n font-weight: var(--ziadah-font-weight);\n margin-bottom: 5px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n }\n\n .ziadah-product-price {\n font-size: calc(var(--ziadah-font-size) * 0.9);\n margin-bottom: 5px;\n }\n\n .ziadah-product-description-container {\n max-height: 40px;\n overflow: hidden;\n margin-bottom: 5px;\n }\n\n .ziadah-product-description {\n font-size: 0.9em;\n line-height: 1.2;\n }\n\n .ziadah-product-action-container {\n position: absolute;\n bottom: 10px;\n left: 10px;\n right: 10px;\n }\n\n .ziadah-campaign-description {\n display: -webkit-box;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: normal;\n max-height: 3em; \n }\n\n .ziadah-add-to-cart {\n width: 100%;\n padding: var(--ziadah-button-padding);\n background-color: var(--ziadah-button-color);\n color: var(--ziadah-button-text-color);\n border: none;\n border-radius: var(--ziadah-button-border-radius);\n cursor: pointer;\n font-family: var(--ziadah-font-family);\n font-size: var(--ziadah-button-font-size);\n font-weight: var(--ziadah-button-font-weight);\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n }\n\n .ziadah-add-to-cart:hover {\n background-color: var(--ziadah-hover-color);\n }\n\n .ziadah-add-to-cart:active {\n background-color: var(--ziadah-active-color);\n }\n\n .ziadah-add-to-cart:focus {\n outline: none;\n }\n\n .ziadah-add-to-cart:disabled {\n background-color: var(--ziadah-disabled-color, #cccccc);\n cursor: not-allowed;\n opacity: 0.7;\n }\n\n .ziadah-add-to-cart:not(:disabled) {\n cursor: pointer;\n }\n\n /* Modal Footer */\n .ziadah-modal-footer {\n display: flex;\n justify-content: space-between;\n flex-direction: row-reverse;\n align-items: center;\n margin-top: 20px;\n }\n\n .ziadah-modal-footer:has(> :nth-child(2)) {\n gap: 10px;\n }\n\n .ziadah-modal-footer > :not(:only-child) {\n margin-inline-end: 10px;\n }\n\n .ziadah-modal-footer > :first-child {\n margin-inline-end: 0;\n }\n\n .ziadah-modal-footer button {\n flex: 1;\n padding: var(--ziadah-button-padding);\n border-radius: var(--ziadah-button-border-radius);\n cursor: pointer;\n font-family: var(--ziadah-font-family);\n font-size: var(--ziadah-button-font-size);\n font-weight: var(--ziadah-button-font-weight);\n transition: background-color 0.3s ease;\n white-space: nowrap;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 5px;\n }\n\n .ziadah-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .ziadah-icon svg {\n width: 20px;\n height: 20px;\n vertical-align: middle;\n }\n\n .ziadah-continue-button {\n background-color: var(--ziadah-background-color);\n color: var(--ziadah-text-color);\n border: 1px solid var(--ziadah-border-color);\n order: 1;\n }\n\n .ziadah-continue-button:hover {\n background-color: var(--ziadah-border-color);\n color: var(--ziadah-hover-color);\n }\n\n .ziadah-add-all-button {\n background-color: var(--ziadah-button-color);\n border: 1px solid var(--ziadah-border-color);\n color: var(--ziadah-button-text-color);\n order: 2;\n }\n\n .ziadah-add-all-button:hover {\n background-color: var(--ziadah-hover-color);\n }\n\n .ziadah-placeholder-button {\n visibility: hidden;\n }\n\n /* Attributes */\n .ziadah-attributes-container {\n border: 1px solid var(--ziadah-border-color);\n border-radius: var(--ziadah-product-border-radius);\n margin-bottom: 50px;\n font-size: var(--ziadah-attributes-font-size);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .ziadah-attributes-header {\n padding: 10px;\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .ziadah-attributes-title {\n font-weight: bold;\n }\n\n .ziadah-attributes-content {\n overflow-y: auto;\n flex-grow: 1;\n max-height: 180px; \n }\n\n .ziadah-product-attribute {\n border-bottom: 1px solid var(--ziadah-border-color);\n }\n\n .ziadah-attribute-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px;\n cursor: pointer;\n }\n\n .ziadah-attribute-name {\n font-weight: bold;\n }\n\n .ziadah-chevron-icon {\n font-size: 1em;\n transition: transform 0.3s ease;\n }\n\n .ziadah-attribute-option {\n display: flex;\n margin-bottom: 5px;\n align-content: center;\n justify-content: flex-start;\n align-items: center;\n flex-direction: row;\n flex-wrap: nowrap;\n }\n\n .ziadah-attribute-option input[type="radio"] {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n width: 14px;\n height: 14px;\n border: 2px solid var(--ziadah-border-color);\n border-radius: 50%;\n outline: none;\n cursor: pointer;\n margin-right: 5px;\n position: relative;\n }\n\n .ziadah-attribute-option input[type="radio"]:checked::before {\n content: "";\n width: 12px;\n height: 12px;\n background-color: var(--ziadah-button-color);\n border-radius: 50%;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .ziadah-attribute-option:hover input[type="radio"] {\n border-color: var(--ziadah-button-color);\n }\n\n /* Updated Coupon Styles */\n .ziadah-coupon {\n border: 1px solid var(--ziadah-border-color);\n border-radius: var(--ziadah-product-coupon-radius);\n padding: 0 15px;\n }\n\n .ziadah-coupon-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 10px 0;\n }\n\n .ziadah-discount-amount {\n font-size: 1.2em;\n font-weight: bold;\n color: var(--ziadah-text-color);\n }\n\n .ziadah-coupon-code-container {\n display: flex;\n align-items: center;\n gap: 5px;\n }\n\n .ziadah-coupon-label {\n font-size: 0.9em;\n color: var(--ziadah-text-color);\n }\n\n .ziadah-coupon-code {\n font-size: 1.1em;\n font-weight: bold;\n background-color: var(--ziadah-background-color);\n padding: 5px 10px;\n border-radius: 4px;\n }\n\n .ziadah-coupon-details {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 0;\n }\n\n .ziadah-shipping-cod {\n display: grid;\n }\n\n .ziadah-free-shipping,\n .ziadah-cash-on-delivery {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n }\n\n .ziadah-check-icon {\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n }\n\n .ziadah-coupon-footer {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n border-top: 1px solid #e0e0e0;\n gap: 5px;\n position: relative;\n }\n\n .ziadah-coupon-valid {\n font-size: 0.8em;\n color: #757575;\n }\n\n .ziadah-copy-coupon {\n background-color: var(--ziadah-dark-background-color);\n color: var(--ziadah-text-color);\n border: none;\n padding: 5px 10px;\n border-radius: var(--ziadah-button-border-radius);\n cursor: pointer;\n font-size: var(--ziadah-button-font-size);\n font-family: var(--ziadah-font-family);\n transition: background-color 0.3s ease;\n min-width: 100px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .ziadah-copy-coupon:hover {\n background-color: var(--ziadah-dark-background-color-hover);\n }\n\n .ziadah-copy-coupon:disabled {\n background-color: var(--ziadah-disabled-color);\n cursor: not-allowed;\n opacity: 1;\n cursor: default;\n }\n\n .ziadah-copy-coupon.ziadah-copied {\n background-color: #4CAF50;\n color: white;\n }\n\n .ziadah-copy-coupon .ziadah-check-icon {\n width: 16px;\n height: 16px;\n stroke: currentColor;\n vertical-align: middle;\n }\n\n .ziadah-copy-coupon svg {\n width: 16px;\n height: 16px;\n vertical-align: middle;\n }\n\n .ziadah-copy-coupon span {\n vertical-align: middle;\n }\n\n .ziadah-error {\n background-color: #ff6b6b;\n }\n\n .ziadah-discount-grid {\n display: flex;\n justify-items: end;\n text-align: right;\n align-items: baseline;\n }\n\n .ziadah-discount-value {\n font-size: 2em;\n font-weight: bold;\n line-height: 1;\n }\n\n .ziadah-discount-unit {\n font-size: 1em;\n font-weight: normal;\n }\n\n /* Responsive styles for coupon section */\n @media (max-width: 768px) {\n .ziadah-coupon {\n padding: 10px;\n }\n\n .ziadah-discount-amount,\n .ziadah-coupon-code {\n font-size: 1em;\n }\n\n .ziadah-free-shipping,\n .ziadah-cash-on-delivery,\n .ziadah-coupon-valid {\n font-size: 0.8em;\n }\n\n .ziadah-copy-coupon {\n font-size: 0.9em;\n padding: 4px 8px;\n }\n }\n\n /* RTL Support */\n :host([dir="rtl"]) .ziadah-header-content {\n padding-right: 0;\n padding-left: 20px;\n }\n\n :host([dir="rtl"]) .ziadah-product-image-container {\n margin-right: 0;\n margin-left: 15px;\n }\n\n :host([dir="rtl"]) .ziadah-close {\n left: 10px;\n right: auto;\n }\n\n :host([dir="rtl"]) .ziadah-attribute-option input[type="radio"] {\n margin-right: 0;\n margin-left: 5px;\n }\n\n :host([dir="rtl"]) .ziadah-chevron-icon {\n margin-left: 0;\n margin-right: 8px;\n }\n\n :host([dir="rtl"]) .ziadah-modal-footer {\n flex-direction: row-reverse;\n }\n\n :host([dir="rtl"]) .ziadah-continue-button {\n order: 2;\n }\n\n :host([dir="rtl"]) .ziadah-add-all-button {\n order: 1;\n }\n\n :host([dir="rtl"]) .ziadah-products-container {\n direction: rtl;\n }\n\n :host([dir="rtl"]) .ziadah-product-name,\n :host([dir="rtl"]) .ziadah-product-price,\n :host([dir="rtl"]) .ziadah-product-description {\n text-align: right;\n }\n\n :host([dir="rtl"]) .ziadah-attributes-header,\n :host([dir="rtl"]) .ziadah-attribute-header {\n flex-direction: row-reverse;\n }\n\n :host([dir="rtl"]) .ziadah-attributes-header[aria-expanded="true"] .ziadah-chevron-icon svg,\n :host([dir="rtl"]) .ziadah-attribute-header[aria-expanded="true"] .ziadah-chevron-icon svg {\n transform: rotate(-180deg);\n }\n\n :host([dir="rtl"]) .ziadah-coupon {\n padding-right: 15px;\n padding-left: 6px;\n }\n\n :host([dir="rtl"]) .ziadah-coupon-mobile {\n right: 50%;\n left: auto;\n transform: translate(50%, -50%);\n }\n\n /* Media Queries */\n @media (max-width: 768px) {\n .ziadah-modal-content {\n padding: 15px;\n width: 95%;\n max-width: 600px;\n }\n\n .ziadah-products-container {\n justify-content: flex-start;\n padding: 10px 0;\n }\n\n .ziadah-product {\n flex: 0 0 180px;\n width: 180px;\n min-width: 180px;\n max-width: 180px;\n height: 300px; \n padding: 10px;\n }\n\n .ziadah-product-image-container {\n height: 130px; \n min-height: 130px;\n max-height: 130px;\n }\n\n .ziadah-product-info {\n margin-bottom: 35px; \n }\n\n .ziadah-product-name {\n font-size: 1em;\n line-clamp: 2;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n white-space: normal;\n }\n\n .ziadah-product-price {\n font-size: 0.9em;\n margin-bottom: 3px;\n }\n\n .ziadah-product-description-container {\n max-height: 30px;\n }\n\n .ziadah-product-description {\n font-size: 0.8em;\n line-height: 1.2;\n }\n\n .ziadah-add-to-cart {\n padding: 6px 12px;\n font-size: 0.9em;\n }\n\n .ziadah-modal-footer {\n flex-direction: column;\n gap: 10px;\n }\n\n .ziadah-modal-footer button {\n width: 100%;\n }\n\n .ziadah-header {\n flex-direction: column;\n align-items: flex-start;\n padding-bottom: 10px;\n margin-bottom: 15px;\n }\n\n .ziadah-header-content {\n width: 100%;\n padding-right: 0;\n margin-bottom: 10px;\n }\n\n .ziadah-header-close {\n align-self: flex-end;\n margin-top: -30px; \n }\n\n .ziadah-modal-title {\n font-size: 1.3em;\n margin-bottom: 8px;\n padding-right: 40px; \n }\n\n .ziadah-modal-description {\n font-size: 0.9em;\n line-height: 1.4;\n }\n\n .ziadah-close {\n font-size: 24px;\n width: 36px;\n height: 36px;\n }\n\n .ziadah-coupon {\n font-size: 10px;\n min-width: 80px;\n }\n\n .ziadah-copy-coupon {\n padding: 2px 4px;\n }\n\n .ziadah-coupon-info,\n .ziadah-coupon-props {\n font-size: 10px;\n }\n\n /* For RTL languages */\n :host([dir="rtl"]) .ziadah-header-content {\n padding-left: 0;\n }\n\n :host([dir="rtl"]) .ziadah-modal-title {\n padding-right: 0;\n padding-left: 40px;\n }\n\n :host([dir="rtl"]) .ziadah-header-close {\n align-self: flex-start;\n }\n }\n\n @media (max-width: 480px) {\n .ziadah-modal-content {\n padding: 10px;\n }\n\n .ziadah-product {\n padding: 8px;\n height: 300px; \n }\n\n .ziadah-product-image-container {\n height: 120px; \n min-height: 120px;\n max-height: 120px;\n }\n\n .ziadah-product-info {\n margin-bottom: 30px; \n }\n\n .ziadah-product-name {\n font-size: 0.9em;\n }\n\n .ziadah-product-price {\n font-size: 0.85em;\n }\n\n .ziadah-product-description-container {\n max-height: 25px;\n }\n\n .ziadah-product-description {\n font-size: 0.75em;\n }\n\n .ziadah-add-to-cart {\n padding: 5px 10px;\n font-size: 0.85em;\n }\n\n .ziadah-modal-title {\n font-size: 1.2em;\n }\n\n .ziadah-modal-description {\n font-size: 0.85em;\n }\n\n .ziadah-close {\n font-size: 22px;\n width: 32px;\n height: 32px;\n }\n\n .ziadah-product-action-container {\n bottom: 8px;\n left: 8px;\n right: 8px;\n }\n }\n\n /* Chevron Icon Styles */\n .ziadah-chevron-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.3s ease;\n }\n\n .ziadah-chevron-icon svg {\n width: 16px;\n height: 16px;\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition: transform 0.3s ease;\n }\n\n .ziadah-attributes-header[aria-expanded="true"] .ziadah-chevron-icon svg,\n .ziadah-attribute-header[aria-expanded="true"] .ziadah-chevron-icon svg {\n transform: rotate(180deg);\n }\n\n .ziadah-attributes-header,\n .ziadah-attribute-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n }\n\n .ziadah-chevron-icon {\n margin-left: 8px;\n }\n\n /* Attribute options animation */\n .ziadah-attribute-options {\n overflow: hidden;\n transition: max-height 0.3s ease, opacity 0.3s ease;\n max-height: 0;\n opacity: 0;\n }\n\n .ziadah-attribute-options.open {\n max-height: 500px;\n opacity: 1;\n }\n\n /** Spinner */\n .ziadah-spinner {\n display: inline-block;\n width: 10px;\n height: 10px;\n border: 2px solid rgba(255,255,255,.3);\n border-radius: 50%;\n border-top-color: #fff;\n animation: ziadah-spin 1s ease-in-out infinite;\n -webkit-animation: ziadah-spin 1s ease-in-out infinite;\n }\n\n @keyframes ziadah-spin {\n to { -webkit-transform: rotate(360deg); }\n }\n @-webkit-keyframes ziadah-spin {\n to { -webkit-transform: rotate(360deg); }\n }\n\n /** Scrollbar styles */\n .ziadah-attributes-content::-webkit-scrollbar {\n width: 6px;\n }\n\n .ziadah-attributes-content::-webkit-scrollbar-track {\n background: var(--ziadah-light-background-color);\n }\n\n .ziadah-attributes-content::-webkit-scrollbar-thumb {\n background-color: var(--ziadah-border-color);\n border-radius: 3px;\n }\n\n /** Coupon footer styles */\n .ziadah-coupon-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n transition: all 0.3s ease;\n position: relative;\n }\n\n /** Spinner container */\n .ziadah-spinner-container {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(255, 255, 255, 0.9);\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.3s ease, visibility 0.3s ease;\n }\n\n .ziadah-spinner-container.show {\n opacity: 1;\n visibility: visible;\n }\n\n /** Spinner */\n .ziadah-spinner {\n width: 15px;\n height: 15px;\n border: 2px solid rgba(0, 0, 0, 0.1);\n border-left-color: var(--ziadah-button-color);\n border-radius: 50%;\n animation: spin 1s linear infinite;\n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n\n /** Copy coupon */\n .ziadah-copy-coupon {\n transition: all 0.3s ease;\n flex-grow: 0;\n }\n\n .ziadah-copy-coupon.ziadah-copied {\n flex-grow: 1;\n background-color: var(--ziadah-coupon-copied-color);\n color: white;\n }\n\n /** Coupon footer right */\n .ziadah-coupon-footer-right {\n transition: opacity 0.3s ease, max-height 0.3s ease, width 0.3s ease;\n opacity: 1;\n max-height: 50px;\n width: auto;\n overflow: hidden;\n }\n\n .ziadah-coupon-footer-right.hidden {\n opacity: 0;\n max-height: 0;\n width: 0;\n }\n\n /** Coupon valid */\n .ziadah-coupon-valid {\n transition: opacity 0.5s ease;\n opacity: 1;\n }\n\n .ziadah-coupon-valid.fade-in {\n opacity: 0;\n }\n\n /** Custom CSS */\n ').concat(t.customCSS,"\n\n /** User-defined CSS overrides */\n ").concat(t.userCSS,"\n ");return e.textContent=n,e}}])}();function ct(t){var e=document.createElement("style");e.textContent=t;var n=document.createElement("div");n.appendChild(e),document.body.appendChild(n);var a={};try{var r,o=s(e.sheet.cssRules);try{for(o.s();!(r=o.n()).done;){var i=r.value;if(i instanceof CSSStyleRule){a[i.selectorText]={};for(var c=0;c<i.style.length;c++){var d=i.style[c],l=i.style.getPropertyValue(d);a[i.selectorText][d]=l}}else i instanceof CSSMediaRule&&(a["@media ".concat(i.conditionText)]=st(i))}}catch(t){o.e(t)}finally{o.f()}}catch(t){k.error("Error parsing CSS:",t)}return document.body.removeChild(n),a}function st(t){var e,n={},a=s(t.cssRules);try{for(a.s();!(e=a.n()).done;){var r=e.value;if(r instanceof CSSStyleRule){n[r.selectorText]={};for(var o=0;o<r.style.length;o++){var i=r.style[o],c=r.style.getPropertyValue(i);n[r.selectorText][i]=c}}}}catch(t){a.e(t)}finally{a.f()}return n}var dt=["color","background-color","font-size","font-family","font-weight","text-align","line-height","letter-spacing","text-transform","border","border-radius","padding","margin","width","height","display","flex-direction","justify-content","align-items","box-shadow","opacity","transition"],lt=[/^#([0-9A-Fa-f]{3}){1,2}$/,/^rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)$/,/^rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(?:0|1|0?\.\d+)\s*\)$/,/^(?:(?:0|[1-9]\d*)(?:\.\d+)?|\.\d+)(?:px|em|rem|%|vh|vw)$/,/^(?:normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)$/,/^(?:left|center|right|justify)$/,/^(?:flex|block|inline|inline-block|none)$/,/^(?:row|column)$/,/^(?:flex-start|flex-end|center|space-between|space-around)$/];function ut(t){if("string"!=typeof t)return k.warn("Invalid CSS input:",t),"";var e=function(t){var e={},n=t.match(/[^\{\}]+\{[^\}]+\}/g)||[];return n.forEach((function(t){var n=v(t.split("{"),2),a=n[0],r=n[1];e[a.trim()]={},r.slice(0,-1).split(";").forEach((function(t){var n=v(t.split(":"),2),r=n[0],o=n[1];r&&o&&(e[a.trim()][r.trim()]=o.trim())}))})),e}(t=(t=(t=(t=t.replace(/\/\*[\s\S]*?\*\//g,"")).replace(/@import/gi,"")).replace(/expression\s*\(/gi,"")).replace(/@(document|charset|import|namespace|page|supports)/gi,""));for(var n in e){var a={};for(var r in e[n])if(dt.includes(r)){var o=e[n][r];pt(o)&&(a[r]=o)}e[n]=a}return function(t){var e="";for(var n in t){for(var a in e+="".concat(n," {\n"),t[n])e+=" ".concat(a,": ").concat(t[n][a],";\n");e+="}\n"}return e}(e)}function pt(t){return lt.some((function(e){return e.test(t)}))}var ht=function(t){function e(t,n){var a;return o(this,e),"function"!=typeof(a=r(this,e,[t,n])).adapter.t&&(k.warn("Adapter does not have a t method for translations. Using fallback."),a.adapter.t=O),a.config=W,a.content=new ot(a.shadowRoot,a.adapter),a.styles=new it,a.state=P(),a.handleOutsideClick=a.handleOutsideClick.bind(a),a.handleEscKey=a.handleEscKey.bind(a),a.handleModalClick=a.handleModalClick.bind(a),a.isListening=!1,"function"!=typeof a.adapter.showNotification&&(k.warn("Adapter does not have a showNotification method. Using fallback."),a.adapter.showNotification=a.fallbackShowNotification.bind(a)),a.handleCloseButtonClick=a.handleCloseButtonClick.bind(a),a.closeListenerAdded=!1,a}return u(e,t),c(e,[{key:"create",value:(s=a(f().mark((function t(e,n){var a,r,o,i,c;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return k.log("Creating modal popup"),k.log("Settings:",n),a=ct(n.customCSS||""),r=ut(a),(o=document.createElement("div")).classList.add(this.config.classNames.popup,this.config.classNames.modal),i=this.styles.getStyles(n,r),o.appendChild(i),(c=document.createElement("div")).classList.add(this.config.classNames.modalContent),c.innerHTML=this.content.render(e),o.appendChild(c),this.popupElement=o,this.contentElement=c,this.shadowRoot.appendChild(o),k.log("Content element created:",this.contentElement),this.content.setupEventListeners(),this.setupEventListeners(),this.setupCloseButtonListener(),t.abrupt("return",this);case 20:case"end":return t.stop()}}),t,this)}))),function(t,e){return s.apply(this,arguments)})},{key:"showLoading",value:(i=a(f().mark((function t(){var e,n,a=arguments;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=a.length>1&&void 0!==a[1]?a[1]:0,n='\n <style>\n .ziadah-preload-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 20px;\n }\n .ziadah-preload-spinner-container {\n width: 50px;\n height: 50px;\n margin-bottom: 15px;\n }\n\n .ziadah-preload-spinner {\n width: 100%;\n height: 100%;\n border: 3px solid rgba(0, 0, 0, 0.1);\n border-top: 3px solid var(--ziadah-header-text-color, #4CAF50);\n border-radius: 50%;\n animation: ziadah-preload-spin 1s linear infinite;\n }\n\n .ziadah-preload-message {\n font-size: 18px;\n font-weight: bold;\n color: var(--ziadah-text-color, #333);\n text-align: center;\n margin: 0;\n }\n\n @keyframes ziadah-preload-spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n\n :host([dir="rtl"]) .ziadah-preload-message {\n font-family: var(--ziadah-font-family, \'Arial\', sans-serif);\n }\n </style>\n <div class="ziadah-preload-container">\n <div class="ziadah-preload-spinner-container">\n <div class="ziadah-preload-spinner"></div>\n </div>\n <p class="ziadah-preload-message">'.concat((a.length>0&&void 0!==a[0]?a[0]:{en:"Campaings are loading...",ar:"جاري تحميل الحملة..."})[this.getLanguage()],"</p>\n </div>\n "),this.contentElement.innerHTML=n,this.setupEventListeners(),this.show(),t.abrupt("return",new Promise((function(t){return setTimeout(t,e)})));case 7:case"end":return t.stop()}}),t,this)}))),function(){return i.apply(this,arguments)})},{key:"showProducts",value:(n=a(f().mark((function t(e,n,a,r,o,i,c,s,d){var l,u=arguments;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Received action products:",e),0!==u.length){t.next=4;break}return k.error("showProducts method called with no arguments"),t.abrupt("return");case 4:return k.log("2. Input parameters:",{actionProducts:e,triggerProducts:n,options:a,campaignTypeId:r,card:o,alternativeProducts:i,isAlternativeEnabled:c,lastEventProductId:s,campaignSettings:d}),t.next=7,this.showLoading();case 7:if(k.log("actionProducts:",e),k.log("triggerProducts:",n),k.log("options:",a),k.log("campaignTypeId:",r),k.log("card:",o),k.log("alternativeProducts:",i),k.log("isAlternativeEnabled:",c),k.log("lastEventProductId:",s),k.log("campaignSettings:",d),e||k.warn("actionProducts is undefined"),n||k.warn("triggerProducts is undefined"),a||k.warn("options is undefined"),r||k.warn("campaignTypeId is undefined"),o||k.warn("card is undefined"),i||k.warn("alternativeProducts is undefined"),c||k.warn("isAlternativeEnabled is undefined"),s||k.warn("lastEventProductId is undefined"),d||k.warn("campaignSettings is undefined"),l={title:(null==o?void 0:o.title)||{en:"No Title"},description:(null==o?void 0:o.description)||{en:"No Description"},action_products:e.map((function(t,n){return g(g({},t),{},{type:r,isLastProduct:n===e.length-1})})),coupon:null==a?void 0:a.coupon,type:r,totalProducts:e.length},L({campaignData:l}),this.state=P(),k.log("4. Campaign Data:",l),k.log("5. Campaign Type:",r),k.log("5.5 this.contentElement:",this.contentElement),this.contentElement){t.next=38;break}return k.log("6. Content element doesn't exist, creating modal"),t.next=35,this.create(l,d);case 35:k.log("6.5 Modal created, this.contentElement:",this.contentElement),t.next=40;break;case 38:k.log("6. Content element exists, updating content"),this.updateContent(l);case 40:k.log("7. Showing modal"),this.show(),k.log("8. Exiting showProducts method"),setTimeout((function(){k.log("Updating state after delay")}),100);case 44:case"end":return t.stop()}}),t,this)}))),function(t,e,a,r,o,i,c,s,d){return n.apply(this,arguments)})},{key:"updateContent",value:function(t){var e=this;if(k.log("1. Entering updateContent method"),k.log("2. Updating modal content with data:",JSON.stringify(t,null,2)),k.log("3. Checking this.contentElement"),this.contentElement){k.log("4. this.contentElement exists"),k.log("5. Getting language");var n=A();k.log("6. Current language in ModalPopup:",n),k.log("7. Testing translation"),k.log("8. Testing translation in ModalPopup:",O("add_to_cart")),k.log("9. Applying fade-out effect"),this.contentElement.style.transition="opacity 0.3s ease-in-out",this.contentElement.style.opacity="0",setTimeout((function(){k.log("10. Rendering content");var n=e.content.render(t);k.log("11. Rendered content:",n),k.log("12. Updating innerHTML"),e.contentElement.innerHTML=n,k.log("13. Generating footer");var a=e.generateFooter(t);k.log("14. Footer HTML:",a),k.log("15. Appending footer to content"),e.contentElement.insertAdjacentHTML("beforeend",a),k.log("16. Setting up event listeners"),e.content.setupEventListeners(),e.setupFooterEventListeners(),e.setupEventListeners(),k.log("17. Applying fade-in effect"),e.contentElement.style.opacity="1"}),300)}else k.log("4. this.contentElement does not exist");k.log("18. Exiting updateContent method")}},{key:"generateFooter",value:function(t){var e,n=t.type,a=t.action_products,r=t.coupon,o=a?a.length:0,i=(1!==n||1===o)&&o>0,c=r&&r.code&&0===o,s=1===o;e=1===n?s?this.adapter.t("replace"):this.adapter.t("replace_them_all"):s?this.adapter.t("add"):this.adapter.t("add_them_all");var d="rtl"===document.dir||"ar"===document.documentElement.lang?'\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <line x1="19" y1="12" x2="5" y2="12"></line>\n <polyline points="12 19 5 12 12 5"></polyline>\n </svg>\n ':'\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <line x1="5" y1="12" x2="19" y2="12"></line>\n <polyline points="12 5 19 12 12 19"></polyline>\n </svg>\n ';return'\n <div class="'.concat(this.config.classNames.modalFooter,'">\n ').concat(i&&!c?'\n <button type="button" id="'.concat(this.config.classNames.addAllToCart,'" class="').concat(this.config.classNames.addAllButton,'">\n ').concat(e,' \n <span class="ziadah-icon">').concat('\n <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <circle cx="9" cy="21" r="1"></circle>\n <circle cx="20" cy="21" r="1"></circle>\n <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path>\n </svg>\n ',"</span>\n </button>\n "):"",'\n <button type="button" class="').concat(this.config.classNames.continueButton,'" id="').concat(this.config.classNames.pluginModalContinue,'">\n ').concat(this.adapter.t("continue"),'\n <span class="ziadah-icon">').concat(d,"</span>\n </button>\n </div>\n ")}},{key:"setupFooterEventListeners",value:function(){var t=this,e=this.contentElement.querySelector("#".concat(this.config.classNames.addAllToCart));e&&e.addEventListener("click",(function(){return t.handleAddAllToCart()}));var n=this.contentElement.querySelector("#".concat(this.config.classNames.pluginModalContinue));n&&n.addEventListener("click",(function(){return t.handleContinue()}))}},{key:"handleAddAllToCart",value:function(){var t=this;k.log("Add all to cart clicked");var e=this.state.campaignData,n=null==e?void 0:e.action_products;if(k.log("Action products in state:",n),n&&0!==n.length){var a=1===n.length,r=n.map((function(e){return k.log("Adding product to cart:",e),t.adapter.addToCart(e.id,1,e.variant_id)}));Promise.all(r).then((function(){k.log("All products added to cart successfully"),n.forEach((function(e){t.adapter.sendClickData(t.adapter.getStoreId(),t.campaignId,2,e.uuid,1)})),N(a?t.adapter.t("product_added_to_cart"):t.adapter.t("all_products_added_to_cart"),!1),t.hide()})).catch((function(e){k.error("Error adding products to cart:",e),N(a?t.adapter.t("error_adding_product_to_cart"):t.adapter.t("error_adding_products_to_cart"),!0)}))}else k.warn("No action products found to add to cart")}},{key:"handleContinue",value:function(){k.log("Continue clicked"),this.hide()}},{key:"setupEventListeners",value:function(){var t=this;this.shadowRoot.addEventListener("modalClose",(function(){return t.hide()})),this.popupElement&&this.popupElement.addEventListener("mousedown",this.handleModalClick),this.setupCloseButtonListener()}},{key:"setupCloseButtonListener",value:function(){k.log("Setting up close button listener with event delegation"),this.closeListenerAdded||(this.shadowRoot.addEventListener("click",this.handleCloseButtonClick),this.closeListenerAdded=!0)}},{key:"handleCloseButtonClick",value:function(t){t.target.closest(".".concat(this.config.classNames.closeButton))&&(k.log("Close button clicked (via delegation)"),t.stopPropagation(),this.handleClose())}},{key:"handleClose",value:function(){k.log("Handling close action"),this.hide()}},{key:"handleModalClick",value:function(t){t.stopPropagation()}},{key:"handleOutsideClick",value:function(t){this.popupElement&&!this.popupElement.contains(t.target)&&this.hide()}},{key:"handleEscKey",value:function(t){"Escape"===t.key&&this.hide()}},{key:"show",value:function(){k.log("Entering show method");try{if(!this.popupElement)throw new Error("Popup element not found");this.popupElement.classList.add("ziadah-modal-visible"),document.body.style.overflow="hidden",k.log("Modal visibility class added"),k.log("Is modal visible?",window.getComputedStyle(this.popupElement).display)}catch(t){k.error("Error showing modal:",t)}k.log("Exiting show method")}},{key:"hide",value:function(){this.popupElement&&(this.popupElement.classList.remove(this.config.classNames.modalVisible),document.body.style.overflow=""),this.removeEventListeners()}},{key:"removeEventListeners",value:function(){this.isListening&&(document.removeEventListener("mousedown",this.handleOutsideClick),document.removeEventListener("keydown",this.handleEscKey),this.isListening=!1),this.closeListenerAdded&&(this.shadowRoot.removeEventListener("click",this.handleCloseButtonClick),this.closeListenerAdded=!1)}},{key:"update",value:function(t){this.content.update(t)}},{key:"destroy",value:function(){this.popupElement&&(this.popupElement.removeEventListener("mousedown",this.handleModalClick),this.popupElement.parentNode&&this.popupElement.parentNode.removeChild(this.popupElement)),this.popupElement=null,this.removeEventListeners()}},{key:"isOpen",value:function(){var t=this.popupElement&&this.popupElement.classList.contains(this.config.classNames.modalVisible);return k.log("Is modal open?",t),this.popupElement&&(k.log("Modal element:",this.popupElement.outerHTML),k.log("Computed style display:",window.getComputedStyle(this.popupElement).display)),t}},{key:"getElement",value:function(){return this.popupElement}},{key:"fallbackShowNotification",value:function(t,e){k.log("Notification (".concat(e,"): ").concat(t));var n=document.createElement("div");n.textContent=t,n.style.cssText="\n position: fixed;\n top: 20px;\n right: 20px;\n padding: 10px;\n background-color: ".concat("success"===e?"#00a86b":"#F44336",";\n color: white;\n border-radius: 4px;\n z-index: 10000;\n "),document.body.appendChild(n),setTimeout((function(){document.body.removeChild(n)}),3e3)}},{key:"setCampaignId",value:function(t){this.campaignId=t,k.log("Campaign ID set in ModalPopup:",this.campaignId)}}]);var n,i,s}(G),gt=function(){return c((function t(e,n){o(this,t),this.shadowRoot=e,this.adapter=n,k.log("PopupFactory constructed with:",{shadowRoot:e,adapter:n}),this.popupInstances={},this.fontFamily=F(),this.fontLoaded=!1}),[{key:"loadFontIfNeeded",value:(e=a(f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.fontLoaded||!this.fontFamily.includes("Rubik")){t.next=4;break}return t.next=3,e=void 0,(e=document.createElement("link")).href="https://fonts.googleapis.com/css2?family=Rubik&display=swap",e.rel="stylesheet",void document.head.appendChild(e);case 3:this.fontLoaded=!0;case 4:case"end":return t.stop()}var e}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"createPopup",value:(t=a(f().mark((function t(e,n,a){var r,o,i;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Creating popup:",{type:e,campaignData:n,settings:a}),n&&"object"===b(n)&&0!==Object.keys(n).length){t.next=4;break}return k.error("Invalid or empty campaign data passed to createPopup"),t.abrupt("return",null);case 4:if(!this.popupInstances[e]){t.next=7;break}return k.log("Reusing existing popup instance for type:",e),t.abrupt("return",this.popupInstances[e]);case 7:return t.next=9,this.loadFontIfNeeded();case 9:t.t0=e,t.next=("popup card"===t.t0||t.t0,12);break;case 12:return r=ht,t.abrupt("break",14);case 14:return o=ut((null==a?void 0:a.css)||""),i=new r(this.shadowRoot,this.adapter),t.next=18,i.create(n,g(g({},a),{},{css:o,fontFamily:this.fontFamily}));case 18:return this.popupInstances[e]=i,t.abrupt("return",i);case 20:case"end":return t.stop()}}),t,this)}))),function(e,n,a){return t.apply(this,arguments)})},{key:"showProducts",value:function(t){k.log("Entering showProducts method"),k.log("Campaign data:",t),this.popupInstance?(k.log("Popup instance exists, updating content"),this.popupInstance.updateContent(t),k.log("Content updated, showing popup"),this.popupInstance.show(),k.log("Popup shown")):k.error("Popup instance not created"),k.log("Exiting showProducts method")}}]);var t,e}();function ft(t,e,n){return mt.apply(this,arguments)}function mt(){return mt=a(f().mark((function t(e,n,a){var r,o,i,c,s,d,l,u,p,h,g,m,v=arguments;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=v.length>3&&void 0!==v[3]&&v[3],k.log("Campaign called for event ID: ".concat(e,", event name: ").concat(n,", restart with lower: ").concat(r)),o=P(),k.log("Current state:",o),!o.campaignActive||r){t.next=7;break}return k.log("Campaign is already active, skipping campaign"),t.abrupt("return");case 7:L({campaignActive:!0}),t.prev=8,i=o.adapter,k.log("Adapter:",i),t.t0=e,t.next="1"===t.t0?14:"2"===t.t0?16:"3"===t.t0?18:"5"===t.t0?20:"6"===t.t0?22:24;break;case 14:return k.log("Handling start-checkout event"),t.abrupt("break",26);case 16:return k.log("Handling add-to-cart event"),t.abrupt("break",26);case 18:return k.log("Handling remove-from-cart event"),t.abrupt("break",26);case 20:return k.log("Handling product-view event"),t.abrupt("break",26);case 22:return k.log("Handling purchase event"),t.abrupt("break",26);case 24:return k.warn("Unrecognized Zid event ID: ".concat(e)),t.abrupt("break",26);case 26:return t.next=28,yt();case 28:if(c=t.sent,!r){t.next=35;break}k.log("Restarting with lower priority campaign"),s={data:[o.lowerCampaign]},d=o.lowerCampaign,t.next=50;break;case 35:return k.log("Fetching campaigns for event ID: ".concat(e)),t.next=38,i.fetchCampaigns(e);case 38:if(l=t.sent,s=l.data,k.log("Campaigns data:",s),s&&Array.isArray(s.data)&&0!==s.data.length){t.next=45;break}return k.warn("No campaign data available for event ID: ".concat(e)),N(O("no_campaigns_available"),!1),t.abrupt("return");case 45:k.log("Event data:",a),u=(null==a?void 0:a.id)||(null==a?void 0:a.uuid)||(null==a?void 0:a.product_id),k.log("Target product ID for filtering:",u),d=vt(s.data,u,n),k.log("Filtered highest priority campaign:",d);case 50:if(k.log("Highest priority campaign:",d),d){t.next=55;break}return k.log("No matching campaign found"),N(O("no_matching_campaign"),!1),t.abrupt("return");case 55:return k.log("Fetching campaign data for campaign ID: ".concat(d.id)),t.next=58,i.getCampaignData(d.id,e,d.action_products);case 58:if(p=t.sent,k.log("Campaign result:",p),p&&p.data&&p.data.data){t.next=64;break}return k.warn("Invalid campaign result received"),c.hide(),t.abrupt("return");case 64:return h=p.data.data,k.log("Campaign data:",h),g=s.data.find((function(t){return t.priority<d.priority}))||{},L({currentCampaignID:h.id,lowerCampaign:g,lastEventID:e,lastEventName:n,lastEventData:a}),c.hide(),t.next=71,wt(p);case 71:m=t.sent,k.log("Popup shown:",m),t.next=80;break;case 75:t.prev=75,t.t1=t.catch(8),k.error("Error in campaign:",t.t1),R(t.t1,"Campaign Execution"),N(O("campaign_error"),!0);case 80:return t.prev=80,L({campaignActive:!1}),t.finish(80);case 83:case"end":return t.stop()}}),t,null,[[8,75,80,83]])}))),mt.apply(this,arguments)}function vt(t,e,n){if(k.log("Filtering campaigns. Campaigns:",t),k.log("Target product ID:",e),k.log("Event name:",n),!Array.isArray(t)||0===t.length)return k.log("No campaigns available or campaigns is not an array"),null;var a=t.filter((function(t){var n,a,r,o;if(k.log("Checking campaign:",t),1!==(null===(n=t.status)||void 0===n?void 0:n.value))return k.log("Campaign ".concat(t.id," is not active (status: ").concat(null===(o=t.status)||void 0===o?void 0:o.value,")")),!1;var i=null===(a=t.trigger_product_type)||void 0===a||null===(a=a.value_string)||void 0===a?void 0:a.toLowerCase();if(k.log("Campaign ".concat(t.id," trigger type: ").concat(i)),2===(null===(r=t.type)||void 0===r?void 0:r.id)){if(k.log("Processing upsell campaign ".concat(t.id)),"specific products"===i){if(!t.trigger_products||!Array.isArray(t.trigger_products))return k.log("Campaign ".concat(t.id," has no valid trigger products")),!1;var c=t.trigger_products.some((function(t){var n=t.uuid||t.id,a=n===e;return k.log("Comparing product ".concat(n," with target ").concat(e,": ").concat(a)),a}));return k.log("Campaign ".concat(t.id," matches trigger product: ").concat(c)),c}return"all products"===i?(k.log("Campaign ".concat(t.id," accepts all products")),!0):(k.log("Campaign ".concat(t.id," has unhandled trigger type: ").concat(i)),!1)}return k.log("Campaign ".concat(t.id," is not an upsell campaign")),!0}));if(k.log("Active campaigns after filtering:",a),0===a.length)return k.log("No active campaigns found"),null;a.sort((function(t,e){var n,a,r,o;return 2===(null===(n=t.type)||void 0===n?void 0:n.id)&&2!==(null===(a=e.type)||void 0===a?void 0:a.id)?-1:2!==(null===(r=t.type)||void 0===r?void 0:r.id)&&2===(null===(o=e.type)||void 0===o?void 0:o.id)?1:(e.priority||0)-(t.priority||0)}));var r=a[0];return k.log("Selected highest priority campaign:",r),r}function yt(){return bt.apply(this,arguments)}function bt(){return(bt=a(f().mark((function t(){var e,n;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((e=P())&&e.popupFactory){t.next=4;break}return k.error("State or PopupFactory is not initialized"),t.abrupt("return",null);case 4:return t.prev=4,t.next=7,e.popupFactory.createPopup("modal",{title:{en:"The campaign is loading..",ar:"جاري تحميل الحملة.."}},e.settings);case 7:if(n=t.sent){t.next=10;break}throw new Error("Failed to create loading popup component");case 10:return t.next=12,n.show();case 12:return t.abrupt("return",n);case 15:return t.prev=15,t.t0=t.catch(4),k.error("Error showing loading popup:",t.t0),t.abrupt("return",null);case 19:case"end":return t.stop()}}),t,null,[[4,15]])})))).apply(this,arguments)}function wt(t){return xt.apply(this,arguments)}function xt(){return(xt=a(f().mark((function t(e){var n,a,r,o,i,c,s,d;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Showing campaign popup with result:",e),e&&e.data&&"object"===b(e.data)){t.next=5;break}return k.error("Invalid campaign result:",e),N(O("campaign_error"),!0),t.abrupt("return",null);case 5:if((n=e.data.data)&&n.id){t.next=10;break}return k.error("Campaign data is missing or invalid:",n),N(O("campaign_error"),!0),t.abrupt("return",null);case 10:if((a=P())&&a.popupFactory){t.next=15;break}return k.error("State or PopupFactory is not initialized"),N(O("campaign_error"),!0),t.abrupt("return",null);case 15:return t.prev=15,c=(null===(r=n.style)||void 0===r||null===(r=r.title)||void 0===r||null===(r=r.en)||void 0===r?void 0:r.toLowerCase())||"modal",k.log("Creating popup of type:",c),t.next=20,a.popupFactory.createPopup(c,n,a.settings);case 20:if(s=t.sent){t.next=23;break}throw new Error("Failed to create popup component");case 23:return k.log("PopupComponent created:",s),s.setCampaignId(n.id),d={actionProducts:n.action_products||[],triggerProducts:n.trigger_products||[],couponInfo:{has_coupon:n.is_product_coupon_enabled,coupon:n.coupon},campaignType:null===(o=n.type)||void 0===o?void 0:o.id,card:n.card,alternativeProducts:n.alternative_products,isAlternativeProductEnabled:n.is_alternative_product_enabled,lastEventProductId:"add-remove-cart"===a.lastEventName?null===(i=a.lastEventData)||void 0===i?void 0:i.id:null,campaignSettings:n.campaign_settings},k.log("Calling showProducts with params:",d),t.next=29,s.showProducts(d.actionProducts,d.triggerProducts,d.couponInfo,d.campaignType,d.card,d.alternativeProducts,d.isAlternativeProductEnabled,d.lastEventProductId,d.campaignSettings);case 29:return t.abrupt("return",s);case 32:return t.prev=32,t.t0=t.catch(15),k.error("Error showing popup:",t.t0),R(t.t0,"Show Campaign Popup"),N(O("campaign_error"),!0),t.abrupt("return",null);case 38:case"end":return t.stop()}}),t,null,[[15,32]])})))).apply(this,arguments)}function zt(){var t=P();ft(t.lastEventID,t.lastEventName,t.lastEventData,!0)}function kt(t){ft("2","add-remove-cart",t)}function Ct(t){ft("3","add-remove-cart",t)}function _t(t){ft("1","start-checkout",t)}function St(t){ft("5","product-view",t)}function Et(t){ft("6","purchase",t)}var It=null;function Pt(){return Lt.apply(this,arguments)}function Lt(){return(Lt=a(f().mark((function t(){var e,n,a,r,o;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!It){t.next=2;break}return t.abrupt("return",It);case 2:if(e=P(),t.prev=3,!(n=localStorage.getItem("ziadah_settings"))){t.next=11;break}return a=JSON.parse(n),L({settings:a}),At(a),It=a,t.abrupt("return",a);case 11:return t.next=13,at(e.adapter);case 13:return r=t.sent,o=g(g({},H),r),L({settings:o}),At(o),It=o,localStorage.setItem("ziadah_settings",JSON.stringify(o)),t.abrupt("return",o);case 22:return t.prev=22,t.t0=t.catch(3),k.error("Error initializing settings:",t.t0),N(O("error_initializing_settings"),!0),L({settings:H}),At(H),It=H,localStorage.setItem("ziadah_settings",JSON.stringify(H)),t.abrupt("return",H);case 31:case"end":return t.stop()}}),t,null,[[3,22]])})))).apply(this,arguments)}function At(t){var e=document.createElement("style");e.textContent="\n :root {\n --ziadah-modal-radius: ".concat(t.modalRadius,";\n --ziadah-modal-background: ").concat(t.modalBackground,";\n --ziadah-main-color: ").concat(t.mainColor,";\n --ziadah-sub-color: ").concat(t.subColor,";\n --ziadah-font-family: ").concat(t.fontFamily,";\n --ziadah-font-size: ").concat(t.fontSize,";\n --ziadah-button-radius: ").concat(t.buttonRadius,";\n --ziadah-animation-duration: ").concat(t.animationDuration,";\n --ziadah-max-width: ").concat(t.maxWidth,";\n --ziadah-background-color: ").concat(t.backgroundColor,";\n --ziadah-text-color: ").concat(t.textColor,";\n --ziadah-header-text-color: ").concat(t.headerTextColor,";\n --ziadah-button-color: ").concat(t.buttonColor,";\n --ziadah-button-text-color: ").concat(t.buttonTextColor,";\n --ziadah-border-color: ").concat(t.borderColor,";\n --ziadah-hover-color: ").concat(t.hoverColor,";\n --ziadah-overlay-color: ").concat(t.overlayColor,";\n --ziadah-shadow-color: ").concat(t.shadowColor,";\n --ziadah-active-color: ").concat(t.activeColor,";\n --ziadah-font-weight: ").concat(t.fontWeight,";\n --ziadah-button-font-size: ").concat(t.buttonFontSize,";\n --ziadah-button-font-weight: ").concat(t.buttonFontWeight,";\n --ziadah-button-padding: ").concat(t.buttonPadding,";\n --ziadah-button-border-radius: ").concat(t.buttonBorderRadius,";\n --ziadah-product-border-radius: ").concat(t.productBorderRadius,";\n --ziadah-product-coupon-radius: ").concat(t.couponBorderRadius,";\n --ziadah-image-border-radius: ").concat(t.imageBorderRadius,";\n --ziadah-disabled-color: ").concat(t.disabledColor,";\n --ziadah-light-background-color: ").concat(t.lightBackgroundColor,";\n --ziadah-light-background-color-hover: ").concat(t.lightBackgroundColorHover,";\n --ziadah-dark-background-color: ").concat(t.darkBackgroundColor,";\n --ziadah-dark-background-color-hover: ").concat(t.darkBackgroundColorHover,";\n --ziadah-focus-shadow-color: ").concat(t.focusShadowColor,";\n --ziadah-attributes-font-size: ").concat(t.attributesFontSize,";\n --ziadah-icon-check: ").concat(t.iconCheckColor,";\n --ziadah-coupon-copied-color: ").concat(t.couponCopiedColor,";\n }\n \n ").concat(t.customCSS,"\n \n /* User-defined CSS overrides */\n ").concat(ut(t.userCSS),"\n ");var n=document.getElementById("ziadah-styles");n&&n.remove(),e.id="ziadah-styles",document.head.appendChild(e)}var Ot="1",Dt="2",Tt="3",Nt="4",Rt="5",Ft="6",Mt="ziadah_initialization_timestamp",jt=18e5,Ut=function(t){function e(){var t;return o(this,e),(t=r(this,e)).attachShadow({mode:"open"}),t._initialized=!1,t.lastInitializationTime=0,t._eventListenersSetup=!1,t._adapterInitialized=!1,t._popupFactoryInitialized=!1,t._campaignsInitialized=!1,t._cachedCampaignsLogged=!1,t._orderHandled=!1,t.orderObserver=new MutationObserver((function(e){var n,a=s(e);try{for(a.s();!(n=a.n()).done;){var r=n.value;if("childList"===r.type){var o,i=s(r.addedNodes);try{for(i.s();!(o=i.n()).done;){if(o.value.nodeType===Node.ELEMENT_NODE&&t.isOrderConfirmationPage()&&!t._orderHandled)return k.log("Order confirmation page detected by observer"),t.handleOrderPage(),void t.orderObserver.disconnect()}}catch(t){i.e(t)}finally{i.f()}}}}catch(t){a.e(t)}finally{a.f()}})),t}return u(e,t),c(e,[{key:"adapter",get:function(){return this._adapter}},{key:"getPlatform",value:function(){return"undefined"!=typeof window&&window.Shopify?"shopify":"undefined"!=typeof window&&window.Salla?"salla":"zid"}},{key:"shouldInitialize",value:function(){var t=localStorage.getItem(Mt);if(!t)return!0;var e=Date.now()-parseInt(t,10);return k.log("Time since last initialization: ".concat(e/1e3," seconds")),e>jt?(k.log("Initialization expired, reinitializing"),!0):(k.log("Using stored initialization"),!1)}},{key:"setInitializationTimestamp",value:function(){localStorage.setItem(Mt,Date.now().toString())}},{key:"connectedCallback",value:(x=a(f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return k.log("ZiadahPlugin connectedCallback called"),t.next=3,this.initializeIfNeeded();case 3:k.log("ConnectedCallback complete. Current state:",P()),this._cachedCampaignsLogged||(this.logCachedCampaigns(),this._cachedCampaignsLogged=!0),this.orderObserver.observe(document.body,{childList:!0,subtree:!0}),this.isOrderConfirmationPage()&&!this._orderHandled&&(k.log("Order confirmation page detected on initial load"),this.handleOrderPage());case 7:case"end":return t.stop()}}),t,this)}))),function(){return x.apply(this,arguments)})},{key:"isOrderConfirmationPage",value:function(){return window.location.pathname.includes("/order-confirmation")||null!==document.querySelector(".order-confirmation")}},{key:"initializeIfNeeded",value:(w=a(f().mark((function t(){var e;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((e=Date.now())-this.lastInitializationTime>jt)){t.next=8;break}return k.log("Initialization expired, reinitializing"),t.next=5,this.initialize();case 5:this.lastInitializationTime=e,t.next=11;break;case 8:return k.log("Using cached initialization data"),t.next=11,this.restoreState();case 11:if(!this.adapter||"function"!=typeof this.adapter.initializeCampaigns||this._campaignsInitialized){t.next=16;break}return k.log("Initializing campaigns"),t.next=15,this.adapter.initializeCampaigns();case 15:this._campaignsInitialized=!0;case 16:case"end":return t.stop()}}),t,this)}))),function(){return w.apply(this,arguments)})},{key:"logCachedCampaigns",value:function(){this._adapter&&"function"==typeof this._adapter.logCachedCampaigns?this._adapter.logCachedCampaigns():k.log("Adapter does not support logging cached campaigns")}},{key:"initialize",value:(y=a(f().mark((function t(){var e,n;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this._initialized){t.next=3;break}return k.log("Plugin already initialized, skipping initialization"),t.abrupt("return");case 3:return t.prev=3,t.next=6,Pt();case 6:return e=t.sent,n=this.mergeWithOtherSettings(e),t.next=10,this.initializePlugin(n);case 10:this.lastInitializationTime=Date.now(),localStorage.setItem("ziadahPluginInitData",JSON.stringify({settings:n,timestamp:this.lastInitializationTime})),this._initialized=!0,t.next=18;break;case 15:t.prev=15,t.t0=t.catch(3),k.error("Failed to initialize plugin:",t.t0);case 18:case"end":return t.stop()}}),t,this,[[3,15]])}))),function(){return y.apply(this,arguments)})},{key:"mergeWithOtherSettings",value:function(t){return t}},{key:"initializePlugin",value:(m=a(f().mark((function t(e){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Initializing plugin"),L({settings:e}),this._adapterInitialized){t.next=5;break}return t.next=5,this.initializeAdapter(e);case 5:this._popupFactoryInitialized||this.initPopupFactory(),this._eventListenersSetup||this.setupEventListeners(),L({pluginActive:!0}),this.setInitializationTimestamp(),k.log("Plugin initialization complete. Current state:",P());case 10:case"end":return t.stop()}}),t,this)}))),function(t){return m.apply(this,arguments)})},{key:"getSettings",value:(g=a(f().mark((function t(){var e,n,a;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e=localStorage.getItem("ziadah_settings"))){t.next=4;break}return k.log("Using saved settings from localStorage"),t.abrupt("return",JSON.parse(e));case 4:return k.log("No saved settings found, fetching from server"),t.prev=5,t.next=8,this.adapter.fetchSettings();case 8:return n=t.sent,localStorage.setItem("ziadah_settings",JSON.stringify(n)),t.abrupt("return",n);case 13:return t.prev=13,t.t0=t.catch(5),k.warn("Error fetching settings, using fallback settings",t.t0),a=this.getFallbackSettings(),localStorage.setItem("ziadah_settings",JSON.stringify(a)),t.abrupt("return",a);case 19:case"end":return t.stop()}}),t,this,[[5,13]])}))),function(){return g.apply(this,arguments)})},{key:"getFallbackSettings",value:function(){return{theme:{primary:"#3498db",secondary:"#2ecc71",textColor:"#333333",backgroundColor:"#ffffff"},fonts:{primary:"'Rubik', Arial, sans-serif",fontSize:"16px"},layout:{maxWidth:"800px"},language:"en",currency:{code:"SAR",symbol:"ر.س"}}}},{key:"initializeAdapter",value:(h=a(f().mark((function t(e){var n,a;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this._adapterInitialized){t.next=3;break}return k.log("Adapter already initialized, skipping"),t.abrupt("return");case 3:k.log("Creating new adapter"),n=this.getPlatform(),this._adapter=K(n),L({adapter:this._adapter}),a=P(),this._adapter.language=a.language||document.documentElement.lang||"en","function"==typeof this._adapter.applySettings?this._adapter.applySettings(e):(k.warn("adapter.applySettings is not a function. Settings will be set directly on the adapter."),this._adapter.settings=e),this._adapterInitialized=!0,k.log("Adapter initialized");case 12:case"end":return t.stop()}}),t,this)}))),function(t){return h.apply(this,arguments)})},{key:"restoreState",value:(p=a(f().mark((function t(){var e,n;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Restoring plugin state"),!(e=P()).settings){t.next=7;break}return t.next=5,this.initializeAdapter(e.settings);case 5:t.next=14;break;case 7:return k.warn("No settings found in state, fetching new settings"),t.next=10,this.getSettings();case 10:return n=t.sent,L({settings:n}),t.next=14,this.initializeAdapter(n);case 14:this.initPopupFactory(),this.setupEventListeners(),L({pluginActive:!0}),k.log("Plugin state restored. Current state:",P());case 18:case"end":return t.stop()}}),t,this)}))),function(){return p.apply(this,arguments)})},{key:"initPopupFactory",value:function(){this._popupFactoryInitialized?k.log("PopupFactory already initialized, skipping"):(k.log("Initializing PopupFactory"),this.popupFactory=new gt(this.shadowRoot,this._adapter),L({popupFactory:this.popupFactory}),this._popupFactoryInitialized=!0,k.log("PopupFactory initialized:",this.popupFactory))}},{key:"setupEventListeners",value:function(){if(this._eventListenersSetup)k.log("Event listeners already set up, skipping");else{var t={"product-view":{id:Rt,handler:function(t){return ft(Rt,"product-view",t.detail)}},"add-to-cart":{id:Dt,handler:function(t){return ft(Dt,"add-remove-cart",t.detail)}},"remove-from-cart":{id:Tt,handler:function(t){return ft(Tt,"add-remove-cart",t.detail)}},"start-checkout":{id:Ot,handler:function(){return ft(Ot,"start-checkout",{})}},purchase:{id:Ft,handler:function(t){return ft(Ft,"purchase",t.detail)}},"product-page-leave":{id:Nt,handler:function(){return ft(Nt,"product-page-leave",{})}}};Object.entries(t).forEach((function(t){var e=v(t,2),n=e[0],a=e[1].handler;document.addEventListener(n,a)})),this._eventListenersSetup=!0}}},{key:"showPopup",value:(l=a(f().mark((function t(e){var n;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,k.log("Showing popup for campaign:",JSON.stringify(e,null,2)),this.popupFactory){t.next=5;break}return k.error("PopupFactory is not initialized"),t.abrupt("return");case 5:return t.next=7,this.adapter.fetchSettings();case 7:return n=t.sent,t.next=10,this.showCampaignPopup(e,{popupFactory:this.popupFactory,settings:n,lastEventName:this.lastEventName,lastEventData:this.lastEventData});case 10:t.next=16;break;case 12:t.prev=12,t.t0=t.catch(0),k.error("Error showing popup:",t.t0),k.error("Stack trace:",t.t0.stack);case 16:case"end":return t.stop()}}),t,this,[[0,12]])}))),function(t){return l.apply(this,arguments)})},{key:"showCampaignPopup",value:function(){var t=a(f().mark((function t(e){var n,a,r,o,i,c,s;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(k.log("Showing campaign popup with data:",e),e&&e.id){t.next=5;break}return k.error("Invalid campaign data"),N(O("campaign_error"),!0),t.abrupt("return");case 5:if(n=P(),k.log("Current state before showing popup:",n),n.popupFactory||(k.warn("PopupFactory not found in state, attempting to initialize"),this.initPopupFactory(),a=P(),k.log("State after re-initializing PopupFactory:",a)),n.popupFactory){t.next=12;break}return k.error("Failed to initialize PopupFactory"),N(O("campaign_error"),!0),t.abrupt("return");case 12:return t.prev=12,c=(null===(r=e.style)||void 0===r||null===(r=r.title)||void 0===r||null===(r=r.en)||void 0===r?void 0:r.toLowerCase())||"modal",k.log("Creating popup of type:",c),k.log("PopupFactory instance:",n.popupFactory),t.next=18,n.popupFactory.createPopup(c,e,n.settings);case 18:if(s=t.sent){t.next=21;break}throw new Error("Failed to create popup component");case 21:return k.log("Popup component created successfully:",s),t.next=24,s.showProducts(e.action_products||[],e.trigger_products||[],{has_coupon:e.is_product_coupon_enabled,coupon:e.coupon},null===(o=e.type)||void 0===o?void 0:o.id,e.card,e.alternative_products,e.is_alternative_product_enabled,"add-remove-cart"===n.lastEventName?null===(i=n.lastEventData)||void 0===i?void 0:i.id:null,e.campaign_settings);case 24:t.next=30;break;case 26:t.prev=26,t.t0=t.catch(12),k.error("Error showing popup:",t.t0),N(O("campaign_error"),!0);case 30:case"end":return t.stop()}}),t,this,[[12,26]])})));return function(e){return t.apply(this,arguments)}}()},{key:"refreshCampaigns",value:(d=a(f().mark((function t(){var e;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.adapter||"function"!=typeof this.adapter.forceRefreshAllCampaigns){t.next=15;break}return t.prev=1,t.next=4,this.adapter.forceRefreshAllCampaigns();case 4:return e=t.sent,k.log("All campaigns forcefully refreshed : Plugin"),t.abrupt("return",e);case 9:throw t.prev=9,t.t0=t.catch(1),k.error("Error forcefully refreshing campaigns:",t.t0),t.t0;case 13:t.next=17;break;case 15:throw k.error("Adapter does not support force refreshing all campaigns"),new Error("Force refresh not supported");case 17:case"end":return t.stop()}}),t,this,[[1,9]])}))),function(){return d.apply(this,arguments)})},{key:"handleOrderPage",value:(i=a(f().mark((function t(){var e,n,a,r,o;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=this.getOrderIdFromDOM()){t.next=3;break}return t.abrupt("return");case 3:if(!(n=JSON.parse(localStorage.getItem("processedOrders")||"[]")).includes(e)){t.next=6;break}return t.abrupt("return");case 6:if(a=JSON.parse(localStorage.getItem("savedCampaigns")||"[]"),r=a.filter((function(t){return"modal"===t.source})),!(r.length>0)){t.next=15;break}return o=this.adapter,t.next=12,o.sendConversionData(o.getStoreId(),r);case 12:n.push(e),localStorage.setItem("processedOrders",JSON.stringify(n)),localStorage.removeItem("savedCampaigns");case 15:case"end":return t.stop()}}),t,this)}))),function(){return i.apply(this,arguments)})},{key:"clearSentCampaigns",value:function(t){var e="ziadah_modal_saved_campaigns",n=JSON.parse(localStorage.getItem(e)||"[]");k.log("Clearing campaigns. Before:",n);var a=n.filter((function(e){return!t.some((function(t){return t.uuid===e.uuid&&t.campaign_id===e.campaign_id}))}));a.length>0?(localStorage.setItem(e,JSON.stringify(a)),k.log("Updated localStorage. After:",a)):(localStorage.removeItem(e),k.log("All campaigns were sent, removed modalSavedCampaignsKey from localStorage"))}},{key:"getOrderIdFromDOM",value:function(){for(var t=0,e=[".order-number","#order-id","[data-order-id]",".order-details h1",".invoice-body td.d-flex > div"];t<e.length;t++){var n=e[t],a=document.querySelector(n);if(a){var r=a.textContent.trim().match(/(\d+)/);if(r)return k.log("Order ID found: ".concat(r[1])),r[1]}}return k.error("Unable to find order ID in the DOM"),null}},{key:"handlePurchase",value:(n=a(f().mark((function t(e){var n,a,r,o,i,c;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,n=P(),a=n.adapter,r=a.getStoreId(),k.log("Purchase event:",e),e&&"object"===b(e)){t.next=8;break}throw k.error("Invalid purchase data:",e),new Error("Invalid purchase data");case 8:if(o={orderId:e.orderId||"unknown",total:e.total||0,currency:e.currency||"USD",products:Array.isArray(e.products)?e.products.map((function(t){return{id:t.id||"unknown",name:t.name||"Unknown Product",price:t.price||0,quantity:t.quantity||1,category:t.category||"Uncategorized"}})):[]},i=JSON.parse(localStorage.getItem("savedCampaigns")||"[]"),c=i.filter((function(t){return o.products.some((function(e){return e.id===t.uuid}))})),!(c.length>0)){t.next=15;break}return t.next=14,a.sendConversionData(r,c);case 14:localStorage.removeItem("savedCampaigns");case 15:return this.updatePurchaseUI(o),t.next=18,ft.call(this,Ft,"post-purchase",o);case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(0),k.error("Error handling purchase:",t.t0),N(O("error_processing_purchase"),!0);case 24:case"end":return t.stop()}}),t,this,[[0,20]])}))),function(t){return n.apply(this,arguments)})},{key:"updatePurchaseUI",value:function(t){k.log("Updating UI with purchase data:",t);var e=document.getElementById("purchase-confirmation");e&&(e.textContent="Thank you for your purchase! Order ID: ".concat(t.orderId))}},{key:"setLanguage",value:function(t){P().languages[t]?(L({language:t}),this.updateUI()):(k.warn("Language '".concat(t,"' is not supported. Falling back to English.")),L({language:"en"}))}},{key:"updateUI",value:function(){var t=P();t.activePopup&&t.activePopup.updateContent()}},{key:"restartCampaign",value:function(){zt.call(this)}},{key:"disconnectedCallback",value:function(){var t=this;k.log("ZiadahPlugin disconnectedCallback called"),this.cleanup(),this.orderObserver.disconnect();["product-view","add-to-cart","remove-from-cart","start-checkout","purchase","product-page-leave"].forEach((function(e){document.removeEventListener(e,t["handle".concat(e.replace(/-./g,(function(t){return t[1].toUpperCase()})))])}))}},{key:"cleanup",value:function(){k.log("Cleaning up ZiadahPlugin"),L({pluginActive:!1})}},{key:"isInitialized",value:function(){return this._initialized}}]);var n,i,d,l,p,h,g,m,y,w,x}(x(HTMLElement));customElements.define("ziadah-plugin",Ut);var Bt=!1,qt=null;function Ht(){return Vt.apply(this,arguments)}function Vt(){return(Vt=a(f().mark((function t(){var e;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!Bt){t.next=3;break}return k.log("Ziadah plugin already initialized"),t.abrupt("return");case 3:if(k.log("Attempting to initialize Ziadah plugin"),window.zid){t.next=7;break}return k.highlight("Zid store object not found. Cannot initialize Ziadah plugin."),t.abrupt("return");case 7:return qt||(qt=document.querySelector("ziadah-plugin"))||(qt=document.createElement("ziadah-plugin"),document.body.appendChild(qt)),t.next=10,qt.initialize();case 10:(e=qt.adapter)?(e.setCampaignsUpdatedCallback((function(t){k.log("Campaigns were silently updated:",t)})),e.startPeriodicUpdates()):k.error("ZiadahAdapter not found in the plugin"),window.restartZiadahCampaign=function(){return qt.restartCampaign()},window.setZiadahLanguage=function(t){return qt.setLanguage(t)},window.triggerZiadahCampaign=function(t,e,n){document.dispatchEvent(new CustomEvent(e,{detail:n}))},window.resetZiadahPlugin=function(){L({pluginActive:!1}),Bt=!1,e&&e.clearCache(),k.log("Ziadah plugin state reset and cache cleared")},window.isZiadahPluginActive=function(){return P().pluginActive},window.logZiadahCachedCampaigns=function(){qt&&"function"==typeof qt.logCachedCampaigns?qt.logCachedCampaigns():k.log("ZiadahPlugin not found or logCachedCampaigns method not available")},window.forceRefreshZiadahCampaigns=a(f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!qt||"function"!=typeof qt.refreshCampaigns){t.next=12;break}return t.prev=1,t.next=4,qt.refreshCampaigns();case 4:k.log("All campaigns refreshed: Index"),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(1),k.error("Error refreshing campaigns:",t.t0);case 10:t.next=13;break;case 12:k.error("ZiadahPlugin or refreshCampaigns method not found");case 13:case"end":return t.stop()}}),t,null,[[1,7]])}))),window.changeZiadahUpdateInterval=function(t){e&&"function"==typeof e.changeUpdateInterval?e.changeUpdateInterval(t):k.error("Ziadah adapter or changeUpdateInterval method not found")},window.logZiadahLocalStorage=function(){k.log("All localStorage items:");for(var t=0;t<localStorage.length;t++){var e=localStorage.key(t),n=localStorage.getItem(e);k.log("".concat(e,": ").concat(n))}},window.addEventListener("ziadahCampaignsUpdated",(function(t){k.log("ziadahCampaignsUpdated event received",t.detail);var e=t.detail,n=P(),a=Object.values(e).flatMap((function(t){return t.data}));L(g(g({},n),{},{campaigns:a})),k.log("State updated with new campaigns:",a)})),Bt=!0,k.log("Ziadah plugin initialized successfully"),window.campaign=ft,window.restartCampaign=zt,window.handleAddToCart=kt,window.handleRemoveFromCart=Ct,window.handleStartCheckout=_t,window.handleProductView=St,window.handlePurchase=Et;case 31:case"end":return t.stop()}}),t)})))).apply(this,arguments)}return k.setLogLevel("error",!0),k.setLogLevel("warn",!0),k.setLogLevel("info",!0),k.setLogLevel("log",!0),k.setLogLevel("highlight",!0),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",Ht,{once:!0}):Ht(),window.ZIADAH_PLUGIN_VERSION="1.0.1","undefined"!=typeof window&&(window.campaign||(window.campaign=ft)),t.initZiadahPlugin=Ht,Object.defineProperty(t,"__esModule",{value:!0}),t}({}); | |
//# sourceMappingURL=index.min.js.map |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment