UNPKG

vtex-utils

Version:

A collection of utilities methods for Vtex stores

10 lines 48.3 kB
/*!! * VtexUtils.js v1.18.1 * https://github.com/zeindelf/vtex-utils * * Copyright (c) 2017-2018 Zeindelf * Released under the MIT license * * Date: 2018-09-17T18:32:03.664Z */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e.VTEX=e.VTEX||{},e.VTEX.VtexUtils=t())}(this,function(){"use strict";var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var f,t="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},r=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}}();"object"!==("undefined"==typeof window?"undefined":t(window))&&((e.window=e).window.navigator={}),("jQuery"in window||"$"in window)&&((f=jQuery).ajaxPrefilter(function(e,t,r){r.retry=function(e){return e.timeout&&(this.timeout=e.timeout),e.statusCodes&&(this.statusCodes=e.statusCodes),this.pipe(null,(u=this,c=(s=e).times,l=u.timeout,function(e,t,r){var n=this,i=new f.Deferred,o=u.getResponseHeader("Retry-After");function a(){f.ajax(n).retry({times:c-1,timeout:s.timeout,statusCodes:s.statusCodes}).pipe(i.resolve,i.reject)}return 1<c&&(!u.statusCodes||-1<f.inArray(e.status,u.statusCodes))?(o&&(l=isNaN(o)?new Date(o).getTime()-f.now():1e3*parseInt(o,10),(isNaN(l)||l<0)&&(l=u.timeout)),void 0!==l?setTimeout(a,l):a()):i.rejectWith(this,arguments),i}));var u,s,c,l}}),function(e){if(3<=Number(jQuery.fn.jquery.split(".")[0]))return window.console&&window.console.warn&&window.console.warn("The jquery.requestanimationframe plugin is not needed in jQuery 3.0 or newer as they handle it natively.");var t;function r(){t&&(window.requestAnimationFrame(r),jQuery.fx.tick())}window.requestAnimationFrame&&(jQuery.fx.timer=function(e){e()&&jQuery.timers.push(e)&&!t&&(t=!0,r())},jQuery.fx.stop=function(){t=!1})}(jQuery));var i,o=new(function(e,t){e.exports=function(){function u(){for(var e=0,t={};e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}function c(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}var s,l,t,i,f,o,a,e,n,g,p,d,r,m="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},h=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},v=function(){function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}}(),y=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},w=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},k={version:"2.7.0",areas:{},apis:{},inherit:function(e,t){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r]);return t},stringify:function(e){return void 0===e||"function"==typeof e?e+"":JSON.stringify(e)},parse:function(t){try{return JSON.parse(t)}catch(e){return t}},fn:function(e,t){for(var r in k.storeAPI[e]=t,k.apis)k.apis[r][e]=t},get:function(e,t){return e.getItem(t)},set:function(e,t,r){e.setItem(t,r)},remove:function(e,t){e.removeItem(t)},key:function(e,t){return e.key(t)},length:function(e){return e.length},clear:function(e){e.clear()},Store:function(e,t,r){var n=k.inherit(k.storeAPI,function(e,t,r){return 0===arguments.length?n.getAll():"function"==typeof t?n.transact(e,t,r):void 0!==t?n.set(e,t,r):"string"==typeof e||"number"==typeof e?n.get(e):e?n.setAll(e,t):n.clear()});n._id=e;try{var i="_safariPrivate_";t.setItem(i,"sucks"),(n._area=t).removeItem(i)}catch(e){}return n._area||(n._area=k.inherit(k.storageAPI,{items:{},name:"fake"})),n._ns=r||"",k.areas[e]||(k.areas[e]=n._area),k.apis[n._ns+n._id]||(k.apis[n._ns+n._id]=n),n},storeAPI:{area:function(e,t){var r=this[e];return r&&r.area||(r=k.Store(e,t,this._ns),this[e]||(this[e]=r)),r},namespace:function(e,t){if(!e)return this._ns?this._ns.substring(0,this._ns.length-1):"";var r=e,n=this[r];return n&&n.namespace||(n=k.Store(this._id,this._area,this._ns+r+"."),this[r]||(this[r]=n),t||n.area("session",k.areas.session)),n},isFake:function(){return"fake"===this._area.name},toString:function(){return"store"+(this._ns?"."+this.namespace():"")+"["+this._id+"]"},has:function(e){return this._area.has?this._area.has(this._in(e)):!!(this._in(e)in this._area)},size:function(){return this.keys().length},each:function(e,t){for(var r=0,n=k.length(this._area);r<n;r++){var i=this._out(k.key(this._area,r));if(void 0!==i&&!1===e.call(this,i,t||this.get(i)))break;n>k.length(this._area)&&(n--,r--)}return t||this},keys:function(e){return this.each(function(e,t){t.push(e)},e||[])},get:function(e,t){var r=k.get(this._area,this._in(e));return null!==r?k.parse(r):t||r},getAll:function(e){return this.each(function(e,t){t[e]=this.get(e)},e||{})},transact:function(e,t,r){var n=this.get(e,r),i=t(n);return this.set(e,void 0===i?n:i),this},set:function(e,t,r){var n=this.get(e);return null!=n&&!1===r?t:k.set(this._area,this._in(e),k.stringify(t),r)||n},setAll:function(e,t){var r,n;for(var i in e)n=e[i],this.set(i,n,t)!==n&&(r=!0);return r},add:function(e,t){var r=this.get(e);if(r instanceof Array)t=r.concat(t);else if(null!==r){var n=void 0===r?"undefined":m(r);if(n===(void 0===t?"undefined":m(t))&&"object"===n){for(var i in t)r[i]=t[i];t=r}else t=r+t}return k.set(this._area,this._in(e),k.stringify(t)),t},remove:function(e){var t=this.get(e);return k.remove(this._area,this._in(e)),t},clear:function(){return this._ns?this.each(function(e){k.remove(this._area,this._in(e))},1):k.clear(this._area),this},clearAll:function(){var e=this._area;for(var t in k.areas)k.areas.hasOwnProperty(t)&&(this._area=k.areas[t],this.clear());return this._area=e,this},_in:function(e){return"string"!=typeof e&&(e=k.stringify(e)),this._ns?this._ns+e:e},_out:function(e){return this._ns?e&&0===e.indexOf(this._ns)?e.substring(this._ns.length):void 0:e}},storageAPI:{length:0,has:function(e){return this.items.hasOwnProperty(e)},key:function(e){var t=0;for(var r in this.items)if(this.has(r)&&e===t++)return r},setItem:function(e,t){this.has(e)||this.length++,this.items[e]=t},removeItem:function(e){this.has(e)&&(delete this.items[e],this.length--)},getItem:function(e){return this.has(e)?this.items[e]:null},clear:function(){for(var e in this.items)this.removeItem(e)},toString:function(){return this.length+" items in "+this.name+"Storage"}}},S=k.Store("local",function(){try{return localStorage}catch(e){}}());(S.local=S)._=k,S.area("session",function(){try{return sessionStorage}catch(e){}}()),a=(o=S)._,e=a.set,n=a.get,g=a.remove,p=a.key,d=a.length,r=a.clear,a.overflow=function(e,t){var r=e===a.areas.local?"+local+":e===a.areas.session&&"+session+";if(r){var n=a.areas[r];return t&&!n?n=o.area(r)._area:!1===t&&(delete a.areas[r],delete o[r]),n}},a.set=function(t,r,n){try{e.apply(this,arguments)}catch(e){if("QUOTA_EXCEEDED_ERR"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name||-1!==e.toString().indexOf("QUOTA_EXCEEDED_ERR")||-1!==e.toString().indexOf("QuotaExceededError"))return a.set(a.overflow(t,!0),r,n);throw e}},a.get=function(e,t){var r=a.overflow(e);return r&&n.call(this,r,t)||n.apply(this,arguments)},a.remove=function(e,t){var r=a.overflow(e);r&&g.call(this,r,t),g.apply(this,arguments)},a.key=function(e,t){var r=a.overflow(e);if(r){var n=d.call(this,e);if(n<=t){t-=n;for(var i=0,o=d.call(this,r);i<o;i++)if(i===t)return p.call(this,r,i)}}return p.apply(this,arguments)},a.length=function(e){var t=d(e),r=a.overflow(e);return r?t+d(r):t},a.clear=function(e){a.overflow(e,!1),r.apply(this,arguments)},s=S._,l="exp@",t=s.parse,i=s.get,f=s.set,s.parse=function(e){return e&&0===e.indexOf(l)&&(e=e.substring(e.indexOf(";")+1)),t(e)},s.expires=function(e){return!(!e||0!==e.indexOf(l))&&parseInt(e.substring(l.length,e.indexOf(";")),10)},s.when=function(e){var t=Math.floor((new Date).getTime()/1e3);return e?new Date(1e3*(t+e)):t},s.cache=function(e,t){var r=i(e,t),n=s.expires(r);return n&&s.when()>=n?e.removeItem(t):r},s.get=function(e,t){var r=s.cache(e,t);return void 0===r?null:r},s.set=function(t,r,e,n){try{n&&(e=l+(s.when()+n)+";"+e),f(t,r,e)}catch(e){if("QUOTA_EXCEEDED_ERR"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name){for(var i=!1,o=0,a=t.length;o<a;o++)void 0===s.cache(t,r)&&(i=!0);if(i)return s.set.apply(this,arguments)}throw e}};var A,j={capitalize:function(e){return e.replace(/(?:^|\s)\S/g,function(e){return e.toUpperCase()})},escape:function(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\//g,"&#x2F;").replace(/\\/g,"&#x5C;").replace(/`/g,"&#96;")},normalizeText:function(e){var t,r=this,n=/(^|[.!?]\s+)([a-z])/g;return t=e,r.strCompact(t.replace(/[,.!?:;]+(?=\S)/g,"$& ")).toLowerCase().replace(n,function(e,t,r){return t+r.toUpperCase()})},pad:function(e,t){for(var r=String(e);r.length<(t||2);)r="0"+r;return r},removeAccent:function(e){var t=/[àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ]/g;return e.replace(t,function(e){return"_aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY"[t.source.indexOf(e)]})},slugifyText:function(e){e=e.replace(/^\s+|\s+$/g,"").toLowerCase().replace(/\./g,"-").replace(/\*/g,"-").replace(/\+/g,"-");for(var t="àáäâãèéëêìíïîòóöôõùúüûýÿñç·/_,:;",r=0,n=t.length;r<n;r+=1)e=e.replace(new RegExp(t.charAt(r),"g"),"aaaaaeeeeiiiiooooouuuuyync------".charAt(r));return"-"===(e=e.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")).charAt(0)&&(e=e.substr(1)),"-"===e.charAt(e.length-1)&&(e=e.substr(0,e.length-1)),e},strCompact:function(e){return this.trim(e).replace(/([\r\n\s])+/g,function(e,t){return" "===t?t:" "})},strReplace:function(e,t,r){var n=void 0;if(_.isArray(e))for(var i=0;i<e.length;i++)e[i]=e[i].replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),n=new RegExp(e[i],"g"),r=r.replace(n,_.isArray(t)?t[i]:t);else e=e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),n=new RegExp(e,"g"),r=r.replace(n,_.isArray(t)?t[0]:t);return r},trim:function(e){return _.isString(e)?e.replace(/^\s+|\s+$/gm,""):""},ucfirst:function(e){var t=(e+="").charAt(0).toUpperCase();return t+e.substr(1)},underscore:function(e){return e.replace(/[-\s]+/g,"_").replace(/([A-Z\d]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").toLowerCase()},unescape:function(e){return e.replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#x27;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&#x2F;/g,"/").replace(/&#x5C;/g,"\\").replace(/&#96;/g,"`")}},P={camelize:function(n){var i=this,o=function(e){return e=j.underscore(e),(e=j.slugifyText(e)).replace(/[_.-\s](\w|$)/g,function(e,t){return t.toUpperCase()})};return _.isDate(n)||_.isRegExp(n)?n:_.isArray(n)?n.map(function(e,t){return _.isObject(e)?i.camelize(e):e}):_.isString(n)?o(n):Object.keys(n).reduce(function(e,t){var r=o(t);return e[r]=n[t],_.isObject(n[t])&&(e[r]=i.camelize(n[t])),e},{})},contains:function(e,t){if(_.isArray(t))for(var r=0,n=t.length;r<n;r+=1)if(t[r]===e)return!0;return!!_.isString(t)&&0<=t.indexOf(e)},debounce:function(n,a,e){var u=void 0,s=void 0,i=void 0,c=void 0,l=void 0,f=void 0,g=0,p=!1,d=!1,t=!0,r=!a&&0!==a&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof n)throw new TypeError("Expected a function");function m(e){var t=u,r=s;return u=s=void 0,g=e,c=n.apply(r,t)}function h(e,t){return r?window.requestAnimationFrame(e):setTimeout(e,t)}function v(e){var t=e-f,r=e-g;return void 0===f||a<=t||t<0||d&&i<=r}function y(){var e,t,r,n=Date.now();if(v(n))return o(n);l=h(y,(t=(e=n)-g,r=a-(e-f),d?Math.min(r,i-t):r))}function o(e){return l=void 0,t&&u?m(e):(u=s=void 0,c)}function b(){for(var e,t=Date.now(),r=v(t),n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];if(u=i,s=this,f=t,r){if(void 0===l)return g=e=f,l=h(y,a),p?m(e):c;if(d)return l=h(y,a),m(f)}return void 0===l&&(l=h(y,a)),c}return a=+a||0,_.isObject(e)&&(p=!!e.leading,i=(d="maxWait"in e)?Math.max(+e.maxWait||0,a):i,t="trailing"in e?!!e.trailing:t),b.cancel=function(){void 0!==l&&function(e){if(r)return window.cancelAnimationFrame(e);clearTimeout(e)}(l),u=f=s=l=void(g=0)},b.flush=function(){return void 0===l?c:o(Date.now())},b.pending=function(){return void 0!==l},b},getType:function(e){var t={undefined:"undefined",number:"number",boolean:"boolean",string:"string","[object Function]":"function","[object RegExp]":"regexp","[object Array]":"array","[object Date]":"date","[object Error]":"error"};return t[void 0===e?"undefined":m(e)]||t[{}.toString.call(e)]||(e?"object":"null")},getUrlParameter:function(e,t){t=_.isString(t)?"?"===t.substring(0,1)?t:"?"+t:window.location.href,e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var r=new RegExp("[\\?&]"+e+"=([^&#]*)"),n=r.exec(t);return null===n?"":decodeURIComponent(n[1].replace(/\+/g," "))},parseJwt:function(e){var t;return JSON.parse((t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),decodeURIComponent(Array.prototype.map.call(atob(t),function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""))))},resizeImageByRatio:function(e,t,r,n){_.isNumber(t)&&_.isNumber(r)||(t=parseFloat(t,10),r=parseFloat(r,10));var i={};switch(n=n||4,e){case"width":i.width=parseFloat(t,10),i.height=parseFloat((t/r).toFixed(n),10);break;case"height":i.width=parseFloat((t*r).toFixed(n),10),i.height=parseFloat(t,10);break;default:throw new Error("'type' needs to be 'width' or 'height'")}return i},semverCompare:function(e,t){var r=/^v?(?:\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+)(\.(?:[x*]|\d+))?(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;[e,t].forEach(function(e){if(!_.isString(e))throw new TypeError("Invalid argument: expected string");if(!r.test(e))throw new Error("Invalid argument: not valid semver")});for(var n=e.split("."),i=t.split("."),o=0;o<3;o++){var a=Number(n[o]),u=Number(i[o]);if(u<a)return 1;if(a<u)return-1;if(!isNaN(a)&&isNaN(u))return 1;if(isNaN(a)&&!isNaN(u))return-1}return 0},stripHost:function(e){var t=e;return t.toString().replace(/https?:\/\/.*?\//i,"/")},stripHttp:function(e){var t=e;return t.replace(/^https?:/,"")},stripTags:function(e,r){return r=(((r||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join(""),j.strCompact(e.replace(/<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi,"").replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,function(e,t){return-1<r.indexOf("<"+t.toLowerCase()+">")?e:" "}))},throttle:function(e,t,r){var n=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return _.isObject(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),this.debounce(e,t,{leading:n,maxWait:t,trailing:i})},times:function(e,t){var r=4294967295;if(e<1||9007199254740991<e)return[];for(var n=-1,i=Math.min(e,r),o=new Array(i);++n<i;)o[n]=t(n);for(e-=n=r;++n<e;)t(n);return o},unserialize:function(e){if((e=_.isString(e)?e:window.location.href).indexOf("?")<0)return{};e=0===e.indexOf("?")?e.substr(1):e.slice(e.indexOf("?")+1);for(var t={},r=e.split("&"),n=0,i=r.length;n<i;n+=1){var o=r[n].split("=");t[decodeURIComponent(o[0])]=decodeURIComponent(o[1]||"")}return t}},O=Object.prototype.toString,_={isArguments:function(e){return"[object Arguments]"===O.call(e)||null!=e&&"object"===(void 0===e?"undefined":m(e))&&"callee"in e},isArray:function(e){return Array.isArray?Array.isArray(e):"[object Array]"===O.call(e)},isArrayIndex:function(e){return e>>>0===e&&4294967295!==e},isBoolean:function(e){return!0===e||!1===e||"[object Boolean]"===O.call(e)},isChar:function(e){return this.isString(e)&&1===e.length},isCnpj:function(e){var t=this._stripNumber(e),r=this._verifierEqualDigits(t);if(!t||14!==t.length||r)return!1;var n=t.substr(0,12);return n+=this._verifierCnpjDigit(n),(n+=this._verifierCnpjDigit(n)).substr(-2)===t.substr(-2)},isCpf:function(e){var t=this._stripNumber(e),r=this._verifierEqualDigits(t);if(!t||11!==t.length||r)return!1;var n=t.substr(0,9);return n+=this._verifierCpfDigit(n),(n+=this._verifierCpfDigit(n)).substr(-2)===t.substr(-2)},isDate:function(e){return"[object Date]"===O.call(e)},isDomNode:function(e){return this.isObject(e)&&0<e.nodeType},isEmail:function(e){return/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(e)},isEmpty:function(e){var t={undefined:!0,null:!0,number:!1,boolean:!1,function:!1,regexp:!1,date:!1,error:!1},r=P.getType(e),n=void 0;if(t.hasOwnProperty(r))n=t[r];else switch(r){case"object":n=this.isObjectEmpty(e);break;case"string":n=!e;break;case"array":n=!e.length}return n},isError:function(e){return"[object Error]"===O.call(e)},isFunction:function(e){return"[object Function]"===O.call(e)||"function"==typeof e},isJson:function(e){try{var t=JSON.parse(e);return this.isObject(t)}catch(e){}return!1},isNull:function(e){return null===e},isNumber:function(e){var t=Number.isNaN||window.isNaN;return"number"==typeof e&&!t(e)},isNumeric:function(e){return/^[0-9]*\.?[0-9]+$/.test(e)},isObject:function(e){return"object"===(void 0===e?"undefined":m(e))&&null!==e},isObjectEmpty:function(e){if(!this.isObject(e))return!1;for(var t in e)if({}.hasOwnProperty.call(e,t))return!1;return!0},isPercentage:function(e){return this.isNumber(e)&&e<=100&&0<=e},isPlainObject:function(e){if(!this.isObject(e))return!1;try{var t=e.constructor,r=t.prototype;return t&&r&&hasOwnProperty.call(r,"isPrototypeOf")}catch(e){return!1}},isPrimitive:function(e,t){return t=t||(void 0===e?"undefined":m(e)),null==e||"string"===t||"number"===t||"boolean"===t},isRealNaN:function(e){return null!=e&&e!=e},isRegExp:function(e){return"[object RegExp]"===O.call(e)},isSameType:function(e,t){var r=O.call(e);return r===O.call(t)},isString:function(e){return"[object String]"===O.call(e)},isUndefined:function(e){return void 0===e},_verifierCpfDigit:function(e){var r=(e=e.split("").map(function(e){return parseInt(e,10)})).length+1,t=e.map(function(e,t){return e*(r-t)}),n=t.reduce(function(e,t){return e+t})%11;return n<2?0:11-n},_verifierCnpjDigit:function(e){var r=2,t=e.split("").reduce(function(e,t){return[parseInt(t,10)].concat(e)},[]),n=t.reduce(function(e,t){return e+=t*r,r=9===r?2:r+1,e},0),i=n%11;return i<2?0:11-i},_stripNumber:function(e){return(e||"").toString().replace(/[^0-9]/g,"")},_verifierEqualDigits:function(e){for(var t=0,r=e.length;t<r-1;t++)if(e[t]!==e[t+1])return!1;return!0}},x={arrayClone:function(e){var r=new Array(e.length);return this._forEach(e,function(e,t){r[t]=e}),r},arrayCompact:function(e){if(!Array.isArray(e))throw new TypeError("arrayCompact() expects an array.");return e.filter(Boolean)},arrayFlatten:function(e,t){var r=this,n=[];return t=t||1/0,r._forEach(e,function(e){_.isArray(e)&&0<t?n=n.concat(r.arrayFlatten(e,t,1)):n.push(e)}),n},arrayIntersection:function(e,t){return e.filter(function(e){return-1!==t.indexOf(e)})},arraySample:function(e,t,r){var n=[],i=void 0,o=void 0,a=void 0;_.isBoolean(t)?o=t:(i=t,o=r),_.isUndefined(i)&&(i=1,a=!0),o||(e=this.arrayClone(e)),i=Math.min(i,e.length);for(var u,s=0;s<i;s+=1)u=Math.trunc(Math.random()*e.length),n.push(e[u]),e.splice(u,1);return a?n[0]:n},arrayUnique:function(e){return e.filter(function(e,t,r){return r.indexOf(e)===t})},chunk:function(e,t){t=Math.max(t,0);var r=null===e?0:e.length;if(!r||t<1)return[];for(var n=0,i=0,o=new Array(Math.ceil(r/t));n<r;)o[i++]=this.slice(e,n,n+=t);return o},cleanArray:function(e){for(var t=[],r=0,n=e.length;r<n;r+=1)e[r]&&t.push(e[r]);return t},explode:function(e,t,r){if(!_.isString(e))throw new Error("'str' must be a String");var n=e.split(t);return void 0!==r&&n.length>=r&&n.push(n.splice(r-1).join(t)),n},implode:function(e,t){if(_.isArray(e))return e.join(t||",");if(_.isObject(e)){var r=[];for(var n in e)object.hasOwnProperty(n)&&r.push(e[n]);return r.join(t||",")}return""},indexOfAll:function(e,n){return e.reduce(function(e,t,r){return t===n?[].concat(w(e),[r]):e},[])},shuffleArray:function(e){for(var t=0,r=[],n=[],i=e.length-1;0<i;i--)t=Math.floor(Math.random()*(i+1)),r=e[i],n[i]=e[t],n[t]=r;return n},slice:function(e,t,r){var n=null==e?0:e.length;if(!n)return[];(t=null==t?0:t)<0&&(t=n<-t?0:n+t),(r=n<(r=void 0===r?n:r)?n:r)<0&&(r+=n),n=r<t?0:r-t>>>0,t>>>=0;for(var i=-1,o=new Array(n);++i<n;)o[i]=e[i+t];return o},_getSparseArrayIndexes:function(e,i,t,r){var n=[],o=void 0;for(o in e)_.isArrayIndex(o)&&(t||(r?o<=i:i<=o))&&n.push(+o);return n.sort(function(e,t){var r=i<e,n=i<t;return r!==n?r?-1:1:e-t}),n},_iterateOverSparseArray:function(e,t,r,n){for(var i=this._getSparseArrayIndexes(e,r,n),o=void 0,a=0,u=i.length;a<u;a+=1)o=i[a],t.call(e,e[o],o,e);return e},_forEach:function(e,t){for(var r=0,n=e.length;r<n;r+=1){if(!(r in e))return this._iterateOverSparseArray(e,t,r);t(e[r],r)}}},I={formatNumber:function(e,t){return t=t||".",e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,t)},milify:function(e,t){var s=new Map;s.set(3,"K"),s.set(6,"M"),s.set(9,"B"),s.set(12,"T"),s.set(15,"P"),s.set(18,"E"),e=function(e){if("number"!=typeof e)throw new Error("Input value is not a number");return parseFloat(e,10)}(e);var r=Math.floor(Math.log10(Math.abs(e)))+1,n=function(e,t){var r=!0,n=!1,i=void 0;try{for(var o,a=s.keys()[Symbol.iterator]();!(r=(o=a.next()).done);r=!0){var u=o.value;u<e&&(t=u)}}catch(e){n=!0,i=e}finally{try{!r&&a.return&&a.return()}finally{if(n)throw i}}return{suffix:s.get(t),zeroes:t}}(r,null),i=e/Math.pow(10,n.zeroes);return t=i%1==0?2:Math.max(1,t+1)||3,-1e3<e&&e<1e3?e:""+parseFloat(i.toPrecision(t))+n.suffix},toNumber:function(e){var t=this;if(_.isArray(e))return e.map(function(e){return t.toNumber(e)});var r=parseFloat(e);return void 0===r?e:r.toString().length===e.toString().length||_.isNumeric(e)?_.isNumber(r)?e:r:e}},E={deepFreeze:function(t){var r=this;return Object.freeze(t),Object.getOwnPropertyNames(t).forEach(function(e){!t.hasOwnProperty(e)||null===t[e]||"object"!==m(t[e])&&"function"!=typeof t[e]||Object.isFrozen(t[e])||r.deepFreeze(t[e])}),t},extend:function(r){for(var e=arguments.length,t=Array(1<e?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];if(_.isObject(r)&&0<t.length){if(Object.assign)return Object.assign.apply(Object,[r].concat(w(t)));t.forEach(function(t){_.isObject(t)&&Object.keys(t).forEach(function(e){r[e]=t[e]})})}return r},getDescendantProp:function(e,t){if(!_.isPlainObject(e))throw new TypeError("'obj' param must be an plain object");return t.split(".").reduce(function(e,t){return e&&e[t]},e)},groupObjectByValue:function(e,r){var t=2<arguments.length&&void 0!==arguments[2]&&arguments[2];if(!_.isArray(e))throw new Error("'item' must be an array of objects");var n=e.reduce(function(e,t){return e[t[r]]=e[t[r]]||[],e[t[r]].push(t),e},Object.create(null));return t?P.camelize(n):n},length:function(e){return _.isUndefined(e.length)?_.isObject(e)?Object.keys(e).length:0:e.length},objectArraySortByValue:function(e,n,i){var o=this,a=3<arguments.length&&void 0!==arguments[3]&&arguments[3];if(!_.isArray(n)||n.length<1){var r=function(e,t,r){return o.getDescendantProp(e,r).toString().localeCompare(o.getDescendantProp(t,r).toString(),void 0,{numeric:!0})};return e.slice().sort(function(e,t){return a?-r(e,t,i):r(e,t,i)})}return e.slice().sort(function(e,t){var r=n.indexOf(o.getDescendantProp(e,i).toString())-n.indexOf(o.getDescendantProp(t,i).toString());return a?-1*r:r})},objectSearch:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=void 0,i=void 0,o=void 0,a=void 0,u=function(e){return r?P.camelize(e).toLowerCase():e};for(n in t)t.hasOwnProperty(n)&&(o=t[i=n]);for(n in e)if(n===i){if(u(e[n])===u(o))return e}else if(e[n]instanceof Object&&e.hasOwnProperty(n)&&(a=this.objectSearch(e[n],t,r)))return a;return!1},objectToArray:function(t){if(!_.isPlainObject(t))throw new Error("'obj' must be a plain object");return Object.keys(t).map(function(e){return t[e]})},renameKeys:function(r,n){if(!_.isPlainObject(r))throw new Error("'obj' must be an plain object");return Object.keys(r).reduce(function(e,t){return b({},e,y({},n[t]||t,r[t]))},{})}},C=function(){function e(){h(this,e)}return v(e,[{key:"isArguments",value:function(e){return _.isArguments(e)}},{key:"isArray",value:function(e){return _.isArray(e)}},{key:"isArrayIndex",value:function(e){return _.isArrayIndex(e)}},{key:"isBoolean",value:function(e){return _.isBoolean(e)}},{key:"isChar",value:function(e){return _.isChar(e)}},{key:"isCnpj",value:function(e){return _.isCnpj(e)}},{key:"isCpf",value:function(e){return _.isCpf(e)}},{key:"isDate",value:function(e){return _.isDate(e)}},{key:"isDomNode",value:function(e){return _.isDomNode(e)}},{key:"isEmail",value:function(e){return _.isEmail(e)}},{key:"isEmpty",value:function(e){return _.isEmpty(e)}},{key:"isError",value:function(e){return _.isError(e)}},{key:"isFunction",value:function(e){return _.isFunction(e)}},{key:"isJson",value:function(e){return _.isJson(e)}},{key:"isNull",value:function(e){return _.isNull(e)}},{key:"isNumber",value:function(e){return _.isNumber(e)}},{key:"isNumeric",value:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}(function(e){return isNumeric(e)})},{key:"isObject",value:function(e){return _.isObject(e)}},{key:"isObjectEmpty",value:function(e){return _.isObjectEmpty(e)}},{key:"isPercentage",value:function(e){return _.isPercentage(e)}},{key:"isPlainObject",value:function(e){return _.isPlainObject(e)}},{key:"isPrimitive",value:function(e,t){return _.isPrimitive(e,t)}},{key:"isRealNaN",value:function(e){return _.isRealNaN(e)}},{key:"isRegExp",value:function(e){return _.isRegExp(e)}},{key:"isSameType",value:function(e,t){return _.isSameType(e,t)}},{key:"isString",value:function(e){return _.isString(e)}},{key:"isUndefined",value:function(e){return _.isUndefined(e)}},{key:"arrayClone",value:function(e){return x.arrayClone(e)}},{key:"arrayCompact",value:function(e){return x.arrayCompact(e)}},{key:"arrayFlatten",value:function(e,t){return x.arrayFlatten(e,t)}},{key:"arrayIntersection",value:function(e,t){return x.arrayIntersection(e,t)}},{key:"arraySample",value:function(e,t,r){return x.arraySample(e,t,r)}},{key:"arrayUnique",value:function(e){return x.arrayUnique(e)}},{key:"camelize",value:function(e){return P.camelize(e)}},{key:"capitalize",value:function(e){return j.capitalize(e)}},{key:"chunk",value:function(e,t){return x.chunk(e,t)}},{key:"cleanArray",value:function(e){return x.cleanArray(e)}},{key:"contains",value:function(e,t){return P.contains(e,t)}},{key:"debounce",value:function(e,t,r){return P.debounce(e,t,r)}},{key:"deepFreeze",value:function(e){return E.deepFreeze(e)}},{key:"escape",value:function(e){return j.escape(e)}},{key:"extend",value:function(e){for(var t=arguments.length,r=Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return E.extend.apply(E,[e].concat(r))}},{key:"formatNumber",value:function(e,t){return I.formatNumber(e,t)}},{key:"getDescendantProp",value:function(e,t){return E.getDescendantProp(e,t)}},{key:"getType",value:function(e){return P.getType(e)}},{key:"getUrlParameter",value:function(e,t){return P.getUrlParameter(e,t)}},{key:"groupObjectByValue",value:function(e,t,r){return E.groupObjectByValue(e,t,r)}},{key:"explode",value:function(e,t,r){return x.explode(e,t,r)}},{key:"implode",value:function(e,t){return x.implode(e,t)}},{key:"indexOfAll",value:function(e,t){return x.indexOfAll(e,t)}},{key:"length",value:function(e){return E.length(e)}},{key:"milify",value:function(e,t){return I.milify(e,t)}},{key:"normalizeText",value:function(e){return j.normalizeText(e)}},{key:"objectArraySortByValue",value:function(e,t,r,n){return E.objectArraySortByValue(e,t,r,n)}},{key:"objectSearch",value:function(e,t){return E.objectSearch(e,t)}},{key:"objectToArray",value:function(e){return E.objectToArray(e)}},{key:"pad",value:function(e,t){return j.pad(e,t)}},{key:"parseJwt",value:function(e){return P.parseJwt(e)}},{key:"removeAccent",value:function(e){return j.removeAccent(e)}},{key:"renameKeys",value:function(e,t){return E.renameKeys(e,t)}},{key:"resizeImageByRatio",value:function(e,t,r,n){return P.resizeImageByRatio(e,t,r,n)}},{key:"semverCompare",value:function(e,t){return P.semverCompare(e,t)}},{key:"shuffleArray",value:function(e){return x.shuffleArray(e)}},{key:"slice",value:function(e,t,r){return x.slice(e,t,r)}},{key:"slugifyText",value:function(e){return j.slugifyText(e)}},{key:"stripHost",value:function(e){return P.stripHost(e)}},{key:"stripHttp",value:function(e){return P.stripHttp(e)}},{key:"stripTags",value:function(e,t){return P.stripTags(e,t)}},{key:"strCompact",value:function(e){return j.strCompact(e)}},{key:"strReplace",value:function(e,t,r){return j.strReplace(e,t,r)}},{key:"throttle",value:function(e,t,r){return P.throttle(e,t,r)}},{key:"times",value:function(e,t){return P.times(e,t)}},{key:"toNumber",value:function(e){return I.toNumber(e)}},{key:"trim",value:function(e){return j.trim(e)}},{key:"ucfirst",value:function(e){return j.ucfirst(e)}},{key:"underscore",value:function(e){return j.underscore(e)}},{key:"unescape",value:function(e){return j.unescape(e)}},{key:"unserialize",value:function(e){return P.unserialize(e)}}]),e}(),R={STORAGE_NAME:"__location",EXPIRE_TIME:14400},N={getUserLocation:function(l,f){var g=this;l&&this._initLocationStorage(f);var e=f.session.get(R.STORAGE_NAME);return $.Deferred(function(c){_.isObjectEmpty(e)?window.navigator.geolocation?navigator.geolocation.getCurrentPosition(function(e){var u=e.coords.latitude,s=e.coords.longitude;if(!window.google)return c.reject("Google Maps Javascript API not found. Follow tutorial: https://developers.google.com/maps/documentation/javascript");var t=new google.maps.LatLng(u,s),r=new google.maps.Geocoder;r.geocode({latLng:t},function(e,t){if(t===google.maps.GeocoderStatus.OK)if(e[1]){for(var r=0,n=e.length;r<n;r+=1)if("locality"===e[r].types[0]){var i=e[r].address_components[0].short_name,o=e[r].address_components[2].short_name,a={coords:{lat:u,lng:s},city:i,state:o,region:g.filteredRegion(o)};l&&f.session.set(R.STORAGE_NAME,a,R.EXPIRE_TIME),c.resolve(a)}}else c.reject("No reverse geocode results.");else c.reject("Geocoder failed: "+t)})},function(e){c.reject("Geolocation not available.")}):c.reject("Geolocation isn't available"):c.resolve(e)}).promise()},filteredRegion:function(i){var e=this,o="",t=function(n){({}).hasOwnProperty.call(e._regionMap,n)&&e._regionMap[n].some(function(e,t,r){j.removeAccent(e.toLowerCase())===j.removeAccent(i.toLowerCase())&&(o=n)})};for(var r in this._regionMap)t(r);return o},filteredState:function(e){return E.objectSearch(this._stateMap,{name:e},!0)},getStates:function(){return this._stateMap},getRegions:function(){return this._regionMap},_stateMap:[{name:"Acre",initials:"AC",region:"Norte"},{name:"Alagoas",initials:"AL",region:"Nordeste"},{name:"Amapá",initials:"AP",region:"Norte"},{name:"Amazonas",initials:"AM",region:"Norte"},{name:"Bahia",initials:"BA",region:"Nordeste"},{name:"Ceará",initials:"CE",region:"Nordeste"},{name:"Distrito Federal",initials:"DF",region:"Centro Oeste"},{name:"Espírito Santo",initials:"ES",region:"Sudeste"},{name:"Goiás",initials:"GO",region:"Centro Oeste"},{name:"Maranhão",initials:"MA",region:"Nordeste"},{name:"Mato Grosso",initials:"MT",region:"Centro Oeste"},{name:"Mato Grosso do Sul",initials:"MS",region:"Centro Oeste"},{name:"Minas Gerais",initials:"MG",region:"Sudeste"},{name:"Pará",initials:"PA",region:"Norte"},{name:"Paraíba",initials:"PB",region:"Nordeste"},{name:"Paraná",initials:"PR",region:"Sul"},{name:"Pernambuco",initials:"PE",region:"Nordeste"},{name:"Piauí",initials:"PI",region:"Nordeste"},{name:"Rio de Janeiro",initials:"RJ",region:"Sudeste"},{name:"Rio Grande do Norte",initials:"RN",region:"Nordeste"},{name:"Rio Grande do Sul",initials:"RS",region:"Sul"},{name:"Rondônia",initials:"RO",region:"Norte"},{name:"Roraima",initials:"RR",region:"Norte"},{name:"Santa Catarina",initials:"SC",region:"Sul"},{name:"São Paulo",initials:"SP",region:"Sudeste"},{name:"Sergipe",initials:"SE",region:"Nordeste"},{name:"Tocantins",initials:"TO",region:"Norte"}],_regionMap:(A={},y(A,"Norte",["AC","AP","AM","PA","RO","RR","TO"]),y(A,"Nordeste",["AL","BA","CE","MA","PB","PE","PI","RN","SE"]),y(A,"Centro Oeste",["DF","GO","MT","MS"]),y(A,"Sudeste",["ES","MG","RJ","SP"]),y(A,"Sul",["PR","RS","SC"]),A),_initLocationStorage:function(e){_.isNull(e.session.get(R.STORAGE_NAME))&&e.session.set(R.STORAGE_NAME,{})}},T=function(){function t(e){h(this,t),this._storage=e}return v(t,[{key:"getUserLocation",value:function(e){return N.getUserLocation(e,this._storage)}},{key:"getStates",value:function(){return N.getStates()}},{key:"getRegions",value:function(){return N.getRegions()}},{key:"filteredState",value:function(e){return N.filteredState(e)}},{key:"filteredRegion",value:function(e){return N.filteredRegion(e)}}]),t}();return function e(){h(this,e),this.version="0.10.1",this.name="@UtilifyJS",this.globalHelpers=new C,this.locationHelpers=new T(S),this.storage=S,this.cookies=function e(s){function a(){}function r(e,t,r){if("undefined"!=typeof document){"number"==typeof(r=u({path:"/"},a.defaults,r)).expires&&(r.expires=new Date(1*new Date+864e5*r.expires)),r.expires=r.expires?r.expires.toUTCString():"";try{var n=JSON.stringify(t);/^[\{\[]/.test(n)&&(t=n)}catch(e){}t=s.write?s.write(t,e):encodeURIComponent(String(t)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),e=encodeURIComponent(String(e)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var i="";for(var o in r)r[o]&&(i+="; "+o,!0!==r[o]&&(i+="="+r[o].split(";")[0]));return document.cookie=e+"="+t+i}}function t(e,t){if("undefined"!=typeof document){for(var r={},n=document.cookie?document.cookie.split("; "):[],i=0;i<n.length;i++){var o=n[i].split("="),a=o.slice(1).join("=");t||'"'!==a.charAt(0)||(a=a.slice(1,-1));try{var u=c(o[0]);if(a=(s.read||s)(a,u)||c(a),t)try{a=JSON.parse(a)}catch(e){}if(r[u]=a,e===u)break}catch(e){}}return e?r[e]:r}}return a.set=r,a.get=function(e){return t(e,!1)},a.getJSON=function(e){return t(e,!0)},a.remove=function(e,t){r(e,"",u(t,{expires:-1}))},a.defaults={},a.withConverter=e,a}(function(){})}}()}(i={exports:{}},i.exports),i.exports),s=o.globalHelpers,a=o.cookies,u="You must set camelize your items to use this method",c={formatPrice:function(e,t,r,n,i){i=s.isString(i)?i:"R$ ";var o="\\d(?=(\\d{3})+"+(0<(n=s.isNumber(n)?n:2)?"\\D":"$")+")";return i+(e=(1*(e/=100)).toFixed(Math.max(0,~~n))).replace(".",r||",").replace(new RegExp(o,"g"),"$&"+(t||"."))},unformatPrice:function(e,t){var r=this,n=2<arguments.length&&void 0!==arguments[2]&&arguments[2];if(s.isArray(e))return e.map(function(e){return r.unformatPrice(e,t,n)});if(e=e||0,s.isNumber(e))return e;t=t||",";var i=new RegExp("[^0-9-"+t+"]",["g"]),o=parseFloat((""+e).replace(/\((?=\d+)(.*)\)/,"-$1").replace(i,"").replace(t,".")).toFixed(2).toString().split(".");return{unformatted:1*s.toNumber(o.join("")),real:n?s.formatNumber(o[0]):o[0],cents:o[1]||"00"}},setInstallment:function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0;e=s.isString(e)?this.unformatPrice(e).unformatted:e,t=(t=s.isString(t)?this.unformatPrice(t).unformatted:t)<1?1:t,r=s.toNumber(r),n=s.toNumber(n);var i=parseInt(e/t,10);r<i&&(i=r);var o=e/i;return 0<n&&(o=e*Math.pow(1+n/100,i)/i),o=Math.floor(o),0<i&&{installments:i,installmentValue:o,interest:n}},getPercentage:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0;if(e<t||e<1||t<1)return 0;e=s.isString(e)?this.unformatPrice(e).unformatted:e,t=s.isString(t)?this.unformatPrice(t).unformatted:t;var n=parseFloat(t/e*100-100);return Math.abs(n.toFixed(r))},applyDiscountPercent:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]&&arguments[2];e=s.isString(e)?this.unformatPrice(e).unformatted:e;var n=(t=s.isString(t)?s.toNumber(t.replace(/,/g,".").replace(/[^0-9.]/g,"")):t)/100*e,i=Math.floor(n),o=Math.floor(e-n),a=Math.floor(e+n);return{discountPrice:r?this.formatPrice(i):i,priceWithDiscount:r?this.formatPrice(o):o,priceWithIncrease:r?this.formatPrice(a):a}},fixProductSearchPrice:function(e){return 1*(e=s.toNumber(e)).toFixed(2).split(".").join("")},getFirstAvailableSku:function(e){if(!this._checkCamelize(e))throw new Error(u);var n={};return e.hasOwnProperty("items")&&e.items.some(function(e,t,r){return 0<e.sellers[0].commertialOffer.availableQuantity&&(n=r[t],!0)}),e.hasOwnProperty("skus")&&e.skus.some(function(e,t,r){return!!e.available&&(n=r[t],!0)}),0<s.length(n)&&n},getOriginalImage:function(e){return s.isString(e)?e.replace(/(ids\/[0-9]+)-([0-9-]+)\//,"$1/"):e},getResizedImage:function(e,n,i){return s.isUndefined(n)||s.isUndefined(i)||!s.isString(e)?e:(n=Math.round(n),i=Math.round(i),(e=e.replace(/(?:ids\/[0-9]+)-([0-9]+)-([0-9]+)\//,function(e,t,r){return e.replace("-"+t+"-"+r,"-"+n+"-"+i)})).replace(/(ids\/[0-9]+)\//,"$1-"+n+"-"+i+"/"))},getResizeImageByRatio:function(e,t,r,n){var i=s.resizeImageByRatio(t,r,n);return this.getResizedImage(e,i.width,i.height)},getServerTime:function(o){return $.ajax({url:"/no-cache/HoraAtualServidor.aspx",type:"get"}).then(function(e){var t=e.match(/([0-9]+):([0-5][0-9]):([0-5][0-9])/)[0],r=parseInt(e.match(/[a-z]{3} ([0-9]{1,2})/)[1]),n=["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"].indexOf(e.match(/[a-z]{3}/)[0])+1,i=parseInt(e.match(/[0-9]{4}/)[0]);r<10&&(r="0"+r),n<10&&(n="0"+n),s.isFunction(o)&&o.call(null,new Date(i+"/"+n+"/"+r+" "+t))})},getCategories:function(r,e){return $.Deferred(function(t){return $.ajax({type:"get",url:"/api/catalog_system/pub/category/tree/"+(e||50),dataType:"json",headers:{accept:"application/json",contentType:"application/json; charset=utf-8"}}).done(function(e){s.isUndefined(r)?t.resolve(e):t.resolve(s.objectSearch(e,{id:r}))}).fail(function(e){return t.reject(e)})}).promise()},getProductSpec:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]&&arguments[2];if(s.isUndefined(e[t]))return r;if(s.contains(t,e.allSpecifications)){var n=e[t]&&e[t][0];return s.isUndefined(n)?r:n}return r},getProductSellerInfo:function(e){var t,r,n,i=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=i||!0,a=i?"sellerId":"sellerDefault",u=this.getFirstAvailableSku(e);return!!u&&s.objectSearch(u,(n=o,(r=a)in(t={})?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t))},getProductInstallments:function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],r=this._getCommertialInfo(e,t);return!s.isUndefined(r)&&r.installments.reduce(function(e,t){return e.value<t.value?e:t},{})},getProductBankInvoice:function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],r=this.getProductSellerInfo(e,t);return!!r&&s.objectSearch(r.commertialOffer.installments,{paymentSystemName:"Boleto Bancário"})},getProductPriceInfo:function(e){if(!e)return!1;var t=e.commertialOffer,r=this.getProductInstallments(e),n=!s.isObjectEmpty(r),i=t.availableQuantity,o=t.price===t.listPrice,a=this.fixProductSearchPrice,u=this.formatPrice;return{available:!!i,availableQuantity:i,sellerName:e.sellerName,sellerId:e.sellerId,bestPrice:i?a(t.price):0,listPrice:i?!o&&a(t.listPrice):0,installments:i&&n?r.numberOfInstallments:0,installmentsInsterestRate:i&&n?r.interestRate:null,installmentsValue:i&&n?a(r.value):0,bestPriceFormatted:u(i?a(t.price):0),listPriceFormatted:i?!o&&u(a(t.listPrice)):!o&&u(0),installmentsValueFormatted:u(i&&n?a(r.value):0)}},getGroupInstallments:function(e,t){var r=this._getCommertialInfo(e,t);return!s.isUndefined(r)&&s.groupObjectByValue(r.installments,"paymentSystemName",!0)},getShipping:function(e,t,r){if("skuJson"in window){var n=this.getFirstAvailableSku(skuJson);t=t||n.sku}return $.Deferred(function(o){return $.ajax({type:"get",url:"/frete/calcula/"+t,data:{shippinCep:e.replace(/[^A-Za-z0-9]/g,""),quantity:r||1}}).then(function(e){var t,r=$($.parseHTML(e)),n=r.find("tbody > tr"),i={fullResponse:e};return r.find(".valor").length&&(i.error=!0,i.formattedResponse={shippingText:s.strCompact((t=e,t.replace(/<\/?[^>]+(>|$)/g,"")))}),n.length&&(i.error=!1,i.formattedResponse=n.map(function(e,t){var r=$(t).children("td"),n=r.eq(1).text().split(","),i=r.eq(0).text(),o=n[0];return{shippingValue:i,shippingText:s.ucfirst(s.strCompact(n[1])),shippingType:o}}).toArray()),o.resolve(i)}).fail(function(e){return o.reject(e)})}).promise()},sortProductSearch:function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]&&arguments[3];if(!s.isString(r))throw new TypeError("'dimension' param must be a String value");if(!e.hasOwnProperty("items"))throw new Error("Product data must be an response from Vtex API '/api/catalog_system/pub/products/search/{productId}' endpoint");return r=this._checkCamelize(e)?s.camelize(r):r,s.objectArraySortByValue(e.items,t,r,n)},sortProductVariations:function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]&&arguments[3];if(!s.isString(r))throw new TypeError("'dimension' param must be a String value");if(!e.hasOwnProperty("skus"))throw new Error("Product data must be an response from Vtex API '/api/catalog_system/pub/products/variations/{productId}' endpoint or global variable 'skuJson' on product page");return t=s.isArray(t)&&t.length?t:e.dimensionsMap[r],s.objectArraySortByValue(e.skus,t,"dimensions."+r,n)},replaceBreakLines:function(e){return e=e.replace?e.replace(/(?:\r\n|\r|\n)/g,"<br />"):""},stringIdsToArray:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:",",r=s.explode(e,t).map(function(e){return s.toNumber(s.strCompact(e))});return s.arrayCompact(r)},checkLogin:function(){return $.Deferred(function(t){return $.ajax({type:"get",url:"/no-cache/profileSystem/getProfile"}).done(function(e){s.isUndefined(e.IsUserDefined)||!e.IsUserDefined?t.reject(e):t.resolve(e)}).fail(function(e){return t.reject(e)})}).promise()},openPopupLogin:function(e,t){e=!!s.isBoolean(e)&&e,t=s.isString(t)?t:"/",t=e?window.location.href:t,vtexid.start({returnUrl:t})},addToCart:function(e,r,n){if(!s.isArray(e))throw new TypeError("Items must be an Array of Object(s) with item(s) to add, e.g. var items = [{id: 123, quantity: 1, seller: '1'}, {id: 321, quantity: 2, seller: '1'}]");if(s.length(e)<1)throw new Error("Items can't be an empty Array.");return r=s.isUndefined(r)?null:r,n=s.isUndefined?1:n,$.Deferred(function(t){return vtexjs.checkout.getOrderForm().done(function(){return vtexjs.checkout.addToCart(e,r,n).done(function(e){return t.resolve(e)}).fail(function(e){return t.reject()})}).fail(function(e){return t.reject(e)})}).promise()},clearCart:function(){return $.Deferred(function(t){vtexjs.checkout.getOrderForm().done(function(e){return e.items.length?vtexjs.checkout.removeAllItems(e.items).done(function(e){return t.resolve(e)}):t.resolve(e)}).fail(function(e){return t.reject(e)})}).promise()},notifyMe:function(e,r,n){return $.Deferred(function(t){return $.ajax({url:"/no-cache/AviseMe.aspx",type:"post",data:{notifymeClientName:e,notifymeClientEmail:r,notifymeIdSku:n}}).then(function(e){return t.resolve({successMessage:"Cadastrado com sucesso. Assim que o produto for disponibilizado você receberá um email avisando."})}).fail(function(e){return t.reject({errorMessage:"Não foi possível cadastrar. Tente mais tarde."})})}).promise()},_checkCamelize:function(e){return!(!e.hasOwnProperty("isCamelized")||!e.isCamelized)},_getCommertialInfo:function(e,t){if(!s.isPlainObject(e))throw new TypeError("'data' must be an plain object");return e.hasOwnProperty("commertialOffer")?e.commertialOffer:this.getProductSellerInfo(e,t).commertialOffer},_isUserLogged:function(e){return a.get("VtexIdclientAutCookie_"+e)},_getUserInfo:function(e){if(!this._isUserLogged(e))return!1;var t=s.parseJwt(this._isUserLogged(e));return{userId:t.userId,email:t.sub,account:t.account}},_getRequestVerificationToken:function(e){return!!this._isUserLogged(e)&&a.get("VTEXRequestVerificationToken")}},l=o.globalHelpers;"object"!==("undefined"==typeof window?"undefined":t(window))&&(global.window=global,global.window.navigator={}),"rivets"in window&&(rivets.formatters.formatPrice=function(e){return c.formatPrice(e)},rivets.formatters.getResizedImage=function(e,t,r){return c.getResizedImage(e,t,r)},rivets.formatters.getResizedImageByRatio=function(e,t,r,n){return c.getResizeImageByRatio(e,t,r,n)},rivets.formatters.replaceBreakLines=function(e){return c.replaceBreakLines(e)},rivets.formatters.prefix=function(e,t){return t+e},rivets.formatters.slugifyText=function(e){return l.slugifyText(e)},rivets.formatters.productImgSize=rivets.formatters.getResizedImage,rivets.formatters.getResizeImage=rivets.formatters.getResizedImage,rivets.formatters.getResizeImageByRatio=rivets.formatters.getResizedImageByRatio,rivets.formatters.productImgSizeByRatio=rivets.formatters.getResizedImageByRatio);var g=function(){function e(){r(this,e),this.getStoreName=window.jsnomeLoja,this.getSalesChannel=window.jssalesChannel,this.isUserLogged=!!c._isUserLogged(this.getStoreName),this.getUserInfo=c._getUserInfo(this.getStoreName),this.getRequestVerificationToken=c._getRequestVerificationToken(this.getStoreName),this.logoutUrl="/no-cache/user/logout"}return n(e,[{key:"formatPrice",value:function(e,t,r,n,i){return c.formatPrice(e,t,r,n,i)}},{key:"unformatPrice",value:function(e,t,r){return c.unformatPrice(e,t,r)}},{key:"setInstallment",value:function(e,t,r,n){return c.setInstallment(e,t,r,n)}},{key:"getPercentage",value:function(e,t,r){return c.getPercentage(e,t,r)}},{key:"applyDiscountPercent",value:function(e,t,r){return c.applyDiscountPercent(e,t,r)}},{key:"fixProductSearchPrice",value:function(e){return c.fixProductSearchPrice(e)}},{key:"getFirstAvailableSku",value:function(e){return c.getFirstAvailableSku(e)}},{key:"getOriginalImage",value:function(e){return c.getOriginalImage(e)}},{key:"getResizedImage",value:function(e,t,r){return c.getResizedImage(e,t,r)}},{key:"getResizeImageByRatio",value:function(e,t,r,n){return c.getResizeImageByRatio(e,t,r,n)}},{key:"getServerTime",value:function(e){return c.getServerTime(e)}},{key:"getCategories",value:function(e,t){return c.getCategories(e,t)}},{key:"getProductSpec",value:function(e,t,r){return c.getProductSpec(e,t,r)}},{key:"getProductSellerInfo",value:function(e,t){return c.getProductSellerInfo(e,t)}},{key:"getProductInstallments",value:function(e,t){return c.getProductInstallments(e,t)}},{key:"getProductBankInvoice",value:function(e,t){return c.getProductBankInvoice(e,t)}},{key:"getProductPriceInfo",value:function(e){return c.getProductPriceInfo(e)}},{key:"getGroupInstallments",value:function(e,t){return c.getGroupInstallments(e,t)}},{key:"getShipping",value:function(e,t,r){return c.getShipping(e,t,r)}},{key:"sortProductSearch",value:function(e,t,r,n){return c.sortProductSearch(e,t,r,n)}},{key:"sortProductVariations",value:function(e,t,r,n){return c.sortProductVariations(e,t,r,n)}},{key:"replaceBreakLines",value:function(e){return c.replaceBreakLines(e)}},{key:"stringIdsToArray",value:function(e,t){return c.stringIdsToArray(e,t)}},{key:"checkLogin",value:function(){return c.checkLogin()}},{key:"openPopupLogin",value:function(e){return c.openPopupLogin(e)}},{key:"addToCart",value:function(e,t,r){return c.addToCart(e,t,r)}},{key:"clearCart",value:function(){return c.clearCart()}},{key:"notifyMe",value:function(e,t,r){return c.notifyMe(e,t,r)}}]),e}();return function(){function e(){r(this,e),this.version="1.18.1",this.name="@VtexUtils",this.vtexHelpers=new g,this.globalHelpers=o.globalHelpers,this.locationHelpers=o.locationHelpers,this.storage=o.storage,this.cookies=o.cookies}return n(e,[{key:"setRivetsUtilify",value:function(e){this.rivetsUtilify=new e(o)}}]),e}()});