@salla.sa/base 3.0.0 → 3.0.2
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 +150 -0
- package/dist/@salla.sa/base.min.js +1 -1
- package/dist/@salla.sa/base.min.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/package.json +25 -47
- package/types/common.d.ts +17 -20
- package/types/config.d.ts +50 -57
- package/types/cookie.d.ts +6 -0
- package/types/event.d.ts +9 -8
- package/types/global.d.ts +9 -6
- package/types/helpers.d.ts +48 -53
- package/types/index.d.ts +15 -20
- package/types/storage.d.ts +28 -20
- package/dist/index.js/index.js +0 -2
- package/dist/index.js/index.js.map +0 -1
- package/dist/index.mjs/index.js +0 -2
- package/dist/index.mjs/index.js.map +0 -1
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.1"},Salla});
|
|
2
2
|
//# sourceMappingURL=base.min.js.map
|