@salla.sa/base 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -149,6 +149,156 @@ console.log(response, authType)
149
149
  ```
150
150
  <p align="right">(<a href="#top">back to top</a>)</p>
151
151
 
152
+ ### FormDataWrapper
153
+
154
+ The FormDataWrapper provides a unified interface for working with both regular objects and FormData, making it easier to handle file uploads and form data in a consistent way.
155
+
156
+ #### Usage Examples
157
+
158
+ ##### Example 1: Basic file handling with FormData
159
+ ```js
160
+ const formData = new FormData();
161
+ const wrapped = createWrapper(formData);
162
+
163
+ // Adding a single file
164
+ const file1 = new File(['Hello World'], 'hello.txt', { type: 'text/plain' });
165
+ wrapped.document = file1; // Works via proxy
166
+ // OR
167
+ wrapped.setFile('document', file1); // Explicit file method
168
+
169
+ // Getting the file back
170
+ const retrievedFile = wrapped.document; // Returns File object
171
+ console.log(retrievedFile.name); // 'hello.txt'
172
+ console.log(retrievedFile.size); // 11 (bytes)
173
+ ```
174
+
175
+ ##### Example 2: Multiple files with the same key
176
+ ```js
177
+ const file2 = new File(['Second file'], 'second.txt', { type: 'text/plain' });
178
+ const file3 = new File(['Third file'], 'third.txt', { type: 'text/plain' });
179
+
180
+ // Setting multiple files at once (replaces existing)
181
+ wrapped.attachments = [file2, file3];
182
+
183
+ // Or append files one by one
184
+ wrapped.append('photos', new File(['Photo 1'], 'photo1.jpg', { type: 'image/jpeg' }));
185
+ wrapped.append('photos', new File(['Photo 2'], 'photo2.jpg', { type: 'image/jpeg' }));
186
+
187
+ // Get all files for a key
188
+ const allPhotos = wrapped.getFiles('photos');
189
+ console.log(allPhotos.length); // 2
190
+ console.log(allPhotos.map(f => f.name)); // ['photo1.jpg', 'photo2.jpg']
191
+ ```
192
+
193
+ ##### Example 3: Mixed content (files and regular data)
194
+ ```js
195
+ wrapped.username = 'john_doe';
196
+ wrapped.age = 30;
197
+ wrapped.avatar = new File(['avatar data'], 'avatar.png', { type: 'image/png' });
198
+
199
+ // Check if property is a file
200
+ console.log(wrapped.isFile('avatar')); // true
201
+ console.log(wrapped.isFile('username')); // false
202
+
203
+ // Get file info without reading content
204
+ const fileInfo = wrapped.getFileInfo('avatar');
205
+ console.log(fileInfo); // [{ name: 'avatar.png', size: 11, type: 'image/png' }]
206
+ ```
207
+
208
+ ##### Example 4: Working with either object or FormData
209
+ ```js
210
+ function processUserData(data: Record<string, any> | FormData) {
211
+ const wrapped = createWrapper(data);
212
+
213
+ // These operations work for both types
214
+ wrapped.name = 'Jane Doe';
215
+ wrapped.email = 'jane@example.com';
216
+
217
+ // Handle file upload (works differently based on type)
218
+ const profilePic = new File(['pic'], 'profile.jpg', { type: 'image/jpeg' });
219
+ wrapped.profilePicture = profilePic;
220
+
221
+ // Check if we have a file
222
+ if (wrapped.isFile('profilePicture')) {
223
+ const file = wrapped.getFile('profilePicture');
224
+ console.log(`Uploaded file: ${file?.name}, Size: ${file?.size} bytes`);
225
+ }
226
+
227
+ // Convert to object for processing
228
+ const obj = wrapped.toObject();
229
+ console.log('Data keys:', Object.keys(obj));
230
+
231
+ return wrapped;
232
+ }
233
+ ```
234
+
235
+ ##### Example 5: Real-world form submission scenario
236
+ ```js
237
+ function handleFormSubmit(formElement: HTMLFormElement) {
238
+ const formData = new FormData(formElement);
239
+ const wrapped = createWrapper(formData);
240
+
241
+ // Add timestamp
242
+ wrapped.submittedAt = Date.now();
243
+
244
+ // Validate files
245
+ const uploadedFiles = wrapped.getFiles('documents');
246
+ const maxSize = 5 * 1024 * 1024; // 5MB
247
+
248
+ for (const file of uploadedFiles) {
249
+ if (file.size > maxSize) {
250
+ console.error(`File ${file.name} exceeds maximum size`);
251
+ wrapped.delete('documents');
252
+ wrapped.error = 'File too large';
253
+ }
254
+ }
255
+
256
+ // Add computed property
257
+ wrapped.fileCount = uploadedFiles.length;
258
+
259
+ // Get the modified FormData for submission
260
+ const finalFormData = wrapped.getRawData() as FormData;
261
+
262
+ // Submit with fetch
263
+ fetch('/api/submit', {
264
+ method: 'POST',
265
+ body: finalFormData
266
+ });
267
+ }
268
+ ```
269
+
270
+ ##### Example 6: Type-safe file handling
271
+ ```js
272
+ interface UserProfile {
273
+ name: string;
274
+ email: string;
275
+ avatar?: File;
276
+ documents?: File[];
277
+ }
278
+
279
+ function createUserProfile(data: UserProfile | FormData) {
280
+ const wrapped = createWrapper(data);
281
+
282
+ // Type-safe access
283
+ const name: string = wrapped.name;
284
+ const avatar: File | null = wrapped.getFile('avatar');
285
+ const docs: File[] = wrapped.getFiles('documents');
286
+
287
+ // Process files
288
+ if (avatar) {
289
+ console.log(`Avatar: ${avatar.name} (${avatar.type})`);
290
+ }
291
+
292
+ docs.forEach((doc, index) => {
293
+ console.log(`Document ${index + 1}: ${doc.name}`);
294
+ });
295
+
296
+ return wrapped.toObject();
297
+ }
298
+ ```
299
+
300
+ <p align="right">(<a href="#top">back to top</a>)</p>
301
+
152
302
  ## Support
153
303
 
154
304
  The team is always here to help you. Happen to face an issue? Want to report a bug? You can submit one here on Github using the [Issue Tracker](https://github.com/SallaApp/twilight-vscode-extension/issues/new). If you still have any questions, please contact us via the [Telegram Bot](https://t.me/SallaSupportBot) or join in the Global Developer Community on [Telegram](https://t.me/salladev).
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("cookie")):"function"==typeof define&&define.amd?define(["cookie"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).Salla=t(e.cookie)}(this,(function(e){"use strict";function t(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}function n(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(n){if("default"!==n&&!(n in e)){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}}))})),Object.freeze(e)}var r=t(e);function i(e,t,n){if(!e)return;let r=e,i=t.split("."),s=i.length;for(let e=0;e<s-1;e++){let t=i[e];r[t]||(r[t]={}),r=r[t]}return r[i[s-1]]=n,e}function s(e,t,n){if(!e)return n;let r=function(e,t,n){if(!e||"object"!=typeof e)return n;const r=Array.isArray(t)?t:t.split(".");let i=e;for(const e of r)if(i=i[e],void 0===i)return n;return i}(e,t);return void 0!==r?r:n}function o(){return"object"==typeof document}class a{default_properties;properties_;static instance;constructor(e={},t={}){this.default_properties=t,this.properties_={...this.default_properties,...e}}static getInstance(e={},t={}){return a.instance||(a.instance=new a(e,t)),a.instance}merge(e){return this.properties_={...this.properties_,...e},this.properties_.store={...this.default_properties?.store||{},...this.properties_.store},this}set(e,t){return e.includes(".")?(i(this.properties_,e,t),this):(this.properties_[e]=t,this)}currency(e){return e=e||this.get("user.currency_code"),this.get("currencies."+e)||Object.values(this.get("currencies"))[0]}get(e,t=null){return e.includes(".")?s(this.properties_,e,t):this.properties_.hasOwnProperty(e)?this.properties_[e]||t:t||void 0}all(){return this.properties_}isDebug(){return this.get("debug")}isGuest(){return"user"!==this.get("user.type")}isUser(){return"user"===this.get("user.type")}}var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},c=Object.assign?Object.assign:function(e,t,n,r){for(var i=1;i<arguments.length;i++)d(Object(arguments[i]),(function(t,n){e[n]=t}));return e},u=function(){if(Object.create)return function(e,t,n,r){var i=g(arguments,1);return c.apply(this,[Object.create(e)].concat(i))};var e=function(){};return function(t,n,r,i){var s=g(arguments,1);return e.prototype=t,c.apply(this,[new e].concat(s))}}(),f=String.prototype.trim?function(e){return String.prototype.trim.call(e)}:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},h="undefined"!=typeof window?window:l,p={assign:c,create:u,trim:f,bind:function(e,t){return function(){return t.apply(e,Array.prototype.slice.call(arguments,0))}},slice:g,each:d,map:function(e,t){var n=v(e)?[]:{};return m(e,(function(e,r){return n[r]=t(e,r),!1})),n},pluck:m,isList:v,isFunction:function(e){return e&&"[object Function]"==={}.toString.call(e)},isObject:function(e){return e&&"[object Object]"==={}.toString.call(e)},Global:h};function g(e,t){return Array.prototype.slice.call(e,t||0)}function d(e,t){m(e,(function(e,n){return t(e,n),!1}))}function m(e,t){if(v(e)){for(var n=0;n<e.length;n++)if(t(e[n],n))return e[n]}else for(var r in e)if(e.hasOwnProperty(r)&&t(e[r],r))return e[r]}function v(e){return null!=e&&"function"!=typeof e&&"number"==typeof e.length}var y=p.slice,_=p.pluck,b=p.each,w=p.bind,L=p.create,k=p.isList,E=p.isFunction,O=p.isObject,j={createStore:T},x={version:"2.0.12",enabled:!1,get:function(e,t){var n=this.storage.read(this._namespacePrefix+e);return this._deserialize(n,t)},set:function(e,t){return void 0===t?this.remove(e):(this.storage.write(this._namespacePrefix+e,this._serialize(t)),t)},remove:function(e){this.storage.remove(this._namespacePrefix+e)},each:function(e){var t=this;this.storage.each((function(n,r){e.call(t,t._deserialize(n),(r||"").replace(t._namespaceRegexp,""))}))},clearAll:function(){this.storage.clearAll()},hasNamespace:function(e){return this._namespacePrefix=="__storejs_"+e+"_"},createStore:function(){return T.apply(this,arguments)},addPlugin:function(e){this._addPlugin(e)},namespace:function(e){return T(this.storage,this.plugins,e)}};function T(e,t,n){n||(n=""),e&&!k(e)&&(e=[e]),t&&!k(t)&&(t=[t]);var r=n?"__storejs_"+n+"_":"",i=n?new RegExp("^"+r):null;if(!/^[a-zA-Z0-9_\-]*$/.test(n))throw new Error("store.js namespaces can only have alphanumerics + underscores and dashes");var s={_namespacePrefix:r,_namespaceRegexp:i,_testStorage:function(e){try{var t="__storejs__test__";e.write(t,t);var n=e.read(t)===t;return e.remove(t),n}catch(e){return!1}},_assignPluginFnProp:function(e,t){var n=this[t];this[t]=function(){var t=y(arguments,0),r=this;var i=[function(){if(n)return b(arguments,(function(e,n){t[n]=e})),n.apply(r,t)}].concat(t);return e.apply(r,i)}},_serialize:function(e){return JSON.stringify(e)},_deserialize:function(e,t){if(!e)return t;var n="";try{n=JSON.parse(e)}catch(t){n=e}return void 0!==n?n:t},_addStorage:function(e){this.enabled||this._testStorage(e)&&(this.storage=e,this.enabled=!0)},_addPlugin:function(e){var t=this;if(k(e))b(e,(function(e){t._addPlugin(e)}));else if(!_(this.plugins,(function(t){return e===t}))){if(this.plugins.push(e),!E(e))throw new Error("Plugins must be function values that return objects");var n=e.call(this);if(!O(n))throw new Error("Plugins must return an object of function properties");b(n,(function(n,r){if(!E(n))throw new Error("Bad plugin property: "+r+" from plugin "+e.name+". Plugins should only return functions.");t._assignPluginFnProp(n,r)}))}},addStorage:function(e){!function(){var e="undefined"==typeof console?null:console;e&&(e.warn?e.warn:e.log).apply(e,arguments)}("store.addStorage(storage) is deprecated. Use createStore([storages])"),this._addStorage(e)}},o=L(s,x,{plugins:[]});return o.raw={},b(o,(function(e,t){E(e)&&(o.raw[t]=w(o,e))})),b(e,(function(e){o._addStorage(e)})),b(t,(function(e){o._addPlugin(e)})),o}var A=p.Global,S={name:"localStorage",read:I,write:function(e,t){return P().setItem(e,t)},each:function(e){for(var t=P().length-1;t>=0;t--){var n=P().key(t);e(I(n),n)}},remove:function(e){return P().removeItem(e)},clearAll:function(){return P().clear()}};function P(){return A.localStorage}function I(e){return P().getItem(e)}var N=n({__proto__:null,default:S},[S]),C=p.Global,D={name:"sessionStorage",read:U,write:function(e,t){return $().setItem(e,t)},each:function(e){for(var t=$().length-1;t>=0;t--){var n=$().key(t);e(U(n),n)}},remove:function(e){return $().removeItem(e)},clearAll:function(){return $().clear()}};function $(){return C.sessionStorage}function U(e){return $().getItem(e)}var F=n({__proto__:null,default:D},[D]),M=p.trim,R={name:"cookieStorage",read:function(e){if(!e||!G(e))return null;var t="(?:^|.*;\\s*)"+escape(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(z.cookie.replace(new RegExp(t),"$1"))},write:function(e,t){if(!e)return;z.cookie=escape(e)+"="+escape(t)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/"},each:W,remove:J,clearAll:function(){W((function(e,t){J(t)}))}},z=p.Global.document;function W(e){for(var t=z.cookie.split(/; ?/g),n=t.length-1;n>=0;n--)if(M(t[n])){var r=t[n].split("="),i=unescape(r[0]);e(unescape(r[1]),i)}}function J(e){e&&G(e)&&(z.cookie=escape(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function G(e){return new RegExp("(?:^|;\\s*)"+escape(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(z.cookie)}var H=n({__proto__:null,default:R},[R]),K={name:"memoryStorage",read:function(e){return q[e]},write:function(e,t){q[e]=t},each:function(e){for(var t in q)q.hasOwnProperty(t)&&e(q[t],t)},remove:function(e){delete q[e]},clearAll:function(e){q={}}},q={};var Z=n({__proto__:null,default:K},[K]);function B(e){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B(e)}function V(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Q(r.key),r)}}function Q(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function X(){throw new Error("setTimeout has not been defined")}function Y(){throw new Error("clearTimeout has not been defined")}var ee=X,te=Y;function ne(e){if(ee===setTimeout)return setTimeout(e,0);if((ee===X||!ee)&&setTimeout)return ee=setTimeout,setTimeout(e,0);try{return ee(e,0)}catch(t){try{return ee.call(null,e,0)}catch(t){return ee.call(this,e,0)}}}"function"==typeof global.setTimeout&&(ee=setTimeout),"function"==typeof global.clearTimeout&&(te=clearTimeout);var re,ie=[],se=!1,oe=-1;function ae(){se&&re&&(se=!1,re.length?ie=re.concat(ie):oe=-1,ie.length&&le())}function le(){if(!se){var e=ne(ae);se=!0;for(var t=ie.length;t;){for(re=ie,ie=[];++oe<t;)re&&re[oe].run();oe=-1,t=ie.length}re=null,se=!1,function(e){if(te===clearTimeout)return clearTimeout(e);if((te===Y||!te)&&clearTimeout)return te=clearTimeout,clearTimeout(e);try{return te(e)}catch(t){try{return te.call(null,e)}catch(t){return te.call(this,e)}}}(e)}}function ce(e,t){this.fun=e,this.array=t}ce.prototype.run=function(){this.fun.apply(null,this.array)};function ue(){}var fe=ue,he=ue,pe=ue,ge=ue,de=ue,me=ue,ve=ue;var ye=global.performance||{},_e=ye.now||ye.mozNow||ye.msNow||ye.oNow||ye.webkitNow||function(){return(new Date).getTime()};var be=new Date;var we={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];ie.push(new ce(e,t)),1!==ie.length||se||ne(le)},title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:fe,addListener:he,once:pe,off:ge,removeListener:de,removeAllListeners:me,emit:ve,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*_e.call(ye),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-be)/1e3}},Le=we,ke={exports:{}};!function(e,t){!function(t){var n=Object.hasOwnProperty,r=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},i="object"==B(Le)&&"function"==typeof Le.nextTick,s="function"==typeof Symbol,o="object"===("undefined"==typeof Reflect?"undefined":B(Reflect)),a="function"==typeof setImmediate?setImmediate:setTimeout,l=s?o&&"function"==typeof Reflect.ownKeys?Reflect.ownKeys:function(e){var t=Object.getOwnPropertyNames(e);return t.push.apply(t,Object.getOwnPropertySymbols(e)),t}:Object.keys;function c(){this._events={},this._conf&&u.call(this,this._conf)}function u(e){e&&(this._conf=e,e.delimiter&&(this.delimiter=e.delimiter),e.maxListeners!==t&&(this._maxListeners=e.maxListeners),e.wildcard&&(this.wildcard=e.wildcard),e.newListener&&(this._newListener=e.newListener),e.removeListener&&(this._removeListener=e.removeListener),e.verboseMemoryLeak&&(this.verboseMemoryLeak=e.verboseMemoryLeak),e.ignoreErrors&&(this.ignoreErrors=e.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function f(e,t){var n="(node) warning: possible EventEmitter memory leak detected. "+e+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(n+=" Event name: "+t+"."),void 0!==Le&&Le.emitWarning){var r=new Error(n);r.name="MaxListenersExceededWarning",r.emitter=this,r.count=e,Le.emitWarning(r)}else console.error(n),console.trace&&console.trace()}var h=function(e,t,n){var r=arguments.length;switch(r){case 0:return[];case 1:return[e];case 2:return[e,t];case 3:return[e,t,n];default:for(var i=new Array(r);r--;)i[r]=arguments[r];return i}};function p(e,n){for(var r={},i=e.length,s=n?n.length:0,o=0;o<i;o++)r[e[o]]=o<s?n[o]:t;return r}function g(e,t,n){var r,i;if(this._emitter=e,this._target=t,this._listeners={},this._listenersCount=0,(n.on||n.off)&&(r=n.on,i=n.off),t.addEventListener?(r=t.addEventListener,i=t.removeEventListener):t.addListener?(r=t.addListener,i=t.removeListener):t.on&&(r=t.on,i=t.off),!r&&!i)throw Error("target does not implement any known event API");if("function"!=typeof r)throw TypeError("on method must be a function");if("function"!=typeof i)throw TypeError("off method must be a function");this._on=r,this._off=i;var s=e._observers;s?s.push(this):e._observers=[this]}function d(e,r,i,s){var o=Object.assign({},r);if(!e)return o;if("object"!==B(e))throw TypeError("options must be an object");var a,l,c,u=Object.keys(e),f=u.length;function h(e){throw Error('Invalid "'+a+'" option value'+(e?". Reason: "+e:""))}for(var p=0;p<f;p++){if(a=u[p],!s&&!n.call(r,a))throw Error('Unknown "'+a+'" option');(l=e[a])!==t&&(c=i[a],o[a]=c?c(l,h):l)}return o}function m(e,t){return"function"==typeof e&&e.hasOwnProperty("prototype")||t("value must be a constructor"),e}function v(e){var t="value must be type of "+e.join("|"),n=e.length,r=e[0],i=e[1];return 1===n?function(e,n){if(B(e)===r)return e;n(t)}:2===n?function(e,n){var s=B(e);if(s===r||s===i)return e;n(t)}:function(r,i){for(var s=B(r),o=n;o-- >0;)if(s===e[o])return r;i(t)}}Object.assign(g.prototype,{subscribe:function(e,t,n){var r=this,i=this._target,s=this._emitter,o=this._listeners,a=function(){var r=h.apply(null,arguments),o={data:r,name:t,original:e};n?!1!==n.call(i,o)&&s.emit.apply(s,[o.name].concat(r)):s.emit.apply(s,[t].concat(r))};if(o[e])throw Error("Event '"+e+"' is already listening");this._listenersCount++,s._newListener&&s._removeListener&&!r._onNewListener?(this._onNewListener=function(n){n===t&&null===o[e]&&(o[e]=a,r._on.call(i,e,a))},s.on("newListener",this._onNewListener),this._onRemoveListener=function(n){n===t&&!s.hasListeners(n)&&o[e]&&(o[e]=null,r._off.call(i,e,a))},o[e]=null,s.on("removeListener",this._onRemoveListener)):(o[e]=a,r._on.call(i,e,a))},unsubscribe:function(e){var t,n,r,i=this,s=this._listeners,o=this._emitter,a=this._off,c=this._target;if(e&&"string"!=typeof e)throw TypeError("event must be a string");function u(){i._onNewListener&&(o.off("newListener",i._onNewListener),o.off("removeListener",i._onRemoveListener),i._onNewListener=null,i._onRemoveListener=null);var e=w.call(o,i);o._observers.splice(e,1)}if(e){if(!(t=s[e]))return;a.call(c,e,t),delete s[e],--this._listenersCount||u()}else{for(r=(n=l(s)).length;r-- >0;)e=n[r],a.call(c,e,s[e]);this._listeners={},this._listenersCount=0,u()}}});var y=v(["function"]),_=v(["object","function"]);function b(e,t,n){var r,i,s,o=0,a=new e((function(l,c,u){function f(){i&&(i=null),o&&(clearTimeout(o),o=0)}n=d(n,{timeout:0,overload:!1},{timeout:function(e,t){return("number"!=typeof(e*=1)||e<0||!Number.isFinite(e))&&t("timeout must be a positive number"),e}}),r=!n.overload&&"function"==typeof e.prototype.cancel&&"function"==typeof u;var h=function(e){f(),l(e)},p=function(e){f(),c(e)};r?t(h,p,u):(i=[function(e){p(e||Error("canceled"))}],t(h,p,(function(e){if(s)throw Error("Unable to subscribe on cancel event asynchronously");if("function"!=typeof e)throw TypeError("onCancel callback must be a function");i.push(e)})),s=!0),n.timeout>0&&(o=setTimeout((function(){var e=Error("timeout");e.code="ETIMEDOUT",o=0,a.cancel(e),c(e)}),n.timeout))}));return r||(a.cancel=function(e){if(i){for(var t=i.length,n=1;n<t;n++)i[n](e);i[0](e),i=null}}),a}function w(e){var t=this._observers;if(!t)return-1;for(var n=t.length,r=0;r<n;r++)if(t[r]._target===e)return r;return-1}function L(e,t,n,r,i){if(!n)return null;if(0===r){var s=B(t);if("string"===s){var o,a,c=0,u=0,f=this.delimiter,h=f.length;if(-1!==(a=t.indexOf(f))){o=new Array(5);do{o[c++]=t.slice(u,a),u=a+h}while(-1!==(a=t.indexOf(f,u)));o[c++]=t.slice(u),t=o,i=c}else t=[t],i=1}else"object"===s?i=t.length:(t=[t],i=1)}var p,g,d,m,v,y,_,b=null,w=t[r],k=t[r+1];if(r===i)n._listeners&&("function"==typeof n._listeners?(e&&e.push(n._listeners),b=[n]):(e&&e.push.apply(e,n._listeners),b=[n]));else{if("*"===w){for(a=(y=l(n)).length;a-- >0;)"_listeners"!==(p=y[a])&&(_=L(e,t,n[p],r+1,i))&&(b?b.push.apply(b,_):b=_);return b}if("**"===w){for((v=r+1===i||r+2===i&&"*"===k)&&n._listeners&&(b=L(e,t,n,i,i)),a=(y=l(n)).length;a-- >0;)"_listeners"!==(p=y[a])&&("*"===p||"**"===p?(n[p]._listeners&&!v&&(_=L(e,t,n[p],i,i))&&(b?b.push.apply(b,_):b=_),_=L(e,t,n[p],r,i)):_=L(e,t,n[p],p===k?r+2:r,i),_&&(b?b.push.apply(b,_):b=_));return b}n[w]&&(b=L(e,t,n[w],r+1,i))}if((g=n["*"])&&L(e,t,g,r+1,i),d=n["**"])if(r<i)for(d._listeners&&L(e,t,d,i,i),a=(y=l(d)).length;a-- >0;)"_listeners"!==(p=y[a])&&(p===k?L(e,t,d[p],r+2,i):p===w?L(e,t,d[p],r+1,i):((m={})[p]=d[p],L(e,t,{"**":m},r+1,i)));else d._listeners?L(e,t,d,i,i):d["*"]&&d["*"]._listeners&&L(e,t,d["*"],i,i);return b}function k(e,t,n){var r,i,s=0,o=0,a=this.delimiter,l=a.length;if("string"==typeof e)if(-1!==(r=e.indexOf(a))){i=new Array(5);do{i[s++]=e.slice(o,r),o=r+l}while(-1!==(r=e.indexOf(a,o)));i[s++]=e.slice(o)}else i=[e],s=1;else i=e,s=e.length;if(s>1)for(r=0;r+1<s;r++)if("**"===i[r]&&"**"===i[r+1])return;var c,u=this.listenerTree;for(r=0;r<s;r++)if(u=u[c=i[r]]||(u[c]={}),r===s-1)return u._listeners?("function"==typeof u._listeners&&(u._listeners=[u._listeners]),n?u._listeners.unshift(t):u._listeners.push(t),!u._listeners.warned&&this._maxListeners>0&&u._listeners.length>this._maxListeners&&(u._listeners.warned=!0,f.call(this,u._listeners.length,c))):u._listeners=t,!0;return!0}function E(e,t,n,r){for(var i,s,o,a,c=l(e),u=c.length,f=e._listeners;u-- >0;)i=e[s=c[u]],o="_listeners"===s?n:n?n.concat(s):[s],a=r||"symbol"===B(s),f&&t.push(a?o:o.join(this.delimiter)),"object"===B(i)&&E.call(this,i,t,o,a);return t}function O(e){for(var t,n,r,i=l(e),s=i.length;s-- >0;)(t=e[n=i[s]])&&(r=!0,"_listeners"===n||O(t)||delete e[n]);return r}function j(e,t,n){this.emitter=e,this.event=t,this.listener=n}function x(e,n,r){if(!0===r)o=!0;else if(!1===r)s=!0;else{if(!r||"object"!==B(r))throw TypeError("options should be an object or true");var s=r.async,o=r.promisify,l=r.nextTick,c=r.objectify}if(s||l||o){var u=n,f=n._origin||n;if(l&&!i)throw Error("process.nextTick is not supported");o===t&&(o="AsyncFunction"===n.constructor.name),n=function(){var e=arguments,t=this,n=this.event;return o?l?Promise.resolve():new Promise((function(e){a(e)})).then((function(){return t.event=n,u.apply(t,e)})):(l?Le.nextTick:a)((function(){t.event=n,u.apply(t,e)}))},n._async=!0,n._origin=f}return[n,c?new j(this,e,n):this]}function T(e){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,u.call(this,e)}j.prototype.off=function(){return this.emitter.off(this.event,this.listener),this},T.EventEmitter2=T,T.prototype.listenTo=function(e,n,i){if("object"!==B(e))throw TypeError("target musts be an object");var s=this;function o(t){if("object"!==B(t))throw TypeError("events must be an object");var n,r=i.reducers,o=w.call(s,e);n=-1===o?new g(s,e,i):s._observers[o];for(var a,c=l(t),u=c.length,f="function"==typeof r,h=0;h<u;h++)a=c[h],n.subscribe(a,t[a]||a,f?r:r&&r[a])}return i=d(i,{on:t,off:t,reducers:t},{on:y,off:y,reducers:_}),r(n)?o(p(n)):o("string"==typeof n?p(n.split(/\s+/)):n),this},T.prototype.stopListeningTo=function(e,t){var n=this._observers;if(!n)return!1;var r,i=n.length,s=!1;if(e&&"object"!==B(e))throw TypeError("target should be an object");for(;i-- >0;)r=n[i],e&&r._target!==e||(r.unsubscribe(t),s=!0);return s},T.prototype.delimiter=".",T.prototype.setMaxListeners=function(e){e!==t&&(this._maxListeners=e,this._conf||(this._conf={}),this._conf.maxListeners=e)},T.prototype.getMaxListeners=function(){return this._maxListeners},T.prototype.event="",T.prototype.once=function(e,t,n){return this._once(e,t,!1,n)},T.prototype.prependOnceListener=function(e,t,n){return this._once(e,t,!0,n)},T.prototype._once=function(e,t,n,r){return this._many(e,1,t,n,r)},T.prototype.many=function(e,t,n,r){return this._many(e,t,n,!1,r)},T.prototype.prependMany=function(e,t,n,r){return this._many(e,t,n,!0,r)},T.prototype._many=function(e,t,n,r,i){var s=this;if("function"!=typeof n)throw new Error("many only accepts instances of Function");function o(){return 0==--t&&s.off(e,o),n.apply(this,arguments)}return o._origin=n,this._on(e,o,r,i)},T.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var e,t,n,r,i,o,a=arguments[0],l=this.wildcard;if("newListener"===a&&!this._newListener&&!this._events.newListener)return!1;if(l&&(e=a,"newListener"!==a&&"removeListener"!==a&&"object"===B(a))){if(n=a.length,s)for(r=0;r<n;r++)if("symbol"===B(a[r])){o=!0;break}o||(a=a.join(this.delimiter))}var u,f=arguments.length;if(this._all&&this._all.length)for(r=0,n=(u=this._all.slice()).length;r<n;r++)switch(this.event=a,f){case 1:u[r].call(this,a);break;case 2:u[r].call(this,a,arguments[1]);break;case 3:u[r].call(this,a,arguments[1],arguments[2]);break;default:u[r].apply(this,arguments)}if(l)u=[],L.call(this,u,e,this.listenerTree,0,n);else{if("function"==typeof(u=this._events[a])){switch(this.event=a,f){case 1:u.call(this);break;case 2:u.call(this,arguments[1]);break;case 3:u.call(this,arguments[1],arguments[2]);break;default:for(t=new Array(f-1),i=1;i<f;i++)t[i-1]=arguments[i];u.apply(this,t)}return!0}u&&(u=u.slice())}if(u&&u.length){if(f>3)for(t=new Array(f-1),i=1;i<f;i++)t[i-1]=arguments[i];for(r=0,n=u.length;r<n;r++)switch(this.event=a,f){case 1:u[r].call(this);break;case 2:u[r].call(this,arguments[1]);break;case 3:u[r].call(this,arguments[1],arguments[2]);break;default:u[r].apply(this,t)}return!0}if(!this.ignoreErrors&&!this._all&&"error"===a)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},T.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var e,t,n,r,i,o,a=arguments[0],l=this.wildcard;if("newListener"===a&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(l&&(e=a,"newListener"!==a&&"removeListener"!==a&&"object"===B(a))){if(r=a.length,s)for(i=0;i<r;i++)if("symbol"===B(a[i])){t=!0;break}t||(a=a.join(this.delimiter))}var u,f=[],h=arguments.length;if(this._all)for(i=0,r=this._all.length;i<r;i++)switch(this.event=a,h){case 1:f.push(this._all[i].call(this,a));break;case 2:f.push(this._all[i].call(this,a,arguments[1]));break;case 3:f.push(this._all[i].call(this,a,arguments[1],arguments[2]));break;default:f.push(this._all[i].apply(this,arguments))}if(l?(u=[],L.call(this,u,e,this.listenerTree,0)):u=this._events[a],"function"==typeof u)switch(this.event=a,h){case 1:f.push(u.call(this));break;case 2:f.push(u.call(this,arguments[1]));break;case 3:f.push(u.call(this,arguments[1],arguments[2]));break;default:for(n=new Array(h-1),o=1;o<h;o++)n[o-1]=arguments[o];f.push(u.apply(this,n))}else if(u&&u.length){if(u=u.slice(),h>3)for(n=new Array(h-1),o=1;o<h;o++)n[o-1]=arguments[o];for(i=0,r=u.length;i<r;i++)switch(this.event=a,h){case 1:f.push(u[i].call(this));break;case 2:f.push(u[i].call(this,arguments[1]));break;case 3:f.push(u[i].call(this,arguments[1],arguments[2]));break;default:f.push(u[i].apply(this,n))}}else if(!this.ignoreErrors&&!this._all&&"error"===a)return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(f)},T.prototype.on=function(e,t,n){return this._on(e,t,!1,n)},T.prototype.prependListener=function(e,t,n){return this._on(e,t,!0,n)},T.prototype.onAny=function(e){return this._onAny(e,!1)},T.prototype.prependAny=function(e){return this._onAny(e,!0)},T.prototype.addListener=T.prototype.on,T.prototype._onAny=function(e,t){if("function"!=typeof e)throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),t?this._all.unshift(e):this._all.push(e),this},T.prototype._on=function(e,n,r,i){if("function"==typeof e)return this._onAny(e,n),this;if("function"!=typeof n)throw new Error("on only accepts instances of Function");this._events||c.call(this);var s,o=this;return i!==t&&(n=(s=x.call(this,e,n,i))[0],o=s[1]),this._newListener&&this.emit("newListener",e,n),this.wildcard?(k.call(this,e,n,r),o):(this._events[e]?("function"==typeof this._events[e]&&(this._events[e]=[this._events[e]]),r?this._events[e].unshift(n):this._events[e].push(n),!this._events[e].warned&&this._maxListeners>0&&this._events[e].length>this._maxListeners&&(this._events[e].warned=!0,f.call(this,this._events[e].length,e))):this._events[e]=n,o)},T.prototype.off=function(e,t){if("function"!=typeof t)throw new Error("removeListener only takes instances of Function");var n,i=[];if(this.wildcard){var s="string"==typeof e?e.split(this.delimiter):e.slice();if(!(i=L.call(this,null,s,this.listenerTree,0)))return this}else{if(!this._events[e])return this;n=this._events[e],i.push({_listeners:n})}for(var o=0;o<i.length;o++){var a=i[o];if(n=a._listeners,r(n)){for(var l=-1,c=0,u=n.length;c<u;c++)if(n[c]===t||n[c].listener&&n[c].listener===t||n[c]._origin&&n[c]._origin===t){l=c;break}if(l<0)continue;return this.wildcard?a._listeners.splice(l,1):this._events[e].splice(l,1),0===n.length&&(this.wildcard?delete a._listeners:delete this._events[e]),this._removeListener&&this.emit("removeListener",e,t),this}(n===t||n.listener&&n.listener===t||n._origin&&n._origin===t)&&(this.wildcard?delete a._listeners:delete this._events[e],this._removeListener&&this.emit("removeListener",e,t))}return this.listenerTree&&O(this.listenerTree),this},T.prototype.offAny=function(e){var t,n=0,r=0;if(e&&this._all&&this._all.length>0){for(n=0,r=(t=this._all).length;n<r;n++)if(e===t[n])return t.splice(n,1),this._removeListener&&this.emit("removeListenerAny",e),this}else{if(t=this._all,this._removeListener)for(n=0,r=t.length;n<r;n++)this.emit("removeListenerAny",t[n]);this._all=[]}return this},T.prototype.removeListener=T.prototype.off,T.prototype.removeAllListeners=function(e){if(e===t)return!this._events||c.call(this),this;if(this.wildcard){var n,r=L.call(this,null,e,this.listenerTree,0);if(!r)return this;for(n=0;n<r.length;n++)r[n]._listeners=null;this.listenerTree&&O(this.listenerTree)}else this._events&&(this._events[e]=null);return this},T.prototype.listeners=function(e){var n,r,i,s,o,a=this._events;if(e===t){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!a)return[];for(s=(n=l(a)).length,i=[];s-- >0;)"function"==typeof(r=a[n[s]])?i.push(r):i.push.apply(i,r);return i}if(this.wildcard){if(!(o=this.listenerTree))return[];var c=[],u="string"==typeof e?e.split(this.delimiter):e.slice();return L.call(this,c,u,o,0),c}return a&&(r=a[e])?"function"==typeof r?[r]:r:[]},T.prototype.eventNames=function(e){var t=this._events;return this.wildcard?E.call(this,this.listenerTree,[],null,e):t?l(t):[]},T.prototype.listenerCount=function(e){return this.listeners(e).length},T.prototype.hasListeners=function(e){if(this.wildcard){var n=[],r="string"==typeof e?e.split(this.delimiter):e.slice();return L.call(this,n,r,this.listenerTree,0),n.length>0}var i=this._events,s=this._all;return!!(s&&s.length||i&&(e===t?l(i).length:i[e]))},T.prototype.listenersAny=function(){return this._all?this._all:[]},T.prototype.waitFor=function(e,n){var r=this,i=B(n);return"number"===i?n={timeout:n}:"function"===i&&(n={filter:n}),b((n=d(n,{timeout:0,filter:t,handleError:!1,Promise:Promise,overload:!1},{filter:y,Promise:m})).Promise,(function(t,i,s){function o(){var s=n.filter;if(!s||s.apply(r,arguments))if(r.off(e,o),n.handleError){var a=arguments[0];a?i(a):t(h.apply(null,arguments).slice(1))}else t(h.apply(null,arguments))}s((function(){r.off(e,o)})),r._on(e,o,!1)}),{timeout:n.timeout,overload:n.overload})};var A=T.prototype;Object.defineProperties(T,{defaultMaxListeners:{get:function(){return A._maxListeners},set:function(e){if("number"!=typeof e||e<0||Number.isNaN(e))throw TypeError("n must be a non-negative number");A._maxListeners=e},enumerable:!0},once:{value:function(e,t,n){return b((n=d(n,{Promise:Promise,timeout:0,overload:!1},{Promise:m})).Promise,(function(n,r,i){var s;if("function"==typeof e.addEventListener)return s=function(){n(h.apply(null,arguments))},i((function(){e.removeEventListener(t,s)})),void e.addEventListener(t,s,{once:!0});var o,a=function(){o&&e.removeListener("error",o),n(h.apply(null,arguments))};"error"!==t&&(o=function(n){e.removeListener(t,a),r(n)},e.once("error",o)),i((function(){o&&e.removeListener("error",o),e.removeListener(t,a)})),e.once(t,a)}),{timeout:n.timeout,overload:n.overload})},writable:!0,configurable:!0}}),Object.defineProperties(A,{_maxListeners:{value:10,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),"function"==typeof t&&t.amd?t((function(){return T})):e.exports=T}()}(ke);class Ee{c=console;config;_proxy;historyData=[];get proxy(){return this._proxy}constructor(e=console){this.c=e,this.config=a.getInstance(),this._proxy={log:(e,t)=>{if(!this.config.isDebug())return;this.historyData.push([t,e]),"trace"===this.config.get("debug")&&(t="trace");let n=this.c.log,r=t?n:this.proxy.__dict__[t]||n,i=["%cTwilight","color: #5cd5c4;font-weight:bold; border:1px solid #5cd5c4; padding: 2px 6px; border-radius: 5px;"],s={event:"#CFF680",backend:"#7b68ee",trace:"#f9f9f9",debug:"#f9f9f9",info:"#f9f9f9",warn:"#f9f9f9",error:"#f9f9f9",history:"#f9f9f9"}[t];s&&(i[0]+="%c"+t.substring(0,1).toUpperCase()+t.substring(1),i.push(`margin-left: 5px;color: ${s};font-weight:bold; border:1px solid ${s}; padding: 2px 6px; border-radius: 5px;`)),r.call(this.c,...i.concat(...e))},__dict__:{trace:this.c.trace,debug:this.c.debug,info:this.c.info,warn:this.c.warn,error:this.c.error}}}event(...e){this.proxy.log(e,"event")}trace(...e){this.proxy.log(e,"trace")}debug(...e){this.proxy.log(e,"debug")}info(...e){this.proxy.log(e,"info")}warn(...e){this.proxy.log(e,"warn")}error(...e){this.proxy.log(e,"error")}log(...e){this.proxy.log(e,"")}backend(...e){this.proxy.log(e,"backend")}logs(e){[e].flat().forEach((e=>e&&this.proxy.log([e].flat(),"backend")))}history(){return this.historyData}}class Oe extends ke.exports.EventEmitter2{delimiter;loggableEvents;ignoreLogEvents;nonFireableActions;static instance;logger=new Ee;constructor(){super({wildcard:!0,delimiter:"::",newListener:!1,removeListener:!1,maxListeners:10,verboseMemoryLeak:!1,ignoreErrors:!1}),this.delimiter="::",this.loggableEvents=["cart::item.added.failed","cart::item.deleted.failed"],this.ignoreLogEvents=["document::click","document::keyup","document::change"],this.nonFireableActions=["document.request"]}static getInstance(){return Oe.instance||(Oe.instance=new Oe),Oe.instance}createAndDispatch(e,...t){this.dispatch(e,...t)}emit(e,...t){return super.emit(e,...t),this.trackEvents(e,...t),!0}emitAsync(e,...t){const n=super.emitAsync(e,...t);try{this.trackEvents(e,...t)}catch(n){this.logger.warn(`error on tracking event (${String(e)})`,t,n)}return n}trackEvents(e,...t){if("undefined"!=typeof window)try{window.dataLayer=window.dataLayer||[];let n={event:e};t.map((e=>"object"==typeof e&&(n={...n,...e}))),window.dataLayer.push(n)}catch(e){this.logger.error(e.message)}(Array.isArray(e)?e.filter((e=>this.ignoreLogEvents.includes(e))):this.ignoreLogEvents.includes(e))||this.logger.event(e,...t),this.dispatchMobileEvent(e,t)}dispatch(e,...t){return this.emit(e,...t)}dispatchEvents(e){if(e)if("object"!=typeof e||Array.isArray(e))this.logger.log("Events object is wrong, it should be object of {event:payload}",e);else for(const[t,n]of Object.entries(e))this.dispatch(t,n);else this.logger.log("No Events To Dispatch!",e)}listen(e,t){return this.on(e,t)}dispatchMobileEvent(e,t={}){if("undefined"!=typeof window&&window.dataLayer&&window.dataLayer[0]&&window.dataLayer[0].page&&window.dataLayer[0].page.mobileApp)if(window.webkit)try{window.webkit.messageHandlers.callbackHandler.postMessage(JSON.stringify({event:e,details:t}))}catch(e){this.logger.log(e,"The native context does not exist yet")}else if(window.Android)try{window.Android.customEventWithData(e,JSON.stringify({details:t}))}catch(e){this.logger.log(e,"The native context does not exist yet")}}}const je=[N,F,H,Z],xe=j.createStore(je,[],"salla");class Te{static instance;store;constructor(){this.store=xe;let e=Oe.getInstance();e.on("storage::item.remove",(e=>this.remove(e))),e.on("storage::item.set",((e,t)=>this.set(e,t)))}static getInstance(){return Te.instance||(Te.instance=new Te),Te.instance}set(e,t){if(e.includes(".")){const n=e.split(".")[0],r=i({[n]:this.store.get(n)},e,t);this.store.set(n,r[n])}else this.store.set(e,t)}remove(e){this.store.remove(e)}clearAll(){this.store.clearAll()}get(e,t){if(e.includes(".")){const t=e.split(".")[0];return s({[t]:this.store.get(t)},e,void 0)}return this.store.get(e,t)}}function Ae(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(e){if(e&&"j"===e[0]&&":"===e[1])return e.substr(2);return e}(e);if(!t.doNotParse)try{return JSON.parse(n)}catch(e){}return e}var Se=function(){function e(t){var n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.changeListeners=[],this.HAS_DOCUMENT_COOKIE=!1,this.update=function(){if(n.HAS_DOCUMENT_COOKIE){var e=n.cookies;n.cookies=r.parse(document.cookie),n._checkChanges(e)}};var s="undefined"==typeof document?"":document.cookie;this.cookies=function(e){return"string"==typeof e?r.parse(e):"object"===B(e)&&null!==e?e:{}}(t||s),this.defaultSetOptions=i,this.HAS_DOCUMENT_COOKIE="object"===("undefined"==typeof document?"undefined":B(document))&&"string"==typeof document.cookie}var t,n,i;return t=e,n=[{key:"_emitChange",value:function(e){for(var t=0;t<this.changeListeners.length;++t)this.changeListeners[t](e)}},{key:"_checkChanges",value:function(e){var t=this;new Set(Object.keys(e).concat(Object.keys(this.cookies))).forEach((function(n){e[n]!==t.cookies[n]&&t._emitChange({name:n,value:Ae(e[n])})}))}},{key:"_startPolling",value:function(){this.pollingInterval=setInterval(this.update,300)}},{key:"_stopPolling",value:function(){this.pollingInterval&&clearInterval(this.pollingInterval)}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.doNotUpdate||this.update(),Ae(this.cookies[e],t)}},{key:"getAll",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.doNotUpdate||this.update();var t={};for(var n in this.cookies)t[n]=Ae(this.cookies[n],e);return t}},{key:"set",value:function(e,t,n){n=n?Object.assign(Object.assign({},this.defaultSetOptions),n):this.defaultSetOptions;var i="string"==typeof t?t:JSON.stringify(t);this.cookies=Object.assign(Object.assign({},this.cookies),function(e,t,n){return(t=Q(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},e,i)),this.HAS_DOCUMENT_COOKIE&&(document.cookie=r.serialize(e,i,n)),this._emitChange({name:e,value:t,options:n})}},{key:"remove",value:function(e,t){var n=t=Object.assign(Object.assign({},t),{expires:new Date(1970,1,1,0,0,1),maxAge:0});this.cookies=Object.assign({},this.cookies),delete this.cookies[e],this.HAS_DOCUMENT_COOKIE&&(document.cookie=r.serialize(e,"",n)),this._emitChange({name:e,value:void 0,options:t})}},{key:"addChangeListener",value:function(e){this.changeListeners.push(e),1===this.changeListeners.length&&("object"===("undefined"==typeof window?"undefined":B(window))&&"cookieStore"in window?window.cookieStore.addEventListener("change",this.update):this._startPolling())}},{key:"removeChangeListener",value:function(e){var t=this.changeListeners.indexOf(e);t>=0&&this.changeListeners.splice(t,1),0===this.changeListeners.length&&("object"===("undefined"==typeof window?"undefined":B(window))&&"cookieStore"in window?window.cookieStore.removeEventListener("change",this.update):this._stopPolling())}}],n&&V(t.prototype,n),i&&V(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Pe=Se;const Ie=new Ee,Ne=a.getInstance();function Ce(e,t=!1){e=String(e);const n=["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"],r=["0","1","2","3","4","5","6","7","8","9"],i=(t=t||!Ne.get("store.settings.arabic_numbers_enabled"))?n:r,s=t?r:n;let o;for(let t=0;t<i.length;t++)o=new RegExp(i[t],"g"),e=e.replace(o,s[t]);return e.replace(t?"٫":".",t?".":"٫")}function De(e){return Ce(e,!0).replace(/[^0-9.]/g,"").replace("..",".").replace(/\.$/,"")}function $e(e){const t=(`${e}`.match(/\./g)||[]).length;return t&&1!==t?$e(e.replace(/\.(.+)\./g,".$1")):e}var Ue={number:Ce,digitsOnly:De,inputDigitsOnly:function e(t,n=!1){if(!o())return;if("string"==typeof t)return void document.querySelectorAll(t).forEach((t=>e(t,n)));if(!t)return void Ie.warn("Can't find Object With Id: "+t);let r=De(t.value);t.min&&parseInt(r)<parseInt(t.min)?t.value=t.min:t.max&&parseInt(r)>parseInt(t.max)?t.value=t.max:t.maxLength>=1&&r.length>t.maxLength?t.value=r.toString().substring(0,t.maxLength):t.value=n||t.dataset.hasOwnProperty("digitsWithDecimal")?$e(r):r.replace(/\D/g,"")},getOnlyDecimal:$e,money:function(e){const t=Ne.currency(e.currency).symbol;return Ce(e="object"==typeof e?e.amount:e)+" "+t}};class Fe{config;constructor(){this.config=a.getInstance()}isFullUrl(e){return e.startsWith("https://")||e.startsWith("http://")}getBase(e){if(this.isFullUrl(e))return e;const{hostname:t}=new URL(this.get("/"));return`https://${t}/${e?.ltrim("/")}`}get(e){if(this.isFullUrl(e))return e;let t=this.config.get("store.url");return!t&&o()&&(t=window.location.href.split("/").slice(0,-1).join("/"),this.config.set("store.url",t)),`${t.rtrim("/")}/${e?.ltrim("/")}`}getDomain(e){return this.isFullUrl(e)?e:`${this.config.get("store.url",(o()?window.location.href:"").split("/").slice(0,-1).join("/")).rtrim("/")}/${e?.ltrim("/")}`}static addParamToUrl(e,t,n){if(!n)return"";if(!t||!e)return n;const r=new RegExp(`([?&])${e}=[^&]+[&]?`,"g");return(n=n.replace(r,"$1").split("#")[0].replace(/&$|\?$/,"")).includes("?")?n+="&":n+=(n.endsWith("/")?"":"/")+"?",`${n}${e}=${encodeURIComponent(t)}`.replace(/&$|\?$/,"")}baseUrl(e){return`${o()?window.location.origin:"http://localhost"}/${e?.ltrim("/")}`}asset(e){return this.isFullUrl(e)?e:this.config.get("theme.assets")?this.config.get("theme.assets").replace(":path",e?.ltrim("/")):this.baseUrl(`themes/${this.config.get("theme.name")}/${e?.ltrim("/")}`)}cdn(e){return`https://cdn.salla.network/${e?.ltrim("/")}`}api(e){return`${this.config.get("store.api",this.get(""))?.rtrim("/")}/${e?.ltrim("/")}`}isPage(e){return!!e&&this.config.get("page.slug")===e}isPlaceholder(e){return this.asset(this.config.get("theme.settings.placeholder"))===this.asset(e)}isAValidUrl(e){try{return new URL(e),!0}catch(e){return!1}}}function Me(e,t,n){let r=e[0];return n&&0===e.length?Array.isArray(n)?(n.push(t),n):[n,t]:Array.isArray(n)?(n.push(t),n):"string"==typeof n?[n,t]:n?(n[r]=Me(e.slice(1),t,n[r]),n):r?{[r]:Me(e.slice(1),t)}:""===r?[t]:t}var Re={digitsOnly:Ue.digitsOnly,inputDigitsOnly:Ue.inputDigitsOnly,number:Ue.number,money:Ue.money,getOnlyDecimal:Ue.getOnlyDecimal,setNested:i,getNested:s,getInputDataWithName:function(e,t,n={}){if(e.includes("[")){let r=e.split("]").join("").split("[");return{name:r[0],value:Me(r.slice(1),t,n[r[0]])}}return{name:e,value:t}},hasDocument:o,url:new Fe,addParamToUrl:Fe.addParamToUrl,debounce:function(e,t){t=t||100;let n,r=[];return function(...i){return clearTimeout(n),n=setTimeout((()=>{let t=e(...i);r.forEach((e=>e(t))),r=[]}),t),new Promise((e=>r.push(e)))}}};String.prototype.toStudlyCase=function(){return this.trim().replace(/([^a-zA-Z\d].)/g,(e=>e.toUpperCase().replace(/[^a-zA-Z\d]/g,"")))},String.prototype.toDatasetName=function(){return this.startsWith("data-")?this.substr(5).toStudlyCase():this.toStudlyCase()},String.prototype.toSelector=function(){return this.trim().startsWith(".")||this.trim().startsWith("#")?this.toString():"#"+this.toString()},String.prototype.replaceArray=function(e,t){let n,r=this;for(let i=0;i<e.length;i++)n=new RegExp(e[i],"g"),r=r.replace(n,t[i]);return r},String.prototype.rtrim=function(e="\\s"){return this.replace(new RegExp("["+e+"]*$"),"")},String.prototype.ltrim=function(e="\\s"){return this.replace(new RegExp("^["+e+"]*"),"")},String.prototype.digitsOnly=function(){return Ue.digitsOnly(this)};return{Config:a,Logger:Ee,helpers:Re,Emitter:Oe,Storage:Te,SallaCookies:class extends Pe{constructor(){super();let e=Oe.getInstance();e.on("cookies::remove",(e=>this.remove(e))),e.on("cookies::add",((e,t)=>this.set(e,t)))}clearAll(){o()&&"string"==typeof document.cookie&&document.cookie.split(";").forEach((function(e){document.cookie=e.replace(/^ +/,"").replace(/=.*/,"=;expires="+(new Date).toUTCString()+";path=/")}));const e=this.getAll();for(let t in e)this.remove(t)}},url:new Fe,log:(new Ee).log,money:Re.money,error:(new Ee).error,isDebug:()=>a.getInstance().get("debug")||Te.getInstance().get("debug"),status:"base",versions:{base:"2.12.47"}}}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Salla=e()}(this,function(){"use strict";function t(t,e){return e.forEach(function(e){e&&"string"!=typeof e&&!Array.isArray(e)&&Object.keys(e).forEach(function(r){if("default"!==r&&!(r in t)){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})}),Object.freeze(t)}function e(t,e){void 0===e&&(e=!1),t+="";for(var r,n=["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"],i=["0","1","2","3","4","5","6","7","8","9"],o=(e=e||!Salla.config.get("store.settings.arabic_numbers_enabled"))?n:i,s=e?i:n,a=0;a<o.length;a++)r=new RegExp(o[a],"g"),t=t.replace(r,s[a]);return t.replace(e?"٫":".",e?".":"٫")}function r(t){var e=("".concat(t).match(/\./g)||[]).length;return e&&1!==e?r(t.replace(/\.(.+)\./g,".$1")):t}String.prototype.toStudlyCase=function(){return this.trim().replace(/([^a-zA-Z\d].)/g,function(t){return t.toUpperCase().replace(/[^a-zA-Z\d]/g,"")})},String.prototype.toDatasetName=function(){return this.startsWith("data-")?this.substr(5).toStudlyCase():this.toStudlyCase()},String.prototype.toSelector=function(){return this.trim().startsWith(".")||this.trim().startsWith("#")?this.toString():"#"+this.toString()},String.prototype.replaceArray=function(t,e){for(var r,n=this,i=0;i<t.length;i++)r=new RegExp(t[i],"g"),n=n.replace(r,e[i]);return n},String.prototype.rtrim=function(t){return void 0===t&&(t="\\s"),this.replace(new RegExp("["+t+"]*$"),"")},String.prototype.ltrim=function(t){return void 0===t&&(t="\\s"),this.replace(new RegExp("^["+t+"]*"),"")},String.prototype.digitsOnly=function(){return Salla.helpers.digitsOnly(this)};var n,i,o,s,a,u,l,c,f,p,h,d,v,y,g,_,m,w,b,S,L,j,E,x,A,k,O,P,T,F,R,N,z,C,I,W,M,D,$,U,K,G,q,J,B,H,Z,V,Q,X,Y,tt,et,rt,nt,it,ot,st,at,ut,lt,ct,ft,pt,ht,dt,vt,yt,gt,_t,mt,wt,bt,St,Lt,jt,Et,xt,At,kt,Ot,Pt,Tt,Ft,Rt,Nt,zt,Ct,It,Wt,Mt,Dt,$t,Ut,Kt,Gt,qt,Jt,Bt,Ht,Zt,Vt,Qt,Xt,Yt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function te(){if(i)return n;i=1;var t=Array.isArray;return n=t}function ee(){if(u)return a;u=1;var t=function(){if(s)return o;s=1;var t="object"==typeof Yt&&Yt&&Yt.Object===Object&&Yt;return o=t}(),e="object"==typeof self&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return a=r}function re(){if(c)return l;c=1;var t=ee().Symbol;return l=t}function ne(){if(y)return v;y=1;var t=re(),e=function(){if(p)return f;p=1;var t=re(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,i=t?t.toStringTag:void 0;return f=function(t){var e=r.call(t,i),o=t[i];try{t[i]=void 0;var s=!0}catch(t){}var a=n.call(t);return s&&(e?t[i]=o:delete t[i]),a}}(),r=function(){if(d)return h;d=1;var t=Object.prototype.toString;return h=function(e){return t.call(e)}}(),n=t?t.toStringTag:void 0;return v=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":n&&n in Object(t)?e(t):r(t)}}function ie(){if(w)return m;w=1;var t=ne(),e=_?g:(_=1,g=function(t){return null!=t&&"object"==typeof t});return m=function(r){return"symbol"==typeof r||e(r)&&"[object Symbol]"==t(r)}}function oe(){return j?L:(j=1,L=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)})}function se(){if(N)return R;N=1;var t=function(){if(x)return E;x=1;var t=ne(),e=oe();return E=function(r){if(!e(r))return!1;var n=t(r);return"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n}}(),e=function(){if(P)return O;P=1;var t,e=function(){if(k)return A;k=1;var t=ee()["__core-js_shared__"];return A=t}(),r=(t=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"";return O=function(t){return!!r&&r in t}}(),r=oe(),n=function(){if(F)return T;F=1;var t=Function.prototype.toString;return T=function(e){if(null!=e){try{return t.call(e)}catch(t){}try{return e+""}catch(t){}}return""}}(),i=/^\[object .+?Constructor\]$/,o=Function.prototype,s=Object.prototype,a=o.toString,u=s.hasOwnProperty,l=RegExp("^"+a.call(u).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return R=function(o){return!(!r(o)||e(o))&&(t(o)?l:i).test(n(o))}}function ae(){if(W)return I;W=1;var t=se(),e=C?z:(C=1,z=function(t,e){return null==t?void 0:t[e]});return I=function(r,n){var i=e(r,n);return t(i)?i:void 0}}function ue(){if(D)return M;D=1;var t=ae()(Object,"create");return M=t}function le(){if(it)return nt;it=1;var t=rt?et:(rt=1,et=function(t,e){return t===e||t!=t&&e!=e});return nt=function(e,r){for(var n=e.length;n--;)if(t(e[n][0],r))return n;return-1}}function ce(){if(_t)return gt;_t=1;var t=function(){if(X)return Q;X=1;var t=function(){if(U)return $;U=1;var t=ue();return $=function(){this.__data__=t?t(null):{},this.size=0}}(),e=G?K:(G=1,K=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}),r=function(){if(J)return q;J=1;var t=ue(),e=Object.prototype.hasOwnProperty;return q=function(r){var n=this.__data__;if(t){var i=n[r];return"__lodash_hash_undefined__"===i?void 0:i}return e.call(n,r)?n[r]:void 0}}(),n=function(){if(H)return B;H=1;var t=ue(),e=Object.prototype.hasOwnProperty;return B=function(r){var n=this.__data__;return t?void 0!==n[r]:e.call(n,r)}}(),i=function(){if(V)return Z;V=1;var t=ue();return Z=function(e,r){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=t&&void 0===r?"__lodash_hash_undefined__":r,this}}();function o(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}return o.prototype.clear=t,o.prototype.delete=e,o.prototype.get=r,o.prototype.has=n,o.prototype.set=i,Q=o}(),e=function(){if(dt)return ht;dt=1;var t=tt?Y:(tt=1,Y=function(){this.__data__=[],this.size=0}),e=function(){if(st)return ot;st=1;var t=le(),e=Array.prototype.splice;return ot=function(r){var n=this.__data__,i=t(n,r);return!(i<0||(i==n.length-1?n.pop():e.call(n,i,1),--this.size,0))}}(),r=function(){if(ut)return at;ut=1;var t=le();return at=function(e){var r=this.__data__,n=t(r,e);return n<0?void 0:r[n][1]}}(),n=function(){if(ct)return lt;ct=1;var t=le();return lt=function(e){return t(this.__data__,e)>-1}}(),i=function(){if(pt)return ft;pt=1;var t=le();return ft=function(e,r){var n=this.__data__,i=t(n,e);return i<0?(++this.size,n.push([e,r])):n[i][1]=r,this}}();function o(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}return o.prototype.clear=t,o.prototype.delete=e,o.prototype.get=r,o.prototype.has=n,o.prototype.set=i,ht=o}(),r=function(){if(yt)return vt;yt=1;var t=ae()(ee(),"Map");return vt=t}();return gt=function(){this.size=0,this.__data__={hash:new t,map:new(r||e),string:new t}}}function fe(){if(St)return bt;St=1;var t=wt?mt:(wt=1,mt=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t});return bt=function(e,r){var n=e.__data__;return t(r)?n["string"==typeof r?"string":"hash"]:n.map}}function pe(){if(Ct)return zt;Ct=1;var t=function(){if(Nt)return Rt;Nt=1;var t=function(){if(Ft)return Tt;Ft=1;var t=ce(),e=function(){if(jt)return Lt;jt=1;var t=fe();return Lt=function(e){var r=t(this,e).delete(e);return this.size-=r?1:0,r}}(),r=function(){if(xt)return Et;xt=1;var t=fe();return Et=function(e){return t(this,e).get(e)}}(),n=function(){if(kt)return At;kt=1;var t=fe();return At=function(e){return t(this,e).has(e)}}(),i=function(){if(Pt)return Ot;Pt=1;var t=fe();return Ot=function(e,r){var n=t(this,e),i=n.size;return n.set(e,r),this.size+=n.size==i?0:1,this}}();function o(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}return o.prototype.clear=t,o.prototype.delete=e,o.prototype.get=r,o.prototype.has=n,o.prototype.set=i,Tt=o}();function e(r,n){if("function"!=typeof r||null!=n&&"function"!=typeof n)throw new TypeError("Expected a function");var i=function t(){var e=arguments,i=n?n.apply(this,e):e[0],o=t.cache;if(o.has(i))return o.get(i);var s=r.apply(this,e);return t.cache=o.set(i,s)||o,s};return i.cache=new(e.Cache||t),i}return e.Cache=t,Rt=e}();return zt=function(e){var r=t(e,function(t){return 500===n.size&&n.clear(),t}),n=r.cache;return r}}function he(){if(Jt)return qt;Jt=1;var t=te(),e=function(){if(S)return b;S=1;var t=te(),e=ie(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;return b=function(i,o){if(t(i))return!1;var s=typeof i;return!("number"!=s&&"symbol"!=s&&"boolean"!=s&&null!=i&&!e(i))||n.test(i)||!r.test(i)||null!=o&&i in Object(o)}}(),r=function(){if(Wt)return It;Wt=1;var t=pe(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,n=t(function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(e,function(t,e,i,o){n.push(i?o.replace(r,"$1"):e||t)}),n});return It=n}(),n=function(){if(Gt)return Kt;Gt=1;var t=function(){if(Ut)return $t;Ut=1;var t=re(),e=Dt?Mt:(Dt=1,Mt=function(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}),r=te(),n=ie(),i=t?t.prototype:void 0,o=i?i.toString:void 0;return $t=function t(i){if("string"==typeof i)return i;if(r(i))return e(i,t)+"";if(n(i))return o?o.call(i):"";var s=i+"";return"0"==s&&1/i==-1/0?"-0":s}}();return Kt=function(e){return null==e?"":t(e)}}();return qt=function(i,o){return t(i)?i:e(i,o)?[i]:r(n(i))}}var de=function(){if(Xt)return Qt;Xt=1;var t=function(){if(Vt)return Zt;Vt=1;var t=he(),e=function(){if(Ht)return Bt;Ht=1;var t=ie();return Bt=function(e){if("string"==typeof e||t(e))return e;var r=e+"";return"0"==r&&1/e==-1/0?"-0":r}}();return Zt=function(r,n){for(var i=0,o=(n=t(n,r)).length;null!=r&&i<o;)r=r[e(n[i++])];return i&&i==o?r:void 0}}();return Qt=function(e,r,n){var i=null==e?void 0:t(e,r);return void 0===i?n:i}}(),ve=Object.freeze({__proto__:null,default:de});function ye(t){return"".concat(t).startsWith("https://")||"".concat(t).startsWith("http://")}function ge(t){if(ye(t))return t;var e=Salla.config.get("store.url");return e||(e=window.location.href.split("/").slice(0,-1).join("/"),Salla.config.set("store.url",e)),e.rtrim("/")+"/"+(null==t?void 0:t.ltrim("/"))}function _e(t,e,r){if(r=r||window.location.href,!e||!t)return r;var n=new RegExp("([?&])"+t+"=[^&]+[&]?","g");return(r=r.replace(n,"$1").split("#")[0].replace(/&$|\?$/,"")).includes("?")?r+="&":r+=(r.endsWith("/")?"":"/")+"?",(r+t+"="+encodeURIComponent(e)).replace(/&$|\?$/,"")}function me(t){return window.location.origin+"/"+(null==t?void 0:t.ltrim("/"))}function we(t){return ye(t)?t:Salla.config.get("theme.assets")?Salla.config.get("theme.assets").replace(":path",null==t?void 0:t.ltrim("/")):me("themes/"+Salla.config.get("theme.name")+"/"+(null==t?void 0:t.ltrim("/")))}function be(t,e){return t||e?(t=t?",width=".concat(t):"",e=e?",height=".concat(e):"","cdn-cgi/image/fit=scale-down".concat(t).concat(e,",onerror=redirect,format=auto/")):""}var Se=Object.freeze({__proto__:null,addParamToUrl:_e,api:function(t){var e;return(null===(e=Salla.config.get("store.api",ge("")))||void 0===e?void 0:e.rtrim("/"))+"/"+(null==t?void 0:t.ltrim("/"))},asset:we,assetsCdn:function(t,e,r){return"https://cdn.assets.salla.network/"+be(e,r)+"static/"+(null==t?void 0:t.ltrim("/"))},base:function(t){return ye(t)?t:"https://"+new URL(ge("/")).hostname+"/"+(null==t?void 0:t.ltrim("/"))},baseUrl:me,cdn:function(t,e,r){return"https://cdn.salla.network/"+be(e,r)+(null==t?void 0:t.ltrim("/"))},create:function(t,e){return"custom"===t?e:ge("offers"===t?t:"redirect/".concat(t,"/").concat(e))},domain:function(t){return ye(t)?t:"".concat(Salla.config.get("store.url",window.location.href.split("/").slice(0,-1).join("/")).rtrim("/"),"/").concat(null==t?void 0:t.ltrim("/"))},get:ge,is_full_url:ye,is_page:function(t){return t&&Salla.config.get("page.slug")===t},is_placeholder:function(t){return we(salla.config.get("theme.settings.placeholder"))===we(t)}}),Le=function(t,e){return Le=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},Le(t,e)},je=function(){return je=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var i in e=arguments[r])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},je.apply(this,arguments)};function Ee(t,e,r){if(r||2===arguments.length)for(var n,i=0,o=e.length;i<o;i++)!n&&i in e||(n||(n=Array.prototype.slice.call(e,0,i)),n[i]=e[i]);return t.concat(n||Array.prototype.slice.call(e))}function xe(t){return t instanceof FormData}function Ae(t){return t instanceof File}function ke(t){return t instanceof Blob}"function"==typeof SuppressedError&&SuppressedError;var Oe=function(){function t(t){this.data=t,this.proxy=this.createProxy()}return t.prototype.createProxy=function(){var t=this;return new Proxy(this,{get:function(e,r){return r in e?e[r]:"string"==typeof r?t.get(r):void 0},set:function(e,r,n){return"string"==typeof r&&(t.set(r,n),!0)},has:function(e,r){return"string"==typeof r?t.has(r):r in e},deleteProperty:function(e,r){return"string"==typeof r&&t.delete(r)}})},t.prototype.get=function(t){return xe(this.data)?this.data.get(t):this.data[t]},t.prototype.getAll=function(t){if(xe(this.data))return this.data.getAll(t);var e=this.data[t];return void 0===e?[]:[e]},t.prototype.set=function(t,e){var r=this;xe(this.data)?(this.data.delete(t),null!=e&&(Array.isArray(e)?e.forEach(function(e){Ae(e)||ke(e)?r.data.append(t,e):r.data.append(t,String(e))}):Ae(e)||ke(e)?this.data.append(t,e):this.data.append(t,String(e)))):this.data[t]=e},t.prototype.append=function(t,e){if(xe(this.data))Ae(e)||ke(e)?this.data.append(t,e):null!=e&&this.data.append(t,String(e));else{var r=this.data[t];void 0===r?this.data[t]=e:Array.isArray(r)?r.push(e):this.data[t]=[r,e]}},t.prototype.setFile=function(t,e){this.set(t,e)},t.prototype.getFile=function(t){var e=this.get(t);return Ae(e)?e:null},t.prototype.getFiles=function(t){return this.getAll(t).filter(Ae)},t.prototype.has=function(t){return xe(this.data)?this.data.has(t):t in this.data},t.prototype.delete=function(t){return xe(this.data)?(this.data.delete(t),!0):delete this.data[t]},t.prototype.keys=function(){if(!xe(this.data))return Object.keys(this.data);for(var t=new Set,e=0,r=this.data.entries();e<r.length;e++){var n=r[e][0];t.add(n)}return Array.from(t)},t.prototype.values=function(){if(!xe(this.data))return Object.values(this.data);for(var t=[],e=0,r=this.data.entries();e<r.length;e++){var n=r[e][1];t.push(n)}return t},t.prototype.entries=function(){return xe(this.data)?Array.from(this.data.entries()):Object.entries(this.data)},t.prototype.toObject=function(){if(!xe(this.data))return je({},this.data);for(var t={},e=0,r=this.data.entries();e<r.length;e++){var n=r[e],i=n[0],o=n[1];void 0!==t[i]?(Array.isArray(t[i])||(t[i]=[t[i]]),t[i].push(o)):t[i]=o}return t},t.prototype.getFileInfo=function(t){var e=this.getFiles(t);return 0===e.length?null:e.map(function(t){return{name:t.name,size:t.size,type:t.type}})},t.prototype.isFile=function(t){var e=this.get(t);return Ae(e)||ke(e)},t.prototype.getRawData=function(){return this.data},t.prototype.getProxy=function(){return this.proxy},t}();function Pe(t,e,r){var n,i=t[0];return r&&0==t.length?Array.isArray(r)?(r.push(e),r):[r,e]:Array.isArray(r)?(r.push(e),r):"string"==typeof r?[r,e]:r?(r[i]=Pe(t.slice(1),e,r[i]),r):i?((n={})[i]=Pe(t.slice(1),e),n):""===i?[e]:e}function Te(){return"undefined"!=typeof window&&!!window.PaymentRequest}function Fe(){return window.self!==window.top}var Re,Ne,ze,Ce,Ie,We,Me,De,$e,Ue={digitsOnly:function(t){return e(t,!0).replace(/[^0-9.]/g,"").replace("..",".").rtrim(".")},inputDigitsOnly:function t(e,n){if(void 0===n&&(n=!1),"string"==typeof e)return document.querySelectorAll(e).forEach(function(e){return t(e,n)});if(e){var i=Salla.helpers.digitsOnly(e.value);return e.min&&i<parseInt(e.min)?e.value=e.min:e.max&&i>parseInt(e.max)?e.value=e.max:e.maxLength>=1&&i.toString().length>e.maxLength?e.value=i.toString().substring(0,e.maxLength):e.value=n||e.dataset.hasOwnProperty("digitsWithDecimal")?r(i):i.replace(/\D/g,"")}Salla.logger.warn("Can't find Object With Id: "+e)},number:e,money:function(t,r){void 0===r&&(r=!0);var n=Salla.config.currency(null==t?void 0:t.currency).symbol;return t=e(t="object"==typeof t?t.amount:t)+" "+n,r&&["SAR","ر.س"].includes(n)&&Salla.config.get("store.settings.use_sar_symbol")&&(t=t.replace(n,"<i class=sicon-sar></i>")),t},isIframe:Fe,isPreview:function(){return Fe()},setNested:function(t,e,r){for(var n=t,i=e.split("."),o=i.length,s=0;s<o-1;s++){var a=i[s];n[a]||(n[a]={}),n=n[a]}return n[i[o-1]]=r,t},getNested:function(t,e,r){var n=(de||ve)(t,e);return void 0!==n?n:r},inputData:function(t,e,r){if(void 0===r&&(r={}),t.includes("[")){var n=t.split("]").join("").split("["),i=n[0],o=r&&"object"==typeof r?r[i]:void 0;return{name:i,value:Pe(n.slice(1),e,o)}}return{name:t,value:e}},url:Se,addParamToUrl:_e,debounce:function(t,e){e=e||100;var r,n=[];return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];return clearTimeout(r),r=setTimeout(function(){var e=t.apply(void 0,i);n.forEach(function(t){return t(e)}),n=[]},e),new Promise(function(t){return n.push(t)})}},hasApplePay:function(){var t;try{if(null===(t=window.ApplePaySession)||void 0===t?void 0:t.canMakePayments())return!0}catch(t){console.error(t)}return Te()},hasApplePayViaPaymentRequest:Te,createFormDataWrapper:function(t){return new Oe(t).getProxy()},isAppleDevice:function(){try{var t=navigator.userAgent||"",e=navigator.platform||"",r=/iPhone|iPad|iPod/i.test(t),n=/Mac/i.test(e);return r||n}catch(t){return console.error(t),!1}},isIOSDevice:function(){try{var t=navigator.userAgent||"";return/iPhone|iPad|iPod/i.test(t)}catch(t){return console.error(t),!1}},isWebView:function(){try{if(void 0===window.navigator)return!1;var t=window.navigator.userAgent,e=/iP(hone|od|ad)/.test(t)&&/AppleWebKit/.test(t)&&!/Safari/.test(t),r=/\bwv\b/.test(t)||/Android/.test(t)&&/AppleWebKit/.test(t)&&!/Chrome/.test(t);return e||r}catch(t){return console.error(t),!1}}},Ke=(Re=console,Ne=[],ze=[],Ce={log:function(t,e){if(Re&&salla.config.isDebug()){Ne.push([e,t]),"trace"===salla.config.get("debug")&&(e="trace");var r=Re.log,n=void 0===e?r:this.__dict__[e]||r,i=["%cTwilight","color: #5cd5c4;font-weight:bold; border:1px solid #5cd5c4; padding: 2px 6px; border-radius: 5px;"];ze.forEach(function(t){i[0]+=t[0],i.push(t[1])});var o={event:"#CFF680",backend:"#7b68ee"}[e];o&&(i[0]+="%c"+e[0].toUpperCase()+e.substring(1),i.push("margin-left: 5px;color: ".concat(o,";font-weight:bold; border:1px solid ").concat(o,"; padding: 2px 6px; border-radius: 5px;"))),n.call.apply(n,Ee([Re],i.concat.apply(i,t),!1))}},__dict__:{trace:Re.trace,debug:Re.debug,info:Re.info,warn:Re.warn,error:Re.error}},{event:function(){Ce.log(arguments,"event")},trace:function(){Ce.log(arguments,"trace")},debug:function(){Ce.log(arguments,"debug")},info:function(){Ce.log(arguments,"info")},warn:function(){Ce.log(arguments,"warn")},error:function(){Ce.log(arguments,"error")},log:function(){Ce.log(arguments,void 0)},backend:function(){Ce.log(arguments,"backend")},logs:function(t){[t].flat().forEach(function(t){return t&&Ce.log([t].flat(),"backend")})},history:function(){return Ne.map(function(t){return Re.log.apply(Re,Ee([t[0]],t[1],!1))}),Ne},addPrefix:function(t){return Array.isArray(t)?ze.unshift(t):this.warn("addPrefix receives array only!"),this}}),Ge=function(){function t(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this.default_properties=e,this.properties_=je(je({},this.default_properties),t)}return t.prototype.merge=function(t){var e;return this.properties_=je(je({},this.properties_),t),this.properties_.store=je(je({},(null===(e=this.default_properties)||void 0===e?void 0:e.store)||{}),this.properties_.store),this},t.prototype.set=function(t,e){return t.includes(".")?(Salla.helpers.setNested(this.properties_,t,e),this):(this.properties_[t]=e,this)},t.prototype.currency=function(t){return void 0===t&&(t=void 0),t=t||this.get("user.currency_code"),this.get("currencies."+t)||Object.values(this.get("currencies"))[0]},t.prototype.get=function(t,e){return void 0===e&&(e=null),t.includes(".")?Salla.helpers.getNested(this.properties_,t,e):this.properties_.hasOwnProperty(t)?this.properties_[t]||e:e||void 0},t.prototype.all=function(){return this.properties_},t.prototype.isDebug=function(){return this.get("debug")||Salla.storage.get("debug")},t}(),qe={exports:{}},Je=(Ie||(Ie=1,function(t){!function(e){var r=Object.hasOwnProperty,n=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},i="object"==typeof process&&"function"==typeof process.nextTick,o="function"==typeof Symbol,s="object"==typeof Reflect,a="function"==typeof setImmediate?setImmediate:setTimeout,u=o?s&&"function"==typeof Reflect.ownKeys?Reflect.ownKeys:function(t){var e=Object.getOwnPropertyNames(t);return e.push.apply(e,Object.getOwnPropertySymbols(t)),e}:Object.keys;function l(){this._events={},this._conf&&c.call(this,this._conf)}function c(t){t&&(this._conf=t,t.delimiter&&(this.delimiter=t.delimiter),t.maxListeners!==e&&(this._maxListeners=t.maxListeners),t.wildcard&&(this.wildcard=t.wildcard),t.newListener&&(this._newListener=t.newListener),t.removeListener&&(this._removeListener=t.removeListener),t.verboseMemoryLeak&&(this.verboseMemoryLeak=t.verboseMemoryLeak),t.ignoreErrors&&(this.ignoreErrors=t.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function f(t,e){var r="(node) warning: possible EventEmitter memory leak detected. "+t+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(r+=" Event name: "+e+"."),"undefined"!=typeof process&&process.emitWarning){var n=new Error(r);n.name="MaxListenersExceededWarning",n.emitter=this,n.count=t,process.emitWarning(n)}else console.error(r),console.trace&&console.trace()}var p=function(t,e,r){var n=arguments.length;switch(n){case 0:return[];case 1:return[t];case 2:return[t,e];case 3:return[t,e,r];default:for(var i=new Array(n);n--;)i[n]=arguments[n];return i}};function h(t,r){for(var n={},i=t.length,o=0;o<i;o++)n[t[o]]=o<0?r[o]:e;return n}function d(t,e,r){var n,i;if(this._emitter=t,this._target=e,this._listeners={},this._listenersCount=0,(r.on||r.off)&&(n=r.on,i=r.off),e.addEventListener?(n=e.addEventListener,i=e.removeEventListener):e.addListener?(n=e.addListener,i=e.removeListener):e.on&&(n=e.on,i=e.off),!n&&!i)throw Error("target does not implement any known event API");if("function"!=typeof n)throw TypeError("on method must be a function");if("function"!=typeof i)throw TypeError("off method must be a function");this._on=n,this._off=i;var o=t._observers;o?o.push(this):t._observers=[this]}function v(t,n,i,o){var s=Object.assign({},n);if(!t)return s;if("object"!=typeof t)throw TypeError("options must be an object");var a,u,l,c=Object.keys(t),f=c.length;function p(t){throw Error('Invalid "'+a+'" option value'+(t?". Reason: "+t:""))}for(var h=0;h<f;h++){if(a=c[h],!r.call(n,a))throw Error('Unknown "'+a+'" option');(u=t[a])!==e&&(l=i[a],s[a]=l?l(u,p):u)}return s}function y(t,e){return"function"==typeof t&&t.hasOwnProperty("prototype")||e("value must be a constructor"),t}function g(t){var e="value must be type of "+t.join("|"),r=t.length,n=t[0],i=t[1];return 1===r?function(t,r){if(typeof t===n)return t;r(e)}:2===r?function(t,r){var o=typeof t;if(o===n||o===i)return t;r(e)}:function(n,i){for(var o=typeof n,s=r;s-- >0;)if(o===t[s])return n;i(e)}}Object.assign(d.prototype,{subscribe:function(t,e,r){var n=this,i=this._target,o=this._emitter,s=this._listeners,a=function(){var n=p.apply(null,arguments),s={data:n,name:e,original:t};r?!1!==r.call(i,s)&&o.emit.apply(o,[s.name].concat(n)):o.emit.apply(o,[e].concat(n))};if(s[t])throw Error("Event '"+t+"' is already listening");this._listenersCount++,o._newListener&&o._removeListener&&!n._onNewListener?(this._onNewListener=function(r){r===e&&null===s[t]&&(s[t]=a,n._on.call(i,t,a))},o.on("newListener",this._onNewListener),this._onRemoveListener=function(r){r===e&&!o.hasListeners(r)&&s[t]&&(s[t]=null,n._off.call(i,t,a))},s[t]=null,o.on("removeListener",this._onRemoveListener)):(s[t]=a,n._on.call(i,t,a))},unsubscribe:function(t){var e,r,n,i=this,o=this._listeners,s=this._emitter,a=this._off,l=this._target;if(t&&"string"!=typeof t)throw TypeError("event must be a string");function c(){i._onNewListener&&(s.off("newListener",i._onNewListener),s.off("removeListener",i._onRemoveListener),i._onNewListener=null,i._onRemoveListener=null);var t=b.call(s,i);s._observers.splice(t,1)}if(t){if(!(e=o[t]))return;a.call(l,t,e),delete o[t],--this._listenersCount||c()}else{for(n=(r=u(o)).length;n-- >0;)t=r[n],a.call(l,t,o[t]);this._listeners={},this._listenersCount=0,c()}}});var _=g(["function"]),m=g(["object","function"]);function w(t,e,r){var n,i,o,s=0,a=new t(function(u,l,c){function f(){i&&(i=null),s&&(clearTimeout(s),s=0)}r=v(r,{timeout:0,overload:!1},{timeout:function(t,e){return("number"!=typeof(t*=1)||t<0||!Number.isFinite(t))&&e("timeout must be a positive number"),t}}),n=!r.overload&&"function"==typeof t.prototype.cancel&&"function"==typeof c;var p=function(t){f(),u(t)},h=function(t){f(),l(t)};n?e(p,h,c):(i=[function(t){h(t||Error("canceled"))}],e(p,h,function(t){if(o)throw Error("Unable to subscribe on cancel event asynchronously");if("function"!=typeof t)throw TypeError("onCancel callback must be a function");i.push(t)}),o=!0),r.timeout>0&&(s=setTimeout(function(){var t=Error("timeout");t.code="ETIMEDOUT",s=0,a.cancel(t),l(t)},r.timeout))});return n||(a.cancel=function(t){if(i){for(var e=i.length,r=1;r<e;r++)i[r](t);i[0](t),i=null}}),a}function b(t){var e=this._observers;if(!e)return-1;for(var r=e.length,n=0;n<r;n++)if(e[n]._target===t)return n;return-1}function S(t,e,r,n,i){if(!r)return null;if(0===n){var o=typeof e;if("string"===o){var s,a,l=0,c=0,f=this.delimiter,p=f.length;if(-1!==(a=e.indexOf(f))){s=new Array(5);do{s[l++]=e.slice(c,a),c=a+p}while(-1!==(a=e.indexOf(f,c)));s[l++]=e.slice(c),e=s,i=l}else e=[e],i=1}else"object"===o?i=e.length:(e=[e],i=1)}var h,d,v,y,g,_,m,w=null,b=e[n],L=e[n+1];if(n===i)r._listeners&&("function"==typeof r._listeners?(t&&t.push(r._listeners),w=[r]):(t&&t.push.apply(t,r._listeners),w=[r]));else{if("*"===b){for(a=(_=u(r)).length;a-- >0;)"_listeners"!==(h=_[a])&&(m=S(t,e,r[h],n+1,i))&&(w?w.push.apply(w,m):w=m);return w}if("**"===b){for((g=n+1===i||n+2===i&&"*"===L)&&r._listeners&&(w=S(t,e,r,i,i)),a=(_=u(r)).length;a-- >0;)"_listeners"!==(h=_[a])&&("*"===h||"**"===h?(r[h]._listeners&&!g&&(m=S(t,e,r[h],i,i))&&(w?w.push.apply(w,m):w=m),m=S(t,e,r[h],n,i)):m=S(t,e,r[h],h===L?n+2:n,i),m&&(w?w.push.apply(w,m):w=m));return w}r[b]&&(w=S(t,e,r[b],n+1,i))}if((d=r["*"])&&S(t,e,d,n+1,i),v=r["**"])if(n<i)for(v._listeners&&S(t,e,v,i,i),a=(_=u(v)).length;a-- >0;)"_listeners"!==(h=_[a])&&(h===L?S(t,e,v[h],n+2,i):h===b?S(t,e,v[h],n+1,i):((y={})[h]=v[h],S(t,e,{"**":y},n+1,i)));else v._listeners?S(t,e,v,i,i):v["*"]&&v["*"]._listeners&&S(t,e,v["*"],i,i);return w}function L(t,e,r){var n,i,o=0,s=0,a=this.delimiter,u=a.length;if("string"==typeof t)if(-1!==(n=t.indexOf(a))){i=new Array(5);do{i[o++]=t.slice(s,n),s=n+u}while(-1!==(n=t.indexOf(a,s)));i[o++]=t.slice(s)}else i=[t],o=1;else i=t,o=t.length;if(o>1)for(n=0;n+1<o;n++)if("**"===i[n]&&"**"===i[n+1])return;var l,c=this.listenerTree;for(n=0;n<o;n++)if(c=c[l=i[n]]||(c[l]={}),n===o-1)return c._listeners?("function"==typeof c._listeners&&(c._listeners=[c._listeners]),r?c._listeners.unshift(e):c._listeners.push(e),!c._listeners.warned&&this._maxListeners>0&&c._listeners.length>this._maxListeners&&(c._listeners.warned=!0,f.call(this,c._listeners.length,l))):c._listeners=e,!0;return!0}function j(t,e,r,n){for(var i,o,s,a,l=u(t),c=l.length,f=t._listeners;c-- >0;)i=t[o=l[c]],s="_listeners"===o?r:r?r.concat(o):[o],a=n||"symbol"==typeof o,f&&e.push(a?s:s.join(this.delimiter)),"object"==typeof i&&j.call(this,i,e,s,a);return e}function E(t){for(var e,r,n,i=u(t),o=i.length;o-- >0;)(e=t[r=i[o]])&&(n=!0,"_listeners"===r||E(e)||delete t[r]);return n}function x(t,e,r){this.emitter=t,this.event=e,this.listener=r}function A(t,r,n){if(!0===n)s=!0;else if(!1===n)o=!0;else{if(!n||"object"!=typeof n)throw TypeError("options should be an object or true");var o=n.async,s=n.promisify,u=n.nextTick,l=n.objectify}if(o||u||s){var c=r,f=r._origin||r;if(u&&!i)throw Error("process.nextTick is not supported");s===e&&(s="AsyncFunction"===r.constructor.name),r=function(){var t=arguments,e=this,r=this.event;return s?u?Promise.resolve():new Promise(function(t){a(t)}).then(function(){return e.event=r,c.apply(e,t)}):(u?process.nextTick:a)(function(){e.event=r,c.apply(e,t)})},r._async=!0,r._origin=f}return[r,l?new x(this,t,r):this]}function k(t){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,c.call(this,t)}x.prototype.off=function(){return this.emitter.off(this.event,this.listener),this},k.EventEmitter2=k,k.prototype.listenTo=function(t,r,i){if("object"!=typeof t)throw TypeError("target musts be an object");var o=this;function s(e){if("object"!=typeof e)throw TypeError("events must be an object");var r,n=i.reducers,s=b.call(o,t);r=-1===s?new d(o,t,i):o._observers[s];for(var a,l=u(e),c=l.length,f="function"==typeof n,p=0;p<c;p++)a=l[p],r.subscribe(a,e[a]||a,f?n:n&&n[a])}return i=v(i,{on:e,off:e,reducers:e},{on:_,off:_,reducers:m}),n(r)?s(h(r)):s("string"==typeof r?h(r.split(/\s+/)):r),this},k.prototype.stopListeningTo=function(t,e){var r=this._observers;if(!r)return!1;var n,i=r.length,o=!1;if(t&&"object"!=typeof t)throw TypeError("target should be an object");for(;i-- >0;)n=r[i],t&&n._target!==t||(n.unsubscribe(e),o=!0);return o},k.prototype.delimiter=".",k.prototype.setMaxListeners=function(t){t!==e&&(this._maxListeners=t,this._conf||(this._conf={}),this._conf.maxListeners=t)},k.prototype.getMaxListeners=function(){return this._maxListeners},k.prototype.event="",k.prototype.once=function(t,e,r){return this._once(t,e,!1,r)},k.prototype.prependOnceListener=function(t,e,r){return this._once(t,e,!0,r)},k.prototype._once=function(t,e,r,n){return this._many(t,1,e,r,n)},k.prototype.many=function(t,e,r,n){return this._many(t,e,r,!1,n)},k.prototype.prependMany=function(t,e,r,n){return this._many(t,e,r,!0,n)},k.prototype._many=function(t,e,r,n,i){var o=this;if("function"!=typeof r)throw new Error("many only accepts instances of Function");function s(){return 0===--e&&o.off(t,s),r.apply(this,arguments)}return s._origin=r,this._on(t,s,n,i)},k.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||l.call(this);var t,e,r,n,i,s,a=arguments[0],u=this.wildcard;if("newListener"===a&&!this._newListener&&!this._events.newListener)return!1;if(u&&(t=a,"newListener"!==a&&"removeListener"!==a&&"object"==typeof a)){if(r=a.length,o)for(n=0;n<r;n++)if("symbol"==typeof a[n]){s=!0;break}s||(a=a.join(this.delimiter))}var c,f=arguments.length;if(this._all&&this._all.length)for(n=0,r=(c=this._all.slice()).length;n<r;n++)switch(this.event=a,f){case 1:c[n].call(this,a);break;case 2:c[n].call(this,a,arguments[1]);break;case 3:c[n].call(this,a,arguments[1],arguments[2]);break;default:c[n].apply(this,arguments)}if(u)c=[],S.call(this,c,t,this.listenerTree,0,r);else{if("function"==typeof(c=this._events[a])){switch(this.event=a,f){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:for(e=new Array(f-1),i=1;i<f;i++)e[i-1]=arguments[i];c.apply(this,e)}return!0}c&&(c=c.slice())}if(c&&c.length){if(f>3)for(e=new Array(f-1),i=1;i<f;i++)e[i-1]=arguments[i];for(n=0,r=c.length;n<r;n++)switch(this.event=a,f){case 1:c[n].call(this);break;case 2:c[n].call(this,arguments[1]);break;case 3:c[n].call(this,arguments[1],arguments[2]);break;default:c[n].apply(this,e)}return!0}if(!this.ignoreErrors&&!this._all&&"error"===a)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},k.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||l.call(this);var t,e,r,n,i,s,a=arguments[0],u=this.wildcard;if("newListener"===a&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(u&&(t=a,"newListener"!==a&&"removeListener"!==a&&"object"==typeof a)){if(n=a.length,o)for(i=0;i<n;i++)if("symbol"==typeof a[i]){e=!0;break}e||(a=a.join(this.delimiter))}var c,f=[],p=arguments.length;if(this._all)for(i=0,n=this._all.length;i<n;i++)switch(this.event=a,p){case 1:f.push(this._all[i].call(this,a));break;case 2:f.push(this._all[i].call(this,a,arguments[1]));break;case 3:f.push(this._all[i].call(this,a,arguments[1],arguments[2]));break;default:f.push(this._all[i].apply(this,arguments))}if(u?(c=[],S.call(this,c,t,this.listenerTree,0)):c=this._events[a],"function"==typeof c)switch(this.event=a,p){case 1:f.push(c.call(this));break;case 2:f.push(c.call(this,arguments[1]));break;case 3:f.push(c.call(this,arguments[1],arguments[2]));break;default:for(r=new Array(p-1),s=1;s<p;s++)r[s-1]=arguments[s];f.push(c.apply(this,r))}else if(c&&c.length){if(c=c.slice(),p>3)for(r=new Array(p-1),s=1;s<p;s++)r[s-1]=arguments[s];for(i=0,n=c.length;i<n;i++)switch(this.event=a,p){case 1:f.push(c[i].call(this));break;case 2:f.push(c[i].call(this,arguments[1]));break;case 3:f.push(c[i].call(this,arguments[1],arguments[2]));break;default:f.push(c[i].apply(this,r))}}else if(!this.ignoreErrors&&!this._all&&"error"===a)return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(f)},k.prototype.on=function(t,e,r){return this._on(t,e,!1,r)},k.prototype.prependListener=function(t,e,r){return this._on(t,e,!0,r)},k.prototype.onAny=function(t){return this._onAny(t,!1)},k.prototype.prependAny=function(t){return this._onAny(t,!0)},k.prototype.addListener=k.prototype.on,k.prototype._onAny=function(t,e){if("function"!=typeof t)throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),e?this._all.unshift(t):this._all.push(t),this},k.prototype._on=function(t,r,n,i){if("function"==typeof t)return this._onAny(t,r),this;if("function"!=typeof r)throw new Error("on only accepts instances of Function");this._events||l.call(this);var o,s=this;return i!==e&&(r=(o=A.call(this,t,r,i))[0],s=o[1]),this._newListener&&this.emit("newListener",t,r),this.wildcard?(L.call(this,t,r,n),s):(this._events[t]?("function"==typeof this._events[t]&&(this._events[t]=[this._events[t]]),n?this._events[t].unshift(r):this._events[t].push(r),!this._events[t].warned&&this._maxListeners>0&&this._events[t].length>this._maxListeners&&(this._events[t].warned=!0,f.call(this,this._events[t].length,t))):this._events[t]=r,s)},k.prototype.off=function(t,e){if("function"!=typeof e)throw new Error("removeListener only takes instances of Function");var r,i=[];if(this.wildcard){var o="string"==typeof t?t.split(this.delimiter):t.slice();if(!(i=S.call(this,null,o,this.listenerTree,0)))return this}else{if(!this._events[t])return this;r=this._events[t],i.push({_listeners:r})}for(var s=0;s<i.length;s++){var a=i[s];if(r=a._listeners,n(r)){for(var u=-1,l=0,c=r.length;l<c;l++)if(r[l]===e||r[l].listener&&r[l].listener===e||r[l]._origin&&r[l]._origin===e){u=l;break}if(u<0)continue;return this.wildcard?a._listeners.splice(u,1):this._events[t].splice(u,1),0===r.length&&(this.wildcard?delete a._listeners:delete this._events[t]),this._removeListener&&this.emit("removeListener",t,e),this}(r===e||r.listener&&r.listener===e||r._origin&&r._origin===e)&&(this.wildcard?delete a._listeners:delete this._events[t],this._removeListener&&this.emit("removeListener",t,e))}return this.listenerTree&&E(this.listenerTree),this},k.prototype.offAny=function(t){var e,r=0,n=0;if(t&&this._all&&this._all.length>0){for(r=0,n=(e=this._all).length;r<n;r++)if(t===e[r])return e.splice(r,1),this._removeListener&&this.emit("removeListenerAny",t),this}else{if(e=this._all,this._removeListener)for(r=0,n=e.length;r<n;r++)this.emit("removeListenerAny",e[r]);this._all=[]}return this},k.prototype.removeListener=k.prototype.off,k.prototype.removeAllListeners=function(t){if(t===e)return!this._events||l.call(this),this;if(this.wildcard){var r,n=S.call(this,null,t,this.listenerTree,0);if(!n)return this;for(r=0;r<n.length;r++)n[r]._listeners=null;this.listenerTree&&E(this.listenerTree)}else this._events&&(this._events[t]=null);return this},k.prototype.listeners=function(t){var r,n,i,o,s,a=this._events;if(t===e){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!a)return[];for(o=(r=u(a)).length,i=[];o-- >0;)"function"==typeof(n=a[r[o]])?i.push(n):i.push.apply(i,n);return i}if(this.wildcard){if(!(s=this.listenerTree))return[];var l=[],c="string"==typeof t?t.split(this.delimiter):t.slice();return S.call(this,l,c,s,0),l}return a&&(n=a[t])?"function"==typeof n?[n]:n:[]},k.prototype.eventNames=function(t){var e=this._events;return this.wildcard?j.call(this,this.listenerTree,[],null,t):e?u(e):[]},k.prototype.listenerCount=function(t){return this.listeners(t).length},k.prototype.hasListeners=function(t){if(this.wildcard){var r=[],n="string"==typeof t?t.split(this.delimiter):t.slice();return S.call(this,r,n,this.listenerTree,0),r.length>0}var i=this._events,o=this._all;return!!(o&&o.length||i&&(t===e?u(i).length:i[t]))},k.prototype.listenersAny=function(){return this._all?this._all:[]},k.prototype.waitFor=function(t,r){var n=this,i=typeof r;return"number"===i?r={timeout:r}:"function"===i&&(r={filter:r}),w((r=v(r,{timeout:0,filter:e,handleError:!1,Promise:Promise,overload:!1},{filter:_,Promise:y})).Promise,function(e,i,o){function s(){var o=r.filter;if(!o||o.apply(n,arguments))if(n.off(t,s),r.handleError){var a=arguments[0];a?i(a):e(p.apply(null,arguments).slice(1))}else e(p.apply(null,arguments))}o(function(){n.off(t,s)}),n._on(t,s,!1)},{timeout:r.timeout,overload:r.overload})};var O=k.prototype;Object.defineProperties(k,{defaultMaxListeners:{get:function(){return O._maxListeners},set:function(t){if("number"!=typeof t||t<0||Number.isNaN(t))throw TypeError("n must be a non-negative number");O._maxListeners=t},enumerable:!0},once:{value:function(t,e,r){return w((r=v(r,{Promise:Promise,timeout:0,overload:!1},{Promise:y})).Promise,function(r,n,i){var o;if("function"==typeof t.addEventListener)return o=function(){r(p.apply(null,arguments))},i(function(){t.removeEventListener(e,o)}),void t.addEventListener(e,o,{once:!0});var s,a=function(){s&&t.removeListener("error",s),r(p.apply(null,arguments))};"error"!==e&&(s=function(r){t.removeListener(e,a),n(r)},t.once("error",s)),i(function(){s&&t.removeListener("error",s),t.removeListener(e,a)}),t.once(e,a)},{timeout:r.timeout,overload:r.overload})},writable:!0,configurable:!0}}),Object.defineProperties(O,{_maxListeners:{value:10,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),t.exports=k}()}(qe)),qe.exports),Be=function(t){function e(){var e=this;return(e=t.call(this,{wildcard:!0,delimiter:"::",newListener:!1,removeListener:!1,maxListeners:10,verboseMemoryLeak:!1,ignoreErrors:!1})||this).delimiter="::","undefined"!=typeof document&&(e.body=document.querySelector("body")),e.logableEvents=["cart::item.added.failed","cart::item.deleted.failed"],e.ingoreLogEvents=["document::click","document::keyup","document::change"],e.noneFireableActions=["document.request"],e.emittedEvents=new Set,e}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}Le(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),e.prototype.createAndDispatch=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];this.dispatch.apply(this,Ee([t],e,!1))},e.prototype.emit=function(e){for(var r,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];this.emittedEvents.add(e);var o=e.replace("::",".");if(!this.noneFireableActions.includes(o)&&Salla.call&&"function"==typeof Salla.call(o))return Salla.log("'Salla.".concat(o,"(...)' triggered using event '").concat(e,"'")),o=o.split("."),Array.isArray(n[0])&&(n=n[0]),void(r=salla[o[0]])[o[1]].apply(r,n);t.prototype.emit.apply(this,Ee([e],n,!1)),this.trackEvents.apply(this,Ee([e],n,!1))},e.prototype.onlyWhen=function(t,e){var r=this;return e=e||function(){},new Promise(function(n){return r.emittedEvents.has(t)?n(e()):r.once(t,function(){return n(e())})})},e.prototype.emitAsync=function(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];this.emittedEvents.add(e);var i=t.prototype.emitAsync.apply(this,Ee([e],r,!1));try{this.trackEvents.apply(this,Ee([e],r,!1))}catch(t){Salla.logger.warn("error on tracking event (".concat(e,")"),r,t)}return i},e.prototype.trackEvents=function(t){for(var e,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];if("undefined"!=typeof window)try{window.dataLayer=window.dataLayer||[];var i={event:t};r.map(function(t){return"object"==typeof t&&(i=je(je({},i),t))}),window.dataLayer.push(i)}catch(t){salla.logger.error(t.message)}Salla.logger&&!this.ingoreLogEvents.includes(t)&&(e=Salla.logger).event.apply(e,Ee([t],r,!1)),this.dispatchMobileEvent.apply(this,Ee([t],r,!1))},e.prototype.dispatch=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return this.emit.apply(this,Ee([t],e,!1))},e.prototype.dispatchEvents=function(t){if(t)if("object"!=typeof t||Array.isArray(t))Salla.log("Events object is wrong, it should be object of {event:payload}",t);else for(var e=0,r=Object.entries(t);e<r.length;e++){var n=r[e],i=n[0],o=n[1];this.dispatch(i,o)}else Salla.log("No Events To Dispatch!",t)},e.prototype.addListener=function(t,e,r){return this.on(t,e,r)},e.prototype.addEventListener=function(t,e,r){return this.on(t,e,r)},e.prototype.listen=function(t,e){return this.on(t,e)},e.prototype.registerGlobalListener=function(t,e){return this.onAny(e)},e.prototype.dispatchMobileEvent=function(t,e){var r;if(void 0===e&&(e={}),"undefined"!=typeof window){if(window.webkit)try{return void window.webkit.messageHandlers.callbackHandler.postMessage(JSON.stringify({event:t,details:e}))}catch(t){Salla.log(t,"The native context does not exist yet")}if(null===(r=window.Android)||void 0===r?void 0:r.customEventWithData)try{window.Android.customEventWithData(t,JSON.stringify({details:e}))}catch(t){Salla.log(t,"The native context does not exist yet")}else if(window.flutter_inappwebview)try{window.flutter_inappwebview.callHandler("sallaEvent",{event:t,details:e})}catch(t){Salla.log(t,"The Flutter context does not exist yet")}}},e}(Je.EventEmitter2);function He(){if(Me)return We;Me=1;var t=Object.assign?Object.assign:function(t,e,r,n){for(var i=1;i<arguments.length;i++)o(Object(arguments[i]),function(e,r){t[r]=e});return t},e=function(){if(Object.create)return function(e,r,n,o){var s=i(arguments,1);return t.apply(this,[Object.create(e)].concat(s))};{function e(){}return function(r,n,o,s){var a=i(arguments,1);return e.prototype=r,t.apply(this,[new e].concat(a))}}}(),r=String.prototype.trim?function(t){return String.prototype.trim.call(t)}:function(t){return t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},n="undefined"!=typeof window?window:Yt;function i(t,e){return Array.prototype.slice.call(t,e||0)}function o(t,e){s(t,function(t,r){return e(t,r),!1})}function s(t,e){if(a(t)){for(var r=0;r<t.length;r++)if(e(t[r],r))return t[r]}else for(var n in t)if(t.hasOwnProperty(n)&&e(t[n],n))return t[n]}function a(t){return null!=t&&"function"!=typeof t&&"number"==typeof t.length}return We={assign:t,create:e,trim:r,bind:function(t,e){return function(){return e.apply(t,Array.prototype.slice.call(arguments,0))}},slice:i,each:o,map:function(t,e){var r=a(t)?[]:{};return s(t,function(t,n){return r[n]=e(t,n),!1}),r},pluck:s,isList:a,isFunction:function(t){return t&&"[object Function]"==={}.toString.call(t)},isObject:function(t){return t&&"[object Object]"==={}.toString.call(t)},Global:n},We}var Ze,Ve,Qe,Xe,Ye,tr,er,rr,nr=function(){if($e)return De;$e=1;var t=He(),e=t.slice,r=t.pluck,n=t.each,i=t.bind,o=t.create,s=t.isList,a=t.isFunction,u=t.isObject,l={version:"2.0.12",enabled:!1,get:function(t,e){var r=this.storage.read(this._namespacePrefix+t);return this._deserialize(r,e)},set:function(t,e){return void 0===e?this.remove(t):(this.storage.write(this._namespacePrefix+t,this._serialize(e)),e)},remove:function(t){this.storage.remove(this._namespacePrefix+t)},each:function(t){var e=this;this.storage.each(function(r,n){t.call(e,e._deserialize(r),(n||"").replace(e._namespaceRegexp,""))})},clearAll:function(){this.storage.clearAll()},hasNamespace:function(t){return this._namespacePrefix=="__storejs_"+t+"_"},createStore:function(){return c.apply(this,arguments)},addPlugin:function(t){this._addPlugin(t)},namespace:function(t){return c(this.storage,this.plugins,t)}};function c(t,c,f){f||(f=""),t&&!s(t)&&(t=[t]),c&&!s(c)&&(c=[c]);var p=f?"__storejs_"+f+"_":"",h=f?new RegExp("^"+p):null;if(!/^[a-zA-Z0-9_\-]*$/.test(f))throw new Error("store.js namespaces can only have alphanumerics + underscores and dashes");var d={_namespacePrefix:p,_namespaceRegexp:h,_testStorage:function(t){try{var e="__storejs__test__";t.write(e,e);var r=t.read(e)===e;return t.remove(e),r}catch(t){return!1}},_assignPluginFnProp:function(t,r){var i=this[r];this[r]=function(){var r=e(arguments,0),o=this,s=[function(){if(i)return n(arguments,function(t,e){r[e]=t}),i.apply(o,r)}].concat(r);return t.apply(o,s)}},_serialize:function(t){return JSON.stringify(t)},_deserialize:function(t,e){if(!t)return e;var r="";try{r=JSON.parse(t)}catch(e){r=t}return void 0!==r?r:e},_addStorage:function(t){this.enabled||this._testStorage(t)&&(this.storage=t,this.enabled=!0)},_addPlugin:function(t){var e=this;if(s(t))n(t,function(t){e._addPlugin(t)});else if(!r(this.plugins,function(e){return t===e})){if(this.plugins.push(t),!a(t))throw new Error("Plugins must be function values that return objects");var i=t.call(this);if(!u(i))throw new Error("Plugins must return an object of function properties");n(i,function(r,n){if(!a(r))throw new Error("Bad plugin property: "+n+" from plugin "+t.name+". Plugins should only return functions.");e._assignPluginFnProp(r,n)})}},addStorage:function(t){!function(){var t="undefined"==typeof console?null:console;t&&(t.warn?t.warn:t.log).apply(t,arguments)}("store.addStorage(storage) is deprecated. Use createStore([storages])"),this._addStorage(t)}},v=o(d,l,{plugins:[]});return v.raw={},n(v,function(t,e){a(t)&&(v.raw[e]=i(v,t))}),n(t,function(t){v._addStorage(t)}),n(c,function(t){v._addPlugin(t)}),v}return De={createStore:c}}(),ir=function(){if(Ve)return Ze;Ve=1;var t=He().Global;function e(){return t.localStorage}function r(t){return e().getItem(t)}return Ze={name:"localStorage",read:r,write:function(t,r){return e().setItem(t,r)},each:function(t){for(var n=e().length-1;n>=0;n--){var i=e().key(n);t(r(i),i)}},remove:function(t){return e().removeItem(t)},clearAll:function(){return e().clear()}}}(),or=t({__proto__:null,default:ir},[ir]),sr=function(){if(Xe)return Qe;Xe=1;var t=He().Global;function e(){return t.sessionStorage}function r(t){return e().getItem(t)}return Qe={name:"sessionStorage",read:r,write:function(t,r){return e().setItem(t,r)},each:function(t){for(var n=e().length-1;n>=0;n--){var i=e().key(n);t(r(i),i)}},remove:function(t){return e().removeItem(t)},clearAll:function(){return e().clear()}}}(),ar=t({__proto__:null,default:sr},[sr]),ur=function(){if(tr)return Ye;tr=1;var t=He(),e=t.Global,r=t.trim;Ye={name:"cookieStorage",read:function(t){if(!t||!s(t))return null;var e="(?:^|.*;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";return unescape(n.cookie.replace(new RegExp(e),"$1"))},write:function(t,e){t&&(n.cookie=escape(t)+"="+escape(e)+"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/")},each:i,remove:o,clearAll:function(){i(function(t,e){o(e)})}};var n=e.document;function i(t){for(var e=n.cookie.split(/; ?/g),i=e.length-1;i>=0;i--)if(r(e[i])){var o=e[i].split("="),s=unescape(o[0]);t(unescape(o[1]),s)}}function o(t){t&&s(t)&&(n.cookie=escape(t)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/")}function s(t){return new RegExp("(?:^|;\\s*)"+escape(t).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(n.cookie)}return Ye}(),lr=t({__proto__:null,default:ur},[ur]),cr=function(){if(rr)return er;rr=1,er={name:"memoryStorage",read:function(e){return t[e]},write:function(e,r){t[e]=r},each:function(e){for(var r in t)t.hasOwnProperty(r)&&e(t[r],r)},remove:function(e){delete t[e]},clearAll:function(e){t={}}};var t={};return er}(),fr=t({__proto__:null,default:cr},[cr]),pr=nr.createStore([or,ar,lr,fr],[]),hr=nr.createStore([ar],[]),dr=nr.createStore([lr],[]),vr=function(){function t(){var t=this;this.clearableItems=["cart","user","salla::wishlist","salla::wishlist-hydrated-user","salla::availability","token"],Salla.event.on("storage::item.remove",function(e){return t.remove(e)}),Salla.event.on("storage::item.set",function(e,r){return t.set(e,r)}),this.store=pr,this.session=hr,this.cookie=dr}return t.prototype.set=function(t,e){var r;if(t.includes(".")){var n=t.split(".")[0],i=((r={})[n]=this.store.get(n),r);return i=Salla.helpers.setNested(i,t,e),this.store.set(n,i[n])}return this.store.set(t,e)},t.prototype.remove=function(t){return this.store.remove(t)},t.prototype.clearAll=function(t){var e=this;if(void 0===t&&(t=!1),t)return this.store.clearAll();this.clearableItems.forEach(function(t){e.store.remove(t)})},t.prototype.get=function(t,e){var r;if(t.includes(".")){var n=t.split(".")[0];return Salla.helpers.getNested(((r={})[n]=this.store.get(n),r),t)}return this.store.get(t,e)},t.prototype.prefixKey=function(t){return"".concat(t,"_").concat(Salla.config.get("store.id"))},t.prototype.setWithTTL=function(t,e,r,n){void 0===r&&(r=10),void 0===n&&(n="store");var i=this.prefixKey(t),o=(new Date).getTime()+60*r*1e3;return this[n].set(i,{value:e,expiry:o})},t.prototype.getWithTTL=function(t,e,r){void 0===e&&(e=null),void 0===r&&(r="store");var n=this.prefixKey(t),i=this[r].get(n);return i?(new Date).getTime()>i.expiry?(this[r].remove(n),e):i.value:e},t}(),yr=function(){function t(){var t=this;this.keysToRemove=["__said","__ssid","theme_edit","ws_port","s-token"],this.dynamicKeysToRemove=["affiliate","cart"],Salla.event.on("cookies::remove",function(e){return t.remove(e)}),Salla.event.on("cookies::add",function(e,r){return t.set(e,r)})}return t.prototype.get=function(t){var e;return null===(e=document.cookie.split("; ").find(function(e){return e.startsWith(t+"=")}))||void 0===e?void 0:e.split("=")[1]},t.prototype.set=function(t,e,r){void 0===e&&(e=""),void 0===r&&(r=10);var n="";if(r){var i=new Date;i.setTime(i.getTime()+24*r*60*60*1e3),n="; expires="+i.toUTCString()}var o=salla.helpers.isIframe()?"None":"Lax";return document.cookie="".concat(t,"=").concat(e).concat(n,"; path=/; SameSite=").concat(o,"; secure"),this},t.prototype.remove=function(t){var e=salla.helpers.isIframe()?"None":"Lax";return document.cookie="".concat(t,"=; Max-Age=0; path=/; SameSite=").concat(e,"; secure"),this},t.prototype.clearAll=function(t){return void 0===t&&(t=!1),this.clean(t)},t.prototype.clean=function(t){var e=this;return document.cookie.split(";").map(function(t){return t.split("=")[0].trim()}).filter(function(r){return t||e.keysToRemove.includes(r)||e.dynamicKeysToRemove.some(function(t){return r.startsWith(t)})}).forEach(function(t){return e.remove(t)}),this},t.prototype.getCookieByPrefix=function(t){return document.cookie.split("; ").map(function(t){return t.split("=")[0]}).filter(function(e){return e.startsWith(t)})},t.prototype.clearCookieByPrefix=function(t){var e=this;return this.getCookieByPrefix(t).forEach(function(t){return e.remove(t)})},t}();return"undefined"!=typeof window&&(window.salla=window.salla||window.Salla||{},window.Salla=window.salla),"undefined"!=typeof global&&(global.salla=global.salla||global.Salla||{},global.Salla=global.salla),Salla.status="base",Salla.config=new Ge,Salla.logger=Ke,Salla.event=new Be,Salla.helpers=Ue,Salla.storage=new vr,Salla.cookie=new yr,Salla.log=Salla.logger.log,Salla.money=Salla.helpers.money,Salla.url=Salla.helpers.url,Salla.versions={base:"3.0.0"},Salla});
2
2
  //# sourceMappingURL=base.min.js.map